WO2012098845A1 - 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置 - Google Patents

画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置 Download PDF

Info

Publication number
WO2012098845A1
WO2012098845A1 PCT/JP2012/000193 JP2012000193W WO2012098845A1 WO 2012098845 A1 WO2012098845 A1 WO 2012098845A1 JP 2012000193 W JP2012000193 W JP 2012000193W WO 2012098845 A1 WO2012098845 A1 WO 2012098845A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
candidate
motion vector
image
encoding
Prior art date
Application number
PCT/JP2012/000193
Other languages
English (en)
French (fr)
Inventor
村上 智一
横山 徹
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to US13/988,819 priority Critical patent/US9781415B2/en
Publication of WO2012098845A1 publication Critical patent/WO2012098845A1/ja
Priority to US15/653,793 priority patent/US10271065B2/en
Priority to US16/291,234 priority patent/US10743020B2/en
Priority to US16/920,871 priority patent/US11290741B2/en
Priority to US17/672,817 priority patent/US11758179B2/en
Priority to US18/229,263 priority patent/US20230388537A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search

Definitions

  • the present invention relates to an image encoding method for encoding an image, an image encoding device, an image decoding method for decoding encoded image data, and an image decoding device.
  • the H.264 / AVC (Advanced Video Coding) standard has been established as a method for recording and transmitting image and audio information as digital data.
  • ISO / IEC MPEG and ITU-T VCEG have established JCT-VC (Joint Collaborative Team On Video Coding) to realize a compression ratio exceeding this, and are considering the next generation method called HEVC (High Efficiency Video Coding). I'm starting.
  • the prediction vector is obtained by performing a median operation on the X-direction component and the Y-direction component from the motion vectors of the encoded macroblocks above, left, and upper right of the encoding target macroblock. It was.
  • the motion vectors at the same position as the encoding target macroblocks of the top, left, and nearest reference frames are compared, and the one closest to the encoding target macroblock motion vector is selected as the prediction vector. Transmitted as a flag.
  • the motion vector competition method transmits a flag, if the result of the median operation is the same as the prediction vector, the amount of code increases by the amount of the flag.
  • the processing when it is outside the frame region and the flag description method are not efficient, and the flag is recorded by selecting two from three candidates.
  • candidate blocks in a narrow range can be selected, there is a problem that the prediction error is large, the code amount is large, and the coding efficiency is low.
  • the present invention has been made in view of the above problems, and an object of the present invention is to provide an image encoding technique and an image decoding technique capable of realizing high encoding efficiency by appropriate motion prediction.
  • the present application includes various means for solving the above-mentioned problems, and one of them is as follows.
  • An image encoding device that encodes an input image, a motion search unit that performs a motion search using an encoding target block obtained by dividing the input image and a reference image, and a motion vector of the encoding target block,
  • An adaptive PMV selector that generates a motion vector predictor from motion vectors of candidate blocks consisting of some or all of the blocks around the current block, and a difference vector is calculated from the motion vector of the current block and the motion vector predictor.
  • encoding efficiency can be improved.
  • FIG. 1 is a block diagram of an image encoding device according to Embodiment 1.
  • FIG. It is a block diagram of the image decoding apparatus which concerns on Example 2. It is explanatory drawing of the candidate block which selects a motion vector as PMV (predictive motion vector) which concerns on Example 1.
  • FIG. It is explanatory drawing about the outline
  • FIG. FIG. 3 is an image encoding flowchart used in the image encoding apparatus according to the first embodiment. It is a flowchart of the image decoding method which concerns on Example 2.
  • 10 is an explanatory diagram of a data recording medium according to Embodiment 3.
  • FIG. It is a figure which shows the PMV selection determination flow per frame in the adaptive PMV selection part which concerns on Example 1.
  • FIG. 1 It is a figure which shows the PMV selection determination flow per block in the adaptive PMV selection part which concerns on Example 1.
  • FIG. It is a figure which shows the adjustment flow of the candidate block which performs PMV selection per block in the adaptive PMV selection part which concerns on Example 1.
  • FIG. It is a figure which shows the example of the description method as a flag of the vector selected concerning Example 1.
  • motion vector competition in each description and each drawing of this specification indicates a conventional encoding method
  • adaptive motion vector selection indicates a new encoding method according to the present invention.
  • PMV selection means to select one of motion vectors of candidate blocks and generate a predicted motion vector (Predicted Motion Vector: PMV) from the selected motion vector (selecting median or the like as it is) And new generation by combining a plurality of motion vectors, etc.).
  • 0 vec or “0 vector” in each description and each drawing of the present specification indicates that the value of each component is a vector of 0, or conversion to such a vector and setting.
  • non-referenceable in each description and each drawing of this specification indicates that block information cannot be acquired.
  • the position of the candidate block is outside the range of the screen.
  • can be referred to means that block information can be acquired.
  • each description of the present specification and “block information” in each drawing include a vector and a reference frame number.
  • coding mode in each description and each drawing of the present specification includes a combination of the type of intra prediction / inter prediction and the block size to be applied.
  • FIG. 1 shows a block diagram of an image coding apparatus according to the first embodiment.
  • the image coding apparatus includes a block division unit 101, a prediction error calculation unit 102, an intra prediction unit 104, a PMV prediction coding unit 107, an adaptive PMV selection unit 106, a motion search unit 105, a decoded image memory 103, a DCT conversion unit 108, A quantization unit 109, an entropy encoding unit 110, an inverse quantization unit 111, an inverse DCT conversion unit 112, a mode selection unit 113, and a data output unit 114 are provided.
  • each component of the image encoding device may be an autonomous operation of each component as described below, for example.
  • the computer control unit may be realized in cooperation with software stored in the computer storage unit.
  • the block dividing unit 101 inputs an original image to be encoded, and divides it into blocks that are encoding units.
  • CU Coding Unit
  • PU Prediction Unit
  • the prediction error calculation unit 102 calculates the difference component between the generated prediction image and the original image and outputs it.
  • prediction methods there are generally intra (intra-frame) prediction and inter (inter-frame) prediction.
  • Intra prediction is performed by the intra prediction unit 104
  • inter prediction is performed by the inter prediction unit 120 including the PMV prediction encoding unit 107, the adaptive PMV selection unit 106, and the motion search unit 105.
  • Intra prediction uses the information of the same frame encoded before the encoding target block
  • inter prediction uses the information of the previous or subsequent frame encoded before the encoding target frame as the reproduction time. Use. These are stored in the decoded image memory 103.
  • intra prediction unit 104 motion prediction unit
  • decoded image memory 103 decoded image memory
  • the intra prediction unit 104 predicts the pixels of the encoding target block using information of the same frame encoded before the encoding target block.
  • an intra prediction method an existing method may be used.
  • the motion search unit 105 searches for a motion vector (Motion Vector: MV) using the reference frame and the encoding target block stored in the decoded image memory 103.
  • MV Motion Vector
  • the accuracy of the pixels may be an integer or a decimal, and 1/4 pixel accuracy is preferable by interpolation of the reference frame by a filter, but 1/2 or 1/8 may be used.
  • an existing method is used for the motion search method.
  • the adaptive PMV selection unit 106 uses the surrounding block in the same frame of the encoding target block and the same position of the reference frame and the information of the surrounding block to adaptively determine the PMV by temporal and spatial discrimination. Select In this embodiment, the PMV is adaptively discriminated with both temporal discrimination and spatial discrimination, but only one of them may be used. Details of the method, the candidate surrounding blocks, and the PMV selection method will be described later.
  • a block (Co-located Block) (S) at the same position as the current block to be encoded is taken as a candidate, arranged in order as A, B, S, and if there is the same vector among these, it is excluded from the candidate
  • the one closest to the vector of the encoding target block is selected and indicated by a flag.
  • a backward reference frame may be used as long as it is an encoded frame. Further, not only one frame but also a plurality of encoded frames may be referred to.
  • the adaptive motion vector selection method used in the adaptive PMV selection unit of the present embodiment not only the left side and the upper side of the block to be encoded, but also the upper right (C) and the upper left (D) are included in the candidates.
  • blocks surrounding the block S of the reference frame can be included in the candidates. That is, (a) number, (b) spatial position (block in a frame) and (c) temporal position (block in another frame) of candidate blocks used by the adaptive PMV selection unit can be changed. Like that. Details of the selection method will be described later.
  • the neighboring blocks are sequentially It is checked whether the block has a motion vector, and if it is available, it is a candidate for PMV selection. Specifically, if B1 cannot be referenced in 303, B2, B3, and B4 are sequentially checked. Similarly, when A1 cannot be referred to, A2, A3 and A4 are checked. When S1 cannot be referred to, S2, S3 and S4 are checked. Scanning may be performed in order from the top left of the encoding target frame. For block B, left to right, bottom to top, for block A, top to bottom, right to left, for block S, normal raster scan order, left to right, top to bottom It becomes the order of.
  • the PMV predictive encoding unit 107 calculates the difference vector (Differential Motion Vector: DMV) by subtracting the PMV from the MV and encodes it. In addition, motion prediction is performed from the reference frame using MV to create a prediction block.
  • DMV Difference Vector
  • DCT conversion unit 108 DCT conversion is performed on the residual component input from the prediction error calculation unit 102 and converted into a coefficient. Then, it is sent to the quantization part 109 and each transform coefficient is quantized.
  • the quantized coefficients are sent to the entropy coding unit 110, information compression using a variable length code or the like is performed according to a certain order, and the data is sent to the mode selection unit 113.
  • the quantized coefficient is also sent to the inverse quantization unit 111, returned to the transform coefficient by inverse quantization, and further restored to the residual component by the inverse DCT transform unit 112.
  • the residual component is added with information from the intra prediction unit 104 and the series of motion prediction units, returns to the decoded image, and is stored in the decoded image memory 103.
  • the decoded image is input to the mode selection unit 113 and used for mode selection.
  • the mode selection unit 113 selects a mode with the highest coding efficiency for the block based on information on a plurality of coding modes. For each coding mode, an error (coding error) between the original image and the decoded image and a code amount generated when the coding mode is used are calculated, and an appropriate coding mode is selected from the relationship between the two. For example, an existing method such as a Rate-Distortion optimization method may be used as a method for selecting an encoding mode with the highest encoding efficiency. This method is a method for calculating the coding error between the code amount and the original image after decoding for all modes for each macroblock, and selecting the best mode according to the cost calculation formula.
  • the data output unit 114 outputs the selected code to create an encoded stream, and the image is encoded.
  • step 501 is processing for inputting an original image to be encoded from the decoded image memory 103 and dividing it into blocks.
  • the size of each block is variable.
  • the aforementioned CU and PU may be used.
  • Step 501 is executed by the block dividing unit 101.
  • step 502 intra prediction is performed on the block of the original image acquired in step 501.
  • An existing method may be used for intra prediction, and prediction is performed for a plurality of modes according to each intra prediction mode.
  • the processing in step 502 is executed in the intra prediction unit 104.
  • step 503 residual components are acquired for pixels of the intra-predicted coding block, and DCT transform processing, quantization processing, and entropy coding processing of the residual components are performed to calculate encoded data. . Furthermore, entropy decoding processing, inverse quantization, and inverse DCT conversion processing are performed on the encoded data to create a decoded image. As a result, the encoded data and the decoded image are output.
  • the process of step 503 is performed in this order in the prediction error calculation unit 102, the DCT conversion unit 108, the quantization unit 109, and the entropy encoding unit 110.
  • step 504 scene analysis is performed.
  • the outline of the scene analysis will be described with reference to FIG.
  • GOP Group of Pictures: a group of frames related to prediction in the time direction.
  • FIG. 4 shows a case where switching between scene 1 and scene 2 occurs between the P2 frame and the B3 frame.
  • the P4 and B3 frames refer to the motion vector of the P2 frame, but an effective motion vector cannot be acquired because the scenes are different.
  • a plurality of decoded images are analyzed to find a scene change without using a flag, or as a result of scene analysis on the encoder side, the detected scene change position is transmitted to the decoder by a flag,
  • scene analysis processing may be performed in units of frames or in units of blocks. This process is not shown as a clear block, but is executed before the motion search by the motion search unit 105 in the inter prediction unit 120.
  • step 505 motion search is performed for each inter prediction mode.
  • Inter prediction modes include motion prediction modes with different block sizes, Skip mode, Direct mode, and the like.
  • An existing method may be used as the motion search method.
  • This step 505 is executed by the motion search unit 105 in the inter prediction unit 120.
  • step 506 it is determined whether or not PMV selection is performed in frame units. If PMV selection is not performed, the process proceeds to step 510; otherwise, the process proceeds to step 507. Subsequently, in step 507, it is determined whether or not PMV selection is performed in block units. If PMV selection is not performed, the process proceeds to step 510; otherwise, the process proceeds to step 508. Further, in step 508, PMV candidate blocks are adjusted to determine which blocks are included in candidate blocks and which blocks are not included depending on conditions. These processes can be switched in units of frames and blocks, and such switching may be transmitted to the decoding device side by a flag, or the same switching condition may be held in the decoding device.
  • Step 801 determines whether or not to perform PMV selection by determining whether or not a scene change has occurred.
  • the scene analysis process may be performed on the decoder side as described above to determine whether to perform the PMV selection process without transmitting the flag, or the determination on the encoder side may be determined on the decoder side by the flag. You may judge it.
  • a specific method such as a method for obtaining PMV by median calculation or a method in which the left or upper block vector is set to PMV, is determined in advance.
  • step 802 it is determined whether or not PMV selection is performed by determining the picture type. For example, if the encoding target frame is a P picture, motion vector prediction by PMV selection is performed. Otherwise, other means such as median calculation are used. It may be a B picture instead of a P picture. You may provide the flag which discriminate
  • Step 901 determines whether or not to perform PMV selection by determining the type of encoding mode of the encoding target block. For example, PMV selection may be performed only for a specific block size, or PMV selection may not be applied to Skip mode or Direct mode.
  • step 902 it is determined whether or not to perform PMV selection by determining the type of encoding mode of the candidate block. For example, if all candidate blocks are in the intra coding mode, PMV selection is not performed.
  • step 1001 one candidate block of the encoding target frame, for example, one block not checked yet is selected from A and B in FIG. This is block X.
  • step 1002 it is checked whether or not the block X can be referred to. If reference is impossible, the process proceeds to step 1003, and if reference is possible, the process proceeds to step 1004.
  • Unreferable refers to a state in which block information cannot be acquired because the block position is out of the screen range, etc., and referable means that block information can be acquired.
  • the block information includes a vector and a reference frame number. Is included.
  • step 1003 block X is set to 0 vector or excluded from candidate blocks. Which one to use is predetermined. For example, in step 1003, the zero vector is set.
  • a “0 vector” is a vector in which the value of each component is 0.
  • step 1004 it is checked whether or not the block X has a vector. If it is an intra-coded block, it has no vector. If it has no vector, the process proceeds to step 1005. If it has a vector, the process proceeds to step 1006.
  • step 1005 block X is set to 0 vector or excluded from candidate blocks. Which one to use is predetermined. For example, in step 1005, the block is excluded from the candidate blocks.
  • step 1006 it is checked whether the reference frame number of the block X and the encoding target block match. For example, when the block to be encoded is unidirectional prediction and the block X is bidirectional prediction, either L0 or L1 may match. Further, when the encoding target block is bidirectional prediction and the block X is unidirectional prediction, there is a mismatch. If they do not match, the process proceeds to step 1007, and if they match, the process proceeds to step 1008.
  • step 1007 block X is set to 0 vector or excluded from candidate blocks. Which one to use is predetermined. For example, in step 1007, the block is excluded from the candidate blocks.
  • step 1008 it is determined whether there is another candidate block to be checked in the encoding target frame. If there is another block to be checked, the process returns to step 1001. Otherwise, go to step 1009.
  • step 1009 one candidate block of the reference frame, for example, one block not checked yet is selected from S in FIG. This is block Y.
  • step 1010 it is checked whether the block Y has a vector. If it is an intra-coded block, it has no vector. If it has no vector, the process proceeds to step 1011. If it has a vector, the process proceeds to step 1012.
  • step 1011 block Y is set to 0 vector or excluded from candidate blocks. Which one to use is predetermined. For example, in step 1011, it is excluded from the candidate blocks.
  • Step 1012 checks whether the reference frame number of the block Y and the encoding target block match. For example, when the block to be encoded is unidirectional prediction and the block Y is bidirectional prediction, either L0 or L1 may match. Further, when the encoding target block is bidirectional prediction and the block Y is unidirectional prediction, there is a mismatch. If they do not match, the process proceeds to step 1013, and if they match, the process proceeds to step 1014.
  • step 1013 block Y is set to 0 vector or excluded from candidate blocks. Which one to use is predetermined. For example, in step 1013, the block is excluded from the candidate blocks.
  • step 1014 it is checked whether the encoding target block or the block Y is in the bidirectional prediction mode. If either is the bidirectional prediction mode, the process proceeds to step 1015; otherwise, the process proceeds to step 1016.
  • step 1015 block Y is set to 0 vector or excluded from candidate blocks. Which one to use is predetermined. For example, in step 1015, it is excluded from the candidate blocks.
  • step 1016 it is determined whether there is another candidate block to be checked in the reference frame. If there is another block to be checked, the process returns to step 1009.
  • steps 1003, 1005, 1007, 1011, 1013, and 1015 corresponding to each condition the process of setting the block X or the block Y to 0 vector or excluding from the candidate block was performed.
  • blocks at positions C and D in FIG. 3 may be added to the candidate blocks as candidate blocks. For example, among S, A, and B, if the candidate block is 0, C and D are added to the candidate block, and if it is 1, C is added to the candidate block. C, D, and other blocks may be added to the candidate block in advance, and a vector may be selected therefrom.
  • S when the picture of L0 [0] is intra-coded, S may be excluded from the candidate blocks and C may be added instead.
  • block C may be used when block A cannot be referenced.
  • a method predetermined by a flag may be switched for each frame or block. That is, there can be the following methods. ⁇ Unify the method to any method ⁇ Indicates which method can be switched by frame and selected by flag ⁇ Indicates which method can be switched by block and selected by flag The conditions shown in FIG. There are the following, which may change the order of determination.
  • Whether the candidate block cannot be referenced ⁇ Whether the candidate block has a motion vector ⁇ Whether the candidate block and the encoding target block are different in encoding type (for example, the candidate block is encoded by bidirectional prediction (B prediction)) Target block is one-way prediction (P prediction)) -Whether the reference frame number of the candidate block and the encoding target block match-Whether the candidate block and the encoding target block are bidirectional prediction
  • B prediction bidirectional prediction
  • Target block is one-way prediction (P prediction))
  • P prediction one-way prediction
  • the methods for adjusting the candidate block include the following. ⁇ Exclude candidate block from candidate block ⁇ Process vector of candidate block as 0 vector ⁇ Add another block in encoding target frame to candidate block ⁇ Add another block in reference frame to candidate block 3. Add another block shown at 303 in the process to the candidate block.
  • step 509 the PMV is selected and the difference vector is calculated and encoded.
  • the PMV selects a vector closest to the vector of the encoding target block from the candidate block vectors. A vector with the smallest code amount is selected when each component of the vector is encoded.
  • the selected vector is transmitted as a flag.
  • the candidate blocks are arranged in order, and if it is 1 bit, the vector of the first candidate block is selected when it is 0, and the vector of the next candidate block is selected when it is 1. For example, when the A, B, and S blocks match, the candidate blocks are ordered in the order of A, B, and S. If the same vector is found, it is excluded and the two blocks from the top are arranged and compared. Will be.
  • the selected vector is indicated by 2 bits. Assume that there are four candidate blocks A, B, S, and C shown in FIG. Similar to the above example, a vector closest to the vector of the encoding target block is selected, and the code is transmitted in the form of A: 0, B: 01, C: 10, S: 11. For example, if any of these is excluded from the candidate blocks, the order of the blocks is increased.
  • the number of bits indicating the selected vector may be switched in units of frames or blocks. In that case, a flag indicating switching is transmitted separately.
  • Fig. 11 shows an example of the description method of the code of the selected vector.
  • P be the candidate block number of the current previous encoding target block
  • N be the number of candidate blocks.
  • X be the candidate block number of the current encoding target block. If the current encoding candidate block number is P, 0 is set as the code C. Otherwise, output 1 first, and then continue to output (X-P-1)% N.
  • step 506 to step 509 is executed by the adaptive PMV selection unit 106.
  • step 510 PMV calculation and vector encoding are performed.
  • the PMV is not selected, and the PMV is calculated by a normal median operation.
  • median operation is performed on each component of the left A, upper B, upper right C, or upper left D vector to determine PMV.
  • a difference vector from the vector of the encoding target block is calculated and encoded.
  • the processing in step 510 is executed by the PMV predictive encoding 107.
  • step 511 motion prediction is performed for each inter prediction mode, a residual component is obtained for the pixels of the encoded block, DCT transform processing, quantization processing, and entropy encoding processing of the residual component are performed, and encoded data Is calculated.
  • DCT transform processing quantization processing
  • entropy encoding processing of the residual component are performed, and encoded data Is calculated.
  • Each process so far included in step 511 is executed by DCT transform section 108, quantization section 109, and entropy coding section 110.
  • entropy decoding processing, inverse quantization, and inverse DCT conversion processing are performed from the encoded data to create a decoded image. As a result, the encoded data and the decoded image are output.
  • Each process included in step 511 so far is performed by the inverse quantization unit 111 and the inverse DCT transform unit 112.
  • step 512 in accordance with the processing results in steps 503 and 511, the image encoding results for the respective encoding modes are compared, and the encoding mode to be output for the block is determined.
  • the process in step 512 is executed by the mode selection unit 113.
  • step 513 the encoded data in the encoding mode selected in step 512 is output as an encoded stream.
  • the process of step 513 is executed by the data output unit 114.
  • the encoding process in the first embodiment is performed.
  • the image coding apparatus and the image coding method according to the first embodiment described above inter prediction with higher accuracy and less code amount than the existing coding method is possible, and the compression efficiency is higher than that of the existing method.
  • a high image encoding device and image encoding method can be realized.
  • the image encoding device and the image encoding method according to the first embodiment can be applied to a recording device, a mobile phone, a digital camera, and the like using these.
  • the image encoding device and the image encoding method according to the first embodiment described above it is possible to reduce the code amount of the encoded data and prevent deterioration of the image quality of the decoded image when the encoded data is decoded. It becomes possible. That is, a high compression rate and better image quality can be realized.
  • FIG. 2 shows an example of a block diagram of an image decoding apparatus according to the second embodiment.
  • the image decoding apparatus includes a stream analysis unit 201, a mode determination unit 202, a coefficient analysis unit 203, an intra prediction synthesis unit 204, an adaptive PMV selection decoding unit 205, a motion prediction synthesis unit 206, an inverse quantization unit 207, and an inverse.
  • a DCT conversion unit 208, a decoded image memory 209, and an image output unit 210 are provided.
  • each component of the image decoding apparatus may be an autonomous operation of each component as described below, for example. Further, for example, it may be realized by cooperating with software stored in a control unit or storage unit of a computer.
  • the stream analysis unit 201 analyzes the input encoded stream.
  • the stream analysis unit 201 also performs data extraction processing from packets and information acquisition processing of various headers and flags. Further, each block is processed.
  • the encoded stream input to the stream analysis unit 201 is an encoded stream generated by the image encoding device and the image encoding method according to the first embodiment. Since the generation method is as shown in the first embodiment, the description is omitted. It may be an encoded stream read from the data recording medium shown in the third embodiment. The recording method will be described later.
  • the mode determination unit 202 determines the encoding mode designated by a flag or the like for each block. In the following decoding process, a process corresponding to the encoding mode of the determination result is performed. The process for each encoding mode will be described below.
  • the intra prediction combining unit 204 combines the intra prediction and the predicted image.
  • a conventional method may be used for this method.
  • the intra prediction combining unit 204 outputs the combined predicted image.
  • the adaptive PMV selective decoding unit 205 adaptively selects a PMV and combines it with the decoded difference vector to restore a motion vector.
  • the PMV selection method is the same as that described in the first embodiment because the encoder and decoder operate so as to select the same PMV.
  • the motion prediction synthesis unit 206 performs motion prediction using the reference frame for the pixels in the block using the restored motion vector.
  • the motion prediction synthesis unit 206 outputs the synthesized predicted image.
  • the coefficient analysis unit 203 analyzes the encoded data of each macroblock included in the input encoded stream, and outputs the encoded data of the residual component. At this time, processing corresponding to the encoding mode of the determination result of the mode determination unit 202 is performed.
  • the inverse quantization unit 207 performs inverse quantization processing on the encoded data and sends this to the inverse DCT transform unit 208.
  • the inverse DCT transform unit 208 performs inverse DCT transform on the inversely quantized coefficient to restore a residual component.
  • the residual component of each coding mode restored as described above is added to the prediction image output from the intra prediction synthesis unit 204 or the motion prediction synthesis unit 206, and returns to the decoded image, and is stored in the decoded image memory 209. Stored.
  • the decoded image memory 209 stores information on the currently decoded frame and information on previously decoded frames, and is referred to by the intra prediction synthesis unit 204 and the motion prediction synthesis unit 206.
  • the last decoded image is output by the image output unit 210, and the image is decoded.
  • step 601 an encoded stream to be decoded is acquired.
  • step 602 the encoding mode flag and the encoded data included in the encoded stream acquired in step 601 are analyzed. Steps 601 and 602 are executed by the stream analysis unit 201.
  • step 603 the encoding mode for one encoding unit (block unit, pixel unit, etc.) included in the encoded data is determined using the encoding mode flag analyzed in step 602. If the intra coding mode is selected, the process proceeds to step 604. If the intra coding mode is selected, the process proceeds to step 605. This step 603 is executed by the mode determination unit 202.
  • step 604 intra prediction is performed according to the method specified by the encoding mode. For this, an existing intra prediction method may be used.
  • This step 604 is executed by the intra prediction synthesis unit 204.
  • step 605 it is determined whether or not PMV selection is to be performed for the frame in accordance with various frame conditions and flag information. The determination as to whether or not to perform PMV selection for each frame is the same as the method described in the first embodiment because the encoder and the decoder operate so as to perform the same processing. If PMV selection is not performed, the process proceeds to step 609. Otherwise, the process proceeds to step 606. In step 606, it is determined whether or not PMV selection is to be performed for the block according to the encoding mode, conditions for each block, and flag information. The determination as to whether or not to perform PMV selection in block units is the same as the method described in the first embodiment because the encoder and decoder operate so as to perform the same processing. If PMV selection is not performed, the process proceeds to step 609; otherwise, the process proceeds to step 607.
  • step 607 PMV candidate blocks are adjusted. Here, it is determined which block is included in the candidate block and which block is not included depending on the condition.
  • the adjustment of the PMV candidate block is the same as the method described in the first embodiment because the encoder and the decoder operate so as to perform the same processing.
  • step 608 PMV selection and vector decoding are performed.
  • the PMV selection method is the same as the method described in the first embodiment because the encoder and the decoder operate so as to perform the same processing.
  • the vector decoding the PMV and the decoded difference vector are combined to restore the motion vector of the encoding target block.
  • step 609 PMV calculation and vector decoding are performed.
  • the PMV calculation method is the same as the method described in the first embodiment because the encoder and the decoder operate so as to perform the same processing.
  • the vector decoding the PMV and the decoded difference vector are combined to restore the motion vector of the encoding target block.
  • step 610 inter prediction is performed using the restored vector and the reference frame, and a predicted image is synthesized. According to the determined coding mode, if the intra prediction synthesis unit 204 and the motion prediction synthesis unit 206 of the image decoding apparatus in FIG. 2 perform the prediction image synthesis process in each corresponding coding mode. Good. This step 610 is executed by the motion prediction synthesis unit 206.
  • step 611 the predicted image and the residual component are synthesized and a decoded image is generated.
  • the encoded data is analyzed, the inverse quantization process and the inverse DCT transform process are performed on the encoded data, and the residual component for the one encoding unit is decoded.
  • a predicted image is synthesized with this to generate a decoded image, which is stored in a memory.
  • step 612 the generated decoded image is output.
  • Each processing of step 611 is executed by the coefficient analysis unit 203, the inverse quantization unit 207, the inverse DCT conversion unit 208, the decoded image memory 209, and the image output unit 210.
  • an encoded stream that is defined by subdividing each encoding mode using a block size used in the encoding mode as a parameter may be set as a decoding target stream.
  • inter prediction with higher accuracy and less code amount than the existing encoding method is possible, and the image has higher compression efficiency than the existing method.
  • a decoding device and an image decoding method can be realized.
  • the image decoding apparatus and the image decoding method according to the second embodiment can be applied to a reproducing apparatus, a mobile phone, a digital camera, and the like using them.
  • FIG. 7 shows a data recording medium storing an encoded stream generated by the image encoding device or the image encoding method according to the first embodiment.
  • the encoded stream according to the present embodiment is an encoded stream generated by the image encoding device or the image encoding method according to the first embodiment. Since the generation method is as shown in the first embodiment, the description is omitted.
  • the encoded stream according to the present embodiment is recorded as a data string 702 on the data recording medium 701.
  • the data string 702 is recorded as an encoded stream according to a predetermined grammar.
  • the following description assumes that a part of the H.264 / AVC standard has been changed.
  • a stream is composed of a sequence parameter set 703, a picture parameter set 704, and slices 705, 706, and 707.
  • a case where one image (picture) is stored in one slice will be described.
  • Each slice contains information 708 related to each block.
  • the block-related information 708 there is an area for recording each coding mode for each block, and this is used as a coding mode flag 709.
  • the data recording medium according to the third embodiment described above is recorded with the encoded stream having higher compression efficiency than the existing method, many images can be recorded.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

符号量を低減する画像符号化技術を提供することを目的とし、入力画像を分割したブロックと参照画像を用いて動き探索を行うインター予測において、該ブロックの動きベクトルを周囲のブロックの動きベクトルから選択して予測し、差分ベクトルを計算して符号化する方式において、予測ベクトルを選択する候補ブロックの数または位置をブロック単位またはフレーム単位で変化させることによって、適応的で効率的な動画像の圧縮を行う。

Description

画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置
 本発明は画像を符号化する画像符号化方法、画像符号化装置、符号化画像データを復号する画像復号方法及び画像復号装置に関する。
 画像、音声情報をデジタルデータ化して記録、伝達する手法として、H.264/AVC(Advanced Video Coding)規格等がこれまでに策定されてきた。ISO/IEC MPEGとITU-T VCEGはこれを超える圧縮率を実現するため、JCT-VC(Joint Collaborative Team on Video Coding)を設立し、HEVC(High Efficiency Video Coding)と呼ばれる次世代方式の検討を始めている。
 HEVCに対する技術候補の一つとして、動きベクトル競合(Motion Vector Competition)と呼ばれる方式が提案されている。この方式は、符号化対象マクロブロックにおける動き予測モードの予測ベクトル選択方法を提案したものである。H.264/AVCでは、予測ベクトルは符号化対象マクロブロックの上、左、右上の符号化済みマクロブロックが持つ動きベクトルから、X方向成分およびY方向成分についてmedian演算を行うことによって求められていた。
 一方、動きベクトル競合では、上、左、および最も近い参照フレームの符号化対象マクロブロックと同じ位置の動きベクトルを比較し、符号化対象マクロブロックの動きベクトルに最も近いものを予測ベクトルとして選択してフラグとして伝送する。
