×

Real time video image processing system

  • US 5,384,912 A
  • Filed: 05/29/1992
  • Issued: 01/24/1995
  • Est. Priority Date: 10/30/1987
  • Status: Expired due to Fees
First Claim
Patent Images

1. In a video system that displays a video image by means of a substantially rectangular array of picture elements or pixels, each pixel having an associated pixel value pv that contributes to the video image, with each row in the array containing about the same number of pixels and each column in the array containing about the same number of pixels, where the length of the array is N•

  • N1 pixels and the height of the array is N•

    N2 pixels and N, N1 and N2 are all integers, a method for interpolation of the pixel value of a fictitious pixel whose position lies between and does not coincide with any of the pixels that comprises the video image array, the method comprising the steps of;

    choosing an array of N×

    N pixels from the video image array, with the boundaries of this chosen array being parallel to the boundaries of the video image array and with the fictitious pixel lying near the center of this chosen array; and

    providing a filter including an array of, N2 averaging coefficients (C(m,n)), where m, n=0, 1, . . . , N-1 and the sum ##EQU36## and forming a weighted sum of pixel values ##EQU37## where the sequence {pv(m,n)}m,n-0N-1 includes all pixel values in the chosen N×

    N array of pixels, with each such pixel value in the chosen array appearing as one member pv(m,n) of this sequence;

    wherein said step of providing an array of said averaging coefficients and forming a weighted sum of said coefficients comprises the steps of;

    dividing said video image array of pixels into a sequence of Fundamental Blocks of, N2 pixels each, with each pixel belonging to only one such Fundamental Block and with the boundaries of each Fundamental Block being parallel to the boundaries of said video image array;

    assigning to each pixel in said video image array the rectangular coordinates (m,n), where m=0,1,2, . . . , N•

    N1 -1 and n=0,1,2, . . . , N•

    N2 -1, , with the pixel in the upper left corner of said video image array being assigned the coordinates (0,0), and a pixel in said array that lies m consecutive pixels to the right from the left boundary of said video image array and lies n consecutive pixels down from the top boundary of said video image array being assigned the coordinates (m,n);

    providing an array of N2 memories, numbered r=0,1,2, . . . , N2 -1, with each such memory including a designated rectangular array of length N1 and height N2 of memory addresses having rectangular coordinates (p,q) beginning with (0,0) in the upper left corner of such array and proceeding in a manner substantially identical to that of the rectangular coordinate system for said video image array;

    providing a mapping T(m,n) to store the pixel value pv(m,n) in said video image array with video image array pixel coordinates (m,n) in the memory address ##EQU38## in the designated rectangular array of memory number r=m-mn +N(n-nN),where ##EQU39## for m=0,1,2, . . . , N1

    N-1 and n=0,1,2 . . . , N2

    N-1;

    rotating in a first direction by one address unit each of the designated memory arrays number r=S1 +k1

    N (K1 =0, 1, . . . , N-1;

    s1 =0, 1, . . . , p'"'"'-1), where p'"'"'=m'"'"'-mN, then rotating in a second direction by one address unit each of the designated memory arrays number 1;

    s2 =0,1, . . . , n-1), where q'"'"'=n'"'"'-nN and where (m'"'"',n'"'"') are the coordinates of the pixel in a corner of said chosen array that is centered on said fictitious pixel position wherein said rotating changes the pixel value stored in each memory;

    applying the map T-1 (r;

    p,q) to the contents at coordinates (p,q) of a subset of the designated rectangular arrays of the memories r=0,1,2, . . . , N2 -1 resulting from the immediately preceding rotation step to produce an N×

    N array of pixel values pv'"'"'(m,n) corresponding to said video image array coordinates ##EQU40## where m=m'"'"'N, m'"'"'N +1, . . . , m'"'"'N -1 and n=n'"'"'N +n'"'"'N +1, . . . , n'"'"'N N-1;

    providing a sequence of N2 permutations Pt (t=0,1,2, . . . , N2 -1) on a N×

    N array of entries where permutation number t=k3

    N (k3 =0,1,2, . . . , N-1) is a one-place rotation in the second direction of the rows of the array K3 times with end-around carry and permutation number t=k3

    N+s (s=1,2, . . . , N-1) is the permutation number r=k3

    N followed by an s-place rotation in the first direction of the columns of the N×

    N array with end-around carry;

    forming the permuted array Pt -1C(m,n)=Q(m,n) of coefficients where t=m'"'"'-m'"'"'N

    (n'"'"'-n'"'"'N) and {C(m,n)} is said array of averaging coefficients;

    forming the sum ##EQU41## as the interpolated pixel value; and

    displaying in place of a portion of the original video image the interpolated pixel value for a plurality of pixels.

View all claims
  • 5 Assignments
Timeline View
Assignment View
    ×
    ×