[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2013002110A1 - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
WO2013002110A1
WO2013002110A1 PCT/JP2012/065819 JP2012065819W WO2013002110A1 WO 2013002110 A1 WO2013002110 A1 WO 2013002110A1 JP 2012065819 W JP2012065819 W JP 2012065819W WO 2013002110 A1 WO2013002110 A1 WO 2013002110A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
encoding
image
prediction
mpm
Prior art date
Application number
PCT/JP2012/065819
Other languages
English (en)
French (fr)
Inventor
健治 近藤
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to US14/118,609 priority Critical patent/US10104372B2/en
Priority to CN201280030984.7A priority patent/CN103636214B/zh
Publication of WO2013002110A1 publication Critical patent/WO2013002110A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of improving encoding efficiency.
  • MPEG compressed by orthogonal transform such as discrete cosine transform and motion compensation
  • a device that conforms to a method such as Moving (Pictures Experts Group) has been widely used for both information distribution in broadcasting stations and information reception in general households.
  • MPEG2 International Organization for Standardization
  • IEC International Electrotechnical Commission
  • MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate.
  • bit rate code amount
  • MPEG4 encoding system has been standardized accordingly.
  • the standard was approved as an international standard in December 1998 as ISO / IEC 14496-2.
  • H.26L International Telecommunication Union Telecommunication Standardization Sector
  • Q6 / 16 VCEG Video Coding Expert Group
  • H.26L is known to achieve higher encoding efficiency than the conventional encoding schemes such as MPEG2 and MPEG4, although a large amount of calculation is required for encoding and decoding.
  • Joint ⁇ ⁇ ⁇ ⁇ Model of Enhanced-Compression Video Coding has been implemented based on this H.26L and incorporating functions not supported by H.26L to achieve higher coding efficiency. It was broken.
  • AVC Advanced Video Coding
  • RGB, 4: 2: 2, 4: 4: 4 encoding tools necessary for business use 8x8DCT (Discrete Cosine Transform) and quantization matrix specified by MPEG-2 are added.
  • FRExt Full State Image Codon Standardization was completed in February 2005. This makes it possible to use AVC to properly express film noise in movies. It has been used for a wide range of applications such as Blu-Ray Disc.
  • the conventional macroblock size of 16 pixels ⁇ 16 pixels is a large image frame such as UHD (Ultra High Definition: 4000 pixels ⁇ 2000 pixels), which is the target of the next generation encoding method. There was a fear that it was not optimal.
  • HEVC High Efficiency Video Video Coding
  • JCTVC Joint Collaboration Collaboration Team Video Coding
  • a coding unit (Coding Unit) is defined as a processing unit similar to a macroblock in AVC.
  • the CU is not fixed to a size of 16 ⁇ 16 pixels like the AVC macroblock, and is specified in the image compression information in each sequence.
  • MPM Most-probable-mode
  • the encoder indicates a flag mpm_flag that specifies whether or not to use the MPM for the target PU (Prediction) Unit) to be processed, and indicates which neighboring PU's intra prediction direction is applied to the target PU. Include mpm_lr_flag in the stream.
  • the encoder when MPM is not used, the encoder includes intra_dir_mode indicating the prediction direction of the intra prediction of the attention PU in the stream.
  • the decoder decodes the stream and decodes the encoded data by a decoding method corresponding to the encoding method based on the information.
  • This disclosure has been made in view of such a situation, and an object thereof is to suppress a reduction in encoding efficiency.
  • One aspect of the present disclosure is an image processing including a control unit that controls encoding of a parameter related to intra prediction according to a region of a prediction processing unit, and an encoding unit that encodes the parameter according to control by the control unit.
  • a control unit that controls encoding of a parameter related to intra prediction according to a region of a prediction processing unit
  • an encoding unit that encodes the parameter according to control by the control unit.
  • the control unit can control the encoding of the parameter so as to reduce the code amount of the parameter.
  • the control unit selects a table for assigning a code number to each value of the parameter, and the encoding unit converts each value of the parameter into the code number using the table selected by the control unit. Can be encoded.
  • the control unit may select a context probability model of arithmetic encoding by the encoding unit, and the encoding unit may encode the parameter using the context probability model selected by the control unit. .
  • the parameter may include a flag that specifies whether to use MPM (Most-probable-mode).
  • the control unit can control encoding of a flag that specifies whether to use the MPM according to the size and shape of the area.
  • the parameter can include a flag for designating a peripheral region to be referred to in MPM (Most probable mode).
  • the control unit can control encoding of a flag that designates a peripheral region to be referred to in the MPM according to the shape and ID of the region.
  • the parameter may include a flag indicating a prediction direction of intra prediction.
  • the control unit can control the encoding of the flag indicating the prediction direction of the intra prediction according to the size and shape of the region.
  • a transmission unit that transmits the parameter encoded by the encoding unit may be further included.
  • One aspect of the present disclosure is also an image processing method of an image processing device, in which a control unit controls encoding of a parameter related to intra prediction according to a region of a prediction processing unit, and an encoding unit includes the control According to the image processing method, the parameter is encoded.
  • Another aspect of the present disclosure includes a receiving unit that receives encoded data of a parameter related to intra prediction, and a control unit that controls decoding of the encoded data received by the receiving unit according to a region of a prediction processing unit.
  • An image processing apparatus comprising: a decoding unit that decodes the encoded data according to control by the control unit.
  • Another aspect of the present disclosure is also an image processing method of an image processing device, in which a reception unit receives encoded data of a parameter related to intra prediction, and a control unit receives the encoded data according to a region of a prediction processing unit.
  • decoding of the encoded data is controlled, and a decoding unit decodes the encoded data according to the control.
  • encoding of parameters related to intra prediction is controlled according to a region of a prediction processing unit, and parameters related to intra prediction are encoded according to the control.
  • encoded data of a parameter related to intra prediction is received, decoding of the received encoded data is controlled according to a region of a prediction processing unit, and encoded data is controlled according to the control. Decrypted.
  • an image can be processed.
  • a reduction in encoding efficiency can be suppressed.
  • FIG. 26 is a block diagram illustrating a main configuration example of a personal computer. It is a block diagram which shows an example of a schematic structure of a television apparatus. It is a block diagram which shows an example of a schematic structure of a mobile telephone. It is a block diagram which shows an example of a schematic structure of a recording / reproducing apparatus. It is a block diagram which shows an example of a schematic structure of an imaging device.
  • FIG. 1 is a block diagram illustrating a main configuration example of an image encoding device that is an image processing device.
  • the image encoding device 100 shown in FIG. Like the H.264 and MPEG (Moving Picture Experts Group) 4 Part 10 (AVC (Advanced Video Coding)) coding system, the image data is encoded using a prediction process.
  • H.264 and MPEG Motion Picture Experts Group 4 Part 10 (AVC (Advanced Video Coding)
  • AVC Advanced Video Coding
  • the image encoding device 100 includes an A / D conversion unit 101, a screen rearrangement buffer 102, a calculation unit 103, an orthogonal transformation unit 104, a quantization unit 105, a lossless encoding unit 106, and a storage buffer. 107.
  • the image coding apparatus 100 also includes an inverse quantization unit 108, an inverse orthogonal transform unit 109, a calculation unit 110, a loop filter 111, a frame memory 112, a selection unit 113, an intra prediction unit 114, a motion prediction / compensation unit 115, and a prediction.
  • An image selection unit 116 and a rate control unit 117 are included.
  • the image encoding device 100 further includes an assignment control unit 121.
  • the A / D conversion unit 101 performs A / D conversion on the input image data, and supplies the converted image data (digital data) to the screen rearrangement buffer 102 for storage.
  • the screen rearrangement buffer 102 rearranges the images of the frames in the stored display order in the order of frames for encoding in accordance with GOP (Group Of Picture), and the images in which the order of the frames is rearranged. This is supplied to the calculation unit 103.
  • the screen rearrangement buffer 102 also supplies the image in which the order of the frames is rearranged to the intra prediction unit 114 and the motion prediction / compensation unit 115.
  • the calculation unit 103 subtracts the prediction image supplied from the intra prediction unit 114 or the motion prediction / compensation unit 115 via the prediction image selection unit 116 from the image read from the screen rearrangement buffer 102, and the difference information Is output to the orthogonal transform unit 104.
  • the calculation unit 103 subtracts the prediction image supplied from the intra prediction unit 114 from the image read from the screen rearrangement buffer 102.
  • the arithmetic unit 103 subtracts the predicted image supplied from the motion prediction / compensation unit 115 from the image read from the screen rearrangement buffer 102.
  • the orthogonal transform unit 104 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the difference information supplied from the computation unit 103. Note that this orthogonal transformation method is arbitrary.
  • the orthogonal transform unit 104 supplies the transform coefficient to the quantization unit 105.
  • the quantization unit 105 quantizes the transform coefficient supplied from the orthogonal transform unit 104.
  • the quantization unit 105 sets a quantization parameter based on the information regarding the target value of the code amount supplied from the rate control unit 117, and performs the quantization. Note that this quantization method is arbitrary.
  • the quantization unit 105 supplies the quantized transform coefficient to the lossless encoding unit 106.
  • the lossless encoding unit 106 encodes the transform coefficient quantized by the quantization unit 105 using an arbitrary encoding method. Since the coefficient data is quantized under the control of the rate control unit 117, the code amount becomes a target value set by the rate control unit 117 (or approximates the target value).
  • the lossless encoding unit 106 acquires intra prediction information including information indicating an intra prediction mode from the intra prediction unit 114, and moves inter prediction information including information indicating an inter prediction mode, motion vector information, and the like. Obtained from the prediction / compensation unit 115. Further, the lossless encoding unit 106 acquires filter coefficients used in the loop filter 111 and the like.
  • the lossless encoding unit 106 encodes these various types of information using an arbitrary encoding method, and makes it a part of the header information of the encoded data (multiplexes).
  • the lossless encoding unit 106 supplies the encoded data obtained by encoding to the accumulation buffer 107 for accumulation.
  • Examples of the encoding method of the lossless encoding unit 106 include variable length encoding or arithmetic encoding.
  • Examples of variable length coding include H.264.
  • CAVLC Context-Adaptive Variable Length Coding
  • Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 107 temporarily holds the encoded data supplied from the lossless encoding unit 106.
  • the accumulation buffer 107 outputs the stored encoded data as a bit stream at a predetermined timing, for example, to a recording device (recording medium) or a transmission path (not shown) in the subsequent stage. That is, various encoded information is supplied to the decoding side.
  • the transform coefficient quantized by the quantization unit 105 is also supplied to the inverse quantization unit 108.
  • the inverse quantization unit 108 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 105.
  • the inverse quantization method may be any method as long as it is a method corresponding to the quantization processing by the quantization unit 105.
  • the inverse quantization unit 108 supplies the obtained transform coefficient to the inverse orthogonal transform unit 109.
  • the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 108 by a method corresponding to the orthogonal transform process by the orthogonal transform unit 104.
  • the inverse orthogonal transform method may be any method as long as it corresponds to the orthogonal transform processing by the orthogonal transform unit 104.
  • the inversely orthogonally transformed output (difference information restored locally) is supplied to the calculation unit 110.
  • the calculation unit 110 converts the inverse orthogonal transform result supplied from the inverse orthogonal transform unit 109, that is, locally restored difference information, into the intra prediction unit 114 or the motion prediction / compensation unit 115 via the predicted image selection unit 116. Are added to the predicted image to obtain a locally reconstructed image (hereinafter referred to as a reconstructed image).
  • the reconstructed image is supplied to the loop filter 111 or the frame memory 112.
  • the loop filter 111 includes a deblock filter, an adaptive loop filter, and the like, and appropriately performs a filtering process on the decoded image supplied from the calculation unit 110.
  • the loop filter 111 removes block distortion of the decoded image by performing a deblocking filter process on the decoded image.
  • the loop filter 111 performs image quality improvement by performing loop filter processing using a Wiener filter on the deblock filter processing result (decoded image from which block distortion has been removed). Do.
  • the loop filter 111 may perform arbitrary filter processing on the decoded image. Further, the loop filter 111 can supply information such as filter coefficients used for the filter processing to the lossless encoding unit 106 and encode it as necessary.
  • the loop filter 111 supplies a filter processing result (hereinafter referred to as a decoded image) to the frame memory 112.
  • the frame memory 112 stores the reconstructed image supplied from the calculation unit 110 and the decoded image supplied from the loop filter 111, respectively.
  • the frame memory 112 supplies the stored reconstructed image to the intra prediction unit 114 via the selection unit 113 at a predetermined timing or based on a request from the outside such as the intra prediction unit 114.
  • the frame memory 112 also stores the decoded image stored at a predetermined timing or based on a request from the outside such as the motion prediction / compensation unit 115 via the selection unit 113. 115.
  • the selection unit 113 indicates the supply destination of the image output from the frame memory 112. For example, in the case of intra prediction, the selection unit 113 reads an image (reconstructed image) that has not been subjected to filter processing from the frame memory 112 and supplies it to the intra prediction unit 114 as peripheral pixels.
  • the selection unit 113 reads out an image (decoded image) that has been filtered from the frame memory 112, and supplies it as a reference image to the motion prediction / compensation unit 115.
  • the intra prediction unit 114 When the intra prediction unit 114 acquires an image (peripheral image) of a peripheral PU located around the target PU as a processing target from the frame memory 112, the intra prediction unit 114 uses the pixel value of the peripheral image to calculate a predicted image of the target PU. Perform intra prediction (intra-screen prediction) to be generated. The intra prediction unit 114 performs this intra prediction in a plurality of modes (intra prediction modes) prepared in advance.
  • the intra prediction unit 114 generates predicted images in all candidate intra prediction modes, evaluates the cost function value of each predicted image using the input image supplied from the screen rearrangement buffer 102, and selects the optimum mode. select. When the intra prediction unit 114 selects the optimal intra prediction mode, the intra prediction unit 114 supplies the predicted image generated in the optimal mode to the predicted image selection unit 116.
  • the intra prediction unit 114 appropriately supplies intra prediction information including information related to intra prediction, such as an optimal intra prediction mode, to the lossless encoding unit 106 to be encoded.
  • the motion prediction / compensation unit 115 basically performs motion prediction (inter prediction) using the input image supplied from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 112 as a processing unit. And a motion compensation process is performed according to the detected motion vector to generate a predicted image (inter predicted image information).
  • the motion prediction / compensation unit 115 performs such inter prediction in a plurality of modes (inter prediction modes) prepared in advance.
  • the motion prediction / compensation unit 115 generates prediction images in all candidate inter prediction modes, evaluates the cost function value of each prediction image, and selects an optimal mode. When the optimal inter prediction mode is selected, the motion prediction / compensation unit 115 supplies the predicted image generated in the optimal mode to the predicted image selection unit 116.
  • the motion prediction / compensation unit 115 supplies inter prediction information including information related to inter prediction, such as an optimal inter prediction mode, to the lossless encoding unit 106 to be encoded.
  • inter prediction when inter prediction is selected as the optimal prediction mode, the motion prediction / compensation unit 115 notifies the intra prediction unit 114 of information on the optimal inter prediction mode.
  • the predicted image selection unit 116 selects a supply source of a predicted image to be supplied to the calculation unit 103 or the calculation unit 110.
  • the prediction image selection unit 116 selects the intra prediction unit 114 as a supply source of the prediction image, and supplies the prediction image supplied from the intra prediction unit 114 to the calculation unit 103 and the calculation unit 110.
  • the predicted image selection unit 116 selects the motion prediction / compensation unit 115 as a supply source of the predicted image, and calculates the predicted image supplied from the motion prediction / compensation unit 115 as the calculation unit 103. To the arithmetic unit 110.
  • the rate control unit 117 controls the quantization operation rate of the quantization unit 105 based on the code amount of the encoded data stored in the storage buffer 107 so that overflow or underflow does not occur.
  • the assignment control unit 121 controls code numbers assigned to these values when arithmetically encoding information related to intra prediction such as mpm_flag, mpm_lr_flag, and intra_dir_mode, for example. More specifically, for example, the allocation control unit 121 selects a VLC table (variable length code table) that converts values of mpm_flag, mpm_lr_flag, and intra_dir_mode into code numbers. At that time, the allocation control unit 121 selects a VLC table according to the size or shape of the attention PU to be predicted.
  • VLC table variable length code table
  • Coding Unit is also called Coding Block (CTB), and is a partial area of a picture unit image that plays the same role as a macroblock in AVC.
  • CTB Coding Block
  • the latter is fixed to a size of 16 ⁇ 16 pixels, whereas the size of the former is not fixed, and is specified in the image compression information in each sequence.
  • the CU having the largest size is called LCU (Largest Coding Unit), and the CU having the smallest size is called SCU (Smallest Coding Unit).
  • LCU Large Coding Unit
  • SCU Smallest Coding Unit
  • the sizes of these regions are specified, but each is limited to a square and a size represented by a power of 2.
  • Figure 2 shows an example of coding unit (Coding Unit) defined in HEVC.
  • the LCU size is 128 and the maximum hierarchical depth is 5.
  • split_flag is “1”
  • the 2N ⁇ 2N size CU is divided into N ⁇ N size CUs that are one level below.
  • the CU is divided into prediction units (Prediction Units (PU)) that are regions (partial regions of images in units of pictures) that are processing units of intra or inter prediction, and are regions that are processing units of orthogonal transformation It is divided into transform units (Transform Unit (TU)), which is (a partial area of an image in units of pictures).
  • Prediction Units PU
  • TU Transform Unit
  • HEVC intra prediction method Next, an intra prediction method defined in HEVC will be described.
  • the unit of PU for intra prediction is 4 ⁇ 4, 8 ⁇ 8, 16 ⁇ 16, 32 ⁇ 32, or 64 ⁇ 64.
  • intra prediction processing is performed based on a method called Angular Prediction described later.
  • intra prediction processing is performed based on a method called Arbitrary Directional Intra (ADI) described later.
  • ADI Arbitrary Directional Intra
  • FIG. 3 is a diagram for explaining the Angular Prediction intra prediction method.
  • ADI Arbitrary Directional Intra
  • Fig. 4 shows a diagram for explaining the Arbitrary Directional Intra (ADI) intra prediction method.
  • ADI Arbitrary Directional Intra
  • the adjacent pixel value located at the lower left is also used.
  • the prediction modes of Vertical, Horizontal, DC, DiagonalLeDown-Left, Diagonal Down-Right, Vertical-Right, Horizontal-Down, Vertical-Left, and Horizontal-Up are defined.
  • (dx, dy) is transmitted as encoded information in the image compression information.
  • 2N ⁇ 2N, N ⁇ N, hN ⁇ 2N, and 2N ⁇ hN are prepared as partition types of the prediction unit (PU) in intra prediction mode as shown in FIG. Yes.
  • each square represents a PU, and a number represents a partition ID (Partition id).
  • N means one half of the size of the coding unit (CU).
  • one PU is formed for one CU.
  • N ⁇ N 2 PUs horizontally ⁇ 2 vertically (4 in total) are formed for one CU.
  • hN ⁇ 2N 4 PUs horizontally ⁇ 1 vertically (total 4) are formed for one CU.
  • 2N ⁇ hN one PU is formed horizontally and four PUs in total (four in total) for one CU.
  • the size of the PU depends on the size of the CU.
  • the image encoding apparatus 100 performs prediction processing and encoding on each of these partition types, calculates a cost function value, and determines which partition type is adopted based on the cost function value. That is, the partition type is selected based on the evaluation of encoding efficiency and image quality. Further, the CU size (that is, the PU size) is determined in the same manner.
  • the image encoding apparatus 100 includes the flag intra_dir_mode indicating the intra prediction direction in the bitstream for transmission. Also, the image encoding apparatus 100 includes information on PUs such as a CU size (CU size), a partition type, and a partition ID in a stream for transmission.
  • CU size is defined by, for example, LCU size and position information, split_flag, and the like.
  • the size and shape of the PU (square, rectangle, etc.) depend on the content of the image to be encoded.
  • the prediction direction of intra prediction an optimum one is selected from a plurality of directions based on the cost function value. That is, the prediction direction of intra prediction also depends on the content of the image. That is, the prediction direction of intra prediction has a considerable correlation with the size and shape of the PU.
  • an image having a high correlation in the horizontal direction such as a horizontal stripe and a low correlation in the vertical direction is set as a processing target.
  • the size and shape of the PU are determined by the cost function value, but this cost function value greatly affects the result of the orthogonal transformation process.
  • orthogonal transform it is easier to increase the concentration of energy and improve performance for a continuous (highly correlated) image. It is easy to obtain high efficiency and the cost function value tends to be small).
  • discontinuous (low correlation) image the degree of energy concentration does not increase even if the processing unit is lengthened. In other words, for discontinuous (low correlation) images, it is easier to improve the performance (the cost function value tends to be smaller) when the processing unit is made narrower.
  • intra prediction naturally improves prediction accuracy by performing prediction in a highly correlated direction. That is, in the case of a horizontal stripe image, the horizontal direction with high correlation is easily selected as the prediction direction.
  • the longitudinal direction of the PU is selected as the prediction direction of intra prediction.
  • the frequency of occurrence of the intra prediction direction is biased depending on the size and shape of the PU.
  • HEVC has a coding method called Most probable mode (MPM).
  • MPM Most probable mode
  • the prediction direction same as the left PU (L) of the target PU (x) to be processed or the upper PU (U) is also applied to the target PU (x). Applied. That is, in the case of this MPM, transmission of the intra prediction mode of the attention PU (x) is omitted in order to improve coding efficiency.
  • the flag mpm_flag that specifies whether to use MPM for the attention PU (x) and the intra prediction direction of either the peripheral PU (L) or the peripheral PU (U) are used for the attention PU (x).
  • Flag mpm_lr_flag indicating whether or not. That is, in the case of MPM, the image encoding apparatus 100 includes mpm_flag and mpm_lr_flag included in the bit stream for transmission, and when the MPM is not output, the image encoding apparatus 100 includes mpm_flag and intra_dir_mode included in the bit stream for transmission.
  • the larger the PU the longer the distance between PUs (for example, the center), so the correlation between the images tends to be lower. Therefore, generally, the larger the PU, the harder it is to adopt the MPM.
  • the value of mpm_flag has a significant correlation with the size of the PU. In other words, a bias depending on the size and shape of the PU is likely to occur in the way each value of mpm_flag appears (frequency of occurrence of each value (occurrence probability)).
  • the value of mpm_lr_flag has a considerable correlation with the PU shape. In other words, a bias depending on the size and shape of the PU tends to occur in the way each value of mpm_lr_flag appears (frequency of occurrence of each value (occurrence probability)).
  • the image decoding device corresponding to the image encoding device 100 is based on information such as mpm_flag, mpm_lr_flag, intra_dir_mode, CU size (CUsize), partition type (partition type), and partition ID (partition id) included in the bitstream. Then, the encoded data is decoded.
  • the amount of information generated for each PU also increases.
  • the quantization parameter is large, that is, when the bit rate is low, the ratio of these pieces of information to the bit stream is large. Therefore, especially in these cases, the reduction in coding efficiency due to information such as mpm_flag, mpm_lr_flag, intra_dir_mode, CU size (CUsize), partition type (partition type), partition ID (partition id), etc. may become more prominent. There was sex.
  • the conventional method may make it difficult to obtain sufficient encoding efficiency.
  • this technology focuses on the high correlation between the size and shape of the PU and the value of each parameter of intra prediction.
  • the present technology aims to suppress the reduction in coding efficiency, and uses the fact that bias depending on the size and shape of the PU is likely to occur in each value of each parameter of intra prediction as described above. .
  • the image encoding apparatus 100 assigns a code number to each parameter value so as to improve the encoding efficiency in accordance with the size and shape of the PU. That is, the image coding apparatus 100 selects a VLC table to which code numbers are assigned according to the size and shape of the PU.
  • FIG. 7 is a block diagram illustrating a main configuration example of the lossless encoding unit 106 and the allocation control unit 121 of FIG.
  • the lossless encoding unit 106 includes an encoding unit 131, a bit stream generation unit 132, a VLC table conversion unit 133, an arithmetic encoding unit 134, a VLC table conversion unit 135, an arithmetic encoding unit 136, A VLC table conversion unit 137 and an arithmetic coding unit 138 are included.
  • the assignment control unit 121 includes a table selection unit 141 to a table selection unit 143.
  • the encoding unit 131 includes quantized coefficient data supplied from the quantization unit 105, filter coefficients supplied from the loop filter 111, optimum mode information supplied from the motion prediction / compensation unit 115, and an intra prediction unit. Various information such as optimum mode information supplied from 114 is encoded, and the encoded data is supplied to the bit stream generation unit 132.
  • the VLC table conversion unit 133 acquires mpm_flag from the intra prediction unit 114, and converts the value into a code number using the VLC table selected by the table selection unit 141.
  • the VLC table conversion unit 133 supplies the code number to the arithmetic encoding unit 134.
  • the arithmetic encoding unit 134 arithmetically encodes the code number supplied from the VLC table conversion unit 133 and supplies the encoded data to the bit stream generation unit 132.
  • the VLC table conversion unit 135 obtains mpm_lr_flag from the intra prediction unit 114, and converts the value into a code number using the VLC table selected by the table selection unit 142.
  • the VLC table conversion unit 135 supplies the code number to the arithmetic encoding unit 136.
  • the arithmetic encoding unit 136 arithmetically encodes the code number supplied from the VLC table conversion unit 135 and supplies the encoded data to the bit stream generation unit 132.
  • the VLC table conversion unit 137 acquires intra_dir_mode from the intra prediction unit 114, and converts the value into a code number using the VLC table selected by the table selection unit 143.
  • the VLC table conversion unit 137 supplies the code number to the arithmetic encoding unit 138.
  • the arithmetic encoding unit 138 arithmetically encodes the code number supplied from the VLC table conversion unit 137 and supplies the encoded data to the bit stream generation unit 132.
  • the bit stream generation unit 132 generates a bit stream using the encoded data supplied from the encoding unit 131, the arithmetic encoding unit 134, the arithmetic encoding unit 136, and the arithmetic encoding unit 138, and stores the bit stream in the accumulation buffer 107. Supply.
  • the table selection unit 141 selects the VLC table used in the VLC table conversion unit 133 based on the CU size (CU (size) and the partition type (partition type) supplied from the intra prediction unit 114. That is, the table selection unit 141 stores a plurality of candidates for VLC tables used in the VLC table conversion unit 133, and selects one of them based on information supplied from the intra prediction unit 114, This is supplied to the VLC table conversion unit 133.
  • the VLC table conversion unit 133 converts mpm_flag into a code number using the VLC table supplied from the table selection unit 141.
  • the table selection unit 141 selects a VLC table for each PU.
  • the table selection unit 141 may supply the information indicating the selected VLC table to the VLC table conversion unit 133 instead of supplying the selected VLC table itself to the VLC table conversion unit 133.
  • the VLC table conversion unit 133 stores a plurality of candidate VLC tables (the same as the VLC table stored in the table selection unit 141) in advance, and in accordance with the information supplied from the table selection unit 141, One of them is selected and used for the conversion process.
  • the table selection unit 142 selects the VLC table used in the VLC table conversion unit 135 based on the partition type (partition type) and the partition ID (partition ID) supplied from the intra prediction unit 114. That is, the table selection unit 142 stores a plurality of candidates for the VLC table used in the VLC table conversion unit 135, and selects one from the information supplied from the intra prediction unit 114, This is supplied to the VLC table conversion unit 135.
  • the VLC table conversion unit 135 converts mpm_lr_flag into a code number using the VLC table supplied from the table selection unit 142.
  • the table selection unit 142 selects a VLC table for each PU.
  • the table selection unit 142 may supply information indicating the selected VLC table to the VLC table conversion unit 135 instead of supplying the selected VLC table itself to the VLC table conversion unit 135.
  • the VLC table conversion unit 135 stores in advance a plurality of candidate VLC tables (the same as the VLC table stored in the table selection unit 141), and in accordance with the information supplied from the table selection unit 142, One of them is selected and used for the conversion process.
  • the table selection unit 143 selects the VLC table used in the VLC table conversion unit 137 based on the CU size (CU size) and the partition type (partition type) supplied from the intra prediction unit 114. That is, the table selection unit 143 stores a plurality of candidates for the VLC table used in the VLC table conversion unit 137, and selects one of them based on information supplied from the intra prediction unit 114, The data is supplied to the VLC table conversion unit 137.
  • the VLC table conversion unit 137 converts intra_dir_mode into a code number using the VLC table supplied from the table selection unit 143.
  • the table selection unit 143 selects a VLC table for each PU.
  • the table selection unit 143 may supply the information indicating the selected VLC table to the VLC table conversion unit 137 instead of supplying the selected VLC table itself to the VLC table conversion unit 137.
  • the VLC table conversion unit 137 stores a plurality of candidate VLC tables (same as the VLC table stored in the table selection unit 143) in advance, and in accordance with the information supplied from the table selection unit 143, One of them is selected and used for the conversion process.
  • the table selection unit 141 to the table selection unit 143 may set a smaller code number to a value that is more likely to be generated so that the possibility of code amount reduction is as high as possible (so that the code amount is smaller). Assign.
  • [Intra prediction direction] It is assumed that the image encoding apparatus 100 is provided with an intra prediction mode similar to HEVC. That is, 33 prediction directions and DC modes are prepared for intra prediction of the image coding apparatus 100 as shown in FIG. Each arrow in the example shown in FIG. 8 indicates the prediction direction (which direction of adjacent pixel is referred to) of the lower right pixel of the square target PU that is the target of the prediction process. Also, identification information (number) as shown in FIG. 8 is assigned to each prediction direction and DC mode. For example, if the intra prediction direction is 0, the lower right pixel refers to the adjacent pixel that is closest in the vertical direction, that is, the upper pixel.
  • the intra prediction unit 114 selects a direction with the highest coding efficiency from the intra prediction directions shown in FIG. In this selection, a cost function called D + ⁇ R is often used.
  • D is the difference between the input image and the intra-predicted image, which is the amount of distortion
  • R is the amount of code necessary for performing intra-prediction coding
  • is a conversion coefficient that connects the amount of distortion and the amount of code.
  • the intra prediction direction is determined so that this cost function becomes small. For example, the intra prediction unit 114 calculates a cost function value by a method similar to HEVC described in Non-Patent Document 1, and determines an intra prediction direction.
  • VLC table of mpm_flag [VLC table of mpm_flag] Next, the VLC table controlled by the assignment control unit 121 will be described. First, the control of the mpm_flag VLC table will be described.
  • the table selection unit 141 selects a VLC table like the table shown in FIG. 9 according to the CU size and the partition type.
  • the code number is 0 or 1 (that is, 1 bit). Code number 0 has a smaller amount of code than code number 1.
  • the table selection unit 141 uses this characteristic to select the VLC table so that the number of 0 symbols increases after the mpm_flag is converted into the VLC table. That is, the table selection unit 141 selects the VLC table so that the number of 0 symbols increases after conversion according to the CU size and the partition type.
  • the table selection unit 141 can suppress an increase in encoding efficiency due to mpm_flag.
  • VLC table of mpm_lr_flag [VLC table of mpm_lr_flag]
  • the table selection unit 142 selects a VLC table like the table shown in FIG. 10 according to the partition ID and the partition type.
  • the code number is 0 or 1 (that is, 1 bit). Code number 0 has a smaller amount of code than code number 1.
  • the “-” column will be described later.
  • a PU with a partition ID of 0 will be described.
  • the correlation between the attention PU and the peripheral PU becomes higher as the distance between them becomes shorter. Therefore, when the PU is rectangular, the peripheral PU in the short direction (the direction other than the longitudinal direction) is more easily selected than the peripheral PU in the longitudinal direction.
  • the attention PU is a square, the distance to the upper adjacent PU is the same as the distance to the left adjacent PU. Therefore, the possibility of being selected is substantially the same for both peripheral PUs.
  • the table selection unit 142 uses such characteristics and selects the VLC table so that the number of zero symbols increases after the mpm_lr_flag is converted into the VLC table. That is, the table selection unit 142 selects the VLC table so that the number of 0 symbols increases after conversion according to the partition ID and the partition type.
  • the partition type is 2N ⁇ 2N, there is no case where the partition ID is other than 0. That is, in this case, the VLC table is not selected (-).
  • the partition ID is other than 0 and the PU is rectangular, the same code number as the PU with the partition ID 0 is selected. That is, in this case, the VLC table is not selected (-).
  • the table selection unit 142 can suppress an increase in encoding efficiency due to mpm_lr_flag.
  • the table selection unit 143 selects a VLC table like the table shown in FIG. 11 according to the partition ID and the partition type. In the table shown in FIG. 11, each row in the left two columns is a VLC table. That is, the table selection unit 143 selects the tables A to E according to the partition type and the CU size.
  • the code number assignment is controlled so that the code amount after conversion becomes smaller as in the other cases. That is, a smaller code number is assigned to a pattern having a high possibility of appearance.
  • the table selection unit 143 selects the table A regardless of the CU size.
  • FIG. 12 An example of table A is shown in FIG. In the example of FIG. 12, in the allocation of code numbers for each prediction direction, the allocation is performed so that the deviation in the horizontal direction and the vertical direction is reduced.
  • MPM is the intra prediction direction selected by the above-mentioned MPM, and shows an example of VER-4. If the MPM is DC, the DC code number is replaced with the MPM and the code number below is replaced. That is, since the assignment of code numbers to the MPM prediction directions is omitted, a smaller code number can be assigned to other prediction directions accordingly. Therefore, encoding efficiency can be improved. The same applies to other tables described later.
  • the code length of the code number assigned to most prediction directions is 5.
  • the table A is configured such that a large difference in code length does not occur regardless of which prediction direction appears.
  • the table selection unit 143 has a small CU size (when 32 or less). Select table B.
  • FIG. 13 An example of table B is shown in FIG. As shown in FIG. 13, in this table B, a code number having a smaller value (a shorter code length) is assigned to a prediction direction closer to the horizontal direction that is the longitudinal direction of the target PU. In other words, considering the bias in appearance frequency depending on the size and shape of the PU, a code number with a smaller code amount is assigned to a prediction direction that is more likely to appear and closer to the horizontal direction. In the case of this table B, code numbers having code lengths 4 to 7 are assigned.
  • the table selection unit 143 has a small CU size (when 32 or less). Select table C.
  • FIG. 14 An example of the table C is shown in FIG. As shown in FIG. 14, in this table C, a code number having a smaller value (shorter code length) is assigned to a prediction direction closer to the vertical direction which is the longitudinal direction of the target PU. In other words, considering the bias in appearance frequency depending on the size and shape of the PU, a code number with a smaller code amount is assigned to a prediction direction that is more likely to appear and closer to the vertical direction. In the case of this table C, as in the case of table B, code numbers having code lengths 4 to 7 are assigned.
  • the table selection unit 143 selects a different table when the CU size is small, when the CU size is large. For example, when the PU is a horizontally long rectangle (partition type is 2N ⁇ hN) and the CU size is large (greater than 32), the table selection unit 143 selects the table D instead of the table B.
  • FIG. 15 An example of the table D is shown in FIG. As shown in FIG. 15, in this table D, the allocation order of code numbers in the prediction direction (the order in which younger code numbers in the prediction direction are allocated) is the same as that in table B. However, the code length deviation is larger than in the case of Table B. In the example of FIG. 15, code numbers having code lengths 3 to 10 are assigned. That is, in the case of Table D, the possibility of the appearance of a prediction direction closer to the horizontal direction is higher than in the case of Table B, and therefore a code number having a shorter code length than that in the case of Table B is assigned. . Accordingly, although the code length of the code number assigned to the prediction direction closer to the vertical direction becomes longer, the possibility of its appearance is further lower than in the case of Table B, so the code amount as a whole is reduced. Probability is high.
  • the table selection unit 143 selects the table E instead of the table C. To do.
  • FIG. 16 An example of the table E is shown in FIG. As shown in FIG. 16, in this table E, the allocation order of code numbers in the prediction direction (the order in which younger code numbers in the prediction direction are allocated) is the same as in table C. However, the deviation of the code length is larger than that of the table C. In the example of FIG. 16, code numbers having code lengths 3 to 10 are assigned. That is, in the case of the table E, the possibility of the appearance of the prediction direction closer to the horizontal direction is higher than that in the case of the table C. Therefore, a code number having a shorter code length than that in the case of the table C is assigned. . Accordingly, although the code length of the code number assigned to the prediction direction closer to the vertical direction becomes longer, the possibility of its appearance is further lower than in the case of Table C, so the code amount as a whole is reduced. Probability is high.
  • the table selection unit 143 can suppress an increase in encoding efficiency due to intra_dir_mode.
  • step S101 the A / D converter 101 performs A / D conversion on the input image.
  • step S102 the screen rearrangement buffer 102 stores the A / D converted image, and rearranges the picture from the display order to the encoding order.
  • step S103 the intra prediction unit 114 performs an intra prediction process.
  • step S104 the motion prediction / compensation unit 115 performs an inter motion prediction process.
  • step S105 the predicted image selection unit 116 selects one of a predicted image generated by intra prediction and a predicted image generated by inter prediction.
  • step S106 the calculation unit 103 calculates a difference between the image rearranged by the process of step S103 and the predicted image selected by the process of step S105 (generates a difference image).
  • the generated difference image has a reduced data amount compared to the original image. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step S107 the orthogonal transform unit 104 orthogonally transforms the difference image generated by the process in step S106. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and orthogonal transformation coefficients are output.
  • step S108 the quantization unit 105 quantizes the orthogonal transform coefficient obtained by the process in step S107.
  • the difference image quantized by the process in step S108 is locally decoded as follows. That is, in step S109, the inverse quantization unit 108 inversely quantizes the quantized orthogonal transform coefficient (also referred to as a quantization coefficient) generated by the quantization process in step S108. In step S ⁇ b> 110, the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by the inverse quantization process in step S ⁇ b> 109 with characteristics corresponding to the characteristics of the orthogonal transform unit 104. Thereby, the difference image is restored.
  • the inverse quantization unit 108 inversely quantizes the quantized orthogonal transform coefficient (also referred to as a quantization coefficient) generated by the quantization process in step S108.
  • the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by the inverse quantization process in step S ⁇ b> 109 with characteristics corresponding to the characteristics of the orthogonal transform
  • step S111 the calculation unit 110 adds the predicted image selected in step S105 to the difference image generated in step S110, and generates a locally decoded image (reconstructed image).
  • step S112 the loop filter 111 appropriately performs a loop filter process including a deblocking filter process and an adaptive loop filter process on the reconstructed image obtained by the process of step S111 to generate a decoded image.
  • step S113 the frame memory 112 stores the decoded image generated by the process of step S112 or the reconstructed image generated by the process of step S111.
  • step S114 the lossless encoding unit 106 encodes the orthogonal transform coefficient quantized by the process in step S107. That is, lossless encoding such as variable length encoding or arithmetic encoding is performed on the difference image. Note that the lossless encoding unit 106 encodes information about prediction, information about quantization, information about filter processing, and the like, and adds the information to the bitstream.
  • step S115 the accumulation buffer 107 accumulates the bit stream obtained by the process in step S114.
  • the encoded data stored in the storage buffer 107 is appropriately read and transmitted to the decoding side via a transmission path or a recording medium.
  • step S116 the rate control unit 117 causes the quantization unit 105 to prevent overflow or underflow based on the code amount (generated code amount) of the encoded data accumulated in the accumulation buffer 107 by the process of step S115. Controls the rate of quantization operation.
  • step S116 When the process of step S116 is finished, the encoding process is finished.
  • the encoding unit 131 encodes the quantized coefficient data in step S131.
  • the encoding unit 131 encodes filter coefficients, optimal mode information, and the like.
  • step S133 the allocation control unit 121 controls encoding allocation.
  • step S134 the VLC table conversion unit 133 converts mpm_flag into a code number using the VLC table selected in the process of step S133.
  • step S135 the arithmetic encoding unit 134 arithmetically encodes the mpm_flag converted into the code number by the process of step S134.
  • step S136 the VLC table conversion unit 135 converts mpm_lr_flag into a code number using the VLC table selected in the process of step S133.
  • step S137 the arithmetic encoding unit 136 arithmetically encodes mpm_lr_flag converted into a code number by the process of step S136.
  • step S138 the VLC table conversion unit 137 converts intra_dir_mode into a code number using the VLC table selected by the process in step S133.
  • step S139 the arithmetic encoding unit 138 arithmetically encodes intra_dir_mode converted into a code number by the process of step S138.
  • step S140 the bit stream generation unit 132 synthesizes the encoded data obtained by the processes of step S131, step S135, step S137, and step S139, and generates a bit stream.
  • step S140 the bitstream generation unit 132 ends the lossless encoding process and returns the process to FIG.
  • the table selection unit 141 of the allocation control unit 121 selects a VLC table for mpm_flag in step S161 according to the CU size and the partition type.
  • step S162 the table selection unit 142 selects the VLC table for mpm_lr_flag according to the partition ID and the partition type.
  • step S163 the table selection unit 143 selects a VLC table for intra_dir_mode according to the CU size and the partition type.
  • step S163 the table selection unit 143 ends the encoding assignment control process and returns the process to FIG.
  • the allocation control unit 121 uses the deviation of the occurrence frequency of each parameter related to intra prediction such as mpm_flag, mpm_lr_flag, and intra_dir_mode to improve the encoding efficiency.
  • code numbers can be assigned. That is, the allocation control unit 121 can suppress a reduction in encoding efficiency due to each parameter related to intra prediction by controlling code number allocation according to the size and shape of the PU.
  • the lossless encoding unit 106 can convert each parameter such as mpm_flag, mpm_lr_flag, and intra_dir_mode into a code number according to the assignment, and can encode it.
  • the image encoding apparatus 100 can suppress a reduction in encoding efficiency due to each parameter related to intra prediction such as mpm_flag, mpm_lr_flag, and intra_dir_mode.
  • FIG. 20 is a block diagram illustrating a main configuration example of an image decoding apparatus that is an image processing apparatus corresponding to the image encoding apparatus 100 of FIG.
  • the image decoding apparatus 200 shown in FIG. 20 decodes the encoded data generated by the image encoding apparatus 100 by a decoding method corresponding to the encoding method.
  • the image decoding apparatus 200 includes a storage buffer 201, a lossless decoding unit 202, an inverse quantization unit 203, an inverse orthogonal transform unit 204, a calculation unit 205, a loop filter 206, a screen rearrangement buffer 207, and a D A / A converter 208 is included.
  • the image decoding apparatus 200 includes a frame memory 209, a selection unit 210, an intra prediction unit 211, a motion prediction / compensation unit 212, and a selection unit 213.
  • the image decoding device 200 includes an assignment control unit 221.
  • the accumulation buffer 201 accumulates the transmitted encoded data, and supplies the encoded data to the lossless decoding unit 202 at a predetermined timing.
  • the lossless decoding unit 202 decodes the information supplied from the accumulation buffer 201 and encoded by the lossless encoding unit 106 in FIG. 1 by a method corresponding to the encoding method of the lossless encoding unit 106.
  • the lossless decoding unit 202 supplies the quantized coefficient data of the difference image obtained by decoding to the inverse quantization unit 203.
  • the lossless decoding unit 202 refers to information on the optimal prediction mode obtained by decoding the encoded data, and determines whether the intra prediction mode or the inter prediction mode is selected as the optimal prediction mode. . That is, the lossless decoding unit 202 determines whether the prediction mode employed in the transmitted encoded data is intra prediction or inter prediction.
  • the lossless decoding unit 202 supplies information on the prediction mode to the intra prediction unit 211 or the motion prediction / compensation unit 212 based on the determination result.
  • the lossless decoding unit 202 is intra prediction information, which is information about the selected intra prediction mode supplied from the encoding side. Is supplied to the intra prediction unit 211.
  • the lossless decoding unit 202 is an inter that is information about the selected inter prediction mode supplied from the encoding side. The prediction information is supplied to the motion prediction / compensation unit 212.
  • the lossless decoding unit 202 supplies information related to the PU size and shape such as the CU size, partition type, and partition ID to the allocation control unit 221.
  • the inverse quantization unit 203 inversely quantizes the quantized coefficient data obtained by decoding by the lossless decoding unit 202. That is, the inverse quantization unit 203 performs inverse quantization by a method corresponding to the quantization method of the quantization unit 105 in FIG. The inverse quantization unit 203 supplies the coefficient data obtained by the inverse quantization to the inverse orthogonal transform unit 204.
  • the inverse orthogonal transform unit 204 performs inverse orthogonal transform on the coefficient data supplied from the inverse quantization unit 203 in a method corresponding to the orthogonal transform method of the orthogonal transform unit 104 in FIG.
  • the inverse orthogonal transform unit 204 obtains a difference image corresponding to the difference image before being orthogonally transformed in the image encoding device 100 by the inverse orthogonal transform process.
  • the difference image obtained by the inverse orthogonal transform is supplied to the calculation unit 205.
  • a prediction image is supplied to the calculation unit 205 from the intra prediction unit 211 or the motion prediction / compensation unit 212 via the selection unit 213.
  • the calculation unit 205 adds the difference image and the prediction image, and obtains a reconstructed image corresponding to the image before the prediction image is subtracted by the calculation unit 103 of the image encoding device 100.
  • the arithmetic unit 205 supplies the reconstructed image to the loop filter 206.
  • the loop filter 206 appropriately performs a loop filter process including a deblock filter process and an adaptive loop filter process on the supplied reconstructed image to generate a decoded image.
  • the loop filter 206 removes block distortion by performing a deblocking filter process on the reconstructed image.
  • the loop filter 206 performs image quality improvement by performing loop filter processing using a Wiener filter on the deblock filter processing result (reconstructed image from which block distortion has been removed). I do.
  • the type of filter processing performed by the loop filter 206 is arbitrary, and filter processing other than that described above may be performed. Further, the loop filter 206 may perform filter processing using the filter coefficient supplied from the image encoding device 100 of FIG.
  • the loop filter 206 supplies the decoded image as the filter processing result to the screen rearrangement buffer 207 and the frame memory 209. Note that the filter processing by the loop filter 206 can be omitted. That is, the output of the calculation unit 205 can be stored in the frame memory 209 without being subjected to filter processing.
  • the intra prediction unit 211 uses pixel values of pixels included in this image as pixel values of peripheral pixels.
  • the screen rearrangement buffer 207 rearranges the supplied decoded images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 102 in FIG. 1 is rearranged in the original display order.
  • the D / A conversion unit 208 D / A converts the decoded image supplied from the screen rearrangement buffer 207, and outputs and displays the decoded image on a display (not shown).
  • the frame memory 209 stores supplied reconstructed images and decoded images. Also, the frame memory 209 selects the stored reconstructed image or decoded image from the selection unit 210 at a predetermined timing or based on an external request such as the intra prediction unit 211 or the motion prediction / compensation unit 212. To the intra prediction unit 211 and the motion prediction / compensation unit 212.
  • the intra prediction unit 211 performs basically the same processing as the intra prediction unit 114 in FIG. However, the intra prediction unit 211 performs intra prediction only on a region where a prediction image is generated by intra prediction at the time of encoding.
  • the motion prediction / compensation unit 212 performs an inter motion prediction process based on the inter prediction information supplied from the lossless decoding unit 202, and generates a predicted image. Note that the motion prediction / compensation unit 212 performs the inter motion prediction process only on the region where the inter prediction is performed at the time of encoding, based on the inter prediction information supplied from the lossless decoding unit 202.
  • the intra prediction unit 211 or the motion prediction / compensation unit 212 supplies the generated predicted image to the calculation unit 205 via the selection unit 213 for each region of the prediction processing unit.
  • the selection unit 213 supplies the prediction image supplied from the intra prediction unit 211 or the prediction image supplied from the motion prediction / compensation unit 212 to the calculation unit 205.
  • the assignment control unit 221 controls the value of each parameter assigned to the code number when the lossless decoding unit 202 arithmetically decodes the code number of information related to intra prediction such as mpm_flag, mpm_lr_flag, and intra_dir_mode, for example. More specifically, for example, the allocation control unit 221 selects a VLC table (variable length code table) that converts the values of mpm_flag, mpm_lr_flag, and intra_dir_mode into code numbers. At that time, the allocation control unit 221 selects the VLC table according to information about the size or shape of the attention PU to be predicted, supplied from the encoding side. The lossless decoding unit 202 uses the VLC table selected by the allocation control unit 221 to perform a VLC table reverse conversion process for returning the code number to the original value.
  • VLC table variable length code table
  • FIG. 21 is a block diagram illustrating a main configuration example of the lossless decoding unit 202 and the allocation control unit 221.
  • the lossless decoding unit 202 includes an extraction unit 231, a decoding unit 232, an arithmetic decoding unit 233, a VLC table inverse conversion unit 234, an arithmetic decoding unit 235, a VLC table reverse conversion unit 236, and an arithmetic decoding unit 237. , And a VLC table inverse conversion unit 238.
  • the assignment control unit 221 includes a table selection unit 241 to a table selection unit 243.
  • the extraction unit 231 encodes the encoded data of the code number converted from mpm_flag, the encoded data of the code number converted from mpm_lr_flag, and the code of the code number converted from intra_dir_mode from the bitstream supplied from the accumulation buffer 201 Extract data.
  • the extraction unit 231 supplies the extracted encoded data of the code number converted from mpm_flag to the arithmetic decoding unit 233. Further, the extraction unit 231 supplies the extracted encoded data of the code number converted from the mpm_lr_flag to the arithmetic decoding unit 235. Further, the extraction unit 231 supplies the extracted encoded data of the code number converted from intra_dir_mode to the arithmetic decoding unit 237.
  • the extraction unit 231 supplies the remaining bit stream to the decoding unit 232.
  • the decoding unit 232 decodes the supplied bit stream, and obtains quantized coefficient data, filter information, and optimum mode information when the optimum mode is inter prediction, transmitted from the encoding side.
  • the decoding unit 232 supplies the quantized coefficient data to the inverse quantization unit 203.
  • the decoding unit 232 supplies the optimal mode information to the motion prediction / compensation unit 212.
  • the decoding unit 232 supplies the filter information including the filter coefficient used on the encoding side to the loop filter 206.
  • the decoding unit 232 obtains optimum mode information and the like when the optimum mode is intra prediction by decoding the supplied bitstream.
  • the decoding unit 232 supplies the optimal mode information to the intra prediction unit 211.
  • the decoding unit 232 includes information on the size and shape of the PU such as the CU size (CU size), the partition type (partition type), and the partition ID (partition id) obtained by decoding the supplied bitstream. Is supplied to the assignment control unit 221.
  • the arithmetic decoding unit 233 arithmetically decodes the encoded data of the code number converted from mpm_flag supplied from the extraction unit 231 to obtain the code number converted from mpm_flag.
  • This arithmetic decoding method corresponds to the arithmetic coding method performed by the arithmetic coding unit 134.
  • the arithmetic decoding unit 233 supplies the code number obtained by converting the decoded mpm_flag to the VLC table inverse conversion unit 234.
  • the arithmetic decoding unit 235 arithmetically decodes the encoded data of the code number converted from mpm_lr_flag supplied from the extraction unit 231 to obtain the code number converted from mpm_lr_flag.
  • This arithmetic decoding method corresponds to the arithmetic encoding method performed by the arithmetic encoding unit 136.
  • the arithmetic decoding unit 235 supplies the code number obtained by converting the decoded mpm_flag to the VLC table inverse conversion unit 236.
  • the arithmetic decoding unit 237 arithmetically decodes the encoded data of the code number converted from intra_dir_mode supplied from the extraction unit 231 to obtain the code number converted from intra_dir_mode.
  • This arithmetic decoding method corresponds to the arithmetic encoding method performed by the arithmetic encoding unit 138.
  • the arithmetic decoding unit 237 supplies the code number obtained by converting the decoded mpm_flag to the VLC table inverse conversion unit 238.
  • the table selection unit 241 selects the VLC table used for the reverse conversion process in the VLC table reverse conversion unit 234 according to the CU size and the partition type. That is, the table selection unit 241 stores a plurality of candidates for the VLC table used in the VLC table inverse conversion unit 234, and selects one of them based on the information supplied from the decoding unit 232, This is supplied to the VLC table inverse conversion unit 234. This table selection method is the same as in the case of the table selection unit 141. The table selection unit 241 selects a VLC table for each PU.
  • the table selection unit 241 may supply information indicating the selected VLC table to the VLC table reverse conversion unit 234 instead of supplying the selected VLC table itself to the VLC table reverse conversion unit 234.
  • the VLC table inverse conversion unit 234 stores in advance a plurality of candidate VLC tables (the same as the VLC table stored in the table selection unit 241), and according to the information supplied from the table selection unit 241, One of them is selected and used for the conversion process.
  • the table selection unit 242 selects the VLC table used for the reverse conversion process in the VLC table reverse conversion unit 236 according to the CU size and the partition type. That is, the table selection unit 242 stores a plurality of candidates for the VLC table used in the VLC table inverse conversion unit 236, and selects one of them based on the information supplied from the decoding unit 232, This is supplied to the VLC table inverse conversion unit 236. This table selection method is the same as in the case of the table selection unit 142. The table selection unit 242 selects a VLC table for each PU.
  • the table selection unit 242 may supply information indicating the selected VLC table to the VLC table reverse conversion unit 236 instead of supplying the selected VLC table itself to the VLC table reverse conversion unit 236.
  • the VLC table inverse conversion unit 236 stores a plurality of candidate VLC tables (the same as the VLC table stored in the table selection unit 242) in advance, and according to the information supplied from the table selection unit 242, One of them is selected and used for the conversion process.
  • the table selection unit 243 selects the VLC table used for the reverse conversion process in the VLC table reverse conversion unit 238 according to the CU size and the partition type. That is, the table selection unit 243 stores a plurality of candidates for the VLC table used in the VLC table inverse conversion unit 238, and selects one of them based on the information supplied from the decoding unit 232, This is supplied to the VLC table inverse conversion unit 238. This table selection method is the same as that of the table selection unit 143. The table selection unit 243 selects a VLC table for each PU.
  • the table selection unit 243 may supply information indicating the selected VLC table to the VLC table reverse conversion unit 238 instead of supplying the selected VLC table itself to the VLC table reverse conversion unit 238.
  • the VLC table inverse conversion unit 238 stores a plurality of candidate VLC tables (same as the VLC table stored in the table selection unit 242) in advance, and according to the information supplied from the table selection unit 243, One of them is selected and used for the conversion process.
  • the VLC table inverse conversion unit 234 performs inverse conversion on the code number converted from mpm_flag supplied from the arithmetic decoding unit 233 using the VLC table selected by the table selection unit 241 to obtain mpm_flag. That is, the VLC table reverse conversion unit 234 performs reverse processing of VLC table conversion by the VLC table conversion unit 133.
  • the VLC table inverse transform unit 234 supplies the mpm_flag obtained by the inverse transform process to the intra prediction unit 211.
  • the VLC table inverse conversion unit 236 performs inverse conversion on the code number converted from mpm_lr_flag supplied from the arithmetic decoding unit 235 using the VLC table selected by the table selection unit 242 to obtain mpm_lr_flag. That is, the VLC table reverse conversion unit 236 performs reverse processing of VLC table conversion by the VLC table conversion unit 135.
  • the VLC table inverse transform unit 236 supplies the mpm_lr_flag obtained by the inverse transform process to the intra prediction unit 211.
  • the VLC table inverse conversion unit 238 performs inverse conversion on the code number converted from intra_dir_mode supplied from the arithmetic decoding unit 237 using the VLC table selected by the table selection unit 243 to obtain intra_dir_mode. That is, the VLC table reverse conversion unit 238 performs reverse processing of VLC table conversion by the VLC table conversion unit 137.
  • the VLC table inverse transform unit 238 supplies intra_dir_mode obtained by the inverse transform process to the intra prediction unit 211.
  • the arithmetic decoding unit 233, the arithmetic decoding unit 235, and the arithmetic decoding unit 237 are respectively used for the arithmetic encoding of the arithmetic encoding unit 134, the arithmetic encoding unit 136, and the arithmetic encoding unit 138 of FIG. Perform the corresponding arithmetic decoding.
  • the table selection unit 241 to the table selection unit 243 select a table by the same method as the VLC table selection method by the table selection unit 141 to the table selection unit 143.
  • VLC table reverse conversion unit 234, the VLC table reverse conversion unit 236, and the VLC table reverse conversion unit 238 perform VLC table conversion by the VLC table conversion unit 133, the VLC table conversion unit 135, and the VLC table conversion unit 137, respectively. Reverse processing is performed.
  • the lossless decoding unit 202 can correctly decode the bitstream encoded by the lossless encoding unit 106.
  • the image decoding apparatus 200 uses the bias of the output of each parameter related to intra prediction such as mpm_flag, mpm_lr_flag, and intra_dir_mode (occurrence frequency (occurrence probability) of each value) to improve the encoding efficiency. Reduction suppression can be realized.
  • step S201 the accumulation buffer 201 accumulates the transmitted bit stream.
  • step S202 the lossless decoding unit 202 decodes the bit stream (encoded difference image information) supplied from the accumulation buffer 201. At this time, various types of information other than the difference image information included in the bitstream, such as information on the prediction mode information, is also decoded.
  • step S203 the inverse quantization unit 203 inversely quantizes the quantized orthogonal transform coefficient obtained by the process in step S202.
  • step S204 the inverse orthogonal transform unit 204 performs inverse orthogonal transform on the orthogonal transform coefficient inversely quantized in step S203.
  • step S205 the intra prediction unit 211 or the motion prediction / compensation unit 212 performs a prediction process using the supplied information.
  • step S206 the calculation unit 205 adds the predicted image generated in step S205 to the difference image information obtained by the inverse orthogonal transform in step S204. Thereby, a reconstructed image is generated.
  • step S207 the loop filter 206 appropriately performs loop filter processing including deblock filter processing and adaptive loop filter processing on the reconstructed image obtained in step S206.
  • step S208 the screen rearrangement buffer 207 rearranges the decoded images generated by the filtering process in step S207. That is, the order of frames rearranged for encoding by the screen rearrangement buffer 102 of the image encoding device 100 is rearranged to the original display order.
  • step S209 the D / A converter 208 D / A converts the decoded image in which the frame order is rearranged.
  • the decoded image is output and displayed on a display (not shown).
  • step S210 the frame memory 209 stores the decoded image obtained by the filtering process in step S207. This decoded image is used as a reference image in the inter prediction process.
  • step S210 When the process of step S210 is completed, the decoding process is terminated.
  • step S231 the extraction unit 231 extracts the encoded data of mpm_flag, mpm_lr_flag, and intra_dir_mode from the bitstream.
  • step S232 the decoding unit 232 decodes the encoded data of the quantized coefficient data.
  • step S233 the decoding unit 232 decodes encoded data such as filter information and optimum mode information.
  • step S234 the allocation control unit 221 controls decoding allocation.
  • step S235 the arithmetic decoding unit 233 arithmetically decodes the encoded data of mpm_flag extracted in step S231.
  • step S236 the VLC table inverse conversion unit 234 performs inverse conversion on the code number (symbol) of the mpm_flag obtained by arithmetic decoding in step S235 using the VLC table selected in the process of step S234, and Get the value.
  • step S237 the arithmetic decoding unit 235 arithmetically decodes the encoded data of mpm_lr_flag extracted in step S231.
  • step S238, the VLC table inverse conversion unit 236 performs inverse conversion on the code number (symbol) of mpm_lr_flag obtained by arithmetic decoding in step S237, using the VLC table selected in the process of step S234, and sets mpm_lr_flag to Get the value.
  • step S239 the arithmetic decoding unit 237 arithmetically decodes the encoded data of intra_dir_mode extracted in step S231.
  • step S240 the VLC table inverse conversion unit 238 performs inverse conversion on the code number (symbol) of the mpm_flag obtained by arithmetic decoding in step S239 using the VLC table selected in the process of step S234, and sets the intra_dir_mode. Get the value.
  • step S240 the VLC table inverse conversion unit 238 ends the lossless decoding process and returns the process to FIG.
  • the table selection unit 241 selects the VLC table for mpm_flag according to the CU size and partition type supplied from the encoding side in step S261.
  • step S262 the table selection unit 242 selects the VLC table for mpm_lr_flag according to the partition ID and the partition unit supplied from the encoding side.
  • step S263 the table selection unit 243 selects a VLC table for intra_dir_mode according to the CU size and partition unit supplied from the encoding side.
  • the table selection unit 243 ends the decoding assignment control process and returns the process to FIG.
  • the lossless decoding unit 202 can correctly decode the bitstream encoded by the lossless encoding unit 106.
  • the image decoding apparatus 200 uses the bias of the output of each parameter related to intra prediction such as mpm_flag, mpm_lr_flag, and intra_dir_mode (occurrence frequency (occurrence probability) of each value) to improve the encoding efficiency. Reduction suppression can be realized.
  • the context probability model of arithmetic coding may be switched according to the size and shape of the PU.
  • FIG. 25 is a block diagram illustrating a main configuration example of the lossless encoding unit 106 and the allocation control unit 121 in that case.
  • the assignment control unit 121 includes a context probability model selection unit 301 to a context probability model selection unit 303 instead of the table selection unit 141 to the table selection unit 143.
  • the context probability model selection unit 301 controls the context probability model used in the arithmetic coding unit 134 based on the CU size and the partition type (information on the size and shape of the PU) supplied from the intra prediction unit 114. More specifically, the context probability model selection unit 301 stores in advance a plurality of context probability model candidates used by the arithmetic coding unit 134, and based on the information about the size and shape of the PU, the mpm_flag The model that is most likely to have the smallest code amount is selected and supplied to the arithmetic coding unit 134.
  • the VLC table conversion unit 133 performs mpm_flag VLC table conversion using a predetermined VLC conversion table.
  • the arithmetic encoding unit 134 performs arithmetic encoding on the code number obtained by converting the mpm_flag in the VLC table conversion unit 133 using the context probability model selected by the context probability model selection unit 301, Generate data.
  • the arithmetic encoding unit 134 supplies the encoded data to the bit stream generation unit 132.
  • the arithmetic coding unit 134 stores a plurality of context probability model candidates in advance, and the context probability model selection unit 301 selects a context probability model to be used, and stores information indicating the selected context probability model as an arithmetic code.
  • the arithmetic coding unit 134 may select the context probability model specified by the information from the candidates and use it.
  • the context probability model selection unit 302 controls the context probability model used in the arithmetic coding unit 136 based on the partition ID and the partition type (information regarding the shape of the PU) supplied from the intra prediction unit 114. More specifically, the context probability model selection unit 302 stores in advance a plurality of context probability model candidates used by the arithmetic coding unit 136, and based on information on the size and shape of the PU, the mpm_lr_flag The model that is most likely to have the smallest code amount is selected and supplied to the arithmetic encoding unit 136.
  • the VLC table conversion unit 135 performs VLC table conversion of mpm_lr_flag using a predetermined VLC conversion table.
  • the arithmetic encoding unit 136 performs arithmetic encoding on the code number obtained by converting the mpm_lr_flag in the VLC table conversion unit 135 using the context probability model selected by the context probability model selection unit 302, and Generate data.
  • the arithmetic encoding unit 136 supplies the encoded data to the bit stream generation unit 132.
  • the arithmetic encoding unit 136 stores a plurality of context probability model candidates in advance, and the context probability model selecting unit 302 selects a context probability model to be used, and information indicating the selected context probability model is arithmetic code.
  • the arithmetic coding unit 136 may select the context probability model specified by the information from the candidates and use it.
  • the context probability model selection unit 303 controls the context probability model used in the arithmetic coding unit 138 based on the partition ID and the partition type (information regarding the shape of the PU) supplied from the intra prediction unit 114. More specifically, the context probability model selection unit 303 stores in advance a plurality of context probability model candidates used by the arithmetic coding unit 138, and based on information on the size and shape of the PU, the intra_dir_mode The model that is most likely to have the smallest code amount is selected and supplied to the arithmetic coding unit 138.
  • the VLC table conversion unit 137 performs intra_dir_mode VLC table conversion using a predetermined VLC conversion table.
  • the arithmetic encoding unit 138 performs arithmetic encoding on the code number obtained by converting the intra_dir_mode in the VLC table conversion unit 137 using the context probability model selected by the context probability model selection unit 303, and Generate data.
  • the arithmetic encoding unit 138 supplies the encoded data to the bit stream generation unit 132.
  • the arithmetic encoding unit 138 stores a plurality of context probability model candidates in advance, and the context probability model selecting unit 303 selects a context probability model to be used, and stores information indicating the selected context probability model as an arithmetic code.
  • the arithmetic coding unit 138 may select the context probability model specified by the information from the candidates and use it.
  • the encoding unit 131 encodes the quantized coefficient data in step S301.
  • the encoding unit 131 encodes filter coefficients, optimal mode information, and the like.
  • step S303 the allocation control unit 121 controls encoding allocation.
  • step S304 the VLC table conversion unit 133 converts mpm_flag into a code number.
  • step S305 the arithmetic encoding unit 134 arithmetically encodes the mpm_flag converted into the code number by the process of step S304, using the context probability model selected by the process of step S303.
  • step S306 the VLC table conversion unit 135 converts mpm_lr_flag into a code number.
  • the arithmetic encoding unit 136 arithmetically encodes mpm_lr_flag converted into a code number by the process of step S306, using the context probability model selected by the process of step S303.
  • step S308 the VLC table conversion unit 137 converts intra_dir_mode into a code number.
  • step S309 the arithmetic encoding unit 138 arithmetically encodes intra_dir_mode converted into a code number by the process of step S308, using the context probability model selected by the process of step S303.
  • step S310 the bit stream generation unit 132 synthesizes the encoded data obtained by the processes of step S301, step S302, step S305, step S307, and step S309, and generates a bit stream.
  • step S310 the bit stream generation unit 132 ends the lossless encoding process and returns the process to FIG.
  • the context probability model selection unit 301 of the allocation control unit 121 selects a context probability model for mpm_flag in step S331 according to the CU size and the partition type.
  • step S302 the context probability model selection unit 302 selects a context probability model for mpm_lr_flag according to the partition ID and the partition type.
  • step S303 the context probability model selection unit 303 selects a context probability model for intra_dir_mode according to the CU size and the partition type.
  • step S303 When the processing in step S303 ends, the context probability model selection unit 303 ends the encoding assignment control processing and returns the processing to FIG.
  • the allocation control unit 121 increases the coding efficiency according to the frequency of occurrence of each value of each parameter such as mpm_flag, mpm_lr_flag, and intra_dir_mode based on the size and shape of the PU.
  • a contextual probability model for arithmetic coding can be selected to improve.
  • the lossless encoding unit 106 can arithmetically encode the code numbers of parameters such as mpm_flag, mpm_lr_flag, and intra_dir_mode using the context probability model.
  • the image encoding apparatus 100 can suppress a reduction in encoding efficiency due to each parameter related to intra prediction such as mpm_flag, mpm_lr_flag, and intra_dir_mode.
  • FIG. 28 is a block diagram illustrating a main configuration example of the lossless decoding unit 202 and the allocation control unit 221 of the image decoding device 200 corresponding to the image encoding device 100 of the example of FIG.
  • the assignment control unit 221 includes a context probability model selection unit 401 to a context probability model selection unit 403 instead of the table selection unit 241 to the table selection unit 243.
  • the context probability model selection unit 401 Based on the CU size and the partition type (information about the size and shape of the PU) transmitted from the encoding side, the context probability model selection unit 401 performs the arithmetic decoding unit 233 in the same manner as the context probability model selection unit 301. Controls the context probability model used.
  • the context probability model selection unit 402 Based on the CU size and partition type (information about the size and shape of the PU) transmitted from the encoding side, the context probability model selection unit 402 performs the arithmetic decoding unit 235 in the same manner as the context probability model selection unit 302. Controls the context probability model used.
  • the context probability model selection unit 403 Based on the CU size and partition type (information about the size and shape of the PU) transmitted from the encoding side, the context probability model selection unit 403 performs the arithmetic decoding unit 237 in the same manner as the context probability model selection unit 303. Controls the context probability model used.
  • the arithmetic decoding unit 233, the arithmetic decoding unit 235, and the arithmetic decoding unit 237 respectively select the context probability models selected by the context probability model selection unit 401, the context probability model selection unit 402, and the context probability model selection unit 403. To perform arithmetic decoding.
  • the VLC table reverse conversion unit 234, the VLC table reverse conversion unit 236, and the VLC table reverse conversion unit 238 do not switch the VLC table (a predetermined VLC table determined in advance) as in the case of FIG. Inverse conversion processing is performed.
  • the context probability model selection unit 401 to context probability model 403 receive only the information indicating the selected context probability model, respectively, the arithmetic decoding unit 233, the arithmetic decoding unit 235, and the arithmetic You may make it supply to the decoding part 237.
  • FIG. 25 the context probability model selection unit 401 to context probability model 403 receive only the information indicating the selected context probability model, respectively, the arithmetic decoding unit 233, the arithmetic decoding unit 235, and the arithmetic You may make it supply to the decoding part 237.
  • the extraction unit 231 extracts encoded data of mpm_flag, mpm_lr_flag, and intra_dir_mode from the bitstream in step S401.
  • step S402 the decoding unit 232 decodes the encoded data of the quantized coefficient data.
  • step S403 the decoding unit 232 decodes encoded data such as filter information and optimum mode information.
  • step S404 the allocation control unit 221 controls decoding allocation.
  • step S405 the arithmetic decoding unit 233 performs arithmetic decoding on the encoded data of mpm_flag extracted in step S231 using the context probability model selected in the process of step S404.
  • step S406 the VLC table inverse conversion unit 234 performs inverse conversion on the code number (symbol) of mpm_flag obtained by arithmetic decoding in step S235, and obtains the value of mpm_flag.
  • step S407 the arithmetic decoding unit 235 performs arithmetic decoding on the encoded data of mpm_lr_flag extracted in step S231 using the context probability model selected in the process of step S404.
  • step S408 the VLC table inverse conversion unit 236 performs inverse conversion on the code number (symbol) of mpm_lr_flag obtained by arithmetic decoding in step S407, and obtains the value of mpm_lr_flag.
  • step S409 the arithmetic decoding unit 237 performs arithmetic decoding on the encoded data of intra_dir_mode extracted in step S231 using the context probability model selected by the process of step S404.
  • step S410 the VLC table inverse transform unit 238 inversely transforms the code number (symbol) of mpm_flag obtained by arithmetic decoding in step S409, and obtains the value of intra_dir_mode.
  • step S410 the VLC table inverse conversion unit 238 ends the lossless decoding process and returns the process to FIG.
  • the context probability model selection unit 401 selects a context probability model for mpm_flag in step S431 according to the CU size and partition type supplied from the encoding side.
  • step S432 the context probability model selection unit 402 selects the context probability model selection unit 401 for mpm_lr_flag according to the partition ID and the partition unit supplied from the encoding side.
  • step S433 the context probability model selection unit 403 selects a VLC context probability model for intra_dir_mode according to the CU size and partition unit supplied from the encoding side.
  • the context probability model selection unit 403 ends the decoding assignment control process and returns the process to FIG.
  • the lossless decoding unit 202 can correctly decode the bitstream encoded by the lossless encoding unit 106.
  • the image decoding apparatus 200 can implement
  • the prediction direction and the bias of each parameter value described above are examples, and may be different from the above description as long as they are known. That is, it suffices if code numbers can be assigned or context probability models can be selected in accordance with the known bias. For example, in a rectangular PU, the predicted direction closer to the short direction (the direction perpendicular to the longitudinal direction) may have a higher frequency of occurrence than the predicted direction closer to the longitudinal direction. Even in such a case, if such a bias is known, a VLC table that assigns a smaller code number to a prediction direction closer to the short direction of the PU may be prepared. The same applies to the case of controlling the context probability model.
  • the above-described code number assignment method for each VLC table is an example, and as described above, a code number assignment method that further reduces the code amount in accordance with the occurrence frequency deviation of each parameter value. Anything may be used. Further, the bit length of the code number is not limited to the above example.
  • this technology is, for example, MPEG, H.264.
  • image information bitstream
  • orthogonal transform such as discrete cosine transform and motion compensation, such as 26x
  • network media such as satellite broadcasting, cable television, the Internet, or mobile phones.
  • the present invention can be applied to an image encoding device and an image decoding device used in the above.
  • the present technology can be applied to an image encoding device and an image decoding device that are used when processing is performed on a storage medium such as an optical disk, a magnetic disk, and a flash memory.
  • the present technology can also be applied to motion prediction / compensation devices included in such image encoding devices and image decoding devices.
  • a CPU (Central Processing Unit) 501 of the personal computer 500 performs various processes according to a program stored in a ROM (Read Only Memory) 502 or a program loaded from a storage unit 513 to a RAM (Random Access Memory) 503. Execute the process.
  • the RAM 503 also appropriately stores data necessary for the CPU 501 to execute various processes.
  • the CPU 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504.
  • An input / output interface 510 is also connected to the bus 504.
  • the input / output interface 510 includes an input unit 511 including a keyboard and a mouse, a display including a CRT (Cathode Ray Tube) and an LCD (Liquid Crystal Display), an output unit 512 including a speaker, and a hard disk.
  • a communication unit 514 including a storage unit 513 and a modem is connected. The communication unit 514 performs communication processing via a network including the Internet.
  • a drive 515 is connected to the input / output interface 510 as necessary, and a removable medium 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is It is installed in the storage unit 513 as necessary.
  • a removable medium 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is It is installed in the storage unit 513 as necessary.
  • a program constituting the software is installed from a network or a recording medium.
  • this recording medium is distributed to distribute a program to a user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which a program is recorded, an optical disk ( It only consists of removable media 521 consisting of CD-ROM (compact disc -read only memory), DVD (including digital Versatile disc), magneto-optical disk (including MD (mini disc)), or semiconductor memory. Rather, it is composed of a ROM 502 on which a program is recorded and a hard disk included in the storage unit 513, which is distributed to the user in a state of being pre-installed in the apparatus main body.
  • a magnetic disk including a flexible disk
  • an optical disk It only consists of removable media 521 consisting of CD-ROM (compact disc -read only memory), DVD (including digital Versatile disc), magneto-optical disk (including MD (mini disc)), or semiconductor memory. Rather, it is composed of a ROM 502 on which a program is recorded and a hard disk included in the storage unit 513
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
  • system represents the entire apparatus composed of a plurality of devices (apparatuses).
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
  • a configuration other than that described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). . That is, the present technology is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present technology.
  • An image encoding device and an image decoding device include a transmitter or a receiver in optical broadcasting, satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, etc.
  • the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a magnetic disk and a flash memory, or a playback device that reproduces an image from these storage media.
  • a recording device that records an image on a medium such as a magnetic disk and a flash memory
  • a playback device that reproduces an image from these storage media.
  • FIG. 32 shows an example of a schematic configuration of a television apparatus to which the above-described embodiment is applied.
  • the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
  • Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television device 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. Further, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic User Interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • a display device for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the control unit 910 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU when the television apparatus 900 is activated.
  • the CPU executes the program to control the operation of the television device 900 according to an operation signal input from the user interface 911, for example.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910 to each other.
  • the decoder 904 has the function of the image decoding apparatus according to the above-described embodiment. Thereby, it is possible to improve the encoding efficiency when the image is decoded by the television apparatus 900.
  • FIG. 33 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 decompresses the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
  • the control unit 931 causes the display unit 930 to display characters.
  • the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
  • the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
  • the storage medium may be a built-in storage medium such as RAM or flash memory, and is externally mounted such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Unallocated Space Space Bitmap) memory, or memory card. It may be a storage medium.
  • the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the storage / playback unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has the functions of the image encoding device and the image decoding device according to the above-described embodiment. Accordingly, encoding efficiency can be improved when encoding and decoding an image with the mobile phone 920.
  • FIG. 34 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
  • the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
  • the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
  • the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
  • Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 serves as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream in which content data such as video and audio are compressed, various programs, and other data on an internal hard disk. Further, the HDD 944 reads out these data from the hard disk when reproducing video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • the recording medium mounted on the disk drive 945 is, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. It may be.
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
  • OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
  • the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from the user interface 950, for example, by executing the program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of the image encoding apparatus according to the above-described embodiment.
  • the decoder 947 has the function of the image decoding apparatus according to the above-described embodiment.
  • FIG. 35 illustrates an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD (Charge-Coupled Device) or a CMOS (Complementary Metal-Oxide Semiconductor), and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • CCD Charge-Coupled Device
  • CMOS Complementary Metal-Oxide Semiconductor
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, and outputs the generated image to the image processing unit 964.
  • the external interface 966 is configured as a USB input / output terminal, for example.
  • the external interface 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • a recording medium may be fixedly mounted on the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971 by executing the program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has the functions of the image encoding device and the image decoding device according to the above-described embodiment. Accordingly, encoding efficiency can be improved when encoding and decoding an image by the imaging device 960.
  • the method for transmitting such information is not limited to such an example.
  • these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
  • Information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • this technique can also take the following structures.
  • a control unit that controls encoding of parameters related to intra prediction according to a region of a prediction processing unit;
  • An image processing apparatus comprising: an encoding unit that encodes the parameter in accordance with control by the control unit.
  • the image processing device according to (1), wherein the control unit controls encoding of the parameter so as to reduce a code amount of the parameter.
  • the control unit selects a table for assigning a code number to each value of the parameter, The image processing apparatus according to (1) or (2), wherein the encoding unit converts each value of the parameter into the code number using the table selected by the control unit and encodes the value.
  • the control unit selects a context probability model of arithmetic coding by the coding unit, The image processing device according to any one of (1) to (3), wherein the encoding unit encodes the parameter using the context probability model selected by the control unit.
  • the parameter includes a flag that specifies whether or not to use MPM (Most probable mode).
  • the control unit controls encoding of a flag that specifies whether or not to use the MPM according to the size and shape of the region.
  • the parameter includes a flag that specifies a peripheral region to be referred to in MPM (Most probable mode).
  • An image processing method for an image processing apparatus The control unit controls encoding of parameters related to intra prediction according to the area of the prediction processing unit, An image processing method in which an encoding unit encodes the parameter according to the control.
  • a receiving unit that receives encoded data of parameters related to intra prediction;
  • a control unit that controls decoding of the encoded data received by the receiving unit according to a region of a prediction processing unit;
  • An image processing apparatus comprising: a decoding unit that decodes the encoded data according to control by the control unit.
  • the receiving unit receives encoded data of parameters related to intra prediction
  • the control unit controls the decoding of the received encoded data according to the area of the prediction processing unit

Landscapes

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

Abstract

本技術は、符号化効率を向上させることができるようにする画像処理装置および方法に関する。予測処理単位の領域であるプレディクションユニットの大きさや形等に応じてイントラ予測に関する各種パラメータの符号化について、テーブルを選択したり、コンテキスト確率モデルを設定したりして、符号化を制御する制御部と、前記制御部による制御に従って、前記パラメータを符号化する符号化部とを備える。本開示は画像処理装置に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、符号化効率を向上させることができるようにした画像処理装置および方法に関する。
 近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG(Moving Picture Experts Group)などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及した。
 特に、MPEG2(ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4~8Mbps、1920×1088画素を持つ高解像度の飛び越し走査画像であれば18~22Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
 更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L (ITU-T(International Telecommunication Union Telecommunication Standardization Sector) Q6/16 VCEG(Video Coding Expert Group))という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われた。
 標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下AVCと記す)という名の元に国際標準となった。
 更に、その拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG-2で規定されていた8x8DCT(Discrete Cosine Transform)や量子化マトリクスをも含んだFRExt(Fidelity Range Extension)の標準化が2005年2月に完了し、これにより、AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc等の幅広いアプリケーションに用いられる運びとなった。
 しかしながら、昨今、ハイビジョン画像の4倍の、4000×2000画素程度の画像を圧縮したい、或いは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、ITU-T傘下のVCEG(Video Coding Expert Group)において、符号化効率の改善に関する検討が継続され行なわれている。
 ところで、従来のように、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない恐れがあった。
 そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている(例えば、非特許文献1参照)。
 このHEVC符号化方式においては、AVCにおけるマクロブロックと同様の処理単位としてコーディングユニット(CU(Coding Unit))が定義されている。このCUは、AVCのマクロブロックのようにサイズが16×16画素に固定されず、それぞれのシーケンスにおいて、画像圧縮情報中において指定される。
 ところで、HEVCでは、Most probable mode(MPM)と呼ばれる符号化方式を用いることができる。このモードの場合、エンコーダは、処理対象である注目PU(Prediction Unit)に対してMPMを使うか否かを指定するフラグmpm_flagと、どの隣接PUのイントラ予測方向を注目PUに適用するかを示すmpm_lr_flagをストリームに含める。
 これに対して、MPMが用いられない場合、エンコーダは、注目PUのイントラ予測の予測方向を示すintra_dir_modeをストリームに含める。
 デコーダはストリームを復号し、これらの情報に基づいて符号化方式に対応する復号方法で符号化データを復号する。
