US8831099B2 - Selecting a macroblock encoding mode by using raw data to compute intra cost - Google Patents
Selecting a macroblock encoding mode by using raw data to compute intra cost Download PDFInfo
- Publication number
- US8831099B2 US8831099B2 US12/337,560 US33756008A US8831099B2 US 8831099 B2 US8831099 B2 US 8831099B2 US 33756008 A US33756008 A US 33756008A US 8831099 B2 US8831099 B2 US 8831099B2
- Authority
- US
- United States
- Prior art keywords
- macroblock
- cost
- encoding
- pixels
- data
- 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.)
- Active, expires
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/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/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- 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
Definitions
- Embodiments according to the present invention generally relate to video encoding (video compression).
- H.264 also known as Moving Pictures Experts Group-4 (MPEG-4) Part 10 or MPEG-4 Advanced Video Coding (AVC)
- MPEG-4 MPEG-4 Advanced Video Coding
- AVC MPEG-4 Advanced Video Coding
- a video includes a series of pictures (or frames), with each frame consisting of a two-dimensional array of pixels.
- the pixels are divided into macroblocks (e.g., a 16 ⁇ 16 array of pixels).
- a macroblock number or identifier (ID) is associated with each macroblock.
- the macroblocks are numbered starting at the top-left of the frame, in increasing order from left-to-right and top-to-bottom.
- H.264 offers a rich choice of macroblock encoding modes or types.
- the encoding modes can be generally characterized as either inter-encoding, which takes advantage of temporal redundancy between frames, or intra-encoding, which takes advantage of spatial redundancy between macroblocks in the same frame.
- a decision regarding the type of encoding to be used is made by comparing the rate-distortion (RD) cost for each of the different modes under consideration, and then selecting the mode that has the lowest cost.
- RD rate-distortion
- Macroblocks are typically encoded in a multi-stage pipeline.
- a macroblock e.g., macroblock K
- macroblock K is encoded in one stage and then reconstructed from the encoded data in a subsequent stage.
- the mode decision process for macroblock K utilizes the reconstructed data for one or more of the macroblocks (e.g., macroblock K- 1 ) that preceded macroblock K in the encoding pipeline.
- a macroblock needed for the mode decision process may still be in the process of being reconstructed, and hence the necessary reconstructed data is not available for the cost calculations. Consequently, the encoding pipeline may stall until the data needed for the cost calculations becomes available.
- a decision about how to encode a particular macroblock is made using raw (non-encoded) data for the current macroblock in the cost calculations instead of reconstructed data from another macroblock.
- the first (left-most) column of raw pixel data for the current macroblock is used in the mode decision process.
- the bottom row of reconstructed pixel data for the macroblock above the current macroblock can be replaced in the mode decision process with the top row of raw pixel data for the current macroblock.
- FIG. 1 is a functional block diagram of an encoding pipeline according to an embodiment of the invention.
- FIG. 2 illustrates an example of a macroblock according to an embodiment of the invention.
- FIGS. 3A and 3B illustrate a first intra-encoding prediction mode according to an embodiment of the invention.
- FIGS. 4A and 4B illustrate a second intra-encoding prediction mode according to an embodiment of the invention.
- FIGS. 5A and 5B illustrate a third intra-encoding prediction mode according to an embodiment of the invention.
- FIG. 6 is a flowchart of an example of a computer-implemented method for selecting an encoding mode according to an embodiment of the invention.
- FIG. 7 is a flowchart of an example of a computer-implemented method for computing rate-distortion costs according to an embodiment of the invention.
- adjacent is used herein to describe either a pair of vertices that have common edges or a pair of edges that have a common vertex
- contiguous is used herein to describe adjacent pixels connected together so as to form a row or column of pixels.
- Embodiments of the invention can be implemented as computer-executable instructions residing on some form of computer-usable medium, such as program modules, executed by one or more computers or other devices.
- program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
- the functionality of the program modules may be combined or distributed as desired in various embodiments.
- Computer-usable 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, random access memory (RAM), read only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory or other memory technology, compact disk ROM (CD-ROM), digital versatile disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information.
- Communication media can embody 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 direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
- FIG. 1 is a functional block diagram of an encoding pipeline 100 according to an embodiment of the invention.
- the encoding pipeline is controlled by a driver executed by a central processing unit (CPU) 150 .
- the encoding pipeline itself may be implemented in hardware or software or a combination thereof.
- the encoding pipeline is utilized in an H.264 encoder that, in general, encodes (compresses) frames of image data (e.g., video data).
- H.264 may also be known as MPEG-4 Part 10 or MPEG-4 AVC.
- MPEG-4 Part 10 or MPEG-4 AVC.
- each video or picture frame is divided into macroblocks (an M ⁇ N array of pixels).
- some type of macroblock ID is associated with each macroblock.
- Each macroblock ID is unique within a frame; that is, each macroblock in a frame can be uniquely identified by its macroblock ID.
- the macroblocks in a frame are arrayed in rows and columns.
- encoding is performed starting with the macroblock in the first row and first column—that is, with reference to the orientation in which the image would be displayed, encoding starts at the left end of the top row of the image and proceeds in order from left-to-right and top-to-bottom.
- the macroblock IDs usually coincide with the encoding order.
- Raw (non-encoded) image data (e.g., video data) is encoded using some type of compression scheme (e.g., H.264) to generate a set of encoding parameters such as, but not limited to, frame type (e.g., intra-coded I-frame, predicted P-frame or bi-predicted B-frame), macroblock prediction mode (e.g., inter-encoding versus intra-encoding), transform (e.g., discrete cosine transform) coefficients, texture coefficients, and motion vector information.
- the encoding parameters are then translated into variable length codes (VLCs), using Huffman coding for example.
- VLCs variable length codes
- the encoded bitstream is a serialized bitstream containing the VLCs.
- One of the functions performed by the encoding pipeline is to select a macroblock prediction mode (inter-encoding versus intra-encoding) for each macroblock of the raw data.
- a decision regarding the type of encoding to be used is made by comparing the rate-distortion (RD) cost for each of the modes and then selecting the mode that has the lowest cost.
- RD costs can be determined using any of a variety of cost functions known in the art, such as sum of absolute differences (SAD) or sum of absolute transformed differences (SATD) cost functions.
- the encoding pipeline includes a first stage 110 , a second stage 120 , and a third stage 130 . While the first stage is operating on the data for macroblock (MB) K, the second stage is operating on the data for macroblock K- 1 , and the third stage is operating on the data for macroblock K- 2 .
- MB macroblock
- the first stage of the FIG. 1 pipeline accesses raw image data and conducts a motion search; the second stage transforms (e.g., discrete cosine transforms) the results of the motion search; and the third stage encodes the transformed data as VLCs.
- the second stage transforms (e.g., discrete cosine transforms) the results of the motion search; and the third stage encodes the transformed data as VLCs.
- reconstructed data from MB K- 1 in the second stage would be used in the mode decision process for MB K in the first stage.
- the raw data accessed by the first stage is used in the mode decision process instead of the reconstructed data.
- it is not necessary to wait for reconstructed data for a preceding macroblock e.g., macroblock K- 1 , which is at the second pipeline stage
- RD costs can be calculated at the first pipeline stage instead of at the second pipeline stage.
- the encoder can perform more efficiently.
- FIG. 2 illustrates a macroblock 200 and portions of neighboring (adjacent) macroblocks 210 , 220 and 230 in an image frame.
- the macroblock 200 may be referred to herein as the current macroblock or as the first macroblock (where “first” is used as a distinguishing identifier and not to indicate order or rank).
- the macroblock 200 corresponds to macroblock K of FIG. 1 .
- the macroblocks 210 , 220 and 230 precede the macroblock 200 through the encoding pipeline of FIG. 1 .
- the macroblock 230 corresponds to macroblock K- 1 .
- the macroblock 200 includes a 16 ⁇ 16 array of pixels or blocks, although the present invention is not so limited.
- the macroblock 200 may include a 4 ⁇ 4 array of blocks.
- the macroblock 200 does not necessarily have to be square; for example, the macroblock 200 may include a 16 ⁇ 8 array of blocks.
- the macroblock 200 includes an M ⁇ N array of macroblocks.
- the current macroblock (macroblock 200 ) is identified as MB(n,m), where ‘n’ refers to a row of macroblocks within the frame and ‘m’ refers to a column of macroblocks within the frame. Accordingly, the macroblock 210 is identified as MB(n- 1 ,m- 1 ), the macroblock 220 is identified as MB(n- 1 ,m), and the macroblock 230 is identified as MB(n,m- 1 ). Considering the orientation of the frame in FIG.
- the macroblock MB(n,m- 1 ) is adjacent to and left of the current macroblock
- the macroblock MB(n- 1 ,m) is adjacent to and above the current macroblock
- the macroblock MB(n- 1 ,m- 1 ) is adjacent to both the macroblocks (n,m- 1 ) and (n- 1 ,m) and shares a vertex with the current macroblock.
- the macroblock 200 (the current macroblock) consists of raw data.
- the pixels in the current macroblock are identified as c(x,y), where ‘x’ is the row number in the current macroblock and ‘y’ is the column number in the current macroblock.
- the macroblocks 210 and 220 consist of reconstructed data, and the macroblock 230 either consists of reconstructed data or is in the process of being decoded into reconstructed data.
- the reconstructed pixels used in the mode decision process include some combination of the following pixels, depending on the macroblock encoding mode being evaluated:
- pixels related to the last (bottom) row of the macroblock 220 pixels p(15,0), p(15,1), . . . , p(15,15);
- pixels related to the last (right-most) column of the macroblock 230 pixels q(0,15), q(1,15), . . . , q(15,15); and/or
- embodiments according to the invention use raw pixel data for the current macroblock (macroblock 200 ), instead of the reconstructed pixel data listed above, to make a decision about how to encode the current macroblock. More specifically, instead of using the data for the pixels in the last (bottom) row of the macroblock 220 in certain cost calculations, data for the pixels in the first (top) row of the macroblock 200 is used. Similarly, instead of using data for the pixels in the last (right-most) column of the macroblock 230 in certain other cost calculations, data for the pixels in the first (left-most) column of the macroblock 200 is used.
- the RD cost associated with each of these modes is determined using different combinations of the raw data for the current macroblock.
- FIGS. 3A and 3B illustrate the horizontal intra-encoding prediction mode according to an embodiment of the present invention.
- the current macroblock 200 includes raw pixel data as previously described herein.
- the first column of raw pixel data is applied across the entire macroblock as shown in FIG. 3B .
- FIGS. 4A and 4B illustrate the vertical intra-encoding prediction mode according to an embodiment of the present invention.
- the current macroblock 200 includes raw pixel data as previously described herein.
- the first row of raw pixel data is applied across the entire macroblock as shown in FIG. 4B .
- FIGS. 5A and 5B illustrate the DC intra-encoding prediction mode according to an embodiment of the present invention.
- the DC value calculated using equation (1) is applied across the entire macroblock as shown in FIG. 5B .
- the RD cost can be calculated for each of the other H.264 intra-encoding prediction modes using the current macroblock's raw pixel data in a manner similar to that just described. In other words, generally speaking, the cost calculations are preformed as they usually are, except that the current macroblock's raw data is substituted for the corresponding reconstructed data—that is, a row of raw data is substituted for a row of reconstructed data, and so on.
- the RD cost associated with inter-encoding the current macroblock is calculated in a conventional manner.
- FIG. 6 is a flowchart 600 of an example of a computer-implemented method for selecting a macroblock encoding mode according to one embodiment of the present invention.
- raw image data for the current macroblock e.g., macroblock 200 of FIG. 2
- reconstructed data for a corresponding macroblock or macroblocks of a second image frame may also be accessed.
- the second image frame may precede or follow the current image frame in display order.
- the second image frame may be a reference frame such as an I-frame or a P-frame or perhaps a B-frame—according to H.264, a B-frame can be used as a reference frame.
- an RD cost is determined for each intra-encoding mode under consideration.
- costs are calculated for each H.264 intra-encoding mode.
- costs are calculated for only three of those modes—namely, the horizontal, vertical, and DC prediction modes (Icost-H, Icost-V and Icost-DC, respectively). As described previously herein, these costs are calculated using the raw data for the current macroblock.
- the cost (Pcost) for inter-encoding the current macroblock is determined using the reconstructed data from the second image frame mentioned above.
- the costs calculated in blocks 620 and 630 are compared to determine which is the lowest.
- the minimum value of Icost-H, Icost-V and Icost-DC is compared to the value of Pcost. If Pcost is lower than the minimum of Icost-H, Icost-V and Icost-DC, then the current macroblock is inter-encoded. Otherwise, the current macroblock is intra-encoded.
- the comparison in block 640 is intended to decide between inter-encoding and intra-encoding and is not necessarily performed to select a type of intra-encoding (if intra-encoding is to be performed), although the comparison could be used in this manner.
- Icost-H for example, was determined to have the lowest value of all the computed costs (including Pcost), this would not necessarily mean that the current macroblock will be encoded using the horizontal prediction mode, although it could be.
- FIG. 7 is a flowchart 700 of an example of a computer-implemented method for computing costs according to one embodiment of the present invention.
- raw (non-encoded) data for a first macroblock (the current macroblock, e.g., the macroblock 200 of FIG. 2 ) of an image frame is accessed.
- a cost associated with encoding the first macroblock according to a first encoding type is computed.
- the first encoding type is characterized as intra-encoding.
- the horizontal prediction mode, vertical prediction mode, and DC prediction mode may each be evaluated.
- a cost is computed for each intra-encoding mode under consideration.
- the intra-encoding costs are computed using non-encoded (raw) data from the first (current) macroblock in place of reconstructed image data from at least a second macroblock of the image frame (e.g., one or more of the macroblocks 210 , 220 and 230 of FIG. 2 ).
- intra-encoding costs are computed using raw data from the current macroblock instead of reconstructed data from one or more neighboring macroblocks.
- an intra-encoding cost can be computed using, at least in part, non-encoded image data from a first set of contiguous pixels of the first macroblock instead of reconstructed image data from a second set of contiguous pixels of another macroblock, where the first and second sets of pixels are adjacent and parallel.
- the first set of contiguous pixels may include a row (e.g., the top row) of the first macroblock and the second set of contiguous pixels may include a row (e.g., the bottom row) of another macroblock, or the first set of contiguous pixels may include a column (e.g., the left column) of the first macroblock and the second set of contiguous pixels may include a column (e.g., the right column) of another macroblock.
- an intra-encoding cost can be computed using, at least in part, non-encoded image data for a first pixel (e.g., pixel c(0,0) of FIG. 2 ) of the first macroblock instead of reconstructed image data for a second pixel (e.g., pixel r(15,15) of FIG. 2 ) of another macroblock, where both macroblocks have a vertex in common.
- a first pixel e.g., pixel c(0,0) of FIG. 2
- a second pixel e.g., pixel r(15,15) of FIG. 2
- an intra-encoding cost can be computed using a DC value that is itself computed using non-encoded image data from a column of the first macroblock in combination with non-encoded image data from a row of the first macroblock (using equation (1), for example).
- the intra-encoding costs are used to select an encoding type for the first macroblock. More specifically, the intra-encoding costs can be compared to an inter-encoding cost as described above in conjunction with FIG. 6 in order to make a decision whether to inter-encode or intra-encode the first macroblock. The process of FIG. 7 can then be repeated for each subsequent macroblock in the image frame, and for each subsequent image frame.
- a decision about how to encode a particular macroblock is made using raw data for that macroblock in the cost calculations instead of reconstructed data from one or more other macroblocks.
- it is not necessary to wait for reconstructed data to become available for the mode decision process. Consequently, encoder performance is improved because stalls due to the unavailability of reconstructed data are avoided. Also, because the need to store and retrieve reconstructed data for the cost calculations is eliminated, less memory and less bus bandwidth are consumed.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
| TABLE 1 | ||
| Prediction | ||
| Mode | Left Pixels | Top Pixels |
| Horizontal | c(0, 0), c(1, 0), . . . , c(15, 0) | N/A |
| Vertical | N/A | c(0, 0), c(0, 1), . . . , c(0, 15) |
| DC | c(0, 0), c(1, 0), . . . , c(15, 0) | c(0, 0), c(0, 1), . . . , c(0, 15) |
| Plane | c(0, 0), c(1, 0), . . . , c(15, 0); | c(0, 0), c(0, 1), . . . , c(0, 15) |
| c(0, 0) in place of r(15, 15) | ||
DC={(c(0,0)+c(0,1)+ . . . +c(0,15))+(c(0,0)+c(1,0)+ . . . +c(15,0))}>>5. (1)
For the RD cost calculation, the DC value calculated using equation (1) is applied across the entire macroblock as shown in
Claims (18)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/337,560 US8831099B2 (en) | 2008-12-17 | 2008-12-17 | Selecting a macroblock encoding mode by using raw data to compute intra cost |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/337,560 US8831099B2 (en) | 2008-12-17 | 2008-12-17 | Selecting a macroblock encoding mode by using raw data to compute intra cost |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20100150237A1 US20100150237A1 (en) | 2010-06-17 |
| US8831099B2 true US8831099B2 (en) | 2014-09-09 |
Family
ID=42240491
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/337,560 Active 2032-05-08 US8831099B2 (en) | 2008-12-17 | 2008-12-17 | Selecting a macroblock encoding mode by using raw data to compute intra cost |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US8831099B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9467705B2 (en) | 2009-12-30 | 2016-10-11 | Ariscale Inc. | Video encoding apparatus, video decoding apparatus, and video decoding method for performing intra-prediction based on directionality of neighboring block |
| JP5713719B2 (en) * | 2011-02-17 | 2015-05-07 | 株式会社日立国際電気 | Video encoding device |
| US10313686B2 (en) * | 2016-09-20 | 2019-06-04 | Gopro, Inc. | Apparatus and methods for compressing video content using adaptive projection selection |
Citations (40)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5859668A (en) | 1993-12-13 | 1999-01-12 | Sharp Kabushiki Kaisha | Prediction mode selecting device in moving image coder |
| US5930390A (en) * | 1996-03-28 | 1999-07-27 | Intel Corporation | Encoding/decoding signals using a remap table |
| US6025888A (en) | 1997-11-03 | 2000-02-15 | Lucent Technologies Inc. | Method and apparatus for improved error recovery in video transmission over wireless channels |
| US20020159525A1 (en) | 2001-03-15 | 2002-10-31 | Lg Electronics Inc. | Effective error recovery method using packet loss rate of networks in realtime video transfer system |
| US20030158608A1 (en) | 2002-02-13 | 2003-08-21 | Canon Kabushiki Kaisha | Data processing apparatus, image processing apparatus, and method therefor |
| US20030223645A1 (en) | 2002-05-28 | 2003-12-04 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode estimation |
| US20030235249A1 (en) | 2002-06-25 | 2003-12-25 | Chengji Zhao | Video encoder and method for encoding video frames |
| US20040028282A1 (en) | 2001-09-14 | 2004-02-12 | Sadaatsu Kato | Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program |
| US20040114576A1 (en) | 2001-08-29 | 2004-06-17 | Tomoaki Itoh | Date transmission/reception method |
| US6765964B1 (en) | 2000-12-06 | 2004-07-20 | Realnetworks, Inc. | System and method for intracoding video data |
| US20040184548A1 (en) | 2001-07-27 | 2004-09-23 | Paul Kerbiriou | Method and device for coding a mosaic |
| WO2004104930A2 (en) | 2003-05-20 | 2004-12-02 | Amt Advanced Multimedia Technology Ab | Hybrid video compression method |
| US20050089094A1 (en) | 2003-10-24 | 2005-04-28 | Samsung Electronics Co., Ltd. | Intra prediction method and apparatus |
| US20050157797A1 (en) | 2004-01-21 | 2005-07-21 | Klaus Gaedke | Method and apparatus for generating/evaluating in a picture signal encoding/decoding one or more prediction information items |
| US20050249293A1 (en) | 2004-05-07 | 2005-11-10 | Weimin Zeng | Noise filter for video processing |
| US20060018385A1 (en) | 2004-07-21 | 2006-01-26 | Samsung Electronics Co., Ltd. | Method and apparatus for intra prediction of video data |
| US20060126730A1 (en) | 2004-12-13 | 2006-06-15 | Matsushita Electric Industrial Co., Ltd. | Intra prediction apparatus and intra prediction method |
| US20060233447A1 (en) | 2005-04-14 | 2006-10-19 | Nec Electronics Corporation | Image data decoding apparatus and method |
| US20060268990A1 (en) | 2005-05-25 | 2006-11-30 | Microsoft Corporation | Adaptive video encoding using a perceptual model |
| JP2007013298A (en) | 2005-06-28 | 2007-01-18 | Renesas Technology Corp | Image coding apparatus |
| US20070019726A1 (en) | 2005-07-21 | 2007-01-25 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding video signal by extending application of directional intra-prediction |
| US7170937B2 (en) | 2002-05-01 | 2007-01-30 | Texas Instruments Incorporated | Complexity-scalable intra-frame prediction technique |
| US20070217508A1 (en) | 2006-03-17 | 2007-09-20 | Fujitsu Limited | Apparatus and method for coding moving pictures |
| US20070229325A1 (en) | 2006-04-03 | 2007-10-04 | Fuji Xerox Co., Ltd. | Data processing apparatus, data processing method, computer readable medium storing program, and computer data signal |
| US7289674B2 (en) | 2002-06-11 | 2007-10-30 | Nokia Corporation | Spatial prediction based intra coding |
| US20080069211A1 (en) * | 2006-09-14 | 2008-03-20 | Kim Byung Gyu | Apparatus and method for encoding moving picture |
| US20080219576A1 (en) * | 2007-03-07 | 2008-09-11 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding image |
| US20080232463A1 (en) * | 2004-11-04 | 2008-09-25 | Thomson Licensing | Fast Intra Mode Prediction for a Video Encoder |
| JP2008227670A (en) | 2007-03-09 | 2008-09-25 | Victor Co Of Japan Ltd | Image coding device |
| US20080291995A1 (en) | 2007-05-25 | 2008-11-27 | Carl Norman Graham | Adaptive video encoding apparatus and methods |
| US20090034856A1 (en) | 2005-07-22 | 2009-02-05 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein |
| US20090154560A1 (en) | 2007-12-17 | 2009-06-18 | Edward Hong | Video codec with shared interpolation filter and method for use therewith |
| US7706442B2 (en) | 2005-02-15 | 2010-04-27 | Industrial Technology Research Institute | Method for coding mode selection of intra prediction in video compression |
| US20100158105A1 (en) | 2008-12-19 | 2010-06-24 | Nvidia Corporation | Post-processing encoding system and method |
| US20100166073A1 (en) | 2008-12-31 | 2010-07-01 | Advanced Micro Devices, Inc. | Multiple-Candidate Motion Estimation With Advanced Spatial Filtering of Differential Motion Vectors |
| US7953284B2 (en) | 2007-03-29 | 2011-05-31 | James Au | Selective information handling for video processing |
| US8059717B2 (en) | 2005-10-28 | 2011-11-15 | Panasonic Corporation | Image coding apparatus, method and program for intra prediction using specified H.264 prediction modes in specified scan order |
| US8315467B2 (en) | 2008-05-29 | 2012-11-20 | Renesas Electronics Corporation | Image encoding device and image encoding method |
| US8355449B2 (en) | 2004-12-08 | 2013-01-15 | Nvidia Corporation | System and method for intra refresh implementation with pseudo random number generation |
| US8761253B2 (en) | 2008-05-28 | 2014-06-24 | Nvidia Corporation | Intra prediction mode search scheme |
-
2008
- 2008-12-17 US US12/337,560 patent/US8831099B2/en active Active
Patent Citations (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5859668A (en) | 1993-12-13 | 1999-01-12 | Sharp Kabushiki Kaisha | Prediction mode selecting device in moving image coder |
| US5930390A (en) * | 1996-03-28 | 1999-07-27 | Intel Corporation | Encoding/decoding signals using a remap table |
| US6025888A (en) | 1997-11-03 | 2000-02-15 | Lucent Technologies Inc. | Method and apparatus for improved error recovery in video transmission over wireless channels |
| US6765964B1 (en) | 2000-12-06 | 2004-07-20 | Realnetworks, Inc. | System and method for intracoding video data |
| US20020159525A1 (en) | 2001-03-15 | 2002-10-31 | Lg Electronics Inc. | Effective error recovery method using packet loss rate of networks in realtime video transfer system |
| US20040184548A1 (en) | 2001-07-27 | 2004-09-23 | Paul Kerbiriou | Method and device for coding a mosaic |
| US20040114576A1 (en) | 2001-08-29 | 2004-06-17 | Tomoaki Itoh | Date transmission/reception method |
| US20040028282A1 (en) | 2001-09-14 | 2004-02-12 | Sadaatsu Kato | Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program |
| US20030158608A1 (en) | 2002-02-13 | 2003-08-21 | Canon Kabushiki Kaisha | Data processing apparatus, image processing apparatus, and method therefor |
| US7170937B2 (en) | 2002-05-01 | 2007-01-30 | Texas Instruments Incorporated | Complexity-scalable intra-frame prediction technique |
| US20030223645A1 (en) | 2002-05-28 | 2003-12-04 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode estimation |
| US7289674B2 (en) | 2002-06-11 | 2007-10-30 | Nokia Corporation | Spatial prediction based intra coding |
| US20030235249A1 (en) | 2002-06-25 | 2003-12-25 | Chengji Zhao | Video encoder and method for encoding video frames |
| WO2004104930A2 (en) | 2003-05-20 | 2004-12-02 | Amt Advanced Multimedia Technology Ab | Hybrid video compression method |
| KR20060027795A (en) | 2003-05-20 | 2006-03-28 | 에이엠티 어드밴스트 멀티미디어 테그놀로지 에이비 | Hybrid video compression method |
| US20060251330A1 (en) | 2003-05-20 | 2006-11-09 | Peter Toth | Hybrid video compression method |
| US20050089094A1 (en) | 2003-10-24 | 2005-04-28 | Samsung Electronics Co., Ltd. | Intra prediction method and apparatus |
| US20050157797A1 (en) | 2004-01-21 | 2005-07-21 | Klaus Gaedke | Method and apparatus for generating/evaluating in a picture signal encoding/decoding one or more prediction information items |
| US20050249293A1 (en) | 2004-05-07 | 2005-11-10 | Weimin Zeng | Noise filter for video processing |
| US20060018385A1 (en) | 2004-07-21 | 2006-01-26 | Samsung Electronics Co., Ltd. | Method and apparatus for intra prediction of video data |
| US20080232463A1 (en) * | 2004-11-04 | 2008-09-25 | Thomson Licensing | Fast Intra Mode Prediction for a Video Encoder |
| US8437405B1 (en) | 2004-12-08 | 2013-05-07 | Nvidia Corporation | System and method for intra refresh implementation |
| US8355449B2 (en) | 2004-12-08 | 2013-01-15 | Nvidia Corporation | System and method for intra refresh implementation with pseudo random number generation |
| US20060126730A1 (en) | 2004-12-13 | 2006-06-15 | Matsushita Electric Industrial Co., Ltd. | Intra prediction apparatus and intra prediction method |
| US7706442B2 (en) | 2005-02-15 | 2010-04-27 | Industrial Technology Research Institute | Method for coding mode selection of intra prediction in video compression |
| US20060233447A1 (en) | 2005-04-14 | 2006-10-19 | Nec Electronics Corporation | Image data decoding apparatus and method |
| US20060268990A1 (en) | 2005-05-25 | 2006-11-30 | Microsoft Corporation | Adaptive video encoding using a perceptual model |
| JP2007013298A (en) | 2005-06-28 | 2007-01-18 | Renesas Technology Corp | Image coding apparatus |
| US20070019726A1 (en) | 2005-07-21 | 2007-01-25 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding video signal by extending application of directional intra-prediction |
| US20090034856A1 (en) | 2005-07-22 | 2009-02-05 | Mitsubishi Electric Corporation | Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein |
| US8059717B2 (en) | 2005-10-28 | 2011-11-15 | Panasonic Corporation | Image coding apparatus, method and program for intra prediction using specified H.264 prediction modes in specified scan order |
| US20070217508A1 (en) | 2006-03-17 | 2007-09-20 | Fujitsu Limited | Apparatus and method for coding moving pictures |
| US20070229325A1 (en) | 2006-04-03 | 2007-10-04 | Fuji Xerox Co., Ltd. | Data processing apparatus, data processing method, computer readable medium storing program, and computer data signal |
| US20080069211A1 (en) * | 2006-09-14 | 2008-03-20 | Kim Byung Gyu | Apparatus and method for encoding moving picture |
| US20080219576A1 (en) * | 2007-03-07 | 2008-09-11 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding image |
| JP2008227670A (en) | 2007-03-09 | 2008-09-25 | Victor Co Of Japan Ltd | Image coding device |
| US7953284B2 (en) | 2007-03-29 | 2011-05-31 | James Au | Selective information handling for video processing |
| US20080291995A1 (en) | 2007-05-25 | 2008-11-27 | Carl Norman Graham | Adaptive video encoding apparatus and methods |
| US20090154560A1 (en) | 2007-12-17 | 2009-06-18 | Edward Hong | Video codec with shared interpolation filter and method for use therewith |
| US8761253B2 (en) | 2008-05-28 | 2014-06-24 | Nvidia Corporation | Intra prediction mode search scheme |
| US8315467B2 (en) | 2008-05-29 | 2012-11-20 | Renesas Electronics Corporation | Image encoding device and image encoding method |
| US20100158105A1 (en) | 2008-12-19 | 2010-06-24 | Nvidia Corporation | Post-processing encoding system and method |
| US20100166073A1 (en) | 2008-12-31 | 2010-07-01 | Advanced Micro Devices, Inc. | Multiple-Candidate Motion Estimation With Advanced Spatial Filtering of Differential Motion Vectors |
Also Published As
| Publication number | Publication date |
|---|---|
| US20100150237A1 (en) | 2010-06-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI755376B (en) | Geometric transforms for filters for video coding | |
| RU2722536C1 (en) | Output of reference mode values and encoding and decoding of information representing prediction modes | |
| US10397575B2 (en) | Image coding apparatus, image coding method, and program, and image decoding apparatus, image decoding method, and program | |
| US10142654B2 (en) | Method for encoding/decoding video by oblong intra prediction | |
| US7480335B2 (en) | Video decoder for decoding macroblock adaptive field/frame coded video data with spatial prediction | |
| US8913666B2 (en) | Entropy coding coefficients using a joint context model | |
| JP4927753B2 (en) | Moving picture coding method, moving picture decoding method, moving picture coding apparatus, moving picture decoding apparatus, and semiconductor device | |
| CN113923455B (en) | A bidirectional inter-frame prediction method and device | |
| US12610043B2 (en) | Intra prediction modes signaling | |
| EP2733951A1 (en) | Method for decoding moving picture using adaptive scanning | |
| US20090323809A1 (en) | Fragmented reference in temporal compression for video coding | |
| US9635388B2 (en) | Moving image encoding device, moving image encoding method, and computer program product | |
| US20110243220A1 (en) | Method and apparatus for encoding and decoding image and method and apparatus for decoding image using adaptive coefficient scan order | |
| US20070098078A1 (en) | Method and apparatus for video encoding/decoding | |
| US12593034B2 (en) | Methods and devices for decoder-side intra mode derivation | |
| US8737469B1 (en) | Video encoding system and method | |
| US20240187624A1 (en) | Methods and devices for decoder-side intra mode derivation | |
| US20240214561A1 (en) | Methods and devices for decoder-side intra mode derivation | |
| US8831099B2 (en) | Selecting a macroblock encoding mode by using raw data to compute intra cost | |
| US20050259734A1 (en) | Motion vector generator for macroblock adaptive field/frame coded video data | |
| US8811474B2 (en) | Encoder and encoding method using coded block pattern estimation | |
| US7843997B2 (en) | Context adaptive variable length code decoder for decoding macroblock adaptive field/frame coded video data | |
| US20090304292A1 (en) | Encoding and decoding methods, devices implementing said methods and bitstream | |
| CN113225558A (en) | Smooth orientation and DC intra prediction | |
| KR20090046791A (en) | An encoding method, a decoding method, a device implementing the method, and a bitstream |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: NVIDIA CORPORATION,CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PARHY, MANINDRA;GARG, ATUL;VENKATAPURAM, PRAHLAD;AND OTHERS;SIGNING DATES FROM 20081216 TO 20081217;REEL/FRAME:022038/0584 Owner name: NVIDIA CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PARHY, MANINDRA;GARG, ATUL;VENKATAPURAM, PRAHLAD;AND OTHERS;SIGNING DATES FROM 20081216 TO 20081217;REEL/FRAME:022038/0584 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |