WO2009130971A1 - 動画像符号化装置および動画像復号装置 - Google Patents
動画像符号化装置および動画像復号装置 Download PDFInfo
- Publication number
- WO2009130971A1 WO2009130971A1 PCT/JP2009/056258 JP2009056258W WO2009130971A1 WO 2009130971 A1 WO2009130971 A1 WO 2009130971A1 JP 2009056258 W JP2009056258 W JP 2009056258W WO 2009130971 A1 WO2009130971 A1 WO 2009130971A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- unit
- motion
- prediction mode
- image
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Definitions
- the present invention relates to a moving image encoding device and a moving image decoding device capable of performing an encoding / decoding process according to the performance of the device.
- MPEG-4 AVC / H.264 (hereinafter abbreviated as H.264), which is the latest international standard for moving picture coding technology, improves on conventional coding technology by improving intra prediction technology and inter prediction technology. Prediction performance is improved.
- prediction is performed on transform coefficients after DCT (Discrete Cosine Transform), and there are three types of prediction methods: DC prediction and AC prediction in the horizontal / vertical direction.
- DCT Discrete Cosine Transform
- prediction methods are 9 types in units of 4 ⁇ 4 blocks, 9 types in units of 8 ⁇ 8 blocks, and 4 types in units of 16 ⁇ 16 blocks. Since the most suitable prediction mode can be selected from many prediction modes, the prediction accuracy is increased.
- the motion compensation is conventionally only 16 ⁇ 16 block size and 8 ⁇ 8 block size.
- the prediction accuracy is increased.
- key frames (or fields, hereinafter collectively referred to as frames) are periodically inserted for random access and high-speed playback.
- H.264 an IDR (Instantaneous Decoder Refresh) picture is used as the key frame, and a closed GOP (Group Of Pictures) that prohibits a picture decoded after the IDR picture from referring to a picture decoded before the IDR picture. Often takes the structure.
- Non-Patent Document 1 in a scene in which the entire screen is moved by camera work, the motion of the entire screen or an intra prediction block in the vicinity of the encoding target block is determined when determining the prediction mode for P and B pictures.
- a method of selecting an intra / inter prediction mode is proposed in consideration of the ratio.
- Patent Document 1 when it is determined that GOP-based flicker is easily recognized, a method of encoding using an open GOP instead of a closed GOP or a method of selecting an intra / inter prediction mode is changed, A method has been proposed for avoiding sudden changes in the image in the time direction that are recognized as distortion (flicker).
- Patent Document 2 the decoding device side adjusts the filtering strength in the time and space directions based on the information of the encoded data, and blurs the texture of the portion determined to be prone to generate flicker ( A method for suppressing flicker is proposed.
- Non-Patent Document 1 has the following problems. ⁇ A new calculation of the movement of the entire screen is required, which increases the amount of processing. -As a result of the cost calculation, since the block that is originally determined to have a smaller code amount when the intra prediction is selected is changed to the inter prediction, the code amount may increase. -Since the scene moves on the entire screen, it cannot be applied to a scene in which only a part of the screen is a moving area.
- Patent Document 1 has the following problems. When changing to an open GOP, a picture that cannot be decoded normally occurs, so additional processing such as preventing the picture that could not be decoded normally from being displayed is required. -It cannot be applied to applications that cannot support open GOP such as 1Seg.
- Patent Document 2 since the filter strength is partially changed, there is a problem that flicker is conspicuous in the case of misjudgment, and it is difficult to adjust the filter strength.
- the present invention has been made in consideration of the above-described circumstances, and suppresses encoding distortion in a moving area and improves the quality of a reproduced image while maintaining compatibility with the standard MPEG-4 AVC / H.264.
- An object of the present invention is to provide a moving image encoding device and a moving image decoding device that can add the above process.
- a moving image encoding device is a moving image encoding device that divides a moving image into small blocks, selects either an intra prediction mode or an inter prediction mode as a prediction mode for each block, and outputs encoded data.
- a motion amount calculation unit that calculates a motion amount of the image corresponding to the camera motion based on the shooting parameters of the camera, and a comparison unit that compares the motion vector used in the inter prediction mode for each block with the motion amount
- an additional data encoding unit that encodes the amount of motion and position information of the corresponding block according to the comparison result and adds the encoded information to the encoded data.
- the moving picture is divided into small blocks, and coded data encoded by selecting either the intra prediction mode or the inter prediction mode as the prediction mode for each block is obtained.
- the motion amount and the position information of the corresponding block are encoded according to the comparison result between the motion vector used in the inter prediction mode for each block and the motion amount of the image corresponding to the motion of the camera.
- a video decoding device that acquires additional data added to the encoded data and performs decoding processing, and decodes the additional data added to the encoded data to acquire motion amount and block position information
- a combining unit for combining the image of the generated motion compensation block in the image and the motion compensation unit of No. processed blocks are those comprising a.
- the moving image encoding apparatus divides the moving image into small blocks, selects either the intra prediction mode or the inter prediction mode as the prediction mode for each block, and outputs encoded data.
- a motion amount calculation unit that calculates a motion amount of an image corresponding to the motion of the camera based on a shooting parameter of the camera, and when the motion amount is a predetermined value or less
- a comparison unit that compares the motion vector used in the inter prediction mode for each block and the motion amount, and encodes the motion amount and position information of the corresponding block according to the comparison result, to the encoded data
- an additional data encoding unit to be added for a key frame, a motion amount calculation unit that calculates a motion amount of an image corresponding to the motion of the camera based on a shooting parameter of the camera, and when the motion amount is a predetermined value or less.
- the video is divided into small blocks, and is encoded by selecting either the intra prediction mode or the inter prediction mode as the prediction mode for each block.
- the motion vector used in the inter prediction mode for each block and the motion amount A moving image decoding apparatus that encodes the motion amount and position information of a corresponding block according to a comparison result, acquires additional data added to the encoded data, and performs a decoding process on the key frame.
- An additional data decoding unit that decodes the additional data added to the digitized data to obtain a motion amount and block position information;
- a motion compensation unit that generates a compensation block, and a synthesis unit that synthesizes an image of the block of the encoded data corresponding to the block of position information and a motion compensation block image generated by the motion compensation unit are provided.
- FIG. 10 is a flowchart for describing a processing procedure of additional data of the video encoding device according to the third embodiment.
- variable length decoding unit 403 ... inverse quantization unit, 404 ... inverse orthogonal transform unit, 405 ... addition unit, 406 ... in-loop filter, 407 ... frame memory, 408 ... intra prediction unit, 409 ... Motion compensation unit, 410 ... changeover switch, 411 ... additional data decoding unit, 412 ... post-processing unit, 501 ... synthesis unit, 502 ... motion compensation unit, 503 ... position information determination unit.
- FIG. 1 is a block diagram illustrating a configuration of a video encoding apparatus according to the first embodiment.
- the moving image coding apparatus includes an orthogonal transform unit 101, a quantization unit 102, a variable length coding unit 103, a rate control unit 104, an inverse quantization unit 105, an inverse orthogonal transform unit 106, an addition unit 107, a loop.
- Inner filter 108 Frame memory 109, intra prediction unit 110, motion detection unit 111, motion compensation unit 112, prediction mode determination unit 113, subtraction unit 114, pixel number calculation unit (motion amount calculation unit) 115, comparison unit 116, addition
- the data coding unit 117 and the coded data reconstruction unit 118 are configured.
- a frame constituting a moving picture stream is divided into macroblock units, and encoding is executed for each macroblock. Then, encoding is executed for each macroblock by determining the intra prediction mode, the inter prediction mode, or any other mode.
- a prediction block of an encoding target block is generated, and a prediction error block calculated from the encoding target block and the prediction block is encoded by orthogonal transform, quantization, and variable length encoding.
- the positional relationship between the encoding target block and the corresponding area on the reference frame is detected as a motion vector, and the area on the reference frame that is displaced from the encoding target frame by the motion vector is predicted.
- a prediction error block calculated from the encoding target block and the prediction block is encoded by orthogonal transformation, quantization, and variable length encoding.
- the subtraction unit 114 calculates a prediction error block between the encoding target block of the input image and the prediction block input from the prediction mode determination unit 113 and outputs the prediction error block to the orthogonal transform unit 101.
- the orthogonal transform unit 101 outputs transform coefficients generated by performing orthogonal transform such as discrete cosine transform on the prediction error block input from the subtraction unit 114 to the quantization unit 102.
- the quantization unit 102 quantizes and transforms the transform coefficient output from the orthogonal transform unit 101 at a quantization scale defined according to the quantization parameter.
- the data is output to long coding section 103 and inverse quantization section 105.
- the rate control unit 104 monitors the amount of code generated by the variable length encoding unit 103, determines a quantization parameter for matching with the target code amount, and outputs this to the quantization unit 102.
- variable length coding unit 103 performs variable length coding on the quantized transform coefficient input from the quantization unit 102 and stores the result in a buffer (not shown). At this time, the variable length encoding unit 103 encodes the motion vector input from the motion compensation unit 112 when the prediction mode determined by the prediction mode determination unit 113 and the prediction mode is inter prediction, and Store in header data. Further, the variable length coding unit 103 includes the quantization scale used in the quantization in the quantization unit 102 in each macroblock.
- the inverse quantization unit 105 performs inverse quantization on the quantized transform coefficient based on the quantization scale used in the quantization unit 102 and outputs the quantized transform coefficient to the inverse orthogonal transform unit 106.
- the inverse orthogonal transform unit 106 performs inverse orthogonal transform corresponding to the orthogonal transform of the orthogonal transform unit 101 on the inversely quantized transform coefficient input from the inverse quantization unit 105, and outputs the result to the addition unit 107.
- the addition unit 107 adds the prediction block determined by the prediction mode determination unit 113 and the inversely transformed prediction error input from the inverse orthogonal transform unit 106, and outputs the result to the in-loop filter 108.
- the in-loop filter 108 removes block distortion from the locally decoded image input from the adder 107 and writes it into the frame memory 109 as a reference frame.
- the intra prediction unit 110 performs intra prediction on each macroblock from the locally decoded pixel values in the same image for each of a plurality of predefined intra prediction modes, determines an optimal prediction mode, The prediction mode and prediction block of the case are output to the prediction mode determination unit 113.
- the motion detection unit 111 detects a motion vector of the encoding target block of the input image and outputs the detected motion vector to the motion compensation unit 112, the variable length encoding unit 103, and the comparison unit 116.
- the motion detection unit 111 searches for a portion similar to the current block in a predetermined search range of the reference frame stored in the frame memory 109, and detects a spatial movement amount from the current block as a motion vector.
- the motion compensation unit 112 generates a prediction block using the motion vector input from the motion detection unit 111 and the reference frame stored in the frame memory 109, and sends the prediction mode and the prediction block to the prediction mode determination unit 113. Output.
- the prediction mode determination unit 113 compares the prediction block input from the intra prediction unit 110 and the prediction block input from the motion compensation unit 112 with each encoding target block, and selects a prediction block determined to have a small prediction error. While outputting to the subtraction part 114, the selected intra or inter prediction mode is output to the variable length encoding part 103.
- the pixel number calculation unit 115 the comparison unit 116, the additional data encoding unit 117, and the encoded data reconstruction unit 118, which are unique configurations of the moving image encoding apparatus according to the first embodiment, will be described in detail.
- the amount of motion (converted to the number of pixels) Ds of the camera can be calculated by the following equation.
- Dr is a focal length at the time of shooting
- ⁇ is an angle of the shooting direction (lens direction) in the horizontal or vertical direction of the camera
- ⁇ is a ratio for expressing the shot image with a predetermined image size.
- Ds Dr ⁇ tan ⁇ ⁇ ⁇
- the camera motion amount Ds is substantially the same as the motion vector MV detected by the motion detector 111 when the subject to be photographed is stationary and only the camera pan is used.
- the pixel number calculation unit 115 calculates the amount of movement Ds of the camera in the horizontal direction and the vertical direction from the shooting parameters of the camera as described above, and outputs it to the comparison unit 116.
- the comparison unit 116 calculates the difference between the camera motion amount Ds and the motion vector MV detected by the motion detection unit 111. If this difference is less than or equal to a predetermined threshold TH MV , the encoding target block is similar to camera work. The position information of the block to be encoded and the motion amount Ds are output to the additional data encoding unit 117. If the difference is larger than a predetermined threshold TH MV , nothing is output.
- the additional data encoding unit 117 encodes the position information output from the comparison unit 116 and the camera motion amount Ds, and outputs the encoded information to the encoded data reconstruction unit 118. Since the camera motion amount Ds is one vector for one image, one image may be encoded for each image. In addition, as a method of encoding the position information of the block requiring the motion amount Ds, as shown in FIG. There is a method of performing run-length encoding with 0 being zero.
- the encoded data reconstruction unit 118 adds the additional data encoded by the additional data encoding unit 117 to the buffer in which the encoded data created by the variable length encoding unit 103 is stored, and encodes the encoded data. Reconstruct the data. There are the following methods for storing the additional data in the buffer.
- the encoded data is represented as a packet composed of a packet header and packet data when multiplexed with voice, text data, or the like.
- the packet header includes data identifier (stream_id) stored in the packet data, reproduction output time management information (PTS: Presentation Time Stamp), Decoding time management information (DTS: Decoding Time Stamp) and the like are stored.
- the packet data stores data indicated by an identifier indicated by stream_id.
- private_stream_1 (10111101 in binary) or metadata_stream (11111100 in binary) is set in the stream_id field of the packet header, and the additional data encoded by the additional data encoding unit 117 is packetized.
- the reproduction output time and decoding time of the encoded data synchronized with the additional data are stored in the PTS and DTS of the packet header, respectively.
- redundant pictures can be stored in addition to encoded data of normal image data (main picture).
- the position information and the motion amount Ds output from the comparison unit 116 are converted into the H.264 encoded data format and stored in the redundant picture.
- FIG. 3 shows an example in which one camera motion amount Ds is encoded for each image and position information is run-length encoded.
- the imaging parameters (Dr, ⁇ , ⁇ ) of the image to be encoded are read from the camera (step S1), and the horizontal and vertical motion amount Ds of the camera is calculated in terms of the number of pixels from the imaging parameters (step S1). S2), this motion amount Ds is encoded (step S3).
- the pixel number calculation unit 115 is configured by these steps S1 and S2.
- the comparison unit 116 is configured by steps S4 to S8. Steps S4 to S8 are repeated for each macroblock of the encoding target image.
- the difference between the camera motion amount Ds and the motion vector MV of the encoding target block detected by the motion detection unit 111 is calculated, and if this difference is equal to or smaller than a predetermined threshold TH MV (YES in step S4), the encoding target 1 is set at the block position (step S5).
- a predetermined threshold TH MV NO in step S4
- 0 is set to the position of the encoding target block (step S6).
- step S9 the position information is run-length encoded.
- the additional data encoding unit 117 is configured by steps S3 and S9.
- the motion of the encoding target block is similar to the camera work based on the difference between the camera motion amount Ds and the encoding target block motion vector MV.
- a prediction error amount when the camera motion amount Ds is used as a motion vector is separately calculated. It is also possible to determine whether the motion of the encoding target block is similar to camera work by comparing the obtained prediction error amount of the motion vector MV.
- the prediction mode selected by the prediction mode determination unit 113 is also added to the determination condition, and the encoding target Only a block whose block motion is similar to camera work and determined to be in the intra prediction mode can be encoded as a block that requires the motion amount Ds on the video decoding device side.
- This moving image decoding apparatus performs decoding processing using encoded data and additional data output from the moving image encoding apparatus.
- FIG. 4 is a block diagram of the video decoding apparatus according to the first embodiment.
- the video decoding apparatus includes an input buffer 401, a variable length decoding unit 402, an inverse quantization unit 403, and an inverse orthogonal transform unit. 404, an addition unit 405, an in-loop filter 406, a frame memory 407, an intra prediction unit 408, a motion compensation unit 409, a changeover switch 410, an additional data decoding unit 411, and a post processing unit 412.
- variable length decoding unit 402 the inverse quantization unit 403, the inverse orthogonal transform unit 404, the addition unit 405, the in-loop filter 406, the frame memory 407, the intra prediction unit 408, the motion compensation unit 409, and the changeover switch 410.
- the variable length decoding unit 402 the inverse quantization unit 403, the inverse orthogonal transform unit 404, the addition unit 405, the in-loop filter 406, the frame memory 407, the intra prediction unit 408, the motion compensation unit 409, and the changeover switch 410.
- the input code data is temporarily stored in the input buffer 401, the moving image encoded data is provided to the variable length decoding unit 402 and the additional data is provided to the additional data decoding unit 411 as necessary.
- variable length decoding unit 402 decodes the moving image encoded data, and separates the prediction mode, motion vector, quantization scale, and quantized transform coefficient of each macroblock.
- the variable length decoding unit 402 outputs the quantization scale and the quantized transform coefficient to the inverse quantization unit 403, outputs the prediction mode to the changeover switch 410, and outputs the motion vector to the motion compensation unit 409.
- the inverse quantization unit 403 performs inverse quantization on the transform coefficient input from the variable length decoding unit 402 and outputs the transform coefficient to the inverse orthogonal transform unit 404.
- the inverse orthogonal transform unit 404 performs inverse orthogonal transform on the inversely quantized transform coefficient input from the inverse quantization unit 403 and outputs the transform coefficient to the addition unit 405.
- the adding unit 405 adds the prediction block output from the changeover switch 410 and the prediction error block output from the inverse orthogonal transform unit 404, and outputs the result to the intra prediction unit 408 and the in-loop filter 406.
- the in-loop filter 406 filters the decoded block input from the adding unit 405 and stores it in the frame memory 407.
- the intra prediction unit 408 outputs the prediction block predicted intra from the decoded pixel value in the same image input from the addition unit 405 to the changeover switch 410.
- the motion compensation unit 409 calculates a prediction block from the decoded image stored in the frame memory 407 and the motion vector decoded by the variable length decoding unit 402 and outputs the prediction block to the changeover switch 410.
- the changeover switch 410 selects a prediction block from the intra prediction unit 408 when the prediction mode input from the variable length decoding unit 402 is the intra prediction mode, and when the prediction mode is the inter prediction mode, The prediction block from the motion compensation unit 409 is selected and output to the addition unit 405.
- the additional data decoding unit 411 decodes the additional data input from the input buffer 401, and sends related information of camera shooting parameters (camera motion amount Ds and block position information that requires the motion amount Ds) to the post processing unit 412. Output.
- the post-processing unit 412 performs post-processing using related information on camera shooting parameters. As illustrated in FIG. 5, the post processing unit 412 includes a synthesis unit 501, a motion compensation unit 502, and a position information determination unit 503. Here, the motion compensation unit 502 has the same function as the motion compensation unit 409 in FIG.
- the position information determination unit 503 extracts a block that needs to be processed by the motion compensation unit 502 from the position information of the block that requires the camera motion amount Ds, converts the block into position information in the horizontal and vertical directions, and the motion compensation unit The position information is notified to 502.
- the motion compensation unit 502 generates and synthesizes a motion compensation block for the decoding target block using the position information of the block for motion compensation, the camera motion amount Ds corresponding to the motion vector, and the reference image stored in the frame memory 407. Output to the unit 501.
- the synthesizing unit 501 synthesizes the motion compensation block input from the motion compensation unit 502 and the corresponding decoded block in the decoded image input from the frame memory 407 (H.264-compliant moving image decoding apparatus), and reproduces the reproduced image. Is output. However, the synthesizing unit 501 does not perform motion compensation for a block that does not require the camera motion amount Ds, and outputs the decoded block decoded by the H.264-compliant moving image decoding apparatus as it is as a reproduced image.
- the synthesis method of the decoded block and the motion compensation block may be an average of both blocks, or depends on the type of prediction mode and the block size of the encoding target block decoded by the video decoding device compliant with H.264. Then, adaptive processing such as weighted sum may be performed, or the decoded block may be replaced with a motion compensation block.
- this post processing is performed on each block of the image immediately before reproduction, it does not affect the reference image used for prediction stored in the frame memory 407, and thus free processing in the video decoding device is possible. .
- the moving image decoding apparatus maintains compatibility with H.264. In accordance with the performance, it is possible to perform processing for improving the image quality of the reproduced image. On the other hand, even when the moving picture decoding apparatus does not perform post processing or does not have post processing, the minimum image quality decoded from encoded data compliant with H.264 is guaranteed.
- the position information of the block corresponding to the amount of motion of the camera is sent on the moving image encoding device side, more accurate position information is obtained than estimating the position of such a block on the moving image decoding device side. be able to.
- optimal encoded data is created as a result of cost calculation, but the code amount for one motion vector per image and the code of 1 bit at maximum per block By simply adding the amount, a visually optimal image can be reproduced on the moving image decoding apparatus side.
- the motion amount of the camera of the encoding target block or the motion detection unit 111 is used.
- the obtained motion vector is encoded as additional data.
- the imaging parameters (Dr, ⁇ , ⁇ ) of the image to be encoded are read from the camera, and the horizontal and vertical movement amounts Ds of the camera are calculated in terms of the number of pixels from the imaging parameters (step S11).
- This step S11 constitutes the pixel number calculation unit 115.
- the comparison unit 116 is configured by steps S12 to S20. If the camera motion amount Ds is larger than a predetermined threshold FTH (NO in step S12), it is interpreted that the scene is fast moving and flicker does not occur, and no special processing is performed. On the other hand, if the camera motion amount Ds is smaller than a predetermined threshold FTH (YES in step S12), steps S14 to S19 are repeated for each macroblock of the image to be encoded.
- the motion amount Ds is encoded (step S13), and the motion vector MV of the target block is obtained by the motion detection unit 111 as in the normal inter prediction mode (step S14). If the difference between the camera motion amount Ds and the motion vector MV is calculated and this difference is equal to or less than a predetermined threshold value FMV (YES in step S15), the target block is interpreted as a block where flicker is conspicuous, and the target block 1 is set at the position (step S16). On the other hand, when the difference is larger than the predetermined threshold value FMV (NO in step S15), 0 is set to the position of the target block (step S17). When the processing of all the blocks is not finished (NO in step S18), the target block is advanced to another block not processed (step S19), and the process returns to step S14.
- a predetermined threshold value FMV YES in step S15
- the target block is interpreted as a block where flicker is conspicuous, and the target block 1 is set at the position (step S16).
- step S20 the position information is run-length encoded (step S20). This step S20 constitutes the additional data encoding unit 117.
- the motion amount Ds of the camera or the motion of the encoding target block By encoding the position of the block requiring the vector MV and motion information as additional data, it is possible to send information necessary for suppressing flicker to the moving image decoding apparatus side.
- This moving image decoding apparatus performs decoding processing using encoded data and additional data output from the moving image encoding apparatus according to the second embodiment. Since the configuration of the moving picture decoding apparatus according to the second embodiment is the same as that in FIGS. 4 and 5, only differences will be described below.
- a block in which a flicker is conspicuous in a key frame and a motion vector of the block or a corresponding camera motion amount are used as additional data.
- the post processing unit 412 receives the camera motion amount Ds decoded by the additional data decoding unit 411 and the position information of the block where the flicker is conspicuous only in the key frame, and operates in the same manner as the moving image decoding apparatus of the first embodiment. . However, motion compensation is not performed for blocks where flicker is inconspicuous, and the decoded blocks decoded by the H.264-compliant video decoding device are output as they are as playback blocks.
- a new component can be obtained simply by using the conventional configuration as it is for the processing with a large calculation amount such as motion detection on the moving image encoding device side.
- the information for suppressing the coding distortion and the information for improving the image quality of the reproduced image can be sent to the moving image decoding apparatus without adding the.
- the moving picture decoding apparatus it is possible to select whether or not to execute encoding distortion suppression processing and playback image quality improvement processing according to the processing capability of the apparatus itself, and to what extent processing is executed.
- the post-processing of the video decoding device by synthesizing the texture of the motion compensation block and the decoding block, it is possible to perform processing to suppress the image quality fluctuation before and after the key frame and to create a reproduced image with less noticeable flicker. .
- additional data relating only to the key frame since additional data relating only to the key frame is added, it can be applied to various applications regardless of the GOP structure.
- FIG. 7 is a block diagram showing the configuration of the moving picture encoding apparatus according to the third embodiment. 7, the same functions as those in FIG. 1 are denoted by the same reference numerals, and description thereof is omitted. The difference between FIG. 7 and FIG. 1 is that the pixel number calculation unit 115 in FIG. 1 is deleted, and the operations of the prediction mode determination unit 113 and the comparison unit 116 are different.
- the prediction mode determination part 113 determines prediction mode similarly to Embodiment 1 and 2 mentioned above. However, even when the intra prediction mode is selected, the inter prediction error amount may be small. This is because the intra prediction error depends on the method for obtaining the prediction error amount although there is motion in the encoding target block. The mode is considered selected.
- the prediction mode determination unit 113 includes the prediction error amount Dintra calculated by the intra prediction unit 110 and the prediction error amount Dinter calculated by the motion detection unit 111 (or motion compensation unit 112).
- the difference value Dmode is output to the comparison unit 116.
- Dmode
- the comparison unit 116 adds the position of the block in which the difference value Dmode input from the prediction mode determination unit 113 is equal to or less than a predetermined threshold THMODE and the motion vector MV detected by the motion detection unit 111 for this block to the additional data encoding unit 117. Output to.
- the additional data encoding unit 117 encodes the motion vector MV input from the comparison unit 116 and the position information of the block by the same method as in the first embodiment.
- the prediction error amount Dintra calculated by the intra prediction unit 110 and the prediction error amount Dinter calculated by the motion detection unit 111 (or motion compensation unit 112) are input (step S31), and the prediction error amount Dintra and the prediction error amount are input.
- the difference value Dmode of Dinter is calculated (step S32), and the prediction mode is determined in the same manner as in the first and second embodiments (step S33).
- the prediction mode determination unit 113 is configured by steps S31 to S33.
- Steps S34 to S39 are repeated for each macroblock of the image to be encoded.
- the process proceeds to step S37.
- the prediction mode of the target block is the intra prediction mode (YES in step S34) and the difference value Dmode is equal to or smaller than a predetermined threshold value THMODE (YES in step S35)
- 1 is set to the position of the target block.
- the motion vector MV is stored in association with the position of the target block (step S36).
- the difference value Dmode is larger than the predetermined threshold value THMODE (NO in step S35)
- 0 is set to the position of the target block (step S37).
- the processing of all the blocks is not completed (NO in step S38)
- the process proceeds to another block that has not processed the target block (step S39), and the process returns to step S34.
- the comparison unit 116 is configured by steps S34 to S39.
- step S40 When all the blocks have been processed (YES in step S38), the position information is run-length encoded (step S40), and the motion vector MV is encoded for the block whose position information is 1 (steps S41 to S44).
- the additional data encoding unit 117 is configured by steps S40 to S43.
- the inter prediction mode is selected separately from the H.264-compliant encoded data created using the intra prediction mode for blocks with a small difference in the prediction error amount between the intra prediction mode and the inter prediction mode.
- the additional data sent separately from the encoded data is only the position information and the motion vector, and the data required by this addition is very small.
- the motion vector encoded as the additional data is originally calculated for selecting the prediction mode, and it is not necessary to perform a new motion detection process or a motion compensation process in order to add this motion vector.
- the moving picture decoding device can use the accurate motion information created by the moving picture coding device to improve the quality of the reproduced image by post processing, and the post processing method also uses a motion vector.
- Various methods can be applied based on the location information.
- This moving image decoding apparatus performs decoding processing using encoded data and additional data output from the moving image encoding apparatus according to the third embodiment.
- the additional data in the third embodiment has a small difference in prediction error between the intra prediction mode and the inter prediction mode, and the position information of the block and the inter prediction mode are selected for the block for which the intra prediction mode is selected.
- Motion vector Therefore, the configuration of the moving picture decoding apparatus according to the third embodiment is the same as that shown in FIGS. 4 and 5, except that the motion vector input to the motion compensation unit 502 shown in FIG. 5 differs for each block.
- the difference in prediction error between the intra prediction mode and the inter prediction mode is small, and the block for which the intra prediction mode is selected is interlaced as additional data. Since the motion vector when the prediction mode is selected is provided, the quality of the reproduced image can be improved in accordance with the performance.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
標準規格MPEG-4 AVC/H.264と互換性を保ちながら、動領域に対する符号化歪の抑制と再生画像の高画質化の処理を追加できる動画像符号化装置を提供する。 この動画像符号化装置は、動画像を小ブロックに分割し、当該ブロック毎に予測モードとしてイントラ予測モードまたはインター予測モードのいずれかを選択して符号化データを出力する動画像符号化装置であって、カメラの撮影パラメータに基づいてカメラの動きに対応する画像の動き量を算出する動き量算出部と、前記ブロック毎にインター予測モードで用いた動きベクトルと前記動き量とを比較する比較部と、前記比較結果に応じ前記動き量と該当するブロックの位置情報とを符号化して、前記符号化データに付加する付加データ符号化部と、を備える。
Description
本発明は、装置の性能に応じた符号化・復号処理が可能な動画像符号化装置および動画像復号装置に関する。
動画像符号化技術の最新の国際標準であるMPEG-4 AVC/H.264(以降、H.264と略記する)は、イントラ予測技術およびインター予測技術の改良によって、従来の符号化技術に対して予測性能が向上している。
例えば、イントラ予測技術では、従来、DCT(Discrete Cosine Transform)後の変換係数に対して予測を行っており、予測方法もDC予測、水平/垂直方向のAC予測の3種類であった。
しかし、H.264では、DCT前の画素値に対して予測を行っており、予測方法は4×4ブロック単位で9種類、8×8ブロック単位で9種類、16×16ブロック単位で4種類と多くの予測モードから最適な予測モードを選択できるため、予測精度が高まっている。
しかし、H.264では、DCT前の画素値に対して予測を行っており、予測方法は4×4ブロック単位で9種類、8×8ブロック単位で9種類、16×16ブロック単位で4種類と多くの予測モードから最適な予測モードを選択できるため、予測精度が高まっている。
また、インター予測技術では、動き補償は従来16×16ブロックサイズおよび8×8ブロックサイズのみであった。
しかし、H.264では、16×16、16×8、8×16、8×8、8×4、4×8、4×4と7種類に増えており、予測精度は高まっている。
しかし、H.264では、16×16、16×8、8×16、8×8、8×4、4×8、4×4と7種類に増えており、予測精度は高まっている。
このように予測精度が高くなったため、従来と同程度の画質を実現する場合でも、予測誤差が小さくなり、符号化に必要な符号量が削減されることになったが、一方では、量子化幅が粗い場合、従来とは異なる歪が現れるという問題がでてきた。
例えば、パンのようなカメラワークによって画像全体が動く場合、あるいは画像の一部だけが動く場合においても、従来はインター予測の性能がイントラ予測の性能を上回っており、動領域に対してはほとんどインター予測が選択されていた。
しかし、H.264では、同一画面内での予測精度が向上したため、テクスチャの乏しい平坦な領域では動領域であってもイントラ予測が選択されるようになった。
しかし、H.264では、同一画面内での予測精度が向上したため、テクスチャの乏しい平坦な領域では動領域であってもイントラ予測が選択されるようになった。
このように、イントラ予測を選択したブロックとインター予測を選択したブロックが混在すると、テクスチャの細かさが異なるため、見た目の印象が悪くなるという問題、また、インター予測の代わりにイントラ予測が選択された場合、画像のテクスチャを再現しにくいという問題がでてきた。
さらに、従来、コンテンツを符号化する際には、ランダムアクセスや高速再生のために、周期的にキーフレーム(あるいはフィールド、以降ではまとめてフレームと呼ぶ)を挿入していた。
H.264では、このキーフレームとして、IDR(Instantaneous Decoder Refresh)ピクチャを用い、IDRピクチャより後に復号されるピクチャがIDRピクチャより前に復号されたピクチャを参照することを禁止するクローズドGOP(Group Of Pictures)の構造をとることが多い。
H.264では、このキーフレームとして、IDR(Instantaneous Decoder Refresh)ピクチャを用い、IDRピクチャより後に復号されるピクチャがIDRピクチャより前に復号されたピクチャを参照することを禁止するクローズドGOP(Group Of Pictures)の構造をとることが多い。
この場合、複雑度の高いテクスチャを持つ静止シーンやゆっくり動くパン等のシーンでは、ノイズの影響を受けて、ループ内フィルタの強度の違いや選択されるイントラ予測モードの違いがIDRピクチャ毎に発生し、IDRピクチャ挿入間隔(GOP)単位のフリッカというユーザに認識される歪として現れるようになった。
上記の問題を解決するために、非特許文献1では、カメラワークで画面全体が動くシーンにおいては、PおよびBピクチャの予測モード決定時に、画面全体の動きや符号化対象ブロック近傍のイントラ予測ブロックの割合を考慮してイントラ/インター予測モードの選択方法を提案している。
また、特許文献1では、GOP単位のフリッカが認識されやすいと判定された場合は、クローズドGOPではなくオープンGOPを使って符号化する方法や、イントラ/インター予測モードの選択方法を変更して、時間方向の画像の変化が突然現れて歪(フリッカ)として認識されることを回避する方法を提案している。
また、特許文献2では、符号化データの情報をもとに、復号装置側で時間および空間方向のフィルタリング強度を調整し、フリッカが発生しやすいと判定された部分のテクスチャをぼかすことで歪(フリッカ)を抑制する方法を提案している。
吉野知伸、外2名、「H.264/MPEG-4 AVC符号化における主観画質向上に関する一検討」、2006年度映像情報メディア学会冬季大会予稿集、映像情報メディア学会、2006年12月、No.1-1 特開2007-214785号公報
特開2006-229411号公報
吉野知伸、外2名、「H.264/MPEG-4 AVC符号化における主観画質向上に関する一検討」、2006年度映像情報メディア学会冬季大会予稿集、映像情報メディア学会、2006年12月、No.1-1
しかしながら、非特許文献1では、次のような問題点がある。
・画面全体の動きの計算が新たに必要となり処理量が増大する。
・コスト計算の結果、もともとイントラ予測を選択した方が小さい符号量になると判定されたブロックをインター予測に変更してしまうため、符号量が増加する場合がでてきてしまう。
・画面全体が動くシーンが対象であるため、画面の一部のみが動領域であるシーンに対しては適応できない。
・画面全体の動きの計算が新たに必要となり処理量が増大する。
・コスト計算の結果、もともとイントラ予測を選択した方が小さい符号量になると判定されたブロックをインター予測に変更してしまうため、符号量が増加する場合がでてきてしまう。
・画面全体が動くシーンが対象であるため、画面の一部のみが動領域であるシーンに対しては適応できない。
また、特許文献1では、次のような問題点がある。
・オープンGOPに変更した場合、正常に復号できないピクチャが発生するため、この正常に復号できなかったピクチャを表示しないようにする等の、追加の処理が必要になる。
・ワンセグのようなオープンGOPに対応できないアプリケーションには適用することができない。
・オープンGOPに変更した場合、正常に復号できないピクチャが発生するため、この正常に復号できなかったピクチャを表示しないようにする等の、追加の処理が必要になる。
・ワンセグのようなオープンGOPに対応できないアプリケーションには適用することができない。
また、特許文献2では、フィルタの強度を部分的に変更するため、誤判定した場合にかえってフリッカが目立ったり、フィルタ強度の調整が難しい等の問題がある。
本発明は、上述の実情を考慮してなされたものであって、標準規格MPEG-4 AVC/H.264と互換性を保ちながら、動領域に対する符号化歪の抑制と再生画像の高画質化の処理を追加できる動画像符号化装置および動画像復号装置を提供することを目的とする。
上記の課題を解決するために、本発明を次のような構成とする。
動画像符号化装置は、動画像を小ブロックに分割し、当該ブロック毎に予測モードとしてイントラ予測モードまたはインター予測モードのいずれかを選択して符号化データを出力する動画像符号化装置であって、カメラの撮影パラメータに基づいてカメラの動きに対応する画像の動き量を算出する動き量算出部と、前記ブロック毎にインター予測モードで用いた動きベクトルと前記動き量とを比較する比較部と、前記比較結果に応じ前記動き量と該当するブロックの位置情報とを符号化して、前記符号化データに付加する付加データ符号化部と、を備えたものである。
動画像符号化装置は、動画像を小ブロックに分割し、当該ブロック毎に予測モードとしてイントラ予測モードまたはインター予測モードのいずれかを選択して符号化データを出力する動画像符号化装置であって、カメラの撮影パラメータに基づいてカメラの動きに対応する画像の動き量を算出する動き量算出部と、前記ブロック毎にインター予測モードで用いた動きベクトルと前記動き量とを比較する比較部と、前記比較結果に応じ前記動き量と該当するブロックの位置情報とを符号化して、前記符号化データに付加する付加データ符号化部と、を備えたものである。
上記の動画像符号化装置に対しては、動画像を小ブロックに分割し、当該ブロック毎に予測モードとしてイントラ予測モードまたはインター予測モードのいずれかを選択して符号化された符号化データを復号処理するとともに、前記ブロック毎にインター予測モードで用いた動きベクトルと、カメラの動きに対応する画像の動き量との比較結果に応じ前記動き量と該当するブロックの位置情報とを符号化して前記符号化データに付加された付加データを取得して復号処理する動画像復号装置であって、前記符号化データに付加された付加データを復号処理して、動き量とブロックの位置情報を取得する付加データ復号部と、前記動き量から動き補償ブロックを生成する動き補償部と、前記位置情報のブロックに該当する前記符号化データの復号処理されたブロックの画像と前記動き補償部で生成された動き補償ブロックの画像とを合成する合成部と、を備えるものである。
さらに、他の構成として、動画像符号化装置は、動画像を小ブロックに分割し、当該ブロック毎に予測モードとしてイントラ予測モードまたはインター予測モードのいずれかを選択して符号化データを出力する動画像符号化装置であって、キーフレームについて、カメラの撮影パラメータに基づいてカメラの動きに対応する画像の動き量を算出する動き量算出部と、前記動き量が所定値以下の場合に、前記ブロック毎にインター予測モードで用いた動きベクトルと前記動き量とを比較する比較部と、前記比較結果に応じ前記動き量と該当するブロックの位置情報とを符号化して、前記符号化データに付加する付加データ符号化部と、を備えるものである。
上記の他の構成の動画像符号化装置に対しては、動画像を小ブロックに分割し、当該ブロック毎に予測モードとしてイントラ予測モードまたはインター予測モードのいずれかを選択して符号化された符号化データを復号処理するとともに、キーフレームについて、カメラの動きに対応する画像の動き量が所定値以下の場合に、前記ブロック毎にインター予測モードで用いた動きベクトルと、前記動き量との比較結果に応じ前記動き量と該当するブロックの位置情報とを符号化して前記符号化データに付加された付加データを取得して復号処理する動画像復号装置であって、キーフレームについて、前記符号化データに付加された付加データを復号処理して、動き量とブロックの位置情報を取得する付加データ復号部と、前記動き量から動き補償ブロックを生成する動き補償部と、前記位置情報のブロックに該当する前記符号化データの復号処理されたブロックの画像と前記動き補償部で生成された動き補償ブロックの画像とを合成する合成部と、を備えるものである。
本発明により、標準規格MPEG-4 AVC/H.264と互換性を保ちながら、動領域に対する符号化歪の抑制と再生画像の高画質化の処理を追加できる。
101…直交変換部、102…量子化部、103…可変長符号化部、104…レート制御部、105…逆量子化部、106…逆直交変換部、107…加算部、108…ループ内フィルタ、109…フレームメモリ、110…イントラ予測部、111…動き検出部、112…動き補償部、113…予測モード決定部、114…減算部、115…画素数算出部(動き量算出部)、116…比較部、117…付加データ符号化部、118…符号化データ再構成部、
401…入力バッファ、402…可変長復号部、403…逆量子化部、404…逆直交変換部、405…加算部、406…ループ内フィルタ、407…フレームメモリ、408…イントラ予測部、409…動き補償部、410…切替スイッチ、411…付加データ復号部、412…ポスト処理部、501…合成部、502…動き補償部、503…位置情報判定部。
401…入力バッファ、402…可変長復号部、403…逆量子化部、404…逆直交変換部、405…加算部、406…ループ内フィルタ、407…フレームメモリ、408…イントラ予測部、409…動き補償部、410…切替スイッチ、411…付加データ復号部、412…ポスト処理部、501…合成部、502…動き補償部、503…位置情報判定部。
以下、図面を参照して、本発明に係る好適な実施形態について説明する。
<実施形態1>
図1は、実施形態1に係る動画像符号化装置の構成を示すブロック図である。図1において、動画像符号化装置は、直交変換部101、量子化部102、可変長符号化部103、レート制御部104、逆量子化部105、逆直交変換部106、加算部107、ループ内フィルタ108、フレームメモリ109、イントラ予測部110、動き検出部111、動き補償部112、予測モード決定部113、減算部114、画素数算出部(動き量算出部)115、比較部116、付加データ符号化部117、符号化データ再構成部118とから構成される。
<実施形態1>
図1は、実施形態1に係る動画像符号化装置の構成を示すブロック図である。図1において、動画像符号化装置は、直交変換部101、量子化部102、可変長符号化部103、レート制御部104、逆量子化部105、逆直交変換部106、加算部107、ループ内フィルタ108、フレームメモリ109、イントラ予測部110、動き検出部111、動き補償部112、予測モード決定部113、減算部114、画素数算出部(動き量算出部)115、比較部116、付加データ符号化部117、符号化データ再構成部118とから構成される。
以上の構成のうち、直交変換部101、量子化部102、可変長符号化部103、レート制御部104、逆量子化部105、逆直交変換部106、加算部107、ループ内フィルタ108、フレームメモリ109、イントラ予測部110、動き検出部111、動き補償部112、予測モード決定部113、減算部114は、H.264準拠の動画像符号化装置では公知の構成であるので簡単に説明する。
H.264準拠の符号化方法では、動画像ストリームを構成するフレームをマクロブロック単位に分割し、マクロブロックごとに符号化を実行する。そして、マクロブロックごとにイントラ予測モード、インター予測モードおよびそれら以外のいずれかを判断して符号化が実行される。
イントラ予測モードにおいては、符号化対象ブロックの予測ブロックが生成され、符号化対象ブロックと予測ブロックから計算された予測誤差ブロックが直交変換、量子化および可変長符号化によって符号化される。
また、インター予測モードにおいては、符号化対象ブロックと、これに対応する参照フレーム上の領域の位置関係を動きベクトルとして検出し、符号化対象フレームから動きベクトル分変位した参照フレーム上の領域を予測ブロックとし、符号化対象ブロックと予測ブロックから計算された予測誤差ブロックが、直交変換、量子化および可変長符号化によって符号化される。
また、インター予測モードにおいては、符号化対象ブロックと、これに対応する参照フレーム上の領域の位置関係を動きベクトルとして検出し、符号化対象フレームから動きベクトル分変位した参照フレーム上の領域を予測ブロックとし、符号化対象ブロックと予測ブロックから計算された予測誤差ブロックが、直交変換、量子化および可変長符号化によって符号化される。
以下、各構成要素について説明する。
減算部114は、入力画像の符号化対象ブロックと予測モード決定部113から入力した予測ブロックとの予測誤差ブロックを計算し、直交変換部101に出力する。
直交変換部101は、減算部114から入力した予測誤差ブロックに離散コサイン変換などの直交変換を施して生成した変換係数を量子化部102に出力する。
減算部114は、入力画像の符号化対象ブロックと予測モード決定部113から入力した予測ブロックとの予測誤差ブロックを計算し、直交変換部101に出力する。
直交変換部101は、減算部114から入力した予測誤差ブロックに離散コサイン変換などの直交変換を施して生成した変換係数を量子化部102に出力する。
量子化部102は、レート制御部104から入力した量子化パラメータを基に、当該量子化パラメータに応じて規定される量子化スケールで、直交変換部101から出力された変換係数を量子化して可変長符号化部103および逆量子化部105に出力する。
レート制御部104は、可変長符号化部103で発生する符号量を監視し、目標符号量に合わせるための量子化パラメータを決定し、これを量子化部102に出力する。
レート制御部104は、可変長符号化部103で発生する符号量を監視し、目標符号量に合わせるための量子化パラメータを決定し、これを量子化部102に出力する。
可変長符号化部103は、量子化部102から入力した量子化された変換係数を可変長符号化して図示しないバッファに格納する。このとき、可変長符号化部103は、予測モード決定部113で決定した予測モードと、予測モードがインター予測の場合には、動き補償部112から入力した動きベクトルを符号化して各マクロブロックのヘッダデータに格納する。
また、可変長符号化部103は、各マクロブロックに、量子化部102における量子化で用いた量子化スケールを含める。
また、可変長符号化部103は、各マクロブロックに、量子化部102における量子化で用いた量子化スケールを含める。
逆量子化部105は、量子化部102で用いた量子化スケールを基に、量子化された変換係数を逆量子化して逆直交変換部106に出力する。
逆直交変換部106は、逆量子化部105から入力した逆量子化された変換係数に、直交変換部101の直交変換に対応した逆直交変換を施して加算部107に出力する。
逆直交変換部106は、逆量子化部105から入力した逆量子化された変換係数に、直交変換部101の直交変換に対応した逆直交変換を施して加算部107に出力する。
加算部107は、予測モード決定部113で決定した予測ブロックと、逆直交変換部106から入力した逆変換された予測誤差とを加算して、ループ内フィルタ108に出力する。
ループ内フィルタ108は、加算部107から入力した局所復号された画像からブロック歪みを除去し、参照フレームとしてフレームメモリ109に書き込む。
ループ内フィルタ108は、加算部107から入力した局所復号された画像からブロック歪みを除去し、参照フレームとしてフレームメモリ109に書き込む。
イントラ予測部110は、予め規定された複数のイントラ予測モードのそれぞれに対して、同一画像内の局所復号された画素値から各マクロブロックについてイントラ予測を行い、最適な予測モードを決定し、その場合の予測モードおよび予測ブロックを予測モード決定部113に出力する。
動き検出部111は、入力画像の符号化対象ブロックの動きベクトルを検出し、動き補償部112、可変長符号化部103および比較部116に出力する。
この動き検出部111は、フレームメモリ109に格納されている参照フレームの所定の探索範囲において、現ブロックに類似する部分を探索して、現ブロックからの空間的移動量を動きベクトルとして検出する。
この動き検出部111は、フレームメモリ109に格納されている参照フレームの所定の探索範囲において、現ブロックに類似する部分を探索して、現ブロックからの空間的移動量を動きベクトルとして検出する。
動き補償部112は、動き検出部111から入力される動きベクトルとフレームメモリ109に格納されている参照フレームとを用いて予測ブロックを生成して、予測モードおよび予測ブロックを予測モード決定部113に出力する。
予測モード決定部113は、イントラ予測部110から入力した予測ブロックと、動き補償部112から入力した予測ブロックを各々符号化対象ブロックと比較し、予測誤差が小さいと判断した予測ブロックを選択して減算部114に出力するとともに、選択されたイントラあるいはインター予測モードを可変長符号化部103へ出力する。
次に、本実施形態1の動画像符号化装置の特有な構成である、画素数算出部115、比較部116、付加データ符号化部117および符号化データ再構成部118について詳細に説明する。
カメラの動き量(画素数換算)Dsは以下の式で算出できる。ここで、Drは、撮影時の焦点距離、θは、カメラの水平あるいは垂直方向における撮影方向(レンズの向き)の角度、αは撮影した画像を所定の画像サイズで表現するための比率である。
Ds = Dr × tanθ × α
Ds = Dr × tanθ × α
カメラの動き量Dsは、撮影対象自体が静止しておりカメラのパンだけの場合、動き検出部111で検出される動きベクトルMVとほぼ同じ値になる。
画素数算出部115は、上述のようにカメラの撮影パラメータからカメラの水平方向および垂直方向の動き量Dsを画素数で算出し、比較部116に出力する。
画素数算出部115は、上述のようにカメラの撮影パラメータからカメラの水平方向および垂直方向の動き量Dsを画素数で算出し、比較部116に出力する。
比較部116は、カメラの動き量Dsと動き検出部111で検出した動きベクトルMVの差分を計算し、この差分が予め定められた閾値THMV以下の場合、符号化対象ブロックはカメラワークと似た動きをすると解釈し、符号化対象ブロックの位置情報と動き量Dsを付加データ符号化部117に出力する。また、差分が予め定められた閾値THMVより大きい場合には何も出力しない。
付加データ符号化部117は、比較部116から出力された位置情報とカメラの動き量Dsを符号化して、符号化データ再構成部118に出力する。
カメラの動き量Dsは、画像1枚に対して1ベクトルなので、画像毎に1つ符号化すればよい。
また、動き量Dsを必要とするブロックの位置情報の符号化方法としては、図2のように、各ブロックの位置を平面の1ビットに対応させて、必要なブロックを1、不必要なブロックを0として、これをランレングス符号化する方法等がある。
カメラの動き量Dsは、画像1枚に対して1ベクトルなので、画像毎に1つ符号化すればよい。
また、動き量Dsを必要とするブロックの位置情報の符号化方法としては、図2のように、各ブロックの位置を平面の1ビットに対応させて、必要なブロックを1、不必要なブロックを0として、これをランレングス符号化する方法等がある。
符号化データ再構成部118は、可変長符号化部103で作成された符号化データが格納されているバッファに、付加データ符号化部117で符号化された付加データを追加してその符号化データを再構成する。
付加データをバッファに格納する方法としては、次のような方法がある。
付加データをバッファに格納する方法としては、次のような方法がある。
A)動画像の符号化データとは別に格納する場合:
符号化データは、音声、テキストデータ等と多重化する際にパケットヘッダとパケットデータからなるパケットとして表わされる。例えば、多重化方式としてMPEG-2 Systemを使った場合、このパケットヘッダには、パケットデータに格納しているデータの識別子(stream_id)と、再生出力時刻の管理情報(PTS:Presentation Time Stamp)、復号時間の管理情報(DTS:Decoding Time Stamp)等が格納される。
また、パケットデータには、stream_idで示される識別子によって示されるデータが格納される。
符号化データは、音声、テキストデータ等と多重化する際にパケットヘッダとパケットデータからなるパケットとして表わされる。例えば、多重化方式としてMPEG-2 Systemを使った場合、このパケットヘッダには、パケットデータに格納しているデータの識別子(stream_id)と、再生出力時刻の管理情報(PTS:Presentation Time Stamp)、復号時間の管理情報(DTS:Decoding Time Stamp)等が格納される。
また、パケットデータには、stream_idで示される識別子によって示されるデータが格納される。
付加データを格納する場合、パケットヘッダのstream_idフィールドに、private_stream_1(2進数で10111101)、あるいは、metadata_stream(2進数で11111100)を設定し、付加データ符号化部117で符号化された付加データをパケットデータとして格納する。
さらに、付加データが同期する符号化データの再生出力時刻や復号時間をそれぞれパケットヘッダのPTSおよびDTSに格納する。
さらに、付加データが同期する符号化データの再生出力時刻や復号時間をそれぞれパケットヘッダのPTSおよびDTSに格納する。
B)動画像符号化データの中に格納する場合:
H.264では、通常の画像データ(主ピクチャ)の符号化データ以外に冗長ピクチャを格納することができる。
この場合には、比較部116から出力された位置情報と動き量DsをH.264の符号化データの形式に変換して、冗長ピクチャに格納する。
H.264では、通常の画像データ(主ピクチャ)の符号化データ以外に冗長ピクチャを格納することができる。
この場合には、比較部116から出力された位置情報と動き量DsをH.264の符号化データの形式に変換して、冗長ピクチャに格納する。
次に、付加データの処理手順を図3のフローチャートを用いて説明する。この図3は、カメラの動き量Dsを画像毎に1つ符号化し、位置情報をランレングス符号化する場合の例である。
まず、カメラから符号化対象の画像の撮影パラメータ(Dr、θ、α)を読み込み(ステップS1)、この撮影パラメータからカメラの水平方向および垂直方向の動き量Dsを画素数換算で算出し(ステップS2)、この動き量Dsを符号化する(ステップS3)。
このステップS1およびS2により画素数算出部115を構成する。
このステップS1およびS2により画素数算出部115を構成する。
以下、ステップS4乃至S8により比較部116を構成する。
符号化対象画像の各マクロブロックについて、ステップS4乃至S8を繰り返す。
カメラの動き量Dsと動き検出部111で検出した符号化対象ブロックの動きベクトルMVの差分を計算し、この差分が予め定められた閾値THMV以下の場合(ステップS4でYES)、符号化対象ブロックの位置に1をセットする(ステップS5)。
一方、差分が予め定められた閾値THMVより大きい場合(ステップS4でNO)、符号化対象ブロックの位置に0をセットする(ステップS6)。
すべてのブロックの処理が終わらない場合(ステップS7でNO)、符号化対象ブロックを処理していない他のブロックに進め(ステップS8)、ステップS4に戻る。
符号化対象画像の各マクロブロックについて、ステップS4乃至S8を繰り返す。
カメラの動き量Dsと動き検出部111で検出した符号化対象ブロックの動きベクトルMVの差分を計算し、この差分が予め定められた閾値THMV以下の場合(ステップS4でYES)、符号化対象ブロックの位置に1をセットする(ステップS5)。
一方、差分が予め定められた閾値THMVより大きい場合(ステップS4でNO)、符号化対象ブロックの位置に0をセットする(ステップS6)。
すべてのブロックの処理が終わらない場合(ステップS7でNO)、符号化対象ブロックを処理していない他のブロックに進め(ステップS8)、ステップS4に戻る。
すべてのブロックの処理が終わった場合(ステップS7でYES)、位置情報をランレングス符号化する(ステップS9)。ステップS3およびS9により付加データ符号化部117を構成する。
上記の方法では、カメラの動き量Dsと符号化対象ブロックの動きベクトルMVの差により、符号化対象ブロックの動きがカメラワークと似ているかどうかを判定していた。
この判定方法以外では、動き検出部111にカメラの動き量Dsを入力することにより、カメラの動き量Dsを動きベクトルとした時の予測誤差量を別途計算し、この値と動き検出部111で求めた動きベクトルMVの予測誤差量とを比較することで、符号化対象ブロックの動きがカメラワークと似ているかどうかを判定することも可能である。
この判定方法以外では、動き検出部111にカメラの動き量Dsを入力することにより、カメラの動き量Dsを動きベクトルとした時の予測誤差量を別途計算し、この値と動き検出部111で求めた動きベクトルMVの予測誤差量とを比較することで、符号化対象ブロックの動きがカメラワークと似ているかどうかを判定することも可能である。
また、上記の方法では、符号化対象ブロックの動きがカメラワークと似ているかどうかのみを判定しているが、さらに予測モード決定部113で選択された予測モードも判定条件に加え、符号化対象ブロックの動きがカメラワークと似ており、且つ、イントラ予測モードと判定されたブロックのみ、動画像復号装置側で動き量Dsが必要なブロックとして符号化することも可能である。
次に、本実施形態1に係る動画像復号装置について説明する。この動画像復号装置は、動画像符号化装置から出力される符号化データおよび付加データを用いて復号処理する。
図4は、本実施形態1に係る動画像復号装置のブロック図であり、同図において、動画像復号装置は、入力バッファ401、可変長復号部402、逆量子化部403、逆直交変換部404、加算部405、ループ内フィルタ406、フレームメモリ407、イントラ予測部408、動き補償部409、切替スイッチ410、付加データ復号部411、ポスト処理部412とから構成される。
以上の構成のうち、可変長復号部402、逆量子化部403、逆直交変換部404、加算部405、ループ内フィルタ406、フレームメモリ407、イントラ予測部408、動き補償部409、切替スイッチ410は、H.264準拠の動画像復号装置の公知の構成であるので、簡単に説明する。本実施形態1の動画像復号装置の構成では、付加データがなくてもH.264準拠の符号化データを正常に復号することができる。
入力された符号データは、一旦、入力バッファ401に蓄積され、必要に応じて、動画像符号化データが可変長復号部402に提供され、付加データが付加データ復号部411に提供される。
可変長復号部402は、動画像符号化データを復号し、各マクロブロックの予測モード、動きベクトル、量子化スケールおよび量子化された変換係数を分離する。
また、可変長復号部402は、量子化スケールおよび量子化された変換係数を逆量子化部403に出力し、予測モードを切替スイッチ410に出力し、動きベクトルを動き補償部409に出力する。
また、可変長復号部402は、量子化スケールおよび量子化された変換係数を逆量子化部403に出力し、予測モードを切替スイッチ410に出力し、動きベクトルを動き補償部409に出力する。
逆量子化部403は、可変長復号部402から入力した変換係数を逆量子化し、逆直交変換部404に出力する。
逆直交変換部404は、逆量子化部403から入力した逆量子化された変換係数を逆直交変換し、加算部405に出力する。
加算部405は、切替スイッチ410から出力された予測ブロックと逆直交変換部404の出力である予測誤差ブロックとを加算して、イントラ予測部408、ループ内フィルタ406に出力する。
ループ内フィルタ406は、加算部405から入力した復号ブロックをフィルタリングして、フレームメモリ407に格納する。
逆直交変換部404は、逆量子化部403から入力した逆量子化された変換係数を逆直交変換し、加算部405に出力する。
加算部405は、切替スイッチ410から出力された予測ブロックと逆直交変換部404の出力である予測誤差ブロックとを加算して、イントラ予測部408、ループ内フィルタ406に出力する。
ループ内フィルタ406は、加算部405から入力した復号ブロックをフィルタリングして、フレームメモリ407に格納する。
イントラ予測部408は、加算部405から入力した同一画像内の復号画素値からイントラ予測した予測ブロックを切替スイッチ410へ出力する。
動き補償部409は、フレームメモリ407に格納された復号画像と、可変長復号部402で復号された動きベクトルにより予測ブロックを算出して切替スイッチ410へ出力する。
動き補償部409は、フレームメモリ407に格納された復号画像と、可変長復号部402で復号された動きベクトルにより予測ブロックを算出して切替スイッチ410へ出力する。
切替スイッチ410は、可変長復号部402から入力された予測モードがイントラ予測モードである場合には、イントラ予測部408からの予測ブロックを選択し、予測モードがインター予測モードである場合には、動き補償部409からの予測ブロックを選択して、加算部405に出力する。
以下、本実施形態1の動画像復号装置の特有な構成である、付加データ復号部411、ポスト処理部412について、詳細に説明する。
付加データ復号部411は、入力バッファ401から入力した付加データを復号し、カメラの撮影パラメータの関連情報(カメラの動き量Dsおよび動き量Dsが必要なブロックの位置情報)をポスト処理部412に出力する。
ポスト処理部412は、カメラの撮影パラメータの関連情報を用いてポスト処理を行う。このポスト処理部412は、図5に示すように、合成部501、動き補償部502、位置情報判定部503から構成される。ここで、動き補償部502は、図4の動き補償部409と同じ機能である。
位置情報判定部503は、カメラの動き量Dsが必要なブロックの位置情報から、動き補償部502での処理が必要なブロックを抽出し、水平および垂直方向の位置情報に変換して動き補償部502に位置情報を通知する。
動き補償部502は、動き補償をするブロックの位置情報、動きベクトルに相当するカメラの動き量Ds、フレームメモリ407に格納された参照画像を用いて、復号対象ブロックに対する動き補償ブロックを生成し合成部501に出力する。
合成部501は、動き補償部502から入力した動き補償ブロックと、フレームメモリ407(H.264準拠の動画像復号装置)から入力した復号画像中の対応する復号ブロックとをで合成して再生画像を出力する。
しかし、合成部501は、カメラの動き量Dsが不必要なブロックでは動き補償は行わず、H.264準拠の動画像復号装置で復号された復号ブロックをそのまま再生画像として出力する。
しかし、合成部501は、カメラの動き量Dsが不必要なブロックでは動き補償は行わず、H.264準拠の動画像復号装置で復号された復号ブロックをそのまま再生画像として出力する。
ここで、復号ブロックと動き補償ブロックとの合成方法は、双方のブロックの平均でも良いし、H.264準拠の動画像復号装置で復号した符号化対象ブロックの予測モードの種類やブロックサイズに依存して、重み付き和のような適応的な処理を行っても良いし、復号ブロックを動き補償ブロックに置き換えても良い。
このポスト処理は、再生直前の画像の各ブロックに対して行うため、フレームメモリ407に格納された予測に用いる参照画像には影響を及ぼさないため、動画像復号装置における自由な処理が可能である。
以上のように、H.264準拠の符号化データとは別に、カメラの動き量を付加データとして動画像復号装置に提供することによって、H.264と互換性を保ったままで、動画像復号装置の性能に合わせて再生画像に高画質化の処理を行うことができる。
一方、動画像復号装置がポスト処理を行わない場合、あるいは、ポスト処理を有しない場合でも、H.264準拠の符号化データから復号された最低限の画質は保証される。
一方、動画像復号装置がポスト処理を行わない場合、あるいは、ポスト処理を有しない場合でも、H.264準拠の符号化データから復号された最低限の画質は保証される。
また、動画像符号化装置側でカメラの動き量に即したブロックの位置情報を送るようにしたので、動画像復号装置側でこのようなブロックの位置を推定するよりも正確な位置情報を得ることができる。このとき、動画像符号化装置側では、コスト計算の結果として最適な符号化データを作成しているが、画像1枚当たり動きベクトル1つ分の符号量と、1ブロック当たり最大1ビットの符号量を追加するだけで、視覚的にも最適な画像を動画像復号装置側で再生処理することができる。
<実施形態2>
本実施形態2では、GOP単位で発生するフリッカを抑制するために必要な情報を付加データとして符号化する動画像符号化装置およびその符号化データを復号する動画像復号装置について説明する。
本実施形態2に係る動画像符号化装置の構成は、図1と同じであるため、以下では相違する点についてのみ説明する。
本実施形態2では、GOP単位で発生するフリッカを抑制するために必要な情報を付加データとして符号化する動画像符号化装置およびその符号化データを復号する動画像復号装置について説明する。
本実施形態2に係る動画像符号化装置の構成は、図1と同じであるため、以下では相違する点についてのみ説明する。
キーフレームでは、通常、イントラ予測モードのみを用いて画像を符号化するため、動きに関する情報は符号化しないが、本実施形態2では符号化対象ブロックのカメラの動き量あるいは動き検出部111で求めた動きベクトルを付加データとして符号化する。
次に、キーフレームにおける付加データの処理手順を図6のフローチャートを用いて説明する。
まず、カメラから符号化対象の画像の撮影パラメータ(Dr、θ、α)を読み込み、この撮影パラメータからカメラの水平方向および垂直方向の動き量Dsを画素数換算で算出する(ステップS11)。このステップS11により画素数算出部115を構成する。
まず、カメラから符号化対象の画像の撮影パラメータ(Dr、θ、α)を読み込み、この撮影パラメータからカメラの水平方向および垂直方向の動き量Dsを画素数換算で算出する(ステップS11)。このステップS11により画素数算出部115を構成する。
以下、ステップS12乃至S20により比較部116を構成する。
カメラの動き量Dsが予め定められた閾値FTHより大きければ(ステップS12でNO)、動きの早いシーンでありフリッカは発生しないと解釈し、特別な処理を行わない。
一方、カメラの動き量Dsが予め定められた閾値FTHより小さければ(ステップS12でYES)、符号化対象の画像の各マクロブロックについて、ステップS14乃至S19を繰り返す。
カメラの動き量Dsが予め定められた閾値FTHより大きければ(ステップS12でNO)、動きの早いシーンでありフリッカは発生しないと解釈し、特別な処理を行わない。
一方、カメラの動き量Dsが予め定められた閾値FTHより小さければ(ステップS12でYES)、符号化対象の画像の各マクロブロックについて、ステップS14乃至S19を繰り返す。
動き量Dsを符号化し(ステップS13)、通常のインター予測モードと同様、動き検出部111で対象ブロックの動きベクトルMVを求める(ステップS14)。
カメラの動き量Dsと動きベクトルMVとの差分を計算し、この差分が予め定められた閾値FMV以下の場合(ステップS15でYES)、対象ブロックはフリッカが目立ちやすいブロックとして解釈されて、対象ブロックの位置に1をセットする(ステップS16)。
一方、差分が予め定められた閾値FMVより大きい場合(ステップS15でNO)、対象ブロックの位置に0をセットする(ステップS17)。
すべてのブロックの処理が終わらない場合(ステップS18でNO)、対象ブロックを処理していない他のブロックに進め(ステップS19)、ステップS14に戻る。
カメラの動き量Dsと動きベクトルMVとの差分を計算し、この差分が予め定められた閾値FMV以下の場合(ステップS15でYES)、対象ブロックはフリッカが目立ちやすいブロックとして解釈されて、対象ブロックの位置に1をセットする(ステップS16)。
一方、差分が予め定められた閾値FMVより大きい場合(ステップS15でNO)、対象ブロックの位置に0をセットする(ステップS17)。
すべてのブロックの処理が終わらない場合(ステップS18でNO)、対象ブロックを処理していない他のブロックに進め(ステップS19)、ステップS14に戻る。
すべてのブロックの処理が終わった場合(ステップS18でYES)、位置情報をランレングス符号化する(ステップS20)。このステップS20により付加データ符号化部117を構成する。
上記以外のフリッカが目立ちやすいブロックを判定する方法としては、キーフレームと過去フレームの動きベクトルを各々比較する方法がある。
これは、キーフレームの直前のPあるいはBピクチャの動きベクトルMVpを1画面分格納しておき、同じ位置ブロックにおけるキーフレームの動きベクトルMVと過去フレームの動きベクトルMVpを比較し、差が小さい場合はキーフレームの前後で大きな動きはないと判断し、フリッカが目立ちやすいブロックと解釈する。
この場合、動画像復号装置側でキーフレーム直前の過去フレームにおける動きベクトルを保持し、動画像符号化装置側でキーフレームにおいてもブロック毎に動きベクトルMVを付加データとして符号化する必要がある。
これは、キーフレームの直前のPあるいはBピクチャの動きベクトルMVpを1画面分格納しておき、同じ位置ブロックにおけるキーフレームの動きベクトルMVと過去フレームの動きベクトルMVpを比較し、差が小さい場合はキーフレームの前後で大きな動きはないと判断し、フリッカが目立ちやすいブロックと解釈する。
この場合、動画像復号装置側でキーフレーム直前の過去フレームにおける動きベクトルを保持し、動画像符号化装置側でキーフレームにおいてもブロック毎に動きベクトルMVを付加データとして符号化する必要がある。
このように、フリッカが発生しやすいキーフレームに対しては、可変長符号化部103から出力されるH.264準拠の符号化データとは別に、カメラの動き量Dsあるいは符号化対象ブロックの動きベクトルMVおよび動き情報が必要なブロックの位置を付加データとして符号化することで、動画像復号装置側にフリッカを抑制するために必要な情報を送ることができる。
次に、実施形態2に係る動画像復号装置について説明する。この動画像復号装置は、実施形態2に係る動画像符号化装置が出力する符号化データおよび付加データを用いて復号処理する。
本実施形態2に係る動画像復号装置の構成は、図4および図5と同じであるため、以下では相違する点についてのみ説明する。
本実施形態2に係る動画像復号装置の構成は、図4および図5と同じであるため、以下では相違する点についてのみ説明する。
実施形態2に係る動画像符号化装置では、H.264準拠の符号化データとは別に、キーフレームにおいてフリッカの目立ちやすいブロックと、そのブロックの動きベクトルあるいは対応するカメラの動き量を付加データとして符号化している。
ポスト処理部412では、付加データ復号部411で復号されたカメラの動き量Ds、およびフリッカが目立つブロックの位置情報がキーフレームにおいてのみ入力され、実施形態1の動画像復号装置と同様に動作する。しかし、フリッカが目立たないブロックでは動き補償は行わず、H.264準拠の動画像復号装置で復号された復号ブロックが再生ブロックとしてそのまま出力される。
以上のように、カメラの撮影パラメータ等を付加データとして利用することで、動画像符号化装置側では動き検出のような計算量の大きい処理については従来の構成をそのまま利用するだけで新しい構成要素を追加することなく、動画像復号装置側に符号化歪を抑制処理するための情報や再生画像を高画質化処理するための情報を送ることができる。動画像復号装置では、装置自体のもつ処理能力に従って符号化歪の抑制処理や再生画像の高画質化処理を実行するかどうか、あるいはどの程度の処理を実行するかを選択できる。
例えば、動画像復号装置のポスト処理において、動き補償ブロックのテクスチャと復号ブロックとを合成することで、キーフレームの前後での画質変動を抑制し、フリッカの目立たない再生画像を作成する処理を行える。
また、キーフレームのみに関係する付加データの追加であるため、GOP構造には関係せず、様々なアプリに適用させることができる。
また、キーフレームのみに関係する付加データの追加であるため、GOP構造には関係せず、様々なアプリに適用させることができる。
さらに、フリッカが目立ちやすいブロックの動きベクトルMVを付加データとする場合にも、動き補償部502に入力する動きベクトルをブロック毎に変更するだけで対応することができる。
<実施形態3>
上述の実施形態1および2では、カメラワークによって画像全体に動きがある場合を対象としたが、本実施形態3では、カメラワークによる全体的な動きではなく、画像の一部のみに動きがある場合を対象とするため、カメラパラメータを用いない。
上述の実施形態1および2では、カメラワークによって画像全体に動きがある場合を対象としたが、本実施形態3では、カメラワークによる全体的な動きではなく、画像の一部のみに動きがある場合を対象とするため、カメラパラメータを用いない。
図7は、本実施形態3に係る動画像符号化装置の構成を示すブロック図である。図7のうち図1と同じ機能については、同じ符号を付して説明を省略する。図7と図1の相違点は、図1の画素数算出部115が削除され、予測モード決定部113および比較部116の動作が異なる点である。
予測モード決定部113は、上述した実施形態1や2と同様にして予測モードを決定する。しかし、イントラ予測モードが選択された場合でも、インター予測誤差量も小さいときがあり、これは、符号化対象ブロックに動きがあるにも関わらず、予測誤差量の求め方に依存してイントラ予測モードが選択されたものと考えられる。
そこで、予測モード決定部113では、決定された予測モードに加えて、イントラ予測部110で算出された予測誤差量Dintraと動き検出部111(あるいは動き補償部112)で算出された予測誤差量Dinterの差分値Dmodeを比較部116に出力する。
Dmode=|Dintra-Dinter|
Dmode=|Dintra-Dinter|
比較部116では、予測モード決定部113から入力した差分値Dmodeが予め定められた閾値THMODE以下のブロックの位置と、このブロックに関して動き検出部111で検出した動きベクトルMVを付加データ符号化部117に出力する。
付加データ符号化部117では、比較部116から入力した動きベクトルMVと、そのブロックの位置情報を実施形態1と同様の方法で符号化する。
付加データ符号化部117では、比較部116から入力した動きベクトルMVと、そのブロックの位置情報を実施形態1と同様の方法で符号化する。
次に、実施形態3における付加データの処理手順を図8のフローチャートを用いて説明する。
まず、イントラ予測部110で計算された予測誤差量Dintraと動き検出部111(あるいは動き補償部112)で計算された予測誤差量Dinterを入力し(ステップS31)、予測誤差量Dintraと予測誤差量Dinterの差分値Dmodeを計算するとともに(ステップS32)、上述した実施形態1や2と同様にして予測モードを決定する(ステップS33)。
このステップS31乃至S33により予測モード決定部113を構成する。
まず、イントラ予測部110で計算された予測誤差量Dintraと動き検出部111(あるいは動き補償部112)で計算された予測誤差量Dinterを入力し(ステップS31)、予測誤差量Dintraと予測誤差量Dinterの差分値Dmodeを計算するとともに(ステップS32)、上述した実施形態1や2と同様にして予測モードを決定する(ステップS33)。
このステップS31乃至S33により予測モード決定部113を構成する。
符号化対象の画像の各マクロブロックについて、ステップS34乃至S39を繰り返す。
対象ブロックの予測モードがイントラ予測モード以外の場合(ステップS34でNO)、ステップS37に進む。
一方、対象ブロックの予測モードがイントラ予測モードの場合(ステップS34でYES)、且つ、差分値Dmodeが予め定められた閾値THMODE以下の場合(ステップS35でYES)、対象ブロックの位置に1をセットし、対象ブロックの位置と対応付けて動きベクトルMVを格納する(ステップS36)。
他方、差分値Dmodeが予め定められた閾値THMODEより大きい場合(ステップS35でNO)、対象ブロックの位置に0をセットする(ステップS37)。
すべてのブロックの処理が終わらない場合(ステップS38でNO)、対象ブロックを処理していない他のブロックに進め(ステップS39)、ステップS34に戻る。
以上、ステップS34乃至S39により比較部116を構成する。
対象ブロックの予測モードがイントラ予測モード以外の場合(ステップS34でNO)、ステップS37に進む。
一方、対象ブロックの予測モードがイントラ予測モードの場合(ステップS34でYES)、且つ、差分値Dmodeが予め定められた閾値THMODE以下の場合(ステップS35でYES)、対象ブロックの位置に1をセットし、対象ブロックの位置と対応付けて動きベクトルMVを格納する(ステップS36)。
他方、差分値Dmodeが予め定められた閾値THMODEより大きい場合(ステップS35でNO)、対象ブロックの位置に0をセットする(ステップS37)。
すべてのブロックの処理が終わらない場合(ステップS38でNO)、対象ブロックを処理していない他のブロックに進め(ステップS39)、ステップS34に戻る。
以上、ステップS34乃至S39により比較部116を構成する。
すべてのブロックの処理が終わった場合(ステップS38でYES)、位置情報をランレングス符号化し(ステップS40)、位置情報が1のブロックについて動きベクトルMVを符号化する(ステップS41~S44)。
このステップS40乃至S43により付加データ符号化部117を構成する。
このステップS40乃至S43により付加データ符号化部117を構成する。
以上で説明したように、イントラ予測モードとインター予測モードの予測誤差量の差が小さいブロックでは、イントラ予測モードを使って作成したH.264準拠の符号化データとは別に、インター予測モードが選択されたときに用いるはずの動きベクトルを符号化して提供することで、動画像復号装置側に局所的な動きに対する情報を提供することができる。
ここで、符号化データと別に送付される付加データは、位置情報と動きベクトルのみであり、この追加によって必要となるデータは非常に小さい。
ここで、符号化データと別に送付される付加データは、位置情報と動きベクトルのみであり、この追加によって必要となるデータは非常に小さい。
また、付加データとして符号化される動きベクトルは、予測モード選択のためにもともと算出したものであり、この動きベクトルを付加するために新たな動き検出処理や、動き補償処理を行う必要はない。これによって、動画像復号装置側では、動画像符号化装置で作成された正確な動き情報を用いて、ポスト処理で再生画像を高画質化することが可能となり、また、ポスト処理方法も動きベクトルや位置情報に基づいて多様な方法を適用することができる。
次に、実施形態3に係る動画像復号装置について説明する。この動画像復号装置は、実施形態3に係る動画像符号化装置が出力する符号化データおよび付加データを用いて復号処理する。
本実施形態3における付加データは、イントラ予測モードとインター予測モードの予測誤差の差が小さく、且つ、イントラ予測モードが選択されたブロックに対し、そのブロックの位置情報とインター予測モードが選択された場合の動きベクトルである。
従って、本実施形態3に係る動画像復号装置の構成は、図4および図5と同じであるが、図5の動き補償部502に入力される動きベクトルがブロック毎に異なるという違いがある。
従って、本実施形態3に係る動画像復号装置の構成は、図4および図5と同じであるが、図5の動き補償部502に入力される動きベクトルがブロック毎に異なるという違いがある。
動画像復号装置では、H.264準拠の符号化データとは別に、イントラ予測モードとインター予測モードの予測誤差の差が小さく、且つ、イントラ予測モードが選択されたブロックに対し、付加データとしてインター予測モードが選択された場合の動きベクトルが提供されるので、性能に合わせて再生画像を高画質化することができる。
尚、本発明は上述した実施形態に限定されず、本発明の要旨を逸脱しない範囲内で各種の変形、修正が可能であるのは勿論である。
Claims (4)
- 動画像を小ブロックに分割し、当該ブロック毎に予測モードとしてイントラ予測モードまたはインター予測モードのいずれかを選択して符号化データを出力する動画像符号化装置であって、カメラの撮影パラメータに基づいてカメラの動きに対応する画像の動き量を算出する動き量算出部と、前記ブロック毎にインター予測モードで用いた動きベクトルと前記動き量とを比較する比較部と、前記比較結果に応じ前記動き量と該当するブロックの位置情報とを符号化して、前記符号化データに付加する付加データ符号化部と、を備えることを特徴とする動画像符号化装置。
- 動画像を小ブロックに分割し、当該ブロック毎に予測モードとしてイントラ予測モードまたはインター予測モードのいずれかを選択して符号化データを出力する動画像符号化装置であって、キーフレームについて、カメラの撮影パラメータに基づいてカメラの動きに対応する画像の動き量を算出する動き量算出部と、前記動き量が所定値以下の場合に、前記ブロック毎にインター予測モードで用いた動きベクトルと前記動き量とを比較する比較部と、前記比較結果に応じ前記動き量と該当するブロックの位置情報とを符号化して、前記符号化データに付加する付加データ符号化部と、を備えることを特徴とする動画像符号化装置。
- 動画像を小ブロックに分割し、当該ブロック毎に予測モードとしてイントラ予測モードまたはインター予測モードのいずれかを選択して符号化された符号化データを復号処理するとともに、前記ブロック毎にインター予測モードで用いた動きベクトルと、カメラの動きに対応する画像の動き量との比較結果に応じ前記動き量と該当するブロックの位置情報とを符号化して前記符号化データに付加された付加データを取得して復号処理する動画像復号装置であって、前記符号化データに付加された付加データを復号処理して、動き量とブロックの位置情報を取得する付加データ復号部と、前記動き量から動き補償ブロックを生成する動き補償部と、前記位置情報のブロックに該当する前記符号化データの復号処理されたブロックの画像と前記動き補償部で生成された動き補償ブロックの画像とを合成する合成部と、を備えることを特徴とする動画像復号装置。
- 動画像を小ブロックに分割し、当該ブロック毎に予測モードとしてイントラ予測モードまたはインター予測モードのいずれかを選択して符号化された符号化データを復号処理するとともに、キーフレームについて、カメラの動きに対応する画像の動き量が所定値以下の場合に、前記ブロック毎にインター予測モードで用いた動きベクトルと、前記動き量との比較結果に応じ前記動き量と該当するブロックの位置情報とを符号化して前記符号化データに付加された付加データを取得して復号処理する動画像復号装置であって、キーフレームについて、前記符号化データに付加された付加データを復号処理して、動き量とブロックの位置情報を取得する付加データ復号部と、前記動き量から動き補償ブロックを生成する動き補償部と、前記位置情報のブロックに該当する前記符号化データの復号処理されたブロックの画像と前記動き補償部で生成された動き補償ブロックの画像とを合成する合成部と、を備えることを特徴とする動画像復号装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010509122A JP5049386B2 (ja) | 2008-04-21 | 2009-03-27 | 動画像符号化装置および動画像復号装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008-110439 | 2008-04-21 | ||
JP2008110439 | 2008-04-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009130971A1 true WO2009130971A1 (ja) | 2009-10-29 |
Family
ID=41216709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/056258 WO2009130971A1 (ja) | 2008-04-21 | 2009-03-27 | 動画像符号化装置および動画像復号装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5049386B2 (ja) |
WO (1) | WO2009130971A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012159306A1 (zh) * | 2011-05-25 | 2012-11-29 | 深圳市融创天下科技股份有限公司 | 一种预测编码的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0818976A (ja) * | 1994-06-29 | 1996-01-19 | Toshiba Corp | 動画像符号化/復号化装置 |
JP2000092499A (ja) * | 1998-09-08 | 2000-03-31 | Canon Inc | 画像符号化制御装置、画像符号化制御方法及び記憶媒体 |
JP2006215655A (ja) * | 2005-02-01 | 2006-08-17 | Sharp Corp | 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体 |
JP2007104372A (ja) * | 2005-10-05 | 2007-04-19 | Nippon Telegr & Teleph Corp <Ntt> | 映像符号化方法,映像符号化装置,映像符号化プログラムおよびその記録媒体 |
JP2008011455A (ja) * | 2006-06-30 | 2008-01-17 | Sanyo Electric Co Ltd | 符号化方法 |
-
2009
- 2009-03-27 WO PCT/JP2009/056258 patent/WO2009130971A1/ja active Application Filing
- 2009-03-27 JP JP2010509122A patent/JP5049386B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0818976A (ja) * | 1994-06-29 | 1996-01-19 | Toshiba Corp | 動画像符号化/復号化装置 |
JP2000092499A (ja) * | 1998-09-08 | 2000-03-31 | Canon Inc | 画像符号化制御装置、画像符号化制御方法及び記憶媒体 |
JP2006215655A (ja) * | 2005-02-01 | 2006-08-17 | Sharp Corp | 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体 |
JP2007104372A (ja) * | 2005-10-05 | 2007-04-19 | Nippon Telegr & Teleph Corp <Ntt> | 映像符号化方法,映像符号化装置,映像符号化プログラムおよびその記録媒体 |
JP2008011455A (ja) * | 2006-06-30 | 2008-01-17 | Sanyo Electric Co Ltd | 符号化方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012159306A1 (zh) * | 2011-05-25 | 2012-11-29 | 深圳市融创天下科技股份有限公司 | 一种预测编码的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP5049386B2 (ja) | 2012-10-17 |
JPWO2009130971A1 (ja) | 2011-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100667830B1 (ko) | 다시점 동영상을 부호화하는 방법 및 장치 | |
KR101619450B1 (ko) | 뎁스 정보를 이용한 비디오 신호 처리 방법 및 장치 | |
US8644386B2 (en) | Method of estimating disparity vector, and method and apparatus for encoding and decoding multi-view moving picture using the disparity vector estimation method | |
EP3100454B1 (en) | Method for low-latency illumination compensation process | |
US10178410B2 (en) | Method and apparatus of motion information management in video coding | |
KR100964526B1 (ko) | 전환 효과를 위한 멀티미디어 코딩 기술 | |
US7978920B2 (en) | Method and system for processing an image, method and apparatus for decoding, method and apparatus for encoding, and program with fade period detector | |
KR101227601B1 (ko) | 시차 벡터 예측 방법, 그 방법을 이용하여 다시점 동영상을부호화 및 복호화하는 방법 및 장치 | |
JP4755093B2 (ja) | 画像符号化方法および画像符号化装置 | |
EP2538675A1 (en) | Apparatus for universal coding for multi-view video | |
JP4401336B2 (ja) | 符号化方法 | |
WO2012076646A1 (en) | High-dynamic range video tone mapping | |
JP2006279573A (ja) | 符号化装置と方法、ならびに復号装置と方法 | |
JP5137687B2 (ja) | 復号装置及び復号方法、プログラム | |
US20220377319A1 (en) | Prediction weighted table-based image/video coding method and apparatus | |
JP2008219876A (ja) | 動画像符号化装置、動画像符号化方法、及び、動画像復号化装置 | |
US8704932B2 (en) | Method and system for noise reduction for 3D video content | |
WO2012098845A1 (ja) | 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置 | |
JP2006279917A (ja) | 動画像符号化装置、動画像復号装置及び動画像伝送システム | |
JP2007180982A (ja) | 画像復号装置、画像復号方法、及び画像復号プログラム | |
US20090129471A1 (en) | Image decoding apparatus and method for decoding prediction encoded image data | |
US6697430B1 (en) | MPEG encoder | |
JP2007036888A (ja) | 符号化方法 | |
US20170230684A1 (en) | Methods, devices and computer programs for encoding and/or decoding images in video bit-streams using weighted predictions | |
JP2007228560A (ja) | 動画像符号化方法および動画像符号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09734832 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010509122 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09734832 Country of ref document: EP Kind code of ref document: A1 |