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

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

Info

Publication number
WO2012124497A1
WO2012124497A1 PCT/JP2012/055237 JP2012055237W WO2012124497A1 WO 2012124497 A1 WO2012124497 A1 WO 2012124497A1 JP 2012055237 W JP2012055237 W JP 2012055237W WO 2012124497 A1 WO2012124497 A1 WO 2012124497A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
information
candidate
area
motion information
Prior art date
Application number
PCT/JP2012/055237
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 BR112013022672A priority Critical patent/BR112013022672A2/pt
Priority to US14/003,063 priority patent/US9177392B2/en
Priority to CN2012800117832A priority patent/CN103404149A/zh
Publication of WO2012124497A1 publication Critical patent/WO2012124497A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method that can improve coding efficiency.
  • image information is treated as digital, and at that time, it is an MPEG that is compressed by orthogonal transformation such as discrete cosine transformation and motion compensation for the purpose of efficient transmission and storage of information, using redundancy unique to image information.
  • orthogonal transformation such as discrete cosine transformation and motion compensation for the purpose of efficient transmission and storage of information, using redundancy unique to image information.
  • a device conforming to a method such as Moving Picture Experts Group) is spreading in both information distribution such as broadcasting station and information reception in general home.
  • MPEG2 International Organization for Standardization
  • IEC International Electrotechnical Commission
  • MPEG2 was mainly intended for high-quality coding suitable for broadcasting, it did not correspond to a coding amount (bit rate) lower than that of MPEG1, that is, a coding method with a higher compression rate.
  • bit rate bit rate
  • MPEG4 coding amount
  • the standard was approved as an international standard as ISO / IEC 14496-2 in December 1998.
  • H.26L International Telecommunication Union Telecommunication Standardization Sector (ITU-T Q6 / 16 Video Coding Expert Group)
  • ISO-T Q6 / 16 Video Coding Expert Group International Telecommunication Union Telecommunication Standardization Sector
  • AVC Advanced Video Coding
  • ITU-T and JCTVC Joint Collaboration Team-Video Coding
  • ISO / IEC Joint Collaboration Team-Video Coding
  • HEVC High Efficiency Video Coding
  • a coding unit (Coding Unit) is defined as a processing unit similar to a macroblock in AVC.
  • This CU is not fixed in size to 16 ⁇ 16 pixels like a macroblock of AVC, and is designated in image compression information in each sequence.
  • the image information coding apparatus for each block, a cost function in the case of using each piece of prediction motion vector information is calculated, and selection of optimum prediction motion vector information is performed.
  • flag information indicating information on which prediction motion vector information has been used is transmitted for each block.
  • Motion Partition Merging (hereinafter, also referred to as a merge mode) has been proposed (see, for example, Non-Patent Document 3).
  • this method when the motion information of the block is identical to the motion information of the neighboring block, only the flag information is transmitted, and at the time of decoding, the motion information of the relevant block is used using the motion information of the neighboring block Will be rebuilt.
  • the entropy slice is a processing unit for entropy encoding processing and entropy decoding processing. That is, in the entropy encoding process and the entropy decoding process, a picture is divided into a plurality of entropy slices and processed for each entropy slice, but in the prediction process, this slice division is not applied for each picture. It is processed.
  • JCT-VC Joint Collaborative Team on Video Coding
  • the MV competition or merge mode it is necessary to refer to the motion information of the surrounding area located around the area in processing the motion information of the area to be processed. Therefore, when a picture is divided into a plurality of slices (including entropy slices) and processing is performed for each slice, depending on the position of the area, the peripheral area is located outside the slice of the area and can not be used ( There was a possibility of becoming unavailable. Therefore, in the MV competition or merge mode, the number of candidates may be reduced, and as a result, the coding efficiency may be reduced.
  • the present disclosure has been made in view of such a situation, and in coding an image in which a picture is divided into a plurality of slices and processing is performed in parallel for each slice, coding efficiency in the MV competition or merge mode
  • the purpose is to be able to suppress the reduction of
  • One aspect of the present disclosure is a determination unit that determines whether or not motion information of a peripheral area located around the area, which is used to encode motion information of the area to be processed, is available, and An image encoding unit that encodes motion information of the area using the motion information of other available peripheral areas instead of the motion information of the peripheral area determined to be unavailable by the determination unit It is a processing device.
  • the determination unit is a slice that divides a frame into a plurality of pieces, and whether movement information of the peripheral area can be used based on the address of the boundary of the slice including the area and the address of the area Can be determined.
  • the determination unit may determine that motion information of the peripheral area is not available when the peripheral area is located outside the slice of the frame to be processed.
  • the encoding unit may use another peripheral area where motion information can be used instead of the peripheral area as the candidate.
  • the candidate setting unit may include a merge information generation unit configured to determine, from among the candidates set by the candidate setting unit, a peripheral area to be merged with the area, and to generate merge information.
  • the candidate setting unit may set the Co-Located region as the candidate when the Co-Located region of the peripheral region determined to be unavailable by the determination unit is available.
  • the candidate setting unit may set, as the candidate, another surrounding area which is a slice of the frame to be processed into which the frame is divided into a plurality of pieces and the slice to be processed is located.
  • the candidate setting unit when the surrounding area determined to be unavailable by the determining unit is located outside the frame, the surrounding area located inside the reference frame referenced from the frame to be processed Can be the candidate.
  • the encoding unit may use available motion information of another surrounding area instead of the motion information, when the motion information of the surrounding area to be a candidate of predicted motion vector information of the area is unavailable. And a predicted motion vector generation unit that generates predicted motion vector information of the area using any of the candidates set by the candidate setting unit.
  • the candidate setting unit may set the Co-Located region as the candidate when the Co-Located region of the peripheral region determined to be unavailable by the determination unit is available.
  • the candidate setting unit may set, as the candidate, another surrounding area which is a slice of the frame to be processed into which the frame is divided into a plurality of pieces and the slice to be processed is located.
  • the candidate setting unit when the surrounding area determined to be unavailable by the determining unit is located outside the frame, the surrounding area located inside the reference frame referenced from the frame to be processed Can be the candidate.
  • Another aspect of the present disclosure is the image processing method of the image processing apparatus, wherein the movement of the surrounding area located around the area used by the determination unit to encode the movement information of the area to be processed. It is determined whether the information is available or not, and the encoding unit uses the motion information of other available surrounding areas instead of the motion information of the surrounding area determined to be unavailable.
  • This is an image processing method for encoding motion information of a region.
  • Another aspect of the present disclosure relates to a determination unit that determines whether or not motion information of a surrounding area located around the area, which is used to decode motion information of the area to be processed, is available;
  • a decoding unit for decoding the encoded motion information of the area using the motion information of the other surrounding area that is available instead of the motion information of the surrounding area determined to be unavailable by the determination unit;
  • An image processing apparatus comprising:
  • the determination unit is a slice that divides a frame into a plurality of pieces, and whether movement information of the peripheral area can be used based on the address of the boundary of the slice including the area and the address of the area Can be determined.
  • the determination unit may determine that motion information of the peripheral area is not available when the peripheral area is located outside the slice of the frame to be processed.
  • the decoding unit sets, as the candidate, another peripheral area where motion information can be used instead of the peripheral area.
  • a candidate setting unit, and a merge information decoding unit that determines a peripheral area to be merged with the area from among the candidates set by the candidate setting unit, and decodes merge information according to the determination can be provided.
  • the candidate setting unit may set the Co-Located region as the candidate when the Co-Located region of the peripheral region determined to be unavailable by the determination unit is available.
  • the candidate setting unit may set, as the candidate, another surrounding area which is a slice of the frame to be processed into which the frame is divided into a plurality of pieces and the slice to be processed is located.
  • the candidate setting unit when the surrounding area determined to be unavailable by the determining unit is located outside the frame, the surrounding area located inside the reference frame referenced from the frame to be processed Can be the candidate.
  • the decoding unit may use available motion information of another peripheral area as the candidate, instead of the motion information, when the motion information of the peripheral area to be a candidate of predicted motion vector information of the area is unavailable.
  • the motion vector estimation unit may include a candidate setting unit that performs, and a motion vector predictor reconstructing unit that reconstructs motion vector predictor information of the region using any of the candidates set by the candidate setting unit.
  • the candidate setting unit may set the Co-Located region as the candidate when the Co-Located region of the peripheral region determined to be unavailable by the determination unit is available.
  • the candidate setting unit may set, as the candidate, another surrounding area which is a slice of the frame to be processed into which the frame is divided into a plurality of pieces and the slice to be processed is located.
  • the candidate setting unit when the surrounding area determined to be unavailable by the determining unit is located outside the frame, the surrounding area located inside the reference frame referenced from the frame to be processed Can be the candidate.
  • Another aspect of the present disclosure is also the image processing method of the image processing apparatus, wherein the determination unit is used to decode motion information of the area to be processed, the motion of the surrounding area located around the area. It is determined whether or not the information is available, and the decoding unit uses the motion information of other available surrounding areas instead of the motion information of the surrounding area determined to be unavailable, and the relevant area Image processing method for decoding motion information of
  • the motion information of the area is encoded using motion information of other available surrounding areas, instead of the motion information of the surrounding area determined to be.
  • the motion information of the area is decoded using motion information of other available peripheral areas instead of the motion information of the peripheral area determined to be.
  • an image can be processed.
  • reduction in coding efficiency can be suppressed.
  • FIG. 21 is a block diagram illustrating an exemplary main configuration of a motion prediction / compensation unit, a slice boundary determination unit, and a motion vector coding unit. It is a flowchart explaining the example of the flow of an encoding process. It is a flowchart explaining the example of the flow of inter motion prediction processing.
  • FIG. 21 is a block diagram illustrating an exemplary main configuration of a motion prediction / compensation unit, a slice boundary determination unit, and a motion vector decoding unit. It is a flowchart explaining the example of the flow of decoding processing. It is a flowchart explaining the example of the flow of prediction processing. It is a flowchart explaining the example of the flow of inter motion prediction processing. It is a block diagram which shows the main structural examples of a personal computer. It is a block diagram showing an example of a schematic structure of a television set. It is a block diagram which shows an example of a rough structure of a mobile telephone. It is a block diagram which shows an example of a rough structure of a recording and reproducing apparatus. It is a block diagram showing an example of rough composition of an imaging device.
  • FIG. 1 is a block diagram showing an example of the main configuration of an image coding apparatus.
  • the image coding apparatus 100 shown in FIG. As in the H.264 and MPEG (Moving Picture Experts Group) 4 Part 10 (AVC (Advanced Video Coding)) encoding method, image data is encoded using prediction processing.
  • H.264 and MPEG Motion Picture Experts Group 4 Part 10 (AVC (Advanced Video Coding)
  • AVC Advanced Video Coding
  • the image coding apparatus 100 includes an A / D conversion unit 101, a screen rearrangement buffer 102, an operation unit 103, an orthogonal conversion unit 104, a quantization unit 105, a lossless coding unit 106, and an accumulation buffer. It has 107. Further, the image coding apparatus 100 includes an inverse quantization unit 108, an inverse orthogonal transformation unit 109, an operation unit 110, a loop filter 111, a frame memory 112, a selection unit 113, an intra prediction unit 114, a motion prediction / compensation unit 115, and prediction. The image selection unit 116 and the rate control unit 117 are included.
  • the image coding apparatus 100 further includes a slice boundary determination unit 121 and a motion vector coding unit 122.
  • the A / D conversion unit 101 A / D converts the input image data, supplies the converted image data (digital data) to the screen rearrangement buffer 102, and stores it.
  • the screen rearrangement buffer 102 rearranges the images of the stored display order in the frame order for encoding according to GOP (Group Of Picture), and arranges the images in which the frame order is rearranged,
  • the data is supplied to the calculation unit 103.
  • the screen rearrangement buffer 102 also supplies the image in which the order of the frames is rearranged to the intra prediction unit 114 and the motion prediction / compensation unit 115.
  • the operation unit 103 subtracts the predicted image supplied from the intra prediction unit 114 or the motion prediction / compensation unit 115 via the predicted image selection unit 116 from the image read from the screen rearrangement buffer 102, and the difference information thereof Are output to the orthogonal transformation unit 104.
  • the operation 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 transformation unit 104 performs orthogonal transformation such as discrete cosine transformation or Karhunen-Loeve transformation on the difference information supplied from the arithmetic unit 103. In addition, the method of this orthogonal transformation is arbitrary.
  • the orthogonal transform unit 104 supplies the transform coefficient to the quantization unit 105.
  • the quantization unit 105 quantizes the transform coefficient supplied from the orthogonal transform unit 104.
  • the quantization unit 105 sets a quantization parameter based on the information on the target value of the code amount supplied from the rate control unit 117 and performs the quantization. In addition, the method of this quantization is arbitrary.
  • the quantization unit 105 supplies the quantized transform coefficient to the lossless encoding unit 106.
  • the lossless encoding unit 106 encodes the transform coefficient quantized in the quantization unit 105 by an arbitrary encoding method. Since the coefficient data is quantized under the control of the rate control unit 117, this code amount is the target value set by the rate control unit 117 (or approximate to the target value).
  • the lossless encoding unit 106 acquires information indicating the mode of intra prediction from the intra prediction unit 114 and acquires information indicating the mode of inter prediction, motion vector information, or the like from the motion prediction / compensation unit 115. Further, the lossless encoding unit 106 acquires the filter coefficient and the like used in the loop filter 111.
  • the lossless encoding unit 106 encodes these various pieces of information according to an arbitrary encoding method, and makes it part of header information of encoded data (multiplexing).
  • the lossless encoding unit 106 supplies the encoded data obtained by the encoding to the accumulation buffer 107 for accumulation.
  • Examples of the coding method of the lossless coding unit 106 include variable-length coding and arithmetic coding.
  • variable-length coding for example, H.264.
  • Examples include CAVLC (Context-Adaptive Variable Length Coding) defined by the H.264 / AVC system.
  • Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 107 temporarily holds the encoded data supplied from the lossless encoding unit 106.
  • the accumulation buffer 107 outputs, at a predetermined timing, the held encoded data to, for example, a not-shown recording device (recording medium) or a transmission path at a later stage.
  • the transform coefficient quantized in the quantization unit 105 is also supplied to the inverse quantization unit 108.
  • the inverse quantization unit 108 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 105.
  • the inverse quantization method may be any method as long as it corresponds to the quantization processing by the quantization unit 105.
  • the inverse quantization unit 108 supplies the obtained transform coefficient to the inverse orthogonal transform unit 109.
  • the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 108 by a method corresponding to orthogonal transform processing by the orthogonal transform unit 104. Any method may be used as this inverse orthogonal transformation method as long as it corresponds to the orthogonal transformation processing by the orthogonal transformation unit 104.
  • the inverse orthogonal transform output (restored difference information) is supplied to the calculation unit 110.
  • the calculation unit 110 is supplied from the intra prediction unit 114 or the motion prediction / compensation unit 115 via the predicted image selection unit 116 to the inverse orthogonal transformation result supplied from the inverse orthogonal transformation unit 109, that is, the restored difference information. Prediction images are added to obtain a locally decoded image (decoded image). The decoded image is supplied to the loop filter 111 or the frame memory 112.
  • the loop filter 111 includes a deblocking filter, an adaptive loop filter, and the like, and appropriately performs filter processing on the decoded image supplied from the calculation unit 110.
  • the loop filter 111 removes block distortion of the decoded image by performing deblocking filter processing on the decoded image.
  • the loop filter 111 improves the image quality by performing loop filter processing on the deblock filter processing result (decoded image subjected to removal of block distortion) using a Wiener filter. Do.
  • the loop filter 111 may perform arbitrary filter processing on the decoded image.
  • the loop filter 111 can also supply information such as the filter coefficient used for the filter processing to the lossless encoding unit 106 to encode it, as necessary.
  • the loop filter 111 supplies the filter processing result (the decoded image after the filter processing) to the frame memory 112. As described above, the decoded image output from the calculation unit 110 can be supplied to the frame memory 112 without passing through the loop filter 111. That is, the filter processing by the loop filter 111 can be omitted.
  • the frame memory 112 stores the supplied decoded image, and supplies the stored decoded image as a reference image to the selection unit 113 at a predetermined timing.
  • the selection unit 113 selects the supply destination of the reference image supplied from the frame memory 112. For example, in the case of inter prediction, the selection unit 113 supplies the reference image supplied from the frame memory 112 to the motion prediction / compensation unit 115.
  • the intra prediction unit 114 basically uses a prediction unit (PU) as a processing unit using a pixel value in a processing target picture that is a reference image supplied from the frame memory 112 via the selection unit 113. Perform intra prediction (in-screen prediction) to be generated.
  • the intra prediction unit 114 performs this intra prediction in a plurality of modes (intra prediction modes) prepared in advance.
  • the intra prediction unit 114 generates predicted images in all candidate intra prediction modes, evaluates the cost function value of each predicted image using the input image supplied from the screen rearrangement buffer 102, and selects the optimum mode. select. When the optimal intra prediction mode is selected, the intra prediction unit 114 supplies the predicted image generated in the optimal mode to the predicted image selection unit 116.
  • the intra prediction unit 114 appropriately supplies intra prediction mode information or the like indicating the adopted intra prediction mode to the lossless encoding unit 106, and causes the lossless encoding unit 106 to encode the information.
  • the motion prediction / compensation unit 115 basically uses PU as a processing unit using 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. Motion prediction (inter prediction) is performed, motion compensation processing is performed according to the detected motion vector, and a prediction image (inter prediction image information) is generated. The motion prediction / compensation unit 115 performs such inter prediction in a plurality of modes (inter prediction modes) prepared in advance.
  • the motion prediction / compensation unit 115 generates prediction images in all the candidate inter prediction modes, evaluates the cost function value of each prediction image, and selects an optimal mode. When the motion prediction / compensation unit 115 selects the optimal inter prediction mode, the motion prediction / compensation unit 115 supplies the prediction image generated in the optimum mode to the prediction image selection unit 116.
  • the motion prediction / compensation unit 115 losslessly encodes the information indicating the adopted inter prediction mode, the information necessary for performing processing in the inter prediction mode when decoding encoded data, and the like. Feed and encode.
  • the predicted image selection unit 116 selects the supply source of the predicted image to be supplied to the calculation unit 103 and the calculation unit 110. For example, in the case of inter coding, the prediction image selection unit 116 selects the motion prediction / compensation unit 115 as a supply source of the prediction image, and the calculation unit 103 or the calculation of the prediction image supplied from the motion prediction / compensation unit 115 It supplies to the part 110.
  • the rate control unit 117 controls the rate of the quantization operation of the quantization unit 105 based on the code amount of the encoded data accumulated in the accumulation buffer 107 so as to prevent overflow or underflow.
  • the slice boundary determination unit 121 determines whether the region to be processed is located in the vicinity of the slice boundary, and supplies the determination result to the motion vector encoding unit 122.
  • the motion vector encoding unit 122 defines the peripheral area according to the position of the area with respect to the slice boundary.
  • the motion prediction / compensation unit 115 performs processing such as the MV competition and the merge mode using the information of the surrounding area defined by the motion vector encoding unit 122.
  • FIG. 2 is a diagram for explaining an example of motion prediction / compensation processing with 1 ⁇ 4 pixel accuracy defined in the AVC coding system.
  • each square indicates a pixel.
  • A indicates the position of the integer precision pixel stored in the frame memory 112
  • b, c and d indicate the positions of 1/2 pixel precision
  • e1, e2 and e3 indicate 1/4 pixel precision. It shows the position.
  • the pixel values at positions b and d are generated as in the following Equation (2) and Equation (3) using a 6 tap FIR filter.
  • the pixel values at the position c are generated as in the following Equations (4) to (6) by applying 6 tap FIR filters in the horizontal and vertical directions.
  • Clip processing is performed only once at the end after performing both of the product-sum processing in the horizontal direction and the vertical direction.
  • E1 to e3 are generated by linear interpolation as in the following equations (7) to (9).
  • the unit of motion prediction / compensation processing is 16 ⁇ 16 pixels in the frame motion compensation mode, and 16 ⁇ for each of the first field and the second field in the field motion compensation mode.
  • Motion prediction / compensation processing is performed in units of eight pixels.
  • one macroblock consisting of 16 ⁇ 16 pixels is divided into 16 ⁇ 16, 16 ⁇ 8, 8 ⁇ 16 or 8 ⁇ 8 partitions. It is possible to divide each into sub-macroblocks and to have motion vector information independent of each other. Furthermore, as shown in FIG. 3, the 8 ⁇ 8 partition is divided into any of 8 ⁇ 8, 8 ⁇ 4, 4 ⁇ 8, 4 ⁇ 4 sub-macroblocks, and each has independent motion vector information. It is possible.
  • Each straight line shown in FIG. 4 indicates the boundary of the motion compensation block.
  • E indicates the motion compensation block to be encoded from now
  • a to D indicate motion compensation blocks adjacent to E, which have already been encoded.
  • predicted motion vector information pmv E for the motion compensation block E is generated by median operation as shown in the following equation (10) using motion vector information on the motion compensated blocks A, B, and C.
  • the information on the motion compensation block C is unavailable because it is the end of the image frame, the information on the motion compensation block D is substituted.
  • Data mvd E encoded as motion vector information for the motion compensation block E in the image compression information is generated using pmv E as shown in the following equation (11).
  • Multi-Reference Frame multi (multiple) reference frame
  • MPEG2 multiple reference frame
  • H.263 a method called Multi-Reference Frame (multi (multiple) reference frame
  • the multi-reference frame (Multi-Reference Frame) defined in AVC will be described using FIG.
  • motion prediction / compensation processing was performed by referring to only one reference frame stored in the frame memory. As shown in FIG. 5, a plurality of reference frames are stored in the memory, and it is possible to refer to different memories for each macroblock.
  • Direct mode By the way, although the amount of information in motion vector information in B picture is huge, in AVC, a mode called Direct Mode (direct mode) is prepared.
  • motion vector information is not stored in the image compression information.
  • motion vector information of the block is calculated from motion vector information of a peripheral block or motion vector information of a Co-Located block which is a block at the same position as the processing target block in the reference frame.
  • Direct Mode There are two types of Direct Mode (Direct Mode): Spatial Direct Mode (spatial direct mode) and Temporal Direct Mode (temporal direct mode), and it is possible to switch between slices.
  • Spatial Direct Mode spatial direct mode
  • Temporal Direct Mode temporary direct mode
  • motion vector information mv E of the motion compensation block E to be processed is calculated as shown in the following equation (12).
  • motion vector information generated by Median (median) prediction is applied to the block.
  • temporal direct mode Tempooral Direct Mode
  • a block at an address on the same space as the block in the L0 reference picture is a Co-Located block, and motion vector information in the Co-Located block is mv col . Also, the distance on the time axis of the picture and the L0 reference picture and TD B, to a temporal distance L0 reference picture and L1 reference picture and TD D.
  • the motion vector information mv L1 of motion vector information mv L0 and L1 of L0 is calculated by the following equation (13) and (14).
  • direct mode can be defined in units of 16 ⁇ 16 pixel macroblocks or in units of 8 ⁇ 8 pixel blocks.
  • H.264 / MPEG-4 AVC reference software called JM (Joint Model) (disclosed in http://iphome.hhi.de/suehring/tml/index.htm) The methods implemented in can be mentioned.
  • JM two mode determination methods can be selected: High Complexity Mode and Low Complexity Mode described below.
  • the cost function value for each prediction mode is calculated, and the prediction mode that minimizes it is selected as the sub-macroblock or the optimum mode for the macro-block.
  • 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.
  • is a Lagrange undetermined multiplier given as a function of the quantization parameter.
  • R is a total code amount in the case of encoding in this mode, including orthogonal transform coefficients.
  • D is the difference energy between the predicted image and the input image, unlike in the case of the High Complexity Mode.
  • QP2Quant QP
  • HeaderBit is a code amount related to information belonging to the Header, such as a motion vector or a mode, which does not include an orthogonal transformation coefficient.
  • Non-Patent Document 1 proposes a method as described below.
  • Each prediction motion vector information (Predictor) is defined by the following equations (17) to (19) as motion vector information of the peripheral block.
  • the cost function in the case of using each piece of prediction motion vector information is calculated for each block, and selection of optimum prediction motion vector information is performed.
  • the image compression information a flag indicating information on which prediction motion vector information has been used is transmitted for each block.
  • AVC As shown in FIG. 3, a hierarchical structure of macroblocks and sub-macroblocks is defined.
  • HEVC High Efficiency Video Coding
  • CU Coding Unit
  • the CU is also called a Coding Tree Block (CTB), and is a partial area of a picture-based image that plays a role similar to a macroblock in AVC.
  • CTB Coding Tree Block
  • the latter is fixed at a size of 16 ⁇ 16 pixels, whereas the size of the former is not fixed, and is designated in the image compression information in each sequence.
  • a CU maximum size (Largest Coding Unit)
  • a minimum size ((SCU (Smallest Coding Unit))
  • split-flag 1 within the range not exceeding the size of the SCU.
  • the size of the LCU is 128, and the maximum hierarchical depth is 5.
  • split_flag is “1”
  • a 2N ⁇ 2N-sized CU is divided into an N ⁇ N-sized CU, which is one level lower.
  • a CU is divided into prediction units (Prediction Units (PUs)), which are regions serving as processing units for intra or inter prediction (partial regions of images in units of pictures), and regions serving as processing units for orthogonal transformation. It is divided into transform units (Transform Units (TUs)), which are (partial areas of an image in picture units).
  • Prediction Units PUs
  • transform units Transform Units (TUs)
  • TUs Transform Units
  • a macro block in AVC corresponds to an LCU.
  • the size of the LCU in the top layer is generally set to be larger than the AVC macroblock, for example 128 ⁇ 128 pixels. is there.
  • Merge Motion Partitions By the way, as one of the motion information coding methods, a method called Motion Partition Merging (merge mode) as shown in FIG. 9 has been proposed.
  • merge information which is information related to the merge mode.
  • MergeLeftFlag is included in the merge information and transmitted.
  • MergeFlag 0 indicates that motion information of the region X is different from any motion information of the peripheral region T and the peripheral region L. In this case, motion information of the area X is transmitted.
  • AVC slice In an image coding method such as MPEG2 or AVC, one picture can be divided into a plurality of slices and each slice can be processed in parallel.
  • the maximum size of a slice is one macroblock line, and all slices constituting a B picture must be B slices.
  • the slice may be larger than one macroblock line, and the slice boundary may not be the right end of the macroblock line (screen right end), and , A single picture may be composed of different types of slices.
  • a type of slice as shown in FIG. 11 is defined.
  • deblocking filter processing can be performed across slice boundaries.
  • processing using adjacent information such as intra prediction, CABAC, CAVLC, and motion vector prediction can not be performed across slice boundaries.
  • each slice since the coding process of each slice can be performed independently of each other, it is possible to divide one picture into a plurality of slices and code each slice in parallel. That is, by such slice division, it is possible to realize a reduction in encoding processing time (speeding up of encoding processing).
  • slices can also be divided inside the LCU. That is, the position at which the slice is divided is not in LCU but in CU. Therefore, the slice boundaries coincide with any of the CU boundaries (the boundaries of adjacent CUs).
  • the size of CU is arbitrary.
  • FIG. 12 shows an example of slice boundaries.
  • the largest square shown in FIG. 12 indicates an LCU, and the square inside the LCU indicates a CU configured inside the LCU. Also, thick lines indicate slice boundaries.
  • the slice is divided between CUs inside the LCU. Thus, the shape of the slice boundary becomes more complicated because the control unit of the slice boundary becomes smaller.
  • the candidate in the MV competition or merge mode is selected.
  • the motion vector encoding unit 122 selects a new candidate (available candidate) instead of the unavailable peripheral region.
  • each square indicates an area (for example, a CU, a sub-macroblock, or the like) that is a unit of prediction processing.
  • FIG. 13 shows an example of the state of the area of the frame to be processed.
  • Square MV curr is the area to be processed, MV curr is the motion vector of the relevant region.
  • Square MV a shows a peripheral region A adjacent to the left of the area, MV a represents a motion vector of the peripheral region A.
  • Square MV b represents the peripheral region B adjacent to the upper side of the area, MV b represents a motion vector of the peripheral region B.
  • Square MV c indicates the peripheral region C adjacent to the upper right of the region, MV c indicates the motion vector of the peripheral region C.
  • FIG. 13 shows an example of the appearance of the area of the reference frame to which the area refers.
  • a square of MV col is a Co-Located area at the same position as the area (ie, a temporally surrounding area col of the area), and MV col is a motion vector of the Co-Located area.
  • Square MV cola showed Co-Located region in the same position as the peripheral region A, MV cola represents a motion vector of the Co-Located region.
  • Square MV colb showed Co-Located region in the same position as the peripheral region B, MV colb represents a motion vector of the Co-Located region.
  • Square MV COLC showed Co-Located region in the same position as the peripheral region C, MV COLC represents a motion vector of the Co-Located region.
  • MV a , MV b , MV c , and MV col are candidates for motion vector predictor information for the region.
  • FIG. 13 shows an example in which all of the peripheral area A to the peripheral area C are located outside the slice (all MV a , MV b and MV c become unavailable). Depending on how the slice boundaries exist, some of MV a , MV b and MV c may be unavailable.
  • the prediction accuracy of the motion vector predictor information may be reduced, and the coding efficiency of motion information of the area may be reduced.
  • the motion vector encoding unit 122 substitutes for the other available surrounding area for the available motion information. Let motion information be a candidate for predicted motion vector information.
  • motion information of a Co-Located area of the area is taken as a candidate.
  • Each region of the reference frame is generally processed at the time the frame is processed. That is, motion information of each area of the reference frame is available. Therefore, the motion vector encoding unit 122 uses motion information of a Co-Located area having high correlation of motion information as a candidate for replacement so as not to reduce the prediction accuracy as much as possible.
  • the motion vector encoding unit 122 substitutes the MV a for the Co-Located area of the surrounding area A.
  • available MV cola be a candidate for predicted motion vector information.
  • the motion vector encoding unit 122 substitutes the MV b for Co-Located of the surrounding area B.
  • An available MV colb of a region is set as a candidate for prediction motion vector information.
  • the motion vector encoding unit 122 substitutes the Co for the surrounding area C, instead of the MV c.
  • An available MV colc in the region is a candidate for motion vector predictor information.
  • the motion vector encoding unit 122 can perform the MV competition without reducing the number of candidates for motion vector predictor information. Thereby, the image coding apparatus 100 can suppress a reduction in coding efficiency at slice boundaries.
  • the data of each slice after processing is shared memory (the same memory as each other) Stored in space) and can be referenced by any processor. Therefore, even in such a case, the motion information of the reference frame can be used without any problem as described above.
  • the image coding apparatus 100 can prevent slice boundaries at such slice boundaries. A reduction in coding efficiency can be suppressed.
  • motion information used as a substitute for unavailable motion information may be motion information other than the Co-Located area of the peripheral area.
  • the motion information to be substituted be more correlated with the original motion information.
  • at least available motion information can be an alternative candidate.
  • motion information other than the Co-Located area of the reference frame may be used.
  • motion information of a reference frame and a processed frame other than the frame may be used.
  • processed motion information of the frame may be used.
  • processed motion information in the slice may be used to avoid the concerns with multiple processors described above.
  • the (available) MV d of the processed peripheral area in the slice is used instead of the unavailable MV b . Also good.
  • region) of the motion information made into the candidate of prediction motion vector information may not be adjacent to the said area
  • an area (not shown) adjacent to the left of the peripheral area A may be used as the peripheral area (the motion information of the area may be used as a candidate for predicted motion vector information).
  • the farther the region is from the region the lower the correlation of the motion information with the region. Therefore, it is preferable to use motion information of a region closer to the region as a candidate for prediction motion vector information .
  • the above-described slice boundary also includes an image frame. That is, even when the area is at the upper end or the left end of the picture (frame), it is conceivable that the motion information of the peripheral area, which is a candidate for the motion vector predictor information, becomes unavailable. Also in this case, as described above, available motion information may be used as a candidate instead.
  • the slice boundary is a frame, as shown in FIG. 16, if there is no surrounding area in the frame, there is no Co-Located area of the surrounding area.
  • the peripheral area A to the peripheral area C are all located outside the image frame and do not exist.
  • those Co-Located regions are also located outside the image frame and do not exist. That is, MV a , MV b , and MV c are all unavailable, and MV cola , MV colb , and MV colc are all unavailable.
  • available motion information of the reference frame may be used as a substitute candidate, for example, MV cold , MV cole , and MV colf .
  • available motion information of frames other than the reference frame may be used. Which available motion information is to be used is arbitrary, but as described above, it is preferable to use motion information of a region closer to the region.
  • each square indicates an area (for example, a CU, a sub-macroblock, or the like) that is a unit of prediction processing.
  • FIG. 17 illustrates an example of the state of the area of the frame to be processed.
  • Square MV curr is the area to be processed, MV curr is the motion vector of the relevant region.
  • Square MV L represents a peripheral region L adjacent to the left of the area, MV L represents a motion vector of the peripheral region L.
  • Square MV T indicates the peripheral region T adjacent to the upper side of the area, MV T denotes the motion vector of the peripheral region T.
  • FIG. 17 shows an example of the state of the area of the reference frame to which the area refers.
  • a square of MV col is a Co-Located area at the same position as the area (ie, a temporally surrounding area col of the area), and MV col is a motion vector of the Co-Located area.
  • Square MV Coll showed Co-Located region at the same position as the peripheral region L, MV Coll represents a motion vector of the Co-Located region.
  • MV COLT represents a motion vector of the Co-Located region.
  • the peripheral region L and the peripheral region T are the relevant slices (the target slice in which the relevant processing target exists). If located outside, those motion vectors (MV L and MV T ) become unavailable and are excluded from merging candidates. Therefore, since the number of merge candidates is reduced, it is difficult to select a merge mode, and there is a possibility that the coding efficiency of motion information in the area is reduced.
  • both the peripheral region L and the peripheral region T is located outside of the slice (MV L and MV T becomes unavailable (unavailable The)) an example is shown, slice boundary how depending on whether present in only one of the MV L and MV T can sometimes become unavailable (unavailable the).
  • the number of merge candidates is reduced, which makes it difficult to select a merge mode, which may reduce the coding efficiency of motion information in the area.
  • the motion vector encoding unit 122 uses the other information instead of the motion information.
  • the available surrounding area is considered as a merge candidate, and its motion information is used.
  • motion information of a Co-Located region of the region where the correlation between the region and the motion information is high is set as a candidate.
  • the motion vector encoding unit 122 substitutes for the MV L for the Co-Located area of the surrounding area L.
  • MV colL which is available, be a candidate for prediction motion vector information.
  • the peripheral region T is located outside of the slice, if MV T is not available (unavailable The), the motion vector coding unit 122 in place of the MV T, Co-Located region of the peripheral region T Let available MV colT be a candidate for predicted motion vector information.
  • the motion vector encoding unit 122 can determine whether or not to select the merge mode without reducing the number of merge candidates. Thereby, the image coding apparatus 100 can suppress a reduction in coding efficiency at slice boundaries.
  • the Co-Located area of the area of unavailable motion information can be used as a candidate for alternative merge. . That is, at least an area of available motion information can be a candidate for an alternative merge.
  • FIG. 18 is a block diagram illustrating an exemplary main configuration of the motion prediction / compensation unit 115, the slice boundary determination unit 121, and the motion vector encoding unit 122.
  • the motion prediction / compensation unit 115 includes a motion search unit 131, a cost function calculation unit 132, a mode determination unit 133, a motion compensation unit 134, and a motion information buffer 135.
  • the motion vector encoding unit 122 includes a merge candidate setting unit 141, a merge information generation unit 142, a candidate predictor setting unit 143, a prediction motion vector generation unit 144, and a difference motion vector generation unit 145.
  • the motion search unit 131 receives an input image pixel value from the screen rearrangement buffer 102 and a reference image pixel value from the frame memory 112. The motion search unit 131 performs motion search processing for all inter prediction modes, and generates motion information including a motion vector and a reference index. The motion search unit 131 supplies the motion information to the merge information generation unit 142 and the prediction motion vector generation unit 144 of the motion vector coding unit 122.
  • the position of the boundary of the slice included in the information such as the sequence parameter set, the picture parameter set, and the slice header is the address (for example, CU or sub-macroblock) serving as a processing unit.
  • the lossless encoding unit 106 supplies a slice boundary area address indicated by (identification information), an area address indicating the position of the area to be processed, and the like.
  • the slice boundary determination unit 121 determines a region of motion information to be a candidate for motion prediction vector information of the region or a region to be a merge candidate from the positional relationship between the region and the slice boundary. It is determined whether or not it exists in the slice (whether or not motion information is available).
  • the slice boundary determination unit 121 supplies the determination result (slice boundary determination result) to the merge candidate setting unit 141 and the candidate predictor setting unit 143 of the motion vector encoding unit 122.
  • the merge candidate setting unit 141 of the motion vector encoding unit 122 acquires the slice boundary determination result from the slice boundary determination unit 121
  • the merge candidate setting unit 141 determines a peripheral region to be a merge candidate according to the slice boundary determination result.
  • the merge candidate setting unit 141 sets, as available motion information, a peripheral area in which the peripheral motion information can be acquired from the motion information buffer 135. For example, if it is determined in the slice determination boundary determination result that there is an area where the motion information is unavailable (unavailable) in the merge candidate setting result, the merge candidate setting unit 141 outputs the peripheral motion information from the motion information buffer 135. The available peripheral area is replaced with that area as a merge candidate.
  • the merge candidate setting unit 141 supplies the merge information generation unit 142 with candidate information including information specifying the peripheral area determined as the candidate and its movement information (peripheral movement information).
  • the merge information generation unit 142 acquires motion information of the area from the motion search unit 131, compares the motion information with surrounding vocabulary information included in the candidate information supplied from the merge candidate setting unit 141, and It is determined whether or not the peripheral area is merged with the area, and in the case of further merging, it is determined which candidate is to be merged.
  • the merge information generation unit 142 appropriately generates MergeFlag and MergeLeftFlag indicating the determination results, and generates merge information including the flag information.
  • the merge information generation unit 142 supplies the generated merge information to the cost function calculation unit 132.
  • the merge information generation unit 142 causes the prediction motion vector generation unit 144 to generate a prediction motion vector. Provide a control signal to indicate.
  • the candidate predictor setting unit 143 acquires the slice boundary determination result from the slice boundary determination unit 121, and determines motion information to be a candidate for motion vector predictor information according to the slice determination boundary determination result. Do.
  • the candidate predictor setting unit 143 sets available peripheral information that can acquire peripheral motion information from the motion information buffer 135 as available motion information. For example, the candidate predictor setting unit 143 can obtain from the motion information buffer 135 when it is determined in the slice determination boundary determination result that unavailable motion information is present among the candidates for the motion vector predictor information. Make peripheral motion information an alternative candidate.
  • the candidate predictor setting unit 143 supplies the prediction motion vector generation unit 144 with candidate information including the peripheral motion information determined as the candidate.
  • the motion vector predictor generating unit 144 acquires motion information of each inter prediction mode of the area from the motion searching unit 131 according to the control signal supplied from the merge information generating unit 142, and acquires candidate information from the candidate predictor setting unit 143. Do.
  • the predicted motion vector generation unit 144 generates a plurality of candidate predicted motion vector information using the information thereof.
  • the method of generating predicted motion vector information is arbitrary, and may be, for example, the method described in Non-Patent Document 2.
  • the prediction motion vector generation unit 144 supplies the motion information of the area, the generated prediction motion vector information to be candidates, and the code numbers assigned to them to the difference motion vector generation unit 145. .
  • the differential motion vector generation unit 145 selects an optimum candidate from the supplied prediction motion vector information candidates for each inter prediction mode, and a differential motion vector including the difference value between the motion information and the prediction motion vector information Generate information.
  • the differential motion vector generation unit 145 transmits the generated differential motion vector information of each inter prediction mode, the predicted motion vector information of each of the selected inter prediction modes, and the code number thereof to the cost function calculation unit 132 of the motion prediction / compensation unit 115. Supply.
  • the motion search unit 131 performs a compensation process on the reference image using the searched motion vector information, and generates a predicted image. Furthermore, the motion search unit 131 calculates the difference (difference pixel value) between the predicted image and the input image, and supplies the difference pixel value to the cost function calculation unit 132.
  • the cost function calculation unit 132 calculates the cost function value of each inter prediction mode using the difference pixel value of each inter prediction mode supplied from the motion search unit 131.
  • the cost function calculation unit 132 supplies the calculated cost function value of each inter prediction mode and the merge information to the mode determination unit 133.
  • the cost function calculation unit 132 also supplies, to the mode determination unit 133, the difference motion information of each inter prediction mode, the prediction motion vector information of each inter prediction mode, and the code number thereof as necessary.
  • the mode determination unit 133 determines which of the inter prediction modes is best to use, using the cost function value for each inter prediction mode, and selects the inter prediction mode of the smallest cost function value as the optimum prediction. Mode. Then, the mode determination unit 133 supplies the motion prediction unit 134 with the optimal prediction mode information and the merge information, which are information related to the optimal prediction mode. In addition, the mode determination unit 133 also supplies, to the motion compensation unit 134, the differential motion information, the prediction motion vector information, and the code number of the inter prediction mode selected as the optimal prediction mode, as necessary.
  • the motion compensation unit 134 obtains a motion vector of the optimal prediction mode using the supplied information. For example, when the merge mode is selected, the motion compensation unit 134 acquires motion information of the peripheral area specified by the merge information from the motion information buffer 135, and sets the motion vector as the motion vector of the optimal prediction mode. When the merge mode is not selected, the motion compensation unit 134 generates a motion vector of the optimal prediction mode using difference motion information, predicted motion vector information, and the like supplied from the mode determination unit 133. The motion compensation unit 134 compensates the reference image from the frame memory 112 using the motion vector to generate a predicted image of the optimal prediction mode.
  • the motion compensation unit 134 When inter prediction is selected by the prediction image selection unit 116, a signal indicating that is supplied from the prediction image selection unit 116. In response to this, the motion compensation unit 134 supplies the optimal prediction mode information and the merge information to the lossless encoding unit 106. In addition, the motion compensation unit 134 also supplies, to the lossless encoding unit 106, the difference motion vector information of the optimal prediction mode and the code number of the prediction motion vector information as necessary.
  • the motion compensation unit 134 stores the motion information of the optimal prediction mode in the motion information buffer 135.
  • 0 vector is stored in the motion information buffer 135 as motion vector information.
  • the motion information buffer 135 stores motion information of the optimum prediction mode of the region processed in the past.
  • the stored motion information is supplied to each portion as peripheral motion information in processing for an area to be processed later in time than the area.
  • the motion vector encoding unit 122 determines candidates for motion vector predictor information or determines candidates for merging based on the slice boundary determination result of the slice boundary determination unit 121. Therefore, the motion vector encoding unit 122 can suppress the reduction of the number of candidates in the MV competition and the merge mode. Thereby, the image coding apparatus 100 can improve the coding efficiency.
  • step S101 the A / D conversion unit 101 A / D converts the input image.
  • step S102 the screen rearrangement buffer 102 stores the A / D converted image, and performs rearrangement from the display order of each picture to the coding order.
  • step S103 the intra prediction unit 114 performs intra prediction processing in the intra prediction mode.
  • step S104 the motion prediction / compensation unit 115 performs inter motion prediction processing that performs motion prediction and motion compensation in the inter prediction mode.
  • step S105 the predicted image selection unit 116 determines the optimal mode based on the cost function values output from the intra prediction unit 114 and the motion prediction / compensation unit 115. That is, the prediction image selection unit 116 selects one of the prediction image generated by the intra prediction unit 114 and the prediction image generated by the motion prediction / compensation unit 115.
  • step S106 the computing unit 103 computes the difference between the image rearranged in the process of step S102 and the predicted image selected in the process of step S105.
  • the amount of difference data is reduced compared to the original image data. Therefore, the amount of data can be compressed as compared to the case of encoding the image as it is.
  • step S107 the orthogonal transformation unit 104 orthogonally transforms the difference information generated by the process of step S106. 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 S108 the quantization unit 105 quantizes the orthogonal transformation coefficient obtained by the process of step S107.
  • step S109 the inverse quantization unit 108 inversely quantizes the quantized orthogonal transformation coefficient (also referred to as a quantization coefficient) generated by the process of step S108 with a characteristic corresponding to the characteristic of the quantization unit 105.
  • step S110 the inverse orthogonal transformation unit 109 performs inverse orthogonal transformation on the orthogonal transformation coefficient obtained by the process of step S107 with a characteristic corresponding to the characteristic of the orthogonal transformation unit 104.
  • step S111 the calculation unit 110 adds the prediction image to the locally decoded difference information to generate a locally decoded image (an image corresponding to an input to the calculation unit 103).
  • step S112 the loop filter 111 appropriately performs loop filter processing including deblocking filter processing, adaptive loop filter processing, and the like on the local decoded image obtained by the processing in step S111.
  • step S113 the frame memory 112 stores the decoded image subjected to the loop filter process in the process of step S112.
  • An image not subjected to filter processing by the loop filter 111 is also supplied from the arithmetic unit 110 to the frame memory 112 and stored.
  • step S114 the lossless encoding unit 106 encodes the transform coefficient quantized in the process of step S108. That is, lossless coding such as variable-length coding or arithmetic coding is performed on the difference image.
  • the lossless encoding unit 106 encodes the quantization parameter calculated in step S108 and adds the encoded parameter to the encoded data.
  • the lossless encoding unit 106 encodes information on the prediction mode of the predicted image selected in the process of step S105, and adds the information to encoded data obtained by encoding a differential image. That is, the lossless encoding unit 106 also encodes the optimal intra prediction mode information supplied from the intra prediction unit 114 or the information according to the optimal inter prediction mode supplied from the motion prediction / compensation unit 115, and the like. Append to data.
  • step S115 the accumulation buffer 107 accumulates the encoded data obtained by the process of step S114.
  • the encoded data stored in the storage buffer 107 is appropriately read and transmitted to the decoding side via a transmission path or a recording medium.
  • step S116 the rate control unit 117 prevents the overflow or underflow from occurring on the basis of the code amount (generated code amount) of the encoded data accumulated in the accumulation buffer 107 by the process of step S115. Control the rate of the quantization operation of
  • step S116 ends, the encoding process ends.
  • step S131 the motion search unit 131 performs a motion search on each inter prediction mode to generate motion information and a difference pixel value.
  • step S132 the slice boundary determination unit 121 acquires address information such as a slice boundary area address and the area address from the lossless encoding unit 106.
  • step S133 based on the various address information acquired in step S132, the slice boundary determination unit 121 brings the region into contact with the slice boundary, and the motion information of each candidate of prediction motion vector information and each candidate of merge can be used ( It is determined whether or not available.
  • step S134 the merge candidate setting unit 141 sets merge candidates according to the slice boundary determination result in step S133. For example, if there is an area of unavailable motion information in the merge candidates, the merge candidate setting unit 141 sets an alternative area as a merge candidate.
  • step S135 the merge information generation unit 142 determines whether or not to select the merge mode, selects an area to be merged from the merge candidates set in step S134, and generates merge information. .
  • step S136 If it is determined in step S136 that the merge mode is not selected, the merge information generation unit 142 proceeds with the process to step S137.
  • step S137 the candidate predictor setting unit 143 sets a candidate for candidate motion vector information (candidate predictor) according to the slice boundary determination result in step S133. For example, if there is unavailable motion information in the candidate, the candidate predictor setting unit 143 sets alternative motion information as a candidate for motion vector predictor information.
  • step S138 the prediction motion vector generation unit 144 generates all candidate prediction motion vector information as candidates using the prediction motion vector information candidate set in step S137.
  • step S139 the differential motion vector generation unit 145 determines optimal prediction motion vector information for each inter prediction mode, and generates a differential motion vector between the prediction motion vector information and the motion information of the area. After the process of step S139, the difference motion vector generation unit 145 proceeds with the process to step S140.
  • step S136 If it is determined in step S136 that the merge mode is selected, the merge information generation unit 142 advances the process to step S140.
  • step S140 the cost function calculation unit 132 calculates the cost function value of each inter prediction mode.
  • step S141 the mode determination unit 133 determines the optimal inter prediction mode (also referred to as the optimal prediction mode), which is the optimal inter prediction mode, using the cost function value calculated in step S140.
  • the optimal prediction mode also referred to as the optimal prediction mode
  • step S142 the motion compensation unit 134 performs motion compensation in the optimal inter prediction mode.
  • step S143 the motion compensation unit 134 supplies the predicted image obtained by the motion compensation in step S142 to the calculation unit 103 and the calculation unit 110 via the predicted image selection unit 116, and generates difference image information and a decoded image.
  • step S144 the motion compensation unit 134 supplies the lossless encoding unit 106 with information regarding the optimal inter prediction mode, such as optimal prediction mode information, merge information, differential motion information, and code numbers of prediction motion vector information, Encode.
  • step S145 the motion information buffer 135 stores the motion information selected in the optimal inter prediction mode. After storing the motion information, the motion information buffer 135 ends the inter motion prediction process.
  • the motion vector encoding unit 122 can suppress the reduction of the number of candidates in the MV competition and the merge mode. Thereby, the image coding apparatus 100 can improve the coding efficiency.
  • FIG. 21 is a block diagram showing an example of a main configuration of an image decoding device corresponding to the image coding device 100 of FIG.
  • the image decoding apparatus 200 shown in FIG. 21 decodes the encoded data generated by the image encoding apparatus 100 by a decoding method corresponding to the encoding method. Note that the image decoding device 200 performs inter prediction for each prediction unit (PU) as in the image coding device 100.
  • PU prediction unit
  • the image decoding apparatus 200 includes an accumulation buffer 201, a lossless decoding unit 202, an inverse quantization unit 203, an inverse orthogonal transformation unit 204, an operation unit 205, a loop filter 206, a screen rearrangement buffer 207, and D. / A converter 208 is included.
  • the image decoding apparatus 200 further includes a frame memory 209, a selection unit 210, an intra prediction unit 211, a motion prediction / compensation unit 212, and a selection unit 213.
  • the image decoding device 200 includes a slice boundary determination unit 221 and a motion vector decoding unit 222.
  • the accumulation buffer 201 accumulates the transmitted encoded data, and supplies the encoded data to the lossless decoding unit 202 at a predetermined timing.
  • the lossless decoding unit 202 decodes the information supplied from the accumulation buffer 201 and encoded by the lossless encoding unit 106 in FIG. 1 using a method corresponding to the encoding method of the lossless encoding unit 106.
  • the lossless decoding unit 202 supplies the quantized coefficient data of the differential image obtained by the decoding to the inverse quantization unit 203.
  • the lossless decoding unit 202 determines whether the intra prediction mode is selected or the inter prediction mode is selected as the optimum prediction mode, and the information on the optimum prediction mode can be obtained by the intra prediction unit 211 and the motion prediction / compensation unit Among the modes 212, the mode is determined to be selected. That is, for example, when the inter prediction mode is selected as the optimum prediction mode in the image coding apparatus 100, information on the optimum prediction mode is supplied to the motion prediction / compensation unit 212.
  • the inverse quantization unit 203 performs inverse quantization on the quantized coefficient data obtained by being decoded by the lossless decoding unit 202, using a method corresponding to the quantization method of the quantization unit 105 in FIG.
  • the data is supplied to the inverse orthogonal transform unit 204.
  • the inverse orthogonal transform unit 204 performs inverse orthogonal transform on the coefficient data supplied from the inverse quantization unit 203 according to a scheme corresponding to the orthogonal transform scheme of the orthogonal transform unit 104 in FIG. 1.
  • the inverse orthogonal transformation unit 204 obtains decoded residual data corresponding to residual data before orthogonal transformation in the image coding apparatus 100 by this inverse orthogonal transformation processing.
  • the decoded residual data obtained by the inverse orthogonal transform is supplied to the arithmetic unit 205. Further, the 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.
  • Arithmetic unit 205 adds the decoded residual data and the predicted image to obtain decoded image data corresponding to the image data before the predicted image is subtracted by arithmetic unit 103 of image coding apparatus 100.
  • the operation unit 205 supplies the decoded image data to the loop filter 206.
  • the loop filter 206 appropriately performs loop filter processing including deblock filter processing, adaptive loop filter processing, and the like on the supplied decoded image, and supplies this to the screen rearrangement buffer 207.
  • the loop filter 206 includes a deblocking filter, an adaptive loop filter, and the like, and appropriately filters the decoded image supplied from the operation unit 205.
  • the loop filter 206 removes block distortion of the decoded image by performing deblocking filter processing on the decoded image.
  • the loop filter 206 improves the image quality by performing loop filter processing on the deblock filter processing result (decoded image subjected to removal of block distortion) using a Wiener filter. Do.
  • the loop filter 206 may perform arbitrary filter processing on the decoded image. In addition, the loop filter 206 may perform the filter process using the filter coefficient supplied from the image coding apparatus 100 of FIG. 1.
  • the loop filter 206 supplies the filter processing result (decoded image after filter processing) to the screen rearrangement buffer 207 and the frame memory 209.
  • the decoded image output from the operation unit 205 can be supplied to the screen rearrangement buffer 207 or the frame memory 209 without passing through the loop filter 206. That is, the filtering process by the loop filter 206 can be omitted.
  • the screen rearrangement buffer 207 rearranges the images. That is, the order of the frames rearranged for the order of encoding by the screen rearrangement buffer 102 in FIG. 1 is rearranged in the order of the original display.
  • the D / A conversion unit 208 D / A converts the image supplied from the screen rearrangement buffer 207, and outputs the image to a display (not shown) for display.
  • the frame memory 209 stores the decoded image to be supplied, and at a predetermined timing or based on an external request such as the intra prediction unit 211 or the motion prediction / compensation unit 212, the stored decoded image is referred to as a reference image As the selection unit 210.
  • the selection unit 210 selects the supply destination of the reference image supplied from the frame memory 209.
  • the selection unit 210 supplies the reference image supplied from the frame memory 209 to the intra prediction unit 211.
  • the selection unit 210 supplies the reference image supplied from the frame memory 209 to the motion prediction / compensation unit 212.
  • the intra prediction unit 211 performs intra prediction using the reference image acquired from the frame memory 209 in the intra prediction mode used by the intra prediction unit 114 in FIG. 1, and generates a prediction image.
  • the intra prediction unit 211 supplies the generated predicted image to the selection unit 213.
  • the motion prediction / compensation unit 212 acquires, from the lossless decoding unit 202, information (optimum prediction mode information, difference information, code number of prediction motion vector information, etc.) obtained by decoding header information.
  • the motion prediction / compensation unit 212 performs inter prediction using the reference image acquired from the frame memory 209 in the inter prediction mode used in the motion prediction / compensation unit 115 in FIG. 1 to generate a prediction image.
  • the slice boundary determination unit 221 basically performs the same processing as the slice boundary determination unit 121, and the region is in contact with the slice boundary, and motion information of motion vector predictor candidates and merge candidates is unavailable (unavailable). It is determined whether the The slice boundary determination unit 221 supplies such a slice boundary determination result to the motion vector decoding unit 222.
  • the motion vector decoding unit 222 sets merge candidates and prediction motion vector information candidates based on the slice boundary determination result supplied from the slice boundary determination unit 221. Also, the motion vector decoding unit 222 decodes (decodes) merge information using the candidate. That is, at the time of encoding, the motion vector decoding unit 222 determines whether or not the merge mode is selected in the prediction of the region, or when the merge mode is selected, which peripheral region is merged, etc. Do.
  • the motion vector decoding unit 222 merges the peripheral area into the area according to the determination result, and supplies the information for specifying the peripheral area to the motion prediction / compensation unit 212.
  • the motion prediction / compensation unit 212 reconstructs motion information of the area using the motion information of the designated peripheral area.
  • the motion vector decoding unit 222 reconstructs prediction motion vector information using the set prediction motion vector information candidates. That is, there is a possibility that predicted motion vector information generated by the image coding apparatus 100 is generated by the replaced candidate. That is, in order to correctly decode the code number transmitted from the image coding apparatus 100, the motion vector decoding unit 222 grasps whether or not the replacement of the candidate has been performed, and if it has been performed, It must be understood whether the motion information of the area has been used.
  • the motion vector decoding unit 222 reproduces replacement of candidates for motion vector predictor information according to the result of slice boundary determination, and uses the result to reconstruct motion vector predictor information from code numbers.
  • merging candidates and prediction motion vector information candidates are set based on the determination result of slice boundaries by the slice boundary determination unit 221, and merging is performed using the candidates, and prediction motion vector information is reconstructed.
  • the motion vector decoding unit 222 can correctly decode the information supplied from the image coding device 100 and correctly reconstruct the motion vector information of the area.
  • the image decoding apparatus 200 can correctly decode the encoded data encoded by the image encoding apparatus 100, and can improve the encoding efficiency.
  • FIG. 22 is a block diagram illustrating an exemplary main configuration of the motion prediction / compensation unit 212, the slice boundary determination unit 221, and the motion vector decoding unit 222.
  • the motion prediction / compensation unit 212 includes a differential motion information buffer 231, a merge information buffer 232, a predicted motion vector information buffer 233, a motion information buffer 234, a motion information reconstruction unit 235, and a motion compensation unit. Having 236.
  • the motion vector decoding unit 222 includes a merge candidate setting unit 241, a merge information decoding unit 242, a candidate predictor setting unit 243, and a motion vector predictor reconstruction unit 244.
  • the differential motion information buffer 231 stores differential motion information supplied from the lossless decoding unit 202.
  • the differential motion information is differential motion information of the inter prediction mode selected as the optimal prediction mode, supplied from the image coding apparatus 100.
  • the differential motion information buffer 231 supplies the stored differential motion information to the motion information reconstruction unit 235 at a predetermined timing or based on a request from the motion information reconstruction unit 235.
  • the merge information buffer 232 stores merge information supplied from the lossless decoding unit 202. This merge information is the merge motion information of the inter prediction mode selected as the optimal prediction mode, supplied from the image coding apparatus 100.
  • the merge information buffer 232 supplies the stored merge information to the merge information decoding unit 242 of the motion vector decoding unit 222 at a predetermined timing or based on a request from the merge information decoding unit 242.
  • the predicted motion vector information buffer 233 stores the code number of the predicted motion vector information supplied from the lossless decoding unit 202.
  • the code number of this prediction motion vector information is supplied from the image coding apparatus 100, and is a code number assigned to prediction motion vector information of the inter prediction mode selected as the optimum prediction mode.
  • the prediction motion vector information buffer 233 transmits the code number of the stored prediction motion vector information to the prediction motion vector reconstruction unit 244 at a predetermined timing or based on a request from the prediction motion vector reconstruction unit 244. Supply.
  • the slice boundary determination unit 221 acquires the slice boundary area address and the area address supplied from the encoding side from the lossless decoding unit 202, and performs slice boundary determination. These pieces of information are stored and transmitted at a predetermined position of a code stream including coded data of an image, such as a sequence parameter set, a picture parameter set, or a slice header, for example. Also, this code stream may be transmitted separately.
  • the slice boundary determination unit 221 supplies the determination result (slice boundary determination result) to the merge candidate setting unit 241 and the candidate predictor setting unit 243 of the motion vector decoding unit 222.
  • the merge candidate setting unit 241 of the motion vector decoding unit 222 appropriately acquires necessary peripheral motion information of the peripheral region from the motion information buffer 234, and according to the result of the slice boundary determination supplied from the slice boundary determination unit 221, the use candidate is not appropriately used. Unavailable motion information candidates are replaced with available motion information areas to set merge candidates.
  • the merge candidate setting unit 241 supplies candidate information for specifying a merge candidate to the merge information decoding unit 242.
  • the merge information decoding unit 242 acquires the merge information supplied from the image coding apparatus 100 from the merge information buffer 232.
  • the merge information decoding unit 242 decodes the value of each flag such as MergeFlag and MergeLeftFlag included in the merge information.
  • the merge information decoding unit 242 reproduces the candidate replacement if the replacement has been performed on the encoding side.
  • the merge information decoding unit 242 Based on the candidate information supplied from the merge candidate setting unit 241, the merge information decoding unit 242 correctly specifies the peripheral area actually made a candidate.
  • the merge information decoding unit 242 when the merge mode is selected and the peripheral area to be merged into the area is specified, the merge information decoding unit 242 generates peripheral information specifying information for specifying the peripheral area as the motion information reconstructing unit 235.
  • the merge information decoding unit 242 supplies a control signal instructing the prediction motion vector reconstruction unit 244 to reconstruct prediction motion vector information. Do.
  • the candidate predictor setting unit 243 appropriately acquires the peripheral motion information of the necessary peripheral region from the motion information buffer 234, and according to the slice boundary determination result supplied from the slice boundary determination unit 221, the unavailable movement as appropriate. Information candidates are set to available motion information areas, etc., to set prediction motion vector information candidates.
  • the candidate predictor setting unit 243 supplies the prediction motion vector reconstruction unit 244 with candidate information for specifying the set candidate of the set prediction motion vector information.
  • the prediction motion vector reconstruction unit 244 When instructed by the merge information decoding unit 242 to reconstruct prediction motion vector information (when a control signal is supplied), the prediction motion vector reconstruction unit 244 performs image encoding from the prediction motion vector information buffer 233. The code number of the predicted motion vector information supplied from the device 100 is acquired, and the code number is decoded.
  • the motion vector predictor reconstruction unit 244 substitutes a candidate on the encoding side based on the candidate information supplied from the candidate predictor setting unit 243. , Reproduce it, and correctly identify the peripheral area of the motion information selected as the predicted motion vector information.
  • the prediction motion vector reconstruction unit 244 acquires peripheral motion information of the peripheral region from the motion information buffer 234, and sets the peripheral motion information as prediction motion vector information.
  • the prediction motion vector reconstruction unit 244 supplies the reconstructed prediction motion vector information to the motion information reconstruction unit 235 of the motion prediction / compensation unit 212.
  • the motion information restructuring unit 235 acquires motion information of the peripheral area designated by the peripheral area designation information supplied from the merge information decoding unit 242 from the motion information buffer 234, and moves the motion information of the area. Information (reconstructing motion information).
  • the motion information reconstruction unit 235 acquires, from the differential motion information buffer 231, the differential motion information supplied from the image coding device 100.
  • the motion information reconstruction unit 235 adds the prediction motion vector information acquired from the prediction motion vector reconstruction unit 244 to the difference motion information, and reconstructs motion information of the area (the PU).
  • the motion information reconstructing unit 235 supplies the reconstructed motion information of the area to the motion compensating unit 236.
  • the motion compensation unit 236 performs motion compensation on the reference image pixel value acquired from the frame memory 209 using the motion information of the area reconstructed by the motion information reconstructing unit 235 as described above, and generates a predicted image. Generate The motion compensation unit 236 supplies the predicted image pixel value to the calculation unit 205 via the selection unit 213.
  • the motion information reconstruction unit 235 also supplies the reconstructed motion information of the area to the motion information buffer 234.
  • the motion information buffer 234 stores the motion information of the area supplied from the motion information reconstruction unit 235.
  • the motion information buffer 234 uses the motion information as peripheral motion information in the processing with respect to another area processed later in time than the area concerned, the merge candidate setting unit 241, the candidate predictor setting unit 243, and the prediction motion vector re- It is supplied to the construction unit 244.
  • the image decoding apparatus 200 can correctly decode the encoded data encoded by the image encoding apparatus 100, and can improve the encoding efficiency.
  • step S201 the accumulation buffer 201 accumulates the transmitted code stream.
  • step S202 the lossless decoding unit 202 decodes the code stream (coded difference image information) 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.
  • differential motion information the code number of predicted motion vector information, and merge information.
  • merge information various types of information other than the differential image information included in the code stream, such as differential motion information, the code number of predicted motion vector information, and merge information.
  • step S203 the inverse quantization unit 203 inversely quantizes the quantized orthogonal transformation coefficient obtained by the process of step S202.
  • step S204 the inverse orthogonal transformation unit 204 performs inverse orthogonal transformation on the orthogonal transformation coefficient that has been inversely quantized in step S203.
  • step S205 the intra prediction unit 211 or the motion prediction / compensation unit 212 performs prediction processing using the supplied information.
  • the selection unit 213 selects the predicted image generated in step S205.
  • step S207 the computing unit 205 adds the predicted image selected in step S206 to the difference image information obtained by the inverse orthogonal transformation in step S204. The original image is thus decoded.
  • step S208 the loop filter 206 appropriately performs loop filter processing including deblock filter processing, adaptive loop filter processing, and the like on the decoded image obtained in step S207.
  • step S209 the screen rearrangement buffer 207 rearranges the image filtered in step S208. That is, the order of the frames rearranged for encoding by the screen rearrangement buffer 102 of the image encoding device 100 is rearranged in the original display order.
  • step S210 the D / A conversion unit 208 D / A converts the image in which the order of the frames is rearranged in step S209. This image is output to a display not shown, and the image is displayed.
  • step S211 the frame memory 209 stores the image filtered in step S208.
  • step S211 ends, the decoding process ends.
  • the lossless decoding unit 202 determines in step S 231 whether the encoded data to be processed is intra-coded based on the information on the optimal prediction mode supplied from the image coding apparatus 100. It is determined whether or not. If it is determined that intra coding has been performed, the lossless decoding unit 202 proceeds with the process to step S232.
  • step S232 the intra prediction unit 211 acquires intra prediction mode information.
  • step S233 the intra prediction unit 211 performs intra prediction using the intra prediction mode information acquired in step S232, and generates a prediction image.
  • the intra prediction unit 211 ends the prediction process, and returns the process to FIG.
  • step S231 If it is determined in step S231 that inter coding has been performed, the lossless decoding unit 202 proceeds with the process to step S234.
  • step S234 the motion prediction / compensation unit 212 performs inter motion prediction processing.
  • the motion prediction / compensation unit 212 ends the prediction process, and returns the process to FIG.
  • the motion prediction / compensation unit 212 acquires information on motion prediction for the region.
  • the differential motion information buffer 231 acquires differential motion information
  • the merge information buffer 232 acquires merge information
  • the predicted motion vector information buffer 233 acquires a code number of predicted motion vector information.
  • step S252 the slice boundary determination unit 221 acquires address information such as a slice boundary area address and the area address. In step S253, based on the address information acquired in step S252, the slice boundary determination unit 221 brings the region into contact with the slice boundary, and the candidate of the motion information and predicted motion vector information of the peripheral region serving as a merge candidate can be used. It is determined whether the
  • step S254 the merge candidate setting unit 241 sets merge candidates in accordance with the slice boundary determination result performed in step S253.
  • the merge information decoding unit 242 decodes (decrypts) the merge information using the merge candidate set in step S253, and when the merge mode is selected, identifies the peripheral region to be merged.
  • step S256 the merge information decoding unit 242 determines whether or not the merge mode is selected, and if it is determined that the merge mode is selected, the process proceeds to step S257.
  • step S257 the candidate predictor setting unit 243 sets candidates (candidate predictors) of motion vector predictor information according to the slice boundary determination result obtained in step S253.
  • step S258 the prediction motion vector reconstruction unit 244 reconstructs prediction motion vector information from the code number of the prediction motion vector information using the candidate predictor. After the prediction motion vector information is reconstructed, the prediction motion vector reconstruction unit 244 proceeds with the process to step S259.
  • the merge information decoding unit 242 causes the process to proceed to step S259.
  • step S259 the motion information reconstruction unit 235 reconstructs motion information of the area using the decoding result of the merge information in step S255 or the predicted motion vector information reconstructed in step S258.
  • step S260 the motion compensation unit 236 performs motion compensation using the motion information reconstructed in step S259, and generates a predicted image.
  • step S261 the motion compensation unit 236 supplies the predicted image generated in step S260 to the arithmetic unit 205 via the selection unit 213, and generates a decoded image.
  • step S262 the motion information buffer 234 stores the motion information reconstructed in step S259.
  • step S262 ends, the motion information buffer 234 ends the inter motion prediction process, and returns the process to FIG.
  • the image decoding apparatus 200 can correctly decode the encoded data encoded by the image encoding apparatus 100, and can improve the encoding efficiency.
  • the present technology is, for example, MPEG, H.
  • image information bit stream
  • orthogonal transformation such as discrete cosine transformation and motion compensation as in 26x etc. via satellite broadcasting, cable television, the Internet, or network media such as a cellular phone
  • the present technology can be applied to an image coding apparatus and an image decoding apparatus used for
  • the present technology can be applied to an image encoding device and an image decoding device that are used when processing on storage media such as an optical disk, a magnetic disk, and a flash memory.
  • the present technology can also be applied to motion prediction / compensation devices included in such image coding devices and image decoding devices.
  • Third embodiment> [Personal computer]
  • the above-described series of processes may be performed by hardware or software.
  • a program that configures the software is installed on a computer.
  • the computer includes a computer incorporated in dedicated hardware, a general-purpose personal computer capable of executing various functions by installing various programs, and the like.
  • a CPU (Central Processing Unit) 501 of the personal computer 500 executes various programs 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 of The RAM 503 also appropriately stores data and the like necessary for the CPU 501 to execute various processes.
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the CPU 501, the ROM 502, and the RAM 503 are connected to one another 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 such as a keyboard and a mouse, a display such as a CRT (Cathode Ray Tube) or an LCD (Liquid Crystal Display), an output unit 512 such as 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 also connected to the input / output interface 510 as necessary, and removable media 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory are appropriately attached, and a computer program read from them is It is installed in the storage unit 513 as necessary.
  • a program that configures the software is installed from a network or a recording medium.
  • this recording medium is a magnetic disk (including a flexible disk) on which a program is recorded, which is distributed for distributing the program to the user separately from the apparatus main body, an optical disk ( It consists only of removable media 521 such as CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc), Magneto-Optical Disc (including MD (Mini Disc), or semiconductor memory etc. Instead, it is composed of the ROM 502 in which the program is recorded, which is distributed to the user in a state of being incorporated in the apparatus main body, a hard disk included in the storage unit 513, and the like.
  • the program executed by the computer may be a program that performs processing in chronological order according to the order described in this specification, in parallel, or when necessary, such as when a call is made. It may be a program to be processed.
  • the step of describing the program to be recorded on the recording medium is not limited to processing performed chronologically in the order described, but not necessarily parallel processing It also includes processing to be executed individually.
  • system represents the entire apparatus configured by a plurality of devices (apparatus).
  • the configuration described above as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configuration described as a plurality of devices (or processing units) in the above may be collectively configured as one device (or processing unit).
  • configurations other than those described above may be added to the configuration of each device (or each processing unit).
  • part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) if the configuration or operation of the entire system is substantially the same. . That is, the present technology is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the present technology.
  • the image encoding device and the image decoding device include a transmitter or a receiver in optical satellite, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, etc.
  • the present invention can be applied to various electronic devices such as a recording apparatus which records an image on a medium such as a magnetic disk and a flash memory, or a reproduction apparatus which reproduces an image from the storage medium.
  • a recording apparatus which records an image on a medium such as a magnetic disk and a flash memory
  • a reproduction apparatus which reproduces an image from the storage medium.
  • FIG. 27 shows an example of a schematic configuration of a television set to which the embodiment described above is applied.
  • the television device 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
  • the tuner 902 extracts a signal of a desired channel from a broadcast signal received via the antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the coded bit stream obtained by demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission means in the television apparatus 900 for receiving a coded stream in which an image is coded.
  • the demultiplexer 903 separates the video stream and audio stream of the program to be viewed from the coded bit stream, and outputs the separated streams to the decoder 904. Also, the demultiplexer 903 extracts auxiliary data such as an EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. When the coded bit stream is scrambled, the demultiplexer 903 may perform descrambling.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. Further, the decoder 904 outputs the audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display a video. Also, the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via the network. Further, the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting. Furthermore, the video signal processing unit 905 may generate an image of a graphical user interface (GUI) such as a menu, a button, or a cursor, for example, and may superimpose the generated image on the output image.
  • GUI graphical user interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on the image surface of a display device (for example, a liquid crystal display, a plasma display, or OELD (Organic ElectroLuminescence Display) (organic EL display)). Or display an image.
  • a display device for example, a liquid crystal display, a plasma display, or OELD (Organic ElectroLuminescence Display) (organic EL display)). Or display an image.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on audio data input from the decoder 904, and causes the speaker 908 to output audio. Further, the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television device 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also serves as a transmission means in the television apparatus 900 for receiving the coded stream in which the image is coded.
  • the control unit 910 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the television device 900 is started.
  • the CPU controls the operation of the television apparatus 900 according to an operation signal input from, for example, the user interface 911 by executing a program.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 has, for example, buttons and switches for the user to operate the television device 900, a receiver of remote control signals, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 mutually connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910.
  • the decoder 904 has the function of the image decoding apparatus according to the above-described embodiment. As a result, when decoding an image in the television apparatus 900, reduction in the number of candidates in the MV competition or the merge mode can be suppressed, and improvement in encoding efficiency can be realized.
  • FIG. 28 shows an example of a schematic configuration of a mobile phone to which the embodiment described above is applied.
  • the mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a multiplexing and separating unit 928, a recording and reproducing unit 929, a display unit 930, a control unit 931, an operation.
  • a unit 932 and a bus 933 are provided.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 mutually connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931.
  • the cellular phone 920 can transmit and receive audio signals, transmit and receive electronic mail or image data, capture an image, and record data in various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode. Do the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, and A / D converts and compresses the converted audio data. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates audio data to generate a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 decompresses and D / A converts audio data to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting an electronic mail in accordance with an operation by the user via the operation unit 932. Further, the control unit 931 causes the display unit 930 to display characters. Further, the control unit 931 generates electronic mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated electronic mail data to the communication unit 922.
  • a communication unit 922 encodes and modulates electronic mail data to generate a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. The communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the e-mail data, and outputs the restored e-mail data to the control unit 931.
  • the control unit 931 causes the display unit 930 to display the content of the e-mail, and stores the e-mail data in the storage medium of the recording and reproduction unit 929.
  • the recording and reproducing unit 929 includes an arbitrary readable and writable storage medium.
  • the storage medium may be a built-in storage medium such as RAM or flash memory, and may be an externally mounted type such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Unallocated Space Bitmap) memory, or memory card Storage media.
  • the camera unit 926 captures an image of a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926, and stores the encoded stream in the storage medium of the storage and reproduction unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the communication unit 922 multiplexes the multiplexed stream.
  • Output to The communication unit 922 encodes and modulates the stream to generate a transmission signal.
  • the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the transmission signal and the reception signal may include a coded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream to generate video data.
  • the video data is supplied to the display unit 930, and the display unit 930 displays a series of images.
  • the audio codec 923 decompresses and D / A converts the audio stream to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has functions of the image encoding device and the image decoding device according to the above-described embodiment. Accordingly, reduction of the number of candidates in the MV competition and the merge mode can be suppressed in encoding and decoding of an image in the mobile phone 920, and encoding efficiency can be improved.
  • FIG. 29 shows an example of a schematic configuration of a recording and reproducing apparatus to which the embodiment described above is applied.
  • the recording / reproducing device 940 encodes, for example, audio data and video data of the received broadcast program, and records the encoded data on a recording medium.
  • the recording and reproduction device 940 may encode, for example, audio data and video data acquired from another device and record the encoded data on a recording medium.
  • the recording / reproducing device 940 reproduces the data recorded on the recording medium on the monitor and the speaker, for example, in accordance with the user's instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. And 950.
  • the tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown) and demodulates the extracted signal. Then, the tuner 941 outputs the coded bit stream obtained by demodulation to the selector 946. That is, the tuner 941 has a role as a transmission means in the recording / reproducing device 940.
  • the external interface 942 is an interface for connecting the recording and reproducing device 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE 1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 has a role as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the coded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream obtained by compressing content data such as video and audio, various programs, and other data in an internal hard disk. Also, the HDD 944 reads these data from the hard disk when reproducing video and audio.
  • the disk drive 945 records and reads data on the attached recording medium.
  • the recording medium mounted on the disk drive 945 is, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or Blu-ray (registered trademark) disk, etc. It may be.
  • the selector 946 selects the coded bit stream input from the tuner 941 or the encoder 943 at the time of recording video and audio, and outputs the selected coded bit stream to the HDD 944 or the disk drive 945. Also, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 at the time of reproduction of video and audio.
  • the decoder 947 decodes the coded bit stream to generate video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. Also, the decoder 904 outputs the generated audio data to an external speaker.
  • the OSD 948 reproduces the video data input from the decoder 947 and displays the video.
  • the OSD 948 may superimpose an image of a GUI such as a menu, a button, or a cursor on the video to be displayed.
  • the control unit 949 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores programs executed by the CPU, program data, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the recording and reproducing device 940 is started.
  • the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from, for example, the user interface 950 by executing a program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording and reproducing device 940, a receiver of a remote control signal, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of the image coding apparatus according to the embodiment described above.
  • the decoder 947 has the function of the image decoding apparatus according to the above-described embodiment.
  • FIG. 30 illustrates an example of a schematic configuration of an imaging device to which the embodiment described above is applied.
  • the imaging device 960 captures an object to generate an image, encodes image data, and records the image data in a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972 is provided.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface 971 is connected to the control unit 970.
  • the bus 972 mutually connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970.
  • the optical block 961 has a focus lens, an aperture mechanism, and the like.
  • the optical block 961 forms an optical image of a subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS), and converts an optical image formed on an imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • CCD charge coupled device
  • CMOS complementary metal oxide semiconductor
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 to generate encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965.
  • the image processing unit 964 may output the image data input from the signal processing unit 963 to the display unit 965 to display an image. The image processing unit 964 may superimpose the display data acquired from the OSD 969 on the image to be output to the display unit 965.
  • the OSD 969 generates an image of a GUI such as a menu, a button, or a cursor, for example, and outputs the generated image to the image processing unit 964.
  • a GUI such as a menu, a button, or a cursor
  • the external interface 966 is configured as, for example, a USB input / output terminal.
  • the external interface 966 connects the imaging device 960 and the printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • removable media such as a magnetic disk or an optical disk may be attached to the drive, and a program read from the removable media may be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted in the media drive 968 may be, for example, any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium may be fixedly attached to the media drive 968, and a non-portable storage unit such as, for example, a built-in hard disk drive or a solid state drive (SSD) may be configured.
  • SSD solid state drive
  • the control unit 970 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores programs executed by the CPU, program data, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the imaging device 960 starts up.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from, for example, the user interface 971 by executing a program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has functions of the image coding device and the image decoding device according to the above-described embodiment. Accordingly, reduction of the number of candidates in the MV competition or the merge mode can be suppressed in encoding and decoding of an image in the imaging device 960, and encoding efficiency can be improved.
  • the method of transmitting such information is not limited to such an example.
  • the information may be transmitted or recorded as separate data associated with the coded bit stream without being multiplexed into the coded bit stream.
  • the term “associate” allows an image (a slice or a block, which may be a part of an image) included in a bitstream to be linked at the time of decoding with information corresponding to the image. Means That is, the information may be transmitted on a different transmission path from the image (or bit stream).
  • the information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream).
  • the information and the image (or bit stream) may be associated with each other in any unit such as, for example, a plurality of frames, one frame, or a part in a frame.
  • the present technology can also have the following configurations.
  • a determination unit that determines whether or not motion information of a surrounding area located around the area, which is used to encode motion information of the area to be processed, is available; And d) an encoding unit for encoding motion information of the area using the motion information of the other surrounding area that is available instead of the motion information of the surrounding area determined to be unavailable by the determination unit.
  • Image processing device (2)
  • the determination unit is a slice that divides a frame into a plurality of pieces, and movement information of the peripheral area can be used based on the address of the boundary of the slice including the area and the address of the area
  • the image processing apparatus according to (1), which determines whether or not there is an image.
  • the determination unit determines that the motion information of the peripheral area is not available when the peripheral area is located outside the slice of the frame to be processed. Image processing apparatus as described.
  • the encoding unit A candidate setting unit which uses as a candidate another surrounding area where motion information can be used instead of the surrounding area, when the movement information of the surrounding area to be a candidate of the area to be merged with the area is not available; And a merge information generation unit configured to determine a peripheral region to be merged with the region from among the candidates set by the candidate setting unit, and generating merge information; any one of the above (1) to (3) Image processing device.
  • the candidate setting unit sets the Co-Located region as the candidate when the Co-Located region of the peripheral region determined to be unavailable by the determination unit is available.
  • the image processing apparatus is a slice for dividing the frame of the frame to be processed into a plurality of pieces, and sets another surrounding area located inside the slice to be processed as the candidate (4)
  • the image processing apparatus as described in 2.).
  • the candidate setting unit when the surrounding area determined to be unavailable by the determination unit is located outside the frame, is positioned within the reference frame referenced from the frame to be processed.
  • the image processing apparatus according to (4), wherein a peripheral region to be selected is the candidate.
  • the encoding unit A candidate setting unit which sets available motion information of another surrounding area as the candidate instead of the motion information when motion information of the surrounding area which is a candidate of predicted motion vector information of the area is not available
  • the candidate setting unit sets the Co-Located region as the candidate when the Co-Located region of the peripheral region determined to be unavailable by the determination unit is available (8)
  • the image processing apparatus according to claim 1.
  • the candidate setting unit is a slice for dividing the frame of the frame to be processed into a plurality of pieces, and sets another peripheral area located inside the slice to be processed as the candidate (8)
  • the image processing apparatus as described in 2.
  • the candidate setting unit when the surrounding area determined to be unavailable by the determination unit is located outside the frame, is positioned within a reference frame referenced from the frame to be processed.
  • the image processing apparatus according to (8), wherein a peripheral region to be selected is the candidate.
  • An image processing method of an image processing apparatus The determination unit determines whether or not motion information of a peripheral region located around the region, which is used for encoding motion information of the region to be processed, is available, An image processing method, wherein the encoding unit encodes the motion information of the area using the available motion information of another surrounding area instead of the motion information of the surrounding area determined to be unavailable.
  • a determination unit that determines whether or not motion information of a peripheral area located around the area, which is used to decode motion information of the area to be processed, is available;
  • a decoding unit that decodes the encoded motion information of the area using the motion information of another available peripheral area instead of the motion information of the peripheral area determined to be unavailable by the determination unit
  • an image processing device comprising (14)
  • the determination unit is a slice that divides a frame into a plurality of pieces, and movement information of the peripheral area can be used based on the address of the boundary of the slice including the area and the address of the area
  • the image processing apparatus according to (13), which determines whether or not there is any.
  • the determination unit determines that the motion information of the peripheral area is not available when the peripheral area is located outside the slice of the frame to be processed.
  • the image processing apparatus as described in (14).
  • the decoding unit A candidate setting unit which uses as a candidate another surrounding area where motion information can be used instead of the surrounding area, when the movement information of the surrounding area to be a candidate of the area to be merged with the area is not available; Among the candidates set by the candidate setting unit, a peripheral area to be merged with the area is determined, and a merge information decoding unit that decodes merge information according to the determination, any one of the above (13) to (15)
  • the image processing apparatus according to claim 1.
  • the candidate setting unit sets the Co-Located region as the candidate if the Co-Located region of the peripheral region determined to be unavailable by the determination unit is available (16)
  • the candidate setting unit is a slice for dividing the frame of the frame to be processed into a plurality of pieces, and sets another peripheral area located inside the slice to be processed as the candidate (16)
  • the candidate setting unit when the surrounding area determined to be unavailable by the determination unit is located outside the frame, is positioned within a reference frame referenced from the frame to be processed The image processing apparatus according to (16), wherein a peripheral region to be selected is the candidate.
  • the decoding unit A candidate setting unit which uses available motion information of another peripheral area as the candidate instead of the motion information when motion information of the peripheral area to be a candidate of predicted motion vector information of the area is not available; , A motion vector predictor reconstructing unit for reconstructing motion vector predictor information of the area using any one of the candidates set by the candidate setting unit, according to any one of (13) to (19) Image processing device.
  • the candidate setting unit sets the Co-Located region as the candidate if the Co-Located region of the peripheral region determined to be unavailable by the determination unit is available (20)
  • the image processing apparatus according to claim 1.
  • the candidate setting unit is a slice that divides a frame of the frame to be processed into a plurality of pieces, and sets another surrounding area located inside the slice to be processed as the candidate (20 The image processing apparatus as described in 2.).
  • the candidate setting unit when the surrounding area determined to be unavailable by the determination unit is located outside the frame, is positioned within the reference frame referenced from the frame to be processed The image processing apparatus according to (20), wherein a peripheral region to be selected is the candidate.
  • An image processing method of an image processing apparatus The determination unit determines whether or not motion information of a peripheral region located around the region, which is used to decode motion information of the region to be processed, is available.
  • An image processing method wherein a decoding unit decodes motion information of a surrounding area using motion information of another available surrounding area instead of motion information of the surrounding area determined to be unavailable.
  • Reference Signs List 100 image coding apparatus, 115 motion prediction / compensation unit, 121 slice boundary determination unit, 122 motion vector coding unit, 141 merge candidate setting unit, 142 merge information generation unit, 143 candidate predictor setting unit, 144 predicted motion vector generation unit , 145 differential motion vector generation unit, 200 image decoding apparatus, 212 motion prediction / compensation unit, 221 slice boundary determination unit, 222 motion vector decoding unit, 241 merge candidate setting unit, 242 merge information decoding unit, 243 candidate predictor setting unit, 244 Predictive Motion Vector Reconstruction Unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本技術は、符号化効率を向上させることができるようにする画像処理装置および方法に関する。処理対象である当該領域の動き情報の符号化に用いる、当該領域の周辺に位置する周辺領域の動き情報である周辺動き情報が利用可能(available)であるか利用不可能(unavailable)であるかを判定する判定部と、前記判定部により利用不可能(unavailable)であると判定された周辺領域の動き情報の代わりに、利用可能(available)な他の周辺領域の動き情報を用いて当該領域の動き情報を符号化する符号化部とを備える。本開示は画像処理装置に適用することができる。

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と記す)という名の元に国際標準となった。
 しかしながら、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない恐れがあった。
 そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている(例えば、非特許文献1参照)。
 このHEVC符号化方式においては、AVCにおけるマクロブロックと同様の処理単位としてコーディングユニット(CU(Coding Unit))が定義されている。このCUは、AVCのマクロブロックのようにサイズが16×16画素に固定されず、それぞれのシーケンスにおいて、画像圧縮情報中において指定される。
 ところで、AVCにおけるメディアン予測を用いた動きベクトルの符号化を改善するため、AVCにおいて定義されている、メディアン予測により求められる”Spatial Predictor”に加え、”Temporal Predictor”及び”Spatio-Temporal Predictor”のどれかを、予測動きベクトル情報として、適応的に用いること(以下、MVコンペティション(MVCompetition)とも称する)が提案されている(例えば、非特許文献2参照)。
 画像情報符号化装置においては、それぞれのブロックに関して、それぞれの予測動きベクトル情報を用いた場合のコスト関数が算出され、最適な予測動きベクトル情報の選択が行われる。画像圧縮情報においては、それぞれのブロックに対し、どの予測動きベクトル情報が用いられたかに関する情報を示すフラグ情報が伝送される。
 また、動き情報の符号化方式の1つとして、Motion Partition Mergingと呼ばれる手法(以下、マージモード(merge mode)とも称する)が提案されている(例えば、非特許文献3参照)。この手法においては、当該ブロックの動き情報が周辺のブロックの動き情報と同一である場合、フラグ情報のみが伝送され、復号の際には、その周辺ブロックの動き情報を用いて当該ブロックの動き情報が再構築される。
 ところで、上述したAVCやHEVCのような画像符号化方式においては、例えば処理を並列化させるために、ピクチャを複数のスライスに分割し、スライス毎に処理を行う方法が用意されている。また、このようなスライスの他にエントロピスライスも提案されている。
