US5119442A - Real time digital video animation using compressed pixel mappings - Google Patents
Real time digital video animation using compressed pixel mappings Download PDFInfo
- Publication number
- US5119442A US5119442A US07/630,069 US63006990A US5119442A US 5119442 A US5119442 A US 5119442A US 63006990 A US63006990 A US 63006990A US 5119442 A US5119442 A US 5119442A
- Authority
- US
- United States
- Prior art keywords
- pixel
- sub
- address
- line segment
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
Definitions
- This invention relates to digital video image processing and more particularly to prescribed sequences of mappings or transformations of such images in real time.
- Video is intended to refer to any electronic display of text and/or graphics images and is not intended to be limited to the standard television images presented at 50--60 frames per second.
- Another class of methods and associated apparati perform the video image transformations off-line and in non-real time.
- a video transformation mapping is applied to each of a sequence of single video images, and these mapped images are stored on a suitable video medium such as video tape. The stored images may then be called from storage and played back in real time to view the effect of this transformation. Because these video transformation mappings are not restricted to real time, the number and complexity of the allowable transformations is virtually unrestricted.
- Some of the transformations that may be applied here include intensity, high-light, true overlapping curvatures in three-dimensional space and metamorphosis. This will be referred to as the "off-line, non-real time" approach.
- the associated apparati are usually simpler, less expensive and software-intensive, but the off-line time required to perform a sequence of such transformations is often measured in hours or tens of hours. Additionally, if a video transformation mapping is applied using a new series of video images, the time consuming mapping of each image in the series must again be done before the effect can be viewed.
- the intermediate video transformation mappings should be storable in a memory of reasonable size, and each sequence of such video image transformation mappings should be retrievable quickly by selection of an indicium that is associated with that sequence of transformations.
- a method that uses the off-line, non-real time apparati discussed above to generate a sequence of generic video transformation mappings.
- the pixel-to-pixel mappings themselves are stored, rather than the images resulting from their application to a particular sequence of video images.
- These pixel-to-pixel mappings are then applied, using real-time video image filtering and interpolation, to transform an arbitrary sequence of video images in real time.
- the desired video transformation pixel mappings are produced off-line and interactively, using a sophisticated sequence creation package that includes tools for storyboards, real time wire frame preview, and control of lighting, shading and high-lighting.
- the video transformation pixel mappings may be approximated by an approximate mapping that uses linear predictive coding, delta modulation, pulse code modulation, sine or cosine transform coding, or some other suitable approximate coding method to determine the (approximate) data address of each pixel under the original pixel-to-pixel mapping.
- This approximate mapping reduces the storage requirements of the transformation without adversely affecting the image quality.
- the video transformation mappings are stored as an ordered sequence of such mappings, and each such sequence is provided with an indicium that corresponds and indicates a unique video transformation of a sequence of video images for later retrieval and use.
- selection of a sequence of video field mappings to be applied to a sequence of video images is implemented.
- the appropriate indicium is selected, and the sequence of pixel mappings is called up.
- This sequence of pixel mappings (in compressed form or in decompressed form) is applied to the chosen sequence of video image fields, and the results of applying this sequence of pixel mappings to this sequence of fields are displayed as a sequence of video images, in real time, if desired.
- image parameters such as color mix, high-light, intensity, simple compositing, filtering, duration and transparency can be adjusted or changed dynamically or "on the fly", as the video images are being transformed and displayed and after the corresponding sequence of video field maps has been constructed, approximated and stored.
- FIG. 1 is a flow diagram illustrating different elements in the method of formation of each of the sequence of video image mappings or transformations for a sequence of video image fields.
- FIG. 2 is a flow diagram illustrating the elements of the method of applying a sequence of video transformations, already formed and stored, to an arbitrary sequence of digital video image fields in real time, including display of the transformed images.
- FIGS. 3, 4 and 6 are schematic views of an address generation system, a filter and image key generation system and of the overall digital video animation system according to one embodiment of the invention.
- FIG. 5 illustrates the use of pixel values for pixel adjacent to an edge to determine an edge transition.
- FIG. 7 illustrates application of one form of linear prediction applied to pixel address information according to a compression technique used in the invention.
- FIG. 8 illustrates the format of six command/data fields for data address specification according to one embodiment of the invention.
- FIG. 9 is a schematic view illustrating operation of the data address prediction apparatus associated with a decompression pixel mapping according to the invention.
- the procedure for formation of a video image transformation to be applied to a sequence of video image fields begins with design of the desired transformation off-line, as indicated in block 11, using wire frame previews, story boards and sophisticated animation tools.
- a particular video image mapping corresponding to the desired transformation is chosen and is given a unique indicium.
- the video image mapping to be applied to video image number i is constructed as a pixel-to-pixel mapping on the screen.
- a compressed mapping corresponding to each of these pixel-to-pixel mappings is determined, thus reducing the storage requirements for the transformation mappings.
- the counting number i is incremented (i >i+1) in block 21 so that the entire sequence of video image mappings, and the corresponding sequence of compressed mappings, is constructed.
- FIG. 2 illustrates the playback procedure, whereby a stored sequence of compressed mappings is called up and applied to a sequence of video images in real time in order to form and display a sequence of transformed video image fields.
- the result of application of a particular member of the sequence of video image mappings to video image field number i is then displayed on a video screen in block 39, and the image field counting number i is incremented (i ⁇ i+1) in block 41 in order to complete the sequence of image mappings applied to the sequence of video images presented.
- This sequence of image mappings is formed and displayed in real time.
- the playback procedure may be done in real time because the sequence of compressed mappings upon which the sequence of image transformations is based is easily called up from storage and the memory requirements for the compressed mappings are modest.
- the storage requirements are reduced by a factor of between 10 and 200, for reasonable error bounds on the errors introduced by use of the compressed mappings rather than use of the original pixel-to-pixel mappings.
- the digital video animation (“DVA”) system disclosed here (1) uses animation software off-line to determine pixel-to-pixel mappings that will implement a particular video transformation, applied to a sequence of video image fields, (2) constructs a sequence of approximate mappings, using compressed address spaces, that approximate the sequence of pixel-to-pixel mappings, and (3) offers real time playback of this sequence of approximate mappings, applied to an arbitrary sequence of live or still video image fields in real time, whenever the corresponding video transformation is to be applied to this video image field sequence.
- DVA digital video animation
- FIG. 3 illustrates one embodiment of the DVA system at a higher level.
- a large memory unit which may be a removable hard drive 183, a permanent hard drive 185 or an optical drive 18 is used to store the compressed pixel mappings that were generated in FIG. 1.
- the information in this memory is fed to a sequencing computer 178 and this information is provided for an address generator module 197 that is discussed below.
- Composite video image signals are applied to an analog-to-digital converter 191 which produces a series of digital samples representing the original signal. These digital samples are then applied to a digital decoder 193 which separates the signal into three components Y, R-Y and B-Y representing the intensity, red component and blue component, respectively, of the original composite video signal.
- a key signal is also processed by the analog-to-digital converter 191 and the digital decoder 193 providing cut-outs and transparency to the video images that are to be transformed.
- the three color components and key are then supplied to a filter and interpolator frame store 195 that will filter and interpolate the video image in order to maintain image quality as the video is being transformed.
- the amount and type of filtering and interpolating to perform on the video image is received from the address generation circuitry 197 and is dependent on the complexity of the transformation mappings that are to be applied.
- the output signals from the filter and interpolation module 195 are received by an address generator module 197 that produces normal video addresses if no video transformations are required or produces digital video animation (transformed) addresses if a sophisticated or complex video transformation is required for this sequence of video image fields. These addresses are generated using the information loaded from the memory units, 183, 185 or 187 and applying the decompression and transformation process as described in FIG. 2.
- the address generator module 197 will include the DVA address generation system shown in FIG. 4 and will additionally include apparatus for normal video address generation where a simplified video image transformation is required.
- the normal video address generation may include the "simple addressing" schemes discussed above.
- the output signals from the address generator module 197 are received by a digital encoder 199 that will combine the three color components back into a single digital signal representing the transformed video image.
- the output signals from the digital encoder module 199 are received by a digital-to-analog decoder module 201 that provides the final output signal for use in formation of the sequence of video image fields to be displayed on the video screen.
- the decoder module 193, the filter and interpolation module 195, the address generation module 197, and the decoder module 201 are all driven by the video control bus.
- FIG. 4 illustrates one embodiment of the digital video animation ("DVA") address generation system.
- a sequencing buffer 101 receives control signals on a video control bus 99 and receives a sequence of digitized, compressed transformation mappings on a DVA signal line 100.
- a portion of the video image field information received by the buffer 101 is alternatively sent to one of two field buffers 103 and 105 that will provide the image field information for use by a first map decompression module 107 (or two such modules, as discussed above) that handles the intensity and high-light information (H).
- a first map decompression module 107 or two such modules, as discussed above
- a second pair of field buffers 109 and 111 receives from the sequencing buffer 101 field information that will be used by a second map decompression module 113 that will handle surface type information for the video image.
- a third pair of field buffers 115 and 117 receives field information that will be used by a third map decompression module 119 that handles mapping of the x-coordinate of pixel data addresses.
- a fourth pair of field buffers 121 and 123 receives field information that will be handled by a fourth map decompression module 125 that manipulates y-coordinates of the pixel data addresses.
- Each of the map decompression modules 107, 113, 119 and 125 has a switch 107sw, 113sw, 119sw and 125sw, respectively, to alternatingly draw field information from one and then from the other of each two field buffers according to the video image field to be formed for display on the video screen.
- the four map decompression modules 107, 113, 119 and 125 may operate in a manner illustrated in FIG. 9 below.
- the output signal(s) of the H-parameter map decompression module 107 is received by a high-light/color module 127 that provides either surface high-light information or color information to be used in formation of a video image field.
- the intensity and high-light information is sent to a high-light/color mixer module 141 that is discussed below.
- Color information which may be prescribed by the well known Y, B-Y and R-Y color parameters, is combined with other color information provided by an address/color module 129 for use in color image formation.
- the operations of the high-light/color module 127 and the address/color module 129 are controlled by an output signal received from the second map decompression module 113 on a surface controlled bus.
- the address/color module 129 receives information from the third and fourth map decompression modules 119 and 125. Input signals from the surface control bus are used as a criteria for passing the decompressed information to one of two modules. If the surface control bus indicates the current information represents an address; and x-coordinate and y-coordinate pixel data address information is sent to a filter/interpolation ("F/I") module 195 that was shown and previously discussed in connection with FIG. 3. Alternatively, if the surface control bus indicates that the current information is a color; the Y and R-Y color information is sent, in combination with the B-Y color from the high-light or color module 127, to the 3-to-1 MUX 133.
- F/I filter/interpolation
- the DVA address generation system also includes a background color register 131, driven by the video control bus 99, that provides Y, R-Y and B-Y information for any background color run that may be present in the current video image field.
- a three-to-one multiplexer (“MUX") 133 receives input signals from the address/color module 129 and from the background color register 131, and receives prefiltered image pixel data from the F/I module 195 (FIG. 3) and issues one of these three input signals as an output signal, based upon a control signal received from the map decompression module 113 on the surface control bus as shown.
- MUX three-to-one multiplexer
- the output signal from the MUX 133 is received 35 by a palette module 137 that provides up to 2 16 colors for use in formation of the video image field.
- the output signal from the MUX 133 is also received by a two-to-one MUX 139 that also receives the output signal from the palette module 137.
- One of these two input signals is selected as the output signal from the MUX 139 by a control signal received from the second map decompression module 113 on the surface control bus.
- the output signal from the MUX 139 is received by an intensity and high-light color mixer module 141 that is driven by the video control bus and by the surface control bus.
- the color mixer module 141 also receives an output signal from the high-light/color module 127 and receives an output signal from an object 1,2, .
- the color mixer module 141 combines the blending color and the color signal from the MUX 139 as a function of (1) the high-light and intensity values received from the high-light/color module 127, (2) the surface control bus signal from the surface map decompressor module 113 and (3) the video control bus signal received on the line 99.
- the high-light, color intensity and color specifications may be changed, using the module 141, after the sequence of video image mappings representing the transformation T is constructed and stored, because the transformation T does not depend upon these specifications. This provides additional freedom in specification of the transformed video images.
- the output signal of the color mixer module 141 is received by an x/y post-interpolator module 143.
- the interpolator module 143 receives previous x-coordinate pixel data from an x register 145 and receives previous y-coordinate line data from a y line buffer 147 and is driven by the surface control bus.
- the post-interpolator module 143 will receive the decompressed video image field information and provide a smooth image, where appropriate, as a sequence of output signals for the final image and the corresponding pixel colors Y, B-Y and R-Y.
- the surface type decompressor module 113 in FIG. 4 produces a sequence of commands at a pixel rate (roughly 13.51 MHz in one embodiment) that controls the choice of high-light or color intensity output signal from the module 127, the choice of address or color output signal from the module 129, the choice of one the three input signals as the output signal from the three-input MUX 133, the choice of an output signal from the blending color module 135, the choice of one of two input signals as the output signal from the two-input MUX 139, the choice of color mixing ratio in the color mixer module 141, and the choice of an x and y post-interpolation scheme in the interpolator module 143.
- a pixel rate roughly 13.51 MHz in one embodiment
- the post-interpolator module 143 receives individual pixel values (x n , y m-1 ) pixel-by-pixel, for the preceding line in that field from the y line buffer 147 and the preceding pixel value pv(x n-1 , y m ) from the current line from the x register 145.
- the post interpolation module 143 uses a linear combination of the pixel values for the addresse (x n-1 ,y m ), the post interpolation module 143 suitably interpolated pixel value for the position (x n ,y m ) that will be displayed as the final image on a video screen. That is, the interpolated pixel value is defined by "
- This interpolated pixel value takes account, among other things, of the presence of an "edge" (a line or curve defining a hard shift from one object to another by the chosen video transformation) that separates or falls between the pixel address (x n ,y m ) and at least one of the pixel addresses (x n-1 ,y m ) and (x n , y m-1 )
- edges denoted e1, e2 and e3 that separate the pixel address (x n ,y m ) from at least one of these latter two pixel addresses are shown in FIG. 5.
- These pixel values pv(x n+k ,y m)1 may be determined predictively, using a linear prediction algorithm, or may be determined in any other suitable manner.
- the interpolated pixel value for the next N+1 pixel addresses (x n+k ,y m ) now becomes a "blend" of the pixel values, accounting for the presence an edge, and is defined by
- this second embodiment for the treatment of edges allows a softening or apodization of the associated edge so that the transition from object (or color) no. 1 to object (or color) no. 2 is not a sharp or hard transition as suggested in FIG. 5.
- a preferred embodiment here is a combination of these two interpolation methods, where pv(x n+k ,y m )int is linearly combined with the pixel value from the preceding line, pv(xn+k,y m-1 ), so that the current pixel value becomes comes
- FIG. 6 illustrates the DVA filter and key generation system in one embodiment.
- a fifth pair of field buffers 153 and 155 receives image key information from the sequencing buffer 101 and provides this information for a fifth map decompression module 157 that provides image key information for the field to be formed.
- a sixth pair of field buffers 159 and 161 receives information from the sequencing buffer 101 and provide this for a sixth map decompression module 163 that provides information on the x-coordinate filter to be used to form a pre-filtered image.
- a seventh pair of field buffers 165 and 167 receives information from the sequencing buffer 101 and provide this information for a seventh map decompression module 169 that provides y-coordinate filter information.
- the fifth, sixth and seventh map decompression modules 157, 163 and 169 have associated switches 157sw, 163sw and 169sw, respectively, to alternatingly draw information from one or the other of the two field buffers associated with that map decompression module.
- An image key adjustment module 171 receives an output signal from the fifth map decompression module 157 and receives pre-filtered image key values from the F/I module 195 (FIG. 3). The key adjustment module 171 is driven by the video control bus and produces an output image key value for use in forming a composite video image.
- An x filter adjustment module 173 and a y filter adjustment module 175 receive the output signals from the sixth and seventh map decompression modules 163 and 169, respectively, and are driven by the video control bus.
- the x and y filter adjustment modules 173 and 175 produce output signals that are the x filter values and y filter values to be fed to the filter and interpolation module 195 in FIG. 3.
- FIG. 7 illustrates one approach used in the invention for constructing a compressed mapping that corresponds approximately to a desired pixel-to-pixel mapping of a video image field.
- This compressed mapping embodiment is suitable for any mathematically generated data, relief maps or three dimensional models, but is especially well suited for address space.
- the ordinate (y-axis) is a coordinate w representing one of the following source pixel addresses: x-address (of the pixel), y-address, high-light or intensity.
- These source pixel addresses will be collectively referred to herein as Descriptive Coordinates, which describe a source pixel address.
- the pair (v m ,w.sub. m) will be referred to simply as a data address pair on the graph in FIG. 7.
- a first line segment L1 is constructed so that it passes through the first pixel destination data address pair (v i ,w 1 ), designated DA1, in a pixel line, passes adjacent to data address pair (v w ,w 2 ), designated DA2, and continues in a linear manner as shown.
- the line segment L1 will pass adjacent to a consecutive sequence of other data address pairs DA2, DA3, DA4, . . . , and one concern here is whether the line segment L1 will pass sufficiently close to each of these subsequent data points so that the line segment L1 can be used as a reasonable approximation for the positions of these data address pairs (v m ,w m ).
- the vertical error bounds EB3 are positioned as shown.
- the line segment L1 passes between these two error bars as it passes adjacent to the data address pair DA3.
- the line segment L1 is also a sufficiently good approximation for the data address pair DA3.
- the data address pairs DA1, DA2 and DA3 on the graph in FIG. 7 will be said to "Belong To" line segment L1 when the error bar criteria are satisfied for these consecutive data addresses.
- the line segment L2 does pass sufficiently close to the next data address pair DA5 so that the line segment L2 offers a sufficiently good approximation for this next data address.
- the line segment L2 does not pass between the two error bars EB6 as it passes adjacent to the data address pair DA6.
- a new line segment L3, beginning at a point BP3 adjacent to data address pair DA5 and passing adjacent to the data address pair DA6 would be constructed here.
- the sequence of line segment parameters ((s j , b ⁇ j defines an approximate mapping of the "line" of data address pairs on a video screen (for a constant value of the destination y-address).
- the collection of two-parameter descriptions ⁇ (s j , b j ) ⁇ j can approximately represent the collection of data address pairs DAj in that line, with dramatically reduced memory requirements as compared to representation of each of the sequence of data addresses by its exact pixel address.
- the intercept parameter bj for the line segment Lj is determined by the beginning point BPj as indicated in FIG. 7 so that only the slope s j for the line segment Lj is variable. Given the beginning point BPj of line segment Lj adjacent to data address pair DAm, the slope sj is varied to maximize the number of consecutive data address pairs DA(m), DA(m+1), . . . , DA(N) for which the line segment Lj passes between the error bar pairs EB(m), EB(m+1), . . . , EB(M).
- the error bar pairs EBj may be chosen so that each error bar of this pair lies above or below the corresponding data address pair DAj by precisely a fixed fraction f of the pixel-to-pixel nearest neighbor distance, or the fractions f may vary from one data address to the next.
- the fraction f might vary with the level of compression of the video image, for example.
- Each of these three data address prescriptions x, y and H is mapped similarly by a compression mapping as illustrated in FIG. 7.
- the intensity and high-light parameters may be separately represented, each by an n-bit word that provides 2 n levels of magnitude for that parameter, with each of these two parameter maps being compressed as the x and y address maps are compressed in FIG. 7.
- Each of the three data address prescriptions x, y and H for the coordinate w is described by an 8-bit (one-byte) or a 16-bit (two-byte) numerical field, with the first sub-field of 1 to 6 bits being a command and the remaining sub-field of 7 to 14 bits representing an integer plus fraction in binary form that is associated with that command.
- the formats for six fields are illustrated in FIG. 8.
- the notch () in the data portions of the Precise, Sub-precise and Sub-run fields represents the binary digital "decimal point" in each of these fields, and these fields have been positioned so that these "decimal points" line up with one another as shown in FIG. 8.
- the first field, Precise, gives the precise data address of a pixel, within the limits of accuracy available by use of 12-14 bits.
- the upper 10 of the 12-14 bits in the second sub-field give the x-address (or y-address or H-address) for that pixel.
- the second field, Sub-precise is used when the corresponding data address Belongs To a new line segment, as, for example, the data address DA3 Belongs To new line segment L2 as well as to the preceding line segment L1.
- LSBs nine least significant bits
- the Precise field is used or (2) the Sub-run field is used or (3) the Sub-precise and Short Run fields are used or (4) the Sub-precise and Long Run fields are used, to describe a data address that is part of an active video image and is not part of a background image.
- the second sub-field of the Sub-precise field and the 9-bit second sub-field of the Sub-run field illustrated in FIG. 8 set forth a slope correction ⁇ S j , as used in connection with FIG. 7 for the preceding line segment.
- Substantial portions of a video screen may be filled with a background color (or background color and texture), and the Background Color Run field shown in FIG. 8 takes account of this.
- the compression of data addresses is preferably treated in the following manner. For any pixel position j on the abcissa (z-axis) in FIG. 7, let
- ⁇ j maximum permissible error magnitude (
- the compressed data address values for the pixels i, i+1, . . . , j-1 all lie on a single predictor line (the "current predictor line") where pixel position i is the first such pixel on this line.
- the prediction line slope s(j) at pixel position j has the range ##EQU1##
- the current predictor line may be extended to the pixel position j, with the compressed data value C(j) being defined by the intersection of the current predictor line with a vertical line at pixel position j.
- the j th data address pair DAj then Belongs To the current predictor line.
- a new predictor line is begun at the last valid pixel position j-1, with a suitable ordinate value Zj -1 in the range (max) j-1 ⁇ Z j-1 ⁇ (min) j-1 being chosen as the anchor point or initial estimate of the first data address value for this new line.
- Suitable ordinate values Z j-1 includes the arithmetic mean
- K1 as the largest integer k in the range 1 ⁇ k ⁇ M for which
- FIG. 9 illustrates the operation of one embodiment of line segment mapping decompression apparatus 251 that is used to implement a decompression mapping in accordance with the invention.
- a first register 253 and a second register 255 receive and store first and second consecutive data addresses DAm and DA(m+1), respectively, associated with a line of pixels. These two registers 253 and 255 issue their current data addresses as output signals, at time intervals determined by a clock signal CLK, that are received by a predictor module 257 that predicts and issues a predicted value of the next consecutive data address, from the information received from the two registers 253 and 255. This prediction is made, assuming that the next consecutive data address will Belong To the line segment associated with the two immediately preceding data addresses. Operation of a multiplexer 267 inserted between the two data address registers 253 and 255 is discussed below.
- the predictor module 257 would multiply the two input coefficients w(v m ) and w(v m+1 ) by the respective coefficients -1 and +2 and add these two values to produce the predictor output signal, the predicted value of w(v m+2 ).
- the predictor module would also receive one or more input signals on a signal line 258 (optional), representing the coordinate differences ⁇ m+1 and ⁇ m+2 , in order to predict the next consecutive data address according to some prediction algorithm such as Eq. (1) above.
- a signal line 258 (optional), representing the coordinate differences ⁇ m+1 and ⁇ m+2 , in order to predict the next consecutive data address according to some prediction algorithm such as Eq. (1) above.
- Use of the signal line 258 is unnecessary here because the z-coordinate differences ⁇ m are uniform in the preferred embodiment.
- the output signal from the predictor module 257 is the predicted next consecutive data address, assuming that this next address lies Belongs To the current line segment.
- This output signal is passed to one of three input terminals of a first multiplexer ("MUX") 259 whose second input terminal receives a Precise field, containing precise information on the next consecutive data address pair DA(m+2) currently under examination, from a Precise field source 261, and whose third input terminal receives a signal from a two-input sum module 263 that is discussed below.
- the MUX 259 also receives two control input signals C1 and C2 as shown.
- the Precise field source signal will be issued for the first data address of each line and also when neither the predicted value nor the corrected value is sufficiently accurate.
- the output signal from the data address register 255 is also received by the sum module 263, which also receives a line segment parameter correction signal, if any is required, from a Sub-precise field source 265.
- a line segment with run length N>2 it is expected that the Sub-precise field source correction will be zero for most of the data addresses in that run so that the sum output signal of the sum module 263 will be the signal received at the other input terminal of the sum module 263.
- the Precise field source 261 and the Subprecise field source 265 are each driven by the clock signal CLK.
- the output signal from the sum module 263 is received as a third input signal by the MUX 259, which issues one of its three input signals based on the control signals C1 and C2, as described above.
- This output signal is received by the data address register 255, and the previous contents of the register 255 are moved to a two-input MUX 267 that also receives the Precise field data address and corresponding control signal (C1) from the Precise field source 261.
- the output signal from the MUX 259 is received by the data address register 255.
- This signal represents the predicted, corrected or exact next consecutive data address pair DA(m+2).
- the data address registers 253 and 255 now contain the consecutive data address pairs DA(m+1) and DA(m+2), respectively, and the process repeats itself until the other end of the line is reached.
- the output signal from the data address register 255 is received at a first input terminal by a second MUX 267 that has two input terminals and a control input terminal.
- the MUX 267 also receives the output signal from the Precise field source 261 and the first control input signal C1 at the second input terminal and the control input terminal, respectively.
- the output signal from the MUX 267 is received by the first data address register 253. This output signal is either the signal received from the Precise field source 261 or the data address pair DA(m+1) issued by the second data register 255, depending on the value of the first control signal C1.
- the output signal of the MUX 259 is also received by an output delay register 269 that is driven by the clock signal CLK and that reproduces the input signal at its output terminal after one clock cycle delay.
- the Precise Field source 261 receives the 16-bit Precise field information illustrated in FIG. 4 and receives an indication whether the predicted next consecutive data address pair DA(m+2) Belongs To the current line segment whether a next consecutive data address Belongs To a corrected line segment (as provided by the Sub-precise field source 265), or whether the Precise field data address must be used. This information will determine the values of the control signals C1 and C2 issued by the source 261.
- the Sub-precise Field source 265 will receive, or will have received, the Sub-precise, Sub-run, Short Run and Long Run fields of information (FIG. 4) and will issue a line segment correction signal for receipt by the sum module 263 only if the data address DA(m+2) does not Belong To the current line segment that the data address pairs DA(m) and DA(m+1) Belong To.
- the data address registers 253 and 255, the delay output register 269, the Precise field source 261 and the Sub-precise field source 265 are each driven by a clock signal CLK received from a clock source 275.
- [259] (DAI Pr , DC, DC)
- [263] (DAI Pr , (DA2))
- [259] (DA2 Pr , DAI Pr +(DA2), DA2 Pd )
- [263] (DA2 Su , (DA3))
- DAm Su DA(m-1) + ⁇ (DAm);
- DAm Pd 2.DA(m-1)-DA(m-2).
Abstract
Description
pv.sub.int (x.sub.n,y.sub.m)=c.sub.o pv(x.sub.n-1,y.sub.m)+c.sub.1 pv(x.sub.n,y.sub.m)+c.sub.2 pv(x.sub.n,y .sub.m-1), (1)
c.sub.o +c.sub.1 +c.sub.2 =1. (2)
pv(x.sub.n+k,y.sub.m)int=c.sub.1 (k)pv(x.sub.n+k,Y.sub.m)+c.sub.2 (k)pv(x.sub.n+k,y.sub.m).sub.2 (k=0,1 . . . ,N), (3)
c.sub.1 (k)+c.sub.2 (k)=1. (4)
pv(x.sub.n,y.sub.m)=c.sub.O pv(x.sub.n,y.sub.m)+c.sub.1 pv(x.sub.n,y.sub.m-1) (5)
c.sub.o +c.sub.1 =1 (6)
s.sub.j <max[s.sub.i+1, s.sub.i+2, . . . , s.sub.j-i ]=(max).sub.i+1, j-1 ;(1)
s.sub.j ≧(max).sub.j-1 and s.sub.j <(max).sub.i+1,j-1 ;(2)
(max).sub.i+1,j-1 ≦s.sub.j <s.sub.j ≦min[s.sub.i+1, s.sub.i+2, . . . , s.sub.j-1 ]=(min) .sub.i+1,j-1 ; (3)
s.sub.j ≦(min).sub.i+1,j-1 and s.sub.j ≦(min).sub.i+1 ;(4)
s.sub.j >(min).sub.i+,j-1 ; or (5)
s.sub.j ≧(min).sub.i+1,j-1 and s.sub.j ≦(max).sub.i+1,j-1.(6)
Z.sub.j-1 =[(max).sub.j-1 ·(min).sub.j-1 ]/2, (8)
Z.sub.j-1 =[(max).sub.j-1 ·(min).sub.j-1]1/2 (9)
Z.sub.j-1 =(min).sub.j-1, (10)
Z.sub.j-1 =(max).sub.j-1. (11)
s.sub.j =(w.sub.j+1 +ε.sub.j -w.sub.j)/(v.sub.j+1 -v.sub.j),(13)
s.sub.j =(w.sub.j+1 -ε.sub.j -w.sub.j)/(v.sub.j+1 -v.sub.j),(14)
S.sub.j,k =min [s.sub.j, s.sub.j+1, . . . ,s.sub.k ], (15)
S.sub.j,k =max[s.sub.j, s.sub.j+1, . . . ,s.sub.k ] (j≦j≦k≦M). (16)
S.sub.2,k ≧S.sub.2,k for k=2,3,4, . . . ,k1. (17)
w=S.sub.1 (v-v.sub.1)+w.sub.1 (S.sub.2,k1 ≦S.sub.1 ≦S.sub.2,k1), (18)
w'.sub.k1 =S.sub.1 (w.sub.k1 -w.sub.1)+w.sub.1, (19)
S.sub.k1,k ≧S.sub.k1,k for k=k1+1, k1+2, . . . , k2 (20)
w=S.sub.2 (V-v.sub.k1)+w'.sub.k1 (S.sub.k1,k2 ≦S.sub.2 ≦S.sub.k1,k1), (21)
w'.sub.kw =S.sub.2 (v.sub.k2 -v.sub.k1)+w'.sub.k1 (22)
S.sub.k2,k ≦S.sub.k2,k for k=k2+1, . . . , k3 (23)
Claims (19)
S.sub.2,k ≦S.sub.2,k for k=2,3, . . . , k1,
S.sub.k1,k ≧S.sub.k1,k for k=k1+1, k1+2, . . . , K2,
S.sub.kn,k ≧S.sub.kn,k for k=kn, kn+1, kn+2, . . . , k(n+1),
S.sub.n =S.sub.n-1 +ΔS.sub.n,
w'.sub.kn =w'.sub.k(n-1)+Δw'.sub.kn,
S.sub.2,k ≦S.sub.2,k for k=2,3, . . . k1,
S.sub.k1,k ≧S.sub.k1,1 for k=k1+1, k1+2, . . . , k2,
S.sub.kn,k ≦S.sub.kn,k for k=kn, kn+1, kn+2, . . . , k(n+1),
S.sub.n =s.sub.n-1 +ΔS.sub.n,
w'.sub.kn =w'.sub.k(n-1)+Δw'.sub.kn,
pv(x.sub.m,y.sub.n).sub.int =c.sub.0 pv(x.sub.m+m,Y.sub.n)+c.sub.1 pv(x.sub.m,y.sub.n)+c.sub.2 pv(x.sub.m,Y hd n+n),
c.sub.0 +c.sub.1 +c.sub.2 =1; and
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/630,069 US5119442A (en) | 1990-12-19 | 1990-12-19 | Real time digital video animation using compressed pixel mappings |
GB9125742A GB2252704B (en) | 1990-12-19 | 1991-12-03 | Real time digital video animation |
JP3334870A JPH05324817A (en) | 1990-12-19 | 1991-12-18 | Method for animating one-sequence video image field and apparatus for recovering approximately reduced pixel mapping to mapping from ordinary pixel to pixel |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/630,069 US5119442A (en) | 1990-12-19 | 1990-12-19 | Real time digital video animation using compressed pixel mappings |
Publications (1)
Publication Number | Publication Date |
---|---|
US5119442A true US5119442A (en) | 1992-06-02 |
Family
ID=24525627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US07/630,069 Expired - Lifetime US5119442A (en) | 1990-12-19 | 1990-12-19 | Real time digital video animation using compressed pixel mappings |
Country Status (3)
Country | Link |
---|---|
US (1) | US5119442A (en) |
JP (1) | JPH05324817A (en) |
GB (1) | GB2252704B (en) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5300949A (en) * | 1992-10-22 | 1994-04-05 | International Business Machines Corporation | Scalable digital video decompressor |
US5583656A (en) * | 1992-12-31 | 1996-12-10 | Eastman Kodak Company | Methods and apparatus for attaching compressed look-up table (LUT) representations of N to M-dimensional transforms to image data and for processing image data utilizing the attached compressed LUTs |
US5589850A (en) * | 1994-09-26 | 1996-12-31 | Industrial Technology Research Institute | Apparatus for converting two dimensional pixel image into one-dimensional pixel array |
US5790708A (en) * | 1993-03-25 | 1998-08-04 | Live Picture, Inc. | Procedure for image processing in a computerized system |
WO1999017259A1 (en) * | 1997-09-29 | 1999-04-08 | Intergraph Corporation | Automatic frame accumulator |
US5977965A (en) * | 1997-09-29 | 1999-11-02 | Intergraph Corporation | Automatic frame accumulator |
US6091778A (en) * | 1996-08-02 | 2000-07-18 | Avid Technology, Inc. | Motion video processing circuit for capture, playback and manipulation of digital motion video information on a computer |
US6357047B1 (en) | 1997-06-30 | 2002-03-12 | Avid Technology, Inc. | Media pipeline with multichannel video processing and playback |
US6591019B1 (en) | 1999-12-07 | 2003-07-08 | Nintendo Co., Ltd. | 3D transformation matrix compression and decompression |
US6643414B1 (en) * | 1998-11-24 | 2003-11-04 | Matsushita Electric Industrial Co., Ltd. | Image processing method, image processing apparatus, and data storage media |
US20040012594A1 (en) * | 2002-07-19 | 2004-01-22 | Andre Gauthier | Generating animation data |
US20060174297A1 (en) * | 1999-05-28 | 2006-08-03 | Anderson Tazwell L Jr | Electronic handheld audio/video receiver and listening/viewing device |
US20060170760A1 (en) * | 2005-01-31 | 2006-08-03 | Collegiate Systems, Llc | Method and apparatus for managing and distributing audio/video content |
US20070008322A1 (en) * | 2005-07-11 | 2007-01-11 | Ludwigsen David M | System and method for creating animated video with personalized elements |
US20070256107A1 (en) * | 1999-05-28 | 2007-11-01 | Anderson Tazwell L Jr | Audio/video entertainment system and method |
US20080287059A1 (en) * | 1999-03-08 | 2008-11-20 | Anderson Jr Tazwell L | Video/audio system and method enabling a user to select different views and sounds associated with an event |
US20080284851A1 (en) * | 1999-05-28 | 2008-11-20 | Anderson Jr Tazwell L | Electronic handheld audio/video receiver and listening/viewing device |
US7593687B2 (en) | 2003-10-07 | 2009-09-22 | Immersion Entertainment, Llc | System and method for providing event spectators with audio/video signals pertaining to remote events |
US20100119175A1 (en) * | 2008-11-10 | 2010-05-13 | City University Of Hong Kong | Method for encoding a plurality of video signals into a single video signal |
US7725073B2 (en) | 2002-10-07 | 2010-05-25 | Immersion Entertainment, Llc | System and method for providing event spectators with audio/video signals pertaining to remote events |
US20120016918A1 (en) * | 2010-07-16 | 2012-01-19 | Jae Won Oh | Method for Compressing Information |
US20120133651A1 (en) * | 2009-05-06 | 2012-05-31 | 3D International Europe Gmbh | Method for stereoscopic illustration |
US20150146977A1 (en) * | 2013-11-28 | 2015-05-28 | Samsung Display Co., Ltd. | Compression device and compression method |
US9092839B2 (en) | 2012-05-01 | 2015-07-28 | Canon Kabushiki Kaisha | Encoding of rasterised graphic objects |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4665433A (en) * | 1984-04-25 | 1987-05-12 | Quantel Limited | Video signal processing with filtering to account for picture compression |
US4760605A (en) * | 1985-11-19 | 1988-07-26 | Sony Corporation | Image signal processing with filtering to account for image mapping |
US4935879A (en) * | 1987-08-05 | 1990-06-19 | Daikin Industries, Ltd. | Texture mapping apparatus and method |
-
1990
- 1990-12-19 US US07/630,069 patent/US5119442A/en not_active Expired - Lifetime
-
1991
- 1991-12-03 GB GB9125742A patent/GB2252704B/en not_active Expired - Lifetime
- 1991-12-18 JP JP3334870A patent/JPH05324817A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4665433A (en) * | 1984-04-25 | 1987-05-12 | Quantel Limited | Video signal processing with filtering to account for picture compression |
US4760605A (en) * | 1985-11-19 | 1988-07-26 | Sony Corporation | Image signal processing with filtering to account for image mapping |
US4935879A (en) * | 1987-08-05 | 1990-06-19 | Daikin Industries, Ltd. | Texture mapping apparatus and method |
Cited By (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5300949A (en) * | 1992-10-22 | 1994-04-05 | International Business Machines Corporation | Scalable digital video decompressor |
US5583656A (en) * | 1992-12-31 | 1996-12-10 | Eastman Kodak Company | Methods and apparatus for attaching compressed look-up table (LUT) representations of N to M-dimensional transforms to image data and for processing image data utilizing the attached compressed LUTs |
US6512855B1 (en) | 1993-03-25 | 2003-01-28 | Roxio, Inc. | Method and system for image processing |
US5790708A (en) * | 1993-03-25 | 1998-08-04 | Live Picture, Inc. | Procedure for image processing in a computerized system |
USRE43747E1 (en) | 1993-03-25 | 2012-10-16 | Intellectual Ventures I Llc | Method and system for image processing |
US5907640A (en) * | 1993-03-25 | 1999-05-25 | Live Picture, Inc. | Functional interpolating transformation system for image processing |
US6181836B1 (en) | 1993-03-25 | 2001-01-30 | Mgi Software Corporation | Method and system for non-destructive image editing |
US6763146B2 (en) | 1993-03-25 | 2004-07-13 | Roxio, Inc. | Method and system for image processing |
US5589850A (en) * | 1994-09-26 | 1996-12-31 | Industrial Technology Research Institute | Apparatus for converting two dimensional pixel image into one-dimensional pixel array |
US6091778A (en) * | 1996-08-02 | 2000-07-18 | Avid Technology, Inc. | Motion video processing circuit for capture, playback and manipulation of digital motion video information on a computer |
US6357047B1 (en) | 1997-06-30 | 2002-03-12 | Avid Technology, Inc. | Media pipeline with multichannel video processing and playback |
US5977965A (en) * | 1997-09-29 | 1999-11-02 | Intergraph Corporation | Automatic frame accumulator |
WO1999017259A1 (en) * | 1997-09-29 | 1999-04-08 | Intergraph Corporation | Automatic frame accumulator |
US6643414B1 (en) * | 1998-11-24 | 2003-11-04 | Matsushita Electric Industrial Co., Ltd. | Image processing method, image processing apparatus, and data storage media |
US9374548B2 (en) | 1999-03-08 | 2016-06-21 | Immersion Entertainment, Llc | Video/audio system and method enabling a user to select different views and sounds associated with an event |
US20080287059A1 (en) * | 1999-03-08 | 2008-11-20 | Anderson Jr Tazwell L | Video/audio system and method enabling a user to select different views and sounds associated with an event |
US8732781B2 (en) | 1999-03-08 | 2014-05-20 | Immersion Entertainment, Llc | Video/audio system and method enabling a user to select different views and sounds associated with an event |
US8239910B2 (en) | 1999-03-08 | 2012-08-07 | Immersion Entertainment | Video/audio system and method enabling a user to select different views and sounds associated with an event |
US9674491B2 (en) | 1999-05-28 | 2017-06-06 | Immersion Entertainment, Llc | Audio/video entertainment system and method |
US20060174297A1 (en) * | 1999-05-28 | 2006-08-03 | Anderson Tazwell L Jr | Electronic handheld audio/video receiver and listening/viewing device |
US9300924B2 (en) | 1999-05-28 | 2016-03-29 | Immersion Entertainment, Llc. | Electronic handheld audio/video receiver and listening/viewing device |
US20070256107A1 (en) * | 1999-05-28 | 2007-11-01 | Anderson Tazwell L Jr | Audio/video entertainment system and method |
US20080284851A1 (en) * | 1999-05-28 | 2008-11-20 | Anderson Jr Tazwell L | Electronic handheld audio/video receiver and listening/viewing device |
US20110083158A1 (en) * | 1999-05-28 | 2011-04-07 | Immersion Entertainment, Llc | Audio/video entertainment system and method |
US8253865B2 (en) | 1999-05-28 | 2012-08-28 | Immersion Entertainment | Audio/video entertainment system and method |
US7859597B2 (en) | 1999-05-28 | 2010-12-28 | Immersion Entertainment, Llc | Audio/video entertainment system and method |
US6591019B1 (en) | 1999-12-07 | 2003-07-08 | Nintendo Co., Ltd. | 3D transformation matrix compression and decompression |
US20040012594A1 (en) * | 2002-07-19 | 2004-01-22 | Andre Gauthier | Generating animation data |
US7725073B2 (en) | 2002-10-07 | 2010-05-25 | Immersion Entertainment, Llc | System and method for providing event spectators with audio/video signals pertaining to remote events |
US7929903B2 (en) | 2003-10-07 | 2011-04-19 | Immersion Entertainment, Llc | System and method for providing event spectators with audio/video signals pertaining to remote events |
US20100060740A1 (en) * | 2003-10-07 | 2010-03-11 | Immersion Entertainment, Llc | System and method for providing event spectators with audio/video signals pertaining to remote events |
US8725064B2 (en) | 2003-10-07 | 2014-05-13 | Immersion Entertainment, Llc | System and method for providing event spectators with audio/video signals pertaining to remote events |
US7593687B2 (en) | 2003-10-07 | 2009-09-22 | Immersion Entertainment, Llc | System and method for providing event spectators with audio/video signals pertaining to remote events |
USRE46360E1 (en) | 2003-10-07 | 2017-04-04 | Immersion Entertainment, Llc | System and method for providing event spectators with audio/video signals pertaining to remote events |
US20060170760A1 (en) * | 2005-01-31 | 2006-08-03 | Collegiate Systems, Llc | Method and apparatus for managing and distributing audio/video content |
US20070008322A1 (en) * | 2005-07-11 | 2007-01-11 | Ludwigsen David M | System and method for creating animated video with personalized elements |
US8077179B2 (en) | 2005-07-11 | 2011-12-13 | Pandoodle Corp. | System and method for creating animated video with personalized elements |
US8175398B2 (en) * | 2008-11-10 | 2012-05-08 | City University Of Hong Kong | Method for encoding a plurality of video signals into a single video signal |
US20100119175A1 (en) * | 2008-11-10 | 2010-05-13 | City University Of Hong Kong | Method for encoding a plurality of video signals into a single video signal |
US20120133651A1 (en) * | 2009-05-06 | 2012-05-31 | 3D International Europe Gmbh | Method for stereoscopic illustration |
US8797383B2 (en) * | 2009-05-06 | 2014-08-05 | Visumotion International Ltd. | Method for stereoscopic illustration |
US20120016918A1 (en) * | 2010-07-16 | 2012-01-19 | Jae Won Oh | Method for Compressing Information |
US9092839B2 (en) | 2012-05-01 | 2015-07-28 | Canon Kabushiki Kaisha | Encoding of rasterised graphic objects |
US20150146977A1 (en) * | 2013-11-28 | 2015-05-28 | Samsung Display Co., Ltd. | Compression device and compression method |
Also Published As
Publication number | Publication date |
---|---|
GB9125742D0 (en) | 1992-01-29 |
GB2252704A (en) | 1992-08-12 |
JPH05324817A (en) | 1993-12-10 |
GB2252704B (en) | 1994-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5119442A (en) | Real time digital video animation using compressed pixel mappings | |
US4563703A (en) | Video processing systems | |
US4808988A (en) | Digital vector generator for a graphic display system | |
US4988984A (en) | Image interpolator for an image display system | |
AU742444B2 (en) | System and method for modification of the visual characteristics of digital 3D objects | |
AU642415B2 (en) | Method and apparatus for manipulating digital video data | |
JP3384799B2 (en) | Electronic image manipulation device and method | |
US5923316A (en) | Optimized color space conversion | |
JP2670894B2 (en) | Method and apparatus for displaying high quality vectors | |
US5519823A (en) | Apparatus for rendering antialiased vectors | |
WO1994022101B1 (en) | Method and system for image processing | |
JPH10501107A (en) | Video image decoding apparatus and method | |
JPS63121364A (en) | Interpolator of television special effect apparatus | |
JP3645922B2 (en) | Image processing method and apparatus | |
GB2119594A (en) | Video processing systems | |
US5852444A (en) | Application of video to graphics weighting factor to video image YUV to RGB color code conversion | |
US6459433B1 (en) | Method and apparatus for compression of a two dimensional video object | |
US6738058B1 (en) | Method and apparatus for three dimensional graphics processing | |
US5375196A (en) | Rapid line drawing in computer graphics employing floating-point arithmetic | |
EP0264963A2 (en) | Method and apparatus for carrying out television special effects | |
GB2117209A (en) | Video processing systems | |
EP0441499A2 (en) | Electronic brush generation | |
JP2974596B2 (en) | Color image processing equipment | |
EP0568360A2 (en) | Graphics system using quadratic polynomial fragments | |
JP2862498B2 (en) | Image processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: PINNACLE SYSTEMS INCORPORATED, 2380 WALSH AVENUE, Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNOR:BROWN, WILLIAM B.;REEL/FRAME:005559/0648 Effective date: 19901219 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: PAT HLDR NO LONGER CLAIMS SMALL ENT STAT AS SMALL BUSINESS (ORIGINAL EVENT CODE: LSM2); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
REMI | Maintenance fee reminder mailed | ||
FPAY | Fee payment |
Year of fee payment: 12 |
|
SULP | Surcharge for late payment |
Year of fee payment: 11 |
|
AS | Assignment |
Owner name: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT, MASSAC Free format text: SECURITY AGREEMENT;ASSIGNORS:AVID TECHNOLOGY, INC.;PINNACLE SYSTEMS, INC.;REEL/FRAME:025675/0413 Effective date: 20101001 |
|
AS | Assignment |
Owner name: AVID SYSTEMS, INC., MASSACHUSETTS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO CAPITAL FINANCE, LLC;REEL/FRAME:036037/0693 Effective date: 20150622 Owner name: AVID TECHNOLOGY INC., MASSACHUSETTS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO CAPITAL FINANCE, LLC;REEL/FRAME:036037/0693 Effective date: 20150622 |