WO2013175732A1 - 画像符号化装置、画像符号化方法、および集積回路 - Google Patents
画像符号化装置、画像符号化方法、および集積回路 Download PDFInfo
- Publication number
- WO2013175732A1 WO2013175732A1 PCT/JP2013/003090 JP2013003090W WO2013175732A1 WO 2013175732 A1 WO2013175732 A1 WO 2013175732A1 JP 2013003090 W JP2013003090 W JP 2013003090W WO 2013175732 A1 WO2013175732 A1 WO 2013175732A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- prediction
- prediction mode
- mode
- encoding
- modes
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
Definitions
- the present invention relates to an image encoding apparatus and an image encoding method for encoding an input image in units of blocks using in-plane prediction.
- in-plane prediction refers to prediction of an encoding target block based on pixel values of blocks located around the encoding target block in the same picture when the divided block in the picture is encoded.
- an image in-plane predicted image
- a difference between the predicted image and an original image of an actual encoding target block is encoded.
- H. is one of the image coding methods.
- H.C A new image encoding scheme that exceeds the encoding efficiency of the H.264 / AVC standard has been studied.
- the in-plane prediction by applying a prediction direction finer than that of the conventional (H.264 / AVC standard) (increasing the prediction mode), the encoding efficiency is greatly improved.
- H. In order to evaluate all the prediction modes that exceed the H.264 / AVC standard encoding method, the amount of computation is enormous. Therefore, when it is necessary to encode a moving image in real time, dedicated hardware is required. H. A circuit scale of 264 or more is required.
- the present invention has been made to solve the above-described problems, and its purpose is to improve the coding efficiency while suppressing the amount of calculation for determining the prediction mode of the in-plane prediction.
- An image encoding device or the like is provided.
- an image encoding device is an image encoding device that encodes an input image in units of blocks using intra prediction, and the intra prediction.
- a plurality of prediction modes depending on the prediction direction that can be used for the prediction mode some of the prediction modes are determined in advance, and the plurality of prediction modes are virtually grouped into three or more prediction mode candidate groups.
- the lowest coding cost among the three or more coarse prediction modes based on the coding cost of three or more coarse prediction modes, which is one prediction mode belonging to each of the three or more prediction mode candidate groups.
- an image encoding device or the like that can improve the encoding efficiency while suppressing the amount of calculation for determining the prediction mode of the in-plane prediction.
- FIG. It is a figure which shows the prediction direction of the prediction mode of the in-plane prediction in the block of 4 pixels x 4 pixels of H.264 / AVC standard.
- FIG. 1B is a diagram illustrating a relationship between a reference pixel used in each prediction mode and a prediction direction.
- FIG. It is a figure which shows the prediction direction of the prediction mode of the in-plane prediction in the block of 8 pixels x 8 pixels of H.264 / AVC standard.
- FIG. 2B is a diagram illustrating a relationship between a reference pixel used in each prediction mode and a prediction direction.
- FIG. It is a figure which shows the prediction direction of the prediction mode of the in-plane prediction in the block of 16 pixels x 16 pixels of H.264 / AVC standard.
- FIG. 3B is a diagram illustrating a relationship between a reference pixel used in each prediction mode and a prediction direction.
- FIG. 4A is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the related art.
- FIG. 4B is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the related art.
- FIG. 4C is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the related art.
- FIG. 5A is a diagram illustrating a prediction direction of a prediction mode of in-plane prediction in a 4 pixel ⁇ 4 pixel block of a new image encoding method.
- FIG. 5B is a diagram illustrating a relationship between a reference pixel used in each prediction mode and a prediction direction.
- FIG. 6A is a diagram illustrating a prediction direction of a prediction mode of in-plane prediction in a block of 8 pixels ⁇ 8 pixels of a new image encoding method.
- FIG. 6B is a diagram illustrating the relationship between the reference pixel used in each prediction mode and the prediction direction.
- FIG. 7A is a diagram illustrating a prediction direction of a prediction mode of in-plane prediction in a block of 16 pixels ⁇ 16 pixels of a new image encoding method.
- FIG. 7B is a diagram illustrating the relationship between the reference pixel used in each prediction mode and the prediction direction.
- FIG. 8 is a block diagram showing an example of the configuration of the image coding apparatus according to Embodiment 1.
- FIG. 9 is a block diagram illustrating an example of a configuration of the image encoding unit in the first embodiment.
- FIG. 10A is a block diagram illustrating an example of a detailed configuration of an in-plane prediction unit in the first embodiment.
- FIG. 10B is a diagram illustrating an example of a detailed configuration of the rough prediction mode determination unit.
- FIG. 11 is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the first embodiment.
- FIG. 12A is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the first embodiment.
- FIG. 12A is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the first embodiment.
- FIG. 12B is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the first embodiment.
- FIG. 12C is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the first embodiment.
- FIG. 12D is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the first embodiment.
- FIG. 12E is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the first embodiment.
- FIG. 12F is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the first embodiment.
- FIG. 13A is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the first embodiment.
- FIG. 13B is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the first embodiment.
- FIG. 13C is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the first embodiment.
- FIG. 14 is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the second embodiment.
- FIG. 15A is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the second embodiment.
- FIG. 15B is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the second embodiment.
- FIG. 15C is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the second embodiment.
- FIG. 16 is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the second embodiment.
- FIG. 17A is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the second embodiment.
- FIG. 17B is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the second embodiment.
- FIG. 17C is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the second embodiment.
- FIG. 17D is a diagram illustrating a processing flow for determining a prediction mode of in-plane prediction in the second embodiment.
- FIG. 18 is a block diagram showing an example of the configuration of the mode selection unit in the second embodiment.
- FIG. 19 is a block diagram showing an example of the configuration of an application example including the image encoding device of the present invention.
- the above Patent Document 1 discloses a technique for encoding by in-plane prediction.
- the above-mentioned Non-Patent Document 1 describes H.264, which is one of image encoding methods.
- H.264 / AVC standard for example, see Non-Patent Document 1
- a prediction mode for in-plane prediction is defined.
- a prediction image is generated using a prediction mode in which the encoding cost when the encoding target block is encoded is the lowest, and a difference from the original image of the encoding target block is calculated.
- H. A prediction mode and prediction direction of in-plane prediction in the H.264 / AVC standard will be described.
- FIG. FIG. 1B is a diagram illustrating a prediction direction of a prediction mode for in-plane prediction in a block of 4 pixels ⁇ 4 pixels of the H.264 / AVC standard
- FIG. 1B is a diagram illustrating a relationship between a reference pixel used in each prediction mode and the prediction direction. That is, H.I. In the H.264 / AVC standard, 8 prediction modes having the prediction directions shown in FIGS. 1A and 1B and a DC (average value) prediction mode are combined as 9 prediction modes for in-plane prediction in a 4 pixel ⁇ 4 pixel block. There are two prediction modes.
- FIG. FIG. 2B is a diagram illustrating a prediction direction of a prediction mode of in-plane prediction in a block of 8 pixels ⁇ 8 pixels of the H.264 / AVC standard
- FIG. 2B is a diagram illustrating a relationship between a reference pixel used in each prediction mode and the prediction direction. That is, H.I. In the H.264 / AVC standard, the prediction modes for the in-plane prediction in the block of 8 pixels ⁇ 8 pixels are, as in the block of 4 pixels ⁇ 4 pixels, eight prediction modes having the prediction directions shown in FIGS. 2A and 2B. There are nine prediction modes including DC (average value) prediction mode.
- DC average value
- FIG. 3B is a diagram illustrating a prediction direction of a prediction mode of in-plane prediction in a block of 16 pixels ⁇ 16 pixels of the H.264 / AVC standard
- FIG. 3B is a diagram illustrating a relationship between a reference pixel used in each prediction mode and the prediction direction. That is, H.I. In the H.264 / AVC standard, two prediction modes having prediction directions shown in FIGS. 3A and 3B, a DC (average value) prediction mode, and a Plane (plane) are used as prediction modes for in-plane prediction in a block of 16 pixels ⁇ 16 pixels. ) There are four prediction modes combined with the prediction mode.
- the prediction mode is determined by the processing flow shown in FIGS. 4A to 4C below.
- FIGS. 4A to 4C are diagrams showing a processing flow for determining the prediction mode of the in-plane prediction in the prior art.
- FIG. 4A shows H.264 using conventional techniques.
- 2 is a diagram illustrating an outline of a processing flow for determining a prediction mode of in-plane prediction in the H.264 / AVC standard.
- FIG. 4B is a flowchart showing details of the process of S10 shown in FIG. 4A.
- FIG. 4C is a flowchart showing details of the processing of S20 shown in FIG. 4A.
- the encoding cost of the prediction mode is sequentially calculated from the prediction mode 0 to the prediction mode 8. That is, first, the encoding cost of the prediction mode 0 is calculated in S101, and then the encoding cost of the prediction mode 1 is calculated in S102. Subsequently, the encoding cost of the prediction mode 2 is calculated in S103, and the encoding cost of the prediction mode 3 is calculated in S104. Subsequently, the encoding cost of the prediction mode 4 is calculated in S105, and the encoding cost of the prediction mode 5 is calculated in S106. Subsequently, the encoding cost of the prediction mode 6 is calculated in S107, and the encoding cost of the prediction mode 7 is calculated in S108. In S109, the encoding cost of the prediction mode 8 is calculated.
- the prediction mode having the smallest coding cost (hereinafter also referred to as BestMode) among the calculated coding costs is used as the prediction mode used in the in-plane prediction. Is determined.
- BestMode is not in prediction mode 0 (No in S201)
- BestMode is the prediction mode 1 (Yes in S203)
- the prediction mode used in the in-plane prediction is set to 1 (S204), and the mode determination is terminated.
- BestMode is not prediction mode 1 (No in S203)
- BestMode is the prediction mode 2 (Yes in S205)
- the prediction mode used in the in-plane prediction is set to 2 (S206), and the mode determination is terminated.
- the BestMode is not the prediction mode 2 (No in S205) If the BestMode is not the prediction mode 2 (No in S205), it is determined whether the BestMode is the prediction mode 3 in S207. When BestMode is the prediction mode 3 (Yes in S207), the prediction mode used in the in-plane prediction is set to 3 (S208), and the mode determination is terminated.
- BestMode is not prediction mode 4 (No in S209), it is determined in S211 whether BestMode is prediction mode 5.
- BestMode is the prediction mode 5 (Yes in S211)
- the prediction mode used in the in-plane prediction is set to 5 (S212), and the mode determination is terminated.
- the Best Mode is not the prediction mode 6 (No in S213), it is determined whether the Best Mode is the prediction mode 7 in S215. If BestMode is the prediction mode 7 (Yes in S215), the prediction mode used in the in-plane prediction is set to 7 (S216), and the mode determination is terminated.
- FIG. 5A is a diagram illustrating a prediction direction of a prediction mode of intra prediction in a block of 4 pixels ⁇ 4 pixels of a new image encoding method
- FIG. 5B is a relationship between a reference pixel and a prediction direction used by each prediction mode.
- H.264 has a prediction mode more than twice the prediction direction, and a prediction mode that does not depend on the prediction direction is also H.264. It has more than specified in H.264.
- FIG. 6A is a diagram illustrating a prediction direction of a prediction mode of intra prediction in a block of 8 pixels ⁇ 8 pixels of a new image encoding method
- FIG. 6B is a relationship between a reference pixel and a prediction direction used by each prediction mode.
- FIG. In other words, in the new image coding method, as prediction modes for in-plane prediction in a block of 8 pixels ⁇ 8 pixels, 33 prediction modes having prediction directions shown in FIGS. 6A and 6B and a DC (average value) prediction mode are used. And 35 prediction modes including the Planar prediction mode are being studied.
- the new image encoding method is H.264.
- H.264 has a prediction mode that is about four times the prediction direction defined by H.264, and a prediction mode that does not depend on the prediction direction is also H.264. It has more than specified in H.264.
- FIG. 7A is a diagram illustrating a prediction direction of a prediction mode of intra prediction in a 16 pixel ⁇ 16 pixel block of a new image encoding method
- FIG. 7B is a relationship between a reference pixel and a prediction direction used by each prediction mode.
- the prediction mode of the in-plane prediction in the 16 pixel ⁇ 16 pixel block has 33 prediction directions similar to those of the 8 pixel ⁇ 8 pixel block shown in FIGS. 3A and 3B. 35 prediction modes including a prediction mode, a DC (average value) prediction mode, and a Planar prediction mode are being studied.
- the prediction mode that minimizes the encoding cost when encoding the block to be encoded is used.
- a predicted image is generated, and a difference from the original image of the encoding target block is calculated.
- one aspect of the present invention has been made in view of such problems, and image coding that can improve coding efficiency while suppressing the amount of calculation for determining a prediction mode for in-plane prediction.
- An object is to provide a device or the like.
- an image encoding device is an image encoding device that encodes an input image in units of blocks using in-plane prediction.
- some of the prediction modes determined in advance are virtually grouped into three or more prediction mode candidate groups.
- the coding cost is the lowest among the three or more rough prediction modes based on the coding cost of the three or more rough prediction modes that are one prediction mode belonging to each of the three or more prediction mode candidate groups.
- the encoding is performed by performing intra prediction using a mode selection unit that selects a prediction mode to be used in the encoding target block, and the prediction mode selected by the mode selection unit.
- An encoding unit that encodes the target block.
- a rough prediction is performed in a representative prediction direction, and the code that follows the prediction direction that is most suitable for encoding is selected from among the prediction modes that are closest to that direction, with the prediction direction that is most suitable for encoding being the base point.
- the prediction direction suitable for encoding is predicted with a finer granularity, the prediction direction most suitable for encoding is determined, and comparison is made with a prediction mode that does not depend on the prediction direction. Finally, the prediction mode most suitable for encoding is selected.
- in-plane prediction can be performed while suppressing the circuit scale or the amount of calculation.
- the image coding apparatus which concerns on the 2nd aspect of this invention is the 1st aspect.
- the said rough prediction mode determination part is the some prediction depending on the prediction direction which can be used for the said in-plane prediction.
- the modes some of the prediction modes determined in advance, and when the plurality of prediction modes are virtually grouped into three or more first layer prediction mode candidate groups, the three or more first layer predictions Based on the coding costs of three or more first coarse prediction modes that are one prediction mode belonging to each mode candidate group, one of the three or more first coarse prediction modes having the lowest coding cost
- a plurality of prediction modes belonging to a first hierarchical candidate group narrowed down by a first rough prediction mode determining unit that determines a first rough prediction mode and a first rough prediction mode determined by the first rough prediction mode determining unit.
- a second coarse prediction mode determination unit that determines the rough prediction mode determined by the prediction mode determination unit may be provided.
- the image coding apparatus which concerns on the 3rd aspect of this invention is a prediction mode in which the said mode selection part contains the rough prediction mode determined by the said rough prediction mode determination part in the 1st aspect or 2nd aspect. Based on the encoding costs of a plurality of prediction modes belonging to the candidate group, the prediction mode having the lowest encoding cost used in the encoding target block is selected from the plurality of prediction modes belonging to the prediction mode candidate group. Also good.
- the plurality of prediction modes belonging to the prediction mode candidate group may include the rough prediction.
- the mode and a plurality of prediction modes having a prediction direction close to the prediction direction of the rough prediction mode may be used.
- the image coding apparatus which concerns on the 5th aspect of this invention is a 1st aspect.
- the said mode selection part is the encoding cost of a predetermined prediction mode, and the prediction direction of the said predetermined prediction mode.
- a comparison unit that compares the first prediction mode that is a prediction direction adjacent to one side and the coding cost of the second prediction mode that is a prediction direction adjacent to the other side of the prediction direction of the predetermined prediction mode.
- the prediction mode is used as the prediction mode used in the encoding target block.
- the first prediction mode is set to the predetermined prediction mode.
- a selection unit that causes the comparison unit to perform comparison by transmitting to the comparison unit, and the selection unit is determined by the rough prediction mode determination unit before the comparison process of the comparison unit is started. By transmitting the rough prediction mode as the predetermined prediction mode to the comparison unit, the comparison unit may start comparison.
- the image encoding device is the image encoding apparatus according to any one of the first to fifth aspects, for example, wherein the mode selection unit further includes the selected prediction mode and the prediction direction.
- the prediction mode with the lowest coding cost may be selected from the prediction modes that do not depend on.
- an image encoding device is an image encoding device that encodes an input image in units of blocks using in-plane prediction.
- any one prediction mode is determined as a rough prediction mode, and the rough prediction mode determination unit determines the prediction mode.
- a mode selection unit Based on the encoding cost of each of a plurality of prediction modes narrowed down by the coarse prediction mode, a mode selection unit that selects a prediction mode used in the encoding target block, and the prediction mode selected by the mode selection unit
- An encoding unit that encodes the target block by performing in-plane prediction, and the mode selection unit encodes a coding cost of a predetermined prediction mode.
- a first prediction mode that is a prediction direction adjacent to one side of the prediction direction of the predetermined prediction mode, and a second prediction mode that is a prediction direction adjacent to the other side of the prediction direction of the predetermined prediction mode A comparison unit for comparing with the encoding cost of the predetermined prediction mode, and when the encoding cost of the predetermined prediction mode is lower than the encoding cost of the first prediction mode and the second prediction mode Is selected as the prediction mode to be used in the encoding target block, and the first prediction mode is lower than the encoding cost of the predetermined prediction mode and the second prediction mode, the first prediction mode A selection unit that causes the comparison unit to perform comparison by transmitting the mode as a predetermined prediction mode to the comparison unit, and the selection unit performs the rough comparison before the comparison unit starts the comparison process.
- At least one prediction mode may be included or not included between the first prediction mode and the second prediction mode and the predetermined prediction mode.
- a recording medium recording medium such as a system, a method, an integrated circuit, a computer program or a computer-readable CD-ROM, and the system, method, integrated circuit, You may implement
- FIG. 8 is a block diagram illustrating an example of a configuration of the image encoding device 1 according to the first embodiment.
- the image encoding device 1 encodes an input image in units of blocks using at least in-plane prediction.
- the main storage memory 12 is a memory for storing data (for example, DRAM (Dynamic Random Access Memory) or the like).
- DRAM Dynamic Random Access Memory
- the control unit 11 includes a processor (not shown) such as a CPU (Central Processing Unit) and a memory control circuit (not shown).
- the processor of the control unit 11 controls the operation of the image encoding unit 13.
- the memory control circuit of the control unit 11 accesses data stored in the main memory 12. Data stored in the main memory 12 is stored in the main memory 12 only through the memory control circuit, not through the processor of the control unit 11.
- the data read from the main memory 30 is read from the main memory 12 only through the memory control circuit, not through the processor of the control unit 11.
- the processor of the control unit 11 that controls the operation of the image encoding unit 13 is collectively referred to as the control unit 11.
- the image encoding unit 13 is an example of an encoding unit, and encodes a block to be encoded by performing intra prediction using a prediction mode selected by a mode selection unit 142 described later. Specifically, the image encoding unit 13 receives pictures constituting a moving image, and encodes the received moving image according to a predetermined image encoding method.
- the image encoding method is not limited to the above-described new image encoding method as long as it is an encoding method that performs in-plane prediction, and may be an encoding method that complies with any standard.
- the n (natural number) -th picture P is also referred to as a picture P [n]. Then, it can be expressed that a moving image is composed of pictures P [n], P [n + 1], P [n + 2],.
- the image encoding unit 13 receives a moving picture picture P every 1/60 seconds, for example. Specifically, for example, the image encoding unit 13 sequentially receives the pictures P [n], P [n + 1], P [n + 2],... In this order every 1/60 seconds.
- the unit of moving images received by the image encoding unit is not limited to a picture unit, and may be, for example, a slice unit, a macroblock unit, or a GOP unit.
- the image encoding unit 13 generates an encoded stream by encoding a plurality of pictures P constituting a moving image.
- each picture P is also simply referred to as a picture.
- each encoded stream is also referred to as a stream.
- FIG. 9 is a block diagram showing an example of the configuration of the image encoding unit 13 in the first embodiment.
- the image encoding unit 13 includes an in-plane prediction unit 14, an inter-plane prediction unit 15, a loop filter 16, switches 17 and 18, an adder 19, a frequency conversion unit 20, a quantum A conversion unit 21, an inverse quantization unit 22, an inverse frequency conversion unit 23, and a stream generation unit 24.
- the processing of each unit is, for example, H.264. Since the processing conforms to the H.264 / AVC standard and the MPEG-2 standard, detailed description will not be given. A brief description is given below.
- the in-plane prediction unit 14 and the inter-plane prediction unit 15 include a subtraction function, and generates a difference image using two types of images.
- the intra prediction unit 14 has a function of performing intra prediction encoding (intra prediction encoding).
- the inter-plane prediction unit 15 has a function of performing motion detection and motion compensation.
- the in-plane prediction unit 14 and the inter-plane prediction unit 15 receive a picture P of a moving image.
- the in-plane prediction unit 14 and the inter-plane prediction unit 15 receive the above-described moving picture picture P.
- the in-plane prediction unit 14 and the inter-plane prediction unit 15 receive a picture every 1/60 seconds.
- the in-plane prediction unit 14 and the inter-plane prediction unit 15 perform, for example, pictures P [n], P [n + 1], P [n + 2],. Receive sequentially. That is, the in-plane prediction unit 14 and the inter-plane prediction unit 15 receive a picture every 1/60 seconds.
- the in-plane prediction unit 14 and the inter-plane prediction unit 15 receive the picture P, the in-plane prediction unit 14 and the inter-plane prediction unit 15 generate a difference image that is a difference between the picture P and the predicted image, and send the difference image to the frequency conversion unit 20. Send.
- the predicted image is a predicted image to be described later.
- the inter-plane prediction unit 15 obtains a predicted image using a plurality of reference images stored in the main memory 12 by motion detection and motion compensation.
- the inter-plane prediction process is a well-known process and will not be described in detail.
- the inter-plane prediction unit 15 transmits the predicted image to the switch 18 every time a predicted image is obtained.
- the in-plane prediction unit 14 each time the in-plane prediction unit 14 receives the picture P, the in-plane prediction unit 14 generates a difference image that is a difference between the picture P and the predicted image, and transmits the difference image to the switch 18.
- the in-plane prediction unit 14 obtains a predicted image by performing in-plane prediction coding (intra-screen prediction coding) using the reconstructed image.
- in-plane prediction coding intra-screen prediction coding
- the in-plane predictive coding process will not be described here because it will be described in detail later.
- the frequency converter 20 has a function of performing, for example, discrete cosine transform (hereinafter referred to as DCT). Specifically, every time the frequency conversion unit 20 receives a difference image, the frequency conversion unit 20 performs frequency conversion on the difference image in units of blocks to obtain a coefficient group corresponding to each block. This coefficient group is composed of a plurality of coefficients. And the frequency conversion part 20 transmits the said coefficient group to the quantization part 21, whenever the coefficient group corresponding to a difference image is obtained.
- DCT discrete cosine transform
- the quantization unit 21 has a function of performing quantization. Specifically, every time the quantization unit 21 receives a coefficient group corresponding to the difference image, the quantization unit 21 obtains quantized data by performing quantization on the coefficient group. Each time the quantizing unit 21 obtains quantized data corresponding to the difference image, the quantizing unit 21 transmits the quantized data to the stream generating unit 24 and the inverse quantizing unit 22.
- the inverse quantization unit 22 has a function of performing inverse quantization. Specifically, every time the inverse quantization unit 22 receives the quantized data, the inverse quantization unit 22 performs inverse quantization on the quantized data to obtain a coefficient group corresponding to the difference image. obtain. Each time the inverse quantization unit 22 obtains a coefficient group corresponding to the difference image, the inverse quantization unit 22 transmits the coefficient group to the inverse frequency transform unit 23.
- the reverse frequency conversion unit 23 has a function of performing, for example, reverse DCT. Specifically, every time the coefficient group corresponding to the difference image is received, the inverse frequency conversion unit 23 performs an inverse frequency conversion on the coefficient group to obtain a difference image. The inverse frequency conversion unit 23 transmits the difference image to the adder 19 every time a difference image is obtained.
- the adder 19 has a function of adding two types of images. Specifically, the adder 19 obtains a reconstructed image by adding all the difference images and a prediction image described later every time it receives all the difference images. Each time the adder 19 obtains a reconstructed image, the adder 19 transmits the reconstructed image to the loop filter 16 and stores the reconstructed image in the main memory 12.
- the loop filter 16 has a function of performing processing such as a deblocking filter. Specifically, every time the reconstructed image is received, the loop filter 16 performs a deblocking filter process on the reconstructed image.
- the deblocking filter process is a well-known process and will not be described in detail. Then, the loop filter 16 stores the reconstructed image that has been subjected to the processing such as the deblocking filter in the main memory 12 as a reference image.
- the switch 17 transmits an image received from the outside to the in-plane prediction unit 14 or the inter-plane prediction unit 15 according to an instruction from the control unit 11 or according to the state of the image encoding process.
- the switch 18 selects either one of in-plane prediction or two types of prediction between planes according to an instruction from the control unit or according to the state of the image encoding process, and transmits it to the frequency conversion unit 20. More specifically, the switch 18 transmits one of the difference images received according to the instruction from the control unit 11 or according to the state of the encoding process to the frequency conversion unit 20. Further, the switch 18 transmits to the adder 19 one of the predicted images received according to the instruction from the control unit 11 or according to the state of the encoding process.
- the stream generation unit 24 receives each quantized data corresponding to one picture P generated by repeating the processing for the picture P by each unit of the image encoding unit 13.
- main memory 12 has been described as being configured outside the image encoding unit 13, it is not limited thereto.
- the main memory 12 may be provided in the image encoding unit 13.
- FIG. 10A is a block diagram illustrating an example of a detailed configuration of the in-plane prediction unit 14 in the first embodiment.
- the in-plane prediction unit 14 includes a rough prediction mode determination unit 141, a mode selection unit 142, and a cost calculation unit 143.
- the cost calculation unit 143 calculates an encoding cost when the encoding target block is encoded in at least one prediction mode among a plurality of prediction modes used for in-plane prediction.
- the rough prediction mode determination unit 141 is a part of the prediction modes determined in advance among a plurality of prediction modes depending on the prediction direction that can be used for the in-plane prediction.
- One coarse prediction mode with the lowest coding cost is determined.
- a plurality of coarse prediction modes are prediction directions. Are prediction modes 7, 1, 4, 2 and 10 at both ends and a middle point, which are typical prediction directions, among the plurality of prediction modes depending on.
- the rough prediction mode determination unit 141 determines one rough prediction mode from the plurality of rough prediction modes.
- the plurality of prediction modes shown in FIGS. 5A and 5B are prediction mode candidate groups including prediction modes 7, 14, 6, 13, and 1, and prediction mode candidates including prediction modes 1, 12, 5, 11, and 4.
- a prediction mode candidate group including prediction modes 4, 15, 8, 16, and 2 and a prediction mode candidate group including prediction modes 2, 17, 9, 18, and 10 are virtually grouped.
- the prediction modes 7 at both ends and the middle point, which are typical prediction directions, are one prediction mode of a prediction mode candidate group including the prediction modes 7, 14, 6, 13, and 1.
- the mode selection unit 142 selects a prediction mode to be used in the encoding target block based on a plurality of prediction modes belonging to the prediction mode candidate group narrowed down by the rough prediction mode determined by the rough prediction mode determination unit 141. For example, the mode selection unit 142, based on the coding costs of a plurality of prediction modes belonging to the prediction mode candidate group including the rough prediction mode determined by the rough prediction mode determination unit 141, a plurality of predictions belonging to the prediction mode candidate group. From the modes, the prediction mode used in the encoding target block is selected.
- the plurality of prediction modes belonging to the prediction mode candidate group includes a rough prediction mode and a plurality of prediction modes whose prediction directions are close to the prediction direction of the rough prediction mode. More specifically, the mode selection unit 142 determines the prediction mode candidate group based on the encoding costs of a plurality of prediction modes belonging to the prediction mode candidate group including the coarse prediction mode determined by the rough prediction mode determination unit 141. The prediction mode with the lowest encoding cost is selected as the prediction mode used in the encoding target block from among the plurality of prediction modes belonging to.
- a plurality of prediction modes to be selected by the mode selection unit 142 are the prediction mode candidate groups narrowed down (determined) by the rough prediction mode determination unit 141. Multiple prediction modes to which it belongs. That is, when, for example, the prediction mode 7 is determined as one rough prediction mode by the rough prediction mode determination unit 141, a plurality of prediction modes 7, 14, 6, 13, and 1 including the prediction mode 7 (determined A plurality of prediction modes belonging to a prediction mode candidate group including the prediction mode) is narrowed down. And the mode selection part 142 selects the prediction mode with the lowest encoding cost from these several prediction modes (prediction mode 7, 14, 6, 13 and 1) as a prediction mode used with an encoding object block. .
- the mode selection unit 142 further selects the prediction mode with the lowest coding cost among the prediction mode selected as described above and the prediction mode independent of the prediction direction.
- the mode selection unit 142 further does not depend on the prediction mode selected as described above from all prediction modes that depend on the prediction direction, and on the prediction direction.
- the prediction mode with the lowest encoding cost is selected from all the prediction modes, and the selected prediction mode is set as the prediction mode used in the encoding target block.
- the in-plane prediction unit 14 in the present embodiment performs rough prediction (restriction of the prediction direction) in a representative direction when using more prediction directions in the in-plane prediction, and narrowed prediction.
- a prediction direction most suitable for encoding is determined by performing prediction in a plurality of prediction modes (fine granularity) based on the direction.
- the in-plane prediction unit 14 further compares the prediction mode not depending on the prediction direction, and finally selects the prediction mode most suitable for encoding.
- rough prediction in a typical direction is not limited to being performed once as described above. If the number of in-plane prediction modes is large and the amount of calculation for determining the prediction mode for in-plane prediction is still large in the first narrowing-down, it may be further narrowed down.
- the configuration of the rough prediction mode determination unit 141 in that case will be described as FIG. 10B.
- FIG. 10B shows an example of a detailed configuration of the rough prediction mode determination unit 141.
- the rough prediction mode determination unit 141 includes a first rough prediction mode determination unit 1411 and a second rough prediction mode determination unit 1412.
- the first coarse prediction mode determination unit 1411 is a part of prediction modes determined in advance among a plurality of prediction modes depending on a prediction direction that can be used for in-plane prediction, and the plurality of prediction modes are determined. Coding of three or more first coarse prediction modes that are one prediction mode belonging to each of the three or more first layer prediction mode candidate groups when virtually grouped into three or more first layer prediction mode candidate groups Based on the cost, one first coarse prediction mode with the lowest coding cost is determined from among three or more first coarse prediction modes.
- the second coarse prediction mode determination unit 1412 is a partial prediction mode among the plurality of prediction modes belonging to the first hierarchical candidate group narrowed down by the first coarse prediction mode determined by the first coarse prediction mode determination unit 1411.
- the coarse prediction mode determining unit 141 selects one second coarse prediction mode from among the multiple second coarse prediction modes based on the encoding cost of each of the plurality of second coarse prediction modes that are modes. The prediction mode is determined.
- the mode selection unit 142 determines the plurality of predictions based on the encoding costs of the plurality of prediction modes belonging to the prediction mode candidate group including the second rough prediction mode determined by the second rough prediction mode determination unit 1412. From the modes, the prediction mode used in the encoding target block is selected.
- the rough prediction mode determination unit 141 may operate only the first rough prediction mode determination unit 1411 when it is determined that rough prediction (restriction of the prediction direction) in a representative direction is sufficient in one step. Then, the first coarse prediction mode determined by the first coarse prediction mode determination unit 1411 may be determined as the second coarse prediction mode as it is by the second rough prediction mode determination unit 1412.
- the rough prediction mode determination unit 141 is not limited to two-stage narrowing (two layers) when the number of in-plane prediction modes is large. Furthermore, it goes without saying that only the necessary steps (number of hierarchies) may be narrowed down.
- the first embodiment will be described as an example in which the rough prediction mode determination unit 141 narrows down one step (one layer).
- Example 1 11, FIG. 12A to FIG. 12F, and FIG. 13A to FIG. 13C are diagrams showing a processing flow for determining the prediction mode of the in-plane prediction in the first embodiment.
- FIG. 11 is a diagram showing an outline of a processing flow for determining a prediction mode of in-plane prediction in the 4 pixel ⁇ 4 pixel block shown in FIGS. 5A and 5B.
- FIG. 12A is a flowchart showing details of the processing of S30 shown in FIG.
- FIG. 12B is a flowchart showing details of the process of S56 shown in FIG.
- FIG. 12C is a flowchart showing details of the process of S52 shown in FIG.
- FIG. 12D is a flowchart showing details of the process of S57 shown in FIG.
- FIG. 12E is a flowchart showing details of the process of S54 shown in FIG.
- FIG. 12F is a flowchart showing details of the process of S70 shown in FIG. FIG.
- FIG. 13A is a flowchart showing details of the process of S40 shown in FIG.
- FIG. 13B is a flowchart showing details of the process of S60 shown in FIG.
- FIG. 13C is a flowchart showing details of the processing of S80 shown in FIG.
- the in-plane prediction unit 14 determines the prediction mode in the processing flow shown in FIG. 11 in the image coding scheme that allows the use of the prediction mode shown in FIGS. 5A and 5B.
- the rough prediction mode determination unit 141 determines the prediction direction with a coarse granularity. That is, the rough prediction mode determination unit 141 calculates the coding cost of a plurality of rough prediction modes (S30). Specifically, the rough prediction mode determination unit 141 has prediction directions (prediction modes) of 1, 2, 4, 7, and 10 shown in FIG. 5A as some prediction modes (a plurality of rough prediction modes) determined in advance. The coding cost is calculated using the cost calculation unit 143 for each of the above.
- encoding costs for a plurality of coarse prediction modes are sequentially calculated. That is, first, the encoding cost of prediction mode 1 is calculated in S301, and then the encoding cost of prediction mode 2 is calculated in S302. Subsequently, the encoding cost of the prediction mode 4 is calculated in S303, and the encoding cost of the prediction mode 7 is calculated in S304. Subsequently, the encoding cost of the prediction mode 10 is calculated in S305.
- the rough prediction mode determination unit 141 performs a mode determination process for narrowing down the prediction direction including the prediction mode with the highest coding efficiency among the plurality of rough prediction modes calculated in S30 (S40).
- the rough prediction mode determination unit 141 determines one rough prediction mode from among the plurality of rough prediction modes based on the encoding costs of the plurality of rough prediction modes calculated in S30, thereby changing the mode.
- a mode determination process for narrowing down to a plurality of prediction modes used in the selection unit 142 is performed.
- the rough prediction mode determination unit 141 determines (determines) that the encoding cost of the prediction mode 7 is the lowest among the plurality of rough prediction modes (prediction modes 1, 2, 4, 7, 10). Narrows (determines) the section between the prediction mode 7 and the prediction mode 1 as mode A indicating a region (prediction mode candidate group) including a plurality of prediction modes used by the mode selection unit 142.
- the rough prediction mode determination unit 141 selects the section between the prediction mode 2 and the prediction mode 10 as the mode. The mode is narrowed down to mode B indicating a region (prediction mode candidate group) including a plurality of prediction modes used in the selection unit 142.
- the rough prediction mode determination unit 141 determines that the encoding cost of the prediction mode 4 is the lowest among the plurality of rough prediction modes, the rough prediction mode (prediction mode 1) adjacent to the prediction mode 4 is used. And a mode C or a mode D indicating a region (prediction mode candidate group) including a plurality of prediction modes used by the mode selection unit 142 in a section between the prediction mode with the lower coding cost in the prediction mode 2). Refine as.
- the rough prediction mode (prediction mode 4) adjacent to the prediction mode 1 is used.
- Mode A or mode C indicating a region (prediction mode candidate group) including a plurality of prediction modes used by the mode selection unit 142 in a section between the prediction mode 7) and the coarse prediction mode with the lower coding cost.
- the rough prediction mode (prediction mode) adjacent to the prediction mode 2 is used.
- mode B or mode indicating a region (prediction mode candidate group) including a plurality of prediction modes used by the mode selection unit 142 in a section between the prediction mode with the lower coding cost in the prediction mode 10). Filter as D.
- the modes A to D are an example of a prediction mode candidate group in which, for example, three or more prediction mode candidate groups, that is, a plurality of prediction modes are virtually grouped into three or more.
- the coarse prediction mode having the lowest coding cost (BestMode) among the calculated coding costs of the plurality of coarse prediction modes is determined.
- the selection unit 142 narrows down to a plurality of prediction modes (prediction mode candidate group).
- BestMode is the prediction mode 7.
- a rough prediction mode (prediction mode 1) adjacent to the prediction mode 7 is determined (S402).
- mode A indicating a section including the prediction mode 7 and the prediction mode 1 is narrowed down as a section (prediction mode candidate group) including a plurality of prediction modes (to be selected) used by the mode selection unit 142 (S403).
- BestMode is not prediction mode 7 (No in S401)
- BestMode is the prediction mode 10 (Yes in S404)
- a rough prediction mode (prediction mode 2) adjacent to the prediction mode 10 is determined (S405).
- mode B which shows the section containing prediction mode 10 and prediction mode 2 is narrowed down as a section (prediction mode candidate group) including a plurality of prediction modes used by mode selection part 142 (S406).
- the BestMode is not the prediction mode 10 (No in S404), it is determined whether the BestMode is the prediction mode 4 in S407.
- BestMode is the prediction mode 4 (Yes in S404)
- in S408 it is determined which of the coarse prediction modes (prediction mode 1 and prediction mode 2) adjacent to the prediction mode 10 has the lower encoding cost. .
- the encoding mode is lower in the prediction mode 1 (Yes in S408)
- the rough prediction mode adjacent to the prediction mode 4 is determined as the prediction mode 1 (S409).
- mode C which shows the section containing prediction mode 4 and prediction mode 1 is narrowed down as a section (prediction mode candidate group) containing a plurality of prediction modes used by mode selection part 142 (S410).
- the encoding mode is lower in the prediction mode 2 (No in S408)
- the rough prediction mode adjacent to the prediction mode 4 is determined as the prediction mode 2 (S411).
- the mode D indicating the section including the prediction mode 4 and the prediction mode 2 is narrowed down as a section (prediction mode candidate group) including a plurality of prediction modes used by the mode selection unit 142 (S412).
- BestMode is not prediction mode 4 (No in S407), it is determined whether BestMode is prediction mode 1 in S413.
- BestMode is prediction mode 1 (Yes in S413), in S414, it is determined which of the coarse prediction modes (prediction mode 4 and prediction mode 7) adjacent to prediction mode 1 has the lower encoding cost. .
- the process proceeds to S402, and the rough prediction mode adjacent to the prediction mode 1 is determined as the prediction mode 7.
- the mode A indicating the section including the prediction mode 1 and the prediction mode 7 is narrowed down as a section (prediction mode candidate group) including a plurality of prediction modes used by the mode selection unit 142.
- the mode C indicating the section including the prediction mode 4 and the prediction mode 1 is narrowed down as a section (prediction mode candidate group) including a plurality of prediction modes used by the mode selection unit 142.
- step S412 the mode D indicating the section including the prediction mode 2 and the prediction mode 4 is narrowed down as a section (prediction mode candidate group) including a plurality of prediction modes used by the mode selection unit 142.
- the mode determination process for narrowing down to a plurality of prediction modes used by the mode selection unit 142 is performed.
- the mode selection unit 142 determines the mode determined (narrowed down) by the rough prediction mode determination unit 141, and codes of prediction modes (a plurality of prediction modes) included in the determined mode. Based on the encoding cost, a prediction mode used in the encoding target block is selected from among a plurality of prediction modes.
- the mode selection unit 142 determines whether or not the mode A is narrowed down (determined) by the rough prediction mode determination unit 141.
- the mode selection unit 142 uses the cost calculation unit 143 to predict a prediction mode 6 that is a plurality of prediction modes included in the mode A. , 13, and 14 are calculated (S52). Further, the mode selection unit 142 performs mode determination E for determining which is the most suitable prediction mode for encoding together with the encoding costs of the prediction modes 1 and 7 calculated in S30 (S60). Here, the details of the process of S52 will be described with reference to FIG. 12C.
- the cost calculation unit 143 sequentially calculates encoding costs for a plurality of prediction modes, as illustrated in FIG. 12C.
- the encoding cost of the prediction mode 6 is calculated in S521, and the encoding cost of the prediction mode 13 is calculated in S522. Subsequently, in S523, the encoding cost of the prediction mode 14 is calculated. And in order to perform mode determination E in S524, the said some prediction mode (prediction mode 6, 13, 14) is substituted to a variable.
- the mode selection unit 142 determines that the mode A is not determined by the rough prediction mode determination unit 141 (No in S51)
- the mode selection unit 142 determines that the mode B is determined by the rough prediction mode determination unit 141 in S53. Determine whether it was done.
- the mode selection unit 142 uses the cost calculation unit 143 to predict a prediction mode 9 that is a plurality of prediction modes included in the mode B. , 17, and 18 are calculated (S54). Further, the mode selection unit 142 performs mode determination E for determining which is the most suitable prediction mode for encoding together with the encoding costs of the prediction modes 2 and 10 calculated in S30 (S60). Details of the process of S54 will be described with reference to FIG. 12E. As shown in FIG. 12E, the cost calculation unit 143 sequentially calculates encoding costs for a plurality of prediction modes.
- the encoding cost of the prediction mode 9 is calculated in S541, and the encoding cost of the prediction mode 17 is calculated in S542. Subsequently, the encoding cost of the prediction mode 18 is calculated in S543. And in order to perform mode determination E in S544, the said some prediction mode (prediction mode 9, 17, 18) is substituted to a variable.
- the mode selection unit 142 determines that the mode B is not determined by the rough prediction mode determination unit 141 (No in S53)
- the mode selection unit 142 determines that the mode C is determined by the rough prediction mode determination unit 141 in S55. Determine whether it was done.
- the mode selection unit 142 uses the cost calculation unit 143 to predict a prediction mode 5 that is a plurality of prediction modes included in the mode C. , 11, and 12 are calculated (S56). Further, mode determination E for determining which is the most suitable prediction mode for encoding is performed together with the costs of the prediction modes 1 and 4 calculated in S30 (S60). Details of the process of S56 will be described with reference to FIG. 12B. As shown in FIG. 12B, the cost calculation unit 143 sequentially calculates encoding costs for a plurality of prediction modes.
- the encoding cost of the prediction mode 5 is calculated in S561, and the encoding cost of the prediction mode 11 is calculated in S562. Subsequently, the encoding cost of the prediction mode 12 is calculated in S563. And in order to perform mode determination E in S564, the said some prediction mode (prediction mode 5, 11, 12) is substituted to a variable.
- the mode selection unit 142 determines that the mode C is not determined by the rough prediction mode determination unit 141 (No in S55)
- the mode selection unit 142 determines that the mode D is determined by the rough prediction mode determination unit 141 in S57. It is determined that Next, using the cost calculation unit 143, encoding costs are calculated for prediction modes 8, 15, and 16 that are a plurality of prediction modes included in mode C (S57). Further, mode determination E for determining which is the most suitable prediction mode for encoding is performed together with the costs of the prediction modes 2 and 4 calculated in S30 (S60).
- S57 the details of the process of S57 will be described with reference to FIG. 12D. As illustrated in FIG.
- the cost calculation unit 143 sequentially calculates encoding costs for a plurality of prediction modes. That is, first, the encoding cost of the prediction mode 8 is calculated in S571, and the encoding cost of the prediction mode 15 is calculated in S572. Subsequently, the encoding cost of the prediction mode 16 is calculated in S573. And in order to perform mode determination E in S574, the said some prediction mode (prediction mode 8, 15, 16) is substituted to a variable.
- the mode selection unit 142 selects a prediction mode with the lowest encoding cost from a plurality of prediction modes based on the encoding cost.
- mode A is determined by the rough prediction mode determination unit 141
- a prediction mode 1
- b prediction mode 7
- c prediction mode 6
- d prediction mode 13
- e prediction mode 14.
- the mode selection unit 142 first determines whether BestMode is the prediction mode 1 in S601. When BestMode is prediction mode 1 (Yes in S601), prediction mode 1 which is the prediction mode with the lowest coding cost is selected (S602).
- the Best Mode is not the prediction mode 1 in S601 (No in S601)
- BestMode is the prediction mode 7 (Yes in S603)
- the mode selection unit 142 determines the mode determined (narrowed down) by the rough prediction mode determination unit 141, and based on the coding cost of the prediction mode (a plurality of prediction modes) included in the determined mode.
- the prediction mode used in the encoding target block is selected from the plurality of prediction modes.
- the mode selection unit 142 selects the prediction mode with the lowest coding cost from the prediction mode selected as described above and all prediction modes that do not depend on the prediction direction, and selects the selected prediction mode.
- the final prediction mode used in the encoding target block is used.
- the mode selection unit 142 uses the cost calculation unit 143 to calculate the coding cost of the prediction mode that does not depend on the prediction direction (S70), and the prediction mode selected in S60 (the prediction mode having the prediction direction).
- a mode determination F for determining a final prediction mode is performed in comparison with a coding cost of a prediction mode most suitable for intra-frame coding (S80).
- the cost calculation unit 143 sequentially calculates encoding costs for a plurality of prediction modes. That is, first, the encoding cost of the prediction mode 0 is calculated in S701, and the encoding cost of the prediction mode 3 is calculated in S702.
- step S801 the mode selection unit 142 determines whether BestMode is the prediction mode 0 among the prediction modes selected as described above and all prediction modes that do not depend on the prediction direction.
- BestMode is the prediction mode 0 (Yes in S801)
- the prediction mode 0 is selected as the final prediction mode used in the encoding target block (S802).
- the BestMode is not the prediction mode 0 in S801 (No in S801)
- the prediction mode 3 is selected as the final prediction mode used in the encoding target block (S804).
- the calculation amount necessary for calculating the coding cost for all the prediction modes shown in FIGS. 1A and 1B and the prediction mode shown in FIGS. 5A and 5B are considered to be optimal.
- the number of cost calculations required to narrow down the prediction mode that seems to be optimal from the prediction modes that are almost the same as the calculation amount required to determine the prediction mode and that depend on at least the prediction direction is the same.
- in-plane prediction can be performed while suppressing the circuit scale or the amount of calculation.
- FIGS. 13A to 13C, FIG. 14, FIG. 15A to FIG. 15C, FIG. 16 and FIG. 17A to FIG. 17D are diagrams showing a processing flow for determining a prediction mode of in-plane prediction in the second embodiment. It is.
- the second embodiment will be described as an example in which the rough prediction mode determination unit 141 performs two-stage (two-layer) narrowing down.
- FIG. 14 is a diagram showing an outline of a processing flow for determining a prediction mode of in-plane prediction in the block of 8 pixels ⁇ 8 pixels shown in FIGS. 6A and 6B. Elements similar to those in FIGS. 11, 12A to 12F, and 13A to 13C are denoted by the same reference numerals, and detailed description thereof is omitted.
- FIG. 15A is a flowchart showing details of the process of S61 shown in FIG.
- FIG. 15B is a flowchart showing details of the process of S63 shown in FIG.
- FIG. 15C is a flowchart showing details of the process of S81 shown in FIG.
- FIG. 16 is a flowchart showing details of the process of S62 shown in FIG. FIG.
- FIG. 17A is a flowchart showing details of the processing in S6211 shown in FIG.
- FIG. 17B is a flowchart showing details of the processing of S6214 shown in FIG.
- FIG. 17C is a flowchart showing details of the processing of S6216 shown in FIG.
- FIG. 17D is a flowchart showing details of the processing in S6217 shown in FIG.
- the in-plane prediction unit 14 performs prediction modes shown in FIG. 6A and FIG. 6B or FIG. 7A and FIG. H.264 has a prediction mode that is about four times the prediction direction defined by H.264, and a prediction mode that does not depend on the prediction direction is also H.264. In an image coding scheme that allows use of a prediction mode that is beyond that defined in H.264, the prediction mode is determined by the processing flow shown in FIG.
- the rough prediction mode determination unit 141 determines the prediction direction with a coarse granularity. That is, the first coarse prediction mode determination unit 1411 calculates the encoding cost of a plurality of coarse prediction modes (S30). Specifically, the first coarse prediction mode determination unit 1411 is shown in FIG. 6A (or FIG. 7A) as a part of the predetermined prediction modes (a plurality of first coarse prediction modes). The encoding cost is calculated for each of the 7, 10 prediction directions (prediction modes). Note that the specific processing here is as described with reference to FIG.
- the first coarse prediction mode determination unit 1411 performs a mode determination process for narrowing down the prediction direction including the prediction mode with the highest coding efficiency from among the plurality of first coarse prediction modes calculated in S30 ( S40).
- the first coarse prediction mode determination unit 1411 selects one first coarse prediction from a plurality of first coarse prediction modes based on the encoding costs of the plurality of first coarse prediction modes calculated in S30. By determining the mode, mode determination processing for narrowing down to a plurality of second prediction modes used in the second coarse prediction mode determination unit 1412 is performed. Note that the specific processing here is as described with reference to FIG.
- the modes A to D in the present embodiment are an example of a first layer prediction mode candidate group in which three or more first layer prediction mode candidate groups, that is, a plurality of prediction modes are virtually grouped into three or more. is there.
- the second rough prediction mode determination unit 1412 determines the mode determined (narrowed down) by the first rough prediction mode determination unit 1411, and includes the prediction modes (multiple modes) included in the determined mode.
- the second coarse prediction mode is further narrowed down (determined) based on the encoding cost of the second coarse prediction mode.
- the second rough prediction mode determination unit 1412 determines whether or not the mode A is narrowed down (determined) by the first rough prediction mode determination unit 1411.
- the second rough prediction mode determination unit 1412 uses the cost calculation unit 143 to determine a plurality of second prediction modes included in the mode A. Coding costs are calculated for prediction modes 6, 13, and 14 that are two prediction modes (S52). Then, the second coarse prediction mode determination unit 1412 performs mode determination E ′ for determining which is the prediction mode most suitable for encoding together with the encoding costs of the prediction modes 1 and 7 calculated in S30 ( S61). Note that the details of the process of S52 are as described with reference to FIG.
- the second coarse prediction mode determination unit 1412 determines that the mode A is not determined by the first rough prediction mode determination unit 1411 (No in S51), in S53, the second rough prediction mode determination unit 1412 It is determined whether or not mode B is determined by the 1 coarse prediction mode determination unit 1411.
- the second rough prediction mode determination unit 1412 uses the cost calculation unit 143 to determine a plurality of second prediction modes included in the mode B. Coding costs are calculated for prediction modes 9, 17, and 18 that are two prediction modes (S54). Then, the second coarse prediction mode determination unit 1412 performs mode determination E ′ for determining which is the prediction mode most suitable for encoding together with the encoding costs of the prediction modes 2 and 10 calculated in S30 ( S61).
- S54 the details of the processing of S54 are as described with reference to FIG.
- the mode selection unit 142 sets the first coarse prediction mode. It is determined whether or not the mode C is determined by the determination unit 1411.
- the second rough prediction mode determination unit 1412 uses the cost calculation unit 143 to determine a plurality of second prediction modes included in the mode C. Coding costs are calculated for prediction modes 5, 11, and 12, which are two prediction modes (S56). Then, the second coarse prediction mode determination unit 1412 performs mode determination E ′ for determining which is the prediction mode most suitable for encoding, together with the costs of the prediction modes 1 and 4 calculated in S30 (S61). .
- the details of the processing of S54 are as described with reference to FIG.
- the second coarse prediction mode determination unit 1412 determines that the mode C is not determined by the first rough prediction mode determination unit 1411 (No in S55), in S57, the second rough prediction mode determination unit 1412 It is determined that the mode D is determined by the 1 coarse prediction mode determination unit 1411.
- the second coarse prediction mode determination unit 1412 uses the cost calculation unit 143 to calculate encoding costs for prediction modes 8, 15, and 16 that are a plurality of second prediction modes included in mode C (S57). Then, the second coarse prediction mode determination unit 1412 performs mode determination E ′ for determining which is the prediction mode most suitable for encoding together with the costs of the prediction modes 2 and 4 calculated in S30 (S61). . Note that the details of the process of S57 are as described with reference to FIG.
- the second coarse prediction mode determination unit 1412 selects the lowest coding cost from the plurality of second prediction modes based on the coding cost. 2 Determine the prediction mode. This mode determination processing E ′ will be described more specifically with reference to FIG. 15A.
- the second coarse prediction mode determination unit 1412 determines the lowest encoding cost among the calculated encoding costs of the plurality of second coarse prediction modes. By determining the second coarse prediction mode of (BestMode), the mode selection unit 142 narrows down to a plurality of prediction modes.
- mode A is determined by the first rough prediction mode determination unit 141
- a prediction mode 1
- b prediction mode 7
- c prediction mode 6
- d prediction mode 13
- e prediction mode 14.
- the second coarse prediction mode determination unit 1412 determines whether BestMode is the prediction mode 7. When it is determined that BestMode is the prediction mode 7 (Yes in S6110), the second coarse prediction mode (prediction mode 14) adjacent to the prediction mode 7 is determined. The second coarse prediction mode determination unit 1412 uses the mode A ′ indicating the section including the prediction mode 7 and the prediction mode 14 in the section (prediction mode) including a plurality of prediction modes (to be selected) used by the mode selection unit 142. The candidate group is narrowed down (S6111).
- 2nd rough prediction mode determination part 1412 determines whether BestMode is the prediction mode 1 in S6112, when BestMode is not the prediction mode 7 (it is No at S6110).
- the second coarse prediction mode determination unit 1412 determines a second coarse prediction mode (prediction mode 13) adjacent to the prediction mode 1.
- the second coarse prediction mode determination unit 1412 narrows down the mode B ′ indicating the section including the prediction mode 1 and the prediction mode 13 as a section (prediction mode candidate group) including a plurality of prediction modes used by the mode selection unit 142. (S6113).
- 2nd rough prediction mode determination part 1412 determines whether BestMode is the prediction mode 6 in S6114, when BestMode is not the prediction mode 1 (it is No at S6112).
- the second coarse prediction mode determination unit 1412 further includes a coarse prediction mode (prediction mode 14 and prediction mode 13) adjacent to the prediction mode 6 in S6115. It is determined which is lower in coding cost.
- the second coarse prediction mode adjacent to the prediction mode 6 is determined as the prediction mode 13.
- the second coarse prediction mode determination unit 1412 narrows down the mode C ′ indicating the section including the prediction mode 6 and the prediction mode 13 as a section (prediction mode candidate group) including a plurality of prediction modes used by the mode selection unit 142. (S6116). On the other hand, when the encoding mode is lower in the prediction mode 14 (No in S6115), the second coarse prediction mode adjacent to the prediction mode 6 is determined as the prediction mode 14. The second coarse prediction mode determination unit 1412 narrows down the mode D ′ indicating a section including the prediction mode 6 and the prediction mode 14 as a section (prediction mode candidate group) including a plurality of prediction modes used by the mode selection unit 142. (S6117).
- second coarse prediction mode determination unit 1412 further includes second coarse prediction modes (prediction mode 1 and prediction mode 6) adjacent to prediction mode 13 in S6119. , Which is lower in coding cost.
- the process proceeds to S6113, and the second coarse prediction mode adjacent to the prediction mode 13 is determined as the prediction mode 1.
- the second coarse prediction mode determination unit 1412 includes a section (prediction mode candidate group) including a plurality of prediction modes in which the mode selection unit 142 uses mode B ′ indicating a section including the prediction mode 13 and the prediction mode 1. Refine as.
- the process proceeds to S6113, and the second coarse prediction mode adjacent to the prediction mode 13 is determined as the prediction mode 6. That is, the second coarse prediction mode determination unit 1412 includes a section (prediction mode candidate group) including a plurality of prediction modes used by the mode selection unit 142 using mode C ′ indicating a section including the prediction mode 13 and the prediction mode 6. Refine as.
- the second coarse prediction mode determination unit 1412 includes a section (prediction mode candidate group) including a plurality of prediction modes in which the mode selection unit 142 uses the mode D ′ indicating the section including the prediction mode 14 and the prediction mode 6. Refine as.
- the process proceeds to S6111, and the second coarse prediction mode adjacent to the prediction mode 14 is determined as the prediction mode 7. That is, the second coarse prediction mode determination unit 1412 includes a section (prediction mode candidate group) including a plurality of prediction modes used by the mode selection unit 142 using mode A ′ indicating a section including the prediction mode 14 and the prediction mode 7. Refine as.
- the mode determination E ′ process (S61) for narrowing down to a plurality of prediction modes used by the mode selection unit 142 is performed.
- the mode selection unit 142 determines the mode determined (narrowed down) by the second coarse prediction mode determination unit 1412, and based on the encoding cost of the prediction mode included in the determined mode, A prediction mode to be used in the encoding target block is selected from among a plurality of prediction modes.
- the mode selection unit 142 determines whether or not the mode A is narrowed down (determined) by the first rough prediction mode determination unit 1411 (S6210).
- the mode selection unit 142 determines that the mode A is determined by the first rough prediction mode determination unit 1411 (Yes in S6210), the mode selection unit 142 starts the process of the cost calculation A illustrated in FIG. 17A (S6211).
- the mode selection unit 142 determines whether or not the mode A ′ is determined by the second coarse prediction mode determination unit 1412 (S911).
- the mode selection unit 142 uses the cost calculation unit 143 to select a plurality of prediction modes included in the mode A ′.
- the encoding cost is calculated for a certain prediction mode 23 (S912).
- the mode selection part 142 is a mode which determines which is the prediction mode most suitable for an encoding together with the encoding cost of the predictions 1 and 13 which are the some prediction modes calculated by S30 and S52 (S913).
- the mode selection unit 142 determines that the mode A ′ has not been determined by the second rough prediction mode determination unit 1412 (No in S911), the mode selection unit 142 performs determination in S914. 142 determines whether or not the mode D ′ is determined by the second rough prediction mode determination unit 1412.
- the mode selection unit 142 uses the cost calculation unit 143 to perform a plurality of predictions included in the mode D ′.
- the encoding cost is calculated for the prediction mode 26 which is a mode (S915).
- the mode selection unit 142 determines which one is the most suitable encoding mode, together with the encoding costs of the second coarse prediction modes 7 and 14 calculated in S30 and S52 (S916).
- the mode selection unit 142 determines that the mode D ′ is not determined by the second rough prediction mode determination unit 1412 (No in S914), in S917, the mode selection unit 142 Then, it is determined whether or not the mode C ′ is determined by the second rough prediction mode determination unit 1412.
- the mode selection unit 142 uses the cost calculation unit 143 to select a plurality of prediction modes included in the mode C ′.
- the coding cost is calculated for a certain prediction mode 24 (S918).
- the mode selection unit 142 determines the mode that is the most suitable for encoding together with the encoding costs of the prediction modes 6 and 13 that are the plurality of prediction modes calculated in S52 (S919). E ′′ is performed (S63).
- the mode selection unit 142 determines that the mode C ′ is not determined by the second coarse prediction mode determination unit 1412 (No in S917), the mode selection unit 142 It is determined that the mode B ′ is determined by the two coarse prediction mode determination unit 1412, and the encoding cost is calculated for the prediction mode 25 that is a plurality of prediction modes included in the mode B ′ using the cost calculation unit 143 (S920). Then, the mode selection unit 142 matches the encoding costs of the prediction modes 6 and 14 that are the plurality of prediction modes calculated in S30 and S52. (S920), either performs best for Coding determines prediction mode mode determination E "(S63).
- the mode selection unit 1411 selects the mode B in S6213. Determine if it has been determined.
- the mode selection unit 142 determines that the mode B is determined by the first rough prediction mode determination unit 1411 (Yes in S6213), the mode selection unit 142 starts the process of the cost calculation A illustrated in FIG. 17B (S6214). Note that the processes S931 to S941 of the cost calculation B shown in FIG. 17B are the same as the processes S911 to S921 of the cost calculation A shown in FIG.
- the mode selection unit 1411 selects the mode C in S6215. Determine if it has been determined.
- the mode selection unit 142 determines that the mode C has been determined by the first coarse prediction mode determination unit 1411 (Yes in S6215)
- the mode selection unit 142 starts the process of the cost calculation C illustrated in FIG. 17C (S6216). Note that the processes S951 to S961 of the cost calculation C shown in FIG. 17C are the same as the processes S911 to S921 of the cost calculation A shown in FIG.
- the mode selection unit 1411 determines that the mode C is determined.
- the cost calculation C shown in FIG. 17D is started (S6217). Note that the processes S971 to S981 of cost calculation D shown in FIG. 17D are the same as the processes S911 to S921 of cost calculation A shown in FIG.
- the mode selection unit 142 selects the prediction mode with the lowest encoding cost from the plurality of prediction modes based on the encoding cost. To do.
- mode A is determined by the first rough prediction mode determination unit 1411 and mode A ′ is determined by the second rough prediction mode determination unit 1412 will be described as an example.
- l prediction mode 1
- m prediction mode 13
- n prediction mode 23.
- the mode selection unit 142 first determines whether BestMode is the prediction mode 1 in S6310. When BestMode is prediction mode 1 (Yes in S6310), prediction mode 1 which is the prediction mode with the lowest coding cost is selected (S6311).
- the mode selection unit 142 determines that the BestMode is the prediction mode 23, and selects the prediction mode 13 which is the prediction mode with the lowest coding cost ( S6314).
- modes B ′, C ′, and D ′ are determined by the second coarse prediction mode determination unit 1412, and thus the description thereof is omitted.
- mode B, C or D is determined by mode A by first coarse prediction mode determination unit 1411 and modes A ′, B ′ and C′D ′ are determined by second coarse prediction mode determination unit 1412 Since this is the same, the description is omitted.
- the mode selection unit 142 further calculates the encoding cost of the prediction mode independent of the prediction direction using the cost calculation unit 143, and compares it with the encoding cost of the prediction mode selected in S63. Then, the prediction mode with the lowest encoding cost is selected, and the selected prediction mode is set as the final prediction mode used in the encoding target block.
- the calculation amount necessary for calculating the coding cost for all the prediction modes shown in FIGS. 2A and 2B and the prediction mode shown in FIGS. 6A and 6B seem to be optimal.
- the amount of computation required to determine the prediction mode is almost the same.
- At least one more cost calculation is required to narrow down the prediction mode that seems to be optimal from prediction modes that depend on the prediction direction. That's it.
- prediction modes that include rough prediction prediction modes in which rough prediction (coarse prediction) is performed in a typical prediction direction and the lowest coding cost is evaluated during rough prediction are included. Narrow down to a plurality of prediction modes belonging to the group, and determine a prediction mode to be used in the encoding target block among the narrowed prediction modes (predict with fine granularity). Further, after comparing with a prediction mode that does not depend on the prediction direction, a prediction mode most suitable for encoding is finally selected.
- information on the prediction direction of the surrounding pixels is not used.
- in-plane prediction can be performed while suppressing the circuit scale or the amount of calculation.
- the first embodiment it is possible to realize an image encoding device or the like that can improve the encoding efficiency while suppressing the amount of calculation for determining the prediction mode of the in-plane prediction.
- Embodiment 2 In Embodiment 1, as a method of suppressing the amount of calculation for determining the prediction mode of in-plane prediction, instead of performing all predictions, rough prediction (rough prediction) is performed in a representative prediction direction. Then, narrow down to a plurality of prediction modes belonging to the prediction mode candidate group including the prediction mode of the rough prediction evaluated at the lowest encoding cost in the rough prediction, and in the prediction mode narrowed down, the encoding target block Although the prediction mode to be used is determined, the present invention is not limited to this.
- the encoding cost of a predetermined prediction mode is compared by comparing the encoding cost with a prediction mode adjacent to the prediction direction with a predetermined prediction direction (prediction mode) as a base point. If it is lower, the predetermined prediction mode may be determined as a prediction mode suitable for encoding. In addition, when the encoding cost of the adjacent prediction mode is lower, the encoding cost of the adjacent prediction mode is further compared with the adjacent prediction mode as a base point (as a predetermined prediction mode). The procedure may be repeated.
- FIGS. 8 to 10A the configurations of FIGS. 8 to 10A are the same, and the difference is the configuration of the mode selection unit 242 and its processing.
- FIG. 18 is a diagram illustrating a detailed configuration of the mode selection unit 242 according to the second embodiment.
- the 18 includes a comparison unit 2421 and a selection unit 2422.
- the comparison unit 2421 compares the coding cost of the predetermined prediction mode with the coding cost of another prediction mode adjacent to the prediction direction of the predetermined prediction mode.
- the selection unit 2422 selects the predetermined prediction mode as the prediction mode used in the encoding target block when the encoding cost of the predetermined prediction mode is lower than the encoding cost of the other prediction mode.
- the selection unit 2422 transmits the other prediction mode as a predetermined prediction mode to the comparison unit 2421 for comparison.
- the unit 2421 performs comparison.
- the selection unit 2422 transmits the rough prediction mode determined by the rough prediction mode determination unit 141 to the comparison unit as a predetermined prediction mode before starting the comparison processing of the comparison unit 2421, thereby allowing the comparison unit to Start the comparison.
- what is transmitted as the predetermined prediction mode may be the rough prediction mode described in the first embodiment or the second rough prediction mode.
- in-plane prediction can be performed while suppressing the circuit scale or the amount of calculation.
- the comparison unit 2421 uses the predetermined prediction direction (prediction mode) as a base point, and the first prediction mode that is a prediction direction adjacent to one side of the predetermined prediction direction and the other of the prediction directions of the predetermined prediction mode.
- the coding cost may be compared with the second prediction mode that is the prediction direction adjacent to the side. In that case, the selection unit 2422, when the encoding cost of the predetermined prediction mode is lower than the encoding cost of the first prediction mode and the second prediction mode, the prediction mode suitable for encoding the predetermined prediction mode.
- the selection unit 2422 may transmit the first prediction mode as the predetermined prediction mode to the comparison unit 2421 so that the comparison unit 2421 performs the comparison again.
- the comparison unit 2421 may include at least one prediction mode between the first prediction mode, the second prediction mode, and the predetermined prediction mode, or may include these prediction modes. Comparison may be performed.
- the selection unit 2422 transmits the rough prediction mode determined by the rough prediction mode determination unit 141 to the comparison unit as a predetermined prediction mode before the comparison unit 2421 starts the comparison process
- the selection unit 2422 is not limited thereto. That is, the rough prediction mode determination unit 141 is not provided, and the selection unit 2422 may arbitrarily determine one predetermined prediction mode. Even in such a case, the amount of calculation is smaller than when all predictions are performed, and thus is included in the scope of the present embodiment.
- the selection unit 2422 transmits the rough prediction mode determined by the rough prediction mode determination unit 141 to the comparison unit as a predetermined prediction mode before the comparison unit 2421 starts the comparison process, but the present invention is not limited thereto. That is, the rough prediction mode determination unit 141 is not provided, and a predetermined prediction mode is arbitrarily determined using an existing in-plane prediction mode evaluation method, and the selection unit 2422 determines the predetermined prediction mode as a comparison unit. May be communicated to.
- in-plane prediction can be performed while suppressing the circuit scale or the amount of calculation.
- the second embodiment it is possible to realize an image encoding device or the like that can improve the encoding efficiency while suppressing the amount of calculation for determining the prediction mode of the in-plane prediction.
- FIG. 19 is a block diagram showing an example of the configuration of an application example including the image encoding device of the present invention.
- an apparatus including the image encoding unit 13 in the present invention is also included in the scope of the present invention.
- the unit 1008, the internal memory 1009, the memory input / output unit 1010, the stream input / output unit 1011, the external memory 1012, and the external control unit 1013 are well-known configurations, and thus description thereof is omitted.
- the optimal prediction mode is determined from prediction modes that are twice or four times that of H.264
- the present invention is not limited to this example.
- the present invention can be applied when performing in-plane prediction depending on the prediction direction.
- the prediction direction may be narrowed down from the coarse granularity, and finally the prediction mode may be determined by comparing with a prediction mode that does not depend on the prediction direction.
- all or some of the plurality of components constituting the image encoding device may be configured by hardware. Further, all or a part of the constituent elements constituting each of the image encoding apparatuses may be a program module executed by a CPU (Central Processing Unit) or the like.
- a CPU Central Processing Unit
- the software that realizes the image encoding device and the like of each of the above embodiments is the following program.
- this program is a program for encoding an input image in units of blocks using in-plane prediction, and a plurality of prediction modes depending on a prediction direction that can be used for the in-plane prediction in the computer.
- the prediction modes determined in advance when the plurality of prediction modes are virtually grouped into three or more prediction mode candidate groups, each of the prediction modes belongs to each of the three or more prediction mode candidate groups.
- a coarse prediction mode determining step for determining one coarse prediction mode having the lowest coding cost from among the three or more coarse prediction modes, based on the coding cost of three or more coarse prediction modes that are the prediction modes of Each of a plurality of prediction modes belonging to the prediction mode candidate group narrowed down by the rough prediction mode determined in the rough prediction mode determination step Based on the encoding cost, the mode selection step for selecting a prediction mode to be used in the block to be encoded, and the intra prediction using the prediction mode selected in the mode selection step, the encoding target block And an encoding step for encoding.
- all or some of the plurality of constituent elements constituting each of the image encoding devices may be configured by one system LSI (Large Scale Integration).
- each of the image encoding units may be composed of one system LSI.
- Each of the stream generation units may be composed of one system LSI.
- the system LSI is a super-functional LSI manufactured by integrating a plurality of components on a single chip. Specifically, a microprocessor, a ROM (Read Only Memory), a RAM (Random Access Memory), and the like. It is a computer system comprised including.
- the present invention may be realized as an image encoding method in which the operations of characteristic components included in each of the image encoding devices are steps.
- the present invention may also be realized as a program that causes a computer to execute each step included in such an image encoding method.
- the present invention may be realized as a computer-readable recording medium that stores such a program.
- the program may be distributed via a transmission medium such as the Internet.
- the present invention is used as an image encoding device that performs in-plane prediction even in an encoding method that requires generation of a more accurate predicted image while suppressing the amount of processing for determining an in-plane encoding mode. Can do.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
面内予測を用いて、入力画像をブロック単位で符号化する画像符号化装置(1)であって、面内予測に用いることができる予測方向に依存する複数の予測モードの中で、あらかじめ決定された一部の予測モードであって複数の予測モードを仮想的に3以上の予測モード候補群にグルーピングしたときに当該3以上の予測モード候補群それぞれに属する一の予測モードである3以上の粗予測モードの符号化コストに基づいて、3以上の粗予測モードの中から一つの粗予測モードを決定する粗予測モード決定部(141)と、粗予測モード決定部(141)によって決定された粗予測モードにより絞り込まれた予測モード候補群に属する複数の予測モードそれぞれの符号化コストに基づき、符号化対象ブロックで用いる予測モードを選択するモード選択部(142)とを備える。
Description
本発明は、面内予測を用いて、入力画像をブロック単位で符号化する画像符号化装置および画像符号化方法に関する。
画像処理技術において、面内予測によって画像を符号化する技術がある(例えば特許文献1~4)。ここで、面内予測とは、ピクチャ内の分割されたブロックを符号化する際に、同一ピクチャの中で符号化対象ブロックの周辺に位置するブロックの画素値を基に符号化対象ブロックの予測画像(面内予測画像)を生成し、予測画像と実際の符号化対象ブロックの原画像との差分を符号化する方法である。
画像符号化方式の1つであるH.264/AVC規格では、予測のブロック単位として、4画素×4画素のブロックと、8画素×8画素のブロックと、16画素×16画素のブロックとがあり、それぞれに面内予測の予測モードが定義されている(例えば、非特許文献1)。
さらに、近年、H.264/AVC規格の符号化効率を超える新たな画像符号化方式が検討されている。特に、面内予測においては、従来(H.264/AVC規格)以上に細かい予測方向を適用する(予測モードを増やす)ことにより、大幅な符号化効率の向上を図ろうとしている。
ITU-T Recommendation H.264「Advanced video coding for generic audiovisual services」、2010年3月
しかしながら、H.264/AVC規格の符号化方式を上回る、予測モードを全て評価するには演算量が膨大であるため、動画像をリアルタイムで符号化する必要がある場合には専用のハードウエアが必要な上、H.264以上の回路規模が必要とされる。
本発明は、上述の問題点を解決するためになされたものであって、その目的は、面内予測の予測モードを決定するための演算量を抑えつつ、符号化効率を向上することができる画像符号化装置等を提供することである。
上述の目的を達成するために、本発明の一態様に係る画像符号化装置は、面内予測を用いて、入力画像をブロック単位で符号化する画像符号化装置であって、前記面内予測に用いることができる予測方向に依存する複数の予測モードの中で、あらかじめ決定された一部の予測モードであって、前記複数の予測モードを仮想的に3以上の予測モード候補群にグルーピングしたときに当該3以上の予測モード候補群それぞれに属する一の予測モードである3以上の粗予測モードの符号化コストに基づいて、前記3以上の粗予測モードの中から符号化コストが最も低い一つの粗予測モードを決定する粗予測モード決定部と、前記粗予測モード決定部によって決定された粗予測モードにより絞り込まれた予測モード候補群に属する複数の予測モードそれぞれの符号化コストに基づき、前記符号化対象ブロックで用いる予測モードを選択するモード選択部と、前記モード選択部によって選択された前記予測モードを用いて面内予測を行うことにより、前記符号化対象ブロックを符号化する符号化部と、を備える。
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
本発明によれば、面内予測の予測モードを決定するための演算量を抑えつつ、符号化効率を向上することができる画像符号化装置等を実現することができる。
(本発明の基礎となった知見)
本発明者は、「背景技術」の欄において記載した、検討されている新たな画像符号化方式を用いた画像符号化装置に関し、問題が生じることを見出した。以下、それについて説明する。
本発明者は、「背景技術」の欄において記載した、検討されている新たな画像符号化方式を用いた画像符号化装置に関し、問題が生じることを見出した。以下、それについて説明する。
例えば、上記特許文献1には、面内予測によって符号化する技術が開示されている。また、例えば、上記非特許文献1には、画像符号化方式の1つであるH.264/AVC規格(例えば、非特許文献1を参照)では、予測のブロック単位として、4画素×4画素のブロックと、8画素×8画素のブロックと、16画素×16画素のブロックとがあり、それぞれに面内予測の予測モードが定義されている。これら予測モードの中で符号化対象ブロックを符号化した際の符号化コストが最低となる予測モードを用いて予測画像を生成し、符号化対象ブロックの原画像との差分を算出している。
ここで、まず、H.264/AVC規格における面内予測の予測モードとその予測方向について説明する。
図1Aは、H.264/AVC規格の4画素×4画素のブロックにおける面内予測の予測モードの予測方向を示す図であり、図1Bは各予測モードが使用する参照画素と予測方向の関係を示す図である。つまり、H.264/AVC規格では、4画素×4画素のブロックにおける面内予測の予測モードとして、図1Aおよび図1Bに示す予測方向を有する8つの予測モードとDC(平均値)予測モードとを合わせて9つの予測モードがある。
図2Aは、H.264/AVC規格の8画素×8画素のブロックにおける面内予測の予測モードの予測方向を示す図であり、図2Bは各予測モードが使用する参照画素と予測方向の関係を示す図である。つまり、H.264/AVC規格では、8画素×8画素のブロックにおける面内予測の予測モードとしては、4画素×4画素のブロックと同様に、図2Aおよび図2Bに示す予測方向を有する8つの予測モードとDC(平均値)予測モードとを合わせて9つの予測モードがある。
図3Aは、H.264/AVC規格の16画素×16画素のブロックにおける面内予測の予測モードの予測方向を示す図であり、図3Bは各予測モードが使用する参照画素と予測方向の関係を示す図である。つまり、H.264/AVC規格では、16画素×16画素のブロックにおける面内予測の予測モードとして、図3Aおよび図3Bに示す予測方向を有する2つの予測モードと、DC(平均値)予測モード、Plane(平面)予測モードとを合わせて4つの予測モードがある。
このような予測モードの使用が許されるH.264/AVC規格では、以下の図4A~図4Cに示す処理フローで予測モードが決定される。
図4A~図4Cは、従来技術における面内予測の予測モードを決定する処理フローを示す図である。具体的には、図4Aは、従来技術を用いてH.264/AVC規格において面内予測の予測モードを決定する処理フローの概要を示す図である。図4Bは、図4Aに示すS10の処理の詳細を示すフロー図である。図4Cは、図4Aに示すS20の処理の詳細を示すフロー図である。
従来技術では、面内予測の予測モードを決定するため、まず、すべての予測モードの符号化コストを算出する(S10)。
具体的には、図4Bに示すように、予測モードの符号化コストを予測モード0から予測モード8まで順次算出する。すなわち、まず、S101において予測モード0の符号化コストを算出し、続いて、S102において予測モード1の符号化コストを算出する。続いて、S103において予測モード2の符号化コストを算出し、S104において予測モード3の符号化コストを算出する。続いて、S105において予測モード4の符号化コストを算出し、S106において予測モード5の符号化コストを算出する。続いて、S107において予測モード6の符号化コストを算出し、S108において予測モード7の符号化コストを算出する。そして、S109において予測モード8の符号化コストを算出する。
次に、面内予測で用いられる予測モードを判定する(S20)。
具体的には、図4Cに示すように、S20において、算出された符号化コストの中で一番小さな符号化コスト(以下、BestModeとも記載)の予測モードを、面内予測で用いられる予測モードと判定する。
より詳細には、まず、S201においてBestModeが予測モード0であるかを判定する。BestModeが予測モード0である場合(S201でYes)、面内予測で用いられる予測モードを0として(S202)、モード判定を終了する。ここで、図中、面内予測で用いられる予測モードが0であることをPreMode=0と表記している。以下も同様である。
BestModeが予測モード0でない場合(S201でNo)、S203においてBestModeが予測モード1であるかを判定する。BestModeが予測モード1である場合(S203でYes)、面内予測で用いられる予測モードを1として(S204)、モード判定を終了する。
BestModeが予測モード1でない場合(S203でNo)、S205においてBestModeが予測モード2であるかを判定する。BestModeが予測モード2である場合(S205でYes)、面内予測で用いられる予測モードを2として(S206)、モード判定を終了する。
BestModeが予測モード2でない場合(S205でNo)、S207においてBestModeが予測モード3であるかを判定する。BestModeが予測モード3である場合(S207でYes)、面内予測で用いられる予測モードを3として(S208)、モード判定を終了する。
BestModeが予測モード3でない場合(S207でNo)、S209においてBestModeが予測モード4であるかを判定する。BestModeが予測モード4である場合(S209でYes)、面内予測で用いられる予測モードを4として(S210)、モード判定を終了する。
BestModeが予測モード4でない場合(S209でNo)、S211においてBestModeが予測モード5であるかを判定する。BestModeが予測モード5である場合(S211でYes)、面内予測で用いられる予測モードを5として(S212)、モード判定を終了する。
BestModeが予測モード5でない場合(S211でNo)、S213においてBestModeが予測モード6であるかを判定する。BestModeが予測モード6である場合(S213でYes)、面内予測で用いられる予測モードを6として(S214)、モード判定を終了する。
BestModeが予測モード6でない場合(S213でNo)、S215においてBestModeが予測モード7であるかを判定する。BestModeが予測モード7である場合(S215でYes)、面内予測で用いられる予測モードを7として(S216)、モード判定を終了する。
BestModeが予測モード7でない場合(S215でNo)、面内予測で用いられる予測モードを8として(S217)、モード判定を終了する。
次に、新たな画像符号化方式における面内予測の予測モードとその予測方向について説明する。
図5Aは、新たな画像符号化方式の4画素×4画素のブロックにおける面内予測の予測モードの予測方向を示す図であり、図5Bは各予測モードが使用する参照画素と予測方向の関係を示す図である。つまり、新たな画像符号化方式では、4画素×4画素のブロックにおける面内予測の予測モードとして、図5Aおよび図5Bに示す予測方向を有する17の予測モードと、DC(平均値)予測モードと、Planar予測モードとを合わせた19の予測モードが検討されている。
図5Aおよび図5Bからわかるように、新たな画像符号化方式では、H.264で規定された予測方向の2倍以上の予測モードを持ち、また予測方向に依存しない予測モードもH.264で規定されている以上に有している。
図6Aは、新たな画像符号化方式の8画素×8画素のブロックにおける面内予測の予測モードの予測方向を示す図であり、図6Bは各予測モードが使用する参照画素と予測方向の関係を示す図である。つまり、新たな画像符号化方式では、8画素×8画素のブロックにおける面内予測の予測モードとして、図6Aおよび図6Bに示す予測方向を有する33の予測モードと、DC(平均値)予測モードと、Planar予測モードとを合わせた35の予測モードが検討されている。
図6Aおよび図6Bからわかるように、新たな画像符号化方式では、H.264で規定された予測方向の4倍程度の予測モードを持ち、また予測方向に依存しない予測モードもH.264で規定されている以上に有する。
図7Aは、新たな画像符号化方式の16画素×16画素のブロックにおける面内予測の予測モードの予測方向を示す図であり、図7Bは各予測モードが使用する参照画素と予測方向の関係を示す図である。
つまり、新たな画像符号化方式では、16画素×16画素のブロックにおける面内予測の予測モードとしては、図3Aおよび図3Bに示す8画素×8画素のブロックと同様の予測方向を有する33の予測モードと、DC(平均値)予測モードと、Planar予測モードとを合わせた35の予測モードが検討されている。
なお、図示していないが、16画素×16画素のブロックより大きいブロックで予測を行うことも可能である。この場合についても、8画素×8画素のブロックと同様の予測方向を有する33の予測モードと、DC(平均値)予測モードと、Planar予測モードとを合わせた35の予測モードが検討されている。
このように予測方向を細かくした多数の予測モードの使用が許される新たな画像符号化方式においても、中から符号化対象ブロックを符号化した際の符号化コストが最低となる予測モードを用いて予測画像を生成し、符号化対象ブロックの原画像との差分を算出することになる。
しかしながら、上記のような多数の予測モードを、図4A~図4Cを用いて説明した従来技術を用いて符号化コストが最低となる予測モードを選択する場合には、演算量が膨大になるという問題がある。
そのため、例えば動画像をリアルタイムで符号化する必要がある場合には、専用のハードウエアが必要な上、H.264/AVC規格の以上の回路規模が必要となるという問題も生じる。
そこで、本発明の一態様は、かかる問題に鑑みてなされたものであって、面内予測の予測モードを決定するための演算量を抑えつつ、符号化効率を向上することができる画像符号化装置等を提供することを目的とする。
上記問題を解決するために、本発明の第1の態様に係る画像符号化装置は、面内予測を用いて、入力画像をブロック単位で符号化する画像符号化装置であって、前記面内予測に用いることができる予測方向に依存する複数の予測モードの中で、あらかじめ決定された一部の予測モードであって、前記複数の予測モードを仮想的に3以上の予測モード候補群にグルーピングしたときに当該3以上の予測モード候補群それぞれに属する一の予測モードである3以上の粗予測モードの符号化コストに基づいて、前記3以上の粗予測モードの中から符号化コストが最も低い一つの粗予測モードを決定する粗予測モード決定部と、前記粗予測モード決定部によって決定された粗予測モードにより絞り込まれた予測モード候補群に属する複数の予測モードそれぞれの符号化コストに基づき、前記符号化対象ブロックで用いる予測モードを選択するモード選択部と、前記モード選択部によって選択された前記予測モードを用いて面内予測を行うことにより、前記符号化対象ブロックを符号化する符号化部と、を備える。
つまり、代表的な予測方向で粗く予測を行い、その中で最も符号化に適した予測方向を基点として、その方向に最も近い予測モードの内、最も符号化に適した予測方向の次に符号化に適した予測方向との間を、さらに細かい粒度で予測を行い、その中から最も符号化に適した予測方向を決定し、さらに、予測方向に依存しない予測モードとも比較を行った上で、最終的に最も符号化に適した予測モードを選択する。
それにより、H.264を上回る予測モード数を要する符号化方式であっても、回路規模または演算量を抑えつつ、面内予測を行うことができる。
このようにして、面内予測の予測モードを決定するための演算量を抑えつつ、符号化効率を向上することができる画像符号化装置等を実現することができる。
また、本発明の第2の態様に係る画像符号化装置は、第1の態様において、例えば、前記粗予測モード決定部は、前記面内予測に用いることができる予測方向に依存する複数の予測モードの中で、あらかじめ決定された一部の予測モードであって、前記複数の予測モードを仮想的に3以上の第1階層予測モード候補群にグルーピングしたときに当該3以上の第1階層予測モード候補群それぞれに属する一の予測モードである3つ以上の第1粗予測モードの符号化コストに基づいて、前記3つ以上の第1粗予測モードの中から符号化コストが最も低い一つの第1粗予測モードを決定する第1粗予測モード決定部と、前記第1粗予測モード決定部によって決定された第1粗予測モードにより絞り込まれた第1階層候補群に属する複数の予測モードの中の一部の予測モードであって、前記第1階層候補群に属する複数の予測モードを仮想的に複数の第2階層予測モード候補群にグルーピングしたときに当該複数の第2階層予測モード候補群それぞれに属する一の予測モードである複数の第2粗予測モードそれぞれの符号化コストに基づいて、前記複数の第2粗予測モードの中から、一つの第2粗予測モードを、前記粗予測モード決定部によって決定された粗予測モードとして決定する第2粗予測モード決定部とを備えるとしてもよい。
また、本発明の第3の態様に係る画像符号化装置は、第1の態様または2の態様において、前記モード選択部は、前記粗予測モード決定部によって決定された粗予測モードを含む予測モード候補群に属する複数の予測モードの符号化コストに基づいて、前記予測モード候補群に属する複数の予測モードの中から、前記符号化対象ブロックで用いる符号化コストが最も低い予測モードを選択するとしてもよい。
ここで、本発明の第4の態様に係る画像符号化装置は、第1の態様~第3の態様のいずれかにおいて、例えば、前記予測モード候補群に属する複数の予測モードは、前記粗予測モードと、前記粗予測モードの予測方向と予測方向が近い複数の予測モードとから構成されるとしてもよい。
また、本発明の第5の態様に係る画像符号化装置は、第1の態様において、例えば、前記モード選択部は、所定の予測モードの符号化コストと、前記所定の予測モードの予測方向の一方側に隣接する予測方向である第1の予測モードと、前記所定の予測モードの予測方向の他方側に隣接する予測方向である第2の予測モードの符号化コストとの比較を行う比較部と、前記所定の予測モードの符号化コストが前記第1の予測モードおよび前記第2の予測モードの符号化コストより低い場合に、前記所定の予測モードを前記符号化対象ブロックで用いる予測モードとして選定し、前記第1の予測モードの符号化コストが前記所定の予測モードおよび前記第2の予測モードの符号化コストより低い場合、前記第1の予測モードを所定の予測モードとして前記比較部に伝達することで前記比較部に比較を行わせる選定部とを備え、前記選定部は、前記比較部の比較処理の開始前に、前記粗予測モード決定部によって決定された粗予測モードを、前記所定の予測モードとして前記比較部に伝達することで、前記比較部に比較を開始させるとしてもよい。
また、本発明の第6の態様に係る画像符号化装置は、第1の態様~第5の態様のいずれかにおいて、例えば、前記モード選択部は、さらに、選択した予測モードと、前記予測方向に依存しない予測モードとの中で符号化コストの最も低い予測モードを選択するとしてもよい。
また、上記問題を解決するために、本発明の一態様に係る画像符号化装置は、面内予測を用いて、入力画像をブロック単位で符号化する画像符号化装置であって、前記面内予測に用いることができる予測方向に依存する複数の予測モードの中から、任意の一つの予測モードを、粗予測モードとして決定する粗予測モード決定部と、前記粗予測モード決定部によって決定された粗予測モードにより絞り込まれた複数の予測モードそれぞれの符号化コストに基づき、前記符号化対象ブロックで用いる予測モードを選択するモード選択部と、前記モード選択部によって選択された前記予測モードを用いて面内予測を行うことにより、前記符号化対象ブロックを符号化する符号化部と、を備え、前記モード選択部は、所定の予測モードの符号化コストと、前記所定の予測モードの予測方向の一方側に隣接する予測方向である第1の予測モードと、前記所定の予測モードの予測方向の他方側に隣接する予測方向である第2の予測モードの符号化コストとの比較を行う比較部と、前記所定の予測モードの符号化コストが前記第1の予測モードおよび前記第2の予測モードの符号化コストより低い場合に、前記所定の予測モードを前記符号化対象ブロックで用いる予測モードとして選定し、前記第1の予測モードの符号化コストが前記所定の予測モードおよび前記第2の予測モードの符号化コストより低い場合、前記第1の予測モードを所定の予測モードとして前記比較部に伝達することで前記比較部に比較を行わせる選定部とを備え、前記選定部は、前記比較部の比較処理の開始前に、前記粗予測モード決定部によって決定された粗予測モードを、前記所定の予測モードとして前記比較部に伝達することで、前記比較部に比較を開始させる。
ここで、例えば、前記第1の予測モードおよび前記第2の予測モードと、前記所定の予測モードとの間には、少なくとも一の予測モードを含む、または、予測モードを含まないとしてもよい。
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
以下の説明では、同一の構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
(実施の形態1)
図8は、実施の形態1における画像符号化装置1の構成の一例を示すブロック図である。
図8は、実施の形態1における画像符号化装置1の構成の一例を示すブロック図である。
図8に示す画像符号化装置1は、制御部11と、主記憶メモリ12と、画像符号化部13とを備える。この画像符号化装置1は、少なくとも面内予測を用いて、入力画像をブロック単位で符号化する。
主記憶メモリ12は、データを記憶するためのメモリ(例えば、DRAM(Dynamic Random Access Memory)等)である。
制御部11は、CPU(Central Processing Unit)等のプロセッサ(図示せず)と、メモリ制御回路(図示せず)とを備えている。制御部11のプロセッサは、画像符号化部13の動作を制御する。また、制御部11のメモリ制御回路は、主記憶メモリ12に記憶されているデータにアクセスする。主記憶メモリ12に記憶されるデータは、制御部11のプロセッサを介さず、メモリ制御回路のみを介して、主記憶メモリ12に記憶される。また、主記憶メモリ30から読み出されるデータは、制御部11のプロセッサを介さず、メモリ制御回路のみを介して、主記憶メモリ12から読み出される。なお、以下では、画像符号化部13の動作を制御する、制御部11のプロセッサを、総括的に、制御部11と表記する。
画像符号化部13は、符号化部の一例であり、後述するモード選択部142によって選択された予測モードを用いて面内予測を行うことにより、符号化対象ブロックを符号化する。具体的には、画像符号化部13は、動画像を構成するピクチャを受信し、受信した動画像を、所定の画像符号化方式に従って符号化する。
なお、当該画像符号化方式は、面内予測を行う符号化方式であれば、上記の新たな画像符号化方式に限らず如何なる規格に従う符号化方式であってもよい。また、以下では、n(自然数)番目のピクチャPを、ピクチャP[n]とも表記する。すると、動画像は、ピクチャP[n],P[n+1],P[n+2],・・・から構成されると表記できる。
画像符号化部13は、例えば、1/60秒毎に、動画像のピクチャPを受信する。具体的には、画像符号化部13は、例えば、1/60秒毎に、ピクチャP[n],P[n+1],P[n+2],・・・を、この順で順次受信する。なお、画像符号化部が受信する動画像の単位は、ピクチャ単位に限定されず、例えば、スライス単位、マクロブロック単位、GOP単位であってもよい。
画像符号化部13は、動画像を構成する複数のピクチャPを符号化することにより、符号化ストリームを生成する。
以下においては、ピクチャPの各々を、単に、ピクチャとも表記する。また、以下においては、符号化ストリームを、それぞれ、ストリームともいう。
図9は、実施の形態1における画像符号化部13の構成の一例を示すブロック図である。
図9に示すように画像符号化部13は、面内予測部14と、面間予測部15と、ループフィルタ16と、スイッチ17および18と、加算器19と、周波数変換部20と、量子化部21と、逆量子化部22と、逆周波数変換部23と、ストリーム生成部24とを備える。なお、各部の処理は、例えばH.264/AVC規格やMPEG-2規格に従う処理であるので詳細な説明は行わない。以下、簡単に説明する。
面内予測部14と面間予測部15とには減算機能が含まれ、2種類の画像を用いて差分画像を生成する。面内予測部14は、面内予測符号化(画面内予測符号化)を行う機能を有する。面間予測部15は、動き検出や動き補償を行う機能を有する。
具体的には、面内予測部14と面間予測部15とは、動画像のピクチャPを受信する。ここで、例えば、面内予測部14と面間予測部15は、上述した動画像のピクチャPを受信する。面内予測部14と面間予測部15とは、例えば、1/60秒毎に、ピクチャを受信する。具体的には、面内予測部14と面間予測部15とは、例えば、1/60秒毎に、ピクチャP[n],P[n+1],P[n+2],・・・を、この順で順次受信する。すなわち、面内予測部14と面間予測部15とは、1/60秒毎に、ピクチャを受信する。
そして、面内予測部14と面間予測部15は、ピクチャPを受信する毎に、当該ピクチャPと、予測画像との差分である差分画像を生成し、当該差分画像を周波数変換部20へ送信する。当該予測画像は、後述する予測画像である。
より具体的には、面間予測部15は、動き検出と動き補償により、主記憶メモリ12に記憶されている複数の参照画像を用いて、予測画像を得る。面間予測の処理は、周知な処理であるので詳細な説明は行わない。面間予測部15は、予測画像を得る毎に、当該予測画像を、スイッチ18へ送信する。
一方、面内予測部14は、ピクチャPを受信する毎に、当該ピクチャPと、予測画像との差分である差分画像を生成し、当該差分画像をスイッチ18に送信する。
面内予測部14は、再構成画像を用いて、面内予測符号化(画面内予測符号化)を行うことにより、予測画像を得る。面内予測符号化処理については、後に詳述するためここでの説明を省略する。
周波数変換部20は、例えば離散コサイン変換(以下、DCTという)を行う機能を有する。具体的には、周波数変換部20は、差分画像を受信する毎に、当該差分画像に対しブロック単位で周波数変換を行うことにより各ブロックに対応する係数群を得る。この係数群は、複数の係数から構成される。そして、周波数変換部20は、差分画像に対応する係数群を得る毎に、当該係数群を、量子化部21へ送信する。
量子化部21は、量子化を行う機能を有する。具体的には、量子化部21は、差分画像に対応する係数群を受信する毎に、当該係数群に対し量子化を行うことにより、量子化データを得る。量子化部21は、差分画像に対応する量子化データを得る毎に、当該量子化データを、ストリーム生成部24および逆量子化部22へ送信する。
逆量子化部22は、逆量子化を行う機能を有する。具体的には、逆量子化部22は、逆量子化部22は、量子化データを受信する毎に、当該量子化データに対し逆量子化を行うことにより、差分画像に対応する係数群を得る。逆量子化部22は、差分画像に対応する係数群を得る毎に、当該係数群を、逆周波数変換部23へ送信する。
逆周波数変換部23は、例えば逆DCTを行う機能を有する。具体的には、逆周波数変換部23は、差分画像に対応する係数群を受信する毎に、当該係数群に対し逆周波数変換を行うことにより、差分画像を得る。逆周波数変換部23は、差分画像を得る毎に、当該差分画像を、加算器19へ送信する。
加算器19は、2種類の画像を加算する機能を有する。具体的には、加算器19は、全ての差分画像を受信する毎に、当該全ての差分画像と、後述の予測画像とを加算することにより、再構成画像を得る。また、加算器19は、再構成画像を得る毎に、当該再構成画像をループフィルタ16へ送信するとともに、当該再構成画像を、主記憶メモリ12に記憶させる。
ループフィルタ16は、例えば、デブロッキングフィルタ等の処理を行う機能を有する。具体的には、ループフィルタ16は、再構成画像を受信する毎に、当該再構成画像に対しデブロッキングフィルタ処理を行う。デブロッキングフィルタ処理は、周知な処理であるので詳細な説明は行わない。そして、ループフィルタ16は、デブロッキングフィルタ等の処理が行われた再構成画像を、参照画像として、主記憶メモリ12に記憶させる。
スイッチ17は、制御部11からの指示にしたがって、あるいは、画像符号化処理の状態に応じて外部から受信する画像を面内予測部14または面間予測部15に送信する。
スイッチ18は、制御部からの指示にしたがって、あるいは、画像符号化処理の状態に応じて面内予測か面間予測2種類の予測のいずれかを選択して周波数変換部20へ送信する。より具体的には、スイッチ18は、制御部11からの指示にしたがって、或いは符号化処理の状態に応じて受信した差分画像いずれかを、周波数変換部20へ送信する。また、スイッチ18は、制御部11からの指示にしたがって、あるいは符号化処理の状態に応じて受信した予測画像のいずれかを、加算器19へ送信する。
ストリーム生成部24は、画像符号化部13の各部により、ピクチャPに対する処理を繰り返されて生成された1枚のピクチャPに対応する各量子化データを受信する。
なお、主記憶メモリ12は、画像符号化部13の外に構成されているとして説明したがそれに限らない。主記憶メモリ12は、画像符号化部13の内に設けられてもよい。
次に、面内予測部14の詳細構成について説明する。
図10Aは、実施の形態1における面内予測部14の詳細構成の例を示すブロック図である。
図10Aに示すように面内予測部14は、粗予測モード決定部141と、モード選択部142と、コスト算出部143とを備える。
コスト算出部143は、面内予測に用いる複数の予測モードの中で、少なくとも1つの予測モードで符号化対象ブロックを符号化した際の符号化コストを算出する。
粗予測モード決定部141は、面内予測に用いることができる予測方向に依存する複数の予測モードの中で、あらかじめ決定された一部の予測モードであって、複数の予測モードを仮想的に3以上の予測モード候補群にグルーピングしたときに当該3以上の予測モード候補群それぞれに属する一の予測モードである3以上の粗予測モードの符号化コストに基づいて、3以上の粗予測モードの中から符号化コストが最も低い一つの粗予測モードを決定する。
ここで、図5Aおよび図5Bに示す4画素×4画素のブロックにおける面内予測の予測モードを例に挙げると、複数の粗予測モード(予め決定された一部の予測モード)は、予測方向に依存する複数の予測モードのうちの、代表的な予測方向である両端および中点にある予測モード7、1、4、2および10である。粗予測モード決定部141は、この複数の粗予測モードの中から一つの粗予測モードを決定する。
ここで、図5Aおよび図5Bに示す複数の予測モードは、予測モード7、14、6、13、1を含む予測モード候補群、予測モー1、12、5、11、4を含む予測モード候補群、予測モード4、15、8、16、2を含む予測モード候補群、予測モード2、17、9、18、10を含む予測モード候補群とに仮想的にグルーピングされる。例えば代表的な予測方向である両端および中点にある予測モード7は、予測モード7、14、6、13、1を含む予測モード候補群の一の予測モードである。
モード選択部142は、粗予測モード決定部141によって決定された粗予測モードにより絞り込まれた予測モード候補群に属する複数の予測モードに基づき、符号化対象ブロックで用いる予測モードを選択する。例えばモード選択部142は、粗予測モード決定部141によって決定された粗予測モードを含む予測モード候補群に属する複数の予測モードの符号化コストに基づいて、当該予測モード候補群に属する複数の予測モードの中から、符号化対象ブロックで用いる予測モードを選択する。
ここで、予測モード候補群に属する複数の予測モードは、粗予測モードと、粗予測モードの予測方向と予測方向が近い複数の予測モードとから構成される。より具体的には、モード選択部142は、粗予測モード決定部141によって決定された粗予測モードを含む予測モード候補群に属する複数の予測モードの符号化コストに基づいて、当該予測モード候補群に属する複数の予測モードの中から、符号化コストが最も低い予測モードを符号化対象ブロックで用いる予測モードとして選択する。
ここで、図5Aおよび図5Bを用いて例を挙げると、モード選択部142が選択対象の複数の予測モードは、粗予測モード決定部141により絞り込まれた(決定された)予測モード候補群に属する複数の予測モードである。つまり、粗予測モード決定部141により、一つの粗予測モードとして例えば予測モード7が決定された場合には、予測モード7を含む複数の予測モード7、14、6、13および1(決定された予測モードを含む予測モード候補群に属する複数の予測モード)が絞り込まれる。そして、モード選択部142は、これら複数の予測モード(予測モード7、14、6、13および1)の中から、符号化コストの最も低い予測モードを符号化対象ブロックで用いる予測モードとして選択する。
また、モード選択部142は、さらに、上記のように選択した予測モードと、前記予測方向に依存しない予測モードとの中で符号化コストの最も低い予測モードを選択する。
ここで例えば、図5Aおよび図5Bを用いて例を挙げると、モード選択部142は、さらに、予測方向に依存するすべての予測モードから上記のように選択した予測モードと、予測方向に依存しないすべての予測モードとの中から、符号化コストの最も低い予測モードを選択し、選択した予測モードを符号化対象ブロックで用いる予測モードとする。
このようにして、本実施の形態における面内予測部14は、面内予測において、より多くの予測方向を用いる場合、代表的な方向で粗い予測(予測方向の絞り込み)を行い、絞り込んだ予測方向を基点とした複数の予測モード(細かい粒度)で予測を行うことにより、最も符号化に適した予測方向を決定する。面内予測部14は、さらに、予測方向に依存しない予測モードとも比較を行った上で、最終的に最も符号化に適した予測モードを選択する。
なお、代表的な方向で粗い予測(予測方向の絞り込み)は、上記のように1回であることに限定されない。面内予測モードの数が多く、一度目の絞り込みでは、面内予測の予測モードを決定するための演算量がまだ多いとされる場合には、さらにもう一段階、絞り込みをするとしてもよい。以下、その場合の粗予測モード決定部141の構成を図10Bとして説明する。
図10Bは、粗予測モード決定部141の詳細構成の一例を示している。
図10Bに示すように、粗予測モード決定部141は、第1粗予測モード決定部1411と、第2粗予測モード決定部1412とで構成されている。
第1粗予測モード決定部1411は、面内予測に用いることができる予測方向に依存する複数の予測モードの中で、あらかじめ決定された一部の予測モードであって、前記複数の予測モードを仮想的に3以上の第1階層予測モード候補群にグルーピングしたときに当該3以上の第1階層予測モード候補群それぞれに属する一の予測モードである3つ以上の第1粗予測モードの符号化コストに基づいて、3つ以上の第1粗予測モードの中から符号化コストが最も低い一つの第1粗予測モードを決定する。
第2粗予測モード決定部1412は、第1粗予測モード決定部1411によって決定された第1粗予測モードにより絞り込まれた第1階層候補群に属する複数の予測モードの中の一部の予測モードであって、前記第1階層候補群に属する複数の予測モードを仮想的に複数の第2階層予測モード候補群にグルーピングしたときに当該複数の第2階層予測モード候補群それぞれに属する一の予測モードである複数の第2粗予測モードそれぞれの符号化コストに基づいて、複数の第2粗予測モードの中から、一つの第2粗予測モードを、粗予測モード決定部141によって決定された粗予測モードとして決定する。
その場合、モード選択部142は、第2粗予測モード決定部1412によって決定された第2粗予測モードを含む予測モード候補群に属する複数の予測モードの符号化コストに基づいて、それら複数の予測モードの中から、符号化対象ブロックで用いる予測モードを選択する。
なお、粗予測モード決定部141は、代表的な方向で粗い予測(予測方向の絞り込み)が一段階で十分と判断した場合には、第1粗予測モード決定部1411のみを動作させるとしてもよいし、第2粗予測モード決定部1412に第1粗予測モード決定部1411が決定した一つの第1粗予測モードをそのまま第2粗予測モードとして決定するとしてもよい。
また、粗予測モード決定部141は、面内予測モードの数が多い場合には、2段階の絞り込み(2階層)に限られない。さらに、必要な段階(階層数)だけ絞りこみを行うとしてもよいのはいうまでもない。
次に、面内予測部14が図5Aおよび図5Bに示す4画素×4画素のブロックにおける面内予測の予測モードを決定する処理の詳細を実施例1として説明する。なお、実施例1では、粗予測モード決定部141が一段階(1階層)の絞込みをする場合の例として説明する。
(実施例1)
図11、図12A~図12F、および図13A~図13Cは、実施例1における面内予測の予測モードを決定する処理フローを示す図である。
図11、図12A~図12F、および図13A~図13Cは、実施例1における面内予測の予測モードを決定する処理フローを示す図である。
具体的には、図11は、図5Aおよび図5Bに示す4画素×4画素のブロックにおける面内予測の予測モードを決定する処理フローの概要を示す図である。図12Aは、図11に示すS30の処理の詳細を示すフロー図である。図12Bは、図11に示すS56の処理の詳細を示すフロー図である。図12Cは、図11に示すS52の処理の詳細を示すフロー図である。図12Dは、図11に示すS57の処理の詳細を示すフロー図である。図12Eは、図11に示すS54の処理の詳細を示すフロー図である。図12Fは、図11に示すS70の処理の詳細を示すフロー図である。また、図13Aは、図11に示すS40の処理の詳細を示すフロー図である。図13Bは、図11に示すS60の処理の詳細を示すフロー図である。図13Cは、図11に示すS80の処理の詳細を示すフロー図である。
面内予測部14は、図5Aおよび図5Bに示す予測モードの使用が許される画像符号化方式において、図11に示す処理フローで予測モードを決定する。
まず、粗予測モード決定部141は、粗い粒度で予測方向を決定する。すなわち粗予測モード決定部141は、複数の粗予測モードの符号化コストを算出する(S30)。具体的には、粗予測モード決定部141は、あらかじめ決定された一部の予測モード(複数の粗予測モード)として図5Aに示す1、2、4、7、10の予測方向(予測モード)についてそれぞれ、コスト算出部143を用いて符号化コストを算出する。
具体的には、図12Aに示すように、複数の粗予測モードの符号化コストを順次算出する。すなわち、まず、S301において予測モード1の符号化コストを算出し、続いて、S302において予測モード2の符号化コストを算出する。続いて、S303において予測モード4の符号化コストを算出し、S304において予測モード7の符号化コストを算出する。続いて、S305において予測モード10の符号化コストを算出する。
次に、粗予測モード決定部141は、S30で算出した複数の粗予測モードの中から最も符号化効率の高い予測モードが含まれる予測方向を絞り込むためのモード判定処理を行う(S40)。
具体的には、粗予測モード決定部141は、S30で算出した複数の粗予測モードの符号化コストに基づいて、複数の粗予測モードの中から一つの粗予測モードを決定することで、モード選択部142で用いる複数の予測モードに絞り込むためのモード判定処理を行う。
例えば、粗予測モード決定部141は、複数の粗予測モード(予測モード1、2、4、7、10)の中で、予測モード7の符号化コストが最も低いと判定(決定)した場合には、予測モード7と予測モード1との区間を、モード選択部142で用いる複数の予測モードが含まれる領域(予測モード候補群)を示すモードAとして絞り込む(決定する)。また、粗予測モード決定部141は、上記複数の粗予測モードの中で、予測モード10の符号化コストが最も低いと判定した場合には、予測モード2と予測モード10との区間を、モード選択部142で用いる複数の予測モードが含まれる領域(予測モード候補群)を示すモードBとして絞り込む。
また、粗予測モード決定部141は、上記複数の粗予測モードの中で、予測モード4の符号化コストが最も低いと判定した場合には、予測モード4に隣接する粗予測モード(予測モード1と予測モード2)の中で符号化コストの低い方の粗予測モードとの区間を、モード選択部142で用いる複数の予測モードが含まれる領域(予測モード候補群)を示すモードCまたはモードDとして絞り込む。
また、粗予測モード決定部141は、上記複数の粗予測モードの中で、予測モード1の符号化コストが最も低いと判定した場合には、予測モード1に隣接する粗予測モード(予測モード4と予測モード7)の中で符号化コストの低い方の粗予測モードとの区間を、モード選択部142で用いる複数の予測モードが含まれる領域(予測モード候補群)を示すモードAまたはモードCとして絞り込む。同様に、粗予測モード決定部141は、上記複数の粗予測モードの中で、予測モード2の符号化コストが最も低いと判定した場合には、予測モード2に隣接する粗予測モード(予測モード4と予測モード10)の中で符号化コストの低い方の粗予測モードとの区間を、モード選択部142で用いる複数の予測モードが含まれる領域(予測モード候補群)を示すモードBまたはモードDとして絞り込む。
なお、上記モードA~モードDは、例えば、3以上の予測モード候補群すなわち複数の予測モードが仮想的に3以上にグルーピングされた予測モード候補群の一例である。
上記のモード判定処理を、図13Aを用いてより具体的に説明する。
S40に示すモード判定処理では、図13Aに示すように、算出された複数の粗予測モードの符号化コストの中で一番小さな符号化コスト(BestMode)の粗予測モードを決定することで、モード選択部142で用いる複数の予測モード(予測モード候補群)に絞り込む。
より詳細には、まず、S401においてBestModeが予測モード7であるかを判定する。BestModeが予測モード7である場合(S401でYes)、予測モード7に隣接する粗予測モード(予測モード1)を決定する(S402)。そして、予測モード7と予測モード1とを含む区間を示すモードAを、モード選択部142で用いる(選択対象の)複数の予測モードが含まれる区間(予測モード候補群)として絞り込む(S403)。
BestModeが予測モード7でない場合(S401でNo)、S404においてBestModeが予測モード10であるかを判定する。BestModeが予測モード10である場合(S404でYes)、予測モード10に隣接する粗予測モード(予測モード2)を決定する(S405)。そして、予測モード10と予測モード2とを含む区間を示すモードBを、モード選択部142で用いる複数の予測モードが含まれる区間(予測モード候補群)として絞り込む(S406)。
BestModeが予測モード10でない場合(S404でNo)、S407においてBestModeが予測モード4であるかを判定する。BestModeが予測モード4である場合(S404でYes)、さらにS408において、予測モード10に隣接する粗予測モード(予測モード1および予測モード2)のうちで、どちらがより符号化コストが低いか判定する。予測モード1の方が、符号化コストが低い場合(S408でYes)、予測モード4に隣接する粗予測モードを予測モード1と決定する(S409)。そして、予測モード4と予測モード1とを含む区間を示すモードCを、モード選択部142で用いる複数の予測モードが含まれる区間(予測モード候補群)として絞り込む(S410)。一方、予測モード2の方が、符号化コストが低い場合(S408でNo)、予測モード4に隣接する粗予測モードを予測モード2と決定する(S411)。そして、予測モード4と予測モード2とを含む区間を示すモードDを、モード選択部142で用いる複数の予測モードが含まれる区間(予測モード候補群)として絞り込む(S412)。
なお、BestModeが予測モード4でない場合(S407でNo)、S413においてBestModeが予測モード1であるかを判定する。BestModeが予測モード1である場合(S413でYes)、さらにS414において、予測モード1に隣接する粗予測モード(予測モード4および予測モード7)のうちで、どちらがより符号化コストが低いか判定する。予測モード7の方が、符号化コストが低い場合(S414でNo)、S402に進み、予測モード1に隣接する粗予測モードを予測モード7と決定する。そして、S403において、予測モード1と予測モード7とを含む区間を示すモードAを、モード選択部142で用いる複数の予測モードが含まれる区間(予測モード候補群)として絞り込む。一方、予測モード4の方が、符号化コストが低い場合(S414でYes)、S409において予測モード1に隣接する粗予測モードを予測モード4と決定する。そして、S410において予測モード4と予測モード1とを含む区間を示すモードCを、モード選択部142で用いる複数の予測モードが含まれる区間(予測モード候補群)として絞り込む。
また、S413において、BestModeが予測モード1でない場合(S413でNo)、S415において、予測モード2に隣接する粗予測モード(予測モード4および予測モード10)のうちで、どちらがより符号化コストが低いか判定する。予測モード10の方が、符号化コストが低い場合(S415でYes)、S405に進み、予測モード2に隣接する粗予測モードを予測モード10と決定する。そして、S406において、予測モード2と予測モード10とを含む区間を示すモードBを、モード選択部142で用いる複数の予測モードが含まれる区間(予測モード候補群)として絞り込む。一方、予測モード4の方が、符号化コストが低い場合(S415でYes)、S411に進み、予測モード2に隣接する粗予測モードを予測モード4と決定する。そして、S412において、予測モード2と予測モード4とを含む区間を示すモードDを、モード選択部142で用いる複数の予測モードが含まれる区間(予測モード候補群)として絞り込む。
このようにしてモード選択部142で用いる複数の予測モードに絞り込むためのモード判定処理を行う。
次に、S51~S60において、モード選択部142は、粗予測モード決定部141によって決定された(絞り込まれた)モードを判定し、判定したモードに含まれる予測モード(複数の予測モード)の符号化コストに基づいて、複数の予測モードの中から、符号化対象ブロックで用いる予測モードを選択する。
具体的には、S51において、モード選択部142は、粗予測モード決定部141によりモードAが絞り込まれた(決定された)かどうかを判定する。
モード選択部142は、粗予測モード決定部141によりモードAが決定されたと判定する場合(S51でYes)、コスト算出部143を用いて、モードAに含まれる複数の予測モードである予測モード6、13、14について符号化コストを算出する(S52)。さらに、モード選択部142は、S30で算出した予測モード1、7の符号化コストと合わせて、何れが最も符号化に適した予測モードかを判定するモード判定Eを行う(S60)。ここで、S52の処理の詳細について図12Cを用いて説明する。コスト算出部143は、図12Cに示すように、複数の予測モードの符号化コストを順次算出する。すなわち、まず、S521において予測モード6の符号化コストを算出し、S522において予測モード13の符号化コストを算出する。続いて、S523において予測モード14の符号化コストを算出する。そして、S524においてモード判定Eを行うために、変数に上記複数の予測モード(予測モード6、13、14)を代入する。
モード選択部142は、粗予測モード決定部141によりモードAは決定されていないと判定する場合(S51でNo)、S53において、モード選択部142は、粗予測モード決定部141によりモードBが決定されたかどうかを判定する。
モード選択部142は、粗予測モード決定部141によりモードBが決定されたと判定する場合(S53でYes)、コスト算出部143を用いて、モードBに含まれる複数の予測モードである予測モード9、17、18について符号化コストを算出する(S54)。さらに、モード選択部142は、S30で算出した予測モード2、10の符号化コストと合わせて、何れが最も符号化に適した予測モードかを判定するモード判定Eを行う(S60)。ここで、S54の処理の詳細について図12Eを用いて説明する。コスト算出部143は、図12Eに示すように、複数の予測モードの符号化コストを順次算出する。すなわち、まず、S541において予測モード9の符号化コストを算出し、S542において予測モード17の符号化コストを算出する。続いて、S543において予測モード18の符号化コストを算出する。そして、S544においてモード判定Eを行うために、変数に上記複数の予測モード(予測モード9、17、18)を代入する。
モード選択部142は、粗予測モード決定部141によりモードBは決定されていないと判定する場合(S53でNo)、S55において、モード選択部142は、粗予測モード決定部141によりモードCが決定されたかどうかを判定する。
モード選択部142は、粗予測モード決定部141によりモードCが決定されたと判定する場合(S55でYes)、コスト算出部143を用いて、モードCに含まれる複数の予測モードである予測モード5、11、12について符号化コストを算出する(S56)。さらに、S30で算出した予測モード1、4のコストと合わせて、何れが最も符号化に適した予測モードかを判定するモード判定Eを行う(S60)。ここで、S56の処理の詳細について図12Bを用いて説明する。コスト算出部143は、図12Bに示すように、複数の予測モードの符号化コストを順次算出する。すなわち、まず、S561において予測モード5の符号化コストを算出し、S562において予測モード11の符号化コストを算出する。続いて、S563において予測モード12の符号化コストを算出する。そして、S564においてモード判定Eを行うために、変数に上記複数の予測モード(予測モード5、11、12)を代入する。
モード選択部142は、粗予測モード決定部141によりモードCは決定されていないと判定する場合(S55でNo)、S57において、モード選択部142は、粗予測モード決定部141によりモードDが決定されたと判定する。次いで、コスト算出部143を用いて、モードCに含まれる複数の予測モードである予測モード8、15、16について符号化コストを算出する(S57)。さらに、S30で算出した予測モード2、4のコストと合わせて、何れが最も符号化に適した予測モードかを判定するモード判定Eを行う(S60)。ここで、S57の処理の詳細について図12Dを用いて説明する。コスト算出部143は、図12Dに示すように、複数の予測モードの符号化コストを順次算出する。すなわち、まず、S571において予測モード8の符号化コストを算出し、S572において予測モード15の符号化コストを算出する。続いて、S573において予測モード16の符号化コストを算出する。そして、S574においてモード判定Eを行うために、変数に上記複数の予測モード(予測モード8、15、16)を代入する。
S60において、モード判定Eとして、図13Bに示すように、モード選択部142は、符号化コストに基づいて、複数の予測モードの中から、符号化コストの最も低い予測モードを選択する。
ここで、例えば、粗予測モード決定部141によりモードAが決定された場合を例に挙げて説明する。この場合、図13A、図13Bにおいて、a=予測モード1、b=予測モード7、c=予測モード6、d=予測モード13、e=予測モード14である。
モード選択部142は、まず、S601においてBestModeが予測モード1であるかを判定する。BestModeが予測モード1である場合(S601でYes)、符号化コストの最も低い予測モードである予測モード1を選択する(S602)。
一方、S601において、BestModeが予測モード1でない場合(S601でNo)、S603においてBestModeが予測モード7であるかを判定する。BestModeが予測モード7である場合(S603でYes)、符号化コストの最も低い予測モードである予測モード7を選択する(S604)。
また、S603において、BestModeが予測モード7でない場合(S603でNo)、S605においてBestModeが予測モード6であるかを判定する。BestModeが予測モード6である場合(S605でYes)、符号化コストの最も低い予測モードである予測モード7を選択する(S606)。
また、S605において、BestModeが予測モード6でない場合(S605でNo)、S607においてBestModeが予測モード13であるかを判定する。BestModeが予測モード13である場合(S607でYes)、符号化コストの最も低い予測モードである予測モード13を選択する(S608)。
また、S607において、BestModeが予測モード13でない場合(S607でNo)、BestModeが予測モード14であると判定し、符号化コストの最も低い予測モードである予測モード14を選択する(S609)。
なお、粗予測モード決定部141によりモードB、CまたはDが決定された場合を同様であるので、説明は省略する。
次に、モード選択部142は、粗予測モード決定部141によって決定された(絞り込まれた)モードを判定し、判定したモードに含まれる予測モード(複数の予測モード)の符号化コストに基づいて、複数の予測モードの中から、符号化対象ブロックで用いる予測モードを選択する。
次に、モード選択部142は、上記のように選択した予測モードと、予測方向に依存しないすべての予測モードとの中から、符号化コストの最も低い予測モードを選択し、選択した予測モードを符号化対象ブロックで用いる最終的な予測モードとする。具体的には、モード選択部142は、コスト算出部143を用いて予測方向に依存しない予測モードの符号化コストを算出し(S70)、S60で選択した予測モード(予測方向をもつ予測モードの内、最も面内符号化に適した予測モード)の符号化コストと比較して、最終的な予測モードを決定するモード判定Fを行う(S80)。
ここで、S70の処理の詳細について図12Fを用いて説明する。コスト算出部143は、図12Fに示すように、複数の予測モードの符号化コストを順次算出する。すなわち、まず、S701において予測モード0の符号化コストを算出し、S702において予測モード3の符号化コストを算出する。
続いて、S80の処理の詳細について図13Cを用いて説明する。モード選択部142は、まず、S801において、上記のように選択した予測モードと、予測方向に依存しないすべての予測モードとの中で、BestModeが予測モード0であるかを判定する。BestModeが予測モード0である場合(S801でYes)、符号化対象ブロックで用いる最終的な予測モードとして予測モード0を選択する(S802)。
一方、S801において、BestModeが予測モード0でない場合(S801でNo)、S803においてBestModeが予測モード3であるかを判定する。BestModeが予測モード3である場合(S603でYes)、符号化対象ブロックで用いる最終的な予測モードとして予測モード3を選択する(S804)。
また、S803において、BestModeが予測モード3でない場合(S803でNo)、S60で判定(選択)した予測モードがBestModeであるとして、符号化対象ブロックで用いる最終的な予測モードとしてその予測モード(図中予測モードh)を選択する(S815)。
こうすることによって、例えば図1Aおよび図1Bに示す全ての予測モードに対して符号化コストを算出するために必要な演算量と、図5Aおよび図5Bに示す予測モードの中から最適と思われる予測モードを決定するために必要な演算量とがほぼ同じ、少なくとも予測方向に依存する予測モードの中から最適と思われる予測モードを絞り込むために必要なコスト計算の回数が同じになる。
したがって、H.264を上回る予測モード数を要する符号化方式であっても、回路規模または演算量を抑えつつ、面内予測を行うことができる。
次に、面内予測部14が図6Aおよび図6Bに示す8画素×8画素のブロックにおける面内予測の予測モードを決定する処理の詳細を実施例2として説明する。
(実施例2)
図12A~図12F、図13A~図13C、図14、図15A~図15C、図16、及び図17A~図17Dは、実施例2における面内予測の予測モードを決定する処理フローを示す図である。なお、実施例2では、粗予測モード決定部141が二段階(2階層)の絞込みをする場合の例として説明する。
図12A~図12F、図13A~図13C、図14、図15A~図15C、図16、及び図17A~図17Dは、実施例2における面内予測の予測モードを決定する処理フローを示す図である。なお、実施例2では、粗予測モード決定部141が二段階(2階層)の絞込みをする場合の例として説明する。
具体的には、図14は、図6Aおよび図6Bに示す8画素×8画素のブロックにおける面内予測の予測モードを決定する処理フローの概要を示す図である。なお、図11、図12A~図12F、および図13A~図13Cと同様の要素には同一の符号を付しており、詳細な説明は省略する。また、図15Aは、図14に示すS61の処理の詳細を示すフロー図である。図15Bは、図11に示すS63の処理の詳細を示すフロー図である。図15Cは、図14に示すS81の処理の詳細を示すフロー図である。図16は、図14に示すS62の処理の詳細を示すフロー図である。また、図17Aは、図16に示すS6211の処理の詳細を示すフロー図である。図17Bは、図16に示すS6214の処理の詳細を示すフロー図である。図17Cは、図16に示すS6216の処理の詳細を示すフロー図である。図17Dは、図16に示すS6217の処理の詳細を示すフロー図である。
面内予測部14は、図6Aおよび図6Bまたは図7Aおよび図7Bに示す予測モードすなわち図2Aおよび図2Bに示すH.264で規定された予測方向の4倍程度の予測モードを持ち、また予測方向に依存しない予測モードもH.264で規定されている以上に有する予測モードの使用が許される画像符号化方式において、図14に示す処理フローで予測モードを決定する。
まず、粗予測モード決定部141は、粗い粒度で予測方向を決定する。すなわち第1粗予測モード決定部1411は、複数の粗予測モードの符号化コストを算出する(S30)。具体的には、第1粗予測モード決定部1411は、あらかじめ決定された一部の予測モード(複数の第1粗予測モード)として図6A(または図7A)に示す、1、2、4、7、10の予測方向(予測モード)について、それぞれ符号化コストを算出する。なお、ここでの具体的な処理については、図12Aで説明した通りであるので説明を省略する。
次に、第1粗予測モード決定部1411は、S30で算出した複数の第1粗予測モードの中から最も符号化効率の高い予測モードが含まれる予測方向を絞り込むためのモード判定処理を行う(S40)。
具体的には、第1粗予測モード決定部1411は、S30で算出した複数の第1粗予測モードの符号化コストに基づいて、複数の第1粗予測モードの中から一つの第1粗予測モードを決定することで、第2粗予測モード決定部1412で用いる複数の第2予測モードに絞り込むためのモード判定処理を行う。なお、ここでの具体的な処理については、図13Aで説明した通りであるので説明を省略する。
なお、本実施例におけるモードA~モードDは、例えば、3以上の第1階層予測モード候補群すなわち複数の予測モードが仮想的に3以上にグルーピングされた第1階層予測モード候補群の一例である。
次に、S51~S61において、第2粗予測モード決定部1412は、第1粗予測モード決定部1411によって決定された(絞り込まれた)モードを判定し、判定したモードに含まれる予測モード(複数の第2予測モード)の符号化コストに基づいて、複数の第2粗予測モードの中から、一つの第2粗予測モードをさらに絞り込む(決定する)。
具体的には、S51において第2粗予測モード決定部1412は、第1粗予測モード決定部1411によりモードAが絞り込まれた(決定された)かどうかを判定する。
第2粗予測モード決定部1412は、第1粗予測モード決定部1411によりモードAが決定されたと判定する場合(S51でYes)、コスト算出部143を用いて、モードAに含まれる複数の第2予測モードである予測モード6、13、14について符号化コストを算出する(S52)。そして、第2粗予測モード決定部1412は、S30で算出した予測モード1、7の符号化コストと合わせて、何れが最も符号化に適した予測モードかを判定するモード判定E’を行う(S61)。なお、S52の処理の詳細については図12Cで説明した通りであるため、説明を省略する。
第2粗予測モード決定部1412は、第1粗予測モード決定部1411によりモードAは決定されていないと判定する場合(S51でNo)、S53において、第2粗予測モード決定部1412は、第1粗予測モード決定部1411によりモードBが決定されたかどうかを判定する。
第2粗予測モード決定部1412は、第1粗予測モード決定部1411によりモードBが決定されたと判定する場合(S53でYes)、コスト算出部143を用いて、モードBに含まれる複数の第2予測モードである予測モード9、17、18について符号化コストを算出する(S54)。そして、第2粗予測モード決定部1412は、S30で算出した予測モード2、10の符号化コストと合わせて、何れが最も符号化に適した予測モードかを判定するモード判定E’を行う(S61)。ここで、S54の処理の詳細については図12Eで説明した通りであるため、説明を省略する。
第2粗予測モード決定部1412は、第1粗予測モード決定部1411によりモードBは決定されていないと判定する場合(S53でNo)、S55において、モード選択部142は、第1粗予測モード決定部1411によりモードCが決定されたかどうかを判定する。
第2粗予測モード決定部1412は、第1粗予測モード決定部1411によりモードCが決定されたと判定する場合(S55でYes)、コスト算出部143を用いて、モードCに含まれる複数の第2予測モードである予測モード5、11、12について符号化コストを算出する(S56)。そして、第2粗予測モード決定部1412は、S30で算出した予測モード1、4のコストと合わせて、何れが最も符号化に適した予測モードかを判定するモード判定E’を行う(S61)。ここで、S54の処理の詳細については図12Bで説明した通りであるため、説明を省略する。
第2粗予測モード決定部1412は、第1粗予測モード決定部1411によりモードCは決定されていないと判定する場合(S55でNo)、S57において、第2粗予測モード決定部1412は、第1粗予測モード決定部1411によりモードDが決定されたと判定する。第2粗予測モード決定部1412は、コスト算出部143を用いて、モードCに含まれる複数の第2予測モードである予測モード8、15、16について符号化コストを算出する(S57)。そして、第2粗予測モード決定部1412は、S30で算出した予測モード2、4のコストと合わせて、何れが最も符号化に適した予測モードかを判定するモード判定E’を行う(S61)。なお、S57の処理の詳細について図12Dで説明した通りであるため、説明を省略する。
S61では、モード判定E’として、図15Aに示すように、第2粗予測モード決定部1412は、符号化コストに基づいて、複数の第2予測モードの中から、符号化コストの最も低い第2予測モードを決定する。このモード判定処理E’を、図15Aを用いてより具体的に説明する。
図15Aに示すように、S61(モード判定処理E’)において、第2粗予測モード決定部1412は、算出された複数の第2粗予測モードの符号化コストの中で一番小さな符号化コスト(BestMode)の第2粗予測モードを決定することで、モード選択部142で用いる複数の予測モードに絞り込む。
ここで、例えば、第1粗予測モード決定部141によりモードAが決定された場合を例に挙げて説明する。この場合、図13A、図15Aにおいて、a=予測モード1、b=予測モード7、c=予測モード6、d=予測モード13、e=予測モード14である。
S6112において、第2粗予測モード決定部1412は、BestModeが予測モード7であるかを判定する。BestModeが予測モード7であると判定した場合(S6110でYes)、予測モード7に隣接する第2粗予測モード(予測モード14)を決定する。第2粗予測モード決定部1412は、予測モード7と予測モード14とを含む区間を示すモードA’を、モード選択部142で用いる(選択対象の)複数の予測モードが含まれる区間(予測モード候補群)として絞り込む(S6111)。
第2粗予測モード決定部1412は、BestModeが予測モード7でない場合(S6110でNo)、S6112においてBestModeが予測モード1であるかを判定する。BestModeが予測モード1である場合(S6112でYes)、第2粗予測モード決定部1412は、予測モード1に隣接する第2粗予測モード(予測モード13)を決定する。第2粗予測モード決定部1412は、予測モード1と予測モード13とを含む区間を示すモードB’を、モード選択部142で用いる複数の予測モードが含まれる区間(予測モード候補群)として絞り込む(S6113)。
第2粗予測モード決定部1412は、BestModeが予測モード1でない場合(S6112でNo)、S6114においてBestModeが予測モード6であるかを判定する。第2粗予測モード決定部1412は、BestModeが予測モード6である場合(S6114でYes)、さらにS6115において、予測モード6に隣接する粗予測モード(予測モード14および予測モード13)のうちで、どちらがより符号化コストが低いか判定する。予測モード13の方が、符号化コストが低い場合(SS6115でYes)、予測モード6に隣接する第2粗予測モードを予測モード13と決定する。第2粗予測モード決定部1412は、予測モード6と予測モード13とを含む区間を示すモードC’を、モード選択部142で用いる複数の予測モードが含まれる区間(予測モード候補群)として絞り込む(S6116)。一方、予測モード14の方が、符号化コストが低い場合(S6115でNo)、予測モード6に隣接する第2粗予測モードを予測モード14と決定する。第2粗予測モード決定部1412は、予測モード6と予測モード14とを含む区間を示すモードD’を、モード選択部142で用いる複数の予測モードが含まれる区間(予測モード候補群)として絞り込む(S6117)。
なお、S6114において、BestModeが予測モード6でない場合(S6114でNo)、S6118においてBestModeが予測モード13であるかを判定する。
第2粗予測モード決定部1412はBestModeが予測モード13である場合(S6118でYes)、さらにS6119において、予測モード13に隣接する第2粗予測モード(予測モード1および予測モード6)のうちで、どちらがより符号化コストが低いか判定する。予測モード1の方が、符号化コストが低い場合(S6119でNo)、S6113に進み、予測モード13に隣接する第2粗予測モードを予測モード1と決定する。すなわち、第2粗予測モード決定部1412は、予測モード13と予測モード1とを含む区間を示すモードB’を、モード選択部142で用いる複数の予測モードが含まれる区間(予測モード候補群)として絞り込む。一方、予測モード6の方が、符号化コストが低い場合(S6119でYes)、S6113に進み、予測モード13に隣接する第2粗予測モードを予測モード6と決定する。すなわち、第2粗予測モード決定部1412は、予測モード13と予測モード6とを含む区間を示すモードC’を、モード選択部142で用いる複数の予測モードが含まれる区間(予測モード候補群)として絞り込む。
また、S6118において、BestModeが予測モード13でない場合(S6113でNo)、S6120において、予測モード14に隣接する第2粗予測モード(予測モード7および予測モード6)のうちで、どちらがより符号化コストが低いか判定する。予測モード6の方が、符号化コストが低い場合(S6120でYes)、S6117に進み、予測モード14に隣接する第2粗予測モードを予測モード6と決定する。すなわち、第2粗予測モード決定部1412は、予測モード14と予測モード6とを含む区間を示すモードD’を、モード選択部142で用いる複数の予測モードが含まれる区間(予測モード候補群)として絞り込む。一方、予測モード7の方が、符号化コストが低い場合(S46120でNo)、S6111に進み、予測モード14に隣接する第2粗予測モードを予測モード7と決定する。すなわち、第2粗予測モード決定部1412は、予測モード14と予測モード7とを含む区間を示すモードA’を、モード選択部142で用いる複数の予測モードが含まれる区間(予測モード候補群)として絞り込む。
なお、第1粗予測モード決定部141によりモードB、C、Dが決定された場合も同様であるため、説明を省略する。
このようにしてモード選択部142で用いる複数の予測モードに絞り込むためのモード判定E’の処理(S61)を行う。
次に、S62において、モード選択部142は、第2粗予測モード決定部1412によって決定された(絞り込まれた)モードを判定し、判定したモードに含まれる予測モードの符号化コストに基づいて、複数の予測モードの中から、符号化対象ブロックで用いる予測モードを選択する。
この処理を、図16、図17A~図17Dを用いて具体的に説明する。
S61において、まず、モード選択部142は、第1粗予測モード決定部1411によりモードAが絞り込まれた(決定された)かどうかを判定する(S6210)。
モード選択部142は、第1粗予測モード決定部1411によりモードAが決定されたと判定する場合(S6210でYes)、図17Aに示すコスト算出Aの処理を開始する(S6211)。
図17Aに示すように、S6211では、まず、モード選択部142は、第2粗予測モード決定部1412によりモードA’が決定されたかどうかを判定する(S911)。
モード選択部142は、第2粗予測モード決定部1412によりモードA’が決定されたと判定する場合(S911でYes)、コスト算出部143を用いて、モードA’に含まれる複数の予測モードである予測モード23について符号化コストを算出する(S912)。そして、モード選択部142は、S30およびS52で算出した複数の予測モードである予測1、13の符号化コストと合わせて(S913)、何れが最も符号化に適した予測モードかを判定するモード判定E”を行う(S63)。一方、モード選択部142は、第2粗予測モード決定部1412によりモードA’が決定されていないと判定する場合(S911でNo)、S914において、モード選択部142は、第2粗予測モード決定部1412によりモードD’が決定されたかどうかを判定する。
また、モード選択部142は、第2粗予測モード決定部1412によりモードD’が決定されたと判定する場合(S914でYes)、コスト算出部143を用いて、モードD’に含まれる複数の予測モードである予測モード26について符号化コストを算出する(S915)。そして、モード選択部142は、S30およびS52で算出した第2粗予測モード7、14の符号化コストと合わせて(S916)、何れが最も符号化に適した予測モードかを判定するモード判定E”を行う(S63)。一方、モード選択部142は、第2粗予測モード決定部1412によりモードD’が決定されていないと判定する場合(S914でNo)、S917において、モード選択部142は、第2粗予測モード決定部1412によりモードC’が決定されたかどうかを判定する。
モード選択部142は、第2粗予測モード決定部1412によりモードC’が決定されたと判定する場合(S917でYes)、コスト算出部143を用いて、モードC’に含まれる複数の予測モードである予測モード24について符号化コストを算出する(S918)。そして、モード選択部142は、S52で算出した複数の予測モードである予測モード6、13の符号化コストと合わせて(S919)、何れが最も符号化に適した予測モードかを判定するモード判定E”を行う(S63)。また、モード選択部142は、第2粗予測モード決定部1412によりモードC’が決定されていないと判定する場合(S917でNo)、モード選択部142は、第2粗予測モード決定部1412によりモードB’が決定されたと判定し、コスト算出部143を用いて、モードB’に含まれる複数の予測モードである予測モード25について符号化コストを算出する(S920)。そして、モード選択部142は、S30およびS52で算出した複数の予測モードである予測モード6、14の符号化コストと合わせて(S920)、何れが最も符号化に適した予測モードかを判定するモード判定E”を行う(S63)。
次に、モード選択部142は、第1粗予測モード決定部1411によりモードAが決定されていないと判定する場合(S6210でNo)、S6213において、第1粗予測モード決定部1411によりモードBが決定されたかどうかを判定する。
モード選択部142は、第1粗予測モード決定部1411によりモードBが決定されたと判定する場合(S6213でYes)、図17Bに示すコスト算出Aの処理を開始する(S6214)。なお、図17Bに示すコスト算出Bの処理S931~S941は、図17Aに示すコスト算出Aの処理S911~S921と同様のため、説明を省略する。
次に、モード選択部142は、第1粗予測モード決定部1411によりモードBが決定されていないと判定する場合(S6213でNo)、S6215において、第1粗予測モード決定部1411によりモードCが決定されたかどうかを判定する。
モード選択部142は、第1粗予測モード決定部1411によりモードCが決定されたと判定する場合(S6215でYes)、図17Cに示すコスト算出Cの処理を開始する(S6216)。なお、図17Cに示すコスト算出Cの処理S951~S961は、図17Aに示すコスト算出Aの処理S911~S921と同様のため、説明を省略する。
次に、モード選択部142は、第1粗予測モード決定部1411によりモードCが決定されていないと判定する場合(S6215でNo)、第1粗予測モード決定部1411によりモードCが決定されたと判定し、図17Dに示すコスト算出Cの処理を開始する(S6217)。なお、図17Dに示すコスト算出Dの処理S971~S981は、図17Aに示すコスト算出Aの処理S911~S921と同様のため、説明を省略する。
次に、S63において、モード判定E”として、図15Bに示すように、モード選択部142は、符号化コストに基づいて、複数の予測モードの中から、符号化コストの最も低い予測モードを選択する。
ここで、例えば、第1粗予測モード決定部1411によりモードAが決定され、第2粗予測モード決定部1412によりモードA’が決定された場合を例に挙げて説明する。この場合、図15Bにおいて、l=予測モード1、m=予測モード13、n=予測モード23である。
モード選択部142は、まず、S6310においてBestModeが予測モード1であるかを判定する。BestModeが予測モード1である場合(S6310でYes)、符号化コストの最も低い予測モードである予測モード1を選択する(S6311)。
S6310において、BestModeが予測モード1でない場合(S6310でNo)、S6312においてBestModeが予測モード13であるかを判定する。BestModeが予測モード13である場合(S6312でYes)、符号化コストの最も低い予測モードである予測モード13を選択する(S6314)。
S6312において、BestModeが予測モード13でない場合(S6312でNo)、モード選択部142は、BestModeが予測モード23であると判定し、符号化コストの最も低い予測モードである予測モード13を選択する(S6314)。
なお、第2粗予測モード決定部1412によりモードB’、C’、D’が決定された場合も同様であるので、説明は省略する。さらに、第1粗予測モード決定部1411によりモードAによりモードB、CまたはDが決定され、さらに第2粗予測モード決定部1412によりモードA’、B’、C’D’が決定された場合も同様であるので、説明は省略する。
なお、上記モードA’~モードD’は、例えば、複数の第2階層予測モード候補群すなわち第1階層候補群に属する複数の予測モードが仮想的に複数の群にグルーピングされた第2階層予測モード候補群の一例である。
次に、S70およびS81において、モード選択部142は、さらに、コスト算出部143を用いて予測方向に依存しない予測モードの符号化コストを算出し、S63で選択した予測モードの符号化コストと比較して、符号化コストの最も低い予測モードを選択し、選択した予測モードを符号化対象ブロックで用いる最終的な予測モードとする。
なお、図15Cに示すS81の処理の詳細については、図13Cと同様のため説明を省略する。
こうすることによって、例えば図2Aおよび図2Bに示す全ての予測モードに対して符号化コストを算出するために必要な演算量と、図6Aおよび図6Bに示す予測モードの中から最適と思われる予測モードを決定するために必要な演算量とがほぼ同じ、少なくとも予測方向に依存する予測モードの中から最適と思われる予測モードを絞り込むために必要なコスト計算の回数が僅か1回多いだけで済む。
つまり、全ての予測を行わない方法として、代表的な予測方向で粗く予測(粗予測)を行い、粗予測の際に最も符号化コストの低いと評価した粗予測の予測モードを含む予測モード候補群に属する複数の予測モードに絞りこみ、絞り込んだ予測モードの中で、符号化対象ブロックで用いる予測モードを決定する(細かい粒度で予測を行う)。さらに、予測方向に依存しない予測モードとも比較を行った上で、最終的に最も符号化に適した予測モードを選択する。ここで、上述したように、周辺の画素の予測方向の情報は使っていない。
したがって、H.264を上回る予測モード数を要する符号化方式であっても、回路規模または演算量を抑えつつ、面内予測を行うことができる。
以上、実施の形態1によれば、面内予測の予測モードを決定するための演算量を抑えつつ、符号化効率を向上することができる画像符号化装置等を実現することができる。
(実施の形態2)
実施の形態1では、面内予測の予測モードを決定するための演算量を抑える方法として、全ての予測を行うのではなく、代表的な予測方向で粗く予測(粗予測)を行った。そして、粗予測の際に最も符号化コストの低いと評価した粗予測の予測モードを含む予測モード候補群に属する複数の予測モードに絞りこみ、絞り込んだ予測モードの中で、符号化対象ブロックで用いる予測モードを決定したが、それに限らない。
実施の形態1では、面内予測の予測モードを決定するための演算量を抑える方法として、全ての予測を行うのではなく、代表的な予測方向で粗く予測(粗予測)を行った。そして、粗予測の際に最も符号化コストの低いと評価した粗予測の予測モードを含む予測モード候補群に属する複数の予測モードに絞りこみ、絞り込んだ予測モードの中で、符号化対象ブロックで用いる予測モードを決定したが、それに限らない。
全ての予測を行わない方法として、例えば、所定の予測方向(予測モード)を基点として、その予測方向に隣接する予測モードとの符号化コストを比較して、所定の予測モードの符号化コストの方が低い場合には、所定の予測モードを符号化に適した予測モードと決定するとしてもよい。なお、隣接する予測モードの符号化コストの方が低い場合には、さらに、その隣接する予測モードを基点として(所定の予測モードとして)、それに隣接する予測モードとの符号化コストを比較するという手順を繰り返すとしてもよい。
以下、具体的構成を用いて説明する。なお、実施の形態2では、図8~図10Aの構成は同じであり、違う点は、モード選択部242の構成とその処理である。
図18は、実施の形態2におけるモード選択部242の詳細構成を示す図である。
図18に示すモード選択部242は、比較部2421と、選定部2422を備える。
比較部2421は、所定の予測モードの符号化コストと、その所定の予測モードの予測方向に隣接する予測方向の他の予測モードの符号化コストとの比較を行う。
選定部2422は、上記所定の予測モードの符号化コストが上記他の予測モードの符号化コストより低い場合に、上記所定の予測モードを符号化対象ブロックで用いる予測モードとして選定する。選定部2422は、上記所定の予測モードの符号化コストが上記他の予測モードの符号化コストより高い場合、上記他の予測モードを新たに所定の予測モードとして比較部2421に伝達することで比較部2421に比較を行わせる。
ここで、選定部2422は、比較部2421の比較処理の開始前に、粗予測モード決定部141によって決定された粗予測モードを、所定の予測モードとして比較部に伝達することで、比較部に比較を開始させる。
なお、所定の予測モードとして伝達されるのは、実施の形態1で説明した粗予測モードでもよく、第2粗予測モードでもよい。
このようにして、H.264を上回る予測モード数を要する符号化方式であっても、回路規模または演算量を抑えつつ、面内予測を行うことができる。
(変形例1)
なお、比較部2421は、所定の予測方向(予測モード)を基点として、前記所定の予測方向の一方側に隣接する予測方向である第1の予測モードと前記所定の予測モードの予測方向の他方側に隣接する予測方向である第2の予測モードとの符号化コストを比較するとしてもよい。その場合、選定部2422は、所定の予測モードの符号化コストが第1の予測モードおよび前記第2の予測モードの符号化コストより低い場合に、所定の予測モードを符号化に適した予測モードと決定(選定)する。なお、第1の予測モードの符号化コストが所定の予測モードおよび第2の予測モードの符号化コストより低い場合、前記第1の予測モードを基点として(所定の予測モードとして)それに隣接する予測モードとの符号化コストを比較するという手順を繰り返すとすればよい。その場合、選定部2422は、第1の予測モードを所定の予測モードとして比較部2421に伝達することで比較部2421に比較を再度行わせればよい。
なお、比較部2421は、所定の予測方向(予測モード)を基点として、前記所定の予測方向の一方側に隣接する予測方向である第1の予測モードと前記所定の予測モードの予測方向の他方側に隣接する予測方向である第2の予測モードとの符号化コストを比較するとしてもよい。その場合、選定部2422は、所定の予測モードの符号化コストが第1の予測モードおよび前記第2の予測モードの符号化コストより低い場合に、所定の予測モードを符号化に適した予測モードと決定(選定)する。なお、第1の予測モードの符号化コストが所定の予測モードおよび第2の予測モードの符号化コストより低い場合、前記第1の予測モードを基点として(所定の予測モードとして)それに隣接する予測モードとの符号化コストを比較するという手順を繰り返すとすればよい。その場合、選定部2422は、第1の予測モードを所定の予測モードとして比較部2421に伝達することで比較部2421に比較を再度行わせればよい。
また、比較部2421は、第1の予測モードおよび第2の予測モードと、所定の予測モードとの間には、少なくとも一の予測モードを含むとしてもよいし、予測モードを含まないとして、これらの比較を行うとしてもよい。
(変形例2)
選定部2422は、比較部2421の比較処理の開始前に、粗予測モード決定部141によって決定された粗予測モードを、所定の予測モードとして比較部に伝達するとしたがそれに限らない。すなわち、粗予測モード決定部141を備えず、選定部2422が、所定の予測モードを一つ任意に決めるとしてもよい。その場合でも、全ての予測を行うよりは演算量が減少するため、本実施の形態の範囲に含まれる。
選定部2422は、比較部2421の比較処理の開始前に、粗予測モード決定部141によって決定された粗予測モードを、所定の予測モードとして比較部に伝達するとしたがそれに限らない。すなわち、粗予測モード決定部141を備えず、選定部2422が、所定の予測モードを一つ任意に決めるとしてもよい。その場合でも、全ての予測を行うよりは演算量が減少するため、本実施の形態の範囲に含まれる。
(変形例3)
また、選定部2422は、比較部2421の比較処理の開始前に、粗予測モード決定部141によって決定された粗予測モードを、所定の予測モードとして比較部に伝達するとしたがそれに限らない。すなわち、粗予測モード決定部141を備えず、既存にある面内予測モードの評価方法を用いて、所定の予測モードを一つ任意に決め、選定部2422が、その所定の予測モードを比較部に伝達するとしてもよい。
また、選定部2422は、比較部2421の比較処理の開始前に、粗予測モード決定部141によって決定された粗予測モードを、所定の予測モードとして比較部に伝達するとしたがそれに限らない。すなわち、粗予測モード決定部141を備えず、既存にある面内予測モードの評価方法を用いて、所定の予測モードを一つ任意に決め、選定部2422が、その所定の予測モードを比較部に伝達するとしてもよい。
このようにして、H.264を上回る予測モード数を要する符号化方式であっても、回路規模または演算量を抑えつつ、面内予測を行うことができる。
したがって、実施の形態2によれば、面内予測の予測モードを決定するための演算量を抑えつつ、符号化効率を向上することができる画像符号化装置等を実現することができる。
以上、本発明の一つまたは複数の態様に係る画像符号化装置および画像符号化方法について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つまたは複数の態様の範囲内に含まれる。
例えば、図19は、本発明の画像符号化装置を含む応用例の構成の一例を示すブロック図である。図19の応用構成1000に示すように、本発明における画像符号化部13を含む装置も本発明の範囲に含まれる。なお、図19に示される、音声符号化部1001、音声復号化部1002,画像復号化部1003、画像処理部1004、画像入出力部1005、音声入出力部1006、音声処理部1007、内部制御部1008、内部メモリ1009、メモリ入出力部1010、ストリーム入出力部1011、外部メモリ1012および外部制御部1013は、周知構成であるため説明は省略する。
また、実施の形態1および実施の形態2では、H.264の2倍、或いは4倍程度の予測モードの中から最適な予測モードを決定する場合について説明したが、本発明はこの例に限定されない。予測方向に依存した面内予測を行う場合には当然適用可能である。何れの場合にも、粗い粒度から予測方向を絞り込み、最終的に予測方向に依存しない予測モードと比較して予測モードを決定すればよい。
また、上記画像符号化装置を構成する複数の構成要素の全てまたは一部は、ハードウエアで構成されてもよい。また、上記の画像符号化装置の各々を構成する構成要素の全てまたは一部は、CPU(Central Processing Unit)等により実行されるプログラムのモジュールであってもよい。
ここで、上記各実施の形態の画像符号化装置などを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、面内予測を用いて、入力画像をブロック単位で符号化するためのプログラムであって、コンピュータに、前記面内予測に用いることができる予測方向に依存する複数の予測モードの中で、あらかじめ決定された一部の予測モードであって、前記複数の予測モードを仮想的に3以上の予測モード候補群にグルーピングしたときに当該3以上の予測モード候補群それぞれに属する一の予測モードである3以上の粗予測モードの符号化コストに基づいて、前記3以上の粗予測モードの中から符号化コストが最も低い一つの粗予測モードを決定する粗予測モード決定ステップと、前記粗予測モード決定ステップにおいて決定された粗予測モードにより絞り込まれた予測モード候補群に属する複数の予測モードそれぞれの符号化コストに基づき、前記符号化対象ブロックで用いる予測モードを選択するモード選択ステップと、前記モード選択ステップにおいて選択された前記予測モードを用いて面内予測を行うことにより、前記符号化対象ブロックを符号化する符号化ステップとを、を実行させる。
また、上記画像符号化装置の各々を構成する複数の構成要素の全てまたは一部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されてもよい。
また、画像符号化部の各々は、1個のシステムLSIから構成されてもよい。また、ストリーム生成部の各々は、1個のシステムLSIから構成されてもよい。
システムLSIは、複数の構成要素を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM(Read Only Memory)及びRAM(Random Access Memory)などを含んで構成されるコンピュータシステムである。
また、本発明は、画像符号化装置の各々が備える特徴的な構成部の動作をステップとする画像符号化方法として実現してもよい。また、本発明は、そのような画像符号化方法に含まれる各ステップをコンピュータに実行させるプログラムとして実現してもよい。また、本発明は、そのようなプログラムを格納するコンピュータ読み取り可能な記録媒体として実現されてもよい。また、当該プログラムは、インターネット等の伝送媒体を介して配信されてもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本発明は、面内符号化モード決定の処理量を抑えつつ、より精度の高い予測画像の生成が求められる符号化方式であっても、面内予測を行う画像符号化装置として、利用することができる。
1 画像符号化装置
11 制御部
12 主記憶メモリ
13 画像符号化部
14 面内予測部
15 面間予測部
16 ループフィルタ
17、18 スイッチ
19 加算器
20 周波数変換部
21 量子化部
22 逆量子化部
23 逆周波数変換部
24 ストリーム生成部
30 主記憶メモリ
141 粗予測モード決定部
142、242 モード選択部
143 コスト算出部
1411 第1粗予測モード決定部
1412 第2粗予測モード決定部
2421 比較部
2422 選定部
11 制御部
12 主記憶メモリ
13 画像符号化部
14 面内予測部
15 面間予測部
16 ループフィルタ
17、18 スイッチ
19 加算器
20 周波数変換部
21 量子化部
22 逆量子化部
23 逆周波数変換部
24 ストリーム生成部
30 主記憶メモリ
141 粗予測モード決定部
142、242 モード選択部
143 コスト算出部
1411 第1粗予測モード決定部
1412 第2粗予測モード決定部
2421 比較部
2422 選定部
Claims (11)
- 面内予測を用いて、入力画像をブロック単位で符号化する画像符号化装置であって、
前記面内予測に用いることができる予測方向に依存する複数の予測モードの中で、あらかじめ決定された一部の予測モードであって、前記複数の予測モードを仮想的に3以上の予測モード候補群にグルーピングしたときに当該3以上の予測モード候補群それぞれに属する一の予測モードである3以上の粗予測モードの符号化コストに基づいて、前記3以上の粗予測モードの中から符号化コストが最も低い一つの粗予測モードを決定する粗予測モード決定部と、
前記粗予測モード決定部によって決定された粗予測モードにより絞り込まれた予測モード候補群に属する複数の予測モードそれぞれの符号化コストに基づき、符号化対象ブロックで用いる予測モードを選択するモード選択部と、
前記モード選択部によって選択された前記予測モードを用いて面内予測を行うことにより、前記符号化対象ブロックを符号化する符号化部と、を備える
画像符号化装置。 - 前記粗予測モード決定部は、
前記面内予測に用いることができる予測方向に依存する複数の予測モードの中で、あらかじめ決定された一部の予測モードであって、前記複数の予測モードを仮想的に3以上の第1階層予測モード候補群にグルーピングしたときに当該3以上の第1階層予測モード候補群それぞれに属する一の予測モードである3つ以上の第1粗予測モードの符号化コストに基づいて、前記3つ以上の第1粗予測モードの中から符号化コストが最も低い一つの第1粗予測モードを決定する第1粗予測モード決定部と、
前記第1粗予測モード決定部によって決定された第1粗予測モードにより絞り込まれた第1階層候補群に属する複数の予測モードの中の一部の予測モードであって、前記第1階層候補群に属する複数の予測モードを仮想的に複数の第2階層予測モード候補群にグルーピングしたときに当該複数の第2階層予測モード候補群それぞれに属する一の予測モードである複数の第2粗予測モードそれぞれの符号化コストに基づいて、前記複数の第2粗予測モードの中から、一つの第2粗予測モードを、前記粗予測モード決定部によって決定された粗予測モードとして決定する第2粗予測モード決定部とを備える
請求項1に記載の画像符号化装置。 - 前記モード選択部は、前記粗予測モード決定部によって決定された粗予測モードを含む予測モード候補群に属する複数の予測モードの符号化コストに基づいて、前記予測モード候補群に属する複数の予測モードの中から、前記符号化対象ブロックで用いる符号化コストが最も低い予測モードを選択する
請求項1または2に記載の画像符号化装置。 - 前記予測モード候補群に属する複数の予測モードは、
前記粗予測モードと、前記粗予測モードの予測方向と予測方向が近い複数の予測モードとから構成される
請求項1~3のいずれか1項に記載の画像符号化装置。 - 前記モード選択部は、
所定の予測モードの符号化コストと、前記所定の予測モードの予測方向の一方側に隣接する予測方向である第1の予測モードと、前記所定の予測モードの予測方向の他方側に隣接する予測方向である第2の予測モードの符号化コストとの比較を行う比較部と、
前記所定の予測モードの符号化コストが前記第1の予測モードおよび前記第2の予測モードの符号化コストより低い場合に、前記所定の予測モードを前記符号化対象ブロックで用いる予測モードとして選定し、前記第1の予測モードの符号化コストが前記所定の予測モードおよび前記第2の予測モードの符号化コストより低い場合、前記第1の予測モードを所定の予測モードとして前記比較部に伝達することで前記比較部に比較を行わせる選定部とを備え、
前記選定部は、前記比較部の比較処理の開始前に、前記粗予測モード決定部によって決定された粗予測モードを、前記所定の予測モードとして前記比較部に伝達することで、前記比較部に比較を開始させる
請求項1に記載の画像符号化装置。 - 前記モード選択部は、さらに、選択した予測モードと、前記予測方向に依存しない予測モードとの中で符号化コストの最も低い予測モードを選択する
請求項1~5のいずれか1項に記載の画像符号化装置。 - 面内予測を用いて、入力画像をブロック単位で符号化する画像符号化方法であって、
前記面内予測に用いることができる予測方向に依存する複数の予測モードの中で、あらかじめ決定された一部の予測モードであって、前記複数の予測モードを仮想的に3以上の予測モード候補群にグルーピングしたときに当該3以上の予測モード候補群それぞれに属する一の予測モードである3以上の粗予測モードの符号化コストに基づいて、前記3以上の粗予測モードの中から一つの粗予測モードを決定する粗予測モード決定ステップと、
前記粗予測モード決定ステップにおいて決定された粗予測モードにより絞り込まれた予測モード候補群に属する複数の予測モードそれぞれの符号化コストに基づき、前記符号化対象ブロックで用いる予測モードを選択するモード選択ステップと、
前記モード選択ステップにおいて選択された前記予測モードを用いて面内予測を行うことにより、前記符号化対象ブロックを符号化する符号化ステップと、を含む
画像符号化方法。 - 面内予測を用いて、入力画像をブロック単位で符号化するためのプログラムであって、
前記面内予測に用いることができる予測方向に依存する複数の予測モードの中で、あらかじめ決定された一部の予測モードであって、前記複数の予測モードを仮想的に3以上の予測モード候補群にグルーピングしたときに当該3以上の予測モード候補群それぞれに属する一の予測モードである3以上の粗予測モードの符号化コストに基づいて、前記3以上の粗予測モードの中から符号化コストが最も低い一つの粗予測モードを決定する粗予測モード決定ステップと、
前記粗予測モード決定ステップにおいて決定された粗予測モードにより絞り込まれた予測モード候補群に属する複数の予測モードそれぞれの符号化コストに基づき、前記符号化対象ブロックで用いる予測モードを選択するモード選択ステップと、
前記モード選択ステップにおいて選択された前記予測モードを用いて面内予測を行うことにより、前記符号化対象ブロックを符号化する符号化ステップとを、
コンピュータに実行させるためのプログラム。 - 面内予測を用いて、入力画像をブロック単位で符号化する集積回路であって、
前記面内予測に用いることができる予測方向に依存する複数の予測モードの中で、あらかじめ決定された一部の予測モードであって、前記複数の予測モードを仮想的に3以上の予測モード候補群にグルーピングしたときに当該3以上の予測モード候補群それぞれに属する一の予測モードである3以上の粗予測モードの符号化コストに基づいて、前記3以上の粗予測モードの中から符号化コストが最も低い一つの粗予測モードを決定する粗予測モード決定部と、
前記粗予測モード決定部によって決定された粗予測モードにより絞り込まれた予測モード候補群に属する複数の予測モードそれぞれの符号化コストに基づき、前記符号化対象ブロックで用いる予測モードを選択するモード選択部と、
前記モード選択部によって選択された前記予測モードを用いて面内予測を行うことにより、前記符号化対象ブロックを符号化する符号化部と、を備える
集積回路。 - 面内予測を用いて、入力画像をブロック単位で符号化する画像符号化装置であって、
前記面内予測に用いることができる予測方向に依存する複数の予測モードの中から、任意の一つの予測モードを、粗予測モードとして決定する粗予測モード決定部と、
前記粗予測モード決定部によって決定された粗予測モードにより絞り込まれた複数の予測モードそれぞれの符号化コストに基づき、前記符号化対象ブロックで用いる予測モードを選択するモード選択部と、
前記モード選択部によって選択された前記予測モードを用いて面内予測を行うことにより、前記符号化対象ブロックを符号化する符号化部と、を備え、
前記モード選択部は、
所定の予測モードの符号化コストと、前記所定の予測モードの予測方向の一方側に隣接する予測方向である第1の予測モードと、前記所定の予測モードの予測方向の他方側に隣接する予測方向である第2の予測モードの符号化コストとの比較を行う比較部と、
前記所定の予測モードの符号化コストが前記第1の予測モードおよび前記第2の予測モードの符号化コストより低い場合に、前記所定の予測モードを前記符号化対象ブロックで用いる予測モードとして選定し、前記第1の予測モードの符号化コストが前記所定の予測モードおよび前記第2の予測モードの符号化コストより低い場合、前記第1の予測モードを所定の予測モードとして前記比較部に伝達することで前記比較部に比較を行わせる選定部とを備え、
前記選定部は、前記比較部の比較処理の開始前に、前記粗予測モード決定部によって決定された粗予測モードを、前記所定の予測モードとして前記比較部に伝達することで、前記比較部に比較を開始させる
画像符号化装置。 - 前記第1の予測モードおよび前記第2の予測モードと、前記所定の予測モードとの間には、少なくとも一の予測モードを含む、または、予測モードを含まない
請求項10に記載の画像符号化装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012119009 | 2012-05-24 | ||
JP2012-119009 | 2012-05-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013175732A1 true WO2013175732A1 (ja) | 2013-11-28 |
Family
ID=49623445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/003090 WO2013175732A1 (ja) | 2012-05-24 | 2013-05-15 | 画像符号化装置、画像符号化方法、および集積回路 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2013175732A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015179944A (ja) * | 2014-03-19 | 2015-10-08 | 日本電信電話株式会社 | イントラ予測方向決定方法及びイントラ予測方向決定プログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005176073A (ja) * | 2003-12-12 | 2005-06-30 | Ntt Docomo Inc | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム |
JP2007251923A (ja) * | 2006-02-15 | 2007-09-27 | Mitsubishi Electric Corp | 画像符号化装置および画像符号化方法 |
JP2010263301A (ja) * | 2009-04-30 | 2010-11-18 | Mega Chips Corp | 画像データの生成方法 |
-
2013
- 2013-05-15 WO PCT/JP2013/003090 patent/WO2013175732A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005176073A (ja) * | 2003-12-12 | 2005-06-30 | Ntt Docomo Inc | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム |
JP2007251923A (ja) * | 2006-02-15 | 2007-09-27 | Mitsubishi Electric Corp | 画像符号化装置および画像符号化方法 |
JP2010263301A (ja) * | 2009-04-30 | 2010-11-18 | Mega Chips Corp | 画像データの生成方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015179944A (ja) * | 2014-03-19 | 2015-10-08 | 日本電信電話株式会社 | イントラ予測方向決定方法及びイントラ予測方向決定プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI759389B (zh) | 用於視訊寫碼之低複雜度符號預測 | |
US11876979B2 (en) | Image encoding device, image decoding device, image encoding method, image decoding method, and image prediction device | |
JP5367098B2 (ja) | 動きベクトル予測符号化方法,動きベクトル予測復号方法,動画像符号化装置,動画像復号装置およびそれらのプログラム | |
CN107623853B (zh) | 视频编码和解码方法及非暂时性计算机可读存储介质 | |
JP5367097B2 (ja) | 動きベクトル予測符号化方法、動きベクトル予測復号方法、動画像符号化装置、動画像復号装置およびそれらのプログラム | |
TWI736557B (zh) | 資料編碼設備以及資料編碼方法 | |
JP6965887B2 (ja) | イントラ予測モード決定方法、イントラ予測モード決定装置およびイントラ予測モード決定プログラム | |
JP6042001B2 (ja) | 動画像符号化装置及び動画像符号化方法 | |
KR20200128577A (ko) | 인트라 예측 장치, 화상 부호화 장치, 화상 복호 장치 및 프로그램 | |
JP7431752B2 (ja) | ビデオ符号化、ビデオ復号化方法、装置、コンピュータ装置及びコンピュータプログラム | |
JP2017034532A (ja) | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム | |
JP6652068B2 (ja) | 動画像符号化装置、動画像符号化方法および動画像符号化プログラム | |
JP2018511237A (ja) | コンテンツ適応型bピクチャパターンビデオエンコーディング | |
CN110035288B (zh) | 对视频序列进行编码的方法、编码装置和存储介质 | |
WO2013175732A1 (ja) | 画像符号化装置、画像符号化方法、および集積回路 | |
JP2017073598A (ja) | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム | |
JP4367354B2 (ja) | 画像符号化装置 | |
JP2019102861A (ja) | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム | |
JP2020156106A (ja) | 動画像符号化装置および動画像符号化方法 | |
JP6080077B2 (ja) | 画像符号化方法及び画像符号化装置 | |
CN107431821B (zh) | 高效低复杂度视频压缩 | |
JP2012120108A (ja) | 補間画像生成装置及びプログラム、並びに、動画像復号装置及びプログラム | |
JP6341756B2 (ja) | 画像処理装置、画像処理装置の制御方法 | |
JP2009296282A (ja) | スケーラブル動画像符号化方法、スケーラブル動画像符号化装置、スケーラブル動画像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
TWI646823B (zh) | 視訊壓縮方法及視訊壓縮裝置 |
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: 13794683 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13794683 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |