US20060155794A1 - Reduced complexity IDCT decoding with graceful degradation - Google Patents
Reduced complexity IDCT decoding with graceful degradation Download PDFInfo
- Publication number
- US20060155794A1 US20060155794A1 US11/338,023 US33802306A US2006155794A1 US 20060155794 A1 US20060155794 A1 US 20060155794A1 US 33802306 A US33802306 A US 33802306A US 2006155794 A1 US2006155794 A1 US 2006155794A1
- Authority
- US
- United States
- Prior art keywords
- dct
- canceled
- dct coefficients
- coefficients
- complexity
- 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.)
- Abandoned
Links
- 230000015556 catabolic process Effects 0.000 title abstract description 20
- 238000006731 degradation reaction Methods 0.000 title abstract description 20
- 238000000034 method Methods 0.000 claims description 9
- 230000033001 locomotion Effects 0.000 abstract description 10
- 230000001747 exhibiting effect Effects 0.000 abstract description 3
- 238000007906 compression Methods 0.000 description 8
- 230000006835 compression Effects 0.000 description 8
- 230000000873 masking effect Effects 0.000 description 4
- 230000009192 sprinting Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 208000002173 dizziness Diseases 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
Definitions
- the present invention relates to the decoding of compression algorithms for digital data, and particularly to decoding algorithms employing the Inverse Discrete Cosine Transform.
- Digital datastreams are often compressed for purposes of storage and transmission.
- Datastreams containing alphanumeric data are typically required to be absolutely unchanged after compression and decompression, but when working with audio or pictorial data it may be acceptable to use “lossy” compression in which some detail may be lost or altered but in which a human observer perceives the output as substantially similar to the original.
- MP3 Motion Picture Experts Group Layer-3 Audio
- JPEG Joint Photographic Experts Group
- MPEG Motion Picture Experts Group
- MPEG2 Motion Picture Experts Group
- a video frame to be transmitted is divided into macroblocks (MB's) of 8 ⁇ 8 pixels.
- a discrete cosine transform (DCT) is run on the MB, yielding an 8 ⁇ 8 array of coefficients.
- the coefficients, quantized and perhaps further compressed by Huffman-tree encoding, are stored or transmitted for retrieval by a playback device.
- the playback device performs an inverse discrete cosine transform (IDCT) on each 8 ⁇ 8 array of coefficients to reconstruct the equivalent to the 8 ⁇ 8 array of pixels from the original frame.
- IDCT inverse discrete cosine transform
- all 64 of the coefficients should be processed. (Even if all 64 coefficients are used, there will still be some less of detail because of the aforementioned quantizing.)
- a user may be willing to sacrifice some picture quality in order to have a lower-cost playback device.
- a usable or acceptable level of picture quality is attained using fewer than all 64 of the coefficients, thus permitting the use of a computational element of lesser capability.
- the number of coefficients used in the inverse DCT is predetermined according to a desired level of quality for a particular computational element.
- the picture quality can be quite good for homogeneous scenes with little camera movement and little subject movement, but degrades for highly variegated scenes or when there is rapid camera movement or rapid subject movement. Picture degradation may exceed the limits of “graceful” degradation, a term of art indicating that although degradation is permitted, it is managed so as to be as unobtrusive as possible. There is thus a need for an MPEG2 playback system with ability to process fewer than all of the DCT coefficients while maintaining graceful degradation of picture quality.
- the present invention provides a system and method of dynamically assessing horizontal high frequency components of a DCT block and decoding using a number of DCT coefficients dynamically selected according to current level of high-frequency components.
- the DCT component representing the highest frequency of DCT components representing horizontal frequency is assessed, and a masking of DCT coefficients is selected accordingly.
- FIG. 1 depicts the organization of DCT coefficient positions in an 8 ⁇ 8 array according to one embodiment of the invention
- FIG. 1A schematically illustrates relative frequencies represented by the DCT coefficient positions given in FIG. 1 ;
- FIGS. 2A through 2H show typical maskings that may be applied to decode a signal coded into DCT coefficients according to FIG. 1 , and states the relative computational complexity for each;
- FIG. 3 is a flow chart for an embodiment of the invention.
- FIG. 4 is a block diagram of an apparatus suitable for executing the flow of FIG. 3 .
- an 8 ⁇ 8 array of pixels (a macroblock or MB) is extracted from a video frame, and a Discrete Cosine Transform (DCT) is performed on the MB to yield a set of DCT coefficients, which typically are quantized to produce an 8 ⁇ 8 array of DCT coefficients.
- DCT Discrete Cosine Transform
- delta is Kronecker's delta
- B(k) is defined for all values of the frequency-space variable k, but we only care about integer k in the range 0 to N ⁇ 1.
- FIG. 1 shows a typical layout of such an array in which 64 coefficient positions are denominated 00 through 63 .
- N has a value of 64 .
- Position 00 contains a DCT coefficient representing the lowest vertical frequency in the MB and lowest horizontal frequency in the MB. Coefficients representing higher horizontal frequencies occupy successive positions “down” the array as depicted in FIG. 1 , while coefficients representing higher vertical frequencies occupy successive positions “across” the array as depicted.
- the coefficient in position 7 represents the highest vertical frequency regardless of horizontal frequency
- the coefficient in position 56 represents the highest horizontal frequency regardless of vertical frequency
- the coefficient in position 63 represents both the highest horizontal frequency and the highest vertical frequency.
- FIG. 1A schematically illustrates the relative frequencies in the array positions.
- IDCT inverse discrete cosine transform
- FIG. 2A by virtue of being completely hatched, denotes that every position of the 8 ⁇ 8 array of DCT coefficients is used in the IDCT decoding. This is 100% of the computation complexity for reconstructing a MB.
- FIGS. 2B through 2H each show a typical subset of the coefficients 00 - 63 being used in the IDCT decoding.
- a hatched square denotes that the corresponding DCT coefficient from the corresponding position identified in FIG. 1 is used in the IDCT decoding.
- An unhatched square indicates that the corresponding DCT coefficient is set to zero, and is not used.
- FIGS. 2B through 2H is a relative (i.e., percentage) indication of the resulting computation complexity.
- the degree to which image quality is degraded by using a subset of the DCT coefficients depends on the frequency complexity of the MBs.
- An MB that is a portion of a constant flat background, for example, would probably not show perceptible degradation even with the 38% complexity of FIG. 12H 1 .
- an MB that is a portion of the checked shirt of a man sprinting across the scene from left to right while the camera is panning the scene right to left would appear quite badly degraded with the 38% complexity of FIG. 12H , and would be degraded less with each higher level of complexity.
- a prior-art solution to providing a nominal level of viewing quality on a low-cost playback device that cannot continuously provide 100% computation capability is to always decode using one predetermined subset of DCT coefficients, selected according to the computational capabilities of the playback device. For example, for a playback device based on a 100 MHz Intel Pentium chip, the 55% complexity of FIG. 2G might always be used, but for a playback device based on a 350 MHz Intel Pentium-II chip the 86% complexity of FIG. 2C might always be used. The latter device would produce better results, but even at that it might produce results with noticeable and obtrusive degradation for MBs with a high degree of horizontal complexity.
- the present invention assesses the horizontal complexity of each individual MB, and selects the complexity level accordingly.
- high-complexity decoding is used for MBs from the checked shirt or other portions of the rapidly moving man so as to reduce degradation.
- other MBs from the frame typically exhibit much lower complexity (the background behind the sprinting man might be a uniform building wall or a uniform blue sky), and low-complexity decoding could be used for those MBs without introducing objectionable degradation.
- the magnitude of coefficient 56 is indicative of the horizontal complexity of the current MB at the highest horizontal frequency, and thus coefficient 56 is used as a bellwether to select the complexity of processing to be applied for the current MB.
- This selection is of great importance if the video data is interleaved (which is the case for most TV signals).
- the case where the data is interleaved and DCT coded after interleaving is known as frame-type DCT (as opposed to field-type DCT, performed on uninterleaved MBs).
- a top field may be very different from a bottom field, in which case coefficient 56 will have a very high value.
- the magnitude of coefficient 56 is very low, and the low-complexity encoding of FIG. 12H could accordingly used to decode the MB without introducing significant degradation.
- Higher levels of complexity of encoding are used for higher values of coefficient 56 , thus keeping degradation down to acceptable values.
- the 100% complexity of FIG. 12A in which all 64 DCT coefficients are used, could be employed.
- the average computational complexity is well below 100%, even if 100% complexity decoding is used for some of the MBs comprising the frame.
- only one threshold value for coefficient 56 is defined; for values below the threshold, the coefficient subset depicted in FIG. 2G , with 55% relative complexity, is employed; for values at or above the threshold, the coefficient subset depicted in FIG. 2C , with 86% relative complexity, is employed.
- an embodiment of the invention is described in flowchart form in FIG. 3 .
- an 8 ⁇ 8 array of DCT coefficients is received (block 302 ), typically from a storage means or a transmission means.
- the value of coefficient 56 is assessed.
- coefficient 56 is associated with the highest frequency of horizontal motion, and the present embodiment seeks to minimize horizontal degradation while permitting vertical degradation since vertical degradation occurs much less frequently in typical program material.
- a predetermined one of the maskings is selected.
- the selected subset of DCT coefficients is used in an inverse-DCT operation to recover an approximation of the original macroblock.
- a present embodiment employs one of two subset selections: the 55% complexity subset of FIG. 12C for values of coefficient 56 below a predetermined threshold, and the 86% complexity subset of FIG. 12G for values at or above the predetermined threshold.
- Block 310 dispatches back to block 302 so that each MB of a frame is processed.
- Block 312 dispatches back to block 302 to process each frame in a video stream.
- Apparatus for carrying out the operations described herein may, as a matter of design choice, be constructed in special-purpose hardware, or in general-purpose digital logic hardware programmed by appropriate firmware or software.
- Such an apparatus 400 is block-diagrammed in FIG. 4 . It contains a data receiver 402 for receiving input data; a data store 404 for storing computer instructions and data (input data, intermediate data, processed output data, and working data such as the predetermined DCT subsets); a computation means 406 ; control logic 408 ; and a data transmitter 410 for outputting data.
Abstract
Data compressed according to a lossy DCT-based algorithm, such as the MPEG or MPEG2 algorithms, is decompressed according to a dynamically-selected set of DCT coefficients, with unused coefficients masked out. A macroblock of the data exhibiting little motion is decompressed with a small subset of DCT coefficients, while a macroblock exhibiting more motion is decompressed using a larger subset of DCT coefficients up the full set of DCT coefficients. Average computational complexity is thus kept low, enabling the use of inexpensive equipment, while degradation is minimized.
Description
- 1. Field of the Invention
- The present invention relates to the decoding of compression algorithms for digital data, and particularly to decoding algorithms employing the Inverse Discrete Cosine Transform.
- 2. Description of the Related Art
- Digital datastreams are often compressed for purposes of storage and transmission. Datastreams containing alphanumeric data are typically required to be absolutely unchanged after compression and decompression, but when working with audio or pictorial data it may be acceptable to use “lossy” compression in which some detail may be lost or altered but in which a human observer perceives the output as substantially similar to the original.
- Many lossy compression algorithms have been devised, such as MP3 (Moving Picture Experts Group Layer-3 Audio) for sound recordings, JPEG (Joint Photographic Experts Group) for still pictures, and MPEG (Motion Picture Experts Group) and MPEG2 for video recordings. An embodiment of the invention to be described applies primarily to MPEG2 compression, but is applicable to other algorithms as well.
- In MPEG2 compression, a video frame to be transmitted is divided into macroblocks (MB's) of 8×8 pixels. A discrete cosine transform (DCT) is run on the MB, yielding an 8×8 array of coefficients. The coefficients, quantized and perhaps further compressed by Huffman-tree encoding, are stored or transmitted for retrieval by a playback device.
- The playback device performs an inverse discrete cosine transform (IDCT) on each 8×8 array of coefficients to reconstruct the equivalent to the 8×8 array of pixels from the original frame. To recover maximum detail and accuracy, all 64 of the coefficients should be processed. (Even if all 64 coefficients are used, there will still be some less of detail because of the aforementioned quantizing.) For many applications, such as consumer entertainment, a user may be willing to sacrifice some picture quality in order to have a lower-cost playback device. In a prior-art solution, a usable or acceptable level of picture quality is attained using fewer than all 64 of the coefficients, thus permitting the use of a computational element of lesser capability. The number of coefficients used in the inverse DCT is predetermined according to a desired level of quality for a particular computational element. The picture quality can be quite good for homogeneous scenes with little camera movement and little subject movement, but degrades for highly variegated scenes or when there is rapid camera movement or rapid subject movement. Picture degradation may exceed the limits of “graceful” degradation, a term of art indicating that although degradation is permitted, it is managed so as to be as unobtrusive as possible. There is thus a need for an MPEG2 playback system with ability to process fewer than all of the DCT coefficients while maintaining graceful degradation of picture quality.
- To overcome limitations in the prior art described above, and to overcome other limitations that will be apparent upon reading and understanding the present specification, the present invention provides a system and method of dynamically assessing horizontal high frequency components of a DCT block and decoding using a number of DCT coefficients dynamically selected according to current level of high-frequency components.
- According to one aspect of the invention, the DCT component representing the highest frequency of DCT components representing horizontal frequency is assessed, and a masking of DCT coefficients is selected accordingly.
- Other objects and features of the present invention will become apparent from the following detailed description considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the invention, for which reference should be made to the appended claims. It should be further understood that the drawings are not necessarily drawn to scale and that, unless otherwise indicated, they are merely intended to conceptually illustrate the structures and procedures described herein.
- In the drawings, wherein like reference numerals denote similar elements:
-
FIG. 1 depicts the organization of DCT coefficient positions in an 8×8 array according to one embodiment of the invention; -
FIG. 1A schematically illustrates relative frequencies represented by the DCT coefficient positions given inFIG. 1 ; -
FIGS. 2A through 2H show typical maskings that may be applied to decode a signal coded into DCT coefficients according toFIG. 1 , and states the relative computational complexity for each; -
FIG. 3 is a flow chart for an embodiment of the invention; and -
FIG. 4 is a block diagram of an apparatus suitable for executing the flow ofFIG. 3 . - In a typical data compression scheme, such as MPEG or MPEG2 data compression of video streams, an 8×8 array of pixels (a macroblock or MB) is extracted from a video frame, and a Discrete Cosine Transform (DCT) is performed on the MB to yield a set of DCT coefficients, which typically are quantized to produce an 8×8 array of DCT coefficients.
- The DCT algorithm, well known in the art, is given here for reference. Given data A(i), where i is an integer in the range 0 to N−1, the forward DCT (which would be used, e.g., by an encoder) is:
B(k)=[1−(1−sqrt(2)/2)delta(k)]/2 sum A(i) cos((pi k/N)(2i+1)/2) - i=0 to N−1
- where delta is Kronecker's delta.
- B(k) is defined for all values of the frequency-space variable k, but we only care about integer k in the range 0 to N−1. The inverse DCT (which would be used, e.g., by a decoder) is:
AA(i)=sum B(k)[1−(1−sqrt(2)/2)delta(k)]/2 cos((pi k/N)(2i+1)/2) - k=0 to N−1
-
FIG. 1 shows a typical layout of such an array in which 64 coefficient positions are denominated 00 through 63. In the DCT algorithm as applied to this array, N has a value of 64.Position 00 contains a DCT coefficient representing the lowest vertical frequency in the MB and lowest horizontal frequency in the MB. Coefficients representing higher horizontal frequencies occupy successive positions “down” the array as depicted inFIG. 1 , while coefficients representing higher vertical frequencies occupy successive positions “across” the array as depicted. Thus, the coefficient in position 7 represents the highest vertical frequency regardless of horizontal frequency, the coefficient inposition 56 represents the highest horizontal frequency regardless of vertical frequency, and the coefficient inposition 63 represents both the highest horizontal frequency and the highest vertical frequency.FIG. 1A schematically illustrates the relative frequencies in the array positions. - In order to reproduce the original frame for playback, it is necessary to perform an inverse discrete cosine transform (IDCT) on the 8×8 array of cosine coefficients to recover an approximation of the 8×8 MB from the original frame. It is an approximation because compression algorithms such as MPEG are inherently “lossy” compression algorithms—some detail is inherently lost or altered. However, the loss of detail may be imperceptible to the viewer. Further, it may be possible to increase the loss of detail (in order to simplify, and thus reduce the cost of, playback equipment) while still producing an output video stream that is not objectionable to the viewer.
-
FIG. 2A , by virtue of being completely hatched, denotes that every position of the 8×8 array of DCT coefficients is used in the IDCT decoding. This is 100% of the computation complexity for reconstructing a MB.FIGS. 2B through 2H each show a typical subset of the coefficients 00-63 being used in the IDCT decoding. A hatched square denotes that the corresponding DCT coefficient from the corresponding position identified inFIG. 1 is used in the IDCT decoding. An unhatched square indicates that the corresponding DCT coefficient is set to zero, and is not used. With each ofFIGS. 2B through 2H is a relative (i.e., percentage) indication of the resulting computation complexity. The degree to which image quality is degraded by using a subset of the DCT coefficients depends on the frequency complexity of the MBs. An MB that is a portion of a constant flat background, for example, would probably not show perceptible degradation even with the 38% complexity ofFIG. 12H 1. On the other hand, an MB that is a portion of the checked shirt of a man sprinting across the scene from left to right while the camera is panning the scene right to left would appear quite badly degraded with the 38% complexity ofFIG. 12H , and would be degraded less with each higher level of complexity. - Similar considerations apply to an MB exhibiting high complexity in the vertical orientation, such as the checked shirt of the man should he plummet off a cliff. In typical video program material, horizontal complexity is encountered far more often than vertical. The preferred embodiment of the present invention reduces degradation of horizontal complexity more than vertical, but it is understood that the techniques of the present invention may also be directed toward stressing vertical complexity or to treating horizontal and vertical complexity equally.
- A prior-art solution to providing a nominal level of viewing quality on a low-cost playback device that cannot continuously provide 100% computation capability is to always decode using one predetermined subset of DCT coefficients, selected according to the computational capabilities of the playback device. For example, for a playback device based on a 100 MHz Intel Pentium chip, the 55% complexity of
FIG. 2G might always be used, but for a playback device based on a 350 MHz Intel Pentium-II chip the 86% complexity ofFIG. 2C might always be used. The latter device would produce better results, but even at that it might produce results with noticeable and obtrusive degradation for MBs with a high degree of horizontal complexity. - The present invention assesses the horizontal complexity of each individual MB, and selects the complexity level accordingly. Thus, in the example of the man with a checked shirt sprinting through the scene, high-complexity decoding is used for MBs from the checked shirt or other portions of the rapidly moving man so as to reduce degradation. But other MBs from the frame typically exhibit much lower complexity (the background behind the sprinting man might be a uniform building wall or a uniform blue sky), and low-complexity decoding could be used for those MBs without introducing objectionable degradation.
- Referring again to
FIG. 1 , the magnitude ofcoefficient 56 is indicative of the horizontal complexity of the current MB at the highest horizontal frequency, and thus coefficient 56 is used as a bellwether to select the complexity of processing to be applied for the current MB. This selection is of great importance if the video data is interleaved (which is the case for most TV signals). The case where the data is interleaved and DCT coded after interleaving is known as frame-type DCT (as opposed to field-type DCT, performed on uninterleaved MBs). In interleaved data, a top field may be very different from a bottom field, in which case coefficient 56 will have a very high value. The prior-art solution of blindly using a fixed decoding complexity tends to result in objectionable degradation in such cases. Viewers have reported becoming dizzy from viewing such output. High vertical complexity tends to occur much less often in typical program material. (Other embodiments might use coefficient 63 (or some other coefficient along the main diagonal of the array) if it were desired to minimize horizontal and vertical degradation equally, orcoefficient 07 might be used if it were desired to minimize only vertical degradation.) - For MBs having low horizontal complexity (from a uniform background, for example) the magnitude of
coefficient 56 is very low, and the low-complexity encoding ofFIG. 12H could accordingly used to decode the MB without introducing significant degradation. Higher levels of complexity of encoding are used for higher values ofcoefficient 56, thus keeping degradation down to acceptable values. For MBs for which coefficient 56 exceeds a predetermined threshold value, the 100% complexity ofFIG. 12A , in which all 64 DCT coefficients are used, could be employed. For virtually all typical frames, the average computational complexity is well below 100%, even if 100% complexity decoding is used for some of the MBs comprising the frame. - In a present embodiment of the invention, only one threshold value for
coefficient 56 is defined; for values below the threshold, the coefficient subset depicted inFIG. 2G , with 55% relative complexity, is employed; for values at or above the threshold, the coefficient subset depicted inFIG. 2C , with 86% relative complexity, is employed. - An embodiment of the invention is described in flowchart form in
FIG. 3 . For each MB of each frame, an 8×8 array of DCT coefficients is received (block 302), typically from a storage means or a transmission means. Inblock 304, the value ofcoefficient 56 is assessed. As discussed supra,coefficient 56 is associated with the highest frequency of horizontal motion, and the present embodiment seeks to minimize horizontal degradation while permitting vertical degradation since vertical degradation occurs much less frequently in typical program material. - In
block 306, according to a predetermined association of the maskings for subsets of DCT coefficients (FIG. 2 ) with the value ofcoefficient 56, a predetermined one of the maskings is selected. Inblock 308 the selected subset of DCT coefficients is used in an inverse-DCT operation to recover an approximation of the original macroblock. With the dynamic selection of coefficient subsets according to the value ofcoefficient 56, lower complexity is used when there is not much horizontal motion, and higher complexity is used to minimize degradation for various greater amounts of horizontal motion. A present embodiment employs one of two subset selections: the 55% complexity subset ofFIG. 12C for values ofcoefficient 56 below a predetermined threshold, and the 86% complexity subset ofFIG. 12G for values at or above the predetermined threshold. -
Block 310 dispatches back to block 302 so that each MB of a frame is processed.Block 312 dispatches back to block 302 to process each frame in a video stream. - Apparatus for carrying out the operations described herein may, as a matter of design choice, be constructed in special-purpose hardware, or in general-purpose digital logic hardware programmed by appropriate firmware or software. Such an
apparatus 400 is block-diagrammed inFIG. 4 . It contains adata receiver 402 for receiving input data; adata store 404 for storing computer instructions and data (input data, intermediate data, processed output data, and working data such as the predetermined DCT subsets); a computation means 406;control logic 408; and adata transmitter 410 for outputting data. - Thus, while there have been shown and described and pointed out fundamental novel features of the invention as applied to a preferred embodiment thereof, it will be understood that various omissions and substitutions and changes in the form and details of the devices illustrated, and in their operation, may be made by those skilled in the art without departing from the spirit of the invention. For example, it is expressly intended that all combinations of those elements and/or method steps which perform substantially the same function in substantially the same way to achieve the same results are within the scope of the invention. Moreover, it should be recognized that structures and/or elements and/or method steps shown and/or described in connection with any disclosed form or embodiment of the invention may be incorporated in any other disclosed or described or suggested form or embodiment as a general matter of design choice. It is the intention, therefore, to be limited only as indicated by the scope of the claims appended hereto.
Claims (14)
1. A method of decoding DCT-encoded blocks of a data signal, the method comprising:
(a) predetermining a plurality of subsets of DCT coefficient positions;
(b) receiving a set of DCT coefficients obtained from DCT-encoding a corresponding portion of a data signal;
(c) selecting one of said subsets of DCT coefficient positions according to a value of a predetermined one of the received DCT coefficients;
(d) performing IDCT decoding on the selected subset of DCT coefficients to recover a representation of the corresponding portion of the data signal; and
(e) repeating steps (b), (c), and (d) for successive sets of DCT coefficients.
2. (canceled)
3. (canceled)
4. (canceled)
5. (canceled)
6. (canceled)
7. (canceled)
8. Apparatus for decoding DCT-encoded blocks of a data signal, the apparatus comprising:
a data store for storing a predetermined plurality of subsets of DCT coefficient positions;
a receiver for receiving a set of DCT coefficients obtained from DCT-encoding a portion of said data signal;
computation means for:
selecting one of said subsets of DCT coefficient positions according to a value of a predetermined one of the received DCT coefficients; and
performing IDCT decoding on the selected subset of DCT coefficients to recover a representation of the corresponding portion of the data signal; and
control logic for routing successive sets of DCT coefficients through the receiver and computation means.
9. (canceled)
10. (canceled)
11. (canceled)
12. (canceled)
13. (canceled)
14. (canceled)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/338,023 US20060155794A1 (en) | 2001-03-30 | 2006-01-24 | Reduced complexity IDCT decoding with graceful degradation |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/823,363 US7020672B2 (en) | 2001-03-30 | 2001-03-30 | Reduced complexity IDCT decoding with graceful degradation |
US11/338,023 US20060155794A1 (en) | 2001-03-30 | 2006-01-24 | Reduced complexity IDCT decoding with graceful degradation |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/823,363 Continuation US7020672B2 (en) | 2001-03-30 | 2001-03-30 | Reduced complexity IDCT decoding with graceful degradation |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060155794A1 true US20060155794A1 (en) | 2006-07-13 |
Family
ID=25238539
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/823,363 Expired - Fee Related US7020672B2 (en) | 2001-03-30 | 2001-03-30 | Reduced complexity IDCT decoding with graceful degradation |
US11/338,023 Abandoned US20060155794A1 (en) | 2001-03-30 | 2006-01-24 | Reduced complexity IDCT decoding with graceful degradation |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/823,363 Expired - Fee Related US7020672B2 (en) | 2001-03-30 | 2001-03-30 | Reduced complexity IDCT decoding with graceful degradation |
Country Status (6)
Country | Link |
---|---|
US (2) | US7020672B2 (en) |
EP (1) | EP1378126A2 (en) |
JP (1) | JP4278385B2 (en) |
KR (1) | KR100873826B1 (en) |
CN (1) | CN1218584C (en) |
WO (1) | WO2002080569A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10410644B2 (en) | 2011-03-28 | 2019-09-10 | Dolby Laboratories Licensing Corporation | Reduced complexity transform for a low-frequency-effects channel |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0324369D0 (en) * | 2003-10-18 | 2003-11-19 | Koninkl Philips Electronics Nv | Method and apparatus for calculating an inverse DCT |
KR100681242B1 (en) * | 2004-12-16 | 2007-02-09 | 삼성전자주식회사 | Method of decoding moving picture, apparatus for decoding moving picture and system-on-a-chip having the same |
EP1897374A1 (en) * | 2004-12-29 | 2008-03-12 | Koninklijke Philips Electronics N.V. | Method and apparatus for encoding video data stream |
US8929464B2 (en) * | 2005-03-25 | 2015-01-06 | Sharp Laboratories Of America, Inc. | Video entropy decoding with graceful degradation |
US8780997B2 (en) * | 2005-11-18 | 2014-07-15 | Apple Inc. | Regulation of decode-side processing based on perceptual masking |
US20090141808A1 (en) * | 2007-11-30 | 2009-06-04 | Yiufai Wong | System and methods for improved video decoding |
KR101672456B1 (en) | 2009-02-09 | 2016-11-17 | 삼성전자 주식회사 | Method and apparatus for video encoding using low-complexity frequency transform, and method and apparatus for video decoding using the same |
US20110194602A1 (en) * | 2010-02-05 | 2011-08-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for sub-pixel interpolation |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5216516A (en) * | 1990-04-27 | 1993-06-01 | Ricoh Company, Inc. | Orthogonal transformation arithmetic unit |
US5379122A (en) * | 1992-10-02 | 1995-01-03 | Xerox Corporation | Decompression of standard ADCT-compressed images |
US5881176A (en) * | 1994-09-21 | 1999-03-09 | Ricoh Corporation | Compression and decompression with wavelet style and binary style including quantization by device-dependent parser |
US5883823A (en) * | 1997-01-15 | 1999-03-16 | Sun Microsystems, Inc. | System and method of a fast inverse discrete cosine transform and video compression/decompression systems employing the same |
US5959673A (en) * | 1995-10-05 | 1999-09-28 | Microsoft Corporation | Transform coding of dense motion vector fields for frame and object based video coding applications |
US6167155A (en) * | 1997-07-28 | 2000-12-26 | Physical Optics Corporation | Method of isomorphic singular manifold projection and still/video imagery compression |
US6167092A (en) * | 1999-08-12 | 2000-12-26 | Packetvideo Corporation | Method and device for variable complexity decoding of motion-compensated block-based compressed digital video |
US6295320B1 (en) * | 1997-12-31 | 2001-09-25 | Lg Electronics Inc. | Inverse discrete cosine transforming system for digital television receiver |
US6374280B1 (en) * | 1998-05-07 | 2002-04-16 | Sarnoff Corporation | Computationally efficient inverse discrete cosine transform method and apparatus |
US6400680B1 (en) * | 1997-12-30 | 2002-06-04 | Koninklijke Philips Electronics N.V. | Data transformation of the inverse-fourier type |
US6466924B1 (en) * | 1997-12-02 | 2002-10-15 | Denso Corporation | Verification method of neural network and verification apparatus thereof |
US6587590B1 (en) * | 1998-02-02 | 2003-07-01 | The Trustees Of The University Of Pennsylvania | Method and system for computing 8×8 DCT/IDCT and a VLSI implementation |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69225365T2 (en) * | 1991-08-30 | 1998-11-19 | Fuji Xerox Co Ltd | Image signal coding device |
US6154839A (en) * | 1998-04-23 | 2000-11-28 | Vpnet Technologies, Inc. | Translating packet addresses based upon a user identifier |
US6449272B1 (en) * | 1998-05-08 | 2002-09-10 | Lucent Technologies Inc. | Multi-hop point-to-point protocol |
US6516417B1 (en) * | 1998-08-07 | 2003-02-04 | Nortel Networks, Limited | Virtual private networks |
US6094437A (en) * | 1998-10-09 | 2000-07-25 | Asc - Advanced Switching Communications | Layer two tunneling protocol (L2TP) merging and management |
US6615357B1 (en) * | 1999-01-29 | 2003-09-02 | International Business Machines Corporation | System and method for network address translation integration with IP security |
US6788681B1 (en) * | 1999-03-16 | 2004-09-07 | Nortel Networks Limited | Virtual private networks and methods for their operation |
US7000014B2 (en) * | 1999-04-02 | 2006-02-14 | Nortel Networks Limited | Monitoring a virtual private network |
FI107495B (en) | 1999-08-13 | 2001-08-15 | Nokia Multimedia Network Termi | Method and arrangement for reducing the volume or speed of a coded digital video bit stream |
US6798782B1 (en) * | 1999-12-10 | 2004-09-28 | Sun Microsystems, Inc. | Truly anonymous communications using supernets, with the provision of topology hiding |
US7111079B2 (en) * | 2000-02-23 | 2006-09-19 | Koninklijke Philips Electronics, N.V. | Architecture of a bridge between a non-IP network and the web |
US7028333B2 (en) * | 2000-04-12 | 2006-04-11 | Corente, Inc. | Methods and systems for partners in virtual networks |
US6631416B2 (en) * | 2000-04-12 | 2003-10-07 | Openreach Inc. | Methods and systems for enabling a tunnel between two computers on a network |
US7181542B2 (en) * | 2000-04-12 | 2007-02-20 | Corente, Inc. | Method and system for managing and configuring virtual private networks |
US7181766B2 (en) * | 2000-04-12 | 2007-02-20 | Corente, Inc. | Methods and system for providing network services using at least one processor interfacing a base network |
US7028334B2 (en) * | 2000-04-12 | 2006-04-11 | Corente, Inc. | Methods and systems for using names in virtual networks |
US6996628B2 (en) * | 2000-04-12 | 2006-02-07 | Corente, Inc. | Methods and systems for managing virtual addresses for virtual networks |
US7085854B2 (en) * | 2000-04-12 | 2006-08-01 | Corente, Inc. | Methods and systems for enabling communication between a processor and a network operations center |
US7533409B2 (en) * | 2001-03-22 | 2009-05-12 | Corente, Inc. | Methods and systems for firewalling virtual private networks |
US7395354B2 (en) * | 2002-02-21 | 2008-07-01 | Corente, Inc. | Methods and systems for resolving addressing conflicts based on tunnel information |
-
2001
- 2001-03-30 US US09/823,363 patent/US7020672B2/en not_active Expired - Fee Related
-
2002
- 2002-03-26 EP EP02708588A patent/EP1378126A2/en not_active Withdrawn
- 2002-03-26 KR KR1020027016314A patent/KR100873826B1/en not_active IP Right Cessation
- 2002-03-26 CN CN028009444A patent/CN1218584C/en not_active Expired - Fee Related
- 2002-03-26 JP JP2002577440A patent/JP4278385B2/en not_active Expired - Fee Related
- 2002-03-26 WO PCT/IB2002/001000 patent/WO2002080569A2/en not_active Application Discontinuation
-
2006
- 2006-01-24 US US11/338,023 patent/US20060155794A1/en not_active Abandoned
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5216516A (en) * | 1990-04-27 | 1993-06-01 | Ricoh Company, Inc. | Orthogonal transformation arithmetic unit |
US5379122A (en) * | 1992-10-02 | 1995-01-03 | Xerox Corporation | Decompression of standard ADCT-compressed images |
US5881176A (en) * | 1994-09-21 | 1999-03-09 | Ricoh Corporation | Compression and decompression with wavelet style and binary style including quantization by device-dependent parser |
US5959673A (en) * | 1995-10-05 | 1999-09-28 | Microsoft Corporation | Transform coding of dense motion vector fields for frame and object based video coding applications |
US5883823A (en) * | 1997-01-15 | 1999-03-16 | Sun Microsystems, Inc. | System and method of a fast inverse discrete cosine transform and video compression/decompression systems employing the same |
US6167155A (en) * | 1997-07-28 | 2000-12-26 | Physical Optics Corporation | Method of isomorphic singular manifold projection and still/video imagery compression |
US6466924B1 (en) * | 1997-12-02 | 2002-10-15 | Denso Corporation | Verification method of neural network and verification apparatus thereof |
US6400680B1 (en) * | 1997-12-30 | 2002-06-04 | Koninklijke Philips Electronics N.V. | Data transformation of the inverse-fourier type |
US6295320B1 (en) * | 1997-12-31 | 2001-09-25 | Lg Electronics Inc. | Inverse discrete cosine transforming system for digital television receiver |
US6587590B1 (en) * | 1998-02-02 | 2003-07-01 | The Trustees Of The University Of Pennsylvania | Method and system for computing 8×8 DCT/IDCT and a VLSI implementation |
US6374280B1 (en) * | 1998-05-07 | 2002-04-16 | Sarnoff Corporation | Computationally efficient inverse discrete cosine transform method and apparatus |
US6167092A (en) * | 1999-08-12 | 2000-12-26 | Packetvideo Corporation | Method and device for variable complexity decoding of motion-compensated block-based compressed digital video |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10410644B2 (en) | 2011-03-28 | 2019-09-10 | Dolby Laboratories Licensing Corporation | Reduced complexity transform for a low-frequency-effects channel |
Also Published As
Publication number | Publication date |
---|---|
KR20030014679A (en) | 2003-02-19 |
JP2004519954A (en) | 2004-07-02 |
CN1218584C (en) | 2005-09-07 |
US20020161809A1 (en) | 2002-10-31 |
JP4278385B2 (en) | 2009-06-10 |
KR100873826B1 (en) | 2008-12-15 |
US7020672B2 (en) | 2006-03-28 |
EP1378126A2 (en) | 2004-01-07 |
CN1460381A (en) | 2003-12-03 |
WO2002080569A3 (en) | 2002-12-05 |
WO2002080569A2 (en) | 2002-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060155794A1 (en) | Reduced complexity IDCT decoding with graceful degradation | |
EP0539833B1 (en) | A motion video compression system with multiresolution features | |
US6130911A (en) | Method and apparatus for compressing reference frames in an interframe video codec | |
US6862402B2 (en) | Digital recording and playback apparatus having MPEG CODEC and method therefor | |
US7724821B2 (en) | Signal compressing system | |
KR100253931B1 (en) | Approximate mpeg decoder with compressed reference frames | |
US20070025442A1 (en) | Coding method for coding moving images | |
US20070025444A1 (en) | Coding Method | |
US5790706A (en) | Method and apparatus for scanning of transform coefficients | |
US5714950A (en) | System for variable-length-coding and variable-length-decoding digitaldata | |
US20080075373A1 (en) | Image Coding Method and Apparatus, and Image Decoding Method and Apparatus | |
US20070160299A1 (en) | Moving image coding apparatus, moving image decoding apparatus, control method therefor, computer program, and computer-readable storage medium | |
US20050074177A1 (en) | Video coding method | |
US9077960B2 (en) | Non-zero coefficient block pattern coding | |
US5729294A (en) | Motion video compression system with novel adaptive quantization | |
US6879723B1 (en) | Method and apparatus for encoding frames of image data at a varying quality level | |
US6445823B1 (en) | Image compression | |
US20090208122A1 (en) | Image coding method and apparatus, and image decoding method and apparatus | |
US7058677B1 (en) | Method and apparatus for selectible quantization in an encoder | |
KR100366382B1 (en) | Apparatus and method for coding moving picture | |
JP2001238220A (en) | Moving picture coding apparatus and moving picture coding method | |
US20050201458A1 (en) | Image encoding system and method | |
Muzaffar et al. | Video data reduction with error resilience based on macroblock reorder | |
Furht et al. | Video Compression Techniques | |
JP2003163931A (en) | Image-compressing apparatus and image-decoding apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |