WO2015115645A1 - 動画像符号化装置及び動画像符号化方法 - Google Patents
動画像符号化装置及び動画像符号化方法 Download PDFInfo
- 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
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/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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/117—Filters, e.g. for pre-processing or post-processing
-
- 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
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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
-
- 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/189—Methods 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/196—Methods 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
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods 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
Description
ここで、SAO演算の演算内容は、SAOのタイプ(例えば、エッジオフセット、バンドオフセット)とオフセット値から決定される。
実施の形態1.
図1はこの発明の実施の形態1による動画像符号化装置を示す構成図である。
図1において、符号化制御部1は符号化処理が実施される際の処理単位となる符号化対象ブロックの最大サイズを決定するとともに、最大サイズの符号化対象ブロックが階層的に分割される際の上限の階層数を決定することで、各々の符号化対象ブロックのサイズを決定する処理を実施する。
また、符号化制御部1は選択可能な1以上の符号化モード(例えば、予測処理単位を示す予測ブロックのサイズなどが異なる1以上のイントラ符号化モード、予測ブロックのサイズなどが異なる1以上のインター符号化モード)の中から、ブロック分割部2から出力される符号化対象ブロックに適用する符号化モードを選択する処理を実施する。
選択手法の例としては、選択可能な1以上の符号化モードの中から、ブロック分割部2から出力される符号化対象ブロックに対する符号化効率が最も高い符号化モードを選択する手法がある。
さらに、符号化制御部1は周波数変換量子化部7及び逆周波数変換逆量子化部9に与える予測差分符号化パラメータを決定する処理を実施する。予測差分符号化パラメータには、符号化対象ブロックにおける直交変換処理単位となる変換ブロックの分割情報を示す変換ブロック分割情報や、変換係数の量子化を行う際の量子化ステップサイズを規定する量子化パラメータなどが含まれる。
即ち、ブロック分割部2は原画像を符号化制御部1により決定されたサイズの符号化対象ブロックに分割して、各々の符号化対象ブロックを順次出力する処理を実施する。なお、各符号化対象ブロックは予測処理単位となる1つないし複数の予測ブロックに分割される。
周波数変換量子化部7は符号化制御部1により決定された予測差分符号化パラメータに含まれる変換ブロック分割情報を参照して、減算器6から出力された予測差分信号に対する直交変換処理(例えば、DCT(離散コサイン変換)やDST(離散サイン変換)、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を変換ブロック単位に実施して変換係数を算出するとともに、その予測差分符号化パラメータに含まれる量子化パラメータを参照して、その変換ブロック単位の変換係数を量子化し、量子化後の変換係数である圧縮データをエントロピー符号化部8及び逆周波数変換逆量子化部9に出力する処理を実施する。
なお、減算器6、周波数変換量子化部7及びエントロピー符号化部8から符号化手段が構成されている。
加算器10は逆周波数変換逆量子化部9により算出された局部復号予測差分信号と、画面内予測部3により生成されたイントラ予測画像、または、動き補償予測部4により生成されたインター予測画像とを加算して、ブロック分割部2から出力された符号化対象ブロックに相当する局部復号画像を算出する処理を実施する。
なお、逆周波数変換逆量子化部9及び加算器10から局部復号画像生成手段が構成されている。
デブロッキングフィルタ部12は加算器10により算出された局部復号画像に対して、変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するデブロッキングフィルタ処理を実施する。
SAO演算部14はデブロッキングフィルタ部12によるデブロッキングフィルタ処理後の局部復号画像に対して、演算内容決定部13により決定された演算内容でのSAO演算を実施し、SAO演算後の局部復号画像をフレームメモリ15に格納する処理を実施する。なお、SAO演算部14はSAO演算手段を構成している。
情報保持部22はブロック分割部2から出力された符号化対象ブロックの符号化が実施されると、その符号化対象ブロックの符号化後のブロックである符号化済みブロックの情報として、類似度算出部21により算出された類似度及びSAO演算部14で実施されたSAO演算の演算内容(SAOのタイプ、オフセット値)を保持するメモリである。
動画像符号化装置をコンピュータで構成する場合、局部復号画像メモリ11及びフレームメモリ15をコンピュータのメモリ上に構成するとともに、符号化制御部1、ブロック分割部2、画面内予測部3、動き補償予測部4、セレクタ5、減算器6、周波数変換量子化部7、エントロピー符号化部8、逆周波数変換逆量子化部9、加算器10、デブロッキングフィルタ部12、演算内容決定部13及びSAO演算部14の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにすればよい。
図2はこの発明の実施の形態1による動画像符号化装置の処理内容(動画像符号化方法)を示すフローチャートである。
図3において、類似算出処理部31は予め用意されている複数の演算内容で、デブロッキングフィルタ部12によるデブロッキングフィルタ処理後の局部復号画像に対するSAO演算が実施された場合のSAO演算後の局部復号画像をそれぞれ生成して、各々のSAO演算後の局部復号画像と、ブロック分割部2から出力された符号化対象ブロックとの類似度をそれぞれ算出する処理を実施する。
選択処理部32は類似算出処理部31により算出された各々の類似度を、動き補償予測部4から出力された動きベクトルが指し示す符号化済みブロックの情報である類似度で重み付けし、重み付けを施した各々の類似度に対応する演算内容の中で、最も高い類似度に対応する演算内容を選択する処理を実施する。
図1の動画像符号化装置は、映像信号(原画像)の空間・時間方向の局所的な変化に適応して、映像信号を多様なサイズのブロックに分割して、フレーム内・フレーム間適応符号化を行うことを特徴としている。
一般的に、映像信号は、空間・時間的に信号の複雑さが局所的に変化する特性を有している。空間的に見ると、ある映像フレーム上では、例えば、空や壁などのような比較的広い画像領域中で均一な信号特性を有する絵柄もあれば、人物や細かいテクスチャを含む絵画など、小さい画像領域内で複雑なテクスチャパターンを有する絵柄も混在することがある。
時間的に見ても、空や壁は局所的に時間方向の絵柄の変化は小さいが、動く人物や物体は、その輪郭が時間的に剛体・非剛体の運動をするため、時間的な変化が大きい。
一方、時間的・空間的に変化の大きい画像信号パターンに対して、同一の予測パラメータを大きな画像領域に適用すると、予測の誤りが増えてしまうため、予測差分信号の符号量が増加してしまう。
この実施の形態1では、このような映像信号の一般的な性質に適応した符号化を行うため、最初に所定の最大ブロックサイズから予測処理等を開始し、階層的に映像信号の領域を分割し、分割した領域毎に予測処理や、その予測差分の符号化処理を適応化させる構成をとるようにしている。
最大符号化対象ブロックのサイズの決め方としては、例えば、入力画像の映像信号の解像度に応じて、全てのピクチャに対して同一のサイズを定めてもよいし、入力画像の映像信号の局所的な動きの複雑さの違いをパラメータとして定量化して、動きの激しいピクチャには、小さいサイズを定める一方、動きが少ないピクチャには、大きいサイズを定めるようにしてもよい。
なお、上記最大符号化対象ブロックのサイズと、最大符号化対象ブロックを階層分割する階層数の上限は、シーケンスレベルヘッダなどで符号化する。その場合、分割階層数の上限の代わりに、符号化対象ブロックの最小ブロックサイズを符号化するようにしてもよい。
即ち、符号化制御部1は、最大符号化対象ブロックサイズの画像領域毎に、先に定めた分割階層数の上限に至るまで、階層的に符号化対象ブロックサイズを有する符号化対象ブロックに分割して、各々の符号化対象ブロックに対する符号化モードを決定する。
符号化モードには、1つないし複数のイントラ符号化モード(総称して「INTRA」と称する)と、1つないし複数のインター符号化モード(総称して、「INTER」と称する)とがあり、符号化制御部1は、当該ピクチャで利用可能な全ての符号化モード、または、そのサブセットの中から、各々の符号化対象ブロックに対応する符号化モードを選択する。
なお、符号化対象ブロックがさらに予測処理を行う予測ブロック単位に分割される場合には、予測ブロック毎に予測パラメータ(イントラ予測パラメータまたはインター予測パラメータ)を決定する。
符号化制御部1は、上記のようにして、最大符号化対象ブロックのサイズと、最大符号化対象ブロックを階層分割する階層数の上限とを決定すると、最大符号化対象ブロックのサイズ及び上限の階層数を示すブロック分割情報をブロック分割部2に出力する。
また、符号化制御部1は、符号化対象ブロックにおける変換ブロックの分割情報を示す変換ブロック分割情報や、変換係数の量子化を行う際の量子化ステップサイズを規定する量子化パラメータなどを含む予測差分符号化パラメータを周波数変換量子化部7、エントロピー符号化部8及び逆周波数変換逆量子化部9に出力する。この予測差分符号化パラメータの決定処理自体は公知の技術であるため詳細な説明を省略する。
符号化制御部1は、符号化対象ブロックに対する符号化モードとして、インター符号化モードを選択してインター予測パラメータを決定すると、そのインター予測パラメータを動き補償予測部4に出力する。
即ち、ブロック分割部2は、入力された原画像を符号化制御部1により決定されたサイズの符号化対象ブロックに分割して、各々の符号化対象ブロックを順次出力する。なお、各符号化対象ブロックは、予測処理単位となる1つないし複数の予測ブロックに分割される。
なお、図示せぬ動画像復号装置が全く同じイントラ予測画像を生成する必要があるため、イントラ予測画像の生成に用いられたイントラ予測パラメータは、符号化制御部1からエントロピー符号化部8に出力されて、ビットストリームに多重化される。
動き補償予測部4は、動きベクトルを探索すると、その動きベクトルと符号化制御部1により決定されたインター予測パラメータを用いて、その符号化対象ブロック内の各予測ブロックに対するインター予測処理を実施して、インター予測画像を生成する(ステップST5)。
なお、図示せぬ動画像復号装置が全く同じインター予測画像を生成する必要があるため、インター予測画像の生成に用いられたインター予測パラメータは、符号化制御部1からエントロピー符号化部8に出力されて、ビットストリームに多重化される。
また、動き補償予測部4により探索された動きベクトルもエントロピー符号化部8に出力されて、ビットストリームに多重化される。
また、減算器6は、セレクタ5から動き補償予測部4により生成されたインター予測画像を受けると、ブロック分割部2から出力された符号化対象ブロック内の予測ブロックから当該インター予測画像を減算し、その減算結果である差分画像を示す予測差分信号を周波数変換量子化部7に出力する(ステップST6)。
また、周波数変換量子化部7は、その予測差分符号化パラメータに含まれる量子化パラメータを参照して、その変換ブロック単位の変換係数を量子化し、量子化後の変換係数である圧縮データをエントロピー符号化部8及び逆周波数変換逆量子化部9に出力する(ステップST7)。
また、逆周波数変換逆量子化部9は、変換ブロック単位に逆量子化後の圧縮データである変換係数に対する逆直交変換処理(例えば、逆DCT、逆DST、逆KL変換など)を実施して、減算器6から出力された予測差分信号に相当する局部復号予測差分信号を算出して加算器10に出力する(ステップST8)。
また、加算器10は、セレクタ5から動き補償予測部4により生成されたインター予測画像を受けると、そのインター予測画像と逆周波数変換逆量子化部9から出力された局部復号予測差分信号を加算することで、局部復号画像を算出する(ステップST9)。
なお、加算器10は、その局部復号画像をデブロッキングフィルタ部12に出力するとともに、その局部復号画像を局部復号画像メモリ11に格納する。
この局部復号画像が、以降のイントラ予測処理の際に用いられる符号化済みの画像信号になる。
ここで、図4は動きベクトルが指し示している符号化済みブロックの局部復号画像(参照位置の局部復号画像)を示す説明図である。
演算内容決定部13は、動きベクトルが指し示している符号化済みブロックの局部復号画像を特定すると、詳細は後述するが、その符号化済みブロックの局部復号画像に対して、過去に実施されているSAO演算の演算内容(SAOのタイプ、オフセット値)を加味して、デブロッキングフィルタ部12によるデブロッキングフィルタ処理後の局部復号画像に対するSAO演算の演算内容(SAOのタイプ、オフセット値)を決定する(ステップST11)。
なお、SAO演算の演算内容(SAOのタイプ、オフセット値)は、HEVC規格に記載されている演算内容である。
このSAO演算後の局部復号画像が、以降のインター予測処理の際に用いられる符号化済みの画像信号になる。
類似度算出部21は、例えば、二乗誤差和(SSE)や、アダマール変換絶対値誤差和(SATD)などの精度が高い類似度の算出方法を用いて、ブロック分割部2から出力された符号化対象ブロックと、SAO演算部14によるSAO演算後の局部復号画像との類似度を算出する。
なお、符号化対象ブロックとSAO演算後の局部復号画像との類似度が高い程、二乗誤差和(SSE)や、アダマール変換絶対値誤差和(SATD)の値は小さな値になる。
類似度算出部21により算出される類似度は、次のフレーム以降の符号化対象ブロックの局部復号画像に対するSAO演算の演算内容を決定する際に利用されるものであって、利用されるまでに時間的余裕があるため、後述する演算内容選択部23の類似算出処理部31が用いる類似度の算出方法よりも精度が高い算出方法が使用される。
情報保持部22は、参照フレームとなる可能性がある複数フレーム分の符号化済みブロックの情報(類似度、SAO演算の演算内容)を保持することが可能である。
演算内容選択部23は、符号化済みブロックの情報(類似度、SAO演算の演算内容)を取得すると、その取得した類似度に応じて、その取得した演算内容の選択され易さを変える重み付け処理を施してから、予め用意されている複数の演算内容の中から、デブロッキングフィルタ部12によるデブロッキングフィルタ処理後の局部復号画像に対するSAO演算の演算内容(SAOのタイプ、オフセット値)を選択する。
演算内容選択部23の類似算出処理部31は、予め用意されている複数の演算内容(SAOのタイプ、オフセット値)で、デブロッキングフィルタ部12によるデブロッキングフィルタ処理後の局部復号画像に対するSAO演算が実施された場合のSAO演算後の局部復号画像をそれぞれ生成する。
例えば、SAOのタイプとして、エッジオフセットとバンドオフセットが用意され、各オフセットに対応するオフセット値が複数用意されていれば、それぞれの組み合わせでの演算内容で、デブロッキングフィルタ処理後の局部復号画像に対するSAO演算を実施して、SAO演算後の局部復号画像をそれぞれ生成する。
類似算出処理部31での類似度の算出処理は、リアルタイムで処理する必要があるため、類似度算出部21が用いる類似度の算出方法よりも簡易な算出方法が使用される。
即ち、選択処理部32は、類似度R1,R2,・・・,RNに対応するN個の演算内容の中から、動きベクトルが指し示している符号化済みブロックの情報が示すSAO演算の演算内容を特定する。ここでは、説明の便宜上、類似度Rnに対応する演算内容が特定されるものとする。
選択処理部32は、動きベクトルが指し示している符号化済みブロックの情報が示す類似度が予め設定されている閾値Thより高い場合、類似度R1,R2,・・・,RNに対応するN個の演算内容の中から、類似度Rnに対応する演算内容が選択され易くするために、類似度Rnにプラスのオフセットを付加する(類似度Rnの値を大きくする)。
一方、動きベクトルが指し示している符号化済みブロックの情報が示す類似度が閾値Thより低い場合、類似度R1,R2,・・・,RNに対応するN個の演算内容の中から、類似度Rnに対応する演算内容が選択され難くするために、類似度Rnにマイナスのオフセットを付加する(類似度Rnの値を小さくする)。
例えば、重み付け後の類似度R1,R2,・・・,RNの中で最も値が大きな類似度が類似度R2であれば、その類似度R2に対応する演算内容をSAO演算部14及び情報保持部22に出力する。
類似算出処理部31では、例えば、差分絶対値和(SAD)などの簡易な類似度の算出方法を用いて、N個の局部復号画像と符号化対象ブロックとの類似度R1,R2,・・・,RNを算出するようにしているので、リアルタイムに類似度R1,R2,・・・,RNを算出することができる。
一方、類似度算出部21では、類似算出処理部31が用いる類似度の算出方法よりも精度が高い算出方法を使用しているが、時間的余裕がある中で類似度を算出するものであるため、例えば、演算速度の向上を図るための並列処理用のハードウェアなどが不要になり、ハードウェア規模の拡大を抑えることができる。
一方、周辺に存在している符号化済みブロックの情報が示す類似度が閾値Thより低い場合、類似度R1,R2,・・・,RNに対応するN個の演算内容の中から、類似度Rmに対応する演算内容が選択され難くするために、類似度Rmにマイナスのオフセットを付加する(類似度Rmの値を小さくする)。
上記実施の形態1では、選択処理部32が、N個の局部復号画像と符号化対象ブロックとの類似度R1,R2,・・・,RNを、動きベクトルが指し示している符号化済みブロックの情報が示す類似度で重み付けすることで、動きベクトルが指し示している符号化済みブロックの情報が示す演算内容の選択され易さを変えるものを示したが、予め用意されている複数の演算内容(SAOのタイプ、オフセット値)の中から、その符号化済みブロックの情報が示す演算内容を特定し、その符号化済みブロックの情報が示す類似度が閾値Thより低い場合、その符号化済みブロックの情報が示す演算内容を除外し、それ以外の演算内容で、デブロッキングフィルタ処理後の局部復号画像に対するSAO演算を実施して、SAO演算後の局部復号画像をそれぞれ生成するようにしてもよい。
この実施の形態2では、SAO演算後の局部復号画像の生成数が上記実施の形態1よりも減り、N個の局部復号画像と符号化対象ブロックとの類似度R1,R2,・・・,RNを、動きベクトルが指し示している符号化済みブロックの情報が示す類似度で重み付けする必要もないので、演算量を低減することができる。
この場合、周辺に存在している符号化済みブロックの情報が示す類似度が閾値Thより低い場合、周辺に存在している符号化済みブロックの情報が示す演算内容が除外される。
したがって、予め用意されている演算内容がN個であるとき、例えば、周辺に存在している4個の符号化済みブロックの情報が示す類似度が閾値Thより低い場合、N-4個のSAO演算後の局部復号画像が生成されるようになり、SAO演算後の局部復号画像の生成数がさらに減少する。
Claims (6)
- 既に符号化されている符号化済みブロックの局部復号画像を保持するフレームメモリと、
前記フレームメモリに保持されている局部復号画像を用いて、符号化対象ブロックに対する動き補償予測処理を実施して、前記符号化対象ブロックの予測画像を生成する予測画像生成手段と、
前記符号化対象ブロックと前記予測画像の差分画像を圧縮し、前記差分画像の圧縮データを符号化する符号化手段と、
前記圧縮データを伸長して前記差分画像を復号し、その復号した差分画像と前記予測画像から局部復号画像を生成する局部復号画像生成手段と、
前記予測画像生成手段による動き補償予測処理で探索される動きベクトルが指し示す符号化済みブロックの局部復号画像に対して実施されているSAO(サンプル・アダプティブ・オフセット)演算の演算内容を加味して、前記局部復号画像生成手段により生成された局部復号画像に対するSAO演算の演算内容を決定する演算内容決定手段と、
前記局部復号画像生成手段により生成された局部復号画像に対して、前記演算内容決定手段により決定された演算内容でのSAO演算を実施し、SAO演算後の局部復号画像を前記フレームメモリに格納するSAO演算手段と
を備えた動画像符号化装置。 - 前記演算内容決定手段は、前記予測画像生成手段による動き補償予測処理で探索される動きベクトルが指し示す符号化済みブロック及び前記動きベクトルが指し示す符号化済みブロックの周辺に存在している符号化済みブロックの局部復号画像に対して実施されているSAO演算の演算内容を加味して、前記局部復号画像生成手段により生成された局部復号画像に対するSAO演算の演算内容を決定することを特徴とする請求項1記載の動画像符号化装置。
- 前記演算内容決定手段は、
前記符号化対象ブロックと前記SAO演算手段によるSAO演算後の局部復号画像との類似度を算出する類似度算出部と、
前記符号化対象ブロックの符号化後のブロックである符号化済みブロックの情報として、前記類似度算出部により算出された類似度及び前記SAO演算手段で実施されたSAO演算の演算内容を保持する情報保持部と、
前記情報保持部に保持されている符号化済みブロックの情報のうち、前記予測画像生成手段による動き補償予測処理で探索される動きベクトルが指し示す符号化済みブロックの情報である類似度及びSAO演算の演算内容を取得し、その取得した類似度に応じて、その取得した演算内容の選択され易さを変える重み付け処理を施してから、予め用意されている複数の演算内容の中から、前記局部復号画像生成手段により生成された局部復号画像に対するSAO演算の演算内容を選択する演算内容選択部とから構成されていることを特徴とする請求項1記載の動画像符号化装置。 - 前記演算内容選択部は、
予め用意されている複数の演算内容で、前記局部復号画像生成手段により生成された局部復号画像に対するSAO演算を実施して、複数のSAO演算後の局部復号画像を生成し、前記複数のSAO演算後の局部復号画像と前記符号化対象ブロックとの類似度をそれぞれ算出する類似算出処理部と、
前記類似算出処理部により算出された複数のSAO演算後の局部復号画像と符号化対象ブロックとの類似度を、前記動きベクトルが指し示す符号化済みブロックの情報である類似度で重み付けし、重み付けを施した各々の類似度に対応する演算内容の中で、最も高い類似度に対応する演算内容を選択する選択処理部とから構成されていることを特徴とする請求項3記載の動画像符号化装置。 - 前記類似度算出部は、前記演算内容選択部の前記類似算出処理部で算出される類似度より精度が高い類似度の算出方法で、前記符号化対象ブロックと前記SAO演算手段によるSAO演算後の局部復号画像との類似度を算出することを特徴とする請求項4記載の動画像符号化装置。
- 予測画像生成手段が、フレームメモリに保持されている既に符号化されている符号化済みブロックの局部復号画像を用いて、符号化対象ブロックに対する動き補償予測処理を実施して、前記符号化対象ブロックの予測画像を生成する予測画像生成処理ステップと、
符号化手段が、前記符号化対象ブロックと前記予測画像の差分画像を圧縮し、前記差分画像の圧縮データを符号化する符号化処理ステップと、
局部復号画像生成手段が、前記圧縮データを伸長して前記差分画像を復号し、その復号した差分画像と前記予測画像から局部復号画像を生成する局部復号画像生成処理ステップと、
演算内容決定手段が、前記動き補償予測処理で探索される動きベクトルが指し示す符号化済みブロックの局部復号画像に対して実施されているSAO演算の演算内容を加味して、前記局部復号画像生成処理ステップで生成された局部復号画像に対するSAO演算の演算内容を決定する演算内容決定処理ステップと、
SAO演算手段が、前記局部復号画像生成処理ステップで生成された局部復号画像に対して、前記演算内容決定処理ステップで決定された演算内容でのSAO演算を実施し、SAO演算後の局部復号画像を前記フレームメモリに格納するSAO演算処理ステップと
を備えた動画像符号化方法。
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)
| 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)
| 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)
| 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 | 日本放送協会 | 画像符号化装置、画像復号装置、及びプログラム |
-
2015
- 2015-02-02 JP JP2015560064A patent/JP6042001B2/ja not_active Expired - Fee Related
- 2015-02-02 EP EP15742974.7A patent/EP3104615B1/en active Active
- 2015-02-02 US US15/108,982 patent/US9756340B2/en not_active Expired - Fee Related
- 2015-02-02 CA CA2934941A patent/CA2934941C/en not_active Expired - Fee Related
- 2015-02-02 WO PCT/JP2015/052856 patent/WO2015115645A1/ja not_active Ceased
Patent Citations (4)
| 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)
| 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 |