エントロピスライスは、エントロピ符号化処理やエントロピ復号処理のための処理単位である。つまり、エントロピ符号化処理やエントロピ復号処理においては、ピクチャは、複数のエントロピスライスに分割され、エントロピスライス毎に処理されるが、予測処理においては、このスライス分割を適用せずに、ピクチャ毎に処理される。
Thomas Wiegand, Woo-Jin Han, Benjamin Bross, Jens-Rainer Ohm, Gary J. Sullivan, "Working Draft 1 of High-Efficiency Video Coding ", JCTVC-C403, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG113rd Meeting: Guangzhou, CN, 7-15 October, 2010 Joel Jung,Guillaume Laroche,"Competition-Based Scheme for Motion Vector Selection and Coding", VCEG-AC06,ITU - Telecommunications Standardization SectorSTUDY GROUP 16 Question 6Video Coding Experts Group (VCEG)29th Meeting: Klagenfurt, Austria, 17-18 July, 2006 Martin Winken, Sebastian Bosse, Benjamin Bross, Philipp Helle, Tobias Hinz, Heiner Kirchhoffer, Haricharan Lakshman, Detlev Marpe, Simon Oudin, Matthias Preiss, Heiko Schwarz, Mischa Siekmann, Karsten Suehring, and Thomas Wiegand,"Description of video coding technology proposed by Fraunhofer HHI",JCTVC-A116,April,2010
 しかしながら、上述したように、MVコンペティションやマージモードの場合、処理対象である当該領域の動き情報の処理に、その当該領域の周辺に位置する周辺領域の動き情報を参照する必要がある。したがって、ピクチャを複数のスライス(エントロピスライスも含む)に分割し、そのスライス毎に処理を行う場合、当該領域の位置によっては、周辺領域が当該領域のスライスの外に位置し、利用不可能(unavailable)となる可能性があった。そのため、MVコンペティションやマージモードの際に、候補数が低減し、結果として符号化効率が低減する恐れがあった。
 本開示は、このような状況に鑑みてなされたものであり、ピクチャを複数のスライスに分割し、そのスライス毎に並列に処理を行う画像の符号化において、MVコンペティションやマージモードによる符号化効率の低減を抑制することができるようにすることを目的とする。
 本開示の一側面は、処理対象である当該領域の動き情報の符号化に用いる、当該領域の周辺に位置する周辺領域の動き情報が利用可能であるか否かを判定する判定部と、前記判定部により利用不可能であると判定された周辺領域の動き情報の代わりに、利用可能な他の周辺領域の動き情報を用いて当該領域の動き情報を符号化する符号化部とを備える画像処理装置である。
 前記判定部は、フレームを複数に分割するスライスであって、当該領域を含む当該スライスの境界のアドレスと、当該領域のアドレスとに基づいて、前記周辺領域の動き情報が利用可能であるか否かを判定することができる。
 前記判定部は、前記周辺領域が、処理対象である当該フレームの、当該スライスの外に位置する場合、前記周辺領域の動き情報が利用不可能であると判定することができる。
 前記符号化部は、当該領域とマージする領域の候補とする周辺領域の動き情報が利用不可能である場合、前記周辺領域の代わりに、動き情報が利用可能な他の周辺領域を前記候補とする候補設定部と、前記候補設定部により設定された候補の中から、当該領域にマージさせる周辺領域を決定し、マージ情報を生成するマージ情報生成部とを備えることができる。
 前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域のCo-Located領域が利用可能である場合、前記Co-Located領域を前記候補とすることができる。
 前記候補設定部は、処理対象である当該フレームの、フレームを複数に分割するスライスであって、処理対象の当該スライスの内部に位置する他の周辺領域を前記候補とすることができる。
 前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域が当該フレームの外部に位置する場合、処理対象である当該フレームから参照される参照フレームの内部に位置する周辺領域を前記候補とすることができる。
 前記符号化部は、当該領域の予測動きベクトル情報の候補とする周辺領域の動き情報が利用不可能である場合、前記動き情報の代わりに、他の周辺領域の利用可能な動き情報を前記候補に設定する候補設定部と、前記候補設定部により設定された候補のいずれかを用いて、当該領域の予測動きベクトル情報を生成する予測動きベクトル生成部とを備えることができる。
 前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域のCo-Located領域が利用可能である場合、前記Co-Located領域を前記候補とすることができる。
 前記候補設定部は、処理対象である当該フレームの、フレームを複数に分割するスライスであって、処理対象の当該スライスの内部に位置する他の周辺領域を前記候補とすることができる。
 前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域が当該フレームの外部に位置する場合、処理対象である当該フレームから参照される参照フレームの内部に位置する周辺領域を前記候補とすることができる。
 本開示の一側面は、また、画像処理装置の画像処理方法であって、判定部が、処理対象である当該領域の動き情報の符号化に用いる、当該領域の周辺に位置する周辺領域の動き情報が利用可能であるか否かを判定し、符号化部が、利用不可能であると判定された周辺領域の動き情報の代わりに、利用可能な他の周辺領域の動き情報を用いて当該領域の動き情報を符号化する画像処理方法である。
 本開示の他の側面は、処理対象である当該領域の動き情報の復号に用いる、当該領域の周辺に位置する周辺領域の動き情報が利用可能であるか否かを判定する判定部と、前記判定部により利用不可能であると判定された周辺領域の動き情報の代わりに、利用可能な他の周辺領域の動き情報を用いて、符号化された当該領域の動き情報を復号する復号部とを備える画像処理装置である。
 前記判定部は、フレームを複数に分割するスライスであって、当該領域を含む当該スライスの境界のアドレスと、当該領域のアドレスとに基づいて、前記周辺領域の動き情報が利用可能であるか否かを判定することができる。
 前記判定部は、前記周辺領域が、処理対象である当該フレームの、当該スライスの外に位置する場合、前記周辺領域の動き情報が利用不可能であると判定することができる。
 前記復号部は、当該領域とマージする領域の候補とする周辺領域の動き情報が利用不可能である場合、前記周辺領域の代わりに、動き情報が利用可能な他の周辺領域を前記候補とする候補設定部と、前記候補設定部により設定された候補の中から、当該領域にマージさせる周辺領域を決定し、その決定に従ってマージ情報を復号するマージ情報復号部とを備えることができる。
 前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域のCo-Located領域が利用可能である場合、前記Co-Located領域を前記候補とすることができる。
 前記候補設定部は、処理対象である当該フレームの、フレームを複数に分割するスライスであって、処理対象の当該スライスの内部に位置する他の周辺領域を前記候補とすることができる。
 前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域が当該フレームの外部に位置する場合、処理対象である当該フレームから参照される参照フレームの内部に位置する周辺領域を前記候補とすることができる。
 前記復号部は、当該領域の予測動きベクトル情報の候補とする周辺領域の動き情報が利用不可能である場合、前記動き情報の代わりに、他の周辺領域の利用可能な動き情報を前記候補とする候補設定部と、前記候補設定部により設定された候補のいずれかを用いて、当該領域の予測動きベクトル情報を再構築する予測動きベクトル再構築部とを備えることができる。
 前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域のCo-Located領域が利用可能である場合、前記Co-Located領域を前記候補とすることができる。
 前記候補設定部は、処理対象である当該フレームの、フレームを複数に分割するスライスであって、処理対象の当該スライスの内部に位置する他の周辺領域を前記候補とすることができる。
 前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域が当該フレームの外部に位置する場合、処理対象である当該フレームから参照される参照フレームの内部に位置する周辺領域を前記候補とすることができる。
 本開示の他の側面は、また、画像処理装置の画像処理方法であって、判定部が、処理対象である当該領域の動き情報の復号に用いる、当該領域の周辺に位置する周辺領域の動き情報が利用可能であるか否かを判定し、復号部が、利用不可能であると判定された周辺領域の動き情報の代わりに、利用可能な他の周辺領域の動き情報を用いて当該領域の動き情報を復号する画像処理方法である。
 本開示の一側面においては、処理対象である当該領域の動き情報の符号化に用いる、当該領域の周辺に位置する周辺領域の動き情報が利用可能であるか否かが判定され、利用不可能であると判定された周辺領域の動き情報の代わりに、利用可能な他の周辺領域の動き情報を用いて当該領域の動き情報が符号化される。
 本開示の他の側面においては、処理対象である当該領域の動き情報の復号に用いる、当該領域の周辺に位置する周辺領域の動き情報が利用可能であるか否かが判定され、利用不可能であると判定された周辺領域の動き情報の代わりに、利用可能な他の周辺領域の動き情報を用いて当該領域の動き情報が復号される。
 本開示によれば、画像を処理することができる。特に、符号化効率の低減を抑制することができる。
