CN101321288B - reference data loading method, device and video encoder - Google Patents

reference data loading method, device and video encoder Download PDF

Info

Publication number
CN101321288B
CN101321288B CN 200810111345 CN200810111345A CN101321288B CN 101321288 B CN101321288 B CN 101321288B CN 200810111345 CN200810111345 CN 200810111345 CN 200810111345 A CN200810111345 A CN 200810111345A CN 101321288 B CN101321288 B CN 101321288B
Authority
CN
China
Prior art keywords
macro
written
motion vector
prediction
length
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.)
Expired - Fee Related
Application number
CN 200810111345
Other languages
Chinese (zh)
Other versions
CN101321288A (en
Inventor
孟新建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 200810111345 priority Critical patent/CN101321288B/en
Publication of CN101321288A publication Critical patent/CN101321288A/en
Application granted granted Critical
Publication of CN101321288B publication Critical patent/CN101321288B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention discloses a loading method for reference data, a device and a video encoder, referring to the video encoding technology, which solves the problems of overmany loading quantities of the reference data in the current technology, large taking external memory bandwidth and the system bus, high system cost and power consumption. The loading method for reference data of the embodiment of the invention comprises: predicting the vertical loading length of the current macro blocks; obtaining the vertical loading range of the current macro block according to the vertical loading length; loading the needed reference data of each macro block moving estimation of the current macro block according to the vertical loading range.

Description

Reference data loading method, device and video encoder
Technical field
The present invention relates to video coding technique, relate in particular to a kind of reference data loading method, device and video encoder.
Background technology
Video coding technique is with the digital video information compression, to save memory space, improves transmission speed.At present usually the video compression coding standard that adopts has: MPEG2 is (by Motion Picture Experts Group: MovingPicture Experts Group, MPEG formulates), MPEG4-Part2, H.263 (by Union of International Telecommunication: International Telecommunication Union, ITU formulates) and up-to-date H.264/AVC (by joint video expert group: Joint Video Team, JVT formulates) etc.Above-mentioned video encoding standard all adopts block-based estimation and motion compensation technique, and high-quality video compression effect can be provided.In Video Coder Implementation, the estimation operand is huge, is the main bottleneck that influences coding efficiency.
Video is made up of continuous images, and for progressive, image is frame, for interlaced video, when encoding by the field field is called image, during framing code frame is called image.During to each image encoding, image is divided into macro block, macro block is the base unit of coding.In existing coding standard, macro block is made up of one 16 * 16 brightness (Y) piece, two 8 * 8 colourities (Cr and Cb each one) piece.Macro block is in prediction, further be divided into sub-macro block (also claiming piece) in the transform and quantization, and sub-macro block (or piece) size has 16*16,16 * 8,8 * 16,8 * 8 etc.
(Motion Estimation, ME) the sub-macro block of each brightness (or piece) with each macro block is a unit to estimation, comprises whole picture element movement estimation and inferior pixel (half-pix and 1/4 pixel) estimation.Be written into data volume and operand for saving estimation, usually unified earlier reference data and current image date of reading in a macro block, and put in order picture element movement earlier and estimate to carry out again the sub-pixel motion estimation, hierarchical algorithm or pyramid algorith are common motion estimation algorithms.During convenient the description, the unit of motion vector is a brightness sample value in this patent, is a scan line in vertical direction.
Estimation also often is called the piece coupling, it be for the current sub-macro block in the present image in reference picture in the given hunting zone (search window), find out and the most similar macro block of current sub-macro block according to certain matching criterior, promptly mate sub-macro block, by the relative displacement of coupling sub-macro block and current sub-macro block calculate motion vector (Motion Vector, MV).
When current macro is carried out estimation, must at first choose the scope of seeking the required search window of coupling macro block.Be estimated as the choosing method of example explanation search window below with the whole pixel motion under the situation that macro block only is divided into one 16 * 16 sub-macro block (below be also referred to as macro block).As shown in Figure 1, and MB (j, k) for carrying out the 16*16 macro block of estimation in the present image, wherein, k represents line number, j represents a macroblock number in the macro-block line.The searching position scope that each macro block is chosen is a level [24, + 24)/vertical [24, + 24),, so, to macro block MB (j, when k) carrying out estimation, search window S (j, scope k) be with in the reference picture with macro block MB (j, k) Dui Ying position is the center, comprises that scope is the image-region of (24+16+24) * (24+16+24)=64 * 64 around it.In search window, adopt certain matching criterior, for example, difference absolute value accumulation and (Sum of Absolute Difference:SAD) calculate macro block MB (j, best matching blocks Match (j k), k), thereby obtain Match (j, k) with MB (j, k) between motion vector MV (j, k), corresponding level and vertical motion vector be respectively MVX (j, k), MVY (j, k).
Video encoder need be written into this macro block is carried out reference data in the required hunting zone of estimation before a macro block is carried out estimation.Usually the on-chip memory capacity of video encoder is less, is not enough to store a video image, and video image can only be stored in the chip external memory.Because the delay that chip external memory is conducted interviews is bigger, for real-time and the high efficiency that guarantees the estimation computing, video encoder adopts two-stage storage system when carrying out estimation usually, as shown in Figure 2, comprise on-chip memory and chip external memory, at first reading reference data from chip external memory deposits in the search data buffer memory the on-chip memory, carry out being written into of reference data, when carrying out the estimation computing, the search data buffer memory from on-chip memory reads required reference data again.
In the prior art, video encoder carries out method that reference data is written into as shown in Figure 3, and by order from top to bottom, macro-block line is carried out reference data and is written into one by one to an interframe encode P two field picture P (n).Choosing the motion estimation search position range is level [24, + 24)/vertical [24, + 24), for j 16*16 macro block of k macro-block line MB (j, k), search window S (j, k) scope is (48+16) * (48+16)=64 * 64, and (j is when k) carrying out estimation to macro block MB, the reference data that need be written into is (j, k) the interior image pixel value of search window S in the reference picture.Similarly, to macro block MB (j, k) the macro block MB that is close to of the right (j+1, k), search window S (j+1, scope k) be (48+16) * (48+16)=64 * 64, the reference data that need be written into is (j+1, k) the interior image pixel value of search window S in the reference picture.Because S (j, k) and S (j+1, k) major part is overlapping, like this, (j+1 is when k) carrying out estimation to macro block MB, need the newly-increased reference data that is written into only to be DS (j+1, k)=24 * (48+16) image pixel value (not considering the multistage filtering interpolation situation of sub-pix here) in the scope.And the like, search window horizontal slip increment type is written into reference data, and the estimation of all macro blocks in finishing the k macro-block line amounts to the reference data be written into and is: the image pixel value in the scope of macro-block line width * (48+16).
In realizing process of the present invention, the inventor finds that there are the following problems at least in the prior art: reference data loading method of the prior art, just reference data is written into by increment type, avoided the horizontal direction reference data repeat in a large number be written into, optimized the amount of being written into of horizontal direction reference data.But, carry out reference data in vertical direction when being written into, adopt a fixing bigger scope, exist a large amount of reference datas repeat be written into, increased taking of system bus and external memory bandwidth, improved the cost and the power consumption of system.
Summary of the invention
On the one hand, the embodiment of the invention provides a kind of reference data loading method, can significantly reduce the amount of being written into of reference data.
The technical scheme that the embodiment of the invention adopts is as follows: a kind of reference data loading method, and this method comprises:
Prediction present image current macro row vertically be written into length;
Vertically be written into the scope that vertically is written into that length is obtained described present image current macro row according to described;
According to the described scope that vertically is written into, be written into the needed reference data of each macro block estimation in the described present image current macro row.
On the other hand, the embodiment of the invention provides a kind of reference data device for loading, can significantly reduce the amount of being written into of reference data.
The technical scheme that the embodiment of the invention adopts is as follows: a kind of reference data device for loading, and this device comprises:
Vertically be written into the length predicting unit, what be used to predict present image current macro row vertically is written into length;
Vertically be written into the scope acquiring unit, be used for according to described vertically be written into length predicting unit prediction vertically be written into length, obtain the scope that vertically is written into of described present image current macro row;
Be written into the unit, be used for vertically being written into the scope that vertically is written into that the scope acquiring unit obtains, be written into the needed reference data of each macro block estimation in the described present image current macro row according to described.
On the other hand, the embodiment of the invention provides a kind of video encoder, can significantly reduce the amount of being written into of reference data.
The technical scheme that the embodiment of the invention adopts is as follows: a kind of video encoder comprises:
External memory storage, the data that are used to store present image and reference picture;
The reference data device for loading, what be used to predict present image current macro row vertically is written into length, determine vertically to be written into scope according to the described length that vertically is written into, be written into range information according to the described level that vertically is written into scope and receives from coding motion estimation process unit, the reference data of each macro block of present image current macro row is read from described external memory storage, send into the reference data buffer;
The reference data buffer is used to store the reference data that is transmitted by described reference data device for loading;
Coding motion estimation process unit, be used to read in current sub-macro block data, according to the reference data in the described reference data buffer, the sub-macro block of each macro block of present image current macro row is carried out estimation, export the vertical motion vector and the horizontal motion vector of described sub-macro block.
When the embodiment of the invention is carried out being written into of reference data to the estimation of each macro block of present image current macro row, at present image current macro row, the length that is written into the reference data vertical direction is predicted, obtain when the current macro row carried out estimation, required reference data vertically be written into length.Each macro-block line in the present image is adopted identical method, obtain each macro-block line required vertically be written into length.The embodiment of the invention is carried out reference data when being written into to each macro-block line in the present image, each macro-block line by prediction vertically be written into length, obtain the described scope that vertically is written into, adaptive change takes place in the scope that vertically is written into that each macro-block line is carried out the required reference data that is written into of estimation, effectively reduced the scope that is written into of the required reference data of each macro block in each macro-block line, thereby, significantly reduced the amount of being written into of video coding estimation reference data, reduce video coding system bus and external memory bandwidth occupancy, reduced system cost and power consumption.
Description of drawings
In order to be illustrated more clearly in the embodiment of the invention or technical scheme of the prior art, to do to introduce simply to the accompanying drawing of required use in embodiment or the description of the Prior Art below, apparently, accompanying drawing in describing below only is some embodiments of the present invention, for those of ordinary skills, under the prerequisite of not paying creative work, can also obtain other accompanying drawing according to these accompanying drawings.
Fig. 1 is the principle schematic when carrying out estimation in the video coding;
Fig. 2 is the structural representation that carries out reference data video encoder when being written into;
Fig. 3 carries out the principle schematic of reference data when being written into for prior art;
The reference data loading method flow chart that Fig. 4 provides for the embodiment of the invention;
The reference data loading method flow chart that Fig. 5 provides for the embodiment of the invention one;
The reference data loading method flow chart that Fig. 6 provides for the embodiment of the invention two;
The reference data loading method flow chart that Fig. 7 provides for the embodiment of the invention three;
The reference data loading method flow chart that Fig. 8 provides for the embodiment of the invention four;
The reference data device for loading structure chart that Fig. 9 provides for the embodiment of the invention;
The reference data device for loading structure chart that Figure 10 provides for the embodiment of the invention one;
The reference data device for loading structure chart that Figure 11 provides for the embodiment of the invention two;
The reference data device for loading structure chart that Figure 12 provides for the embodiment of the invention three;
The reference data device for loading structure chart that Figure 13 provides for the embodiment of the invention four;
A kind of video encoder structure chart that Figure 14 provides for the embodiment of the invention;
The another kind of video encoder structure chart that Figure 15 provides for the embodiment of the invention;
Reference data device for loading structure chart in a kind of video encoder that Figure 16 provides for the embodiment of the invention;
Reference data device for loading structure chart in the another kind of video encoder that Figure 17 provides for the embodiment of the invention.
Embodiment
In order to be illustrated more clearly in the technical scheme of the embodiment of the invention, below in conjunction with accompanying drawing embodiments of the invention are described in detail, following description only is some embodiments of the present invention, for those of ordinary skills, under the prerequisite of not paying creative work, can also obtain other execution mode of the present invention according to these embodiment.
The embodiment of the invention provides a kind of reference data loading method, device and video encoder, can significantly reduce the amount of being written into of reference data.
As shown in Figure 4, the embodiment of the invention provides a kind of reference data loading method, and this method comprises the steps:
Step 41, prediction present image current macro row vertically be written into length;
Step 42, vertically be written into the scope that vertically is written into that length is obtained described present image current macro row according to described;
Step 43, according to the described scope that vertically is written into, be written into the needed reference data of each macro block estimation in the described present image current macro row.
When the embodiment of the invention is carried out being written into of reference data to the estimation of each macro block of present image current macro row, at present image current macro row, the length that is written into the reference data vertical direction is predicted, obtain when the current macro row carried out estimation, the vertical direction of required reference data is written into length.Each macro-block line in the present image is adopted identical method, obtain each macro-block line required vertically be written into length.The embodiment of the invention is carried out reference data when being written into to each macro-block line in the present image, vertically be written into length by what predict each macro-block line, obtain the described scope that vertically is written into, each macro-block line is carried out the required reference data vertical range that is written into of estimation adaptive change is taken place, effectively reduced the scope that is written into of the required reference data of each macro block in each macro-block line, thereby, significantly reduced the amount of being written into of video coding estimation reference data, reduce video coding system bus and external memory bandwidth occupancy, reduced system cost and power consumption.
The reference data loading method that the embodiment of the invention is provided is elaborated below.
Embodiment one
In the embodiment of the invention one, as shown in Figure 5, the length that vertically is written into of step 41 prediction present image current macro row specifically comprises:
Step 411, vertically be written into length according to what the vertical motion vector that carried out the sub-macro block of estimation in the image sets under the present image was predicted described present image current macro row.
To all macro blocks that had carried out estimation, the vertical motion vector of its all sub-macro blocks is known.According to this known vertical motion vector, that can adopt that several different methods predicts described present image current macro row vertically is written into length.For example, from last macro-block line, get first sub-macro block by each macro block such as interval such as macro block such as grade, obtain 32 vertical motion vectors altogether, also obtain 32 vertical motion vectors by the same manner from previous image co-located macro-block line, described 64 vertical motion vectors are divided into two groups of forward (downwards) and negative senses (making progress), every group is averaged and variance, promptly obtain: forward vertical motion vector average value mu pAnd variances sigma p, negative sense vertical motion vector average value mu nAnd variances sigma n, estimate the maximum of this macro-block line forward and negative movement vector by 3 σ criterions, promptly forward vertically is written into the vertical length N LEN that is written into negative sense of length PLEN, is respectively (μ p+ 3 σ p) and (μ n+ 3 σ n).
The technical scheme that the embodiment of the invention provides is including, but not limited to said method, and the those skilled in the art can obtain the result of step 41 in the embodiment of the invention according to disclosed content in the prior art.
Step 42, vertically be written into the scope that vertically is written into that length is obtained described present image current macro row according to described.
This scope adds downwards the line number of the macro-block line that the above PLEN length comprises for the line number with the current macro row, the line number of the macro-block line that comprises for described NLEN length upwards, and the situation for inferior pixel expectation polynomial interopolation is arranged also will add additional several rows.For example, if vertically to be written into length be 12 to forward, add and upwards equal negative sense and be written into length 8, for the situation of half pixel, 6 rank interpolation H.264, the scope that is written into number is a benchmark with current line, and downward 26 row (comprise current line, 16+8+2=26), 10 row (8+2=10) upwards.
Step 43, according to the described scope that vertically is written into, be written into the needed reference data of each macro block estimation in the described present image current macro row.
In the horizontal direction, each macroblock level is written into scope and can be scheduled to, be written into incremental mode according to macro block, each macro block once is written into the reference data that is used for each sub-macro block estimation of this macro block, when current macro was carried out estimation, the loaded reference data of required last macro block need not repeat to be written into, and only is written into the incremental portion of comparing the required reference data of current macro with last macro block, in background technology to this method detailed introduction, repeat no more herein.
The embodiment of the invention is carried out reference data when being written into to each macro-block line in the present image, vertically be written into length by what predict each macro-block line, obtain the described scope that vertically is written into, each macro-block line is carried out the required reference data vertical range that is written into of estimation adaptive change is taken place, effectively reduced the scope that is written into of the required reference data of each macro block in each macro-block line, thereby, significantly reduced the amount of being written into of video coding estimation reference data, reduce video coding system bus and external memory bandwidth occupancy, reduced system cost and power consumption.
Among the distinct methods embodiment provided by the invention, what difference mainly was step 41 prediction present image current macro row vertically is written into length, and following method embodiment mainly describes step 41, to step 42 and 43 referring to embodiment one.
Embodiment two
In the embodiment of the invention two, as shown in Figure 6, the length that vertically is written into of step 41 prediction present image current macro row comprises:
Step 412, vertically be written into length according to the vertical motion vector prediction present image current macro row of the last macro-block line neutron macro block of present image current macro row.
If first macro-block line in current macro behavior video sequence first image, can adopt the loading method of reference data in the prior art that this macro-block line is handled, since second macro-block line, utilize the vertical motion vector prediction of a last macro-block line vertically to be written into length.
Describe with the second macro block behavior example in first image, describe for simplifying, each macro block only is divided into one 16 * 16 sub-macro block (the following macro block that also claims) here.For the first macro-block line MBR in this image (n, k), wherein, n presentation video sequence number, k represents the macro-block line sequence number, according to loaded reference data, carry out estimation, obtain each macro block in first macro-block line motion vector MV (j, k-1), corresponding level and vertical motion vector be respectively MVX (j, k-1), MVY (j, k-1), wherein, k represents line number (k is 2) here, and j represents the macroblock number in the delegation, and the value of j is a positive integer.
Below step 412 in the embodiment of the invention two is described in detail, comprise the steps:
Step S1, be provided with first the prediction amplification coefficient and the prediction margin value;
Get the first prediction amplification coefficient L1 and be not less than 1 amplification coefficient, getting prediction margin value L3 is positive integer, the first prediction amplification coefficient is set and predicts that margin value is used for suitably increasing prediction length, improves the accuracy of estimation.
Step S2, obtain the forward maximum perpendicular motion vector value and the negative sense maximum perpendicular motion vector of a last macro-block line of described present image current macro row according to the vertical motion vector of the last macro-block line neutron macro block of present image current macro row;
Vertical motion vector MVY (j according to each macro block in first macro-block line, k-1), the embodiment of the invention adopts the method for circular treatment to find out the forward maximum PMVYmax (n of vertical motion vector in first macro-block line, k-1) and maximum negative value NMVYmax (n, k-1), wherein, n presentation video sequence number, k represents line number, and n is 1 here, and k is 2.
The first macro-block line MBR (n, k-1) in, carry out following processing from first macro block (j=1) to last macro block circulation:
Initially put PMVYmax (n, k-1)=PMVY (j, k-1), NMVYmax (n, k-1)=NMVY (j, k-1), wherein, j=1, k=2;
This first next macro block MB in macro block right side (j+1, vertical motion vector k-1), forward be designated as+and PMV (j+1, k-1), negative sense is designated as+NMV (j+1, k-1).
If PMV (j+1, k-1)>PMVYmax (n, k-1), then PMVYmax (n, k-1)=PMVY (j+1, k-1);
If NMV (j+1, k-1)>NMVYmax (n, k-1), NMVYmax (n then, k-1)=and NMVY (j+1, k-1), two steps of above-mentioned comparison are carried out in circulation, all macro blocks dispose in to described first macro-block line, find vertical motion vector in first macro-block line forward maximum PMVYmax (n, k-1) and maximum negative value NMVYmax (n, k-1), this circulation process method need not be stored the described vertical motion vector of each macro block, has saved memory space.
Step S3, according to the described first prediction amplification coefficient, prediction margin value and described forward maximum perpendicular motion vector, obtain described forward and vertically be written into length, described forward vertically is written into length PLEN (n, k) be: PLEN (n, k)=L3+PMVYmax (n, k-1) * L1, wherein, n presentation video sequence number, k represents the macro-block line sequence number, PLEN (n, k) be expressed as the forward that the k macro-block line is predicted in n the image and vertically be written into length, PMVYmax (n, k-1) the forward maximum perpendicular motion vector of n image k-1 macro-block line of expression, L1 is the first prediction amplification coefficient, and L3 is the prediction margin value;
Step S4, according to the described first prediction amplification coefficient, prediction margin value and described negative sense maximum perpendicular motion vector, obtain described negative sense and vertically be written into length, described negative sense vertically is written into length N LEN: NLEN (n, k)=L3+NMVYmax (n, k-1) * L1, wherein, n presentation video sequence number, k represents the macro-block line sequence number, and (n k) is expressed as the negative sense that the k macro-block line is predicted in n the image and vertically is written into length NLEN, NMVYmax (n, k-1) the negative sense maximum perpendicular motion vector of n image k-1 macro-block line of expression, L1 are the first prediction amplification coefficient, and L3 is the prediction margin value.
The embodiment of the invention is carried out reference data when being written into to each macro-block line in the present image, vertically be written into length by what predict each macro-block line, obtain the described scope that vertically is written into, each macro-block line is carried out the required reference data vertical range that is written into of estimation adaptive change is taken place, effectively reduced the scope that is written into of the required reference data of each macro block in each macro-block line, thereby, significantly reduced the amount of being written into of video coding estimation reference data, reduce video coding system bus and external memory bandwidth occupancy, reduced system cost and power consumption.
Embodiment three
In the embodiment of the invention three, as shown in Figure 7, the length that vertically is written into of step 41 prediction present image current macro row specifically comprises:
Step 413, according to the vertical length that is written into of the vertical motion vector of macro-block line neutron macro block identical in the previous image of present image prediction present image current macro row with the current macro line position, this step is specially:
Step T1, be provided with second the prediction amplification coefficient and the prediction margin value;
Get the second prediction amplification coefficient L2 and be not less than 1 amplification coefficient, prediction margin value L3 is a positive integer.
Step T2, obtain the forward maximum perpendicular motion vector value and the negative sense maximum perpendicular motion vector of macro-block line identical in the previous image of present image according to the vertical motion vector of macro-block line neutron macro block identical in the previous image of present image with the current macro line position with the current macro line position;
Each sub-macro block in the previous image of described present image in the macro-block line identical with the current macro line position, according to loaded reference data, carried out estimation, the vertical motion vector of each sub-macro block is known, describe for simplifying, each macro block only is divided into one 16 * 16 sub-macro block (the following macro block that also claims) here.
Adopt with method embodiment two in identical circulation process method, obtain the forward maximum perpendicular motion vector value PMVYmax (n-1 of macro-block line identical in the previous image of present image with the current macro line position, k) and negative sense maximum perpendicular motion vector NMVYmax (n-1, k).
Step T3, according to the described second prediction amplification coefficient, the forward maximum perpendicular motion vector of the macro-block line that the prediction margin value is identical with described and described current macro line position, obtain described forward and vertically be written into length, described forward vertically is written into length PLEN: PLEN (n, k)=L3+PMVYmax (n-1, k) * L2, wherein, n presentation video sequence number, k represents the macro-block line sequence number, and (n k) is expressed as the forward that the k macro-block line is predicted in n the image and vertically is written into length PLEN, PMVYmax (n-1, k) the forward maximum perpendicular motion vector of n-1 image k macro-block line of expression, L2 are the second prediction amplification coefficient, and L3 is the prediction margin value;
Step T4, according to the described second prediction amplification coefficient, the negative sense maximum perpendicular motion vector of the macro-block line that the prediction margin value is identical with described and described current macro line position, obtain described negative sense and vertically be written into length, described negative sense vertically is written into length N LEN: NLEN (n, k)=L3+NMVYmax (n-1, k) * L2, wherein, n presentation video sequence number, k represents the macro-block line sequence number, and (n k) is expressed as the negative sense that the k macro-block line is predicted in n the image and vertically is written into length NLEN, NMVYmax (n-1, k) the negative sense maximum perpendicular motion vector of n-1 image k macro-block line of expression, L2 are the second prediction amplification coefficient, and L3 is the prediction margin value.
The embodiment of the invention is carried out reference data when being written into to each macro-block line in the present image, vertically be written into length by what predict each macro-block line, obtain the described scope that vertically is written into, each macro-block line is carried out the required reference data vertical range that is written into of estimation adaptive change is taken place, effectively reduced the scope that is written into of the required reference data of each macro block in each macro-block line, thereby, significantly reduced the amount of being written into of video coding estimation reference data, reduce video coding system bus and external memory bandwidth occupancy, reduced system cost and power consumption.
Embodiment four
In the embodiment of the invention four, as shown in Figure 8, the length that vertically is written into of step 41 prediction present image current macro row comprises:
The vertical length that is written into of the vertical motion vector prediction present image current macro row of the macro-block line neutron macro block identical in step 414, the previous image with the current macro line position according to the vertical motion vector of the last macro-block line neutron macro block of present image current macro row and present image, this step specifically comprises:
Step U1, be provided with first the prediction amplification coefficient, second the prediction amplification coefficient and the prediction margin value;
Get the first prediction amplification coefficient L1 and second and predict that amplification coefficient L2 is not less than 1 amplification coefficient, getting prediction margin value L3 is positive integer, the first prediction amplification coefficient, the second prediction amplification coefficient and prediction margin value are set are used for suitably increasing prediction length, improve the accuracy of estimation.
Step U2, obtain the forward maximum perpendicular motion vector value and the negative sense maximum perpendicular motion vector of a last macro-block line of described present image current macro row according to a last macro-block line neutron macro block vertical motion vector of present image current macro row;
Obtain the forward maximum perpendicular motion vector value and the negative sense maximum perpendicular motion vector of macro-block line identical in the previous image of present image with the current macro line position according to the vertical motion vector of macro-block line neutron macro block identical in the previous image of present image with the current macro line position;
This step can be referring to method embodiment two and three.
Step U3, according to the described first prediction amplification coefficient, the second prediction amplification coefficient, the forward maximum perpendicular motion vector of the macro-block line that the forward maximum perpendicular motion vector of a prediction margin value and a described last macro-block line and described and described current macro line position are identical, obtain described forward and vertically be written into length, described forward vertically is written into length PLEN (n, k) be: PLEN (n, k)=L3+max (PMVYmax (n, k-1) * L1, PMVYmax (n-1, k) * L2), wherein, n presentation video sequence number, k represents the macro-block line sequence number, PLEN (n, k) be expressed as the forward that the k macro-block line is predicted in n the image and vertically be written into length, PMVYmax (n, k-1) the forward maximum perpendicular motion vector of n image k-1 macro-block line of expression, PMVYmax (n-1, k) the forward maximum perpendicular motion vector of n-1 image k macro-block line of expression, L1 is the first prediction amplification coefficient, and L2 is the second prediction amplification coefficient, and L3 is the prediction margin value.
Step U4, according to the described first prediction amplification coefficient, the second prediction amplification coefficient, the negative sense maximum perpendicular motion vector of the macro-block line that the negative sense maximum perpendicular motion vector of a prediction margin value and a described last macro-block line and described and described current macro line position are identical, obtain described negative sense and vertically be written into length, described negative sense vertically is written into length N LEN (n, k) be: NLEN (n, k)=L3+max (NMVYmax (n, k-1) * L1, NMVYmax (n-1, k) * L2), wherein, n presentation video sequence number, k represents the macro-block line sequence number, NLEN (n, k) be expressed as the negative sense that the k macro-block line is predicted in n the image and vertically be written into length, NMVYmax (n, k-1) the negative sense maximum perpendicular motion vector of n image k-1 macro-block line of expression, NMVYmax (n-1, k) the negative sense maximum perpendicular motion vector of n-1 image k macro-block line of expression, L1 is the first prediction amplification coefficient, and L2 is the second prediction amplification coefficient, and L3 is the prediction margin value.
In embodiments of the present invention, the present image current macro row of prediction vertically be written into length, difference generation adaptively changing according to the required reference data of different macro-block line, adaptively changing also takes place in the reference data amount that is written into when different macro-block line are carried out estimation, because the reference data that is written into when a macro-block line is carried out estimation can not exercised by adjacent macroblocks again and use, the embodiment of the invention is by being written into the control of reference data amount to each macro-block line, the amount of being written into of reference data when having reduced that significantly image carried out estimation.
The embodiment of the invention also provides a kind of reference data device for loading, can significantly reduce the amount of being written into of reference data.
A kind of reference data device for loading, as shown in Figure 9, this device comprises:
Vertically be written into length predicting unit 91, what be used to predict present image current macro row vertically is written into length;
Vertically be written into scope acquiring unit 92, be used for according to described vertically be written into length predicting unit 91 prediction vertically be written into length, obtain the scope that vertically is written into of described present image current macro row;
Be written into unit 93, be used for vertically being written into the scope that vertically is written into that scope acquiring unit 92 obtains, be written into the needed reference data of each macro block estimation in the described present image current macro row according to described.
When the embodiment of the invention is carried out being written into of reference data to the estimation of each macro block of present image current macro row, at present image current macro row, the length that is written into the reference data vertical direction is predicted, obtain when the current macro row carried out estimation, required reference data vertically be written into length.Each macro-block line in the present image is adopted identical method, obtain each macro-block line required vertically be written into length.The embodiment of the invention is carried out reference data when being written into to each macro-block line in the present image, each macro-block line by prediction vertically be written into length, obtain the described scope that vertically is written into, carry out the difference of the required reference data that is written into of estimation according to each macro-block line, adaptive change takes place in the described scope that vertically is written into, effectively reduced the scope that is written into of each macro-block line reference data, thereby, significantly reduced the amount of being written into of reference data, reduce video coding system bus and external memory bandwidth occupancy, reduced system cost and power consumption.
Below the embodiment of the invention is described in detail, in apparatus of the present invention embodiment, the described scope acquiring unit 92 that vertically is written into is identical with the operation principle that is written into unit 93, difference is mainly in the described length predicting unit 91 that vertically is written into, so in different device embodiment, mainly the described length predicting unit 91 that vertically is written into is introduced.
Embodiment one
As shown in figure 10, the length predicting unit 91 that vertically is written into that the embodiment of the invention one provides comprises:
First prediction module 911 is used for vertically being written into length according to what the vertical motion vector that the image sets under the present image had been carried out the sub-macro block of estimation was predicted described present image current macro row.
To all macro blocks that had carried out estimation, the vertical motion vector of its all sub-macro blocks is known.
Described first prediction module 911 is according to these known vertical motion vectors, and that can adopt that several different methods predicts described present image current macro row vertically is written into length.In embodiments of the present invention, described first prediction module 911 is got first sub-macro block by each macro block such as interval such as macro block such as grade from last macro-block line, obtain 32 vertical motion vectors altogether, also obtain 32 vertical motion vectors by the same manner from previous image co-located macro-block line, described 64 vertical motion vectors are divided into two groups of forward (downwards) and negative senses (making progress), every group is averaged and variance, promptly obtain: forward vertical motion vector average value mu pAnd variances sigma p, negative sense vertical motion vector average value mu nAnd variances sigma n, estimate the maximum of this macro-block line forward and negative movement vector by 3 σ criterions, promptly forward vertically is written into the vertical length N LEN that is written into negative sense of length PLEN, is respectively (μ p+ 3 σ p) and (μ n+ 3 σ n).
The embodiment of the invention is carried out reference data when being written into to each macro-block line in the present image, vertically be written into length by what predict each macro-block line, obtain the described scope that vertically is written into, each macro-block line is carried out the required reference data vertical range that is written into of estimation adaptive change is taken place, effectively reduced the scope that is written into of the required reference data of each macro block in each macro-block line, thereby, significantly reduced the amount of being written into of video coding estimation reference data, reduce video coding system bus and external memory bandwidth occupancy, reduced system cost and power consumption.
Embodiment two
As shown in figure 11, the length predicting unit 91 that vertically is written into that the embodiment of the invention two provides comprises: second prediction module 912 is used for vertically being written into length according to the vertical motion vector prediction present image current macro row of the last macro-block line neutron macro block of present image current macro row.
Described second prediction module 912 comprises:
Second is provided with module 9121, is used to be provided with the first prediction amplification coefficient and prediction margin value;
The second maximum perpendicular motion vector acquisition module 9122 is used for obtaining according to the vertical motion vector of the last macro-block line neutron macro block of present image current macro row the forward maximum perpendicular motion vector value and the negative sense maximum perpendicular motion vector of a last macro-block line of described present image current macro row;
Second forward vertically is written into length acquisition module 9123, is used for obtaining described forward and vertically being written into length according to the described first prediction amplification coefficient, prediction margin value and described forward maximum perpendicular motion vector;
Second negative sense vertically is written into length acquisition module 9124, is used for obtaining described negative sense and vertically being written into length according to the described first prediction amplification coefficient, prediction margin value and described negative sense maximum perpendicular motion vector.
The embodiment of the invention is carried out reference data when being written into to each macro-block line in the present image, vertically be written into length by what predict each macro-block line, obtain the described scope that vertically is written into, each macro-block line is carried out the required reference data vertical range that is written into of estimation adaptive change is taken place, effectively reduced the scope that is written into of the required reference data of each macro block in each macro-block line, thereby, significantly reduced the amount of being written into of video coding estimation reference data, reduce video coding system bus and external memory bandwidth occupancy, reduced system cost and power consumption.
Embodiment three
As shown in figure 12, the length predicting unit 91 that vertically is written into that the embodiment of the invention three provides comprises: the 3rd prediction module 913 is used for the vertical length that is written into according to the vertical motion vector prediction present image current macro row of the previous image of the present image macro-block line neutron macro block identical with the current macro line position.
Described the 3rd prediction module 913 comprises:
The 3rd is provided with module 9131, is used to be provided with the second prediction amplification coefficient and prediction margin value;
The 3rd maximum perpendicular motion vector acquisition module 9132 is used for obtaining according to the vertical motion vector of the previous image of the present image macro-block line neutron macro block identical with the current macro line position forward maximum perpendicular motion vector value and the negative sense maximum perpendicular motion vector of macro-block line identical with the current macro line position in the previous image of present image;
The 3rd forward vertically is written into length acquisition module 9133, be used for forward maximum perpendicular motion vector, obtain described forward and vertically be written into length according to the described second prediction amplification coefficient, the prediction margin value macro-block line identical with described and described current macro line position;
The 3rd negative sense vertically is written into length acquisition module 9134, be used for negative sense maximum perpendicular motion vector, obtain described negative sense and vertically be written into length according to the described second prediction amplification coefficient, the prediction margin value macro-block line identical with described and described current macro line position.
The embodiment of the invention is carried out reference data when being written into to each macro-block line in the present image, vertically be written into length by what predict each macro-block line, obtain the described scope that vertically is written into, each macro-block line is carried out the required reference data vertical range that is written into of estimation adaptive change is taken place, effectively reduced the scope that is written into of the required reference data of each macro block in each macro-block line, thereby, significantly reduced the amount of being written into of video coding estimation reference data, reduce video coding system bus and external memory bandwidth occupancy, reduced system cost and power consumption.
Embodiment four
As shown in figure 13, the length predicting unit 91 that vertically is written into that the embodiment of the invention four provides comprises: the 4th prediction module 914 is used for the vertical length that is written into according to the vertical motion vector prediction present image current macro row of the previous image of the vertical motion vector of the last macro-block line neutron macro block of present image current macro row and the present image macro-block line neutron macro block identical with the current macro line position.
Described the 4th prediction module 914 comprises:
The 4th is provided with module 9141, is used to be provided with the first prediction amplification coefficient, the second prediction amplification coefficient and prediction margin value;
The 4th maximum perpendicular motion vector acquisition module 9142 is used for obtaining according to a last macro-block line neutron macro block vertical motion vector of present image current macro row the forward maximum perpendicular motion vector value and the negative sense maximum perpendicular motion vector of a last macro-block line of described present image current macro row; And, obtain the forward maximum perpendicular motion vector value and the negative sense maximum perpendicular motion vector of macro-block line identical in the previous image of present image with the current macro line position according to the vertical motion vector of macro-block line neutron macro block identical in the previous image of present image with the current macro line position;
The 4th forward vertically is written into length acquisition module 9143, be used for forward maximum perpendicular motion vector, obtain described forward and vertically be written into length according to the identical macro-block line of the described first prediction amplification coefficient, the second prediction amplification coefficient, the forward maximum perpendicular motion vector of predicting a margin value and a described last macro-block line and described and described current macro line position;
The 4th negative sense vertically is written into length acquisition module 9144, be used for negative sense maximum perpendicular motion vector, obtain described negative sense and vertically be written into length according to the identical macro-block line of the described first prediction amplification coefficient, the second prediction amplification coefficient, the negative sense maximum perpendicular motion vector of predicting a margin value and a described last macro-block line and described and described current macro line position.
The embodiment of the invention is carried out reference data when being written into to each macro-block line in the present image, vertically be written into length by what predict each macro-block line, obtain the described scope that vertically is written into, each macro-block line is carried out the required reference data vertical range that is written into of estimation adaptive change is taken place, effectively reduced the scope that is written into of the required reference data of each macro block in each macro-block line, thereby, significantly reduced the amount of being written into of video coding estimation reference data, reduce video coding system bus and external memory bandwidth occupancy, reduced system cost and power consumption.
The concrete method of work of each unit and module among apparatus of the present invention embodiment can repeat no more with reference to method embodiment of the present invention herein.
The embodiment of the invention also provides a kind of video encoder, and as shown in figure 14, this video encoder comprises:
External memory storage 141, the data that are used to store present image and reference picture;
Reference data device for loading 142, what be used to predict present image current macro row vertically is written into length, determine vertically to be written into scope according to the described length that vertically is written into, be written into range information according to the described level that vertically is written into scope and receives from coding motion estimation process unit, the reference data of each macro block of present image current macro row is read from described external memory storage 141, send into the reference data buffer;
Reference data buffer 143 is used to store the reference data that is transmitted by described reference data device for loading 142;
Coding motion estimation process unit 144, be used to read in current sub-macro block data, according to the reference data in the described reference data buffer 143, sub-macro block to each macro block of present image current macro row carries out estimation, exports the vertical motion vector and the horizontal motion vector of described sub-macro block.
As shown in figure 15, the video encoder that the embodiment of the invention provides also comprises: estimation control unit 145 is used to control described reference data device for loading 142 and coding motion estimation process unit 144.
As shown in figure 16, described reference data device for loading 142 comprises:
Vertically be written into length prediction module 1421, what be used to predict present image current macro row vertically is written into length;
Vertically be written into scope acquisition module 1422, be used for vertically being written into the scope that vertically is written into that length is obtained present image current macro row according to described;
Insmod 1423, be used for vertically being written into the scope that vertically is written into that the scope acquisition module obtains, under the control that transmits order, corresponding reference data is read from external memory storage 141, send into reference data buffer 143 according to described.
As shown in figure 17, the described reference data device for loading 142 that provides of the embodiment of the invention also comprises:
Be written into control module 1424, be used for vertically being written into the scope that vertically is written into that the scope acquisition module obtains and 144 levels that receive are written into range information from described coding motion estimation process unit, export described transmission order according to described.
The typical way of realization of the video encoder that the embodiment of the invention provides is a semiconductor chip, comprise that data circuit realizes or the processor programming realizes, reference image data that estimation is required and current image date are stored in the external memory storage 141, external memory storage 141 is generally synchronous random access memory (Synchronousrandom access memory, SRAM), synchronous DRAM (Synchronous Dynamicrandom access memory, SDRAM), ddr sdram (Double Date RateSynchronous Dynamic Random Access Memory, DDR SDRAM) or DDR2 SDRAM etc.
When the embodiment of the invention is carried out being written into of reference data to the estimation of each macro block of present image current macro row, at present image current macro row, the length that is written into the reference data vertical direction is predicted, obtain when the current macro row carried out estimation, required reference data vertically be written into length.Each macro-block line in the present image is adopted identical method, obtain each macro-block line required vertically be written into length.The embodiment of the invention is carried out reference data when being written into to each macro-block line in the present image, each macro-block line by prediction vertically be written into length, obtain the described scope that vertically is written into, adaptive change takes place in the scope that vertically is written into that each macro-block line is carried out the required reference data that is written into of estimation, effectively reduced the scope that is written into of the required reference data of each macro block in each macro-block line, thereby, significantly reduced the amount of being written into of video coding estimation reference data, reduce video coding system bus and external memory bandwidth occupancy, reduced system cost and power consumption.
Alleged image among the present invention is a frame to progressive scanning picture, to horizontally interlaced image according to coding be frame pattern or field mode can be frame or.Inventive concept is equally applicable to any inter prediction estimation situation, comprise inter prediction in inter prediction P image, bi-directional predicted (B) image, the scalable coding (SVC), look coding (Multi-view) interframe more or look between estimation.
One of ordinary skill in the art will appreciate that all or part of step that realizes in the foregoing description, can instruct related hardware to finish by program.The software of described embodiment correspondence can be stored in a computer and can store in the medium that reads.
Certainly; embodiments of the invention also can have a variety of; under the situation that does not deviate from embodiments of the invention spirit and essence thereof; those skilled in the art work as can make various corresponding changes and distortion according to embodiments of the invention, but these corresponding changes and distortion all should belong to the protection range of the appended claim of embodiments of the invention.

Claims (20)

1. a reference data loading method is characterized in that, this method comprises:
Prediction present image current macro row vertically be written into length;
Vertically be written into the scope that vertically is written into that length is obtained described present image current macro row according to described;
According to the described scope that vertically is written into, be written into the needed reference data of each macro block estimation in the described present image current macro row.
2. reference data loading method according to claim 1 is characterized in that, the step that vertically is written into length of described prediction present image current macro row comprises:
Vertically be written into length according to what the vertical motion vector that carried out the sub-macro block of estimation in the image sets under the present image was predicted described present image current macro row.
3. reference data loading method according to claim 1 is characterized in that, the step that vertically is written into length of described prediction present image current macro row comprises:
Vertically be written into length according to the vertical motion vector prediction present image current macro row of the last macro-block line neutron macro block of present image current macro row.
4. reference data loading method according to claim 1 is characterized in that, the step that vertically is written into length of described prediction present image current macro row comprises:
Predict the vertical length that is written into of present image current macro row according to the vertical motion vector of macro-block line neutron macro block identical in the previous image of present image with the current macro line position.
5. reference data loading method according to claim 1 is characterized in that, the step that vertically is written into length of described prediction present image current macro row comprises:
The vertical length that is written into of the vertical motion vector prediction present image current macro row of the macro-block line neutron macro block identical in the previous image according to the vertical motion vector of the last macro-block line neutron macro block of present image current macro row and present image with the current macro line position.
6. reference data loading method according to claim 3 is characterized in that, the step that vertically is written into length of the vertical motion vector prediction present image current macro row of a described last macro-block line neutron macro block according to present image current macro row comprises:
The first prediction amplification coefficient and prediction margin value are set;
Obtain the forward maximum perpendicular motion vector value and the negative sense maximum perpendicular motion vector of a last macro-block line of described present image current macro row according to the vertical motion vector of the last macro-block line neutron macro block of present image current macro row;
According to the described first prediction amplification coefficient, prediction margin value and described forward maximum perpendicular motion vector, obtain forward and vertically be written into length, described forward vertically is written into length PLEN (n, k) be: PLEN (n, k)=L3+PMVYmax (n, k-1) * L1, wherein, n presentation video sequence number, k represents the macro-block line sequence number, PLEN (n, k) be expressed as the forward that the k macro-block line is predicted in n the image and vertically be written into length, PMVYmax (n, k-1) the forward maximum perpendicular motion vector of n image k-1 macro-block line of expression, L1 is the first prediction amplification coefficient, and L3 is the prediction margin value;
According to the described first prediction amplification coefficient, prediction margin value and described negative sense maximum perpendicular motion vector, obtain negative sense and vertically be written into length, described negative sense vertically is written into length N LEN: NLEN (n, k)=L3+NMVYmax (n, k-1) * L1, wherein, n presentation video sequence number, k represents the macro-block line sequence number, and (n k) is expressed as the negative sense that the k macro-block line is predicted in n the image and vertically is written into length NLEN, NMVYmax (n, k-1) the negative sense maximum perpendicular motion vector of n image k-1 macro-block line of expression, L1 are the first prediction amplification coefficient, and L3 is the prediction margin value.
7. reference data loading method according to claim 4, it is characterized in that described vertical motion vector according to macro-block line neutron macro block identical with the current macro line position in the previous image of present image predicts that the vertical step that is written into length of present image current macro row comprises:
The second prediction amplification coefficient and prediction margin value are set;
Obtain the forward maximum perpendicular motion vector value and the negative sense maximum perpendicular motion vector of macro-block line identical in the previous image of present image with the current macro line position according to the vertical motion vector of macro-block line neutron macro block identical in the previous image of present image with the current macro line position;
According to the described second prediction amplification coefficient, the forward maximum perpendicular motion vector of the macro-block line that the prediction margin value is identical with described and described current macro line position, obtain forward and vertically be written into length, described forward vertically is written into length PLEN: PLEN (n, k)=L3+PMVYmax (n-1, k) * L2, wherein, n presentation video sequence number, k represents the macro-block line sequence number, and (n k) is expressed as the forward that the k macro-block line is predicted in n the image and vertically is written into length PLEN, PMVYmax (n-1, k) the forward maximum perpendicular motion vector of n-1 image k macro-block line of expression, L2 are the second prediction amplification coefficient, and L3 is the prediction margin value;
According to the described second prediction amplification coefficient, the negative sense maximum perpendicular motion vector of the macro-block line that the prediction margin value is identical with described and described current macro line position, obtain negative sense and vertically be written into length, described negative sense vertically is written into length N LEN: NLEN (n, k)=L3+NMVYmax (n-1, k) * L2, wherein, n presentation video sequence number, k represents the macro-block line sequence number, and (n k) is expressed as the negative sense that the k macro-block line is predicted in n the image and vertically is written into length NLEN, NMVYmax (n-1, k) the negative sense maximum perpendicular motion vector of n-1 image k macro-block line of expression, L2 are the second prediction amplification coefficient, and L3 is the prediction margin value.
8. reference data loading method according to claim 5, it is characterized in that the vertical step that is written into length of the vertical motion vector prediction present image current macro row of the macro-block line neutron macro block identical with the current macro line position comprises in the vertical motion vector of a described last macro-block line neutron macro block according to present image current macro row and the previous image of present image:
The first prediction amplification coefficient, the second prediction amplification coefficient and prediction margin value are set;
Obtain the forward maximum perpendicular motion vector value and the negative sense maximum perpendicular motion vector of a last macro-block line of described present image current macro row according to a last macro-block line neutron macro block vertical motion vector of present image current macro row;
Obtain the forward maximum perpendicular motion vector value and the negative sense maximum perpendicular motion vector of macro-block line identical in the previous image of present image with the current macro line position according to the vertical motion vector of macro-block line neutron macro block identical in the previous image of present image with the current macro line position;
According to the described first prediction amplification coefficient, the second prediction amplification coefficient, the forward maximum perpendicular motion vector of the macro-block line that the forward maximum perpendicular motion vector of a prediction margin value and a described last macro-block line and described and described current macro line position are identical, obtain forward and vertically be written into length, described forward vertically is written into length PLEN (n, k) be: PLEN (n, k)=L3+max (PMVYmax (n, k-1) * L1, PMVYmax (n-1, k) * L2), wherein, n presentation video sequence number, k represents the macro-block line sequence number, PLEN (n, k) be expressed as the forward that the k macro-block line is predicted in n the image and vertically be written into length, PMVYmax (n, k-1) the forward maximum perpendicular motion vector of n image k-1 macro-block line of expression, PMVYmax (n-1, k) the forward maximum perpendicular motion vector of n-1 image k macro-block line of expression, L1 is the first prediction amplification coefficient, and L2 is the second prediction amplification coefficient, and L3 is the prediction margin value.
According to the described first prediction amplification coefficient, the second prediction amplification coefficient, the negative sense maximum perpendicular motion vector of the macro-block line that the negative sense maximum perpendicular motion vector of a prediction margin value and a described last macro-block line and described and described current macro line position are identical, obtain negative sense and vertically be written into length, described negative sense vertically is written into length N LEN (n, k) be: NLEN (n, k)=L3+max (NMVYmax (n, k-1) * L1, NMVYmax (n-1, k) * L2), wherein, n presentation video sequence number, k represents the macro-block line sequence number, NLEN (n, k) be expressed as the negative sense that the k macro-block line is predicted in n the image and vertically be written into length, NMVYmax (n, k-1) the negative sense maximum perpendicular motion vector of n image k-1 macro-block line of expression, NMVYmax (n-1, k) the negative sense maximum perpendicular motion vector of n-1 image k macro-block line of expression, L1 is the first prediction amplification coefficient, and L2 is the second prediction amplification coefficient, and L3 is the prediction margin value.
9. a reference data device for loading is characterized in that, this device comprises:
Vertically be written into the length predicting unit, what be used to predict present image current macro row vertically is written into length;
Vertically be written into the scope acquiring unit, be used for according to described vertically be written into length predicting unit prediction vertically be written into length, obtain the scope that vertically is written into of described present image current macro row;
Be written into the unit, be used for vertically being written into the scope that vertically is written into that the scope acquiring unit obtains, be written into the needed reference data of each macro block estimation in the described present image current macro row according to described.
10. reference data device for loading according to claim 9 is characterized in that, the described length predicting unit that vertically is written into comprises:
First prediction module is used for vertically being written into length according to what the vertical motion vector that the image sets under the present image had been carried out the sub-macro block of estimation was predicted described present image current macro row.
11. reference data device for loading according to claim 9 is characterized in that, the described length predicting unit that vertically is written into comprises:
Second prediction module is used for vertically being written into length according to the vertical motion vector prediction present image current macro row of the last macro-block line neutron macro block of present image current macro row.
12. reference data device for loading according to claim 9 is characterized in that, the described length predicting unit that vertically is written into comprises:
The 3rd prediction module is used for the vertical length that is written into according to the vertical motion vector prediction present image current macro row of the previous image of the present image macro-block line neutron macro block identical with the current macro line position.
13. reference data device for loading according to claim 9 is characterized in that, the described length predicting unit that vertically is written into comprises:
The 4th prediction module is used for the vertical length that is written into according to the vertical motion vector prediction present image current macro row of the previous image of the vertical motion vector of the last macro-block line neutron macro block of present image current macro row and the present image macro-block line neutron macro block identical with the current macro line position.
14. reference data device for loading according to claim 11 is characterized in that, described second prediction module comprises:
Second is provided with module, is used to be provided with the first prediction amplification coefficient and prediction margin value;
The second maximum perpendicular motion vector acquisition module is used for obtaining according to the vertical motion vector of the last macro-block line neutron macro block of present image current macro row the forward maximum perpendicular motion vector value and the negative sense maximum perpendicular motion vector of a last macro-block line of described present image current macro row;
Second forward vertically is written into the length acquisition module, is used for obtaining described forward and vertically being written into length according to the described first prediction amplification coefficient, prediction margin value and described forward maximum perpendicular motion vector;
Second negative sense vertically is written into the length acquisition module, is used for obtaining described negative sense and vertically being written into length according to the described first prediction amplification coefficient, prediction margin value and described negative sense maximum perpendicular motion vector.
15. reference data device for loading according to claim 12 is characterized in that, described the 3rd prediction module comprises:
The 3rd is provided with module, is used to be provided with the second prediction amplification coefficient and prediction margin value;
The 3rd maximum perpendicular motion vector acquisition module is used for obtaining according to the vertical motion vector of the previous image of the present image macro-block line neutron macro block identical with the current macro line position forward maximum perpendicular motion vector value and the negative sense maximum perpendicular motion vector of macro-block line identical with the current macro line position in the previous image of present image;
The 3rd forward vertically is written into the length acquisition module, is used for the forward maximum perpendicular motion vector according to the described second prediction amplification coefficient, the prediction margin value macro-block line identical with described and described current macro line position, obtains described forward and vertically is written into length;
The 3rd negative sense vertically is written into the length acquisition module, is used for the negative sense maximum perpendicular motion vector according to the described second prediction amplification coefficient, the prediction margin value macro-block line identical with described and described current macro line position, obtains described negative sense and vertically is written into length.
16. reference data device for loading according to claim 13 is characterized in that, described the 4th prediction module comprises:
The 4th is provided with module, is used to be provided with the first prediction amplification coefficient, the second prediction amplification coefficient and prediction margin value;
The 4th maximum perpendicular motion vector acquisition module is used for obtaining according to a last macro-block line neutron macro block vertical motion vector of present image current macro row the forward maximum perpendicular motion vector value and the negative sense maximum perpendicular motion vector of a last macro-block line of described present image current macro row; And, obtain the forward maximum perpendicular motion vector value and the negative sense maximum perpendicular motion vector of macro-block line identical in the previous image of present image with the current macro line position according to the vertical motion vector of macro-block line neutron macro block identical in the previous image of present image with the current macro line position;
The 4th forward vertically is written into the length acquisition module, be used for forward maximum perpendicular motion vector, obtain described forward and vertically be written into length according to the identical macro-block line of the described first prediction amplification coefficient, the second prediction amplification coefficient, the forward maximum perpendicular motion vector of predicting a margin value and a described last macro-block line and described and described current macro line position;
The 4th negative sense vertically is written into the length acquisition module, be used for negative sense maximum perpendicular motion vector, obtain described negative sense and vertically be written into length according to the identical macro-block line of the described first prediction amplification coefficient, the second prediction amplification coefficient, the negative sense maximum perpendicular motion vector of predicting a margin value and a described last macro-block line and described and described current macro line position.
17. a video encoder is characterized in that, comprising:
External memory storage, the data that are used to store present image and reference picture;
Coding motion estimation process unit, be used to read in current sub-macro block data, according to the reference data in the reference data buffer, the sub-macro block of each macro block of present image current macro row is carried out estimation, export the vertical motion vector and the horizontal motion vector of described sub-macro block;
The reference data device for loading, what be used to predict present image current macro row vertically is written into length, determine vertically to be written into scope according to the described length that vertically is written into, be written into range information according to the described level that vertically is written into scope and receives from described coding motion estimation process unit, the reference data of each macro block of present image current macro row is read from described external memory storage, send into the reference data buffer;
Described reference data buffer is used to store the reference data that is transmitted by described reference data device for loading.
18. video encoder according to claim 17 is characterized in that, described video encoder also comprises:
The estimation control unit is used to control described reference data device for loading and coding motion estimation process unit.
19., it is characterized in that described reference data device for loading comprises according to claim 17 or 18 described video encoders:
Vertically be written into the length prediction module, what be used to predict present image current macro row vertically is written into length;
Vertically be written into the scope acquisition module, be used for vertically being written into the scope that vertically is written into that length is obtained present image current macro row according to described;
Insmod, be used for vertically being written into the scope that vertically is written into that the scope acquisition module obtains, corresponding reference data is read from external memory storage, send into the reference data buffer according to described.
20. video encoder according to claim 19 is characterized in that, described reference data device for loading also comprises:
Be written into control module, be used for vertically being written into the scope that vertically is written into that the scope acquisition module obtains and the level that receives from described coding motion estimation process unit is written into range information according to described, output transmits order.
CN 200810111345 2008-05-27 2008-05-27 reference data loading method, device and video encoder Expired - Fee Related CN101321288B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810111345 CN101321288B (en) 2008-05-27 2008-05-27 reference data loading method, device and video encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810111345 CN101321288B (en) 2008-05-27 2008-05-27 reference data loading method, device and video encoder

Publications (2)

Publication Number Publication Date
CN101321288A CN101321288A (en) 2008-12-10
CN101321288B true CN101321288B (en) 2011-12-07

Family

ID=40181067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810111345 Expired - Fee Related CN101321288B (en) 2008-05-27 2008-05-27 reference data loading method, device and video encoder

Country Status (1)

Country Link
CN (1) CN101321288B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100328539A1 (en) * 2009-06-29 2010-12-30 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for memory reuse in image processing
CN113709494B (en) * 2021-06-23 2024-04-09 珠海全志科技股份有限公司 Image decompression method and device for super-resolution reconstruction

Also Published As

Publication number Publication date
CN101321288A (en) 2008-12-10

Similar Documents

Publication Publication Date Title
US8503521B2 (en) Method of digital video reference frame compression
KR100739281B1 (en) Motion estimation method and appratus
CN100471275C (en) Motion estimating method for H.264/AVC coder
US20090245374A1 (en) Video encoder and motion estimation method
CN101198057A (en) Motion prediction processor with read buffers providing reference motion vectors for direct mode coding
CN1168320C (en) Video encoding with two step motion estimation for p-frame
JP2006304102A (en) Image coding unit and image coding method
CN101193306A (en) Motion vector detecting apparatus and motion vector detecting method
CN102547296A (en) Motion estimation accelerating circuit and motion estimation method as well as loop filtering accelerating circuit
CN101873490B (en) Image processing method and image information coding apparatus using the same
WO2007028943A1 (en) Generating and storing image data
CN102710940A (en) Digital signal processor (DSP) platform-based method for realizing optimization of video coding by utilizing motion estimation algorithm
JP5726220B2 (en) Motion estimation apparatus and motion estimation program
CN101321288B (en) reference data loading method, device and video encoder
CN1169372C (en) Video encoding and decoding with selective image resolution
KR20040070490A (en) Method and apparatus for encoding/decoding video signal in interlaced video
CN100456832C (en) Method of video coding for handheld apparatus
CN1272931A (en) Image processor
US8644380B2 (en) Integer pixel motion estimation system, motion estimation system for quarter-pixel luminance, motion estimation system for quarter-pixel chrominance, motion estimation system for combined luminance, motion estimation system for combined luminance and chrominance, and motion estimation system for quarter-pixel luminance and chrominance
US20080159402A1 (en) Motion vector prediction method and prediction apparatus thereof
CN102420989B (en) Intra-frame prediction method and device
CN106063269B (en) Moving picture encoding device, dynamic image decoding device and moving picture encoding/coding/decoding method
CN103327340A (en) Method and device for searching integer
KR100708183B1 (en) Image storing device for motion prediction, and method for storing data of the same
CN111670578B (en) Video coding or decoding method, device, equipment and storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111207

Termination date: 20170527

CF01 Termination of patent right due to non-payment of annual fee