US20110002386A1 - Video encoder and method for performing intra-prediction and video data compression - Google Patents
Video encoder and method for performing intra-prediction and video data compression Download PDFInfo
- Publication number
- US20110002386A1 US20110002386A1 US12/623,635 US62363509A US2011002386A1 US 20110002386 A1 US20110002386 A1 US 20110002386A1 US 62363509 A US62363509 A US 62363509A US 2011002386 A1 US2011002386 A1 US 2011002386A1
- Authority
- US
- United States
- Prior art keywords
- prediction
- intra
- block
- target
- current block
- 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
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/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/182—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 pixel
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion 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/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
- the invention relates to video processing, and more particularly to video encoding.
- Video data comprises a series of frames, wherein each frame is a picture and is divided into a plurality of blocks to be respectively encoded.
- a video block may be encoded in an intra-mode or an inter-mode.
- intra-mode pixels of a video block are compared with pixels of neighboring blocks to reduce the data amount to be encoded.
- inter-mode pixels of a video block of a current frame are compared with pixels of a corresponding block of a reference frame to reduce the data amount to be encoded.
- FIG. 1A a block diagram of a video encoder 100 encoding video data according to an intra-mode is shown.
- the video encoder 100 comprises an intra-prediction module 102 , a subtraction module 104 , a transform module 106 , and a quantizer 108 .
- a video block is first delivered to the intra-prediction module 102 .
- the intra-prediction module 102 performs intra-prediction to generate a predicted block according to pixels of blocks neighboring to the video block.
- the intra-prediction module 102 performs intra-prediction according to one of a plurality of intra-prediction modes.
- FIG. 2 is a schematic diagram of nine intra-prediction modes 0 ⁇ 8 according to the VCEG-N54 standard.
- Each intra-prediction mode generates pixel values of a predicted block according to different neighboring pixels.
- the subtraction module 104 then subtracts pixel values of the predicted block from pixel values of the video block to obtain prediction residues of pixels of the video block.
- the transform module 106 then performs video data compression to convert the prediction residues of the video block to transform values with reduced data amount.
- the transform module 106 may perform discrete cosine transform (DCT) or Karhunen-Loeve transform (KLT) on the prediction residues to obtain the transform values.
- DCT discrete cosine transform
- KLT Karhunen-Loeve transform
- the quantizer 108 then quantizes the transform values to quantized values with further reduced data amount suitable for storage or transmission.
- the video decoder 150 comprises an inverse transform module 152 , an inverse intra-prediction module 154 , and a summation module 156 .
- the inverse transform module 152 performs video data decompression to convert quantized values of the video block to prediction residues.
- the inverse intra-prediction module 154 performs intra-prediction according to an intra-prediction mode to generate a predicted block.
- the summation module 156 then adds the prediction residues to the predicted block to obtain a reconstructed block.
- the reconstructed block is then output for display.
- the video encoder 100 shown in FIG. 1A has shortcomings.
- the intra-prediction module 102 when intra-prediction is performed, the intra-prediction module 102 generates a predicted block corresponding to a current block according to pixel values of neighboring blocks. Pixel values of the predicted block are therefore related to pixel values of the neighboring blocks.
- Intra-prediction modes corresponding to the neighboring blocks and the current block are independently determined. The predicted blocks corresponding to the neighboring blocks and the current blocks therefore are often generated according to different intra-prediction modes, leading to discontinuous change in predicted block values corresponding to the neighboring blocks and the current blocks.
- a method for performing intra-prediction on a current block according to intra-prediction modes of neighboring blocks is therefore required.
- the transform module 106 performs video data compression according to only one set of transform coefficients. Intra-prediction residues obtained according to different intra-prediction modes, however, require different transform coefficients to best suit properties of the different intra-prediction modes. A method for performing video data compression according to different transform coefficients corresponding to different intra-prediction modes is therefore required.
- the invention provides a method for performing intra-prediction. First, a first intra-prediction mode of a left block, a second intra-prediction mode of an up block, and a third intra-prediction mode of a current block are determined, wherein the left block is on the left of the current block, and the up block is on top of the current block.
- a target pixel is then selected from a plurality of pixels of the current block.
- a first prediction value of the target pixel is then calculated according to the first intra-prediction mode.
- a second prediction value of the target pixel is then calculated according to the second intra-prediction mode.
- a third prediction value of the target pixel is then calculated according to the third intra-prediction mode.
- the first prediction value, the second prediction value, and the third prediction value are then averaged to obtain a weighted-average prediction value.
- an intra-prediction value of the target pixel is derived from the weighted-average prediction value.
- the invention further provides a method for performing video data compression.
- an intra-prediction mode of a target block is determined.
- a target transformation type corresponding to the intra-prediction mode is then selected from a plurality of transformation types, wherein the transformation types corresponding to the intra-prediction mode are classified by prediction residue variance.
- a plurality of prediction residues of the target block are then obtained.
- the prediction residues are then converted into a plurality of transform values according to the target transform type.
- the invention also provides a video encoder.
- the video encoder receives a current block, wherein a left block is on the left of the current block and an up block is on top of the current block.
- the video encoder comprises an intra-prediction module and a subtraction module.
- the intra-prediction module selects a target pixel from a plurality of pixels of the current block, determines a first intra-prediction mode of the left block, a second intra-prediction mode of the up block, and a third intra-prediction mode of the current block, calculates a first prediction value of the target pixel according to the first intra-prediction mode, calculates a second prediction value of the target pixel according to the second intra-prediction mode, calculates a third prediction value of the target pixel according to the third intra-prediction mode, and averages the first prediction value, the second prediction value, and the third prediction value to obtain a weighted-average prediction value as a prediction value of the target pixel.
- the subtraction module subtracts the prediction value from the target pixel to obtain a prediction residue of the target pixel.
- the invention also provides a video encoder.
- the video encoder comprises an intra-prediction module, a subtraction module, and a transform module.
- the intra-prediction module calculates a plurality of prediction values of a target block.
- the subtraction module subtracts the prediction values from a plurality of original values of the target block to obtain a plurality of prediction residues of the target block.
- the transform module determines an intra-prediction mode of the target block, selects a target transform type from a plurality of transform types classified by prediction residue variance, and converts the prediction residues into a plurality of transform values according to the target transform type.
- FIG. 1A is a block diagram of a video encoder encoding video data according to an intra-mode
- FIG. 1B is a block diagram of a video decoder decoding video data according to an intra-mode
- FIG. 2 is a schematic diagram of nine intra-prediction modes 0 ⁇ 8 according to the VCEG-N54 standard;
- FIG. 3 shows a current block to be processed by an intra-prediction module and two neighboring blocks according to an embodiment of the invention
- FIG. 4 is a flowchart of a method for performing intra-prediction according to an embodiment of the invention.
- FIG. 5 is a schematic diagram of a weighting table storing a plurality of predetermined weighting sets according to an embodiment of the invention
- FIG. 6 is a flowchart of a method for performing video data compression according to an embodiment of the invention.
- FIG. 7 is a schematic diagram of a transform coefficient table storing a plurality of transform coefficient sets according to an embodiment of the invention.
- FIG. 3 a schematic diagram of a current block 303 to be processed by an intra-prediction module and two neighboring blocks 301 and 302 according to an embodiment of the invention is shown.
- the two neighboring blocks comprise a left block 301 and an up block 302 .
- the left block 301 , the up block 302 , and the current block 303 are in the same frame of video data.
- the left block is on the left of the current block 303 in the frame.
- the up block 302 is on top of the current block 303 in the frame.
- the left block 301 , the up block 302 , and the current block 303 comprise a predetermined number of pixels, and each pixel has a value indicating a color thereof.
- the current block 303 comprises 16 (4 ⁇ 4) pixels with positions of (0, 0) ⁇ (3,3).
- FIG. 4 a flowchart of a method 400 for performing intra-prediction according to an embodiment of the invention is shown.
- the method of 400 is called overlapped block intra-prediction (OBIP).
- OBIP overlapped block intra-prediction
- an intra-prediction module of a video encoder receives the current block 303 shown in FIG. 3 for intra-prediction.
- a left block 301 is on the left of the current block 303
- an up block 302 is on top of the current block 303 .
- the intra-prediction modes of the left block 301 , the up block 302 , and the current block 303 may be different.
- the intra-prediction module therefore first determines a first intra-prediction mode of the left block 301 , a second intra-prediction mode of the up block 302 , and a third intra-prediction mode of the current block 303 (step 402 ).
- the current block 303 comprises a plurality of pixels.
- the intra-prediction module selects a target pixel from the plurality of pixels of the current block 301 (step 404 ).
- the intra-prediction module then calculates a first prediction value P 1 of the target pixel according to the first intra-prediction mode of the left block 301 (step 406 ).
- the intra-prediction module then calculates a second prediction value P 2 of the target pixel according to the second intra-prediction mode of the up block 302 (step 408 ).
- the intra-prediction module then calculates a third prediction value P 3 of the target pixel according to the third intra-prediction mode of the current block 303 (step 410 ).
- three prediction values P 1 , P 2 , and P 3 respectively corresponding to the first, second, and third intra-prediction modes are obtained.
- the intra-prediction module then averages the three prediction values P 1 , P 2 , and P 3 to obtain an average value as the prediction value of the target pixel.
- the intra-prediction module first determines a target set of weightings W 1 , W 2 , and W 3 for averaging the three prediction values P 1 , P 2 , and P 3 (step 412 ).
- the sum of the weightings W 1 , W 2 , and W 3 is equal to 1.
- the weightings W 1 , W 2 , and W 3 are determined according to the intra-prediction mode of the current block 303 and the position of the target pixel in the current block.
- the intra-prediction module comprises a memory storing a weighting table composed of a plurality of predetermined weighting sets, and the intra-prediction module searches the weighting table for the weightings W 1 , W 2 , and W 3 .
- a schematic diagram of a weighting table 500 is composed of a plurality of predetermined weighting sets according to an embodiment of the invention is shown.
- the predetermined weighting sets in the weighting table 500 are indexed according to an intra-prediction mode of the current block 303 and a pixel position of the target pixel.
- the predetermined weighting sets in the weighting table 500 are determined by an off-line training process using linear regression.
- the weightings W 1 , W 2 , and W 3 are determined to respectively be W 1 0 (0, 2), W 2 0 (0, 2), and W 3 0 (0, 2).
- the weightings W 1 , W 2 , and W 3 are determined to respectively be W 1 8 (3, 3), W 2 8 (3, 3), and W 3 8 (3, 3).
- the intra-prediction module then averages the first prediction value P 1 , the second prediction value P 2 , and the third prediction value P 3 according to the weightings W 1 , W 2 , and W 3 to obtain a weighted-average prediction value (W 1 ⁇ P 1 +W 2 ⁇ P 2 +W 3 ⁇ P 3 ) as a prediction value of the target pixel (step 414 ).
- a weighted-average prediction value (W 1 ⁇ P 1 +W 2 ⁇ P 2 +W 3 ⁇ P 3 ) as a prediction value of the target pixel.
- Calculation of prediction values from the step 404 to the step 414 is continued until prediction values of all pixels of the current block 303 are obtained (step 416 ).
- the prediction values of all pixels of the current block 303 are then aggregated to obtain a predicted block and then output to a subtraction module to be subtracted from pixel values of the current block 303 , as shown in FIG. 1A .
- the prediction values of the predicted block are therefore weighted averages of three prediction values P 1 , P 2 , and P 3 generated according to intra-prediction modes of the left block 301 , the up block 302 , and the current block 303 .
- the weightings W 1 , W 2 , and W 3 for averaging the first prediction value P 1 , second prediction value P 2 , and third prediction value P 3 are determined according to the intra-prediction mode of the current block 303 at step 412 .
- the target set of weightings W 1 , W 2 , and W 3 for averaging the prediction values P 1 , P 2 , and P 3 are determined according to rate-distortion optimization (RDO) costs corresponding to the predetermined weighting sets in the weighting table 500 .
- RDO rate-distortion optimization
- the intra-prediction module generates 9 sets of weightings corresponding to all 9 intra-prediction modes at step 412 , and then averages the prediction values P 1 , P 2 , and P 3 according to all 9 sets of weightings to obtain 9 weighted-average prediction values, each corresponding to one intra-prediction mode.
- the weighted-average prediction values of all pixels of the current block are then aggregated to obtain 9 predicted blocks corresponding to 9 intra-prediction modes, RDO costs corresponding to the 9 predicted blocks are then calculated, and an output predicted block is selected from the 9 predicted blocks according to the RDO costs thereof.
- a number of bits are used to save the selected intra-prediction mode so corresponding decoders can be notified of which intra-prediction mode is being used.
- the method 400 shown in FIG. 4 generates a predicted block composed of a plurality of weighted-average prediction values.
- the predicted block with weighted-average prediction values may have a greater distortion than a predicted block obtained according to the original intra-prediction mode of the current block 303 .
- the intra-prediction module of an embodiment therefore comprises a mechanism for automatically determining whether to generate a predicted block comprising the weighted-average prediction values according to the method 400 .
- the overlapped block intra-prediction (OBIP) of this embodiment can be activated or deactivated at block (e.g. Macroblock MB) level.
- the intra-prediction module aggregates the weighted-average prediction values of all pixels of the current block to obtain a first predicted block, and aggregates the third prediction values P 3 of all pixels of the current block to obtain a second predicted block.
- the intra-prediction module then calculates a first rate-distortion optimization (RDO) cost of the first predicted block, and calculates a second RDO cost of the second predicted block.
- RDO rate-distortion optimization
- the second predicted block obtained according to the intra-prediction mode of the current block 303 is output as the prediction block to a subsequent subtraction module.
- the first predicted block is output as the prediction block to the subsequent subtraction module.
- one bit is used to save information of whether OBIP is on or off for informing corresponding decoders.
- a subtraction module of a video encoder then subtracts prediction values of a predicted block from original pixel values of a target block to obtain prediction residues of the target block, the prediction residues of the target block are sent to a transform module for data compression.
- a transform module of a video encoder support a plurality of transform types, wherein each transform type corresponds to a variance level of prediction residues.
- the transform module first receives a macroblock having prediction residues to be compressed, and selects a target transform type of the macroblock from a plurality of transform types corresponding to the intra-prediction mode of the current macroblock (step 602 ).
- the transform module computes a plurality of rate-distortion optimization (RDO) costs corresponding to the transform types, and selects the transform type with the lowest RDO cost as the target transform type.
- RDO rate-distortion optimization
- transform types represent transforms with different transform coefficient sets.
- Some popular transform methods used in video coding include discrete cosine transform (DCT) and Karhunen L ⁇ eve Transform (KLT).
- the transform coefficient sets are sorted according to intra-prediction modes and variance levels, where each transform coefficient set is composed of a plurality of predetermined transform coefficients.
- the transform module stores a transform coefficient table storing the transform coefficient sets. Referring to FIG. 7 , a schematic diagram of a transform coefficient table 700 storing a plurality of transform coefficient sets according to an embodiment of the invention is shown.
- the transform coefficient sets in the transform coefficient table 700 are indexed according to intra-prediction modes and variance levels.
- a transform coefficient set C 0A corresponds to a vertical intra-prediction mode 0 and a variance level A corresponding to a lowest residue variance level.
- a transform coefficient set C 8C corresponds to a horizontal-up intra-prediction mode 8 and a variance level C corresponding to a highest residue variance level.
- the transform module determines a target transform coefficient set according to the intra-prediction mode and the variance level corresponding to the target transform type (step 608 ).
- the transform module searches the transform coefficient table 700 for the target transform coefficient set according to the intra-prediction mode and the variance level.
- the transform module then scans prediction residues of a plurality of pixels (step 609 ), and converts the prediction residues into a plurality of transform values according to the target transform coefficient set (step 610 ).
- the transform module determines a specific scanning order according to the transform type, and scans the pixels according to the specific scanning order to obtain the prediction residues.
- the transform module then repeats steps 604 ⁇ 612 until prediction residues of the macroblock are converted into transform values. Macroblocks corresponding to different intra-prediction modes are therefore compressed according to different transform types corresponding to the intra-prediction modes.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The invention provides a method for performing intra-prediction. A target pixel is selected from a plurality of pixels of a current block. A first intra-prediction mode of a left block, a second intra-prediction mode of an up block, and a third intra-prediction mode of the current block are then determined. A first prediction value of the target pixel is calculated according to the first intra-prediction mode. A second prediction value of the target pixel is calculated according to the second intra-prediction mode. A third prediction value of the target pixel is calculated according to the third intra-prediction mode. The first prediction value, the second prediction value, and the third prediction value are then averaged to obtain a weighted-average prediction value as an intra-prediction value of the target pixel.
Description
- This application claims the benefit of U.S. Provisional Application No. 61/223,113, filed on Jul. 6, 2009, the entirety of which is incorporated by reference herein.
- This Application claims priority of China Patent Application No. 200910177838.7, filed on Sep. 25, 2009, the entirety of which is incorporated by reference herein.
- 1. Field of the Invention
- The invention relates to video processing, and more particularly to video encoding.
- 2. Description of the Related Art
- Video data comprises a series of frames, wherein each frame is a picture and is divided into a plurality of blocks to be respectively encoded. A video block may be encoded in an intra-mode or an inter-mode. In the intra-mode, pixels of a video block are compared with pixels of neighboring blocks to reduce the data amount to be encoded. In the inter-mode, pixels of a video block of a current frame are compared with pixels of a corresponding block of a reference frame to reduce the data amount to be encoded.
- Referring to
FIG. 1A , a block diagram of avideo encoder 100 encoding video data according to an intra-mode is shown. Thevideo encoder 100 comprises anintra-prediction module 102, asubtraction module 104, atransform module 106, and aquantizer 108. A video block is first delivered to theintra-prediction module 102. Theintra-prediction module 102 performs intra-prediction to generate a predicted block according to pixels of blocks neighboring to the video block. Theintra-prediction module 102 performs intra-prediction according to one of a plurality of intra-prediction modes.FIG. 2 is a schematic diagram of nineintra-prediction modes 0˜8 according to the VCEG-N54 standard. Each intra-prediction mode generates pixel values of a predicted block according to different neighboring pixels. Thesubtraction module 104 then subtracts pixel values of the predicted block from pixel values of the video block to obtain prediction residues of pixels of the video block. Thetransform module 106 then performs video data compression to convert the prediction residues of the video block to transform values with reduced data amount. For example, thetransform module 106 may perform discrete cosine transform (DCT) or Karhunen-Loeve transform (KLT) on the prediction residues to obtain the transform values. Thequantizer 108 then quantizes the transform values to quantized values with further reduced data amount suitable for storage or transmission. - Referring to
FIG. 1B , a block diagram of avideo decoder 150 decoding video data according to an intra-mode is shown. In one embodiment, thevideo decoder 150 comprises aninverse transform module 152, an inverseintra-prediction module 154, and asummation module 156. Theinverse transform module 152 performs video data decompression to convert quantized values of the video block to prediction residues. The inverseintra-prediction module 154 performs intra-prediction according to an intra-prediction mode to generate a predicted block. Thesummation module 156 then adds the prediction residues to the predicted block to obtain a reconstructed block. The reconstructed block is then output for display. - The
video encoder 100 shown inFIG. 1A , however, has shortcomings. First, when intra-prediction is performed, theintra-prediction module 102 generates a predicted block corresponding to a current block according to pixel values of neighboring blocks. Pixel values of the predicted block are therefore related to pixel values of the neighboring blocks. Intra-prediction modes corresponding to the neighboring blocks and the current block, however, are independently determined. The predicted blocks corresponding to the neighboring blocks and the current blocks therefore are often generated according to different intra-prediction modes, leading to discontinuous change in predicted block values corresponding to the neighboring blocks and the current blocks. A method for performing intra-prediction on a current block according to intra-prediction modes of neighboring blocks is therefore required. In addition, thetransform module 106 performs video data compression according to only one set of transform coefficients. Intra-prediction residues obtained according to different intra-prediction modes, however, require different transform coefficients to best suit properties of the different intra-prediction modes. A method for performing video data compression according to different transform coefficients corresponding to different intra-prediction modes is therefore required. - The invention provides a method for performing intra-prediction. First, a first intra-prediction mode of a left block, a second intra-prediction mode of an up block, and a third intra-prediction mode of a current block are determined, wherein the left block is on the left of the current block, and the up block is on top of the current block. A target pixel is then selected from a plurality of pixels of the current block. A first prediction value of the target pixel is then calculated according to the first intra-prediction mode. A second prediction value of the target pixel is then calculated according to the second intra-prediction mode. A third prediction value of the target pixel is then calculated according to the third intra-prediction mode. The first prediction value, the second prediction value, and the third prediction value are then averaged to obtain a weighted-average prediction value. Finally, an intra-prediction value of the target pixel is derived from the weighted-average prediction value.
- The invention further provides a method for performing video data compression. First, an intra-prediction mode of a target block is determined. A target transformation type corresponding to the intra-prediction mode is then selected from a plurality of transformation types, wherein the transformation types corresponding to the intra-prediction mode are classified by prediction residue variance. A plurality of prediction residues of the target block are then obtained. The prediction residues are then converted into a plurality of transform values according to the target transform type.
- The invention also provides a video encoder. In one embodiment, the video encoder receives a current block, wherein a left block is on the left of the current block and an up block is on top of the current block. In one embodiment, the video encoder comprises an intra-prediction module and a subtraction module. The intra-prediction module selects a target pixel from a plurality of pixels of the current block, determines a first intra-prediction mode of the left block, a second intra-prediction mode of the up block, and a third intra-prediction mode of the current block, calculates a first prediction value of the target pixel according to the first intra-prediction mode, calculates a second prediction value of the target pixel according to the second intra-prediction mode, calculates a third prediction value of the target pixel according to the third intra-prediction mode, and averages the first prediction value, the second prediction value, and the third prediction value to obtain a weighted-average prediction value as a prediction value of the target pixel. The subtraction module subtracts the prediction value from the target pixel to obtain a prediction residue of the target pixel.
- The invention also provides a video encoder. In one embodiment, the video encoder comprises an intra-prediction module, a subtraction module, and a transform module. The intra-prediction module calculates a plurality of prediction values of a target block. The subtraction module subtracts the prediction values from a plurality of original values of the target block to obtain a plurality of prediction residues of the target block. Finally, the transform module determines an intra-prediction mode of the target block, selects a target transform type from a plurality of transform types classified by prediction residue variance, and converts the prediction residues into a plurality of transform values according to the target transform type.
- A detailed description is given in the following embodiments with reference to the accompanying drawings.
- The invention can be better understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
-
FIG. 1A is a block diagram of a video encoder encoding video data according to an intra-mode; -
FIG. 1B is a block diagram of a video decoder decoding video data according to an intra-mode; -
FIG. 2 is a schematic diagram of nineintra-prediction modes 0˜8 according to the VCEG-N54 standard; -
FIG. 3 shows a current block to be processed by an intra-prediction module and two neighboring blocks according to an embodiment of the invention; -
FIG. 4 is a flowchart of a method for performing intra-prediction according to an embodiment of the invention; -
FIG. 5 is a schematic diagram of a weighting table storing a plurality of predetermined weighting sets according to an embodiment of the invention; -
FIG. 6 is a flowchart of a method for performing video data compression according to an embodiment of the invention; and -
FIG. 7 is a schematic diagram of a transform coefficient table storing a plurality of transform coefficient sets according to an embodiment of the invention. - The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.
- Referring to
FIG. 3 , a schematic diagram of acurrent block 303 to be processed by an intra-prediction module and two neighboringblocks left block 301 and an upblock 302. Theleft block 301, the upblock 302, and thecurrent block 303 are in the same frame of video data. The left block is on the left of thecurrent block 303 in the frame. The upblock 302 is on top of thecurrent block 303 in the frame. Theleft block 301, the upblock 302, and thecurrent block 303 comprise a predetermined number of pixels, and each pixel has a value indicating a color thereof. In one embodiment, thecurrent block 303 comprises 16 (4×4) pixels with positions of (0, 0)˜(3,3). - Referring to
FIG. 4 , a flowchart of amethod 400 for performing intra-prediction according to an embodiment of the invention is shown. The method of 400 is called overlapped block intra-prediction (OBIP). Assume that an intra-prediction module of a video encoder receives thecurrent block 303 shown inFIG. 3 for intra-prediction. Aleft block 301 is on the left of thecurrent block 303, and an upblock 302 is on top of thecurrent block 303. The intra-prediction modes of theleft block 301, the upblock 302, and thecurrent block 303 may be different. The intra-prediction module therefore first determines a first intra-prediction mode of theleft block 301, a second intra-prediction mode of theup block 302, and a third intra-prediction mode of the current block 303 (step 402). - The
current block 303 comprises a plurality of pixels. The intra-prediction module then selects a target pixel from the plurality of pixels of the current block 301 (step 404). The intra-prediction module then calculates a first prediction value P1 of the target pixel according to the first intra-prediction mode of the left block 301 (step 406). The intra-prediction module then calculates a second prediction value P2 of the target pixel according to the second intra-prediction mode of the up block 302 (step 408). The intra-prediction module then calculates a third prediction value P3 of the target pixel according to the third intra-prediction mode of the current block 303 (step 410). Thus, three prediction values P1, P2, and P3 respectively corresponding to the first, second, and third intra-prediction modes are obtained. - The intra-prediction module then averages the three prediction values P1, P2, and P3 to obtain an average value as the prediction value of the target pixel. In this embodiment, the intra-prediction module first determines a target set of weightings W1, W2, and W3 for averaging the three prediction values P1, P2, and P3 (step 412). The sum of the weightings W1, W2, and W3 is equal to 1. The weightings W1, W2, and W3 are determined according to the intra-prediction mode of the
current block 303 and the position of the target pixel in the current block. In one embodiment, the intra-prediction module comprises a memory storing a weighting table composed of a plurality of predetermined weighting sets, and the intra-prediction module searches the weighting table for the weightings W1, W2, and W3. Referring toFIG. 5 , a schematic diagram of a weighting table 500 is composed of a plurality of predetermined weighting sets according to an embodiment of the invention is shown. The predetermined weighting sets in the weighting table 500 are indexed according to an intra-prediction mode of thecurrent block 303 and a pixel position of the target pixel. In some embodiments, the predetermined weighting sets in the weighting table 500 are determined by an off-line training process using linear regression. - For example, if the target pixel has a location of (0, 2) and the intra-prediction mode of the
current block 303 is avertical mode 0, the weightings W1, W2, and W3 are determined to respectively be W1 0(0, 2), W2 0(0, 2), and W3 0(0, 2). If the target pixel has a location of (3, 3) and the intra-prediction mode of thecurrent block 303 is a horizontal-upmode 8, the weightings W1, W2, and W3 are determined to respectively be W1 8(3, 3), W2 8(3, 3), and W3 8(3, 3). After the weightings W1, W2, and W3 are obtained, the intra-prediction module then averages the first prediction value P1, the second prediction value P2, and the third prediction value P3 according to the weightings W1, W2, and W3 to obtain a weighted-average prediction value (W1×P1+W2×P2+W3×P3) as a prediction value of the target pixel (step 414). Calculation of prediction values from thestep 404 to thestep 414 is continued until prediction values of all pixels of thecurrent block 303 are obtained (step 416). The prediction values of all pixels of thecurrent block 303 are then aggregated to obtain a predicted block and then output to a subtraction module to be subtracted from pixel values of thecurrent block 303, as shown inFIG. 1A . the prediction values of the predicted block are therefore weighted averages of three prediction values P1, P2, and P3 generated according to intra-prediction modes of theleft block 301, the upblock 302, and thecurrent block 303. - The weightings W1, W2, and W3 for averaging the first prediction value P1, second prediction value P2, and third prediction value P3 are determined according to the intra-prediction mode of the
current block 303 atstep 412. There are, however, 9 categories of weightings respectively corresponding to 9intra-prediction modes 0˜8 in the weighting table 500, and the weighting sets corresponding to other intra-prediction modes may generate weighted-average prediction values with lower distortion than the weightings determined according to the intra-prediction mode of thecurrent block 303. In one embodiment, the target set of weightings W1, W2, and W3 for averaging the prediction values P1, P2, and P3 are determined according to rate-distortion optimization (RDO) costs corresponding to the predetermined weighting sets in the weighting table 500. For example, the intra-prediction module generates 9 sets of weightings corresponding to all 9 intra-prediction modes atstep 412, and then averages the prediction values P1, P2, and P3 according to all 9 sets of weightings to obtain 9 weighted-average prediction values, each corresponding to one intra-prediction mode. The weighted-average prediction values of all pixels of the current block are then aggregated to obtain 9 predicted blocks corresponding to 9 intra-prediction modes, RDO costs corresponding to the 9 predicted blocks are then calculated, and an output predicted block is selected from the 9 predicted blocks according to the RDO costs thereof. A number of bits are used to save the selected intra-prediction mode so corresponding decoders can be notified of which intra-prediction mode is being used. - The
method 400 shown inFIG. 4 generates a predicted block composed of a plurality of weighted-average prediction values. The predicted block with weighted-average prediction values, however, may have a greater distortion than a predicted block obtained according to the original intra-prediction mode of thecurrent block 303. The intra-prediction module of an embodiment therefore comprises a mechanism for automatically determining whether to generate a predicted block comprising the weighted-average prediction values according to themethod 400. The overlapped block intra-prediction (OBIP) of this embodiment can be activated or deactivated at block (e.g. Macroblock MB) level. In one embodiment, after the weighted-average prediction values of all pixels of the current block and the third prediction values P3 obtained according to the intra-prediction mode of thecurrent block 303 are obtained, the intra-prediction module aggregates the weighted-average prediction values of all pixels of the current block to obtain a first predicted block, and aggregates the third prediction values P3 of all pixels of the current block to obtain a second predicted block. The intra-prediction module then calculates a first rate-distortion optimization (RDO) cost of the first predicted block, and calculates a second RDO cost of the second predicted block. When the first RDO cost is higher than the second RDO cost, the second predicted block obtained according to the intra-prediction mode of thecurrent block 303 is output as the prediction block to a subsequent subtraction module. When the first RDO cost is lower than the second RDO cost, the first predicted block is output as the prediction block to the subsequent subtraction module. In this embodiment, one bit is used to save information of whether OBIP is on or off for informing corresponding decoders. - A subtraction module of a video encoder then subtracts prediction values of a predicted block from original pixel values of a target block to obtain prediction residues of the target block, the prediction residues of the target block are sent to a transform module for data compression. Referring to
FIG. 6 , a flowchart of amethod 600 for performing video data compression according to the invention is shown. Assume that a transform module of a video encoder support a plurality of transform types, wherein each transform type corresponds to a variance level of prediction residues. The transform module first receives a macroblock having prediction residues to be compressed, and selects a target transform type of the macroblock from a plurality of transform types corresponding to the intra-prediction mode of the current macroblock (step 602). In one embodiment, the transform module computes a plurality of rate-distortion optimization (RDO) costs corresponding to the transform types, and selects the transform type with the lowest RDO cost as the target transform type. - In some embodiments, transform types represent transforms with different transform coefficient sets. Some popular transform methods used in video coding include discrete cosine transform (DCT) and Karhunen Lòeve Transform (KLT). The transform coefficient sets are sorted according to intra-prediction modes and variance levels, where each transform coefficient set is composed of a plurality of predetermined transform coefficients. In one embodiment, the transform module stores a transform coefficient table storing the transform coefficient sets. Referring to
FIG. 7 , a schematic diagram of a transform coefficient table 700 storing a plurality of transform coefficient sets according to an embodiment of the invention is shown. The transform coefficient sets in the transform coefficient table 700 are indexed according to intra-prediction modes and variance levels. For example, a transform coefficient set C0A corresponds to avertical intra-prediction mode 0 and a variance level A corresponding to a lowest residue variance level. A transform coefficient set C8C corresponds to a horizontal-up intra-prediction mode 8 and a variance level C corresponding to a highest residue variance level. - The transform module then determines a target transform coefficient set according to the intra-prediction mode and the variance level corresponding to the target transform type (step 608). In one embodiment, the transform module searches the transform coefficient table 700 for the target transform coefficient set according to the intra-prediction mode and the variance level. The transform module then scans prediction residues of a plurality of pixels (step 609), and converts the prediction residues into a plurality of transform values according to the target transform coefficient set (step 610). In one embodiment, the transform module determines a specific scanning order according to the transform type, and scans the pixels according to the specific scanning order to obtain the prediction residues. The transform module then repeats steps 604˜612 until prediction residues of the macroblock are converted into transform values. Macroblocks corresponding to different intra-prediction modes are therefore compressed according to different transform types corresponding to the intra-prediction modes.
- While the invention has been described by way of example and in terms of preferred embodiment, it is to be understood that the invention is not limited thereto. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.
Claims (25)
1. A method for performing intra-prediction, comprising:
determining a first intra-prediction mode of a left block, a second intra-prediction mode of an up block, and a third intra-prediction mode of a current block, wherein the left block is on the left of the current block, and the up block is on top of the current block;
selecting a target pixel from a plurality of pixels of the current block;
calculating a first prediction value of the target pixel according to the first intra-prediction mode;
calculating a second prediction value of the target pixel according to the second intra-prediction mode;
calculating a third prediction value of the target pixel according to the third intra-prediction mode;
averaging the first prediction value, the second prediction value, and the third prediction value to obtain a weighted-average prediction value.
2. The method as claimed in claim 1 , wherein averaging of the first prediction value, the second prediction value, and the third prediction value comprises:
determining a target set of weightings according to the position of the target pixel in the current block; and
averaging the first prediction value, the second prediction value, and the third prediction value according to the target set of weightings to obtain the weighted-average prediction value.
3. The method as claimed in claim 2 , wherein the target set of weightings comprise a first weighting corresponding to the first prediction value, a second weighting corresponding to the second prediction value, and a third weighting corresponding to the third prediction value.
4. The method as claimed in claim 2 , wherein the target set of weightings is determined according to the third intra-prediction mode in addition to the position of the target pixel in the current block.
5. The method as claimed in claim 4 , wherein the target set of weightings is determined by searching a weighting table according to the third intra-prediction mode and the position of the target pixel in the current block.
6. The method as claimed in claim 2 , wherein the target set of weightings is determined according to rate-distortion optimization costs corresponding to a plurality of predetermined weighting sets, and the predetermined weighting sets are for a plurality of intra-prediction modes.
7. The method as claimed in claim 1 , wherein the method further comprises:
repeating selection of the target pixel, calculation of the first, second, and third prediction values, and averaging of the first, second, and third prediction values until the weighted-average prediction values of all pixels of the current block are obtained;
aggregating the weighted-average prediction values of the pixels of the current block to obtain a first predicted block;
aggregating the third prediction values of the pixels of the current block to obtain a second predicted block;
computing a first rate-distortion optimization (RDO) cost of the first predicted block;
computing a second RDO cost of the second predicted block;
comparing the first RDO cost with the second RDO cost;
outputting one of the first and second predicted blocks as an intra-prediction block based on the RDO cost comparison.
8. The method as claimed in claim 1 , wherein the method further comprises:
repeating selection of the target pixel, calculation of the first, second, and third prediction values, and averaging of the first, second, and third prediction values until the weighted-average prediction values of all pixels of the current block are obtained;
aggregating the weighted-average prediction values of the pixels of the current block to obtain a predicted block;
outputting the predicted block as an intra-prediction block.
9. A method for performing video data compression, comprising:
determining an intra-prediction mode of a target block;
selecting a target transform type from a plurality of transform types corresponding to the intra-prediction mode;
obtaining prediction residues of the target block; and
converting the prediction residues into a plurality of transform values according to the target transform type;
wherein the plurality of transform types corresponding to the intra-prediction mode are classified by prediction residue variance.
10. The method as claimed in claim 9 , wherein selecting of the target transform type comprises searching a table according to the intra-prediction mode and a variance level of the prediction residues.
11. The method as claimed in claim 9 , wherein selecting of the target transform type comprises:
computing a plurality of rate-distortion optimization (RDO) costs corresponding to the transform types corresponding to the intra-prediction mode; and
selecting the transform type with the lowest RDO cost as the target transform type.
12. The method as claimed in claim 9 , wherein converting the prediction residues further comprises:
determining a specific scanning order according to the target transform type; and
scanning pixels of the target block according to the specific scanning order.
13. The method as claimed in claim 9 , wherein the method further comprises:
obtaining a plurality of prediction values of pixels of the target block; and
subtracting the prediction values from a plurality of original values of the target block to obtain the prediction residues of the target block.
14. A video encoder, receiving a current block, wherein a left block is on the left of the current block and the up block is on top of the current block, the video encoder comprising:
an intra-prediction module, determining a first intra-prediction mode of the left block, a second intra-prediction mode of the up block, and a third intra-prediction mode of the current block, selecting a target pixel from a plurality of pixels of the current block, calculating a first prediction value of the target pixel according to the first intra-prediction mode, calculating a second prediction value of the target pixel according to the second intra-prediction mode, calculating a third prediction value of the target pixel according to the third intra-prediction mode, and averaging the first prediction value, the second prediction value, and the third prediction value to obtain a weighted-average prediction value as a prediction value of the target pixel; and
a subtraction module, subtracting the prediction value from the target pixel to obtain a prediction residue of the target pixel.
15. The video encoder as claimed in claim 14 , wherein the intra-prediction module determines a target set of weightings according to the position of the target pixel in the current block, and averages the first prediction value, the second prediction value, and the third prediction value according to the target set of weightings to obtain the weighted-average prediction value.
16. The video encoder as claimed in claim 15 , wherein the target set of weightings comprise a first weighting corresponding to the first prediction value, a second weighting corresponding to the second prediction value, and a third weighting corresponding to the third prediction value.
17. The video encoder as claimed in claim 15 , wherein the intra-prediction module determines the target set of weightings according to the third intra-prediction mode in addition to the position of the target pixel in the current block.
18. The video encoder as claimed in claim 17 , wherein the intra-prediction module searches a weighting table for the target set of weightings according to the third intra-prediction mode and the position of the target pixel in the current block.
19. The video encoder as claimed in claim 15 , wherein the intra-prediction module stores a plurality of predetermined weighting sets corresponding to a plurality of intra-prediction modes, and the intra-prediction module determines the target set of weightings from the predetermined weighting sets according to rate-distortion optimization costs corresponding to the predetermined weighting sets.
20. The video encoder as claimed in claim 14 , wherein the intra-prediction module repeats selection of the target pixel, calculation of the first, second, and third prediction values, and averaging of the first, second, and third prediction values until the weighted-average prediction values of all pixels of the current block are obtained, aggregates the weighted-average prediction values of the pixels of the current block to obtain a first predicted block, aggregates the third prediction values of the pixels of the current block to obtain a second predicted block, computes a first rate-distortion optimization (RDO) cost corresponding to the first predicted block, computes a second RDO cost corresponding to the second predicted block, compares the first RDO cost with the second RDO cost, outputs the first or second predicted block to the subtraction module based on the RDO cost comparison.
21. The video encoder as claimed in claim 14 , wherein the intra-prediction module repeats selection of the target pixel, calculation of the first, second, and third prediction values, and averaging of the first, second, and third prediction values until the weighted-average prediction values of all pixels of the current block are obtained, aggregates the weighted-average prediction values of the pixels of the current block to obtain a predicted block, and outputs the predicted block to the subtraction module.
22. A video encoder, comprising:
an intra-prediction module, calculating a plurality of prediction values of a target block;
a subtraction module, subtracting the prediction values from a plurality of original values of the target block to obtain a plurality of prediction residues of the target block; and
a transform module, determining an intra-prediction mode of the target block, selecting a target transform type from a plurality of transform types corresponding to the intra-prediction mode, and converting the prediction residues into a plurality of transform values according to the target transform type, wherein the plurality of transform types are classified by prediction residue variance.
23. The video encoder as claimed in claim 22 , wherein the transform module searches a table for the target transform type according to the intra-prediction mode and variance level of the prediction residue.
24. The video encoder as claimed in claim 22 , wherein the transform module computes a plurality of rate-distortion optimization (RDO) costs corresponding to the transform types, and selects the transform type with the lowest RDO cost as the target transform mode.
25. The video encoder as claimed in claim 22 , wherein the transform module determines a specific scanning order according to the target transform mode, and scans pixels of the target block according to the specific scanning order.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/623,635 US20110002386A1 (en) | 2009-07-06 | 2009-11-23 | Video encoder and method for performing intra-prediction and video data compression |
US13/005,321 US8462846B2 (en) | 2009-07-06 | 2011-01-12 | Video encoder and method for performing intra-prediction and video data compression |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US22311309P | 2009-07-06 | 2009-07-06 | |
CN 200910177838 CN101945270B (en) | 2009-07-06 | 2009-09-25 | Video coder, method for internal prediction and video data compression |
CN200910177838.7 | 2009-09-25 | ||
US12/623,635 US20110002386A1 (en) | 2009-07-06 | 2009-11-23 | Video encoder and method for performing intra-prediction and video data compression |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/005,321 Continuation US8462846B2 (en) | 2009-07-06 | 2011-01-12 | Video encoder and method for performing intra-prediction and video data compression |
Publications (1)
Publication Number | Publication Date |
---|---|
US20110002386A1 true US20110002386A1 (en) | 2011-01-06 |
Family
ID=43412654
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/623,635 Abandoned US20110002386A1 (en) | 2009-07-06 | 2009-11-23 | Video encoder and method for performing intra-prediction and video data compression |
US13/005,321 Active US8462846B2 (en) | 2009-07-06 | 2011-01-12 | Video encoder and method for performing intra-prediction and video data compression |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/005,321 Active US8462846B2 (en) | 2009-07-06 | 2011-01-12 | Video encoder and method for performing intra-prediction and video data compression |
Country Status (1)
Country | Link |
---|---|
US (2) | US20110002386A1 (en) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110292994A1 (en) * | 2010-05-30 | 2011-12-01 | Lg Electronics Inc. | Enhanced intra prediction mode signaling |
US20130094581A1 (en) * | 2010-01-07 | 2013-04-18 | Akiyuki Tanizawa | Moving-picture encoding apparatus and moving-picture decoding apparatus |
US20130215960A1 (en) * | 2010-07-20 | 2013-08-22 | Sk Telecom Co., Ltd. | Device and method for competition-based intra prediction encoding/decoding using multiple prediction filters |
US9185414B1 (en) | 2012-06-29 | 2015-11-10 | Google Inc. | Video encoding using variance |
US9374578B1 (en) | 2013-05-23 | 2016-06-21 | Google Inc. | Video coding using combined inter and intra predictors |
US9531990B1 (en) * | 2012-01-21 | 2016-12-27 | Google Inc. | Compound prediction using multiple sources or prediction modes |
RU2610294C1 (en) * | 2011-01-12 | 2017-02-08 | Мицубиси Электрик Корпорейшн | Image encoding device, image decoding device, image encoding method and image decoding method |
US9609343B1 (en) | 2013-12-20 | 2017-03-28 | Google Inc. | Video coding using compound prediction |
US9628790B1 (en) | 2013-01-03 | 2017-04-18 | Google Inc. | Adaptive composite intra prediction for image and video compression |
US9813700B1 (en) | 2012-03-09 | 2017-11-07 | Google Inc. | Adaptively encoding a media stream with compound prediction |
US10148948B1 (en) * | 2013-01-17 | 2018-12-04 | Google Llc | Selection of transform size in video coding |
US11039138B1 (en) * | 2012-03-08 | 2021-06-15 | Google Llc | Adaptive coding of prediction modes using probability distributions |
US11172196B2 (en) | 2018-09-24 | 2021-11-09 | Beijing Bytedance Network Technology Co., Ltd. | Bi-prediction with weights in video coding and decoding |
US11197003B2 (en) | 2018-06-21 | 2021-12-07 | Beijing Bytedance Network Technology Co., Ltd. | Unified constrains for the merge affine mode and the non-merge affine mode |
US11197007B2 (en) | 2018-06-21 | 2021-12-07 | Beijing Bytedance Network Technology Co., Ltd. | Sub-block MV inheritance between color components |
US11202081B2 (en) | 2018-06-05 | 2021-12-14 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between IBC and BIO |
US11349431B1 (en) | 2021-05-05 | 2022-05-31 | Robert J. Cerullo | Lift assist solar panel apparatus |
CN114885164A (en) * | 2022-07-12 | 2022-08-09 | 深圳比特微电子科技有限公司 | Method and device for determining intra-frame prediction mode, electronic equipment and storage medium |
US11445174B2 (en) * | 2019-05-06 | 2022-09-13 | Tencent America LLC | Method and apparatus for video coding |
US11706412B2 (en) * | 2018-07-02 | 2023-07-18 | Huawei Technologies Co., Ltd. | Apparatus and method for filtering in video coding |
US11792421B2 (en) | 2018-11-10 | 2023-10-17 | Beijing Bytedance Network Technology Co., Ltd | Rounding in pairwise average candidate calculations |
US12132889B2 (en) | 2018-09-24 | 2024-10-29 | Beijing Bytedance Network Technology Co., Ltd. | Simplified history based motion vector prediction |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9736486B2 (en) * | 2010-02-08 | 2017-08-15 | Nokia Technologies Oy | Apparatus, a method and a computer program for video coding |
US9654785B2 (en) | 2011-06-09 | 2017-05-16 | Qualcomm Incorporated | Enhanced intra-prediction mode signaling for video coding using neighboring mode |
US9426473B2 (en) | 2013-02-01 | 2016-08-23 | Qualcomm Incorporated | Mode decision simplification for intra prediction |
US9148667B2 (en) | 2013-02-06 | 2015-09-29 | Qualcomm Incorporated | Intra prediction mode decision with reduced storage |
EP3567860A1 (en) | 2018-05-09 | 2019-11-13 | InterDigital VC Holdings, Inc. | Method and apparatus for blended intra prediction |
US20230049154A1 (en) * | 2021-08-02 | 2023-02-16 | Tencent America LLC | Method and apparatus for improved intra prediction |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128047A (en) * | 1998-05-20 | 2000-10-03 | Sony Corporation | Motion estimation process and system using sparse search block-matching and integral projection |
US20030231795A1 (en) * | 2002-06-12 | 2003-12-18 | Nokia Corporation | Spatial prediction based intra-coding |
US7187798B1 (en) * | 2000-07-26 | 2007-03-06 | Lockheed Martin Corporation | Region-based karhunen-loeve transformation |
US7266149B2 (en) * | 2001-12-17 | 2007-09-04 | Microsoft Corporation | Sub-block transform coding of prediction residuals |
US20080084929A1 (en) * | 2006-10-05 | 2008-04-10 | Xiang Li | Method for video coding a sequence of digitized images |
US20080175319A1 (en) * | 2002-05-28 | 2008-07-24 | Shijun Sun | Methods and Systems for Image Intra-Prediction Mode Management |
US20090097568A1 (en) * | 2007-10-12 | 2009-04-16 | Qualcomm Incorporated | Entropy coding of interleaved sub-blocks of a video block |
US20090238271A1 (en) * | 2006-09-20 | 2009-09-24 | Dae-Yeon Kim | Apparatus and method for encoding and decoding using alternative converter accoding to the correlation of residual signal |
US20100166327A1 (en) * | 2008-12-31 | 2010-07-01 | Nxp B.V. | System and method for intra-frame compression using predictive coding |
US20100208802A1 (en) * | 2007-06-29 | 2010-08-19 | Sharp Kabushiki Kaisha | Image encoding device, image encoding method, image decoding device, image decoding method, program, and storage medium |
US8218640B2 (en) * | 2006-10-31 | 2012-07-10 | Sony Computer Entertainment Inc. | Picture decoding using same-picture reference for pixel reconstruction |
US8228983B2 (en) * | 2007-12-04 | 2012-07-24 | Hong Kong Applied Science And Technology Research | Method and device for order-16 integer transform from order-8 integer cosine transform |
US8290041B2 (en) * | 2006-07-06 | 2012-10-16 | Kabushiki Kaisha Toshiba | Communication terminal |
-
2009
- 2009-11-23 US US12/623,635 patent/US20110002386A1/en not_active Abandoned
-
2011
- 2011-01-12 US US13/005,321 patent/US8462846B2/en active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128047A (en) * | 1998-05-20 | 2000-10-03 | Sony Corporation | Motion estimation process and system using sparse search block-matching and integral projection |
US7187798B1 (en) * | 2000-07-26 | 2007-03-06 | Lockheed Martin Corporation | Region-based karhunen-loeve transformation |
US7266149B2 (en) * | 2001-12-17 | 2007-09-04 | Microsoft Corporation | Sub-block transform coding of prediction residuals |
US20080175319A1 (en) * | 2002-05-28 | 2008-07-24 | Shijun Sun | Methods and Systems for Image Intra-Prediction Mode Management |
US20030231795A1 (en) * | 2002-06-12 | 2003-12-18 | Nokia Corporation | Spatial prediction based intra-coding |
US8290041B2 (en) * | 2006-07-06 | 2012-10-16 | Kabushiki Kaisha Toshiba | Communication terminal |
US20090238271A1 (en) * | 2006-09-20 | 2009-09-24 | Dae-Yeon Kim | Apparatus and method for encoding and decoding using alternative converter accoding to the correlation of residual signal |
US8121190B2 (en) * | 2006-10-05 | 2012-02-21 | Siemens Aktiengesellschaft | Method for video coding a sequence of digitized images |
US20080084929A1 (en) * | 2006-10-05 | 2008-04-10 | Xiang Li | Method for video coding a sequence of digitized images |
US8218640B2 (en) * | 2006-10-31 | 2012-07-10 | Sony Computer Entertainment Inc. | Picture decoding using same-picture reference for pixel reconstruction |
US20100208802A1 (en) * | 2007-06-29 | 2010-08-19 | Sharp Kabushiki Kaisha | Image encoding device, image encoding method, image decoding device, image decoding method, program, and storage medium |
US20090097568A1 (en) * | 2007-10-12 | 2009-04-16 | Qualcomm Incorporated | Entropy coding of interleaved sub-blocks of a video block |
US8228983B2 (en) * | 2007-12-04 | 2012-07-24 | Hong Kong Applied Science And Technology Research | Method and device for order-16 integer transform from order-8 integer cosine transform |
US20100166327A1 (en) * | 2008-12-31 | 2010-07-01 | Nxp B.V. | System and method for intra-frame compression using predictive coding |
Cited By (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9154779B2 (en) * | 2010-01-07 | 2015-10-06 | Kabushiki Kaisha Toshiba | Moving-picture encoding apparatus and moving-picture decoding apparatus |
US20130094581A1 (en) * | 2010-01-07 | 2013-04-18 | Akiyuki Tanizawa | Moving-picture encoding apparatus and moving-picture decoding apparatus |
US20130107955A1 (en) * | 2010-01-07 | 2013-05-02 | Akiyuki Tanizawa | Moving-picture encoding apparatus and moving-picture decoding apparatus |
US9392282B2 (en) * | 2010-01-07 | 2016-07-12 | Kabushiki Kaisha Toshiba | Moving-picture encoding apparatus and moving-picture decoding apparatus |
US20140169462A1 (en) * | 2010-01-07 | 2014-06-19 | Kabushiki Kaisha Toshiba | Moving-picture encoding apparatus and moving-picture decoding apparatus |
US20140169464A1 (en) * | 2010-01-07 | 2014-06-19 | Kabushiki Kaisha Toshiba | Moving-picture encoding apparatus and moving-picture decoding apparatus |
US20140169463A1 (en) * | 2010-01-07 | 2014-06-19 | Kabushiki Kaisha Toshiba | Moving-picture encoding apparatus and moving-picture decoding apparatus |
US9294768B2 (en) * | 2010-01-07 | 2016-03-22 | Kabushiki Kaisha Toshiba | Moving-picture encoding apparatus and moving-picture decoding apparatus |
US9113138B2 (en) * | 2010-01-07 | 2015-08-18 | Kabushiki Kaisha Toshiba | Moving-picture encoding apparatus and moving-picture decoding apparatus |
US9113139B2 (en) * | 2010-01-07 | 2015-08-18 | Kabushiki Kaisha Toshiba | Moving-picture encoding apparatus and moving-picture decoding apparatus |
US9143777B2 (en) * | 2010-01-07 | 2015-09-22 | Kabushiki Kaisha Toshiba | Moving-picture encoding apparatus and moving-picture decoding apparatus |
US9148659B2 (en) * | 2010-01-07 | 2015-09-29 | Kabushiki Kaisha Toshiba | Moving-picture encoding apparatus and moving-picture decoding apparatus |
US8902978B2 (en) * | 2010-05-30 | 2014-12-02 | Lg Electronics Inc. | Enhanced intra prediction mode signaling |
US11297331B2 (en) | 2010-05-30 | 2022-04-05 | Lg Electronics Inc. | Enhanced intra prediction mode signaling |
US10390023B2 (en) | 2010-05-30 | 2019-08-20 | Lg Electronics Inc. | Enhanced intra prediction mode signaling |
US11800117B2 (en) | 2010-05-30 | 2023-10-24 | Lg Electronics Inc. | Enhanced intra prediction mode signaling |
US10742997B2 (en) | 2010-05-30 | 2020-08-11 | Lg Electronics Inc. | Enhanced intra prediction mode signaling |
US9398303B2 (en) | 2010-05-30 | 2016-07-19 | Lg Electronics Inc. | Enhanced intra prediction mode signaling |
US10034003B2 (en) | 2010-05-30 | 2018-07-24 | Lg Electronics Inc. | Enhanced intra prediction mode signaling |
US20110292994A1 (en) * | 2010-05-30 | 2011-12-01 | Lg Electronics Inc. | Enhanced intra prediction mode signaling |
US9538178B2 (en) * | 2010-07-20 | 2017-01-03 | Sk Telecom Co., Ltd. | Device and method for competition-based intra prediction encoding/decoding using multiple prediction filters |
US20130215960A1 (en) * | 2010-07-20 | 2013-08-22 | Sk Telecom Co., Ltd. | Device and method for competition-based intra prediction encoding/decoding using multiple prediction filters |
RU2610294C1 (en) * | 2011-01-12 | 2017-02-08 | Мицубиси Электрик Корпорейшн | Image encoding device, image decoding device, image encoding method and image decoding method |
US10931946B2 (en) * | 2011-01-12 | 2021-02-23 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method, and image decoding method for generating a prediction image |
RU2648575C1 (en) * | 2011-01-12 | 2018-03-26 | Мицубиси Электрик Корпорейшн | Image encoding device, image decoding device, image encoding method and image decoding method |
RU2648578C1 (en) * | 2011-01-12 | 2018-03-26 | Мицубиси Электрик Корпорейшн | Image encoding device, image decoding device, image encoding method and image decoding method |
RU2654153C1 (en) * | 2011-01-12 | 2018-05-16 | Мицубиси Электрик Корпорейшн | Image encoding device, image decoding device, image encoding method and image decoding method |
US20190124328A1 (en) * | 2011-01-12 | 2019-04-25 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method, and image decoding method for generating a prediction image |
US9531990B1 (en) * | 2012-01-21 | 2016-12-27 | Google Inc. | Compound prediction using multiple sources or prediction modes |
US11039138B1 (en) * | 2012-03-08 | 2021-06-15 | Google Llc | Adaptive coding of prediction modes using probability distributions |
US9813700B1 (en) | 2012-03-09 | 2017-11-07 | Google Inc. | Adaptively encoding a media stream with compound prediction |
US9185414B1 (en) | 2012-06-29 | 2015-11-10 | Google Inc. | Video encoding using variance |
US9883190B2 (en) | 2012-06-29 | 2018-01-30 | Google Inc. | Video encoding using variance for selecting an encoding mode |
US9628790B1 (en) | 2013-01-03 | 2017-04-18 | Google Inc. | Adaptive composite intra prediction for image and video compression |
US11785226B1 (en) | 2013-01-03 | 2023-10-10 | Google Inc. | Adaptive composite intra prediction for image and video compression |
US10148948B1 (en) * | 2013-01-17 | 2018-12-04 | Google Llc | Selection of transform size in video coding |
US9374578B1 (en) | 2013-05-23 | 2016-06-21 | Google Inc. | Video coding using combined inter and intra predictors |
US9609343B1 (en) | 2013-12-20 | 2017-03-28 | Google Inc. | Video coding using compound prediction |
US10165283B1 (en) | 2013-12-20 | 2018-12-25 | Google Llc | Video coding using compound prediction |
US11973962B2 (en) | 2018-06-05 | 2024-04-30 | Beijing Bytedance Network Technology Co., Ltd | Interaction between IBC and affine |
US11202081B2 (en) | 2018-06-05 | 2021-12-14 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between IBC and BIO |
US11831884B2 (en) | 2018-06-05 | 2023-11-28 | Beijing Bytedance Network Technology Co., Ltd | Interaction between IBC and BIO |
US11509915B2 (en) | 2018-06-05 | 2022-11-22 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between IBC and ATMVP |
US11523123B2 (en) | 2018-06-05 | 2022-12-06 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between IBC and ATMVP |
US11968377B2 (en) | 2018-06-21 | 2024-04-23 | Beijing Bytedance Network Technology Co., Ltd | Unified constrains for the merge affine mode and the non-merge affine mode |
US11895306B2 (en) | 2018-06-21 | 2024-02-06 | Beijing Bytedance Network Technology Co., Ltd | Component-dependent sub-block dividing |
US11197007B2 (en) | 2018-06-21 | 2021-12-07 | Beijing Bytedance Network Technology Co., Ltd. | Sub-block MV inheritance between color components |
US11477463B2 (en) | 2018-06-21 | 2022-10-18 | Beijing Bytedance Network Technology Co., Ltd. | Component-dependent sub-block dividing |
US11197003B2 (en) | 2018-06-21 | 2021-12-07 | Beijing Bytedance Network Technology Co., Ltd. | Unified constrains for the merge affine mode and the non-merge affine mode |
US11659192B2 (en) | 2018-06-21 | 2023-05-23 | Beijing Bytedance Network Technology Co., Ltd | Sub-block MV inheritance between color components |
US11706412B2 (en) * | 2018-07-02 | 2023-07-18 | Huawei Technologies Co., Ltd. | Apparatus and method for filtering in video coding |
US11616945B2 (en) | 2018-09-24 | 2023-03-28 | Beijing Bytedance Network Technology Co., Ltd. | Simplified history based motion vector prediction |
US11202065B2 (en) | 2018-09-24 | 2021-12-14 | Beijing Bytedance Network Technology Co., Ltd. | Extended merge prediction |
US11172196B2 (en) | 2018-09-24 | 2021-11-09 | Beijing Bytedance Network Technology Co., Ltd. | Bi-prediction with weights in video coding and decoding |
US12132889B2 (en) | 2018-09-24 | 2024-10-29 | Beijing Bytedance Network Technology Co., Ltd. | Simplified history based motion vector prediction |
US11792421B2 (en) | 2018-11-10 | 2023-10-17 | Beijing Bytedance Network Technology Co., Ltd | Rounding in pairwise average candidate calculations |
US11445174B2 (en) * | 2019-05-06 | 2022-09-13 | Tencent America LLC | Method and apparatus for video coding |
US11349431B1 (en) | 2021-05-05 | 2022-05-31 | Robert J. Cerullo | Lift assist solar panel apparatus |
CN114885164A (en) * | 2022-07-12 | 2022-08-09 | 深圳比特微电子科技有限公司 | Method and device for determining intra-frame prediction mode, electronic equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
US8462846B2 (en) | 2013-06-11 |
US20110110425A1 (en) | 2011-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8462846B2 (en) | Video encoder and method for performing intra-prediction and video data compression | |
JP6526869B2 (en) | Adaptive Coding of Prediction Error in Hybrid Video Coding | |
KR101549823B1 (en) | Method and apparatus for encoding/decoding image using adaptive binarization | |
US8718146B2 (en) | Method, medium, and system encoding/decoding video data using bitrate adaptive binary arithmetic coding | |
US8699563B2 (en) | Image coding apparatus and image coding method | |
US8144770B2 (en) | Apparatus and method for encoding moving picture | |
US8737613B2 (en) | Scanning methods of transform-based digital data processing that conditionally adjust scan order according to characteristics information and related apparatus thereof | |
KR101351714B1 (en) | Method for decoding a bitstream | |
JP5590133B2 (en) | Moving picture coding apparatus, moving picture coding method, moving picture coding computer program, moving picture decoding apparatus, moving picture decoding method, and moving picture decoding computer program | |
JP5212372B2 (en) | Image processing apparatus and image processing method | |
US20140219345A1 (en) | Method and apparatus for image encoding with intra prediction mode | |
EP1773071A2 (en) | Method of and apparatus for lossless video encoding and decoding | |
US20140119443A1 (en) | Image decoding apparatus | |
US11223827B2 (en) | Image encoding device, image decoding device, and the programs thereof | |
US20120128064A1 (en) | Image processing device and method | |
CN116195254A (en) | Template matching prediction for universal video coding | |
EP3402199A1 (en) | Image decoding method | |
US20110182524A1 (en) | Image processing device and image processing method | |
US20100166075A1 (en) | Method and apparatus for coding video image | |
US20140219343A1 (en) | Method and apparatus for generating reconstructed block | |
WO2019109906A1 (en) | Video encoding method, encoder, electronic device and medium | |
US20080232706A1 (en) | Method and apparatus for encoding and decoding image using pixel-based context model | |
US20200084471A1 (en) | Methods and devices for coding and decoding a data stream representative of at least one image | |
CN111263158B (en) | Multi-transformation-core rapid processing method based on spatial correlation | |
TWI410140B (en) | Video encoder and method for performing intra-prediction and video data compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MEDIATEK SINGAPORE PTE. LTD., SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ZHANG, KAI;REEL/FRAME:023555/0455 Effective date: 20090803 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: XUESHAN TECHNOLOGIES INC., CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MEDIATEK SINGAPORE PTE LTD.;REEL/FRAME:055283/0048 Effective date: 20201223 |