Thomas Wiegand, Woo-Jin Han, Benjamin Bross, Jens-Rainer Ohm, Gary J. Sullivan, "Working Draft 1 of High-Efficiency Video Coding ", JCTVC-C403, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG113rd Meeting: Guangzhou, CN, 7-15 October, 2010
 しかしながら、この方法の場合、mpm_flag,mpm_lr_flag、およびintra_dir_mode等の情報を符号化してストリームに含める必要があるため、これらの情報により符号化効率を低減させる恐れがあったが、これらの値の特徴を考慮することなく符号化が行われていたため、十分な符号化効率を得ることが困難であった。
 本開示は、このような状況に鑑みてなされたものであり、符号化効率の低減を抑制することを目的とする。
 本開示の一側面は、予測処理単位の領域に応じてイントラ予測に関するパラメータの符号化を制御する制御部と、前記制御部による制御に従って、前記パラメータを符号化する符号化部とを備える画像処理装置である。
 前記制御部は、前記パラメータの符号量を低減させるように前記パラメータの符号化を制御することができる。
 前記制御部は、前記パラメータの各値にコード番号を割り当てるテーブルを選択し、前記符号化部は、前記制御部により選択された前記テーブルを用いて前記パラメータの各値を前記コード番号に変換し、符号化することができる。
 前記制御部は、前記符号化部による算術符号化のコンテキスト確率モデルを選択し、前記符号化部は、前記制御部により選択された前記コンテキスト確率モデルを用いて前記パラメータを符号化することができる。
 前記パラメータは、MPM(Most probable mode)を使うか否かを指定するフラグを含むようにすることができる。
 前記制御部は、前記領域の大きさと形に応じて、前記MPMを使うか否かを指定するフラグの符号化を制御することができる。
 前記パラメータは、MPM(Most probable mode)において参照する周辺領域を指定するフラグを含むようにすることができる。
 前記制御部は、前記領域の形とIDに応じて、前記MPMにおいて参照する周辺領域を指定するフラグの符号化を制御することができる。
 前記パラメータは、イントラ予測の予測方向を示すフラグを含むようにすることができる。
 前記制御部は、前記領域の大きさと形に応じて、前記イントラ予測の予測方向を示すフラグの符号化を制御することができる。
 前記符号化部により符号化された前記パラメータを伝送する伝送部をさらに備えることができる。
 本開示の一側面は、また、画像処理装置の画像処理方法であって、制御部が、予測処理単位の領域に応じてイントラ予測に関するパラメータの符号化を制御し、符号化部が、前記制御に従って、前記パラメータを符号化する画像処理方法である。
 本開示の他の側面は、イントラ予測に関するパラメータの符号化データを受け取る受け取り部と、予測処理単位の領域に応じて、前記受け取り部により受け取られた前記符号化データの復号を制御する制御部と、前記制御部による制御に従って、前記符号化データを復号する復号部とを備える画像処理装置である。
 本開示の他の側面は、また、画像処理装置の画像処理方法であって、受け取り部が、イントラ予測に関するパラメータの符号化データを受け取り、制御部が、予測処理単位の領域に応じて、受け取られた前記符号化データの復号を制御し、復号部が、前記制御に従って、前記符号化データを復号する画像処理方法である。
 本開示の一側面においては、予測処理単位の領域に応じてイントラ予測に関するパラメータの符号化が制御され、その制御に従って、イントラ予測に関するパラメータが符号化される。
 本開示の他の側面においては、イントラ予測に関するパラメータの符号化データが受け取られ、予測処理単位の領域に応じて、受け取られた符号化データの復号が制御され、その制御に従って、符号化データが復号される。
 本開示によれば、画像を処理することができる。特に、符号化効率の低減を抑制することができる。
