Nothing Special   »   [go: up one dir, main page]

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

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

Info

Publication number
WO2011155377A1
WO2011155377A1 PCT/JP2011/062648 JP2011062648W WO2011155377A1 WO 2011155377 A1 WO2011155377 A1 WO 2011155377A1 JP 2011062648 W JP2011062648 W JP 2011062648W WO 2011155377 A1 WO2011155377 A1 WO 2011155377A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
code number
slice
prediction
prediction mode
Prior art date
Application number
PCT/JP2011/062648
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 CN201180027604XA priority Critical patent/CN102939759A/zh
Priority to US13/701,968 priority patent/US20130077672A1/en
Publication of WO2011155377A1 publication Critical patent/WO2011155377A1/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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/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 is used for the purpose of efficient transmission and storage of information.
  • a device that conforms to a system such as Moving (Pictures Experts Group) is becoming widespread in both information distribution at broadcast 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 it did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate. With the widespread use of mobile terminals, the need for such an encoding system is expected to increase in the future, and the MPEG4 encoding system has been standardized accordingly. Regarding the image coding system, 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 has been 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-Resine Transform
  • MPEG-2 quantization matrix specified by MPEG-2
  • 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.
  • UHD Ultra High Definition: 4000 pixels ⁇ 2000 pixels
  • it is not optimal. Therefore, in Non-Patent Document 2, etc., it has been proposed to make the macroblock size such as 64 ⁇ 64 pixels and 32 ⁇ 32 pixels.
  • the present disclosure has been made in view of such a situation, and an object of the present disclosure is to improve encoding efficiency by appropriately assigning code numbers to prediction modes.
  • One aspect of the present disclosure includes an intra prediction unit that performs intra prediction using a plurality of prediction modes and selects an optimal prediction mode based on the obtained prediction result; and each prediction mode of intra prediction by the intra prediction unit
  • An update unit that updates the code number assignment to the code so that a smaller value is assigned to a prediction mode having a higher appearance frequency, and the intra prediction unit assigned according to the code number assignment updated by the update unit. It is an image processing apparatus provided with the encoding part which encodes the code number with respect to the prediction mode of the performed intra prediction.
  • the update unit is an intra 4 ⁇ 4 prediction mode, an intra 8 ⁇ 8 prediction mode, an intra 16 ⁇ 16 prediction mode, an encoding processing unit, and an intra for an extended macroblock that has been expanded to a size larger than 16 ⁇ 16 pixels.
  • the code number assignment can be updated according to the appearance frequency for at least one of the prediction mode and the intra prediction mode for the color difference signal.
  • the code number assignment to the slice is initialized and set to a predetermined initial value.
  • the initial value of the code number assignment can be the code number assignment method defined in the AVC encoding method.
  • a scene change detection unit that detects a scene change for the slice to be processed; and when the scene change detection unit determines that the scene change is included in the slice, the update unit
  • the assignment of the code number to can be initialized and set to a predetermined initial value.
  • the update unit determines in advance whether the code number assignment of the slice is updated by the update unit.
  • the value of the flag information indicating whether it is the initial value can be set to a value indicating the initial value.
  • the update unit assigns a smaller value to a prediction mode having a higher appearance frequency of each prediction mode in the I slice after the encoding process of the I slice to be processed.
  • the code number assignment can be updated.
  • the update unit can set the assignment of the code number to the intra macroblock included in the P slice or the B slice to a predetermined initial value.
  • the update unit can update the code number assignment to the intra macroblock included in the P slice or B slice to the code number assignment set in the immediately preceding I slice.
  • the update unit assigns the code number to the intra macroblock included in the P slice or B slice as the prediction mode has a higher appearance frequency. Can be updated to assign a smaller value.
  • the update unit can also update the code number assignment for the motion compensation partition mode according to the appearance frequency of the mode.
  • One aspect of the present disclosure is also an image processing method of an image processing device, in which an intra prediction unit performs intra prediction using a plurality of prediction modes, and selects an optimal prediction mode based on the obtained prediction results.
  • the update unit updates the code number assignment for each prediction mode of intra prediction so that a smaller value is assigned to a prediction mode with a higher appearance frequency, and the encoding unit updates the code number of the updated code number. It is the image processing method which codes the code number with respect to the prediction mode of the performed intra prediction allocated according to allocation.
  • Another aspect of the present disclosure relates to a decoding unit that decodes a code number for a prediction mode of intra prediction, and assigns a code number to each prediction mode of the intra prediction, and assigns a smaller value to a prediction mode with a higher appearance frequency.
  • an intra prediction unit that performs intra prediction in a prediction mode corresponding to the code number decoded by the decoding unit according to the allocation of the code number updated by the updating unit.
  • Another aspect of the present disclosure is also an image processing method of an image processing device, in which a decoding unit decodes a code number for a prediction mode of intra prediction, and an update unit codes a code for each prediction mode of the intra prediction.
  • the number assignment is updated so that the prediction mode having a higher appearance frequency is assigned with a smaller value, and the intra prediction unit is updated in the prediction mode corresponding to the code number decoded according to the updated code number assignment.
  • intra prediction is performed using a plurality of prediction modes, an optimal prediction mode is selected based on the obtained prediction result, and code number assignment to each prediction mode of intra prediction is performed, The prediction mode having a higher appearance frequency is updated so as to be assigned a smaller value, and the code number for the prediction mode of the executed intra prediction assigned according to the updated code number assignment is encoded.
  • the code number for the prediction mode of intra prediction is decoded, and the code number assignment for each prediction mode of intra prediction is updated so that a prediction mode with a higher appearance frequency is assigned a smaller value.
  • intra prediction is performed in the prediction mode corresponding to the decoded code number.
  • an image can be processed.
  • encoding efficiency can be improved.
  • FIG. 1 It is a block diagram which shows the main structural examples of an image coding apparatus. It is the figure which showed the processing order of 4x4 block contained in one macroblock in an AVC encoding system. It is a figure which shows the intra 4x4 prediction mode defined in the AVC encoding system. It is a figure which shows the intra 4x4 prediction mode defined in the AVC encoding system. It is the figure which showed the prediction direction of the intra 4x4 prediction mode defined in the AVC encoding system. It is a figure for demonstrating the prediction method of the intra 4x4 prediction mode defined in the AVC encoding system. It is a figure for demonstrating the encoding method of the intra 4x4 prediction mode defined in the AVC encoding system.
  • FIG. 26 is a block diagram illustrating a main configuration example of a personal computer. It is a block diagram which shows the main structural examples of a television receiver. It is a block diagram which shows the main structural examples of a mobile telephone. It is a block diagram which shows the main structural examples of a hard disk recorder. It is a block diagram which shows the main structural examples of a camera.
  • FIG. 1 shows a configuration of an embodiment of an image encoding apparatus as an image processing apparatus.
  • the image encoding device 100 shown in FIG. It is an encoding apparatus that encodes an image in the same manner as the H.264 and MPEG (Moving Picture Experts Group) 4 Part 10 (AVC (Advanced Video Coding)) (hereinafter referred to as H.264 / AVC) system.
  • the image coding apparatus 100 adaptively assigns a code number (code_number) to the intra prediction mode according to the appearance frequency in the intra prediction process. By doing in this way, the image coding apparatus 100 can further improve the coding efficiency of the encoded data to be output.
  • code_number code number
  • the image encoding device 100 includes an A / D (Analog / Digital) conversion unit 101, a screen rearrangement buffer 102, a calculation unit 103, an orthogonal transformation unit 104, a quantization unit 105, and a lossless encoding unit 106. And a storage buffer 107.
  • the image encoding device 100 includes an inverse quantization unit 108, an inverse orthogonal transform unit 109, a calculation unit 110, a deblock filter 111, a frame memory 112, a selection unit 113, an intra prediction unit 114, a motion prediction / compensation unit 115, A selection unit 116 and a rate control unit 117 are included.
  • the image encoding device 100 further includes a code number assigning unit 121.
  • the A / D conversion unit 101 performs A / D conversion on the input image data, outputs it to the screen rearrangement buffer 102, and stores it.
  • the screen rearrangement buffer 102 rearranges the stored frame images in the display order in the order of frames for encoding in accordance with the GOP (Group of Picture) structure.
  • the screen rearrangement buffer 102 supplies the image with the rearranged frame order to the arithmetic 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 selection unit 116 from the image read from the screen rearrangement buffer 102, and orthogonalizes the difference information.
  • the data is output to the conversion 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 and supplies the transform coefficient to the quantization unit 105.
  • the quantization unit 105 quantizes the transform coefficient output from the orthogonal transform unit 104.
  • the quantization unit 105 sets a quantization parameter based on information supplied from the rate control unit 117 and performs quantization.
  • the quantization unit 105 supplies the quantized transform coefficient to the lossless encoding unit 106.
  • the lossless encoding unit 106 performs lossless encoding such as variable length encoding and arithmetic encoding on the quantized transform coefficient.
  • the lossless encoding unit 106 acquires information indicating intra prediction from the intra prediction unit 114 and acquires information indicating inter prediction mode, motion vector information, and the like from the motion prediction / compensation unit 115.
  • information indicating intra prediction is hereinafter also referred to as intra prediction mode information.
  • information indicating an information mode indicating inter prediction is hereinafter also referred to as inter prediction mode information.
  • the lossless encoding unit 106 encodes the quantized transform coefficient, and also converts various information such as filter coefficient, intra prediction mode information, inter prediction mode information, and quantization parameter into one piece of header information of the encoded data. Part (multiplex).
  • the lossless encoding unit 106 supplies the encoded data obtained by encoding to the accumulation buffer 107 for accumulation.
  • the lossless encoding unit 106 performs lossless encoding processing such as variable length encoding or arithmetic encoding.
  • variable length coding examples include H.264.
  • CAVLC Context-Adaptive Variable Length Coding
  • arithmetic coding examples include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 107 temporarily holds the encoded data supplied from the lossless encoding unit 106, and at a predetermined timing, the H.264 buffer stores the encoded data. As an encoded image encoded by the H.264 / AVC format, for example, it is output to a recording device or a transmission path (not shown) in the subsequent stage.
  • 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 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 supplied transform coefficient by a method corresponding to the orthogonal transform processing by the orthogonal transform unit 104.
  • the inversely orthogonal transformed output (restored difference information) is supplied to the calculation unit 110.
  • the calculation unit 110 uses the inverse prediction unit 114 or the motion prediction / compensation unit 115 via the selection unit 116 for the inverse orthogonal transformation result supplied from the inverse orthogonal transformation unit 109, that is, the restored difference information.
  • the images are added to obtain a locally decoded image (decoded image).
  • the calculation unit 110 adds the prediction image supplied from the intra prediction unit 114 to the difference information.
  • the calculation unit 110 adds the predicted image supplied from the motion prediction / compensation unit 115 to the difference information.
  • the addition result is supplied to the deblock filter 111 or the frame memory 112.
  • the deblocking filter 111 removes block distortion of the decoded image by appropriately performing the deblocking filter process, and improves the image quality by appropriately performing a loop filter process using, for example, a Wiener filter.
  • the deblocking filter 111 classifies each pixel and performs an appropriate filter process for each class.
  • the deblocking filter 111 supplies the filter processing result to the frame memory 112.
  • the frame memory 112 outputs the stored reference image to the intra prediction unit 114 or the motion prediction / compensation unit 115 via the selection unit 113 at a predetermined timing.
  • the frame memory 112 supplies the reference image to the intra prediction unit 114 via the selection unit 113.
  • the frame memory 112 supplies the reference image to the motion prediction / compensation unit 115 via the selection unit 113.
  • the selection unit 113 supplies the reference image to the intra prediction unit 114 when the reference image supplied from the frame memory 112 is an image to be subjected to intra coding. Further, when the reference image supplied from the frame memory 112 is an image to be subjected to inter coding, the selection unit 113 supplies the reference image to the motion prediction / compensation unit 115.
  • the intra prediction unit 114 performs intra prediction (intra-screen prediction) that generates a predicted image using pixel values in the screen.
  • the intra prediction unit 114 performs intra prediction in a plurality of modes (intra prediction modes).
  • the intra prediction unit 114 generates predicted images in all intra prediction modes, evaluates each predicted image, and selects an optimal mode. When the optimal intra prediction mode is selected, the intra prediction unit 114 supplies the prediction image generated in the optimal mode to the calculation unit 103 and the calculation unit 110 via the selection unit 116.
  • the intra prediction unit 114 supplies information such as intra prediction mode information indicating the adopted intra prediction mode to the lossless encoding unit 106 as appropriate.
  • the intra prediction unit 114 includes intra prediction mode information indicating the employed intra prediction mode. Information is also supplied to the code number assignment unit 121.
  • the motion prediction / compensation unit 115 uses the input image supplied from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 112 via the selection unit 113 for the image to be inter-coded, Motion prediction is performed, motion compensation processing is performed according to the detected motion vector, and a predicted image (inter predicted image information) is generated.
  • the motion prediction / compensation unit 115 performs inter prediction processing in all candidate inter prediction modes, and generates a prediction image.
  • the motion prediction / compensation unit 115 supplies the generated predicted image to the calculation unit 103 and the calculation unit 110 via the selection unit 116.
  • the motion prediction / compensation unit 115 supplies the inter prediction mode information indicating the employed inter prediction mode and the motion vector information indicating the calculated motion vector to the lossless encoding unit 106.
  • the selection unit 116 supplies the output of the intra prediction unit 114 to the calculation unit 103 and the calculation unit 110 in the case of an image subjected to intra coding, and outputs the output of the motion prediction / compensation unit 115 in the case of an image subjected to inter coding. It supplies to the calculating part 103 and the calculating part 110.
  • the rate control unit 117 controls the quantization operation rate of the quantization unit 105 based on the compressed image stored in the storage buffer 107 so that overflow or underflow does not occur.
  • the code number assigning unit 121 acquires the information indicating the adopted intra prediction mode supplied from the intra prediction unit 114, the code number assigning unit 121 adaptively determines the code number for each intra prediction mode according to the appearance frequency. Make an assignment.
  • intra prediction mode the intra prediction method defined in the AVC encoding method
  • three types of luminance signals are defined: an intra 4 ⁇ 4 prediction mode, an intra 8 ⁇ 8 prediction mode, and an intra 16 ⁇ 16 prediction mode.
  • an intra 4 ⁇ 4 prediction mode the intra 4 ⁇ 4 prediction mode
  • an intra 8 ⁇ 8 prediction mode the intra 16 ⁇ 16 prediction mode
  • an intra 16 ⁇ 16 prediction mode a DC component of each block is collected to generate a 4 ⁇ 4 matrix, which is further subjected to orthogonal transformation.
  • the intra 8 ⁇ 8 prediction mode is applicable only when the macro block is subjected to 8 ⁇ 8 orthogonal transformation with a high profile or higher profile.
  • each mode indicates a certain direction.
  • 'a' to 'p' indicate pixels of the block
  • 'A' to 'M' indicate pixel values belonging to adjacent blocks.
  • predicted pixel values of “a” to “p” are generated using “A” to “M” as described below.
  • Mode 0 (Mode 0) is Vertical Prediction, and is applied only when A, B, C, and D are "available”.
  • the predicted pixel value is as follows.
  • Mode 1 is Horizontal Prediction, and is applied only when I, J, K, and L are "available". Each predicted pixel value is generated as follows.
  • Mode 2 (Mode 2) is DC ⁇ Prediction, and when A, B, C, D, I, J, K, and L are all available “available” ⁇ ⁇ , the predicted value is generated as in the following equation (1) Is done.
  • Mode 3 is Diagonal_Down_Left Prediction and is applied only when A, B, C, D, I, J, K, L, and M are “available”. Each predicted value is generated as follows.
  • Mode 4 is Diagonal_Down_Right Prediction and is applied only when A, B, C, D, I, J, K, L, and M are "available". Each predicted value is generated as follows.
  • Mode 5 is Diagonal_Vertical_Right Prediction, and is applied only when A, B, C, D, I, J, K, L, and M are “available”. Each predicted value is generated as follows.
  • Mode 6 is Horizontal_Down Prediction, and is applied only when A, B, C, D, I, J, K, L, and M are "available". Each predicted value is generated as follows.
  • Mode 7 is Vertical_Left d Prediction and is applied only when A, B, C, D, I, J, K, L, and M are available “available”. Each predicted value is generated as follows.
  • Mode 8 is Horizontal_Up Prediction, and is applied only when A, B, C, D, I, J, K, L, and M are "available". Each predicted value is generated as follows.
  • an intra 4 ⁇ 4 prediction mode (Intra_4x4_pred_mode) in C and an intra 4 ⁇ 4 prediction mode in A and B (Intra_4x4_pred_mode) is considered to have a high correlation.
  • the intra 4 ⁇ 4 prediction mode (Intra_4x4_pred_mode) for A and B is set as intra 4 ⁇ 4 prediction mode A (Intra_4x4_pred_modeA) and intra 4 ⁇ 4 prediction mode B (Intra_4x4_pred_modeB), respectively, and the most frequent mode (MostProbableMode). Is defined as in the following equation (4).
  • mode_number the mode assigned with the smaller mode number (mode_number) is set as the most frequent mode (MostProbableMode).
  • prev_intra4x4_pred_mode_flag [luma4x4BlkIdx]
  • rem_intra4x4_pred_mode [luma4x4BlkIdx]
  • FIG. 8 and FIG. 9 nine intra 8 ⁇ 8 prediction modes (Intra_8x8_pred_mode) are defined.
  • the pixel value in the 8 ⁇ 8 block is p [x, y] (0 ⁇ x ⁇ 7; 0 ⁇ y ⁇ 7), and the pixel value of the adjacent block is p [-1, -1],. 1,15], p [-1,0],... P [-1,7].
  • the intra 8 ⁇ 8 prediction mode As described below, a low-pass filtering process is performed on adjacent pixels prior to generating a predicted value.
  • the pixel values before low-pass filtering are p [-1, -1], ..., p [-1,15], p [-1,0], ... p [-1,7],
  • the pixel values are represented as p ′ [ ⁇ 1, ⁇ 1],..., P ′ [ ⁇ 1,15], p ′ [ ⁇ 1,0],.
  • the prediction value in each intra prediction mode shown in FIG. 8 is calculated as follows using p ′ calculated in this way.
  • the predicted value pred8x8L [x, y] is calculated as in the following equation (17).
  • the predicted value pred8x8L [x, y] is calculated as in the following equation (18).
  • Mode 2 is DC Prediction
  • pred8x8L [x, y] (p '[x + y, -1] + 2 * p' [x + y + 1, -1] + p '[x + y + 2, -1] + 2)>> 2 ...
  • pred8x8L [x, y] (p '[xy-2, -1] + 2 * p' [xy-1, -1] + p '[xy, -1] + 2) >> 2 ... (25)
  • pred8x8L [x, y] (p '[-1, yx-2] + 2 * p' [-1, yx-1] + p '[-1, yx] + 2) >> 2 ... (26)
  • pred8x8L [x, y] (p '[0, -1] + 2 * p' [-1, -1] + p '[-1,0] + 2) >> 2 ... (27)
  • pred8x8L [x, y] (p '[x- (y >> 1) -1, -1] + p' [x- (y >> 1),-1] + 1) >> 1 ... (29)
  • pred8x8L [x, y] (p '[x- (y >> 1) -2, -1] + 2 * p' [x- (y >> 1) -1, -1] + p '[x -(y >> 1),-1] + 2) >> 2 ... (30)
  • pred8x8L [x, y] (p '[-1,0] + 2 * p' [-1, -1] + p '[0, -1] + 2) >> 2 ... (31)
  • pred8x8L [x, y] (p '[-1, y-2 * x-1] + 2 * p' [-1, y-2 * x-2] + p '[-1, y-2 * x-3] + 2) >> 2 ... (32)
  • pred8x8L [x, y] (p '[-1, y- (x >> 1) -1] + p' [-1, y- (x >> 1) + 1] >> 1 ... (34)
  • pred8x8L [x, y] (p '[-1, y- (x >> 1) -2] + 2 * p' [-1, y- (x >> 1) -1] + p '[- 1, y- (x >> 1)] + 2) >> 2 ... (35)
  • pred8x8L [x, y] (p '[-1,0] + 2 * p [-1, -1] + p' [0, -1] + 2) >> 2 ... (36)
  • pred8x8L [x, y] (p '[x-2 * y-1, -1] + 2 * p' [x-2 * y-2, -1] + p '[x-2 * y-3 , -1] + 2) >> 2 ... (37)
  • pred8x8L [x, y] (p '[x + (y >> 1),-1] + p' [x + (y >> 1) + 1, -1] + 1) >> 1 ... (38)
  • pred8x8L [x, y] (p '[x + (y >> 1),-1] + 2 * p' [x + (y >> 1) + 1, -1] + p '[x + (y >> 1) + 2, -1] + 2) >> 2 ... (39)
  • zHU is defined as in the following formula (40).
  • pred8x8L [x, y] (p '[-1, y + (x >> 1)] + p' [-1, y + (x >> 1) +1] + 1) >> 1 ... (41)
  • the predicted pixel value is calculated as in the following formula (44).
  • the intra prediction mode for color difference signals follows the intra 16 ⁇ 16 prediction mode as follows. However, while the intra 16 ⁇ 16 prediction mode targets 16 ⁇ 16 blocks, the intra prediction mode for color difference signals targets 8 ⁇ 8 blocks. Furthermore, it should be noted that the mode number (mode number) and the corresponding mode (mode) are different.
  • the prediction mode for color difference signals can be set independently of the mode for luminance signals.
  • Intra_chroma_pred_mode has four modes, mode 0 to mode 3, as shown in FIG.
  • Mode 0 (Mode 0) is DC Prediction, and when P (x, -1) and P (-1, y) are "available", the predicted value is calculated as in the following equation (56) Is done.
  • Mode 1 is Horizontal Prediction and is applied only when P (-1, y) is "available”.
  • the predicted value is generated as in the following formula (59).
  • Mode 2 is Vertical Prediction and is applied only when P (x, -1) is "available”.
  • the predicted value is generated as in the following equation (60).
  • Mode 3 is Plane Prediction and is applied only when P (x, -1) and P (-1, y) are available "available”.
  • the predicted value is generated as in the following formulas (61) to (66).
  • CAVLC In CAVLC, the VLC table is switched according to the generation of coefficients in the peripheral blocks (blocks) for the orthogonal transform coefficients.
  • Exp-Golomb codes As shown in FIG. 14 below are used.
  • a negative value may occur with respect to a syntax element such as a motion vector.
  • the code element is replaced with an unsigned Code ⁇ ⁇ ⁇ ⁇ Number based on the table shown in FIG. 15 below. Then, for example, an Exp-Golomb code as shown in FIG. 14 is applied.
  • a 4 ⁇ 4 block is converted into 4 ⁇ 4 two-dimensional data corresponding to each frequency component by orthogonal transform, and the block is a frame encoded or field
  • the one-dimensional orthogonal transform coefficient is inversely scanned from the high frequency to the low frequency.
  • the third step is Level encoding. That is, for T1s, only positive / negative is encoded. For other coefficients, Code Number is assigned and encoded.
  • the VLC table is switched according to the intra / inter, the quantization parameter QP, and the last encoded level.
  • FIG. 17 shows a specific example of the CAVLC operation principle.
  • encoding processing is performed in the following order.
  • CABAC CABAC
  • the first decimal place is output at that time and renormalization is performed.
  • Fig. 20 shows an outline of the CABAC encoding method.
  • the CABAC encoding method has the following characteristics.
  • the first feature is that an encoding process is performed for each context.
  • the second feature is that non-binarized data is binarized.
  • the third feature is that in the example shown in FIG. 18, the appearance probability of "0" "1" is fixed, but in reality, the probability table is initialized at the beginning of the slice, and the generated symbol It is to update sequentially according to.
  • mb_skip_flag is taken as an example, and “context” ⁇ ⁇ in CABAC encoding will be described.
  • C is the macroblock, and A and B are neighboring macroblocks adjacent thereto.
  • the function f (x) is defined as the following expression (67).
  • the context model Context (C) for C is calculated as in the following formula (68).
  • Context (C) takes 0, 1, or 2 depending on the situation of A and B. That is, even for the same mb_skip_flag, encoding processing is performed by different arithmetic encoding engines according to the value of Context (C).
  • Non-binarized data in the syntax element is converted into binary data by unary_code shown in FIG. 21 below, and arithmetic coding processing is performed.
  • an irregular table as shown in FIGS. 22, 23, and 24 is defined for each of the I slice, P slice, and B slice. ing.
  • JM Job Model
  • JM JM
  • High Complexity Mode Low Complexity Mode.
  • a cost function value for each prediction mode Mode is calculated, and a prediction mode that minimizes the cost function value is selected as the optimum mode for the block or macroblock.
  • is the entire set of candidate modes for encoding the block or macroblock
  • D is the difference energy between the decoded image and the input image when encoded in the prediction mode Mode.
  • is a Lagrange undetermined multiplier given as a function of the quantization parameter.
  • R is a total code amount when encoding is performed in the mode Mode, including orthogonal transform coefficients.
  • D is the difference energy between the predicted image and the input image, unlike the case of High Complexity Mode.
  • QP2Quant QP
  • HeaderBit is a code amount related to information belonging to Header, such as a motion vector and a mode, which does not include an orthogonal transform coefficient.
  • the image encoding apparatus 100 adaptively switches the allocation of code numbers (code_number) for each prediction mode in intra prediction by feedback processing, so that an optimal code number (corresponding to the sequence and bit rate) ( code_number) is allocated, and encoding efficiency is improved.
  • the intra prediction unit 114 performs an intra prediction process according to the AVC encoding method.
  • allocation of code numbers (code_number) to prediction modes such as Vertical, Horizontal, and DC is not fixed as in the AVC encoding method, but is adaptively performed as follows.
  • code_number code number allocation method similar to that of the AVC encoding method is set as an initial value, and based on this, the buffer storing the reference image is cleared to start the slice.
  • An IDR (Instantaneous Decoder Refresh) slice encoding process is performed to ensure that playback is possible.
  • code_number the number of each intra prediction mode is counted, and sorting is performed in descending order. As a result, the order of the code numbers (code_number) is changed so that a smaller code number (code_number) is assigned to the prediction mode having a higher appearance frequency.
  • code_number code numbers (code_number) adaptively based on the encoding result, it is possible to assign code numbers (code_number) suitable for the sequence and bit rate. It is possible to achieve higher encoding efficiency in the code stream that is the output of the encoding device 100.
  • the adaptive allocation of code numbers (code_number) based on the appearance frequency can execute the same operation principle in the decoding apparatus. That is, since it is not necessary to transmit information regarding code number (code_number) assignment with the code stream, the present technology also has an advantage that there is no reduction in encoding efficiency due to addition of such information.
  • an intra macroblock can also exist in the P slice or B slice.
  • the following operation principle is performed on an intra macroblock in a P slice or a B slice.
  • the code number (code_number) is assigned by the mode distribution as described above (a method of assigning a smaller code number to the prediction mode having a higher appearance frequency).
  • This is a method that uses assignment of a predefined code number (code_number) as employed in AVC or the like, for example.
  • This method does not require an operation for assigning code numbers and can be easily realized, but adaptive assignment is not performed as in the conventional method.
  • the second method is a method of using the code number (code_number) assigned according to the encoding result of the immediately preceding I slice without assigning the code number (code_number) based on the mode distribution in the P slice or the B slice. .
  • this method uses the allocation in the immediately preceding I slice, it does not require an operation for code number allocation and can be easily realized. Further, adaptive allocation can be performed as compared with the first method.
  • the third method is similar to the second method, but in the P slice or B slice, when an intra macroblock is generated in a predetermined ratio or more, a code number (code_number) is assigned based on the mode distribution. This method is applied to subsequent P slices or B slices.
  • the threshold is set to 50% and less than 50% of the macroblocks included in the slice in the P slice or B slice are intra macroblocks
  • the encoding result of the immediately preceding I slice If 50% or more of the macroblocks included in the slice are intra macroblocks, code numbers (code_number) are allocated based on the mode distribution, and the subsequent P Apply to slice or B slice.
  • code number (code_number) based on the mode distribution as in the I slice Make an assignment. In this way, code numbers (code_number) can be more adaptively assigned to P slices and B slices.
  • code numbers may be assigned to intra macroblocks of P slices and B slices by methods other than these three methods.
  • code_number is assigned based on the mode distribution for the immediately preceding I slice so that more appropriate assignment can be performed. However, when a scene change occurs This is not the case.
  • code_number a code number assigned based on the mode distribution for the immediately preceding I slice in a slice where a scene change has occurred. This may cause image quality degradation.
  • code_number a predetermined code number (code_number) as employed in the AVC encoding method or the like is used. ) Ensure that the allocation method (ie initial value) is applied. Also, a 1-bit flag default_ipred_code_number_allocation_flag is transmitted in each slice header included in the code stream.
  • the default_ipred_code_number_allocation_flag is flag information that specifies whether to use a preset initial value or an updated value as a code number (code_number) allocation method.
  • the image decoding apparatus that receives the code stream refers to the flag information to apply a predetermined (known) code number assignment method in the image encoding apparatus 100, or as described above, as described above. It is possible to easily grasp whether the code number assignment method adaptively updated according to the mode distribution in the slice is applied. That is, it is not necessary for the image decoding apparatus to detect a scene change or the like again in order to grasp the code number assignment method.
  • the image decoding apparatus determines that the image encoding apparatus 100 has applied the code number allocation method adaptively updated according to the mode distribution in the slice.
  • the image decoding apparatus determines that the image encoding apparatus 100 has applied a predetermined (known) code number assignment method in the slice. That is, in this case, for example, a scene change has occurred in the slice.
  • the first I slice after the scene change can be encoded by the code number (code_number) allocation method based on a distribution different from the I slice before the scene change (image decoding apparatus). Can also respond on the side). Therefore, the image coding apparatus 100 can appropriately assign code numbers so that the image quality does not deteriorate even when a scene change occurs.
  • This technique can be applied to all of the intra 4 ⁇ 4 prediction mode, the intra 8 ⁇ 8 prediction mode, the intra 16 ⁇ 16 mode, and the intra prediction mode for color difference signals. Furthermore, the present invention can be applied to an extended macroblock as shown in the cited document 1.
  • FIG. 25 is a block diagram illustrating a detailed configuration example of the code number assigning unit 121.
  • the code number assigning unit 121 includes an IDR detecting unit 151, a scene change detecting unit 152, a code number determining unit 153, a prediction mode buffer 154, and a prediction mode totaling unit 155.
  • the intra prediction unit 114 determines an intra prediction mode for each block by intra prediction processing
  • information on the prediction mode is supplied to the prediction mode buffer 154.
  • the prediction mode buffer 154 accumulates information related to the prediction mode for one slice.
  • the intra prediction mode for one slice accumulated in the prediction mode buffer 154 is supplied to the prediction mode totaling unit 155.
  • the prediction mode totaling unit 155 performs the totaling process of the prediction mode in each mode, and supplies the total number, that is, information indicating the appearance frequency of the intra prediction mode to the code number determining unit 153.
  • input image information is supplied from the screen rearrangement buffer 102 to the code number assigning unit 121.
  • the IDR detection unit 151 detects an IDR slice for the supplied input image information. As a result of the detection, the IDR detection unit 151 supplies information (IDR / non-IDR) indicating whether the processing target slice is an IDR slice to the code number determination unit 153.
  • the scene change detection unit 152 detects whether or not a scene change has occurred in the I slice (current frame) to be processed for the input image information to be supplied, and displays information regarding the presence or absence of a scene change as a code number. It supplies to the determination part 153.
  • the method for detecting a scene change is arbitrary. For example, the average value and variance (histogram) of pixel values are compared between the processed previous frame and the current frame to be processed, and if the difference is greater than a predetermined threshold, it is determined that a scene change has occurred. May be.
  • the code number determination unit 153 Based on the information indicating the appearance frequency of the intra prediction mode supplied from the totaling unit 155, a code number (code_number) corresponding to the appearance frequency of the intra prediction mode is assigned (updated) for the next I slice. .
  • the code number determination unit 153 assigns a code number (code_number) having a smaller value to a prediction mode having a higher appearance frequency.
  • the code number determination unit 153 notifies the intra prediction unit 114 of the assignment of the updated code number (code_number).
  • the code number determination unit 153 sets the value of default_ipred_code_number_allocation_flag to 0, and supplies the value to the lossless encoding unit 106.
  • the code number determination unit 153 sets a predetermined initial setting (code number assignment). Method). For example, the code number determination unit 153 sets the code allocation method employed in the AVC encoding method as an initial setting. Of course, this initial setting may be any assignment method. The code number determination unit 153 notifies the intra prediction unit 114 of the initial value of this code number (code_number) assignment.
  • the code number determination unit 153 adopts a predetermined initial setting (code number assignment method). For example, the code number determination unit 153 sets the code allocation method employed in the AVC encoding method as an initial setting. Of course, this initial setting may be any assignment method. The code number determination unit 153 notifies the intra prediction unit 114 of the initial value of this code number (code_number) assignment.
  • the code number determining unit 153 sets the value of default_ipred_code_number_allocation_flag to 1 and supplies the value to the lossless encoding unit 106.
  • default_ipred_code_number_allocation_flag is arbitrary.
  • the value when a scene change is detected may be 0, and the value when a scene change is not detected may be 1.
  • the bit length is also arbitrary, and may be, for example, 2 bits or more.
  • the presence / absence of a scene change may be represented by the presence / absence of default_ipred_code_number_allocation_flag.
  • default_ipred_code_number_allocation_flag may be transmitted also in the IDR slice.
  • the value of the flag is set to 1 as in the case where a scene change has occurred.
  • the value when a scene change occurs such as 2 and the value when no scene change occurs Different values may be used.
  • the code number determination unit 153 performs the code number (only when the intra macroblock ratio in the slice is equal to or greater than a predetermined threshold, such as 50% or more. code_number) is updated. At this time, the code number determination unit 153 supplies the latest code number (code_number) assignment according to the appearance frequency of the intra prediction mode to the intra prediction unit 114.
  • code_number assigned by the encoding result of the immediately preceding I slice is the code number (code_number) as in the second method described above. code_number) is supplied to the intra prediction unit 114.
  • the code number determination unit 153 appropriately sets the code number assignment to the intra prediction mode appropriately according to the appearance frequency of the intra prediction mode. As a result, the image encoding device 100 can generate a code stream with improved encoding efficiency.
  • 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 calculation unit 103 calculates the difference between the image rearranged by the process in step S102 and the predicted image.
  • the predicted image is supplied from the motion prediction / compensation unit 115 in the case of inter prediction and from the intra prediction unit 114 in the case of intra prediction to the calculation unit 103 via the selection unit 116.
  • the data amount of difference data is reduced compared to the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step S104 the orthogonal transform unit 104 orthogonally transforms the difference information generated by the process in step S103. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
  • orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
  • step S105 the quantization unit 105 quantizes the orthogonal transform coefficient obtained by the process in step S104.
  • step S105 The difference information quantized by the process of step S105 is locally decoded as follows. That is, in step S106, the inverse quantization unit 108 inversely quantizes the quantized orthogonal transform coefficient (also referred to as a quantization coefficient) generated by the process in step S105 with characteristics corresponding to the characteristics of the quantization unit 105. To do. In step S ⁇ b> 107, the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by the process of step S ⁇ b> 106 with characteristics corresponding to the characteristics of the orthogonal transform unit 104.
  • the quantized orthogonal transform coefficient also referred to as a quantization coefficient
  • step S108 the calculation unit 110 adds the predicted image to the locally decoded difference information, and generates a locally decoded image (an image corresponding to the input to the calculation unit 103).
  • step S109 the deblocking filter 111 filters the image generated by the process of step S108. Thereby, block distortion is removed.
  • step S110 the frame memory 112 stores an image from which block distortion has been removed by the process in step S109. It should be noted that an image that has not been filtered by the deblocking filter 111 is also supplied from the computing unit 110 and stored in the frame memory 112.
  • step S111 the intra prediction unit 114 performs an intra prediction process in the intra prediction mode.
  • step S112 the motion prediction / compensation unit 115 performs an inter motion prediction process for performing motion prediction and motion compensation in the inter prediction mode.
  • step S113 the selection unit 116 determines the optimal prediction mode based on the cost function values output from the intra prediction unit 114 and the motion prediction / compensation unit 115. That is, the selection unit 116 selects either the prediction image generated by the intra prediction unit 114 or the prediction image generated by the motion prediction / compensation unit 115.
  • the selection information indicating which prediction image has been selected is supplied to the intra prediction unit 114 and the motion prediction / compensation unit 115 which has selected the prediction image.
  • the intra prediction unit 114 supplies information indicating the optimal intra prediction mode (that is, intra prediction mode information) to the lossless encoding unit 106.
  • the motion prediction / compensation unit 115 sends information indicating the optimal inter prediction mode and, if necessary, information corresponding to the optimal inter prediction mode to the lossless encoding unit 106. Output.
  • Information according to the optimal inter prediction mode includes motion vector information, flag information, reference frame information, and the like.
  • step S114 the lossless encoding unit 106 encodes the transform coefficient quantized by the process in step S105. That is, lossless encoding such as variable length encoding or arithmetic encoding is performed on the difference image (secondary difference image in the case of inter).
  • the lossless encoding unit 106 encodes the quantization parameter calculated in step S105 and adds it to the encoded data. Further, the lossless encoding unit 106 encodes information related to the prediction mode of the prediction image selected by the process of step S113, and adds the encoded information to the encoded data obtained by encoding the difference image. That is, the lossless encoding unit 106 also encodes intra prediction mode information supplied from the intra prediction unit 114 or information according to the optimal inter prediction mode supplied from the motion prediction / compensation unit 115, and the like. Append to
  • the lossless encoding unit 106 When the default_ipred_code_number_allocation_flag is supplied from the code number determining unit 153, the lossless encoding unit 106 also encodes the flag information and adds it to the encoded data.
  • step S115 the accumulation buffer 107 accumulates the encoded data output from the lossless encoding unit 106.
  • the encoded data stored in the storage buffer 107 is appropriately read out and transmitted to the decoding side via the transmission path.
  • step S116 the rate control unit 117 controls the quantization operation rate of the quantization unit 105 based on the compressed image accumulated in the accumulation buffer 107 by the process in step S115 so that overflow or underflow does not occur. .
  • step S116 When the process of step S116 is finished, the encoding process is finished.
  • the code number assigning unit 121 assigns a code number to the intra prediction mode in step S131.
  • step S132 the intra prediction unit 114 calculates a cost function value for each mode of each intra prediction mode, such as the intra 4 ⁇ 4 prediction mode, the intra 8 ⁇ 8 prediction mode, and the intra 16 ⁇ 16 mode.
  • step S133 the intra prediction unit 114 determines an optimal mode for each intra prediction mode.
  • step S134 the intra prediction unit 114 compares the optimal modes of the respective intra prediction modes, and selects the optimal intra prediction mode. When the optimal intra prediction mode is selected, the intra prediction unit 114 ends the intra prediction process, returns the process to step S111 in FIG. 26, and executes the processes after step S112.
  • the code number assigning unit 121 determines the type of the slice to be processed in the input image information supplied from the screen rearrangement buffer 102. If the slice is an I slice, the code number assigning process for the I slice To start.
  • the IDR detection unit 151 determines whether the slice is an IDR slice from the input image information supplied from the screen rearrangement buffer 102 in step S151. If it is determined that the slice is not an IDR slice, the IDR detector 151 advances the process to step S152.
  • step S152 the scene change detection unit 152 determines whether or not a scene change has occurred in the slice (current frame) from the input image information supplied from the screen rearrangement buffer 102. When it is determined that no scene change has occurred in the current frame and the scene does not include the scene change, the scene change detection unit 152 notifies the code number determination unit 153 to that effect, and the process is stepped. Proceed to S153.
  • step S153 since no scene change has occurred in the slice, the code number determination unit 153 sets the value of default_ipred_code_number_allocation_flag to “0”, and the process proceeds to step S156.
  • step S152 If it is determined in step S152 that a scene change is included in the slice, the scene change detection unit 152 advances the process to step S154.
  • step S154 the code number determination unit 153 sets the value of default_ipred_code_number_allocation_flag to “1” to indicate that a scene change has occurred in the slice, and the process proceeds to step S155.
  • step S151 If it is determined in step S151 that the slice is an IDR slice, the IDR detection unit 151 notifies the code number determination unit 153 to that effect, and the process proceeds to step S155.
  • step S155 the code number determination unit 153 initializes the code number assignment to the default setting. For example, the code number determination unit 153 sets the code number assignment method defined in the AVC encoding method as an initial value. When the process of step S155 ends, the code number determination unit 153 advances the process to step S156.
  • step S156 the intra prediction unit 114 applies the code number assignment supplied from the code number determination unit 153, and performs intra prediction.
  • the intra prediction unit 114 adopts the default assignment method as code number assignment, and performs intra prediction. For example, when the flag is set to 0 in step S153, the intra prediction unit 114 employs the allocation method updated based on the mode distribution in the immediately preceding I frame as the code number allocation, and performs intra prediction. Do.
  • the intra prediction unit 114 supplies the intra prediction mode in each block to the prediction mode buffer 154 to be held.
  • the prediction mode totaling unit 155 refers to the data held in the prediction mode buffer 154 and totals the generated prediction modes.
  • the prediction mode totaling unit 155 supplies the totaling result (appearance frequency of the intra prediction mode) to the code number determining unit 153.
  • step S158 the code number determination unit 153 updates the code number assignment for the next slice. That is, the code number determination unit 153 assigns code numbers having smaller values to the prediction modes in descending order of appearance frequency.
  • step S159 the code number determination unit 153 determines whether or not to end the code number assignment process. If it is determined not to end the process, the process returns to step S151 to repeat the subsequent processes.
  • step S159 If it is determined in step S159 that the code number assignment process is to be terminated, the code number determination unit 153 terminates the code number assignment process, returns the process to step S131 in FIG. 27, and executes the processes in and after step S132.
  • the code number assigning unit 121 determines the type of the slice to be processed in the input image information supplied from the screen rearrangement buffer 102, and when the slice is not an I slice (P slice or B slice), The code number assignment processing of this P slice or B slice (P, B slice) is started.
  • step S171 the code number determination unit 153 initializes the code number assignment to a predetermined initial setting. For example, the code number determination unit 153 sets the code number assignment method defined in the AVC encoding method as the initial setting.
  • step S172 the intra prediction unit 114 applies the code number assignment supplied from the code number determination unit 153 to perform intra prediction.
  • the intra prediction unit 114 supplies the intra prediction mode in each block to the prediction mode buffer 154 for holding.
  • the prediction mode totaling unit 155 refers to the data held in the prediction mode buffer 154 and totals the generated prediction modes.
  • the prediction mode totaling unit 155 supplies the totaling result (appearance frequency of the intra prediction mode) to the code number determining unit 153.
  • step S174 the code number determination unit 153 determines whether or not the ratio of intra macroblocks is equal to or greater than a predetermined threshold. When it is determined that the number of intra macroblocks included in the slice is greater than or equal to a predetermined ratio, the P slice or B slice can be regarded as having characteristics similar to the I slice.
  • the code number determination unit 153 proceeds with the process to step S175, and updates the code number assignment to the intra prediction mode as in the case of the I slice.
  • the code number determination unit 153 assigns a code number having a smaller value to the prediction mode having a higher appearance frequency.
  • the code number determination unit 153 advances the processing to step S176 to assign a code number to a predetermined initial setting. Initialize to. For example, the code number determination unit 153 sets the code number assignment method defined in the AVC encoding method as the initial setting. In step S176, instead of initializing the code number assignment, the code number assignment of the immediately preceding I frame may be adopted.
  • step S175 or step S176 ends, the code number determination unit 153 determines whether or not to end the code number assignment process in step S177, and if it is determined not to end, the process returns to step S172. Then, the subsequent processing is repeated.
  • step S177 If it is determined in step S177 that the code number assignment process is to be terminated, the code number determination unit 153 terminates the code number assignment process, returns the process to step S131 in FIG. 27, and executes the processes in and after step S132.
  • a code number (code_number) for each prediction mode in intra prediction By optimally switching the allocation by feedback processing, the optimal code number (code_number) allocation according to the sequence and bit rate is realized, and the encoding efficiency of the output code stream is improved. Can do.
  • the image coding apparatus 100 since the code number assignment is initialized in the case of an IDR slice or a scene change, the image coding apparatus 100 sets the code number assignment to the appearance frequency of the prediction mode as described above. It is possible to suppress deterioration in image quality due to updating accordingly.
  • the image encoding apparatus 100 provides the image decoding apparatus with flag information indicating that a scene change has occurred, so that the image decoding apparatus can more easily recognize the occurrence of a scene change. Can do.
  • FIG. 30 is a block diagram illustrating a main configuration example of an image decoding device.
  • An image decoding device 200 shown in FIG. 30 is a decoding device corresponding to the image encoding device 100.
  • encoded data encoded by the image encoding device 100 is transmitted to the image decoding device 200 corresponding to the image encoding device 100 via a predetermined transmission path and decoded.
  • 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 deblock filter 206, a screen rearrangement buffer 207, And a D / A converter 208.
  • 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 has a code number assigning unit 221.
  • the accumulation buffer 201 accumulates the transmitted encoded data. This encoded data is encoded by the image encoding device 100.
  • the lossless decoding unit 202 decodes the encoded data read from the accumulation buffer 201 at a predetermined timing by a method corresponding to the encoding method of the lossless encoding unit 106 in FIG.
  • the lossless decoding unit 202 supplies coefficient data obtained by decoding the encoded data to the inverse quantization unit 203.
  • the lossless decoding unit 202 decodes and extracts header information included in the encoded data (code stream), and supplies it to the code number assignment unit 221. Further, the lossless decoding unit 202 decodes and extracts flag information included in the encoded data (code stream), and supplies it to the code number assignment unit 221. For example, the lossless decoding unit 202 supplies default_ipred_code_number_allocation_flag supplied from the image encoding device 100 to the code number assignment unit 221.
  • the inverse quantization unit 203 inversely quantizes the coefficient data (quantization coefficient) obtained by decoding by the lossless decoding unit 202 by a method corresponding to the quantization method of the quantization unit 105 in FIG.
  • the inverse quantization unit 203 supplies the inversely quantized coefficient data, that is, the orthogonal transform coefficient, to the inverse orthogonal transform unit 204.
  • the inverse orthogonal transform unit 204 is a method corresponding to the orthogonal transform method of the orthogonal transform unit 104 in FIG. 1, performs inverse orthogonal transform on the orthogonal transform coefficient, and converts the orthogonal transform coefficient into residual data before being orthogonally transformed by the image encoding device 100. Corresponding decoding residual data is obtained.
  • the decoded residual data 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 decoded residual data and the prediction image, and obtains decoded image data corresponding to the image data before the prediction image is subtracted by the calculation unit 103 of the image encoding device 100.
  • the arithmetic unit 205 supplies the decoded image data to the deblock filter 206.
  • the deblocking filter 206 removes the block distortion of the supplied decoded image, and then supplies it to the screen rearrangement buffer 207.
  • the screen rearrangement buffer 207 rearranges 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 image supplied from the screen rearrangement buffer 207, outputs it to a display (not shown), and displays it.
  • the output of the deblock filter 206 is further supplied to the frame memory 209.
  • the frame memory 209, the selection unit 210, the intra prediction unit 211, the motion prediction / compensation unit 212, and the selection unit 213 are the frame memory 112, the selection unit 113, the intra prediction unit 114, and the motion prediction / compensation unit of the image encoding device 100. 115 and the selection unit 116 respectively.
  • the selection unit 210 reads out the inter-processed image and the referenced image from the frame memory 209 and supplies them to the motion prediction / compensation unit 212. Further, the selection unit 210 reads an image used for intra prediction from the frame memory 209 and supplies the image to the intra prediction unit 211.
  • the intra prediction unit 211 is appropriately supplied from the lossless decoding unit 202 with information indicating the intra prediction mode obtained by decoding the header information. Based on this information, the intra prediction unit 211 generates a prediction image from the reference image acquired from the frame memory 209 and supplies the generated prediction image to the selection unit 213.
  • the intra prediction unit 211 uses the code number assigning unit 221 to perform appropriate code number assignment according to the appearance frequency of the prediction mode. That is, the intra prediction unit 211 reproduces the code number assignment method adopted by the intra prediction unit 114 of the image encoding device 100, and performs intra prediction by the same code number assignment method as the intra prediction unit 114.
  • the motion prediction / compensation unit 212 acquires information (prediction mode information, motion vector information, reference frame information, flags, various parameters, and the like) obtained by decoding the header information from the lossless decoding unit 202.
  • the motion prediction / compensation unit 212 generates a prediction image from the reference image acquired from the frame memory 209 based on the information supplied from the lossless decoding unit 202, and supplies the generated prediction image to the selection unit 213.
  • the selection unit 213 selects the prediction image generated by the motion prediction / compensation unit 212 or the intra prediction unit 211 and supplies the selected prediction image to the calculation unit 205.
  • the code number assigning unit 221 has basically the same configuration as the code number assigning unit 121 of the image encoding device 100 and performs the same processing. That is, the code number assigning unit 221 performs adaptive code number assignment according to the appearance frequency of the prediction mode, as in the case of the code number assigning unit 121.
  • the image decoding apparatus 200 can perform the same code number assignment as the image encoding apparatus 100 by itself. Therefore, since it is not necessary to have the code number assignment method information supplied from the image encoding apparatus 100, it is possible to suppress a reduction in code stream encoding efficiency.
  • FIG. 31 is a block diagram illustrating a detailed configuration example of the code number assignment unit 221.
  • the code number assignment unit 221 includes an IDR detection unit 251, a flag determination unit 252, a code number determination unit 253, a prediction mode buffer 254, and a prediction mode totaling unit 255.
  • the intra prediction mode for each block is determined by the intra prediction processing by the intra prediction unit 211, information regarding the prediction mode is supplied to the prediction mode buffer 254.
  • the prediction mode buffer 254 accumulates information related to the prediction mode for one slice.
  • the intra prediction mode for one slice accumulated here is supplied to the prediction mode totaling unit 255.
  • the prediction mode totaling unit 255 performs prediction mode totaling processing in each mode, and supplies the code number determination unit 253 with information indicating the totaling result (appearance frequency of the intra prediction mode).
  • the IDR detection unit 251 detects an IDR slice based on the header information of the code stream received from the lossless decoding unit 202 and received by the image decoding device 200.
  • the IDR detection unit 251 supplies the detection result (information indicating whether or not the slice is an IDR slice (IDR / non-IDR)) to the code number determination unit 253.
  • the flag determination unit 252 acquires default_ipred_code_number_allocation_flag supplied together with the encoded data from the image encoding device 100 and extracted by the lossless decoding unit 202, and determines the value.
  • the flag determination unit 252 notifies the code number determination unit 253 of the flag value.
  • the code number determination unit 253 predicts that the appearance frequency is high based on the aggregation result by the prediction mode aggregation unit 255
  • the code number assignment is updated so that a smaller code number is assigned to the mode.
  • the code number determination unit 253 notifies the intra prediction unit 211 of the updated code number assignment.
  • the code number determination unit 253 sets (initializes) the code number assignment to a predetermined initial value. This initial setting is common to the image encoding device 100. The code number determination unit 253 notifies the intra prediction unit 211 that the code number assignment has been initialized.
  • the code number determination unit 253 based on the result of counting by the prediction mode counting unit 255, as in the case of the I slice, if there are more than a predetermined threshold of intra macroblocks. Thus, the code number assignment is updated so that a code number having a smaller value is assigned to the prediction mode having a high appearance frequency.
  • the code number determination unit 253 notifies the intra prediction unit 211 of the updated code number assignment.
  • the code number determination unit 253 assigns the code number in the same manner as the immediately preceding I slice.
  • the code number assignment may be initialized.
  • the code number determination unit 253 notifies the intra prediction unit 211 of the code number assignment.
  • step S201 the accumulation buffer 201 accumulates the transmitted encoded data.
  • step S202 the lossless decoding unit 202 decodes the encoded data supplied from the accumulation buffer 201. That is, the I picture, P picture, and B picture encoded by the lossless encoding unit 106 in FIG. 1 are decoded.
  • motion vector information reference frame information
  • prediction mode information intra prediction mode or inter prediction mode
  • information such as various flags and quantization parameters
  • the prediction mode information is intra prediction mode information
  • the prediction mode information is supplied to the intra prediction unit 211.
  • the prediction mode information is inter prediction mode information
  • motion vector information corresponding to the prediction mode information is supplied to the motion prediction / compensation unit 212.
  • step S203 the inverse quantization unit 203 performs inverse quantization on the quantized orthogonal transform coefficient obtained by decoding by the lossless decoding unit 202 by a method corresponding to the quantization processing by the quantization unit 105 in FIG.
  • step S204 the inverse orthogonal transform unit 204 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by inverse quantization by the inverse quantization unit 203 by a method corresponding to the orthogonal transform processing by the orthogonal transform unit 104 in FIG.
  • the difference information corresponding to the input of the orthogonal transform unit 104 output of the calculation unit 103) in FIG. 1 is decoded.
  • step S205 the calculation unit 205 adds the predicted image to the difference information obtained by the process in step S204. As a result, the original image data is decoded.
  • step S206 the deblocking filter 206 appropriately filters the decoded image obtained by the process in step S205. Thereby, block distortion is appropriately removed from the decoded image.
  • step S207 the frame memory 209 stores the filtered decoded image.
  • step S208 the intra prediction unit 211 or the motion prediction / compensation unit 212 performs image prediction processing corresponding to the prediction mode information supplied from the lossless decoding unit 202, respectively.
  • the intra prediction unit 211 performs an intra prediction process in the intra prediction mode.
  • the motion prediction / compensation unit 212 performs motion prediction processing in the inter prediction mode.
  • step S209 the selection unit 213 selects a predicted image. That is, the prediction unit 213 is supplied with the prediction image generated by the intra prediction unit 211 or the prediction image generated by the motion prediction / compensation unit 212. The selection unit 213 selects the side to which the predicted image is supplied, and supplies the predicted image to the calculation unit 205. This predicted image is added to the difference information by the process of step S205.
  • step S210 the screen rearrangement buffer 207 rearranges the frames of the decoded image data. That is, the order of frames of the decoded image data rearranged for encoding by the screen rearrangement buffer 102 (FIG. 1) of the image encoding device 100 is rearranged to the original display order.
  • step S211 the D / A converter 208 D / A converts the decoded image data in which the frames are rearranged in the screen rearrangement buffer 207.
  • the decoded image data is output to a display (not shown), and the image is displayed.
  • the lossless decoding unit 202 determines whether the encoded data is intra-encoded based on the decoded prediction mode information in step S231.
  • the lossless decoding unit 202 advances the processing to step S232.
  • step S232 the code number assigning unit 221 assigns a code number to the intra prediction mode.
  • step S233 the intra prediction unit 211 obtains the intra prediction mode from the lossless decoding unit 202.
  • step S234 the intra prediction unit 211 generates an intra predicted image.
  • the intra prediction unit 211 supplies the generated prediction image to the calculation unit 205 via the selection unit 213, ends the prediction processing, returns the processing to step S208 in FIG. 32, and performs step S209. The subsequent processing is executed.
  • step S231 in FIG. 33 when it is determined in step S231 in FIG. 33 that inter coding is performed, the lossless decoding unit 202 advances the processing to step S234.
  • step S235 the motion prediction / compensation unit 212 acquires information necessary for generating a predicted image, such as a motion prediction mode, a reference frame, and differential motion vector information, from the lossless decoding unit 282.
  • step S236 the motion prediction / compensation unit 212 decodes the motion vector information in the designated mode.
  • step S237 the motion prediction / compensation unit 212 generates a predicted image from the reference image using the decoded motion vector information.
  • the motion prediction / compensation unit 212 supplies the generated predicted image to the calculation unit 205 via the selection unit 213, ends the prediction process, and returns the process to step S208 in FIG. The process after step S209 is executed.
  • step S251 the IDR detection unit 251 determines whether or not the processing target slice is an IDR slice. If it is determined that the slice is not an IDR slice, the IDR detection unit 251 advances the process to step S252.
  • step S252 the flag determination unit 252 acquires flag information default_ipred_code_number_allocation_flag from the lossless decoding unit 202.
  • step S253 the flag determination unit 252 determines whether the value of default_ipred_code_number_allocation_flag is 1. When it is determined that the value of default_ipred_code_number_allocation_flag is 0, the flag determination unit 252 advances the process to step S255.
  • step S253 If it is determined in step S253 that the value of default_ipred_code_number_allocation_flag is 1, the flag determination unit 252 advances the processing to step S254.
  • step S251 when it is determined in step S251 that the processing target slice is an IDR slice, the IDR detection unit 251 advances the processing to step S254.
  • step S254 the code number determination unit 253 initializes code number assignment to the slice.
  • the code number determination unit 253 advances the process to step S255.
  • step S255 the intra prediction unit 211 performs intra prediction using the code number assignment set by the code number assignment unit 221.
  • the intra prediction unit 211 supplies the intra prediction mode in each block to the prediction mode buffer 254 for accumulation.
  • step S256 the prediction mode totaling unit 255 totals the generated prediction modes for one frame.
  • step S257 the code number determination unit 253 updates the code number assignment according to the result of aggregation (appearance frequency for each prediction mode). That is, the code number determination unit 253 updates the code number assignment so that a code number having a smaller value is assigned to the prediction mode having a higher appearance frequency.
  • step S258 the code number assigning unit 221 determines whether or not to end the code number assigning process for the I slice. If it is determined not to end, the process returns to step S251, and the subsequent processes are repeated. If it is determined in step S258 that the code number assignment process for the I slice is to be terminated, the code number assignment unit 221 terminates the code number assignment process for the I slice, returns the process to step S232 in FIG. 33, and thereafter. Execute the process.
  • the code number assigning unit 221 sets the code number (code_number) only when the ratio of the intra macroblock in the slice is equal to or higher than a predetermined threshold, for example, 50% or higher. Update.
  • the image decoding apparatus 200 can assign code numbers as in the case of the image encoding apparatus 100. That is, the image decoding apparatus 200 can reproduce the code number assignment of the image encoding apparatus 100 without having to supply information regarding the code number assignment method adopted from the image encoding apparatus 100. Therefore, it is possible to suppress a reduction in encoding efficiency of encoded data.
  • the code number assignment described above may be applied not only to luminance signals but also to intra prediction of color difference signals.
  • the adaptive code number assignment based on the appearance frequency of the prediction mode can be performed as described above when applied to the color difference signal as in the case of the luminance signal.
  • a 16 ⁇ 16 or less macroblock (hereinafter referred to as a normal macroblock) defined in a standard such as an AVC encoding method, but also in Non-Patent Document 1, for example, as shown in FIG. , 32 ⁇ 32 pixels, 64 ⁇ 64 pixels, etc., have been proposed with expanded macroblocks (hereinafter referred to as “enhanced macroblocks”).
  • An adaptive code number assignment can be applied. In that case, the same method as described above can be applied.
  • code numbers may be assigned independently for each macroblock size. For example, a 4 ⁇ 4 macro block, an 8 ⁇ 8 macro block, a 16 ⁇ 16 macro block, a 32 ⁇ 32 macro block, a 64 ⁇ 64 macro block, and a color difference signal macro block are mutually independent. Then, code numbers may be assigned. In this way, more adaptive code number assignment can be realized.
  • default_ipred_code_number_allocation_flag may be prepared for each macroblock size.
  • adaptive code numbers are assigned only to extended macroblocks as described above, and for normal macroblocks, a predefined assignment method is used as in the AVC encoding method. You may make it apply.
  • the adaptive code number assignment described above is applied only to some intra macroblocks, and the fixed assignment method is applied to other intra macroblocks. Also good.
  • the lower limit of the block size to which the adaptive code number allocation method is applied is arbitrary. For example, it may be applied to a macroblock of 8 ⁇ 8 or more, or may be applied to a macroblock of 64 ⁇ 64 or more. You may make it do. Further, whether to apply the adaptive code number assignment method may be determined based on any index other than the block size.
  • flag information indicating that may be added to the header of a block to which an adaptive code number assignment method is applied In that case, the image decoding apparatus 200 can more easily identify whether the code number assignment method of each macroblock is fixed based on the flag information.
  • code number assignment set for an IDR slice or the like is arbitrary, and an assignment method employed in an AVC encoding method or the like may be applied, or set by a user You may make it apply the allocation method.
  • information indicating the user setting (how to allocate a code number set by the user) so that the image decoding apparatus 200 can grasp the allocation method (for example, prediction mode) Table information that associates a code number with the code number) may be supplied from the image encoding device 100 to the image decoding device 200.
  • flag information indicating whether the code number assignment method is adaptively updated, initial setting, or user setting is sent from the image encoding device 100 to the image decoding device 200. You may make it supply to. In this case, the image decoding apparatus 200 can more easily grasp the code number assignment method employed in the image encoding apparatus 100.
  • the aggregation of the appearance prediction mode may be omitted.
  • the application of the present technology has been applied to the intra prediction mode in the intra macroblock.
  • the same method may be applied to other syntax elements such as the motion compensation partition mode.
  • the image encoding device that performs encoding according to the AVC method and the image decoding device that performs decoding according to the AVC method have been described as examples.
  • the scope of application of the present technology is not limited thereto.
  • the present invention can be applied to any image encoding apparatus and image decoding apparatus that perform encoding processing based on a block having a hierarchical structure as shown in FIG.
  • 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.
  • the recording medium is distributed to distribute the program to the user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which the 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, which is
  • 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).
  • image encoding device and image decoding device can be applied to any electronic device. Examples thereof will be described below.
  • FIG. 37 is a block diagram illustrating a main configuration example of a television receiver using the image decoding device 200.
  • the television receiver 1000 shown in FIG. 37 includes a terrestrial tuner 1013, a video decoder 1015, a video signal processing circuit 1018, a graphic generation circuit 1019, a panel drive circuit 1020, and a display panel 1021.
  • the terrestrial tuner 1013 receives a broadcast wave signal of terrestrial analog broadcast via an antenna, demodulates it, acquires a video signal, and supplies it to the video decoder 1015.
  • the video decoder 1015 performs a decoding process on the video signal supplied from the terrestrial tuner 1013 and supplies the obtained digital component signal to the video signal processing circuit 1018.
  • the video signal processing circuit 1018 performs predetermined processing such as noise removal on the video data supplied from the video decoder 1015 and supplies the obtained video data to the graphic generation circuit 1019.
  • the graphic generation circuit 1019 generates video data of a program to be displayed on the display panel 1021, image data by processing based on an application supplied via a network, and the generated video data and image data to the panel drive circuit 1020. Supply.
  • the graphic generation circuit 1019 generates video data (graphics) for displaying a screen used by the user for selecting an item and superimposing it on the video data of the program.
  • a process of supplying data to the panel drive circuit 1020 is also appropriately performed.
  • the panel drive circuit 1020 drives the display panel 1021 based on the data supplied from the graphic generation circuit 1019, and causes the display panel 1021 to display the video of the program and the various screens described above.
  • the display panel 1021 is composed of an LCD (Liquid Crystal Display) or the like, and displays a program video or the like according to control by the panel drive circuit 1020.
  • LCD Liquid Crystal Display
  • the television receiver 1000 also includes an audio A / D (Analog / Digital) conversion circuit 1014, an audio signal processing circuit 1022, an echo cancellation / audio synthesis circuit 1023, an audio amplification circuit 1024, and a speaker 1025.
  • an audio A / D (Analog / Digital) conversion circuit 1014 An audio signal processing circuit 1022, an echo cancellation / audio synthesis circuit 1023, an audio amplification circuit 1024, and a speaker 1025.
  • the terrestrial tuner 1013 acquires not only the video signal but also the audio signal by demodulating the received broadcast wave signal.
  • the terrestrial tuner 1013 supplies the acquired audio signal to the audio A / D conversion circuit 1014.
  • the audio A / D conversion circuit 1014 performs A / D conversion processing on the audio signal supplied from the terrestrial tuner 1013, and supplies the obtained digital audio signal to the audio signal processing circuit 1022.
  • the audio signal processing circuit 1022 performs predetermined processing such as noise removal on the audio data supplied from the audio A / D conversion circuit 1014 and supplies the obtained audio data to the echo cancellation / audio synthesis circuit 1023.
  • the echo cancellation / voice synthesis circuit 1023 supplies the voice data supplied from the voice signal processing circuit 1022 to the voice amplification circuit 1024.
  • the audio amplification circuit 1024 performs D / A conversion processing and amplification processing on the audio data supplied from the echo cancellation / audio synthesis circuit 1023, adjusts to a predetermined volume, and then outputs the audio from the speaker 1025.
  • the television receiver 1000 also has a digital tuner 1016 and an MPEG decoder 1017.
  • the digital tuner 1016 receives a broadcast wave signal of digital broadcasting (terrestrial digital broadcasting, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcasting) via an antenna, demodulates, and MPEG-TS (Moving Picture Experts Group). -Transport Stream) and supply it to the MPEG decoder 1017.
  • digital broadcasting terrestrial digital broadcasting, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcasting
  • MPEG-TS Motion Picture Experts Group
  • the MPEG decoder 1017 releases the scramble applied to the MPEG-TS supplied from the digital tuner 1016 and extracts a stream including program data to be played (viewing target).
  • the MPEG decoder 1017 decodes the audio packet constituting the extracted stream, supplies the obtained audio data to the audio signal processing circuit 1022, decodes the video packet constituting the stream, and converts the obtained video data into the video This is supplied to the signal processing circuit 1018.
  • the MPEG decoder 1017 supplies EPG (Electronic Program Guide) data extracted from the MPEG-TS to the CPU 1032 via a path (not shown).
  • EPG Electronic Program Guide
  • the television receiver 1000 uses the above-described image decoding device 200 as the MPEG decoder 1017 for decoding video packets in this way.
  • MPEG-TS transmitted from a broadcasting station or the like is encoded by the image encoding device 100.
  • the MPEG decoder 1017 reproduces the code number allocation method employed in the image encoding apparatus 100 by performing adaptive code number allocation according to the appearance frequency of the prediction mode. To do. Therefore, the MPEG decoder 1017 can appropriately decode the encoded data generated by the image encoding apparatus 100 by assigning a code number having a smaller value to a prediction mode having a higher appearance frequency. Thereby, the MPEG decoder 1017 can improve the encoding efficiency of encoded data.
  • the video data supplied from the MPEG decoder 1017 is subjected to predetermined processing in the video signal processing circuit 1018 as in the case of the video data supplied from the video decoder 1015, and the generated video data in the graphic generation circuit 1019. Are appropriately superimposed and supplied to the display panel 1021 via the panel drive circuit 1020, and the image is displayed.
  • the audio data supplied from the MPEG decoder 1017 is subjected to predetermined processing in the audio signal processing circuit 1022 as in the case of the audio data supplied from the audio A / D conversion circuit 1014, and an echo cancellation / audio synthesis circuit 1023.
  • predetermined processing in the audio signal processing circuit 1022 as in the case of the audio data supplied from the audio A / D conversion circuit 1014, and an echo cancellation / audio synthesis circuit 1023.
  • sound adjusted to a predetermined volume is output from the speaker 1025.
  • the television receiver 1000 also includes a microphone 1026 and an A / D conversion circuit 1027.
  • the A / D conversion circuit 1027 receives a user's voice signal captured by a microphone 1026 provided in the television receiver 1000 for voice conversation, and performs A / D conversion processing on the received voice signal.
  • the obtained digital audio data is supplied to the echo cancellation / audio synthesis circuit 1023.
  • the echo cancellation / audio synthesis circuit 1023 performs echo cancellation on the audio data of the user A.
  • the voice data obtained by combining with other voice data is output from the speaker 1025 via the voice amplifier circuit 1024.
  • the television receiver 1000 also includes an audio codec 1028, an internal bus 1029, an SDRAM (Synchronous Dynamic Random Access Memory) 1030, a flash memory 1031, a CPU 1032, a USB (Universal Serial Bus) I / F 1033, and a network I / F 1034.
  • an audio codec 1028 an internal bus 1029
  • an SDRAM Serial Dynamic Random Access Memory
  • flash memory 1031
  • CPU central processing unit
  • USB Universal Serial Bus
  • the A / D conversion circuit 1027 receives a user's voice signal captured by a microphone 1026 provided in the television receiver 1000 for voice conversation, and performs A / D conversion processing on the received voice signal.
  • the obtained digital audio data is supplied to the audio codec 1028.
  • the audio codec 1028 converts the audio data supplied from the A / D conversion circuit 1027 into data of a predetermined format for transmission via the network, and supplies the data to the network I / F 1034 via the internal bus 1029.
  • the network I / F 1034 is connected to the network via a cable attached to the network terminal 1035.
  • the network I / F 1034 transmits the audio data supplied from the audio codec 1028 to another device connected to the network.
  • the network I / F 1034 receives, for example, audio data transmitted from another device connected via the network via the network terminal 1035, and receives the audio data via the internal bus 1029 to the audio codec 1028. Supply.
  • the voice codec 1028 converts the voice data supplied from the network I / F 1034 into data of a predetermined format and supplies it to the echo cancellation / voice synthesis circuit 1023.
  • the echo cancellation / speech synthesis circuit 1023 performs echo cancellation on the speech data supplied from the speech codec 1028 and synthesizes speech data obtained by synthesizing with other speech data via the speech amplification circuit 1024. And output from the speaker 1025.
  • the SDRAM 1030 stores various data necessary for the CPU 1032 to perform processing.
  • the flash memory 1031 stores a program executed by the CPU 1032.
  • the program stored in the flash memory 1031 is read by the CPU 1032 at a predetermined timing such as when the television receiver 1000 is activated.
  • the flash memory 1031 also stores EPG data acquired via digital broadcasting, data acquired from a predetermined server via a network, and the like.
  • the flash memory 1031 stores MPEG-TS including content data acquired from a predetermined server via a network under the control of the CPU 1032.
  • the flash memory 1031 supplies the MPEG-TS to the MPEG decoder 1017 via the internal bus 1029, for example, under the control of the CPU 1032.
  • the MPEG decoder 1017 processes the MPEG-TS as in the case of MPEG-TS supplied from the digital tuner 1016. In this way, the television receiver 1000 receives content data including video and audio via the network, decodes it using the MPEG decoder 1017, displays the video, and outputs audio. Can do.
  • the television receiver 1000 also includes a light receiving unit 1037 that receives an infrared signal transmitted from the remote controller 1051.
  • the light receiving unit 1037 receives infrared rays from the remote controller 1051 and outputs a control code representing the contents of the user operation obtained by demodulation to the CPU 1032.
  • the CPU 1032 executes a program stored in the flash memory 1031 and controls the entire operation of the television receiver 1000 according to a control code supplied from the light receiving unit 1037.
  • the CPU 1032 and each part of the television receiver 1000 are connected via a path (not shown).
  • the USB I / F 1033 transmits / receives data to / from an external device of the television receiver 1000 connected via a USB cable attached to the USB terminal 1036.
  • the network I / F 1034 is connected to the network via a cable attached to the network terminal 1035, and also transmits / receives data other than audio data to / from various devices connected to the network.
  • the television receiver 1000 can improve the encoding efficiency of broadcast wave signals received via an antenna and content data acquired via a network.
  • FIG. 38 is a block diagram illustrating a main configuration example of a mobile phone using the image encoding device 100 and the image decoding device 200.
  • a mobile phone 1100 shown in FIG. 38 has a main control unit 1150, a power supply circuit unit 1151, an operation input control unit 1152, an image encoder 1153, a camera I / F unit 1154, an LCD control, which are configured to control each unit in an integrated manner.
  • Section 1155, image decoder 1156, demultiplexing section 1157, recording / reproducing section 1162, modulation / demodulation circuit section 1158, and audio codec 1159 are connected to each other via a bus 1160.
  • the mobile phone 1100 also includes operation keys 1119, a CCD (Charge Coupled Devices) camera 1116, a liquid crystal display 1118, a storage unit 1123, a transmission / reception circuit unit 1163, an antenna 1114, a microphone (microphone) 1121, and a speaker 1117.
  • a CCD Charge Coupled Devices
  • the power supply circuit unit 1151 starts up the mobile phone 1100 in an operable state by supplying power from the battery pack to each unit.
  • the mobile phone 1100 transmits and receives voice signals, e-mails and image data, and images in various modes such as a voice call mode and a data communication mode based on the control of the main control unit 1150 including a CPU, a ROM, a RAM, and the like. Various operations such as photographing or data recording are performed.
  • the mobile phone 1100 converts the voice signal collected by the microphone (microphone) 1121 into digital voice data by the voice codec 1159, performs spectrum spread processing by the modulation / demodulation circuit unit 1158, and transmits and receives
  • the unit 1163 performs digital / analog conversion processing and frequency conversion processing.
  • the cellular phone 1100 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 1114.
  • the transmission signal (voice signal) transmitted to the base station is supplied to the mobile phone of the other party via the public telephone line network.
  • the cellular phone 1100 in the voice call mode, the cellular phone 1100 amplifies the received signal received by the antenna 1114 by the transmission / reception circuit unit 1163, further performs frequency conversion processing and analog-digital conversion processing, and performs spectrum despreading processing by the modulation / demodulation circuit unit 1158. Then, the audio codec 1159 converts it into an analog audio signal. The cellular phone 1100 outputs an analog audio signal obtained by the conversion from the speaker 1117.
  • the mobile phone 1100 when transmitting an e-mail in the data communication mode, receives the text data of the e-mail input by operating the operation key 1119 in the operation input control unit 1152.
  • the cellular phone 1100 processes the text data in the main control unit 1150 and displays it on the liquid crystal display 1118 as an image via the LCD control unit 1155.
  • the mobile phone 1100 generates e-mail data in the main control unit 1150 based on text data received by the operation input control unit 1152, user instructions, and the like.
  • the cellular phone 1100 performs spread spectrum processing on the e-mail data by the modulation / demodulation circuit unit 1158 and digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 1163.
  • the cellular phone 1100 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 1114.
  • the transmission signal (e-mail) transmitted to the base station is supplied to a predetermined destination via a network and a mail server.
  • the mobile phone 1100 when receiving an e-mail in the data communication mode, receives and amplifies the signal transmitted from the base station by the transmission / reception circuit unit 1163 via the antenna 1114, and further performs frequency conversion processing and Analog-digital conversion processing.
  • the cellular phone 1100 performs spectrum despreading processing on the received signal by the modulation / demodulation circuit unit 1158 to restore the original e-mail data.
  • the cellular phone 1100 displays the restored e-mail data on the liquid crystal display 1118 via the LCD control unit 1155.
  • the mobile phone 1100 can also record (store) the received e-mail data in the storage unit 1123 via the recording / playback unit 1162.
  • the storage unit 1123 is an arbitrary rewritable storage medium.
  • the storage unit 1123 may be, for example, a semiconductor memory such as a RAM or a built-in flash memory, a hard disk, or a removable disk such as a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card. It may be media. Of course, other than these may be used.
  • the mobile phone 1100 when transmitting image data in the data communication mode, the mobile phone 1100 generates image data with the CCD camera 1116 by imaging.
  • the CCD camera 1116 has an optical device such as a lens and a diaphragm and a CCD as a photoelectric conversion element, images a subject, converts the intensity of received light into an electrical signal, and generates image data of the subject image.
  • the CCD camera 1116 encodes the image data with the image encoder 1153 via the camera I / F unit 1154 and converts the encoded image data into encoded image data.
  • the cellular phone 1100 uses the above-described image encoding device 100 as the image encoder 1153 that performs such processing. Similar to the case of the image encoding device 100, the image encoder 1153 performs adaptive code number assignment according to the appearance frequency of the prediction mode. That is, the image encoder 1153 can assign a code number having a smaller value to a prediction mode having a higher appearance frequency in the immediately preceding slice (frame) during intra prediction. Accordingly, the image encoder 1153 can improve the encoding efficiency of the encoded data.
  • the cellular phone 1100 simultaneously converts the audio collected by the microphone (microphone) 1121 during imaging by the CCD camera 1116 to analog-digital conversion by the audio codec 1159 and further encodes it.
  • the cellular phone 1100 multiplexes the encoded image data supplied from the image encoder 1153 and the digital audio data supplied from the audio codec 1159 in a demultiplexing unit 1157.
  • the cellular phone 1100 performs spread spectrum processing on the multiplexed data obtained as a result by the modulation / demodulation circuit unit 1158 and digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 1163.
  • the cellular phone 1100 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 1114.
  • a transmission signal (image data) transmitted to the base station is supplied to a communication partner via a network or the like.
  • the mobile phone 1100 can also display the image data generated by the CCD camera 1116 on the liquid crystal display 1118 via the LCD control unit 1155 without using the image encoder 1153.
  • the mobile phone 1100 when receiving data of a moving image file linked to a simple homepage or the like, transmits a signal transmitted from the base station to the transmission / reception circuit unit 1163 via the antenna 1114. Receive, amplify, and further perform frequency conversion processing and analog-digital conversion processing.
  • the cellular phone 1100 restores the original multiplexed data by subjecting the received signal to spectrum despreading processing by the modulation / demodulation circuit unit 1158.
  • the demultiplexing unit 1157 separates the multiplexed data and divides it into encoded image data and audio data.
  • the cellular phone 1100 generates reproduced moving image data by decoding the encoded image data in the image decoder 1156, and displays it on the liquid crystal display 1118 via the LCD control unit 1155. Thereby, for example, the moving image data included in the moving image file linked to the simple homepage is displayed on the liquid crystal display 1118.
  • the cellular phone 1100 uses the above-described image decoding device 200 as the image decoder 1156 that performs such processing. That is, the image decoder 1156 performs the code number assignment method employed in the image coding apparatus 100 by performing adaptive code number assignment according to the appearance frequency of the prediction mode, as in the case of the image decoding apparatus 200. To reproduce. Therefore, the image decoder 1156 can appropriately decode the encoded data generated by the image encoding device 100 by assigning a code number having a smaller value to a prediction mode having a higher appearance frequency. Thereby, the image decoder 1156 can improve the encoding efficiency of encoded data.
  • the cellular phone 1100 simultaneously converts the digital audio data into an analog audio signal in the audio codec 1159 and outputs it from the speaker 1117. Thereby, for example, audio data included in the moving image file linked to the simple homepage is reproduced.
  • the mobile phone 1100 can record (store) the data linked to the received simplified home page in the storage unit 1123 via the recording / playback unit 1162. .
  • the mobile phone 1100 can analyze the two-dimensional code obtained by the CCD camera 1116 and captured by the main control unit 1150 and obtain information recorded in the two-dimensional code.
  • the cellular phone 1100 can communicate with an external device by infrared rays at the infrared communication unit 1181.
  • the cellular phone 1100 improves the encoding efficiency of the encoded data, for example, when encoding and transmitting the image data generated by the CCD camera 1116. Can do.
  • the cellular phone 1100 can improve the encoding efficiency of moving image file data (encoded data) linked to, for example, a simple homepage by using the image decoding device 200 as the image decoder 1156.
  • the cellular phone 1100 uses the CCD camera 1116.
  • an image sensor CMOS image sensor
  • CMOS Complementary Metal Metal Oxide Semiconductor
  • the mobile phone 1100 can capture an image of a subject and generate image data of the image of the subject as in the case where the CCD camera 1116 is used.
  • the mobile phone 1100 has been described.
  • a PDA Personal Digital Assistant
  • a smartphone an UMPC (Ultra Mobile Personal Computer)
  • a netbook a notebook personal computer, etc.
  • the image encoding device 100 and the image decoding device 200 can be applied to any device as in the case of the mobile phone 1100.
  • FIG. 39 is a block diagram illustrating a main configuration example of a hard disk recorder using the image encoding device 100 and the image decoding device 200.
  • a hard disk recorder (HDD recorder) 1200 shown in FIG. 39 receives audio data and video data of a broadcast program included in a broadcast wave signal (television signal) transmitted from a satellite or a ground antenna received by a tuner.
  • This is an apparatus for storing in a built-in hard disk and providing the stored data to the user at a timing according to the user's instruction.
  • the hard disk recorder 1200 can extract, for example, audio data and video data from broadcast wave signals, appropriately decode them, and store them in a built-in hard disk.
  • the hard disk recorder 1200 can also acquire audio data and video data from other devices via a network, for example, decode them as appropriate, and store them in a built-in hard disk.
  • the hard disk recorder 1200 decodes audio data and video data recorded on the built-in hard disk, supplies them to the monitor 1260, displays the image on the screen of the monitor 1260, and displays the sound from the speaker of the monitor 1260. Can be output. Further, the hard disk recorder 1200 decodes audio data and video data extracted from a broadcast wave signal acquired via a tuner, or audio data and video data acquired from another device via a network, for example. The image can be supplied to the monitor 1260, the image can be displayed on the screen of the monitor 1260, and the sound can be output from the speaker of the monitor 1260.
  • the hard disk recorder 1200 includes a receiving unit 1221, a demodulating unit 1222, a demultiplexer 1223, an audio decoder 1224, a video decoder 1225, and a recorder control unit 1226.
  • the hard disk recorder 1200 further includes an EPG data memory 1227, a program memory 1228, a work memory 1229, a display converter 1230, an OSD (On-Screen Display) control unit 1231, a display control unit 1232, a recording / playback unit 1233, a D / A converter 1234, And a communication unit 1235.
  • the display converter 1230 has a video encoder 1241.
  • the recording / playback unit 1233 includes an encoder 1251 and a decoder 1252.
  • the receiving unit 1221 receives an infrared signal from a remote controller (not shown), converts it into an electrical signal, and outputs it to the recorder control unit 1226.
  • the recorder control unit 1226 is constituted by, for example, a microprocessor and executes various processes according to a program stored in the program memory 1228. At this time, the recorder control unit 1226 uses the work memory 1229 as necessary.
  • the communication unit 1235 is connected to a network and performs communication processing with other devices via the network.
  • the communication unit 1235 is controlled by the recorder control unit 1226, communicates with a tuner (not shown), and mainly outputs a channel selection control signal to the tuner.
  • the demodulator 1222 demodulates the signal supplied from the tuner and outputs the demodulated signal to the demultiplexer 1223.
  • the demultiplexer 1223 separates the data supplied from the demodulation unit 1222 into audio data, video data, and EPG data, and outputs them to the audio decoder 1224, the video decoder 1225, or the recorder control unit 1226, respectively.
  • the audio decoder 1224 decodes the input audio data and outputs it to the recording / playback unit 1233.
  • the video decoder 1225 decodes the input video data and outputs it to the display converter 1230.
  • the recorder control unit 1226 supplies the input EPG data to the EPG data memory 1227 for storage.
  • the display converter 1230 encodes the video data supplied from the video decoder 1225 or the recorder control unit 1226 into, for example, NTSC (National Television Standards Committee) video data using the video encoder 1241, and outputs the encoded video data to the recording / playback unit 1233.
  • the display converter 1230 converts the screen size of the video data supplied from the video decoder 1225 or the recorder control unit 1226 into a size corresponding to the size of the monitor 1260, and converts the video data to NTSC video data by the video encoder 1241. Then, it is converted into an analog signal and output to the display control unit 1232.
  • the display control unit 1232 Under the control of the recorder control unit 1226, the display control unit 1232 superimposes the OSD signal output by the OSD (On Screen Display) control unit 1231 on the video signal input from the display converter 1230, and displays it on the monitor 1260 display. Output and display.
  • OSD On Screen Display
  • the monitor 1260 is also supplied with the audio data output from the audio decoder 1224 after being converted into an analog signal by the D / A converter 1234.
  • the monitor 1260 outputs this audio signal from a built-in speaker.
  • the recording / playback unit 1233 has a hard disk as a storage medium for recording video data, audio data, and the like.
  • the recording / playback unit 1233 encodes the audio data supplied from the audio decoder 1224 by the encoder 1251, for example.
  • the recording / playback unit 1233 encodes the video data supplied from the video encoder 1241 of the display converter 1230 by the encoder 1251.
  • the recording / playback unit 1233 combines the encoded data of the audio data and the encoded data of the video data by a multiplexer.
  • the recording / playback unit 1233 amplifies the synthesized data by channel coding, and writes the data to the hard disk via the recording head.
  • the recording / playback unit 1233 plays back the data recorded on the hard disk via the playback head, amplifies it, and separates it into audio data and video data by a demultiplexer.
  • the recording / playback unit 1233 uses the decoder 1252 to decode the audio data and the video data.
  • the recording / playback unit 1233 performs D / A conversion on the decoded audio data and outputs it to the speaker of the monitor 1260.
  • the recording / playback unit 1233 performs D / A conversion on the decoded video data and outputs it to the display of the monitor 1260.
  • the recorder control unit 1226 reads the latest EPG data from the EPG data memory 1227 based on the user instruction indicated by the infrared signal from the remote controller received via the receiving unit 1221, and supplies it to the OSD control unit 1231. To do.
  • the OSD control unit 1231 generates image data corresponding to the input EPG data, and outputs the image data to the display control unit 1232.
  • the display control unit 1232 outputs the video data input from the OSD control unit 1231 to the display of the monitor 1260 for display. As a result, an EPG (electronic program guide) is displayed on the display of the monitor 1260.
  • the hard disk recorder 1200 can acquire various data such as video data, audio data, or EPG data supplied from other devices via a network such as the Internet.
  • the communication unit 1235 is controlled by the recorder control unit 1226, acquires encoded data such as video data, audio data, and EPG data transmitted from another device via the network, and supplies the encoded data to the recorder control unit 1226. To do.
  • the recorder control unit 1226 supplies the encoded data of the acquired video data and audio data to the recording / playback unit 1233 and stores it in the hard disk.
  • the recorder control unit 1226 and the recording / playback unit 1233 may perform processing such as re-encoding as necessary.
  • the recorder control unit 1226 decodes the acquired encoded data of video data and audio data, and supplies the obtained video data to the display converter 1230. Similar to the video data supplied from the video decoder 1225, the display converter 1230 processes the video data supplied from the recorder control unit 1226, supplies the processed video data to the monitor 1260 via the display control unit 1232, and displays the image. .
  • the recorder control unit 1226 may supply the decoded audio data to the monitor 1260 via the D / A converter 1234 and output the sound from the speaker.
  • the recorder control unit 1226 decodes the encoded data of the acquired EPG data and supplies the decoded EPG data to the EPG data memory 1227.
  • the hard disk recorder 1200 as described above uses the image decoding device 200 as a decoder built in the video decoder 1225, the decoder 1252, and the recorder control unit 1226. That is, the decoder incorporated in the video decoder 1225, the decoder 1252, and the recorder control unit 1226 performs adaptive code number allocation according to the appearance frequency of the prediction mode, as in the case of the image decoding device 200. The code number assignment method employed in the image encoding device 100 is reproduced.
  • the video decoder 1225, the decoder 1252, and the decoder built in the recorder control unit 1226 are generated by the image encoding apparatus 100 by assigning a code number having a smaller value to a prediction mode having a higher appearance frequency.
  • the encoded data can be properly decoded.
  • the video decoder 1225, the decoder 1252, and the decoder built in the recorder control unit 1226 can improve the encoding efficiency of the encoded data.
  • the hard disk recorder 1200 can improve the encoding efficiency of video data (encoded data) received by the tuner or communication unit 1235 and video data (encoded data) reproduced by the recording / reproducing unit 1233, for example. .
  • the hard disk recorder 1200 uses the image encoding device 100 as the encoder 1251. Therefore, the encoder 1251 performs adaptive code number allocation according to the appearance frequency of the prediction mode, as in the case of the image encoding device 100. That is, the encoder 1251 can assign a code number having a smaller value to a prediction mode having a higher appearance frequency in the immediately preceding slice (frame) during intra prediction. Thereby, the encoder 1251 can improve the encoding efficiency of encoded data.
  • the hard disk recorder 1200 can improve the encoding efficiency of the encoded data recorded on the hard disk, for example.
  • the hard disk recorder 1200 for recording video data and audio data on the hard disk has been described.
  • any recording medium may be used.
  • the image encoding device 100 and the image decoding device 200 are applied as in the case of the hard disk recorder 1200 described above. Can do.
  • FIG. 40 is a block diagram illustrating a main configuration example of a camera using the image encoding device 100 and the image decoding device 200.
  • the camera 1300 shown in FIG. 40 picks up a subject and displays an image of the subject on the LCD 1316 or records it on the recording medium 1333 as image data.
  • the lens block 1311 causes light (that is, an image of the subject) to enter the CCD / CMOS 1312.
  • the CCD / CMOS 1312 is an image sensor using CCD or CMOS, converts the intensity of received light into an electrical signal, and supplies it to the camera signal processing unit 1313.
  • the camera signal processing unit 1313 converts the electrical signal supplied from the CCD / CMOS 1312 into Y, Cr, and Cb color difference signals and supplies them to the image signal processing unit 1314.
  • the image signal processing unit 1314 performs predetermined image processing on the image signal supplied from the camera signal processing unit 1313 or encodes the image signal with the encoder 1341 under the control of the controller 1321.
  • the image signal processing unit 1314 supplies encoded data generated by encoding the image signal to the decoder 1315. Further, the image signal processing unit 1314 acquires display data generated in the on-screen display (OSD) 1320 and supplies it to the decoder 1315.
  • OSD on-screen display
  • the camera signal processing unit 1313 appropriately uses DRAM (Dynamic Random Access Memory) 1318 connected via the bus 1317, and if necessary, image data or a code obtained by encoding the image data.
  • DRAM Dynamic Random Access Memory
  • the digitized data or the like is held in the DRAM 1318.
  • the decoder 1315 decodes the encoded data supplied from the image signal processing unit 1314 and supplies the obtained image data (decoded image data) to the LCD 1316. In addition, the decoder 1315 supplies the display data supplied from the image signal processing unit 1314 to the LCD 1316. The LCD 1316 appropriately synthesizes the image of the decoded image data supplied from the decoder 1315 and the image of the display data, and displays the synthesized image.
  • the on-screen display 1320 outputs display data such as menu screens and icons composed of symbols, characters, or figures to the image signal processing unit 1314 via the bus 1317 under the control of the controller 1321.
  • the controller 1321 executes various processes based on a signal indicating the content instructed by the user using the operation unit 1322, and also via the bus 1317, an image signal processing unit 1314, a DRAM 1318, an external interface 1319, an on-screen display. 1320, media drive 1323, and the like are controlled.
  • the FLASH ROM 1324 stores programs and data necessary for the controller 1321 to execute various processes.
  • the controller 1321 can encode the image data stored in the DRAM 1318 or decode the encoded data stored in the DRAM 1318 instead of the image signal processing unit 1314 and the decoder 1315.
  • the controller 1321 may be configured to perform encoding / decoding processing by a method similar to the encoding / decoding method of the image signal processing unit 1314 or the decoder 1315, or the image signal processing unit 1314 or the decoder 1315 is compatible.
  • the encoding / decoding process may be performed by a method that is not performed.
  • the controller 1321 reads out image data from the DRAM 1318 and supplies it to the printer 1334 connected to the external interface 1319 via the bus 1317. Let it print.
  • the controller 1321 reads the encoded data from the DRAM 1318 and supplies it to the recording medium 1333 mounted on the media drive 1323 via the bus 1317.
  • the recording medium 1333 is an arbitrary readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium 1333 may be of any kind as a removable medium, and may be a tape device, a disk, or a memory card.
  • a non-contact IC card or the like may be used.
  • media drive 1323 and the recording medium 1333 may be integrated and configured by a non-portable storage medium such as a built-in hard disk drive or SSD (Solid State Drive).
  • SSD Solid State Drive
  • the external interface 1319 is composed of, for example, a USB input / output terminal or the like, and is connected to the printer 1334 when printing an image.
  • a drive 1331 is connected to the external interface 1319 as necessary, and a removable medium 1332 such as a magnetic disk, an optical disk, or a magneto-optical disk is appropriately mounted, and a computer program read from them is loaded as necessary. Installed in the FLASH ROM 1324.
  • the external interface 1319 has a network interface connected to a predetermined network such as a LAN or the Internet.
  • the controller 1321 can read the encoded data from the DRAM 1318 in accordance with an instruction from the operation unit 1322 and supply the encoded data to the other device connected via the network from the external interface 1319.
  • the controller 1321 acquires encoded data and image data supplied from another device via the network via the external interface 1319, holds the data in the DRAM 1318, or supplies it to the image signal processing unit 1314. Can be.
  • the camera 1300 as described above uses the image decoding device 200 as the decoder 1315. That is, as in the case of the image decoding device 200, the decoder 1315 performs the code number assignment method employed in the image coding device 100 by performing adaptive code number assignment according to the appearance frequency of the prediction mode. Reproduce. Therefore, the decoder 1315 can appropriately decode the encoded data generated by the image encoding apparatus 100 by assigning a code number having a smaller value to a prediction mode having a higher appearance frequency. Thereby, the decoder 1315 can improve the encoding efficiency of encoded data.
  • the camera 1300 for example, encodes image data generated in the CCD / CMOS 1312, encoded data of video data read from the DRAM 1318 or the recording medium 1333, and encoded efficiency of encoded data of video data acquired via the network. Can be improved.
  • the camera 1300 uses the image encoding device 100 as the encoder 1341.
  • the encoder 1341 performs adaptive code number allocation according to the appearance frequency of the prediction mode, as in the case of the image encoding device 100. That is, the encoder 1341 can assign a code number having a smaller value to a prediction mode having a higher appearance frequency in the previous slice (frame) during intra prediction. Thereby, the encoder 1341 can improve the encoding efficiency of encoded data.
  • the camera 1300 can improve the encoding efficiency of encoded data to be recorded in the DRAM 1318 and the recording medium 1333 and encoded data to be provided to other devices.
  • the decoding method of the image decoding device 200 may be applied to the decoding process performed by the controller 1321.
  • the encoding method of the image encoding device 100 may be applied to the encoding process performed by the controller 1321.
  • the image data captured by the camera 1300 may be a moving image or a still image.
  • the counting result (frequency of occurrence of the prediction mode) in the last frame when the imaging is finished is stored. Then, an adaptively set code number is assigned to the first frame (slice) when the imaging is resumed next, using the stored final count result (frequency of appearance of the prediction mode). It may be.
  • the user frequently starts and stops imaging. However, when such processing is repeated within a short time, there is little difference from the case where imaging is continued continuously. There is a high possibility that the similarity of the pattern between the last frame of the next imaging and the first frame of the next imaging will be high. For example, the user may take an image of a subject using the camera 1300, and after the imaging is finished, the same subject may be taken again.
  • the camera 1300 can further improve the encoding efficiency by making it possible to use the final counting result of the previous imaging at the start of the next imaging.
  • the period for which the total results are retained is limited, and when a predetermined time has elapsed since imaging was stopped, the total results that were retained are deleted, and the code number assignment is initialized when the next imaging is started thereafter. You may be made to do.
  • image encoding device 100 and the image decoding device 200 can also be applied to devices and systems other than the devices described above.
  • This technology for example, MPEG, H.26x, etc., image information (bitstream) compressed by orthogonal transformation such as discrete cosine transformation and motion compensation, such as satellite broadcasting, cable TV, the Internet, mobile phones, etc.
  • the present invention can be applied to an image encoding device and an image decoding device that are used when receiving via a network medium or when processing on a storage medium such as an optical, magnetic disk, or flash memory.
  • this technique can also take the following structures.
  • An intra prediction unit that performs intra prediction using a plurality of prediction modes and selects an optimal prediction mode based on the obtained prediction results;
  • An update unit that updates the assignment of code numbers for each prediction mode of intra prediction by the intra prediction unit so as to assign a smaller value to a prediction mode with a higher appearance frequency;
  • An image processing apparatus comprising: an encoding unit that encodes a code number for a prediction mode of intra prediction executed by the intra prediction unit, assigned according to the assignment of the code number updated by the update unit.
  • the update unit includes an intra 4 ⁇ 4 prediction mode, an intra 8 ⁇ 8 prediction mode, an intra 16 ⁇ 16 prediction mode, an encoding processing unit, and an extended macro expanded to a size larger than 16 ⁇ 16 pixels.
  • a scene change detection unit that detects a scene change for the slice to be processed;
  • the update unit initializes the code number assignment to the slice and sets the code number to a predetermined initial value (1 ) To (4).
  • the update unit determines that the scene change is included in the slice by the scene change detection unit, is the code number assignment of the slice updated by the update unit?
  • the image processing apparatus according to (5), wherein a value of flag information indicating whether or not a predetermined initial value is set to a value indicating an initial value.
  • the update unit assigns a smaller value to a prediction mode in which the appearance frequency of each prediction mode in the I slice is higher.
  • the image processing apparatus according to any one of (1) to (6), wherein the code number assignment to a slice is updated.
  • the update unit sets allocation of the code number to an intra macroblock included in a P slice or a B slice to a predetermined initial value.
  • the update unit according to any one of (1) to (7).
  • Image processing device (9)
  • the update unit updates the code number assignment to the intra macroblock included in the P slice or B slice to the code number assignment set in the immediately preceding I slice. ).
  • the update unit assigns the code number to the intra macroblock included in the P slice or B slice with a high appearance frequency.
  • the update unit also updates allocation of a code number to the motion compensation partition mode according to the appearance frequency of the mode.
  • the intra prediction unit performs intra prediction using a plurality of prediction modes, selects an optimal prediction mode based on the obtained prediction results,
  • the update unit updates the code number assignment for each prediction mode of intra prediction so that the prediction mode with the higher appearance frequency assigns a smaller value,
  • a decoding unit that decodes a code number for a prediction mode of intra prediction
  • An update unit that updates the assignment of the code number for each prediction mode of the intra prediction so that a prediction mode with a higher appearance frequency assigns a smaller value
  • An image processing apparatus comprising: an intra prediction unit that performs intra prediction in a prediction mode corresponding to the code number decoded by the decoding unit according to the assignment of the code number updated by the update unit.
  • An image processing method for an image processing apparatus The decoding unit decodes the code number for the prediction mode of intra prediction, The update unit updates the allocation of the code number for each prediction mode of the intra prediction so that a prediction mode with a higher appearance frequency is assigned a smaller value, An image processing method in which an intra prediction unit performs intra prediction in a prediction mode corresponding to a decoded code number in accordance with the updated assignment of the code number.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (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画素)といった大きな画枠に対しては、最適ではない。そこで、非特許文献2などにおいては、マクロブロックサイズを、64×64画素、32画素×32画素といった大きさにすることが提案されている。
Sung-Chang Lim, Hahyun Lee, Jinho Lee, Jongho Kim, Haechul Choi, Seyoon Jeong, Jin Soo Choi, "Intra coding using extended block size", VCEG-AL28, 2009年7月,
 ところで、イントラ予測においては、より頻繁に出現する予測モードについて、より短いコード番号(code_number)を割り当てることにより、より符号化効率を向上させることができる。しかしながら、より頻繁に出現する予測モードは、シーケンスやビットレートによって変化するものであるのに、AVC符号化方式においては、その割当は固定されたものであったため、最適な符号効率を実現することは困難であった。
 本開示は、このような状況に鑑みてなされたものであり、予測モードに対するコード番号の割り当てをより適切に行なうようにすることにより、符号化効率を向上させることができるようにすることを目的とする。
 本開示の一側面は、複数の予測モードを用いてイントラ予測を行い、得られた予測結果に基づいて最適な予測モードを選択するイントラ予測部と、前記イントラ予測部によるイントラ予測の各予測モードに対するコード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新する更新部と、前記更新部により更新された前記コード番号の割り当てに従って割り当てられた、前記イントラ予測部により実行されたイントラ予測の予測モードに対するコード番号を符号化する符号化部とを備える画像処理装置である。
 前記更新部は、イントラ4×4予測モード、イントラ8×8予測モード、イントラ16×16予測モード、符号化処理単位であって、16×16画素より大きなサイズに拡張された拡張マクロブロックに対するイントラ予測モード、および、色差信号に対するイントラ予測モードのうち、少なくともいずれか1つに対して、前記出現頻度に応じた前記コード番号の割り当ての更新を行うことができる。
 IDRスライスの検出を行い、処理対象である当該スライスがIDRスライスであるか否かを判定するIDRスライス検出部をさらに備え、前記更新部は、前記IDRスライス検出部の検出により当該スライスがIDRスライスであると判定された場合、当該スライスに対する前記コード番号の割り当てを初期化し、予め定められている初期値に設定することができる。
 前記コード番号の割り当ての初期値は、AVC符号化方式において規定される前記コード番号の割り当て方法であることができる。
 処理対象である当該スライスに対してシーンチェンジの検出を行うシーンチェンジ検出部をさらに備え、前記更新部は、前記シーンチェンジ検出部により当該スライスにおいてシーンチェンジが含まれると判定された場合、当該スライスに対する前記コード番号の割り当てを初期化し、予め定められている初期値に設定することができる。
 前記更新部は、前記シーンチェンジ検出部により当該スライスにおいてシーンチェンジが含まれると判定された場合、当該スライスの前記コード番号の割り当てが、前記更新部により更新されたものであるか、予め定められた初期値であるかを示すフラグ情報の値を、初期値であることを示す値に設定することができる。
 前記更新部は、処理対象である当該Iスライスの符号化処理後、当該Iスライスにおける各予測モードの出現頻度がより高い予測モードに対してより小さな値を割り当てるように、次のIスライスに対する前記コード番号の割り当てを更新することができる。
 前記更新部は、Pスライス若しくはBスライスに含まれるイントラマクロブロックに対する前記コード番号の割り当てを、予め定められた初期値に設定することができる。
 前記更新部は、Pスライス若しくはBスライスに含まれるイントラマクロブロックに対する前記コード番号の割り当てを、直前のIスライスにおいて設定された前記コード番号の割り当てに更新することができる。
 前記更新部は、Pスライス若しくはBスライスに含まれるイントラマクロブロックが所定の基準より多い場合、Pスライス若しくはBスライスに含まれるイントラマクロブロックに対する前記コード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新することができる。
 前記更新部は、動き補償パーティションモードに対するコード番号の割り当ても、前記モードの出現頻度に応じて更新することができる。
 本開示の一側面は、また、画像処理装置の画像処理方法であって、イントラ予測部が、複数の予測モードを用いてイントラ予測を行い、得られた予測結果に基づいて最適な予測モードを選択し、更新部が、イントラ予測の各予測モードに対するコード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新し、符号化部が、更新された前記コード番号の割り当てに従って割り当てられた、実行されたイントラ予測の予測モードに対するコード番号を符号化する画像処理方法である。
 本開示の他の側面は、イントラ予測の予測モードに対するコード番号を復号する復号部と、前記イントラ予測の各予測モードに対するコード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新する更新部と、前記更新部により更新された前記コード番号の割り当てに従って、前記復号部により復号された前記コード番号に対応する予測モードでイントラ予測を行うイントラ予測部とを備える画像処理装置である。
 本開示の他の側面は、また、画像処理装置の画像処理方法であって、復号部が、イントラ予測の予測モードに対するコード番号を復号し、更新部が、前記イントラ予測の各予測モードに対するコード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新し、イントラ予測部が、更新された前記コード番号の割り当てに従って、復号された前記コード番号に対応する予測モードでイントラ予測を行う画像処理方法である。
 本開示の一側面においては、複数の予測モードを用いてイントラ予測が行われ、得られた予測結果に基づいて最適な予測モードが選択され、イントラ予測の各予測モードに対するコード番号の割り当てが、出現頻度が高い予測モード程、より小さな値を割り当てるように更新され、更新されたコード番号の割り当てに従って割り当てられた、実行されたイントラ予測の予測モードに対するコード番号が符号化される。
 本開示の他の側面においては、イントラ予測の予測モードに対するコード番号が復号され、イントラ予測の各予測モードに対するコード番号の割り当てが、出現頻度が高い予測モード程、より小さな値を割り当てるように更新され、その更新されたコード番号の割り当てに従って、復号されたコード番号に対応する予測モードでイントラ予測が行われる。
 本開示によれば、画像を処理することができる。特に、符号化効率を向上させることができる。
画像符号化装置の主な構成例を示すブロック図である。 AVC符号化方式における1つのマクロブロックに含まれる4×4ブロックの処理順序を示した図である。 AVC符号化方式において定められているイントラ4×4予測モードを示す図である。 AVC符号化方式において定められているイントラ4×4予測モードを示す図である。 AVC符号化方式において定められているイントラ4×4予測モードの予測方向を示した図である。 AVC符号化方式において定められているイントラ4×4予測モードの予測方法を説明するための図である。 AVC符号化方式において定められているイントラ4×4予測モードの符号化方法を説明するための図である。 AVC符号化方式において定められているイントラ8×8予測モードを示した図である。 AVC符号化方式において定められているイントラ8×8予測モードを示した図である。 AVC符号化方式において定められているイントラ16×16予測モードを示した図である。 AVC符号化方式において定められているイントラ16×16予測モードを示した図である。 AVC符号化方式において定められているイントラ16×16予測モードにおける予測値の算出方法を説明するための図である。 AVC符号化方式において定められている色差信号に対する予測モードの例を示す図である。 AVC符号化方式において定められているCAVLC方式におけるコード番号の例を示す図である。 AVC符号化方式において定められているCAVLC方式における動きベクトルに対するコード番号の例を示す図である。 AVC符号化方式において定められている、スキャン方式の例を示す図である。 AVC符号化方式において規定されているCAVLCにおける動作原理の具体例を示した図である。 2値算術符号化の動作原理を説明するための図である。 2値算術符号化における再正規化処理を説明するための図である。 CABAC符号化方式の概要を示した図である。 unary_codeの例を説明する図である。 Iスライスに対して規定されるテーブルの例を説明する図である。 Pスライスに対して規定されるテーブルの例を説明する図である。 Bスライスに対して規定されるテーブルの例を説明する図である。 図1のコード番号割り当て部の詳細な構成例を示す図である。 符号化処理の流れの例を説明するフローチャートである。 イントラ予測処理の流れの例を説明するフローチャートである。 Iスライスのコード番号割り当て処理の流れの例を説明するフローチャートである。 Pスライス若しくはBスライスのコード番号の割り当て処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 図30のコード番号割り当て部の詳細な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 予測処理の流れの例を説明するフローチャートである。 コード番号割り当て処理の流れの例を説明するフローチャートである。 マクロブロックの例を示す図である。 パーソナルコンピュータの主な構成例を示すブロック図である。 テレビジョン受像機の主な構成例を示すブロック図である。 携帯電話機の主な構成例を示すブロック図である。 ハードディスクレコーダの主な構成例を示すブロック図である。 カメラの主な構成例を示すブロック図である。
 以下、本技術を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行なう。
1.第1の実施の形態(画像符号化装置)
2.第2の実施の形態(画像復号装置)
3.第3の実施の形態(パーソナルコンピュータ)
4.第4の実施の形態(テレビジョン受像機)
5.第5の実施の形態(携帯電話機)
6.第6の実施の形態(ハードディスクレコーダ)
7.第7の実施の形態(カメラ)
<1.第1の実施の形態>
[画像符号化装置]
 図1は、画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
 図1に示される画像符号化装置100は、例えば、H.264及びMPEG(Moving Picture Experts Group)4 Part10(AVC(Advanced Video Coding))(以下H.264/AVCと称する)方式と同様に画像を符号化する符号化装置である。ただし、画像符号化装置100は、イントラ予測処理において、イントラ予測モードに対するコード番号(code_number)の割り当てを、その出現頻度に応じて、適応的に行なう。このようにすることにより、画像符号化装置100は、出力する符号化データの符号化効率をより向上させることができる。
 図1の例において、画像符号化装置100は、A/D(Analog / Digital)変換部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)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、演算部103に供給する。また、画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、イントラ予測部114および動き予測・補償部115にも供給する。
 演算部103は、画面並べ替えバッファ102から読み出された画像から、選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を減算し、その差分情報を直交変換部104に出力する。
 例えば、イントラ符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、イントラ予測部114から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、動き予測・補償部115から供給される予測画像を減算する。
 直交変換部104は、演算部103から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部105に供給する。
 量子化部105は、直交変換部104が出力する変換係数を量子化する。量子化部105は、レート制御部117から供給される情報に基づいて量子化パラメータを設定し、量子化を行なう。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
 可逆符号化部106は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
 可逆符号化部106は、イントラ予測を示す情報などをイントラ予測部114から取得し、インター予測モードを示す情報や動きベクトル情報などを動き予測・補償部115から取得する。なお、イントラ予測(画面内予測)を示す情報は、以下、イントラ予測モード情報とも称する。また、インター予測(画面間予測)を示す情報モードを示す情報は、以下、インター予測モード情報とも称する。
 可逆符号化部106は、量子化された変換係数を符号化するとともに、フィルタ係数、イントラ予測モード情報、インター予測モード情報、および量子化パラメータなどの各種情報を、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
 例えば、可逆符号化部106においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
 蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持し、所定のタイミングにおいて、H.264/AVC方式で符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
 また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。逆量子化部108は、得られた変換係数を、逆直交変換部109に供給する。
 逆直交変換部109は、供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部110に供給される。
 演算部110は、逆直交変換部109より供給された逆直交変換結果、すなわち、復元された差分情報に、選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。
 例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部110は、その差分情報にイントラ予測部114から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部110は、その差分情報に動き予測・補償部115から供給される予測画像を加算する。
 その加算結果は、デブロックフィルタ111またはフレームメモリ112に供給される。
 デブロックフィルタ111は、適宜デブロックフィルタ処理を行なうことにより復号画像のブロック歪を除去するとともに、例えばウィナーフィルタ(Wiener Filter)を用いて適宜ループフィルタ処理を行なうことにより画質改善を行なう。デブロックフィルタ111は、各画素をクラス分類し、クラスごとに適切なフィルタ処理を施す。デブロックフィルタ111は、そのフィルタ処理結果をフレームメモリ112に供給する。
 フレームメモリ112は、所定のタイミングにおいて、蓄積されている参照画像を、選択部113を介してイントラ予測部114または動き予測・補償部115に出力する。
 例えば、イントラ符号化が行われる画像の場合、フレームメモリ112は、参照画像を、選択部113を介してイントラ予測部114に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ112は、参照画像を、選択部113を介して動き予測・補償部115に供給する。
 選択部113は、フレームメモリ112から供給される参照画像がイントラ符号化を行なう画像である場合、その参照画像をイントラ予測部114に供給する。また、選択部113は、フレームメモリ112から供給される参照画像がインター符号化を行なう画像である場合、その参照画像を動き予測・補償部115に供給する。
 イントラ予測部114は、画面内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行なう。イントラ予測部114は、複数のモード(イントラ予測モード)によりイントラ予測を行なう。
 イントラ予測部114は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部114は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、選択部116を介して演算部103や演算部110に供給する。
 また、上述したように、イントラ予測部114は、採用したイントラ予測モードを示すイントラ予測モード情報等の情報を、適宜可逆符号化部106に供給する。
 さらに、イントラ予測部114は、コード番号割り当て部121に、イントラ予測モードの出現頻度に応じた適応的なコード番号の割り当てを行なわせるために、採用したイントラ予測モードを示すイントラ予測モード情報等の情報を、コード番号割り当て部121にも供給する。
 動き予測・補償部115は、インター符号化が行われる画像について、画面並べ替えバッファ102から供給される入力画像と、選択部113を介してフレームメモリ112から供給される参照画像とを用いて、動き予測を行ない、検出された動きベクトルに応じて動き補償処理を行ない、予測画像(インター予測画像情報)を生成する。
 動き予測・補償部115は、候補となる全てのインター予測モードのインター予測処理を行ない、予測画像を生成する。動き予測・補償部115は、生成された予測画像を、選択部116を介して演算部103や演算部110に供給する。
 また、動き予測・補償部115は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報を可逆符号化部106に供給する。
 選択部116は、イントラ符号化を行なう画像の場合、イントラ予測部114の出力を演算部103や演算部110に供給し、インター符号化を行なう画像の場合、動き予測・補償部115の出力を演算部103や演算部110に供給する。
 レート制御部117は、蓄積バッファ107に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 コード番号割り当て部121は、イントラ予測部114から供給される、採用されたイントラ予測モードを示す情報を取得すると、各イントラ予測モードに対して、その出現頻度に応じて適応的に、コード番号の割り当てを行なう。
[イントラ予測モード]
 次に、AVC符号化方式で定められているイントラ予測方式について述べる。AVC符号化方式の場合、輝度信号については、イントラ4×4予測モードとイントラ8×8予測モード、イントラ16×16予測モードの3通りの方式が定められている。図2に示されるように、イントラ16×16予測モードの際には、各ブロックの直流成分を集めて4×4行列が生成され、これに対して、更に、直交変換が施される。
 イントラ8×8予測モードに関しては、ハイプロファイル若しくはそれ以上のプロファイルで、当該マクロブロックに、8×8直交変換が施される場合についてのみ適用可能である。
[イントラ4×4予測モード]
 以下では、まず、イントラ4×4予測モードについて述べる
 AVC符号化方式において規定される9通りのイントラ4×4予測モードを、図3および図4に示す。このうち、DC予測(モード2)以外のモードに関しては、図5に示される通り、それぞれのモードが一定の方向を示している。
 図6において、'a'~'p'は、当該ブロックの画素を示し、'A'~'M'は隣接ブロックに属する画素値を示す。表に示したそれぞれのモードについて、以下に述べるように、'A'~'M'を用いて'a'~'p'の予測画素値を生成する。
 モード0(Mode 0)はVertical Predictionであり、A,B,C,Dが "available" の場合のみ適用される。予測画素値は以下の通りである。
 a, e, i, m :   A
 b, f, j, n :   B
 c, g, k, o :   C
 d, h, l, p :   D
 モード1(Mode 1)は、Horizontal Predictionであり、I,J,K,Lが "available" の場合のみ適用される。それぞれの予測画素値は以下のように生成される。
 a, b, c, d :   I,
 e, f, g, h :   J,
 i, j, k, l :   K,
 m, n, o, p :   L.
 モード2(Mode 2)は、DC Predictionであり、A,B,C,D,I,J,K,Lが全て "available" である時、予測値は、以下の式(1)ように生成される。
Figure JPOXMLDOC01-appb-M000001
   ・・・(1)
 また、A,B,C,Dが全て "unavailable" である時、予測値は、以下の式(2)ように生成される。
Figure JPOXMLDOC01-appb-M000002
   ・・・(2)
 また、I,J,K,Lが全て "unavailable" である時、予測値は以下の式(3)ように生成される。
Figure JPOXMLDOC01-appb-M000003
   ・・・(3)
 A,B,C,D,I,J,K,Lが全て "available" である時、128を予測値として用いる。
 モード3(Mode 3)は、Diagonal_Down_Left Predictionであり、A,B,C,D,I,J,K,L,Mが "available" の場合のみ適用される。それぞれの予測値は以下のように生成される。
 a :        (A + 2B + C + 2) >> 2
 b, e :      (B + 2C + D + 2) >> 2
 c, f, i :     (C + 2D + E + 2) >> 2
 d, g, j, m :   (D + 2E + F + 2) >> 2
 h, k, n :     (E + 2F + G + 2) >> 2
 l, o :      (F + 2G + H + 2) >> 2
 p :        (G + 3H + 2) >> 2
 モード4(Mode 4)は、Diagonal_Down_Right Predictionであり、A,B,C,D,I,J,K,L,Mが "available" の場合のみ適用される。それぞれの予測値は以下のように生成される。
 m :        (J + 2K + L + 2) >> 2
 i, n :      (I + 2J + K + 2) >> 2
 e, j, o :     (M + 2I + J + 2) >> 2
 a, f, k, p :   (A + 2M + I + 2) >> 2
 b, g, l :     (M + 2A + B + 2) >> 2
 c, h :      (A + 2B + C + 2) >> 2
 d :        (B + 2C + D + 2) >> 2
 モード5(Mode 5)は、Diagonal_Vertical_Right Predictionであり、A,B,C,D,I,J,K,L,Mが "available" の場合のみ適用される。それぞれの予測値は以下のように生成される。
 a, j :   (M + A + 1) >> 1
 b, k :   (A + B + 1) >> 1
 c, l :   (B + C + 1) >> 1
 d :     (C + D + 1) >> 1
 e, n :   (I + 2M + A + 2) >> 2
 f, o :   (M + 2A + B + 2) >> 2
 g, p :   (A + 2B + C + 2) >> 2
 h :     (B + 2C + D + 2)  >> 2
 i :     (M + 2I + J + 2) >> 2
 m :     (I + 2J + K + 2) >> 2
 モード6(Mode 6)は、Horizontal_Down Predictionであり、A,B,C,D,I,J,K,L,Mが "available" の場合のみ適用される。それぞれの予測値は以下のように生成される。
 a, g :   (M + I + 1) >> 1
 b, h :   (I + 2M + A+ 2) >> 2
 c :     (M + 2A + B+ 2) >> 2
 d :     (A + 2B + C+ 2) >> 2
 e, k :   (I + J + 1) >> 1
 f, l :   (M + 2I + J+ 2) >> 2
 i, o :   (J + K + 1) >> 1
 j, p :   (I + 2J + K+ 2) >> 2
 m :     (K + L + 1) >> 1
 n :     (J + 2K + L + 2) >> 2
 モード7(Mode 7)は、Vertical_Left Predictionであり、A,B,C,D,I,J,K,L,Mが "available" の場合のみ適用される。それぞれの予測値は以下のように生成される。
 a :     (A + B + 1) >> 1
 b, i :   (B + C + 1) >> 1
 c, j :   (C + D + 1) >> 1
 d, k :   (D + E + 1) >> 1
 l :     (E + F + 1) >> 1
 e :     (A + 2B + C + 2) >> 2
 f, m :   (B + 2C + D + 2) >> 2
 g, n :   (C + 2D + E + 2) >> 2
 h, o :   (D + 2E + F + 2) >> 2
 p :     (E + 2F + G + 2) >> 2
 モード8(Mode 8)は、Horizontal_Up Predictionであり、A,B,C,D,I,J,K,L,Mが "available" の場合のみ適用される。それぞれの予測値は以下のように生成される。
 a :           (I + J + 1) >> 1
 b :           (I + 2J + K + 2) >> 2
 c, e :         (J + K + 1) >> 1
 d, f :         (J + 2K + L + 2) >> 2
 g, i :         (K + L + 1) >> 1
 h, j :         (K + 3L + 2) >> 2
 k, l, m, n, o, p :   L
 次に、イントラ4×4予測モード(Intra_4x4_pred_mode)の符号化方式について説明する。
 図7において、Cを当該4×4 ブロック、A及びBを隣接する4×4ブロックであるとすると、Cにおけるイントラ4×4予測モード(Intra_4x4_pred_mode)と、A及びBにおけるイントラ4×4予測モード(Intra_4x4_pred_mode)は高い相関があると考えられる。この事実を利用して、以下のように符号化処理を行なうことにより、より高い符号化効率を実現することが可能である。
 すなわち、図7において、AおよびBに対するイントラ4×4予測モード(Intra_4x4_pred_mode)をそれぞれイントラ4×4予測モードA(Intra_4x4_pred_modeA)およびイントラ4×4予測モードB(Intra_4x4_pred_modeB)として、最頻モード(MostProbableMode)を以下の式(4)のように定義する。
 MostProbableMode=Min(Intra_4x4_pred_modeA, Intra_4x4_pred_modeB) ・・・(4)
 すなわち、A,Bのうち、より小さなモード番号(mode_number)を割り当てられている方を最頻モード(MostProbableMode)とする。
 ビットストリーム中には、当該4×4ブロックに対するパラメータとして、prev_intra4x4_pred_mode_flag[luma4x4BlkIdx]、および、rem_intra4x4_pred_mode[luma4x4BlkIdx]という2つの値が定義されており、以下に示される擬似コードに基づく処理により、復号処理が行われ、当該4×4ブロックに対するイントラ4×4予測モード(Intra_4x4_pred_mode)を示す、Intra4x4PredMode[luma4x4BlkIdx] の値を得ることが出来る。
 if(prev_intra4x4_pred_mode_flag[luma4x4BlkIdx])
      Intra4x4PredMode[luma4x4BlkIdx] = MostProbableMode
 else
   if(rem_intra4x4_pred_mode[luma4x4BlkIdx] < MostProbableMode)
     Intra4x4PredMode[luma4x4BlkIdx]=rem_intra4x4_pred_mode[luma4x4BlkIdx]
   else
    Intra4x4PredMode[luma4x4BlkIdx]=rem_intra4x4_pred_mode[luma4x4BlkIdx] + 1
[イントラ8×8予測方式]
 次に、イントラ8×8予測方式について説明する。
 AVCにおいては、図8および図9に示されるように、9通りのイントラ8×8予測モード(Intra_8x8_pred_mode)が定義されている。当該8×8ブロックにおける画素値をp[x,y](0≦x≦7;0≦y≦7)とし、隣接ブロックの画素値をp[-1,-1],…,p[-1,15],p[-1,0],…p[-1,7]のように表すものとする。
 イントラ8×8予測モードについては、以下に述べるとおり、予測値を生成するに先立ち、隣接画素にローパスフィルタリング処理を施す。ここで、ローパスフィルタリング処理前の画素値をp[-1,-1],…,p[-1,15],p[-1,0],…p[-1,7]、処理後の画素値をp'[-1,-1],…,p'[-1,15],p'[-1,0],…p'[-1,7]と表すとする。
 まず、p[-1,-1] が "available" である場合、p'[0,-1]は、以下の式(5)のように算出される。
 p'[0,-1] = (p[-1,-1] + 2*p[0,-1] + p[1,-1] + 2) >> 2 ・・・(5)
 また、p[-1,-1] が "not available" である場合、p'[0,-1]は、以下の式(6)のように算出される。
 p'[0,-1] = (3*p[0,-1] + p[1,-1] + 2) >> 2 ・・・(6)
 p'[x,-1] (x=0,…,7)は、以下の式(7)のように算出される。
 p'[x,-1] = (p[x-1,-1] + 2*p[x,-1] + p[x+1,-1] + 2) >>2 ・・・(7)
 p[x,-1] (x=8,…,15) が "available" である場合、p'[x,-1] (x=8,…,15)は、以下の式(8)および式(9)のように算出される。
 p'[x,-1] = (p[x-1,-1] + 2*p[x,-1] + p[x+1,-1] + 2) >>2 ・・・(8)
 p'[15,-1] = (p[14,-1] + 3*p[15,-1] + 2) >>2 ・・・(9)
 次にp[-1,-1]が "available" である場合について説明する。p[0,-1]及びp[-1,0]の双方がavailableである場合、p'[-1,-1]は、以下の式(10)のように算出される。
 p'[-1,-1] = (p[0,-1] + 2*p[-1,-1] + p[-1,0] + 2) >>2 ・・・(10)
 また、p[-1,0] が "unavailable" である場合、p'[-1,-1]は、以下の式(11)のように算出される。
 p'[-1,-1] = (3*p[-1,-1] + p[0,-1] + 2) >>2 ・・・(11)
 さらに、p[0,-1] が "unavailable" である場合、p'[-1,-1]は、以下の式(12)のように算出される。
 p'[-1,-1] = (3*p[-1,-1] + p[-1,0] + 2) >>2 ・・・(12)
 また、p'[-1,y] (y=0, … ,7) は、p[-1,y] (y=0, … ,7) が "available" の時、以下のように算出される。すなわち、まず、p[-1,-1]が "available" である場合、p'[-1,0]は、以下の式(13)のように算出される。
 p'[-1,0] = (p[-1,-1] + 2*p[-1,0] + p[-1,1] + 2) >>2 ・・・(13)
 また、p[-1,-1]が "unavailable" である場合、p'[-1,0]は、以下の式(14)のように算出される。
 p'[-1,0] = (3*p[-1,0] + p[-1,1] + 2) >>2 ・・・(14)
 なお、p'[-1,y] (y=1,…,6)は、以下の式(15)のように算出される。
 p[-1,y] = (p[-1,y-1] + 2*p[-1,y] + p[-1,y+1] + 2) >>2 ・・・(15)
 また、p'[-1,7]は、以下の式(16)のように算出される。
 p'[-1,7] = (p[-1,6] + 3*p[-1,7] + 2) >>2 ・・・(16)
 このように算出されたp'を用いて、図8に示された各イントラ予測モードにおける予測値は以下のように算出される。
 モード0(Mode 0)は、Vertical Predictionであり、p[x,-1] (x=0, … ,7) が "available" である時のみ適用される。予測値pred8x8L[x,y]は、以下の式(17)のように算出される。
 pred8x8L[x,y] = p'[x,-1] x,y=0,...,7 ・・・(17)
 モード1(Mode 1)は、Horizontal Predictionであり、p[-1,y] (y=0, … ,7) が "available" である時のみ適用される。予測値pred8x8L[x,y]は、以下の式(18)のように算出される。
 pred8x8L[x,y] = p'[-1,y] x,y=0,...,7 ・・・(18)
 モード2(Mode 2)は、DC Predictionであり、予測値pred8x8L[x,y]は以下の通り算出される。すなわち、p[x,-1] (x=0, … ,7) および p[-1,y] (y=0, … ,7) の両方が "available" である場合、予測値pred8x8L[x,y]は以下の式(19)のように算出される。
Figure JPOXMLDOC01-appb-M000004
   ・・・(19)
 p[x,-1] (x=0, … ,7) は、 "available" であるが、 p[-1,y] (y=0, … ,7) が "unavailable" である場合、予測値pred8x8L[x,y]は以下の式(20)のように算出される。
Figure JPOXMLDOC01-appb-M000005
   ・・・(20)
 p[x,-1] (x=0, … ,7) は、 "unavailable" であるが、 p[-1,y] (y=0, … ,7) が "available" である場合、予測値pred8x8L[x,y]は以下の式(21)のように算出される。
Figure JPOXMLDOC01-appb-M000006
   ・・・(21)
 p[x,-1] (x=0, … ,7) および p[-1,y] (y=0, … ,7) の両方が "unavailable" である場合、予測値pred8x8L[x,y]は以下の式(22)のように算出される(但し8ビット入力の場合)。
 pred8x8L[x,y] = 128 ・・・(22)
 モード3(Mode 3)は、Diagonal_Down_Left_predictionであり、予測値pred8x8L[x,y]は、以下の通り算出される。すなわち、Diagonal_Down_Left_predictionは、p[x,-1], x=0,…,15が "available" の時のみ適用され、x=7かつy=7のとき、予測値pred8x8L[x,y]は、以下の式(23)のように算出される。
 pred8x8L[x,y] = (p'[14,-1] + 3*p[15,-1] + 2) >> 2 ・・・(23)
 その他の予測値pred8x8L[x,y]は、以下の式(24)のように算出される。
 pred8x8L[x,y] = (p'[x+y,-1] + 2*p'[x+y+1,-1] + p'[x+y+2,-1] + 2) >> 2
   ・・・(24)
 モード4(Mode 4)は、Diagonal_Down_Right_predictionであり、予測値pred8x8L[x,y]は、以下の通り算出される。すなわち、Diagonal_Down_Right_predictionは、p[x,-1],x=0,…,7及びp[-1,y],y=0,…,7が "available"の時のみ適用され、x > y であるとき、予測値pred8x8L[x,y]は、以下の式(25)のように算出される。
 pred8x8L[x,y] = (p'[x-y-2,-1] + 2*p'[x-y-1,-1] + p'[x-y,-1] + 2) >> 2
   ・・・(25)
 また、x < y であるとき、予測値pred8x8L[x,y]は、以下の式(26)のように算出される。
 pred8x8L[x,y] = (p'[-1,y-x-2] + 2*p'[-1,y-x-1] + p'[-1,y-x] + 2) >> 2
   ・・・(26)
 さらに、x = yであるとき、予測値pred8x8L[x,y]は、以下の式(27)のように算出される。
 pred8x8L[x,y] = (p'[0,-1] + 2*p'[-1,-1] + p'[-1,0] + 2) >> 2
   ・・・(27)
 モード5(Mode 5)は、Vertical_Right_predictionであり、予測値pred8x8L[x,y]は以下の通り算出される。すなわち、Vertical_Right_predictionは、p[x,-1],x=0,…,7及びp[-1,y],y=-1,…,7が "available"の時のみ適用される。zVRを、以下の式(28)のように定義する。
 zVR = 2*x - y ・・・(28)
 zVRが、0,2,4,6,8,10,12,14の場合、予測値pred8x8L[x,y]は、以下の式(29)のように算出される。
 pred8x8L[x,y] = (p'[x-(y>>1)-1,-1] + p'[x-(y>>1),-1] + 1) >> 1
   ・・・(29)
 また、zVRが1,3,5,7,9,11,13の場合、予測値pred8x8L[x,y]は、以下の式(30)のように算出される。
 pred8x8L[x,y] = (p'[x-(y>>1)-2,-1] + 2*p'[x-(y>>1)-1,-1] + p'[x-(y>>1),-1] + 2) >> 2
   ・・・(30)
 また、zVRが-1の場合、予測値pred8x8L[x,y]は、以下の式(31)のように算出される。
 pred8x8L[x,y] = (p'[-1,0] + 2*p'[-1,-1] + p'[0,-1] + 2) >> 2
   ・・・(31)
 これ以外の場合、すなわち、zVRが-2,-3,-4,-5,-6,-7の場合、以下の式(32)のように算出される。
 pred8x8L[x,y] = (p'[-1,y-2*x-1] + 2*p'[-1,y-2*x-2] + p'[-1,y-2*x-3] + 2) >> 2
   ・・・(32)
 モード6(Mode 6)は、Horizontal_Down_predictionであり、予測値pred8x8L[x,y]は以下の通り算出される。Horizontal_Down_predictionは、p[x,-1],x=0,…,7及びp[-1,y],y=-1,…,7が "available"の時のみ適用される。zVRを以下の式(33)のように定義する。
 zHD = 2*y - x ・・・(33)
 zHDが0,2,4,6,8,10,12,14の場合、予測値pred8x8L[x,y]は、以下の式(34)のように算出される。
 pred8x8L[x,y] = (p'[-1,y-(x>>1)-1] + p'[-1,y-(x>>1) + 1] >> 1
   ・・・(34)
 また、zHDが1,3,5,7,9,11,13の場合、予測値pred8x8L[x,y]は、以下の式(35)のように算出される。
 pred8x8L[x,y] = (p'[-1,y-(x>>1)-2] + 2*p'[-1,y-(x>>1)-1] + p'[-1,y-(x>>1)] + 2) >> 2
   ・・・(35)
 また、zHDが-1の場合、予測値pred8x8L[x,y]は、以下の式(36)のように算出される。
 pred8x8L[x,y] = (p'[-1,0] + 2*p[-1,-1] + p'[0,-1] + 2) >> 2
   ・・・(36)
 また、zHDがこれ以外の値の場合、すなわち、-2,-3,-4,-5,-6,-7の場合、予測値pred8x8L[x,y]は、以下の式(37)のように算出される。
 pred8x8L[x,y] = (p'[x-2*y-1,-1] + 2*p'[x-2*y-2,-1] + p'[x-2*y-3,-1] + 2) >> 2
   ・・・(37)
 モード7(Mode 7)は、Vertical_Left_predictionであり、予測値pred8x8L[x,y]は以下の通り算出される。すなわち、Vertical_Left_predictionは、p[x,-1], x=0,…,15が "available" の時のみ適用され、y=0,2,4,6の場合、予測値pred8x8L[x,y]は、以下の式(38)のように算出される。
 pred8x8L[x,y] = (p'[x+(y>>1),-1] + p'[x+(y>>1)+1,-1] + 1) >> 1
   ・・・(38)
 それ以外の場合、すなわち、y=1,3,5,7の場合、予測値pred8x8L[x,y]は、以下の式(39)のように算出される。
 pred8x8L[x,y] = (p'[x+(y>>1),-1] + 2*p'[x+(y>>1)+1,-1] + p'[x+(y>>1)+2,-1] + 2) >> 2
   ・・・(39)
 モード8(Mode 8)は、Horizontal_Up_predictionであり、予測値pred8x8L[x,y]は以下の通り算出される。すなわち、Horizontal_Up_predictionは、p[-1,y], y=0,…,7 が "available" の時のみ適用される。以下では、zHUを以下の式(40)のように定義する。
 zHU = x + 2*y ・・・(40)
 zHUの値が0,2,4,6,8,10,12の場合、予測値pred8x8L[x,y]は、以下の式(41)のように算出される。
 pred8x8L[x,y] = (p'[-1,y+(x>>1)] + p'[-1,y+(x>>1)+1] + 1) >> 1
   ・・・(41)
 zHUの値が1,3,5,7,9,11の場合、予測値pred8x8L[x,y]は、以下の式(42)のように算出される。
 pred8x8L[x,y] = (p'[-1,y+(x>>1)] ・・・(42)
 zHUの値が13の場合、予測値pred8x8L[x,y]は、以下の式(43)のように算出される。
 pred8x8L[x,y] = (p'[-1,6] + 3*p'[-1,7] + 2) >> 2 ・・・(43)
 それ以外の場合、すなわち、zHUの値が13より大きい場合、予測画素値は、以下の式(44)のように算出される。
 pred8x8L[x,y] = p'[-1,7] ・・・(44)
[イントラ16×16予測方式]
 次に、イントラ16×16予測方式について説明する。
 AVCにおいては、図10および図11に示されるように、4通りのイントラ16×16予測モード(Intra_16x16_pred_mode)が定義されている。当該マクロブロックに含まれる画素値、並びに、隣接画素値を図12のように定義すると、それぞれの予測値は、以下のように生成される。
 モード0(Mode 0)は、Vertical Predictionであり、P(x,-1); x,y=-1..15が "available" である時のみ適用される。それぞれの予測値は以下の式(45)のように算出される。
Figure JPOXMLDOC01-appb-M000007
   ・・・(45)
 モード1(Mode 1)は、Horizontal Predictionであり、P(-1,y); x,y=-1..15が "available" である時のみ適用される。それぞれの予測値は以下の式(46)のように算出される。
Figure JPOXMLDOC01-appb-M000008
   ・・・(46)
 モード2(Mode 2)は、DC Predictionであり、P(x,-1)及びP(-1,y); x,y=-1..15が全て "available" である場合、予測値は以下の式(47)のように算出される。
   ・・・(47)
 また、P(x,-1); x,y=-1..15が "not available" である場合、予測値は以下の式(48)のように生成される。
Figure JPOXMLDOC01-appb-M000010
   ・・・(48)
 P(-1,y); x,y=-1..15が "not available" である場合、予測値は以下の式(49)のように生成される。
Figure JPOXMLDOC01-appb-M000011
   ・・・(49)
 なお、P(x,-1)及びP(-1,y); x,y=-1..15が全て "not available" である場合、予測値として128が用いられる。
 モード3(Mode 3)は、Plane Predictionであり、P(x,-1)及びP(-1,y); x,y=-1..15が全て "available" の場合のみ適用される。それぞれの予測値は以下の式(50)乃至式(55)のように生成される。
Figure JPOXMLDOC01-appb-M000012
   ・・・(50)
Figure JPOXMLDOC01-appb-M000013
   ・・・(51)
Figure JPOXMLDOC01-appb-M000014
   ・・・(52)
Figure JPOXMLDOC01-appb-M000015
   ・・・(53)
Figure JPOXMLDOC01-appb-M000016
   ・・・(54)
Figure JPOXMLDOC01-appb-M000017
   ・・・(55)
[色差信号に対するイントラ予測モード]
 次に、色差信号に対するイントラ予測モードについて述べる。色差信号に対するイントラ予測モードは、以下の通り、イントラ16×16予測モードに順ずる。但し、イントラ16×16予測モードが、16×16ブロックを対象としているのに対し、色差信号に対するイントラ予測モードは8×8ブロックを対象としている。更に、また、モード番号(mode番号)と、対応するモード(mode)が異なっていることに注意されたい。
 色差信号に対する予測モードは、輝度信号に対するモードとは独立に設定することが可能である。
 以下では、当該マクロブロック(Macroblock)に含まれる画素値及び隣接画素値の定義については、イントラ16×16モード(Intra16x16Mode)の場合に順ずる。それぞれのIntra_chroma_pred_modeにおける予測値の生成は以下の通りである。
 Intra_chroma_pred_modeには、図13に示されるように、モード0乃至モード3の4つのモードがある。
 モード0(Mode 0)は、DC Predictionであり、P(x,-1)及びP(-1,y)が "available" である場合、予測値は、以下の式(56)のように算出される。
Figure JPOXMLDOC01-appb-M000018
   ・・・(56)
 また、P(-1,y)が "not available" である場合、予測値は、以下の式(57)のように算出される。
Figure JPOXMLDOC01-appb-M000019
   ・・・(57)
 また、P(x,-1)が "not available" である場合、予測値は、以下の式(58)のように算出される。
Figure JPOXMLDOC01-appb-M000020
   ・・・(58)
 モード1(Mode 1)は、Horizontal Predictionであり、P(-1,y) が "available" の場合にのみ適用される。予測値は、以下の式(59)のように生成される。
   ・・・(59)
 モード2(Mode 2)は、Vertical Predictionであり、P(x,-1) が "available" の場合にのみ適用される。予測値は、以下の式(60)のように生成される。
Figure JPOXMLDOC01-appb-M000022
   ・・・(60)
 モード3(Mode 3)は、Plane Predictionであり、P(x,-1)及びP(-1,y) が "available" の場合にのみ適用される。予測値は、以下の式(61)乃至式(66)のように生成される。
Figure JPOXMLDOC01-appb-M000023
   ・・・(61)
Figure JPOXMLDOC01-appb-M000024
   ・・・(62)
Figure JPOXMLDOC01-appb-M000025
   ・・・(63)
Figure JPOXMLDOC01-appb-M000026
   ・・・(64)
Figure JPOXMLDOC01-appb-M000027
   ・・・(65)
Figure JPOXMLDOC01-appb-M000028
   ・・・(66)
 ところで、AVC符号化方式においては、可逆符号化方式として、CAVLC(Context-based Adaptive Variable Length Coding)と、CABAC(Context-based Adaptive Binary Arithmetic Coding)の2通りの方式が規格化されている。以下では、まず、AVC符号化方式において規格化されているCAVLC方式について述べる。
[CAVLC]
 CAVLCにおいては、直交変換係数には、周辺ブロック(block)における係数の発生に応じてVLC Tableの切り替えを行なう。その他のシンタクス要素に関しては、例えば、以下の図14に示されるようなExp-Golomb符号が用いられる。
 また、動きベクトルのようなシンタクス要素に関しては、負の値が生じる可能性があるが、その場合は、例えば、以下の図15に示されるようなテーブルに基づいて、符号なしのCode Numberに置き換えた後、例えば、図14に示されるようなExp-Golomb符号を適用する。
 以下では、4×4ブロックを例にして、CAVLCにおける、直交変換係数の処理について述べる。
 AVC符号化方式においては、4×4ブロックは、直交変換により、各周波数成分に相当する4×4の2次元データに変換されるが、当該ブロックがフレーム符号化されたものであるか、フィールド符号化されたものであるかに応じて、それぞれ、図16のAに示されたジグザグスキャン(Zigzag-scan)方式か、若しくは、図16のBに示されたフィールドスキャン(Field-scan)方式により、1次元データへと変換される。
 第1のステップとして、このようにして1次元化された直交変換係数が、高域から低域に向かって逆スキャンされる。
 第2のステップとして、NumCoef(0でない係数の個数)とT1s(高域から低域にスキャンしたときの、±1の係数の個数、最大でも3)の符号化を行なう。図7において、Cを当該ブロック、AとBを隣接ブロックとするなら、AおよびBにおけるNumCoefに応じて、VLC Tableの切り替えが行なわれる。
 第3のステップは、Levelの符号化である。すなわち、T1sに関しては、正/負のみが符号化される。その他の係数に関しては、Code Numberが割り当てられて符号化される。イントラ/インター、量子化パラメータQP及び最後に符号化したLevelに応じてVLC Tableが切り替えられる。
 第4のステップは、Runの符号化である。すなわち、TotalZeroの符号化において、NumCoefに応じてVLC Tableの切替が行われる。Run_before(非0係数の前に続く0の数)の符号化においては、ZerosLeft(残りの非0係数の数)に応じてVLC Tableの切り替えが行われる。ZerosLeft=0で符号化は終了となる。
 図17に、CAVLCの動作原理の具体例を示す。図17の例では、逆スキャンが行われた後、以下のような順で符号化処理が行なわれる。
 TotalCoef = 7
 TrailingOnes = 2
 Trailing_ones_sign_flag = -
 Trailing_ones_sign_flag = +
 Level = -3
 Level = +8
 Level = +11
 Level = -4
 Level = +23
 Total_zeros = 5 (ZerosLeft = 6)
 Run_before = 1 (ZerosLeft = 5)
 Run_before = 2 (ZerosLeft = 4)
 Run_before = 0 (ZerosLeft = 3)
 Run_before = 2 (ZerosLeft = 2)
 Run_before = 0 (ZerosLeft = 1)
 Run_before = 0 (ZerosLeft = 0)
 尚、これらの数値は、先述の通り、周辺ブロック等の符号化状況等に応じて切り替えられたTableによりVLC符号化が行なわれる。
[CABAC]
 次に、AVC符号化方式において規格化されているCABAC方式について述べる。まず、図18を用いて、2値算術符号化がどのように動作するかを説明する。
 "0"の出現確率が0.8、 "1" の出現確率が0.2である場合に、入力信号であるビット列 "010" を符号化する場合を考える。
 この時、図に示される通り、[0,1] の区間が、入力信号に応じて、図のように分割され、最終的に "11" なる信号が出力される。
 ところで、図18において、例えば、 "0.64" といった、区間間隔を保持するレジスタの桁数は、実際には有限である。そこで、レジスタの精度を有効に利用するため、図19に示されるような、再正規化 (Renormalization) と呼ばれる手法が考案されている。
 すなわち、1を符号化した時点で、区間の座標値が0.5以上になることが分かるので、その時点で小数第一位を出力し、再正規化を行なうようにする。
 図20に、CABAC符号化方式の概要を示す。
 すなわち、CABAC符号化方式は以下の特徴を有する。第1の特徴は、コンテクスト毎に符号化処理を行なうことである。第2の特徴は、非2値化データは2値化を行なうことである。第3の特徴は、図18に示された例においては、 "0" "1" の出現確率は固定されたものであるが、実際には、確率テーブルを、スライス先頭で初期化、発生シンボルに応じて逐次更新するということである。
 以下では、図7において、mb_skip_flagを例に取り、CABAC符号化における "コンテクスト" について説明する。
 CABAC符号化方式においては、異なるシンタクス要素に対しては別々のコンテクストモデルが用意されている。更に、同じシンタクス要素であっても、周辺ブロック若しくはマクロブロックの値に応じた複数のコンテクストモデルが用意されている。
 図7において、Cは当該マクロブロック、AとBはこれに隣接する周辺マクロブロックであるとする。関数f(x) を、以下の式(67)のように定義する。
Figure JPOXMLDOC01-appb-M000029
   ・・・(67)
 Cに対するコンテクストモデルContext(C) は、以下の式(68)のように算出される。
 Context(C) = f(A) + f(B) ・・・(68)
 すなわち、Context(C) の値は、AとBの状況により、0,1,2のいずれかの値を取ることになる。つまり、同じmb_skip_flagであっても、Context(C) の値に応じて、異なる算術符号化エンジンにより符号化処理が行なわれる。
 次に、2値化処理について述べる。シンタクス要素における非2値化データは、以下の図21に示されるunary_codeにより、2値データに変換され、算術符号化処理が行なわれる。
 但し、マクロブロックタイプに関しては、この限りでなく、Iスライス、Pスライス、Bスライスのぞれぞれに対して、図22、図23、図24に示されるような不規則なテーブルが規定されている。
[コスト関数]
 ところで、AVC符号化方式において、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。
 かかる選択方式の例として、http://iphome.hhi.de/suehring/tml/index.htm において公開されている、JM (Joint Model) と呼ばれるH.264/MPEG-4 AVCの参照ソフトウエアに実装されている方法を挙げることが出来る。
 JMにおいては、以下に述べる、High Complexity Modeと、Low Complexity Modeの2通りのモード判定方法を選択することが可能である。どちらも、それぞれの予測モードModeに関するコスト関数値を算出し、これを最小にする予測モードを当該ブロック乃至マクロブロックに対する最適モードとして選択する。
 High Complexity Modeにおけるコスト関数は、以下の式(69)のようになる。
 Cost(Mode∈Ω) = D + λ*R ・・・(69)
 ここで、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合、Dは、当該予測モードModeで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Rは、直交変換係数を含んだ、当該モードModeで符号化した場合の総符号量である。
 つまり、High Complexity Modeでの符号化を行なうには、上記パラメータD及びRを算出するため、全ての候補モードModeにより、一度、仮エンコード処理を行なう必要があり、より高い演算量を要する。
 Low Complexity Modeにおけるコスト関数は、以下の式(70)のようになる。
 Cost(Mode∈Ω) = D + QP2Quant(QP) * HeaderBit ・・・(70)
 ここで、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。QP2Quant(QP) は、量子化パラメータQPの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
 すなわち、Low Complexity Modeにおいては、それぞれの候補モードModeに関して、予測処理を行なう必要があるが、復号化画像までは必要ないため、符号化処理まで行なう必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
 ところで、イントラ予測においては、より頻繁に出現する予測モードについて、より短いコード番号(code_number)を割り当てることにより、より符号化効率を向上させることが可能である。しかしながら、より頻繁に出現する予測モードは、シーケンスやビットレートによって変化するものであるのに、AVC符号化方式においては、その割当は固定されたものであったため、最適な符号効率を実現することは困難であった。
 そこで、画像符号化装置100は、イントラ予測における、各予測モードに対するコード番号(code_number)の割り当てを、フィードバック処理により、適応的に切り替えることにより、シーケンス、ビットレートに応じた、最適なコード番号(code_number)の割り当てを実現し、符号化効率の向上を実現する。
[動作原理]
 以下では、まず、イントラ予測部114とコード番号割り当て部121における動作原理について述べる。
 イントラ予測部114は、AVC符号化方式に準ずるイントラ予測処理を行なう。但し、Vertical, Horizontal, DCといった、予測モードに対するコード番号(code_number)の割り当ては、AVC符号化方式のように、固定されたものでなく、以下のように適応的に行われる。
 すなわち、まず、初期値として、AVC符号化方式と同様のコード番号(code_number)割り当て方法が設定されており、これに基づいて、参照画像が格納されているバッファのクリアを行なうことでそのスライスから再生が可能であることを保証するIDR(Instantaneous Decoder Refresh)スライスの符号化処理が行われる。
 符号化処理が行なわれた後、各イントラ予測モードの数がどれだけであったかのカウントが行われ、多い順にソーティングを行なわれる。この結果、より出現頻度の高かった予測モードに対して、より小さな値のコード番号(code_number)が割り当てられるよう、コード番号(code_number)の順序の入れ替えが行なわれる。
 第2番目のIスライスを符号化する際には、この、割り当ての変更が行われたコード番号(code_number)を用いたイントラ符号化処理が行なわれる。つまり、1つ前のスライスにおいて出現頻度が高かったイントラ予測モード程、より小さな値が割り当てられるように、コード番号(code_number)の割り当てが行われる。
 このように、符号化結果に基づいて、コード番号(code_number)の割り当てを適応的に行なうことにより、シーケンス、ビットレートに適したコード番号(code_number)の割り当てを行なうことが可能であり、画像符号化装置100の出力となるコードストリームにおいて、より高い符号化効率を実現することが可能となる。
 また、このような出現頻度に基づくコード番号(code_number)の適応的な割り当ては、復号装置においても、同様の動作原理を実行することが可能である。つまり、コード番号(code_number)の割り当てに関する情報を、コードストリームとともに伝送する必要がないため、本技術は、そのような情報を付加することによる符号化効率の低下がないという利点も有する。
 なお、通常、IスライスとIスライスの間には、複数のPスライス若しくはBスライスが存在するが、Pスライス若しくはBスライスにおいても、イントラマクロブロックは存在しうる。本技術においては、Pスライス若しくはBスライスにおけるイントラマクロブロックに対して、以下の動作原理を行なうものとする。
 すなわち、第1の方法は、Pスライス若しくはBスライスにおいては、上述したようなモード分布によるコード番号(code_number)の割り当て(出現頻度の高い予測モード程、より小さな値のコード番号を割り当てる方法)を行なわず、例えば、AVC等において採用されているような、予め定義されたコード番号(code_number)の割り当てを用いる方法である。
 この方法は、コード番号の割り当てのための演算等が不要であるので、容易に実現可能であるものの、従来の方法と同様に、適応的な割り当ては行われない。
 第2の方法は、Pスライス若しくはBスライスにおいては、モード分布によるコード番号(code_number)の割り当てを行なわず、直前のIスライスの符号化結果により割り当てられたコード番号(code_number)を用いる方法である。
 この方法は、直前のIスライスにおける割り当てを利用するので、コード番号の割り当てのための演算等が不要であるので、容易に実現可能である。また、第1の方法よりは、適応的な割り当てを行なうことができる。
 第3の方法は、第2の方法に準するが、Pスライス若しくはBスライスにおいて、イントラマクロブロックが所定の割合以上発生した場合、モードの分布に基づくコード番号(code_number)の割り当てを行ない、それ以降のPスライス若しくはBスライスに適用する方法である。
 例えば、閾値を50%とし、Pスライス若しくはBスライスにおいて、当該スライスに含まれるマクロブロックの50%未満がイントラマクロブロックである場合、第2の方法のように、直前のIスライスの符号化結果により割り当てられたコード番号(code_number)を用い、当該スライスに含まれるマクロブロックの50%以上がイントラマクロブロックである場合、モードの分布に基づくコード番号(code_number)の割り当てを行ない、それ以降のPスライス若しくはBスライスに適用するようにする。
 つまり、第2の方法に加え、さらに、処理対象のPスライス若しくはBスライスが、直前のIスライスと同様の特性を有する場合、Iスライスのように、モードの分布に基づくコード番号(code_number)の割り当てを行なう。このようにすることにより、PスライスやBスライスに対して、さらに適応的にコード番号(code_number)の割り当てを行なうことができる。
 もちろん、これら3つの方法以外の方法で、PスライスやBスライスのイントラマクロブロックに対してコード番号の割り当てが行なわれるようにしてもよい。
 ところで、以上においては、直前のIスライスに対するモード分布に基づいてコード番号(code_number)の割り当てを行なうことにより、より適切な割り当てを行うことができるように説明したが、シーンチェンジが発生した場合はこの限りではない。
 一般的に、シーンチェンジの前後のフレーム間では、画像の内容が大きく変化するので、シーンチェンジが発生したスライスにおいて、直前のIスライスに対するモード分布に基づいてコード番号(code_number)の割り当てを行なうと、画質劣化を引き起こす原因となる恐れがある。
 そこで、シーンチェンジ後の最初のIスライスでは、直前のIスライスにおける更新されたコード番号(code_number)ではなく、例えばAVC符号化方式等において採用されているように、予め定められたコード番号(code_number)割り当て方法(すなわち、初期値)が適用されるようにする。また、コードストリームに含まれるそれぞれのスライスヘッダにおいて、default_ipred_code_number_allocation_flagなる1ビットのフラグが伝送されるようにする。
 default_ipred_code_number_allocation_flagは、コード番号(code_number)の割り当て方法として、予め設定されている初期値を用いるか、更新された値を用いるかを指定するフラグ情報である。コードストリームを受信する画像復号装置は、このフラグ情報を参照することにより、画像符号化装置100において、予め定められた(既知の)コード番号割り当て方法を適用したか、上述したように直前のIスライスにおけるモード分布に応じて適応的に更新したコード番号割り当て方法を適用したかを容易に把握することができる。つまり、画像復号装置側において、コード番号割り当て方法を把握するために、シーンチェンジなどを改めて検出する必要がなくなる。
 例えば、default_ipred_code_number_allocation_flagの値が「0」の場合、画像復号装置は、画像符号化装置100が、当該スライスにおいて、モード分布に応じて適応的に更新したコード番号割り当て方法を適用したと判定する。
 また、例えば、default_ipred_code_number_allocation_flagの値が「1」の場合、画像復号装置は、画像符号化装置100が、当該スライスにおいて、予め定められた(既知の)コード番号割り当て方法を適用したと判定する。つまり、この場合、例えば、当該スライスにおいてシーンチェンジが発生している。
 このような処理を行なうことにより、シーンチェンジ前のIスライスとは異なる分布に基づくコード番号(code_number)の割り当て方法により、シーンチェンジ後の最初のIスライスを符号化することができる(画像復号装置側においても対応することができる)。したがって、画像符号化装置100は、シーンチェンジが発生しても画質が劣化しないように、適切にコード番号の割り当てを行なうことができる。
 本技術は、イントラ4×4予測モード、イントラ8×8予測モード、イントラ16×16モード、色差信号に対するイントラ予測モードの全てに適応することが可能である。更に、引用文献1において示されているような、拡張されたマクロブロックに対して適用することも可能である。
[コード番号割り当て部121]
 図25は、コード番号割り当て部121の詳細な構成例を示すブロック図である。図25に示されるように、コード番号割り当て部121は、IDR検出部151、シーンチェンジ検出部152、コード番号決定部153、予測モードバッファ154、および予測モード集計部155を有する。
 まず、イントラ予測部114において、イントラ予測処理により、各ブロックに対するイントラ予測モードが決定されると、その予測モードに関する情報が、予測モードバッファ154に供給される。予測モードバッファ154は、その予測モードに関する情報を1スライス分蓄積する。
 予測モードバッファ154に蓄積された1スライス分のイントラ予測モードは、予測モード集計部155に供給される。予測モード集計部155は、各モードにおける予測モードの集計処理を行ない、その集計結果、つまり、イントラ予測モードの出現頻度を示す情報をコード番号決定部153に供給する。
 また、入力画像情報が、画面並べ替えバッファ102から、コード番号割り当て部121に供給される。IDR検出部151は、供給される入力画像情報について、IDRスライスの検出を行なう。IDR検出部151は、その検出結果として、処理対象の当該スライスがIDRスライスであるか否かを示す情報(IDR/非IDR)をコード番号決定部153に供給する。
 シーンチェンジ検出部152は、供給される入力画像情報について、処理対象の当該Iスライス(現フレーム)において、シーンチェンジが起きているかどうかの検出処理を行ない、シーンチェンジの有無に関する情報を、コード番号決定部153に供給する。シーンチェンジの検出方法は任意である。例えば、画素値の平均値や分散(ヒストグラム)を処理済の前フレームと、処理対象の現フレームとで比較し、その差が所定の閾値より大きい場合、シーンチェンジが発生したと判定するようにしてもよい。
 コード番号決定部153は、IDR検出部151においてIDRが検出されず(当該スライスがIDRスライスで無いと判定され)、かつ、シーンチェンジ検出部152においてシーンチェンジがないと判定された場合、予測モード集計部155から供給されるイントラ予測モードの出現頻度を示す情報に基づいて、次のIスライスのために、イントラ予測モードの出現頻度に応じたコード番号(code_number)の割り当てを行なう(更新する)。
 つまり、コード番号決定部153は、出現頻度がより高い予測モードに対して、値がより小さなコード番号(code_number)を割り当てる。コード番号決定部153は、この更新したコード番号(code_number)の割り当てをイントラ予測部114に通知する。
 また、コード番号決定部153は、default_ipred_code_number_allocation_flagの値を0に設定し、その値を、可逆符号化部106に供給する。
 これに対して、IDR検出部151においてIDRが検出された場合(当該スライスがIDRスライスであると判定された場合)、コード番号決定部153は、予め定められている初期設定(コード番号の割り当て方法)を採用する。例えば、コード番号決定部153は、AVC符号化方式において採用されているコード割り当て方法を初期設定とする。もちろん、この初期設定はどのような割り当て方法であってもよい。コード番号決定部153は、このコード番号(code_number)割り当ての初期値を、イントラ予測部114に通知する。
 また、シーンチェンジ検出部152においてシーンチェンジが検出された場合、コード番号決定部153は、予め定められている初期設定(コード番号の割り当て方法)を採用する。例えば、コード番号決定部153は、AVC符号化方式において採用されているコード割り当て方法を初期設定とする。もちろん、この初期設定はどのような割り当て方法であってもよい。コード番号決定部153は、このコード番号(code_number)割り当ての初期値を、イントラ予測部114に通知する。
 また、コード番号決定部153は、default_ipred_code_number_allocation_flagの値を1に設定し、その値を、可逆符号化部106に供給する。
 なお、default_ipred_code_number_allocation_flagの値は任意である。例えば、シーンチェンジが検出された場合の値を0とし、シーンチェンジが検出されなかった場合の値を1とするようにしてもよい。このようにシーンチェンジの有無を表すことができればよいので、その他の値でももちろんよい。また、そのビット長も任意であり、例えば2ビット以上であってもよい。また、default_ipred_code_number_allocation_flagの有無により、シーンチェンジの有無を表すようにしてもよい。
 また、IDRスライスにおいても、default_ipred_code_number_allocation_flagを伝送するようにしてもよい。その場合、フラグの値は、シーンチェンジが発生した場合と同様に1に設定される。若しくは、IDRスライスの検出と、シーンチェンジの発生とを識別することができるように、例えば2等のような、シーンチェンジが発生した場合の値とも、シーンチェンジが発生していない場合の値とも異なる値にするようにしてもよい。
 ところで、当該スライスがPスライス若しくはBスライスの場合、コード番号決定部153は、当該スライスにおけるイントラマクロブロックの割合が、例えば、50%以上といったように、所定の閾値以上のときのみ、コード番号(code_number)の更新を行なう。このとき、コード番号決定部153は、イントラ予測モードの出現頻度に応じた最新のコード番号(code_number)割り当てを、イントラ予測部114に供給する。
 例えば、当該スライスにおけるイントラマクロブロックの割合が所定の閾値未満の場合、上述した第2の方法のように、直前のIスライスの符号化結果により割り当てられたコード番号(code_number)が、コード番号(code_number)の割り当てとしてイントラ予測部114に供給される。
 このように、コード番号決定部153が、適宜、イントラ予測モードに対するコード番号の割り当てを、イントラ予測モードの出現頻度に応じて適応的に設定する。これにより、画像符号化装置100は、より符号化効率を向上させたコードストリームを生成することができる。
[符号化処理の流れ]
 次に、以上のような画像符号化装置100により実行される各処理の流れについて説明する。最初に、図26のフローチャートを参照して、符号化処理の流れの例を説明する。
 ステップS101において、A/D変換部101は入力された画像をA/D変換する。ステップS102において、画面並べ替えバッファ102は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行なう。
 ステップS103において、演算部103は、ステップS102の処理により並び替えられた画像と、予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部115から、イントラ予測する場合はイントラ予測部114から、選択部116を介して演算部103に供給される。
 差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
 ステップS104において、直交変換部104は、ステップS103の処理により生成された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
 ステップS105において、量子化部105は、ステップS104の処理により得られた直交変換係数を量子化する。
 ステップS105の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS106において、逆量子化部108は、ステップS105の処理により生成された量子化された直交変換係数(量子化係数とも称する)を量子化部105の特性に対応する特性で逆量子化する。ステップS107において、逆直交変換部109は、ステップS106の処理により得られた直交変換係数を、直交変換部104の特性に対応する特性で逆直交変換する。
 ステップS108において、演算部110は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部103への入力に対応する画像)を生成する。ステップS109においてデブロックフィルタ111は、ステップS108の処理により生成された画像をフィルタリングする。これによりブロック歪みが除去される。
 ステップS110において、フレームメモリ112は、ステップS109の処理によりブロック歪みが除去された画像を記憶する。なお、フレームメモリ112にはデブロックフィルタ111によりフィルタ処理されていない画像も演算部110から供給され、記憶される。
 ステップS111において、イントラ予測部114は、イントラ予測モードのイントラ予測処理を行なう。ステップS112において、動き予測・補償部115は、インター予測モードでの動き予測や動き補償を行なうインター動き予測処理を行なう。
 ステップS113において、選択部116は、イントラ予測部114および動き予測・補償部115から出力された各コスト関数値に基づいて、最適予測モードを決定する。つまり、選択部116は、イントラ予測部114により生成された予測画像と、動き予測・補償部115により生成された予測画像のいずれか一方を選択する。
 また、このいずれの予測画像が選択されたかを示す選択情報は、イントラ予測部114および動き予測・補償部115のうち、予測画像が選択された方に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部114は、最適イントラ予測モードを示す情報(すなわち、イントラ予測モード情報)を、可逆符号化部106に供給する。
 最適インター予測モードの予測画像が選択された場合、動き予測・補償部115は、最適インター予測モードを示す情報と、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部106に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報やフラグ情報、参照フレーム情報などがあげられる。
 ステップS114において、可逆符号化部106は、ステップS105の処理により量子化された変換係数を符号化する。すなわち、差分画像(インターの場合、2次差分画像)に対して、可変長符号化や算術符号化等の可逆符号化が行われる。
 なお、可逆符号化部106は、ステップS105において算出された量子化パラメータを符号化し、符号化データに付加する。また、可逆符号化部106は、ステップS113の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部106は、イントラ予測部114から供給されるイントラ予測モード情報、または、動き予測・補償部115から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
 可逆符号化部106は、default_ipred_code_number_allocation_flagがコード番号決定部153から供給された場合、そのフラグ情報も符号化し、符号化データに付加する。
 ステップS115において蓄積バッファ107は、可逆符号化部106から出力される符号化データを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路を介して復号側に伝送される。
 ステップS116においてレート制御部117は、ステップS115の処理により蓄積バッファ107に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 ステップS116の処理が終了すると、符号化処理が終了される。
[イントラ予測処理の流れ]
 次に、図27のフローチャートを参照して、図26のステップS111において実行されるイントラ予測処理の流れの例を説明する。
 イントラ予測処理が開始されると、コード番号割り当て部121は、ステップS131において、イントラ予測モードに対するコード番号の割り当てを行なう。
 ステップS132において、イントラ予測部114は、イントラ4×4予測モード、イントラ8×8予測モード、およびイントラ16×16モード等の、各イントラ予測モードのそれぞれのモードに対するコスト関数値を算出する。ステップS133において、イントラ予測部114は、各イントラ予測モードに対して最適モードを決定する。
 ステップS134において、イントラ予測部114は、各イントラ予測モードの最適モードを比較し、最適イントラ予測モードを選択する。最適イントラ予測モードを選択すると、イントラ予測部114は、イントラ予測処理を終了し、処理を図26のステップS111に戻し、ステップS112以降の処理を実行させる。
[Iスライスのコード番号割り当て処理の流れ]
 次に、図27のステップS131において実行されるコード番号割り当て処理の流れの例を説明する。最初に、図28のフローチャートを参照して、Iスライスのコード番号割り当て処理の流れの例を説明する。
 コード番号割り当て部121は、画面並べ替えバッファ102から供給される入力画像情報の、処理対象である当該スライスの種類を判定し、当該スライスがIスライスである場合、このIスライスのコード番号割り当て処理を開始する。
 処理が開始されると、IDR検出部151は、ステップS151において、画面並べ替えバッファ102から供給される入力画像情報から、当該スライスがIDRスライスであるか否かを判定する。IDRスライスでないと判定した場合、IDR検出部151は、処理をステップS152に進める。
 ステップS152において、シーンチェンジ検出部152は、画面並べ替えバッファ102から供給される入力画像情報から、当該スライス(現フレーム)においてシーンチェンジが発生したか否かを判定する。現フレームにおいてシーンチェンジが発生しておらず、当該スライスにシーンチェンジが含まれていないと判定された場合、シーンチェンジ検出部152は、その旨をコード番号決定部153に通知し、処理をステップS153に進める。
 ステップS153において、コード番号決定部153は、当該スライスにおいてシーンチェンジが発生していないので、default_ipred_code_number_allocation_flagの値を「0」に設定し、処理をステップS156に進める。
 また、ステップS152において、当該スライスにシーンチェンジが含まれていると判定された場合、シーンチェンジ検出部152は、処理をステップS154に進める。
 ステップS154において、コード番号決定部153は、当該スライスにおいてシーンチェンジが発生したことを示すように、default_ipred_code_number_allocation_flagの値を「1」に設定し、処理をステップS155に進める。
 また、ステップS151において、当該スライスがIDRスライスであると判定された場合、IDR検出部151は、その旨をコード番号決定部153に通知し、処理をステップS155に進める。
 ステップS155において、コード番号決定部153は、コード番号の割り当てをデフォルトの設定に初期化する。例えば、コード番号決定部153は、AVC符号化方式において定められているコード番号の割り当て方法を初期値とする。ステップS155の処理を終了すると、コード番号決定部153は、処理をステップS156に進める。
 ステップS156において、イントラ予測部114は、コード番号決定部153から供給されるコード番号の割り当てを適用し、イントラ予測を行なう。
 つまり、例えば、ステップS155においてコード番号の割り当てが初期化されている場合、イントラ予測部114は、その初期設定の割り当て方法を、コード番号の割り当てとして採用し、イントラ予測を行なう。また、例えば、ステップS153においてフラグが0に設定された場合、イントラ予測部114は、直前のIフレームにおけるモード分布に基づいて更新された割り当て方法を、コード番号の割り当てとして採用し、イントラ予測を行なう。
 イントラ予測部114は、各ブロックにおけるイントラ予測モードを予測モードバッファ154に供給して保持させる。
 予測モード集計部155は、ステップS157において、予測モードバッファ154に保持されるデータを参照し、発生した予測モードを集計する。予測モード集計部155は、その集計結果(イントラ予測モードの出現頻度)をコード番号決定部153に供給する。
 コード番号決定部153は、ステップS158において、次のスライスのために、コード番号の割り当てを更新する。つまり、コード番号決定部153は、各予測モードに対して、出現頻度が高い順に、より小さな値のコード番号を割り当てる。
 ステップS159において、コード番号決定部153は、コード番号割り当て処理を終了するか否かを判定し、終了しないと判定された場合、処理をステップS151に戻し、それ以降の処理を繰り返させる。
 また、ステップS159において、コード番号割り当て処理を終了すると判定された場合、コード番号決定部153は、コード番号割り当て処理を終了し、処理を図27のステップS131に戻し、ステップS132以降の処理を実行させる。
[PスライスまたはBスライスのコード番号割り当て処理の流れ]
 次に、図29のフローチャートを参照して、PスライスまたはBスライスのコード番号割り当て処理の流れの例を説明する。
 コード番号割り当て部121は、画面並べ替えバッファ102から供給される入力画像情報の、処理対象である当該スライスの種類を判定し、当該スライスがIスライスでない(PスライスまたはBスライスである)場合、このPスライスまたはBスライス(P,Bスライス)のコード番号割り当て処理を開始する。
 処理が開始されると、ステップS171において、コード番号決定部153は、コード番号の割り当てを、予め定められた初期設定に初期化する。例えば、コード番号決定部153は、AVC符号化方式において定められているコード番号割り当て方法を、初期設定とする。
 ステップS172において、イントラ予測部114は、コード番号決定部153から供給されるコード番号の割り当てを適用し、イントラ予測を行なう。イントラ予測部114は、各ブロックにおけるイントラ予測モードを予測モードバッファ154に供給して保持させる。
 予測モード集計部155は、ステップS173において、予測モードバッファ154に保持されるデータを参照し、発生した予測モードを集計する。予測モード集計部155は、その集計結果(イントラ予測モードの出現頻度)をコード番号決定部153に供給する。
 ステップS174において、コード番号決定部153は、イントラマクロブロックの割合が所定の閾値以上であるか否かを判定する。当該スライスに含まれるイントラマクロブロックが所定の割合以上であると判定された場合、そのPスライス若しくはBスライスは、Iスライスに似た特性を有するとみなすことができる。
 したがって、コード番号決定部153は、処理をステップS175に進め、Iスライスの場合と同様に、イントラ予測モードに対するコード番号の割り当てを更新させる。
 つまり、コード番号決定部153は、出現頻度がより高い予測モードに対して、値がより小さなコード番号を割り当てる。
 また、当該スライスに含まれるイントラマクロブロックが所定の割合未満であると判定された場合、コード番号決定部153は、処理をステップS176に進め、コード番号の割り当てを、予め定められている初期設定に初期化する。例えば、コード番号決定部153は、AVC符号化方式において定められているコード番号割り当て方法を、初期設定とする。なお、このステップS176において、コード番号の割り当てが初期化される代わりに、直前のIフレームのコード番号の割り当てが採用されるようにしてもよい。
 ステップS175若しくはステップS176の処理が終了すると、コード番号決定部153は、ステップS177において、コード番号割り当て処理を終了するか否かを判定し、終了しないと判定された場合、処理をステップS172に戻し、それ以降の処理を繰り返させる。
 また、ステップS177において、コード番号割り当て処理を終了すると判定された場合、コード番号決定部153は、コード番号割り当て処理を終了し、処理を図27のステップS131に戻し、ステップS132以降の処理を実行させる。
 以上のように、例えばAVC符号化方式のように、複数の予測モードを用いたイントラ符号化処理を行なう方式に基づく画像符号化装置100において、イントラ予測における、各予測モードに対するコード番号(code_number)の割り当てを、フィードバック処理により、適応的に切り替えることにより、シーケンスやビットレートに応じた、最適なコード番号(code_number)の割り当てを実現し、出力するコードストリームの符号化効率の向上を実現することができる。
 また、IDRスライスの場合やシーンチェンジが発生した場合に、コード番号の割り当てを初期化するようにしたので、画像符号化装置100は、コード番号の割り当てを上述したように予測モードの出現頻度に応じて更新するようにすることによる画質の劣化を抑制することができる。
 さらに、画像符号化装置100は、シーンチェンジが発生したことを示すフラグ情報を画像復号装置に提供することにより、画像復号装置がより容易にシーンチェンジの発生を把握することができるようにすることができる。
<2.第2の実施の形態>
[画像復号装置]
 図30は、画像復号装置の主な構成例を示すブロック図である。図30に示される画像復号装置200は、画像符号化装置100に対応する復号装置である。
 画像符号化装置100より符号化された符号化データは、所定の伝送路を介して、この画像符号化装置100に対応する画像復号装置200に伝送され、復号されるものとする。
 図30に示されるように、画像復号装置200は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、デブロックフィルタ206、画面並べ替えバッファ207、およびD/A変換部208を有する。また、画像復号装置200は、フレームメモリ209、選択部210、イントラ予測部211、動き予測・補償部212、および選択部213を有する。
 さらに、画像復号装置200は、コード番号割り当て部221を有する。
 蓄積バッファ201は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置100により符号化されたものである。可逆復号部202は、蓄積バッファ201から所定のタイミングで読み出された符号化データを、図1の可逆符号化部106の符号化方式に対応する方式で復号する。
 可逆復号部202は、符号化データを復号して得られた係数データを逆量子化部203に供給する。
 また、可逆復号部202は、符号化データ(コードストリーム)に含まれるヘッダ情報を復号して抽出し、コード番号割り当て部221に供給する。さらに、可逆復号部202は、符号化データ(コードストリーム)に含まれるフラグ情報を復号して抽出し、コード番号割り当て部221に供給する。例えば、可逆復号部202は、画像符号化装置100より供給されるdefault_ipred_code_number_allocation_flagをコード番号割り当て部221に供給する。
 逆量子化部203は、可逆復号部202により復号されて得られた係数データ(量子化係数)を、図1の量子化部105の量子化方式に対応する方式で逆量子化する。
 逆量子化部203は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部204に供給する。逆直交変換部204は、図1の直交変換部104の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置100において直交変換される前の残差データに対応する復号残差データを得る。
 逆直交変換されて得られた復号残差データは、演算部205に供給される。また、演算部205には、選択部213を介して、イントラ予測部211若しくは動き予測・補償部212から予測画像が供給される。
 演算部205は、その復号残差データと予測画像とを加算し、画像符号化装置100の演算部103により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部205は、その復号画像データをデブロックフィルタ206に供給する。
 デブロックフィルタ206は、供給された復号画像のブロック歪を除去した後、画面並べ替えバッファ207に供給する。
 画面並べ替えバッファ207は、画像の並べ替えを行なう。すなわち、図1の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部208は、画面並べ替えバッファ207から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
 デブロックフィルタ206の出力は、さらに、フレームメモリ209に供給される。
 フレームメモリ209、選択部210、イントラ予測部211、動き予測・補償部212、および選択部213は、画像符号化装置100のフレームメモリ112、選択部113、イントラ予測部114、動き予測・補償部115、および選択部116にそれぞれ対応する。
 選択部210は、インター処理される画像と参照される画像をフレームメモリ209から読み出し、動き予測・補償部212に供給する。また、選択部210は、イントラ予測に用いられる画像をフレームメモリ209から読み出し、イントラ予測部211に供給する。
 イントラ予測部211には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部202から適宜供給される。イントラ予測部211は、この情報に基づいて、フレームメモリ209から取得した参照画像から予測画像を生成し、生成した予測画像を選択部213に供給する。
 このとき、イントラ予測部211は、コード番号割り当て部221を用いて、予測モードの出現頻度に応じて適切なコード番号割り当てを行う。つまり、イントラ予測部211は、画像符号化装置100のイントラ予測部114が採用したコード番号割り当て方法を再現し、イントラ予測部114と同様のコード番号割り当て方法により、イントラ予測を行う。
 動き予測・補償部212は、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等)を可逆復号部202から取得する。
 動き予測・補償部212は、可逆復号部202から供給されるそれらの情報に基づいて、フレームメモリ209から取得した参照画像から予測画像を生成し、生成した予測画像を選択部213に供給する。
 選択部213は、動き予測・補償部212またはイントラ予測部211により生成された予測画像を選択し、演算部205に供給する。
 コード番号割り当て部221は、画像符号化装置100のコード番号割り当て部121と基本的に同様の構成を有し、同様の処理を行う。つまり、コード番号割り当て部221は、コード番号割り当て部121の場合と同様に、予測モードの出現頻度に応じた適応的なコード番号の割り当てを行う。
 つまり、画像復号装置200は、自分自身で、画像符号化装置100と同様のコード番号割り当てを行うことができる。したがって、画像符号化装置100からコード番号割り当て方法の情報を供給してもらう必要がないので、コードストリームの符号化効率の低減を抑制することができる。
[コード番号割り当て部]
 図31は、コード番号割り当て部221の詳細な構成例を示すブロック図である。図31に示されるように、コード番号割り当て部221は、IDR検出部251、フラグ判定部252、コード番号決定部253、予測モードバッファ254、および予測モード集計部255を有する。
 まず、イントラ予測部211によるイントラ予測処理により、各ブロックに対するイントラ予測モードが決定されると、その予測モードに関する情報が、予測モードバッファ254に供給される。予測モードバッファ254は、その予測モードに関する情報を、1スライス分蓄積する。
 ここで蓄積された1スライス分のイントラ予測モードは、予測モード集計部255に供給される。予測モード集計部255は、各モードにおける予測モードの集計処理を行ない、その集計結果(イントラ予測モードの出現頻度)を示す情報を、コード番号決定部253に供給する。
 IDR検出部251は、可逆復号部202から供給される、画像復号装置200が受信したコードストリームのヘッダ情報に基づいてIDRスライスの検出を行う。IDR検出部251は、その検出結果(当該スライスがIDRスライスであるか否かを示す情報(IDR/非IDR))をコード番号決定部253に供給する。
 フラグ判定部252は、画像符号化装置100から符号化データとともに供給され、可逆復号部202により抽出されたdefault_ipred_code_number_allocation_flagを取得し、その値を判定する。フラグ判定部252は、そのフラグ値をコード番号決定部253に通知する。
 コード番号決定部253は、処理対象スライスが、Iスライスであり、IDRスライスでなく、かつ、シーンチェンジが発生していない場合、予測モード集計部255による集計結果に基づいて、出現頻度が高い予測モードに対して、値のより小さなコード番号を割り当てるように、コード番号の割り当てを更新する。コード番号決定部253は、更新したコード番号割り当てをイントラ予測部211に通知する。
 処理対象スライスがIDRスライスであったり、シーンチェンジが発生していたりする場合、コード番号決定部253は、コード番号割り当てを、予め定められた所定の初期値に設定する(初期化する)。この初期設定は、画像符号化装置100と共通である。コード番号決定部253は、コード番号割り当てを初期化した旨をイントラ予測部211に通知する。
 処理対象がPスライスやBスライスの場合、コード番号決定部253は、イントラマクロブロックが所定の閾値以上存在するのであれば、Iスライスの場合と同様に、予測モード集計部255による集計結果に基づいて、出現頻度が高い予測モードに対して、値のより小さなコード番号を割り当てるように、コード番号の割り当てを更新する。コード番号決定部253は、更新したコード番号割り当てをイントラ予測部211に通知する。
 また、処理対象がPスライスやBスライスであり、かつ、イントラマクロブロックが所定の閾値未満である場合、コード番号決定部253は、コード番号の割り当てを、直前のIスライスと同様にする。なお、コード番号割り当てを初期化するようにしてもよい。コード番号決定部253は、コード番号割り当てをイントラ予測部211に通知する。
[復号処理の流れ]
 次に、以上のような画像復号装置200により実行される各処理の流れについて説明する。最初に、図32のフローチャートを参照して、復号処理の流れの例を説明する。
 復号処理が開始されると、ステップS201において、蓄積バッファ201は、伝送されてきた符号化データを蓄積する。ステップS202において、可逆復号部202は、蓄積バッファ201から供給される符号化データを復号する。すなわち、図1の可逆符号化部106により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
 このとき、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モード)、並びに、各種フラグや量子化パラメータ等の情報も復号される。
 予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部211に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報は、動き予測・補償部212に供給される。
 ステップS203において、逆量子化部203は、可逆復号部202により復号されて得られた、量子化された直交変換係数を、図1の量子化部105による量子化処理に対応する方法で逆量子化する。ステップS204において逆直交変換部204は逆量子化部203により逆量子化されて得られた直交変換係数を、図1の直交変換部104による直交変換処理に対応する方法で逆直交変換する。これにより図1の直交変換部104の入力(演算部103の出力)に対応する差分情報が復号されたことになる。
 ステップS205において、演算部205は、ステップS204の処理により得られた差分情報に、予測画像を加算する。これにより元の画像データが復号される。
 ステップS206において、デブロックフィルタ206は、ステップS205の処理により得られた復号画像を適宜フィルタリングする。これにより適宜復号画像からブロック歪みが除去される。
 ステップS207において、フレームメモリ209は、フィルタリングされた復号画像を記憶する。
 ステップS208において、イントラ予測部211、または動き予測・補償部212は、可逆復号部202から供給される予測モード情報に対応して、それぞれ画像の予測処理を行なう。
 すなわち、可逆復号部202からイントラ予測モード情報が供給された場合、イントラ予測部211は、イントラ予測モードのイントラ予測処理を行なう。また、可逆復号部202からインター予測モード情報が供給された場合、動き予測・補償部212は、インター予測モードの動き予測処理を行なう。
 ステップS209において、選択部213は予測画像を選択する。すなわち、選択部213には、イントラ予測部211により生成された予測画像、若しくは、動き予測・補償部212により生成された予測画像が供給される。選択部213は、その予測画像が供給された側を選択し、その予測画像を演算部205に供給する。この予測画像は、ステップS205の処理により差分情報に加算される。
 ステップS210において、画面並べ替えバッファ207は、復号画像データのフレームの並べ替えを行なう。すなわち、復号画像データの、画像符号化装置100の画面並べ替えバッファ102(図1)により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS211において、D/A変換部208は、画面並べ替えバッファ207においてフレームが並べ替えられた復号画像データをD/A変換する。この復号画像データが図示せぬディスプレイに出力され、その画像が表示される。
[予測処理の流れ]
 次に、図33のフローチャートを参照して、図32のステップS208において実行される予測処理の詳細な流れの例を説明する。
 予測処理が開始されると、可逆復号部202は、ステップS231において、復号した予測モード情報に基づいて、符号化データがイントラ符号化されているか否かを判定する。
 イントラ符号化されていると判定された場合、可逆復号部202は、処理をステップS232に進める。
 ステップS232において、コード番号割り当て部221は、イントラ予測モードに対するコード番号の割り当てを行なう。ステップS233において、イントラ予測部211は、イントラ予測モードを可逆復号部202から取得する。ステップS234において、イントラ予測部211は、イントラ予測画像を生成する。
 予測画像を生成すると、イントラ予測部211は、生成した予測画像を、選択部213を介して演算部205に供給し、予測処理を終了して、処理を図32のステップS208に戻し、ステップS209以降の処理を実行させる。
 また、図33のステップS231において、インター符号化されていると判定された場合、可逆復号部202は、処理をステップS234に進める。
 ステップS235において、動き予測・補償部212は、可逆復号部282より、動き予測モード、参照フレーム、および差分動きベクトル情報等、予測画像の生成に必要な情報を取得する。
 ステップS236において、動き予測・補償部212は、指定されたモードで動きベクトル情報を復号する。
 ステップS237において、動き予測・補償部212は、復号された動きベクトル情報を用いて参照画像から予測画像を生成する。
 予測画像を生成すると、動き予測・補償部212は、生成した予測画像を、選択部213を介して演算部205に供給し、予測処理を終了して、処理を図32のステップS208に戻し、ステップS209以降の処理を実行させる。
[Iスライスのコード番号割り当て処理の流れ]
 次に、図33のステップS232において実行されるIスライスに対するコード番号割り当て処理の流れを、図34のフローチャートを参照して説明する。コード番号割り当て部221は、可逆復号部202から供給されるヘッダ情報に基づいて、処理対象スライスがIスライスであることを把握すると、図34に示されるような、Iスライスに対するコード番号割り当て処理を実行する。
 Iスライスに対するコード番号割り当て処理が開始されると、ステップS251において、IDR検出部251は、処理対象スライスがIDRスライスであるか否かを判定する。IDRスライスでないと判定された場合、IDR検出部251は、処理をステップS252に進める。
 ステップS252において、フラグ判定部252は、可逆復号部202より、フラグ情報default_ipred_code_number_allocation_flagを取得する。ステップS253において、フラグ判定部252は、default_ipred_code_number_allocation_flagの値が1であるか否かを判定する。default_ipred_code_number_allocation_flagの値が0であると判定された場合、フラグ判定部252は、処理をステップS255に進める。
 また、ステップS253において、default_ipred_code_number_allocation_flagの値が1であると判定された場合、フラグ判定部252は、処理をステップS254に進める。
 さらに、ステップS251において、処理対象スライスがIDRスライスであると判定された場合、IDR検出部251は、処理をステップS254に進める。
 ステップS254において、コード番号決定部253は、当該スライスに対するコード番号の割り当てを初期化する。コード番号の割り当てを初期化すると、コード番号決定部253は、処理をステップS255に進める。
 ステップS255において、イントラ予測部211は、コード番号割り当て部221により設定されたコード番号割り当てを用いて、イントラ予測を行う。イントラ予測部211は、各ブロックにおけるイントラ予測モードを予測モードバッファ254に供給し、蓄積させる。
 ステップS256において、予測モード集計部255は、発生した予測モードを1フレーム分集計する。
 ステップS257において、コード番号決定部253は、その集計結果(予測モード毎の出現頻度)に応じて、コード番号の割り当てを更新する。つまり、コード番号決定部253は、出現頻度が高い予測モード程、値がより小さいコード番号を割り当てるように、コード番号の割り当てを更新する。
 ステップS258において、コード番号割り当て部221は、Iスライスのコード番号割り当て処理を終了するか否かを判定し、終了しないと判定した場合、処理をステップS251に戻し、それ以降の処理を繰り返す。また、ステップS258において、Iスライスのコード番号割り当て処理を終了すると判定した場合、コード番号割り当て部221は、Iスライスのコード番号割り当て処理を終了し、処理を図33のステップS232に戻し、それ以降の処理を実行させる。
 なお、Pスライス若しくはBスライスに対するコード番号割り当て処理は、図29のフローチャートを参照して説明した画像符号化装置100の場合と同様に実行されるので、その説明は省略する。
 つまり、Pスライス若しくはBスライスにおいては、コード番号割り当て部221は、当該スライスにおけるイントラマクロブロックの割合が、例えば、50%以上といったように、所定の閾値以上の場合のみ、コード番号(code_number)の更新を行なう。
 以上のように、各種処理を行なうことにより、画像復号装置200は、画像符号化装置100の場合と同様に、コード番号の割り当てを行うことができる。つまり、画像復号装置200は、画像符号化装置100から採用したコード番号の割り当て方法に関する情報を供給してもらわずに、画像符号化装置100のコード番号の割り当てを再現することができる。したがって、符号化データの符号化効率の低減を抑制することができる。
 以上に説明したコード番号の割り当ては、輝度信号だけでなく色差信号のイントラ予測にも適用するようにしてもよい。予測モードの出現頻度に基づく適応的なコード番号の割り当ては、色差信号に対して適用する場合も、輝度信号の場合と同様に、上述したように行うことができる。
 また、例えば、AVC符号化方式等の規格に規定される16×16以下のマクロブロック(以下、通常マクロブロックと称する)だけでなく、例えば非特許文献1においては、図35に示されるような、32×32画素、64×64画素といった、拡張された大きさのマクロブロック(以下、拡張マクロブロックと称する)が提案されているが、このような拡張マクロブロックのイントラ予測にも、上述した適応的なコード番号の割り当てを適用することができる。その場合も上述した方法と同様の方法で適用することができる。
 なお、マクロブロックサイズ毎に独立してコード番号の割り当てを行うようにしてもよい。例えば、4×4のマクロブロック、8×8のマクロブロック、16×16のマクロブロック、32×32のマクロブロック、64×64のマクロブロック、および、色差信号のマクロブロックに対して、互いに独立してコード番号の割り当てを行うようにしてもよい。このようにすることにより、より適応的なコード番号の割り当てを実現することができる。
 また、default_ipred_code_number_allocation_flagも、マクロブロックサイズ毎に用意するようにしてもよい。
 また、拡張マクロブロックに対してのみ、上述したような適応的なコード番号の割り当てを行うようにし、通常マクロブロックに対しては、AVC符号化方式のように、予め定義されている割り当て方法を適用するようにしてもよい。
 つまり、スライス内において、一部のイントラマクロブロックに対してのみ、上述した適応的なコード番号の割り当てを適用し、他のイントラマクロブロックに対しては、固定の割り当て方法を適用するようにしてもよい。
 適応的なコード番号の割り当て方法を適用するブロックのサイズの下限は、任意であり、例えば、8×8以上のマクロブロックに適用するようにしてもよいし、64×64以上のマクロブロックに適用するようにしてもよい。また、適応的なコード番号の割り当て方法を適用するか否かは、ブロックサイズ以外の任意の指標に基づいて決定するようにしてもよい。
 また、符号化データにおいて、適応的なコード番号の割り当て方法を適用するブロックのヘッダに、その旨を示すフラグ情報を付加するようにしてもよい。その場合、画像復号装置200は、そのフラグ情報に基づいて、各マクロブロックのコード番号の割り当て方法が固定であるか否かをより容易に識別することができる。
 なお、IDRスライス等に対して設定する、コード番号の割り当ての初期値は、任意であり、AVC符号化方式等において採用されている割り当て方法を適用するようにしてもよいし、ユーザが設定した割り当て方法を適用するようにしてもよい。
 ユーザが設定した割り当て方法を適用する場合、画像復号装置200がその割り当て方法を把握することができるように、そのユーザ設定(ユーザが設定したコード番号の割り当て方)を示す情報(例えば、予測モードとコード番号を関連づけるテーブル情報等)を、画像符号化装置100から画像復号装置200に供給するようにしてもよい。
 さらに、コード番号の割り当て方法が、適応的に更新されたものなのか、初期設定なのか、若しくは、ユーザが設定したものであるのかを示すフラグ情報を、画像符号化装置100から画像復号装置200に供給するようにしてもよい。この場合、画像復号装置200は、画像符号化装置100において採用されたコード番号割り当て方法をより容易に把握することができる。
 なお、動画の画像データの最後のフレームについては、出現した予測モードの集計を省略するようにしてもよい。
 また、以上においては、本技術の適用を、イントラマクロブロックにおけるイントラ予測モードとしてきたが、同様の手法を、他のシンタクス要素、例えば、動き補償パーティションモード等に適用するようにしても良い。
 以上においては、AVCに準ずる方式による符号化を行なう画像符号化装置、並びに、AVCに準ずる方式による復号を行なう画像復号装置を例にして説明してきたが、本技術の適用範囲はこれに限らず、図35に示されるような、階層構造によるブロックに基づく符号化処理を行なうあらゆる画像符号化装置並びに画像復号装置に適用することが可能である。
<3.第3の実施の形態>
[パーソナルコンピュータ]
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図36に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
 図36において、パーソナルコンピュータ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にインストールされる。
 上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
 この記録媒体は、例えば、図36に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部513に含まれるハードディスクなどで構成される。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、上述した画像符号化装置や画像復号装置は、任意の電子機器に適用することができる。以下にその例について説明する。
<4.第4の実施の形態>
[テレビジョン受像機]
 図37は、画像復号装置200を用いるテレビジョン受像機の主な構成例を示すブロック図である。
 図37に示されるテレビジョン受像機1000は、地上波チューナ1013、ビデオデコーダ1015、映像信号処理回路1018、グラフィック生成回路1019、パネル駆動回路1020、および表示パネル1021を有する。
 地上波チューナ1013は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ1015に供給する。ビデオデコーダ1015は、地上波チューナ1013から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路1018に供給する。
 映像信号処理回路1018は、ビデオデコーダ1015から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路1019に供給する。
 グラフィック生成回路1019は、表示パネル1021に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路1020に供給する。また、グラフィック生成回路1019は、項目の選択などにユーザにより利用される画面を表示するための映像データ(グラフィック)を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路1020に供給するといった処理も適宜行なう。
 パネル駆動回路1020は、グラフィック生成回路1019から供給されたデータに基づいて表示パネル1021を駆動し、番組の映像や上述した各種の画面を表示パネル1021に表示させる。
 表示パネル1021はLCD(Liquid Crystal Display)などよりなり、パネル駆動回路1020による制御に従って番組の映像などを表示させる。
 また、テレビジョン受像機1000は、音声A/D(Analog/Digital)変換回路1014、音声信号処理回路1022、エコーキャンセル/音声合成回路1023、音声増幅回路1024、およびスピーカ1025も有する。
 地上波チューナ1013は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ1013は、取得した音声信号を音声A/D変換回路1014に供給する。
 音声A/D変換回路1014は、地上波チューナ1013から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路1022に供給する。
 音声信号処理回路1022は、音声A/D変換回路1014から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル/音声合成回路1023に供給する。
 エコーキャンセル/音声合成回路1023は、音声信号処理回路1022から供給された音声データを音声増幅回路1024に供給する。
 音声増幅回路1024は、エコーキャンセル/音声合成回路1023から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ1025から出力させる。
 さらに、テレビジョン受像機1000は、デジタルチューナ1016およびMPEGデコーダ1017も有する。
 デジタルチューナ1016は、デジタル放送(地上デジタル放送、BS(Broadcasting Satellite)/CS(Communications Satellite)デジタル放送)の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS(Moving Picture Experts Group-Transport Stream)を取得し、それをMPEGデコーダ1017に供給する。
 MPEGデコーダ1017は、デジタルチューナ1016から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象(視聴対象)になっている番組のデータを含むストリームを抽出する。MPEGデコーダ1017は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路1022に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路1018に供給する。また、MPEGデコーダ1017は、MPEG-TSから抽出したEPG(Electronic Program Guide)データを図示せぬ経路を介してCPU1032に供給する。
 テレビジョン受像機1000は、このように映像パケットをデコードするMPEGデコーダ1017として、上述した画像復号装置200を用いる。なお、放送局等より送信されるMPEG-TSは、画像符号化装置100によって符号化されている。
 MPEGデコーダ1017は、画像復号装置200の場合と同様に、予測モードの出現頻度に応じた適応的なコード番号割り当てを行なうことにより、画像符号化装置100において採用されたコード番号の割り当て方法を再現する。したがって、MPEGデコーダ1017は、画像符号化装置100が、出現頻度がより高い予測モードに対して、値がより小さいコード番号を割り当てて生成した符号化データを適切に復号することができる。これにより、MPEGデコーダ1017は、符号化データの符号化効率を向上させることができる。
 MPEGデコーダ1017から供給された映像データは、ビデオデコーダ1015から供給された映像データの場合と同様に、映像信号処理回路1018において所定の処理が施され、グラフィック生成回路1019において、生成された映像データ等が適宜重畳され、パネル駆動回路1020を介して表示パネル1021に供給され、その画像が表示される。
 MPEGデコーダ1017から供給された音声データは、音声A/D変換回路1014から供給された音声データの場合と同様に、音声信号処理回路1022において所定の処理が施され、エコーキャンセル/音声合成回路1023を介して音声増幅回路1024に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ1025から出力される。
 また、テレビジョン受像機1000は、マイクロホン1026、およびA/D変換回路1027も有する。
 A/D変換回路1027は、音声会話用のものとしてテレビジョン受像機1000に設けられるマイクロホン1026により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル/音声合成回路1023に供給する。
 エコーキャンセル/音声合成回路1023は、テレビジョン受像機1000のユーザ(ユーザA)の音声のデータがA/D変換回路1027から供給されている場合、ユーザAの音声データを対象としてエコーキャンセルを行ない、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路1024を介してスピーカ1025より出力させる。
 さらに、テレビジョン受像機1000は、音声コーデック1028、内部バス1029、SDRAM(Synchronous Dynamic Random Access Memory)1030、フラッシュメモリ1031、CPU1032、USB(Universal Serial Bus) I/F1033、およびネットワークI/F1034も有する。
 A/D変換回路1027は、音声会話用のものとしてテレビジョン受像機1000に設けられるマイクロホン1026により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック1028に供給する。
 音声コーデック1028は、A/D変換回路1027から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス1029を介してネットワークI/F1034に供給する。
 ネットワークI/F1034は、ネットワーク端子1035に装着されたケーブルを介してネットワークに接続される。ネットワークI/F1034は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック1028から供給された音声データを送信する。また、ネットワークI/F1034は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子1035を介して受信し、それを、内部バス1029を介して音声コーデック1028に供給する。
 音声コーデック1028は、ネットワークI/F1034から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル/音声合成回路1023に供給する。
 エコーキャンセル/音声合成回路1023は、音声コーデック1028から供給される音声データを対象としてエコーキャンセルを行ない、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路1024を介してスピーカ1025より出力させる。
 SDRAM1030は、CPU1032が処理を行なう上で必要な各種のデータを記憶する。
 フラッシュメモリ1031は、CPU1032により実行されるプログラムを記憶する。フラッシュメモリ1031に記憶されているプログラムは、テレビジョン受像機1000の起動時などの所定のタイミングでCPU1032により読み出される。フラッシュメモリ1031には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
 例えば、フラッシュメモリ1031には、CPU1032の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ1031は、例えばCPU1032の制御により、そのMPEG-TSを、内部バス1029を介してMPEGデコーダ1017に供給する。
 MPEGデコーダ1017は、デジタルチューナ1016から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機1000は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ1017を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
 また、テレビジョン受像機1000は、リモートコントローラ1051から送信される赤外線信号を受光する受光部1037も有する。
 受光部1037は、リモートコントローラ1051からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU1032に出力する。
 CPU1032は、フラッシュメモリ1031に記憶されているプログラムを実行し、受光部1037から供給される制御コードなどに応じてテレビジョン受像機1000の全体の動作を制御する。CPU1032とテレビジョン受像機1000の各部は、図示せぬ経路を介して接続されている。
 USB I/F1033は、USB端子1036に装着されたUSBケーブルを介して接続される、テレビジョン受像機1000の外部の機器との間でデータの送受信を行なう。ネットワークI/F1034は、ネットワーク端子1035に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行なう。
 テレビジョン受像機1000は、MPEGデコーダ1017として画像復号装置200を用いることにより、アンテナを介して受信する放送波信号や、ネットワークを介して取得するコンテンツデータの符号化効率を向上させることができる。
<5.第5の実施の形態>
[携帯電話機]
 図38は、画像符号化装置100および画像復号装置200を用いる携帯電話機の主な構成例を示すブロック図である。
 図38に示される携帯電話機1100は、各部を統括的に制御するようになされた主制御部1150、電源回路部1151、操作入力制御部1152、画像エンコーダ1153、カメラI/F部1154、LCD制御部1155、画像デコーダ1156、多重分離部1157、記録再生部1162、変復調回路部1158、および音声コーデック1159を有する。これらは、バス1160を介して互いに接続されている。
 また、携帯電話機1100は、操作キー1119、CCD(Charge Coupled Devices)カメラ1116、液晶ディスプレイ1118、記憶部1123、送受信回路部1163、アンテナ1114、マイクロホン(マイク)1121、およびスピーカ1117を有する。
 電源回路部1151は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機1100を動作可能な状態に起動する。
 携帯電話機1100は、CPU、ROMおよびRAM等でなる主制御部1150の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行なう。
 例えば、音声通話モードにおいて、携帯電話機1100は、マイクロホン(マイク)1121で集音した音声信号を、音声コーデック1159によってデジタル音声データに変換し、これを変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(音声信号)は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
 また、例えば、音声通話モードにおいて、携帯電話機1100は、アンテナ1114で受信した受信信号を送受信回路部1163で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部1158でスペクトラム逆拡散処理し、音声コーデック1159によってアナログ音声信号に変換する。携帯電話機1100は、その変換して得られたアナログ音声信号をスピーカ1117から出力する。
 更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機1100は、操作キー1119の操作によって入力された電子メールのテキストデータを、操作入力制御部1152において受け付ける。携帯電話機1100は、そのテキストデータを主制御部1150において処理し、LCD制御部1155を介して、画像として液晶ディスプレイ1118に表示させる。
 また、携帯電話機1100は、主制御部1150において、操作入力制御部1152が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機1100は、その電子メールデータを、変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(電子メール)は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
 また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機1100は、基地局から送信された信号を、アンテナ1114を介して送受信回路部1163で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機1100は、その受信信号を変復調回路部1158でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機1100は、復元された電子メールデータを、LCD制御部1155を介して液晶ディスプレイ1118に表示する。
 なお、携帯電話機1100は、受信した電子メールデータを、記録再生部1162を介して、記憶部1123に記録する(記憶させる)ことも可能である。
 この記憶部1123は、書き換え可能な任意の記憶媒体である。記憶部1123は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
 さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機1100は、撮像によりCCDカメラ1116で画像データを生成する。CCDカメラ1116は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。CCDカメラ1116は、その画像データを、カメラI/F部1154を介して、画像エンコーダ1153で符号化し、符号化画像データに変換する。
 携帯電話機1100は、このような処理を行なう画像エンコーダ1153として、上述した画像符号化装置100を用いる。画像エンコーダ1153は、画像符号化装置100の場合と同様に、予測モードの出現頻度に応じた適応的なコード番号割り当てを行なう。つまり、画像エンコーダ1153は、イントラ予測の際、1つ前のスライス(フレーム)において出現頻度がより高い予測モードに対して、値がより小さいコード番号を割り当てることができる。これにより、画像エンコーダ1153は、符号化データの符号化効率を向上させることができる。
 なお、携帯電話機1100は、このとき同時に、CCDカメラ1116で撮像中にマイクロホン(マイク)1121で集音した音声を、音声コーデック1159においてアナログデジタル変換し、さらに符号化する。
 携帯電話機1100は、多重分離部1157において、画像エンコーダ1153から供給された符号化画像データと、音声コーデック1159から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機1100は、その結果得られる多重化データを、変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(画像データ)は、ネットワーク等を介して、通信相手に供給される。
 なお、画像データを送信しない場合、携帯電話機1100は、CCDカメラ1116で生成した画像データを、画像エンコーダ1153を介さずに、LCD制御部1155を介して液晶ディスプレイ1118に表示させることもできる。
 また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機1100は、基地局から送信された信号を、アンテナ1114を介して送受信回路部1163で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機1100は、その受信信号を変復調回路部1158でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機1100は、多重分離部1157において、その多重化データを分離して、符号化画像データと音声データとに分ける。
 携帯電話機1100は、画像デコーダ1156において符号化画像データをデコードすることにより、再生動画像データを生成し、これを、LCD制御部1155を介して液晶ディスプレイ1118に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ1118に表示される。
 携帯電話機1100は、このような処理を行なう画像デコーダ1156として、上述した画像復号装置200を用いる。つまり、画像デコーダ1156は、画像復号装置200の場合と同様に、予測モードの出現頻度に応じた適応的なコード番号割り当てを行なうことにより、画像符号化装置100において採用されたコード番号の割り当て方法を再現する。したがって、画像デコーダ1156は、画像符号化装置100が、出現頻度がより高い予測モードに対して、値がより小さいコード番号を割り当てて生成した符号化データを適切に復号することができる。これにより、画像デコーダ1156は、符号化データの符号化効率を向上させることができる。
 このとき、携帯電話機1100は、同時に、音声コーデック1159において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ1117より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
 なお、電子メールの場合と同様に、携帯電話機1100は、受信した簡易ホームページ等にリンクされたデータを、記録再生部1162を介して、記憶部1123に記録する(記憶させる)ことも可能である。
 また、携帯電話機1100は、主制御部1150において、撮像されてCCDカメラ1116で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
 さらに、携帯電話機1100は、赤外線通信部1181で赤外線により外部の機器と通信することができる。
 携帯電話機1100は、画像エンコーダ1153として画像符号化装置100を用いることにより、例えばCCDカメラ1116において生成された画像データを符号化して伝送する際に、その符号化データの符号化効率を向上させることができる。
 また、携帯電話機1100は、画像デコーダ1156として画像復号装置200を用いることにより、例えば、簡易ホームページ等にリンクされた動画像ファイルのデータ(符号化データ)の符号化効率を向上させることができる。
 なお、以上において、携帯電話機1100が、CCDカメラ1116を用いるように説明したが、このCCDカメラ1116の代わりに、CMOS(Complementary Metal Oxide Semiconductor)を用いたイメージセンサ(CMOSイメージセンサ)を用いるようにしてもよい。この場合も、携帯電話機1100は、CCDカメラ1116を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
 また、以上においては携帯電話機1100として説明したが、例えば、PDA(Personal Digital Assistants)、スマートフォン、UMPC(Ultra Mobile Personal Computer)、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機1100と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機1100の場合と同様に、画像符号化装置100および画像復号装置200を適用することができる。
<6.第6の実施の形態>
[ハードディスクレコーダ]
 図39は、画像符号化装置100および画像復号装置200を用いるハードディスクレコーダの主な構成例を示すブロック図である。
 図39に示されるハードディスクレコーダ(HDDレコーダ)1200は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
 ハードディスクレコーダ1200は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ1200は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
 さらに、ハードディスクレコーダ1200は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ1260に供給し、モニタ1260の画面にその画像を表示させ、モニタ1260のスピーカよりその音声を出力させることができる。また、ハードディスクレコーダ1200は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ1260に供給し、モニタ1260の画面にその画像を表示させ、モニタ1260のスピーカよりその音声を出力させることもできる。
 もちろん、この他の動作も可能である。
 図39に示されるように、ハードディスクレコーダ1200は、受信部1221、復調部1222、デマルチプレクサ1223、オーディオデコーダ1224、ビデオデコーダ1225、およびレコーダ制御部1226を有する。ハードディスクレコーダ1200は、さらに、EPGデータメモリ1227、プログラムメモリ1228、ワークメモリ1229、ディスプレイコンバータ1230、OSD(On Screen Display)制御部1231、ディスプレイ制御部1232、記録再生部1233、D/Aコンバータ1234、および通信部1235を有する。
 また、ディスプレイコンバータ1230は、ビデオエンコーダ1241を有する。記録再生部1233は、エンコーダ1251およびデコーダ1252を有する。
 受信部1221は、リモートコントローラ(図示せず)からの赤外線信号を受信し、電気信号に変換してレコーダ制御部1226に出力する。レコーダ制御部1226は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ1228に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部1226は、このとき、ワークメモリ1229を必要に応じて使用する。
 通信部1235は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行なう。例えば、通信部1235は、レコーダ制御部1226により制御され、チューナ(図示せず)と通信し、主にチューナに対して選局制御信号を出力する。
 復調部1222は、チューナより供給された信号を、復調し、デマルチプレクサ1223に出力する。デマルチプレクサ1223は、復調部1222より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ1224、ビデオデコーダ1225、またはレコーダ制御部1226に出力する。
 オーディオデコーダ1224は、入力されたオーディオデータをデコードし、記録再生部1233に出力する。ビデオデコーダ1225は、入力されたビデオデータをデコードし、ディスプレイコンバータ1230に出力する。レコーダ制御部1226は、入力されたEPGデータをEPGデータメモリ1227に供給し、記憶させる。
 ディスプレイコンバータ1230は、ビデオデコーダ1225またはレコーダ制御部1226より供給されたビデオデータを、ビデオエンコーダ1241により、例えばNTSC(National Television Standards Committee)方式のビデオデータにエンコードし、記録再生部1233に出力する。また、ディスプレイコンバータ1230は、ビデオデコーダ1225またはレコーダ制御部1226より供給されるビデオデータの画面のサイズを、モニタ1260のサイズに対応するサイズに変換し、ビデオエンコーダ1241によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部1232に出力する。
 ディスプレイ制御部1232は、レコーダ制御部1226の制御のもと、OSD(On Screen Display)制御部1231が出力したOSD信号を、ディスプレイコンバータ1230より入力されたビデオ信号に重畳し、モニタ1260のディスプレイに出力し、表示させる。
 モニタ1260にはまた、オーディオデコーダ1224が出力したオーディオデータが、D/Aコンバータ1234によりアナログ信号に変換されて供給されている。モニタ1260は、このオーディオ信号を内蔵するスピーカから出力する。
 記録再生部1233は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
 記録再生部1233は、例えば、オーディオデコーダ1224より供給されるオーディオデータを、エンコーダ1251によりエンコードする。また、記録再生部1233は、ディスプレイコンバータ1230のビデオエンコーダ1241より供給されるビデオデータを、エンコーダ1251によりエンコードする。記録再生部1233は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部1233は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
 記録再生部1233は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部1233は、デコーダ1252によりオーディオデータおよびビデオデータをデコードする。記録再生部1233は、復号したオーディオデータをD/A変換し、モニタ1260のスピーカに出力する。また、記録再生部1233は、復号したビデオデータをD/A変換し、モニタ1260のディスプレイに出力する。
 レコーダ制御部1226は、受信部1221を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ1227から最新のEPGデータを読み出し、それをOSD制御部1231に供給する。OSD制御部1231は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部1232に出力する。ディスプレイ制御部1232は、OSD制御部1231より入力されたビデオデータをモニタ1260のディスプレイに出力し、表示させる。これにより、モニタ1260のディスプレイには、EPG(電子番組ガイド)が表示される。
 また、ハードディスクレコーダ1200は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
 通信部1235は、レコーダ制御部1226に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部1226に供給する。レコーダ制御部1226は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部1233に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部1226および記録再生部1233が、必要に応じて再エンコード等の処理を行なうようにしてもよい。
 また、レコーダ制御部1226は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ1230に供給する。ディスプレイコンバータ1230は、ビデオデコーダ1225から供給されるビデオデータと同様に、レコーダ制御部1226から供給されるビデオデータを処理し、ディスプレイ制御部1232を介してモニタ1260に供給し、その画像を表示させる。
 また、この画像表示に合わせて、レコーダ制御部1226が、復号したオーディオデータを、D/Aコンバータ1234を介してモニタ1260に供給し、その音声をスピーカから出力させるようにしてもよい。
 さらに、レコーダ制御部1226は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ1227に供給する。
 以上のようなハードディスクレコーダ1200は、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダとして画像復号装置200を用いる。つまり、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダは、画像復号装置200の場合と同様に、予測モードの出現頻度に応じた適応的なコード番号割り当てを行なうことにより、画像符号化装置100において採用されたコード番号の割り当て方法を再現する。したがって、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダは、画像符号化装置100が、出現頻度がより高い予測モードに対して、値がより小さいコード番号を割り当てて生成した符号化データを適切に復号することができる。これにより、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダは、符号化データの符号化効率を向上させることができる。
 したがって、ハードディスクレコーダ1200は、例えば、チューナや通信部1235が受信するビデオデータ(符号化データ)や、記録再生部1233が再生するビデオデータ(符号化データ)の符号化効率を向上させることができる。
 また、ハードディスクレコーダ1200は、エンコーダ1251として画像符号化装置100を用いる。したがって、エンコーダ1251は、画像符号化装置100の場合と同様に、予測モードの出現頻度に応じた適応的なコード番号割り当てを行なう。つまり、エンコーダ1251は、イントラ予測の際、1つ前のスライス(フレーム)において出現頻度がより高い予測モードに対して、値がより小さいコード番号を割り当てることができる。これにより、エンコーダ1251は、符号化データの符号化効率を向上させることができる。
 したがって、ハードディスクレコーダ1200は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。
 なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ1200について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ1200の場合と同様に、画像符号化装置100および画像復号装置200を適用することができる。
<7.第7の実施の形態>
[カメラ]
 図40は、画像符号化装置100および画像復号装置200を用いるカメラの主な構成例を示すブロック図である。
 図40に示されるカメラ1300は、被写体を撮像し、被写体の画像をLCD1316に表示させたり、それを画像データとして、記録メディア1333に記録したりする。
 レンズブロック1311は、光(すなわち、被写体の映像)を、CCD/CMOS1312に入射させる。CCD/CMOS1312は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部1313に供給する。
 カメラ信号処理部1313は、CCD/CMOS1312から供給された電気信号を、Y,Cr,Cbの色差信号に変換し、画像信号処理部1314に供給する。画像信号処理部1314は、コントローラ1321の制御の下、カメラ信号処理部1313から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ1341で符号化したりする。画像信号処理部1314は、画像信号を符号化して生成した符号化データを、デコーダ1315に供給する。さらに、画像信号処理部1314は、オンスクリーンディスプレイ(OSD)1320において生成された表示用データを取得し、それをデコーダ1315に供給する。
 以上の処理において、カメラ信号処理部1313は、バス1317を介して接続されるDRAM(Dynamic Random Access Memory)1318を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM1318に保持させる。
 デコーダ1315は、画像信号処理部1314から供給された符号化データを復号し、得られた画像データ(復号画像データ)をLCD1316に供給する。また、デコーダ1315は、画像信号処理部1314から供給された表示用データをLCD1316に供給する。LCD1316は、デコーダ1315から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
 オンスクリーンディスプレイ1320は、コントローラ1321の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス1317を介して画像信号処理部1314に出力する。
 コントローラ1321は、ユーザが操作部1322を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス1317を介して、画像信号処理部1314、DRAM1318、外部インタフェース1319、オンスクリーンディスプレイ1320、およびメディアドライブ1323等を制御する。FLASH ROM1324には、コントローラ1321が各種処理を実行する上で必要なプログラムやデータ等が格納される。
 例えば、コントローラ1321は、画像信号処理部1314やデコーダ1315に代わって、DRAM1318に記憶されている画像データを符号化したり、DRAM1318に記憶されている符号化データを復号したりすることができる。このとき、コントローラ1321は、画像信号処理部1314やデコーダ1315の符号化・復号方式と同様の方式によって符号化・復号処理を行なうようにしてもよいし、画像信号処理部1314やデコーダ1315が対応していない方式により符号化・復号処理を行なうようにしてもよい。
 また、例えば、操作部1322から画像印刷の開始が指示された場合、コントローラ1321は、DRAM1318から画像データを読み出し、それを、バス1317を介して外部インタフェース1319に接続されるプリンタ1334に供給して印刷させる。
 さらに、例えば、操作部1322から画像記録が指示された場合、コントローラ1321は、DRAM1318から符号化データを読み出し、それを、バス1317を介してメディアドライブ1323に装着される記録メディア1333に供給して記憶させる。
 記録メディア1333は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア1333は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
 また、メディアドライブ1323と記録メディア1333を一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
 外部インタフェース1319は、例えば、USB入出力端子などで構成され、画像の印刷を行なう場合に、プリンタ1334と接続される。また、外部インタフェース1319には、必要に応じてドライブ1331が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア1332が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM1324にインストールされる。
 さらに、外部インタフェース1319は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ1321は、例えば、操作部1322からの指示に従って、DRAM1318から符号化データを読み出し、それを外部インタフェース1319から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ1321は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース1319を介して取得し、それをDRAM1318に保持させたり、画像信号処理部1314に供給したりすることができる。
 以上のようなカメラ1300は、デコーダ1315として画像復号装置200を用いる。つまり、デコーダ1315は、画像復号装置200の場合と同様に、予測モードの出現頻度に応じた適応的なコード番号割り当てを行なうことにより、画像符号化装置100において採用されたコード番号の割り当て方法を再現する。したがって、デコーダ1315は、画像符号化装置100が、出現頻度がより高い予測モードに対して、値がより小さいコード番号を割り当てて生成した符号化データを適切に復号することができる。これにより、デコーダ1315は、符号化データの符号化効率を向上させることができる。
 したがって、カメラ1300は、例えば、CCD/CMOS1312において生成される画像データや、DRAM1318または記録メディア1333から読み出すビデオデータの符号化データや、ネットワークを介して取得するビデオデータの符号化データの符号化効率を向上させることができる。
 また、カメラ1300は、エンコーダ1341として画像符号化装置100を用いる。エンコーダ1341は、画像符号化装置100の場合と同様に、予測モードの出現頻度に応じた適応的なコード番号割り当てを行なう。つまり、エンコーダ1341は、イントラ予測の際、1つ前のスライス(フレーム)において出現頻度がより高い予測モードに対して、値がより小さいコード番号を割り当てることができる。これにより、エンコーダ1341は、符号化データの符号化効率を向上させることができる。
 したがって、カメラ1300は、例えば、DRAM1318や記録メディア1333に記録する符号化データや、他の装置に提供する符号化データの符号化効率を向上させることができる。
 なお、コントローラ1321が行なう復号処理に画像復号装置200の復号方法を適用するようにしてもよい。同様に、コントローラ1321が行なう符号化処理に画像符号化装置100の符号化方法を適用するようにしてもよい。
 また、カメラ1300が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
 なお、動画像を撮像するカメラ1300が、ユーザ操作に従って、撮像を一度終了し、再度撮像を開始する場合、撮像を終了した際の最後のフレームにおける集計結果(予測モードの出現頻度)を保存し、次に撮像を再開したときの最初のフレーム(スライス)に対して、その保存された最後の集計結果(予測モードの出現頻度)を用いて適応的に設定されたコード番号の割り当てを行うようにしてもよい。
 カメラ1300の場合、ユーザが、撮像の開始や停止を頻繁に繰り返す場合が考えられるが、短時間のうちにこのような処理を繰り返す場合、連続して撮像を続ける場合との差が少なく、前回の撮像の最後のフレームと、次の撮像の最初のフレームとの絵柄の類似度が高くなる可能性が高い。例えば、ユーザがカメラ1300を使ってある被写体を撮像し、その撮像を終了した後、再度、同じ被写体を撮像し直す場合も考えられる。
 このような場合、撮像が停止される度にコード番号の割り当てを初期化するようにすると、初期化が繰り返され、符号化効率が向上しにくくなる恐れがある。そこで、上述したように、前回の撮像の最後の集計結果を、次の撮像の開始時に利用することができるようにすることにより、カメラ1300は、符号化効率をより向上させることができる。
 なお、集計結果の保持する期間を制限し、撮像が停止されてから所定時間が経過した場合、保持している集計結果が削除され、その後の次回の撮像開始時に、コード番号の割り当てが初期化されるようにしてもよい。
 もちろん、画像符号化装置100および画像復号装置200は、上述した装置以外の装置やシステムにも適用可能である。
 本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルTV、インターネット、携帯電話などのネットワークメディアを介して受信する際に、若しくは光、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置や画像復号装置に適用することができる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 複数の予測モードを用いてイントラ予測を行い、得られた予測結果に基づいて最適な予測モードを選択するイントラ予測部と、
 前記イントラ予測部によるイントラ予測の各予測モードに対するコード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新する更新部と、
 前記更新部により更新された前記コード番号の割り当てに従って割り当てられた、前記イントラ予測部により実行されたイントラ予測の予測モードに対するコード番号を符号化する符号化部と
 を備える画像処理装置。
 (2) 前記更新部は、イントラ4×4予測モード、イントラ8×8予測モード、イントラ16×16予測モード、符号化処理単位であって、16×16画素より大きなサイズに拡張された拡張マクロブロックに対するイントラ予測モード、および、色差信号に対するイントラ予測モードのうち、少なくともいずれか1つに対して、前記出現頻度に応じた前記コード番号の割り当ての更新を行う
 前記(1)に記載の画像処理装置。
 (3) IDRスライスの検出を行い、処理対象である当該スライスがIDRスライスであるか否かを判定するIDRスライス検出部をさらに備え、
 前記更新部は、前記IDRスライス検出部の検出により当該スライスがIDRスライスであると判定された場合、当該スライスに対する前記コード番号の割り当てを初期化し、予め定められている初期値に設定する
 前記(1)または(2)に記載の画像処理装置。
 (4) 前記コード番号の割り当ての初期値は、AVC符号化方式において規定される前記コード番号の割り当て方法である
 前記(3)に記載の画像処理装置。
 (5) 処理対象である当該スライスに対してシーンチェンジの検出を行うシーンチェンジ検出部をさらに備え、
 前記更新部は、前記シーンチェンジ検出部により当該スライスにおいてシーンチェンジが含まれると判定された場合、当該スライスに対する前記コード番号の割り当てを初期化し、予め定められている初期値に設定する
 前記(1)乃至(4)のいずれかに記載の画像処理装置。
 (6) 前記更新部は、前記シーンチェンジ検出部により当該スライスにおいてシーンチェンジが含まれると判定された場合、当該スライスの前記コード番号の割り当てが、前記更新部により更新されたものであるか、予め定められた初期値であるかを示すフラグ情報の値を、初期値であることを示す値に設定する
 前記(5)に記載の画像処理装置。
 (7) 前記更新部は、処理対象である当該Iスライスの符号化処理後、当該Iスライスにおける各予測モードの出現頻度がより高い予測モードに対してより小さな値を割り当てるように、次のIスライスに対する前記コード番号の割り当てを更新する
 前記(1)乃至(6)のいずれかに記載の画像処理装置。
 (8) 前記更新部は、Pスライス若しくはBスライスに含まれるイントラマクロブロックに対する前記コード番号の割り当てを、予め定められた初期値に設定する
 前記(1)乃至(7)のいずれかに記載の画像処理装置。
 (9) 前記更新部は、Pスライス若しくはBスライスに含まれるイントラマクロブロックに対する前記コード番号の割り当てを、直前のIスライスにおいて設定された前記コード番号の割り当てに更新する
 前記(1)乃至(7)のいずれかに記載の画像処理装置。
 (10) 前記更新部は、Pスライス若しくはBスライスに含まれるイントラマクロブロックが所定の基準より多い場合、Pスライス若しくはBスライスに含まれるイントラマクロブロックに対する前記コード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新する
 前記(1)乃至(7)のいずれかに記載の画像処理装置。
 (11) 前記更新部は、動き補償パーティションモードに対するコード番号の割り当ても、前記モードの出現頻度に応じて更新する
 前記(1)乃至(10)に記載の画像処理装置。
 (12) 画像処理装置の画像処理方法であって、
 イントラ予測部が、複数の予測モードを用いてイントラ予測を行い、得られた予測結果に基づいて最適な予測モードを選択し、
 更新部が、イントラ予測の各予測モードに対するコード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新し、
 符号化部が、更新された前記コード番号の割り当てに従って割り当てられた、実行されたイントラ予測の予測モードに対するコード番号を符号化する 画像処理方法。
 (13) イントラ予測の予測モードに対するコード番号を復号する復号部と、
 前記イントラ予測の各予測モードに対するコード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新する更新部と、
 前記更新部により更新された前記コード番号の割り当てに従って、前記復号部により復号された前記コード番号に対応する予測モードでイントラ予測を行うイントラ予測部と
 を備える画像処理装置。
 (14) 画像処理装置の画像処理方法であって、
 復号部が、イントラ予測の予測モードに対するコード番号を復号し、
 更新部が、前記イントラ予測の各予測モードに対するコード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新し、
 イントラ予測部が、更新された前記コード番号の割り当てに従って、復号された前記コード番号に対応する予測モードでイントラ予測を行う
 画像処理方法。
 100 画像符号化装置, 114 イントラ予測部, 121 コード番号割り当て部, 151 IDR検出部, 152 シーンチェンジ検出部, 153 コード番号決定部, 154 予測モードバッファ, 155 予測モード集計部, 200 画像復号装置, 211 イントラ予測部, 221 コード番号割り当て部, 251 IDR検出部, 252 フラグ判定部, 253 コード番号決定部, 254 予測モードバッファ, 255 予測モード集計部

Claims (14)

  1.  複数の予測モードを用いてイントラ予測を行い、得られた予測結果に基づいて最適な予測モードを選択するイントラ予測部と、
     前記イントラ予測部によるイントラ予測の各予測モードに対するコード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新する更新部と、
     前記更新部により更新された前記コード番号の割り当てに従って割り当てられた、前記イントラ予測部により実行されたイントラ予測の予測モードに対するコード番号を符号化する符号化部と
     を備える画像処理装置。
  2.  前記更新部は、イントラ4×4予測モード、イントラ8×8予測モード、イントラ16×16予測モード、符号化処理単位であって、16×16画素より大きなサイズに拡張された拡張マクロブロックに対するイントラ予測モード、および、色差信号に対するイントラ予測モードのうち、少なくともいずれか1つに対して、前記出現頻度に応じた前記コード番号の割り当ての更新を行う
     請求項1に記載の画像処理装置。
  3.  IDRスライスの検出を行い、処理対象である当該スライスがIDRスライスであるか否かを判定するIDRスライス検出部をさらに備え、
     前記更新部は、前記IDRスライス検出部の検出により当該スライスがIDRスライスであると判定された場合、当該スライスに対する前記コード番号の割り当てを初期化し、予め定められている初期値に設定する
     請求項1に記載の画像処理装置。
  4.  前記コード番号の割り当ての初期値は、AVC符号化方式において規定される前記コード番号の割り当て方法である
     請求項3に記載の画像処理装置。
  5.  処理対象である当該スライスに対してシーンチェンジの検出を行うシーンチェンジ検出部をさらに備え、
     前記更新部は、前記シーンチェンジ検出部により当該スライスにおいてシーンチェンジが含まれると判定された場合、当該スライスに対する前記コード番号の割り当てを初期化し、予め定められている初期値に設定する
     請求項1に記載の画像処理装置。
  6.  前記更新部は、前記シーンチェンジ検出部により当該スライスにおいてシーンチェンジが含まれると判定された場合、当該スライスの前記コード番号の割り当てが、前記更新部により更新されたものであるか、予め定められた初期値であるかを示すフラグ情報の値を、初期値であることを示す値に設定する
     請求項5に記載の画像処理装置。
  7.  前記更新部は、処理対象である当該Iスライスの符号化処理後、当該Iスライスにおける各予測モードの出現頻度がより高い予測モードに対してより小さな値を割り当てるように、次のIスライスに対する前記コード番号の割り当てを更新する
     請求項1に記載の画像処理装置。
  8.  前記更新部は、Pスライス若しくはBスライスに含まれるイントラマクロブロックに対する前記コード番号の割り当てを、予め定められた初期値に設定する
     請求項1に記載の画像処理装置。
  9.  前記更新部は、Pスライス若しくはBスライスに含まれるイントラマクロブロックに対する前記コード番号の割り当てを、直前のIスライスにおいて設定された前記コード番号の割り当てに更新する
     請求項1に記載の画像処理装置。
  10.  前記更新部は、Pスライス若しくはBスライスに含まれるイントラマクロブロックが所定の基準より多い場合、Pスライス若しくはBスライスに含まれるイントラマクロブロックに対する前記コード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新する
     請求項1に記載の画像処理装置。
  11.  前記更新部は、動き補償パーティションモードに対するコード番号の割り当ても、前記モードの出現頻度に応じて更新する
     請求項1に記載の画像処理装置。
  12.  画像処理装置の画像処理方法であって、
     イントラ予測部が、複数の予測モードを用いてイントラ予測を行い、得られた予測結果に基づいて最適な予測モードを選択し、
     更新部が、イントラ予測の各予測モードに対するコード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新し、
     符号化部が、更新された前記コード番号の割り当てに従って割り当てられた、実行されたイントラ予測の予測モードに対するコード番号を符号化する 画像処理方法。
  13.  イントラ予測の予測モードに対するコード番号を復号する復号部と、
     前記イントラ予測の各予測モードに対するコード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新する更新部と、
     前記更新部により更新された前記コード番号の割り当てに従って、前記復号部により復号された前記コード番号に対応する予測モードでイントラ予測を行うイントラ予測部と
     を備える画像処理装置。
  14.  画像処理装置の画像処理方法であって、
     復号部が、イントラ予測の予測モードに対するコード番号を復号し、
     更新部が、前記イントラ予測の各予測モードに対するコード番号の割り当てを、出現頻度が高い予測モード程、より小さな値を割り当てるように更新し、
     イントラ予測部が、更新された前記コード番号の割り当てに従って、復号された前記コード番号に対応する予測モードでイントラ予測を行う
     画像処理方法。
PCT/JP2011/062648 2010-06-11 2011-06-02 画像処理装置および方法 WO2011155377A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201180027604XA CN102939759A (zh) 2010-06-11 2011-06-02 图像处理设备和方法
US13/701,968 US20130077672A1 (en) 2010-06-11 2011-06-02 Image processing apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-134036 2010-06-11
JP2010134036A JP2011259361A (ja) 2010-06-11 2010-06-11 画像処理装置および方法

Publications (1)

Publication Number Publication Date
WO2011155377A1 true WO2011155377A1 (ja) 2011-12-15

Family

ID=45097985

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/062648 WO2011155377A1 (ja) 2010-06-11 2011-06-02 画像処理装置および方法

Country Status (4)

Country Link
US (1) US20130077672A1 (ja)
JP (1) JP2011259361A (ja)
CN (1) CN102939759A (ja)
WO (1) WO2011155377A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015005132A1 (ja) * 2013-07-08 2015-01-15 ソニー株式会社 画像符号化装置および方法、並びに画像復号装置および方法
US20160127744A1 (en) 2012-01-20 2016-05-05 Sony Corporation Logical intra mode naming in hevc video coding
WO2023067822A1 (ja) * 2021-10-22 2023-04-27 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法および映像システム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013012995A (ja) 2011-06-30 2013-01-17 Sony Corp 画像処理装置および方法
JP5979406B2 (ja) * 2012-02-22 2016-08-24 ソニー株式会社 画像処理装置、画像処理方法、および画像処理システム
CN103237212B (zh) * 2013-04-08 2016-04-13 浙江大学 一种生成增强层块单元编码信息参考队列的方法及装置
CN106464869B (zh) * 2014-03-14 2019-07-19 寰发股份有限公司 调色板表初始化和管理的方法
CN105898373A (zh) * 2015-12-17 2016-08-24 乐视云计算有限公司 视频切片方法和装置
CN105898319A (zh) * 2015-12-22 2016-08-24 乐视云计算有限公司 视频转码方法和装置
CN110519605A (zh) * 2019-07-23 2019-11-29 西安万像电子科技有限公司 帧内预测模式的编码方法、装置及存储介质
CN111556315B (zh) * 2020-04-07 2024-07-23 西安万像电子科技有限公司 数据传输方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009105696A (ja) * 2007-10-24 2009-05-14 Nippon Telegr & Teleph Corp <Ntt> 予測モード情報符号化方法,予測モード情報復号方法,これらの装置,およびこれらのプログラム並びにコンピュータ読み取り可能な記録媒体

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812791A (en) * 1995-05-10 1998-09-22 Cagent Technologies, Inc. Multiple sequence MPEG decoder
US7046910B2 (en) * 1998-11-20 2006-05-16 General Instrument Corporation Methods and apparatus for transcoding progressive I-slice refreshed MPEG data streams to enable trick play mode features on a television appliance
US6696993B2 (en) * 2001-03-23 2004-02-24 Nokia Corporation Variable length coding
JP2003061095A (ja) * 2001-08-08 2003-02-28 Matsushita Electric Ind Co Ltd 画像符号化装置及び画像符号化方法
KR20040039809A (ko) * 2002-11-05 2004-05-12 엘지전자 주식회사 동영상 부호화기 및 이를 이용한 부호화 방법
JP4221655B2 (ja) * 2003-03-06 2009-02-12 ソニー株式会社 符号化装置および符号化方法、プログラム、並びに記録媒体
JP4564003B2 (ja) * 2004-06-15 2010-10-20 パナソニック株式会社 番組選択支援装置。
KR100703773B1 (ko) * 2005-04-13 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 엔트로피 코딩 및 디코딩 방법과이를 위한 장치, 이를 포함하는 비디오 코딩 및 디코딩방법과 이를 위한 장치
JP4449915B2 (ja) * 2006-02-08 2010-04-14 ソニー株式会社 符号化装置、符号化方法およびプログラム、並びに、記録媒体
KR100773761B1 (ko) * 2006-09-14 2007-11-09 한국전자통신연구원 동영상 부호화 장치 및 방법
CN101394565B (zh) * 2008-10-20 2011-08-17 成都九洲电子信息系统有限责任公司 一种帧内预测方法
US20110310966A1 (en) * 2010-06-18 2011-12-22 Texas Instruments Incorporated Syntax element decoding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009105696A (ja) * 2007-10-24 2009-05-14 Nippon Telegr & Teleph Corp <Ntt> 予測モード情報符号化方法,予測モード情報復号方法,これらの装置,およびこれらのプログラム並びにコンピュータ読み取り可能な記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SUNG-CHANG LIM ET AL.: "Intra coding using extended block size, ITU - Telecommunications Standardization Sector STUDY GROUP 16 Question 6 Video Coding Experts Group (VCEG)", VCEG-AL28, 38TH MEETING, July 2009 (2009-07-01), LONDON, UK / GENEVA, CH, pages 1 - 5 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160127744A1 (en) 2012-01-20 2016-05-05 Sony Corporation Logical intra mode naming in hevc video coding
CN105721878A (zh) * 2012-01-20 2016-06-29 索尼公司 Hevc视频编解码中执行帧内预测的图像处理装置及方法
US10148980B2 (en) 2012-01-20 2018-12-04 Sony Corporation Logical intra mode naming in HEVC video coding
CN105721878B (zh) * 2012-01-20 2019-04-09 索尼公司 Hevc视频编解码中执行帧内预测的图像处理装置及方法
US10567795B2 (en) 2012-01-20 2020-02-18 Sony Corporation Logical intra mode naming in HEVC video coding
US10623772B2 (en) 2012-01-20 2020-04-14 Sony Corporation Logical intra mode naming in HEVC video coding
US11012712B2 (en) 2012-01-20 2021-05-18 Sony Corporation Logical intra mode naming in HEVC video coding
US11412255B2 (en) 2012-01-20 2022-08-09 Sony Corporation Logical intra mode naming in HEVC video coding
WO2015005132A1 (ja) * 2013-07-08 2015-01-15 ソニー株式会社 画像符号化装置および方法、並びに画像復号装置および方法
WO2023067822A1 (ja) * 2021-10-22 2023-04-27 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法および映像システム

Also Published As

Publication number Publication date
JP2011259361A (ja) 2011-12-22
US20130077672A1 (en) 2013-03-28
CN102939759A (zh) 2013-02-20

Similar Documents

Publication Publication Date Title
US10194152B2 (en) Image processing apparatus and method
JP5544996B2 (ja) 画像処理装置および方法
WO2011155377A1 (ja) 画像処理装置および方法
WO2011018965A1 (ja) 画像処理装置および方法
WO2011155378A1 (ja) 画像処理装置および方法
WO2011089972A1 (ja) 画像処理装置および方法
JP2011049740A (ja) 画像処理装置および方法
WO2011125866A1 (ja) 画像処理装置および方法
WO2011152315A1 (ja) 画像処理装置および方法
JP5556996B2 (ja) 画像処理装置および方法
WO2012176684A1 (ja) 画像処理装置および方法
WO2013108688A1 (ja) 画像処理装置および方法
WO2011096318A1 (ja) 画像処理装置および方法
WO2011096317A1 (ja) 画像処理装置および方法
WO2010101063A1 (ja) 画像処理装置および方法
WO2012105406A1 (ja) 画像処理装置および方法
WO2011145437A1 (ja) 画像処理装置および方法
WO2012005195A1 (ja) 画像処理装置および方法
WO2011125809A1 (ja) 画像処理装置および方法
WO2013065567A1 (ja) 画像処理装置および方法
JP6229770B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP6032296B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP5573995B2 (ja) 画像復号装置および方法、記録媒体、並びにプログラム
JP2013258784A (ja) 画像処理装置および方法、記録媒体、並びにプログラム
WO2012081477A1 (ja) 画像処理装置および方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180027604.X

Country of ref document: CN

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

Ref document number: 11792334

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13701968

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: 11792334

Country of ref document: EP

Kind code of ref document: A1