CN105681807A - Method and device for calculating sub pixel motion vector based on H264 protocol - Google Patents
Method and device for calculating sub pixel motion vector based on H264 protocol Download PDFInfo
- Publication number
- CN105681807A CN105681807A CN201610008191.5A CN201610008191A CN105681807A CN 105681807 A CN105681807 A CN 105681807A CN 201610008191 A CN201610008191 A CN 201610008191A CN 105681807 A CN105681807 A CN 105681807A
- Authority
- CN
- China
- Prior art keywords
- motion vector
- block
- pixel
- sub
- pixel motion
- 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.)
- Granted
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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The invention discloses a method and device for calculating a sub pixel motion vector based on an H264 protocol. The device is used for calculating the sub pixel motion vector of a macro block, and comprises a buffer unit, a main control unit, a reference frame reuse and maintenance unit, an SAD cost calculation unit and an SAD cost selection unit. In the process of calculating the sub pixel motion vector of the H264 protocol, an original block pixel is obtained based on the size of a 16 x 16 block, so that the reusability of original block pixels of a 8 x 8 block and a 4 x 4 block can be guaranteed; and when acquiring a reference block pixel, a corresponding relationship between integer pixel motion vectors is recorded according to the reference frame reuse and maintenance unit, reference block pixels of different sub-blocks of the integer pixel motion vectors are acquired selectively, and reference block pixels of the same integer pixel motion vector are not acquired repeatedly, so that the reusability of a reference pixel can be greatly improved, the calculation efficiency of the sub pixel motion vector can be improved, the power consumption can be saved, and the hardware cost can also be saved.
Description
Technical field
The present invention relates to computer chip field, particularly relate to a kind of point pixel motion vector computational methods and device based on H264 agreement.
Background technology
Along with the fast development of computer technology, communication technology, Internet technology and multimedia technology, the every aspect of people's daily life has been goed deep in multimedia application, and gradually changes the life style of people. Video is most commonly seen in multimedia application and that quantity of information is maximum media. At present, multimedia service develops into based on video from audio frequency for main, no matter being the Emerging multimedia application such as the conventional Multi Media application such as film, TV, video monitoring, or net streaming media video, videophone and video conference, video is all the ingredient of wherein core the most.
The agreement of Video coding has a variety of, and H264 agreement is exactly wherein important one. And in video coding process, calculate, by obtaining whole pixel motion vector, the important ring that point pixel motion vector is again Video coding step. Need to obtain original block pixel and reference block pixel owing to calculating a point pixel motion vector, and the pixel of reference block is based on whole pixel motion vector and obtains. Existing method often adopts, in the pixel obtaining reference block, the method obtained one by one, namely each original block pixel is required for going to obtain in corresponding buffer unit reference block pixel according to whole pixel motion vector, causes that when reference block pixel obtains, reusability is low, complex steps, power consumption are big, hardware area is big, high in cost of production problem.
Summary of the invention
For this, need to provide a kind of technical scheme calculated based on point pixel motion vector of H264 agreement, in order to solve in when dividing pixel motion vector of calculating video pixel block, owing to obtaining, reference block pixel step is loaded down with trivial details, reusability is low, causes that Video coding power consumption is big, hardware area big, high in cost of production problem.
For achieving the above object, inventor providing a kind of point pixel motion vector calculation element based on H264 agreement, described device is for point pixel motion vector of computing macro block, and described macro block is divided into multiple 16x16 sub-block; Each 16x16 sub-block is divided into 4 8x8 sub-blocks, and each 8x8 sub-block is divided into 4 4x4 sub-blocks; Described device includes buffer unit, main control unit, reference frame multiplexing maintenance unit, SAD cost calculating unit, SAD cost choose unit; Described buffer unit is connected with main control unit, described main control unit is connected with reference frame multiplexing maintenance unit, described reference frame multiplexing maintenance unit is connected with SAD cost calculating unit, described SAD cost calculating unit is chosen unit with SAD cost and is connected, and described SAD cost is chosen unit and is connected with main control unit; Described buffer unit includes the first cache module, the second cache module, the 3rd cache module; Described main control unit includes acquiring unit and register cell; Described acquiring unit includes the first acquisition module, the second module obtains and the 3rd acquisition module; Described register cell includes the first register cell and the second register cell;
Described first acquisition module for obtaining the whole pixel motion vector of 16x16 sub-block from described first cache module, described whole pixel motion vector includes the first whole pixel motion vector, the second pixel motion vector and the 3rd whole pixel vector, described first whole pixel motion vector is the whole pixel motion vector of 16x16 layer in 16x16 sub-block, described second whole pixel motion vector is the whole pixel motion vector of 8x8 layer in 16x16 sub-block, and described 3rd whole pixel motion vector is the whole pixel motion vector of 4x4 layer in 16x16 sub-block;
Described reference frame multiplexing maintenance unit is for recording corresponding relation between whole pixel motion vector, and the corresponding relation of described whole pixel motion vector includes the corresponding relation of the second whole pixel motion vector of the first whole pixel motion vector and the corresponding relation of the second pixel motion vector, 8x8 layer difference 8x8 sub-block and the corresponding relation of the 3rd whole pixel vector of 4x4 layer difference 4x4 sub-block;
Described second acquisition module for obtaining the original block pixel that 16x16 sub-block is corresponding from described second cache module, and described first register cell is used for the original block pixel that buffer memory 16x16 sub-block is corresponding;
Described 3rd acquisition module for according to the corresponding relation between whole pixel motion vector, obtaining reference block pixel from described 3rd cache module, and described second register cell is used for buffer memory reference block pixel;
Described SAD cost calculating unit for obtaining original block pixel from described first register cell, and obtains reference block pixel from described second register cell, and carries out SAD cost calculating, obtains the reference block pixel SAD cost of multiple diverse location;
Described SAD cost chooses unit for the reference block pixel SAD cost of diverse location being compared, and chooses the SAD cost value of the reference block pixel of SAD Least-cost, and calculates point pixel motion vector of this reference block pixel and original block pixel;
Described main control unit chooses, for receiving SAD cost, point pixel motion vector that unit sends, and is write in the first cache module by a point pixel motion vector.
Further, described " the 3rd acquisition module is for according to the corresponding relation between whole pixel motion vector; obtain reference block pixel from described 3rd cache module " including: if the second pixel motion vector of the 8x8 sub-block of 8x8 layer and the first whole pixel motion vector are identical, then described 3rd acquisition module does not obtain reference block pixel from the 3rd cache module, and otherwise the 3rd acquisition module obtains reference block pixel from the 3rd cache module.
Further, described " the 3rd acquisition module is for according to the corresponding relation between whole pixel motion vector; obtain reference block pixel from described 3rd cache module " including: if the second pixel motion vector of the 8x8 sub-block of the 8x8 layer of reference frame multiplexing maintenance unit record is identical with the second pixel motion vector of the 8x8 sub-block of a upper 8x8 layer, then described 3rd acquisition module does not obtain reference block pixel from the 3rd cache module, and otherwise the 3rd acquisition module obtains reference block pixel from the 3rd cache module.
Further, described " the 3rd acquisition module is for according to the corresponding relation between whole pixel motion vector; obtain reference block pixel from described 3rd cache module " including: if the 3rd pixel motion vector of the 4x4 sub-block of the 4x4 layer of reference frame multiplexing maintenance unit record is identical with the 3rd pixel motion vector of the 4x4 sub-block of a upper 4x4 layer, then described 3rd acquisition module does not obtain reference block pixel from the 3rd cache module, and otherwise the 3rd acquisition module obtains reference block pixel from the 3rd cache module.
Further, described " main control unit for will point pixel motion vector write in the first cache module " including: main control unit is for writing in the first cache module after being packed by the whole pixel motion vector that point pixel motion vector is corresponding with this point of pixel motion vector.
Inventor additionally provides a kind of point pixel motion vector computational methods based on H264 agreement, described method is applied to point pixel motion vector calculation element based on H264 agreement, described device is for point pixel motion vector of computing macro block, and described macro block is divided into multiple 16x16 sub-block; Each 16x16 sub-block is divided into 4 8x8 sub-blocks, and each 8x8 sub-block is divided into 4 4x4 sub-blocks; Described device includes buffer unit, main control unit, reference frame multiplexing maintenance unit, SAD cost calculating unit, SAD cost choose unit; Described buffer unit is connected with main control unit, described main control unit is connected with reference frame multiplexing maintenance unit, described reference frame multiplexing maintenance unit is connected with SAD cost calculating unit, described SAD cost calculating unit is chosen unit with SAD cost and is connected, and described SAD cost is chosen unit and is connected with main control unit; Described buffer unit includes the first cache module, the second cache module, the 3rd cache module; Described main control unit includes acquiring unit and register cell; Described acquiring unit includes the first acquisition module, the second module obtains and the 3rd acquisition module; Described register cell includes the first register cell and the second register cell; Described method comprises the steps:
First acquisition module obtains the whole pixel motion vector of 16x16 sub-block from described first cache module, described whole pixel motion vector includes the first whole pixel motion vector, the second pixel motion vector and the 3rd whole pixel vector, described first whole pixel motion vector is the whole pixel motion vector of 16x16 layer in 16x16 sub-block, described second whole pixel motion vector is the whole pixel motion vector of 8x8 layer in 16x16 sub-block, and described 3rd whole pixel motion vector is the whole pixel motion vector of 4x4 layer in 16x16 sub-block;
Reference frame multiplexing maintenance unit records the corresponding relation between whole pixel motion vector, and the corresponding relation of described whole pixel motion vector includes the corresponding relation of the second whole pixel motion vector of the first whole pixel motion vector and the corresponding relation of the second pixel motion vector, 8x8 layer difference 8x8 sub-block and the corresponding relation of the 3rd whole pixel vector of 4x4 layer difference 4x4 sub-block;
Second acquisition module obtains the original block pixel that 16x16 sub-block is corresponding, the original block pixel that described first register cell buffer memory 16x16 sub-block is corresponding from described second cache module;
3rd acquisition module, according to the corresponding relation between whole pixel motion vector, obtains reference block pixel, described second register cell buffer memory reference block pixel from described 3rd cache module;
SAD cost calculating unit obtains original block pixel from described first register cell, and obtains reference block pixel from described second register cell, and carries out SAD cost calculating, obtains the reference block pixel SAD cost of multiple diverse location;
SAD cost is chosen unit and the reference block pixel SAD cost of diverse location is compared, and chooses the SAD cost value of the reference block pixel of SAD Least-cost, and calculates point pixel motion vector of this reference block pixel and original block pixel;
Main control unit receives SAD cost and chooses point pixel motion vector that unit sends, and is write in the first cache module by a point pixel motion vector.
Further, described step " the 3rd acquisition module, according to the corresponding relation between whole pixel motion vector, obtains reference block pixel from described 3rd cache module " including:
If the second pixel motion vector of the 8x8 sub-block of 8x8 layer and the first whole pixel motion vector are identical, then described 3rd acquisition module does not obtain reference block pixel from the 3rd cache module, and otherwise the 3rd acquisition module obtains reference block pixel from the 3rd cache module.
Further, described step " the 3rd acquisition module, according to the corresponding relation between whole pixel motion vector, obtains reference block pixel from described 3rd cache module " including:
If the second pixel motion vector of the 8x8 sub-block of the 8x8 layer of reference frame multiplexing maintenance unit record is identical with the second pixel motion vector of the 8x8 sub-block of a upper 8x8 layer, then described 3rd acquisition module does not obtain reference block pixel from the 3rd cache module, and otherwise the 3rd acquisition module obtains reference block pixel from the 3rd cache module.
Further, described step " the 3rd acquisition module, according to the corresponding relation between whole pixel motion vector, obtains reference block pixel from described 3rd cache module " including:
If the 3rd pixel motion vector of the 4x4 sub-block of the 4x4 layer of reference frame multiplexing maintenance unit record is identical with the 3rd pixel motion vector of the 4x4 sub-block of a upper 4x4 layer, then described 3rd acquisition module does not obtain reference block pixel from the 3rd cache module, and otherwise the 3rd acquisition module obtains reference block pixel from the 3rd cache module.
Further, described step " main control unit will divide a pixel motion vector to write in the first cache module " including:
Main control unit writes in the first cache module after being packed by the whole pixel motion vector that point pixel motion vector is corresponding with this point of pixel motion vector.
Point pixel motion vector computational methods and device based on H264 agreement described in technique scheme, described method is applied to described device, described device is for point pixel motion vector of computing macro block, described method comprises the steps: that first the first acquisition module obtains the whole pixel motion vector of 16x16 sub-block from described first cache module; Then reference frame multiplexing maintenance unit records the corresponding relation between whole pixel motion vector; Then the second acquisition module for obtaining the original block pixel that 16x16 sub-block is corresponding from described second cache module; Then the 3rd acquisition module is according to the corresponding relation between whole pixel motion vector, obtains reference block pixel from described 3rd cache module, and described second register cell is used for buffer memory reference block pixel;
SAD cost calculating unit for obtaining original block pixel from described first register cell, and obtains reference block pixel from described second register cell, and carries out SAD cost calculating, obtains the reference block pixel SAD cost of multiple diverse location;
SAD cost is chosen unit and the reference block pixel SAD cost of diverse location is compared, and chooses the SAD cost value of the reference block pixel of SAD Least-cost, and calculates point pixel motion vector of this reference block pixel and original block pixel;
Main control unit receives SAD cost and chooses point pixel motion vector that unit sends, and is write in the first cache module by a point pixel motion vector.
Point pixel motion vector computational methods and device based on H264 agreement described in such scheme, described method is applied to point pixel motion vector calculation element based on H264 agreement, described device is for point pixel motion vector of computing macro block, and described device includes buffer unit, main control unit, reference frame multiplexing maintenance unit, SAD cost calculating unit, SAD cost choose unit. Described method comprises the steps: that first the first acquisition module obtains the whole pixel motion vector of 16x16 sub-block from described first cache module; Then reference frame multiplexing maintenance unit records the corresponding relation between whole pixel motion vector; Then the second acquisition module obtains the original block pixel that 16x16 sub-block is corresponding from described second cache module, and the 3rd acquisition module, according to the corresponding relation between whole pixel motion vector, obtains reference block pixel from described 3rd cache module; Then SAD cost calculating unit obtains original block pixel from described first register cell, and obtains reference block pixel from described second register cell, and carries out SAD cost calculating, obtains the reference block pixel SAD cost of multiple diverse location; Then SAD cost is chosen unit and the reference block pixel SAD cost of diverse location is compared, and chooses the SAD cost value of the reference block pixel of SAD Least-cost, and calculates point pixel motion vector of this reference block pixel and original block pixel; Then main control unit receives SAD cost and chooses point pixel motion vector that unit sends, and is write in the first cache module by a point pixel motion vector. So, in point pixel motion vector process calculating H264 agreement, acquired original block pixel obtains based on the size of 16x16 block, it is ensured that the durability of the original block pixel of 8x8 block and 4x4 block; When obtaining reference block pixel, the corresponding relation between whole pixel motion vector is recorded according to reference frame multiplexing maintenance unit, the reference block pixel optionally obtaining each layer (16x16 layer, 8x8 layer and 4x4 layer) being absent from multiplexed situation obtains, for can multiplexing reference block pixel then be not repeated obtain, thus substantially increasing the reusability of reference pixel, and improve the computational efficiency of point pixel motion vector, save power consumption, also a saving hardware cost simultaneously.
Accompanying drawing explanation
Fig. 1 is the schematic diagram of point pixel motion vector calculation element based on H264 agreement that an embodiment of the present invention relates to;
Fig. 2 is the flow chart of point pixel motion vector computational methods based on H264 agreement that an embodiment of the present invention relates to.
Detailed description of the invention
By describing the technology contents of technical scheme, structural feature in detail, being realized purpose and effect, below in conjunction with specific embodiment and coordinate accompanying drawing to be explained in detail.
Refer to Fig. 1, for the schematic diagram of point pixel motion vector calculation element based on H264 agreement that an embodiment of the present invention relates to. Described device is for point pixel motion vector of computing macro block, and described macro block is divided into multiple 16x16 sub-block; Each 16x16 sub-block is divided into 4 8x8 sub-blocks, and each 8x8 sub-block is divided into 4 4x4 sub-blocks; Described device includes buffer unit, main control unit 109, reference frame multiplexing maintenance unit 106, SAD cost calculating unit 107, SAD cost choose unit 108; Described buffer unit is connected with main control unit, described main control unit is connected with reference frame multiplexing maintenance unit, described reference frame multiplexing maintenance unit is connected with SAD cost calculating unit, described SAD cost calculating unit is chosen unit with SAD cost and is connected, and described SAD cost is chosen unit and is connected with main control unit; Described buffer unit includes first cache module the 101, second cache module the 102, the 3rd cache module 105; Described main control unit 109 includes acquiring unit 103 and register cell 104; Described acquiring unit 103 includes the first acquisition module the 113, second module acquisition 123 and the 3rd acquisition module 133; Described register cell 104 includes the first register cell 114 and the second register cell 124;
Described first acquisition module 113 for obtaining the whole pixel motion vector of 16x16 sub-block from described first cache module, described whole pixel motion vector includes the first whole pixel motion vector, the second pixel motion vector and the 3rd whole pixel vector, described first whole pixel motion vector is the whole pixel motion vector of 16x16 layer in 16x16 sub-block, described second whole pixel motion vector is the whole pixel motion vector of 8x8 layer in 16x16 sub-block, and described 3rd whole pixel motion vector is the whole pixel motion vector of 4x4 layer in 16x16 sub-block;
Described reference frame multiplexing maintenance unit 106 is for recording the corresponding relation between whole pixel motion vector, and the corresponding relation of described whole pixel motion vector includes the corresponding relation of the second whole pixel motion vector of the first whole pixel motion vector and the corresponding relation of the second pixel motion vector, 8x8 layer difference 8x8 sub-block and the corresponding relation of the 3rd whole pixel vector of 4x4 layer difference 4x4 sub-block;
Described second acquisition module 123 for obtaining the original block pixel that 16x16 sub-block is corresponding from described second cache module, and described first register cell is used for the original block pixel that buffer memory 16x16 sub-block is corresponding;
Described 3rd acquisition module 133 for according to the corresponding relation between whole pixel motion vector, obtaining reference block pixel from described 3rd cache module, and described second register cell is used for buffer memory reference block pixel;
Described SAD cost calculating unit 107 for obtaining original block pixel from described first register cell, and obtains reference block pixel from described second register cell, and carries out SAD cost calculating, obtains the reference block pixel SAD cost of multiple diverse location;
Described SAD cost chooses unit 108 for the reference block pixel SAD cost of diverse location being compared, and chooses the SAD cost value of the reference block pixel of SAD Least-cost, and calculates point pixel motion vector of this reference block pixel and original block pixel;
Described main control unit 109 chooses, for receiving SAD cost, point pixel motion vector that unit sends, and is write in the first cache module by a point pixel motion vector.
When using point pixel motion vector calculation element based on H264 agreement, first the first acquisition module 113 obtains the whole pixel motion vector of 16x16 sub-block from described first cache module. Described first cache module is the electronic component with storage data function, for instance can be ROM memory. For each 16x16 sub-block, " three layers " structure can be divided into, i.e. 16x16 layer, 8x8 layer and 4x4 layer. For 16x16 layer, namely carrying out dividing in units of 16x16,16x16 sub-block can be divided into 1 16x16 block, thus the whole pixel motion vector that each 16x16 sub-block is to there being 1 16x16 layer, i.e. the first whole pixel motion vector. For 8x8 layer, namely carrying out dividing in units of 8x8,16x16 sub-block can be divided into 4 8x8 blocks, thus the whole pixel motion vector that each 16x16 sub-block is to there being 4 16x16 layers, i.e. the second whole pixel motion vector. For 4x4 layer, namely carrying out dividing in units of 4x4,16x16 sub-block can be divided into 16 4x4 blocks, thus the whole pixel motion vector that each 16x16 sub-block is to there being 16 4x4 layers, i.e. the 3rd whole pixel motion vector. To sum up, in when dividing pixel motion vector of each 16x16 sub-block of calculating, the first acquisition module needs to obtain 1 16x16 layer, 4 8x8 layers and 16 4x4 layers from described first cache module and amounts to 21 whole pixel motion vectors.
Described reference frame multiplexing maintenance unit 106 is for recording the corresponding relation between whole pixel motion vector, and the corresponding relation of described whole pixel motion vector includes the corresponding relation of the second whole pixel motion vector of the first whole pixel motion vector and the corresponding relation of the second pixel motion vector, 8x8 layer difference 8x8 sub-block and the corresponding relation of the 3rd whole pixel vector of 4x4 layer difference 4x4 sub-block. In the present embodiment, in when dividing pixel motion vector of calculating 16x16 layer, the block being also based on 8x8 size is that unit is calculated, thus the corresponding relation of the first whole pixel motion vector and the second pixel motion vector specifically includes: whether the first whole pixel motion vector and second pixel motion vector of the 8x8 sub-block of record same position be identical.
Such as 16x16 layer, include the 8x8 sub-block of 4 16x16 layers, be 8x8 sub-block 1,8x8 sub-block 2,8x8 sub-block 3 and 8x8 sub-block 4 respectively. For 8x8 layer, include the 8x8 sub-block of 4 8x8 layers, be 8x8 sub-block a, 8x8 sub-block b, 8x8 sub-block c and 8x8 sub-block d respectively. The position of 8x8 sub-block a and 8x8 sub-block 1 is corresponding, and the position of 8x8 sub-block b and 8x8 sub-block 2 is corresponding, and the position of 8x8 sub-block c and 8x8 sub-block 3 is corresponding, and the position of 8x8 sub-block d and 8x8 sub-block 4 is corresponding. Then reference frame multiplexing maintenance unit can judge that whether 8x8 sub-block a is identical with the whole pixel motion vector of 8x8 sub-block 1, if identical, illustrate that the reference pixel of the two sub-block is can the 8x8 sub-block of multiplexing reference pixel, illustrating that their SAD cost is identical, point pixel motion vector namely calculated is identical. Thus when calculating the SAD cost of the 8x8 sub-block a of 8x8 layer, calculation procedure can be skipped, and the SAD cost of the 8x8 sub-block 1 of the computed 16x16 layer obtained before directly adopting, on the one hand without reacquiring the reference pixel of 8x8 sub-block 1, save calculation procedure and power consumption, avoid the different sub-block double counting SAD costs of identical whole pixel fraction vector on the other hand, substantially increase code efficiency.
Then the second acquisition module obtains the original block pixel that 16x16 sub-block is corresponding, the original block pixel that described first register cell buffer memory 16x16 sub-block is corresponding from described second cache module. In the present embodiment, acquisition original block pixel is based on 16x16 sub-block is that unit obtains. So, calculate each 16x16 sub-block point pixel motion vector time, just get disposable for the original block pixel of required different layers in main control unit, and pass through the first register cell in addition buffer memory. Owing to being no matter 4 8x8 blocks of 16x16 layer, or 4 8x8 blocks of 8x8 layer, or the 16 of 4x4 layer 4x4 blocks, the original block pixel of they correspondences is both contained in the original block pixel of 16x16 sub-block, thus when calculating the SAD cost of each different straton block, second acquisition module only need to obtain from the first register cell, without obtaining from the second cache module several times, thus improve the extent for multiplexing of original block pixel again.
Then the 3rd acquisition module is according to the corresponding relation between whole pixel motion vector, obtains reference block pixel, described second register cell buffer memory reference block pixel from described 3rd cache module. In the present embodiment, described " the 3rd acquisition module is according to the corresponding relation between whole pixel motion vector; obtain reference block pixel from described 3rd cache module " including: if the second pixel motion vector of the 8x8 sub-block of the 8x8 layer of reference frame multiplexing maintenance unit record is identical with the second pixel motion vector of the 8x8 sub-block of a upper 8x8 layer, then described 3rd acquisition module does not obtain reference block pixel from the 3rd cache module, and otherwise the 3rd acquisition module obtains reference block pixel from the 3rd cache module.
In the present embodiment, the corresponding relation of the second whole pixel motion vector of 8x8 layer difference 8x8 sub-block specifically includes: whether the second pixel motion vector of the 8x8 sub-block of the 8x8 layer of record adjacent encoder order is identical. Such as 8x8 layer includes the 8x8 sub-block of 4 8x8 layers, is 8x8 sub-block a, 8x8 sub-block b, 8x8 sub-block c and 8x8 sub-block d respectively. Coded sequence is sub-block a, sub-block b, sub-block c and sub-block d successively. So reference frame multiplexing maintenance unit can judge that whether the second pixel motion vector between 8x8 sub-block a and 8x8 sub-block b, between 8x8 sub-block b and 8x8 sub-block c, between 8x8 sub-block c and 8x8 sub-block d is identical successively, and result is given record. Second pixel motion vector of such as sub-block a and sub-block b is identical, then illustrate the reference pixel of the two sub-block be can the 8x8 sub-block of multiplexing reference pixel, illustrate that their SAD cost is identical, point pixel motion vector namely calculated is identical. Thus when calculating the SAD cost of the 8x8 sub-block b of 8x8 layer, calculation procedure can be skipped, and the SAD cost of the 8x8 sub-block a of the computed 8x8 layer obtained before directly adopting, on the one hand without reacquiring the reference pixel of 8x8 sub-block b, save calculation procedure and power consumption, avoid the different sub-block double counting SAD costs of identical whole pixel fraction vector on the other hand, substantially increase code efficiency. The corresponding relation of the 3rd whole pixel vector of 4x4 layer difference 4x4 sub-block in like manner can obtain, and specifically includes: whether the second pixel motion vector of the 8x8 sub-block of the 8x8 layer of record adjacent encoder order is identical. And if second pixel motion vector of sub-block a and sub-block b is different, then the result of calculation of the SAD cost between two sub-blocks of explanation is different, thus when calculating the SAD cost of sub-block b, need from the 3rd cache module, obtain reference block pixel corresponding to sub-block b, in order to the SAD continuing sub-block b calculates.
In some embodiments, described " the 3rd acquisition module is for according to the corresponding relation between whole pixel motion vector; obtain reference block pixel from described 3rd cache module " including: if the 3rd pixel motion vector of the 4x4 sub-block of the 4x4 layer of reference frame multiplexing maintenance unit record is identical with the 3rd pixel motion vector of the 4x4 sub-block of a upper 4x4 layer, then described 3rd acquisition module does not obtain reference block pixel from the 3rd cache module, and otherwise the 3rd acquisition module obtains reference block pixel from the 3rd cache module.
For 4x4 layer, include the 4x4 sub-block of 16 4x4 layers, for front 4 4x4 sub-blocks that 4x4 layer sorts according to coded sequence, be 4x4 sub-block 1,4x4 sub-block 2,4x4 sub-block 3 and 4x4 sub-block 4 respectively. reference frame multiplexing maintenance unit can judge between 4x4 sub-block 1 and 4x4 sub-block 2, whether the 3rd whole pixel motion vector between 4x4 sub-block 2 and 4x4 sub-block 3, between 4x4 sub-block 3 and 4x4 sub-block 4 is identical, and result is stored record. when obtaining the reference block pixel of 4x4 sub-block 1,3rd acquiring unit can obtain a reference block being several times as much as 4x4 sub-block size from the 3rd cache module, and by acquired reference block picture element caching in the second depositor, such as in the present embodiment, acquired reference block be sized to 32x10 or 10x32 size. when calculating the SAD cost of 4x4 sub-block 2, if the 3rd whole pixel motion vector is identical between the 4x4 sub-block 1 that reference frame multiplexing maintenance unit records and 4x4 sub-block 2, then illustrate that the reference pixel of 4x4 sub-block 1 and 4x4 sub-block 2 is can the 4x4 sub-block of multiplexing reference pixel, illustrating that their SAD cost is identical, point pixel motion vector namely calculated is identical. thus when calculating the SAD cost of 4x4 sub-block 2, calculation procedure can be skipped, and the SAD cost of the computed 4x4 sub-block 1 obtained before directly adopting, on the one hand without reacquiring the reference pixel of 4x4 sub-block 2, save calculation procedure and power consumption, avoid the different sub-block double counting SAD costs of identical whole pixel fraction vector on the other hand, substantially increase code efficiency. if and 4x4 sub-block 1 is different from the 3rd whole pixel motion vector of 4x4 sub-block 2, then illustrate that the reference block pixel that they to obtain is different, thus first the 3rd acquisition module can search for the reference block pixel whether also existed needed for 4x4 sub-block 2 in the second depositor, (due to buffer memory is a reference block being several times as much as 4x4 sub-block size, thus first can scan in the second depositor), if existing, the 3rd acquisition module obtains the reference block pixel of 4x4 sub-block 2 correspondence from the second depositor, to carry out the calculating of the SAD cost of 4x4 sub-block 2, if being absent from, the 3rd acquisition module can obtain a reference block being several times as much as 4x4 sub-block size again from the 3rd buffer unit, and by acquired reference block picture element caching (refresh register) in the second depositor, then repeat the above steps reacquires the reference block pixel needed for 4x4 sub-block 2 from the second depositor.
Then SAD cost calculating unit 107 obtains original block pixel from described first register cell, and obtains reference block pixel from described second register cell, and carries out SAD cost calculating, obtains the reference block pixel SAD cost of multiple diverse location. SAD cost can be a numerical value, call parameter needed for calculating the SAD cost of certain block of pixels is original block pixel corresponding to this block of pixels and reference block pixel, specifically, in H264 agreement, for each reference block pixel, SAD cost calculating unit interpolation can go out the reference block pixel of 49 diverse locations in its vicinity, and the SAD cost that the reference block pixel that calculates these 49 diverse locations respectively is corresponding, and concrete algorithm is according to H264 agreement.
Then SAD cost is chosen unit and the reference block pixel SAD cost of diverse location is compared, and chooses the SAD cost value of the reference block pixel of SAD Least-cost, and calculates point pixel motion vector of this reference block pixel and original block pixel. SAD cost is characterize the physical quantity whether this reference block pixel is optimum reference block pixel, and SAD cost is more little, illustrates that reference block pixel is closer to original block pixel. SAD cost is chosen the reference block pixel of 49 diverse locations that unit can go out from institute's interpolation, choose the SAD cost value of the reference block pixel of SAD Least-cost, and calculating point pixel motion vector of this reference block pixel and original block pixel, calculated point of pixel motion vector is point pixel motion vector of acquired original block pixel. So far, pixel motion vector is divided to calculate complete, it is possible to enter next step.
Then main control unit 109 receives SAD cost and chooses point pixel motion vector that unit sends, and is write in the first cache module by a point pixel motion vector. In the present embodiment, described " main control unit will point pixel motion vector write in the first cache module " including: main control unit is for writing in the first cache module after being packed by the whole pixel motion vector that point pixel motion vector is corresponding with this point of pixel motion vector.
Refer to Fig. 2, and inventor additionally provides a kind of point pixel motion vector computational methods based on H264 agreement, described method is applied to point pixel motion vector calculation element based on H264 agreement, described device is for point pixel motion vector of computing macro block, and described macro block is divided into multiple 16x16 sub-block; Each 16x16 sub-block is divided into 4 8x8 sub-blocks, and each 8x8 sub-block is divided into 4 4x4 sub-blocks; It is characterized in that, described device includes buffer unit, main control unit, reference frame multiplexing maintenance unit, SAD cost calculating unit, SAD cost choose unit; Described buffer unit is connected with main control unit, described main control unit is connected with reference frame multiplexing maintenance unit, described reference frame multiplexing maintenance unit is connected with SAD cost calculating unit, described SAD cost calculating unit is chosen unit with SAD cost and is connected, and described SAD cost is chosen unit and is connected with main control unit; Described buffer unit includes the first cache module, the second cache module, the 3rd cache module; Described main control unit includes acquiring unit and register cell; Described acquiring unit includes the first acquisition module, the second module obtains and the 3rd acquisition module; Described register cell includes the first register cell and the second register cell; Described method comprises the steps:
Initially enter step S201 the first acquisition module from described first cache module, obtain the whole pixel motion vector of 16x16 sub-block. Described first cache module is the electronic component with storage data function, for instance can be ROM memory. For each 16x16 sub-block, " three layers " structure can be divided into, i.e. 16x16 layer, 8x8 layer and 4x4 layer. For 16x16 layer, namely carrying out dividing in units of 16x16,16x16 sub-block can be divided into 1 16x16 block, thus the whole pixel motion vector that each 16x16 sub-block is to there being 1 16x16 layer, i.e. the first whole pixel motion vector. For 8x8 layer, namely carrying out dividing in units of 8x8,16x16 sub-block can be divided into 4 8x8 blocks, thus the whole pixel motion vector that each 16x16 sub-block is to there being 4 16x16 layers, i.e. the second whole pixel motion vector. For 4x4 layer, namely carrying out dividing in units of 4x4,16x16 sub-block can be divided into 16 4x4 blocks, thus the whole pixel motion vector that each 16x16 sub-block is to there being 16 4x4 layers, i.e. the 3rd whole pixel motion vector. To sum up, in when dividing pixel motion vector of each 16x16 sub-block of calculating, the first acquisition module needs to obtain 1 16x16 layer, 4 8x8 layers and 16 4x4 layers from described first cache module and amounts to 21 whole pixel motion vectors.
Then entering step S203 reference frame multiplexing maintenance unit and record the corresponding relation between whole pixel motion vector, the corresponding relation of described whole pixel motion vector includes the corresponding relation of the second whole pixel motion vector of the first whole pixel motion vector and the corresponding relation of the second pixel motion vector, 8x8 layer difference 8x8 sub-block and the corresponding relation of the 3rd whole pixel vector of 4x4 layer difference 4x4 sub-block. In the present embodiment, in when dividing pixel motion vector of calculating 16x16 layer, the block being also based on 8x8 size is that unit is calculated, thus the corresponding relation of the first whole pixel motion vector and the second pixel motion vector specifically includes: whether the first whole pixel motion vector and second pixel motion vector of the 8x8 sub-block of record same position be identical.
Such as 16x16 layer, include the 8x8 sub-block of 4 16x16 layers, be 8x8 sub-block 1,8x8 sub-block 2,8x8 sub-block 3 and 8x8 sub-block 4 respectively. For 8x8 layer, include the 8x8 sub-block of 4 8x8 layers, be 8x8 sub-block a, 8x8 sub-block b, 8x8 sub-block c and 8x8 sub-block d respectively. The position of 8x8 sub-block a and 8x8 sub-block 1 is corresponding, and the position of 8x8 sub-block b and 8x8 sub-block 2 is corresponding, and the position of 8x8 sub-block c and 8x8 sub-block 3 is corresponding, and the position of 8x8 sub-block d and 8x8 sub-block 4 is corresponding. Then reference frame multiplexing maintenance unit can judge that whether 8x8 sub-block a is identical with the whole pixel motion vector of 8x8 sub-block 1, if identical, illustrate that the reference pixel of the two sub-block is can the 8x8 sub-block of multiplexing reference pixel, illustrating that their SAD cost is identical, point pixel motion vector namely calculated is identical. Thus when calculating the SAD cost of the 8x8 sub-block a of 8x8 layer, calculation procedure can be skipped, and the SAD cost of the 8x8 sub-block 1 of the computed 16x16 layer obtained before directly adopting, on the one hand without reacquiring the reference pixel of 8x8 sub-block 1, save calculation procedure and power consumption, avoid the different sub-block double counting SAD costs of identical whole pixel fraction vector on the other hand, substantially increase code efficiency.
Then enter step S203 the second acquisition module from described second cache module, obtain the original block pixel that 16x16 sub-block is corresponding, the original block pixel that described first register cell buffer memory 16x16 sub-block is corresponding. In the present embodiment, acquisition original block pixel is based on 16x16 sub-block is that unit obtains. So, calculate each 16x16 sub-block point pixel motion vector time, just get disposable for the original block pixel of required different layers in main control unit, and pass through the first register cell in addition buffer memory. Owing to being no matter 4 8x8 blocks of 16x16 layer, or 4 8x8 blocks of 8x8 layer, or the 16 of 4x4 layer 4x4 blocks, the original block pixel of they correspondences is both contained in the original block pixel of 16x16 sub-block, thus when calculating the SAD cost of each different straton block, second acquisition module only need to obtain from the first register cell, without obtaining from the second cache module several times, thus improve the extent for multiplexing of original block pixel again.
Then enter step S204 the 3rd acquisition module according to the corresponding relation between whole pixel motion vector, from described 3rd cache module, obtain reference block pixel, described second register cell buffer memory reference block pixel. In the present embodiment, described " the 3rd acquisition module is according to the corresponding relation between whole pixel motion vector; obtain reference block pixel from described 3rd cache module " including: if the second pixel motion vector of the 8x8 sub-block of the 8x8 layer of reference frame multiplexing maintenance unit record is identical with the second pixel motion vector of the 8x8 sub-block of a upper 8x8 layer, then described 3rd acquisition module does not obtain reference block pixel from the 3rd cache module, and otherwise the 3rd acquisition module obtains reference block pixel from the 3rd cache module.
In the present embodiment, the corresponding relation of the second whole pixel motion vector of 8x8 layer difference 8x8 sub-block specifically includes: whether the second pixel motion vector of the 8x8 sub-block of the 8x8 layer of record adjacent encoder order is identical. Such as 8x8 layer includes the 8x8 sub-block of 4 8x8 layers, is 8x8 sub-block a, 8x8 sub-block b, 8x8 sub-block c and 8x8 sub-block d respectively. Coded sequence is sub-block a, sub-block b, sub-block c and sub-block d successively. So reference frame multiplexing maintenance unit can judge that whether the second pixel motion vector between 8x8 sub-block a and 8x8 sub-block b, between 8x8 sub-block b and 8x8 sub-block c, between 8x8 sub-block c and 8x8 sub-block d is identical successively, and result is given record. Second pixel motion vector of such as sub-block a and sub-block b is identical, then illustrate the reference pixel of the two sub-block be can the 8x8 sub-block of multiplexing reference pixel, illustrate that their SAD cost is identical, point pixel motion vector namely calculated is identical. Thus when calculating the SAD cost of the 8x8 sub-block b of 8x8 layer, calculation procedure can be skipped, and the SAD cost of the 8x8 sub-block a of the computed 8x8 layer obtained before directly adopting, on the one hand without reacquiring the reference pixel of 8x8 sub-block b, save calculation procedure and power consumption, avoid the different sub-block double counting SAD costs of identical whole pixel fraction vector on the other hand, substantially increase code efficiency. The corresponding relation of the 3rd whole pixel vector of 4x4 layer difference 4x4 sub-block in like manner can obtain, and specifically includes: whether the second pixel motion vector of the 8x8 sub-block of the 8x8 layer of record adjacent encoder order is identical. And if second pixel motion vector of sub-block a and sub-block b is different, then the result of calculation of the SAD cost between two sub-blocks of explanation is different, thus when calculating the SAD cost of sub-block b, need from the 3rd cache module, obtain reference block pixel corresponding to sub-block b, in order to the SAD continuing sub-block b calculates.
In some embodiments, described " the 3rd acquisition module is for according to the corresponding relation between whole pixel motion vector; obtain reference block pixel from described 3rd cache module " including: if the 3rd pixel motion vector of the 4x4 sub-block of the 4x4 layer of reference frame multiplexing maintenance unit record is identical with the 3rd pixel motion vector of the 4x4 sub-block of a upper 4x4 layer, then described 3rd acquisition module does not obtain reference block pixel from the 3rd cache module, and otherwise the 3rd acquisition module obtains reference block pixel from the 3rd cache module.
For 4x4 layer, include the 4x4 sub-block of 16 4x4 layers, for front 4 4x4 sub-blocks that 4x4 layer sorts according to coded sequence, be 4x4 sub-block 1,4x4 sub-block 2,4x4 sub-block 3 and 4x4 sub-block 4 respectively. reference frame multiplexing maintenance unit can judge between 4x4 sub-block 1 and 4x4 sub-block 2, whether the 3rd whole pixel motion vector between 4x4 sub-block 2 and 4x4 sub-block 3, between 4x4 sub-block 3 and 4x4 sub-block 4 is identical, and result is stored record. when obtaining the reference block pixel of 4x4 sub-block 1,3rd acquiring unit can obtain a reference block being several times as much as 4x4 sub-block size from the 3rd cache module, and by acquired reference block picture element caching in the second depositor, such as in the present embodiment, acquired reference block be sized to 32x10 or 10x32 size. when calculating the SAD cost of 4x4 sub-block 2, if the 3rd whole pixel motion vector is identical between the 4x4 sub-block 1 that reference frame multiplexing maintenance unit records and 4x4 sub-block 2, then illustrate that the reference pixel of 4x4 sub-block 1 and 4x4 sub-block 2 is can the 4x4 sub-block of multiplexing reference pixel, illustrating that their SAD cost is identical, point pixel motion vector namely calculated is identical. thus when calculating the SAD cost of 4x4 sub-block 2, calculation procedure can be skipped, and the SAD cost of the computed 4x4 sub-block 1 obtained before directly adopting, on the one hand without reacquiring the reference pixel of 4x4 sub-block 2, save calculation procedure and power consumption, avoid the different sub-block double counting SAD costs of identical whole pixel fraction vector on the other hand, substantially increase code efficiency. if and 4x4 sub-block 1 is different from the 3rd whole pixel motion vector of 4x4 sub-block 2, then illustrate that the reference block pixel that they to obtain is different, thus first the 3rd acquisition module can search for the reference block pixel whether also existed needed for 4x4 sub-block 2 in the second depositor, (due to buffer memory is a reference block being several times as much as 4x4 sub-block size, thus first can scan in the second depositor), if existing, the 3rd acquisition module obtains the reference block pixel of 4x4 sub-block 2 correspondence from the second depositor, to carry out the calculating of the SAD cost of 4x4 sub-block 2, if being absent from, the 3rd acquisition module can obtain a reference block being several times as much as 4x4 sub-block size again from the 3rd buffer unit, and by acquired reference block picture element caching (refresh register) in the second depositor, then repeat the above steps reacquires the reference block pixel needed for 4x4 sub-block 2 from the second depositor.
Then enter step S205SAD cost calculating unit from described first register cell, obtain original block pixel, and obtain reference block pixel from described second register cell, and carry out SAD cost calculating, obtain the reference block pixel SAD cost of multiple diverse location. SAD cost can be a numerical value, call parameter needed for calculating the SAD cost of certain block of pixels is original block pixel corresponding to this block of pixels and reference block pixel, specifically, in H264 agreement, for each reference block pixel, SAD cost calculating unit interpolation can go out the reference block pixel of 49 diverse locations in its vicinity, and the SAD cost that the reference block pixel that calculates these 49 diverse locations respectively is corresponding, and concrete algorithm is according to H264 agreement.
Then enter step S206SAD cost to choose unit and the reference block pixel SAD cost of diverse location compared, choose the SAD cost value of the reference block pixel of SAD Least-cost, and calculate point pixel motion vector of this reference block pixel and original block pixel. SAD cost is characterize the physical quantity whether this reference block pixel is optimum reference block pixel, and SAD cost is more little, illustrates that reference block pixel is closer to original block pixel. SAD cost is chosen the reference block pixel of 49 diverse locations that unit can go out from institute's interpolation, choose the SAD cost value of the reference block pixel of SAD Least-cost, and calculating point pixel motion vector of this reference block pixel and original block pixel, calculated point of pixel motion vector is point pixel motion vector of acquired original block pixel. So far, pixel motion vector is divided to calculate complete, it is possible to enter next step.
Then entrance step S207 main control unit 109 receives SAD cost and chooses point pixel motion vector that unit sends, and is write in the first cache module by a point pixel motion vector. In the present embodiment, described " main control unit will point pixel motion vector write in the first cache module " including: main control unit is for writing in the first cache module after being packed by the whole pixel motion vector that point pixel motion vector is corresponding with this point of pixel motion vector.
Point pixel motion vector computational methods and device based on H264 agreement described in such scheme, described method is applied to point pixel motion vector calculation element based on H264 agreement, described device is for point pixel motion vector of computing macro block, and described device includes buffer unit, main control unit, reference frame multiplexing maintenance unit, SAD cost calculating unit, SAD cost choose unit. Described method comprises the steps: that first the first acquisition module obtains the whole pixel motion vector of 16x16 sub-block from described first cache module; Then reference frame multiplexing maintenance unit records the corresponding relation between whole pixel motion vector; Then the second acquisition module obtains the original block pixel that 16x16 sub-block is corresponding from described second cache module, and the 3rd acquisition module, according to the corresponding relation between whole pixel motion vector, obtains reference block pixel from described 3rd cache module; Then SAD cost calculating unit obtains original block pixel from described first register cell, and obtains reference block pixel from described second register cell, and carries out SAD cost calculating, obtains the reference block pixel SAD cost of multiple diverse location; Then SAD cost is chosen unit and the reference block pixel SAD cost of diverse location is compared, and chooses the SAD cost value of the reference block pixel of SAD Least-cost, and calculates point pixel motion vector of this reference block pixel and original block pixel; Then main control unit receives SAD cost and chooses point pixel motion vector that unit sends, and is write in the first cache module by a point pixel motion vector. So, in point pixel motion vector process calculating H264 agreement, acquired original block pixel obtains based on the size of 16x16 block, it is ensured that the durability of the original block pixel of 8x8 block and 4x4 block; When obtaining reference block pixel, the corresponding relation between whole pixel motion vector is recorded according to reference frame multiplexing maintenance unit, the reference block pixel optionally obtaining each layer (16x16 layer, 8x8 layer and 4x4 layer) being absent from multiplexed situation obtains, for can multiplexing reference block pixel then be not repeated obtain, thus substantially increasing the reusability of reference pixel, and improve the computational efficiency of point pixel motion vector, save power consumption, also a saving hardware cost simultaneously.
It should be noted that, in this article, the relational terms of such as first and second or the like is used merely to separate an entity or operation with another entity or operating space, and not necessarily requires or imply the relation that there is any this reality between these entities or operation or sequentially. And, term " includes ", " comprising " or its any other variant are intended to comprising of nonexcludability, so that include the process of a series of key element, method, article or terminal unit not only include those key elements, but also include other key elements being not expressly set out, or also include the key element intrinsic for this process, method, article or terminal unit. When there is no more restriction, statement " including ... " or " comprising ... " key element limited, it is not excluded that there is also other key element in including the process of described key element, method, article or terminal unit. Additionally, in this article, " more than ", " less than ", " exceeding " etc. be interpreted as not including this number; " more than ", " below ", " within " etc. be interpreted as including this number.
Although the various embodiments described above being described; but those skilled in the art are once know basic creative concept; then these embodiments can be made other change and amendment; so the foregoing is only embodiments of the invention; not thereby the scope of patent protection of the present invention is limited; every equivalent structure utilizing description of the present invention and accompanying drawing content to make or equivalence flow process conversion; or directly or indirectly it is used in other relevant technical fields, all in like manner include within the scope of patent protection of the present invention.
Claims (10)
1., based on a point pixel motion vector calculation element for H264 agreement, described device is for point pixel motion vector of computing macro block, it is characterised in that described macro block is divided into multiple 16x16 sub-block; Each 16x16 sub-block is divided into 4 8x8 sub-blocks, and each 8x8 sub-block is divided into 4 4x4 sub-blocks; Described device includes buffer unit, main control unit, reference frame multiplexing maintenance unit, SAD cost calculating unit, SAD cost choose unit; Described buffer unit is connected with main control unit, described main control unit is connected with reference frame multiplexing maintenance unit, described reference frame multiplexing maintenance unit is connected with SAD cost calculating unit, described SAD cost calculating unit is chosen unit with SAD cost and is connected, and described SAD cost is chosen unit and is connected with main control unit; Described buffer unit includes the first cache module, the second cache module, the 3rd cache module; Described main control unit includes acquiring unit and register cell; Described acquiring unit includes the first acquisition module, the second module obtains and the 3rd acquisition module; Described register cell includes the first register cell and the second register cell;
Described first acquisition module for obtaining the whole pixel motion vector of 16x16 sub-block from described first cache module, described whole pixel motion vector includes the first whole pixel motion vector, the second pixel motion vector and the 3rd whole pixel vector, described first whole pixel motion vector is the whole pixel motion vector of 16x16 layer in 16x16 sub-block, described second whole pixel motion vector is the whole pixel motion vector of 8x8 layer in 16x16 sub-block, and described 3rd whole pixel motion vector is the whole pixel motion vector of 4x4 layer in 16x16 sub-block;
Described reference frame multiplexing maintenance unit is for recording corresponding relation between whole pixel motion vector, and the corresponding relation of described whole pixel motion vector includes the corresponding relation of the second whole pixel motion vector of the first whole pixel motion vector and the corresponding relation of the second pixel motion vector, 8x8 layer difference 8x8 sub-block and the corresponding relation of the 3rd whole pixel vector of 4x4 layer difference 4x4 sub-block;
Described second acquisition module for obtaining the original block pixel that 16x16 sub-block is corresponding from described second cache module, and described first register cell is used for the original block pixel that buffer memory 16x16 sub-block is corresponding;
Described 3rd acquisition module for according to the corresponding relation between whole pixel motion vector, obtaining reference block pixel from described 3rd cache module, and described second register cell is used for buffer memory reference block pixel;
Described SAD cost calculating unit for obtaining original block pixel from described first register cell, and obtains reference block pixel from described second register cell, and carries out SAD cost calculating, obtains the reference block pixel SAD cost of multiple diverse location;
Described SAD cost chooses unit for the reference block pixel SAD cost of diverse location being compared, and chooses the SAD cost value of the reference block pixel of SAD Least-cost, and calculates point pixel motion vector of this reference block pixel and original block pixel;
Described main control unit chooses, for receiving SAD cost, point pixel motion vector that unit sends, and is write in the first cache module by a point pixel motion vector.
2. point pixel motion vector calculation element based on H264 agreement as claimed in claim 1, it is characterized in that, described " the 3rd acquisition module is for according to the corresponding relation between whole pixel motion vector; obtain reference block pixel from described 3rd cache module " including: if the second pixel motion vector of the 8x8 sub-block of 8x8 layer and the first whole pixel motion vector are identical, then described 3rd acquisition module does not obtain reference block pixel from the 3rd cache module, and otherwise the 3rd acquisition module obtains reference block pixel from the 3rd cache module.
3. point pixel motion vector calculation element based on H264 agreement as claimed in claim 1 or 2, it is characterized in that, it is described that " the 3rd acquisition module is for according to the corresponding relation between whole pixel motion vector, reference block pixel is obtained from described 3rd cache module " including: if the second pixel motion vector of the 8x8 sub-block of the 8x8 layer of reference frame multiplexing maintenance unit record is identical with the second pixel motion vector of the 8x8 sub-block of a upper 8x8 layer, then described 3rd acquisition module does not obtain reference block pixel from the 3rd cache module, otherwise the 3rd acquisition module obtains reference block pixel from the 3rd cache module.
4. point pixel motion vector calculation element based on H264 agreement as claimed in claim 1 or 2, it is characterized in that, it is described that " the 3rd acquisition module is for according to the corresponding relation between whole pixel motion vector, reference block pixel is obtained from described 3rd cache module " including: if the 3rd pixel motion vector of the 4x4 sub-block of the 4x4 layer of reference frame multiplexing maintenance unit record is identical with the 3rd pixel motion vector of the 4x4 sub-block of a upper 4x4 layer, then described 3rd acquisition module does not obtain reference block pixel from the 3rd cache module, otherwise the 3rd acquisition module obtains reference block pixel from the 3rd cache module.
5. point pixel motion vector calculation element based on H264 agreement as claimed in claim 1, it is characterized in that, described " main control unit for will point pixel motion vector write in the first cache module " including: main control unit is for writing in the first cache module after being packed by the whole pixel motion vector that point pixel motion vector is corresponding with this point of pixel motion vector.
6. point pixel motion vector computational methods based on H264 agreement, described method is applied to point pixel motion vector calculation element based on H264 agreement, described device is for point pixel motion vector of computing macro block, it is characterised in that described macro block is divided into multiple 16x16 sub-block; Each 16x16 sub-block is divided into 4 8x8 sub-blocks, and each 8x8 sub-block is divided into 4 4x4 sub-blocks; Described device includes buffer unit, main control unit, reference frame multiplexing maintenance unit, SAD cost calculating unit, SAD cost choose unit; Described buffer unit is connected with main control unit, described main control unit is connected with reference frame multiplexing maintenance unit, described reference frame multiplexing maintenance unit is connected with SAD cost calculating unit, described SAD cost calculating unit is chosen unit with SAD cost and is connected, and described SAD cost is chosen unit and is connected with main control unit; Described buffer unit includes the first cache module, the second cache module, the 3rd cache module; Described main control unit includes acquiring unit and register cell; Described acquiring unit includes the first acquisition module, the second module obtains and the 3rd acquisition module; Described register cell includes the first register cell and the second register cell; Described method comprises the steps:
First acquisition module obtains the whole pixel motion vector of 16x16 sub-block from described first cache module, described whole pixel motion vector includes the first whole pixel motion vector, the second pixel motion vector and the 3rd whole pixel vector, described first whole pixel motion vector is the whole pixel motion vector of 16x16 layer in 16x16 sub-block, described second whole pixel motion vector is the whole pixel motion vector of 8x8 layer in 16x16 sub-block, and described 3rd whole pixel motion vector is the whole pixel motion vector of 4x4 layer in 16x16 sub-block;
Reference frame multiplexing maintenance unit records the corresponding relation between whole pixel motion vector, and the corresponding relation of described whole pixel motion vector includes the corresponding relation of the second whole pixel motion vector of the first whole pixel motion vector and the corresponding relation of the second pixel motion vector, 8x8 layer difference 8x8 sub-block and the corresponding relation of the 3rd whole pixel vector of 4x4 layer difference 4x4 sub-block;
Second acquisition module obtains the original block pixel that 16x16 sub-block is corresponding from described second cache module, the original block pixel that the first register cell buffer memory 16x16 sub-block is corresponding;
3rd acquisition module, according to the corresponding relation between whole pixel motion vector, obtains reference block pixel, the second register cell buffer memory reference block pixel from described 3rd cache module;
SAD cost calculating unit obtains original block pixel from described first register cell, and obtains reference block pixel from described second register cell, and carries out SAD cost calculating, obtains the reference block pixel SAD cost of multiple diverse location;
SAD cost is chosen unit and the reference block pixel SAD cost of diverse location is compared, and chooses the SAD cost value of the reference block pixel of SAD Least-cost, and calculates point pixel motion vector of this reference block pixel and original block pixel;
Main control unit receives SAD cost and chooses point pixel motion vector that unit sends, and is write in the first cache module by a point pixel motion vector.
7. point pixel motion vector computational methods based on H264 agreement as claimed in claim 6, it is characterized in that, described step " the 3rd acquisition module, according to the corresponding relation between whole pixel motion vector, obtains reference block pixel from described 3rd cache module " including:
If the second pixel motion vector of the 8x8 sub-block of 8x8 layer and the first whole pixel motion vector are identical, then described 3rd acquisition module does not obtain reference block pixel from the 3rd cache module, and otherwise the 3rd acquisition module obtains reference block pixel from the 3rd cache module.
8. point pixel motion vector computational methods based on H264 agreement as claimed in claims 6 or 7, it is characterized in that, described step " the 3rd acquisition module, according to the corresponding relation between whole pixel motion vector, obtains reference block pixel from described 3rd cache module " including:
If the second pixel motion vector of the 8x8 sub-block of the 8x8 layer of reference frame multiplexing maintenance unit record is identical with the second pixel motion vector of the 8x8 sub-block of a upper 8x8 layer, then described 3rd acquisition module does not obtain reference block pixel from the 3rd cache module, and otherwise the 3rd acquisition module obtains reference block pixel from the 3rd cache module.
9. point pixel motion vector computational methods based on H264 agreement as claimed in claims 6 or 7, it is characterized in that, described step " the 3rd acquisition module, according to the corresponding relation between whole pixel motion vector, obtains reference block pixel from described 3rd cache module " including:
If the 3rd pixel motion vector of the 4x4 sub-block of the 4x4 layer of reference frame multiplexing maintenance unit record is identical with the 3rd pixel motion vector of the 4x4 sub-block of a upper 4x4 layer, then described 3rd acquisition module does not obtain reference block pixel from the 3rd cache module, and otherwise the 3rd acquisition module obtains reference block pixel from the 3rd cache module.
10. point pixel motion vector computational methods based on H264 agreement as claimed in claim 6, it is characterised in that described step " main control unit will divide a pixel motion vector to write in the first cache module " including:
Main control unit writes in the first cache module after being packed by the whole pixel motion vector that point pixel motion vector is corresponding with this point of pixel motion vector.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610008191.5A CN105681807B (en) | 2016-01-06 | 2016-01-06 | It is a kind of to divide pixel motion vector computational methods and device based on H264 agreements |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610008191.5A CN105681807B (en) | 2016-01-06 | 2016-01-06 | It is a kind of to divide pixel motion vector computational methods and device based on H264 agreements |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105681807A true CN105681807A (en) | 2016-06-15 |
CN105681807B CN105681807B (en) | 2018-11-02 |
Family
ID=56299337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610008191.5A Active CN105681807B (en) | 2016-01-06 | 2016-01-06 | It is a kind of to divide pixel motion vector computational methods and device based on H264 agreements |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105681807B (en) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107197281A (en) * | 2017-05-12 | 2017-09-22 | 武汉斗鱼网络科技有限公司 | A kind of method and electronic equipment for realizing estimation |
CN110677666A (en) * | 2018-07-02 | 2020-01-10 | 北京字节跳动网络技术有限公司 | Order of rounding and pruning in LAMVR |
US20200413044A1 (en) | 2018-09-12 | 2020-12-31 | Beijing Bytedance Network Technology Co., Ltd. | Conditions for starting checking hmvp candidates depend on total number minus k |
CN112866702A (en) * | 2019-03-11 | 2021-05-28 | 杭州海康威视数字技术股份有限公司 | Encoding and decoding method, device and equipment |
US11134267B2 (en) | 2018-06-29 | 2021-09-28 | Beijing Bytedance Network Technology Co., Ltd. | Update of look up table: FIFO, constrained FIFO |
US11140383B2 (en) | 2019-01-13 | 2021-10-05 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between look up table and shared merge list |
US11140385B2 (en) | 2018-06-29 | 2021-10-05 | Beijing Bytedance Network Technology Co., Ltd. | Checking order of motion candidates in LUT |
US11146785B2 (en) | 2018-06-29 | 2021-10-12 | Beijing Bytedance Network Technology Co., Ltd. | Selection of coded motion information for LUT updating |
US11159817B2 (en) | 2018-06-29 | 2021-10-26 | Beijing Bytedance Network Technology Co., Ltd. | Conditions for updating LUTS |
US11159807B2 (en) | 2018-06-29 | 2021-10-26 | Beijing Bytedance Network Technology Co., Ltd. | Number of motion candidates in a look up table to be checked according to mode |
US11528500B2 (en) | 2018-06-29 | 2022-12-13 | Beijing Bytedance Network Technology Co., Ltd. | Partial/full pruning when adding a HMVP candidate to merge/AMVP |
US11528501B2 (en) | 2018-06-29 | 2022-12-13 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between LUT and AMVP |
US11589071B2 (en) | 2019-01-10 | 2023-02-21 | Beijing Bytedance Network Technology Co., Ltd. | Invoke of LUT updating |
US11641483B2 (en) | 2019-03-22 | 2023-05-02 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between merge list construction and other tools |
US11895318B2 (en) | 2018-06-29 | 2024-02-06 | Beijing Bytedance Network Technology Co., Ltd | Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks |
US11956464B2 (en) | 2019-01-16 | 2024-04-09 | Beijing Bytedance Network Technology Co., Ltd | Inserting order of motion candidates in LUT |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101600112A (en) * | 2009-07-09 | 2009-12-09 | 杭州士兰微电子股份有限公司 | Sub-pixel motion estimation device and method |
CN102377995A (en) * | 2010-08-05 | 2012-03-14 | 富士通株式会社 | Fractional pixel motion estimation method and system thereof |
WO2012043884A1 (en) * | 2010-10-01 | 2012-04-05 | Sharp Kabushiki Kaisha | Nested entropy encoding |
CN104363451A (en) * | 2014-10-27 | 2015-02-18 | 华为技术有限公司 | Image forecasting method and related device |
JP2015508247A (en) * | 2012-01-19 | 2015-03-16 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute | Video encoding / decoding method and apparatus |
-
2016
- 2016-01-06 CN CN201610008191.5A patent/CN105681807B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101600112A (en) * | 2009-07-09 | 2009-12-09 | 杭州士兰微电子股份有限公司 | Sub-pixel motion estimation device and method |
CN102377995A (en) * | 2010-08-05 | 2012-03-14 | 富士通株式会社 | Fractional pixel motion estimation method and system thereof |
WO2012043884A1 (en) * | 2010-10-01 | 2012-04-05 | Sharp Kabushiki Kaisha | Nested entropy encoding |
JP2015508247A (en) * | 2012-01-19 | 2015-03-16 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute | Video encoding / decoding method and apparatus |
CN104363451A (en) * | 2014-10-27 | 2015-02-18 | 华为技术有限公司 | Image forecasting method and related device |
Non-Patent Citations (1)
Title |
---|
夏小建: "嵌入式双流视频编码器的算法研究与优化", 《中国优秀硕士学位论文全文数据库-信息科技辑》 * |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018205781A1 (en) * | 2017-05-12 | 2018-11-15 | 武汉斗鱼网络科技有限公司 | Method for use in achieving motion estimation and electronic device |
CN107197281A (en) * | 2017-05-12 | 2017-09-22 | 武汉斗鱼网络科技有限公司 | A kind of method and electronic equipment for realizing estimation |
US11146786B2 (en) | 2018-06-20 | 2021-10-12 | Beijing Bytedance Network Technology Co., Ltd. | Checking order of motion candidates in LUT |
US11895318B2 (en) | 2018-06-29 | 2024-02-06 | Beijing Bytedance Network Technology Co., Ltd | Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks |
US12034914B2 (en) | 2018-06-29 | 2024-07-09 | Beijing Bytedance Network Technology Co., Ltd | Checking order of motion candidates in lut |
US12058364B2 (en) | 2018-06-29 | 2024-08-06 | Beijing Bytedance Network Technology Co., Ltd. | Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks |
US11973971B2 (en) | 2018-06-29 | 2024-04-30 | Beijing Bytedance Network Technology Co., Ltd | Conditions for updating LUTs |
US11909989B2 (en) | 2018-06-29 | 2024-02-20 | Beijing Bytedance Network Technology Co., Ltd | Number of motion candidates in a look up table to be checked according to mode |
US11134267B2 (en) | 2018-06-29 | 2021-09-28 | Beijing Bytedance Network Technology Co., Ltd. | Update of look up table: FIFO, constrained FIFO |
US11877002B2 (en) | 2018-06-29 | 2024-01-16 | Beijing Bytedance Network Technology Co., Ltd | Update of look up table: FIFO, constrained FIFO |
US11140385B2 (en) | 2018-06-29 | 2021-10-05 | Beijing Bytedance Network Technology Co., Ltd. | Checking order of motion candidates in LUT |
US11706406B2 (en) | 2018-06-29 | 2023-07-18 | Beijing Bytedance Network Technology Co., Ltd | Selection of coded motion information for LUT updating |
US11146785B2 (en) | 2018-06-29 | 2021-10-12 | Beijing Bytedance Network Technology Co., Ltd. | Selection of coded motion information for LUT updating |
US11695921B2 (en) | 2018-06-29 | 2023-07-04 | Beijing Bytedance Network Technology Co., Ltd | Selection of coded motion information for LUT updating |
US11528500B2 (en) | 2018-06-29 | 2022-12-13 | Beijing Bytedance Network Technology Co., Ltd. | Partial/full pruning when adding a HMVP candidate to merge/AMVP |
US11153557B2 (en) | 2018-06-29 | 2021-10-19 | Beijing Bytedance Network Technology Co., Ltd. | Which LUT to be updated or no updating |
US11159817B2 (en) | 2018-06-29 | 2021-10-26 | Beijing Bytedance Network Technology Co., Ltd. | Conditions for updating LUTS |
US11159807B2 (en) | 2018-06-29 | 2021-10-26 | Beijing Bytedance Network Technology Co., Ltd. | Number of motion candidates in a look up table to be checked according to mode |
US11528501B2 (en) | 2018-06-29 | 2022-12-13 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between LUT and AMVP |
US11245892B2 (en) | 2018-06-29 | 2022-02-08 | Beijing Bytedance Network Technology Co., Ltd. | Checking order of motion candidates in LUT |
US11153558B2 (en) | 2018-07-02 | 2021-10-19 | Beijing Bytedance Network Technology Co., Ltd. | Update of look-up tables |
US11134243B2 (en) | 2018-07-02 | 2021-09-28 | Beijing Bytedance Network Technology Co., Ltd. | Rules on updating luts |
US11153559B2 (en) | 2018-07-02 | 2021-10-19 | Beijing Bytedance Network Technology Co., Ltd. | Usage of LUTs |
US11463685B2 (en) | 2018-07-02 | 2022-10-04 | Beijing Bytedance Network Technology Co., Ltd. | LUTS with intra prediction modes and intra mode prediction from non-adjacent blocks |
US11134244B2 (en) | 2018-07-02 | 2021-09-28 | Beijing Bytedance Network Technology Co., Ltd. | Order of rounding and pruning in LAMVR |
CN110677666A (en) * | 2018-07-02 | 2020-01-10 | 北京字节跳动网络技术有限公司 | Order of rounding and pruning in LAMVR |
CN110677666B (en) * | 2018-07-02 | 2022-06-14 | 北京字节跳动网络技术有限公司 | Order of rounding and pruning in LAMVR |
US20210297659A1 (en) | 2018-09-12 | 2021-09-23 | Beijing Bytedance Network Technology Co., Ltd. | Conditions for starting checking hmvp candidates depend on total number minus k |
US11159787B2 (en) | 2018-09-12 | 2021-10-26 | Beijing Bytedance Network Technology Co., Ltd. | Conditions for starting checking HMVP candidates depend on total number minus K |
US11997253B2 (en) | 2018-09-12 | 2024-05-28 | Beijing Bytedance Network Technology Co., Ltd | Conditions for starting checking HMVP candidates depend on total number minus K |
US20200413044A1 (en) | 2018-09-12 | 2020-12-31 | Beijing Bytedance Network Technology Co., Ltd. | Conditions for starting checking hmvp candidates depend on total number minus k |
US11589071B2 (en) | 2019-01-10 | 2023-02-21 | Beijing Bytedance Network Technology Co., Ltd. | Invoke of LUT updating |
US11140383B2 (en) | 2019-01-13 | 2021-10-05 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between look up table and shared merge list |
US11909951B2 (en) | 2019-01-13 | 2024-02-20 | Beijing Bytedance Network Technology Co., Ltd | Interaction between lut and shared merge list |
US11956464B2 (en) | 2019-01-16 | 2024-04-09 | Beijing Bytedance Network Technology Co., Ltd | Inserting order of motion candidates in LUT |
US11962799B2 (en) | 2019-01-16 | 2024-04-16 | Beijing Bytedance Network Technology Co., Ltd | Motion candidates derivation |
US11902563B2 (en) | 2019-03-11 | 2024-02-13 | Hangzhou Hikvision Digital Technology Co., Ltd. | Encoding and decoding method and device, encoder side apparatus and decoder side apparatus |
CN112866702A (en) * | 2019-03-11 | 2021-05-28 | 杭州海康威视数字技术股份有限公司 | Encoding and decoding method, device and equipment |
CN112866702B (en) * | 2019-03-11 | 2022-03-01 | 杭州海康威视数字技术股份有限公司 | Encoding and decoding method, device and equipment |
US11641483B2 (en) | 2019-03-22 | 2023-05-02 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between merge list construction and other tools |
Also Published As
Publication number | Publication date |
---|---|
CN105681807B (en) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105681807A (en) | Method and device for calculating sub pixel motion vector based on H264 protocol | |
CN104244007B (en) | Image coding method and device and decoding method and device | |
CN101115205B (en) | Method and apparatus for processing video stream | |
CN105120293B (en) | Image collaboration coding/decoding method and device based on CPU and GPU | |
JP2018533261A (en) | Image prediction method and apparatus | |
KR20200020915A (en) | Image data encoding method and apparatus and Image data decoding method and apparatus | |
CN105933708B (en) | A kind of method and apparatus of data compression and decompression | |
CN110944187B (en) | Point cloud encoding method and encoder | |
US8498342B1 (en) | Deblocking filtering | |
CN106470323B (en) | The storage method and equipment of video data | |
CN106170093B (en) | Intra-frame prediction performance improving coding method | |
CN107667528A (en) | Method and system for the adaptive reference frame buffer of coding and decoding video | |
CN103609117A (en) | Method and device for encoding and decoding an image | |
CN109688407A (en) | Reference block selection method, device, electronic equipment and the storage medium of coding unit | |
CN1703094B (en) | Image interpolation apparatus and methods that apply quarter pel interpolation to selected half pel interpolation results | |
CN110278443A (en) | The context modeling method and device of division symbolizing position | |
Hu et al. | Deep inter prediction with error-corrected auto-regressive network for video coding | |
TWI418219B (en) | Data-mapping method and cache system for use in a motion compensation system | |
CN101394559B (en) | Dynamic image processing method, decoding method and apparatus thereof | |
CN102420989B (en) | Intra-frame prediction method and device | |
CN107172425B (en) | Thumbnail generation method and device and terminal equipment | |
Zhang et al. | Hardware architecture design of block-matching and 3D-filtering denoising algorithm | |
CN110049339A (en) | Prediction direction choosing method, device and storage medium in image coding | |
Chang et al. | Efficient algorithms and architectures for MPEG-4 object-based video coding | |
TWI513282B (en) | Cache managing device and motion picture system and method utilizing the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 350003 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China Patentee after: Ruixin Microelectronics Co., Ltd Address before: 350003 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China Patentee before: Fuzhou Rockchips Electronics Co.,Ltd. |