画像符号化装置の主な構成例を示すブロック図である。 コーディングユニットの構成例を説明する図である。 Angular Prediction イントラ予測方式の例を説明する図である。 Arbitrary Directional Intra イントラ予測方式の例を説明する図である。 PUのパーティションタイプの例を説明する図である。 Most Probable Modeについて説明する図である。 可逆符号化部および割り当て制御部の主な構成例を示すブロック図である。 予測方向の例を説明する図である。 mpm_flagのVLCテーブルの例を説明する図である。 mpm_lr_flagのVLCテーブルの例を説明する図である。 intra_dir_modeのVLCテーブルの例を説明する図である。 テーブルAの例を説明する図である。 テーブルBの例を説明する図である。 テーブルCの例を説明する図である。 テーブルDの例を説明する図である。 テーブルEの例を説明する図である。 符号化処理の流れの例を説明するフローチャートである。 可逆符号化処理の流れの例を説明するフローチャートである。 符号化割り当て制御処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 可逆復号部および割り当て制御部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 予測処理の流れの例を説明するフローチャートである。 復号割り当て制御処理の流れを説明するフローチャートである。 可逆符号化部および割り当て制御部の他の構成例を示すブロック図である。 可逆符号化処理の流れの例を説明するフローチャートである。 符号化割り当て制御処理の流れの例を説明するフローチャートである。 可逆復号部および割り当て制御部の他の構成例を示す図である。 可逆符号化処理の流れの、他の例を説明するフローチャートである。 復号割り当て制御処理の流れの、他の例を説明するフローチャートである。 パーソナルコンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.第1の実施の形態(画像符号化装置)
 2.第2の実施の形態(画像復号装置)
 3.第3の実施の形態(コンテキスト確率モデルの制御)
 4.第4の実施の形態(コンピュータ)
 5.第5の実施の形態(テレビジョン受像機)
 6.第6の実施の形態(携帯電話機)
 7.第7の実施の形態(記録再生装置)
 8.第8の実施の形態(撮像装置)
 <1.第1の実施の形態>
 [画像符号化装置]
 図1は、画像処理装置である画像符号化装置の主な構成例を示すブロック図である。
 図1に示される画像符号化装置100は、例えばH.264及びMPEG(Moving Picture Experts Group)4 Part10(AVC(Advanced Video Coding))符号化方式のように、予測処理を用いて画像データを符号化する。
 図1に示されるように画像符号化装置100は、A/D変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、および蓄積バッファ107を有する。また、画像符号化装置100は、逆量子化部108、逆直交変換部109、演算部110、ループフィルタ111、フレームメモリ112、選択部113、イントラ予測部114、動き予測・補償部115、予測画像選択部116、およびレート制御部117を有する。
 画像符号化装置100は、さらに、割り当て制御部121を有する。
 A/D変換部101は、入力された画像データをA/D変換し、変換後の画像データ(デジタルデータ)を、画面並べ替えバッファ102に供給し、記憶させる。画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group Of Picture)に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部103に供給する。また、画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、イントラ予測部114および動き予測・補償部115にも供給する。
 演算部103は、画面並べ替えバッファ102から読み出された画像から、予測画像選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を減算し、その差分情報を直交変換部104に出力する。
 例えば、イントラ符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、イントラ予測部114から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、動き予測・補償部115から供給される予測画像を減算する。
 直交変換部104は、演算部103から供給される差分情報に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部104は、その変換係数を量子化部105に供給する。
 量子化部105は、直交変換部104から供給される変換係数を量子化する。量子化部105は、レート制御部117から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。なお、この量子化の方法は任意である。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
 可逆符号化部106は、量子化部105において量子化された変換係数を、任意の符号化方式で符号化する。係数データは、レート制御部117の制御の下で量子化されているので、この符号量は、レート制御部117が設定した目標値となる(若しくは目標値に近似する)。
 また、可逆符号化部106は、イントラ予測のモードを示す情報等を含むイントラ予測情報をイントラ予測部114から取得し、インター予測のモードを示す情報や動きベクトル情報などを含むインター予測情報を動き予測・補償部115から取得する。さらに、可逆符号化部106は、ループフィルタ111において使用されたフィルタ係数等を取得する。
 可逆符号化部106は、これらの各種情報を任意の符号化方式で符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
 可逆符号化部106の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
 蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持する。蓄積バッファ107は、所定のタイミングにおいて、保持している符号化データを、ビットストリームとして、例えば、後段の図示せぬ記録装置(記録媒体)や伝送路などに出力する。つまり、符号化された各種情報が復号側に供給される。
 また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。この逆量子化の方法は、量子化部105による量子化処理に対応する方法であればどのような方法であってもよい。逆量子化部108は、得られた変換係数を、逆直交変換部109に供給する。
 逆直交変換部109は、逆量子化部108から供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。この逆直交変換の方法は、直交変換部104による直交変換処理に対応する方法であればどのようなものであってもよい。逆直交変換された出力(局所的に復元された差分情報)は、演算部110に供給される。
 演算部110は、逆直交変換部109から供給された逆直交変換結果、すなわち、局所的に復元された差分情報に、予測画像選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を加算し、局所的に再構成された画像(以下、再構成画像と称する)を得る。その再構成画像は、ループフィルタ111またはフレームメモリ112に供給される。
 ループフィルタ111は、デブロックフィルタや適応ループフィルタ等を含み、演算部110から供給される復号画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ111は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ111は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
 なお、ループフィルタ111が、復号画像に対して任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ111は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部106に供給し、それを符号化させるようにすることもできる。
 ループフィルタ111は、フィルタ処理結果(以下、復号画像と称する)をフレームメモリ112に供給する。
 フレームメモリ112は、演算部110から供給される再構成画像と、ループフィルタ111から供給される復号画像とをそれぞれ記憶する。フレームメモリ112は、所定のタイミングにおいて、若しくは、イントラ予測部114等の外部からの要求に基づいて、記憶している再構成画像を、選択部113を介して、イントラ予測部114に供給する。また、フレームメモリ112は、所定のタイミングにおいて、若しくは、動き予測・補償部115等の外部からの要求に基づいて、記憶している復号画像を、選択部113を介して、動き予測・補償部115に供給する。
 選択部113は、フレームメモリ112から出力される画像の供給先を示す。例えば、イントラ予測の場合、選択部113は、フレームメモリ112からフィルタ処理されていない画像(再構成画像)を読み出し、周辺画素として、イントラ予測部114に供給する。
 また、例えば、インター予測の場合、選択部113は、フレームメモリ112からフィルタ処理された画像(復号画像)を読み出し、参照画像として、それを動き予測・補償部115に供給する。
 イントラ予測部114は、フレームメモリ112から、処理対象である注目PUの周辺に位置する周辺PUの画像(周辺画像)を取得すると、その周辺画像の画素値を用いて、注目PUの予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部114は、予め用意された複数のモード(イントラ予測モード)でこのイントラ予測を行う。
 イントラ予測部114は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ102から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部114は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部116に供給する。
 また、イントラ予測部114は、最適なイントラ予測モード等、イントラ予測に関する情報を含むイントラ予測情報を、適宜可逆符号化部106に供給し、符号化させる。
 動き予測・補償部115は、画面並べ替えバッファ102から供給される入力画像と、フレームメモリ112から供給される参照画像とを用いて、基本的にPUを処理単位として、動き予測(インター予測)を行い、検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。動き予測・補償部115は、予め用意された複数のモード(インター予測モード)でこのようなインター予測を行う。
 動き予測・補償部115は、候補となる全てのインター予測モードで予測画像を生成し、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部115は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部116に供給する。
 また、動き予測・補償部115は、最適なインター予測モード等、インター予測に関する情報を含むインター予測情報を可逆符号化部106に供給し、符号化させる。また、動き予測・補償部115は、最適な予測モードとしてインター予測が選択されると、その最適なインター予測モードの情報をイントラ予測部114に通知する。
 予測画像選択部116は、演算部103や演算部110に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、予測画像選択部116は、予測画像の供給元としてイントラ予測部114を選択し、そのイントラ予測部114から供給される予測画像を演算部103や演算部110に供給する。また、例えば、インター符号化の場合、予測画像選択部116は、予測画像の供給元として動き予測・補償部115を選択し、その動き予測・補償部115から供給される予測画像を演算部103や演算部110に供給する。
 レート制御部117は、蓄積バッファ107に蓄積された符号化データの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 割り当て制御部121は、例えば、mpm_flag,mpm_lr_flag、およびintra_dir_mode等のイントラ予測に関する情報を算術符号化するに当たって、これらの値に割り当てるコード番号を制御する。より具体的には、例えば、割り当て制御部121は、mpm_flag,mpm_lr_flag、およびintra_dir_modeの値をコード番号に変換するVLCテーブル(可変長符号テーブル)を選択する。その際、割り当て制御部121は、予測を行う注目PUの大きさまたは形に応じてVLCテーブルの選択を行う。
 [コーディングユニット]
 ここで、HEVC符号化方式について説明する。まず、HEVC符号化方式において定められている、コーディングユニット(Coding Unit)について説明する。
 Coding Unit(CU)は、Coding Tree Block(CTB)とも呼ばれ、AVCにおけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
 特に、最大の大きさを持つCUを、LCU(Largest Coding Unit)と呼び、また、最小の大きさを持つCUをSCU(Smallest Coding Unit)と称する。例えば画像圧縮情報に含まれるシーケンスパラメータセットにおいて、これらの領域のサイズが指定されることになるが、それぞれ、正方形で、2の冪乗で表される大きさに限定される。
 図2に、HEVCで定義されているコーディングユニット(Coding Unit)の例を示す。図2の例では、LCUの大きさが128であり、最大階層深度が5となる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。
 更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。
 なお、以下においては、これらの処理単位(CU、PU等)を用いて説明するが、例えば、AVCのマクロブロックやサブマクロブロック等、同様の領域にも当然適用可能である。
 [HEVCイントラ予測方式]
 次に、HEVCにおいて定められているイントラ予測方式について説明する。
 HEVCにおいては、イントラ予測のためのPUの単位は、4×4、8×8、16×16、32×32若しくは64×64である。
 4×4の大きさに関しては、AVCと同様のイントラ予測処理が行われる。
 8×8の大きさに関しては、後述する、Angular Predictionと呼ばれる方式に基づいてイントラ予測処理が行われる。
 16×16及び32×32及び64×64の大きさに関しては、後述するArbitrary Directional Intra(ADI)と呼ばれる方式に基づいて、イントラ予測処理が行われる。
 更に、イントラ予測を行うに先立ち、符号化効率を向上させる場合には、係数(1,2,1)によるローパスフィルタ処理が、周辺画素値に施される。施す・施さないに関する情報が、それぞれのPU毎に、画像圧縮情報中に伝送されることになる。
 以下では、HEVC符号化方式において規定されている、Angular Predictionイントラ予測方式について述べる。 
 [Angular Predictionイントラ予測方式]
 図3に、Angular Predictionイントラ予測方式を説明するための図を示す。
 すなわち、Angular Predictionにおいては、図3のAに示されるような角度のイントラ予測処理を行うことが可能である。
 また、図3のAのような角度のイントラ予測を行うためには、図3のBに示されるように、周辺画素の間の画素値を用いる必要が生じるが、このため、Angular Predictionにおいては、1/8画素精度の線形内挿処理を行うことが可能となっている。
 [Arbitrary Directional Intra(ADI)イントラ予測方式]
 次に、HEVC符号化方式において規定されている、Arbitrary Directional Intra(ADI)イントラ予測方式について述べる。
 図4に、Arbitrary Directional Intra(ADI)イントラ予測方式を説明するための図を示す。
 Arbitrary Directional Intra(ADI)イントラ予測方式においては、図4のAに示されるように、左下に位置する隣接画素値も用いられる。
 AVC符号化方式の場合と同様に、Vertical,Horizontal,DC,Diagonal Down-Left,Diagonal Down-Right,Vertical-Right,Horizontal-Down,Vertical-Left、およびHorizontal-Upの各予測モードが定義されているが、その他のモードに関しては、図4のBに示されるように、(dx,dy)を符号化情報として画像圧縮情報中に伝送される。
 [プレディクションユニットとイントラ予測の相関性]
 HEVCでは、イントラ予測モードのプレディクションユニット(PU)のパーティションタイプ(partition type)として、図5に示されるように、2N×2N,N×N,hN×2N、および2N×hNが用意されている。図5において、各四角はPUを示し、数字は、パーティションID(Partition id)を示す。ここで、Nは、コーディングユニット(CU)のサイズの2分の1を意味する。また、hNは、そのNのさらに2分の1を意味する(hN=N/2)。例えばCUが16x16の場合、2N×2N,N×N,hN×2N、および2N×hNは、それぞれ、16×16,8×8,4×16、および16x8となる。
 図5に示されるように、2N×2Nの場合、1つのCUに対して1つのPUが形成される。また、N×Nの場合、1つのCUに対して、横に2つ×縦に2つ(合計4つ)のPUが形成される。さらに、hN×2Nの場合、1つのCUに対して横に4つ×縦に1つ(合計4つ)のPUが形成される。また、2N×hNの場合、1つのCUに対して横に1つ×縦に4つ(合計4つ)のPUが形成される。つまり、PUの大きさはCUの大きさに依存する。
 画像符号化装置100は、これらの各パーティションタイプで予測処理や符号化を行い、コスト関数値を算出し、そのコスト関数値に基づいてどのパーティションタイプを採用するかを決定する。つまり、符号化効率や画質の評価に基づいて、パーティションタイプが選択される。また、CUサイズ(すなわちPUの大きさ)も同様にして決定される。
 画像符号化装置100は、イントラ予測方向を示すフラグintra_dir_modeをビットストリームに含めて伝送させる。また、画像符号化装置100は、CUサイズ(CU size)、パーティションタイプ、パーティションID等のPUに関する情報もストリームに含めて伝送させる。なお、CUサイズは、例えば、LCUのサイズや位置の情報と、split_flag等によって定義される。
 以上のように、PUの大きさや形(正方形、長方形等)は、符号化対象の画像の内容に依存する。ところで、イントラ予測の予測方向も、コスト関数値に基づいて、複数の方向の中から最適なものが選択される。つまり、イントラ予測の予測方向も画像の内容に依存する。すなわち、イントラ予測の予測方向は、PUの大きさや形と少なくない相関性を有する。
 より具体的に説明する。例えば、横縞のような水平方向に相関性が高く、垂直方向に相関性が低い画像を処理対象とする。
 上述したようにPUの大きさや形は、コスト関数値により決定されるが、このコスト関数値は、直交変換処理の結果に大きく影響する。一般的に、直交変換は、連続的な(相関性の高い)画像に対しては処理単位を広くする方が、エネルギーの集中度を上げやすく、性能が向上しやすい(量子化および符号化で高い効率を得やすく、コスト関数値が小さくなりやすい)。これに対して、不連続な(相関性の低い)画像に対しては処理単位を長くしてもエネルギーの集中度は上がらない。つまり、不連続な(相関性の低い)画像に対しては処理単位を狭くして処理を行うようにする方が、性能が向上しやすい(コスト関数値が小さくなりやすい)。
 つまり、上述した横縞のようなテクスチャに対しては、処理単位を、水平方向に長く、垂直方向に短くして直交変換を行うようにすると、好結果が得られ易い。したがって、横縞の画像の場合、水平方向を長手方向とするPUが選ばれ易い。つまり、2N×hNのパーティションタイプが選択され易い。
 これに対して、イントラ予測は、当然、相関性の高い方向に予測を行うことにより予測精度が向上する。つまり、横縞の画像の場合、相関性の高い水平方向が、予測方向として選ばれ易い。
 同様の理由から、縦縞の画像を処理対象とする場合、垂直方向を長手方向とするPU(hN×2Nのパーティションタイプ)が選択され易く、予測方向は垂直方向が選択され易い。
 以上のように、イントラ予測の予測方向として、PUの長手方向が選択される可能性が高い。つまり、PUの大きさや形によって、イントラの予測方向の発生頻度に偏りが生じる可能性が高い。
 実際の画像は多様であり、必ずしもイントラ予測の予測方向とPUの長手方向が一致するとは限らない。しかしながら、上述したように、これらの方向は、処理対象の画像の内容との少なくない相関性を有するので、PUの長手方向により近い方向程、イントラ予測の予測方向として選択される可能性が高くなるという傾向はある。つまり、intra_dir_modeの各値の出方(各値の発生頻度(発生確率))に、PUの大きさや形に依存した偏りが生じやすい。
 また、HEVCには、Most probable mode(MPM)と呼ばれる符号化方式が用意されている。このMPMでは、図6に示されるように、処理対象である注目PU(x)の左のPU(L)、若しくは、上のPU(U)と同じ予測方向が、注目PU(x)にも適用される。つまり、このMPMの場合、符号化効率向上のために、注目PU(x)のイントラ予測モードの伝送が省略される。
 その代わりに、注目PU(x)に対してMPMを使うか否かを指定するフラグmpm_flagと、周辺PU(L)と周辺PU(U)のどちらのイントラ予測方向を注目PU(x)に用いるかを示すフラグmpm_lr_flagとが伝送される。つまり、画像符号化装置100は、MPMの場合、mpm_flagとmpm_lr_flagとをビットストリームに含めて伝送させ、MPM出ない場合、mpm_flagとintra_dir_modeとをビットストリームに含めて伝送させる。
 一般的に、PUが大きい程、PU(例えば中心)間の距離が遠くなるので、互いの画像の相関性は低くなりやすい。したがって、一般的に、PUが大きい程、MPMは採用されにくくなる。つまり、mpm_flagの値は、PUの大きさと少なくない相関性を有する。換言するに、mpm_flagの各値の出方(各値の発生頻度(発生確率))に、PUの大きさや形に依存した偏りが生じやすい。
 また、MPMにおいて、注目PU(x)の予測方向として、左のPU(L)の予測方向と、上のPU(U)の予測方向のどちらを採用するかも、コスト関数値により決定される。つまり、mpm_lr_flagの値は、PUの形と少なくない相関性を有する。換言するに、mpm_lr_flagの各値の出方(各値の発生頻度(発生確率))に、PUの大きさや形に依存した偏りが生じやすい。
 画像符号化装置100に対応する画像復号装置は、ビットストリームに含まれているmpm_flag、mpm_lr_flag、intra_dir_mode、CUサイズ(CUsize)、パーティションタイプ(partition type)、パーティションID(partition id)等の情報に基づいて、符号化データを復号する。
 これらの情報は、可逆符号化部106において、コード番号に変換(2値化)された後、CABAC等の算術符号化が行われ、ビットストリームに含められる。したがってこれらの情報によっても符号化効率は低減する。しかしながら、従来の方法の場合、これらの情報に対するコード番号の割り当ては、特に符号量の増大を考慮せずに、所定の1方法のみで(初期値のまま)行われていた。
 例えば、小さいPUが多く生成される場合、PU毎に生成されるこれらの情報量も増大する。また、例えば、量子化パラメータが大きい、すなわち、低ビットレートの場合、これらの情報がビットストリームに占める割合が大きくなる。したがって、特に、これらのような場合、mpm_flag、mpm_lr_flag、intra_dir_mode、CUサイズ(CUsize)、パーティションタイプ(partition type)、パーティションID(partition id)等の情報による符号化効率の低減がより顕著になる可能性があった。
 以上のように、従来の方法では、十分な符号化効率を得ることが困難になる恐れがあった。
 そこで、本技術は、PUの大きさや形と、イントラ予測の各パラメータの値との相関性の高さに着目する。つまり、本技術は、符号化効率の低減を抑制することを目的とし、上述したように、PUの大きさや形に依存した偏りが、イントラ予測の各パラメータの各値に生じやすいことを利用する。
 より具体的には、画像符号化装置100は、PUの大きさや形に応じて、符号化効率を向上させるように各パラメータの値にコード番号を割り当てる。つまり、画像符号化装置100は、PUの大きさや形に応じて、コード番号を割り当てるVLCテーブルを選択する。
 [可逆符号化部および割り当て制御部]
 図7は、図1の可逆符号化部106および割り当て制御部121の主な構成例を示すブロック図である。
 図7に示されるように、可逆符号化部106は、符号化部131、ビットストリーム生成部132、VLCテーブル変換部133、算術符号化部134、VLCテーブル変換部135、算術符号化部136、VLCテーブル変換部137、および算術符号化部138を有する。
 また、割り当て制御部121は、テーブル選択部141乃至テーブル選択部143を有する。
 符号化部131は、量子化部105から供給される量子化された係数データ、ループフィルタ111から供給されるフィルタ係数、動き予測・補償部115から供給される最適モード情報、並びに、イントラ予測部114から供給される最適モード情報等の各種情報を符号化し、符号化データをビットストリーム生成部132に供給する。
 VLCテーブル変換部133は、イントラ予測部114からmpm_flagを取得し、その値を、テーブル選択部141により選択されたVLCテーブルを用いてコード番号に変換する。VLCテーブル変換部133は、そのコード番号を算術符号化部134に供給する。
 算術符号化部134は、VLCテーブル変換部133から供給されるコード番号を算術符号化し、その符号化データをビットストリーム生成部132に供給する。
 VLCテーブル変換部135は、イントラ予測部114からmpm_lr_flagを取得し、その値を、テーブル選択部142により選択されたVLCテーブルを用いてコード番号に変換する。VLCテーブル変換部135は、そのコード番号を算術符号化部136に供給する。
 算術符号化部136は、VLCテーブル変換部135から供給されるコード番号を算術符号化し、その符号化データをビットストリーム生成部132に供給する。
 VLCテーブル変換部137は、イントラ予測部114からintra_dir_modeを取得し、その値を、テーブル選択部143により選択されたVLCテーブルを用いてコード番号に変換する。VLCテーブル変換部137は、そのコード番号を算術符号化部138に供給する。
 算術符号化部138は、VLCテーブル変換部137から供給されるコード番号を算術符号化し、その符号化データをビットストリーム生成部132に供給する。
 ビットストリーム生成部132は、符号化部131、算術符号化部134、算術符号化部136、および算術符号化部138から供給される符号化データを用いてビットストリームを生成し、蓄積バッファ107に供給する。
 テーブル選択部141は、イントラ予測部114から供給されるCUサイズ(CU size)とパーティションタイプ(partition type)に基づいて、VLCテーブル変換部133において使用されるVLCテーブルを選択する。つまり、テーブル選択部141は、VLCテーブル変換部133において使用されるVLCテーブルの候補を複数記憶しており、イントラ予測部114から供給される情報に基づいて、その中から1つを選択し、VLCテーブル変換部133に供給する。VLCテーブル変換部133は、テーブル選択部141から供給されたVLCテーブルを用いてmpm_flagをコード番号に変換する。テーブル選択部141は、PU毎にVLCテーブルを選択する。
 なお、テーブル選択部141が、選択したVLCテーブルそのものをVLCテーブル変換部133に供給するのではなく、選択したVLCテーブルを示す情報をVLCテーブル変換部133に供給するようにしてもよい。その場合、VLCテーブル変換部133は、候補となる複数のVLCテーブル(テーブル選択部141が記憶するVLCテーブルと同じもの)を予め記憶しておき、テーブル選択部141から供給される情報に従って、その中から1つを選択し、変換処理に使用する。
 テーブル選択部142は、イントラ予測部114から供給されるパーティションタイプ(partition type)とパーティションID(partition id)に基づいて、VLCテーブル変換部135において使用されるVLCテーブルを選択する。つまり、テーブル選択部142は、VLCテーブル変換部135において使用されるVLCテーブルの候補を複数記憶しており、イントラ予測部114から供給される情報に基づいて、その中から1つを選択し、VLCテーブル変換部135に供給する。VLCテーブル変換部135は、テーブル選択部142から供給されたVLCテーブルを用いてmpm_lr_flagをコード番号に変換する。テーブル選択部142は、PU毎にVLCテーブルを選択する。
 なお、テーブル選択部142が、選択したVLCテーブルそのものをVLCテーブル変換部135に供給するのではなく、選択したVLCテーブルを示す情報をVLCテーブル変換部135に供給するようにしてもよい。その場合、VLCテーブル変換部135は、候補となる複数のVLCテーブル(テーブル選択部141が記憶するVLCテーブルと同じもの)を予め記憶しておき、テーブル選択部142から供給される情報に従って、その中から1つを選択し、変換処理に使用する。
 テーブル選択部143は、イントラ予測部114から供給されるCUサイズ(CU size)とパーティションタイプ(partition type)に基づいて、VLCテーブル変換部137において使用されるVLCテーブルを選択する。つまり、テーブル選択部143は、VLCテーブル変換部137において使用されるVLCテーブルの候補を複数記憶しており、イントラ予測部114から供給される情報に基づいて、その中から1つを選択し、VLCテーブル変換部137に供給する。VLCテーブル変換部137は、テーブル選択部143から供給されたVLCテーブルを用いてintra_dir_modeをコード番号に変換する。テーブル選択部143は、PU毎にVLCテーブルを選択する。
 なお、テーブル選択部143が、選択したVLCテーブルそのものをVLCテーブル変換部137に供給するのではなく、選択したVLCテーブルを示す情報をVLCテーブル変換部137に供給するようにしてもよい。その場合、VLCテーブル変換部137は、候補となる複数のVLCテーブル(テーブル選択部143が記憶するVLCテーブルと同じもの)を予め記憶しておき、テーブル選択部143から供給される情報に従って、その中から1つを選択し、変換処理に使用する。
 一般的に、コード番号が若い程(値が小さい程)、符号量は少なくなる。したがって、テーブル選択部141乃至テーブル選択部143は、できるだけ符号量低減の可能性が高くなるように(符号量がより少なくなるように)、発生の可能性がより高い値に、より若いコード番号を割り当てる。
 [イントラ予測方向]
 画像符号化装置100には、HEVCと同様のイントラ予測モードが用意されているものとする。すなわち、画像符号化装置100のイントラ予測には、図8に示されるように、33の予測方向とDCモード用意されている。図8に示される例の各矢印は、予測処理の対象である正方形の注目PUの右下の画素の予測方向(どの方向の隣接画素を参照するか)を示している。また、各予測方向およびDCモードには、それぞれ、図8に示されるような識別情報(番号)が割り当てられている。例えば、イントラ予測方向が0ならば、右下の画素は、垂直方向で最も近い隣接画素、すなわち、1つ上の画素を参照する。
 イントラ予測部114は、注目PUについて、図8に示されるイントラ予測方向の中から符号化効率が最も高くなる方向を選出する。この選出にはD+λRというコスト関数を用いることが多い。ここでDは入力画像とイントラ予測画像の差分で歪量であり、Rはイントラ予測符号化を行うために必要な符号量であり、λは歪量と符号量を結ぶ変換係数である。このコスト関数が小さくなるようにイントラ予測方向を決める。例えば、イントラ予測部114は、非特許文献1に記載のHEVCと同様の方法でコスト関数値を算出し、イントラ予測方向を決定する。
 [mpm_flagのVLCテーブル]
 次に、割り当て制御部121が制御するVLCテーブルについて説明する。まず、mpm_flagのVLCテーブルの制御について説明する。
 テーブル選択部141は、CUサイズとパーティションタイプに応じて、図9に示される表のようにVLCテーブルを選択する。図9に示される表において、左2列の各行がそれぞれVLCテーブルである。つまり、テーブル選択部141は、mpm_flag=0とmpm_flag=1のそれぞれの状態をコード番号に変換するためのテーブルを選択する。この場合、コード番号は0若しくは1(すなわち1ビット)である。コード番号0の方がコード番号1よりも符号量が少ない。
 一般的にCUサイズが大きくなる程、注目PUに対して周辺PUが遠くなる。例えば、互いの中心の間の距離は長くなる。一般的にこの距離が長くなるほど、互いの相関性は低くなる。したがって、MPMが適用される可能性が低くなる(頻度が少なくなる)。ただし、CUサイズが大きくても、hNの方向の周辺PUとの距離は短い。
 そこで、テーブル選択部141は、この特性を利用し、mpm_flagをVLCテーブル変換した後に0のシンボルが多くなるようにVLCテーブルを選択する。つまり、テーブル選択部141は、CUサイズとパーティションタイプに応じて、変換後に0のシンボルが多くなるようにVLCテーブルを選択する。
 例えば、CUサイズが大きく、かつ、注目PUが正方形の場合、いずれの方向の周辺PUとも距離が遠くなる。つまり、MPMが選ばれにくい。したがって、mpm_flag=0が発生し易いことになる。この場合、テーブル選択部141は、可能性が高いmpm_flag=0を、より符号量の少ないコード番号0に変換するようにする。
 逆に、CUサイズが小さい場合、若しくは、注目PUが長方形の場合、距離が短い周辺PUが存在するので、MPMが選ばれ易い。したがって、この場合、テーブル選択部141は、より出現の可能性が高いmpm_flag=1を、より符号量の少ないコード番号0に変換するようにする。
 図9の例のにおいて、CUサイズが32以上であり、かつ、パーティションタイプがN×N若しくは2N×2Nである場合、テーブル選択部141は、mpm_flag=0をコード番号0に変換し、mpm_flag=1をコード番号1に変換するテーブルを選択する。
 また、CUサイズが32以上であり、かつ、パーティションタイプが2N×hN若しくはhN×2Nである場合、テーブル選択部141は、mpm_flag=0をコード番号1に変換し、mpm_flag=1をコード番号0に変換するテーブルを選択する。
 さらに、CUサイズが32より小さい場合、テーブル選択部141は、パーティションタイプ(PUの形)に関わらず、mpm_flag=0をコード番号1に変換し、mpm_flag=1をコード番号0に変換するテーブルを選択する。
 以上のようにmpm_flag用のVLCテーブルを選択するので、テーブル選択部141は、mpm_flagによる符号化効率の増大を抑制することができる。
 [mpm_lr_flagのVLCテーブル]
 次に、mpm_lr_flagのVLCテーブルの制御について説明する。
 テーブル選択部142は、パーティションIDとパーティションタイプに応じて、図10に示される表のようにVLCテーブルを選択する。図10に示される表において、左2列の各行がそれぞれVLCテーブルである。つまり、テーブル選択部142は、mpm_lr_flag=0とmpm_lr_flag=1のそれぞれの状態をコード番号に変換するためのテーブルを選択する。この場合、コード番号は0若しくは1(すなわち1ビット)である。コード番号0の方がコード番号1よりも符号量が少ない。なお、「-」の欄については、後述する。
 まず、パーティションIDが0のPUについて説明する。上述したように、注目PUと周辺PUとの相関性は、互いの距離が短いほど高くなる。したがって、PUが長方形の場合、短手方向(長手方向ではない方向)の周辺PUの方が、長手方向の周辺PUより選択され易い。これに対して注目PUが正方形の場合、上の隣接PUまでの距離も左の隣接PUまでの距離も同等である。したがって、選択される可能性は、どちらの周辺PUも略同じである。
 そこで、テーブル選択部142は、このような特性を利用し、mpm_lr_flagをVLCテーブル変換した後に0のシンボルが多くなるようにVLCテーブルを選択する。つまり、テーブル選択部142は、パーティションIDとパーティションタイプに応じて、変換後に0のシンボルが多くなるようにVLCテーブルを選択する。
 図10の例において、パーティションIDが0であり、かつPUが正方形(パーティションタイプが2N×2N、若しくは、N×N)の場合、テーブル選択部142は、上の隣接PUを優先させ、mpm_lr_flag=0を、より符号量の少ないコード番号0に変換するようにする。
 また、図10の例において、パーティションIDが0であり、かつPUが横長の長方形(パーティションタイプが2N×hN)の場合、テーブル選択部142は、上の隣接PUを優先させ、mpm_lr_flag=0を、より符号量の少ないコード番号0に変換するようにする。
 さらに、図10の例において、パーティションIDが0であり、かつPUが縦長の長方形(パーティションタイプがhN×2N)の場合、テーブル選択部142は、左の隣接PUを優先させ、mpm_lr_flag=1を、より符号量の少ないコード番号0に変換するようにする。
 また、図10の例において、パーティションIDが0以外であり、かつPUが正方形(パーティションタイプがN×N)の場合、テーブル選択部142は、上の隣接PUを優先させ、mpm_lr_flag=0を、より符号量の少ないコード番号0に変換するようにする。なお、パーティションタイプが2N×2Nの場合、パーティションIDが0以外のケースは存在しない。つまり、この場合VLCテーブルは選択されない(-)。
 さらに、図10の例において、パーティションIDが0以外であり、かつPUが長方形の場合、パーティションIDが0のPUと同じコード番号が選択される。すなわち、この場合VLCテーブルは選択されない(-)。
 以上のようにmpm_lr_flag用のVLCテーブルを選択するので、テーブル選択部142は、mpm_lr_flagによる符号化効率の増大を抑制することができる。
 [intra_dir_modeのVLCテーブル]
 次に、intra_dir_modeのVLCテーブルの制御について説明する。
 テーブル選択部143は、パーティションIDとパーティションタイプに応じて、図11に示される表のようにVLCテーブルを選択する。図11に示される表において、左2列の各行がそれぞれVLCテーブルである。つまり、テーブル選択部143は、パーティションタイプとCUサイズに応じて、テーブルA乃至テーブルEを選択する。
 intra_dir_modeの場合も、他と同様に、変換後の符号量がより少なくなるようにコード番号の割り当てが制御される。つまり、出現の可能性の高いパターンに、より小さなコード番号が割り当てられる。
 注目PUが正方形の場合、注目PUの水平方向と垂直方向の大きさが同一であるので、注目PUの大きさおよび形による予測方向の出現頻度の偏りは生じない可能性が高い。そこで、テーブル選択部143は、図11に示されるように、パーティションタイプが2N×2N若しくはN×Nの場合、CUサイズに関わらずテーブルAを選択する。
 テーブルAの例を図12に示す。図12の例の場合、各予測方向に対するコード番号の割り当てにおいて、水平方向と垂直方向の偏りが少なくなるように割り当てが行われている。なお、ここでMPMは上述のMPMで選ばれたイントラ予測方向であり、VER-4の例を示している。もしMPMがDCであればDCのコード番号がMPMに置き替わり、その下のコード番号から繰り下がるように置き替わる。つまり、MPMの予測方向に対するコード番号の割り当てを省略しているので、その分、他の予測方向に対してより小さなコード番号を割り当てることができる。したがって、符号化効率を向上させることができる。後述する他のテーブルにおいても同様である。
 図12の例の場合、ほとんどの予測方向に割り当てられるコード番号の符号長は5である。つまり、テーブルAは、どの予測方向が出現しても符号長に大きな差が生じないようになされている。
 これに対して、図11に示されるように、PUが横長の長方形の場合、つまり、パーティションタイプが2N×hNの場合、テーブル選択部143は、CUサイズが小さいとき(32以下のとき)、テーブルBを選択する。
 テーブルBの例を図13に示す。図13に示されるように、このテーブルBにおいては、注目PUの長手方向である水平方向により近い予測方向に対して、値がより小さな(符号長がより短い)コード番号が割り当てられている。つまり、PUの大きさや形による出現頻度の偏りを考慮し、出現の可能性が高い、水平方向により近い予測方向に対して、符号量がより少ないコード番号が割り当てられる。このテーブルBの場合、符号長4乃至7のコード番号が割り当てられる。
 これに対して、図11に示されるように、PUが縦長の長方形の場合、つまり、パーティションタイプがhN×2Nの場合、テーブル選択部143は、CUサイズが小さいとき(32以下のとき)、テーブルCを選択する。
 テーブルCの例を図14に示す。図14に示されるように、このテーブルCにおいては、注目PUの長手方向である垂直方向により近い予測方向に対して、値がより小さな(符号長がより短い)コード番号が割り当てられている。つまり、PUの大きさや形による出現頻度の偏りを考慮し、出現の可能性が高い、垂直方向により近い予測方向に対して、符号量がより少ないコード番号が割り当てられる。このテーブルCの場合、テーブルBの場合と同様に、符号長4乃至7のコード番号が割り当てられる。
 なお、一般的に、CUサイズが大きい程、各予測方向の出現の可能性の偏りが大きくなる。そこで、テーブル選択部143は、図11に示されるように、CUサイズが大きい場合、CUサイズが小さいときと異なるテーブルを選択する。例えば、PUが横長の長方形(パーティションタイプが2N×hN)であり、かつ、CUサイズが大きい(32より大きい)場合、テーブル選択部143は、テーブルBではなくテーブルDを選択する。
 テーブルDの例を図15に示す。図15に示されるように、このテーブルDにおいては、予測方向のコード番号の割り当て順(予測方向の、より若いコード番号を割り当てる順)は、テーブルBと同一である。しかしながら、符号長の偏りが、テーブルBの場合よりも大きい。図15の例においては、符号長3乃至10のコード番号が割り当てられる。つまり、テーブルDの場合、より水平方向に近い予測方向の出現の可能性は、テーブルBの場合よりもさらに高いので、テーブルBの場合よりも短い符号長のコード番号を割り当てるようになされている。その分、より垂直方向に近い予測方向に対して割り当てられるコード番号の符号長は長くなるが、その出現の可能性は、テーブルBの場合よりもさらに低いので、全体として符号量が低減される可能性が高い。
 これに対して、例えば、PUが縦長の長方形(パーティションタイプがhN×2N)であり、かつ、CUサイズが大きい(32より大きい)場合、テーブル選択部143は、テーブルCではなくテーブルEを選択する。
 テーブルEの例を図16に示す。図16に示されるように、このテーブルEにおいては、予測方向のコード番号の割り当て順(予測方向の、より若いコード番号を割り当てる順)は、テーブルCと同一である。しかしながら、符号長の偏りが、テーブルCの場合よりも大きい。図16の例においては、符号長3乃至10のコード番号が割り当てられる。つまり、テーブルEの場合、より水平方向に近い予測方向の出現の可能性は、テーブルCの場合よりもさらに高いので、テーブルCの場合よりも短い符号長のコード番号を割り当てるようになされている。その分、より垂直方向に近い予測方向に対して割り当てられるコード番号の符号長は長くなるが、その出現の可能性は、テーブルCの場合よりもさらに低いので、全体として符号量が低減される可能性が高い。
 以上のようにintra_dir_mode用のVLCテーブルを選択するので、テーブル選択部143は、intra_dir_modeによる符号化効率の増大を抑制することができる。
 [符号化処理の流れ]
 次に、以上のような画像符号化装置100により実行される各処理の流れについて説明する。最初に、図17のフローチャートを参照して、符号化処理の流れの例を説明する。
 ステップS101において、A/D変換部101は入力された画像をA/D変換する。ステップS102において、画面並べ替えバッファ102は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 ステップS103において、イントラ予測部114は、イントラ予測処理を行う。ステップS104において、動き予測・補償部115は、インター動き予測処理を行う。ステップS105において、予測画像選択部116は、イントラ予測により生成された予測画像、および、インター予測により生成された予測画像の内、いずれか一方を選択する。
 ステップS106において、演算部103は、ステップS103の処理により並び替えられた画像と、ステップS105の処理により選択された予測画像との差分を演算する(差分画像を生成する)。生成された差分画像は元の画像に較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
 ステップS107において、直交変換部104は、ステップS106の処理により生成された差分画像を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、直交変換係数が出力される。ステップS108において、量子化部105は、ステップS107の処理により得られた直交変換係数を量子化する。
 ステップS108の処理により量子化された差分画像は、次のようにして局部的に復号される。すなわち、ステップS109において、逆量子化部108は、ステップS108の量子化処理により生成された量子化された直交変換係数(量子化係数とも称する)を逆量子化する。ステップS110において、逆直交変換部109は、ステップS109の逆量子化処理により得られた直交変換係数を、直交変換部104の特性に対応する特性で逆直交変換する。これにより差分画像が復元される。
 ステップS111において、演算部110は、ステップS105において選択された予測画像を、ステップS110において生成された差分画像に加算し、局部的に復号された復号画像(再構成画像)を生成する。ステップS112において、ループフィルタ111は、ステップS111の処理により得られた再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行い、復号画像を生成する。
 ステップS113において、フレームメモリ112は、ステップS112の処理により生成された復号画像、若しくは、ステップS111の処理により生成された再構成画像を記憶する。
 ステップS114において、可逆符号化部106は、ステップS107の処理により量子化された直交変換係数を符号化する。すなわち、差分画像に対して、可変長符号化や算術符号化等の可逆符号化が行われる。なお、可逆符号化部106は、予測に関する情報や、量子化に関する情報や、フィルタ処理に関する情報等を符号化し、ビットストリームに付加する。
 ステップS115において、蓄積バッファ107は、ステップS114の処理により得られたビットストリームを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
 ステップS116においてレート制御部117は、ステップS115の処理により蓄積バッファ107に蓄積された符号化データの符号量(発生符号量)に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 ステップS116の処理が終了すると、符号化処理が終了される。
 [可逆符号化処理の流れ]
 次に、図18のフローチャートを参照して、図17のステップS114において実行される可逆符号化処理の流れの例を説明する。
 可逆符号化処理が開始されると、符号化部131は、ステップS131において、量子化された係数データを符号化する。ステップS132において、符号化部131は、フィルタ係数や最適モード情報等を符号化する。
 ステップS133において、割り当て制御部121は、符号化割り当てを制御する。
 ステップS134において、VLCテーブル変換部133は、ステップS133の処理により選択されたVLCテーブルを用いて、mpm_flagをコード番号に変換する。ステップS135において、算術符号化部134は、ステップS134の処理によりコード番号に変換されたmpm_flagを算術符号化する。
 ステップS136において、VLCテーブル変換部135は、ステップS133の処理により選択されたVLCテーブルを用いて、mpm_lr_flagをコード番号に変換する。ステップS137において、算術符号化部136は、ステップS136の処理によりコード番号に変換されたmpm_lr_flagを算術符号化する。
 ステップS138において、VLCテーブル変換部137は、ステップS133の処理により選択されたVLCテーブルを用いて、intra_dir_modeをコード番号に変換する。ステップS139において、算術符号化部138は、ステップS138の処理によりコード番号に変換されたintra_dir_modeを算術符号化する。
 ステップS140において、ビットストリーム生成部132は、ステップS131、ステップS135、ステップS137、および、ステップS139の各処理により得られた符号化データを合成し、ビットストリームを生成する。
 ステップS140の処理が終了すると、ビットストリーム生成部132は、可逆符号化処理を終了し、処理を図17に戻す。
 [符号化割り当て制御処理の流れ]
 次に、図19のフローチャートを参照して、図18のステップS133において実行される符号化割り当て制御処理の流れの例を説明する。
 符号化割り当て制御処理が開始されると、割り当て制御部121のテーブル選択部141は、ステップS161において、CUサイズおよびパーティションタイプに応じて、mpm_flag用のVLCテーブルを選択する。
 ステップS162において、テーブル選択部142は、パーティションIDおよびパーティションタイプに応じて、mpm_lr_flag用のVLCテーブルを選択する。
 ステップS163において、テーブル選択部143は、CUサイズおよびパーティションタイプに応じて、intra_dir_mode用のVLCテーブルを選択する。
 ステップS163の処理が終了すると、テーブル選択部143は、符号化割り当て制御処理を終了し、処理を図18に戻す。
 以上のように各処理を行うことにより、割り当て制御部121は、mpm_flag、mpm_lr_flag、およびintra_dir_mode等のイントラ予測に関する各パラメータの各値の発生頻度の偏りを利用して、符号化効率を向上させるように、コード番号の割り当てを行うことができる。つまり、割り当て制御部121は、PUの大きさや形に応じてコード番号の割り当てを制御することにより、イントラ予測に関する各パラメータによる符号化効率の低減を抑制することができる。
 また、可逆符号化部106は、その割り当てに従って、mpm_flag、mpm_lr_flag、およびintra_dir_mode等の各パラメータをコード番号に変換し、符号化することができる。
 これにより、画像符号化装置100は、mpm_flag、mpm_lr_flag、およびintra_dir_mode等のイントラ予測に関する各パラメータによる符号化効率の低減を抑制することができる。
 <2.第2の実施の形態>
 [画像復号装置]
 次に、以上のように符号化された符号化データの復号について説明する。図20は、図1の画像符号化装置100に対応する画像処理装置である画像復号装置の主な構成例を示すブロック図である。
 図20に示される画像復号装置200は、画像符号化装置100が生成した符号化データを、その符号化方法に対応する復号方法で復号する。
 図20に示されるように画像復号装置200は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、ループフィルタ206、画面並べ替えバッファ207、およびD/A変換部208を有する。また、画像復号装置200は、フレームメモリ209、選択部210、イントラ予測部211、動き予測・補償部212、および選択部213を有する。
 さらに、画像復号装置200は、割り当て制御部221を有する。
 蓄積バッファ201は、伝送されてきた符号化データを蓄積し、所定のタイミングにおいてその符号化データを可逆復号部202に供給する。可逆復号部202は、蓄積バッファ201より供給された、図1の可逆符号化部106により符号化された情報を、可逆符号化部106の符号化方式に対応する方式で復号する。可逆復号部202は、復号して得られた差分画像の量子化された係数データを、逆量子化部203に供給する。
 また、可逆復号部202は、符号化データを復号して得られた最適な予測モードに関する情報を参照し、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定する。つまり、可逆復号部202は、伝送されてきた符号化データにおいて採用された予測モードが、イントラ予測であるか、インター予測であるかを判定する。
 可逆復号部202は、その判定結果に基づいて、その予測モードに関する情報を、イントラ予測部211若しくは動き予測・補償部212に供給する。例えば、画像符号化装置100において最適な予測モードとしてイントラ予測モードが選択された場合、可逆復号部202は、符号化側から供給された、その選択されたイントラ予測モードに関する情報であるイントラ予測情報をイントラ予測部211に供給する。また、例えば、画像符号化装置100において最適な予測モードとしてインター予測モードが選択された場合、可逆復号部202は、符号化側から供給された、その選択されたインター予測モードに関する情報であるインター予測情報を動き予測・補償部212に供給する。
 さらに可逆復号部202は、CUサイズ、パーティションタイプ、パーティションID等のPUの大きさや形に関する情報を割り当て制御部221に供給する。
 逆量子化部203は、可逆復号部202により復号されて得られた量子化された係数データを逆量子化する。つまり、逆量子化部203は、図1の量子化部105の量子化方式に対応する方式で逆量子化を行う。逆量子化部203は、その逆量子化により得られた係数データを逆直交変換部204に供給する。
 逆直交変換部204は、図1の直交変換部104の直交変換方式に対応する方式で逆量子化部203から供給される係数データを逆直交変換する。逆直交変換部204は、この逆直交変換処理により、画像符号化装置100において直交変換される前の差分画像に対応する差分画像を得る。
 逆直交変換されて得られた差分画像は、演算部205に供給される。また、演算部205には、選択部213を介して、イントラ予測部211若しくは動き予測・補償部212から予測画像が供給される。
 演算部205は、差分画像と予測画像とを加算し、画像符号化装置100の演算部103により予測画像が減算される前の画像に対応する再構成画像を得る。演算部205は、その再構成画像をループフィルタ206に供給する。
 ループフィルタ206は、供給された再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜施して復号画像を生成する。例えば、ループフィルタ206は、再構成画像に対してデブロックフィルタ処理を行うことにより、ブロック歪を除去する。また、例えば、ループフィルタ206は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
 なお、ループフィルタ206が行うフィルタ処理の種類は任意であり、上述した以外のフィルタ処理を行ってもよい。また、ループフィルタ206が、図1の画像符号化装置100から供給されたフィルタ係数を用いてフィルタ処理を行うようにしてもよい。
 ループフィルタ206は、フィルタ処理結果である復号画像を画面並べ替えバッファ207およびフレームメモリ209に供給する。なお、このループフィルタ206によるフィルタ処理は省略することもできる。つまり、演算部205の出力が、フィルタ処理されずに、フレームメモリ209に格納されるようにすることもできる。例えば、イントラ予測部211は、この画像に含まれる画素の画素値を周辺画素の画素値として利用する。
 画面並べ替えバッファ207は、供給された復号画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部208は、画面並べ替えバッファ207から供給された復号画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
 フレームメモリ209は、供給される再構成画像や復号画像を記憶する。また、フレームメモリ209は、所定のタイミングにおいて、若しくは、イントラ予測部211や動き予測・補償部212等の外部の要求に基づいて、記憶している再構成画像や復号画像を、選択部210を介してイントラ予測部211や動き予測・補償部212に供給する。
 イントラ予測部211は、図1のイントラ予測部114と基本的に同様の処理を行う。ただし、イントラ予測部211は、符号化の際にイントラ予測により予測画像が生成された領域に対してのみ、イントラ予測を行う。
 動き予測・補償部212は、可逆復号部202から供給されるインター予測情報に基づいてインター動き予測処理を行い、予測画像を生成する。なお、動き予測・補償部212は、可逆復号部202から供給されるインター予測情報に基づいて、符号化の際にインター予測が行われた領域に対してのみ、インター動き予測処理を行う。
 イントラ予測部211若しくは動き予測・補償部212は、予測処理単位の領域毎に、生成した予測画像を、選択部213を介して演算部205に供給する。
 選択部213は、イントラ予測部211から供給される予測画像、若しくは、動き予測・補償部212から供給される予測画像を演算部205に供給する。
 割り当て制御部221は、例えば、mpm_flag,mpm_lr_flag、およびintra_dir_mode等のイントラ予測に関する情報のコード番号を、可逆復号部202が算術復号するに当たって、コード番号に割り当てる各パラメータの値を制御する。より具体的には、例えば、割り当て制御部221は、mpm_flag,mpm_lr_flag、およびintra_dir_modeの値をコード番号に変換するVLCテーブル(可変長符号テーブル)を選択する。その際、割り当て制御部221は、符号化側から供給された、予測を行う注目PUの大きさまたは形に関する情報応じてVLCテーブルの選択を行う。可逆復号部202は、この割り当て制御部221により選択されたVLCテーブルを用いて、コード番号を元の値に戻す、VLCテーブル逆変換処理を行う。
 [可逆復号部および割り当て制御部]
 図21は、可逆復号部202および割り当て制御部221の主な構成例を示すブロック図である。
 図21に示されるように、可逆復号部202は、抽出部231、復号部232、算術復号部233、VLCテーブル逆変換部234、算術復号部235、VLCテーブル逆変換部236、算術復号部237、およびVLCテーブル逆変換部238を有する。
 また、割り当て制御部221は、テーブル選択部241乃至テーブル選択部243を有する。
 抽出部231は、蓄積バッファ201から供給されるビットストリームから、mpm_flagが変換されたコード番号の符号化データ、mpm_lr_flagが変換されたコード番号の符号化データ、およびintra_dir_modeが変換されたコード番号の符号化データを抽出する。
 抽出部231は、抽出した、mpm_flagが変換されたコード番号の符号化データを、算術復号部233に供給する。また、抽出部231は、抽出した、mpm_lr_flagが変換されたコード番号の符号化データを、算術復号部235に供給する。さらに、抽出部231は、抽出した、intra_dir_modeが変換されたコード番号の符号化データを、算術復号部237に供給する
 また、抽出部231は、残りのビットストリームを復号部232に供給する。
 復号部232は、供給されたビットストリームを復号し、符号化側から伝送された、量子化された係数データ、フィルタ情報、および最適モードがインター予測の場合の最適モード情報等を得る。復号部232は、その量子化された係数データを逆量子化部203に供給する。また、復号部232は、最適モードがインター予測の場合、最適モード情報を動き予測・補償部212に供給する。さらに、復号部232は、符号化側において使用された、フィルタ係数等を含むフィルタ情報を、ループフィルタ206に供給する。
 さらに、復号部232は、供給されたビットストリームを復号することにより、最適モードがイントラ予測の場合の最適モード情報等を得る。復号部232は、その最適モード情報をイントラ予測部211に供給する。
 また、復号部232は、供給されたビットストリームを復号して得られたCUサイズ(CU size)、パーティションタイプ(partition type)、およびパーティションID(partition id)等の、PUの大きさや形に関する情報を割り当て制御部221に供給する。
 算術復号部233は、抽出部231から供給される、mpm_flagが変換されたコード番号の符号化データを、算術復号し、mpm_flagが変換されたコード番号を得る。この算術復号の方法は、算術符号化部134による算術符号化の方法に対応する。算術復号部233は、復号されて得られたmpm_flagが変換されたコード番号をVLCテーブル逆変換部234に供給する。
 算術復号部235は、抽出部231から供給される、mpm_lr_flagが変換されたコード番号の符号化データを、算術復号し、mpm_lr_flagが変換されたコード番号を得る。この算術復号の方法は、算術符号化部136による算術符号化の方法に対応する。算術復号部235は、復号されて得られたmpm_flagが変換されたコード番号をVLCテーブル逆変換部236に供給する。
 算術復号部237は、抽出部231から供給される、intra_dir_modeが変換されたコード番号の符号化データを、算術復号し、intra_dir_modeが変換されたコード番号を得る。この算術復号の方法は、算術符号化部138による算術符号化の方法に対応する。算術復号部237は、復号されて得られたmpm_flagが変換されたコード番号をVLCテーブル逆変換部238に供給する。
 テーブル選択部241は、CUサイズとパーティションタイプに応じて、VLCテーブル逆変換部234において逆変換処理に使用されるVLCテーブルを選択する。つまり、テーブル選択部241は、VLCテーブル逆変換部234において使用されるVLCテーブルの候補を複数記憶しており、復号部232から供給される情報に基づいて、その中から1つを選択し、VLCテーブル逆変換部234に供給する。なお、このテーブル選択方法は、テーブル選択部141の場合と同様である。テーブル選択部241は、PU毎にVLCテーブルを選択する。
 なお、テーブル選択部241が、選択したVLCテーブルそのものをVLCテーブル逆変換部234に供給するのではなく、選択したVLCテーブルを示す情報をVLCテーブル逆変換部234に供給するようにしてもよい。その場合、VLCテーブル逆変換部234は、候補となる複数のVLCテーブル(テーブル選択部241が記憶するVLCテーブルと同じもの)を予め記憶しておき、テーブル選択部241から供給される情報に従って、その中から1つを選択し、変換処理に使用する。
 テーブル選択部242は、CUサイズとパーティションタイプに応じて、VLCテーブル逆変換部236において逆変換処理に使用されるVLCテーブルを選択する。つまり、テーブル選択部242は、VLCテーブル逆変換部236において使用されるVLCテーブルの候補を複数記憶しており、復号部232から供給される情報に基づいて、その中から1つを選択し、VLCテーブル逆変換部236に供給する。なお、このテーブル選択方法は、テーブル選択部142の場合と同様である。テーブル選択部242は、PU毎にVLCテーブルを選択する。
 なお、テーブル選択部242が、選択したVLCテーブルそのものをVLCテーブル逆変換部236に供給するのではなく、選択したVLCテーブルを示す情報をVLCテーブル逆変換部236に供給するようにしてもよい。その場合、VLCテーブル逆変換部236は、候補となる複数のVLCテーブル(テーブル選択部242が記憶するVLCテーブルと同じもの)を予め記憶しておき、テーブル選択部242から供給される情報に従って、その中から1つを選択し、変換処理に使用する。
 テーブル選択部243は、CUサイズとパーティションタイプに応じて、VLCテーブル逆変換部238において逆変換処理に使用されるVLCテーブルを選択する。つまり、テーブル選択部243は、VLCテーブル逆変換部238において使用されるVLCテーブルの候補を複数記憶しており、復号部232から供給される情報に基づいて、その中から1つを選択し、VLCテーブル逆変換部238に供給する。なお、このテーブル選択方法は、テーブル選択部143の場合と同様である。テーブル選択部243は、PU毎にVLCテーブルを選択する。
 なお、テーブル選択部243が、選択したVLCテーブルそのものをVLCテーブル逆変換部238に供給するのではなく、選択したVLCテーブルを示す情報をVLCテーブル逆変換部238に供給するようにしてもよい。その場合、VLCテーブル逆変換部238は、候補となる複数のVLCテーブル(テーブル選択部242が記憶するVLCテーブルと同じもの)を予め記憶しておき、テーブル選択部243から供給される情報に従って、その中から1つを選択し、変換処理に使用する。
 VLCテーブル逆変換部234は、算術復号部233から供給された、mpm_flagが変換されたコード番号を、テーブル選択部241により選択されたVLCテーブルを用いて、逆変換し、mpm_flagを得る。つまり、VLCテーブル逆変換部234は、VLCテーブル変換部133によるVLCテーブル変換の逆処理を行う。VLCテーブル逆変換部234は、この逆変換処理により得られたmpm_flagをイントラ予測部211に供給する。
 また、VLCテーブル逆変換部236は、算術復号部235から供給された、mpm_lr_flagが変換されたコード番号を、テーブル選択部242により選択されたVLCテーブルを用いて、逆変換し、mpm_lr_flagを得る。つまり、VLCテーブル逆変換部236は、VLCテーブル変換部135によるVLCテーブル変換の逆処理を行う。VLCテーブル逆変換部236は、この逆変換処理により得られたmpm_lr_flagをイントラ予測部211に供給する。
 さらに、VLCテーブル逆変換部238は、算術復号部237から供給された、intra_dir_modeが変換されたコード番号を、テーブル選択部243により選択されたVLCテーブルを用いて、逆変換し、intra_dir_modeを得る。つまり、VLCテーブル逆変換部238は、VLCテーブル変換部137によるVLCテーブル変換の逆処理を行う。VLCテーブル逆変換部238は、この逆変換処理により得られたintra_dir_modeをイントラ予測部211に供給する。
 以上のように、算術復号部233、算術復号部235、および算術復号部237は、それぞれ、図7の算術符号化部134、算術符号化部136、および算術符号化部138の算術符号化に対応する算術復号を行う。
 また、テーブル選択部241乃至テーブル選択部243は、テーブル選択部141乃至テーブル選択部143によるVLCテーブル選択方法と同様の方法でテーブルを選択する。
 さらに、VLCテーブル逆変換部234、VLCテーブル逆変換部236、およびVLCテーブル逆変換部238は、それぞれ、VLCテーブル変換部133、VLCテーブル変換部135、およびVLCテーブル変換部137によるVLCテーブル変換の逆処理を行う。
 したがって、可逆復号部202は、可逆符号化部106により符号化されたビットストリームを正しく復号することができる。これにより、画像復号装置200は、mpm_flag、mpm_lr_flag、およびintra_dir_mode等のイントラ予測に関する各パラメータの各値の出方(各値の発生頻度(発生確率))の偏りを利用して、符号化効率の低減の抑制を実現することができる。
 [復号処理の流れ]
 次に、以上のような画像復号装置200により実行される各処理の流れについて説明する。最初に、図22のフローチャートを参照して、復号処理の流れの例を説明する。
 復号処理が開始されると、ステップS201において、蓄積バッファ201は、伝送されてきたビットストリームを蓄積する。ステップS202において、可逆復号部202は、蓄積バッファ201から供給されるビットストリーム(符号化された差分画像情報)を復号する。このとき、予測モード情報に関する情報等、ビットストリームに含められた差分画像情報以外の各種情報も復号される。
 ステップS203において、逆量子化部203は、ステップS202の処理により得られた、量子化された直交変換係数を逆量子化する。ステップS204において逆直交変換部204は、ステップS203において逆量子化された直交変換係数を逆直交変換する。
 ステップS205において、イントラ予測部211若しくは動き予測・補償部212は、供給された情報を用いて予測処理を行う。ステップS206において、演算部205は、ステップS204において逆直交変換されて得られた差分画像情報に、ステップS205において生成された予測画像を加算する。これにより再構成画像が生成される。
 ステップS207において、ループフィルタ206は、ステップS206において得られた再構成画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
 ステップS208において、画面並べ替えバッファ207は、ステップS207においてフィルタ処理されて生成された復号画像の並べ替えを行う。すなわち画像符号化装置100の画面並べ替えバッファ102により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS209において、D/A変換部208は、フレームの順序が並べ替えられた復号画像をD/A変換する。この復号画像が図示せぬディスプレイに出力され、表示される。
 ステップS210において、フレームメモリ209は、ステップS207においてフィルタ処理されて得られた復号画像を記憶する。この復号画像は、インター予測処理において参照画像として利用される。
 ステップS210の処理が終了すると、復号処理が終了される。
 [可逆復号処理の流れ]
 次に、図23のフローチャートを参照して、図22のステップS202において行われる可逆復号処理の流れの例を説明する。
 可逆復号処理が開始されると、ステップS231において、抽出部231は、mpm_flag,mpm_lr_flag、およびintra_dir_modeの符号化データをビットストリームから抽出する。
 ステップS232において、復号部232は、量子化された係数データの符号化データを復号する。ステップS233において、復号部232は、フィルタ情報や最適モード情報等の符号化データを復号する。
 ステップS234において、割り当て制御部221は、復号割り当てを制御する。
 ステップS235において、算術復号部233は、ステップS231において抽出されたmpm_flagの符号化データを算術復号する。ステップS236において、VLCテーブル逆変換部234は、ステップS234の処理により選択されたVLCテーブルを用いて、ステップS235において算術復号されて得られたmpm_flagのコード番号(シンボル)を逆変換し、mpm_flagの値を得る。
 ステップS237において、算術復号部235は、ステップS231において抽出されたmpm_lr_flagの符号化データを算術復号する。ステップS238において、VLCテーブル逆変換部236は、ステップS234の処理により選択されたVLCテーブルを用いて、ステップS237において算術復号されて得られたmpm_lr_flagのコード番号(シンボル)を逆変換し、mpm_lr_flagの値を得る。
 ステップS239において、算術復号部237は、ステップS231において抽出されたintra_dir_modeの符号化データを算術復号する。ステップS240において、VLCテーブル逆変換部238は、ステップS234の処理により選択されたVLCテーブルを用いて、ステップS239において算術復号されて得られたmpm_flagのコード番号(シンボル)を逆変換し、intra_dir_modeの値を得る。
 ステップS240の処理が終了すると、VLCテーブル逆変換部238は、可逆復号処理を終了し、処理を図22に戻す。
 [復号割り当て制御処理の流れ]
 次に、図24のフローチャートを参照して、図23のステップS234において実行される復号割り当て制御処理の流れの例を説明する。
 復号割り当て制御処理が開始されると、テーブル選択部241は、ステップS261において、符号化側から供給されたCUサイズおよびパーティションタイプに応じて、mpm_flag用のVLCテーブルを選択する。
 ステップS262において、テーブル選択部242は、符号化側から供給されたパーティションIDおよびパーティションユニットに応じて、mpm_lr_flag用のVLCテーブルを選択する。
 ステップS263において、テーブル選択部243は、符号化側から供給されたCUサイズおよびパーティションユニットに応じて、intra_dir_mode用のVLCテーブルを選択する。ステップS263の処理が終了すると、テーブル選択部243は、復号割り当て制御処理を終了し、処理を図23に戻す。
 以上のように各処理を行うことにより、可逆復号部202は、可逆符号化部106により符号化されたビットストリームを正しく復号することができる。これにより、画像復号装置200は、mpm_flag、mpm_lr_flag、およびintra_dir_mode等のイントラ予測に関する各パラメータの各値の出方(各値の発生頻度(発生確率))の偏りを利用して、符号化効率の低減の抑制を実現することができる。
 <3.第3の実施の形態>
 [コンテキスト確率モデルの制御]
 以上においては、符号化効率の向上のために、mpm_flag、mpm_lr_flag、およびintra_dir_mode等のイントラ予測に関する各パラメータの値に割り当てるコード番号を、PUの大きさや形に応じて制御するように説明したが、符号量の制御は、VLCテーブル以外によって行われるようにしてもよい。
 すなわち、本技術において大切なことは、PUの大きさや形によって生じる予測方向やMPMに関するフラグの値の発生確率の偏りを利用して、符号量を抑制することである。したがって、第1の実施の形態や第2の実施の形態において説明した例と同様に符号量を低減させることができるのであれば、どのような処理やパラメータを制御するようにしてもよい。
 例えば、算術符号化のコンテキスト確率モデルを、PUの大きさや形によって切り替えるようにしてもよい。
[可逆符号化部および割り当て制御部]
 図25は、その場合の可逆符号化部106および割り当て制御部121の主な構成例を示すブロック図である。
 図25に示されるように、この場合、割り当て制御部121は、テーブル選択部141乃至テーブル選択部143の代わりに、コンテキスト確率モデル選択部301乃至コンテキスト確率モデル選択部303を有する。
 コンテキスト確率モデル選択部301は、イントラ予測部114から供給されるCUサイズおよびパーティションタイプ(PUの大きさや形に関する情報)に基づいて、算術符号化部134において用いられるコンテキスト確率モデルを制御する。より具体的には、コンテキスト確率モデル選択部301は、予め、算術符号化部134が用いるコンテキスト確率モデルの候補を複数記憶しており、PUの大きさや形に関する情報に基づいて、その中からmpm_flagの符号量が最も少なくなる可能性が高いモデルを選択し、それを算術符号化部134に供給する。
 この場合、VLCテーブルの選択は行われない。VLCテーブル変換部133は、予め定められた所定のVLC変換テーブルを用いてmpm_flagのVLCテーブル変換を行う。算術符号化部134は、VLCテーブル変換部133においてmpm_flagが変換されて得られたコード番号に対して、コンテキスト確率モデル選択部301により選択されたコンテキスト確率モデルを用いて算術符号化を行い、符号化データを生成する。算術符号化部134は、その符号化データをビットストリーム生成部132に供給する。
 なお、算術符号化部134が、予め、コンテキスト確率モデルの候補を複数記憶し、コンテキスト確率モデル選択部301は、使用するコンテキスト確率モデルを選択し、その選択したコンテキスト確率モデルを示す情報を算術符号化部134に供給し、算術符号化部134が、その情報により指定されるコンテキスト確率モデルを候補の中から選んで、用いるようにしてもよい。
 コンテキスト確率モデル選択部302は、イントラ予測部114から供給されるパーティションIDおよびパーティションタイプ(PUの形に関する情報)に基づいて、算術符号化部136において用いられるコンテキスト確率モデルを制御する。より具体的には、コンテキスト確率モデル選択部302は、予め、算術符号化部136が用いるコンテキスト確率モデルの候補を複数記憶しており、PUの大きさや形に関する情報に基づいて、その中からmpm_lr_flagの符号量が最も少なくなる可能性が高いモデルを選択し、それを算術符号化部136に供給する。
 この場合、VLCテーブルの選択は行われない。VLCテーブル変換部135は、予め定められた所定のVLC変換テーブルを用いてmpm_lr_flagのVLCテーブル変換を行う。算術符号化部136は、VLCテーブル変換部135においてmpm_lr_flagが変換されて得られたコード番号に対して、コンテキスト確率モデル選択部302により選択されたコンテキスト確率モデルを用いて算術符号化を行い、符号化データを生成する。算術符号化部136は、その符号化データをビットストリーム生成部132に供給する。
 なお、算術符号化部136が、予め、コンテキスト確率モデルの候補を複数記憶し、コンテキスト確率モデル選択部302は、使用するコンテキスト確率モデルを選択し、その選択したコンテキスト確率モデルを示す情報を算術符号化部136に供給し、算術符号化部136が、その情報により指定されるコンテキスト確率モデルを候補の中から選んで、用いるようにしてもよい。
 コンテキスト確率モデル選択部303は、イントラ予測部114から供給されるパーティションIDおよびパーティションタイプ(PUの形に関する情報)に基づいて、算術符号化部138において用いられるコンテキスト確率モデルを制御する。より具体的には、コンテキスト確率モデル選択部303は、予め、算術符号化部138が用いるコンテキスト確率モデルの候補を複数記憶しており、PUの大きさや形に関する情報に基づいて、その中からintra_dir_modeの符号量が最も少なくなる可能性が高いモデルを選択し、それを算術符号化部138に供給する。
 この場合、VLCテーブルの選択は行われない。VLCテーブル変換部137は、予め定められた所定のVLC変換テーブルを用いてintra_dir_modeのVLCテーブル変換を行う。算術符号化部138は、VLCテーブル変換部137においてintra_dir_modeが変換されて得られたコード番号に対して、コンテキスト確率モデル選択部303により選択されたコンテキスト確率モデルを用いて算術符号化を行い、符号化データを生成する。算術符号化部138は、その符号化データをビットストリーム生成部132に供給する。
 なお、算術符号化部138が、予め、コンテキスト確率モデルの候補を複数記憶し、コンテキスト確率モデル選択部303は、使用するコンテキスト確率モデルを選択し、その選択したコンテキスト確率モデルを示す情報を算術符号化部138に供給し、算術符号化部138が、その情報により指定されるコンテキスト確率モデルを候補の中から選んで、用いるようにしてもよい。
 [可逆符号化処理の流れ]
 次に、図26のフローチャートを参照して、この場合の可逆符号化処理の流れの例を説明する。
 可逆符号化処理が開始されると、符号化部131は、ステップS301において、量子化された係数データを符号化する。ステップS302において、符号化部131は、フィルタ係数や最適モード情報等を符号化する。
 ステップS303において、割り当て制御部121は、符号化割り当てを制御する。
 ステップS304において、VLCテーブル変換部133は、mpm_flagをコード番号に変換する。ステップS305において、算術符号化部134は、ステップS303の処理により選択されたコンテキスト確率モデルを用いて、ステップS304の処理によりコード番号に変換されたmpm_flagを算術符号化する。
 ステップS306において、VLCテーブル変換部135は、mpm_lr_flagをコード番号に変換する。ステップS307において、算術符号化部136は、ステップS303の処理により選択されたコンテキスト確率モデルを用いて、ステップS306の処理によりコード番号に変換されたmpm_lr_flagを算術符号化する。
 ステップS308において、VLCテーブル変換部137は、intra_dir_modeをコード番号に変換する。ステップS309において、算術符号化部138は、ステップS303の処理により選択されたコンテキスト確率モデルを用いて、ステップS308の処理によりコード番号に変換されたintra_dir_modeを算術符号化する。
 ステップS310において、ビットストリーム生成部132は、ステップS301、ステップS302、ステップS305、ステップS307、および、ステップS309の各処理により得られた符号化データを合成し、ビットストリームを生成する。
 ステップS310の処理が終了すると、ビットストリーム生成部132は、可逆符号化処理を終了し、処理を図17に戻す。
 [符号化割り当て制御処理の流れ]
 次に、図27のフローチャートを参照して、図26のステップS303において実行される符号化割り当て制御処理の流れの例を説明する。
 符号化割り当て制御処理が開始されると、割り当て制御部121のコンテキスト確率モデル選択部301は、ステップS331において、CUサイズおよびパーティションタイプに応じて、mpm_flag用のコンテキスト確率モデルを選択する。
 ステップS302において、コンテキスト確率モデル選択部302は、パーティションIDおよびパーティションタイプに応じて、mpm_lr_flag用のコンテキスト確率モデルを選択する。