画像符号化装置の主な構成例を示すブロック図である。 小数点画素精度の動き予測・補償処理の例を示す図である。 マクロブロックの例を示す図である。 メディアンオペレーションの様子の例を説明する図である。 マルチ参照フレームの例を説明する図である。 テンポラルダイレクトモードの様子の例を説明する図である。 動きベクトル符号化方法の様子の例を説明する図である。 コーディングユニットの構成例を説明する図である。 Motion Partition Mergingの様子の例を説明する図である。 スライス分割の例を示す図である。 スライス種類の例を示す図である。 スライス境界の例を説明する図である。 スライス端におけるMVコンペティションの処理の例を説明する図である。 並列処理の例を説明する図である。 スライス端におけるMVコンペティションの処理の、他の例を説明する図である。 ピクチャ端におけるMVコンペティションの処理の例を説明する図である。 スライス端におけるマージモードの処理の例を説明する図である。 動き予測・補償部、スライス境界判定部、および動きベクトル符号化部の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 インター動き予測処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 動き予測・補償部、スライス境界判定部、および動きベクトル復号部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 予測処理の流れの例を説明するフローチャートである。 インター動き予測処理の流れの例を説明するフローチャートである。 パーソナルコンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 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))符号化方式のように、予測処理を用いて画像データを符号化する。
 図1に示されるように画像符号化装置100は、A/D変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、および蓄積バッファ107を有する。また、画像符号化装置100は、逆量子化部108、逆直交変換部109、演算部110、ループフィルタ111、フレームメモリ112、選択部113、イントラ予測部114、動き予測・補償部115、予測画像選択部116、およびレート制御部117を有する。
 画像符号化装置100は、さらに、スライス境界判定部121および動きベクトル符号化部122を有する。
 A/D変換部101は、入力された画像データをA/D変換し、変換後の画像データ(デジタルデータ)を、画面並べ替えバッファ102に供給し、記憶させる。画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group Of Picture)に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部103に供給する。また、画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、イントラ予測部114および動き予測・補償部115にも供給する。
 演算部103は、画面並べ替えバッファ102から読み出された画像から、予測画像選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を減算し、その差分情報を直交変換部104に出力する。
 例えば、インター符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、動き予測・補償部115から供給される予測画像を減算する。
 直交変換部104は、演算部103から供給される差分情報に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部104は、その変換係数を量子化部105に供給する。
 量子化部105は、直交変換部104から供給される変換係数を量子化する。量子化部105は、レート制御部117から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。なお、この量子化の方法は任意である。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
 可逆符号化部106は、量子化部105において量子化された変換係数を任意の符号化方式で符号化する。係数データは、レート制御部117の制御の下で量子化されているので、この符号量は、レート制御部117が設定した目標値となる(若しくは目標値に近似する)。
 また、可逆符号化部106は、イントラ予測のモードを示す情報などをイントラ予測部114から取得し、インター予測のモードを示す情報や動きベクトル情報などを動き予測・補償部115から取得する。さらに、可逆符号化部106は、ループフィルタ111において使用されたフィルタ係数等を取得する。
 可逆符号化部106は、これらの各種情報を任意の符号化方式で符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
 可逆符号化部106の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
 蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持する。蓄積バッファ107は、所定のタイミングにおいて、保持している符号化データを、例えば、後段の図示せぬ記録装置(記録媒体)や伝送路などに出力する。
 また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。この逆量子化の方法は、量子化部105による量子化処理に対応する方法であればどのような方法であってもよい。逆量子化部108は、得られた変換係数を、逆直交変換部109に供給する。
 逆直交変換部109は、逆量子化部108から供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。この逆直交変換の方法は、直交変換部104による直交変換処理に対応する方法であればどのようなものであってもよい。逆直交変換された出力(復元された差分情報)は、演算部110に供給される。
 演算部110は、逆直交変換部109から供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。その復号画像は、ループフィルタ111またはフレームメモリ112に供給される。
 ループフィルタ111は、デブロックフィルタや適応ループフィルタ等を含み、演算部110から供給される復号画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ111は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ111は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
 なお、ループフィルタ111が、復号画像に対して任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ111は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部106に供給し、それを符号化させるようにすることもできる。
 ループフィルタ111は、フィルタ処理結果(フィルタ処理後の復号画像)をフレームメモリ112に供給する。なお、上述したように、演算部110から出力される復号画像は、ループフィルタ111を介さずにフレームメモリ112に供給することができる。つまり、ループフィルタ111によるフィルタ処理は省略することができる。
 フレームメモリ112は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、選択部113に供給する。
 選択部113は、フレームメモリ112から供給される参照画像の供給先を選択する。例えば、インター予測の場合、選択部113は、フレームメモリ112から供給される参照画像を動き予測・補償部115に供給する。
 イントラ予測部114は、選択部113を介してフレームメモリ112から供給される参照画像である処理対象ピクチャ内の画素値を用いて、基本的にプレディクションユニット(PU)を処理単位として予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部114は、予め用意された複数のモード(イントラ予測モード)でこのイントラ予測を行う。
 イントラ予測部114は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ102から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部114は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部116に供給する。
 また、上述したように、イントラ予測部114は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部106に供給し、符号化させる。
 動き予測・補償部115は、画面並べ替えバッファ102から供給される入力画像と、選択部113を介してフレームメモリ112から供給される参照画像とを用いて、基本的にPUを処理単位として、動き予測(インター予測)を行い、検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。動き予測・補償部115は、予め用意された複数のモード(インター予測モード)でこのようなインター予測を行う。
 動き予測・補償部115は、候補となる全てのインター予測モードで予測画像を生成し、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部115は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部116に供給する。
 また、動き予測・補償部115は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部106に供給し、符号化させる。
 予測画像選択部116は、演算部103や演算部110に供給する予測画像の供給元を選択する。例えば、インター符号化の場合、予測画像選択部116は、予測画像の供給元として動き予測・補償部115を選択し、その動き予測・補償部115から供給される予測画像を演算部103や演算部110に供給する。
 レート制御部117は、蓄積バッファ107に蓄積された符号化データの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 スライス境界判定部121は、処理対象である当該領域がスライス境界の近傍に位置するか否かを判定し、その判定結果を動きベクトル符号化部122に供給する。動きベクトル符号化部122は、スライス境界に対する当該領域の位置に応じて周辺領域を定義する。
 動き予測・補償部115は、その動きベクトル符号化部122により定義された周辺領域の情報を用いて、MVコンペティションやマージモード等の処理を行う。
