WO2012174973A1 - Method and apparatus for line buffers reduction - Google Patents
Method and apparatus for line buffers reduction Download PDFInfo
- Publication number
- WO2012174973A1 WO2012174973A1 PCT/CN2012/076136 CN2012076136W WO2012174973A1 WO 2012174973 A1 WO2012174973 A1 WO 2012174973A1 CN 2012076136 W CN2012076136 W CN 2012076136W WO 2012174973 A1 WO2012174973 A1 WO 2012174973A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- blocks
- block
- block information
- representative
- neighboring
- 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.)
- Ceased
Links
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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
- H04N19/426—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Definitions
- the present invention relates to video coding.
- the present invention relates to reduction of line buffers for storing block information.
- block information of neighboring blocks are usually utilized to predict motion data or related syntax elements of a current block.
- the neighboring blocks usually correspond to blocks previously processed so that the information of the neighboring blocks can be derived at the decoder side without side information or with minimum side information.
- the neighboring blocks may be these blocks on the upper side or left side of the current block when the blocks in a picture are processed in a raster scan order.
- the previously processed blocks may also correspond to blocks in a previously processed frame (inter- frame prediction).
- the motion data has to be buffered in memory.
- motion data for a row of blocks at a slice boundary may have to be buffered since they may be relied upon by blocks in the next slice.
- the memory required to store data associated with pixel lines in a picture is usually referred to as line buffer.
- the memory required for storing information associated with a row of blocks is also termed as line buffer in a broader sense.
- pixel lines involved may be a segment of pixel lines instead of whole pixel lines.
- the line buffer may be implemented using on-chip memory. Depending on the picture width or the segment size, the line buffer may be sizeable and consequently result in high chip cost. Accordingly, it is desirable to develop line buffer reduction scheme to reduce the memory requirement for storing block information associated with the blocks for neighboring-block-dependent processing. However, line buffer reduction of the motion data may impact coding performance. It is also desirable to develop line buffer reduction scheme that will cause no performance degradation or minimum performance degradation.
- the method and apparatus for line buffer reduction comprise receiving the first-blocks at the outside boundary of the second-block stripe consisting of second-blocks, wherein one or more of the first- blocks are used by a third-block at an inside boundary of the second-block stripe as neighboring blocks for neighboring-block-dependent processing, and wherein each of the first-blocks is associated with a set of block information, determining a set of representative block information for every N first-blocks, wherein N is a first integer greater than 1 ; and storing the set of representative block information for every N first-blocks in memory, wherein the set of representative block information is used to derive the set of block information for every first-block in every N first-blocks.
- the set of block information includes one or a combination of the following: inter prediction direction, reference picture index, motion vector, motion vector difference, motion vector predictor (MVP) candidate, and merge candidate, and said neighboring- block-dependent processing is motion vector predictor (MVP) candidate derivation, merge candidate derivation, or reference motion vector derivation.
- MVP motion vector predictor
- the set of representative block information corresponds to the set of block information selected from one of every N first-blocks.
- Said one of every N first-blocks can be selected according to positions or importance of every N first-blocks. For example, the k-th position or the center position of every N first-blocks can be selected.
- first position of one N first-blocks is selected for said one N first-blocks and last position of another N first-blocks is selected for said another N first-blocks, wherein said one N first- blocks are adjacent to said another N first-blocks.
- the set of representative block information is derived by performing a mathematical operation, such as median or weighted sum, on the sets of block information associated with two or more first-blocks of every N first-blocks.
- Another aspect of the present invention relates to line buffer reduction control according to an indication explicitly incorporated in video bitstream or implicitly derived from the video bitstream.
- the indication is related to whether minimum size or minimum width of the first-blocks is larger than a threshold.
- the threshold can be a predefined value or can be incorporated in a sequence, picture, or slice level of video bitstream such as sequence parameter set (SPS), picture parameter set (PPS), adaptive parameter set (APS) or a slice header.
- the indication can be a flag incorporated in a sequence, picture, or slice level of video bitstream such as SPS, PPS, APS or a slice header.
- Fig. 1 illustrates an example of dependency on neighboring blocks for motion vector predictor (MVP) candidate derivation in the High-Efficiency Video Coding (HEVC) coding system;
- MVP motion vector predictor
- FIG. 2 illustrates an example of line buffers requirement for storing block information of blocks at an LCU row boundary in the HEVC coding system
- FIG. 3 illustrates an example of a 64x64 LCU divided into 4x4 blocks, where motion data associated with the bottom row of 4x4 blocks is buffered;
- Fig. 4 illustrates neighboring block dependency of blocks on the upper side of a current CU/PU at various sizes ;
- Fig. 5 illustrates an exemplary 2:1 line buffer reduction, where one set of representative block information determined from one of two blocks is shared by the two blocks ;
- Fig. 6 illustrates an exemplary 4:1 line buffer reduction, where one set of representative block information determined from one of four blocks is shared by the four blocks ;
- Fig. 7 illustrates an exemplary tile configuration, where a picture is partitioned into tiles containing multiple LCUs ;
- Fig. 8 illustrates an example of line buffers requirement for storing block information of blocks at a vertical tile boundary in the HEVC coding system.
- block information of neighboring blocks may be utilized to predict motion data or related syntax elements of a current block.
- HEVC High-Efficiency Video Coding
- HM-4.0 Test Model version 4.0
- inter prediction direction, reference picture index, and motion vector differences (MVDs) of upper and left blocks are used for coding the syntax element of inter prediction direction, reference picture index, and MVD of the current block in entropy coding.
- the inter prediction direction, reference picture index, and MVs of upper-left (UL), upper (U), upper-right (UR0 and UR1), left (L), and bottom- left (BLO and BLl) blocks are used to generate Merge and AMVP candidates of the current block as shown in Fig. 1.
- block T denotes a temporal co- located block.
- HM-4.0 the basic unit for storing the motion data of Nx2N, NxN, 2NxN, and 2Nx2N partitions is a 4x4 block.
- Each LCU Large Coding Unit
- PUs prediction units
- the LCU is used as a PU (no partition).
- a PU is partitioned, a new PU is further partitioned until the new PU reaches a smallest size (4x4 in HM-4.0).
- FIG. 2 illustrates an example of line buffers for block information associated with blocks at an LCU row boundary in the HEVC coding system, where a current CU/PU 210 within a current LCU 220 is being processed. Block information associated with upper blocks 230 and left blocks 240 is used by the current CU/PU 210 to generate Merge and AMVP candidates.
- motion data for the row of blocks 250 on the upper side of the LCU row boundary 252 has to be stored.
- both current CU/PU 210 and current LCU 220 are adjacent to LCU row boundary 252 and both current CU/PU 210 and current LCU 220 are inside current LCU row 270.
- both current CU/PU 210 and current LCU 220 are at the inside boundary while the row of blocks 250 are at an outside boundary.
- the LCUs in a picture are processed in the raster scan order, where the LCUs of a picture are processed row by row from top to bottom. Within each row, the LCUs are processed from left to right. Therefore, size of the line buffer for motion data is proportional to the picture width.
- the line buffers in the above example are used to store information for all upper blocks across the picture width
- the line buffers may be used to store a portion of the upper blocks.
- the picture may be divided into four vertical stripes (or regions) and each stripe is processed or coded independently.
- the line buffers used for each stripe correspond to a portion of pixel lines instead of a whole pixel line across the picture width.
- the line buffers in this disclosure may correspond to storage associated with a portion or a segment of pixel lines. Since LCUs are processed in a raster scan order, buffers required for storing left LCU information are very small and can be easily implemented as on-chip memory, which will not increase any external memory access bandwidth. However, the line buffer size for wide pictures may be sizeable.
- Table 1 illustrates an exemplary motion data associated with each LCU in HM-4.0.
- the motion data for the bottom blocks of an LCU in a previous row of LCUs has to be stored for processing of the current row of LCUs, as shown in Fig. 3.
- the LCU consists of 64x64 pixels and the LCU is adaptively divided into CUs/PUs according to a performance criterion.
- the LCU may also be adaptively divided into Prediction Units (PUs). While an LCU may be adaptively divided into CUs/PUs of various sizes, motion data stored in the line buffer for the bottom blocks in an LCU row is always at the smallest block unit, i.e., 4x4 PU as shown in Fig. 3.
- the line buffers will be around 10.7 Kbytes. If the above line buffers are implemented using on-chip memory, it will increase the chip cost noticeably. If the above line buffers are implemented using off-chip memory, it will increase system memory access bandwidth. Therefore, it is desirable to reduce the line buffers for block information, such as motion data without degradation or with very little degradation of coding performance.
- the above example is based MH-4.0, specific block structure, and neighboring block dependency associated with MVP candidate derivation to illustrate the issue of line buffer requirement. Nevertheless, the present invention disclosed herein is not limited to the specific parameters of the above example.
- the blocks that form neighboring blocks of a current CU/PU and are dependent by the current CU/PU for neighboring-block-dependent processing are referred to as first- blocks in this disclosure.
- the LCU is used as a block unit in a picture that forms one or more picture areas for the intended neighboring-block- dependent processing.
- LCU row is used as an example of a picture area
- a column of LCUs or multiple columns of LCUs may also be used as a picture area for applying the intended neighboring-block-dependent processing.
- the block (i.e. LCU in this example) used to form a picture area for the intended neighboring-block-dependent processing is termed as second-block and the corresponding picture area is termed as second-block stripe in this disclosure.
- the CUs/PUs that are formed by partitioning LCU are termed as third-blocks in this disclosure.
- MVP candidate derivation is used as an example of neighboring- block-dependent processing, the present invention is not limited to the application of MVP candidate derivation.
- the motion data listed in Table 1 illustrates an example of types of block information used for neighboring-block-dependent processing, other block information may also be used. Accordingly, for generality, a set of block information will be used in this disclosure to refer to information associated with the first-block for neighboring-block-dependent processing.
- the motion data being considered for HM-4.0 include the inter prediction direction, reference picture index, MV, MVD and various related information as shown in Table 1.
- every N first-blocks share the set of representative motion data for one first-block so that N:l data compression is achieved.
- Various embodiments according to the present invention are disclosed corresponding to various derivations of the set of representative block information (i.e., representative motion data in this case).
- the set of representative block information derivation may be based on the contents of these motion data and neighboring motion data, or positions of these blocks.
- the set of representative block information for every N first-blocks will be stored in the line buffer.
- the set of block information for other blocks can be derived from the set of representative block information stored in the line buffer.
- neighboring CUs/PUs i.e., third-blocks
- the positions of the blocks may have different impact on line buffer reduction.
- the 16 blocks at the bottom of an LCU shown in Fig. 3 will be referred by a neighboring CU/PU below differently according to the CU/PU size.
- the bottom 16 blocks in Fig. 3 will be referenced by the neighboring CU/PU of various sizes as shown in Fig. 4.
- a check mark in Fig. 4 indicates that the block is referenced.
- CU/PU size 4x4
- blocks 0 and 1 will be referenced if the CU/PU is located below block 0
- blocks 1 and 2 will be referenced if the CU/PU is located below block 1.
- all 16 blocks will be referenced if the CU/PU size is 4x4 as shown in Fig. 4.
- the CU/PU size 64x64
- blocks 0 and 15 will be referenced as shown in Fig. 4. Accordingly, some of the bottom blocks are referenced or dependent on more frequently than others.
- blocks 0 and 15 are referenced by CUs of all sizes while blocks 1, 2, 5, 6, 9, 10, 13 and 14 are only referenced or dependent on by 8x8 and 4x4 CUs/PUs.
- the frequencies that the blocks are referenced can be ranked into groups: ⁇ 0, 15 ⁇ , ⁇ 7, 8 ⁇ , ⁇ 3, 4, 11, 12 ⁇ and ⁇ 1, 2, 5, 6, 9, 10, 13, 14 ⁇ .
- one embodiment of the present invention achieves line buffer reduction by removing motion data associated with the least important blocks.
- Fig. 5 illustrates an example of 2:1 line buffer reduction by retaining motion data for one block out of every two blocks. In other words, the motion data for one block out of every two blocks is not stored.
- One embodiment of 2:1 line buffer reduction according to the present invention drops motion data for the block with less importance between two neighboring blocks. Therefore, the motion data for the block with less importance between two neighboring blocks is not stored in the line buffer.
- the set of representative block information may be selected according to the block position within the N first-blocks. For example, block information corresponds to the first position, the last position, or the center position of the N first- blocks is selected for stored in the line buffer.
- the k-th position of every N first- blocks may be selected to determine the set of representative block data, where 0 ⁇ k ⁇ N.
- the motion data for the block that the motion data is not stored can be derived from the block that the motion data is stored. For example, between blocks 0 and 1, motion data is stored for block 0 and is dropped for block 1 as shown in Fig. 5. The dropped motion data for block 1 is derived from block 0 by copying the motion data for block 0. Similarly, between blocks 2 and 3, motion data is stored for block 3 and is dropped for block 2 as shown in Fig. 5. The dropped motion data for block 2 is derived from block 3 by copying the motion data for block 0. In the above exemplary 2:1 line buffer reduction, motion data for one out of two first-blocks is selected as the representative motion data for the two neighboring blocks.
- Fig. 6 illustrates an example of 4:1 line buffer reduction according to one embodiment of the present invention, where the motion data is stored for one block out of every four first-blocks.
- the motion data for the block that has the highest importance is stored while the motion data for other blocks are skipped. Accordingly, the motion data for block 0 out of four first-blocks is stored while the motion data for blocks 1 through 3 is not stored. Similarly, the motion data for block 7 out of four first-blocks is stored while the motion data for blocks 4 through 6 is not stored.
- motion data for block 0 is selected as the representative motion data for blocks 0 through 3 and motion data for block 7 is selected as the representative motion data for blocks 4 through 7.
- the examples in Fig. 5 and Fig. 6 illustrate an embodiment of the present invention to achieve N:l line buffer reduction by selecting the motion data from the most important block among a group of N first-blocks.
- the importance is measured according to the frequency that the block is referenced by neighboring CUs/PUs at various sizes.
- the importance can be evaluated if the dependency on neighboring blocks is determined. For example, the importance is measured as shown in Fig. 4 for the given dependency on neighboring blocks shown in Fig. 1. For different dependency, the importance for the first-blocks may be different.
- the importance is related to the position of the block within the LCU.
- the most important blocks are the two blocks at the boundaries of the LCU.
- the second most important blocks are the two blocks at the boundaries of the 32x32 CU.
- the third most important blocks are the two blocks at the boundaries of the 16x16 CU.
- the exemplary dependency on neighboring blocks shown in Fig. 1 is intended for motion vector prediction.
- the motion vector associated with each neighboring block is used as a MVP candidate in order to reduce the data associated with motion vector difference between the current motion vector and the motion vector predictor.
- the referenced block In the case of Inter mode, if the referenced block is Intra coded, the referenced block does not provide as important information as an Inter coded block. Therefore, if a referenced block is not Inter coded, a neighboring Inter-coded block may be selected to provide representative motion data. For example, in Fig. 6, if block 0 is not Inter-coded and block 1 is Inter-coded, the motion data of block 1 may be stored to represent the motion data of blocks 0, 1, 2 and 3.
- the motion data from a block is used as the representative motion data for N first-blocks.
- the representative motion data may also be derived according to other means according to various embodiments of the present invention.
- the set of representative motion data may be derived by performing a mathematical operation on the sets of block information associated with two or more first-blocks of every N first-blocks.
- the mathematical operation may correspond to the median of motion data of N first- blocks in one example.
- the mathematical operation may correspond to the weighted sum of motion data of N first-blocks in another example.
- the mathematical operation may also be performed based on motion data for a portion of blocks in the N first- blocks.
- Fig. 3 illustrates an example where the motion data is associated with the minimum prediction unit (4x4 in this example).
- the first-block is always 4x4.
- each LCU is adaptively partitioned into CUs/PUs and a leaf CU/PU may not be a minimum CU/PU. If the motion data for the blocks at the bottom of a row of LCUs is referenced according to the PUs instead of minimum PUs, the embodiments according to the present invention is still applicable.
- blocks 0 and 1 in Fig. 3 may be within a single CU/PU (named block 0' for convenience) and blocks 2 and 3 are individual CUs/PUs.
- the line buffer reduction method can be selectively turned ON or OFF according to an indication explicitly incorporated in video bitstream or implicitly derived from the video bitstream.
- a pre-defined value or a flag indicating the minimum PU size or minimum PU width for motion data reduction can be signaled in sequence, picture, or slice-level of the video bitstream.
- the pre-defined value or flag can be incorporated in the sequence parameter set (SPS), picture parameter set (PPS), adaptive parameter set (APS), or slice header, where SPS, PPS, APS, and slice header are described in HM-4.0. If the smallest PU size/width of the current slice is larger than the pre-defined value,
- line buffer reduction can be turned OFF.
- line buffer reduction is turned ON when the smallest size/width of the first-block is less than or equal to the pre-defined value.
- the ON/OFF flag to control motion data reduction can be signaled in sequence, picture, or slice-level of the video bitstream for each LCU-row or each LCU. The ON/OFF flag can be incorporated in the SPS, PPS, APS, or slice header.
- Fig. 7 illustrates an example that a picture is partitioned into tiles having various sizes.
- the tiles in a picture are processed in a raster scan order. Therefore, line buffers to store motion data associated with the blocks at the bottom of a tile row boundary are required for use by CUs/PUs below the tile row boundary.
- Line buffer may also include column buffer in this disclosure since column buffer is considered as a type of line buffer (vertical lines).
- Blocks 810 in Fig. 8 are used by CUs/PUs at the right side of the tile column boundary as neighboring blocks for neighboring-block- dependent processing.
- the exemplary dependency on neighboring blocks in Fig. 1 illustrates that a current CU/PU depends on neighboring blocks UL, L, BL1 and BL0 on the left.
- a block selected to provide representative motion data might be Intra-coded while the current CU/PU is Inter coded.
- an Inter-coded neighboring block within the N first-blocks may be used to replace the block selected to provide representative motion data.
- other means to derive the representative motion data may also be used, such as the median or weighted sum of N first-blocks.
- Embodiment of video systems incorporating line buffer reduction according to the present invention as described above may be implemented in various hardware, software codes, or a combination of both.
- an embodiment of the present invention can be a circuit integrated into a video compression chip or program codes integrated into video compression software to perform the processing described herein.
- An embodiment of the present invention may also be program codes to be executed on a Digital Signal Processor (DSP) to perform the processing described herein.
- DSP Digital Signal Processor
- the invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA). These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention.
- the software code or firmware codes may be developed in different programming languages and different format or style.
- the software code may also be compiled for different target platform.
- different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
A method and apparatus for line buffer reduction in a video encoder or decoder are disclosed. In one embodiment according to the present invention, the method and apparatus for line buffer reduction determine a set of representative block information for every N first- blocks to achieve N:1 reduction. The set of representative block information corresponds to the set of block information selected from one of every N first-blocks and the selection may be according to positions or importance of every N first-blocks. In another embodiment of the present invention, the set of representative block information is derived by performing a mathematical operation on the sets of block information associated with two or more first- blocks of every N first-blocks. Another aspect of the present invention relates to control whether to turn on the line buffer reduction scheme.
Description
METHOD AND APPARATUS FOR LINE BUFFERS
REDUCTION CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present invention claims priority to U.S. Provisional Patent
Application, Serial No. 61/498,952, filed June 20, 2011, entitled "Reduction of Line Buffers for Motion Data". The U.S. Provisional Patent Applications is hereby incorporated by reference in its entirety.
TECHNICAL FIELD
[0002] The present invention relates to video coding. In particular, the present invention relates to reduction of line buffers for storing block information.
BACKGROUND
[0003] In video coding, block information of neighboring blocks are usually utilized to predict motion data or related syntax elements of a current block. The neighboring blocks usually correspond to blocks previously processed so that the information of the neighboring blocks can be derived at the decoder side without side information or with minimum side information. For example, the neighboring blocks may be these blocks on the upper side or left side of the current block when the blocks in a picture are processed in a raster scan order. The previously processed blocks may also correspond to blocks in a previously processed frame (inter- frame prediction). In order to use the motion data from previously processed blocks, the motion data has to be buffered in memory. For example, motion data for a row of blocks at a slice boundary may have to be buffered since they may be relied upon by blocks in the next slice. The memory required to store data associated with pixel lines in a picture is usually referred to as line buffer. The memory required for storing information associated with a row of blocks is also termed as line buffer in a broader sense.
Furthermore, pixel lines involved may be a segment of pixel lines instead of whole
pixel lines. In order to reduce bandwidth associated with external memory access, the line buffer may be implemented using on-chip memory. Depending on the picture width or the segment size, the line buffer may be sizeable and consequently result in high chip cost. Accordingly, it is desirable to develop line buffer reduction scheme to reduce the memory requirement for storing block information associated with the blocks for neighboring-block-dependent processing. However, line buffer reduction of the motion data may impact coding performance. It is also desirable to develop line buffer reduction scheme that will cause no performance degradation or minimum performance degradation. SUMMARY
[0004] A method and apparatus for reduction of line buffer associated with neighboring-block-dependent processing in a video encoder or decoder are disclosed. In one embodiment according to the present invention, the method and apparatus for line buffer reduction comprise receiving the first-blocks at the outside boundary of the second-block stripe consisting of second-blocks, wherein one or more of the first- blocks are used by a third-block at an inside boundary of the second-block stripe as neighboring blocks for neighboring-block-dependent processing, and wherein each of the first-blocks is associated with a set of block information, determining a set of representative block information for every N first-blocks, wherein N is a first integer greater than 1 ; and storing the set of representative block information for every N first-blocks in memory, wherein the set of representative block information is used to derive the set of block information for every first-block in every N first-blocks. The set of block information includes one or a combination of the following: inter prediction direction, reference picture index, motion vector, motion vector difference, motion vector predictor (MVP) candidate, and merge candidate, and said neighboring- block-dependent processing is motion vector predictor (MVP) candidate derivation, merge candidate derivation, or reference motion vector derivation.
[0005] An aspect of the present invention relates to determination of the set of representative block information. In one embodiment, the set of representative block information corresponds to the set of block information selected from one of every N first-blocks. Said one of every N first-blocks can be selected according to positions or
importance of every N first-blocks. For example, the k-th position or the center position of every N first-blocks can be selected. In another embodiment, first position of one N first-blocks is selected for said one N first-blocks and last position of another N first-blocks is selected for said another N first-blocks, wherein said one N first- blocks are adjacent to said another N first-blocks. When said one of every N first- blocks is not Inter-coded, an Inter-coded neighboring first-block of every N first- blocks is selected to replace said one of every N first-blocks. In yet another embodiment, the set of representative block information is derived by performing a mathematical operation, such as median or weighted sum, on the sets of block information associated with two or more first-blocks of every N first-blocks.
[0006] Another aspect of the present invention relates to line buffer reduction control according to an indication explicitly incorporated in video bitstream or implicitly derived from the video bitstream. In one embodiment, the indication is related to whether minimum size or minimum width of the first-blocks is larger than a threshold. The threshold can be a predefined value or can be incorporated in a sequence, picture, or slice level of video bitstream such as sequence parameter set (SPS), picture parameter set (PPS), adaptive parameter set (APS) or a slice header. Alternatively, the indication can be a flag incorporated in a sequence, picture, or slice level of video bitstream such as SPS, PPS, APS or a slice header. BRIEF DESCRIPTION OF DRAWINGS
[0007] Fig. 1 illustrates an example of dependency on neighboring blocks for motion vector predictor (MVP) candidate derivation in the High-Efficiency Video Coding (HEVC) coding system;
[0008] Fig. 2 illustrates an example of line buffers requirement for storing block information of blocks at an LCU row boundary in the HEVC coding system;
[0009] Fig. 3 illustrates an example of a 64x64 LCU divided into 4x4 blocks, where motion data associated with the bottom row of 4x4 blocks is buffered;
[0010] Fig. 4 illustrates neighboring block dependency of blocks on the upper side
of a current CU/PU at various sizes ;
[0011] Fig. 5 illustrates an exemplary 2:1 line buffer reduction, where one set of representative block information determined from one of two blocks is shared by the two blocks ; [0012] Fig. 6 illustrates an exemplary 4:1 line buffer reduction, where one set of representative block information determined from one of four blocks is shared by the four blocks ;
[0013] Fig. 7 illustrates an exemplary tile configuration, where a picture is partitioned into tiles containing multiple LCUs ; [0014] Fig. 8 illustrates an example of line buffers requirement for storing block information of blocks at a vertical tile boundary in the HEVC coding system.
DETAILED DESCRIPTION
[0015] In video coding, block information of neighboring blocks may be utilized to predict motion data or related syntax elements of a current block. For example, in current High-Efficiency Video Coding (HEVC) Test Model version 4.0 (HM-4.0), inter prediction direction, reference picture index, and motion vector differences (MVDs) of upper and left blocks are used for coding the syntax element of inter prediction direction, reference picture index, and MVD of the current block in entropy coding. In another example, the inter prediction direction, reference picture index, and MVs of upper-left (UL), upper (U), upper-right (UR0 and UR1), left (L), and bottom- left (BLO and BLl) blocks are used to generate Merge and AMVP candidates of the current block as shown in Fig. 1. In Fig. 1, block T denotes a temporal co- located block.
[0016] In HM-4.0, the basic unit for storing the motion data of Nx2N, NxN, 2NxN, and 2Nx2N partitions is a 4x4 block. Each LCU (Largest Coding Unit) can be adaptively partitioned horizontally, vertically, or both vertically and horizontally into prediction units (PUs). Or the LCU is used as a PU (no partition). When a PU is
partitioned, a new PU is further partitioned until the new PU reaches a smallest size (4x4 in HM-4.0). Since LCUs are processed in a raster scan order, block information of bottom 4x4 blocks of an LCU row may be required to be stored in a line buffer for the processing of a next LCU row. Fig. 2 illustrates an example of line buffers for block information associated with blocks at an LCU row boundary in the HEVC coding system, where a current CU/PU 210 within a current LCU 220 is being processed. Block information associated with upper blocks 230 and left blocks 240 is used by the current CU/PU 210 to generate Merge and AMVP candidates. In order to process the current row of LCUs 270, motion data for the row of blocks 250 on the upper side of the LCU row boundary 252 has to be stored. Similarly, motion data for the row of blocks 260 on the bottom of the current LCU row 270 has to be stored for the next row of LCUs. As shown in Fig. 2, both current CU/PU 210 and current LCU 220 are adjacent to LCU row boundary 252 and both current CU/PU 210 and current LCU 220 are inside current LCU row 270. For convenience of reference, the side of LCU row boundary that contains blocks stored in the line buffer and used by
CUs/PUs as neighboring blocks for neighbor-block-dependent processing is referred to as an outside boundary in this disclosure. On the other hand, the side of LCU row boundary that contains CUs/PUs depending on blocks at the outside boundary is referred to as an inside boundary in this disclosure. Accordingly, both current CU/PU 210 and current LCU 220 are at the inside boundary while the row of blocks 250 are at an outside boundary. Usually, the LCUs in a picture are processed in the raster scan order, where the LCUs of a picture are processed row by row from top to bottom. Within each row, the LCUs are processed from left to right. Therefore, size of the line buffer for motion data is proportional to the picture width. [0017] While the line buffers in the above example are used to store information for all upper blocks across the picture width, the line buffers may be used to store a portion of the upper blocks. For example, the picture may be divided into four vertical stripes (or regions) and each stripe is processed or coded independently. The line buffers used for each stripe correspond to a portion of pixel lines instead of a whole pixel line across the picture width. Accordingly, the line buffers in this disclosure may correspond to storage associated with a portion or a segment of pixel lines. Since LCUs are processed in a raster scan order, buffers required for storing left LCU information are very small and can be easily implemented as on-chip
memory, which will not increase any external memory access bandwidth. However, the line buffer size for wide pictures may be sizeable.
[0018] Table 1 illustrates an exemplary motion data associated with each LCU in HM-4.0. The motion data for the bottom blocks of an LCU in a previous row of LCUs has to be stored for processing of the current row of LCUs, as shown in Fig. 3. The LCU consists of 64x64 pixels and the LCU is adaptively divided into CUs/PUs according to a performance criterion. For motion prediction, the LCU may also be adaptively divided into Prediction Units (PUs). While an LCU may be adaptively divided into CUs/PUs of various sizes, motion data stored in the line buffer for the bottom blocks in an LCU row is always at the smallest block unit, i.e., 4x4 PU as shown in Fig. 3. As shown in Table 1, a total of 1,336 bits are required for each LCU with 64x64 pixels. For super high resolution video with 4kx2k resolution, the line buffers will be around 10.7 Kbytes. If the above line buffers are implemented using on-chip memory, it will increase the chip cost noticeably. If the above line buffers are implemented using off-chip memory, it will increase system memory access bandwidth. Therefore, it is desirable to reduce the line buffers for block information, such as motion data without degradation or with very little degradation of coding performance.
Table 1.
Required
Data Usage
Bits
MVP candidates, merge candidates
inter prediction direction CABAC interDir coding 32
CABAC total MVP/merge candidates
MVP candidates, merge candidates
reference picture index CABAC refldx coding 96
CABAC total MVP/merge candidates
MVP candidates, merge candidates
MV 896
CABAC total MVP/merge candidates
depth CABAC split flag coding 16 skip flag CABAC skip flag coding 8 merge flag CABAC merge flag coding 16 luma intra mode CABAC luma intra mode coding 96 chroma intra mode CABAC chroma intra mode coding 48
IMVDI>16 ? CABAC MVD coding 32
CABAC cbf, no residual data flag
cbf 96
coding
trafoDepth CABAC cbf coding 64
Total bits in a 64x64 1336 LCU
[0019] The above example is based MH-4.0, specific block structure, and neighboring block dependency associated with MVP candidate derivation to illustrate the issue of line buffer requirement. Nevertheless, the present invention disclosed herein is not limited to the specific parameters of the above example. For generality, the blocks that form neighboring blocks of a current CU/PU and are dependent by the current CU/PU for neighboring-block-dependent processing are referred to as first- blocks in this disclosure. In the above example, the LCU is used as a block unit in a picture that forms one or more picture areas for the intended neighboring-block- dependent processing. While the LCU row is used as an example of a picture area, a column of LCUs or multiple columns of LCUs may also be used as a picture area for applying the intended neighboring-block-dependent processing. For generality, the block (i.e. LCU in this example) used to form a picture area for the intended neighboring-block-dependent processing is termed as second-block and the corresponding picture area is termed as second-block stripe in this disclosure. The CUs/PUs that are formed by partitioning LCU are termed as third-blocks in this disclosure. While MVP candidate derivation is used as an example of neighboring- block-dependent processing, the present invention is not limited to the application of MVP candidate derivation. The motion data listed in Table 1 illustrates an example of types of block information used for neighboring-block-dependent processing, other block information may also be used. Accordingly, for generality, a set of block information will be used in this disclosure to refer to information associated with the first-block for neighboring-block-dependent processing.
[0020] In order to reduce line buffer size and/or bandwidth of line buffer data access, methods and apparatuses according to the present invention to reduce the line buffers for motion data are disclosed. The motion data being considered for HM-4.0 include the inter prediction direction, reference picture index, MV, MVD and various related information as shown in Table 1. According to an embodiment of the present
invention, every N first-blocks share the set of representative motion data for one first-block so that N:l data compression is achieved. Various embodiments according to the present invention are disclosed corresponding to various derivations of the set of representative block information (i.e., representative motion data in this case). The set of representative block information derivation may be based on the contents of these motion data and neighboring motion data, or positions of these blocks. For the first-blocks at the outside boundary (i.e. upper side of the boundary in this case) of the LCU row, only the set of representative block information for every N first-blocks will be stored in the line buffer. The set of block information for other blocks can be derived from the set of representative block information stored in the line buffer.
[0021] In order to derive good representative motion data, the manner that the first-blocks at the bottom of an LCU (i.e., second-block) are referenced by
neighboring CUs/PUs (i.e., third-blocks) of various sizes may provide useful information. The positions of the blocks may have different impact on line buffer reduction. For example, the 16 blocks at the bottom of an LCU shown in Fig. 3 will be referred by a neighboring CU/PU below differently according to the CU/PU size. For the exemplary dependency on neighboring blocks shown in Fig. 1, the bottom 16 blocks in Fig. 3 will be referenced by the neighboring CU/PU of various sizes as shown in Fig. 4. A check mark in Fig. 4 indicates that the block is referenced. For example, if the CU/PU size is 4x4, blocks 0 and 1 will be referenced if the CU/PU is located below block 0, and blocks 1 and 2 will be referenced if the CU/PU is located below block 1. Accordingly, all 16 blocks will be referenced if the CU/PU size is 4x4 as shown in Fig. 4. On the other hand, if the CU/PU size is 64x64, only blocks 0 and 15 will be referenced as shown in Fig. 4. Accordingly, some of the bottom blocks are referenced or dependent on more frequently than others. For example, blocks 0 and 15 are referenced by CUs of all sizes while blocks 1, 2, 5, 6, 9, 10, 13 and 14 are only referenced or dependent on by 8x8 and 4x4 CUs/PUs. The frequencies that the blocks are referenced can be ranked into groups: {0, 15}, {7, 8}, {3, 4, 11, 12} and { 1, 2, 5, 6, 9, 10, 13, 14}.
[0022] Accordingly, one embodiment of the present invention achieves line buffer reduction by removing motion data associated with the least important blocks. Fig. 5 illustrates an example of 2:1 line buffer reduction by retaining motion data for one
block out of every two blocks. In other words, the motion data for one block out of every two blocks is not stored. One embodiment of 2:1 line buffer reduction according to the present invention drops motion data for the block with less importance between two neighboring blocks. Therefore, the motion data for the block with less importance between two neighboring blocks is not stored in the line buffer. Alternatively, the set of representative block information may be selected according to the block position within the N first-blocks. For example, block information corresponds to the first position, the last position, or the center position of the N first- blocks is selected for stored in the line buffer. Also, the k-th position of every N first- blocks may be selected to determine the set of representative block data, where 0≤k≤N.
[0023] The motion data for the block that the motion data is not stored can be derived from the block that the motion data is stored. For example, between blocks 0 and 1, motion data is stored for block 0 and is dropped for block 1 as shown in Fig. 5. The dropped motion data for block 1 is derived from block 0 by copying the motion data for block 0. Similarly, between blocks 2 and 3, motion data is stored for block 3 and is dropped for block 2 as shown in Fig. 5. The dropped motion data for block 2 is derived from block 3 by copying the motion data for block 0. In the above exemplary 2:1 line buffer reduction, motion data for one out of two first-blocks is selected as the representative motion data for the two neighboring blocks.
[0024] Fig. 6 illustrates an example of 4:1 line buffer reduction according to one embodiment of the present invention, where the motion data is stored for one block out of every four first-blocks. The motion data for the block that has the highest importance is stored while the motion data for other blocks are skipped. Accordingly, the motion data for block 0 out of four first-blocks is stored while the motion data for blocks 1 through 3 is not stored. Similarly, the motion data for block 7 out of four first-blocks is stored while the motion data for blocks 4 through 6 is not stored.
Therefore, 4:1 line buffer reduction is achieved. In this example, motion data for block 0 is selected as the representative motion data for blocks 0 through 3 and motion data for block 7 is selected as the representative motion data for blocks 4 through 7.
[0025] The examples in Fig. 5 and Fig. 6 illustrate an embodiment of the present invention to achieve N:l line buffer reduction by selecting the motion data from the most important block among a group of N first-blocks. The importance is measured according to the frequency that the block is referenced by neighboring CUs/PUs at various sizes. The importance can be evaluated if the dependency on neighboring blocks is determined. For example, the importance is measured as shown in Fig. 4 for the given dependency on neighboring blocks shown in Fig. 1. For different dependency, the importance for the first-blocks may be different. As is noted in Fig. 4, the importance is related to the position of the block within the LCU. For the given dependency in Fig. 1, the most important blocks are the two blocks at the boundaries of the LCU. The second most important blocks are the two blocks at the boundaries of the 32x32 CU. Similarly, the third most important blocks are the two blocks at the boundaries of the 16x16 CU.
[0026] The exemplary dependency on neighboring blocks shown in Fig. 1 is intended for motion vector prediction. The motion vector associated with each neighboring block is used as a MVP candidate in order to reduce the data associated with motion vector difference between the current motion vector and the motion vector predictor. In the case of Inter mode, if the referenced block is Intra coded, the referenced block does not provide as important information as an Inter coded block. Therefore, if a referenced block is not Inter coded, a neighboring Inter-coded block may be selected to provide representative motion data. For example, in Fig. 6, if block 0 is not Inter-coded and block 1 is Inter-coded, the motion data of block 1 may be stored to represent the motion data of blocks 0, 1, 2 and 3.
[0027] In the examples in Fig. 5 and Fig. 6, the motion data from a block is used as the representative motion data for N first-blocks. However, the representative motion data may also be derived according to other means according to various embodiments of the present invention. For example, the set of representative motion data may be derived by performing a mathematical operation on the sets of block information associated with two or more first-blocks of every N first-blocks. The mathematical operation may correspond to the median of motion data of N first- blocks in one example. The mathematical operation may correspond to the weighted sum of motion data of N first-blocks in another example. The mathematical operation
may also be performed based on motion data for a portion of blocks in the N first- blocks.
[0028] Fig. 3 illustrates an example where the motion data is associated with the minimum prediction unit (4x4 in this example). In other words, the first-block is always 4x4. However, each LCU is adaptively partitioned into CUs/PUs and a leaf CU/PU may not be a minimum CU/PU. If the motion data for the blocks at the bottom of a row of LCUs is referenced according to the PUs instead of minimum PUs, the embodiments according to the present invention is still applicable. For example, blocks 0 and 1 in Fig. 3 may be within a single CU/PU (named block 0' for convenience) and blocks 2 and 3 are individual CUs/PUs. There is only one set of motion data associated with blocks 0 and 1 while individual motion data is associated with blocks 2 and 3. In the case of 4:1 line buffer reduction as shown in Fig. 6, since block 0' contains block 0, the motion data for block 0' is used as the representative motion data for the 4 minimum PU blocks (i.e., three CUs/PUs, blocks 0', 2 and 3). The 4:1 line buffer reduction is achieved in terms of one out of every four minimum blocks (measured in minimum PU size).
[0029] The line buffer reduction method can be selectively turned ON or OFF according to an indication explicitly incorporated in video bitstream or implicitly derived from the video bitstream. For example, a pre-defined value or a flag indicating the minimum PU size or minimum PU width for motion data reduction (e.g., min_motion_compress_PU_size or min_motion_compress_PU_width) can be signaled in sequence, picture, or slice-level of the video bitstream. The pre-defined value or flag can be incorporated in the sequence parameter set (SPS), picture parameter set (PPS), adaptive parameter set (APS), or slice header, where SPS, PPS, APS, and slice header are described in HM-4.0. If the smallest PU size/width of the current slice is larger than the pre-defined value,
min_motion_compress_PU_size/min_motion_compress_PU_width, line buffer reduction can be turned OFF. In other words, line buffer reduction is turned ON when the smallest size/width of the first-block is less than or equal to the pre-defined value. In another example, the ON/OFF flag to control motion data reduction can be signaled in sequence, picture, or slice-level of the video bitstream for each LCU-row or each LCU. The ON/OFF flag can be incorporated in the SPS, PPS, APS, or slice
header.
[0030] The line buffer issue also exist in the case that a picture is partitioned into tiles, where each tile consists of MxN LCUs, M and N are integers greater than zero. Fig. 7 illustrates an example that a picture is partitioned into tiles having various sizes. The tiles in a picture are processed in a raster scan order. Therefore, line buffers to store motion data associated with the blocks at the bottom of a tile row boundary are required for use by CUs/PUs below the tile row boundary. In addition, there may be multiple LCUs in the vertical direction of each tile. Therefore, there is also a need for column buffers to store motion data for multiple blocks (810 in Fig. 8) at the left side of the column boundary of the current tile for use by CUs/PUs to the right of the column boundary. A tile may consist of many blocks in the vertical direction and the column buffer may be sizeable. Consequently, it is desirable to use column buffer reduction to reduce the storage requirement. For convenience, the term line buffer may also include column buffer in this disclosure since column buffer is considered as a type of line buffer (vertical lines). Blocks 810 in Fig. 8 are used by CUs/PUs at the right side of the tile column boundary as neighboring blocks for neighboring-block- dependent processing. The exemplary dependency on neighboring blocks in Fig. 1 illustrates that a current CU/PU depends on neighboring blocks UL, L, BL1 and BL0 on the left. The line buffer reduction techniques disclosed previously are also applicable to the line buffers associated with blocks at the vertical boundary of a tile. Exemplary 2:1 line buffer reduction for vertical boundary of a tile is illustrated in Fig. 8, where block 0 is used to provide the representative motion data for blocks 0 and 1, and block 3 is used to provide the representative motion data for blocks 2 and 3. As mentioned before, a block selected to provide representative motion data might be Intra-coded while the current CU/PU is Inter coded. In this case, an Inter-coded neighboring block within the N first-blocks may be used to replace the block selected to provide representative motion data. In addition, other means to derive the representative motion data may also be used, such as the median or weighted sum of N first-blocks.
[0031] Embodiment of video systems incorporating line buffer reduction according to the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, an embodiment of
the present invention can be a circuit integrated into a video compression chip or program codes integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program codes to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA). These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware codes may be developed in different programming languages and different format or style. The software code may also be compiled for different target platform. However, different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.
[0032] The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims
1. A method of line buffer reduction for first-blocks at an outside boundary of a second-block stripe in a video encoder or decoder, the method comprising:
receiving the first-blocks at the outside boundary of the second-block stripe consisting of second-blocks, wherein one or more of the first-blocks are used by a third-block at an inside boundary of the second-block stripe as neighboring blocks for neighboring-block-dependent processing, and wherein each of the first-blocks is associated with a set of block information;
determining a set of representative block information for every N first-blocks, wherein N is a first integer greater than 1; and
storing the set of representative block information for every N first-blocks in memory, wherein the set of representative block information is used to derive the set of block information for every first-block in every N first-blocks.
2. The method of Claim 1, wherein the set of block information comprises one or a combination of inter prediction direction, reference picture index, motion vector, motion vector difference, motion vector predictor (MVP) candidate, and merge candidate, and wherein said neighboring-block-dependent processing is motion vector predictor (MVP) candidate derivation, merge candidate derivation, or reference motion vector derivation.
3. The method of Claim 1, wherein the set of representative block information corresponds to the set of block information selected from one of every N first-blocks.
4. The method of Claim 3, wherein said one of every N first-blocks is selected according to positions or importance of every N first-blocks.
5. The method of Claim 4, wherein k-th position of every N first-blocks is selected, where k is a second integer from 1 to N.
6. The method of Claim 4, wherein center position of every N first-blocks is selected.
7. The method of Claim 4, wherein first position of one N first-blocks is selected and last position of another N first-blocks is selected, wherein said one N first-blocks are adjacent to said another N first-blocks.
8. The method of Claim 4, wherein if said one of every N first-blocks is not Inter-coded, an Inter-coded first-block of the N first-blocks is selected to replace said one of every N first-blocks.
9. The method of Claim 1, wherein the set of representative block information is derived by performing a mathematical operation on the sets of block information associated with two or more first-blocks of every N first-blocks.
10. The method of Claim 9, wherein the mathematical operation corresponds to a median function or a weighted sum function.
11. The method of Claim 1, whether to reduce size of the memory by performing said storing the set of representative block information for every N first-blocks in the memory is according to an indication explicitly incorporated in a video bitstream or implicitly derived from the video bitstream.
12. The method of Claim 11, wherein the indication is related to whether a minimum size or width of the first-blocks is larger than a threshold.
13. The method of Claim 12, wherein a syntax element corresponding to the threshold is incorporated in a sequence, picture, or slice level of the video bitstream.
14. The method of Claim 13, wherein the syntax element is incorporated in sequence parameter set (SPS), picture parameter set (PPS), adaptive parameter set
(APS) or a slice header.
15. The method of Claim 12, the threshold is a predefined value.
16. The method of Claim 15, the threshold is 8.
17. The method of Claim 11, wherein the indication is a flag incorporated in a sequence, picture, or slice level of the video bitstream.
18. The method of Claim 17, wherein the flag is incorporated in SPS, PPS, APS or a slice header.
19. An apparatus of line buffer reduction for first-blocks at an outside boundary of a second-block stripe in a video encoder or decoder, the apparatus comprising: means for receiving the first-blocks at the outside boundary of the second-block stripe consisting of second-blocks, wherein one or more of the first-blocks are used by a third-block at an inside boundary of the second-block stripe as neighboring blocks for neighboring-block-dependent processing, and wherein each of the first-blocks is associated with a set of block information;
means for determining a set of representative block information for every N first- blocks, wherein N is a first integer greater than 1; and
means for storing the set of representative block information for every N first- blocks in memory, wherein the set of representative block information is used to derive the set of block information for every first-block in every N first-blocks.
20. The apparatus of Claim 19, wherein the set of block information comprises one or a combination of inter prediction direction, reference picture index, motion vector, motion vector difference, motion vector predictor (MVP) candidate, and merge candidate, and wherein said neighboring-block-dependent processing is motion vector predictor (MVP) candidate derivation, merge candidate derivation, or reference motion vector derivation.
21. The apparatus of Claim 19, wherein the set of representative block information corresponds to the set of block information selected from one of every N first-blocks.
22. The apparatus of Claiml9, wherein the set of representative block information is derived by performing a mathematical operation on the sets of block information associated with two or more first-blocks of every N first-blocks.
23. The apparatus of Claim 19, wherein, in the video encoder, whether to reduce size of the memory by performing said storing the set of representative block information for every N first-blocks in the memory is according to an indication explicitly incorporated in a video bitstream or implicitly derived from the video bitstream.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201161498952P | 2011-06-20 | 2011-06-20 | |
| US61/498,952 | 2011-06-20 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2012174973A1 true WO2012174973A1 (en) | 2012-12-27 |
Family
ID=47422026
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2012/076136 Ceased WO2012174973A1 (en) | 2011-06-20 | 2012-05-28 | Method and apparatus for line buffers reduction |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2012174973A1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015192800A1 (en) * | 2014-06-20 | 2015-12-23 | Mediatek Inc. | Method of palette predictor signaling for video coding |
| WO2019231778A1 (en) | 2018-06-01 | 2019-12-05 | Tencent America LLC | Methods and apparatus for inter prediction with a reduced above line buffer in video coding |
| CN113228675A (en) * | 2018-12-21 | 2021-08-06 | 北京字节跳动网络技术有限公司 | Motion vector bit depth in video processing |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080043845A1 (en) * | 2006-08-17 | 2008-02-21 | Fujitsu Limited | Motion prediction processor with read buffers providing reference motion vectors for direct mode coding |
| US20080273595A1 (en) * | 2007-05-06 | 2008-11-06 | Yu-Wen Huang | Apparatus and related method for processing macroblock units by utilizing buffer devices having different data accessing speeds |
| US20100208820A1 (en) * | 2009-02-18 | 2010-08-19 | Acer Incorporated | Motion estimation approach for real-time embedded multimedia design |
-
2012
- 2012-05-28 WO PCT/CN2012/076136 patent/WO2012174973A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080043845A1 (en) * | 2006-08-17 | 2008-02-21 | Fujitsu Limited | Motion prediction processor with read buffers providing reference motion vectors for direct mode coding |
| US20080273595A1 (en) * | 2007-05-06 | 2008-11-06 | Yu-Wen Huang | Apparatus and related method for processing macroblock units by utilizing buffer devices having different data accessing speeds |
| US20100208820A1 (en) * | 2009-02-18 | 2010-08-19 | Acer Incorporated | Motion estimation approach for real-time embedded multimedia design |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015192800A1 (en) * | 2014-06-20 | 2015-12-23 | Mediatek Inc. | Method of palette predictor signaling for video coding |
| CN110278437A (en) * | 2014-06-20 | 2019-09-24 | 寰发股份有限公司 | Method for palette predictor signaling for video coding |
| US10623747B2 (en) | 2014-06-20 | 2020-04-14 | Hfi Innovation Inc. | Method of palette predictor signaling for video coding |
| US11044479B2 (en) | 2014-06-20 | 2021-06-22 | Hfi Innovation Inc. | Method of palette predictor signaling for video coding |
| CN110278437B (en) * | 2014-06-20 | 2022-03-08 | 寰发股份有限公司 | Method for coding video data block |
| WO2019231778A1 (en) | 2018-06-01 | 2019-12-05 | Tencent America LLC | Methods and apparatus for inter prediction with a reduced above line buffer in video coding |
| EP3804326A4 (en) * | 2018-06-01 | 2022-03-16 | Tencent America LLC | METHOD AND APPARATUS FOR INTERPREDICTION WITH REDUCED RECONDUCTION BUFFER IN VIDEO ENCODING |
| CN113228675A (en) * | 2018-12-21 | 2021-08-06 | 北京字节跳动网络技术有限公司 | Motion vector bit depth in video processing |
| US11843798B2 (en) | 2018-12-21 | 2023-12-12 | Beijing Bytedance Network Technology Co., Ltd | Motion vector range based on motion vector precision |
| US12519968B2 (en) | 2018-12-21 | 2026-01-06 | Beijing Bytedance Network Technology Co., Ltd. | Motion vector range based on motion vector precision |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102839015B1 (en) | Method for encoding/decoding video and apparatus thereof | |
| KR102533727B1 (en) | Method and apparatus for encoding/decoding image and recording medium for storing bitstream | |
| KR102932457B1 (en) | Method and apparatus for prediction based on block shape | |
| KR102619133B1 (en) | Method and apparatus for encoding/decoding image and recording medium for storing bitstream | |
| KR20230074452A (en) | Method and apparatus for encoding/decoding image and recording medium for storing bitstream | |
| KR20240035968A (en) | Method and apparatus for encoding/decoding image, recording medium for stroing bitstream | |
| KR20180107761A (en) | Method and apparatus for prediction using reference block | |
| CN113924779A (en) | Video encoding/decoding method and apparatus, and bit stream storage medium | |
| KR20180061041A (en) | Method and apparatus for encoding/decoding image and recording medium for storing bitstream | |
| CN119364025A (en) | Method and medium for encoding and decoding images using adaptive deblocking filtering | |
| CN113950831A (en) | Intra-block copy-based encoding/decoding method, device and bitstream storage medium | |
| CN113906740A (en) | Inter-frame prediction information encoding/decoding method and apparatus | |
| RU2824753C1 (en) | Method and apparatus for encoding/decoding image and recording medium storing bit stream | |
| KR102634795B1 (en) | Method for encoding/decoding video and apparatus thereof | |
| RU2850332C1 (en) | Method and device for encoding/decoding images and recording media on which the bit stream is stored | |
| KR20260070362A (en) | Method and apparatus for encoding/decoding image, recording medium for stroing bitstream | |
| HK40081653A (en) | Method for encoding and decoding image using adaptive deblocking filtering, and apparatus therefor | |
| HK40080476A (en) | Image encoding and decoding method and image decoding device | |
| HK40081850A (en) | Method for encoding and decoding image using adaptive deblocking filtering, and apparatus therefor | |
| HK40061836A (en) | Method for encoding and decoding image using adaptive deblocking filtering, and apparatus therefor | |
| HK40080475A (en) | Image encoding and decoding method and image decoding device | |
| CN122055967A (en) | Method and apparatus for filtered intra block copying |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12802173 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 12802173 Country of ref document: EP Kind code of ref document: A1 |