ステップS303において、コンテキスト確率モデル選択部303は、CUサイズおよびパーティションタイプに応じて、intra_dir_mode用のコンテキスト確率モデルを選択する。
 ステップS303の処理が終了すると、コンテキスト確率モデル選択部303は、符号化割り当て制御処理を終了し、処理を図26に戻す。
 以上のように各処理を行うことにより、割り当て制御部121は、PUの大きさや形に基づいて、mpm_flag、mpm_lr_flag、およびintra_dir_mode等の各パラメータの各値の発生頻度に応じて、符号化効率を向上させるように、算術符号化のコンテキスト確率モデルを選択することができる。また、可逆符号化部106は、そのコンテキスト確率モデルを用いて、mpm_flag、mpm_lr_flag、およびintra_dir_mode等の各パラメータのコード番号を算術符号化することができる。
 これにより、画像符号化装置100は、mpm_flag、mpm_lr_flag、およびintra_dir_mode等のイントラ予測に関する各パラメータによる符号化効率の低減を抑制することができる。
[可逆符号化部および割り当て制御部]
 図28は、図25の例の画像符号化装置100に対応する画像復号装置200の、可逆復号部202および割り当て制御部221の主な構成例を示すブロック図である。
 図28に示されるように、この場合、割り当て制御部221は、テーブル選択部241乃至テーブル選択部243の代わりに、コンテキスト確率モデル選択部401乃至コンテキスト確率モデル選択部403を有する。
 コンテキスト確率モデル選択部401は、符号化側から伝送されたCUサイズおよびパーティションタイプ(PUの大きさや形に関する情報)に基づいて、コンテキスト確率モデル選択部301の場合と同様に、算術復号部233において用いられるコンテキスト確率モデルを制御する。
 コンテキスト確率モデル選択部402は、符号化側から伝送されたCUサイズおよびパーティションタイプ(PUの大きさや形に関する情報)に基づいて、コンテキスト確率モデル選択部302の場合と同様に、算術復号部235において用いられるコンテキスト確率モデルを制御する。
 コンテキスト確率モデル選択部403は、符号化側から伝送されたCUサイズおよびパーティションタイプ(PUの大きさや形に関する情報)に基づいて、コンテキスト確率モデル選択部303の場合と同様に、算術復号部237において用いられるコンテキスト確率モデルを制御する。
 したがって、算術復号部233、算術復号部235、および算術復号部237は、それぞれ、コンテキスト確率モデル選択部401、コンテキスト確率モデル選択部402、およびコンテキスト確率モデル選択部403により選択されたコンテキスト確率モデルを用いて算術復号を行う。
 この場合、VLCテーブル逆変換部234、VLCテーブル逆変換部236、およびVLCテーブル逆変換部238は、図25の場合と同様に、VLCテーブルを切り替えずに(予め定められた所定のVLCテーブルを用いて)逆変換処理を行う。
 勿論この場合も、図25の場合と同様に、コンテキスト確率モデル選択部401乃至コンテキスト確率モデル403が、それぞれ、選択したコンテキスト確率モデルを示す情報のみを算術復号部233、算術復号部235、および算術復号部237に供給するようにしてもよい。
 [可逆復号処理の流れ]
 次に、図29のフローチャートを参照して、この場合の可逆復号処理の流れの例を説明する。
 可逆復号処理が開始されると、ステップS401において、抽出部231は、mpm_flag,mpm_lr_flag、およびintra_dir_modeの符号化データをビットストリームから抽出する。
 ステップS402において、復号部232は、量子化された係数データの符号化データを復号する。ステップS403において、復号部232は、フィルタ情報や最適モード情報等の符号化データを復号する。
 ステップS404において、割り当て制御部221は、復号割り当てを制御する。
 ステップS405において、算術復号部233は、ステップS231において抽出されたmpm_flagの符号化データを、ステップS404の処理により選択されたコンテキスト確率モデルを用いて算術復号する。ステップS406において、VLCテーブル逆変換部234は、ステップS235において算術復号されて得られたmpm_flagのコード番号(シンボル)を逆変換し、mpm_flagの値を得る。
 ステップS407において、算術復号部235は、ステップS231において抽出されたmpm_lr_flagの符号化データを、ステップS404の処理により選択されたコンテキスト確率モデルを用いて算術復号する。ステップS408において、VLCテーブル逆変換部236は、ステップS407において算術復号されて得られたmpm_lr_flagのコード番号(シンボル)を逆変換し、mpm_lr_flagの値を得る。
 ステップS409において、算術復号部237は、ステップS231において抽出されたintra_dir_modeの符号化データを、ステップS404の処理により選択されたコンテキスト確率モデルを用いて算術復号する。ステップS410において、VLCテーブル逆変換部238は、ステップS409において算術復号されて得られたmpm_flagのコード番号(シンボル)を逆変換し、intra_dir_modeの値を得る。
 ステップS410の処理が終了すると、VLCテーブル逆変換部238は、可逆復号処理を終了し、処理を図22に戻す。
 [復号割り当て制御処理の流れ]
 次に、図30のフローチャートを参照して、図29のステップS404において実行される復号割り当て制御処理の流れの例を説明する。
 復号割り当て制御処理が開始されると、コンテキスト確率モデル選択部401は、ステップS431において、符号化側から供給されたCUサイズおよびパーティションタイプに応じて、mpm_flag用のコンテキスト確率モデルを選択する。
 ステップS432において、コンテキスト確率モデル選択部402は、符号化側から供給されたパーティションIDおよびパーティションユニットに応じて、mpm_lr_flag用のコンテキスト確率モデル選択部401を選択する。
 ステップS433において、コンテキスト確率モデル選択部403は、符号化側から供給されたCUサイズおよびパーティションユニットに応じて、intra_dir_mode用のVLCコンテキスト確率モデルを選択する。ステップS433の処理が終了すると、コンテキスト確率モデル選択部403は、復号割り当て制御処理を終了し、処理を図29に戻す。
 以上のように各処理を行うことにより、可逆復号部202は、可逆符号化部106により符号化されたビットストリームを正しく復号することができる。これにより、画像復号装置200は、mpm_flag、mpm_lr_flag、およびintra_dir_mode等のイントラ予測に関する各パラメータによる符号化効率の低減の抑制を実現することができる。
 なお、以上において説明した予測方向や各パラメータの値の偏りは、一例であり、既知であれば、上述した説明と異なっていてもよい。つまり、その既知の偏りに併せて、コード番号の割り当てを行ったり、コンテキスト確率モデルの選択を行ったりすることができればよい。例えば、長方形のPUにおいて、その短手方向(長手方向に直角な方向)により近い予測方向の方が、長手方向により近い予測方向よりも、その発生頻度が上がる場合も考えられなくもない。そのような場合においても、そのような偏りが既知であれば、PUの短手方向により近い予測方向に対してより小さなコード番号を割り当てるようなVLCテーブルを用意すればよい。コンテキスト確率モデルを制御する場合も同様である。
 すなわち、上述した各VLCテーブルのコード番号の割り当て方法は、一例であり、上述したように、各パラメータの値の発生頻度の偏りに応じて、符号量をより低減させるようなコード番号の割り当て方であれば、どのようなものであってもよい。また、コード番号のビット長も上述した例に限らない。
 なお、PUの大きさや形を決定する際(予測モードを決定する際)、すなわちコスト関数値生成の際も、上述したようにコード番号の割り当てやコンテキスト確率モデル等を制御するようにしてもよい。
 また、以上においては、mpm_flag、mpm_lr_flag、およびintra_dir_modeの値を制御する場合について説明したが、符号量を制御するパラメータは、どのようなものであってもよく、これら以外のパラメータであっても良い。
 なお、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
 <4.第4の実施の形態>
 [コンピュータ]
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
 図31において、パーソナルコンピュータ500のCPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部513からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース510も接続されている。
 入出力インタフェース510には、キーボード、マウスなどよりなる入力部511、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部512、ハードディスクなどより構成される記憶部513、モデムなどより構成される通信部514が接続されている。通信部514は、インターネットを含むネットワークを介しての通信処理を行う。
 入出力インタフェース510にはまた、必要に応じてドライブ515が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部513にインストールされる。
 上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
 この記録媒体は、例えば、図31に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部513に含まれるハードディスクなどで構成される。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
 <5.第5の実施の形態>
 [第1の応用例:テレビジョン受像機]
 図32は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、符号化効率の向上を実現することができる。
 <6.第6の実施の形態>
 [第2の応用例:携帯電話機]
 図33は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Unallocated Space Bitmap)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、符号化効率を向上させることができる。
 <7.第7の実施の形態>
 [第3の応用例:記録再生装置]
 図34は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
 外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送部としての役割を有する。
 エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、符号化効率を向上させることができる。
 <8.第8の実施の形態>
 [第4の応用例:撮像装置]
 図35は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送部としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、符号化効率を向上させることができる。
 なお、本明細書では、閾値などの様々な情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 なお、本技術は以下のような構成も取ることができる。
 (1) 予測処理単位の領域に応じてイントラ予測に関するパラメータの符号化を制御する制御部と、
 前記制御部による制御に従って、前記パラメータを符号化する符号化部と
 を備える画像処理装置。
 (2) 前記制御部は、前記パラメータの符号量を低減させるように前記パラメータの符号化を制御する
 前記(1)に記載の画像処理装置。
 (3) 前記制御部は、前記パラメータの各値にコード番号を割り当てるテーブルを選択し、
 前記符号化部は、前記制御部により選択された前記テーブルを用いて前記パラメータの各値を前記コード番号に変換し、符号化する
 前記(1)または(2)に記載の画像処理装置。
 (4) 前記制御部は、前記符号化部による算術符号化のコンテキスト確率モデルを選択し、
 前記符号化部は、前記制御部により選択された前記コンテキスト確率モデルを用いて前記パラメータを符号化する
 前記(1)乃至(3)のいずれかに記載の画像処理装置。
 (5) 前記パラメータは、MPM(Most probable mode)を使うか否かを指定するフラグを含む
 前記(1)乃至(4)のいずれかに記載の画像処理装置。
 (6) 前記制御部は、前記領域の大きさと形に応じて、前記MPMを使うか否かを指定するフラグの符号化を制御する
 前記(5)に記載の画像処理装置。
 (7) 前記パラメータは、MPM(Most probable mode)において参照する周辺領域を指定するフラグを含む
 前記(1)乃至(6)のいずれかに記載の画像処理装置。
 (8) 前記制御部は、前記領域の形とIDに応じて、前記MPMにおいて参照する周辺領域を指定するフラグの符号化を制御する
 前記(7)に記載の画像処理装置。
 (9) 前記パラメータは、イントラ予測の予測方向を示すフラグを含む
 前記(1)乃至(8)のいずれかに記載の画像処理装置。
 (10) 前記制御部は、前記領域の大きさと形に応じて、前記イントラ予測の予測方向を示すフラグの符号化を制御する
 前記(9)に記載の画像処理装置。
 (11) 前記符号化部により符号化された前記パラメータを伝送する伝送部をさらに備える
 前記(1)乃至(10)のいずれかに記載の画像処理装置。
 (12) 画像処理装置の画像処理方法であって、
 制御部が、予測処理単位の領域に応じてイントラ予測に関するパラメータの符号化を制御し、
 符号化部が、前記制御に従って、前記パラメータを符号化する
 画像処理方法。
 (13) イントラ予測に関するパラメータの符号化データを受け取る受け取り部と、
 予測処理単位の領域に応じて、前記受け取り部により受け取られた前記符号化データの復号を制御する制御部と、
 前記制御部による制御に従って、前記符号化データを復号する復号部と
 を備える画像処理装置。
 (14) 画像処理装置の画像処理方法であって、
 受け取り部が、イントラ予測に関するパラメータの符号化データを受け取り、
 制御部が、予測処理単位の領域に応じて、受け取られた前記符号化データの復号を制御し、
 復号部が、前記制御に従って、前記符号化データを復号する
 画像処理方法。
 100 画像符号化装置, 106 可逆符号化部, 121 割り当て制御部, 133,135,137 VLCテーブル変換部, 141乃至143 テーブル選択部, 200 画像復号装置, 202 可逆復号部, 221 割り当て制御部, 234,236,238 VLCテーブル逆変換部, 241乃至243 テーブル選択部, 301乃至303 コンテキスト確率モデル選択部, 401乃至403 コンテキスト確率モデル選択部