I. Amonou, et. al. "Description of video coding technology proposal by France Telecom, NTT, NTT DOCOMO, Panasonic and Technicolor", Doc. JCTVC-A114, Joint Collaborative Team on Video Coding (JCT-VC), April 2010.
 しかし、動きベクトル競合方式はフラグを伝送するため、median演算の結果と予測ベクトルが同じ場合はフラグの分だけ符号量が増えてしまう。
 また、全ての動きベクトルを用いる符号化モードに有効というわけではない。
 さらに、参照するブロックが動きベクトルを持たない場合、フレーム領域外にある場合の処理や、フラグの記述方法が効率的ではなく、3つの候補から2つを選択してフラグを記録する方式のため、狭い範囲の候補ブロックしか選ぶことができずに、予測誤差が大きく符号量が大きく、符号化効率が低いという問題点がある。
 本発明は上記課題を鑑みてなされたものであり、本発明の目的は、適切な動き予測による高い符号化効率を実現可能な画像符号化技術、画像復号技術を提供することにある。
 本願は、上記課題を解決するための手段を種々含むものであるが、その一つを挙げると次の通りである。
 入力画像を符号化する画像符号化装置であって、前記入力画像を分割した符号化対象ブロックと参照画像を用いて動き探索を行う動き探索部と、前記符号化対象ブロックの動きベクトルを、前記符号化対象ブロックの周囲にあるブロックの一部または全てからなる候補ブロックの動きベクトルから予測動きベクトルを生成する適応PMV選択部と、符号化ブロックの動きベクトルと予測動きベクトルから差分ベクトルを計算し符号化するPMV予測符号化部とを備え、前記適応PMV選択部は、用いる候補ブロックの数又は位置を変化させるか、または用いる候補ブロックの動きベクトルをゼロベクトルとする第1手段を有することを特徴とする画像符号化装置。
 本発明によれば、符号化効率を向上することができる。
