Claims
- 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.cndot.N.sub.1 pixels and the height of the array is N.cndot.N.sub.2 pixels and N, N.sub.1 and N.sub.2 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.times.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)}.sub.m,n-0.sup.N-1 includes all pixel values in the chosen N.times.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, N.sup.2 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.cndot.N.sub.1 -1 and n=0,1,2, . . . , N.cndot.N.sub.2 -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 N.sup.2 memories, numbered r=0,1,2, . . . , N.sup.2 -1, with each such memory including a designated rectangular array of length N.sub.1 and height N.sub.2 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-m.sub.n +N(n-n.sub.N),where ##EQU39## for m=0,1,2, . . . , N.sub.1 .cndot.N-1 and n=0,1,2 . . . , N.sub.2 .cndot.N-1;
- rotating in a first direction by one address unit each of the designated memory arrays number r=S.sub.1 +k.sub.1 .cndot.N (K.sub.1 =0, 1, . . . , N-1; s.sub.1 =0, 1, . . . , p'-1), where p'=m'-m.sub.N, then rotating in a second direction by one address unit each of the designated memory arrays number 1; s.sub.2 =0,1, . . . , n-1), where q'=n'-n.sub.N 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.sup.-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, . . . , N.sup.2 -1 resulting from the immediately preceding rotation step to produce an N.times.N array of pixel values pv'(m,n) corresponding to said video image array coordinates ##EQU40## where m=m'.sub.N, m'.sub.N +1, . . . , m'.sub.N -1 and n=n'.sub.N +n'.sub.N +1, . . . , n'.sub.N N-1;
- providing a sequence of N.sup.2 permutations P.sub.t (t=0,1,2, . . . , N.sup.2 -1) on a N.times.N array of entries where permutation number t=k.sub.3 .cndot.N (k.sub.3 =0,1,2, . . . , N-1) is a one-place rotation in the second direction of the rows of the array K.sub.3 times with end-around carry and permutation number t=k.sub.3 .cndot.N+s (s=1,2, . . . , N-1) is the permutation number r=k.sub.3 .cndot.N followed by an s-place rotation in the first direction of the columns of the N.times.N array with end-around carry;
- forming the permuted array P.sub.t -1C(m,n)=Q(m,n) of coefficients where t=m'-m'.sub.N .cndot.(n'-n'.sub.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.
- 2. In a video system with a video image defined by an array comprising lines of pixel values associated with picture elements or pixels, with array position coordinates (X.sub.m, Y.sub.n) (m=0,1,2, . . . , M'; n=0,1,2, . . . , N'), where each video image is formed by the combination of two fields with each field containing a subset of lines of pixels and the two lines of pixels comprising the array of pixels, where each line of pixels of one field is positioned between and adjacent to two lines of pixels of a second field, where a first field of pixel values is displayed on a video screen during time intervals t.sub.0, t.sub.2, t.sub.4 and a second field of pixel values is displayed at time intervals t.sub.1, t.sub.3, t.sub.5 and where t.sub.5 precedes t.sub.4 which precedes t.sub.3 which precedes t.sub.2 which precedes t.sub.1 which precedes t.sub.0 and where a pixel value of a pixel on line number k at horizontal position j with array position (x.sub.j, y.sub.k) has an associated pixel value pv(x.sub.j,y.sub.k ;t) that is displayed during time interval t, a method of constructing a synthetic pixel value of a non-existent pixel at position (x.sub.j,y.sub.k) in a line of the second field that takes account of relative motion or change in time manifested by pixel values adjacent to array position (x.sub.j,y.sub.k), the method comprising the steps of:
- determining the rapidity of change with time of each of the pixel values at each pixel position (x.sub.j,y.sub.k-1) and (x.sub.j, y.sub.k+1) between the time interval t.sub.0 [(t.sub.0, t.sub.1)={t/t.sub.0 <t<t.sub.1 }] and the time interval t.sub.2 and at each pixel position (x.sub.j-1, y.sub.K) between time intervals t.sub.1 and t.sub.3 ;
- obtaining the pixel value pv(x.sub.j+1, y.sub.k ; t) for t in the interval (t.sub.t ', t.sub.2 ')={t.sub.1 <t<t.sub.2 '};
- introducing a parameter .beta.(0.ltorsim..beta..ltorsim.1) that is either continuous or has at least three distinct values .beta.=0, .beta.=1, and .beta..sub.i (0<.beta.i<1);
- setting .beta.=0 if substantially no change with time is perceived in any of the pixel values at positions (x.sub.j, y.sub.y-1), (x.sub.j, y.sub.k+1), (x.sub.j-1, y.sub.k, and (x.sub.j, y.sub.k), setting .beta.=1 if rapid change with time is perceived at any of those pixel positions, and setting .beta. equal to an intermediate value .beta..sub.i if the change with time perceived at least one of these pixel positions is non-zero but the change with time perceived at each of these pixel positions is less than rapid;
- forming the sum ##EQU42## as the synthetic pixel value; and displaying the synthetic value for a pixel position in place of at least one pixel of the video image.
- 3. In a video system having substantially periodic horizontal blanking intervals, a method for rapid copying of pixel values from the video lines that comprise the video image to a set of M memories for subsequent display or storage, the method comprising the steps of:
- providing a sequence of M fast-acting first-in-first-out registers, with each register having about the same number of pixel data storage positions where L is at least equal to the number of pixels that comprise a horizontal line of the video image divided by the value of M;
- as each item of pixel data arrives at the video display system writing the data onto one of the registers in a predetermined pattern at the entry end of that register;
- during a horizontal blanking interval of the video system, writing the pixel value appearing at the exit end of register number n to the corresponding memory number n for registers n=0,1,2, . . . , M.
- 4. In a video system with a video image defined by a two-dimensional array, with array positions (x.sub.m, y.sub.n), of picture elements or pixels and with each pixel having an associated pixel value pv that contributes to formation of the video image, a method of forming a desired signal value S of pixel values for up to a predetermined number M of pixels adjacent to a given target pixel, with weight coefficients that change from one target pixel to another target pixel and may change from one time interval .DELTA.t.sub.1 to another time interval .DELTA.t.sub.2, where the lengths of the time intervals .DELTA.t.sub.1 and .DELTA.t.sub.2 are each of the order of 74 nanoseconds, the method consisting of:
- providing a filter including a predetermined number K of arrays (k=1,2, . . . , K) of weight coefficients C(J,k).sub.j-1.sup.j.sbsp. stored in a random access memory system, with the weight coefficients being jk real numbers that satisfy the normalization constraint ##EQU43## providing coefficient choice means whereby an array C(j,k).sub.j-1.sup.j.sbsp.k of weight coefficients may be chosen to form the weighted sum of j.sub.k pixel values pv(x.sub.m,y.sub.n) of pixels with positions (x.sub.m,y.sub.n) adjacent to or in a predetermined neighborhood N(x.sub.T,y.sub.T) Of the position (x.sub.T,y.sub.T) of the target pixel;
- providing coefficient change means whereby an array of weight coefficients can be changed in a time interval .DELTA.t that is substantially no greater than 74 nanoseconds
- forming the desired signal value sum ##EQU44## and displaying the desired signal value in place of at least one of the predetermined number M of pixels in the video image.
- 5. A method of interpolating pixel signals in a video system for displaying a video image means of an array of picture elements each having an associate pixel signal, comprising the steps of:
- choosing a portion of pixels from the array;
- providing a plurality of sets of low pass filters, there being one filter in each set for each pixel of the portion;
- providing a multiplexer for matching each of the filters to an associated pixel signal in the portion; and
- forming an interpolated pixel signal as a function of the stored pixel signals of the portion by passing the portion of pixel signals through the matched filters.
- 6. The method of claim 5, further comprising the step of performing the step of providing a multiplexer on a first integrated circuit chip and performing the step of forming an interpolated pixel signal on a second integrated circuit chip.
- 7. In a video signal having a video image defined by an array of picture elements each having a pixel value, a method of displaying a pixel that takes into account motion manifested by pixel positions comprising the steps of:
- determining the rapidity of change with time of the pixel positions at each of a plurality of picture elements over a particular time interval;
- introducing three output signals associated respectively with no change, rapid change, and intermediate change in the particular time interval of pixel positions, the third signal being a function of the rapidity of change in the step of determining;
- forming a synthetic value for each pixel position, the synthetic value being a function of the particular time interval, the output signal, and the pixel positioning in the particular time interval; and
- displaying the synthetic value for each pixel position in place of the original pixel.
- 8. In a system for filtering a digital video signal including pixels dv(x.sub.j), a method of forming a desired signal S of values for up to a predetermined number M of pixels adjacent to a given pixel, with weight coefficients that change from one pixel to another pixel and may change from a first time interval to a second time interval, where the length of both time intervals is equal to a cycle time of the video system, the method comprising the steps of:
- providing a predetermined number K of digital filter arrays (k=1,2, . . . , K) of weight coefficients {C(j,k)}j-1 stored in a memory system;
- providing a coefficient choice whereby an array {C(j,k)}.sub.j-1.sup.m of weight coefficients are chosen to form the
- weighted sum of M pixel values dv(x.sub.m) of pixels with positions (x.sub.m) adjacent to or in a predetermined neighborhood of the position (x.sub.T) of a particular pixel;
- changing coefficients whereby an array of weight coefficients can be changed in a time interval that is substantially no greater than the first time interval;
- forming the desired signal value sum ##EQU45## for the number K; displaying the desired signal value in place of at least one of the M pixel values in the video signals; and
- wherein the step of changing coefficients is performed by one integrated circuit chip.
- 9. A method of filtering a digital video signal defined by a plurality of pixels each having an associated pixel value, comprising the steps of:
- providing a predetermined number of arrays of digital filters in a plurality of storage locations;
- selecting one of the arrays at repeated time intervals of no greater than 74 nanoseconds;
- for each pixel in the digital video signal, applying the selected array to the pixel; and
- displaying the filtered video signals in place of a portion of the digital video signal.
- 10. The method of claim 9, further comprising the step of providing the plurality of storage locations in random access memory.
Parent Case Info
This application is a continuation of application Ser. No. 07/116,801, field Oct. 30, 1987 now abandoned.
US Referenced Citations (1)
Number |
Name |
Date |
Kind |
4586181 |
Shimizu |
Apr 1986 |
|
Foreign Referenced Citations (1)
Number |
Date |
Country |
0239299 |
Sep 1987 |
EPX |
Continuations (1)
|
Number |
Date |
Country |
Parent |
116801 |
Oct 1987 |
|