WO2007136088A1 - 画像符号化装置、画像符号化方法、及び画像符号化用集積回路 - Google Patents

画像符号化装置、画像符号化方法、及び画像符号化用集積回路 Download PDF

Info

Publication number
WO2007136088A1
WO2007136088A1 PCT/JP2007/060516 JP2007060516W WO2007136088A1 WO 2007136088 A1 WO2007136088 A1 WO 2007136088A1 JP 2007060516 W JP2007060516 W JP 2007060516W WO 2007136088 A1 WO2007136088 A1 WO 2007136088A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
image
predicted image
information
processing
Prior art date
Application number
PCT/JP2007/060516
Other languages
English (en)
French (fr)
Inventor
Hiroshi Amano
Takeshi Tanaka
Masaki Maeda
Kenjiro Tsuda
Masayasu Iguchi
Youji Shibahara
Original Assignee
Panasonic Corporation
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=38723398&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2007136088(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Panasonic Corporation filed Critical Panasonic Corporation
Priority to US12/301,630 priority Critical patent/US20090110077A1/en
Priority to EP07743950.3A priority patent/EP2026585A4/en
Priority to CN2007800189789A priority patent/CN101455087B/zh
Priority to JP2008516716A priority patent/JPWO2007136088A1/ja
Publication of WO2007136088A1 publication Critical patent/WO2007136088A1/ja
Priority to US14/555,825 priority patent/US9667972B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/43Hardware specially adapted for motion estimation or compensation
    • 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
    • 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

Definitions

  • Image coding apparatus image coding method, and integrated circuit for image coding
  • the present invention relates to an image encoding apparatus that compresses and encodes an image, and more particularly, to a high-speed key for compression encoding processing.
  • the MPEG4AVC Motion Pictures Experts Group 4 Advanced Video Coding
  • a skip mode and a spatial direct mode as encoding modes.
  • an image (hereinafter referred to as “encoding target image”) that is subject to compression encoding (hereinafter also referred to simply as “encoding”) is converted into a macroblock of a predetermined size, for example, 16 ⁇ 16 pixels.
  • encoding target block the motion vector of the current macro block
  • encoding target block the same encoding target block used for prediction of the encoding target block
  • a reference image number (hereinafter referred to as “motion information”) for identifying a reference image of a size, and a motion of a plurality of macroblocks (hereinafter referred to as “adjacent blocks”) adjacent to the target block. Calculate based on information. Then, based on the calculated motion information, the difference information between the prediction image of the encoding target block and the original image of the encoding target block predicted is encoded.
  • skip mode etc. since the motion information of the macroblock coded in the skip mode or the spatial direct mode (hereinafter also referred to as “skip mode etc.”) can be calculated from the motion information of the adjacent block at the time of decoding, In other words, since it is not necessary to code the motion information of the target block, only the difference information between the predicted image of the target block and the original image needs to be encoded. By doing so, the amount of codes can be reduced.
  • the first stage for calculating motion information when the pipeline stage is sequentially encoded for each macroblock by the skip mode etc. and the macroblock for which the processing of the first stage has been completed by the skip mode etc. starts processing of the first stage for the block to be encoded when it is configured separately from the second stage that determines whether or not to code by skip mode, etc., based on the code amount when code is input.
  • the processing of the second stage for all adjacent blocks for the code target block must be completed.
  • the code mode is not determined for each adjacent block. It will be.
  • the motion information for each adjacent block since the motion information for each adjacent block has not been determined, the motion information cannot be calculated in the skip mode or the like for the code target block in the first stage.
  • Patent Document 1 As a technique for solving this problem, for example, there is an image encoding device disclosed in Patent Document 1. Hereinafter, the image coding apparatus in Patent Document 1 will be described.
  • An image encoding device in Patent Document 1 is an image encoding device that encodes an encoding target image in parallel by a noopline in units of macroblocks, and is an upper left macro of the encoding target image. Process one line from the block in the horizontal direction, proceed to the next line, and process in sequence up to the bottom right macroblock.
  • the image encoding device in Patent Document 1 is one of the adjacent blocks, which is the left macroblock of the encoding target block (hereinafter referred to as “previous block” t). If the motion information of the previous block has been calculated, the motion information of the left block of the previous block (hereinafter referred to as the “neighboring block”) has been calculated instead of the previous block. Is used to generate motion information in the skip mode of the target block for encoding.
  • Patent Document 1 Japanese Patent No. 3879741
  • the present invention has been made in view of the above problems, and provides an image coding apparatus capable of achieving high-speed coding process by a method different from the conventional one.
  • an image encoding device is an image encoding device that performs compression encoding on a block-by-block basis of a predetermined size.
  • First processing means for sequentially generating predicted image candidate specifying information for specifying a predicted image candidate of the block based on the predicted image candidate specifying information of the previous block processed before the block.
  • the prediction image of the block for which the processing by the first processing means has been completed is indicated by the prediction image candidate specifying information of the block.
  • a difference signal to be reflected in the compression-coded result based on the prediction image specifying information for specifying one prediction image selected for the previous block of the block.
  • Outputs a difference signal between one prediction image and the original image selected characterized in that it comprises a second processing means for generating a predicted image specifying information for specifying one of the predicted image selected.
  • an image encoding method by an image encoding device is an image encoding method for compressing and encoding an image in units of blocks of a predetermined size.
  • First processing for sequentially generating predicted image candidate specifying information for specifying a predicted image candidate of the block based on the predicted image candidate specifying information of the previous block processed before the block.
  • Step and the first processing step In parallel with the processing of one block, the predicted image of the block for which the processing by the first processing step has been completed is represented by the predicted image candidate identification information of the block.
  • a second processing step that outputs a difference signal between the one predicted image and the original image, and generates predicted image specifying information for specifying the selected one predicted image.
  • a computer program used in the image coding apparatus performs a compression code key process for compressing a code in units of blocks of a predetermined size.
  • the processing by the first processing step is performed. For completed blocks!
  • the image coding integrated circuit used in the image coding apparatus is an image code that performs compression coding on a block of a predetermined size.
  • Prediction circuit candidate specifying information for specifying a candidate for a predicted image of the block sequentially for each block as a processing target, and specifying a predicted image candidate for a previous block processed before the block The first processing means generated based on the information and the block for which processing by the first processing means has been completed in parallel with the processing of one block by the first processing means! /
  • One predicted image is selected from the predicted image candidates indicated by the predicted image candidate identification information of the block with respect to the previous block of the block.
  • a difference signal between the selected predicted image and the original image is output as a difference signal to be reflected in the compression encoding result.
  • second processing means for generating predicted image specifying information for specifying one selected predicted image.
  • the block having a predetermined size is a macroblock of n ⁇ n pixels, for example, 16 ⁇ 16 pixels, and the predicted image is an image having the same size as each block.
  • the predicted image candidate specifying information of the block is used as the predicted image candidate specifying information of the previous block.
  • the second processing means generates a predicted image for one block for which the processing by the first processing means has been completed.
  • each block is preceded by the first processing means at the start of processing. Even if a predicted image for a block has not been determined, the compression code processing for that block can be started.
  • the sign key process can be started without waiting for the determination of the prediction image of the previous block of the block, so that a high speed key sign process can be realized.
  • the predicted image candidate specifying information of each block is based on the motion information candidates of the previous block.
  • the motion information generated in this way becomes possible, and the coding mode in the skip mode and the spatial direct mode in MPEG4AVC becomes possible, and the amount of codes can be suppressed.
  • the image encoding device compresses and encodes sequentially input images, and for each block, the predicted image candidate specifying information of the block is detected by searching for another image. Specific information for specifying a predicted image candidate generated based on the motion vector may be included.
  • the predicted image candidate specifying information includes specifying information for specifying a predicted image in inter-screen prediction (inter mode).
  • the predicted image candidate identification information of the block is
  • Specific information for specifying a predicted image candidate generated based on motion vectors of a plurality of adjacent blocks including the previous block at a predetermined position with respect to the block may be included.
  • the predicted image candidate indicated by the predicted image candidate specifying information includes a skip mode and a spatial direct mode. Since the prediction image in the case where the code is input by is included, the amount of code can be suppressed when this prediction image is selected.
  • the image encoding apparatus further sequentially specifies each block as a processing target, and specifies specific information for specifying a predicted image candidate generated based on a pixel value of a pixel at a predetermined position with respect to the block.
  • a third processing means to be included in the specific information wherein the second processing means is a prediction image of a block for which the processing by the first processing means has been completed, and a prediction in which the third processing means includes the specific information It is also possible to select from the predicted image candidates indicated by the image candidate identification information.
  • the predicted image candidate specifying information Specific information for specifying a candidate for a predicted image in intra prediction (intra mode) is included.
  • the predicted image candidate specifying information may be generated based on predicted image specifying information of a block that has been processed by the second processing means.
  • the block to be processed by the first processing means is MBn
  • the block to be processed by the second processing means is MBn-1
  • the block that has been processed by the second processing means is MBn-2
  • MBn The predicted image candidate identification information is generated based on the predicted image candidate identification information of MBn-1 that is generated based on the prediction image candidate identification information of MBn-2.
  • the predicted image candidate specifying information of the block may be generated based on information specifying only a part of the predicted image candidates of the previous block of the block.
  • the prediction image candidate specifying information of the encoding target block is generated based on the information specifying only a part of the prediction image candidates of the previous block, and therefore the prediction image indicated by the prediction image candidate specifying information
  • the processing load on the image coding apparatus can be reduced.
  • the image encoding device performs processing by a pipeline constituted by two pipeline stage forces of a first stage and a second stage
  • the first processing means A motion detection unit that generates the predicted image candidate specifying information including specific information for specifying a predicted image candidate generated based on the motion vector of the block detected by sequentially searching for another image as a processing target. And motion vector speculation that includes, in the predicted image candidate specifying information, specific information for specifying predicted image candidates generated based on motion vectors of a plurality of adjacent blocks including the previous block at a predetermined position with respect to the block.
  • a calculation unit and executes the process of the first stage, wherein the second processing means is for the predicted image indicated by the predicted image candidate specifying information.
  • a motion vector determining unit that narrows down predicted image candidates indicated by the specific information generated by the motion vector speculative calculating unit based on predicted image specifying information about the previous block, and the motion vector determining unit Are predicted image candidates and the predicted image candidate specifying information Among the predicted image candidates to be displayed, the predicted image for the block for which the processing by the first processing means has been completed is selected from the predicted image candidates indicated by the specific information generated by the motion detection unit, and the result of compression encoding is selected.
  • a mode determination unit that outputs a difference signal between the selected one predicted image and the original image as a difference signal to be reflected and generates predicted image specifying information for specifying the selected one predicted image.
  • the second stage process may be executed.
  • the predicted image candidate specifying information generated by the first processing means includes the block of the block generated by the motion vector speculation calculation unit based on the predicted image candidate specifying information of the previous block.
  • the motion vector determining unit in the second processing means selects the predicted image candidate of the block indicated by the specific information generated by the motion vector speculative calculating unit.
  • the predicted image candidate specific information generated by the first processing means includes the specific information generated by the motion detector, and the second processing means
  • the mode determination unit includes prediction image candidates narrowed down by the motion vector determination unit and prediction image candidates indicated by the specific information generated by the motion detection unit among prediction image candidates indicated by the prediction image candidate specific information.
  • a compressed code with a reduced code amount can be obtained.
  • FIG. 1 is a diagram for explaining a flow of pipeline processing of an image coding apparatus 100 according to Embodiment 1 of the present invention.
  • FIG. 2 is a functional configuration diagram of an image encoding device 100 according to Embodiment 1 of the present invention.
  • FIG. 3 is a flowchart showing the operation of the image coding apparatus 100 according to Embodiment 1 of the present invention.
  • FIG. 4 is a functional configuration diagram of an image coding device 200 according to Embodiment 2 of the present invention.
  • FIG. 5 is a flowchart showing processing of the image coding apparatus 200 according to Embodiment 2 of the present invention. Is.
  • FIG. 6 is a diagram for explaining a relationship between a code key target block and adjacent pixels.
  • FIG. 7 is a diagram for explaining the relationship between a code key target block and an adjacent block.
  • the image coding apparatus complies with the MPEG4AVC standard, and performs a nopline process on a coding target image in units of macroblocks of a predetermined size (for example, 16 ⁇ 16 pixels). This is an improvement of an image encoding device that encodes by reason.
  • the image coding apparatus selects, for each macroblock, a code key mode that minimizes the code amount among three code key modes of an intra mode, an inter mode, and a skip mode. Then, the macro block is encoded according to the selected code mode.
  • Intra mode refers to the prediction image of the code target block based on the pixel value of the pixel adjacent to the code target block (hereinafter referred to as “adjacent pixel”) that is the macro block of the code target.
  • adjacent pixel the pixel value of the pixel adjacent to the code target block
  • This is an encoding mode in which difference information between the generated predicted image and the original image of the encoding target block is encoded.
  • FIG. 6 is a diagram for explaining the relationship between the code target block and adjacent pixels.
  • the adjacent pixels refer to 16 pixels (pixels in the figure A) of the left macroblock of the target block shown in the figure and 16 pixels (pixels in the figure B) of the upper macroblock.
  • the prediction image is generated by selecting one prediction mode from a plurality of prediction modes (vertical prediction, horizontal prediction, etc.), and pixel values in adjacent pixels corresponding to the selected prediction mode, that is, for each prediction mode. This is performed using pixel values in different adjacent pixels.
  • the prediction image is generated on the assumption that the pixel values of the pixels in each column of the encoding target block are equal to the pixel values of the pixels in Fig. B in the same column. .
  • the method for selecting a prediction mode is a conventional technique and will not be described in detail.
  • a method for selecting a prediction mode based on the prediction mode of surrounding macroblocks can be used.
  • Inter mode refers to a relative position to a block similar to the encoding target block by searching for an image different from the encoding target image including the encoding target block (hereinafter referred to as "search area image").
  • search area image An image different from the encoding target image including the encoding target block
  • a motion vector for indicating the target block is generated, a prediction image of the target block is generated based on motion information including the detected motion vector and a reference image number indicating a search region image, and the generated prediction image and encoding are generated.
  • This is a sign key mode for signing difference information from the original image of the target block and motion information.
  • the skip mode is a method of calculating motion information of a coding target block using motion information of an adjacent block that is a plurality of macro blocks adjacent to the coding target block, and based on the calculated motion information.
  • This is a coding mode in which a prediction image of the encoding target block is generated and difference information between the generated prediction image and the original image of the encoding target block is encoded.
  • the skip mode only the difference information is encoded and there is no need to encode the motion information, so that the amount of codes can be suppressed.
  • FIG. 7 is a diagram for explaining the relationship between a code key target block and an adjacent block.
  • the adjacent blocks are blocks B to D.
  • block A is replaced with block C and block A is adjacent to block E. If all motion information of blocks A to C cannot be used, for example, all of the above are not present in the encoding target image, only block D is the adjacent block of block E. In the following, the left block D of the encoding target block E is referred to as “previous block”.
  • the motion vector of block E is the median of the horizontal and vertical components of each motion vector of blocks B to D! (Median) is taken and asked. If there is a macroblock whose code mode is intra mode in adjacent blocks, the motion vector of block E is calculated assuming that the motion vector of the macroblock is “0”.
  • the reference image in the skip mode of block E is an image displayed immediately before the encoding target image including block E, and the reference image number is “0”.
  • the reference image number is a number indicating the position of the reference image relative to the encoding target image including the encoding target block in the display order, and the display order is farther from the encoding target image. A large reference image number is assigned.
  • FIG. 1 is a diagram for explaining a flow of pipeline processing of the image coding apparatus according to the first embodiment.
  • the image coding apparatus selects a code key mode that minimizes the code amount for each macroblock, and codes the macroblock using the selected code key mode for the encoding target image. It processes one line in the horizontal direction from the upper left macroblock of the image to be encoded, moves to the next line, and sequentially processes up to the upper right macroblock.
  • the processing of the image coding apparatus according to Embodiment 1 is configured by a four-stage pipeline from the first stage to the fourth stage, and each time slot (TS1, TS2, In TS3, TS4,...), Processing in each pipeline stage is performed in parallel.
  • MBn is encoded according to the MBn code mode determined in the second stage, and an encoded stream is generated.
  • the motion information of MBn-1 that is the previous block of MBn is required, but the code key mode of MBn-1 is the second one. Determined by completion of stage processing.
  • the motion information corresponding to the MBn-1 encoding mode determined from the three motion information candidates in the MBn skip mode calculated in the first stage is used as the motion information in the MBn skip mode.
  • a prediction image in the MBn skip mode is generated, and difference information between the generated prediction image and the MBn original image is calculated.
  • MBn intra-mode and inter-mode prediction images are generated, respectively, and difference information between each prediction image and the MBn original image is calculated.
  • the prediction image in the MBn inter mode is generated based on the motion information detected in the first stage.
  • the code amount in each coding mode is calculated from the difference information in each coding mode.
  • the code key mode with the smallest code amount is calculated and determined as the code key mode in MBn.
  • the image coding apparatus can start the process of the coding target block without waiting for the determination of the motion information of the previous block. Therefore, it is possible to carry out code encoding in the skip mode with respect to the block to be encoded while maintaining encoding, so that the code encoding amount can be suppressed.
  • FIG. 2 is a functional configuration diagram of the image encoding device 100.
  • the image coding apparatus 100 includes a motion detection unit 101, a motion vector speculative calculation unit 102, a first motion compensation unit 103, a motion vector determination unit 104, a second motion compensation unit 105, an intra Prediction unit 106, mode determination unit 107, orthogonal transformation unit 108, quantization unit 109, inverse quantization unit 1 10, inverse orthogonal transformation unit 111, addition unit 112, deblock filter unit 113, variable length coding unit 1 14, A DMA controller 115 and an external memory 116 are included.
  • the image encoding apparatus 100 includes! /, Na! /, which includes a CPU (Central Processing Unit) and an internal memory, and includes the above-described motion detection unit 101, motion vector speculation calculation unit 102, First motion compensation unit 103, motion vector determination unit 104, second motion compensation unit 105, intra prediction unit 106, mode determination unit 107, orthogonal transform unit 108, quantization unit 109, inverse quantization unit 110, inverse orthogonal transform
  • the functions of the unit 111, the adding unit 112, the deblock filter unit 113, and the variable length code unit 114 are realized by causing the CPU to execute a program stored in the internal memory.
  • the process of motion detector 101 and the process of motion vector speculative calculator 102 are in the first stage, the process of first motion compensator 103 and the process of motion vector determiner 104.
  • the processing of the second motion compensation unit 105, the processing of the intra prediction unit 106, and the processing of the mode determination unit 107 are in the second stage, the processing of the orthogonal transformation unit 108, the processing of the quantization unit 109, and the dequantization unit 110.
  • the process of the inverse orthogonal transform unit 111 and the process of the adder 112 are in the third stage, and the process of the deblock filter unit 113 and the process of the variable length code unit 114 are in the fourth stage. Make up line.
  • the first stage processing corresponds to the first processing means in the present invention
  • the second stage processing corresponds to the second processing means and the third processing means in the present invention.
  • the motion detection unit 101 detects the motion vector in the inter mode for the code key block, and includes the detected motion vector and a reference image number indicating the search region image used for motion vector detection. It has a function of sending motion information to the motion vector speculation calculation unit 102 and the first motion compensation unit 103.
  • the motion detection unit 101 transmits an original image of a coding target block (for example, a 16 ⁇ 16 pixel macroblock) and a search area image that is a search target of a motion vector via the DMA controller 115.
  • a coding target block for example, a 16 ⁇ 16 pixel macroblock
  • a search area image that is a search target of a motion vector
  • motion vector detection it is possible to detect motion vectors with decimal pixel accuracy (1Z2 pixel accuracy, 1Z4 pixel accuracy). However, for convenience of explanation, it is assumed that a motion vector of an integer pixel system is detected. explain.
  • the search area image is a decoded image after the deblocking process stored in the external memory 116 by the deblocking filter unit 113 to be described later.
  • the encoding target image including the encoding target block It is assumed that this is a decoded image for the previous image.
  • the motion detection unit 101 uses the detected motion vector and the reference image number indicating the search area image, that is, the motion information as the motion vector speculative calculation unit 102 and the first motion compensation unit 103. To send.
  • the motion vector speculation calculation unit 102 calculates a motion information candidate in the skip mode for the code target block, and sends the calculated motion information candidate of the code target block to the motion vector determination unit 104. Have.
  • the motion vector speculative calculation unit 102 stores the motion information of the adjacent blocks other than the previous block of the encoding target block and the encoding mode stored in the internal memory by the mode determination unit 107 described later. If it is determined, motion information candidates of the target block of code key are calculated based on the motion information for all the code modes that can be selected by the previous block.
  • the motion vector power of the adjacent block including the previous block is assumed to be 0. Is calculated. In the following, the motion information calculated assuming that the previous block force S intra mode is called “ml”.
  • the motion vector in the previous block's inter mode received from the motion detection unit 101 and other adjacent blocks As for the motion vector force of the lock the motion vector of the target block is calculated.
  • the motion information calculated on the assumption that the sign block mode force S inter-mode of the previous block is called “m2”.
  • the previous block's code mode is the skip mode
  • the previous block also has three motion information candidates in the skip mode.
  • the motion vector speculation calculation unit 102 uses the mode information indicating the code mode determined for the macroblock on the left of the previous block, received from the mode determination unit 107 described later, in the skip mode of the previous block. From the three motion information candidates, one motion vector corresponding to the code mode determined for the left macroblock of the previous block is selected as the motion vector in the previous block skip mode, and the selected previous block is skipped.
  • the motion vector of the target block is calculated from the motion vector of the motion information in the mode and the motion vector of other adjacent blocks.
  • the motion information calculated on the assumption that the code mode of the previous block is the skip mode is referred to as “m3”.
  • the motion vector speculation calculation unit 102 stores motion information candidates (ml to m3) calculated for the encoding target block in the internal memory.
  • the stored motion information candidates (ml to m3) are used to calculate m3 motion information for the next macroblock to be processed.
  • the motion speculation calculation unit 102 reads each reference image indicated by the calculated motion information candidates (ml to m3) from the external memory 116 to the internal memory via the DMA controller 115. This reference image is used by the second motion compensation unit 105 for a predicted image generation process in the skip mode of the encoding target block described later.
  • the first motion compensation unit 103 generates a prediction image based on the motion information in the inter mode of the coding target block received from the motion detection unit 101, and encodes the prediction image and the coding stored in the internal memory. It has a function of calculating difference information from the original image of the target block and sending the predicted image, difference information, and motion information to the mode determination unit 107.
  • the block indicated by the motion vector is set as the predicted image by comparing with the search region image indicated by the reference image number received from the motion detecting unit 101.
  • the motion vector determination unit 104 receives the mode information received from the mode determination unit 107 described later.
  • the motion information speculation calculation unit 102 receives one motion information corresponding to the previous block's sign key mode, and selects three motion information candidate (ml to m3) forces in the skip mode of the target block. It has a function to send the motion information in the skip mode of the selected code target block to the second motion compensation unit 105.
  • m2 is sent to the second motion compensation unit 105 as motion information in the skip mode of the code block target block.
  • the second motion compensation unit 105 generates a prediction image based on the motion information in the skip mode of the encoding target block received from the motion vector determination unit 104, and encodes the prediction image and the encoded image stored in the internal memory. It has a function of calculating difference information from the original image of the target block, and sending the motion information in the skip mode received from the predicted image, the difference information, and the motion vector determination unit 104 to the mode determination unit 107.
  • the reference image indicated by the motion information received from the motion vector determination unit 104 is used as the predicted image.
  • the intra prediction unit 106 reads the image of the adjacent pixel of the encoding target block from the external memory 116 to the internal memory via the DMA controller 115, and based on the pixel value of the adjacent pixel, the intra prediction block 106 A prediction image is generated in the mode, difference information between the prediction image and the original image of the target block stored in the internal memory is calculated, and the prediction image, the difference information, and the prediction mode used to generate the prediction image are shown. It has a function of sending prediction mode information to the mode determination unit 107.
  • the image of the adjacent pixel that the intra prediction unit 106 reads from the external memory 116 is a decoded image that is stored in the external memory 116 by the addition unit 112 described later.
  • the mode determination unit 107 includes the difference information in the inter mode received from the first motion compensation unit 103, the difference information in the skip mode received from the second motion compensation unit 105, and the difference information in the intra mode received from the intra prediction unit 106. Based on the above, there is a function for determining the code key mode with the minimum code amount as the code key mode of the code key target block. Note that the code amount for encoding in the inter mode considers not only the above difference information but also the code amount of motion information. [0059] Further, the mode determination unit 107 sends mode information indicating the determined encoding mode to the motion vector speculative calculation unit 102 and the motion vector determination unit 104, so that the determined code mode is determined.
  • the difference information is sent to the orthogonal transform unit 108, the predicted image for the determined code mode is sent to the adder 112, and the mode information is sent to the variable length coding unit 114 as information according to the determined coding mode (The motion information when the inter mode is determined and the prediction mode information when the intra mode is determined are transmitted.
  • the mode determination unit 107 stores motion information (motion information in the inter mode or motion information in the skip mode) corresponding to the determined code mode in the internal memory.
  • the orthogonal transform unit 108 has a function of performing orthogonal transform processing such as discrete cosine transform on the difference information received from the mode determination unit 107 and sending coefficient information as a processing result to the quantization unit 109.
  • Quantization section 109 has a function of performing quantization processing on the coefficient information received from orthogonal transform section 108 and sending the quantized coefficient information to inverse quantization section 110 and variable length coding section 114. .
  • the inverse quantization unit 110 has a function of performing an inverse quantization process on the quantized coefficient information received from the quantization unit and sending the coefficient information as a processing result to the inverse orthogonal transform unit 111. .
  • the inverse orthogonal transform unit 111 has a function of performing inverse orthogonal transform processing on the coefficient information received from the inverse quantization unit 110 and sending difference information as a processing result to the addition unit 112.
  • the adding unit 112 adds the predicted image received from the mode determining unit 107 and the difference information received from the inverse orthogonal transform unit 111, generates a decoded image of the encoding target block, and deblocks the generated decoded image. It has a function of sending to the filter unit 113 and storing in the external memory 116 via the DMA controller 115.
  • the deblock filter unit 113 performs a block distortion removal process (hereinafter referred to as "deblock process”) by the deblock filter on the decoded image received from the adder unit 112, and after the debuck process
  • the decoding image is stored in the external memory 116 via the DMA controller 115.
  • the variable-length code unit 114 performs variable-length coding processing and arithmetic coding processing on the quantized coefficient information received from the quantization unit 109, and sends the coded stream after processing to the DMA controller 115. Via the external memory 116. Note that the mode information received from the mode determination unit 107 and the information corresponding to the determined code mode are used to generate a header in the encoded stream.
  • the DMA controller 115 is a general DMA controller that arbitrates access requests to the external memory 116 from each unit and transfers data between the external memory 116 and the internal memory.
  • FIG. 3 is a flowchart showing the operation of the image encoding device 100.
  • Each pipeline stage from the first stage to the fourth stage processes different macroblocks in parallel for processing.
  • the operation of the image coding apparatus 100 in the first stage will be described.
  • the processing of the motion detection unit 101 (steps S01 to 03) described below and the processing of the motion vector speculation calculation unit 102 (steps S04 and 05) are executed in parallel.
  • the motion detection unit 101 reads the original image of the encoding target block and the search area image that is the search target of the motion vector from the external memory 116 to the internal memory via the DMA controller 115 (steps SO 1 and S02).
  • the motion detection unit 101 detects a motion vector by searching for a macroblock having the highest similarity to the original image of the target block of the search area image and the encoding target block (step S03), and performs the first motion compensation.
  • the motion vector and the reference image number indicating the search area image, that is, the motion information are transmitted to the unit 103.
  • the motion vector speculation calculation unit 102 assumes the code mode of the previous block of the current block to be encoded as the intra mode, the inter mode, and the skip mode, and the code key target for each assumption.
  • Block motion information candidates (ml to m3) are calculated (step S04), and the calculated motion information candidates (ml to m3) are sent to the motion vector determination unit 104.
  • the motion vector speculative calculation unit 102 reads the reference images indicated by the motion information candidates (ml to m3) from the external memory 116 to the internal memory via the DMA controller 115 (step S05).
  • step S06 and 07 the processing of the first motion compensation unit 103 (steps S06 and 07) described below, the processing of the motion vector determination unit 104 and the second motion compensation unit 105 (steps S08 to S10), and The processing of the intra prediction unit 106 (steps Sl 12 and 12) is executed in parallel.
  • the first motion compensation unit 103 generates a prediction image of the coding target block in the inter mode based on the motion information received from the motion detection unit 101 (step S06).
  • the first motion compensation unit 103 calculates difference information between the generated predicted image and the original image of the coding target block stored in the internal memory (step S07), and calculates the calculated difference information and the generated
  • the predicted image and the motion information received from the motion detection unit 101 are sent to the mode determination unit 107.
  • the motion vector determination unit 104 determines the motion corresponding to the coding mode indicated by the mode information of the previous block received from the mode determination unit 107 from the motion information candidates (ml to m3) received from the motion vector speculation calculation unit 102.
  • the information is selected as motion information in the skip mode of the encoding target block (step S08), and the selected motion information is sent to the second motion compensation unit 105.
  • second motion compensation unit 105 Based on the motion information received from motion vector determination unit 104, second motion compensation unit 105 generates a prediction image of the code target block in the skip mode (step S09). The second motion compensation unit 105 calculates difference information between the generated predicted image and the original image of the coding target block stored in the internal memory (step S10), and calculates the calculated difference information and the generated prediction The motion information in the skip mode received from the image and the motion vector determination unit 104 is sent to the mode determination unit 107.
  • the intra prediction unit 106 reads an image of an adjacent pixel of the encoding target block from the external memory 116 to the internal memory via the DMA controller 115, and encodes the target of the encoding based on the pixel value of the adjacent pixel. Generate a prediction image in the intra mode of the block (step Sl l).
  • the intra prediction unit 106 calculates difference information between the generated predicted image and the original image of the coding target block stored in the internal memory (step S12), and calculates the calculated difference information, the generated predicted image, and The prediction mode information is sent to the mode determination unit 107.
  • the mode determination unit 107 determines each code mode (inter mode, skip mode, intra mode) based on the difference information received from the first motion compensation unit 103, the second motion compensation unit 105, and the intra prediction unit 106, respectively.
  • the code key mode that minimizes the code key amount is determined as the code key mode of the block to be encoded (step S13).
  • the mode determination unit 107 determines the mode information indicating the determined code key mode in the motion vector speculative calculation unit 102 and the motion vector determination unit 104, and determines the difference information in the determined code key mode in the orthogonal transform unit 108.
  • the prediction image in the encoded mode is added to the adder 112 and the information corresponding to the mode information and the determined code mode (the motion information when the inter mode is determined or the prediction mode when the intra mode is determined). Information) is sent to the variable length code section 114.
  • the orthogonal transform unit 108 performs orthogonal transform processing such as discrete cosign transform on the difference information received from the mode determination unit 107, and sends coefficient information as a processing result to the quantization unit 109 (step S14).
  • the quantization unit 109 performs a quantization process on the coefficient information received from the orthogonal transform unit 108, and sends the quantized coefficient information to the inverse quantization unit 110 and the variable length coding unit 114 (step S15). .
  • the inverse quantization unit 110 performs an inverse quantization process on the quantized coefficient information received from the quantization unit !, and sends the coefficient information as a processing result to the inverse orthogonal transform unit 111 (step S16), the inverse orthogonal transform unit 111 performs an inverse orthogonal transform process on the coefficient information received from the inverse quantization unit 110, and sends the difference information as the processing result to the adder unit 112 (step S17).
  • the adding unit 112 adds the predicted image received from the mode determining unit 107 and the difference information received from the inverse orthogonal transform unit 111, and generates a decoded image of the encoding target block (step S18).
  • the decoded image is sent to the deblock filter unit 113 and stored in the external memory 116 via the DMA controller 115.
  • the deblock filter unit 113 performs a deblocking process on the decoded image received from the adding unit 112 (step S 19), and the decoded image after the deblocking process is transferred to the external memory 116 via the DMA controller 115. (Step S20).
  • variable-length code unit 114 performs variable-length coding processing and arithmetic coding processing on the quantized coefficient information received from the quantization unit 109 (step S21).
  • the data is stored in the external memory 116 via the DMA controller 115 (step S22).
  • motion information in the skip mode of the encoding target block is generated using the motion information of other neighboring blocks instead of the previous block. If the motion information of the previous block and the motion information of neighboring blocks that are determined later are different, the problem that the sign key in the skip mode is not possible There is.
  • the image encoding device 100 can select all the blocks preceding the encoding target block. Based on the motion information, the motion information candidate in the skip mode of the encoding target block is calculated, and after determining the motion information of the previous block, one motion information corresponding to the determined motion information of the previous block is calculated from the calculated motion information effect. The motion information is selected as motion information in the skip mode of the encoding target block.
  • the motion vector speculative calculation unit 102 performs the encoding based on the motion information for each of all the code modes (intra mode, inter mode, skip mode) that can be selected by the previous block. All motion information candidates in the block skip mode are calculated, and all reference images indicated by the motion information candidates are acquired.
  • the processing time of the motion vector speculative calculation unit 102 is: In particular, the reference image transfer processing time is increased, and a large-capacity internal memory for storing all the reference images is required.
  • the motion vector speculative calculation unit includes, among the encoding modes that can be selected by the previous block, a code mode that is effective for improving image quality and code key efficiency, specifically, an inter mode. Based on only motion information for the skip mode, motion information candidates in the skip mode of the encoding target block are calculated, and a reference image indicated by each motion information candidate is acquired.
  • the processing time of the motion vector speculative calculation unit, particularly the reference image transfer processing time can be suppressed, and the capacity of the internal memory can be reduced.
  • FIG. 4 is a functional configuration diagram of the image encoding device 200.
  • the image coding apparatus 200 includes a motion detection unit 101, a first motion compensation unit 103, a second motion compensation unit 105, an intra prediction unit 106, an orthogonal transform unit 108, a quantization unit 109, an inverse Quantization unit 110, inverse orthogonal transform unit 111, addition unit 112, deblock filter unit 113, variable length coding unit 114, DMA controller 115, external memory 116, motion vector speculation calculation unit 201, confirmation unit 202, motion A vector determination unit 203 and a mode determination unit 204 are included.
  • the image coding apparatus 200 includes a CPU (Central Processing Unit) and an internal memory, and the motion vector speculative calculation unit 201, the confirmation unit 202, the motion vector determination unit 203, the mode determination described above.
  • Each function of the unit 204 is realized by causing the CPU to execute a program stored in the internal memory.
  • the process of motion vector speculative execution unit 401 includes the first stage, the process of confirmation unit 202, the process of motion vector determination unit 203, and the process of mode determination unit 204.
  • the pipeline is configured to correspond to two stages.
  • the motion vector speculation calculation unit 201 basically has the same function as the motion vector speculation calculation unit 102 of the image encoding device 100, but the code block that can be selected by the previous block for which motion information is not determined.
  • motion information candidates (m2, m3) of the target block for code encoding are calculated based on the motion information for the inter mode and the skip mode, and are sent to the motion vector determining unit 203 and calculated. This is different from the motion vector speculation calculation unit 102 in that each reference image indicated by the motion information candidate (m2, m3) is read from the external memory 116 to the internal memory via the DMA controller 115.
  • Confirmation section 202 confirms whether the encoding mode indicated by the mode information of the previous block received from mode determination section 204 is the inter mode or the skip mode, and confirms with motion vector determination section 203 and mode determination section 204. It has a function to send confirmation result information indicating the result.
  • the motion vector determination unit 203 basically has the same function as the motion vector determination unit 104 of the image coding apparatus 100, but the confirmation result information received from the confirmation unit 202 indicates.
  • the recognition result indicates that the code mode of the previous block is not the inter mode or the skip mode, that is, the intra mode, the motion information in the skip mode of the code target block is not selected. This is different from the vector determination unit 104 in that respect.
  • Mode determination unit 204 basically has the same function as mode determination unit 107 of image coding apparatus 100, but the confirmation result indicated by the confirmation result information received from confirmation unit 202 is the previous block.
  • the mode determination unit 107 determines that a mode other than the skip mode is determined as the code mode of the block to be encoded when it indicates that the encoding mode is not the inter mode or the skip mode, that is, the mode is the intra mode. Is different.
  • the difference information in the inter mode received from the first motion compensation unit 103 and the difference information in the intra mode received from the intra prediction unit 106 Based on the above, the code mode having a smaller code amount of the inter mode and the intra mode is determined as the encoding mode of the block to be encoded.
  • FIG. 5 is a flowchart showing the operation of the image encoding device 200.
  • the processes in steps S01 to S22 shown in the figure are the same as those of the image coding apparatus 100 according to Embodiment 1 shown in FIG. Only the point will be explained.
  • the motion vector speculative calculation unit 201 interpolates the code key mode of the block preceding the code key target block. Mode and skip mode are assumed, and the motion information candidates (m2, m3) of the target block are calculated (step S31), and the calculated motion information candidates (m2, m3) Is sent to the motion vector determination unit 203.
  • the motion vector speculative calculation unit 201 reads the reference images indicated by the motion information candidates (m2, m3) from the external memory 116 to the internal memory via the DMA controller 115 (step S32).
  • the confirmation unit 202 starts from the mode determination unit 107. It is confirmed whether or not the sign key mode force inter mode or skip mode indicated by the received previous block mode information is confirmed (step S33), and the confirmation result information indicating the confirmation result is determined by the motion vector determination unit 203 and the mode determination. Send to part 204.
  • the motion vector determination unit 203 receives from the mode determination unit 107.
  • the motion information corresponding to the code mode indicated by the mode information of the previous block is used as motion information in the skip mode of the block to be encoded from the motion information candidates (m2, m3) received from the motion vector speculative calculation unit 201.
  • Select step S34, and send the selected motion information to the second motion compensation unit 105.
  • the second motion compensation unit 105 generates a prediction image of the encoding target block in the skip mode (step S09), and generates a prediction image and an original of the encoding target block.
  • the difference information from the image is calculated (step S10), and the calculated difference information, the generated predicted image, and the motion information in the skip mode received from the motion vector determination unit 203 are sent to the mode determination unit 204. .
  • step S33: N the intra mode
  • steps S34, S09, S10 The process of step S35 is not performed, and the process proceeds to step S35 described below.
  • the mode determination unit 107 determines the encoding mode that minimizes the encoding amount as the encoding mode of the encoding target block (step S35).
  • the first motion compensation unit 103 and the second motion compensation unit Since the difference information is received from each of 105 and the intra prediction unit 106, the code key mode of the code key target block is determined based on the three difference information.
  • the second motion compensation unit 105 Since the difference information is not received from the first motion compensation unit 103 Based on the two pieces of difference information received from the intra prediction unit 106 and the intra prediction unit 106, the encoding mode of the encoding target block is determined.
  • the image encoding apparatus according to the present invention has been described above based on the embodiment.
  • the image encoding apparatus according to the present invention can be modified as follows, and the present invention can be applied to the image encoding apparatus as described in the above-described embodiment.
  • it is not limited to a dredging device. That is,
  • the search area image used when the motion detection unit 101 performs motion detection is assumed to be a decoded image with respect to an image preceding the encoding target image including the encoding target block. As described above, it is not limited to the previous image, but may be a decoded image of a plurality of previous images.
  • the search area image has been described as the entire decoded image with respect to the previous image of the encoding target image, it may be a part thereof.
  • the decoded image for the previous image of the encoding target image it may be a block in the same position as the encoding target block and an image of the range of 15 pixels around it! / ,.
  • processing is performed by a four-stage pipeline.
  • the third stage and the fourth stage in the first embodiment are set to 1 It may be configured to have three stages and processed by a three-stage pipeline.
  • motion vector speculation calculation section 102 in Embodiment 1 has been described as calculating motion information candidates in the skip mode of the encoding target block, it calculates motion information candidates in the spatial direct mode. It is good.
  • the adjacent block In the skip mode, in the case of the force space direct mode described as the reference image number being “0” regardless of the encoding mode of the previous block, in the LO and L1 directions, the adjacent block The difference from the skip mode is that the smallest reference image number among the reference image numbers is used as the reference image number of the encoding target block.
  • the reference image number of the adjacent block is “1”, that is, the code mode of the adjacent block is S intra mode, etc., the spatial direct mode of the code target block is set.
  • the reference image number in this case is “0”.
  • motion vector speculative calculation unit 201 of the second embodiment can be similarly modified.
  • the motion vector speculative calculation unit 201 applies each motion information in the inter mode and the skip mode among the encoding modes that can be selected by the previous block for which motion information is not determined. Based on the above description, the motion information candidate (m2, m3) of the target block is calculated. However, the present invention is not limited to this, for example, based on motion information for the intra mode and the skip mode. It is also possible to calculate motion information candidates (ml, m3) for the target block or calculate motion candidate candidates (m3) for the target block based on only motion information for the skip mode! You can do it!
  • the number of motion information candidates calculated by the motion table speculation calculation unit 201 is not limited, and can be determined according to the processing capability of the CPU.
  • the processing of the intra prediction unit 106 may be included in the processing of the first stage. Good. That is, the processing of the intra prediction unit 106 only needs to be completed before the mode determination unit 107 (or 204) determines the code key mode of the code key block.
  • Each function of the mode determination unit 107, the orthogonal transformation unit 108, the quantization unit 109, the inverse quantization unit 110, the inverse orthogonal transformation unit 111, the addition unit 112, the deblock filter unit 113, and the variable length code unit 114 is internally The force described as being realized by causing the CPU to execute a program stored in the memory. Part or all of the processing may be realized by nodeware.
  • each function is typically realized as an LSI which is an integrated circuit. However, these functions may be individually provided as one chip, or may be partially or entirely included in one chip. Note that the same applies to the functions of the motion vector speculative calculation unit 201, the confirmation unit 202, the motion vector determination unit 203, and the mode determination unit 204 in the second embodiment.
  • a program to be executed by the CPU to realize each function of the image encoding device can be recorded on a recording medium, or distributed and distributed via various communication paths. .
  • Such recording media include IC cards, hard disks, optical disks, flexible disks, and ROMs.
  • the distributed and distributed program is used by being stored in a memory or the like that can be read out by the processor, and the processor executes the program so that the image code shown in each embodiment can be obtained.
  • Various functions of the device will be realized.
  • the image coding apparatus according to each embodiment is compliant with the other compression coding methods such as MPEG4 described as being compliant with the MPEG4AVC standard.
  • the image encoding device is used to achieve high-speed encoding processing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

 画像の圧縮符号化処理を、マクロブロック毎にパイプラインにより並列に行う場合において、MPEG4AVCにおけるスキップモード等により符号化対象ブロックを圧縮符号化する際には、符号化対象ブロックに隣接する隣接ブロックの動きベクトル等が必要となる。しかし、パイプラインステージの構成によっては、隣接ブロックの動きベクトル等が決定してないことがある。このような場合には、符号化対象ブロックについて、スキップモード等により圧縮符号化処理ができないことを課題としてなされたものである。符号化対象ブロックの前ブロックが選択しうる全ての動き情報に対する、符号化対象ブロックの全ての動き情報候補を算出し、前ブロックの動き情報が決定した後、算出した動き情報候補から、前ブロックについて決定した動き情報に対応する動き情報を、符号化対象ブロックのスキップモード等における動き情報とする。

Description

明 細 書
画像符号化装置、画像符号化方法、及び画像符号化用集積回路 技術分野
[0001] 本発明は画像を圧縮符号化する画像符号化装置に関し、特に圧縮符号化処理の 高速ィ匕に関する。
背景技術
[0002] 画像の圧縮符号化方式である MPEG4AVC (Motion Pictures Experts Group 4 A dvanced Video Coding)規格には、符号化モードとして、スキップモードと空間ダイレ タトモードとが規定されて 、る。
両符号化モードは、共に圧縮符号化 (以下、単に「符号化」ともいう)の対象となる画 像 (以下、「符号化対象画像」という)を、所定サイズ、例えば 16 X 16画素のマクロブ ロック単位で処理する際に、現在の処理対象であるマクロブロック(以下、「符号化対 象ブロック」という)の動きベクトルと符号ィ匕対象ブロックの予測に使用する、符号化対 象ブロックと同サイズの参照画像を識別する参照画像番号 (以下、両者の組を「動き 情報」という)とを、その符号ィ匕対象ブロックに隣接する複数のマクロブロック(以下、「 隣接ブロック」という)の動き情報に基づいて算出する。そして、算出した動き情報に 基づ 、て予測した、符号化対象ブロックの予測画像と符号化対象ブロックの原画像と の差分情報を符号ィ匕する。
[0003] つまり、スキップモード又は空間ダイレクトモード(以下、「スキップモード等」ともいう )により符号ィ匕したマクロブロックの動き情報は、復号する際に隣接ブロックの動き情 報から算出できるため、符号ィヒ対象ブロックの動き情報を符号ィヒする必要がなぐ即 ち、符号ィ匕対象ブロックの予測画像と原画像との差分情報のみを符号ィ匕すればよい ため、スキップモード等により符号ィ匕することによって、符号量を減らすことができる。
[0004] ところで、画像の符号化処理を高速化するために、各マクロブロック〖こつ 、て、パイ プラインにより並列に処理する技術が知られている。
上述の通り、符号ィ匕対象ブロックをスキップモード等により符号ィ匕するためには、隣 接ブロックの動き情報が必要となる。 従って、例えば、パイプラインステージを、各マクロブロックについて順次、スキップ モード等により符号ィ匕する場合の動き情報を算出する第 1ステージと第 1ステージの 処理が完了したマクロブロックについて、スキップモード等により符号ィ匕した場合の符 号量に基づいてスキップモード等により符号ィ匕するかを判定する第 2ステージとに分 けて構成した場合に、符号化対象ブロックについての第 1ステージの処理を開始する 際に、符号ィ匕対象ブロックに対する全ての隣接ブロックについての第 2ステージの処 理が完了して ヽな 、場合には、各隣接ブロックにつ 、て符号ィ匕モードが決定して ヽ ないこととなる。
[0005] 即ち、各隣接ブロックについての動き情報が決定していないため、第 1ステージに おいて、符号ィ匕対象ブロックについてのスキップモード等における動き情報の算出が できないこととなる。
この問題を解決する技術として、例えば特許文献 1の画像符号化装置がある。以下 、特許文献 1における画像符号ィ匕装置にっ ヽて説明する。
[0006] 特許文献 1における画像符号ィ匕装置は、符号化対象画像をマクロブロック単位で ノ ィプラインにより並列に符号ィ匕する画像符号ィ匕装置であり、符号ィ匕対象画像の左 上のマクロブロックから水平方向に 1行分処理し、次の行の処理に進み、右下のマク ロブロックまで順に処理する。
特許文献 1における画像符号化装置は、符号化対象ブロックの処理を開始する際 に、隣接ブロックの 1つである、符号化対象ブロックの左のマクロブロック(以下、「前 ブロック」 t 、う)の動き情報の算出が完了して 、な 、場合に、前ブロックの代わりに動 きベクトルの算出が完了している、前ブロックの左のブロック(以下、「近傍ブロック」と いう)の動き情報を用いて、符号ィ匕対象ブロックのスキップモード等における動き情報 を生成する。
[0007] その後、前ブロックの動き情報の算出が完了すると、算出された前ブロックの動き情 報と近傍ブロックの動き情報が一致するかを確認し、一致する場合には、スキップモ ード等により符号ィ匕対象ブロックを符号ィ匕できることとなる。
このように、特許文献 1における画像符号ィ匕装置では、前ブロックの動き情報の算 出が完了していなくても、近傍ブロックの動き情報を用いて符号ィ匕対象ブロックの動 きベクトルの算出を行うため、パイプラインによる並列処理を妨げることなく符号ィ匕処 理の高速化を実現できる。
特許文献 1:特許第 3879741号公報
発明の開示
発明が解決しょうとする課題
[0008] しかし、特許文献 1における画像符号ィ匕装置では、近傍ブロックの動き情報を用い て符号ィ匕対象ブロックの動きベクトルの算出を行うため、算出された前ブロックの動き 情報と近傍ブロックの動き情報が一致せず、スキップモード等により符号ィ匕できない 場合も少なくない。
そこで、本発明は係る問題に鑑みてなされたものであり、従来とは異なる方法により 、符号ィ匕処理の高速ィ匕を図ることができる画像符号ィ匕装置を提供する。
課題を解決するための手段
[0009] 上記課題を解決するために、本発明に係る画像符号ィ匕装置は、画像にっ ヽて、所 定サイズのブロック単位で圧縮符号ィ匕する画像符号ィ匕装置であって、各ブロックを処 理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情 報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき 生成する第 1処理手段と、前記第 1処理手段において 1のブロックが処理されるのと 並行して、当該第 1処理手段による処理が完了したブロックについての予測画像を、 当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの 前ブロックに対して選択された 1つの予測画像を特定する予測画像特定情報に基づ いて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された 1つの予 測画像と原画像との差分信号を出力し、選択された 1つの予測画像を特定する予測 画像特定情報を生成する第 2処理手段とを備えることを特徴とする。
[0010] また、上記課題を解決するために、本発明に係る画像符号化装置による画像符号 化方法は、画像について、所定サイズのブロック単位で圧縮符号ィ匕する画像符号ィ匕 方法であって、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を 特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予 測画像候補特定情報に基づき生成する第 1処理ステップと、前記第 1処理ステップに おいて 1のブロックが処理されるのと並行して、当該第 1処理ステップによる処理が完 了したブロックにつ 、ての予測画像を、当該ブロックの予測画像候補特定情報が示 す予測画像の候補から、当該ブロックの前ブロックに対して選択された 1つの予測画 像を特定する予測画像特定情報に基づ!/ヽて選択し、圧縮符号化結果に反映される べき差分信号として、選択された 1つの予測画像と原画像との差分信号を出力し、選 択された 1つの予測画像を特定する予測画像特定情報を生成する第 2処理ステップ とを含むことを特徴とする。
[0011] また、上記課題を解決するために、本発明に係る画像符号化装置に用いられるコ ンピュータプログラムは、画像について、所定サイズのブロック単位で圧縮符号ィ匕す る圧縮符号ィ匕処理をコンピュータに行わせるためのコンピュータプログラムであって、 前記圧縮符号化処理は、各ブロックを処理対象として逐次、当該ブロックの予測画像 の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前プロ ックの予測画像候補特定情報に基づき生成する第 1処理ステップと、前記第 1処理ス テツプにおいて 1のブロックが処理されるのと並行して、当該第 1処理ステップによる 処理が完了したブロックにつ!/、ての予測画像を、当該ブロックの予測画像候補特定 情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された 1つ の予測画像を特定する予測画像特定情報に基づ ヽて選択し、圧縮符号化結果に反 映されるべき差分信号として、選択された 1つの予測画像と原画像との差分信号を出 力し、選択された 1つの予測画像を特定する予測画像特定情報を生成する第 2処理 ステップとを含むことを特徴とする。
[0012] また、上記課題を解決するために、本発明に係る画像符号化装置に用いられる画 像符号化用集積回路は、画像について、所定サイズのブロック単位で圧縮符号ィ匕す る画像符号ィ匕用集積回路であって、各ブロックを処理対象として逐次、当該ブロック の予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理さ れた前ブロックの予測画像候補特定情報に基づき生成する第 1処理手段と、前記第 1処理手段において 1のブロックが処理されるのと並行して、当該第 1処理手段による 処理が完了したブロックにつ!/、ての予測画像を、当該ブロックの予測画像候補特定 情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された 1つ の予測画像を特定する予測画像特定情報に基づ ヽて選択し、圧縮符号化結果に反 映されるべき差分信号として、選択された 1つの予測画像と原画像との差分信号を出 力し、選択された 1つの予測画像を特定する予測画像特定情報を生成する第 2処理 手段とを備えることを特徴とする。
[0013] ここで、所定サイズのブロックは、 nX n画素、例えば 16 X 16画素のマクロブロック であり、予測画像は、各ブロックと同サイズの画像である。
発明の効果
[0014] 上述の構成を備える本発明に係る画像符号化装置は、第 1処理手段では、各プロ ックにつ 、て、そのブロックの予測画像候補特定情報を前ブロックの予測画像候補 特定情報に基づいて生成しておき、第 2処理手段では、第 1処理手段による処理と 並行して、第 1処理手段による処理が完了した 1のブロックについての予測画像を、 そのブロックの予測画像候特定情報が示す予測画像の候補から、前ブロックに対し て選択された 1つの予測画像を特定する予測画像特定情報に基づき選択するため、 各ブロックについて、第 1処理手段による処理開始時にそのブロックの前ブロックに 対する予測画像が決定されていなくても、そのブロックの圧縮符号ィ匕処理を開始する ことができる。
[0015] 即ち、各ブロックについて、そのブロックの前ブロックの予測画像の決定を待たずに 符号ィ匕処理を開始できるため、符号ィ匕処理の高速ィ匕を実現できる。
また、予測画像候補特定情報として、例えば動き情報 (動きべ外ルと参照画像)の 候補を使用することにより、各ブロックの予測画像候補特定情報は、前ブロックの動き 情報の候補に基づ 、て生成された動き情報の候補となり、 MPEG4AVCにおけるス キップモードや空間ダイレクトモードによる符号ィ匕が可能となり、符号量を抑えること ができる。
[0016] また、前記画像符号化装置は、逐次入力される画像を圧縮符号化するものであり、 各ブロックについて、当該ブロックの予測画像候補特定情報は、他の画像を探索す ることにより検出した動きベクトルに基づいて生成した予測画像の候補を特定する特 定情報を含むとしてもよい。
これにより、他の画像を探索することにより検出した動きベクトルとして、例えば MP EG4AVCにおける画面間予測 (インターモード)で規定されて 、る動きベクトルを用 いることにより、予測画像候補特定情報には、画面間予測 (インターモード)における 予測画像を特定する特定情報が含まれる。
[0017] 従って、予測画像特定情報が示す複数の予測画面の候補から、例えば符号量が 最小となる予測画像をブロック毎に選択することによって、符号量を抑えた圧縮符号 化が可能となる。
また、各ブロックについて、当該ブロックの予測画像候補特定情報は、
当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの 動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含むことと してちよい。
[0018] これにより、例えば、隣接ブロックを、 MPEG4AVC規格のスキップモードにおいて 用いられる所定のマクロブロックとすることにより、予測画像候補特定情報が示す予 測画像の候補には、スキップモードや空間ダイレクトモードにより符号ィ匕した場合の 予測画像が含まれるため、この予測画像が選択された場合に、符号量を抑えることが できる。
また、前記画像符号化装置は、更に各ブロックを処理対象として逐次、当該ブロック に対して所定位置にある画素の画素値に基づいて生成した予測画像の候補を特定 する特定情報を前記予測画像候補特定情報に含ませる第 3処理手段を備え、前記 第 2処理手段は、前記第 1処理手段による処理が完了したブロックについての予測 画像を、前記第 3処理手段が前記特定情報を含ませた予測画像候補特定情報が示 す予測画像の候補から選択することとしてもょ ヽ。
[0019] これにより、所定位置にある画素の画素値として、例えば MPEG4AVCにおける画 面内予測 (イントラモード)で規定されている所定の画素の画素値を用いることにより、 予測画像候補特定情報には、画面内予測 (イントラモード)における予測画像の候補 を特定する特定情報が含まれる。
従って、予測画像特定情報が示す複数の予測画面の候補から、例えば符号量が 最小となる予測画像をブロック毎に選択することによって、符号量を抑えた圧縮符号 化が可能となる。 [0020] また、前記予測画像候補特定情報は、前記第 2処理手段による処理が完了したブ ロックの予測画像特定情報にも基づ 、て生成したものであるとしてもよ 、。
これにより、例えば、第 1処理手段による処理対象のブロックを MBn、第 2処理手段 による処理対象のブロックを MBn— 1、第 2処理手段による処理が完了したブロック を MBn— 2とすると、 MBnの予測画像候補特定情報は、 MBn— 2の予測画像候補 特定情報に基づ 、て生成された、 MBn- 1の予測画像候補特定情報に基づ 、て生 成されることになる力 第 2処理手段による処理が完了した MBn— 2の予測画像特定 情報に基づいて、 MBnの予測画像候補特定情報を生成することにより、 MBnの予 測画像候補特定情報が示す予測画像の候補の数の増大を抑えることができる。
[0021] また、各ブロックについて、当該ブロックの予測画像候補特定情報は、当該ブロック の前ブロックの予測画像の候補の一部のみを特定する情報に基づいて生成したもの であることとしてもよい。
これにより、符号ィ匕対象ブロックの予測画像候補特定情報は、その前ブロックの予 測画像候補の一部のみを特定する情報に基づいて生成するため、予測画像候補特 定情報が示す予測画像の候補の数を抑えることにより、画像符号化装置の処理負荷 を減らすことができる。
[0022] また、前記画像符号化装置は、第 1ステージと第 2ステージとの 2つのパイプライン ステージ力 構成されるパイプラインにより処理を行うものであり、前記第 1処理手段 は、各ブロックを処理対象として逐次、他の画像を探索することにより検出した当該ブ ロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含 む前記予測画像候補特定情報を生成する動き検出部と、当該ブロックに対して所定 位置にある前記前ブロックを含む複数の隣接ブロックの動きベクトルに基づいて生成 した予測画像の候補を特定する特定情報を前記予測画像候補特定情報に含める動 きベクトル投機算出部とを含み、前記第 1ステージの処理を実行するものであり、前 記第 2処理手段は、前記予測画像候補特定情報が示す予測画像の候補のうち、前 記動きべ外ル投機算出部が生成した特定情報が示す予測画像の候補を前記前ブ ロックについての予測画像特定情報に基づいて絞り込む動きベクトル決定部と、前記 動きベクトル決定部が絞り込んだ予測画像の候補と、前記予測画像候補特定情報が 示す予測画像の候補のうち、前記動き検出部が生成した特定情報が示す予測画像 の候補とから、前記第 1処理手段による処理が完了したブロックについての予測画像 を選択し、圧縮符号化結果に反映されるべき差分信号として、選択された 1つの予測 画像と原画像との差分信号を出力し、選択された 1つの予測画像を特定する予測画 像特定情報を生成するモード判定部とを含み、前記第 2ステージの処理を実行する ちのであることとしてちよい。
[0023] これにより、各ブロックについて、第 1処理手段において生成される予測画像候補 特定情報には、動きベクトル投機算出部が前ブロックの予測画像候補特定情報に基 づ 、て生成したそのブロックの予測画像の候補を特定する特定情報を含み、第 2処 理手段における動きべ外ル決定部が、動きべ外ル投機算出部により生成された特 定情報が示すそのブロックの予測画像の候補を、前ブロックにつ 、ての予測画像特 定情報に基づき絞り込むため、各ブロックについて、第 1処理手段による処理開始時 にそのブロックの前ブロックに対する予測画像が決定されて ヽなくても、そのブロック の圧縮符号化処理を開始することができる。
[0024] また、各ブロックにつ 、て、第 1処理手段にぉ 、て生成される予測画像候補特定情 報には、動き検出部において生成された特定情報を含み、第 2処理手段におけるモ ード判定部は、動きベクトル決定部が絞り込んだ予測画像の候補と、予測画像候補 特定情報が示す予測画像の候補のうち、動き検出部が生成した特定情報が示す予 測画像の候補とから、予測画像を選択するため、例えば符号量が最小となる予測画 像をブロック毎に選択することによって、符号量を抑えた圧縮符号ィ匕が可能となる。 図面の簡単な説明
[0025] [図 1]本発明の実施の形態 1に係る画像符号ィ匕装置 100のパイプライン処理の流れ を説明するための図である。
[図 2]本発明の実施の形態 1に係る画像符号ィ匕装置 100の機能構成図である。
[図 3]本発明の実施の形態 1に係る画像符号ィ匕装置 100の動作を示すフローチヤ一 トである。
[図 4]本発明の実施の形態 2に係る画像符号ィ匕装置 200の機能構成図である。
[図 5]本発明の実施の形態 2に係る画像符号ィ匕装置 200の処理を示すフローチヤ一 トである。
[図 6]符号ィ匕対象ブロックと隣接画素との関係を説明するための図である。
[図 7]符号ィ匕対象ブロックと隣接ブロックとの関係を説明するための図である。
符号の説明
[0026] 100、 200 画像符号化装置
101 動き検出部
102、 201 動きベクトル投機算出部
103 第 1動き補償部
104、 203 動きベクトル決定部
105 第 2動き補償部
106 イントラ予測部
107、 204 モード判定部
108 直交変換部
109 量子化部
110 逆量子化部
111 逆直交変換部
112 加算部
113 デブロックフィルタ部
114 可変長符号化部
115 DMAコントローラ
116 外部メモリ
202 確認部
発明を実施するための最良の形態
[0027] 以下、本発明の実施の形態について、図面を参照しながら説明する。
<実施の形態 1 >
<概要 >
実施の形態 1に係る画像符号化装置は、 MPEG4AVC規格に準拠し、符号化対 象画像を、所定サイズ (例えば、 16 X 16画素)のマクロブロック単位でノ ィプライン処 理により符号ィ匕する画像符号ィ匕装置を改良したものである。
[0028] 実施の形態 1に係る画像符号化装置は、イントラモードとインターモードとスキップ モードとの 3つの符号ィ匕モードうち、符号量が最小になる符号ィ匕モードをマクロブロッ ク毎に選択し、選択した符号ィ匕モードによりそのマクロブロックを符号ィ匕する。
以下、各符号化モードについて簡単に説明する。
イントラモードとは、符号ィ匕対象のマクロブロックである符号ィ匕対象ブロックに隣接 する画素(以下、「隣接画素」 、う)の画素値に基づ 、て符号ィ匕対象ブロックの予測 画像を生成し、生成した予測画像と符号化対象ブロックの原画像との差分情報を符 号化する符号化モードである。
[0029] ここで、隣接画素について図 6を用いて説明する。
図 6は、符号ィ匕対象ブロックと隣接画素との関係を説明するための図である。
隣接画素とは、同図に示す符号ィ匕対象ブロックの左のマクロブロックの 16画素(同 図 Aの画素)と上のマクロブロックの 16画素(同図 Bの画素)をいう。
予測画像の生成は、複数の予測モード (垂直予測、水平予測等)から 1つの予測モ ードを選択して、選択した予測モードに対応した隣接画素内の画素値、つまり、予測 モード毎に異なる隣接画素内の画素値を用いて行う。
[0030] 予測モードとして、例えば垂直予測を選択する場合、符号化対象ブロックの各列の 画素の画素値は、同列にある同図 Bの各画素の画素値と等しいものとして予測画像 を生成する。
なお、予測モードの選択方法については、従来技術であるため詳細な説明は省略 するが、例えば周辺のマクロブロックの予測モードに基づ 、て選択する方法などを用 いることがでさる。
[0031] インターモードとは、符号化対象ブロックを含む符号化対象画像と異なる画像 (以 下、「探索領域画像」という)を探索することにより、符号化対象ブロックと似たブロック への相対位置を示すための動きベクトルを検出し、検出した動きベクトルと探索領域 画像を示す参照画像番号とからなる動き情報に基づき符号ィ匕対象ブロックの予測画 像を生成し、生成した予測画像と符号化対象ブロックの原画像との差分情報と動き 情報とを符号ィ匕する符号ィ匕モードである。 [0032] スキップモードとは、符号ィ匕対象ブロックに隣接する複数のマクロブロックである隣 接ブロックの動き情報を用いて符号ィ匕対象ブロックの動き情報を算出し、算出した動 き情報に基づ 、て符号ィ匕対象ブロックの予測画像を生成し、生成した予測画像と符 号化対象ブロックの原画像との差分情報を符号化する符号化モードである。このよう にスキップモードでは、差分情報のみを符号ィ匕し、動き情報を符号化する必要がな いため、符号量を抑えることができる。
[0033] ここで、隣接ブロックについて、図 7を用いて説明する。
図 7は、符号ィ匕対象ブロックと隣接ブロックとの関係を説明するための図である。同 図に示す A〜Fのマクロブロックのうち、ブロック Eをスキップモードにおける符号化対 象ブロックとすると、隣接ブロックとは、ブロック B〜Dのことをいう。
ただし、ブロック Cが符号化対象画像に存在しない等、ブロック Cの動き情報を用い ることができない場合には、ブロック Cに代えてブロック Aをブロック Eの隣接ブロックと し、更にブロック A〜Cの全てが符号化対象画像内に存在しない等、ブロック A〜Cの 全ての動き情報を用いることができない場合には、ブロック Dのみをブロック Eの隣接 ブロックとする。なお、以下では、符号化対象ブロック Eの左のブロック Dを「前ブロック 」と呼ぶ。
[0034] ブロック B〜Dをブロック Eの隣接ブロックとした場合、ブロック Eの動きべクトノレは、ブ ロック B〜Dの各動きベクトルの水平成分及び垂直成分それぞれにつ!/、ての中央値( メディアン)を取り、求めたものである。なお、隣接ブロックの中に符号ィ匕モードがイン トラモードであるマクロブロックがある場合、そのマクロブロックの動きベクトルは「0」で あるとして、ブロック Eの動きベクトルを算出する。
[0035] また、ブロック Eのスキップモードにおける参照画像は、ブロック Eを含む符号化対 象画像の 1つ前に表示される画像であり、参照画像番号は「0」である。
なお、参照画像番号は、表示順において符号化対象ブロックを含む符号化対象画 像を基準にした参照画像の位置湘対位置)を示す番号であり、表示順が符号化対 象画像から離れるほど、大きな参照画像番号が割り当てられる。
[0036] 以下、実施の形態 1に係る画像符号ィ匕装置について、図 1を用いて具体的に説明 する。 図 1は、実施の形態 1に係る画像符号ィヒ装置のパイプライン処理の流れを説明する ための図である。
実施の形態 1に係る画像符号化装置は、符号化対象画像について、マクロブロック 毎に符号量が最小となる符号ィ匕モードを選択して、選択した符号ィ匕モードによりその マクロブロックを符号化するものであり、符号化対象画像の左上のマクロブロックから 水平方向に 1行分処理して、次の行の処理に移り、右上のマクロブロックまで順に処 理する。
[0037] 同図に示すように、実施の形態 1に係る画像符号化装置の処理は、第 1ステージか ら第 4ステージまでの 4ステージパイプラインにより構成され、各タイムスロット (TS1、 TS2、 TS3、 TS4、 · · · )において各パイプラインステージにおける処理は並行して行 われる。
以下、符号化対象画像において、 n番目に処理を開始されるマクロブロック (MBn) に着目して、各パイプラインステージにおける処理の概要を説明する。
[0038] まず、第 1ステージでは、 MBnにつ 、てインターモードにより符号ィ匕する場合の動 き情報の検出とスキップモードにより符号ィ匕する場合の動き情報の算出を並行して行 次に、第 2ステージでは、 MBnについて各符号化モードで符号化する場合の予測 画像の生成と、各予測画像と原画像との差分情報の算出を並行して行い、符号量が 最小となる符号ィ匕モードを MBnの符号ィ匕モードとして決定する。
[0039] 次に、第 3ステージ及び第 4ステージでは、第 2ステージで決定した MBnの符号ィ匕 モードにより MBnを符号ィ匕し、符号化後の符号化ストリームを生成する。
ところで、第 1ステージにおいて、 MBnについてスキップモードにおける動き情報を 算出するためには、 MBnの前ブロックである MBn— 1の動き情報が必要となるが、 MBn- 1の符号ィ匕モードは第 2ステージの処理の完了により決定する。
[0040] 従って、 MBnについての第 1ステージにおける処理を開始する時点(TS1の開始 時点)で、 MBn— 1は、第 2ステージにおける処理を開始されようとしており、 MBn— 1の符号ィ匕モードは決定していない。即ち、 MBn— 1の動き情報は決定していない。 そのため、実施の形態 1に係る画像符号ィ匕装置は、第 1ステージにおいて、 MBn - 1の符号ィ匕モードを、上述した各符号ィ匕モード (イントラモードとインターモードとス キップモード)それぞれに仮定した場合の MBnのスキップモードにおける各動き情報 (以下、「動き情報候補」という)を算出する。つまり、 MBnのスキップモードにおける 動き情報として 3つの候補を算出する。
[0041] また、 MBnについての第 2ステージにおける処理を開始する時点 (TS2の開始時 点)では、 MBn— 1についての第 2ステージにおける処理は完了しているため、 MBn - 1の符号ィ匕モードは決定して 、る。
そのため、第 2ステージでは、第 1ステージにおいて算出した MBnのスキップモード における 3つの動き情報候補から、決定した MBn— 1の符号化モードに対応する動 き情報を、 MBnのスキップモードにおける動き情報として選択し、選択した動き情報 に基づ!/、て MBnのスキップモードにおける予測画像を生成し、生成した予測画像と MBnの原画像との差分情報を算出する。
[0042] また、上記処理と並行して第 2ステージでは、 MBnのイントラモード及びインターモ ードおける予測画像をそれぞれ生成し、各予測画像と MBnの原画像との差分情報 をそれぞれ算出する。なお、 MBnのインターモードにおける予測画像は、第 1ステー ジにおいて検出した動き情報に基づ 、て生成する。
また、第 2ステージでは、 MBnについての各符号ィ匕モード (イントラモード、インター モード、スキップモード)における差分情報が算出されると、各符号化モードにおける 差分情報から各符号化モードにおける符号量を算出して、最も符号量が小さくなる 符号ィ匕モードを、 MBnにおける符号ィ匕モードとして決定する。
[0043] このように、実施の形態 1に係る画像符号化装置は、前ブロックの動き情報の決定 を待つことなく符号ィ匕対象ブロックの処理を開始できるため、パイプラインによる符号 化処理の高速化を維持しつつ、符号化対象ブロックにつ!/、てスキップモードによる符 号ィ匕が可能となるため、符号ィ匕量を抑えることができる。
<構成>
まず、実施の形態 1に係る画像符号ィ匕装置 100の構成について、図 2を用いて説 明する。
[0044] 図 2は、画像符号ィ匕装置 100の機能構成図である。 同図に示すように、画像符号ィ匕装置 100は、動き検出部 101、動きベクトル投機算 出部 102、第 1動き補償部 103、動きベクトル決定部 104、第 2動き補償部 105、イン トラ予測部 106、モード判定部 107、直交変換部 108、量子化部 109、逆量子化部 1 10、逆直交変換部 111、加算部 112、デブロックフィルタ部 113、可変長符号化部 1 14、 DMAコントローラ 115、外部メモリ 116を含んで構成される。
[0045] また、画像符号化装置 100は、図示して!/、な!/、が、 CPU (Central Processing Unit) 及び内部メモリを備え、上述の動き検出部 101、動きベクトル投機算出部 102、第 1 動き補償部 103、動きベクトル決定部 104、第 2動き補償部 105、イントラ予測部 106 、モード判定部 107、直交変換部 108、量子化部 109、逆量子化部 110、逆直交変 換部 111、加算部 112、デブロックフィルタ部 113、可変長符号ィ匕部 114の各機能は 、内部メモリに記憶されているプログラムを CPUに実行させることにより実現される。
[0046] また、本実施の形態では、動き検出部 101の処理と動きベクトル投機算出部 102の 処理とが第 1ステージに、第 1動き補償部 103の処理と動きベクトル決定部 104の処 理と第 2動き補償部 105の処理とイントラ予測部 106の処理とモード判定部 107の処 理とが第 2ステージに、直交変換部 108の処理と量子化部 109の処理と逆量子化部 110の処理と逆直交変換部 111の処理と加算部 112の処理とが第 3ステージに、デ ブロックフィルタ部 113の処理と可変長符号ィ匕部 114の処理とが第 4ステージに相当 するようパイプラインを構成している。なお、第 1ステージの処理は、本発明における 第 1処理手段に相当し、第 2ステージの処理は、本発明における第 2処理手段と第 3 処理手段とに相当する。
[0047] 動き検出部 101は、符号ィ匕対象ブロックについてのインターモードにおける動きべ クトルを検出し、検出した動きベクトルと動きベクトルの検出に用 、た探索領域画像を 示す参照画像番号とからなる動き情報を動きべ外ル投機算出部 102及び第 1動き 補償部 103に送出する機能を有する。
具体的には、動き検出部 101は、符号ィ匕対象ブロック(例えば、 16 X 16画素のマク ロブロック)の原画像と動きベクトルの探索対象である探索領域画像とを DMAコント ローラ 115を介して外部メモリ 116から内部メモリ(図示しな!、)に読み出し、読み出し た符号化対象ブロックの原画像と探索領域画像との間でブロックマッチングを行 、、 探索領域画像にお ヽて、符号化対象ブロックの原画像と最も類似度が高!ヽマクロブ ロックを見つけることにより、そのマクロブロックへの相対位置を示す動きベクトルを検 出する。
[0048] なお、動きベクトルの検出に関し、小数画素精度(1Z2画素精度、 1Z4画素精度) の動きベクトルの検出も可能であるが、説明の便宜上、整数画素制度の動きベクトル の検出を行うものとして説明する。
また、探索領域画像は、後述するデブロックフィルタ部 113により外部メモリ 116に 格納されたデブロック処理後の復号画像であり、以下では、例えば表示順において、 符号化対象ブロックを含む符号化対象画像の 1つ前の画像に対する復号画像である として説明する。
[0049] 動きベクトルを検出すると、動き検出部 101は、検出した動きベクトルと探索領域画 像を示す参照画像番号、つまり動き情報を動きべ外ル投機算出部 102及び第 1動 き補償部 103に送出する。
動きベクトル投機算出部 102は、符号ィ匕対象ブロックについてスキップモードにお ける動き情報候補を算出し、算出した符号ィ匕対象ブロックの動き情報候補を動きべク トル決定部 104に送出する機能を有する。
[0050] 即ち、動きベクトル投機算出部 102は、後述するモード判定部 107により内部メモリ に格納された、符号ィ匕対象ブロックの前ブロック以外の隣接ブロックの動き情報と、符 号ィ匕モードが決定して ヽな 、前ブロックが選択し得る全ての符号ィ匕モードに対する 各動き情報に基づいて、符号ィ匕対象ブロックの動き情報候補を算出する。
以下、動き情報候補の算出について、具体的に説明する。なお、前ブロックの符号 化モードによらず、参照画像番号は「0」である。
[0051] 前ブロックの符号ィ匕モードがイントラモードであると仮定した場合、前ブロックの動き ベクトルは 0であるとして、前ブロックを含む隣接ブロックの動きベクトル力 符号ィ匕対 象ブロックの動きベクトルを算出する。以下、前ブロック力 Sイントラモードであると仮定 して算出した動き情報を「ml」と呼ぶ。
また、前ブロックの符号ィ匕モード力 Sインターモードであると仮定した場合、動き検出 部 101から受領した前ブロックのインターモードにおける動きベクトルと、他の隣接ブ ロックの動きベクトル力も符号ィ匕対象ブロックの動きベクトルを算出する。以下、前ブ ロックの符号ィ匕モード力 Sインターモードであると仮定して算出した動き情報を「m2」と 呼ぶ。
[0052] また、前ブロックの符号ィ匕モードがスキップモードであると仮定した場合、前ブロック についてもスキップモードにおける 3つの動き情報候補を有することとなる。
そこで、動きベクトル投機算出部 102は、後述するモード判定部 107から受領した、 前ブロックの左のマクロブロックに対して決定した符号ィ匕モードを示すモード情報を 用いて、前ブロックのスキップモードにおける 3つの動き情報候補から、前ブロックの 左のマクロブロックに対して決定した符号ィ匕モードに対応する 1つの動きベクトルを、 前ブロックのスキップモードにおける動きベクトルとして選択し、選択した前ブロックの スキップモードにおける動き情報の動きベクトルと他の隣接ブロックの動きベクトルか ら符号ィ匕対象ブロックの動きベクトルを算出する。以下、前ブロックの符号ィ匕モードが スキップモードであると仮定して算出した動き情報を「m3」と呼ぶ。
[0053] なお、動きベクトル投機算出部 102は、符号ィ匕対象ブロックに対して算出した動き 情報候補 (ml〜m3)を内部メモリに格納しておく。格納された動き情報候補 (ml〜 m3)は、次に処理されるマクロブロックに対して m3の動き情報を算出する際に使用 される。
また、動きべ外ル投機算出部 102は、算出した動き情報候補 (ml〜m3)が示す 各参照画像を、 DMAコントローラ 115を介して外部メモリ 116から内部メモリに読み 出しておく。この参照画像は、第 2動き補償部 105の後述する符号ィ匕対象ブロックの スキップモードにおける予測画像の生成処理に使用される。
[0054] 第 1動き補償部 103は、動き検出部 101から受領した符号ィ匕対象ブロックのインタ 一モードにおける動き情報に基づいて予測画像を生成し、予測画像と内部メモリに 格納された符号化対象ブロックの原画像との差分情報を算出し、予測画像と差分情 報と動き情報とをモード判定部 107に送出する機能を有する。
予測画像の生成について、具体的には、動き検出部 101から受領した参照画像番 号が示す探索領域画像にぉ ヽて、動きベクトルが示すブロックを予測画像とする。
[0055] 動きベクトル決定部 104は、後述するモード判定部 107から受領したモード情報が 示す前ブロックの符号ィ匕モードに対応する 1つの動き情報を、動きベクトル投機算出 部 102から受領した符号ィ匕対象ブロックのスキップモードにおける 3つの動き情報候 補 (ml〜m3)力 選択し、選択した符号ィ匕対象ブロックのスキップモードにおける動 き情報を第 2動き補償部 105へ送出する機能を有する。
[0056] 例えば、前ブロックの符号ィ匕モード力インターモードに決定した場合には、符号ィ匕 対象ブロックのスキップモードにおける動き情報として m2を第 2動き補償部 105へ送 出する。
第 2動き補償部 105は、動きベクトル決定部 104から受領した、符号化対象ブロック のスキップモードにおける動き情報に基づ 、て予測画像を生成し、予測画像と内部メ モリに格納された符号化対象ブロックの原画像との差分情報を算出し、予測画像と差 分情報と動きベクトル決定部 104から受領したスキップモードにおける動き情報をモ ード判定部 107に送出する機能を有する。
[0057] 予測画像の生成について、具体的には、動きベクトル決定部 104から受領した動き 情報が示す参照画像を予測画像とする。
イントラ予測部 106は、符号化対象ブロックの隣接画素の画像を、 DMAコントロー ラ 115を介して外部メモリ 116から内部メモリに読み出し、隣接画素の画素値に基づ き、符号ィ匕対象ブロックのイントラモードにおける予測画像を生成し、予測画像と内部 メモリに格納された符号ィ匕対象ブロックの原画像との差分情報を算出し、予測画像と 差分情報と予測画像の生成に使用した予測モードを示す予測モード情報とをモード 判定部 107に送出する機能を有する。
[0058] なお、イントラ予測部 106が外部メモリ 116から読み出す隣接画素の画像は、後述 する加算部 112により外部メモリ 116に格納された復号画像である。
モード判定部 107は、第 1動き補償部 103から受領したインターモードにおける差 分情報と第 2動き補償部 105から受領したスキップモードにおける差分情報とイントラ 予測部 106とから受領したイントラモードにおける差分情報とに基づき、符号量が最 小となる符号ィ匕モードを符号ィ匕対象ブロックの符号ィ匕モードとして決定する機能を有 する。なお、インターモードにより符号ィ匕する場合の符号量には、上述の差分情報だ けでなく動き情報の符号量も考慮する。 [0059] また、モード判定部 107は、決定した符号化モードを示すモード情報を動きべタト ル投機算出部 102と動きベクトル決定部 104とに送出し、決定した符号ィ匕モードにつ いての差分情報を直交変換部 108に送出し、決定した符号ィ匕モードについての予 測画像を加算部 112に送出し、可変長符号化部 114にモード情報と決定した符号化 モードに応じた情報 (インターモードに決定した場合の動き情報や、イントラモードに 決定した場合の予測モード情報)を送出する。
[0060] なお、モード判定部 107は、決定した符号ィ匕モードに対応する動き情報 (インター モードにおける動き情報、又はスキップモードにおける動き情報)を内部メモリに格納 する。
直交変換部 108は、モード判定部 107から受領した差分情報に対し離散コサイン 変換等の直交変換処理を行い、処理結果である係数情報を量子化部 109に送出す る機能を有する。
[0061] 量子化部 109は、直交変換部 108から受領した係数情報に対し量子化処理を行い 、量子化した係数情報を逆量子化部 110と可変長符号化部 114に送出する機能を 有する。
逆量子化部 110は、量子化部から受領した量子化した係数情報に対し、逆量子化 処理を行!、、処理結果である係数情報を逆直交変換部 111に送出する機能を有す る。
[0062] 逆直交変換部 111は、逆量子化部 110から受領した係数情報に対し、逆直交変換 処理を行い、処理結果である差分情報を加算部 112に送出する機能を有する。 加算部 112は、モード判定部 107から受領した予測画像と、逆直交変換部 111か ら受領した差分情報とを加算し、符号化対象ブロックの復号画像を生成し、生成した 復号画像をデブロックフィルタ部 113へ送出すると共に、 DMAコントローラ 115を介 して外部メモリ 116に格納する機能を有する。
[0063] デブロックフィルタ部 113は、加算部 112から受領した復号画像に対し、デブロック フィルタによるブロック歪の除去処理(以下、「デブロック処理」という)を行い、デブ口 ック処理後の復号画像を、 DMAコントローラ 115を介して外部メモリ 116に格納する 機能を有する。 可変長符号ィ匕部 114は、量子化部 109から受領した量子化した係数情報に対し可 変長符号化処理や算術符号化処理を行い、処理後の符号化ストリームを、 DMAコ ントローラ 115を介して外部メモリ 116に格納する機能を有する。なお、モード判定部 107から受領したモード情報と決定した符号ィ匕モードに応じた情報は符号化ストリー ムにおけるヘッダの生成に使用される。
[0064] DMAコントローラ 115は、各部からの外部メモリ 116へのアクセス要求を調停し、外 部メモリ 116と内部メモリとの間のデータ転送を行う一般的な DMAコントローラである 外部メモリ 116は、各符号化対象ブロックと、加算部により格納された復号画像と、 デブロックフィルタ部 113により格納されたデブロック処理後の復号画像と、可変長符 号ィ匕部 114により格納された符号化ストリームとを記憶する DRAMなどで構成された メモリである。
[0065] <動作 >
次に、上記構成を備える画像符号ィ匕装置 100の動作について、図 3を用いて説明 する。
図 3は、画像符号ィ匕装置 100の動作を示すフローチャートである。
以下では、画像符号ィ匕装置 100の処理をパイプラインステージ毎に説明する。なお 、第 1ステージから第 4ステージまでの各パイプラインステージは、異なるマクロブロッ クを処理対象として並列して処理する。
[0066] <第 1ステージの動作 >
まず、第 1ステージでの画像符号ィ匕装置 100の動作について説明する。第 1ステー ジでは、以下説明する動き検出部 101の処理 (ステップ S01〜03)と、動きベクトル投 機算出部 102の処理 (ステップ S04、 05)とは、並行して実行される。
動き検出部 101は、符号ィ匕対象ブロックの原画像と動きベクトルの探索対象である 探索領域画像とを、 DMAコントローラ 115を介して外部メモリ 116から内部メモリに 読み出す (ステップ SO 1、 S02)。
[0067] 動き検出部 101は、探索領域画像カゝら符号ィ匕対象ブロックの原画像と最も類似度 が高いマクロブロックを探索して動きベクトルを検出し (ステップ S03)、第 1動き補償 部 103に検出した動きべ外ルと探索領域画像を示す参照画像番号、つまり動き情 報を送出する。
一方、動きベクトル投機算出部 102は、符号化対象ブロックの前ブロックの符号ィ匕 モードをイントラモードとインターモードとスキップモードとのそれぞれに仮定し、それ ぞれに仮定した場合の符号ィ匕対象ブロックの動き情報候補 (ml〜m3)を算出し (ス テツプ S04)、算出した動き情報候補 (ml〜m3)を動きベクトル決定部 104に送出す る。
[0068] また、動きベクトル投機算出部 102は、動き情報候補 (ml〜m3)それぞれが示す 参照画像を、 DMAコントローラ 115を介して外部メモリ 116から内部メモリに読み出 す (ステップ S05)。
<第 2ステージの動作 >
次に、第 2ステージでの画像符号ィ匕装置 100の動作について説明する。
[0069] 第 2ステージでは、以下説明する第 1動き補償部 103の処理 (ステップ S06、 07)と 、動きベクトル決定部 104及び第 2動き補償部 105の処理 (ステップ S08〜 10)と、ィ ントラ予測部 106の処理 (ステップ Sl l、 12)とは、並行して実行される。
第 1動き補償部 103は、動き検出部 101から受領した動き情報に基づいてインター モードにおける符号ィ匕対象ブロックの予測画像を生成する (ステップ S06)。
[0070] 第 1動き補償部 103は、生成した予測画像と内部メモリに格納された符号ィ匕対象ブ ロックの原画像との差分情報を算出し (ステップ S07)、算出した差分情報と、生成し た予測画像と、動き検出部 101から受領した動き情報とをモード判定部 107に送出 する。
また、動きベクトル決定部 104は、動きベクトル投機算出部 102から受領した動き情 報候補 (ml〜m3)から、モード判定部 107から受領した前ブロックのモード情報が 示す符号化モードに対応する動き情報を、符号ィ匕対象ブロックのスキップモードにお ける動き情報として選択し (ステップ S08)、選択した動き情報を第 2動き補償部 105 に送出する。
[0071] 第 2動き補償部 105は、動きベクトル決定部 104から受領した動き情報に基づいて スキップモードにおける符号ィ匕対象ブロックの予測画像を生成する (ステップ S09)。 第 2動き補償部 105は、生成した予測画像と内部メモリに格納された符号ィ匕対象ブ ロックの原画像との差分情報を算出し (ステップ S10)、算出した差分情報と、生成し た予測画像と動きベクトル決定部 104から受領したスキップモードにおける動き情報 をモード判定部 107に送出する。
[0072] また、イントラ予測部 106は、符号化対象ブロックの隣接画素の画像を、 DMAコン トローラ 115を介して外部メモリ 116から内部メモリに読み出し、隣接画素の画素値に 基づき、符号ィ匕対象ブロックのイントラモードにおける予測画像を生成する (ステップ Sl l)。
イントラ予測部 106は、生成した予測画像と内部メモリに格納された符号ィ匕対象ブ ロックの原画像との差分情報を算出し (ステップ S12)、算出した差分情報と、生成し た予測画像と、予測モード情報とをモード判定部 107に送出する。
[0073] モード判定部 107は、第 1動き補償部 103と第 2動き補償部 105とイントラ予測部 1 06からそれぞれ受領した差分情報に基づいて各符号ィ匕モード (インターモード、スキ ップモード、イントラモード)のうち、符号ィ匕量が最小となる符号ィ匕モードを、符号化対 象ブロックの符号ィ匕モードとして決定する (ステップ S 13)。
モード判定部 107は、決定した符号ィ匕モードを示すモード情報を動きべ外ル投機 算出部 102と動きベクトル決定部 104に、決定した符号ィ匕モードにおける差分情報 を直交変換部 108に、決定した符号化モードにおける予測画像を加算部 112に、モ ード情報と決定した符号ィ匕モードに応じた情報 (インターモードに決定した場合の動 き情報や、イントラモードに決定した場合の予測モード情報)を可変長符号ィ匕部 114 に送出する。
[0074] <第 3ステージの動作 >
次に、第 3ステージでの画像符号ィ匕装置 100の動作について説明する。 直交変換部 108は、モード判定部 107から受領した差分情報に対して離散コサイ ン変換等の直交変換処理を行い、処理結果である係数情報を量子化部 109に送出 し (ステップ S14)、量子化部 109は、直交変換部 108から受領した係数情報に対し て量子化処理を行い、量子化した係数情報を逆量子化部 110と可変長符号化部 11 4に送出する (ステップ S 15)。 [0075] 逆量子化部 110は、量子化部から受領した量子化した係数情報に対して逆量子化 処理を行!、、処理結果である係数情報を逆直交変換部 111に送出し (ステップ S 16) 、逆直交変換部 111は、逆量子化部 110から受領した係数情報に対して逆直交変 換処理を行い、処理結果である差分情報を加算部 112に送出する (ステップ S17)。
<第 4ステージの動作 >
次に、第 4ステージでの画像符号ィ匕装置 100の動作について説明する。
[0076] 第 4ステージでは、以下説明する加算部 112とデブロックフィルタ部
113の処理(ステップ318〜20)と、可変長符号化部 114の処理 (ステップ S21、 22) とは、並行して実行される。
加算部 112は、モード判定部 107から受領した予測画像と、逆直交変換部 111か ら受領した差分情報とを加算し、符号化対象ブロックの復号画像を生成し (ステップ S 18)、生成した復号画像をデブロックフィルタ部 113へ送出すると共に、 DMAコント ローラ 115を介して外部メモリ 116に格納する。
[0077] デブロックフィルタ部 113は、加算部 112から受領した復号画像に対してデブロック 処理を行い(ステップ S 19)、デブロック処理後の復号画像を、 DMAコントローラ 115 を介して外部メモリ 116に格納する (ステップ S20)。
可変長符号ィ匕部 114は、量子化部 109から受領した量子化した係数情報に対し可 変長符号化処理や算術符号化処理を行い (ステップ S21)、処理後の符号化ストリー ムを、 DMAコントローラ 115を介して外部メモリ 116に格納する(ステップ S22)。
[0078] <考察 >
以下、本実施の形態に係る画像符号ィ匕装置 100が奏する効果について、特許文 献 1における画像符号ィ匕装置と比較して説明する。
特許文献 1における画像符号ィ匕装置では、前ブロックの代わりに他の近傍ブロック の動き情報を用いて、符号ィ匕対象ブロックのスキップモードにおける動き情報を生成 しているため、パイプラインによる符号ィ匕処理の高速ィ匕を維持することはできる力 後 に決定した前ブロックの動き情報と近傍ブロックの動き情報とが相違する場合には、 スキップモードによる符号ィ匕ができな 、と 、う問題がある。
[0079] 一方、画像符号ィ匕装置 100は、符号ィ匕対象ブロックの前ブロックが選択し得る全て の動き情報に基づいて、符号ィ匕対象ブロックのスキップモードにおける動き情報候補 を算出し、前ブロックの動き情報決定後に、算出した動き情報効果から、決定した前 ブロックの動き情報に対応する 1つの動き情報を、符号化対象ブロックのスキップモ ードにおける動き情報として選択する。
[0080] 従って、パイプラインによる符号化処理の高速化を維持しつつ、各マクロブロックに ついて確実にスキップモードによる符号ィ匕が可能となるため、符号ィ匕量を削減するこ とがでさる。
<実施の形態 2 >
<概要 >
実施の形態 1の動きベクトル投機算出部 102は、前ブロックが選択しうる全ての符 号ィ匕モード (イントラモード、インターモード、スキップモード)のそれぞれに対する各 動き情報に基づいて、符号ィ匕対象ブロックのスキップモードにおける動き情報候補を 全て算出し、各動き情報候補が示す全ての参照画像を取得するものである。
[0081] しかし、符号ィ匕対象ブロックのスキップモードにおける動き情報候補を全て算出し、 各動き情報候補が示す全ての参照画像を取得するものとすると、動きベクトル投機算 出部 102の処理時間、特に参照画像の転送処理時間が大きくなり、また、全ての参 照画像を格納するための大容量の内部メモリが必要となる。
そこで、実施の形態 2の動きベクトル投機算出部は、前ブロックが選択し得る各符号 化モードのうち、画質や符号ィ匕効率の向上に有効な符号ィ匕モード、具体的にはイン ターモードとスキップモードとに対する各動き情報のみに基づいて、符号化対象プロ ックのスキップモードにおける動き情報候補を算出し、各動き情報候補が示す参照画 像を取得する。
[0082] これにより、動きベクトル投機算出部の処理時間、特に参照画像の転送処理時間を 抑え、また、内部メモリの容量を削減することができる。
<構成>
まず、実施の形態 2に係る画像符号ィ匕装置 200の構成について、図 4を用いて説 明する。
[0083] 図 4は、画像符号ィ匕装置 200の機能構成図である。 同図に示すように、画像符号ィ匕装置 200は、動き検出部 101、第 1動き補償部 103 、第 2動き補償部 105、イントラ予測部 106、直交変換部 108、量子化部 109、逆量 子化部 110、逆直交変換部 111、加算部 112、デブロックフィルタ部 113、可変長符 号化部 114、 DMAコントローラ 115、外部メモリ 116、動きベクトル投機算出部 201、 確認部 202、動きベクトル決定部 203、モード判定部 204を含んで構成される。
[0084] 動きベクトル投機算出部 201、確認部 202、動きベクトル決定部 203、モード判定 部 204以外については、実施の形態 1に係る画像符号ィ匕装置 100と同様であるため 、説明は省略する。
また、画像符号化装置 200は、図示していないが、 CPU (Central Processing Unit) 及び内部メモリを備え、上述の動きベクトル投機算出部 201、確認部 202、動きべタト ル決定部 203、モード判定部 204の各機能は、内部メモリに記憶されているプロダラ ムを CPUに実行させることにより実現される。
[0085] また、本実施の形態では、動きベクトル投機実行部 401の処理は、第 1ステージに 、確認部 202の処理と動きベクトル決定部 203の処理とモード判定部 204の処理とは 、第 2ステージに相当するようパイプラインを構成している。
動きベクトル投機算出部 201は、基本的には、画像符号ィ匕装置 100の動きベクトル 投機算出部 102と同様の機能を有するが、動き情報が決定していない前ブロックが 選択し得る符号ィ匕モードのうち、インターモードとスキップモードとに対する各動き情 報に基づいて、符号ィ匕対象ブロックの動き情報候補 (m2、 m3)を算出し、動きべタト ル決定部 203に送出すると共に、算出した動き情報候補 (m2、 m3)が示す各参照 画像を、 DMAコントローラ 115を介して外部メモリ 116から内部メモリに読み出して おく点で、動きベクトル投機算出部 102とは異なる。
[0086] 確認部 202は、モード判定部 204から受領した前ブロックのモード情報が示す符号 化モードがインターモード又はスキップモードであるかを確認し、動きベクトル決定部 203及びモード判定部 204に確認結果を示す確認結果情報を送出する機能を有す る。
動きベクトル決定部 203は、基本的には、画像符号ィ匕装置 100の動きベクトル決定 部 104と同様の機能を有するが、確認部 202から受領した確認結果情報が示す確 認結果が、前ブロックの符号ィ匕モードはインターモード又はスキップモードでない、即 ちイントラモードである旨を示す場合に、符号ィ匕対象ブロックのスキップモードにおけ る動き情報の選択を行わな 、点で、ベクトル決定部 104とは異なる。
[0087] モード判定部 204は、基本的には、画像符号化装置 100のモード判定部 107と同 様の機能を有するが、確認部 202から受領した確認結果情報が示す確認結果が、 前ブロックの符号化モードはインターモード又はスキップモードでな 、、即ちイントラ モードである旨を示す場合に、スキップモード以外のモードを符号化対象ブロックの 符号ィ匕モードとして決定する点で、モード判定部 107とは異なる。
[0088] つまり、前ブロックの符号ィ匕モード力イントラモードである場合には、第 1動き補償部 103から受領したインターモードにおける差分情報とイントラ予測部 106とから受領し たイントラモードにおける差分情報とに基づき、インターモードとイントラモードとのうち 符号量が小さくなる符号ィ匕モードを、符号化対象ブロックの符号化モードとして決定 する。
[0089] <動作 >
次に、上記構成を備える画像符号ィ匕装置 200の動作について、図 5を用いて説明 する。
図 5は、画像符号ィ匕装置 200の動作を示すフローチャートである。同図に示すステ ップ S01〜S22の処理は、図 3に示す実施の形態 1に係る画像符号ィ匕装置 100の同 符号の処理と同様であるため、説明は省略し、以下では、相違点のみについて説明 する。
[0090] 第 1ステージにおいて、動き検出部 101の処理 (ステップ S01〜03)と並行して、動 きベクトル投機算出部 201は、符号ィ匕対象ブロックの前ブロックの符号ィ匕モードをィ ンターモードとスキップモードとのそれぞれに仮定し、それぞれに仮定した場合の符 号ィ匕対象ブロックの動き情報候補 (m2、 m3)を算出し (ステップ S31)、算出した動き 情報候補 (m2、 m3)を動きベクトル決定部 203に送出する。
[0091] また、動きベクトル投機算出部 201は、動き情報候補 (m2、 m3)それぞれが示す参 照画像を、 DMAコントローラ 115を介して外部メモリ 116から内部メモリに読み出す( ステップ S32)。 第 2ステージにおいて、第 1動き補償部 103の処理 (ステップ S06、 07)と、イントラ 予測部 106の処理 (ステップ Sl l、 12)と並行して、確認部 202は、モード判定部 10 7から受領した前ブロックのモード情報が示す符号ィ匕モード力インターモード又はス キップモードであるカゝ否かを確認し (ステップ S33)、確認結果を示す確認結果情報 を動きベクトル決定部 203とモード判定部 204とに送出する。
[0092] 確認結果情報が、前ブロックの符号ィ匕モードはインターモード又はスキップモード である旨を示す場合には (ステップ S33 :Y)、動きベクトル決定部 203は、モード判定 部 107から受領した前ブロックのモード情報が示す符号ィ匕モードに対応する動き情 報を、動きべ外ル投機算出部 201から受領した動き情報候補 (m2、 m3)から符号 化対象ブロックのスキップモードにおける動き情報として選択し (ステップ S34)、選択 した動き情報を第 2動き補償部 105に送出する。
[0093] 第 2動き補償部 105は、実施の形態 1で説明したように、スキップモードにおける符 号ィ匕対象ブロックの予測画像の生成 (ステップ S09)と、符号化対象ブロックの予測 画像と原画像との差分情報の算出 (ステップ S10)とを行い、算出した差分情報と、生 成した予測画像と、動きベクトル決定部 203から受領したスキップモードにおける動き 情報とをモード判定部 204に送出する。
[0094] 確認結果情報が、前ブロックの符号ィ匕モードはインターモード又はスキップモード でない旨、即ちイントラモードである旨を示す場合には (ステップ S33 :N)、ステップ S 34、 S09、 S 10の処理を行わず、以降説明するステップ S35に進む。
モード判定部 107は、受領している差分情報とに基づき、符号ィ匕量が最小となる符 号化モードを、符号化対象ブロックの符号化モードとして決定する (ステップ S35)。
[0095] つまり、前ブロックの符号化モードがインターモード又はスキップモードである旨を 示す確認結果情報を確認部 202から受領している場合には、第 1動き補償部 103と 第 2動き補償部 105とイントラ予測部 106とからそれぞれ差分情報を受領しているた め、 3つの差分情報に基づいて符号ィ匕対象ブロックの符号ィ匕モードを決定する。 一方、前ブロックの符号化モードがインターモード又はスキップモードでない旨、即 ち、イントラモードである旨を示す確認結果情報を確認部 202から受領して 、る場合 には、第 2動き補償部 105から差分情報を受領していないため、第 1動き補償部 103 とイントラ予測部 106とから受領した 2つの差分情報に基づき、符号ィ匕対象ブロックの 符号化モードを決定する。
<補足 >
以上、本発明に係る画像符号ィ匕装置について実施の形態に基づいて説明したが、 以下のように変形することも可能であり、本発明は上述した実施の形態で示した通り の画像符号ィ匕装置に限られないことは勿論である。即ち、
(1)各実施の形態において、動き検出部 101が動き検出を行う際に用いる探索領 域画像は、符号化対象ブロックを含む符号化対象画像の 1つの前の画像に対する復 号画像であるとして説明したが、 1つ前の画像に対するもの限らず、複数枚前の画像 に対する復号画像であってもよ ヽ。
[0096] また、探索領域画像は、符号化対象画像の 1つの前の画像に対する復号画像全体 であるとして説明したが、その一部であってもよい。例えば、符号化対象画像の 1つ の前の画像に対する復号画像において、符号ィ匕対象ブロックと同 f立置にあるブロッ クとその周囲 15画素の範囲の画像としてもよ!/、。
(2)各実施の形態においては、 4ステージパイプラインにより処理を行うものとして説 明したが、 CPUの処理能力に応じて、例えば、実施の形態 1における第 3ステージと 第 4ステージとを 1つのステージにするよう構成し、 3ステージパイプラインにより処理 することとしてもよい。
[0097] (3)実施の形態 1における動きベクトル投機算出部 102は、符号化対象ブロックの スキップモードにおける動き情報候補を算出するものとして説明したが、空間ダイレク トモードにおける動き情報候補を算出するものとしてもよい。
なお、スキップモードにおいては、前ブロックの符号化モードがいずれのモードであ つても参照画像番号は「0」であるとして説明した力 空間ダイレクトモードの場合、 LO 、 L1方向それぞれについて、隣接ブロックの各参照画像番号のうち、最小の参照画 像番号を符号ィ匕対象ブロックの参照画像番号とする点でスキップモードの場合とは 異なる。
[0098] ただし、隣接ブロックの参照画像番号が「一 1」、即ち隣接ブロックの符号ィ匕モード 力 Sイントラモードである等の場合には、符号ィ匕対象ブロックの空間ダイレクトモードに おける参照画像番号は「0」となる。
なお、実施の形態 2の動きベクトル投機算出部 201においても同様に変形すること が可能である。
[0099] (4)実施の形態 2において、動きベクトル投機算出部 201は、動き情報が決定して いない前ブロックが選択し得る符号化モードのうち、インターモードとスキップモードと における各動き情報に基づいて、符号ィ匕対象ブロックの動き情報候補 (m2、 m3)を 算出するものとして説明したが、これに限られるものではなぐ例えば、イントラモード とスキップモードとに対する各動き情報に基づいて、符号ィ匕対象ブロックの動き情報 候補 (ml、 m3)を算出するものとしてもよいし、スキップモードに対する動き情報のみ に基づ!/、て、符号ィ匕対象ブロックの動き情報候補 (m3)を算出するものとしてもよ!、。
[0100] また、動きべ外ル投機算出部 201が算出する動き情報候補の個数に制限はなぐ CPUの処理能力等に応じて決定することが可能である。
(5)各実施の形態において、イントラ予測部 106の処理が第 2ステージの処理に含 まれるものとして説明した力 イントラ予測部 106の処理は、第 1ステージの処理に含 まれるものとしてもよい。つまり、イントラ予測部 106の処理は、モード判定部 107 (又 は 204)が符号ィ匕対象ブロックの符号ィ匕モードを決定するまでに、完了していればよ い。
[0101] (6)実施の形態 1において、動き検出部 101、動きベクトル投機算出部 102、第 1動 き補償部 103、動きベクトル決定部 104、第 2動き補償部 105、イントラ予測部 106、 モード判定部 107、直交変換部 108、量子化部 109、逆量子化部 110、逆直交変換 部 111、加算部 112、デブロックフィルタ部 113、可変長符号ィ匕部 114の各機能は、 内部メモリに記憶されているプログラムを CPUに実行させることにより実現するものと して説明した力 その処理の一部又は全部をノヽードウエアにより実現してもよい。
[0102] その際、各機能は、典型的には集積回路である LSIとして実現されるが、これらは 個別に 1チップィ匕されても良 、し、一部又は全てを含むように 1チップィ匕されても良 ヽ なお、実施の形態 2における動きベクトル投機算出部 201、確認部 202、動きべタト ル決定部 203、モード判定部 204の各機能についても同様である。 (7)各実施の形態において、画像符号化装置の各機能を実現するために CPUに 実行させるプログラムを、記録媒体に記録し、又は各種通信路等を介して流通させ、 頒布させることもできる。このような記録媒体には、 ICカード、ハードディスク、光ディ スク、フレキシブルディスク、 ROM等がある。流通、頒布されたプログラムは、プロセッ サに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサが そのプログラムを実行することにより、各実施の形態で示したような画像符号ィ匕装置 の各種機能が実現されるようになる。
[0103] (8)各実施の形態に係る画像符号ィ匕装置は、 MPEG4AVC規格に準拠するものと して説明した力 他の圧縮符号化方式、例えば MPEG4等に準拠するものであって ちょい。
産業上の利用可能性
[0104] 本発明に係る画像符号ィ匕装置は、符号ィ匕処理の高速ィ匕を図るために利用される。

Claims

請求の範囲
[1] 画像にっ ヽて、所定サイズのブロック単位で圧縮符号ィ匕する画像符号ィ匕装置であ つて、
各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測 画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特 定情報に基づき生成する第 1処理手段と、
前記第 1処理手段において 1のブロックが処理されるのと並行して、当該第 1処理 手段による処理が完了したブロックについての予測画像を、当該ブロックの予測画像 候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択 された 1つの予測画像を特定する予測画像特定情報に基づ ヽて選択し、圧縮符号 化結果に反映されるべき差分信号として、選択された 1つの予測画像と原画像との差 分信号を出力し、選択された 1つの予測画像を特定する予測画像特定情報を生成 する第 2処理手段とを備える
ことを特徴とする画像符号化装置。
[2] 前記画像符号化装置は、逐次入力される画像を圧縮符号化するものであり、 各ブロックについて、当該ブロックの予測画像候補特定情報は、他の画像を探索す ることにより検出した動きベクトルに基づいて生成した予測画像の候補を特定する特 定情報を含む
ことを特徴とする請求項 1記載の画像符号ィ匕装置。
[3] 各ブロックについて、当該ブロックの予測画像候補特定情報は、
当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの 動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含む ことを特徴とする請求項 1記載の画像符号ィ匕装置。
[4] 前記画像符号化装置は、更に
各ブロックを処理対象として逐次、当該ブロックに対して所定位置にある画素の画 素値に基づいて生成した予測画像の候補を特定する特定情報を前記予測画像候補 特定情報に含ませる第 3処理手段を備え、
前記第 2処理手段は、前記第 1処理手段による処理が完了したブロックについての 予測画像を、前記第 3処理手段が前記特定情報を含ませた予測画像候補特定情報 が示す予測画像の候補から選択する
ことを特徴とする請求項 1記載の画像符号ィ匕装置。
[5] 前記予測画像候補特定情報は、前記第 2処理手段による処理が完了したブロック の予測画像特定情報にも基づいて生成したものである
ことを特徴とする請求項 1記載の画像符号ィ匕装置。
[6] 各ブロックについて、当該ブロックの予測画像候補特定情報は、当該ブロックの前 ブロックの予測画像の候補の一部のみを特定する情報に基づいて生成したものであ る
ことを特徴とする請求項 1記載の画像符号ィ匕装置。
[7] 前記画像符号化装置は、第 1ステージと第 2ステージとの 2つのパイプラインステー ジカら構成されるノ ィプラインにより処理を行うものであり、
前記第 1処理手段は、各ブロックを処理対象として逐次、
他の画像を探索することにより検出した当該ブロックの動きベクトルに基づいて生成 した予測画像の候補を特定する特定情報を含む前記予測画像候補特定情報を生 成する動き検出部と、
当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの 動きべ外ルに基づいて生成した予測画像の候補を特定する特定情報を前記予測 画像候補特定情報に含める動きベクトル投機算出部とを含み、前記第 1ステージの 処理を実行するものであり、
前記第 2処理手段は、
前記予測画像候補特定情報が示す予測画像の候補のうち、前記動きべ外ル投機 算出部が生成した特定情報が示す予測画像の候補を前記前ブロックについての予 測画像特定情報に基づいて絞り込む動きベクトル決定部と、
前記動きベクトル決定部が絞り込んだ予測画像の候補と、前記予測画像候補特定 情報が示す予測画像の候補のうち、前記動き検出部が生成した特定情報が示す予 測画像の候補とから、前記第 1処理手段による処理が完了したブロックについての予 測画像を選択し、圧縮符号化結果に反映されるべき差分信号として、選択された 1つ の予測画像と原画像との差分信号を出力し、選択された 1つの予測画像を特定する 予測画像特定情報を生成するモード判定部とを含み、前記第 2ステージの処理を実 行するものである
ことを特徴とする請求項 1記載の画像符号ィ匕装置。
[8] 画像について、所定サイズのブロック単位で圧縮符号ィ匕する画像符号ィ匕方法であ つて、
各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測 画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特 定情報に基づき生成する第 1処理ステップと、
前記第 1処理ステップにおいて 1のブロックが処理されるのと並行して、当該第 1処 理ステップによる処理が完了したブロックについての予測画像を、当該ブロックの予 測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対し て選択された 1つの予測画像を特定する予測画像特定情報に基づ 、て選択し、圧 縮符号化結果に反映されるべき差分信号として、選択された 1つの予測画像と原画 像との差分信号を出力し、選択された 1つの予測画像を特定する予測画像特定情報 を生成する第 2処理ステップとを含む
ことを特徴とする画像符号化方法。
[9] 画像について、所定サイズのブロック単位で圧縮符号化する圧縮符号化処理をコ ンピュータに行わせるためのコンピュータプログラムであって、
前記圧縮符号化処理は、
各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測 画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特 定情報に基づき生成する第 1処理ステップと、
前記第 1処理ステップにおいて 1のブロックが処理されるのと並行して、当該第 1処 理ステップによる処理が完了したブロックについての予測画像を、当該ブロックの予 測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対し て選択された 1つの予測画像を特定する予測画像特定情報に基づ 、て選択し、圧 縮符号化結果に反映されるべき差分信号として、選択された 1つの予測画像と原画 像との差分信号を出力し、選択された 1つの予測画像を特定する予測画像特定情報 を生成する第 2処理ステップとを含む
ことを特徴とするコンピュータプログラム。
画像にっ ヽて、所定サイズのブロック単位で圧縮符号ィ匕する画像符号ィ匕用集積回 路であって、
各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測 画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特 定情報に基づき生成する第 1処理手段と、
前記第 1処理手段において 1のブロックが処理されるのと並行して、当該第 1処理 手段による処理が完了したブロックについての予測画像を、当該ブロックの予測画像 候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択 された 1つの予測画像を特定する予測画像特定情報に基づ ヽて選択し、圧縮符号 化結果に反映されるべき差分信号として、選択された 1つの予測画像と原画像との差 分信号を出力し、選択された 1つの予測画像を特定する予測画像特定情報を生成 する第 2処理手段とを備える
ことを特徴とする画像符号化用集積回路。
PCT/JP2007/060516 2006-05-24 2007-05-23 画像符号化装置、画像符号化方法、及び画像符号化用集積回路 WO2007136088A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US12/301,630 US20090110077A1 (en) 2006-05-24 2007-05-23 Image coding device, image coding method, and image coding integrated circuit
EP07743950.3A EP2026585A4 (en) 2006-05-24 2007-05-23 IMAGE ENCODING DEVICE AND METHOD, AND IMAGE ENCODING INTEGRATED CIRCUIT
CN2007800189789A CN101455087B (zh) 2006-05-24 2007-05-23 图像编码装置、图像编码方法及图像编码用集成电路
JP2008516716A JPWO2007136088A1 (ja) 2006-05-24 2007-05-23 画像符号化装置、画像符号化方法、及び画像符号化用集積回路
US14/555,825 US9667972B2 (en) 2006-05-24 2014-11-28 Image coding device, image coding method, and image coding integrated circuit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006143840 2006-05-24
JP2006-143840 2006-05-24

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US12/301,630 A-371-Of-International US20090110077A1 (en) 2006-05-24 2007-05-23 Image coding device, image coding method, and image coding integrated circuit
US14/555,825 Continuation US9667972B2 (en) 2006-05-24 2014-11-28 Image coding device, image coding method, and image coding integrated circuit

Publications (1)

Publication Number Publication Date
WO2007136088A1 true WO2007136088A1 (ja) 2007-11-29

Family

ID=38723398

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/060516 WO2007136088A1 (ja) 2006-05-24 2007-05-23 画像符号化装置、画像符号化方法、及び画像符号化用集積回路

Country Status (5)

Country Link
US (2) US20090110077A1 (ja)
EP (1) EP2026585A4 (ja)
JP (2) JPWO2007136088A1 (ja)
CN (2) CN101455087B (ja)
WO (1) WO2007136088A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013172350A (ja) * 2012-02-21 2013-09-02 Fujitsu Ltd 動画像符号化装置及び動画像符号化方法
JP6078138B1 (ja) * 2015-10-30 2017-02-08 Nttエレクトロニクス株式会社 動画像符号化装置及び動画像符号化方法

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100939917B1 (ko) * 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
CN102957914B (zh) 2008-05-23 2016-01-06 松下知识产权经营株式会社 图像解码装置、图像解码方法、图像编码装置、以及图像编码方法
JP2009290498A (ja) * 2008-05-29 2009-12-10 Renesas Technology Corp 画像符号化装置及び画像符号化方法
CN102224734B (zh) * 2008-10-02 2013-11-13 索尼公司 图像处理设备和方法
KR101377527B1 (ko) * 2008-10-14 2014-03-25 에스케이 텔레콤주식회사 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
WO2010082904A1 (en) * 2009-01-15 2010-07-22 Agency For Science, Technology And Research Image encoding methods, image decoding methods, image encoding apparatuses, and image decoding apparatuses
TWI463878B (zh) 2009-02-19 2014-12-01 Sony Corp Image processing apparatus and method
KR101483750B1 (ko) 2009-07-24 2015-01-19 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
JP5368631B2 (ja) 2010-04-08 2013-12-18 株式会社東芝 画像符号化方法、装置、及びプログラム
US8988531B2 (en) * 2010-07-08 2015-03-24 Texas Instruments Incorporated Method and apparatus for sub-picture based raster scanning coding order
WO2012011432A1 (ja) * 2010-07-20 2012-01-26 株式会社エヌ・ティ・ティ・ドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び、画像予測復号プログラム
SG10201506682SA (en) * 2010-09-30 2015-10-29 Mitsubishi Electric Corp Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
WO2012074344A2 (ko) * 2010-12-03 2012-06-07 엘지전자 주식회사 움직임 정보 리스트 인덱싱 방법 및 이러한 방법을 사용하는 장치
CN105430390B (zh) * 2011-06-30 2017-04-12 Jvc建伍株式会社 图像解码装置、图像解码方法、接收装置及接收方法
US9094689B2 (en) 2011-07-01 2015-07-28 Google Technology Holdings LLC Motion vector prediction design simplification
US9185428B2 (en) 2011-11-04 2015-11-10 Google Technology Holdings LLC Motion vector scaling for non-uniform motion vector grid
KR20130050407A (ko) 2011-11-07 2013-05-16 오수미 인터 모드에서의 움직임 정보 생성 방법
US20130208795A1 (en) * 2012-02-09 2013-08-15 Google Inc. Encoding motion vectors for video compression
US8908767B1 (en) 2012-02-09 2014-12-09 Google Inc. Temporal motion vector prediction
WO2013136678A1 (ja) * 2012-03-16 2013-09-19 パナソニック株式会社 画像復号装置および画像復号方法
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9313493B1 (en) 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
US20150350688A1 (en) * 2014-05-30 2015-12-03 Apple Inc. I-frame flashing fix in video encoding and decoding
CN104601988B (zh) * 2014-06-10 2018-02-02 腾讯科技(北京)有限公司 视频编码器、方法和装置及其帧间模式选择方法和装置
US9854261B2 (en) * 2015-01-06 2017-12-26 Microsoft Technology Licensing, Llc. Detecting markers in an encoded video signal
JP6501532B2 (ja) 2015-01-23 2019-04-17 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
JP6329521B2 (ja) * 2015-04-09 2018-05-23 日本電信電話株式会社 参照画像バッファ
KR20180111378A (ko) * 2017-03-31 2018-10-11 주식회사 칩스앤미디어 병렬 처리를 위한 움직임 정보를 처리하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
CN111050164B (zh) * 2018-10-15 2022-05-17 华为技术有限公司 一种编解码的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000244925A (ja) * 1999-02-24 2000-09-08 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
JP2005244503A (ja) * 2004-02-25 2005-09-08 Sony Corp 画像情報符号化装置および画像情報符号化方法
JP2005295526A (ja) * 2004-03-11 2005-10-20 Matsushita Electric Ind Co Ltd 画像符号化方法、画像符号化装置および画像符号化プログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4142180B2 (ja) * 1998-10-29 2008-08-27 富士通株式会社 動きベクトル符号化装置および復号装置
IL129345A (en) * 1999-04-06 2004-05-12 Broadcom Corp Video encoding and video/audio/data multiplexing device
US6934335B2 (en) * 2000-12-11 2005-08-23 Sony Corporation Video encoder with embedded scene change and 3:2 pull-down detections
CA2574126A1 (en) * 2002-01-18 2003-07-31 Kabushiki Kaisha Toshiba Video encoding method and apparatus and video decoding method and apparatus
JP2004007379A (ja) * 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
JP4193406B2 (ja) * 2002-04-16 2008-12-10 三菱電機株式会社 映像データ変換装置および映像データ変換方法
CN1312927C (zh) * 2002-07-15 2007-04-25 株式会社日立制作所 动态图像编码方法及解码方法
ES2524117T3 (es) * 2002-08-08 2014-12-04 Panasonic Intellectual Property Corporation Of America Procedimiento de codificación y procedimiento de descodificación de imágenes en movimiento
AU2003284958A1 (en) * 2003-01-10 2004-08-10 Thomson Licensing S.A. Fast mode decision making for interframe encoding
US20040146108A1 (en) * 2003-01-23 2004-07-29 Shih-Chang Hsia MPEG-II video encoder chip design
JP2005005844A (ja) * 2003-06-10 2005-01-06 Hitachi Ltd 計算装置及び符号化処理プログラム
CN1225127C (zh) * 2003-09-12 2005-10-26 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
JP2005184233A (ja) * 2003-12-17 2005-07-07 Sony Corp データ処理装置およびその方法と符号化装置
US8111752B2 (en) * 2004-06-27 2012-02-07 Apple Inc. Encoding mode pruning during video encoding
CN100534193C (zh) * 2004-08-04 2009-08-26 松下电器产业株式会社 图像解码装置
JP4501631B2 (ja) * 2004-10-26 2010-07-14 日本電気株式会社 画像符号化装置及び方法、画像符号化装置のコンピュータ・プログラム、並びに携帯端末
US20060222074A1 (en) * 2005-04-01 2006-10-05 Bo Zhang Method and system for motion estimation in a video encoder

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000244925A (ja) * 1999-02-24 2000-09-08 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
JP2005244503A (ja) * 2004-02-25 2005-09-08 Sony Corp 画像情報符号化装置および画像情報符号化方法
JP3879741B2 (ja) 2004-02-25 2007-02-14 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
JP2005295526A (ja) * 2004-03-11 2005-10-20 Matsushita Electric Ind Co Ltd 画像符号化方法、画像符号化装置および画像符号化プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2026585A4

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013172350A (ja) * 2012-02-21 2013-09-02 Fujitsu Ltd 動画像符号化装置及び動画像符号化方法
JP6078138B1 (ja) * 2015-10-30 2017-02-08 Nttエレクトロニクス株式会社 動画像符号化装置及び動画像符号化方法
JP2017085448A (ja) * 2015-10-30 2017-05-18 Nttエレクトロニクス株式会社 動画像符号化装置及び動画像符号化方法
US10015508B2 (en) 2015-10-30 2018-07-03 Ntt Electronics Corporation Video encoding device and video encoding method

Also Published As

Publication number Publication date
US20090110077A1 (en) 2009-04-30
EP2026585A1 (en) 2009-02-18
CN101455087A (zh) 2009-06-10
CN101455087B (zh) 2011-01-12
US9667972B2 (en) 2017-05-30
CN101998120B (zh) 2014-07-30
JP2013258732A (ja) 2013-12-26
JP5617014B2 (ja) 2014-10-29
EP2026585A4 (en) 2016-08-31
JPWO2007136088A1 (ja) 2009-10-01
CN101998120A (zh) 2011-03-30
US20150085918A1 (en) 2015-03-26

Similar Documents

Publication Publication Date Title
WO2007136088A1 (ja) 画像符号化装置、画像符号化方法、及び画像符号化用集積回路
JP4495580B2 (ja) 面内予測装置および面内予測方法
JP4763422B2 (ja) イントラ予測装置
TWI478586B (zh) 動向量預測編碼方法、動向量預測解碼方法、動畫像編碼裝置、動畫像解碼裝置及其程式
US9948944B2 (en) Image coding apparatus and image coding method
TWI600313B (zh) Image prediction decoding device, image prediction decoding method
JP5216710B2 (ja) 復号化処理方法
JP4606311B2 (ja) 画像符号化装置および画像符号化方法
JP2010081465A (ja) 動画像符号化方法および動画像復号化方法
JP2008109632A (ja) 動きベクトル検出装置及びその方法
US9596467B2 (en) Motion estimation device for predicting a vector by referring to motion vectors of adjacent blocks, motion estimation method and storage medium of motion estimation program
JP2007124408A (ja) 動きベクトル検出装置および動きベクトル検出方法
KR20090014371A (ko) 움직임 검출 장치
WO2013080789A1 (en) Moving image encoding apparatus, method of controlling the same, and program
JP5938935B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2008154072A (ja) 動画像符号化装置及び動画像符号化方法
JP2007325119A (ja) 画像処理装置及び画像処理方法
JP4032049B2 (ja) 動きベクトル検出方法及びその装置
JP6918661B2 (ja) 符号化装置、符号化方法及びプログラム
JP2009267726A (ja) 動画像符号化装置、録画装置、動画像符号化方法、動画像符号化プログラム
JP2000050278A (ja) 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
JP6311821B2 (ja) 動画像処理装置及び動画像処理方法
JP4165447B2 (ja) 動きベクトル検出装置及び動きベクトル検出プログラム
JP2006108932A (ja) 複数参照画像を用いた動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム及び動画像復号プログラム
JP2008193456A (ja) 動画像符号化における動き予測方法及び装置

Legal Events

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

Ref document number: 200780018978.9

Country of ref document: CN

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

Ref document number: 07743950

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008516716

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 12301630

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2007743950

Country of ref document: EP