[1/4画素精度動き予測]
 図2は、AVC符号化方式において規定されている、1/4画素精度の動き予測・補償処理の様子の例を説明する図である。図2において、各四角は、画素を示している。その内、Aはフレームメモリ112に格納されている整数精度画素の位置を示し、b,c,dは、1/2画素精度の位置を示し、e1,e2,e3は1/4画素精度の位置を示している。
 以下においては、関数Clip1()を以下の式(1)のように定義する。
Figure JPOXMLDOC01-appb-M000001
 ・・・(1)
 例えば、入力画像が8ビット精度である場合、式(1)のmax_pixの値は255となる。
 b及びdの位置における画素値は、6tapのFIRフィルタを用いて、以下の式(2)および式(3)のように生成される。
Figure JPOXMLDOC01-appb-M000002
 ・・・(2)
Figure JPOXMLDOC01-appb-M000003
 ・・・(3)
 cの位置における画素値は、水平方向及び垂直方向に6tapのFIRフィルタを適用し、以下の式(4)乃至式(6)のように生成される。
Figure JPOXMLDOC01-appb-M000004
 ・・・(4)
 もしくは、
Figure JPOXMLDOC01-appb-M000005
 ・・・(5)
Figure JPOXMLDOC01-appb-M000006
 ・・・(6)
 なお、Clip処理は、水平方向及び垂直方向の積和処理の両方を行った後、最後に1度のみ行われる。
 e1乃至e3は、以下の式(7)乃至式(9)のように、線形内挿により生成される。
Figure JPOXMLDOC01-appb-M000007
 ・・・(7)
Figure JPOXMLDOC01-appb-M000008
 ・・・(8)
Figure JPOXMLDOC01-appb-M000009
 ・・・(9)
 [マクロブロック]
 また、MPEG2においては、動き予測・補償処理の単位は、フレーム動き補償モードの場合には16×16画素、フィールド動き補償モードの場合には第一フィールド、第二フィールドのそれぞれに対し、16×8画素を単位として動き予測・補償処理が行なわれる。
 これに対し、AVCにおいては、図3に示されるように、16×16画素により構成される1つのマクロブロックを、16×16、16×8、8×16若しくは8×8のいずれかのパーティションに分割し、サブマクロブロック毎に、互いに独立した動きベクトル情報を持つことが可能である。更に、8×8パーティションに関しては、図3に示されるとおり、8×8、8×4、4×8、4×4のいずれかのサブマクロブロックに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
 しかしながら、AVC画像符号化方式において、MPEG2の場合と同様に、かかるような動き予測・補償処理が行なわれるようにすると、膨大な動きベクトル情報が生成されてしまう恐れがあった。そして、その生成された動きベクトル情報をこのまま符号化することは、符号化効率の低下を招く恐れがあった。
 [動きベクトルのメディアン予測]
 かかる問題を解決する手法として、AVC画像符号化においては、以下のような手法により、動きベクトルの符号化情報の低減が実現されている。
 図4に示される各直線は、動き補償ブロックの境界を示している。また、図4において、Eはこれから符号化されようとしている当該動き補償ブロックを示し、A乃至Dは、それぞれ、既に符号化済の、Eに隣接する動き補償ブロックを示す。
 今、X=A,B,C,D,Eとして、Xに対する動きベクトル情報を、mvxとする。
 まず、動き補償ブロックA,B、およびCに関する動きベクトル情報を用い、動き補償ブロックEに対する予測動きベクトル情報pmvEを、メディアンオペレーションにより、以下の式(10)のように生成する。
Figure JPOXMLDOC01-appb-M000010
 ・・・(10)
 動き補償ブロックCに関する情報が、画枠の端である等の理由により利用不可能(unavailable)である場合、動き補償ブロックDに関する情報で代用される。
 画像圧縮情報に、動き補償ブロックEに対する動きベクトル情報として符号化されるデータmvdEは、pmvEを用いて、以下の式(11)のように生成される。
Figure JPOXMLDOC01-appb-M000011
 ・・・(11)
 なお、実際の処理は、動きベクトル情報の水平方向および垂直方向のそれぞれの成分に対して、独立に処理が行なわれる。
 [マルチ参照フレーム]
 また、AVCにおいては、Multi-Reference Frame(マルチ(複数)参照フレーム)という、MPEG2やH.263等、従来の画像符号化方式では規定されていなかった方式が規定されている。
 図5を用いて、AVCにおいて規定されている、マルチ参照フレーム(Multi-Reference Frame)を説明する。
 すなわち、MPEG-2やH.263においては、Pピクチャの場合、フレームメモリに格納された参照フレーム1枚のみを参照することにより動き予測・補償処理が行われていたが、AVCにおいては、図5に示されるように、複数の参照フレームがメモリに格納され、マクロブロック毎に、異なるメモリを参照することが可能である。
 [ダイレクトモード]
 ところで、Bピクチャにおける動きベクトル情報における情報量は膨大であるが、AVCにおいては、Direct Mode(ダイレクトモード)と称されるモードが用意されている。
 このダイレクトモード(Direct Mode)において、動きベクトル情報は、画像圧縮情報中には格納されない。画像復号装置においては、周辺ブロックの動きベクトル情報、若しくは、参照フレームにおける処理対象ブロックと同じ位置のブロックであるCo-Locatedブロックの動きベクトル情報から、当該ブロックの動きベクトル情報が算出される。
 ダイレクトモード(Direct Mode)には、Spatial Direct Mode(空間ダイレクトモード)と、Temporal Direct Mode(時間ダイレクトモード)の2種類が存在し、スライス毎に切り替えることが可能である。
 空間ダイレクトモード(Spatial Direct Mode)においては、以下の式(12)に示されるように、処理対象動き補償ブロックEの動きベクトル情報mvEが算出される。
 mvE = pmvE ・・・(12)
 すなわち、Median(メディアン)予測により生成された動きベクトル情報が、当該ブロックに適用される。
 以下においては、図6を用いて、時間ダイレクトモード(Temporal Direct Mode)を説明する。
 図6において、L0参照ピクチャにおける、当該ブロックと同じ空間上のアドレスにあるブロックを、Co-Locatedブロックとし、Co-Locatedブロックにおける動きベクトル情報を、mvcolとする。また、当該ピクチャとL0参照ピクチャの時間軸上の距離をTDBとし、L0参照ピクチャとL1参照ピクチャの時間軸上の距離をTDDとする。
 この時、当該ピクチャにおける、L0の動きベクトル情報mvL0及びL1の動きベクトル情報mvL1は、以下の式(13)および式(14)のように算出される。
Figure JPOXMLDOC01-appb-M000012
 ・・・(13)
Figure JPOXMLDOC01-appb-M000013
 ・・・(14)
 なお、AVC画像圧縮情報においては、時間軸上の距離を表す情報TDが存在しないため、POC(Picture Order Count)を用いて、上述した式(12)および式(13)の演算が行われるものとする。
 また、AVC画像圧縮情報においては、ダイレクトモード(Direct Mode)は、16×16画素マクロブロック単位、若しくは、8×8画素ブロック単位で定義することが可能である。
 [予測モードの選択]
 ところで、AVC符号化方式において、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。
 かかる選択方式の例として、JM(Joint Model)と呼ばれるH.264/MPEG-4 AVCの参照ソフトウエア(http://iphome.hhi.de/suehring/tml/index.htm において公開されている)に実装されている方法を挙げることが出来る。
 JMにおいては、以下に述べる、High Complexity Modeと、Low Complexity Modeの2通りのモード判定方法を選択することができる。どちらも、それぞれの予測モードに関するコスト関数値を算出し、これを最小にする予測モードを当該サブマクロブロック、または、当該マクロブロックに対する最適モードとして選択する。
 High Complexity Modeにおけるコスト関数は、以下の式(15)のように示される。
 Cost(Mode∈Ω) = D + λ*R ・・・(15)
 ここで、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合、Dは、当該予測モードで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Rは、直交変換係数を含んだ、当該モードで符号化した場合の総符号量である。
 つまり、High Complexity Modeでの符号化を行うには、上記パラメータD及びRを算出するため、全ての候補モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
 Low Complexity Modeにおけるコスト関数は、以下の式(16)のように示される。
 Cost(Mode∈Ω) = D + QP2Quant(QP) * HeaderBit ・・・(16)
 ここで、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。QP2Quant(QP)は、量子化パラメータQPの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
 すなわち、Low Complexity Modeにおいては、それぞれの候補モードに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
 [動きベクトルのコンペティション]
 ところで、図4を参照して説明したような、メディアン予測を用いた動きベクトルの符号化を改善するため、非特許文献1では、以下に述べるような方法が提案されている。
 すなわち、AVCにおいて定義されている、メディアン予測により求められる”Spatial Predictor(空間予測)”に加え、以下に述べる”Temporal Predictor(時間予測)”及び”Spatio-Temporal Predictor(時間と空間の予測)”のどれかを、予測動きベクトル情報として、適応的に用いることが可能にするものである。
 すなわち、図7において、”mvcol”を、当該ブロックに対するCo-Locatedブロック(参照画像において、xy座標が、当該ブロックと同じであるブロック)に対する動きベクトル情報、mvtk(k=0乃至8)をその周辺ブロックの動きベクトル情報であるとして、それぞれの予測動きベクトル情報(Predictor)は、以下の式(17)乃至(19)により定義される。
 Temporal Predictor:
Figure JPOXMLDOC01-appb-M000014
 ・・・(17)
Figure JPOXMLDOC01-appb-M000015
 ・・・(18)Spatio-Temporal Predictor:
Figure JPOXMLDOC01-appb-M000016
 ・・・(19)
画像符号化装置100においては、それぞれのブロックに関して、それぞれの予測動きベクトル情報を用いた場合のコスト関数が算出され、最適な予測動きベクトル情報の選択が行われる。画像圧縮情報においては、それぞれのブロックに対し、どの予測動きベクトル情報が用いられたかに関する情報を示すflagが伝送される。
 [コーディングユニット]
 ところで、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない。
 そこで、AVCにおいては、図3に示されるように、マクロブロックとサブマクロブロックによる階層構造が規定されているが、例えば、HEVC(High Efficiency Video Coding)においては、図8に示されるように、コーディングユニット(CU(Coding Unit))が規定されている。
 CUは、Coding Tree Block(CTB)とも呼ばれ、AVCにおけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
 例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ((SCU(Smallest Coding Unit))が規定される。
 それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図8の例では、LCUの大きさが128であり、最大階層深度が5となる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。
 更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。現在、HEVCにおいては、4×4及び8×8に加え、16×16及び32×32直交変換を用いることが可能である。
 以上のHEVCのように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVCにおけるマクロブロックはLCUに相当すると考えることができる。ただし、CUは図8に示されるように階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、AVCのマクロブロックより大きく設定されることが一般的である。
 [動きパーティションのマージ]
 ところで、動き情報の符号化方式の1つとして、図9に示されるような、Motion Partition Mergingと呼ばれる手法(マージモード)が提案されている。この手法においては、MergeFlagと、MergeLeftFlagという、2つのflagが、マージモードに関する情報であるマージ情報として伝送される。MergeFlag=1は、当該領域Xの動き情報が、当該領域の上に隣接する周辺領域T、若しくは、当該領域の左に隣接する周辺領域Lの動き情報と同一であることを示す。この時、マージ情報には、MergeLeftFlagが含められ、伝送される。MergeFlag=0は、当該領域Xの動き情報が、周辺領域Tおよび周辺領域Lのいずれの動き情報とも異なることを示す。この場合、当該領域Xの動き情報が伝送される。
 当該領域Xの動き情報が、周辺領域Lの動き情報と同一である場合、MergeFlag=1、かつ、MergeLeftFlag=1となる。当該領域Xの動き情報が、周辺領域Tの動き情報と同一である場合、MergeFlag=1、かつ、MergeLeftFlag=0となる。
 [AVCのスライス]
 MPEG2やAVC等の画像符号化方式においては、1ピクチャを複数のスライスに分割し、各スライスを並行して処理することができる。
 MPEG2の場合、図10のAに示されるように、スライスの最大の大きさは1マクロブロックラインであり、また、Bピクチャを構成するスライスは全てBスライスでなければならない。
 これに対してAVCの場合、図10のBに示されるように、スライスは1マクロブロックラインより大きくてもよく、スライスの境界はマクロブロックラインの右端(画面右端)でなくてもよく、また、単一のピクチャが異なる種類のスライスにより構成されていても良い。
 AVCの場合、例えば図11に示されるような種類のスライスが規定されている。
 なお、AVCの場合、デブロックフィルタ処理はスライス境界を跨って実行することができる。ただし、イントラ予測、CABAC、CAVLC、および動きベクトルの予測等のような隣接情報を用いた処理は、スライス境界を跨って実行することが出来ない。
 換言するに、各スライスの符号化処理は互いに独立して実行することができるので、1ピクチャを複数のスライスに分割し、各スライスを並列に符号化することが可能になる。つまり、このようなスライス分割により、符号化処理時間の低減(符号化処理の高速化)を実現することができる。
 [スライス境界]
 AVCの場合、スライスを区切る位置は、マクロブロックを単位とする。すなわち、隣接するスライスの境界であるスライス境界は、いずれかのマクロブロック境界(隣接するマクロブロックの境界)と一致する。換言するに、スライスは複数のマクロブロックにより構成される。
 これに対して、HEVCの場合、LCUの内部でスライスを区切ることもできる。つまり、スライスを区切る位置はLCUではなくCUを単位とする。したがって、スライス境界は、いずれかのCU境界(隣接するCUの境界)と一致する。CUの大きさは任意である。
 図12にスライス境界の例を示す。図12に示される一番大きな四角は、LCUを示し、その内部の四角は、LCU内部に構成されるCUを示す。また、太線がスライス境界を示す。図12の例の場合、スライスがLCU内部のCU間で区切られている。このようにスライス境界の制御単位が小さくなることにより、スライス境界の形状はより複雑になる。
 本技術においては、処理対象の当該領域がこのようなスライス境界に隣接し、その周辺領域が他のスライスに位置してしまったり、存在しなかったりする場合に、MVコンペティションやマージモードにおける候補の数を低減させないように、動きベクトル符号化部122が、利用不可能(unavailable)な周辺領域の代わりに新たな候補(availableな候補)を選択する。
 [MVコンペティションの候補選択制御] 図13を用いて、MVコンペティション(MVCompetition)におけるスライス境界の候補選択制御の様子を説明する。
 図13において、各四角は、予測処理の単位となる領域(例えば、CUやサブマクロブロック等)を示す。
 図13の右側が、処理対象である当該フレームの領域の様子の例を示す。MVcurrの四角は、処理対象である当該領域であり、MVcurrは、その当該領域の動きベクトルである。MVaの四角は、当該領域の左に隣接する周辺領域Aを示し、MVaは、その周辺領域Aの動きベクトルを示す。
 MVbの四角は、当該領域の上に隣接する周辺領域Bを示し、MVbは、その周辺領域Bの動きベクトルを示す。MVcの四角は、当該領域の右上に隣接する周辺領域Cを示し、MVcは、その周辺領域Cの動きベクトルを示す。
 また、図13の左側が、当該領域が参照する参照フレームの領域の様子の例を示す。MVcolの四角は、当該領域と同じ位置にあるCo-Located領域(すなわち、当該領域の時間的な周辺領域col)であり、MVcolは、そのCo-Located領域の動きベクトルである。MVcolaの四角は、周辺領域Aと同じ位置にあるCo-Located領域を示し、MVcolaは、そのCo-Located領域の動きベクトルを示す。
 MVcolbの四角は、周辺領域Bと同じ位置にあるCo-Located領域を示し、MVcolbは、そのCo-Located領域の動きベクトルを示す。MVcolcの四角は、周辺領域Cと同じ位置にあるCo-Located領域を示し、MVcolcは、そのCo-Located領域の動きベクトルを示す。
 当該領域がスライス境界に接していない場合、MVa,MVb,MVc、およびMVcolが当該領域に対する予測動きベクトル情報の候補となる。
 しかしながら、図13の例のように、周辺領域A乃至周辺領域Cが当該スライス(処理対象の当該領域が存在する処理対象のスライス)の外に位置すると、それらの動きベクトル(MVa,MVb、およびMVc)が利用不可能(unavailable)になり、予測動きベクトル情報の候補から外されてしまう。したがって、候補の数が低減するので、予測動きベクトル情報の予測精度が低減し、当該領域の動き情報の符号化効率が低減する恐れがある。
 図13においては、周辺領域A乃至周辺領域Cの全てが当該スライスの外部に位置する(MVa,MVb、およびMVcの全てが利用不可能(unavailable)になる)例を示しているが、スライス境界がどのように存在するかに応じて、MVa,MVb、およびMVcの一部が利用不可能(unavailable)になる場合もあり得る。
 例えば、周辺領域Aのみが当該スライスの外部に位置する(MVaのみが利用不可能(unavailable)になる)場合、周辺領域Bのみが当該スライスの外部に位置する(MVbのみが利用不可能(unavailable)になる)場合、周辺領域Cのみが当該スライスの外部に位置する(MVcのみが利用不可能(unavailable)になる)場合、周辺領域Aと周辺領域Bが当該スライスの外部に位置する(MVaおよびMVbが利用不可能(unavailable)になる)場合、周辺領域Aと周辺領域Cが当該スライスの外部に位置する(MVaおよびMVcが利用不可能(unavailable)になる)場合、並びに、周辺領域Bと周辺領域Cが当該スライスの外部に位置する(MVbおよびMVcが利用不可能(unavailable)になる)場合が考えられる。
 いずれの場合も予測動きベクトル情報の候補の数が低減するので、予測動きベクトル情報の予測精度が低減し、当該領域の動き情報の符号化効率が低減する恐れがある。
 そこで動きベクトル符号化部122は、予測動きベクトル情報の候補である周辺領域の動き情報が利用不可能(unavailable)な場合、その動き情報の代わりに、他の利用可能(available)な周辺領域の動き情報を予測動きベクトル情報の候補とする。
 例えば、利用不可能(unavailable)な動き情報の代わりに、その領域のCo-Located領域の動き情報を候補とする。参照フレームの各領域は、一般的に、当該フレームが処理される時点で処理済みである。つまり、参照フレームの各領域の動き情報は利用可能(available)である。したがって、動きベクトル符号化部122は、予測精度をできるだけ低減させないように、動き情報の相関性が高いCo-Located領域の動き情報を代わりの候補とする。
 例えば、周辺領域Aが当該スライスの外に位置し、MVaが利用不可能(unavailable)な場合、動きベクトル符号化部122は、MVaに代えて、その周辺領域AのCo-Located領域の、利用可能(available)なMVcolaを予測動きベクトル情報の候補とする。
 また、例えば、周辺領域Bが当該スライスの外に位置し、MVbが利用不可能(unavailable)な場合、動きベクトル符号化部122は、MVbに代えて、その周辺領域BのCo-Located領域の、利用可能(available)なMVcolbを予測動きベクトル情報の候補とする。
 さらに、例えば、周辺領域Cが当該スライスの外に位置し、MVcが利用不可能(unavailable)な場合、動きベクトル符号化部122は、MVcに代えて、その周辺領域CのCo-Located領域の、利用可能(available)なMVcolcを予測動きベクトル情報の候補とする。
 このようにすることにより、動きベクトル符号化部122は、予測動きベクトル情報の候補の数を低減させずに、MVコンペティションを行うことができる。これにより、画像符号化装置100は、スライス境界における符号化効率の低減を抑制することができる。
 なお、図14に示されるように、複数のプロセッサを用いて、複数のスライスのそれぞれを互いに異なるプロセッサで処理する場合であっても、処理後の各スライスのデータは、共有メモリ(互いに同じメモリ空間)に格納され、いずれのプロセッサからも参照することができる。したがって、そのような場合であっても、問題なく、上述したように参照フレームの動き情報を利用することができる。
 例えば、候補の置き換えを行わずに、候補の動き情報が得られるまで待機するようにすると、スライス間で処理の並列化が困難になり、不要な遅延が発生し、処理時間が増大する恐れがある。また、当該フレームの当該スライス外にある処理済みの周辺領域の動き情報で置き換えるようにすると、図14の例のように各スライスを互いに異なるプロセッサで処理する場合、その動き情報がまだ各プロセッサ専用のメモリ領域に格納されており、その動き情報を他のプロセッサから参照することが困難であることも考えられる。
 上述したように、当該フレームと異なる参照フレーム(当該フレームより前のタイミングにおいて処理されるフレーム)の動き情報を利用することで、画像符号化装置100は、このような懸念無しに、スライス境界における符号化効率の低減を抑制することができる。
 なお、以上においては、利用不可能(unavailable)な動き情報の代用とする動き情報は、その周辺領域のCo-Located領域以外の動き情報であってもよい。もちろん、代用する動き情報は、元の動き情報と相関性がより高いものであることが望ましい。しかしながら、少なくとも利用可能(available)な動き情報であれば、代わりの候補とすることはできる。例えば、参照フレームのCo-Located領域以外の動き情報を利用するようにしてもよい。また、参照フレームおよび当該フレーム以外の処理済みのフレームの動き情報を用いるようにしてもよい。
 さらに、当該フレームの処理済みの動き情報を用いるようにしてもよい。さらに、上述した複数プロセッサの場合の懸念を回避するために、当該スライス内の処理済みの動き情報を用いるようにしてもよい。
 例えば、図15に示される例のように、利用不可能(unavailable)なMVbに代えて、当該スライス内の処理済みの周辺領域の(利用可能(available)な)MVdを用いるようにしても良い。
 なお、予測動きベクトル情報の候補とする動き情報の領域(周辺領域)は、当該領域に(空間的若しくは時間的に)隣接するものでなくてもよい。例えば、周辺領域Aの左に隣接する領域(図示せず)を周辺領域としてもよい(その領域の動き情報を予測動きベクトル情報の候補としても良い)。ただし、一般的には、当該領域から遠くなるほど、当該領域との動き情報の相関性が低減するので、当該領域に対してより近い領域の動き情報を予測動きベクトル情報の候補とする方が望ましい。
 なお、上述したスライス境界には、画枠も含まれる。つまり、当該領域がピクチャ(フレーム)の上端や左端にある場合も、予測動きベクトル情報の候補とする周辺領域の動き情報が利用不可能(unavailable)となることが考えられる。この場合も上述したのと同様に、利用可能(available)な動き情報を代わりに候補とするようにしてもよい。
 ただし、スライス境界が画枠の場合、図16に示されるように、当該フレームにおいて周辺領域が存在しない場合、その周辺領域のCo-Located領域も存在しない。図16の例の場合、当該フレームにおいて、周辺領域A乃至周辺領域Cが全て画枠の外に位置し、存在しない。この場合、参照フレームにおいて、それらのCo-Located領域も画枠の外に位置し、存在しない。つまり、MVa,MVb、およびMVcが全て利用不可能(unavailable)であるとともに、MVcola,MVcolb、およびMVcolcも全て利用不可能(unavailable)である。
 そこでこのような場合、例えば、MVcold,MVcole、およびMVcolfのように、参照フレームの利用可能(available)な動き情報を、代わりの候補として用いるようにしても良い。もちろん、参照フレーム以外のフレームの利用可能(available)な動き情報を利用するようにしてもよい。どの利用可能(available)な動き情報を利用するかは任意であるが、上述したように、当該領域に対してより近い領域の動き情報を利用する方が望ましい。
 [マージモードの候補選択制御]
 このような候補の代用方法は、マージモードにおける当該領域にマージさせる領域の候補の選択にも適用することができる。
 マージモードにおいては、図18に示されるように、当該領域の左に隣接する周辺領域Lと、当該領域の上に隣接する領域Tとが、当該領域にマージされる領域の候補(以下、マージの候補とも称する)とされる。図17において、各四角は、予測処理の単位となる領域(例えば、CUやサブマクロブロック等)を示す。
 図17の右側が、処理対象である当該フレームの領域の様子の例を示す。MVcurrの四角は、処理対象である当該領域であり、MVcurrは、その当該領域の動きベクトルである。MVLの四角は、当該領域の左に隣接する周辺領域Lを示し、MVLは、その周辺領域Lの動きベクトルを示す。
 MVTの四角は、当該領域の上に隣接する周辺領域Tを示し、MVTは、その周辺領域Tの動きベクトルを示す。
 また、図17の左側が、当該領域が参照する参照フレームの領域の様子の例を示す。MVcolの四角は、当該領域と同じ位置にあるCo-Located領域(すなわち、当該領域の時間的な周辺領域col)であり、MVcolは、そのCo-Located領域の動きベクトルである。MVcolLの四角は、周辺領域Lと同じ位置にあるCo-Located領域を示し、MVcolLは、そのCo-Located領域の動きベクトルを示す。
 MVcolTの四角は、周辺領域Tと同じ位置にあるCo-Located領域を示し、MVcolTは、そのCo-Located領域の動きベクトルを示す。
 このマージモードの場合も、上述したMVコンペティションの場合と同様に、図17の例のように、周辺領域Lおよび周辺領域Tが当該スライス(処理対象の当該領域が存在する処理対象のスライス)の外に位置すると、それらの動きベクトル(MVLおよびMVT)が利用不可能(unavailable)になり、マージの候補から外されてしまう。したがって、マージの候補の数が低減するので、マージモードが選択されにくくなり、当該領域の動き情報の符号化効率が低減する恐れがある。
 図17においては、周辺領域Lおよび周辺領域Tの両方が当該スライスの外部に位置する(MVLおよびMVTが利用不可能(unavailable)になる)例を示しているが、スライス境界がどのように存在するかに応じて、MVLおよびMVTのいずれか一方のみが利用不可能(unavailable)になる場合もあり得る。もちろんその場合もマージの候補の数が低減するので、マージモードが選択されにくくなり、当該領域の動き情報の符号化効率が低減する恐れがある。
 そこで、動きベクトル符号化部122は、上述したMVコンペティションの場合と同様に、マージの候補である周辺領域の動き情報が利用不可能(unavailable)な場合、その動き情報の代わりに、他の利用可能(available)な周辺領域をマージの候補とし、その動き情報を利用する。
 例えば、利用不可能(unavailable)な動き情報の代わりに、その領域と動き情報の相関性が高い、その領域のCo-Located領域の動き情報を候補とする。
 例えば、周辺領域Lが当該スライスの外に位置し、MVLが利用不可能(unavailable)な場合、動きベクトル符号化部122は、MVLに代えて、その周辺領域LのCo-Located領域の、利用可能(available)なMVcolLを予測動きベクトル情報の候補とする。
 また例えば、周辺領域Tが当該スライスの外に位置し、MVTが利用不可能(unavailable)な場合、動きベクトル符号化部122は、MVTに代えて、その周辺領域TのCo-Located領域の、利用可能(available)なMVcolTを予測動きベクトル情報の候補とする。
 このようにすることにより、動きベクトル符号化部122は、マージの候補の数を低減させずに、マージモードを選択するか否かの判定を行うことができる。これにより、画像符号化装置100は、スライス境界における符号化効率の低減を抑制することができる。
 なお、このマージモードの場合も、上述したMVコンペティションの場合と同様に、利用不可能(unavailable)な動き情報の領域のCo-Located領域を、代わりのマージの候補とするようにすることができる。つまり、少なくとも、利用可能(available)な動き情報の領域であれば、代わりのマージの候補とすることができる。
 [動き予測・補償部、スライス境界判定部、および動きベクトル符号化部]
 図18は、動き予測・補償部115、スライス境界判定部121、および動きベクトル符号化部122の主な構成例を示すブロック図である。
 図18に示されるように、動き予測・補償部115は、動き探索部131、コスト関数算出部132、モード判定部133、動き補償部134、および動き情報バッファ135を有する。
 また、動きベクトル符号化部122は、マージ候補設定部141、マージ情報生成部142、候補プレディクタ設定部143、予測動きベクトル生成部144、および差分動きベクトル生成部145を有する。
 動き探索部131には、画面並べ替えバッファ102からの入力画像画素値と、フレームメモリ112からの参照画像画素値が入力される。動き探索部131は、全てのインター予測モードについて動き探索処理を行い、動きベクトルと参照インデックスを含む動き情報を生成する。動き探索部131は、その動き情報を動きベクトル符号化部122のマージ情報生成部142と予測動きベクトル生成部144に供給する。
 スライス境界判定部121には、シーケンスパラメータセット、ピクチャパラメータセット、およびスライスヘッダ等の情報に含まれる、スライスの境界の位置を、処理単位となる領域(例えばCUやサブマクロブロック等)のアドレス(識別情報)で示すスライス境界領域アドレスや、処理対象の当該領域の位置を示す当該領域アドレス等が可逆符号化部106から供給される。
 スライス境界判定部121は、これらの情報に基づいて、当該領域とスライス境界の位置関係から、当該領域の動き予測ベクトル情報の候補とする動き情報の領域や、マージの候補とする領域が、当該スライス内に存在するか否か(動き情報が利用可能(available)であるか否か)を判定する。スライス境界判定部121は、その判定結果(スライス境界判定結果)を、動きベクトル符号化部122のマージ候補設定部141および候補プレディクタ設定部143に供給する。
 動きベクトル符号化部122のマージ候補設定部141は、スライス境界判定部121からスライス境界判定結果を取得すると、そのスライス境界判定結果に従って、マージの候補とする周辺領域を決定する。マージ候補設定部141は、動き情報バッファ135から周辺動き情報を取得可能な周辺領域を利用可能(available)な動き情報とする。例えば、マージ候補設定部141は、スライス判定境界判定結果において、マージの候補の中に動き情報が利用不可能(unavailable)な領域が存在すると判定された場合、動き情報バッファ135から周辺動き情報を取得可能な周辺領域をその領域に代えてマージの候補とする。マージの候補が決定すると、マージ候補設定部141は、その候補に決定された周辺領域を指定する情報およびその動き情報(周辺動き情報)を含む候補情報をマージ情報生成部142に供給する。 
 マージ情報生成部142は、動き探索部131から当該領域の動き情報を取得し、その動き情報と、マージ候補設定部141から供給される候補情報に含まれる周辺う語彙情報とを比較し、当該領域に周辺領域をマージするか否かを判定し、さらにマージする場合はどの候補とマージさせるかを判定する。マージ情報生成部142は、それらの判定結果を示すMergeFlagおよびMergeLeftFlagを適宜生成し、それらのフラグ情報を含むマージ情報を生成する。マージ情報生成部142は、生成したマージ情報をコスト関数算出部132に供給する。また、当該領域の動き情報が周辺動き情報と一致せず、マージモードが選択されなかった場合、マージ情報生成部142は、予測動きベクトル生成部144に対して、予測動きベクトルを生成するように指示する制御信号を供給する。
 マージモードが選択されなかった場合、候補プレディクタ設定部143は、スライス境界判定部121からスライス境界判定結果を取得すると、そのスライス判定境界判定結果に従って、予測動きベクトル情報の候補とする動き情報を決定する。候補プレディクタ設定部143は、動き情報バッファ135から周辺動き情報を取得可能な周辺領域を利用可能(available)な動き情報とする。例えば、候補プレディクタ設定部143は、スライス判定境界判定結果において、予測動きベクトル情報の候補の中に利用不可能(unavailable)な動き情報が存在すると判定された場合、動き情報バッファ135から取得可能な周辺動き情報を代わりの候補とする。候補が決定すると、候補プレディクタ設定部143は、その候補に決定された周辺動き情報を含む候補情報を予測動きベクトル生成部144に供給する。
 予測動きベクトル生成部144は、マージ情報生成部142から供給される制御信号に従って、動き探索部131から当該領域の各インター予測モードの動き情報を取得し、候補プレディクタ設定部143から候補情報を取得する。予測動きベクトル生成部144は、それらの情報を用いて、候補となる複数の予測動きベクトル情報を生成する。予測動きベクトル情報の生成方法は任意であり、例えば、非特許文献2に記載の方法でもよい。
 そして、予測動きベクトル生成部144は、当該領域の動き情報、生成された候補となる各予測動きベクトル情報、並びに、それらに対してそれぞれ割り付けられたコードナンバを差分動きベクトル生成部145に供給する。
 差分動きベクトル生成部145は、各インター予測モードについて、供給された予測動きベクトル情報の候補の中から最適なものを選択し、動き情報とその予測動きベクトル情報との差分値を含む差分動きベクトル情報を生成する。差分動きベクトル生成部145は、生成した各インター予測モードの差分動きベクトル情報、選択した各インター予測モードの予測動きベクトル情報、およびそのコードナンバを動き予測・補償部115のコスト関数算出部132に供給する。
 また、動き探索部131は、探索した動きベクトル情報を用いて、参照画像に補償処理を行い、予測画像を生成する。さらに、動き探索部131は、その予測画像と入力画像の差分(差分画素値)を算出し、その差分画素値をコスト関数算出部132に供給する。
 コスト関数算出部132は、動き探索部131から供給された各インター予測モードの差分画素値を用いて、各インター予測モードのコスト関数値を算出する。コスト関数算出部132は、算出した各インター予測モードのコスト関数値とマージ情報をモード判定部133に供給する。また、コスト関数算出部132は、必要に応じて、各インター予測モードの差分動き情報、各インター予測モードの予測動きベクトル情報、およびそのコードナンバもモード判定部133に供給する。
 モード判定部133は、各インター予測モードのうち、どのモードを用いるのが最適かを、各インター予測モードに対するコスト関数値を用いて判定し、最も小さいコスト関数値のインター予測モードを、最適予測モードとする。そして、モード判定部133は、その最適予測モードに関する情報である最適予測モード情報とマージ情報を動き補償部134に供給する。また、モード判定部133は、必要に応じて、最適予測モードに選択されたインター予測モードの、差分動き情報、予測動きベクトル情報、およびそのコードナンバも動き補償部134に供給する。
 動き補償部134は、供給された情報を用いて最適予測モードの動きベクトルを求める。例えば、マージモードが選択された場合、動き補償部134は、マージ情報により指定される周辺領域の動き情報を動き情報バッファ135から取得し、その動きベクトルを最適予測モードの動きベクトルとする。また、マージモードが選択されていない場合、動き補償部134は、モード判定部133から供給された、差分動き情報や予測動きベクトル情報等を用いて、最適予測モードの動きベクトルを生成する。動き補償部134は、その動きベクトルを用いてフレームメモリ112からの参照画像に補償を行うことで、最適予測モードの予測画像を生成する。
 予測画像選択部116によりインター予測が選択された場合、それを示す信号が予測画像選択部116から供給される。これに対応して、動き補償部134は、最適予測モード情報とマージ情報を可逆符号化部106に供給する。また、動き補償部134は、必要に応じて、最適予測モードの差分動きベクトル情報と予測動きベクトル情報のコードナンバも、可逆符号化部106に供給する。
 また、動き補償部134は、最適予測モードの動き情報を、動き情報バッファ135に格納する。なお、予測画像選択部116によりインター予測が選択されなかった場合(すなわち、イントラ予測画像が選択された場合)、動きベクトル情報として、0ベクトルが、動き情報バッファ135に格納される。
 動き情報バッファ135には、過去に処理された領域の最適予測モードの動き情報が格納されている。格納されている動き情報は、その領域より時間的に後に処理される領域に対する処理において、周辺動き情報として、各部に供給される。
 以上のように、動きベクトル符号化部122は、スライス境界判定部121のスライス境界判定結果に基づいて、予測動きベクトル情報の候補を決定したり、マージの候補を決定したりする。したがって、動きベクトル符号化部122は、MVコンペティションやマージモードにおける候補の数の低減を抑制することができる。これにより、画像符号化装置100は、符号化効率を向上させることができる。
 [符号化処理の流れ]
 次に、以上のような画像符号化装置100により実行される各処理の流れについて説明する。最初に、図19のフローチャートを参照して、符号化処理の流れの例を説明する。
 ステップS101において、A/D変換部101は入力された画像をA/D変換する。ステップS102において、画面並べ替えバッファ102は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 ステップS103において、イントラ予測部114は、イントラ予測モードのイントラ予測処理を行う。ステップS104において、動き予測・補償部115は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行う。
 ステップS105において、予測画像選択部116は、イントラ予測部114および動き予測・補償部115から出力された各コスト関数値に基づいて、最適なモードを決定する。つまり、予測画像選択部116は、イントラ予測部114により生成された予測画像と、動き予測・補償部115により生成された予測画像のいずれか一方を選択する。
 ステップS106において、演算部103は、ステップS102の処理により並び替えられた画像と、ステップS105の処理により選択された予測画像との差分を演算する。差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
 ステップS107において、直交変換部104は、ステップS106の処理により生成された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
 ステップS108において、量子化部105は、ステップS107の処理により得られた直交変換係数を量子化する。
 ステップS108の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS109において、逆量子化部108は、ステップS108の処理により生成された量子化された直交変換係数(量子化係数とも称する)を量子化部105の特性に対応する特性で逆量子化する。ステップS110において、逆直交変換部109は、ステップS107の処理により得られた直交変換係数を、直交変換部104の特性に対応する特性で逆直交変換する。
 ステップS111において、演算部110は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部103への入力に対応する画像)を生成する。ステップS112においてループフィルタ111は、ステップS111の処理により得られた局部的な復号画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
 ステップS113において、フレームメモリ112は、ステップS112の処理によりループフィルタ処理が施された復号画像を記憶する。なお、フレームメモリ112にはループフィルタ111によりフィルタ処理されていない画像も演算部110から供給され、記憶される。
 ステップS114において、可逆符号化部106は、ステップS108の処理により量子化された変換係数を符号化する。すなわち、差分画像に対して、可変長符号化や算術符号化等の可逆符号化が行われる。
 なお、可逆符号化部106は、ステップS108において算出された量子化パラメータを符号化し、符号化データに付加する。また、可逆符号化部106は、ステップS105の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部106は、イントラ予測部114から供給される最適イントラ予測モード情報、または、動き予測・補償部115から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
 ステップS115において蓄積バッファ107は、ステップS114の処理により得られた符号化データを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
 ステップS116においてレート制御部117は、ステップS115の処理により蓄積バッファ107に蓄積された符号化データの符号量(発生符号量)に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 ステップS116の処理が終了すると、符号化処理が終了される。
 [インター動き予測処理の流れ]
 次に、図20のフローチャートを参照して、図19のステップS104において実行されるインター動き予測処理の流れの例を説明する。
 インター動き予測処理が開始されると、動き探索部131は、ステップS131において、各インター予測モードに対して動き探索を行い、動き情報と差分画素値を生成する。
 ステップS132において、スライス境界判定部121は、可逆符号化部106から、スライス境界領域アドレスや当該領域アドレス等のアドレス情報を取得する。
 ステップS133において、スライス境界判定部121は、ステップS132において取得した各種アドレス情報に基づいて、当該領域がスライス境界に接し、予測動きベクトル情報の各候補やマージの各候補の動き情報が利用可能(available)であるか否かを判定する。
 ステップS134において、マージ候補設定部141は、ステップS133のスライス境界判定結果に応じて、マージの候補を設定する。例えば、マージの候補の中に利用不可能(unavailable)な動き情報の領域が存在する場合、マージ候補設定部141は、代わりの領域をマージの候補に設定する。
 ステップS135において、マージ情報生成部142は、マージモードを選択するか否かを決定したり、ステップS134において設定されたマージの候補の中からマージする領域を選択したりし、マージ情報を生成する。
 ステップS136において、マージモードを選択しなかったと判定した場合、マージ情報生成部142は、処理をステップS137に進める。
 ステップS137において、候補プレディクタ設定部143は、ステップS133のスライス境界判定結果に応じて予測動きベクトル情報の候補(候補プレディクタ)を設定する。例えば、候補の中に利用不可能(unavailable)な動き情報が存在する場合、候補プレディクタ設定部143は、代わりの動き情報を予測動きベクトル情報の候補に設定する。
 ステップS138において、予測動きベクトル生成部144は、ステップS137において設定された予測動きベクトル情報の候補を用いて、候補となる全ての予測動きベクトル情報を生成する。
 ステップS139において、差分動きベクトル生成部145は、各インター予測モードに対する最適な予測動きベクトル情報を決定し、その予測動きベクトル情報と当該領域の動き情報との差分動きベクトルを生成する。差分動きベクトル生成部145は、ステップS139の処理後、ステップS140に処理を進める。
 また、ステップS136において、マージモードが選択されたと判定された場合、マージ情報生成部142は、処理をステップS140に進める。
 ステップS140において、コスト関数算出部132は、各インター予測モードのコスト関数値を算出する。
 ステップS141において、モード判定部133は、ステップS140において算出されたコスト関数値を用いて、最適なインター予測モードである最適インター予測モード(最適予測モードとも称する)を決定する。
ステップS142において、動き補償部134は、最適インター予測モードで動き補償を行う。ステップS143において、動き補償部134は、ステップS142の動き補償により得られた予測画像を、予測画像選択部116を介して演算部103および演算部110に供給し、差分画像情報および復号画像を生成させる。また、ステップS144において、動き補償部134は、最適予測モード情報、マージ情報、差分動き情報、および予測動きベクトル情報のコードナンバ等、最適インター予測モードに関する情報を可逆符号化部106に供給し、符号化させる。
 ステップS145において、動き情報バッファ135は、最適インター予測モードに選択された動き情報を記憶する。動き情報を記憶すると、動き情報バッファ135は、インター動き予測処理を終了する。
 以上のように、各処理を行うことにより、動きベクトル符号化部122は、MVコンペティションやマージモードにおける候補の数の低減を抑制することができる。これにより、画像符号化装置100は、符号化効率を向上させることができる。
 <2.第2の実施の形態>
 [画像復号装置]
 次に、以上のように符号化された符号化データの復号について説明する。図21は、図1の画像符号化装置100に対応する画像復号装置の主な構成例を示すブロック図である。
 図21に示される画像復号装置200は、画像符号化装置100が生成した符号化データを、その符号化方法に対応する復号方法で復号する。なお、画像復号装置200は、画像符号化装置100と同様に、プレディクションユニット(PU)毎にインター予測を行うものとする。
 図21に示されるように画像復号装置200は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、ループフィルタ206、画面並べ替えバッファ207、およびD/A変換部208を有する。また、画像復号装置200は、フレームメモリ209、選択部210、イントラ予測部211、動き予測・補償部212、および選択部213を有する。
 さらに、画像復号装置200は、スライス境界判定部221、および動きベクトル復号部222を有する。
 蓄積バッファ201は伝送されてきた符号化データを蓄積し、所定のタイミングにおいてその符号化データを可逆復号部202に供給する。可逆復号部202は、蓄積バッファ201より供給された、図1の可逆符号化部106により符号化された情報を、可逆符号化部106の符号化方式に対応する方式で復号する。可逆復号部202は、復号して得られた差分画像の量子化された係数データを、逆量子化部203に供給する。
 また、可逆復号部202は、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部211および動き予測・補償部212の内、選択されたと判定したモードの方に供給する。つまり、例えば、画像符号化装置100において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報が動き予測・補償部212に供給される。
 逆量子化部203は、可逆復号部202により復号されて得られた量子化された係数データを、図1の量子化部105の量子化方式に対応する方式で逆量子化し、得られた係数データを逆直交変換部204に供給する。
 逆直交変換部204は、図1の直交変換部104の直交変換方式に対応する方式で逆量子化部203から供給される係数データを逆直交変換する。逆直交変換部204は、この逆直交変換処理により、画像符号化装置100において直交変換される前の残差データに対応する復号残差データを得る。
 逆直交変換されて得られた復号残差データは、演算部205に供給される。また、演算部205には、選択部213を介して、イントラ予測部211若しくは動き予測・補償部212から予測画像が供給される。
 演算部205は、その復号残差データと予測画像とを加算し、画像符号化装置100の演算部103により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部205は、その復号画像データをループフィルタ206に供給する。
 ループフィルタ206は、供給された復号画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜施し、それを画面並べ替えバッファ207に供給する。
 ループフィルタ206は、デブロックフィルタや適応ループフィルタ等を含み、演算部205から供給される復号画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ206は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ206は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
 なお、ループフィルタ206が、復号画像に対して任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ206が、図1の画像符号化装置100から供給されたフィルタ係数を用いてフィルタ処理を行うようにしてもよい。
 ループフィルタ206は、フィルタ処理結果(フィルタ処理後の復号画像)を画面並べ替えバッファ207およびフレームメモリ209に供給する。なお、演算部205から出力される復号画像は、ループフィルタ206を介さずに画面並べ替えバッファ207やフレームメモリ209に供給することができる。つまり、ループフィルタ206によるフィルタ処理は省略することができる。
 画面並べ替えバッファ207は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部208は、画面並べ替えバッファ207から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
 フレームメモリ209は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、イントラ予測部211や動き予測・補償部212等の外部の要求に基づいて、記憶している復号画像を参照画像として、選択部210に供給する。
 選択部210は、フレームメモリ209から供給される参照画像の供給先を選択する。選択部210は、イントラ符号化された画像を復号する場合、フレームメモリ209から供給される参照画像をイントラ予測部211に供給する。また、選択部210は、インター符号化された画像を復号する場合、フレームメモリ209から供給される参照画像を動き予測・補償部212に供給する。
 イントラ予測部211には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部202から適宜供給される。イントラ予測部211は、図1のイントラ予測部114において用いられたイントラ予測モードで、フレームメモリ209から取得した参照画像を用いてイントラ予測を行い、予測画像を生成する。イントラ予測部211は、生成した予測画像を選択部213に供給する。
 動き予測・補償部212は、ヘッダ情報を復号して得られた情報(最適予測モード情報、差分情報、および予測動きベクトル情報のコードナンバ等)を可逆復号部202から取得する。
 動き予測・補償部212は、図1の動き予測・補償部115において用いられたインター予測モードで、フレームメモリ209から取得した参照画像を用いてインター予測を行い、予測画像を生成する。
 スライス境界判定部221は、基本的にスライス境界判定部121と同様の処理を行い、当該領域がスライス境界に接し、予測動きベクトル情報の候補やマージの候補の動き情報が利用不可能(unavailable)であるか否かを判定する。スライス境界判定部221は、このようなスライス境界判定結果を動きベクトル復号部222に供給する。
 動きベクトル復号部222は、スライス境界判定部221から供給されるスライス境界判定結果に基づいて、マージの候補や予測動きベクトル情報の候補を設定する。また、動きベクトル復号部222は、その候補を用いて、マージ情報を解読(復号)する。つまり、動きベクトル復号部222は、符号化の際に、当該領域の予測においてマージモードが選択されたか否かを判定したり、マージモード選択された場合、どの周辺領域がマージされたか等を判定したりする。
 そして、動きベクトル復号部222は、その判定結果に従って、当該領域に周辺領域をマージし、その周辺領域を指定する情報を動き予測・補償部212に供給する。動き予測・補償部212は、その指定された周辺領域の動き情報を用いて当該領域の動き情報を再構築する。
 また、マージモードが選択されていないと判定された場合、動きベクトル復号部222は、設定した予測動きベクトル情報の候補を用いて予測動きベクトル情報を再構築する。つまり、画像符号化装置100により生成された予測動きベクトル情報は、置き換えられた候補によって生成されている可能性がある。つまり、画像符号化装置100から伝送されたコードナンバを正しく解読するためには、動きベクトル復号部222は、その候補の置き換えが行われたか否かを把握し、行われた場合は、どの周辺領域の動き情報が用いられたかを把握しなければならない。
 そこで動きベクトル復号部222は、スライス境界判定結果に従って予測動きベクトル情報の候補の置き換えを再現し、その結果を用いて、コードナンバから予測動きベクトル情報を再構築する。
 このように、スライス境界判定部221によるスライス境界の判定結果に基づいてマージの候補や予測動きベクトル情報の候補を設定し、その候補を用いてマージを行ったり、予測動きベクトル情報を再構築したりすることにより、動きベクトル復号部222は、画像符号化装置100から供給される情報を正しく解読し、当該領域の動きベクトル情報を正しく再構築することができる。
 したがって、画像復号装置200は、画像符号化装置100が符号化した符号化データを正しく復号することができ、符号化効率の向上を実現させることができる。
 [動き予測・補償部、スライス領域判定部、動きベクトル復号部]
 図22は、動き予測・補償部212、スライス境界判定部221、および動きベクトル復号部222の主な構成例を示すブロック図である。
 図22に示されるように、動き予測・補償部212は、差分動き情報バッファ231、マージ情報バッファ232、予測動きベクトル情報バッファ233、動き情報バッファ234、動き情報再構築部235、および動き補償部236を有する。
 また、動きベクトル復号部222は、マージ候補設定部241、マージ情報復号部242、候補プレディクタ設定部243、および予測動きベクトル再構築部244を有する。 
 差分動き情報バッファ231は、可逆復号部202から供給される差分動き情報を記憶する。この差分動き情報は、画像符号化装置100から供給された、最適な予測モードとして選択されたインター予測モードの差分動き情報である。差分動き情報バッファ231は、所定のタイミングにおいて、若しくは、動き情報再構築部235からの要求に基づいて、記憶している差分動き情報を動き情報再構築部235に供給する。
 マージ情報バッファ232は、可逆復号部202から供給されるマージ情報を記憶する。このマージ情報は、画像符号化装置100から供給された、最適な予測モードとして選択されたインター予測モードのマージ動き情報である。マージ情報バッファ232は、所定のタイミングにおいて、若しくは、マージ情報復号部242からの要求に基づいて、記憶しているマージ情報を、動きベクトル復号部222のマージ情報復号部242に供給する。
 予測動きベクトル情報バッファ233は、可逆復号部202から供給される予測動きベクトル情報のコードナンバを記憶する。この予測動きベクトル情報のコードナンバは、画像符号化装置100から供給されたものであり、最適な予測モードとして選択されたインター予測モードの予測動きベクトル情報に割り当てられたコードナンバである。予測動きベクトル情報バッファ233は、所定のタイミングにおいて、若しくは、予測動きベクトル再構築部244からの要求に基づいて、記憶している予測動きベクトル情報のコードナンバを、予測動きベクトル再構築部244に供給する。
 また、スライス境界判定部221は、可逆復号部202から、符号化側から供給されたスライス境界領域アドレスおよび当該領域アドレス取得し、スライス境界判定を行う。これらの情報は、例えば、シーケンスパラメータセット、ピクチャパラメータセット、若しくはスライスヘッダ等、画像の符号化データを含むコードストリームの所定の位置に格納されて伝送される。また、このコードストリームとは別途伝送されるようにしてもよい。
 スライス境界判定部221は、その判定結果(スライス境界判定結果)を動きベクトル復号部222のマージ候補設定部241および候補プレディクタ設定部243に供給する。
 動きベクトル復号部222のマージ候補設定部241は、動き情報バッファ234から必要な周辺領域の周辺動き情報を適宜取得し、スライス境界判定部221から供給されるスライス境界判定結果に従って、適宜、利用不可能(unavailable)な動き情報の候補は、利用可能(available)な動き情報の領域に置き換える等して、マージの候補を設定する。マージ候補設定部241は、マージの候補を指定する候補情報をマージ情報復号部242に供給する。
 マージ情報復号部242は、マージ情報バッファ232から、画像符号化装置100から供給されたマージ情報を取得する。マージ情報復号部242は、そのマージ情報に含まれるMergeFlagおよびMergeLeftFlag等の各フラグの値を解読する。その際、マージ情報復号部242は、マージ候補設定部241から供給された候補情報に基づいて、符号化側において候補の置き換えが行われていた場合、それを再現する。
 つまり、伝送されてきたフラグ情報のみでは、従来のように、周辺領域Lおよび周辺領域Tしか指定できないが、実際には、符号化側において置き換えが行われ、その他の周辺領域が候補とされている可能性もある。マージ情報復号部242は、マージ候補設定部241から供給される候補情報に基づいて、その実際に候補とされた周辺領域を正確に特定する。
 マージ情報を解読した結果、マージモードであり、かつ、当該領域にマージする周辺領域を特定すると、マージ情報復号部242は、その周辺領域を指定する周辺領域指定情報を、動き情報再構築部235に供給する。
 なお、マージ情報の解読の結果、マージモードでなかった場合、マージ情報復号部242は、予測動きベクトル再構築部244に対して、予測動きベクトル情報を再構築するように指示する制御信号を供給する。
 候補プレディクタ設定部243は、動き情報バッファ234から必要な周辺領域の周辺動き情報を適宜取得し、スライス境界判定部221から供給されるスライス境界判定結果に従って、適宜、利用不可能(unavailable)な動き情報の候補は、利用可能(available)な動き情報の領域に置き換える等して、予測動きベクトル情報の候補を設定する。候補プレディクタ設定部243は、設定した予測動きベクトル情報の候補を指定する候補情報を予測動きベクトル再構築部244に供給する。
 予測動きベクトル再構築部244は、マージ情報復号部242から予測動きベクトル情報を再構築するように指示されると(制御信号が供給されると)、予測動きベクトル情報バッファ233から、画像符号化装置100から供給された予測動きベクトル情報のコードナンバを取得し、そのコードナンバを解読する。
 その際、予測動きベクトル再構築部244は、マージ情報復号部242の場合と同様に、候補プレディクタ設定部243から供給された候補情報に基づいて、符号化側で候補の置き換えが行われた場合、それを再現し、予測動きベクトル情報に選ばれた動き情報の周辺領域を正しく特定する。予測動きベクトル再構築部244は、その周辺領域の周辺動き情報を動き情報バッファ234から取得し、その周辺動き情報を予測動きベクトル情報とする。予測動きベクトル再構築部244は、再構築した予測動きベクトル情報を、動き予測・補償部212の動き情報再構築部235に供給する。
 マージモードの場合、動き情報再構築部235は、マージ情報復号部242から供給された周辺領域指定情報により指定される周辺領域の動き情報を動き情報バッファ234から取得し、それを当該領域の動き情報とする(動き情報を再構築する)。
 これに対して、MVコンペティションの場合、動き情報再構築部235は、差分動き情報バッファ231から、画像符号化装置100から供給された差分動き情報を取得する。動き情報再構築部235は、その差分動き情報に、予測動きベクトル再構築部244から取得した予測動きベクトル情報を加算し、当該領域(当該PU)の動き情報を再構築する。動き情報再構築部235は、再構築した当該領域の動き情報を動き補償部236に供給する。
 動き補償部236は、以上のように動き情報再構築部235により再構築された当該領域の動き情報を用いて、フレームメモリ209から取得した参照画像画素値に対して動き補償を行い、予測画像を生成する。動き補償部236は、その予測画像画素値を、選択部213を介して演算部205に供給する。
 また、動き情報再構築部235は、再構築した当該領域の動き情報を動き情報バッファ234にも供給する。
 動き情報バッファ234は、その動き情報再構築部235から供給される当該領域の動き情報を記憶する。動き情報バッファ234は、当該領域よりも時間的に後に処理される他の領域に対する処理において、その動き情報を周辺動き情報として、マージ候補設定部241、候補プレディクタ設定部243、および予測動きベクトル再構築部244に供給する。
 以上のように各部が処理を行うことにより、画像復号装置200は、画像符号化装置100が符号化した符号化データを正しく復号することができ、符号化効率の向上を実現させることができる。
 [復号処理の流れ]
 次に、以上のような画像復号装置200により実行される各処理の流れについて説明する。最初に、図23のフローチャートを参照して、復号処理の流れの例を説明する。
 復号処理が開始されると、ステップS201において、蓄積バッファ201は、伝送されてきたコードストリームを蓄積する。ステップS202において、可逆復号部202は、蓄積バッファ201から供給されるコードストリーム(符号化された差分画像情報)を復号する。すなわち、図1の可逆符号化部106により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
 このとき、差分動き情報、予測動きベクトル情報のコードナンバ、およびマージ情報など、コードストリームに含められた差分画像情報以外の各種情報も復号される。
 ステップS203において、逆量子化部203は、ステップS202の処理により得られた、量子化された直交変換係数を逆量子化する。ステップS204において逆直交変換部204は、ステップS203において逆量子化された直交変換係数を逆直交変換する。
 ステップS205において、イントラ予測部211若しくは動き予測・補償部212は、供給された情報を用いて予測処理を行う。ステップS206において、選択部213は、ステップS205において生成された予測画像を選択する。ステップS207において、演算部205は、ステップS204において逆直交変換されて得られた差分画像情報に、ステップS206において選択された予測画像を加算する。これにより元の画像が復号される。
 ステップS208において、ループフィルタ206は、ステップS207において得られた復号画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
 ステップS209において、画面並べ替えバッファ207は、ステップS208においてフィルタ処理された画像の並べ替えを行う。すなわち画像符号化装置100の画面並べ替えバッファ102により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS210において、D/A変換部208は、ステップS209においてフレームの順序が並べ替えられた画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
 ステップS211において、フレームメモリ209は、ステップS208においてフィルタ処理された画像を記憶する。
 ステップS211の処理が終了すると、復号処理が終了される。
 [予測処理の流れ]
 次に、図24のフローチャートを参照して、図23のステップS205において実行される予測処理の流れの例を説明する。
 予測処理が開始されると、可逆復号部202は、ステップS231において、画像符号化装置100から供給された最適な予測モードに関する情報に基づいて、処理対象の符号化データがイントラ符号化されているか否かを判定する。イントラ符号化されていると判定された場合、可逆復号部202は、処理をステップS232に進める。
 ステップS232において、イントラ予測部211は、イントラ予測モード情報を取得する。ステップS233において、イントラ予測部211は、ステップS232において取得したイントラ予測モード情報を用いてイントラ予測を行い、予測画像を生成する。予測画像を生成すると、イントラ予測部211は、予測処理を終了し、処理を図23に戻す。
 また、ステップS231において、インター符号化されていると判定された場合、可逆復号部202は、処理をステップS234に進める。
 ステップS234において、動き予測・補償部212は、インター動き予測処理を行う。インター動き予測処理が終了すると、動き予測・補償部212は、予測処理を終了し、処理を図23に戻す。
 [インター動き予測処理の流れ]
 次に、図25のフローチャートを参照して、図24のステップS234において実行されるインター動き予測処理の流れの例を説明する。
 インター動き予測処理が開始されると、ステップS251において、動き予測・補償部212は、当該領域に対する動き予測に関する情報を取得する。例えば、差分動き情報バッファ231は、差分動き情報を取得し、マージ情報バッファ232は、マージ情報を取得し、予測動きベクトル情報バッファ233は、予測動きベクトル情報のコードナンバを取得する。
 ステップS252において、スライス境界判定部221は、スライス境界領域アドレスや当該領域アドレス等のアドレス情報を取得する。ステップS253において、スライス境界判定部221は、ステップS252において取得したアドレス情報に基づいて、当該領域がスライス境界に接し、マージの候補となる周辺領域の動き情報や予測動きベクトル情報の候補が利用可能であるか否かを判定する。
 ステップS254において、マージ候補設定部241は、ステップS253において行われたスライス境界判定結果に応じてマージ候補を設定する。ステップS255において、マージ情報復号部242は、ステップS253において設定されたマージ候補を用いて、マージ情報を復号(解読)し、マージモードが選択された場合、マージする周辺領域を特定する。
 ステップS256において、マージ情報復号部242は、マージモードであるか否かを判定し、マージモードであると判定した場合、処理をステップS257に進める。
 ステップS257において、候補プレディクタ設定部243は、ステップS253において得られたスライス境界判定結果に応じて予測動きベクトル情報の候補(候補プレディクタ)を設定する。
 ステップS258において、予測動きベクトル再構築部244は、候補プレディクタを用いて、予測動きベクトル情報のコードナンバから、予測動きベクトル情報を再構築する。予測動きベクトル情報を再構築すると、予測動きベクトル再構築部244は、処理をステップS259に進める。また、ステップS256において、マージモードであると判定した場合、マージ情報復号部242は、処理をステップS259に進める。
 ステップS259において、動き情報再構築部235は、ステップS255におけるマージ情報の復号結果、若しくは、ステップS258において再構築された予測動きベクトル情報を用いて、当該領域の動き情報を再構築する。
 ステップS260において、動き補償部236は、ステップS259において再構築された動き情報を用いて動き補償を行い、予測画像を生成する。
 ステップS261において、動き補償部236は、ステップS260において生成した予測画像を、選択部213を介して演算部205に供給し、復号画像を生成させる。 
 ステップS262において、動き情報バッファ234は、ステップS259において再構築された動き情報を記憶する。
 ステップS262の処理が終了すると、動き情報バッファ234は、インター動き予測処理を終了し、処理を図24に戻す。
 以上のように各処理を行うことにより、画像復号装置200は、画像符号化装置100が符号化した符号化データを正しく復号することができ、符号化効率の向上を実現させることができる。
 なお、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
 <3.第3の実施の形態>
 [パーソナルコンピュータ]
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
 図26において、パーソナルコンピュータ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にインストールされる。
 上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
 この記録媒体は、例えば、図26に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部513に含まれるハードディスクなどで構成される。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
 <4.第4の実施の形態>
 [第1の応用例:テレビジョン受像機]
 図27は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、MVコンペティションやマージモードにおける候補の数の低減を抑制することができ、符号化効率の向上を実現させることができる。
 <5.第5の実施の形態>
 [第2の応用例:携帯電話機]
 図28は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Unallocated Space Bitmap)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、MVコンペティションやマージモードにおける候補の数の低減を抑制することができ、符号化効率を向上させることができる。
 <6.第6の実施の形態>
 [第3の応用例:記録再生装置]
 図29は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。
 外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送手段としての役割を有する。
 エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、MVコンペティションやマージモードにおける候補の数の低減を抑制することができ、符号化効率を向上させることができる。
 <7.第7の実施の形態>
 [第4の応用例:撮像装置]
 図30は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、MVコンペティションやマージモードにおける候補の数の低減を抑制することができ、符号化効率を向上させることができる。
 なお、本明細書では、予測モード情報及びマージ情報などの様々な情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 なお、本技術は以下のような構成も取ることができる。
 (1) 処理対象である当該領域の動き情報の符号化に用いる、当該領域の周辺に位置する周辺領域の動き情報が利用可能であるか否かを判定する判定部と、
 前記判定部により利用不可能であると判定された周辺領域の動き情報の代わりに、利用可能な他の周辺領域の動き情報を用いて当該領域の動き情報を符号化する符号化部と
 を備える画像処理装置。
 (2) 前記判定部は、フレームを複数に分割するスライスであって、当該領域を含む当該スライスの境界のアドレスと、当該領域のアドレスとに基づいて、前記周辺領域の動き情報が利用可能であるか否かを判定する
 前記(1)に記載の画像処理装置。
 (3) 前記判定部は、前記周辺領域が、処理対象である当該フレームの、当該スライスの外に位置する場合、前記周辺領域の動き情報が利用不可能であると判定する
 前記(2)に記載の画像処理装置。
 (4) 前記符号化部は、
  当該領域とマージする領域の候補とする周辺領域の動き情報が利用不可能である場合、前記周辺領域の代わりに、動き情報が利用可能な他の周辺領域を前記候補とする候補設定部と、
  前記候補設定部により設定された候補の中から、当該領域にマージさせる周辺領域を決定し、マージ情報を生成するマージ情報生成部と
 を備える前記(1)乃至(3)のいずれかに記載の画像処理装置。
 (5)  前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域のCo-Located領域が利用可能である場合、前記Co-Located領域を前記候補とする
 前記(4)に記載の画像処理装置。
 (6)  前記候補設定部は、処理対象である当該フレームの、フレームを複数に分割するスライスであって、処理対象の当該スライスの内部に位置する他の周辺領域を前記候補とする
 前記(4)に記載の画像処理装置。
 (7)  前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域が当該フレームの外部に位置する場合、処理対象である当該フレームから参照される参照フレームの内部に位置する周辺領域を前記候補とする
 前記(4)に記載の画像処理装置。
 (8) 前記符号化部は、
  当該領域の予測動きベクトル情報の候補とする周辺領域の動き情報が利用不可能である場合、前記動き情報の代わりに、他の周辺領域の利用可能な動き情報を前記候補に設定する候補設定部と、
  前記候補設定部により設定された候補のいずれかを用いて、当該領域の予測動きベクトル情報を生成する予測動きベクトル生成部と
 を備える前記(1)乃至(7)のいずれかに記載の画像処理装置。
 (9)  前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域のCo-Located領域が利用可能である場合、前記Co-Located領域を前記候補とする
 前記(8)に記載の画像処理装置。
 (10)  前記候補設定部は、処理対象である当該フレームの、フレームを複数に分割するスライスであって、処理対象の当該スライスの内部に位置する他の周辺領域を前記候補とする
 前記(8)に記載の画像処理装置。
 (11)  前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域が当該フレームの外部に位置する場合、処理対象である当該フレームから参照される参照フレームの内部に位置する周辺領域を前記候補とする
 前記(8)に記載の画像処理装置。
 (12) 画像処理装置の画像処理方法であって、
 判定部が、処理対象である当該領域の動き情報の符号化に用いる、当該領域の周辺に位置する周辺領域の動き情報が利用可能であるか否かを判定し、
 符号化部が、利用不可能であると判定された周辺領域の動き情報の代わりに、利用可能な他の周辺領域の動き情報を用いて当該領域の動き情報を符号化する
 画像処理方法。
 (13) 処理対象である当該領域の動き情報の復号に用いる、当該領域の周辺に位置する周辺領域の動き情報が利用可能であるか否かを判定する判定部と、
 前記判定部により利用不可能であると判定された周辺領域の動き情報の代わりに、利用可能な他の周辺領域の動き情報を用いて、符号化された当該領域の動き情報を復号する復号部と
 を備える画像処理装置。
 (14) 前記判定部は、フレームを複数に分割するスライスであって、当該領域を含む当該スライスの境界のアドレスと、当該領域のアドレスとに基づいて、前記周辺領域の動き情報が利用可能であるか否かを判定する
 前記(13)に記載の画像処理装置。
 (15) 前記判定部は、前記周辺領域が、処理対象である当該フレームの、当該スライスの外に位置する場合、前記周辺領域の動き情報が利用不可能であると判定する
 前記(13)または(14)に記載の画像処理装置。
 (16) 前記復号部は、
  当該領域とマージする領域の候補とする周辺領域の動き情報が利用不可能である場合、前記周辺領域の代わりに、動き情報が利用可能な他の周辺領域を前記候補とする候補設定部と、
  前記候補設定部により設定された候補の中から、当該領域にマージさせる周辺領域を決定し、その決定に従ってマージ情報を復号するマージ情報復号部と
 を備える前記(13)乃至(15)のいずれかに記載の画像処理装置。
 (17)  前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域のCo-Located領域が利用可能である場合、前記Co-Located領域を前記候補とする
 前記(16)に記載の画像処理装置。
 (18)  前記候補設定部は、処理対象である当該フレームの、フレームを複数に分割するスライスであって、処理対象の当該スライスの内部に位置する他の周辺領域を前記候補とする
 前記(16)に記載の画像処理装置。
 (19)  前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域が当該フレームの外部に位置する場合、処理対象である当該フレームから参照される参照フレームの内部に位置する周辺領域を前記候補とする
 前記(16)に記載の画像処理装置。
 (20) 前記復号部は、
  当該領域の予測動きベクトル情報の候補とする周辺領域の動き情報が利用不可能である場合、前記動き情報の代わりに、他の周辺領域の利用可能な動き情報を前記候補とする候補設定部と、
  前記候補設定部により設定された候補のいずれかを用いて、当該領域の予測動きベクトル情報を再構築する予測動きベクトル再構築部と
 を備える前記(13)乃至(19)のいずれかに記載の画像処理装置。
 (21)  前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域のCo-Located領域が利用可能である場合、前記Co-Located領域を前記候補とする
 前記(20)に記載の画像処理装置。
 (22)  前記候補設定部は、処理対象である当該フレームの、フレームを複数に分割するスライスであって、処理対象の当該スライスの内部に位置する他の周辺領域を前記候補とする
 前記(20)に記載の画像処理装置。
 (23)  前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域が当該フレームの外部に位置する場合、処理対象である当該フレームから参照される参照フレームの内部に位置する周辺領域を前記候補とする
 前記(20)に記載の画像処理装置。
 (24) 画像処理装置の画像処理方法であって、
 判定部が、処理対象である当該領域の動き情報の復号に用いる、当該領域の周辺に位置する周辺領域の動き情報が利用可能であるか否かを判定し、
 復号部が、利用不可能であると判定された周辺領域の動き情報の代わりに、利用可能な他の周辺領域の動き情報を用いて当該領域の動き情報を復号する
 画像処理方法。
 100 画像符号化装置, 115 動き予測・補償部, 121 スライス境界判定部, 122 動きベクトル符号化部, 141 マージ候補設定部, 142 マージ情報生成部, 143 候補プレディクタ設定部, 144 予測動きベクトル生成部, 145 差分動きベクトル生成部, 200 画像復号装置, 212 動き予測・補償部, 221 スライス境界判定部, 222 動きベクトル復号部, 241 マージ候補設定部, 242 マージ情報復号部, 243 候補プレディクタ設定部, 244 予測動きベクトル再構築部