実施例1に係る画像符号化装置のブロック図である。 実施例2に係る画像復号装置のブロック図である。 実施例1に係るPMV(予測動きベクトル)として動きベクトルを選択する候補ブロックの説明図である。 実施例1に係るシーン解析の概要についての説明図である。 実施例1に係る画像符号化装置で用いられる画像符号化フロー図である。 実施例2に係る画像復号方法のフロー図である。 実施例3に係るデータ記録媒体の説明図である。 実施例1に係る適応PMV選択部におけるフレーム単位でのPMV選択判定フローを示す図である。 実施例1に係る適応PMV選択部におけるブロック単位でのPMV選択判定フローを示す図である。 実施例1に係る適応PMV選択部におけるブロック単位でのPMV選択を行う候補ブロックの調整フローを示す図である。 実施例1に係る選択されるベクトルのフラグとして記述方法の例を示す図である。
 以下、実施例を、図面を参照して説明する。
 また、各図面において、同一の符号が付されている構成要素は同一の機能を有することとする。
 また、本明細書の各記載及び各図面における「動きベクトル競合」という表現は従来の符号化方式を示し、「適応動きベクトル選択」という表現は本発明に係る新たな符号化方式を示す。「PMV選択」とは、候補となるブロックが持つ動きベクトルから1つを選択して、選択した動きベクトルから予測動きベクトル(Predicted Motion Vector:PMV)を生成(median等そのまま選択的に使用することや、複数の動きベクトルを合成する等による新規な生成も含む)することを示す。
 また、本明細書の各記載及び各図面における「0 vec」または「0ベクトル」とは各成分の値が0のベクトル、またはそのようなベクトルに変換、設定することを示す。
 また、本明細書の各記載及び各図面における「参照不可」とはブロックの情報が取得できないことを示す。具体例としては、候補ブロックの位置が画面の範囲外にある等が挙げられる。逆に、「参照可能」とはブロックの情報が取得できることである。
 また、本明細書の各記載及び各図面における「ブロックの情報」にはベクトル、参照フレーム番号が含まれる。
 また、本明細書の各記載及び各図面における「残差成分」という表現は、「予測誤差」と同様の意味も含む。
 また、本明細書の各記載及び各図面における「領域」という表現は、「画像」と同様の意味も含む。
 また、本明細書の各記載及び各図面における「フラグとともに伝送」という表現は、「フラグに含めて伝送」という意味も含む。
 また、本明細書の各記載及び各図面における「符号化モード」という表現は、イントラ予測/インター予測の種別と適用するブロックサイズとの組み合わせを含むものである。
 まず、第1の実施例について図面を参照して説明する
 図1に実施例1に係る画像符号化装置のブロック図を示す。
 画像符号化装置は、ブロック分割部101、予測誤差計算部102、イントラ予測部104、PMV予測符号化部107、適応PMV選択部106、動き探索部105、復号画像メモリ103、DCT変換部108、量子化部109、エントロピー符号化部110、逆量子化部111、逆DCT変換部112、モード選択部113、データ出力部114を備えている。
 以下に画像符号化装置の各構成要素の動作を詳細に説明する。
 なお、画像符号化装置の各構成要素の動作は、例えば、以下の記載の通り各構成要素の自律的な動作としても良い。また、コンピュータの制御部がコンピュータの記憶部が記憶するソフトウェアと協働することにより実現しても構わない。
 まずブロック分割部101は、符号化対象である原画像を入力し、これを符号化の単位であるブロックに分割する。ここで分割するブロックのサイズは、Coding Unit(CU)やPrediction Unit(PU)と呼ばれる16×16画素等の2のべき乗サイズ(画素数m×画素数nのブロック、m,n=2のべき乗、例. 128×128,64×64,32×32, 16×16, 16×8,8×16,8×8,4×4)のものを用いるが、サイズは可変であり異なるサイズのものが隣り合っていても構わない。以下では同じサイズのブロックが連続する場合を例に挙げ説明し、サイズが異なる場合のベクトルの選択方法については別途説明する。
 予測誤差計算部102では、生成された予測画像と原画像との差分を取って残差成分を計算し出力する。予測方法については一般にイントラ(フレーム内)予測とインター(フレーム間)予測がある。イントラ予測は、イントラ予測部104で行われ、インター予測は、PMV予測符号化部107、適応PMV選択部106、動き探索部105とからなるインター予測部120で行われる。イントラ予測は符号化対象ブロックよりも前に符号化された同じフレームの情報を用い、インター予測は符号化対象フレームよりも前に符号化された、再生時間としては前または後ろのフレームの情報を用いる。これらは復号画像メモリ103に格納されている。
 ここで、イントラ予測部104や動き予測部、復号画像メモリ103は、説明のため一つだけ記載したが、符号化モード毎、フレーム毎にそれぞれ備えても良い。
 イントラ予測部104では、符号化対象ブロックよりも前に符号化された同じフレームの情報を用いて符号化対象ブロックの画素を予測する。イントラ予測の方法については既存の方式を用いればよい。
 動き予測部120については、まず動き探索部105において復号画像メモリ103に格納されている参照フレームと符号化対象ブロックを用いて動きベクトル(Motion Vector: MV)の探索を行う。画素の精度は整数でも小数でもよく、フィルタによる参照フレームの補間により1/4画素精度が好適であるが、1/2、1/8でもかまわない。本実施例では動き探索方法については既存の方式を用いる。
 次に、適応PMV選択部106では、符号化対象ブロックの同じフレーム内の周囲ブロック、及び参照フレームの同じ位置とその周囲ブロックの情報を用いて、PMVを時間的、空間的な判別により適応的に選択する。本実施例では、PMVを、時間的な判別と空間的な判別とを双方備え適応的な判別を行うが、一方のみでもかまわない。方法、候補とする周囲ブロック、及びPMVの選択方法の詳細については後述する。
 図3を用いてPMVを選択する候補ブロックの例について説明する。既存の動きベクトル競合方式では、301のように符号化対象ブロックと同じ符号化対象フレームにある左側のブロック(A)、上側のブロック(B)と一番近い前方参照フレーム(L0[0])の符号化対象ブロックと同じ位置にあるブロック(Co-located Block)(S)を候補とし、A,B,Sのように順番に並べ、これらのうち同じベクトルがある場合には候補から除外して、最も符号化対象ブロックのベクトルに近いものを選択してフラグによって示す。なお、一番近い前方参照フレームを本実施例では採用したが、符号化済みのフレームであれば、後方参照フレームでもかまわない。また、一枚だけでなく、複数枚の符号化済みフレームを参照してもよい。
 一方、本実施例の適応PMV選択部で用いる適応動きベクトル選択方式では、302のように符号化対象ブロックの左側、上側だけでなく、右上(C)や左上(D)も候補に含める。また、参照フレームのブロックSの周囲ブロックも候補に含めることができる。つまり、適応PMV選択部が用いる候補ブロックの、(a)数、(b)空間的な位置(フレーム内のブロック)と(c)時間的な位置(別フレームのブロック)を変化させることができるようにする。選択方法の詳細については後述する。
 また、本実施例の適応動きベクトル選択方式では、303のように候補ブロックのサイズが異なる場合で、最初に参照するべき位置のブロックが動きベクトルを持たない、または参照不可の場合、順次近傍のブロックが動きベクトルを持つかどうかをチェックし、利用可能な場合にはPMV選択の候補とする。具体的には、303においてB1が参照不可の場
