[go: up one dir, main page]

WO2015115645A1 - 動画像符号化装置及び動画像符号化方法 - Google Patents

動画像符号化装置及び動画像符号化方法 Download PDF

Info

Publication number
WO2015115645A1
WO2015115645A1 PCT/JP2015/052856 JP2015052856W WO2015115645A1 WO 2015115645 A1 WO2015115645 A1 WO 2015115645A1 JP 2015052856 W JP2015052856 W JP 2015052856W WO 2015115645 A1 WO2015115645 A1 WO 2015115645A1
Authority
WO
WIPO (PCT)
Prior art keywords
calculation
sao
unit
decoded image
image
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2015/052856
Other languages
English (en)
French (fr)
Inventor
淳真 大澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2015560064A priority Critical patent/JP6042001B2/ja
Priority to US15/108,982 priority patent/US9756340B2/en
Priority to CA2934941A priority patent/CA2934941C/en
Priority to EP15742974.7A priority patent/EP3104615B1/en
Publication of WO2015115645A1 publication Critical patent/WO2015115645A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/117Filters, e.g. for pre-processing or post-processing
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Definitions

  • the present invention relates to a moving image encoding apparatus and a moving image encoding method for encoding a moving image with high efficiency.
  • a deblocking filter is generally applied to a locally decoded image for the purpose of compensating for coding distortion of the locally decoded image.
  • a mosquito that cannot be compensated for only by applying the deblocking filter is used.
  • a SAO operation that is a sample adaptive offset to a locally decoded image.
  • the calculation content of the SAO calculation is determined from the SAO type (for example, edge offset, band offset) and the offset value.
  • Non-Patent Document 1 describes an original image and SAO calculation based on the concept of RDO (Rate-Distortion Optimization) in order to improve image quality and encoding efficiency when determining the SAO type and offset value.
  • RDO Rate-Distortion Optimization
  • a moving image coding apparatus that compares subsequent images and selects an SAO type and an offset value that are most similar to the original image after the SAO calculation.
  • the conventional moving image encoding apparatus is configured as described above, when determining the SAO type and offset value, the original image and the image after the SAO calculation are compared based on the RDO concept.
  • the image comparison based on the RDO concept increases the hardware scale and requires a lot of computation time, so that there is a problem that it is impossible to select the optimum SAO type and offset value in real time. there were.
  • the present invention has been made in order to solve the above-described problems, and is capable of reducing the hardware scale and moving image coding capable of determining the optimal SAO calculation content in real time. It is an object to obtain an apparatus and a moving image coding method.
  • the moving picture coding apparatus uses a frame memory that holds a locally decoded image of a coded block that has already been coded, and a local decoded image that is held in the frame memory.
  • Predicted image generation means for generating a predicted image of a block to be encoded by performing motion compensation prediction processing on the block, compressing a difference image between the block to be encoded and the predicted image, and encoding compressed data of the difference image
  • a local decoded image generating means for decoding the differential image by decompressing the compressed data and generating a local decoded image from the decoded differential image and the predicted image.
  • the SAO calculation performed on the locally decoded image of the encoded block indicated by the motion vector searched in the motion compensation prediction process by the image generation means In consideration of the calculation content, the calculation content of the SAO calculation for the local decoded image generated by the local decoded image generation unit is determined, and the SAO calculation unit performs the following operation on the local decoded image generated by the local decoded image generation unit:
  • the SAO operation is performed with the operation content determined by the operation content determining means, and the locally decoded image after the SAO operation is stored in the frame memory.
  • local decoding is performed in consideration of the calculation contents of the SAO calculation performed on the locally decoded image of the encoded block indicated by the motion vector searched in the motion compensation prediction process by the prediction image generating unit.
  • Calculation content determination means for determining the calculation content of the SAO calculation for the local decoded image generated by the image generation means is provided, and the SAO calculation means determines the calculation content for the local decoded image generated by the local decoded image generation means. Since the SAO operation is performed with the operation content determined by the means, the hardware scale can be reduced, and the optimal SAO operation operation content can be determined in real time. is there.
  • FIG. 1 is a block diagram showing a moving picture coding apparatus according to Embodiment 1 of the present invention.
  • the encoding control unit 1 determines the maximum size of an encoding target block that is a processing unit when encoding processing is performed, and when the encoding target block having the maximum size is hierarchically divided. By determining the upper limit number of layers, the process of determining the size of each encoding target block is performed.
  • the encoding control unit 1 has one or more selectable encoding modes (for example, one or more intra encoding modes having different prediction block sizes indicating prediction processing units, one or more different prediction block sizes, and the like).
  • a process of selecting an encoding mode to be applied to the encoding target block output from the block dividing unit 2 is performed from the (inter encoding mode).
  • the selection method there is a method of selecting a coding mode having the highest coding efficiency for the coding target block output from the block dividing unit 2 from one or more selectable coding modes.
  • the coding control unit 1 sets the intra prediction parameter used when performing the intra prediction process on the current block in the intra coding mode.
  • the inter prediction for the block to be coded in the inter coding mode is performed. The process which determines the inter prediction parameter used when implementing a process for every prediction block which is a prediction process unit which the said inter coding mode shows is implemented.
  • the encoding control unit 1 performs a process of determining a prediction difference encoding parameter to be given to the frequency transform quantization unit 7 and the inverse frequency transform inverse quantization unit 9.
  • the prediction differential encoding parameter includes transform block partition information indicating transform block partition information that is an orthogonal transform processing unit in the encoding target block, and quantization that specifies a quantization step size when transform coefficients are quantized. Includes parameters.
  • the block dividing unit 2 divides the original image into maximum encoding target blocks that are encoding target blocks of the maximum size determined by the encoding control unit 1, and the encoding control unit 1 Until the upper limit number of hierarchies determined by (1) is reached, a process of dividing the maximum coding target block hierarchically into each coding target block is performed. That is, the block dividing unit 2 divides the original image into encoding target blocks having a size determined by the encoding control unit 1, and performs a process of sequentially outputting each encoding target block. Each encoding target block is divided into one or a plurality of prediction blocks which are prediction processing units.
  • the intra prediction unit 3 is stored in the local decoded image memory 11.
  • the intra-prediction process (intra-frame prediction process) using the intra-prediction parameter determined by the encoding control unit 1 is performed while referring to the local decoded image, and an intra-predicted image of the encoding target block is generated Perform the process.
  • the motion compensated prediction unit 4 and the coding target block and the frame memory 15 is used to search for a motion vector by comparing locally decoded images of one frame or more stored in the block 15 and use the motion vector and the inter prediction parameter determined by the encoding control unit 1 to perform inter prediction for the block to be encoded.
  • a prediction process motion compensation prediction process
  • the motion compensation prediction unit 4 constitutes a predicted image generation unit.
  • the selector 5 outputs the intra prediction image generated by the intra-screen prediction unit 3 to the subtracter 6 and the adder 10 for coding. If the coding mode determined by the control unit 1 is the inter coding mode, a process of outputting the inter prediction image generated by the motion compensation prediction unit 4 to the subtractor 6 and the adder 10 is performed.
  • the subtracter 6 subtracts the intra prediction image generated by the intra prediction unit 3 or the inter prediction image generated by the motion compensated prediction unit 4 from the encoding target block output from the block dividing unit 2, A process of outputting a prediction difference signal indicating the difference image as the subtraction result to the frequency transform quantization unit 7 is performed.
  • the frequency transform quantization unit 7 refers to the transform block division information included in the prediction difference coding parameter determined by the coding control unit 1 and performs orthogonal transform processing on the prediction difference signal output from the subtracter 6 (for example, DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), orthogonal transform processing such as KL transform, which is previously designed for a specific learning sequence, is performed for each transform block, and transform coefficients are calculated.
  • DCT Discrete Cosine Transform
  • DST Discrete Sine Transform
  • the transform coefficient of the transform block unit is quantized, and the compressed data which is the transform coefficient after quantization is converted into the entropy coding unit 8 and the inverse frequency transform inverse A process of outputting to the quantization unit 9 is performed.
  • the entropy encoding unit 8 outputs the compressed data output from the frequency transform quantization unit 7 and the output signal of the encoding control unit 1 (block division information in the maximum encoding target block, encoding mode, prediction difference encoding parameter, Intra prediction parameters, inter prediction parameters) and motion vectors output from the motion compensation prediction unit 4 (when the encoding mode is the inter encoding mode) are variable-length encoded, and bits consisting of the encoded data Performs processing to generate a stream.
  • the subtractor 6, the frequency transform quantization unit 7 and the entropy encoding unit 8 constitute encoding means.
  • the inverse frequency transform inverse quantization unit 9 refers to the quantization parameter and transform block division information included in the prediction difference coding parameter determined by the coding control unit 1, and from the frequency transform quantization unit 7 on a transform block basis.
  • a local decoded prediction difference corresponding to the prediction difference signal output from the subtracter 6 is obtained by inversely quantizing the output compressed data and performing an inverse orthogonal transform process on the transform coefficient that is the compressed data after the inverse quantization.
  • a process of calculating a signal is performed.
  • the adder 10 includes a local decoded prediction difference signal calculated by the inverse frequency transform inverse quantization unit 9, an intra prediction image generated by the intra prediction unit 3, or an inter prediction image generated by the motion compensation prediction unit 4. And a process of calculating a local decoded image corresponding to the encoding target block output from the block dividing unit 2 is performed.
  • the inverse frequency transform inverse quantization unit 9 and the adder 10 constitute local decoded image generation means.
  • the locally decoded image memory 11 is a recording medium that stores the locally decoded image calculated by the adder 10.
  • the deblocking filter unit 12 performs deblocking filter processing on the local decoded image calculated by the adder 10 to reduce distortion occurring at the boundary of the transform block and the boundary of the prediction block.
  • the calculation content determination unit 13 calculates the calculation content (SAO type and offset) of the SAO calculation performed on the locally decoded image of the encoded block indicated by the motion vector searched in the motion compensation prediction process by the motion compensation prediction unit 4. Value) is taken into consideration, and the processing content for determining the SAO calculation content (SAO type and offset value) for the local decoded image after the deblocking filter processing by the deblocking filter unit 12 is performed.
  • the calculation content determination unit 13 constitutes calculation content determination means.
  • the SAO calculation unit 14 performs a SAO calculation with the calculation content determined by the calculation content determination unit 13 on the local decoded image after the deblocking filter processing by the deblocking filter unit 12, and the local decoded image after the SAO calculation Is stored in the frame memory 15.
  • the SAO calculation unit 14 constitutes a SAO calculation means.
  • the similarity calculation unit 21 of the calculation content determination unit 13 performs a process of calculating the similarity between the encoding target block output from the block division unit 2 and the locally decoded image after the SAO calculation by the SAO calculation unit 14.
  • the information holding unit 22 calculates the similarity as information of the encoded block that is the encoded block of the encoding target block. This is a memory that holds the similarity calculated by the unit 21 and the calculation contents (SAO type and offset value) of the SAO calculation performed by the SAO calculation unit 14.
  • the calculation content selection unit 23 is information on the encoded block indicated by the motion vector searched in the motion compensation prediction process by the motion compensation prediction unit 4 among the information on the encoded block held in the information holding unit 22 (similarity).
  • the calculation content of the SAO calculation is obtained, and weighting processing is performed to change the ease of selection of the acquired calculation content according to the acquired similarity, and then a plurality of calculation contents prepared in advance are obtained.
  • a process of selecting the calculation contents (SAO type and offset value) of the SAO calculation for the local decoded image after the deblocking filter process by the deblocking filter unit 12 is performed.
  • the encoding control unit 1 the block division unit 2, the intra-screen prediction unit 3, the motion compensation prediction unit 4, the selector 5, the subtractor 6, and the frequency transform quantization, which are components of the moving image encoding device.
  • Is assumed to be configured with dedicated hardware components other than the locally decoded image memory 11 and the frame memory 15 are configured with, for example, a semiconductor integrated circuit on which a CPU is mounted or a one-chip microcomputer).
  • the moving image encoding apparatus may be configured by a computer.
  • FIG. 2 is a flowchart showing the processing contents (moving image coding method) of the moving image coding apparatus according to Embodiment 1 of the present invention.
  • FIG. 3 is a block diagram showing the inside of the calculation content selection unit 23 of the moving picture coding apparatus according to Embodiment 1 of the present invention.
  • the similarity calculation processing unit 31 has a plurality of calculation contents prepared in advance, and the local part after the SAO calculation when the SAO calculation is performed on the locally decoded image after the deblocking filter process by the deblocking filter unit 12.
  • Each of the decoded images is generated, and a process of calculating the similarity between each local decoded image after the SAO calculation and the encoding target block output from the block dividing unit 2 is performed.
  • the selection processing unit 32 weights each similarity calculated by the similarity calculation processing unit 31 with the similarity that is information of the encoded block indicated by the motion vector output from the motion compensation prediction unit 4, and applies weighting. Among the calculation contents corresponding to each similarity, processing for selecting the calculation contents corresponding to the highest similarity is performed.
  • the moving image encoding apparatus of FIG. 1 adapts to local changes in the spatial and temporal directions of the video signal (original image), divides the video signal into blocks of various sizes, and adapts within and between frames. It is characterized by encoding.
  • a video signal has a characteristic that the complexity of the signal changes locally in space and time.
  • a small image such as a picture with a uniform signal characteristic in a relatively wide image area such as the sky or a wall, or a picture containing a person or fine texture, on a video frame.
  • a pattern having a complicated texture pattern in the region may be mixed.
  • Even when viewed temporally, the change in the pattern of the sky and the wall locally in the time direction is small, but because the outline of the moving person or object moves rigidly or non-rigidly in time, the temporal change Is big.
  • a prediction difference signal with small signal power and entropy is generated by temporal and spatial prediction to reduce the overall code amount.
  • the parameters used for the prediction are set as large as possible in the image signal region. If it can be applied uniformly, the code amount of the parameter can be reduced.
  • the same prediction parameter is applied to a large image region with respect to an image signal pattern having a large temporal and spatial change, the number of prediction differential signals increases because prediction errors increase. .
  • the block size for performing the prediction process by applying the same prediction parameter is reduced, the amount of parameter data used for prediction is increased, and the power and entropy of the prediction difference signal are increased. It is desirable to reduce In the first embodiment, in order to perform coding adapted to the general characteristics of such a video signal, first, prediction processing or the like is started from a predetermined maximum block size, and the video signal region is divided hierarchically. In addition, the prediction process and the encoding process of the prediction difference are adapted for each divided area.
  • the encoding control unit 1 determines the size of the maximum encoding target block used for encoding the picture to be encoded (current picture) and the upper limit of the number of hierarchies for hierarchically dividing the maximum encoding target block ( Step ST1 in FIG.
  • the size of the maximum encoding target block for example, the same size may be determined for all the pictures according to the resolution of the video signal of the input image, or the local size of the video signal of the input image may be determined.
  • the difference in motion complexity may be quantified as a parameter, and a small size may be determined for a picture with high motion, while a large size may be determined for a picture with little motion.
  • the upper limit of the number of division layers can be determined by, for example, determining the same number of layers for all pictures according to the resolution of the video signal of the input image, or when the motion of the video signal of the input image is severe There is a method in which the number of hierarchies is increased so that finer movements can be detected, and when there are few movements, the number of hierarchies is set to be suppressed.
  • the size of the maximum encoding target block and the upper limit of the number of layers into which the maximum encoding target block is divided are encoded by a sequence level header or the like. In that case, instead of the upper limit of the number of division layers, the minimum block size of the encoding target block may be encoded.
  • the encoding control unit 1 selects an encoding mode corresponding to each encoding target block divided hierarchically from one or more available encoding modes (step ST2). That is, the encoding control unit 1 divides hierarchically into encoding target blocks having the encoding target block size for each image area of the maximum encoding target block size until the upper limit of the number of division hierarchies is reached. Then, the encoding mode for each encoding target block is determined. There are one or more intra coding modes (collectively referred to as “INTRA”) and one or more inter coding modes (collectively referred to as “INTER”). The encoding control unit 1 selects an encoding mode corresponding to each encoding target block from all encoding modes available for the picture or a subset thereof.
  • ITRA intra coding modes
  • INTER inter coding modes
  • each encoding target block that is hierarchically divided by the block division unit 2 described later is further divided into one or a plurality of prediction blocks that are units for performing the prediction process, and the division state of the prediction block is also encoded. Included in the mode as information. That is, the coding mode is an index for identifying what kind of prediction block division the intra coding mode or inter coding mode is.
  • the encoding mode selection method by the encoding control unit 1 is a known technique, a detailed description thereof is omitted. For example, an encoding process for an encoding target block using an arbitrary encoding mode that can be used is used. There is a method of verifying the coding efficiency and selecting the coding mode with the best coding efficiency from among a plurality of available coding modes.
  • a prediction parameter Intra prediction parameter or inter prediction parameter
  • the encoding control unit 1 determines a quantization parameter and a transform block division state used when the difference image is compressed for each encoding target block.
  • the encoding control unit 1 determines the maximum encoding target block size and the upper limit.
  • Block division information indicating the number of layers is output to the block division unit 2.
  • the encoding control unit 1 performs prediction including transform block partition information indicating transform block partition information in a block to be encoded, a quantization parameter that defines a quantization step size when transform coefficients are quantized, and the like.
  • the differential encoding parameter is output to the frequency transform quantization unit 7, the entropy encoding unit 8, and the inverse frequency transform inverse quantization unit 9. Since the prediction difference encoding parameter determination process itself is a known technique, detailed description thereof is omitted.
  • the encoding control unit 1 determines the intra prediction parameter by selecting the intra encoding mode as the encoding mode for the block to be encoded as described above, the encoding control unit 1 sets the intra prediction parameter to the intra prediction unit 3. Output to. The encoding control unit 1 selects the inter encoding mode as the encoding mode for the encoding target block and determines the inter prediction parameter, and outputs the inter prediction parameter to the motion compensation prediction unit 4.
  • the block dividing unit 2 divides the original image into maximum encoding target blocks that are encoding target blocks of the maximum size indicated by the block division information output from the encoding control unit 1.
  • the maximum coding target block is hierarchically divided into each coding target block until the upper limit number of layers indicated by the block division information is reached. That is, the block dividing unit 2 divides the input original image into encoding target blocks having a size determined by the encoding control unit 1, and sequentially outputs each encoding target block. Note that each encoding target block is divided into one or a plurality of prediction blocks serving as a prediction processing unit.
  • the intra-screen prediction unit 3 receives the encoding target block from the block division unit 2 and the encoding mode determined by the encoding control unit 1 is the intra encoding mode (step ST3), the local decoded image memory 11
  • the intra prediction process for each prediction block in the encoding target block is performed using the intra prediction parameter determined by the encoding control unit 1 while referring to the locally decoded image stored in An image is generated (step ST4).
  • the intra prediction parameters used for generating the intra prediction image are output from the encoding control unit 1 to the entropy encoding unit 8. And multiplexed into a bitstream.
  • the motion compensation predicting unit 4 receives the encoding target block from the block dividing unit 2 and the encoding mode determined by the encoding control unit 1 is the inter encoding mode (step ST3), the encoding target block The motion vector is searched for by comparing each of the prediction blocks and the locally decoded image of the encoded block stored in the frame memory 15. Since the motion vector search process itself is a known technique, a detailed description thereof will be omitted.
  • the motion compensation prediction unit 4 searches for a motion vector, the motion compensation prediction unit 4 uses the motion vector and the inter prediction parameter determined by the encoding control unit 1 to perform inter prediction processing for each prediction block in the encoding target block. Then, an inter prediction image is generated (step ST5).
  • the inter prediction parameters used for generating the inter prediction image are output from the encoding control unit 1 to the entropy encoding unit 8. And multiplexed into a bitstream.
  • the motion vector searched by the motion compensation prediction unit 4 is also output to the entropy encoding unit 8 and multiplexed into the bit stream.
  • the selector 5 outputs the intra prediction image generated by the intra prediction unit 3 to the subtracter 6 and the adder 10, If the coding mode determined by the coding control unit 1 is the inter coding mode, the inter prediction image generated by the motion compensation prediction unit 4 is output to the subtracter 6 and the adder 10.
  • the subtractor 6 When the subtractor 6 receives the intra prediction image generated by the intra prediction unit 3 from the selector 5, the subtracter 6 subtracts the intra prediction image from the prediction block in the encoding target block output from the block division unit 2, A prediction difference signal indicating a difference image as a subtraction result is output to the frequency transform quantization unit 7 (step ST6). In addition, when receiving the inter predicted image generated by the motion compensation prediction unit 4 from the selector 5, the subtractor 6 subtracts the inter predicted image from the prediction block in the encoding target block output from the block dividing unit 2. The prediction difference signal indicating the difference image as the subtraction result is output to the frequency transform quantization unit 7 (step ST6).
  • the frequency transform quantization unit 7 When the frequency transform quantization unit 7 receives the prediction difference signal from the subtractor 6, the frequency transform quantization unit 7 refers to the transform block division information included in the prediction difference encoding parameter determined by the encoding control unit 1 and performs the process on the prediction difference signal. Perform orthogonal transform processing (for example, DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), orthogonal transform processing such as KL transform in which a base design is made in advance for a specific learning sequence) for each transform block. The conversion coefficient is calculated. Further, the frequency transform quantization unit 7 refers to the quantization parameter included in the prediction differential encoding parameter, quantizes the transform coefficient of the transform block unit, and entropy the compressed data that is the quantized transform coefficient. It outputs to the encoding part 8 and the inverse frequency transformation inverse quantization part 9 (step ST7).
  • DCT Discrete Cosine Transform
  • DST Discrete Sine Transform
  • the inverse frequency transform inverse quantizer 9 When the inverse frequency transform inverse quantizer 9 receives the compressed data from the frequency transform quantizer 7, the inverse frequency transform inverse quantizer 9 refers to the quantization parameter and transform block division information included in the prediction differential encoding parameter determined by the encoding controller 1. Then, the compressed data is inversely quantized for each transform block. Further, the inverse frequency transform inverse quantization unit 9 performs inverse orthogonal transform processing (for example, inverse DCT, inverse DST, inverse KL transform, etc.) on transform coefficients that are compressed data after inverse quantization for each transform block. Then, a local decoded prediction difference signal corresponding to the prediction difference signal output from the subtractor 6 is calculated and output to the adder 10 (step ST8).
  • inverse orthogonal transform processing for example, inverse DCT, inverse DST, inverse KL transform, etc.
  • step ST9 When the adder 10 receives the intra predicted image generated by the intra prediction unit 3 from the selector 5, the adder 10 adds the intra predicted image and the local decoded prediction difference signal output from the inverse frequency transform inverse quantization unit 9. Thus, a locally decoded image is calculated (step ST9).
  • the adder 10 receives the inter prediction image generated by the motion compensation prediction unit 4 from the selector 5, the adder 10 adds the inter prediction image and the local decoded prediction difference signal output from the inverse frequency transform inverse quantization unit 9. Thus, a locally decoded image is calculated (step ST9).
  • the adder 10 outputs the local decoded image to the deblocking filter unit 12 and stores the local decoded image in the local decoded image memory 11. This locally decoded image becomes an encoded image signal used in the subsequent intra prediction processing.
  • the deblocking filter unit 12 When the deblocking filter unit 12 receives the local decoded image from the adder 10, the deblocking filter unit 12 performs deblocking filter processing on the local decoded image to reduce distortion occurring at the boundary of the transform block and the boundary of the prediction block. Then, the locally decoded image after the deblocking filter processing is output to the SAO computing unit 14 (step ST10).
  • FIG. 4 is an explanatory diagram showing a locally decoded image (locally decoded image at the reference position) of the encoded block indicated by the motion vector.
  • the calculation contents (SAO type and offset value) of the SAO calculation are determined. (Step ST11). Note that the calculation contents (SAO type and offset value) of the SAO calculation are calculation contents described in the HEVC standard.
  • the SAO calculation unit 14 When the calculation content determination unit 13 determines the calculation content (SAO type, offset value) of the SAO calculation, the SAO calculation unit 14 performs the calculation on the local decoded image after the deblocking filter processing by the deblocking filter unit 12. The SAO operation is performed on the content, and the locally decoded image after the SAO operation is stored in the frame memory 15 (step ST12). The local decoded image after the SAO calculation becomes an encoded image signal used in the subsequent inter prediction processing.
  • steps ST3 to ST9 are repeatedly performed until the processes for all the encoding target blocks divided hierarchically are completed, and when the processes for all the encoding target blocks are completed, the process proceeds to the process of step ST15 ( Steps ST13 and ST14).
  • the entropy encoding unit 8 outputs the compressed data output from the frequency transform quantization unit 7 and the output signal of the encoding control unit 1 (block division information in the maximum encoding target block, encoding mode, prediction difference encoding parameter , Intra prediction parameters, inter prediction parameters) and motion vectors output from the motion compensated prediction unit 4 (when the encoding mode is the inter encoding mode) are variable length encoded, and are composed of the encoded data.
  • a bit stream is generated (step ST15).
  • the similarity calculation unit 21 uses, for example, a high-accuracy similarity calculation method such as a square error sum (SSE) or Hadamard transform absolute value error sum (SATD) to output the encoding output from the block division unit 2.
  • SSE square error sum
  • SATD Hadamard transform absolute value error sum
  • the degree of similarity calculated by the degree-of-similarity calculation unit 21 is used when determining the calculation contents of the SAO calculation for the local decoded image of the block to be encoded in the next frame and thereafter. Since there is a time margin, a calculation method with higher accuracy than the similarity calculation method used by the similarity calculation processing unit 31 of the calculation content selection unit 23 described later is used.
  • the information holding unit 22 can hold information (similarity, calculation contents of SAO calculation) of encoded blocks for a plurality of frames that may become reference frames.
  • the calculation content selection unit 23 identifies the encoded block indicated by the motion vector searched by the motion compensation prediction unit 4, and stores the information of the encoded blocks for a plurality of frames held in the information holding unit 22. From the inside, the information (similarity, calculation content of SAO calculation) of the encoded block indicated by the motion vector is acquired. When the calculation content selection unit 23 acquires the information of the encoded block (similarity, calculation content of SAO calculation), the weighting process changes the ease of selection of the acquired calculation content according to the acquired similarity. Then, the calculation contents (SAO type and offset value) of the SAO calculation for the local decoded image after the deblocking filter processing by the deblocking filter unit 12 are selected from a plurality of calculation contents prepared in advance. .
  • the similarity calculation processing unit 31 of the calculation content selection unit 23 performs SAO calculation on the locally decoded image after the deblocking filter processing by the deblocking filter unit 12 with a plurality of calculation contents (SAO type and offset value) prepared in advance.
  • SAO type and offset value a plurality of calculation contents prepared in advance.
  • Each of the locally decoded images after the SAO calculation is generated. For example, if an edge offset and a band offset are prepared as SAO types, and a plurality of offset values corresponding to each offset are prepared, the calculation content in each combination is used for the locally decoded image after the deblocking filter processing.
  • SAO computation is performed to generate local decoded images after SAO computation.
  • the similarity calculation processing unit 31 When the similarity calculation processing unit 31 generates, for example, N local decoded images as the local decoded images after the SAO calculation, for example, using a simple similarity calculation method such as a sum of absolute differences (SAD), The similarity R 1 , R 2 ,..., RN between the N local decoded images and the encoding target block output from the block dividing unit 2 is calculated. Since the similarity calculation processing in the similarity calculation processing unit 31 needs to be processed in real time, a calculation method simpler than the similarity calculation method used by the similarity calculation unit 21 is used.
  • a simple similarity calculation method such as a sum of absolute differences (SAD)
  • the calculation content corresponding to the similarity R n is specified.
  • Selection processing unit 32 is higher than the threshold value Th the similarity indicated by the information of the encoded block that motion vector is pointing is preset, the similarity R 1, R 2, ⁇ ⁇ ⁇ , corresponding to R N from among the n content of operation to be, for operation content corresponding to the similarity R n is easily selected, adds the positive offset (the value of the similarity R n is increased) the similarity R n.
  • the similarity indicated by the information of the encoded block indicated by the motion vector is lower than the threshold Th, the N calculation contents corresponding to the similarities R 1 , R 2 ,. , for operation content corresponding to the similarity R n is difficult to select, adds a negative offset (the value of the similarity R n smaller) the similarity R n.
  • the selection processing unit 32 weights the similarities R 1 , R 2 ,..., R N (adds a plus or minus offset to the similarity R n ), the weighted similarities R 1 , R 2 , ..., the most value among the R N is identified a large similarity, most value and outputs the operation content corresponding to the large similarity SAO calculation unit 14 and the information holding unit 22.
  • the weighted similarity R 1, R 2, ⁇ ⁇ ⁇ if the most value is a large degree of similarity among the R N is a similarity R 2, the operation contents corresponding to the degree of similarity R 2 SAO operation Output to the unit 14 and the information holding unit 22.
  • the deblocking filter processing by the deblocking filter unit 12 is performed by adding the calculation contents (SAO type and offset value) of the SAO calculation performed in the past to the locally decoded image of the encoded block.
  • the similarity calculation processing unit 31 uses, for example, a similarity calculation method such as a sum of absolute differences (SAD) to calculate the similarity R 1 , R 2 , N between the N local decoded images and the encoding target block. ..., since to calculate the R N, real similarity R 1, R 2, ..., it is possible to calculate the R N.
  • a similarity calculation method such as a sum of absolute differences (SAD)
  • the similarity calculation unit 21 uses a calculation method with higher accuracy than the similarity calculation method used by the similarity calculation processing unit 31, but calculates the similarity with a time margin. For this reason, for example, parallel processing hardware or the like for improving the calculation speed is not required, and an increase in hardware scale can be suppressed.
  • the SAO is performed on the locally decoded image of the encoded block indicated by the motion vector searched by the motion compensation prediction process by the motion compensation prediction unit 4.
  • an operation content determination unit 13 that determines the operation content of the SAO operation on the local decoded image after the deblocking filter processing by the deblocking filter unit 12 is provided, and the SAO operation unit 14 includes the deblocking filter. Since the SAO calculation is performed on the local decoded image after the deblocking filter processing by the unit 12 with the calculation content determined by the calculation content determination unit 13, the hardware scale can be reduced. As well as being able to determine the optimal SAO calculation content in real time
  • the SAO calculation for the local decoded image after the deblocking filter process is performed in consideration of the calculation content of the SAO calculation performed on the local decoded image of the encoded block indicated by the motion vector.
  • the contents are shown, in addition to the calculation contents of the SAO calculation performed on the locally decoded image of the encoded block indicated by the motion vector, it exists in the vicinity of the encoded block Deblocking filter processing in consideration of the calculation contents of the SAO calculation performed on the local decoded image of the encoded block (local decoded images of the four encoded blocks shown by broken lines in FIG. 4) You may make it determine the calculation content of SAO calculation with respect to a subsequent local decoding image.
  • the calculation is performed on a locally decoded image of a coded block existing in the vicinity.
  • the same operation content as the SAO operation content is specified (here, for convenience of explanation, the same operation content is the operation content corresponding to the similarity R m (1 ⁇ m ⁇ N))
  • the similarity R is selected from the N calculation contents corresponding to the similarities R 1 , R 2 ,.
  • a positive offset is added to the similarity R m (the value of the similarity R m is increased).
  • the N calculation contents corresponding to the similarities R 1 , R 2 ,. , for operation content corresponding to the similarity R m is difficult to select, adds a negative offset (the value of the similarity R m smaller) the similarity R m.
  • Embodiment 2 the selection processing section 32, the encoding of similarity R 1, R 2 and the N local decoded image and the encoding target block, ..., and R N, pointing motion vector
  • the weighting is performed by the similarity indicated by the information of the completed block
  • the calculation content indicated by the information of the encoded block indicated by the motion vector is changed.
  • the calculation contents indicated by the information of the encoded block are specified from the calculation contents (SAO type and offset value). If the similarity indicated by the information of the encoded block is lower than the threshold Th, the encoding is performed.
  • the local decoding image after the SAO calculation is performed by performing the SAO calculation on the locally decoded image after the deblocking filter processing with the other calculation contents except the calculation content indicated by the information of the completed block. The may be generated respectively.
  • the SAO operation is performed with N ⁇ 1 operation contents, and N ⁇ 1 pieces are obtained. Since the local decoded image after the SAO calculation is generated, the ease of selecting the calculation content indicated by the information of the encoded block indicated by the motion vector can be changed as in the first embodiment. In the second embodiment, the number of locally decoded images generated after the SAO calculation is smaller than that in the first embodiment, and the similarity R 1 , R 2 ,... ⁇ the R N, there is no need to weighted similarity indicated by the information of the encoded block that motion vector is pointing, it is possible to reduce the amount of calculation.
  • the encoded data existing around the encoded block is performed in consideration of the calculation contents of the SAO calculation performed on the local decoded picture of the block (the local decoded picture of the four encoded blocks represented by the broken lines in FIG. 4).
  • the content of the SAO calculation on the decoded image may be determined. In this case, when the similarity indicated by the information of the encoded blocks existing in the vicinity is lower than the threshold Th, the calculation content indicated by the information of the encoded blocks existing in the vicinity is excluded.
  • N operation contents prepared in advance for example, when the similarity indicated by the information of four encoded blocks existing in the vicinity is lower than the threshold Th, N ⁇ 4 SAO Local decoded images after the calculation are generated, and the number of locally decoded images generated after the SAO calculation is further reduced.
  • the moving picture coding apparatus takes into account the calculation contents of the SAO calculation performed on the locally decoded image of the encoded block indicated by the motion vector searched in the motion compensated prediction process by the predicted image generation means. Since the calculation content determining means for determining the calculation contents of the SAO calculation for the local decoded image generated by the local decoded image generation means is provided, the hardware scale can be reduced and the calculation contents of the optimum SAO calculation in real time. This is suitable for encoding video signals.

Landscapes

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

Abstract

 動き補償予測部(4)による動き補償予測処理で探索される動きベクトルが指し示す符号化済みブロックの局部復号画像に対して実施されているSAO演算の演算内容を加味して、デブロッキングフィルタ部(12)によるデブロッキングフィルタ処理後の局部復号画像に対するSAO演算の演算内容を決定する演算内容決定部(13)を設ける。

Description

動画像符号化装置及び動画像符号化方法
 この発明は、動画像を高効率で符号化を行う動画像符号化装置及び動画像符号化方法に関するものである。
 動画像符号化装置では、局部復号画像の符号化歪みを補償する目的でデブロッキングフィルタを局部復号画像に適用することが一般的であるが、デブロッキングフィルタを適用するだけでは補償しきれないモスキートノイズを低減するために、局部復号画像に対してサンプル・アダプティブ・オフセットであるSAO演算を適用するものがある。
 ここで、SAO演算の演算内容は、SAOのタイプ(例えば、エッジオフセット、バンドオフセット)とオフセット値から決定される。
 以下の非特許文献1には、SAOのタイプとオフセット値を決定する際、画質及び符号化効率の向上を図るために、RDO(Rate-Distortion Optimization)の概念に基づいて、原画像とSAO演算後の画像を比較して、SAO演算後の画像が原画像と最も類似するSAOのタイプとオフセット値を選択する動画像符号化装置が開示されている。
ITU-T Recommendation H.265
 従来の動画像符号化装置は以上のように構成されているので、SAOのタイプとオフセット値を決定する際、RDOの概念に基づいて、原画像とSAO演算後の画像を比較している。しかし、RDOの概念に基づく画像比較では、ハードウェア規模が大きくなるとともに、多くの演算時間を要するために、最適なSAOのタイプとオフセット値をリアルタイムに選択することができなくなることがある課題があった。
 この発明は上記のような課題を解決するためになされたもので、ハードウェア規模の小型化を図ることができるとともに、最適なSAO演算の演算内容をリアルタイムに決定することができる動画像符号化装置及び動画像符号化方法を得ることを目的とする。
 この発明に係る動画像符号化装置は、既に符号化されている符号化済みブロックの局部復号画像を保持するフレームメモリと、フレームメモリに保持されている局部復号画像を用いて、符号化対象のブロックに対する動き補償予測処理を実施して、符号化対象ブロックの予測画像を生成する予測画像生成手段と、符号化対象ブロックと予測画像の差分画像を圧縮し、その差分画像の圧縮データを符号化する符号化手段と、その圧縮データを伸長して差分画像を復号し、その復号した差分画像と予測画像から局部復号画像を生成する局部復号画像生成手段とを設け、演算内容決定手段が、予測画像生成手段による動き補償予測処理で探索される動きベクトルが指し示す符号化済みブロックの局部復号画像に対して実施されているSAO演算の演算内容を加味して、局部復号画像生成手段により生成された局部復号画像に対するSAO演算の演算内容を決定し、SAO演算手段が、局部復号画像生成手段により生成された局部復号画像に対して、演算内容決定手段により決定された演算内容でのSAO演算を実施し、SAO演算後の局部復号画像をフレームメモリに格納するようにしたものである。
 この発明によれば、予測画像生成手段による動き補償予測処理で探索される動きベクトルが指し示す符号化済みブロックの局部復号画像に対して実施されているSAO演算の演算内容を加味して、局部復号画像生成手段により生成された局部復号画像に対するSAO演算の演算内容を決定する演算内容決定手段を設け、SAO演算手段が、局部復号画像生成手段により生成された局部復号画像に対して、演算内容決定手段により決定された演算内容でのSAO演算を実施するように構成したので、ハードウェア規模の小型化を図ることができるとともに、最適なSAO演算の演算内容をリアルタイムに決定することができる効果がある。
この発明の実施の形態1による動画像符号化装置を示す構成図である。 この発明の実施の形態1による動画像符号化装置の処理内容(動画像符号化方法)を示すフローチャートである。 この発明の実施の形態1による動画像符号化装置の演算内容選択部23の内部を示す構成図である。 動きベクトルが指し示している符号化済みブロックの局部復号画像(参照位置の局部復号画像)を示す説明図である。
 以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
 図1はこの発明の実施の形態1による動画像符号化装置を示す構成図である。
 図1において、符号化制御部1は符号化処理が実施される際の処理単位となる符号化対象ブロックの最大サイズを決定するとともに、最大サイズの符号化対象ブロックが階層的に分割される際の上限の階層数を決定することで、各々の符号化対象ブロックのサイズを決定する処理を実施する。
 また、符号化制御部1は選択可能な1以上の符号化モード(例えば、予測処理単位を示す予測ブロックのサイズなどが異なる1以上のイントラ符号化モード、予測ブロックのサイズなどが異なる1以上のインター符号化モード)の中から、ブロック分割部2から出力される符号化対象ブロックに適用する符号化モードを選択する処理を実施する。
 選択手法の例としては、選択可能な1以上の符号化モードの中から、ブロック分割部2から出力される符号化対象ブロックに対する符号化効率が最も高い符号化モードを選択する手法がある。
 また、符号化制御部1は符号化効率が最も高い符号化モードがイントラ符号化モードである場合、そのイントラ符号化モードで符号化対象ブロックに対するイントラ予測処理を実施する際に用いるイントラ予測パラメータを上記イントラ符号化モードが示す予測処理単位である予測ブロック毎に決定し、符号化効率が最も高い符号化モードがインター符号化モードである場合、そのインター符号化モードで符号化対象ブロックに対するインター予測処理を実施する際に用いるインター予測パラメータを上記インター符号化モードが示す予測処理単位である予測ブロック毎に決定する処理を実施する。
 さらに、符号化制御部1は周波数変換量子化部7及び逆周波数変換逆量子化部9に与える予測差分符号化パラメータを決定する処理を実施する。予測差分符号化パラメータには、符号化対象ブロックにおける直交変換処理単位となる変換ブロックの分割情報を示す変換ブロック分割情報や、変換係数の量子化を行う際の量子化ステップサイズを規定する量子化パラメータなどが含まれる。
 ブロック分割部2は原画像を入力する毎に、その原画像を符号化制御部1により決定された最大サイズの符号化対象ブロックである最大符号化対象ブロックに分割するとともに、符号化制御部1により決定された上限の階層数に至るまで、その最大符号化対象ブロックを階層的に各符号化対象ブロックへ分割する処理を実施する。
 即ち、ブロック分割部2は原画像を符号化制御部1により決定されたサイズの符号化対象ブロックに分割して、各々の符号化対象ブロックを順次出力する処理を実施する。なお、各符号化対象ブロックは予測処理単位となる1つないし複数の予測ブロックに分割される。
 画面内予測部3はブロック分割部2から出力された符号化対象ブロックに対応する符号化モードとして、符号化制御部1によりイントラ符号化モードが選択された場合、局部復号画像メモリ11に格納されている局部復号画像を参照しながら、符号化制御部1により決定されたイントラ予測パラメータを用いたイントラ予測処理(フレーム内予測処理)を実施して、その符号化対象ブロックのイントラ予測画像を生成する処理を実施する。
 動き補償予測部4はブロック分割部2から出力された符号化対象ブロックに対応する符号化モードとして、符号化制御部1によりインター符号化モードが選択された場合、その符号化対象ブロックとフレームメモリ15に格納されている1フレーム以上の局部復号画像を比較して動きベクトルを探索し、その動きベクトルと符号化制御部1により決定されたインター予測パラメータを用いて、その符号化対象ブロックに対するインター予測処理(動き補償予測処理)を実施して、その符号化対象ブロックのインター予測画像を生成する処理を実施する。なお、動き補償予測部4は予測画像生成手段を構成している。
 セレクタ5は符号化制御部1により決定された符号化モードがイントラ符号化モードであれば、画面内予測部3により生成されたイントラ予測画像を減算器6及び加算器10に出力し、符号化制御部1により決定された符号化モードがインター符号化モードであれば、動き補償予測部4により生成されたインター予測画像を減算器6及び加算器10に出力する処理を実施する。
 減算器6はブロック分割部2より出力された符号化対象ブロックから、画面内予測部3により生成されたイントラ予測画像、または、動き補償予測部4により生成されたインター予測画像を減算して、その減算結果である差分画像を示す予測差分信号を周波数変換量子化部7に出力する処理を実施する。
 周波数変換量子化部7は符号化制御部1により決定された予測差分符号化パラメータに含まれる変換ブロック分割情報を参照して、減算器6から出力された予測差分信号に対する直交変換処理(例えば、DCT(離散コサイン変換)やDST(離散サイン変換)、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を変換ブロック単位に実施して変換係数を算出するとともに、その予測差分符号化パラメータに含まれる量子化パラメータを参照して、その変換ブロック単位の変換係数を量子化し、量子化後の変換係数である圧縮データをエントロピー符号化部8及び逆周波数変換逆量子化部9に出力する処理を実施する。
 エントロピー符号化部8は周波数変換量子化部7から出力された圧縮データと、符号化制御部1の出力信号(最大符号化対象ブロック内のブロック分割情報、符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ、インター予測パラメータ)と、動き補償予測部4から出力された動きベクトル(符号化モードがインター符号化モードである場合)とを可変長符号化して、それらの符号化データからなるビットストリームを生成する処理を実施する。
 なお、減算器6、周波数変換量子化部7及びエントロピー符号化部8から符号化手段が構成されている。
 逆周波数変換逆量子化部9は符号化制御部1により決定された予測差分符号化パラメータに含まれる量子化パラメータ及び変換ブロック分割情報を参照して、変換ブロック単位に周波数変換量子化部7から出力された圧縮データを逆量子化するとともに、逆量子化後の圧縮データである変換係数に対する逆直交変換処理を実施して、減算器6から出力された予測差分信号に相当する局部復号予測差分信号を算出する処理を実施する。
 加算器10は逆周波数変換逆量子化部9により算出された局部復号予測差分信号と、画面内予測部3により生成されたイントラ予測画像、または、動き補償予測部4により生成されたインター予測画像とを加算して、ブロック分割部2から出力された符号化対象ブロックに相当する局部復号画像を算出する処理を実施する。
 なお、逆周波数変換逆量子化部9及び加算器10から局部復号画像生成手段が構成されている。
 局部復号画像メモリ11は加算器10により算出された局部復号画像を格納する記録媒体である。
 デブロッキングフィルタ部12は加算器10により算出された局部復号画像に対して、変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するデブロッキングフィルタ処理を実施する。
 演算内容決定部13は動き補償予測部4による動き補償予測処理で探索される動きベクトルが指し示す符号化済みブロックの局部復号画像に対して実施されているSAO演算の演算内容(SAOのタイプ、オフセット値)を加味して、デブロッキングフィルタ部12によるデブロッキングフィルタ処理後の局部復号画像に対するSAO演算の演算内容(SAOのタイプ、オフセット値)を決定する処理を実施する。なお、演算内容決定部13は演算内容決定手段を構成している。
 SAO演算部14はデブロッキングフィルタ部12によるデブロッキングフィルタ処理後の局部復号画像に対して、演算内容決定部13により決定された演算内容でのSAO演算を実施し、SAO演算後の局部復号画像をフレームメモリ15に格納する処理を実施する。なお、SAO演算部14はSAO演算手段を構成している。
 演算内容決定部13の類似度算出部21はブロック分割部2から出力された符号化対象ブロックと、SAO演算部14によるSAO演算後の局部復号画像との類似度を算出する処理を実施する。
 情報保持部22はブロック分割部2から出力された符号化対象ブロックの符号化が実施されると、その符号化対象ブロックの符号化後のブロックである符号化済みブロックの情報として、類似度算出部21により算出された類似度及びSAO演算部14で実施されたSAO演算の演算内容(SAOのタイプ、オフセット値)を保持するメモリである。
 演算内容選択部23は情報保持部22に保持されている符号化済みブロックの情報のうち、動き補償予測部4による動き補償予測処理で探索される動きベクトルが指し示す符号化済みブロックの情報(類似度、SAO演算の演算内容)を取得し、その取得した類似度に応じて、その取得した演算内容の選択され易さを変える重み付け処理を施してから、予め用意されている複数の演算内容の中から、デブロッキングフィルタ部12によるデブロッキングフィルタ処理後の局部復号画像に対するSAO演算の演算内容(SAOのタイプ、オフセット値)を選択する処理を実施する。
 図1の例では、動画像符号化装置の構成要素である符号化制御部1、ブロック分割部2、画面内予測部3、動き補償予測部4、セレクタ5、減算器6、周波数変換量子化部7、エントロピー符号化部8、逆周波数変換逆量子化部9、加算器10、局部復号画像メモリ11、デブロッキングフィルタ部12、演算内容決定部13、SAO演算部14及びフレームメモリ15のそれぞれが専用のハードウェアで構成(局部復号画像メモリ11及びフレームメモリ15以外の構成要素は、例えば、CPUを実装している半導体集積回路や、ワンチップマイコンなどで構成)されているものを想定しているが、動画像符号化装置がコンピュータで構成されていてもよい。
 動画像符号化装置をコンピュータで構成する場合、局部復号画像メモリ11及びフレームメモリ15をコンピュータのメモリ上に構成するとともに、符号化制御部1、ブロック分割部2、画面内予測部3、動き補償予測部4、セレクタ5、減算器6、周波数変換量子化部7、エントロピー符号化部8、逆周波数変換逆量子化部9、加算器10、デブロッキングフィルタ部12、演算内容決定部13及びSAO演算部14の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにすればよい。
 図2はこの発明の実施の形態1による動画像符号化装置の処理内容(動画像符号化方法)を示すフローチャートである。
 図3はこの発明の実施の形態1による動画像符号化装置の演算内容選択部23の内部を示す構成図である。
 図3において、類似算出処理部31は予め用意されている複数の演算内容で、デブロッキングフィルタ部12によるデブロッキングフィルタ処理後の局部復号画像に対するSAO演算が実施された場合のSAO演算後の局部復号画像をそれぞれ生成して、各々のSAO演算後の局部復号画像と、ブロック分割部2から出力された符号化対象ブロックとの類似度をそれぞれ算出する処理を実施する。
 選択処理部32は類似算出処理部31により算出された各々の類似度を、動き補償予測部4から出力された動きベクトルが指し示す符号化済みブロックの情報である類似度で重み付けし、重み付けを施した各々の類似度に対応する演算内容の中で、最も高い類似度に対応する演算内容を選択する処理を実施する。
 次に動作について説明する。
 図1の動画像符号化装置は、映像信号(原画像)の空間・時間方向の局所的な変化に適応して、映像信号を多様なサイズのブロックに分割して、フレーム内・フレーム間適応符号化を行うことを特徴としている。
 一般的に、映像信号は、空間・時間的に信号の複雑さが局所的に変化する特性を有している。空間的に見ると、ある映像フレーム上では、例えば、空や壁などのような比較的広い画像領域中で均一な信号特性を有する絵柄もあれば、人物や細かいテクスチャを含む絵画など、小さい画像領域内で複雑なテクスチャパターンを有する絵柄も混在することがある。
 時間的に見ても、空や壁は局所的に時間方向の絵柄の変化は小さいが、動く人物や物体は、その輪郭が時間的に剛体・非剛体の運動をするため、時間的な変化が大きい。
 符号化処理は、時間・空間的な予測によって、信号電力やエントロピーの小さい予測差分信号を生成して、全体の符号量を削減する処理を行うが、予測に用いるパラメータをできるだけ大きな画像信号領域に均一に適用できれば、当該パラメータの符号量を小さくすることができる。
 一方、時間的・空間的に変化の大きい画像信号パターンに対して、同一の予測パラメータを大きな画像領域に適用すると、予測の誤りが増えてしまうため、予測差分信号の符号量が増加してしまう。
 したがって、時間的・空間的に変化が大きい領域では、同一の予測パラメータを適用して予測処理を行うブロックサイズを小さくして、予測に用いるパラメータのデータ量を増やし、予測差分信号の電力・エントロピーを低減する方が望ましい。
 この実施の形態1では、このような映像信号の一般的な性質に適応した符号化を行うため、最初に所定の最大ブロックサイズから予測処理等を開始し、階層的に映像信号の領域を分割し、分割した領域毎に予測処理や、その予測差分の符号化処理を適応化させる構成をとるようにしている。
 まず、符号化制御部1は、符号化対象となるピクチャ(カレントピクチャ)の符号化に用いる最大符号化対象ブロックのサイズと、最大符号化対象ブロックを階層分割する階層数の上限を決定する(図2のステップST1)。
 最大符号化対象ブロックのサイズの決め方としては、例えば、入力画像の映像信号の解像度に応じて、全てのピクチャに対して同一のサイズを定めてもよいし、入力画像の映像信号の局所的な動きの複雑さの違いをパラメータとして定量化して、動きの激しいピクチャには、小さいサイズを定める一方、動きが少ないピクチャには、大きいサイズを定めるようにしてもよい。
 分割階層数の上限の決め方としては、例えば、入力画像の映像信号の解像度に応じて、全てのピクチャに対して同一の階層数を定める方法や、入力画像の映像信号の動きが激しい場合には、階層数を深くして、より細かい動きが検出できるように設定し、動きが少ない場合には、階層数を抑えるように設定する方法などがある。
 なお、上記最大符号化対象ブロックのサイズと、最大符号化対象ブロックを階層分割する階層数の上限は、シーケンスレベルヘッダなどで符号化する。その場合、分割階層数の上限の代わりに、符号化対象ブロックの最小ブロックサイズを符号化するようにしてもよい。
 また、符号化制御部1は、利用可能な1以上の符号化モードの中から、階層的に分割される各々の符号化対象ブロックに対応する符号化モードを選択する(ステップST2)。
 即ち、符号化制御部1は、最大符号化対象ブロックサイズの画像領域毎に、先に定めた分割階層数の上限に至るまで、階層的に符号化対象ブロックサイズを有する符号化対象ブロックに分割して、各々の符号化対象ブロックに対する符号化モードを決定する。
 符号化モードには、1つないし複数のイントラ符号化モード(総称して「INTRA」と称する)と、1つないし複数のインター符号化モード(総称して、「INTER」と称する)とがあり、符号化制御部1は、当該ピクチャで利用可能な全ての符号化モード、または、そのサブセットの中から、各々の符号化対象ブロックに対応する符号化モードを選択する。
 ただし、後述するブロック分割部2により階層的に分割される各々の符号化対象ブロックは、さらに予測処理を行う単位である1つないし複数の予測ブロックに分割され、予測ブロックの分割状態も符号化モードの中に情報として含まれる。即ち、符号化モードは、どのような予測ブロック分割を持つイントラ符号化モードまたはインター符号化モードかを識別するインデックスである。
 符号化制御部1による符号化モードの選択方法は、公知の技術であるため詳細な説明を省略するが、例えば、利用可能な任意の符号化モードを用いて、符号化対象ブロックに対する符号化処理を実施して符号化効率を検証し、利用可能な複数の符号化モードの中で、最も符号化効率がよい符号化モードを選択する方法などがある。
 なお、符号化対象ブロックがさらに予測処理を行う予測ブロック単位に分割される場合には、予測ブロック毎に予測パラメータ(イントラ予測パラメータまたはインター予測パラメータ)を決定する。
 また、符号化制御部1は、各々の符号化対象ブロック毎に、差分画像が圧縮される際に用いられる量子化パラメータ及び変換ブロック分割状態を決定する。
 符号化制御部1は、上記のようにして、最大符号化対象ブロックのサイズと、最大符号化対象ブロックを階層分割する階層数の上限とを決定すると、最大符号化対象ブロックのサイズ及び上限の階層数を示すブロック分割情報をブロック分割部2に出力する。
 また、符号化制御部1は、符号化対象ブロックにおける変換ブロックの分割情報を示す変換ブロック分割情報や、変換係数の量子化を行う際の量子化ステップサイズを規定する量子化パラメータなどを含む予測差分符号化パラメータを周波数変換量子化部7、エントロピー符号化部8及び逆周波数変換逆量子化部9に出力する。この予測差分符号化パラメータの決定処理自体は公知の技術であるため詳細な説明を省略する。
 さらに、符号化制御部1は、上記のようにして、符号化対象ブロックに対する符号化モードとして、イントラ符号化モードを選択してイントラ予測パラメータを決定すると、そのイントラ予測パラメータを画面内予測部3に出力する。
 符号化制御部1は、符号化対象ブロックに対する符号化モードとして、インター符号化モードを選択してインター予測パラメータを決定すると、そのインター予測パラメータを動き補償予測部4に出力する。
 ブロック分割部2は、原画像を入力する毎に、その原画像を符号化制御部1から出力されたブロック分割情報が示す最大サイズの符号化対象ブロックである最大符号化対象ブロックに分割するとともに、そのブロック分割情報が示す上限の階層数に至るまで、その最大符号化対象ブロックを階層的に各符号化対象ブロックへ分割する。
 即ち、ブロック分割部2は、入力された原画像を符号化制御部1により決定されたサイズの符号化対象ブロックに分割して、各々の符号化対象ブロックを順次出力する。なお、各符号化対象ブロックは、予測処理単位となる1つないし複数の予測ブロックに分割される。
 画面内予測部3は、ブロック分割部2から符号化対象ブロックを受けると、符号化制御部1により決定された符号化モードがイントラ符号化モードである場合(ステップST3)、局部復号画像メモリ11に格納されている局部復号画像を参照しながら、符号化制御部1により決定されたイントラ予測パラメータを用いて、その符号化対象ブロック内の各予測ブロックに対するイントラ予測処理を実施して、イントラ予測画像を生成する(ステップST4)。
 なお、図示せぬ動画像復号装置が全く同じイントラ予測画像を生成する必要があるため、イントラ予測画像の生成に用いられたイントラ予測パラメータは、符号化制御部1からエントロピー符号化部8に出力されて、ビットストリームに多重化される。
 動き補償予測部4は、ブロック分割部2から符号化対象ブロックを受けると、符号化制御部1により決定された符号化モードがインター符号化モードである場合(ステップST3)、その符号化対象ブロック内の各予測ブロックとフレームメモリ15に格納されている符号化済みブロックの局部復号画像を比較して動きベクトルを探索する。動きベクトルの探索処理自体は公知の技術であるため詳細な説明を省略する。
 動き補償予測部4は、動きベクトルを探索すると、その動きベクトルと符号化制御部1により決定されたインター予測パラメータを用いて、その符号化対象ブロック内の各予測ブロックに対するインター予測処理を実施して、インター予測画像を生成する(ステップST5)。
 なお、図示せぬ動画像復号装置が全く同じインター予測画像を生成する必要があるため、インター予測画像の生成に用いられたインター予測パラメータは、符号化制御部1からエントロピー符号化部8に出力されて、ビットストリームに多重化される。
 また、動き補償予測部4により探索された動きベクトルもエントロピー符号化部8に出力されて、ビットストリームに多重化される。
 セレクタ5は、符号化制御部1により決定された符号化モードがイントラ符号化モードであれば、画面内予測部3により生成されたイントラ予測画像を減算器6及び加算器10に出力し、符号化制御部1により決定された符号化モードがインター符号化モードであれば、動き補償予測部4により生成されたインター予測画像を減算器6及び加算器10に出力する。
 減算器6は、セレクタ5から画面内予測部3により生成されたイントラ予測画像を受けると、ブロック分割部2から出力された符号化対象ブロック内の予測ブロックから当該イントラ予測画像を減算し、その減算結果である差分画像を示す予測差分信号を周波数変換量子化部7に出力する(ステップST6)。
 また、減算器6は、セレクタ5から動き補償予測部4により生成されたインター予測画像を受けると、ブロック分割部2から出力された符号化対象ブロック内の予測ブロックから当該インター予測画像を減算し、その減算結果である差分画像を示す予測差分信号を周波数変換量子化部7に出力する(ステップST6)。
 周波数変換量子化部7は、減算器6から予測差分信号を受けると、符号化制御部1により決定された予測差分符号化パラメータに含まれる変換ブロック分割情報を参照して、その予測差分信号に対する直交変換処理(例えば、DCT(離散コサイン変換)やDST(離散サイン変換)、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を変換ブロック単位に実施して、変換係数を算出する。
 また、周波数変換量子化部7は、その予測差分符号化パラメータに含まれる量子化パラメータを参照して、その変換ブロック単位の変換係数を量子化し、量子化後の変換係数である圧縮データをエントロピー符号化部8及び逆周波数変換逆量子化部9に出力する(ステップST7)。
 逆周波数変換逆量子化部9は、周波数変換量子化部7から圧縮データを受けると、符号化制御部1により決定された予測差分符号化パラメータに含まれる量子化パラメータ及び変換ブロック分割情報を参照して、変換ブロック単位にその圧縮データを逆量子化する。
 また、逆周波数変換逆量子化部9は、変換ブロック単位に逆量子化後の圧縮データである変換係数に対する逆直交変換処理(例えば、逆DCT、逆DST、逆KL変換など)を実施して、減算器6から出力された予測差分信号に相当する局部復号予測差分信号を算出して加算器10に出力する(ステップST8)。
 加算器10は、セレクタ5から画面内予測部3により生成されたイントラ予測画像を受けると、そのイントラ予測画像と逆周波数変換逆量子化部9から出力された局部復号予測差分信号を加算することで、局部復号画像を算出する(ステップST9)。
 また、加算器10は、セレクタ5から動き補償予測部4により生成されたインター予測画像を受けると、そのインター予測画像と逆周波数変換逆量子化部9から出力された局部復号予測差分信号を加算することで、局部復号画像を算出する(ステップST9)。
 なお、加算器10は、その局部復号画像をデブロッキングフィルタ部12に出力するとともに、その局部復号画像を局部復号画像メモリ11に格納する。
 この局部復号画像が、以降のイントラ予測処理の際に用いられる符号化済みの画像信号になる。
 デブロッキングフィルタ部12は、加算器10から局部復号画像を受けると、その局部復号画像に対して、変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するデブロッキングフィルタ処理を実施して、デブロッキングフィルタ処理後の局部復号画像をSAO演算部14に出力する(ステップST10)。
 演算内容決定部13は、デブロッキングフィルタ部12が局部復号画像に対するデブロッキングフィルタ処理を実施すると、動き補償予測部4により探索された動きベクトルが指し示している符号化済みブロックの局部復号画像を特定する。
 ここで、図4は動きベクトルが指し示している符号化済みブロックの局部復号画像(参照位置の局部復号画像)を示す説明図である。
 演算内容決定部13は、動きベクトルが指し示している符号化済みブロックの局部復号画像を特定すると、詳細は後述するが、その符号化済みブロックの局部復号画像に対して、過去に実施されているSAO演算の演算内容(SAOのタイプ、オフセット値)を加味して、デブロッキングフィルタ部12によるデブロッキングフィルタ処理後の局部復号画像に対するSAO演算の演算内容(SAOのタイプ、オフセット値)を決定する(ステップST11)。
 なお、SAO演算の演算内容(SAOのタイプ、オフセット値)は、HEVC規格に記載されている演算内容である。
 SAO演算部14は、演算内容決定部13がSAO演算の演算内容(SAOのタイプ、オフセット値)を決定すると、デブロッキングフィルタ部12によるデブロッキングフィルタ処理後の局部復号画像に対して、その演算内容でのSAO演算を実施し、SAO演算後の局部復号画像をフレームメモリ15に格納する(ステップST12)。
 このSAO演算後の局部復号画像が、以降のインター予測処理の際に用いられる符号化済みの画像信号になる。
 ステップST3~ST9の処理は、階層的に分割された全ての符号化対象ブロックに対する処理が完了するまで繰り返し実施され、全ての符号化対象ブロックに対する処理が完了すると、ステップST15の処理に移行する(ステップST13,ST14)。
 エントロピー符号化部8は、周波数変換量子化部7から出力された圧縮データと、符号化制御部1の出力信号(最大符号化対象ブロック内のブロック分割情報、符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ、インター予測パラメータ)と、動き補償予測部4から出力された動きベクトル(符号化モードがインター符号化モードである場合)とを可変長符号化して、それらの符号化データからなるビットストリームを生成する(ステップST15)。
 以下、演算内容決定部13の処理内容を具体的に説明する。
 類似度算出部21は、例えば、二乗誤差和(SSE)や、アダマール変換絶対値誤差和(SATD)などの精度が高い類似度の算出方法を用いて、ブロック分割部2から出力された符号化対象ブロックと、SAO演算部14によるSAO演算後の局部復号画像との類似度を算出する。
 なお、符号化対象ブロックとSAO演算後の局部復号画像との類似度が高い程、二乗誤差和(SSE)や、アダマール変換絶対値誤差和(SATD)の値は小さな値になる。
 類似度算出部21により算出される類似度は、次のフレーム以降の符号化対象ブロックの局部復号画像に対するSAO演算の演算内容を決定する際に利用されるものであって、利用されるまでに時間的余裕があるため、後述する演算内容選択部23の類似算出処理部31が用いる類似度の算出方法よりも精度が高い算出方法が使用される。
 類似度算出部21により算出される類似度と、最新のフレーム内の符号化対象ブロックに対して、SAO演算部14で実施されたSAO演算の演算内容(SAOのタイプ、オフセット値)とが情報保持部22に格納される。
 情報保持部22は、参照フレームとなる可能性がある複数フレーム分の符号化済みブロックの情報(類似度、SAO演算の演算内容)を保持することが可能である。
 演算内容選択部23は、動き補償予測部4により探索された動きベクトルが指し示している符号化済みブロックを特定し、情報保持部22に保持されている複数フレーム分の符号化済みブロックの情報の中から、その動きベクトルが指し示している符号化済みブロックの情報(類似度、SAO演算の演算内容)を取得する。
 演算内容選択部23は、符号化済みブロックの情報(類似度、SAO演算の演算内容)を取得すると、その取得した類似度に応じて、その取得した演算内容の選択され易さを変える重み付け処理を施してから、予め用意されている複数の演算内容の中から、デブロッキングフィルタ部12によるデブロッキングフィルタ処理後の局部復号画像に対するSAO演算の演算内容(SAOのタイプ、オフセット値)を選択する。
 以下、演算内容選択部23の処理内容を具体的に説明する。
 演算内容選択部23の類似算出処理部31は、予め用意されている複数の演算内容(SAOのタイプ、オフセット値)で、デブロッキングフィルタ部12によるデブロッキングフィルタ処理後の局部復号画像に対するSAO演算が実施された場合のSAO演算後の局部復号画像をそれぞれ生成する。
 例えば、SAOのタイプとして、エッジオフセットとバンドオフセットが用意され、各オフセットに対応するオフセット値が複数用意されていれば、それぞれの組み合わせでの演算内容で、デブロッキングフィルタ処理後の局部復号画像に対するSAO演算を実施して、SAO演算後の局部復号画像をそれぞれ生成する。
 類似算出処理部31は、SAO演算後の局部復号画像として、例えば、N個の局部復号画像を生成すると、例えば、差分絶対値和(SAD)などの簡易な類似度の算出方法を用いて、N個の局部復号画像とブロック分割部2から出力された符号化対象ブロックとの類似度R1,R2,・・・,RNを算出する。
 類似算出処理部31での類似度の算出処理は、リアルタイムで処理する必要があるため、類似度算出部21が用いる類似度の算出方法よりも簡易な算出方法が使用される。
 演算内容選択部23の選択処理部32は、類似算出処理部31がN個の局部復号画像と符号化対象ブロックとの類似度R1,R2,・・・,RNを算出すると、それらの類似度R1,R2,・・・,RNを、動きベクトルが指し示している符号化済みブロックの情報である類似度で重み付けする。
 即ち、選択処理部32は、類似度R1,R2,・・・,RNに対応するN個の演算内容の中から、動きベクトルが指し示している符号化済みブロックの情報が示すSAO演算の演算内容を特定する。ここでは、説明の便宜上、類似度Rnに対応する演算内容が特定されるものとする。
 選択処理部32は、動きベクトルが指し示している符号化済みブロックの情報が示す類似度が予め設定されている閾値Thより高い場合、類似度R1,R2,・・・,RNに対応するN個の演算内容の中から、類似度Rnに対応する演算内容が選択され易くするために、類似度Rnにプラスのオフセットを付加する(類似度Rnの値を大きくする)。
 一方、動きベクトルが指し示している符号化済みブロックの情報が示す類似度が閾値Thより低い場合、類似度R1,R2,・・・,RNに対応するN個の演算内容の中から、類似度Rnに対応する演算内容が選択され難くするために、類似度Rnにマイナスのオフセットを付加する(類似度Rnの値を小さくする)。
 選択処理部32は、類似度R1,R2,・・・,RNに対する重み付け(プラスまたはマイナスのオフセットを類似度Rnに付加)を行うと、重み付け後の類似度R1,R2,・・・,RNの中で最も値が大きな類似度を特定し、最も値が大きな類似度に対応する演算内容をSAO演算部14及び情報保持部22に出力する。
 例えば、重み付け後の類似度R1,R2,・・・,RNの中で最も値が大きな類似度が類似度R2であれば、その類似度R2に対応する演算内容をSAO演算部14及び情報保持部22に出力する。
 このように、符号化済みブロックの局部復号画像に対して、過去に実施されているSAO演算の演算内容(SAOのタイプ、オフセット値)を加味して、デブロッキングフィルタ部12によるデブロッキングフィルタ処理後の局部復号画像に対するSAO演算の演算内容(SAOのタイプ、オフセット値)を決定することで、演算内容の決定精度が学習的に高まることが期待される。
 類似算出処理部31では、例えば、差分絶対値和(SAD)などの簡易な類似度の算出方法を用いて、N個の局部復号画像と符号化対象ブロックとの類似度R1,R2,・・・,RNを算出するようにしているので、リアルタイムに類似度R1,R2,・・・,RNを算出することができる。
 一方、類似度算出部21では、類似算出処理部31が用いる類似度の算出方法よりも精度が高い算出方法を使用しているが、時間的余裕がある中で類似度を算出するものであるため、例えば、演算速度の向上を図るための並列処理用のハードウェアなどが不要になり、ハードウェア規模の拡大を抑えることができる。
 以上で明らかなように、この実施の形態1によれば、動き補償予測部4による動き補償予測処理で探索される動きベクトルが指し示す符号化済みブロックの局部復号画像に対して実施されているSAO演算の演算内容を加味して、デブロッキングフィルタ部12によるデブロッキングフィルタ処理後の局部復号画像に対するSAO演算の演算内容を決定する演算内容決定部13を設け、SAO演算部14が、デブロッキングフィルタ部12によるデブロッキングフィルタ処理後の局部復号画像に対して、演算内容決定部13により決定された演算内容でのSAO演算を実施するように構成したので、ハードウェア規模の小型化を図ることができるとともに、最適なSAO演算の演算内容をリアルタイムに決定することができる効果を奏する。
 この実施の形態1では、動きベクトルが指し示す符号化済みブロックの局部復号画像に対して実施されているSAO演算の演算内容を加味して、デブロッキングフィルタ処理後の局部復号画像に対するSAO演算の演算内容を決定するものを示したが、動きベクトルが指し示す符号化済みブロックの局部復号画像に対して実施されているSAO演算の演算内容の他に、その符号化済みブロックの周辺に存在している符号化済みブロックの局部復号画像(図4の破線で表されている4つの符号化済みブロックの局部復号画像)に対して実施されているSAO演算の演算内容も加味して、デブロッキングフィルタ処理後の局部復号画像に対するSAO演算の演算内容を決定するようにしてもよい。
 この場合、類似度R1,R2,・・・,RNに対応するN個の演算内容の中で、周辺に存在している符号化済みブロックの局部復号画像に対して実施されているSAO演算の演算内容と同じ演算内容を特定し(ここでは、説明の便宜上、同じ演算内容が、類似度Rm(1≦m≦N)に対応する演算内容であるものとする)、周辺に存在している符号化済みブロックの情報が示す類似度が閾値Thより高い場合、類似度R1,R2,・・・,RNに対応するN個の演算内容の中から、類似度Rmに対応する演算内容が選択され易くするために、類似度Rmにプラスのオフセットを付加する(類似度Rmの値を大きくする)。
 一方、周辺に存在している符号化済みブロックの情報が示す類似度が閾値Thより低い場合、類似度R1,R2,・・・,RNに対応するN個の演算内容の中から、類似度Rmに対応する演算内容が選択され難くするために、類似度Rmにマイナスのオフセットを付加する(類似度Rmの値を小さくする)。
実施の形態2.
 上記実施の形態1では、選択処理部32が、N個の局部復号画像と符号化対象ブロックとの類似度R1,R2,・・・,RNを、動きベクトルが指し示している符号化済みブロックの情報が示す類似度で重み付けすることで、動きベクトルが指し示している符号化済みブロックの情報が示す演算内容の選択され易さを変えるものを示したが、予め用意されている複数の演算内容(SAOのタイプ、オフセット値)の中から、その符号化済みブロックの情報が示す演算内容を特定し、その符号化済みブロックの情報が示す類似度が閾値Thより低い場合、その符号化済みブロックの情報が示す演算内容を除外し、それ以外の演算内容で、デブロッキングフィルタ処理後の局部復号画像に対するSAO演算を実施して、SAO演算後の局部復号画像をそれぞれ生成するようにしてもよい。
 この場合、予め用意されている演算内容がN個であれば、類似度が低い1個の演算内容が除外されて、N-1個の演算内容でSAO演算が実施されて、N-1個のSAO演算後の局部復号画像が生成されるので、上記実施の形態1と同様に、動きベクトルが指し示している符号化済みブロックの情報が示す演算内容の選択され易さを変えることができる。
 この実施の形態2では、SAO演算後の局部復号画像の生成数が上記実施の形態1よりも減り、N個の局部復号画像と符号化対象ブロックとの類似度R1,R2,・・・,RNを、動きベクトルが指し示している符号化済みブロックの情報が示す類似度で重み付けする必要もないので、演算量を低減することができる。
 この実施の形態2でも、動きベクトルが指し示す符号化済みブロックの局部復号画像に対して実施されているSAO演算の演算内容の他に、その符号化済みブロックの周辺に存在している符号化済みブロックの局部復号画像(図4の破線で表されている4つの符号化済みブロックの局部復号画像)に対して実施されているSAO演算の演算内容も加味して、デブロッキングフィルタ処理後の局部復号画像に対するSAO演算の演算内容を決定するようにしてもよい。
 この場合、周辺に存在している符号化済みブロックの情報が示す類似度が閾値Thより低い場合、周辺に存在している符号化済みブロックの情報が示す演算内容が除外される。
 したがって、予め用意されている演算内容がN個であるとき、例えば、周辺に存在している4個の符号化済みブロックの情報が示す類似度が閾値Thより低い場合、N-4個のSAO演算後の局部復号画像が生成されるようになり、SAO演算後の局部復号画像の生成数がさらに減少する。
 なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
 この発明に係る動画像符号化装置は、予測画像生成手段による動き補償予測処理で探索される動きベクトルが指し示す符号化済みブロックの局部復号画像に対して実施されているSAO演算の演算内容を加味して、局部復号画像生成手段により生成された局部復号画像に対するSAO演算の演算内容を決定する演算内容決定手段を設けたので、ハードウェア規模の小型化、及び最適なSAO演算の演算内容をリアルタイムに決定することができ、映像信号の符号化に好適である。
 1 符号化制御部、2 ブロック分割部、3 画面内予測部、4 動き補償予測部(予測画像生成手段)、5 セレクタ、6 減算器(符号化手段)、7 周波数変換量子化部(符号化手段)、8 エントロピー符号化部(符号化手段)、9 逆周波数変換逆量子化部(局部復号画像生成手段)、10 加算器(局部復号画像生成手段)、11 局部復号画像メモリ、12 デブロッキングフィルタ部、13 演算内容決定部(演算内容決定手段)、14 SAO演算部(SAO演算手段)、21 類似度算出部、22 情報保持部、23 演算内容選択部、31 類似算出処理部、32 選択処理部。

Claims (6)

  1.  既に符号化されている符号化済みブロックの局部復号画像を保持するフレームメモリと、
     前記フレームメモリに保持されている局部復号画像を用いて、符号化対象ブロックに対する動き補償予測処理を実施して、前記符号化対象ブロックの予測画像を生成する予測画像生成手段と、
     前記符号化対象ブロックと前記予測画像の差分画像を圧縮し、前記差分画像の圧縮データを符号化する符号化手段と、
     前記圧縮データを伸長して前記差分画像を復号し、その復号した差分画像と前記予測画像から局部復号画像を生成する局部復号画像生成手段と、
     前記予測画像生成手段による動き補償予測処理で探索される動きベクトルが指し示す符号化済みブロックの局部復号画像に対して実施されているSAO(サンプル・アダプティブ・オフセット)演算の演算内容を加味して、前記局部復号画像生成手段により生成された局部復号画像に対するSAO演算の演算内容を決定する演算内容決定手段と、
     前記局部復号画像生成手段により生成された局部復号画像に対して、前記演算内容決定手段により決定された演算内容でのSAO演算を実施し、SAO演算後の局部復号画像を前記フレームメモリに格納するSAO演算手段と
     を備えた動画像符号化装置。
  2.  前記演算内容決定手段は、前記予測画像生成手段による動き補償予測処理で探索される動きベクトルが指し示す符号化済みブロック及び前記動きベクトルが指し示す符号化済みブロックの周辺に存在している符号化済みブロックの局部復号画像に対して実施されているSAO演算の演算内容を加味して、前記局部復号画像生成手段により生成された局部復号画像に対するSAO演算の演算内容を決定することを特徴とする請求項1記載の動画像符号化装置。
  3.  前記演算内容決定手段は、
     前記符号化対象ブロックと前記SAO演算手段によるSAO演算後の局部復号画像との類似度を算出する類似度算出部と、
     前記符号化対象ブロックの符号化後のブロックである符号化済みブロックの情報として、前記類似度算出部により算出された類似度及び前記SAO演算手段で実施されたSAO演算の演算内容を保持する情報保持部と、
     前記情報保持部に保持されている符号化済みブロックの情報のうち、前記予測画像生成手段による動き補償予測処理で探索される動きベクトルが指し示す符号化済みブロックの情報である類似度及びSAO演算の演算内容を取得し、その取得した類似度に応じて、その取得した演算内容の選択され易さを変える重み付け処理を施してから、予め用意されている複数の演算内容の中から、前記局部復号画像生成手段により生成された局部復号画像に対するSAO演算の演算内容を選択する演算内容選択部とから構成されていることを特徴とする請求項1記載の動画像符号化装置。
  4.  前記演算内容選択部は、
     予め用意されている複数の演算内容で、前記局部復号画像生成手段により生成された局部復号画像に対するSAO演算を実施して、複数のSAO演算後の局部復号画像を生成し、前記複数のSAO演算後の局部復号画像と前記符号化対象ブロックとの類似度をそれぞれ算出する類似算出処理部と、
     前記類似算出処理部により算出された複数のSAO演算後の局部復号画像と符号化対象ブロックとの類似度を、前記動きベクトルが指し示す符号化済みブロックの情報である類似度で重み付けし、重み付けを施した各々の類似度に対応する演算内容の中で、最も高い類似度に対応する演算内容を選択する選択処理部とから構成されていることを特徴とする請求項3記載の動画像符号化装置。
  5.  前記類似度算出部は、前記演算内容選択部の前記類似算出処理部で算出される類似度より精度が高い類似度の算出方法で、前記符号化対象ブロックと前記SAO演算手段によるSAO演算後の局部復号画像との類似度を算出することを特徴とする請求項4記載の動画像符号化装置。
  6.  予測画像生成手段が、フレームメモリに保持されている既に符号化されている符号化済みブロックの局部復号画像を用いて、符号化対象ブロックに対する動き補償予測処理を実施して、前記符号化対象ブロックの予測画像を生成する予測画像生成処理ステップと、
     符号化手段が、前記符号化対象ブロックと前記予測画像の差分画像を圧縮し、前記差分画像の圧縮データを符号化する符号化処理ステップと、
     局部復号画像生成手段が、前記圧縮データを伸長して前記差分画像を復号し、その復号した差分画像と前記予測画像から局部復号画像を生成する局部復号画像生成処理ステップと、
     演算内容決定手段が、前記動き補償予測処理で探索される動きベクトルが指し示す符号化済みブロックの局部復号画像に対して実施されているSAO演算の演算内容を加味して、前記局部復号画像生成処理ステップで生成された局部復号画像に対するSAO演算の演算内容を決定する演算内容決定処理ステップと、
     SAO演算手段が、前記局部復号画像生成処理ステップで生成された局部復号画像に対して、前記演算内容決定処理ステップで決定された演算内容でのSAO演算を実施し、SAO演算後の局部復号画像を前記フレームメモリに格納するSAO演算処理ステップと
     を備えた動画像符号化方法。
PCT/JP2015/052856 2014-02-03 2015-02-02 動画像符号化装置及び動画像符号化方法 Ceased WO2015115645A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015560064A JP6042001B2 (ja) 2014-02-03 2015-02-02 動画像符号化装置及び動画像符号化方法
US15/108,982 US9756340B2 (en) 2014-02-03 2015-02-02 Video encoding device and video encoding method
CA2934941A CA2934941C (en) 2014-02-03 2015-02-02 Video encoding device and video encoding method
EP15742974.7A EP3104615B1 (en) 2014-02-03 2015-02-02 Moving image encoding device and moving image encoding method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014018448 2014-02-03
JP2014-018448 2014-02-03

Publications (1)

Publication Number Publication Date
WO2015115645A1 true WO2015115645A1 (ja) 2015-08-06

Family

ID=53757210

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/052856 Ceased WO2015115645A1 (ja) 2014-02-03 2015-02-02 動画像符号化装置及び動画像符号化方法

Country Status (5)

Country Link
US (1) US9756340B2 (ja)
EP (1) EP3104615B1 (ja)
JP (1) JP6042001B2 (ja)
CA (1) CA2934941C (ja)
WO (1) WO2015115645A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101800571B1 (ko) * 2014-03-05 2017-11-22 미쓰비시덴키 가부시키가이샤 데이터 압축 장치 및 데이터 압축 방법
EP3579940A4 (en) 2017-02-08 2020-11-18 Immersive Robotics Pty Ltd DISPLAYING CONTENT TO USERS IN A MULTIPLAYER LOCATION
AU2018280337B2 (en) 2017-06-05 2023-01-19 Immersive Robotics Pty Ltd Digital content stream compression
WO2019100108A1 (en) * 2017-11-21 2019-05-31 Immersive Robotics Pty Ltd Image compression for digital reality
AU2018373495B2 (en) 2017-11-21 2023-01-05 Immersive Robotics Pty Ltd Frequency component selection for image compression
CN108259903B (zh) * 2018-04-10 2021-05-14 重庆邮电大学 基于人眼感兴趣区域的h.265样点自适应补偿方法
AU2020368118A1 (en) 2019-10-18 2023-05-18 Immersive Robotics Pty Ltd Content compression for network transmission
CN113808157B (zh) * 2021-11-18 2022-02-22 腾讯科技(深圳)有限公司 图像处理方法、装置、及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09298753A (ja) * 1996-03-06 1997-11-18 Sony Corp 動画像符号化方法及び動画像符号化装置
WO2013002554A2 (ko) * 2011-06-28 2013-01-03 삼성전자 주식회사 픽셀 분류에 따른 오프셋 조정을 이용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
JP2013062767A (ja) * 2011-09-15 2013-04-04 Nippon Hoso Kyokai <Nhk> 動画像符号化装置及びそのプログラム
JP2013541918A (ja) * 2011-01-09 2013-11-14 メディアテック インコーポレイテッド 効率的なサンプル適応オフセットの装置及び方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8660174B2 (en) 2010-06-15 2014-02-25 Mediatek Inc. Apparatus and method of adaptive offset for video coding
US10038903B2 (en) * 2011-06-22 2018-07-31 Texas Instruments Incorporated Method and apparatus for sample adaptive offset parameter estimation in video coding
KR101607781B1 (ko) * 2011-06-30 2016-03-30 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법 및 기억 매체
WO2014005305A1 (en) * 2012-07-04 2014-01-09 Intel Corporation Inter-view filter parameters re-use for three dimensional video coding
JP2015076866A (ja) * 2013-10-11 2015-04-20 日本放送協会 画像符号化装置、画像復号装置、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09298753A (ja) * 1996-03-06 1997-11-18 Sony Corp 動画像符号化方法及び動画像符号化装置
JP2013541918A (ja) * 2011-01-09 2013-11-14 メディアテック インコーポレイテッド 効率的なサンプル適応オフセットの装置及び方法
WO2013002554A2 (ko) * 2011-06-28 2013-01-03 삼성전자 주식회사 픽셀 분류에 따른 오프셋 조정을 이용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
JP2013062767A (ja) * 2011-09-15 2013-04-04 Nippon Hoso Kyokai <Nhk> 動画像符号化装置及びそのプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JAEHWAN JOO ET AL.: "Fast Sample Adaptive Offset Encoding Algorithm for HEVC based on Intra Prediction Mode", IEEE THIRD INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS, BERLIN (ICCE- BERLIN, pages 50 - 53, XP032549033 *

Also Published As

Publication number Publication date
EP3104615A1 (en) 2016-12-14
US20170006290A1 (en) 2017-01-05
EP3104615A4 (en) 2017-09-27
JP6042001B2 (ja) 2016-12-14
JPWO2015115645A1 (ja) 2017-03-23
EP3104615B1 (en) 2019-03-27
US9756340B2 (en) 2017-09-05
CA2934941A1 (en) 2015-08-06
CA2934941C (en) 2017-03-07

Similar Documents

Publication Publication Date Title
JP6042001B2 (ja) 動画像符号化装置及び動画像符号化方法
RU2543519C2 (ru) Способ и устройство для кодирования и декодирования изображения с использованием крупной единицы преобразования
CN105635735B (zh) 感知图像和视频编码
EP2805499B1 (en) Video decoder, video encoder, video decoding method, and video encoding method
CN107483947B (zh) 视频编码和解码设备及非暂时性计算机可读存储介质
US10091514B1 (en) Apparatus and method for inter and intra mode selection and block partitioning
CN110870312B (zh) 用于视频压缩中的帧内编码的方法和设备
JP2013502140A (ja) 動きベクトルの正確度の調節を利用した映像符号化、復号化方法及び装置
JP7483964B2 (ja) 画像符号化装置、画像復号装置、及びプログラム
CN112087628A (zh) 使用两级帧内搜索对视频进行编码
JP2023168518A (ja) 予測ブロック生成装置、画像符号化装置、画像復号装置、及びプログラム
CN115567722A (zh) 应用加速
JP2016134860A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
CN109076248A (zh) 通过由选出的训练信号生成的码本进行视频编码的矢量量化
JP2013098984A (ja) 画素ブロックを符号化及び再構成する方法、並びに対応する装置
KR101841352B1 (ko) 참조 프레임 선택 방법 및 그 장치
JP5937926B2 (ja) 画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム
JP6435822B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
KR20080075987A (ko) 움직임 추정 방법
RU2575868C2 (ru) Способ и устройство для кодирования и декодирования изображения с использованием крупной единицы преобразования
Kumari et al. Taylor rate-distortion trade-off and adaptive block search for HEVC encoding
KR20250035358A (ko) 비디오 인코딩 방법 및 전자 장치
JP6700877B2 (ja) 画像復号装置、画像復号プログラム及びチップ
JP2011166357A (ja) 画像符号化装置
US20170064322A1 (en) Video Coding Apparatus

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015560064

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2934941

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 15108982

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2015742974

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015742974

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE