WO2007033346A1 - Arbitrary resolution change downsizing decoder - Google Patents
Arbitrary resolution change downsizing decoder Download PDFInfo
- Publication number
- WO2007033346A1 WO2007033346A1 PCT/US2006/035939 US2006035939W WO2007033346A1 WO 2007033346 A1 WO2007033346 A1 WO 2007033346A1 US 2006035939 W US2006035939 W US 2006035939W WO 2007033346 A1 WO2007033346 A1 WO 2007033346A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- downscaling
- computer
- compression techniques
- implemented method
- mpeg
- Prior art date
Links
- 230000008859 change Effects 0.000 title abstract description 16
- 238000000034 method Methods 0.000 claims description 109
- 230000006835 compression Effects 0.000 claims description 33
- 238000007906 compression Methods 0.000 claims description 33
- 230000009467 reduction Effects 0.000 claims description 13
- 238000001914 filtration Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000013139 quantization Methods 0.000 description 7
- 239000000872 buffer Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- MFYSUUPKMDJYPF-UHFFFAOYSA-N 2-[(4-methyl-2-nitrophenyl)diazenyl]-3-oxo-n-phenylbutanamide Chemical compound C=1C=CC=CC=1NC(=O)C(C(=O)C)N=NC1=CC=C(C)C=C1[N+]([O-])=O MFYSUUPKMDJYPF-UHFFFAOYSA-N 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- QBYUNVOYXHFVKC-GBURMNQMSA-N taurolithocholic acid Chemical compound C([C@H]1CC2)[C@H](O)CC[C@]1(C)[C@@H]1[C@@H]2[C@@H]2CC[C@H]([C@@H](CCC(=O)NCCS(O)(=O)=O)C)[C@@]2(C)CC1 QBYUNVOYXHFVKC-GBURMNQMSA-N 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
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/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- 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
-
- 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
-
- 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/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/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/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/186—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 colour or a chrominance component
-
- 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/48—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
-
- 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/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- 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
Definitions
- Digital video content is typically generated to target a specific data format.
- a video data format generally conforms to a specific video coding standard or a proprietary coding algorithm, with a specific bit rate, spatial resolution, frame rate, etc.
- Such coding standards include MPEG-2 and WINDOWS Media Video (WMV).
- WMV WINDOWS Media Video
- Most existing digital video contents are coded according to the MPEG-2 data format.
- WMV is widely accepted as a qualified codec in the streaming realm, being widely deployed throughout the Internet, adopted by the HD-DVD consortium, and currently being considered as a SMPTE standard.
- Different video coding standards provide varying compression capabilities and visual quality.
- Transcoding refers to the general process of converting one compressed bitstream into another compressed one. To match a device's capabilities and distribution networks, it is often desirable to convert a bitstream in one coding format to another coding format such as from MPEG-2 to WMV, to H.264, or even to a scalable format. Transcoding may also be utilized to achieve some specific functionality such as VCR-like functionality, logo insertion, or enhanced error resilience capability of the bitstream for transmission over wireless channels.
- Fig. 1 shows a conventional Cascaded Pixel-Domain Transcoder (CPDT) system, which cascades a front-end decoder to decode an input bitstream with an encoder that generates a new bitstream with a different coding parameter set or in new format.
- CPDT Cascaded Pixel-Domain Transcoder
- Fig. 2 shows a conventional cascaded DCT-domain transcoder (CDDT) architecture, simplifying the CPDT architecture of Fig. 1.
- CDDT eliminates the DCT/IDCT processes implemented by the CPDT transcoder of Fig. 1.
- CDDT performs MC in the DCT domain, which is typically a time-consuming and computationally expensive operation. This is because the DCT blocks are often overlapped with MC blocks.
- the CDDT architecture typically needs to apply complex and computationally expensive floating-point matrix operations in order to perform MC in the DCT domain.
- motion vector (MV) refinement is typically infeasible utilizing the CDDT architecture.
- an encoded bitstream is received.
- the encoded bitstream is downscaled in a DCT domain-decoding loop to generate downscaled data.
- Fig. 1 shows a conventional Cascaded Pixel-Domain Transcoder (CPDT) system, which cascades a front-end decoder to decode an input bitstream with an encoder to generate a new bitstream with a different coding parameter set or in new format.
- CPDT Cascaded Pixel-Domain Transcoder
- Fig. 2 shows a conventional cascaded DCT-domain transcoder (CDDT) architecture, simplifying the CPDT architecture of Fig. 1.
- CDDT DCT-domain transcoder
- FIG. 3 shows an exemplary non-integrated pixel-domain transcoding split-architecture to transcode MPEG-2 to WMV, according to one embodiment. More particularly, this split-architecture provides a conceptual basis for efficient integrated digital video transcoding.
- FIG. 4 shows an exemplary system for efficient integrated digital video transcoding, according to one embodiment.
- Fig. 5 shows an exemplary simplified close-loop cascaded pixel- domain transcoder, according to one embodiment.
- Fig. 6 shows an exemplary simplified closed-loop DCT-domain transcoder, according to one embodiment.
- Fig. 7 shows an exemplary merge operation of four 4x4 DCT blocks into one 8 x 8 DCT block, according to one embodiment. This merge operation is performed during efficient video content transcoding.
- Fig. 8 shows an exemplary architecture for a simplified DCT-domain numeral 2:1 resolution downscaling transcoder, according to one embodiment.
- Fig. 9 shows an exemplary merge operation of four 4x4 DCT blocks into one 8 x 8 DCT block for interlace media for 2:1 spatial resolution downscaling transcoding operations, according to one embodiment.
- Fig. 10 shows an exemplary simplified 2:1 arbitrary resolution change downscaling transcoder architecture with full drift compensation, according to one embodiment.
- Fig. 11 shows an exemplary standard virtual buffer verifier buffer (VBV) model for a decoder.
- VBV virtual buffer verifier buffer
- Fig. 12 shows a transcoder with arbitrarily spatial resolution downscaling, according to one embodiment.
- Fig. 13 shows an exemplary procedure for efficient integrated digital video transcoding operations, according to one embodiment.
- Fig. 14 shows an exemplary environment wherein efficient integrated digital video transcoding can be partially or fully implemented, according to one embodiment.
- a blue solid arrow represents pixel domain signal with respect to real or residual picture data.
- a red solid arrow represents signal in the DCT domain.
- An orange dashed arrow represents motion information.
- Systems and methods for efficient digital video transcoding are described below in reference to Figs. 4 through 14. These systems and methods utilize information in the input bitstream to allow an application to dynamically control error propagation, and thereby, selectively control speed and quality of video bitstream transcoding. This selective control allows an application to seamlessly scale from close-loop transcoding (high-speed transcoding profile) to open-loop (high-quality transcoding profile) transcoding schemes.
- the architectures for efficient digital video transcoding are integrated and that they combined different types of Discrete Cosine Transforms (DCTs) or DCT-like transforms into one transcoding module.
- the systems and methods for efficient video transcoding implement requantization with a fast lookup table, and provide fine drifting control mechanisms using a triple threshold algorithm.
- the high-quality profile transcoding operations support advanced coding features of WMV.
- high-speed profile transcoding operations implement arbitrary resolution two-stage downscaling (e.g., when transcoding from high definition (HD) to standard definition (SD)) - e.g., such as in an arbitrary resolution change downsizing decoder. In such two-stage downscaling operations, part of the downscaling ratio is efficiently achieved in the DCT domain, while downscaling ratio operations are implemented in the spatial domain at a substantially reduced resolution.
- Fig. 3 shows exemplary non-integrated cascaded pixel-domain transcoding split-architecture 300 to convert MPEG-2 to WMV. This split- architecture is not integrated because separate modules respectively perform decoding and encoding operations.
- the split-architecture of Fig. 3 provides a conceptual basis for subsequent description of the integrated systems and methods for efficient digital video transcoding.
- TABLE 1 shows symbols and their respective meanings for discussion of Fig. 3.
- MC 1 VC1 (6, mv) Motion compensated prediction with reduced resolution reference B and motion vector mv, using transcoder 308 filtering, on 8x8 or smaller block basis;
- system 300 is described with respect to transcoding from MPEG-2 to WMV with bit rate reduction, spatial resolution reduction, and their combination.
- Many existing digital video contents are coded according to the MPEG-2 data format.
- WMV is widely accepted as a qualified codec in the streaming realm, being widely deployed throughout the Internet, adopted by the HD-DVD Consortium, and currently being considered as a SMPTE standard.
- MPEG-2 and WMV provide varying compression and visual quality capabilities.
- the compression techniques respectively used by MPEG-2 and WMV are very different.
- the motion vector (MV) precision and motion compensation (MC) filtering techniques are different.
- MPEG-2 motion precision is only up to half-pixel accuracy and the interpolation method is bilinear filtering.
- WMV motion precision can go up to quarter-pixel accuracy, and two interpolation methods namely bilinear filtering and bicubic filtering are supported.
- there is a rounding control parameter involved in the filtering process Use of WMV may result in up to a 50% reduction in video bit rate with negligible visual quality loss, as compared to an MPEG-2 bit rate.
- transforms used by MPEG-2 and WMV are different.
- MPEG-2 uses standard DCT/IDCT and the transform size is fixed to 8x8.
- WMV uses integer transforms (VCl-T) where the elements of transform kernel matrix are all small integers.
- transform size can be altered using WMV from blocks to blocks using either 8x8, 8x4, 4x8 and 4x4.
- MPEG-2 does not support frame level optimization.
- WMV supports various frame level syntaxes for performance optimization.
- WMV supports many other advanced coding features such as intensity compensation, range reduction, and dynamic resolution change, etc.
- the filtering process bridging the MPEG-2 decoder and the WMV encoder shown in Fig. 3 is an all-pass filter (i.e., not in effect). Therefore, the input to the encoder for frame (/+1) is expressed as:
- WMV coding efficiency of Fig. 3 gains result from finer motion precision.
- quarter-pixel motion precision is allowed beside the common half-pixel precision as in MPEG-2.
- WMV allows better but more complex interpolation known as bicubic interpolation for MC filtering.
- Bilinear interpolation is used for MPEG-2 in the MC module (MC mp2 ) for half-pixel MC.
- the bilinear interpolation method similar to that used in WMV with the exception that the MPEG-2 bilinear interpolation does not have rounding control.
- half-pixel motion accuracy can be implemented in the encoder portion.
- Equation 1 is simplified as follows:
- Fig. 4 shows an exemplary system 400 for efficient digital video transcoding.
- the operations of system 400 are described with respect to hybrid DCT and block-based motion compensation (MC) video coding schemes, upon which many video coding standards and proprietary formats are based.
- system 400 is described with architectures, components, and operations used to transcode MPEG-2 to WMV.
- the architectures, components, and operations described for scalable complexity and efficiency transcoding embodied by system 400 for transcoding MPEG-2 to WMV can also be applied to other bitstream data format conversions besides MPEG-2 and WMV.
- system 400 is utilized to transcode MPEG-2 bitstream to MPEG-4 bitstream and MPEG-4 bitstream data to WMV bitstream data, etc.
- the following described transcoding architectures of system 400 (including components and operations associated therewith), consider the type of bitstream data being decoded, encoded, and respective data formats.
- system 400 includes a general-purpose computing device 402.
- Computing device 402 represents any type of computing device such as a personal computer, a laptop, a server, handheld or mobile computing device, etc.
- Computing device 402 includes program modules 404 and program data 406 to transcode an encoded bitstream in a first data format (e.g. MPEG-2) to a bitstream encoded into a different data formats (e.g., WMV).
- Program modules 404 include, for example, efficient digital video transcoding module 408 ("transcoding module 408") and other program modules 410.
- Transcoding module 408 transcodes encoded media 412 (e.g., MPEG-2 media) into transcoded media 414 (e.g., WMV media).
- program modules 410 include, for example, an operating system and an application utilizing the video bitstream transcoding capabilities of transcoding module 408, etc.
- the application is part of the operating system.
- transcoding module 408 exposes its transcoding capabilities to the application via an Application Programming Interface (API) 416.
- API Application Programming Interface
- Fig. 5 shows an exemplary simplified integrated closed-loop cascaded pixel-domain transcoder without error propagation.
- the components of Fig. 5 are described in reference to the components of Fig. 4.
- the architecture of Fig. 5 is representative of one exemplary architecture implementation of transcoding module 408 of Fig. 4.
- the architecture 500 Fig. 5 as compared to the architecture in Fig. 3, please note that this is an integrated architecture without separate encoder and decoder components.
- the MV refining motion estimation module is removed from the MC in MPEG-2 decoder.
- MC in the WMV encoder is merged to a MC that operates on accumulated requantization errors.
- the transcoding architecture of Fig. 5 significantly reduces computation complexity for high-speed transcoding of progressive and interlaced video data formats.
- the WMV transform is different from the one used in MPEG-2.
- MPEG-2 standard floating point DCT/IDCT is used whereas the integer transform, whose energy packing property is akin to DCT, is adopted in WMV.
- the IDCT in the MPEG-2 decoder and the VCl-T in WMV encoder do not cancel out each other.
- the integer transform in WMV is different from the integer implementation of DCT/IDCT.
- the integer transform in WMV is carefully designed with all the transform coefficients to be small integers.
- Conventional transcoders are not integrated to transcode a bitstream encoded with respect to a first transform to a second transform that is not the same as the first transform.
- Equation 3 provides an exemplary transform matrix for 8x8 VCl-T.
- Equation 3 in combination with equations 4 and 5, which are described below, indicate how two different transforms are implemented into a scaling component of transcoding module 408 (Fig. 4).
- the accuracy of VCl-T is 16-bit accuracy, which is very suitable for MMX implementation.
- the codec complexity can be significantly reduced.
- Fig. 6 shows an exemplary simplified closed-loop DCT-domain transcoder.
- the architecture of Fig. 6 is representative of one exemplary architecture implementation of transcoding module 408 (Fig. 4).
- the architecture 600 of Fig. 6 is a simplified architecture as compared to the architecture 500 of Fig. 5.
- C 8 be the standard DCT transform matrix
- B the inverse quantized MPEG-2 DCT block
- b the IDCT of B
- the MPEG-2 IDCT is calculated as follows:
- b C s 'BC
- B the VCl-T of b
- B is calculated as:
- Equation 4 becomes an element-wise scaling of matrix B. That is,
- Equation 5 shows that the VCl-T in WMV encoder and the IDCT in MPEG-2 decoder can be merged. Consequently, the architecture in Fig. 5 can be further simplified to the one shown in Fig. 6. Detailed comparison reveals that the two DCT/IDCT modules are replaced by two VCl-T and inverse VCl-T modules. In one implementation, a simple scaling module is also added. Two switches are embedded along with and an activity mask in this architecture. These embedded components, as described below, are used for dynamic control of the complexity of transcoding coating operations of transcoder 408 (Fig. 4). At this point, these components are connected.
- Figs. 5 and 6 show exemplary respective closed-loop transcoding architectures, wherein a feedback loop is involved.
- the feedback loop which includes VC-I dequantization, VC-I inverse transform, residue error accumulation and MC on the accumulated error, compensates for the error caused by the VC-I requantization process.
- Requantization error is a main cause of the drifting error for bit-rate-reduction transcoders, such as that shown in Fig. 1.
- the transcoding architectures of Figs. 5 and 6 are not completely drift-free, even with error compensation, the drifting error is very small. This is because the remaining cause of drift error is the rounding error during motion compensation filtering.
- One merit of residue error compensation is that the architectures of Figs. 5 and 6 provide for dynamically turning on or off the compensation process, as described below with respect to TABLE 2.
- the transcoding architecture of Fig. 6 performs pure bit rate reduction transcoding from MPEG-2 to WMV such as SD to SD or HD to HD conversion in a substantially optimal manner.
- transcoding module 408 of Fig. 4 has implemented drift-free simplification, an application can dynamically trade-off between the complexity and the quality to accelerate transcoding speed.
- quality can be traded for speed, and vice versa.
- some drifting error may be allowed in the further simplified transcoder.
- the drifting error introduced in the faster method is limited and fully controllable.
- three switches So S 1 , and S 2 ) are provided in the architectures of Figs. 6, 8, and 10.
- the switches are used only to the residue-error compensation based architectures.
- the switches selectively skip some time-consuming operations to reduce complexity substantially, while introducing only a small amount of error.
- the meanings of various switches are summarized in TABLE 2. Computational decisions associated with these switches are efficiently obtained according to criteria described below with respect to each switch.
- Switch S 0 controls when requantization error of a block should be accumulated into the residue-error buffer.
- the role of switch S 0 is improved by adopting a fast lookup table based requantization process and by providing a finer drifting control mechanism via a triple-threshold algorithm.
- all observations made with respect to switch S 0 are considered.
- the DCT domain energy difference may be utilized as the indicator.
- Switch S 1 controls when the most time-consuming module, MC of the accumulated residue error.
- switch S 1 is on.
- a binary activity mask is created for the reference frame. Each element of the activity mask corresponds to the activeness of an 8x8 block, as determined by
- Energy(block ⁇ ) is the energy of the block in the accumulated residue-error buffer.
- Energy(block ⁇ ) is calculated spatial domain or DCT domain. Energy(block ⁇ ) can be approximated by the sum of absolute values. If the MV points to blocks belonging to the area of low activity, then MC of the accumulated residue error for that specific block is skipped.
- Switch S 2 performs early detection to determine whether block error should be encoded. This is especially useful in transrating applications where the encoder applies a coarser quantization step size. In this implementation, if the input signal (the sum of the MC of accumulated residue error and the reconstructed residue from MPEG-2 decoder) is weaker than a threshold, then switch S 2 is turned off so that no error will be encoded. [0047] In one implementation, thresholds for the switches S 0 , S 1 , and S 2 are adjusted such that earlier reference frames are processed with higher quality and at slower speed. This is because the purpose of the switches is to achieve a better trade-off between quality and speed, and because of the predictive coding nature.
- bit rate change is not significant or the input source quality is not very high
- the architecture of Fig. 6 substantially optimizes bit rate reduction when converting MPEG-2 bitstreams to WMV bitstreams.
- input source may be of high quality and high quality output may be desired, also speed of transcoding may be a moderate requirement (e.g., real-time).
- a high-quality profile transcoder such as the cascaded pixel-domain transcoder (CDPT) of Fig. 3 with MV refinement, meets these criteria.
- CDPT cascaded pixel-domain transcoder
- Downscaling errors generated when obtaining a downscaled video. It is typically a hardwired choice when designing operations of the downscaling filter to make a trade-off between visual quality and complexity, especially when downscaling in the spatial domain.
- transcoding module 408 (Fig. 4) address the last two sources of errors, as now described.
- D the down-sampling filtering.
- e M D(P 1+1 ) + D(MC mp2 ( B , , MV mp2 ) ) - MC wi ( b l , mv vcl ) (6)
- Equation 6 is simplified to the following:
- D( r M ) D( r ⁇ + ⁇ ) + MC' mp2 ( S 1 - b, , mv mp2 ) (8)
- D( r M ) refers to the downscaling process of the decoded MPEG-2 residue signal. This first term can be determined using spatial domain low-pass filtering and decimation. However, use of DCT- domain downscaling to obtain this term results in a reduction of complexity and better PSNR and visual quality. DCT-domain downscaling results are substantially better than results obtained through spatial domain bi-linear filtering or spatial domain 7-tap filtering with coefficients (-1, 0, 9, 16, 9, 0, -l)/32.
- DCT-domain downscaling retains only the top-left 4x4 low- frequency DCT coefficients. That is, applying a standard 4x4 IDCT on the DCT coefficients retained will result in a spatially 2:1 downscaled image (i.e., transcoded media 414 of Fig. 4).
- Equation 8 MC' mp2 ( S 1 - b, , «v mp2 ), implies requantization error compensation on a downscaled resolution.
- the MC in MPEG-2 decoder and the MC in WMV encoder are merged to a single MC process that operates on accumulated requantization errors at the reduced resolution.
- Fig. 7 shows an exemplary merge operation of four (4) 4x4 DCT blocks into one 8 x 8 DCT block.
- DCT-domain ' downscaling four 8x8 DCT (blocks, B ⁇ through .B 4 in an MPEG-2 macroblock (MB) at the original resolution) are mapped to the four 4x4 sub-blocks of an 8x8 block of the new MB at the reduced resolution and still in DCT domain (e.g., please see Fig. 7).
- WMV for P-frames and B-frames, the 4x4-transform type is allowed. As a result, nothing needs to be done further except the abovementioned scaling.
- transcoding module 408 converts the four 4x4 low-frequency DCT sub-blocks into an 8x8 DCT block: B . In one implementation, this is accomplished by inverse transforming the four 4x4 DCT sub-blocks back into the pixel domain, and then applying a fresh 8x8 VCl-T. In one implementation, and to reduce computation complexity, this is achieved in the DCT domain.
- B 1 , B 2 , B 3 , and B 4 represent the four 4x4 low- frequency sub-blocks of B ⁇ , 5 2 , B 3 , and B ⁇ , respectively;
- C 4 be the 4x4 standard IDCT transform matrix;
- T 8 be the integer WMV transform matrix;
- T & [T L , T R ] where T L and T R are 8x4 matrices.
- B is directly calculated from B 1 , B 2 , B 3 , and B 4 using the following equation:
- both C and D of the above equation are pre-computed.
- the final results are normalized with N 88 .
- Fig. 8 shows an exemplary architecture 800 for a simplified DCT- domain numeral 2:1 resolution downscaling transcoder.
- transcoding module 408 of Fig. 4 implements the exemplary architecture 800.
- the switches in this architecture have the same functionality as those in Fig. 6, as described above in reference to TABLE 2.
- the first two modules MPEG-2 VLD and inverse quantization
- transcoding module 408 retrieves only the top-left 4x4 portion out of the 8x8 block.
- the transcoders of Figs. 6 and 8 do not include a mixed block-processing module. This is because WMV supports Intra coding mode for 8x8 blocks in an Inter coded macroblock. In other words, an Intra MB at the original resolution is mapped into an Intra 8x8 block of an Inter MB at the reduced resolution. In view of this, the MB mode mapping rule becomes very simple, as shown immediately below:
- Simplified DCT-domain 2:1 resolution downscaling transcoding architecture 800 is substantially drifting-free for P-frames. This is a result of the four-MV coding mode.
- the only cause of drifting error, as compared with a CPDT architecture with downscaling filtering, is the rounding of MVs from quarter resolution to half resolution (which ensures mv mp2 mv vcl ) and the non- commutative property of MC and downscaling. Any such remaining errors are negligible due to the low-pass downscaling filtering (e.g., achieved in the DCT domain or in the pixel domain).
- Fig. 9 shows an exemplary merge operation of four 4x4 DCT blocks into one 8 x 8 DCT block for interlace media for 2:1 spatial resolution downscaling transcoding operations, according to one embodiment.
- 2:1 downscaling changes resolution of an original frame by two in both horizontal and vertical directions.
- this interlace process is implemented by transcoding module 408 of Fig. 4. More particularly, for interlace coded content, the top-left 8x4 sub-block in every MB is reconstructed by shortcut MPEG-2 decoder, both fields are smoothed by low pass filter in vertical direction, then one field is dropped before the WMV encoding process.
- WMV supports four MV coding mode, it is typically only intended for coding P-frames.
- system 400 implements the architecture of Fig. 6 when there are no B-frames in the input MPEG-2 stream or the B-frames are to be discarded during the transcoder towards a lower temporal resolution.
- transcoding module 408 composes a new motion vector from the four MVs associated with the MBs at the original resolution.
- Each of the previously mentioned MV composition methods is compatible.
- transcoding module 408 implements median filtering. As described, incorrect MV will lead to wrong motion compensated prediction.
- Equation 9 is simplified to
- MC' vcl ( ⁇ , , wv vcl ) Z)( T ⁇ +1 ) + [MC' mp2 ( 6, , wv mp2 ) -MC' vol ( 6 ; , mv vcl )] + MC vC1 (OVo, , mv vcl ) (12)
- Equation 12 The two terms in the square brackets in Equation 12 compensate for the motion errors caused by inconsistent MVs (i.e., mv mp2 is different from wv vcl ) or caused by different MC filtering methods between MPEG-2 and WMV.
- the corresponding modules for this purpose are highlighted and grouped into a light- yellow block in Fig. 10.
- Fig. 10 shows an exemplary simplified 2:1 downscaling transcoder architecture with full drift compensation, according to one embodiment.
- transcoding module 408 of Fig. 4 implements the exemplary architecture of Fig. 10.
- Equation 12 compensates for the requantization error of reference frames. Since B-frames are not reference for other frames, they are more error tolerant. As a result, an application can safely turn off the error compensation to achieve higher speed. Again, such approximation is intended for B-frames only.
- MC for motion error compensation operates on reconstructed pixel buffers while the MC for requantization error compensation operates on accumulated residue error buffer.
- Intra-to-Inter or Inter-to-Intra conversion can be applied. This is because the MPEG-2 decoder reconstructed the B-frame and the reference frames. In this implementation, this conversion is done in the mixed block-processing module in Fig. 10. Two mode composition methods are possible. And one implementation, the dominant mode is selected as the composed mode. For example, if the modes of the four MBs at the original resolution are two bidirectional prediction mode, one backward prediction mode and one forward prediction mode, then bi-directional prediction mode is selected as the mode for the MB at the reduced resolution. In another implementation, the mode that will lead to the largest error is selected. In view of this example, suppose using the backward mode will cause largest error. In this scenario, the backward mode is chosen such that the error can be compensated. Results show that the latter technique offers slightly better quality as compared to the former mode selection technique.
- FIG. 10 An exemplary architecture according to Equation 12 is shown in Fig. 10. There are four frame-level switches specifically for this architecture, as shown in TABLE 3. TABLE 3 Exemplary Frame-Level Switches
- the four frame-level switches ensure different coding paths for different frame types. Specifically, the architecture does not perform: residue- error accumulation for B-frames (S IP ), does not perform MV error compensation for I- and P-frames (S B ), and does not reconstruct reference frames if there is no B- frames to be generated (S IP/B ). Please note the frame-level switch S B can be turned into block-level switch since the MV error needs to be compensated only when the corresponding four original MVs are significantly inconsistent.
- switch S IP is closed only for I-frames or P-frames
- Switch Sp is closed only for P-frames
- switch S B is closed only for B-frames.
- the resulting architecture is not as complex as the reference cascaded pixel- domain transcoder of Fig. 3.
- One reason for this is that the explicit pixel-domain downscaling process is avoided. Instead, pixel-domain downscaling is implicitly achieved in the DCT domain by simply discarding the high DCT coefficients.
- This architecture has excellent complexity scalability achieved by utilizing various switches, as described above with respect to TABLE 2.
- the architecture of Fig. 10 can be configured into an open-loop one by turn off all the switches.
- This open-loop architecture can be further optimized by merging the dequantization process of MPEG-2 and the requantization process of WMV.
- the inverse zig-zag scan module (inside VLD) of MPEG-2 can also be combined with the one in WMV encoder.
- the MV and the coding mode of chrominance components are derived from those of luminance component (Y). If all the four MBs at the original resolution that correspond to the MB at the reduced resolution have consistent coding mode (i.e., all Inter-coded or all Intra-coded), there is no problem. However, if it is not case, problems result due to different derivation rules of MPEG-2 and WMV.
- the UV blocks are Inter coded when the MB is coded with Inter mode.
- WMV the UV blocks are Inter coded only when the MB is coded with Inter mode and there are less than three Intra-coded 8x8 Y blocks. This issue exists for both P-frames and B-frames. Transcoding module 408 of Fig. 4 addresses these problems as follows:
- Inter-to-Intra conversion When the Inter-coded MB has three Intra-coded 8x8 Y blocks (it is impossible for an Inter-coded MB to have all four 8x8 Y blocks Intra coded), the UV blocks are Intra coded. In this case, one MB at the original resolution is Inter-coded along with corresponding UV blocks. These UV blocks will be converted from Inter mode to Intra mode. Since the Human Visual System (HVS) is less sensitive to the chrominance signals, transcoding module 408 utilizes a spatial concealment technique to convert the 8x8 UV blocks from Inter to Intra mode. In one implementation, the DC distance is utilized as an indicator to determine the concealment direction. Concealment is achieved via a simple copy or any other interpolation method.
- HVS Human Visual System
- transcoding module 408 inter-codes the UV blocks.
- These UV blocks are converted from Intra mode to Inter mode.
- transcoding module 408 utilizes a temporal concealment technique called the zero-out method to handle these blocks, and thereby, avoid the decoding loop.
- transcoding module 408 uses reconstruction based compensation for the chrominance component (i.e., always applying the light-yellow module for the chrominance component).
- Fig. 11 shows an exemplary virtual buffer verifier buffer (VBV) model for a decoder.
- VBV virtual buffer verifier buffer
- a decoder based on the VBV model of Fig. 11 will typically verify an existing MPEG-2 bitstream.
- the efficient digital video transcoding architecture of this specification makes the coded frame size proportional to the input frame size for all the frames.
- QP linear quantization step
- Typical resolutions of HD format are 1920x1080i and 1280x720 ⁇ while those for SD are 720x480i, 720x480p for NTSC.
- the horizontal and vertical downscaling ratios from 1920x108Oi to 720x480i are 8/3 and 9/4, respectively.
- the final downscaling ratio is chosen to be 8/3 and the resulting picture size is 720x404.
- the downscaling ratio is chosen to be 16/9 and the resulting picture size is 720x404.
- Black banners are inserted to make a full 720x480 picture by the decoder/player (instead of being padded into the bitstream).
- a substantially optimal downscaling methodology for a downscaling ratio m/n would be to first up sample the signal by n-fold (i.e., insert n-1 zeros between every original samples), apply a low-pass filter (e.g., a sine function with many taps), and then decimate the resulting signal by m-fold.
- a low-pass filter e.g., a sine function with many taps
- any spectrum aliasing introduced by the down-scaling would be maximally suppressed.
- this process would also be very computationally expensive, and difficult to implement with in real-time because the input signal is high definition.
- a novel two-stage downscaling strategy is implemented.
- Fig. 12 shows a transcoder with arbitrarily spatial resolution downscaling, according to one embodiment.
- transcoding module 408 of Fig. 4 implements architecture of Fig. 12.
- the arbitrary downscaling transcoder is a non-integrated transcoder, such as in Fig. 12.
- the following arbitrary downscaling transcoding operations which are described below with respect to Fig. 12, are implemented in an integrated transcoder such as that shown in Figs. 5, 6, 8, and/or 10.
- system 1200 implements two-stage downscaling operations to achieve any arbitrary downscaling target.
- Results of the first stage downscaling are embedded into the decoding loop. This reduces the complexity of the decoding operations.
- downscaling operations are first implemented to downscale by 2/1.
- the results of this first stage downscaling are input into the decoding loop, wherein second stage downscaling is performed in the spatial domain.
- second stage downscaling operations downscale by 4/3 to achieve an 8/3 downscale ratio.
- a downscale ratio of 16/9 is achieved by system 1200 by applying 4/3 downscaling twice (in two stages).
- This two-stage downscaling methodology utilizes the previously discussed DCT-domain downscaling strategy, and then fully embeds the first stage downscaling results into the decoding loop. Since resolution is significantly reduced after the first stage downscaling, we can continue to apply the optimal downscaling method on the pixel-domain.
- Fig. 13 illustrates a procedure 1300 for efficient digital video transcoding, according to one embodiment.
- transcoding module 408 of Fig. 4 implements the operations of procedure 1300.
- the procedure receives an encoded bitstream (e.g., encoded media 412 of Fig. 4).
- the procedure partially decodes the encoded bitstream according to a first set of compression techniques associated with a first media data format (e.g., MPEG-2, MPEG-4, etc.).
- the partial decoding operations generate an intermediate data stream.
- the integrated transcoder does not perform full decoding.
- the procedure downscales data associated with the encoded bitstream in a first stage of downscaling.
- the first stage of downscaling is implemented in the DCT domain of a decoding loop.
- the procedure further downscales in the spatial domain the data that was downscaled in the DCT domain (see block 1306).
- the data decoded according to the first set of compression techniques is encoded with a second set of compression techniques.
- procedure 1300 is implemented within a non-integrated transcoding architecture, such as that shown and described with respect to Figs. 12 and 14.
- the second set of compression techniques is the same as the first set of compression techniques.
- procedure 1300 is implemented within an integrated transcoding architecture, such as that shown and described with respect to Figs. 5-11, and 14.
- the second set of compression techniques is not the same as the first set of compression techniques.
- the first set of compression techniques is associated with MPEG-2
- the second set of compression techniques is associated with WMV.
- Fig. 14 illustrates an example of a suitable computing environment in which efficient digital video transcoding may be fully or partially implemented.
- Exemplary computing environment 1400 is only one example of a suitable computing environment for the exemplary system 400 of Fig. 4, and is not intended to suggest any limitation as to the scope of use or functionality of systems and methods the described herein. Neither should computing environment 1400 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in computing environment 1400.
- the methods and systems described herein are operational with numerous other general purpose or special purpose computing system, environments or configurations.
- Examples of well-known computing systems, environments, and/or configurations that may be suitable for use include, but are not limited to personal computers, server computers, multiprocessor systems, microprocessor-based systems, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and so on.
- Compact or subset versions of the framework may also be implemented in clients of limited resources, such as handheld computers, or other computing devices.
- the invention is practiced in a networked computing environment where tasks are performed by remote processing devices that are linked through a communications network.
- an exemplary system providing efficient digital video transcoding architecture includes a general-purpose computing device in the form of a computer 1410 implementing, for example, initiator operations associated with computing device 102 of Fig. 1.
- Components of computer 1410 may include, but are not limited to, processing unit(s) 1418, a system memory 1430, and a system bus 1421 that couples various system components including the system memory to the processing unit 1418.
- the system bus 1421 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- such architectures may include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.
- ISA Industry Standard Architecture
- MCA Micro Channel Architecture
- EISA Enhanced ISA
- VESA Video Electronics Standards Association
- PCI Peripheral Component Interconnect
- a computer 1410 typically includes a variety of computer-readable media.
- Computer-readable media can be any available media that can be accessed by computer 1410, including both volatile and nonvolatile media, removable and non-removable media.
- Computer-readable media may comprise computer storage media and communication media.
- Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 1410.
- Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, and includes any information delivery media.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media includes wired media such as a wired network or a direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer-readable media.
- System memory 1430 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 1431 and random access memory (RAM) 1432.
- ROM read only memory
- RAM random access memory
- BIOS basic input/output system
- RAM 1432 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 1418.
- Fig. 14 illustrates operating system 1434, application programs 1435, other program modules 1436, and program data 1437.
- the computer 1410 may also include other removable/nonremovable, volatile/nonvolatile computer storage media.
- Figure 14 illustrates a hard disk drive 1441 that reads from or writes to nonremovable, nonvolatile magnetic media, a magnetic disk drive 1451 that reads from or writes to a removable, nonvolatile magnetic disk 1452, and an optical disk drive 1455 that reads from or writes to a removable, nonvolatile optical disk 1456 such as a CD ROM or other optical media.
- removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like.
- the hard disk drive 1441 is typically connected to the system bus 1421 through a non-removable memory interface such as interface 1440, and magnetic disk drive 1451 and optical disk drive 1455 are typically connected to the system bus 1421 by a removable memory interface, such as interface 1450.
- the drives and their associated computer storage media discussed above and illustrated in Figure 14, provide storage of computer-readable instructions, data structures, program modules and other data for the computer 1410.
- hard disk drive 1441 is illustrated as storing operating system 1444, application programs 1445, other program modules 1446, and program data 1447. Note that these components can either be the same as or different from operating system 1434, application programs 1435, other program modules 1436, and program data 1437.
- Operating system 1444, application programs 1445, other program modules 1446, and program data 1447 are given different numbers here to illustrate that they are at least different copies.
- a user may enter commands and information into the computer 1410 through input devices such as a keyboard 1462 and pointing device 1461, commonly referred to as a mouse, trackball or touch pad.
- Other input devices may include a microphone, joystick, graphics pen and pad, satellite dish, scanner, etc.
- a user input interface 1460 that is coupled to the system bus 1421, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB).
- a monitor 1491 or other type of user interface device is also connected to the system bus 1421 via an interface, for example, such as a video interface 1490.
- the computer 1410 operates in a networked environment using logical connections to one or more remote computers, such as a remote computer 1480.
- remote computer 1480 represents computing device 106 of a responder, as shown in Fig. 1.
- the remote computer 1480 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and as a function of its particular implementation, may include many or all of the elements described above relative to the computer 1410, although only a memory storage device 1481 has been illustrated in Figure 14.
- the logical connections depicted in Figure 14 include a local area network (LAN) 1481 and a wide area network (WAN) 1473, but may also include other networks.
- LAN local area network
- WAN wide area network
- Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
- the computer 1410 When used in a LAN networking environment, the computer 1410 is connected to the LAN 1471 through a network interface or adapter 1470. When used in a WAN networking environment, the computer 1410 typically includes a modem 1472 or other means for establishing communications over the WAN 1473, such as the Internet.
- the modem 1472 which may be internal or external, may be connected to the system bus 1421 via the user input interface 1460, or other appropriate mechanism.
- program modules depicted relative to the computer 1410, or portions thereof may be stored in the remote memory storage device.
- Figure 14 illustrates remote application programs 1485 as residing on memory device 1481.
- the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
- the described fast and high quality transcoding systems and' methodologies including transcoding, arbitrary sized downscaling, and rate reduction are used for MPEG-2 to MPEG-4 transcoding and MPEG-4 to WMV transcoding.
- the simplified closed-loop DCT- domain transcoder in Fig. 6 can be used to transcode MPEG-4 to WMV.
- MPEG-2 ISO-13818 Part.2
- MPEG-2 only utilizes half pixel element (pel) MV precison and bilinear interpolation in MC; there is such a same mode (half pel bilinear) in WMV.
- MPEG-4 supports both half pel and quarter pel MV precision, as well as interpolation for quarter pel positions (different from that in WMV).
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002621428A CA2621428A1 (en) | 2005-09-14 | 2006-09-13 | Arbitrary resolution change downsizing decoder |
EP06814692A EP1915869A1 (en) | 2005-09-14 | 2006-09-13 | Arbitrary resolution change downsizing decoder |
JP2008531339A JP2009508452A (en) | 2005-09-14 | 2006-09-13 | Arbitrary resolution change size reduction decoder |
BRPI0616034-4A BRPI0616034A2 (en) | 2005-09-14 | 2006-09-13 | Arbitrary Resolution Change Subsampling Decoder |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/226,043 | 2005-09-14 | ||
US11/226,043 US20070058713A1 (en) | 2005-09-14 | 2005-09-14 | Arbitrary resolution change downsizing decoder |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2007033346A1 true WO2007033346A1 (en) | 2007-03-22 |
Family
ID=37855066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2006/035939 WO2007033346A1 (en) | 2005-09-14 | 2006-09-13 | Arbitrary resolution change downsizing decoder |
Country Status (8)
Country | Link |
---|---|
US (1) | US20070058713A1 (en) |
EP (1) | EP1915869A1 (en) |
JP (1) | JP2009508452A (en) |
KR (1) | KR20080055826A (en) |
CN (1) | CN101263717A (en) |
BR (1) | BRPI0616034A2 (en) |
CA (1) | CA2621428A1 (en) |
WO (1) | WO2007033346A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012508485A (en) * | 2008-11-04 | 2012-04-05 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | Software video transcoder with GPU acceleration |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BRPI0810584A2 (en) * | 2007-04-25 | 2014-10-29 | Thomson Licensing | INTERVIEW PREDICTION |
JP5347862B2 (en) * | 2008-09-29 | 2013-11-20 | ソニー株式会社 | Coefficient learning apparatus and method, image processing apparatus and method, program, and recording medium |
US8514942B2 (en) * | 2008-12-31 | 2013-08-20 | Entropic Communications, Inc. | Low-resolution video coding content extraction |
CN102308580B (en) * | 2009-02-05 | 2016-05-04 | 汤姆森特许公司 | For the method and apparatus of adaptive model Video coding and decoding |
US9774875B2 (en) * | 2009-03-10 | 2017-09-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Lossless and near-lossless image compression |
US8687685B2 (en) | 2009-04-14 | 2014-04-01 | Qualcomm Incorporated | Efficient transcoding of B-frames to P-frames |
US8340188B2 (en) * | 2010-01-08 | 2012-12-25 | Research In Motion Limited | Method and device for motion vector estimation in video transcoding using union of search areas |
US8559519B2 (en) * | 2010-01-08 | 2013-10-15 | Blackberry Limited | Method and device for video encoding using predicted residuals |
US8315310B2 (en) * | 2010-01-08 | 2012-11-20 | Research In Motion Limited | Method and device for motion vector prediction in video transcoding using full resolution residuals |
US20110170608A1 (en) * | 2010-01-08 | 2011-07-14 | Xun Shi | Method and device for video transcoding using quad-tree based mode selection |
US8358698B2 (en) * | 2010-01-08 | 2013-01-22 | Research In Motion Limited | Method and device for motion vector estimation in video transcoding using full-resolution residuals |
US8553763B2 (en) | 2010-06-10 | 2013-10-08 | Sony Corporation | Iterative computation of adaptive interpolation filter |
WO2012016354A1 (en) * | 2010-08-04 | 2012-02-09 | Nxp B.V. | Video player |
CN103098464A (en) * | 2010-08-04 | 2013-05-08 | Nxp股份有限公司 | Video decoder with down-sampler in the frequency domain |
JP5709492B2 (en) * | 2010-12-01 | 2015-04-30 | 三菱電機株式会社 | Image coding method conversion apparatus and image coding method conversion program |
US8914534B2 (en) | 2011-01-05 | 2014-12-16 | Sonic Ip, Inc. | Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol |
CN102118616A (en) * | 2011-02-24 | 2011-07-06 | 深圳市同洲电子股份有限公司 | Picture decoding method and picture decoder |
US20120307889A1 (en) * | 2011-06-01 | 2012-12-06 | Sharp Laboratories Of America, Inc. | Video decoder with dynamic range adjustments |
US8571099B2 (en) * | 2011-06-01 | 2013-10-29 | Sharp Laboratories Of America, Inc. | Decoder with dynamic range compensation |
US9467708B2 (en) * | 2011-08-30 | 2016-10-11 | Sonic Ip, Inc. | Selection of resolutions for seamless resolution switching of multimedia content |
US8818171B2 (en) | 2011-08-30 | 2014-08-26 | Kourosh Soroushian | Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates |
US9955195B2 (en) | 2011-08-30 | 2018-04-24 | Divx, Llc | Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels |
KR20140016760A (en) * | 2012-07-31 | 2014-02-10 | 삼성전자주식회사 | Image processing apparatus and image processing method thereof |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
US9432614B2 (en) | 2013-03-13 | 2016-08-30 | Qualcomm Incorporated | Integrated downscale in video core |
KR102085270B1 (en) * | 2013-08-12 | 2020-03-05 | 삼성전자 주식회사 | Method for selecting resolution with minimum distortion value and devices performing the method |
US9819395B2 (en) | 2014-05-05 | 2017-11-14 | Nxp B.V. | Apparatus and method for wireless body communication |
US10015604B2 (en) | 2014-05-05 | 2018-07-03 | Nxp B.V. | Electromagnetic induction field communication |
US9819075B2 (en) | 2014-05-05 | 2017-11-14 | Nxp B.V. | Body communication antenna |
US9812788B2 (en) | 2014-11-24 | 2017-11-07 | Nxp B.V. | Electromagnetic field induction for inter-body and transverse body communication |
US10014578B2 (en) | 2014-05-05 | 2018-07-03 | Nxp B.V. | Body antenna system |
US10009069B2 (en) | 2014-05-05 | 2018-06-26 | Nxp B.V. | Wireless power delivery and data link |
US9819097B2 (en) | 2015-08-26 | 2017-11-14 | Nxp B.V. | Antenna system |
US10320086B2 (en) | 2016-05-04 | 2019-06-11 | Nxp B.V. | Near-field electromagnetic induction (NFEMI) antenna |
US10148989B2 (en) | 2016-06-15 | 2018-12-04 | Divx, Llc | Systems and methods for encoding video content |
US10390015B2 (en) * | 2016-08-26 | 2019-08-20 | Qualcomm Incorporated | Unification of parameters derivation procedures for local illumination compensation and cross-component linear model prediction |
CN110620635A (en) * | 2018-06-20 | 2019-12-27 | 深圳市华星光电技术有限公司 | Decoding method, apparatus and readable storage medium |
CN113519164A (en) | 2019-03-02 | 2021-10-19 | 北京字节跳动网络技术有限公司 | Limitation of the segmentation structure |
EP3928524A4 (en) | 2019-04-15 | 2022-06-22 | Beijing Bytedance Network Technology Co., Ltd. | Temporal prediction of parameters in non-linear adaptive loop filter |
WO2020211810A1 (en) | 2019-04-16 | 2020-10-22 | Beijing Bytedance Network Technology Co., Ltd. | On adaptive loop filtering for video coding |
WO2020216177A1 (en) | 2019-04-20 | 2020-10-29 | Beijing Bytedance Network Technology Co., Ltd. | Signaling of chroma and luma syntax elements in video coding |
CN113785574B (en) | 2019-05-30 | 2022-10-11 | 北京字节跳动网络技术有限公司 | Adaptive loop filtering of chrominance components |
WO2021052495A1 (en) | 2019-09-20 | 2021-03-25 | Beijing Bytedance Network Technology Co., Ltd. | Adaptive resolution change and scalable coding for screen contents |
US11765366B2 (en) | 2020-05-07 | 2023-09-19 | Blackmagic Design Pty Ltd | Method for processing transform coefficients |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020126752A1 (en) * | 2001-01-05 | 2002-09-12 | Lg Electronics Inc. | Video transcoding apparatus |
US6452973B1 (en) * | 1998-11-25 | 2002-09-17 | Electronics And Telecommunications Research Institute | System and method for converting H.261 compressed moving picture data to MPEG-1 compressed moving picture data on compression domain |
US6647061B1 (en) * | 2000-06-09 | 2003-11-11 | General Instrument Corporation | Video size conversion and transcoding from MPEG-2 to MPEG-4 |
WO2004093461A1 (en) * | 2003-04-17 | 2004-10-28 | Koninklijke Philips Electronics N.V. | Video transcoding |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE9703849L (en) * | 1997-03-14 | 1998-09-15 | Ericsson Telefon Ab L M | Scaling down images |
JPH11275592A (en) * | 1998-01-22 | 1999-10-08 | Victor Co Of Japan Ltd | Moving image code stream converter and its method |
JP3821415B2 (en) * | 1998-09-30 | 2006-09-13 | 日本ビクター株式会社 | Moving picture format conversion apparatus and method |
US6618442B1 (en) * | 1998-12-29 | 2003-09-09 | Intel Corporation | Method and apparatus for transcoding digital video signals |
KR20020001760A (en) * | 2000-01-12 | 2002-01-09 | 요트.게.아. 롤페즈 | Image data compression |
GB2369952B (en) * | 2001-03-10 | 2002-12-04 | Ericsson Telefon Ab L M | Transcoding of video signals |
US6671322B2 (en) * | 2001-05-11 | 2003-12-30 | Mitsubishi Electric Research Laboratories, Inc. | Video transcoder with spatial resolution reduction |
US20030043908A1 (en) * | 2001-09-05 | 2003-03-06 | Gao Cheng Wei | Bandwidth scalable video transcoder |
US20050132264A1 (en) * | 2003-12-15 | 2005-06-16 | Joshi Ajit P. | System and method for intelligent transcoding |
TWI230547B (en) * | 2004-02-04 | 2005-04-01 | Ind Tech Res Inst | Low-complexity spatial downscaling video transcoder and method thereof |
US20050175099A1 (en) * | 2004-02-06 | 2005-08-11 | Nokia Corporation | Transcoder and associated system, method and computer program product for low-complexity reduced resolution transcoding |
US20060140274A1 (en) * | 2004-12-29 | 2006-06-29 | Mediatek Incorporation | Transcoder and method used therein |
-
2005
- 2005-09-14 US US11/226,043 patent/US20070058713A1/en not_active Abandoned
-
2006
- 2006-09-13 EP EP06814692A patent/EP1915869A1/en not_active Withdrawn
- 2006-09-13 CN CNA2006800335386A patent/CN101263717A/en active Pending
- 2006-09-13 CA CA002621428A patent/CA2621428A1/en not_active Abandoned
- 2006-09-13 KR KR1020087006146A patent/KR20080055826A/en not_active Application Discontinuation
- 2006-09-13 BR BRPI0616034-4A patent/BRPI0616034A2/en not_active Application Discontinuation
- 2006-09-13 WO PCT/US2006/035939 patent/WO2007033346A1/en active Application Filing
- 2006-09-13 JP JP2008531339A patent/JP2009508452A/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6452973B1 (en) * | 1998-11-25 | 2002-09-17 | Electronics And Telecommunications Research Institute | System and method for converting H.261 compressed moving picture data to MPEG-1 compressed moving picture data on compression domain |
US6647061B1 (en) * | 2000-06-09 | 2003-11-11 | General Instrument Corporation | Video size conversion and transcoding from MPEG-2 to MPEG-4 |
US20020126752A1 (en) * | 2001-01-05 | 2002-09-12 | Lg Electronics Inc. | Video transcoding apparatus |
WO2004093461A1 (en) * | 2003-04-17 | 2004-10-28 | Koninklijke Philips Electronics N.V. | Video transcoding |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012508485A (en) * | 2008-11-04 | 2012-04-05 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | Software video transcoder with GPU acceleration |
Also Published As
Publication number | Publication date |
---|---|
CN101263717A (en) | 2008-09-10 |
JP2009508452A (en) | 2009-02-26 |
BRPI0616034A2 (en) | 2011-06-07 |
CA2621428A1 (en) | 2007-03-22 |
KR20080055826A (en) | 2008-06-19 |
US20070058713A1 (en) | 2007-03-15 |
EP1915869A1 (en) | 2008-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1925163B1 (en) | Efficient integrated digital video transcoding | |
WO2007033346A1 (en) | Arbitrary resolution change downsizing decoder | |
JP5378791B2 (en) | Method and apparatus for video encoding and decoding using adaptive interpolation | |
US7379496B2 (en) | Multi-resolution video coding and decoding | |
KR101065227B1 (en) | Video coding with adaptive filtering for motion compensated prediction | |
JP4425563B2 (en) | Parameterization for fading compensation | |
US20060120450A1 (en) | Method and apparatus for multi-layered video encoding and decoding | |
US20070071096A1 (en) | Transcoder and transcoding method operating in a transform domain for video coding schemes possessing different transform kernels | |
TW201008291A (en) | Video encoding by filter selection | |
JP2005507589A (en) | Spatial expandable compression | |
JP2005507589A5 (en) | ||
JP2006518568A (en) | Video encoding | |
JP2004520771A (en) | Video transcoder with drift correction | |
JP4382284B2 (en) | Subband encoding / decoding | |
JP4209134B2 (en) | Method and apparatus for upsampling a compressed bitstream | |
JP4762486B2 (en) | Multi-resolution video encoding and decoding | |
Segall et al. | Super-resolution from compressed video | |
De Cock et al. | Efficient spatial resolution reduction transcoding for H. 264/AVC | |
Shen et al. | MPEG-2 to WMV transcoder with adaptive error compensation and dynamic switches | |
Chander et al. | Fast and high quality temporal transcoding architecture in the DCT domain for adaptive video content delivery | |
Shen et al. | Complexity Scalable 2: 1 Resolution Downscaling MPEG-2 to WMV Transcoder with Adaptive Error Compensation | |
Qian et al. | Transform domain transcoding from MPEG-2 to H. 264 with interpolation error drift compensation | |
Young | Software CODEC algorithms for desktop videoconferencing | |
JP2003219430A (en) | Method and closed-loop transcoder for reduced spatial resolution transcoding of compressed bitstream of sequence of frames of video signal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200680033538.6 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
ENP | Entry into the national phase |
Ref document number: 2621428 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2006814692 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020087006146 Country of ref document: KR |
|
ENP | Entry into the national phase |
Ref document number: 2008531339 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: PI0616034 Country of ref document: BR Kind code of ref document: A2 Effective date: 20080314 |