合、B2、B3、B4を順次チェックする。同様にA1が参照不可の場合、A2、A3、A4を、S1が参照不可の場合、S2、S3、S4をチェックする。符号化対象フレームの左上から近い順に走査すればよい。ブロックBの場合は、左から右、下から上の順、ブロックAの場合は上から下、右から左の順、ブロックSの場合は通常のラスタスキャン順、すなわち左から右、上から下の順となる。
 次に、PMV予測符号化部107では、MVからPMVを引いて差分ベクトル(Differential Motion Vector: DMV)を計算し、これを符号化する。またMVを用いて参照フレームから動き予測を行い、予測ブロックを作成する。
 DCT変換部108では、予測誤差計算部102から入力された残差成分に対してDCT変換が行われ、係数に変換される。続いて量子化部109に送られ、各変換係数が量子化される。量子化された係数はエントロピー符号化部110に送られ、一定の順序に従って可変長符号等を用いた情報圧縮が行われ、データがモード選択部113に送られる。一方で量子化された係数は逆量子化部111にも送られ、逆量子化によって変換係数に戻され、さらに逆DCT変換部112によって残差成分へと復元される。残差成分は、イントラ予測部104及び一連の動き予測部からの情報が加えられて、復号画像に戻り、復号画像メモリ103に記憶される。当該復号画像はモード選択部113に入力されてモード選択のために利用される。
 次に、モード選択部113では、複数の符号化モードに関する情報を基に、そのブロックについて最も符号化効率の高いモードを選択する。各符号化モードについて、原画像と復号画像との誤差(符号化誤差)とその符号化モードを利用した場合に発生する符号量を算出し、両者の関係から適切な符号化モードを選択する。例えば最も符号化効率の良い符号化モードを選択する方式としてRate-Distortion最適化方式などの既存の方式を用いればよい。この方式は、各マクロブロックについて全てのモードについて符号量と復号後の原画との符号化誤差を計算し、コスト計算式に従って最も良いモードを選択する方式となっている。
 最後に、データ出力部114が選択された符号を出力して符号化ストリームが作成され、画像の符号化が行われる。
 次に、図5を用いて、画像符号化装置で用いられる画像符号化フローについて説明する。
 まず、ステップ501は、復号画像メモリ103から符号化対象となる原画像を入力し、ブロックに分割する処理である。ここで各ブロックのサイズは可変である。前述のCU、PUを用いればよい。ステップ501はブロック分割部101において実行される。
 次に、ステップ502では、ステップ501で取得した原画像のブロックについてイントラ予測を行う。イントラ予測については既存の方式を用いればよく、各イントラ予測モードに従って複数のモードについて予測を行う。このステップ502の処理はイントラ予測部104において実行される。
 次に、ステップ503では、イントラ予測された符号化ブロックの画素について残差成分を取得し、残差成分のDCT変換処理と量子化処理、エントロピー符号化処理とを行い、符号化データを算出する。また、さらに、当該符号化データからエントロピー復号処理、逆量子化、逆DCT変換処理を行い、復号画像の作成を行う。これにより符号化データと復号画像を出力する。このステップ503の処理は、予測誤差計算部102、DCT変換部108、量子化部109、エントロピー符号化部110において、この順に書く処理が実行される。
 ステップ504では、シーン解析を行う。図4を用いてシーン解析の概要について説明する。動画像シーケンスでは1つのGOP(Group of Picture: 時間方向の予測に関するフレームのまとまり)の内部においても、画像の特徴に変化がある場合がある。例えば、映画やドラマにおけるシーンチェンジ、テレビ中継におけるカメラの切替え等が発生する場合がある。図4では、P2のフレームとB3のフレームの間にシーン1とシーン2の切替えが発生した場合を示している。ここで既存の動きベクトル競合方式では、P4やB3のフレームはP2フレームの動きベクトルを参照するが、シーンが異なっているために効果的な動きベクトルを取得することができない。そこで、本実施例では複数の復号画像を解析してフラグを用いずにシーンチェンジを見つけるか、エンコーダ側でのシーン解析の結果、検出されたシーンチェンジ位置をフラグによってデコーダに伝えることによって、符号化対象フレームと参照フレームが異なるシーンに属する場合には、そのブロックをPMVの候補ブロックとはしないという処理を行うことができる。このようなシーン解析の処理はフレーム単位で行ってもよいし、ブロック単位で行ってもよい。この処理は、明確なブロックとしては図示しないが、インター予測部120内で動き探索部105による動き探索を行う前に実行する。
 次に、ステップ505において、各インター予測モードに対して動き探索を行う。インター予測モードには、ブロックサイズの異なる動き予測モードや、Skipモード、Directモードなどが含まれる。動き探索の方法は既存の方式を用いればよい。このステップ505はインター予測部120内の動き探索部105において実行される。
 次にステップ506では、フレーム単位でPMV選択を行うか否かの判定を行う。PMV選択を行わない場合にはステップ510に進み、それ以外はステップ507に進む。続いてステップ507ではブロック単位でPMV選択を行うか否かの判定を行う。PMV選択を行わない場合にはステップ510に進み、それ以外はステップ508に進む。さらにステップ508ではPMV候補ブロックの調整を行い、条件によってどのブロックを候補ブロックに含め、どのブロックを含めないかを判定する。これらの処理はフレーム単位、及びブロック単位で切り換えることができ、こうした切り換えをフラグによって復号装置側へ伝送してもよいし、復号装置に同じ切り替え条件を保持させてもよい。
 フレーム単位でのPMV選択判定の詳細を、図8を用いて説明する。ステップ801はシーンチェンジか否かの判定を行うことによりPMV選択を行うか否かを判定する。これは前述のようにデコーダ側にてシーン解析処理を行ってフラグの伝送なしにPMV選択の処理を行うか否かの判定を行ってもよいし、エンコーダ側での判断をフラグによってデコーダ側に伝え判定してもよい。PMV選択を行わない場合には、median演算によってPMVを求める方式や、予め左側あるいは上側のブロックのベクトルをPMVとする方式など特定の方式を決めておく。
 また、別の例として、ステップ802ではピクチャタイプの判定を行うことによりPMV選択を行うか否かを判定する。これは例えば符号化対象フレームがPピクチャであればPMV選択による動きベクトル予測を行い、そうでなければmedian演算等、他の手段を用いる。PピクチャではなくBピクチャとしてもよい。どのピクチャの時にどのように判断するかを判別するフラグを設けてもよい。
 ブロック単位でのPMV選択判定の詳細を、図9を用いて説明する。ステップ901は符号化対象ブロックの符号化モードの種類を判別することによってPMV選択を行うか否かを判定する。例えば、特定のブロックサイズの時だけPMV選択を行う、あるいはSkipモードやDirectモードにはPMV選択を適用しないなどとすればよい。
 また、別の例として、ステップ902では候補ブロックの符号化モードの種類を判別することによってPMV選択を行うか否かを判定する。例えば、候補ブロックがすべてイントラ符号化モードであればPMV選択を行わない。
 上記のような方式により、フレーム単位またはブロック単位でPMV選択を行うか否かを切り換えることができる。
 ブロック単位でのPMV選択を行う候補ブロックの調整方法の詳細を、図10を用いて説明する。ここではPMV選択を行う場合に、候補ブロックの符号化モードやベクトルを持つか否か、参照可能か否かによって候補ブロックから除外したり、他の候補ブロックを追加したりといった処理を行う。
 まず、ステップ1001では、符号化対象フレームの候補ブロック、例えば図3のA、Bから、まだチェックしていないブロックを一つ選択する。これをブロックXとする。
 次に、ステップ1002では、ブロックXが参照可能かどうか調べる。もし参照不可であればステップ1003に進み、参照可能であればステップ1004に進む。参照不可とはブロック位置が画面の範囲外にある等のためにブロックの情報が取得できない状態であり、参照可能とはブロックの情報が取得できることであり、ブロックの情報にはベクトル、参照フレーム番号が含まれる。
 ステップ1003ではブロックXを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1003では0ベクトルに設定する。「0ベクトル」とは各成分の値が0のベクトルである。
 ステップ1004ではブロックXがベクトルを持つか否かを調べる。イントラ符号化されたブロックであればベクトルは持たない。ベクトルを持たない場合はステップ1005に進み、ベクトルを持てばステップ1006に進む。
 ステップ1005ではブロックXを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1005では候補ブロックから除外する。
 ステップ1006ではブロックXと符号化対象ブロックの参照フレーム番号が一致するかどうか調べる。例えば符号化対象ブロックが一方向予測で、ブロックXが双方向予測である場合、L0またはL1のどちらかが一致すればよい。また、符号化対象ブロックが双方向予測で、ブロックXが一方向予測である場合は不一致となる。不一致であればステップ1007に進み、一致すればステップ1008に進む。
 ステップ1007ではブロックXを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1007では候補ブロックから除外する。
 ステップ1008では符号化対象フレーム内に他にチェックする候補ブロックがあるかどうか判定し、他にチェックするブロックがある場合にはステップ1001に戻る。そうでなければステップ1009に進む。
 ステップ1009では、参照フレームの候補ブロック、例えば図3のSから、まだチェックしていないブロックを一つ選択する。これをブロックYとする。
 ステップ1010ではブロックYがベクトルを持つか否かを調べる。イントラ符号化されたブロックであればベクトルは持たない。ベクトルを持たない場合はステップ1011に進み、ベクトルを持てばステップ1012に進む。
 ステップ1011ではブロックYを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1011では候補ブロックから除外する。
 ステップ1012ではブロックYと符号化対象ブロックの参照フレーム番号が一致するかどうか調べる。例えば符号化対象ブロックが一方向予測で、ブロックYが双方向予測である場合、L0またはL1のどちらかが一致すればよい。また、符号化対象ブロックが双方向予測で、ブロックYが一方向予測である場合は不一致となる。不一致であればステップ1013に進み、一致すればステップ1014に進む。
 ステップ1013ではブロックYを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1013では候補ブロックから除外する。
 ステップ1014では符号化対象ブロック、またはブロックYが双方向予測モードかどうかを調べる。どちらかが双方向予測モードであればステップ1015に進み、そうでなければステップ1016に進む。
 ステップ1015ではブロックYを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1015では候補ブロックから除外する。
 ステップ1016では参照フレーム内に他にチェックする候補ブロックがあるかどうか判定し、他にチェックするブロックがある場合にはステップ1009に戻る。
 ここでは各条件に対応してステップ1003、1005、1007、1011、1013、1015において、ブロックXまたはブロックYを0ベクトルに設定するか、候補ブロックから除外する処理を行った。これに対し、例えば候補ブロックとして図3のCやDの位置のブロックを候補ブロックに追加してもよい。例えば、S、A、Bのうち、候補ブロックが0の場合はCとDを候補ブロックに追加し、1つの場合はCを候補ブロックに追加する。予めCやD、さらに他のブロックを候補ブロックに加えておき、その中からベクトルを選んでもよい。
 例えば、L0[0]のピクチャがイントラ符号化されている場合には、候補ブロックからSを除外し、その代わりにCを加えればよい。あるいは、ブロックAが参照不可の場合にはブロックCを用いればよい。
 上記のようなPMV選択を行うか否か、あるいは候補ブロック調整の方法については、フレーム単位あるいはブロック単位でフラグによって予め決められた方式を切り換えてもよい。すなわち、以下のような方法がありうる。
・どれかの方式に方式を統一する
・フレーム単位で切り替え可能としフラグでどの方式を選んだかを示す
・ブロック単位で切り替え可能としフラグでどの方式を選んだかを示す
 図10に示した条件には以下のようなものがあり、これらは判定の順序を変えてもよい。
・候補ブロックが参照不可かどうか
・候補ブロックが動きベクトルを持つか否か
・候補ブロックと符号化対象ブロックの符号化タイプが異なるかどうか(例えば、候補ブロックが双方向予測(B予測)で符号化対象ブロックが一方向予測(P予測))
・候補ブロックと符号化対象ブロックの参照フレーム番号が一致するかどうか
・候補ブロック、符号化対象ブロックが双方向予測かどうか
 候補ブロックの調整を行う方式としては、以下のようなものがある。
・候補ブロックを候補ブロックから除外する
・候補ブロックのベクトルを0ベクトルとして処理する
・符号化対象フレーム内の別のブロックを候補ブロックに加える
・参照フレーム内の別のブロックを候補ブロックに加える
・図3の303に示す別のブロックを候補ブロックに加える
・符号化タイプが一致する場合だけ処理し、それ以外は候補ブロックから除外する
・参照フレーム番号が合う場合だけ処理し、それ以外は候補ブロックから除外する
・参照フレーム番号が合うベクトルを他のベクトルに当てはめて両方処理する
 続いて、ステップ509ではPMVを選択して差分ベクトルを計算し符号化する。PMVは候補ブロックのベクトルの中から最も符号化対象ブロックのベクトルに近いベクトルを選択する。ベクトルの各成分を符号化した時に最も符号量が小さくなるベクトルを選択する。選択されたベクトルはフラグとして伝送される。これは候補ブロックを順に並べ、1ビットであれば0の時は先頭の候補ブロックのベクトル、1の時は次の候補ブロックのベクトルが選ばれたことになる。候補ブロックの順番は、例えばA、B、Sのブロックが合った時、まずA、B、Sの順に並べ、同じベクトルがあった場合には除外し、先頭から2つのブロックが並べられ比較されることになる。
 選択されるベクトルが2ビットで示される場合を以下に示す。候補ブロックは図302に示すA、B、S、Cの4つであったとする。上記の例と同様に符号化対象ブロックのベクトルに最も近いベクトルを選択し、A:00、B:01、C:10、S:11のような形で符号を伝送する。例えば、これらのうち候補ブロックから除外されるものがあれば、そのブロックの順序を繰り上げる。選択したベクトルを示すビット数はフレーム単位、ブロック単位で切り替えてもよい。その場合には別途切り換えを示すフラグを伝送する。
 図11に選択されるベクトルの符号の記述方法の例を示す。現在の1つ前の符号化対象ブロックの候補ブロック番号をPとし、候補ブロックの数をNとする。現在の符号化対象ブロックの候補ブロック番号をXとする。もし現在の符号化対象ブロックの候補ブロック番号がPであれば0を符号Cとする。そうでなければ、まず1を出力し、さらに続けて(X - P - 1) % N を出力する。逆に、符号Cが0の時は現在の符号化対象ブロックの候補ブロック番号Xは、1つ前の候補ブロック番号Pと同じである。そうではなく符号Cの先頭ビットが1であるときは、先頭ビットを除いた残りの符号をC^として、X = (P + C^ + 1 ) % Nとなる。このようにすることにより、連続して同じ候補ブロック番号が選ばれる場合に符号量を短くすることができる。
 なお、これらのステップ506からすステップ509の処理は適応PMV選択部106で実行される。
 次に、ステップ510ではPMV計算とベクトル符号化が行われる。ここではPMVの選択は行われず、通常のmedian演算によってPMVの計算が行われる。これは左側A、上側B、右上Cまたは左上Dのベクトルの各成分についてmedian演算を行い、PMV決定するものである。PMVが決定された後、符号化対象ブロックのベクトルとの差分ベクトルを計算し符号化する。このステップ510の処理は、PMV予測符号化107で実行される。
 ステップ511では、各インター予測モードについて動き予測を行い、符号化ブロックの画素について残差成分を取得し、残差成分のDCT変換処理と量子化処理、エントロピー符号化処理とを行い、符号化データを算出する。フテップ511に含まれるここまでの各処理は、DCT変換部108、量子化部109、エントロピー符号化部110で実行される。またさらに、当該符号化データからエントロピー復号処理、逆量子化、逆DCT変換処理を行い、復号画像の作成を行う。これにより符号化データと復号画像を出力する。ステップ511に含まれるこれまで各処理は、逆量子化部111、逆DCT変換部112で行われる。
 次に、ステップ512では、ステップ503およびステップ511の処理結果に従い、各符号化モードについての画像符号化結果を比較して、当該ブロックについて出力する符号化モードを決定する。ステップ512の処理は、モード選択部113で実行される。
 次に、ステップ513では、ステップ512で選択した符号化モードにおける符号化データを符号化ストリームとして出力する。ステップ513の処理は、データ出力部114で実行される。
 以上説明したように、実施例1における符号化処理が行われる。
 以上説明した実施例1に係る画像符号化装置及び画像符号化方法によれば、既存の符号化方式よりも精度が高く、かつ符号量の少ないインター予測が可能となり、既存方式よりも圧縮効率の高い画像符号化装置及び画像符号化方法を実現することが可能となる。
 また、実施例1に係る画像符号化装置及び画像符号化方法は、これらを用いた記録装置、携帯電話、デジタルカメラ等に適用することが可能である。
 以上説明した実施例1に係る画像符号化装置及び画像符号化方法によれば、符号化データの符号量を低減し、当該符号化データを復号した場合の復号画像の画質の劣化を防ぐことが可能となる。すなわち、高い圧縮率とより良い画質とを実現することができる。
 次に、図2に実施例2に係る画像復号装置のブロック図の例を示す。
 本実施例の画像復号装置は、ストリーム解析部201、モード判定部202、係数解析部203、イントラ予測合成部204、適応PMV選択復号部205、動き予測合成部206、逆量子化部207、逆DCT変換部208、復号画像メモリ209、画像出力部210を備えている。
 以下に、画像復号装置の各構成要素の動作を詳細に説明する。なお、画像復号装置の各構成要素の動作は、例えば、以下の記載の通り各構成要素の自律的な動作としても良い。また、例えば、コンピュータの制御部や記憶部が記憶するソフトウェアと協働することにより実現しても構わない。
 まず、ストリーム解析部201が、入力された符号化ストリームを解析する。ここで、ストリーム解析部201は、パケットからのデータ抽出処理や各種ヘッダ、フラグの情報取得処理も行う。さらに各ブロックの処理を行う。
 また、このとき、ストリーム解析部201に入力される符号化ストリームは、実施例1に係る画像符号化装置及び画像符号化方法により生成された符号化ストリームである。その生成方法は、実施例1に示したとおりであるので説明を省略する。実施例3に示すデータ記録媒体から読み出した符号化ストリームであってもよい。その記録方法は後述する。
 次に、モード判定部202は、各ブロックについて、フラグ等によって指定された符号化モードの判別を行う。以下の復号処理は、当該判別結果の符号化モードに対応する処理が行われる。以下にそれぞれの符号化モードについての処理を説明する。
 まず、符号化モードがイントラ符号化である場合には、イントラ予測合成部204がイントラ予測と予測画像の合成を行う。この方法は従来の方法を用いればよい。ここで、イントラ予測合成部204は合成した予測画像を出力する。
 符号化モードがフレーム間のインター予測による符号化である場合には、動き予測と予測画像の合成が行われる。まず適応PMV選択復号部205により、適応的にPMVが選択され、復号された差分ベクトルと合成されて動きベクトルが復元される。PMVの選択方法についてはエンコーダとデコーダが同じPMVを選択するように動作するため、実施例1に記述した方法と同様である。
 続いて、動き予測合成部206が、復元された動きベクトルを用いてブロック内の画素について参照フレームを利用して動き予測を行う。ここで、動き予測合成部206は合成した予測画像を出力する。
 一方、係数解析部203は、入力符号化ストリームに含まれる各マクロブロックの符号化データを解析し、残差成分の符号化データを出力する。この時、モード判定部202の判別結果の符号化モードに対応する処理が行われる。
 逆量子化部207は符号化データに逆量子化処理を行い、これを逆DCT変換部208に送る。逆DCT変換部208は、逆量子化された係数を逆DCT変換し残差成分を復元する。
 上記のようにして復元された各符号化モードの残差成分は、イントラ予測合成部204や動き予測合成部206から出力される予測画像と加算されて、復号画像に戻り、復号画像メモリ209に格納される。復号画像メモリ209には、現在復号しているフレームの情報と、過去に復号したフレームの情報が格納されており、イントラ予測合成部204や動き予測合成部206に参照される。
 最後に復号された画像が画像出力部210によって出力され、画像の復号が行われる。
 次に、図6を用いて、実施例2に係る画像復号装置における画像復号方法の流れについて説明する。
 まず、ステップ601で、復号対象となる符号化ストリームを取得する。次に、ステップ602では、ステップ601において取得した符号化ストリームに含まれる符号化モードフラグと符号化データを解析する。このステップ601、ステップ602はストリーム解析部201で実行される。
 次に、ステップ603では、ステップ602において解析した符号化モードフラグを用いて、当該符号化データに含まれる一の符号化単位(ブロック単位や画素単位など)についての符号化モードを判定する。ここでイントラ符号化モードである場合にはステップ604に進み、インター符号化モードである場合にはステップ605に進む。このステップ603は、モード判定部202で実行される。
 ステップ604では、符号化モードによって指定された方法に従ってイントラ予測を行う。これは既存のイントラ予測方法を用いればよい。このステップ604は、イントラ予測合成部204で実行される。
 ステップ605では、フレーム単位の諸条件、フラグの情報に従って、該フレームに対してPMV選択を行うかどうかを判定する。フレーム単位でPMV選択を行うか否かの判定はエンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。PMV選択を行わない場合にはステップ609に進み、それ以外はステップ606に進む。ステップ606では符号化モード、ブロック単位の諸条件、フラグの情報に従って、該ブロックに対してPMV選択を行うかどうかを判定する。ブロック単位でPMV選択を行うか否かの判定はエンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。PMV選択を行わない場合にはステップ609に進み、それ以外はステップ607に進む。
 ステップ607ではPMV候補ブロックの調整を行う。ここでは条件によってどのブロックを候補ブロックに含め、どのブロックを含めないかを判定する。PMV候補ブロックの調整はエンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。
 ステップ608ではPMV選択とベクトル復号が行われる。PMVの選択方法は、エンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。ベクトルの復号は、PMVと復号された差分ベクトルを合成して符号化対象ブロックの動きベクトルを復元する。
 次に、ステップ609ではPMV計算とベクトル復号が行われる。PMVの計算方法は、エンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。ベクトルの復号は、PMVと復号された差分ベクトルを合成して符号化対象ブロックの動きベクトルを復元する。これらのステップ605、ステップ606、ステップ607、ステップ608及びステップ609は、適応PMV選択復号部205で実行される。
 ステップ610では復元されたベクトルと参照フレームを用いてインター予測を行い、予測画像を合成する。これは判定された符号化モードに応じて、図2における画像復号装置のイントラ予測合成部204、動き予測合成部206が、それぞれの対応する符号化モードの場合に予測画像の合成処理を行えばよい。このステップ610は、動き予測合成部206で実行される。
 ステップ611では、予測画像と残差成分を合成し、復号画像の生成を行う。まず符号化データを解析し、当該符号化データについて逆量子化処理、逆DCT変換処理を行い、前記一の符号化単位についての残差成分の復号を行う。これに予測画像を合成して復号画像の生成を行い、メモリに記憶する。最後に、ステップ612では、生成された復号画像の出力を行う。このステップ611の各処理は、係数解析部203、逆量子化部207、逆DCT変換部208、復号画像メモリ209及び画像出力部210で実行される。
 なお、本実施例においても、例に示す以外にも、符号化モードで用いるブロックのサイズなどをパラメータとして、各符号化モードを細分化して規定した符号化ストリームを、復号対象ストリームとしてもよい。
 以上説明した実施例2に係る画像復号装置及び画像復号方法によれば、既存の符号化方式よりも精度が高く、かつ符号量の少ないインター予測が可能となり、既存方式よりも圧縮効率の高い画像復号装置及び画像復号方法を実現することが可能となる。
 また、実施例2に係る画像復号装置及び画像復号方法は、これらを用いた再生装置、携帯電話、デジタルカメラ等に適用することが可能である。
 以上説明した実施例2に係る画像復号装置及び画像復号方法によれば、符号量の少ない符号化データをより高画質に復号することが可能となる。
 次に、図7に実施例1に係る画像符号化装置または画像符号化方法により生成された符号化ストリームが格納されたデータ記録媒体を示す。
 本実施例に係る符号化ストリームは、実施例1に係る画像符号化装置または画像符号化方法により生成された符号化ストリームである。その生成方法は、実施例1に示したとおりであるので、説明を省略する。
 ここで、本実施例に係る符号化ストリームは、データ記録媒体701上にデータ列702として記録される。データ列702は、所定の文法に従う符号化ストリームとして記録されている。以下ではH.264/AVC規格の一部を変更したものとして説明する。
 まず、H.264/AVCでは、シーケンスパラメータセット703、ピクチャパラメータセット704、スライス705、706、707からストリームが構成される。以下、1つのスライスに1つの画像(ピクチャ)が格納される場合を示す。
 各スライスの内部には、それぞれのブロックに関する情報708が含まれている。ブロックに関する情報708の内部には、ブロックごとにそれぞれの符号化モードを記録する領域があり、これを符号化モードフラグ709とする。
 以上説明した実施例3に係るデータ記録媒体によれば、既存方式よりも圧縮効率が高い符号化ストリームで記録されているので、多くの画像を記録することができる。
 なお、以上説明した各図、各方法等の実施例のいずれを組み合わせてもよい。
101…ブロック分割部、102…予測誤差計算部、103…復号画像メモリ、104…イントラ予測部、105…動き探索部、106…適応PMV選択部、107…PMV予測符号化部、108…DCT変換部、109…量子化部、110…エントロピー符号化部、111…逆量子化部、112…逆DCT変換部、113…モード選択部、114…データ出力部、120…インター予測部
201…ストリーム解析部、202…モード判定部、203…係数解析部、204…イントラ予測合成部、205…適応PMV選択復号部、206…動き予測合成部、207…逆量子化部、208…逆DCT変換部、209…復号画像メモリ、210…画像出力部

Claims (20)

  1.  入力画像を符号化する画像符号化装置であって、
     前記入力画像を分割した符号化対象ブロックと参照画像を用いて動き探索を行う動き探索部と、
     前記符号化対象ブロックの動きベクトルを、前記符号化対象ブロックの周囲にあるブロックの一部または全てからなる候補ブロックの動きベクトルから予測動きベクトルを生成する適応PMV選択部と、
     符号化ブロックの動きベクトルと予測動きベクトルから差分ベクトルを計算し符号化するPMV予測符号化部とを備え、
     前記適応PMV選択部は、用いる候補ブロックの数又は位置を変化させるか、または用いる候補ブロックの動きベクトルをゼロベクトルとする第1手段を有することを特徴とする画像符号化装置。
  2.  請求項1において、
     前記第1手段は、
     前記符号化対象ブロックと同じフレームにある候補ブロックが参照不可の場合に、候補ブロックの動きベクトルをゼロベクトルとする手段、
     前記符号化対象ブロックと同じフレームにある候補ブロックが動きベクトルを持たない場合に、該ブロックを候補ブロックから除外する手段、および
     前記符号化対象ブロックの動きベクトルが参照する参照フレーム番号と、前記符号化対象ブロックと同じフレームにある候補ブロックの動きベクトルの参照フレーム番号が異なる場合には、前記ブロックを候補ブロックから除外する手段のいずれかを含むことを特徴とする画像符号化装置。
  3.  請求項1において、
     前記第1手段は、
     符号化対象ブロックとは異なるフレームにある候補ブロックが動きベクトルを持たない場合、
     符号化対象ブロックとは異なるフレームにある候補ブロックの動きベクトルが参照する参照フレーム番号と符号化対象ブロックの動きベクトルが参照する参照フレーム番号が異なる場合、または
     符号化ブロックまたはこの符号化対象ブロックとは異なるフレームにある候補ブロックが双方向予測モードの場合、
     のいずれかの場合に、前記ブロックを候補ブロックから除外する手段を含むことを特徴とする画像符号化装置。
  4.  請求項1において、
     前記第1手段は、
     前記候補ブロックが参照できないか、または前記候補ブロックが動きベクトルを持たない場合に、前記ブロックを候補ブロックから除外するとともに、別のブロックを候補ブロックとして追加する手段を含むことを特徴とする画像符号化装置。
  5.  請求項4において、
     前記候補ブロックとして追加するブロックは符号化対象ブロックと同じフレームにある参照可能なブロックであることを特徴とする画像符号化装置。
  6.  画像を符号化した符号化ストリームを復号する画像復号装置であって、
     画像を構成する復号対象ブロックについて前記符号化ストリームから得られる符号化モードの情報に従って該ブロックの予測ベクトルを、前記復号対象ブロックの周囲のブロックの動きベクトルから生成し、該予測ベクトルと前記符号化ストリームから得られる差分ベクトルとを用いて、該復号対象ブロックの動きベクトルを復元する適応PMV選択復号部と、
     前記復号対象ブロックの動きベクトルと参照画像を用いて予測画像を合成する動き予測合成部とを備え、
     前記適応PMV選択復号部は、用いる候補ブロックの数、位置を変化させるか、または用いる候補ブロックの動きベクトルをゼロベクトルとする第2手段を有することを特徴とする画像復号装置。
  7.  請求項6において、
     前記第2手段は、
     前記復号対象ブロックと同じフレームにある候補ブロックが参照不可の場合に、候補ブロックの動きベクトルをゼロベクトルとする手段、
     前記復号対象ブロックと同じフレームにある候補ブロックが動きベクトルを持たない場合に、該ブロックを候補ブロックから除外する手段、および
     前記復号対象ブロックの動きベクトルが参照する参照フレーム番号と、前記復号対象ブロックと同じフレームにある候補ブロックの動きベクトルの参照フレーム番号が異なる場合には、前記ブロックを候補ブロックから除外する手段のいずれかを含むことを特徴とする画像復号装置。
  8.  請求項6において、
     前記第2手段は、
     復号対象ブロックとは異なるフレームにある候補ブロックが動きベクトルを持たない場合、
     復号対象ブロックとは異なるフレームにある候補ブロックの動きベクトルが参照する参照フレーム番号と復号対象ブロックの動きベクトルが参照する参照フレーム番号が異なる場合、または
     復号ブロックまたはこの復号対象ブロックとは異なるフレームにある候補ブロックが双方向予測モードの場合、
     のいずれかの場合に、前記ブロックを候補ブロックから除外する手段を含むことを特徴とする画像復号装置。
  9.  請求項6において、
     前記第2手段は、
     前記候補ブロックが参照できないか、または前記候補ブロックが動きベクトルを持たない場合に、前記ブロックを候補ブロックから除外するとともに、別のブロックを候補ブロックとして追加する手段を含むことを特徴とする画像復号装置。
  10.  請求項9において、
     前記候補ブロックとして追加するブロックは復号対象ブロックと同じフレームにある参照可能なブロックであることを特徴とする画像復号装置。
  11.  入力画像を符号化する画像符号化方法であって、
     前記入力画像を分割した符号化対象ブロックと参照画像を用いて動き探索を行う動き探索ステップと、
     前記符号化対象ブロックの動きベクトルを、前記符号化対象ブロックの周囲にあるブロックの一部または全てからなる候補ブロックの動きベクトルから予測動きベクトルを生成する適応PMV選択ステップと、
     符号化ブロックの動きベクトルと予測動きベクトルから差分ベクトルを計算し符号化するPMV予測符号化ステップとを備え、
     前記適応PMV選択ステップは、候補ブロックの数、位置を変化させる第1ステップを含むか、または前記適応PMV選択ステップは、候補ブロックの動きベクトルをゼロベクトルとする第2ステップを含むことを特徴とする画像符号化方法。
  12.  請求項11において、
     前記第2ステップが、符号化対象ブロックと同じフレームにある候補ブロックが参照不可の場合に、候補ブロックの動きベクトルをゼロベクトルとするステップを含むか、
     前記第1ステップが、
     前記符号化対象ブロックと同じフレームにある候補ブロックが動きベクトルを持たない場合に、該ブロックを候補ブロックから除外するステップを含むか、
     符号化対象ブロックの動きベクトルが参照する参照フレーム番号と、前記符号化対象ブロックと同じフレームにある候補ブロックの動きベクトルの参照フレーム番号が異なる場合には、前記ブロックを候補ブロックから除外するステップを含むことを特徴とする画像符号化方法。
  13.  請求項11において、
     前記第2ステップが、前記符号化対象ブロックとは異なるフレームにある候補ブロックが動きベクトルを持たない場合に、候補ブロックの動きベクトルをゼロベクトルとするステップを含むか、
     前記第1ステップが、
     符号化対象ブロックとは異なるフレームにある候補ブロックの動きベクトルが参照する参照フレーム番号と符号化対象ブロックの動きベクトルが参照する参照フレーム番号が異なる場合、または符号化ブロックまたはこの符号化対象ブロックとは異なるフレームにある候補ブロックが双方向予測モードの場合、のいずれかの場合に、前記ブロックを候補ブロックから除外するステップを含むことを特徴とする画像符号化方法。
  14.  請求項11において、
     前記第1ステップは、
     前記候補ブロックが参照できないか、または前記候補ブロックが動きベクトルを持たない場合に、前記ブロックを候補ブロックから除外するとともに、別のブロックを候補ブロックとして追加するステップを含むことを特徴とする画像符号化方法。
  15.  請求項14において、
     前記候補ブロックとして追加するブロックは符号化対象ブロックと同じフレームにある参照可能なブロックであることを特徴とする画像符号化方法。
  16.  画像を符号化した符号化ストリームを復号する画像復号方法であって、
     画像を構成する復号対象ブロックについて前記符号化ストリームから得られる符号化モードの情報に従って該ブロックの予測ベクトルを、前記復号対象ブロックの周囲のブロックの動きベクトルから生成し、該予測ベクトルと前記符号化ストリームから得られる差分ベクトルとを用いて、該復号対象ブロックの動きベクトルを復元する適応PMV選択復号ステップと、
     前記復号対象ブロックの動きベクトルと参照画像を用いて予測画像を合成する動き予測合成ステップとを備え、
     前記適応PMV選択復号ステップは、候補ブロックの数、位置を変化させる第3ステップを含むか、または前記適応PMV選択復号ステップは、候補ブロックの動きベクトルをゼロベクトルとする第4ステップを含むことを特徴とする画像復号方法。
  17.  請求項16において、
     前記第4ステップが、前記復号対象ブロックと同じフレームにある候補ブロックが参照不可の場合に、候補ブロックの動きベクトルをゼロベクトルとするステップであるか、
     前記第3ステップが、
     前記復号対象ブロックと同じフレームにある候補ブロックが動きベクトルを持たない場合に、該ブロックを候補ブロックから除外するステップ、および
     前記復号対象ブロックの動きベクトルが参照する参照フレーム番号と、前記復号対象ブロックと同じフレームにある候補ブロックの動きベクトルの参照フレーム番号が異なる場合には、前記ブロックを候補ブロックから除外するステップであることを特徴とする画像復号装置。
  18.  請求項16において、
     前記第3のステップは、
     復号対象ブロックとは異なるフレームにある候補ブロックが動きベクトルを持たない場合、
     復号対象ブロックとは異なるフレームにある候補ブロックの動きベクトルが参照する参照フレーム番号と復号対象ブロックの動きベクトルが参照する参照フレーム番号が異なる場合、または
     復号ブロックまたはこの復号対象ブロックとは異なるフレームにある候補ブロックが双方向予測モードの場合、
     のいずれかの場合に、前記ブロックを候補ブロックから除外するステップを含むことを特徴とする画像復号装置。
  19.  請求項16において、
     前記第1ステップは、
     前記候補ブロックが参照できないか、または前記候補ブロックが動きベクトルを持たない場合に、前記ブロックを候補ブロックから除外するとともに、別のブロックを候補ブロックとして追加するステップを含むことを特徴とする画像復号方法。
  20.  請求項19において、
     前記候補ブロックとして追加するブロックは復号対象ブロックと同じフレームにある参照可能なブロックであることを特徴とする画像復号方法。
PCT/JP2012/000193 2011-01-18 2012-01-16 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置 WO2012098845A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US13/988,819 US9781415B2 (en) 2011-01-18 2012-01-16 Image encoding method, image encoding device, image decoding method, and image decoding device
US15/653,793 US10271065B2 (en) 2011-01-18 2017-07-19 Image encoding method, image encoding device, image decoding method, and image decoding device
US16/291,234 US10743020B2 (en) 2011-01-18 2019-03-04 Image encoding method, image encoding device, image decoding method, and image decoding device
US16/920,871 US11290741B2 (en) 2011-01-18 2020-07-06 Image encoding method, image encoding device, image decoding method, and image decoding device
US17/672,817 US11758179B2 (en) 2011-01-18 2022-02-16 Image encoding method, image encoding device, image decoding method, and image decoding device
US18/229,263 US20230388537A1 (en) 2011-01-18 2023-08-02 Image encoding method, image encoding device, image decoding method, and image decoding device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-007429 2011-01-18
JP2011007429A JP2012151576A (ja) 2011-01-18 2011-01-18 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13/988,819 A-371-Of-International US9781415B2 (en) 2011-01-18 2012-01-16 Image encoding method, image encoding device, image decoding method, and image decoding device
US15/653,793 Continuation US10271065B2 (en) 2011-01-18 2017-07-19 Image encoding method, image encoding device, image decoding method, and image decoding device

Publications (1)

Publication Number Publication Date
WO2012098845A1 true WO2012098845A1 (ja) 2012-07-26

Family

ID=46515481

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/000193 WO2012098845A1 (ja) 2011-01-18 2012-01-16 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置

Country Status (3)

Country Link
US (6) US9781415B2 (ja)
JP (1) JP2012151576A (ja)
WO (1) WO2012098845A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014173092A1 (zh) * 2013-04-26 2014-10-30 华为技术有限公司 一种图像预测编码方法及图像编码器

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012151576A (ja) * 2011-01-18 2012-08-09 Hitachi Ltd 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置
US9319716B2 (en) 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
ES2754657T3 (es) 2011-06-27 2020-04-20 Samsung Electronics Co Ltd Codificación y decodificación de información de movimiento
US10129560B2 (en) 2013-07-18 2018-11-13 Lg Electronics Inc. Method and apparatus for processing video signal
CN104717510B (zh) * 2013-12-13 2018-08-17 华为技术有限公司 用于图像处理的方法和装置
FR3047379A1 (fr) * 2016-01-29 2017-08-04 Orange Procede de codage et decodage de donnees, dispositif de codage et decodage de donnees et programmes d'ordinateur correspondants
US10958928B2 (en) * 2018-04-10 2021-03-23 Qualcomm Incorporated Decoder-side motion vector derivation for video coding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007504760A (ja) * 2003-09-07 2007-03-01 マイクロソフト コーポレーション インターレース・ビデオおよびプログレッシブ・ビデオのマクロブロックおよび動き情報の符号化および復号における新機軸
JP2008211697A (ja) * 2007-02-28 2008-09-11 Sharp Corp 符号化装置及び復号装置
WO2009093672A1 (ja) * 2008-01-23 2009-07-30 Sony Corporation 符号化装置および方法、並びに復号装置および方法

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812197A (en) * 1995-05-08 1998-09-22 Thomson Consumer Electronics, Inc. System using data correlation for predictive encoding of video image data subject to luminance gradients and motion
JP3297293B2 (ja) * 1996-03-07 2002-07-02 三菱電機株式会社 動画像復号方法および動画像復号装置
US7978769B2 (en) * 2003-06-30 2011-07-12 Ntt Docomo, Inc. Method and apparatus for coding motion information
EP1646243B1 (en) * 2004-09-30 2009-06-24 Kabushiki Kaisha Toshiba Information processing apparatus and program for use in the same
US8913660B2 (en) * 2005-04-14 2014-12-16 Fastvdo, Llc Device and method for fast block-matching motion estimation in video encoders
KR100770704B1 (ko) * 2005-08-04 2007-10-29 삼성전자주식회사 픽쳐 스킵 방법 및 장치
US8005308B2 (en) * 2005-09-16 2011-08-23 Sony Corporation Adaptive motion estimation for temporal prediction filter over irregular motion vector samples
US7894522B2 (en) * 2005-09-16 2011-02-22 Sony Corporation Classified filtering for temporal prediction
US7894527B2 (en) * 2005-09-16 2011-02-22 Sony Corporation Multi-stage linked process for adaptive motion vector sampling in video compression
US7957466B2 (en) * 2005-09-16 2011-06-07 Sony Corporation Adaptive area of influence filter for moving object boundaries
US8059719B2 (en) * 2005-09-16 2011-11-15 Sony Corporation Adaptive area of influence filter
US7596243B2 (en) * 2005-09-16 2009-09-29 Sony Corporation Extracting a moving object boundary
JP5018074B2 (ja) * 2006-12-22 2012-09-05 富士通セミコンダクター株式会社 メモリ装置,メモリコントローラ及びメモリシステム
JP2008167061A (ja) * 2006-12-27 2008-07-17 Toshiba Corp 符号化装置及び符号化方法
KR101353301B1 (ko) * 2008-04-11 2014-01-21 에스케이 텔레콤주식회사 인트라 예측 모드 결정 방법 및 그 장치와 이를 이용한영상 부호화/복호화 방법 및 그 장치
KR101361005B1 (ko) * 2008-06-24 2014-02-13 에스케이 텔레콤주식회사 인트라 예측 방법 및 장치와 그를 이용한 영상부호화/복호화 방법 및 장치
JP2010016453A (ja) * 2008-07-01 2010-01-21 Sony Corp 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
JP5166156B2 (ja) * 2008-07-25 2013-03-21 株式会社東芝 解像度変換装置、方法およびプログラム
US20110176741A1 (en) * 2008-09-24 2011-07-21 Kazushi Sato Image processing apparatus and image processing method
CN102160384A (zh) * 2008-09-24 2011-08-17 索尼公司 图像处理设备和方法
JP5422168B2 (ja) * 2008-09-29 2014-02-19 株式会社日立製作所 動画像符号化方法および動画像復号化方法
CN102239693B (zh) * 2008-12-03 2013-12-18 株式会社日立制作所 运动图像解码方法和运动图像编码方法
US20100220215A1 (en) * 2009-01-12 2010-09-02 Jorge Rubinstein Video acquisition and processing systems
JP2011082683A (ja) * 2009-10-05 2011-04-21 Sony Corp 画像処理装置、画像処理方法、及び、プログラム
KR101611437B1 (ko) * 2009-10-28 2016-04-26 삼성전자주식회사 복수의 프레임을 참조하여 영상을 부호화, 복호화하는 방법 및 장치
JP5321439B2 (ja) * 2009-12-15 2013-10-23 株式会社Jvcケンウッド 画像符号化装置、画像復号化装置、画像符号化方法、及び、画像復号化方法
US9467705B2 (en) * 2009-12-30 2016-10-11 Ariscale Inc. Video encoding apparatus, video decoding apparatus, and video decoding method for performing intra-prediction based on directionality of neighboring block
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
JP5368631B2 (ja) * 2010-04-08 2013-12-18 株式会社東芝 画像符号化方法、装置、及びプログラム
WO2012008037A1 (ja) * 2010-07-15 2012-01-19 富士通株式会社 動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法
US8344917B2 (en) * 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
US9313514B2 (en) * 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
JP2012151576A (ja) * 2011-01-18 2012-08-09 Hitachi Ltd 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007504760A (ja) * 2003-09-07 2007-03-01 マイクロソフト コーポレーション インターレース・ビデオおよびプログレッシブ・ビデオのマクロブロックおよび動き情報の符号化および復号における新機軸
JP2008211697A (ja) * 2007-02-28 2008-09-11 Sharp Corp 符号化装置及び復号装置
WO2009093672A1 (ja) * 2008-01-23 2009-07-30 Sony Corporation 符号化装置および方法、並びに復号装置および方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FRANK BOSSEN ET AL.: "Simplified motion vector coding method", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-B094, 2ND MEETING, July 2010 (2010-07-01), GENEVA, CH, pages 1 - 5 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014173092A1 (zh) * 2013-04-26 2014-10-30 华为技术有限公司 一种图像预测编码方法及图像编码器

Also Published As

Publication number Publication date
US20130243097A1 (en) 2013-09-19
US9781415B2 (en) 2017-10-03
US11758179B2 (en) 2023-09-12
US20170318307A1 (en) 2017-11-02
US11290741B2 (en) 2022-03-29
US20220174311A1 (en) 2022-06-02
US20230388537A1 (en) 2023-11-30
US20190200035A1 (en) 2019-06-27
US10271065B2 (en) 2019-04-23
US10743020B2 (en) 2020-08-11
JP2012151576A (ja) 2012-08-09
US20200336759A1 (en) 2020-10-22

Similar Documents

Publication Publication Date Title
US11758179B2 (en) Image encoding method, image encoding device, image decoding method, and image decoding device
JP4542447B2 (ja) 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
KR101662139B1 (ko) 고효율 비디오 코딩을 위한 움직임 정보의 효율적인 저장
KR101833933B1 (ko) 동화상 예측 부호화 장치, 동화상 예측 부호화 방법, 동화상 예측 부호화 프로그램, 동화상 예측 복호 장치, 동화상 예측 복호 방법 및 동화상 예측 복호 프로그램
JP4527677B2 (ja) 動画像符号化方法、動画像符号化装置、動画像符号化プログラム
JP2002125236A (ja) 動きベクトル変換方法及び変換装置
KR20140029383A (ko) 화상 부호화 장치 및 화상 복호 장치
WO2010070818A1 (ja) 動画像符号化装置、動画像符号化方法、動画像復号化装置および動画像復号化方法
WO2006035584A1 (ja) 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
JP2009089332A (ja) 動き予測方法及び動き予測装置
JP5560009B2 (ja) 動画像符号化装置
CN113615173A (zh) 对仿射译码块进行光流预测修正的方法及装置
KR20240072202A (ko) 비디오 코딩 및 디코딩
JP6181242B2 (ja) 画像復号化方法
JP5946980B1 (ja) 画像復号化方法
JP5951915B2 (ja) 画像復号化方法
JP5911982B2 (ja) 画像復号化方法
JP5750191B2 (ja) 画像復号化方法
WO2012090425A1 (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
JP4561701B2 (ja) 動画像符号化装置
WO2024064422A1 (en) Method and apparatus for implicitly indicating motion vector predictor precision
CN115668934A (zh) 具有基于层间预测确定的运动信息的图像编码/解码方法和设备及发送比特流的方法
CN116325735A (zh) 用于针对参考帧进行自适应重新排序的方法和装置
JP2012257323A (ja) 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
JP2012138837A (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12736711

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 13988819

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12736711

Country of ref document: EP

Kind code of ref document: A1