Claims (24)

  1.  処理対象である当該領域の動き情報の符号化に用いる、当該領域の周辺に位置する周辺領域の動き情報が利用可能であるか否かを判定する判定部と、
     前記判定部により利用不可能であると判定された周辺領域の動き情報の代わりに、利用可能な他の周辺領域の動き情報を用いて当該領域の動き情報を符号化する符号化部と
     を備える画像処理装置。
  2.  前記判定部は、フレームを複数に分割するスライスであって、当該領域を含む当該スライスの境界のアドレスと、当該領域のアドレスとに基づいて、前記周辺領域の動き情報が利用可能であるか否かを判定する
     請求項1に記載の画像処理装置。
  3.  前記判定部は、前記周辺領域が、処理対象である当該フレームの、当該スライスの外に位置する場合、前記周辺領域の動き情報が利用不可能であると判定する
     請求項2に記載の画像処理装置。
  4.  前記符号化部は、
      当該領域とマージする領域の候補とする周辺領域の動き情報が利用不可能である場合、前記周辺領域の代わりに、動き情報が利用可能な他の周辺領域を前記候補とする候補設定部と、
      前記候補設定部により設定された候補の中から、当該領域にマージさせる周辺領域を決定し、マージ情報を生成するマージ情報生成部と
     を備える請求項1に記載の画像処理装置。
  5.   前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域のCo-Located領域が利用可能である場合、前記Co-Located領域を前記候補とする
     請求項4に記載の画像処理装置。
  6.   前記候補設定部は、処理対象である当該フレームの、フレームを複数に分割するスライスであって、処理対象の当該スライスの内部に位置する他の周辺領域を前記候補とする 請求項4に記載の画像処理装置。
  7.   前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域が当該フレームの外部に位置する場合、処理対象である当該フレームから参照される参照フレームの内部に位置する周辺領域を前記候補とする
     請求項4に記載の画像処理装置。
  8.  前記符号化部は、
      当該領域の予測動きベクトル情報の候補とする周辺領域の動き情報が利用不可能である場合、前記動き情報の代わりに、他の周辺領域の利用可能な動き情報を前記候補に設定する候補設定部と、
      前記候補設定部により設定された候補のいずれかを用いて、当該領域の予測動きベクトル情報を生成する予測動きベクトル生成部と
     を備える請求項1に記載の画像処理装置。
  9.   前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域のCo-Located領域が利用可能である場合、前記Co-Located領域を前記候補とする
     請求項8に記載の画像処理装置。
  10.   前記候補設定部は、処理対象である当該フレームの、フレームを複数に分割するスライスであって、処理対象の当該スライスの内部に位置する他の周辺領域を前記候補とする 請求項8に記載の画像処理装置。
  11.   前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域が当該フレームの外部に位置する場合、処理対象である当該フレームから参照される参照フレームの内部に位置する周辺領域を前記候補とする
     請求項8に記載の画像処理装置。
  12.  画像処理装置の画像処理方法であって、
     判定部が、処理対象である当該領域の動き情報の符号化に用いる、当該領域の周辺に位置する周辺領域の動き情報が利用可能であるか否かを判定し、
     符号化部が、利用不可能であると判定された周辺領域の動き情報の代わりに、利用可能な他の周辺領域の動き情報を用いて当該領域の動き情報を符号化する
     画像処理方法。
  13.  処理対象である当該領域の動き情報の復号に用いる、当該領域の周辺に位置する周辺領域の動き情報が利用可能であるか否かを判定する判定部と、
     前記判定部により利用不可能であると判定された周辺領域の動き情報の代わりに、利用可能な他の周辺領域の動き情報を用いて、符号化された当該領域の動き情報を復号する復号部と
     を備える画像処理装置。
  14.  前記判定部は、フレームを複数に分割するスライスであって、当該領域を含む当該スライスの境界のアドレスと、当該領域のアドレスとに基づいて、前記周辺領域の動き情報が利用可能であるか否かを判定する
     請求項13に記載の画像処理装置。
  15.  前記判定部は、前記周辺領域が、処理対象である当該フレームの、当該スライスの外に位置する場合、前記周辺領域の動き情報が利用不可能であると判定する
     請求項14に記載の画像処理装置。
  16.  前記復号部は、
      当該領域とマージする領域の候補とする周辺領域の動き情報が利用不可能である場合、前記周辺領域の代わりに、動き情報が利用可能な他の周辺領域を前記候補とする候補設定部と、
      前記候補設定部により設定された候補の中から、当該領域にマージさせる周辺領域を決定し、その決定に従ってマージ情報を復号するマージ情報復号部と
     を備える請求項13に記載の画像処理装置。
  17.   前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域のCo-Located領域が利用可能である場合、前記Co-Located領域を前記候補とする
     請求項16に記載の画像処理装置。
  18.   前記候補設定部は、処理対象である当該フレームの、フレームを複数に分割するスライスであって、処理対象の当該スライスの内部に位置する他の周辺領域を前記候補とする 請求項16に記載の画像処理装置。
  19.   前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域が当該フレームの外部に位置する場合、処理対象である当該フレームから参照される参照フレームの内部に位置する周辺領域を前記候補とする
     請求項16に記載の画像処理装置。
  20.  前記復号部は、
      当該領域の予測動きベクトル情報の候補とする周辺領域の動き情報が利用不可能である場合、前記動き情報の代わりに、他の周辺領域の利用可能な動き情報を前記候補とする候補設定部と、
      前記候補設定部により設定された候補のいずれかを用いて、当該領域の予測動きベクトル情報を再構築する予測動きベクトル再構築部と
     を備える請求項13に記載の画像処理装置。
  21.   前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域のCo-Located領域が利用可能である場合、前記Co-Located領域を前記候補とする
     請求項20に記載の画像処理装置。
  22.   前記候補設定部は、処理対象である当該フレームの、フレームを複数に分割するスライスであって、処理対象の当該スライスの内部に位置する他の周辺領域を前記候補とする
     請求項20に記載の画像処理装置。
  23.   前記候補設定部は、前記判定部により利用不可能であると判定された周辺領域が当該フレームの外部に位置する場合、処理対象である当該フレームから参照される参照フレームの内部に位置する周辺領域を前記候補とする
     請求項20に記載の画像処理装置。
  24.  画像処理装置の画像処理方法であって、
     判定部が、処理対象である当該領域の動き情報の復号に用いる、当該領域の周辺に位置する周辺領域の動き情報が利用可能であるか否かを判定し、
     復号部が、利用不可能であると判定された周辺領域の動き情報の代わりに、利用可能な他の周辺領域の動き情報を用いて当該領域の動き情報を復号する
     画像処理方法。
PCT/JP2012/055237 2011-03-11 2012-03-01 画像処理装置および方法 WO2012124497A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
BR112013022672A BR112013022672A2 (pt) 2011-03-11 2012-03-01 aparelho e método de processamento de imagem
US14/003,063 US9177392B2 (en) 2011-03-11 2012-03-01 Image processing apparatus and image processing method
CN2012800117832A CN103404149A (zh) 2011-03-11 2012-03-01 图像处理装置以及方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011054560A JP5979405B2 (ja) 2011-03-11 2011-03-11 画像処理装置および方法
JP2011-054560 2011-03-11

Publications (1)

Publication Number Publication Date
WO2012124497A1 true WO2012124497A1 (ja) 2012-09-20

Family

ID=46830572

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/055237 WO2012124497A1 (ja) 2011-03-11 2012-03-01 画像処理装置および方法

Country Status (5)

Country Link
US (1) US9177392B2 (ja)
JP (1) JP5979405B2 (ja)
CN (1) CN103404149A (ja)
BR (1) BR112013022672A2 (ja)
WO (1) WO2012124497A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103517073A (zh) * 2013-07-12 2014-01-15 上海交通大学 视频编解码方法、装置及系统
CN110545419A (zh) * 2012-10-12 2019-12-06 韩国电子通信研究院 图像编码/解码方法和使用其的装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013009104A2 (ko) 2011-07-12 2013-01-17 한국전자통신연구원 인터 예측 방법 및 그 장치
KR101769576B1 (ko) * 2011-07-12 2017-08-18 한국전자통신연구원 인터 예측 방법 및 그 장치
KR101638875B1 (ko) * 2012-11-27 2016-07-22 경희대학교 산학협력단 머지를 기반으로 한 복호화 방법 및 장치
WO2014103774A1 (ja) * 2012-12-26 2014-07-03 ソニー株式会社 画像処理装置および方法
WO2014141899A1 (ja) * 2013-03-12 2014-09-18 ソニー株式会社 画像処理装置および方法
US9300977B2 (en) * 2013-10-02 2016-03-29 Amlogic Co., Ltd. Methods for encoding motion vectors
US9973754B2 (en) * 2014-03-18 2018-05-15 Texas Instruments Incorporated Low power ultra-HD video hardware engine
JP6491587B2 (ja) * 2015-11-06 2019-03-27 日本電信電話株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化プログラム及び映像復号プログラム
WO2018105515A1 (ja) 2016-12-09 2018-06-14 株式会社アクセル 画像データ処理方法
JP6732337B2 (ja) 2016-12-09 2020-07-29 株式会社アクセル 画像データ処理方法
KR20180111378A (ko) * 2017-03-31 2018-10-11 주식회사 칩스앤미디어 병렬 처리를 위한 움직임 정보를 처리하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
KR20200012957A (ko) 2017-06-30 2020-02-05 후아웨이 테크놀러지 컴퍼니 리미티드 인터-프레임 예측 방법 및 디바이스
JP6918661B2 (ja) * 2017-09-22 2021-08-11 キヤノン株式会社 符号化装置、符号化方法及びプログラム
US10469869B1 (en) * 2018-06-01 2019-11-05 Tencent America LLC Method and apparatus for video coding
CN109862356B (zh) * 2019-01-17 2020-11-10 中国科学院计算技术研究所 一种基于感兴趣区域的视频编码方法及系统
JP6694086B2 (ja) * 2019-02-13 2020-05-13 日本電信電話株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004208258A (ja) * 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法
JP2004235683A (ja) * 2003-01-28 2004-08-19 Sony Corp 画像処理装置および符号化装置とそれらの方法
JP2008283490A (ja) * 2007-05-10 2008-11-20 Ntt Docomo Inc 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3525465B1 (en) * 2002-04-19 2021-03-17 Panasonic Intellectual Property Corporation of America Picture decoding method and apparatus
JP2005159824A (ja) * 2003-11-27 2005-06-16 Nippon Telegr & Teleph Corp <Ntt> 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラム,画像復号プログラムおよびそれらの記録媒体
CN101573982B (zh) * 2006-11-03 2011-08-03 三星电子株式会社 利用运动矢量跟踪编码/解码图像的方法和装置
KR101356734B1 (ko) * 2007-01-03 2014-02-05 삼성전자주식회사 움직임 벡터 트랙킹을 이용한 영상의 부호화, 복호화 방법및 장치
CN101682769B (zh) * 2007-04-12 2016-11-09 汤姆森特许公司 用于视频编码和解码的跳过-直接模式的取决于环境的合并的方法和装置
KR101431545B1 (ko) * 2008-03-17 2014-08-20 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004208258A (ja) * 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法
JP2004235683A (ja) * 2003-01-28 2004-08-19 Sony Corp 画像処理装置および符号化装置とそれらの方法
JP2008283490A (ja) * 2007-05-10 2008-11-20 Ntt Docomo Inc 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110545419A (zh) * 2012-10-12 2019-12-06 韩国电子通信研究院 图像编码/解码方法和使用其的装置
CN110545419B (zh) * 2012-10-12 2022-11-22 韩国电子通信研究院 图像编码/解码方法和使用其的装置
US11743491B2 (en) 2012-10-12 2023-08-29 Electronics And Telecommunications Research Institute Image encoding/decoding method and device using same
CN103517073A (zh) * 2013-07-12 2014-01-15 上海交通大学 视频编解码方法、装置及系统
WO2015003573A1 (zh) * 2013-07-12 2015-01-15 华为技术有限公司 视频编解码方法、装置及系统

Also Published As

Publication number Publication date
JP5979405B2 (ja) 2016-08-24
JP2012191513A (ja) 2012-10-04
BR112013022672A2 (pt) 2019-09-24
US9177392B2 (en) 2015-11-03
CN103404149A (zh) 2013-11-20
US20130343663A1 (en) 2013-12-26

Similar Documents

Publication Publication Date Title
JP5979405B2 (ja) 画像処理装置および方法
US10110920B2 (en) Image processing apparatus and method
JP6274103B2 (ja) 画像処理装置および方法
WO2011125411A1 (ja) 画像処理装置および方法
US20230247217A1 (en) Image processing apparatus and method
WO2013058363A1 (ja) 画像処理装置および方法
WO2013002109A1 (ja) 画像処理装置および方法
JP2012244353A (ja) 画像処理装置および方法
WO2012173022A1 (ja) 画像処理装置および方法
WO2013084775A1 (ja) 画像処理装置および方法
WO2012005194A1 (ja) 画像処理装置および方法
JP6508553B2 (ja) 画像処理装置および方法
WO2013054751A1 (ja) 画像処理装置および方法
WO2012157488A1 (ja) 画像処理装置および方法
WO2013002105A1 (ja) 画像処理装置および方法
JP2016197907A (ja) 画像処理装置および方法
WO2012096228A1 (ja) 画像処理装置および方法
JP2016201831A (ja) 画像処理装置および方法

Legal Events

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

Ref document number: 12757709

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14003063

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112013022672

Country of ref document: BR

122 Ep: pct application non-entry in european phase

Ref document number: 12757709

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 112013022672

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20130904