Claims (14)

  1.  予測処理単位の領域に応じてイントラ予測に関するパラメータの符号化を制御する制御部と、
     前記制御部による制御に従って、前記パラメータを符号化する符号化部と
     を備える画像処理装置。
  2.  前記制御部は、前記パラメータの符号量を低減させるように前記パラメータの符号化を制御する
     請求項1に記載の画像処理装置。
  3.  前記制御部は、前記パラメータの各値にコード番号を割り当てるテーブルを選択し、
     前記符号化部は、前記制御部により選択された前記テーブルを用いて前記パラメータの各値を前記コード番号に変換し、符号化する
     請求項1に記載の画像処理装置。
  4.  前記制御部は、前記符号化部による算術符号化のコンテキスト確率モデルを選択し、
     前記符号化部は、前記制御部により選択された前記コンテキスト確率モデルを用いて前記パラメータを符号化する
     請求項1に記載の画像処理装置。
  5.  前記パラメータは、MPM(Most probable mode)を使うか否かを指定するフラグを含む
     請求項1に記載の画像処理装置。
  6.  前記制御部は、前記領域の大きさと形に応じて、前記MPMを使うか否かを指定するフラグの符号化を制御する
     請求項5に記載の画像処理装置。
  7.  前記パラメータは、MPM(Most probable mode)において参照する周辺領域を指定するフラグを含む
     請求項1に記載の画像処理装置。
  8.  前記制御部は、前記領域の形とIDに応じて、前記MPMにおいて参照する周辺領域を指定するフラグの符号化を制御する
     請求項7に記載の画像処理装置。
  9.  前記パラメータは、イントラ予測の予測方向を示すフラグを含む
     請求項1に記載の画像処理装置。
  10.  前記制御部は、前記領域の大きさと形に応じて、前記イントラ予測の予測方向を示すフラグの符号化を制御する
     請求項9に記載の画像処理装置。
  11.  前記符号化部により符号化された前記パラメータを伝送する伝送部をさらに備える
     請求項1に記載の画像処理装置。
  12.  画像処理装置の画像処理方法であって、
     制御部が、予測処理単位の領域に応じてイントラ予測に関するパラメータの符号化を制御し、
     符号化部が、前記制御に従って、前記パラメータを符号化する
     画像処理方法。
  13.  イントラ予測に関するパラメータの符号化データを受け取る受け取り部と、
     予測処理単位の領域に応じて、前記受け取り部により受け取られた前記符号化データの復号を制御する制御部と、
     前記制御部による制御に従って、前記符号化データを復号する復号部と
     を備える画像処理装置。
  14.  画像処理装置の画像処理方法であって、
     受け取り部が、イントラ予測に関するパラメータの符号化データを受け取り、
     制御部が、予測処理単位の領域に応じて、受け取られた前記符号化データの復号を制御し、
     復号部が、前記制御に従って、前記符号化データを復号する
     画像処理方法。
PCT/JP2012/065819 2011-06-30 2012-06-21 画像処理装置および方法 WO2013002110A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/118,609 US10104372B2 (en) 2011-06-30 2012-06-21 Image processing apparatus and image processing method
CN201280030984.7A CN103636214B (zh) 2011-06-30 2012-06-21 图像处理设备及图像处理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-145566 2011-06-30
JP2011145566A JP2013012995A (ja) 2011-06-30 2011-06-30 画像処理装置および方法

Publications (1)

Publication Number Publication Date
WO2013002110A1 true WO2013002110A1 (ja) 2013-01-03

Family

ID=47424007

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/065819 WO2013002110A1 (ja) 2011-06-30 2012-06-21 画像処理装置および方法

Country Status (4)

Country Link
US (1) US10104372B2 (ja)
JP (1) JP2013012995A (ja)
CN (1) CN103636214B (ja)
WO (1) WO2013002110A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6212890B2 (ja) * 2013-03-22 2017-10-18 富士通株式会社 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
JP6540132B2 (ja) * 2015-03-20 2019-07-10 カシオ計算機株式会社 復号装置、復号方法、及び、プログラム
US10841593B2 (en) 2015-06-18 2020-11-17 Qualcomm Incorporated Intra prediction and intra mode coding
US10142627B2 (en) * 2015-06-18 2018-11-27 Qualcomm Incorporated Intra prediction and intra mode coding
US11463689B2 (en) 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
FI20175006A1 (en) * 2017-01-03 2019-02-15 Nokia Technologies Oy Video and image coding using wide-angle intra-prediction
JP6956543B2 (ja) * 2017-07-03 2021-11-02 日本放送協会 決定装置、符号化装置、復号装置及びプログラム
US10652534B2 (en) * 2018-03-08 2020-05-12 Tencent America LLC Methods and apparatus for directional intra prediction in video compression
WO2019216608A1 (ko) * 2018-05-07 2019-11-14 엘지전자 주식회사 컨텍스트 기반 인트라 예측 모드 정보 코딩을 이용한 영상 코딩 방법 및 그 장치
US11277644B2 (en) 2018-07-02 2022-03-15 Qualcomm Incorporated Combining mode dependent intra smoothing (MDIS) with intra interpolation filter switching
US11303885B2 (en) 2018-10-25 2022-04-12 Qualcomm Incorporated Wide-angle intra prediction smoothing and interpolation
CN111277824B (zh) * 2020-02-12 2023-07-25 腾讯科技(深圳)有限公司 图像预测处理方法、装置、终端及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003324731A (ja) * 2002-04-26 2003-11-14 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
JP2011259361A (ja) * 2010-06-11 2011-12-22 Sony Corp 画像処理装置および方法
JP2012023613A (ja) * 2010-07-15 2012-02-02 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101011303B1 (ko) * 2006-07-28 2011-01-28 가부시끼가이샤 도시바 화상 부호화 및 복호화 방법 및 장치
EP2255585B1 (en) * 2008-03-16 2019-05-08 LG Electronics Inc. Method and apparatus for acquiring resource allocation of control channel
KR20090129926A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
JPWO2011125313A1 (ja) * 2010-04-09 2013-07-08 三菱電機株式会社 動画像符号化装置および動画像復号装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003324731A (ja) * 2002-04-26 2003-11-14 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
JP2011259361A (ja) * 2010-06-11 2011-12-22 Sony Corp 画像処理装置および方法
JP2012023613A (ja) * 2010-07-15 2012-02-02 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TAICHIRO SHIODERA ET AL.: "TE6 subset a:Bidirectional intra prediction", JOINT COLLABORATIVE TEAM ON VIDEO CODING(JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 3RD MEETING, 7 October 2010 (2010-10-07), GUANGZHOU,CN, pages 3 - 4, Retrieved from the Internet <URL:http://wftp3.itu.int/av-arch/jctvc-site/2010_10_C_Guangzhou> *

Also Published As

Publication number Publication date
US10104372B2 (en) 2018-10-16
JP2013012995A (ja) 2013-01-17
US20140079122A1 (en) 2014-03-20
CN103636214A (zh) 2014-03-12
CN103636214B (zh) 2017-09-26

Similar Documents

Publication Publication Date Title
JP5954587B2 (ja) 画像処理装置および方法
WO2013002110A1 (ja) 画像処理装置および方法
JP5942990B2 (ja) 画像処理装置および方法
JP2013150173A (ja) 画像処理装置および方法
JP5982734B2 (ja) 画像処理装置および方法
JP2013012845A (ja) 画像処理装置および方法
WO2014050676A1 (ja) 画像処理装置および方法
WO2014050731A1 (ja) 画像処理装置および方法
WO2013108688A1 (ja) 画像処理装置および方法
WO2013065570A1 (ja) 画像処理装置および方法
WO2012157538A1 (ja) 画像処理装置および方法
WO2014156708A1 (ja) 画像復号装置および方法
WO2013002108A1 (ja) 画像処理装置および方法
WO2013154026A1 (ja) 画像処理装置および方法
WO2012105406A1 (ja) 画像処理装置および方法
WO2013051453A1 (ja) 画像処理装置および方法
WO2012173022A1 (ja) 画像処理装置および方法
WO2013002106A1 (ja) 画像処理装置および方法
WO2012173063A1 (ja) 画像処理装置および方法
WO2013065567A1 (ja) 画像処理装置および方法
JP6508553B2 (ja) 画像処理装置および方法
JP6217997B2 (ja) 画像処理装置および方法
JP6768208B2 (ja) 画像処理装置および方法
WO2013002111A1 (ja) 画像処理装置および方法
WO2012157539A1 (ja) 画像処理装置および方法

Legal Events

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

Ref document number: 12804237

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14118609

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12804237

Country of ref document: EP

Kind code of ref document: A1