WO2020137125A1 - 画像復号装置、画像符号化装置、プログラム及び画像処理システム - Google Patents

画像復号装置、画像符号化装置、プログラム及び画像処理システム Download PDF

Info

Publication number
WO2020137125A1
WO2020137125A1 PCT/JP2019/041872 JP2019041872W WO2020137125A1 WO 2020137125 A1 WO2020137125 A1 WO 2020137125A1 JP 2019041872 W JP2019041872 W JP 2019041872W WO 2020137125 A1 WO2020137125 A1 WO 2020137125A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
unit
motion vector
image decoding
refining
Prior art date
Application number
PCT/JP2019/041872
Other languages
English (en)
French (fr)
Inventor
恭平 海野
圭 河村
内藤 整
Original Assignee
Kddi株式会社
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 Kddi株式会社 filed Critical Kddi株式会社
Priority to CN201980055504.4A priority Critical patent/CN112602325A/zh
Publication of WO2020137125A1 publication Critical patent/WO2020137125A1/ja
Priority to US17/187,954 priority patent/US20210185344A1/en

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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors

Definitions

  • the present invention relates to an image decoding device, an image encoding device, a program, and an image processing system.
  • Non-Patent Document 1 and Non-Patent Document 2 regarding the technology called Decoder-side motion vector refinement (DMVR: decoding side motion vector refinement), in order to reduce the amount of memory used at the time of execution and the amount of search cost calculation, A technique is disclosed in which application of DMVR is prohibited in blocks of the above sizes, or blocks of a size equal to or larger than a threshold value are divided into small subblocks, and DMVR is executed for each subblock.
  • DMVR decoding side motion vector refinement
  • CE9-related SimplifiedDMVR with reduced internal memory
  • JVET-L0098 CE9-related:DMVRwithCoarse-to-FineSearch and BlockSizeLimit
  • JVET-L0382 CE9-related: Simplification of Decoder Side Motion Vector Derivation, JVET-K0105
  • the value of the motion vector may be different for each sub-block, which causes a problem that block noise is likely to occur.
  • An object is to provide a device, an image encoding device, a program, and an image processing system.
  • a first feature of the present invention is an image decoding device configured to decode coded data, wherein the motion vector decoding unit is configured to acquire a motion vector from the coded data, And a refinement unit configured to change an area used for refinement of the motion vector by using information about at least one of width and height of a block using the motion vector. To do.
  • a second feature of the present invention is an image coding apparatus configured to generate coded data by coding an input image signal, wherein a motion vector is calculated by comparing a target frame and a reference frame.
  • a motion vector search unit for searching and a refinement unit configured to change an area used for refinement of the motion vector by using at least one of the width and height information of the block using the motion vector.
  • a third aspect of the present invention is a program that causes a computer to function as an image decoding device configured to decode encoded data, wherein the image decoding device acquires a motion vector from the encoded data. And a motion vector decoding unit configured to change the area used for refining the motion vector, using at least one of the width and height information of the block using the motion vector. It is the gist to have the refinement part.
  • a fourth feature of the present invention is that the image processing system includes the image decoding device described in the first feature described above and the image encoding device described in the second feature described above. Use as a summary.
  • an image decoding device capable of reducing the memory, the amount of arithmetic processing, and the number of arithmetic circuits necessary for executing DMVR while suppressing a decrease in encoding efficiency.
  • an image processing system capable of reducing the memory, the amount of arithmetic processing, and the number of arithmetic circuits necessary for executing DMVR while suppressing a decrease in encoding efficiency.
  • FIG. 9 is a flowchart showing an example of a procedure of a refinement process performed by a refinement unit 111B of the inter prediction unit 111 of the image encoding device 100 (a refinement unit 241B of the inter prediction unit 241 of the image decoding device 200) in the embodiment. ..
  • the shape of the region used for the refinement of the motion vector performed by the refinement unit 111B of the inter prediction unit 111 of the image encoding device 100 (the refinement unit 241B of the inter prediction unit 241 of the image decoding device 200) in the embodiment is described. It is a flowchart which shows an example of the procedure which determines. It is a figure shown about an example of a functional block of image decoding device 200 of image processing system 10 concerning one embodiment. It is a figure which shows about an example of the functional block of the inter estimation part 241 of the image decoding apparatus 200 which concerns on one Embodiment.
  • FIG. 9 is a flowchart showing an example of a procedure of a refinement process performed by a refinement unit 111B of the inter prediction unit 111 of the image encoding device 100 (a refinement unit 241B of the inter prediction unit 241 of the image decoding device 200) in the embodiment.
  • .. 9 is a flowchart showing an example of a procedure of a refinement process performed by a refinement unit 111B of the inter prediction unit 111 of the image encoding device 100 (a refinement unit 241B of the inter prediction unit 241 of the image decoding device 200) in the modification example. .. FIG.
  • 16 is a diagram showing an example of a table used in a refining unit 111B of the inter prediction unit 111 of the image encoding device 100 (a refining unit 241B of the inter prediction unit 241 of the image decoding device 200) in the modification example.
  • 9 is a flowchart showing an example of a procedure of a refinement process performed by a refinement unit 111B of the inter prediction unit 111 of the image encoding device 100 (a refinement unit 241B of the inter prediction unit 241 of the image decoding device 200) in the modification example. ..
  • FIG. 9 is a flowchart showing an example of a procedure of a refinement process performed by a refinement unit 111B of the inter prediction unit 111 of the image encoding device 100 (a refinement unit 241B of the inter prediction unit 241 of the image decoding device 200) in the modification example. .. It is used for the refinement of the motion vector in the refinement process performed by the refinement unit 111B of the inter prediction unit 111 of the image encoding device 100 (the refinement unit 241B of the inter prediction unit 241 of the image decoding device 200) in the modification example. It is a figure showing an example of a field.
  • FIG. 1 is a diagram showing an image processing system 10 according to the exemplary embodiment.
  • the image processing system 10 includes an image encoding device 100 and an image decoding device 200.
  • the image encoding device 100 is configured to generate encoded data by encoding an input image signal.
  • the image decoding device 200 is configured to generate an output image signal by decoding encoded data.
  • such encoded data may be transmitted from the image encoding device 100 to the image decoding device 200 via a transmission path. Further, the encoded data may be stored in the storage medium and then provided from the image encoding device 100 to the image decoding device 200.
  • FIG. 2 is a diagram showing an example of functional blocks of the image encoding device 100 according to the present embodiment.
  • the image encoding device 100 includes an inter prediction unit 111, an intra prediction unit 112, a subtractor 121, an adder 122, a transform/quantization unit 131, and an inverse transform/inverse quantization.
  • the unit 132, the encoding unit 140, the in-loop filter processing unit 150, and the frame buffer 160 are included.
  • the inter prediction unit 111 is configured to generate a prediction signal by inter prediction (interframe prediction).
  • the inter prediction unit 111 identifies and identifies the reference block included in the reference frame by comparing the frame to be encoded (hereinafter, the target frame) with the reference frame stored in the frame buffer 160. Configured to determine a motion vector for the reference block.
  • the inter prediction unit 111 is also configured to generate a prediction signal included in a prediction block for each prediction block based on the reference block and the motion vector.
  • the inter prediction unit 111 is configured to output the prediction signal to the subtractor 121 and the adder 122.
  • the reference frame is a frame different from the target frame.
  • the intra prediction unit 112 is configured to generate a prediction signal by intra prediction (intra-frame prediction).
  • the intra prediction unit 112 is configured to identify a reference block included in the target frame and generate a prediction signal for each prediction block based on the identified reference block.
  • the intra prediction unit 112 is also configured to output the prediction signal to the subtractor 121 and the adder 122.
  • the reference block is a block referred to for a prediction target block (hereinafter referred to as a target block).
  • the reference block is a block adjacent to the target block.
  • the subtractor 121 is configured to subtract the prediction signal from the input image signal and output the prediction residual signal to the transform/quantization unit 131.
  • the subtractor 121 is configured to generate a prediction residual signal that is a difference between the prediction signal generated by intra prediction or inter prediction and the input image signal.
  • the adder 122 adds the prediction signal to the prediction residual signal output from the inverse transform/inverse quantization unit 132 to generate a pre-filtering decoded signal, and outputs the pre-filtering decoded signal to the intra prediction unit 112 and the intra prediction unit 112. It is configured to output to the loop filter processing unit 150.
  • the pre-filtering decoded signal constitutes a reference block used in the intra prediction unit 112.
  • the transform/quantization unit 131 is configured to perform transform processing of the prediction residual signal and also obtain coefficient level values. Further, the transform/quantization unit 131 may be configured to quantize the coefficient level value.
  • the conversion process is a process of converting the prediction residual signal into a frequency component signal.
  • a base pattern (conversion matrix) corresponding to the discrete cosine transform (DCT; Discrete Cosine Transform) may be used, or a base pattern (conversion matrix) corresponding to the discrete sine transform (DST; Discrete Sine Transform). May be used.
  • DCT discrete cosine transform
  • DST discrete Sine Transform
  • the inverse transform/inverse quantization unit 132 is configured to perform inverse transform processing of the coefficient level value output from the transform/quantization unit 131.
  • the inverse transform/inverse quantization unit 132 may be configured to perform inverse quantization of the coefficient level value prior to the inverse transform process.
  • the inverse transform process and the inverse quantization are performed in the reverse procedure of the transform process and the quantization performed by the transform/quantization unit 131.
  • the encoding unit 140 is configured to encode the coefficient level value output from the transform/quantization unit 131 and output the encoded data.
  • the coding is entropy coding in which codes of different lengths are assigned based on the occurrence probability of coefficient level values.
  • the encoding unit 140 is configured to encode the control data used in the decoding process in addition to the coefficient level value.
  • control data may include size data such as a coding block (CU: Coding Unit) size, a prediction block (PU: Prediction Unit) size, and a conversion block (TU: Transform Unit) size.
  • CU Coding Unit
  • PU Prediction Unit
  • TU Transform Unit
  • the in-loop filter processing unit 150 is configured to filter the decoded signal before filtering output from the adder 122 and output the decoded signal after filtering to the frame buffer 160.
  • the filter process is a deblocking filter process that reduces distortion that occurs at the boundary of blocks (encoding block, prediction block, or transform block).
  • the frame buffer 160 is configured to store the reference frame used by the inter prediction unit 111.
  • the decoded signal after filtering constitutes a reference frame used in the inter prediction unit 111.
  • FIG. 3 is a diagram illustrating an example of functional blocks of the inter prediction unit 111 of the image encoding device 100 according to this embodiment.
  • the inter prediction unit 111 includes a motion vector search unit 111A, a refinement unit 111B, and a prediction signal generation unit 111C.
  • the inter prediction unit 111 is an example of a prediction unit configured to generate a prediction signal included in a prediction block based on a motion vector.
  • the motion vector search unit 111A is configured to specify a reference block included in the reference frame by comparing the target frame and the reference frame, and search for a motion vector for the specified reference block.
  • the refining unit 111B sets the search range based on the reference position specified by the motion vector, specifies the corrected reference position with the smallest predetermined cost from the search range, and corrects the motion vector based on the corrected reference position. Is configured to perform a refinement process that
  • the refining unit 111B may be configured to execute the refining process when a predetermined condition is satisfied.
  • the predetermined condition may include a condition that the motion vector is encoded in the merge mode.
  • the merge mode is a mode in which only the motion vector index of the coded block adjacent to the prediction block is transmitted.
  • the predetermined condition may include a condition that motion compensation prediction using an affine transformation is not applied to the motion vector.
  • the refining unit 111B is configured to perform refining processing in the following procedure.
  • FIG. 4 is a flowchart showing an example of the procedure of the refining process performed by the refining unit 111B of the inter prediction unit 111 of the image encoding device 100 according to this embodiment.
  • step S10 the refining unit 111B determines whether or not the above-described predetermined condition is satisfied.
  • step S11 If it is determined that the user is satisfied, the procedure proceeds to step S15, and the process ends.
  • step S11 the refining unit 111B determines whether or not the size of the block currently being processed is equal to or smaller than a predetermined threshold TH1 (first threshold).
  • a predetermined threshold TH1 first threshold
  • step S13 If it is determined that the threshold is less than or equal to TH1, the procedure proceeds to step S13, and if it is determined that the threshold is greater than TH1, the procedure proceeds to step S12.
  • the threshold TH1 is, for example, the width (the number of pixels in the horizontal direction) of the block, the height (the number of pixels in the vertical direction), the total number of pixels in the block (the product of the width and the height), or those values. Can be defined in combination.
  • the threshold value is defined by the total number of pixels in the block, and specifically, the following processing will be described by taking the case where the threshold value TH1 is set to 1024 pixels as an example.
  • step S12 the refining unit 111B determines whether or not the size of the currently processed prediction block is equal to or smaller than a predetermined threshold TH2 (second threshold).
  • step S14 If it is determined that the threshold is less than or equal to the threshold TH2, the procedure proceeds to step S14, and if it is determined that the threshold is greater than the threshold TH2, the procedure proceeds to step S15.
  • the threshold TH2 is, for example, the width (the number of pixels in the horizontal direction) of the block, the height (the number of pixels in the vertical direction), or the total number of pixels in the block (of the width and the height). Product) or a combination thereof.
  • the threshold TH2 can also be set in consideration of a parallel processing unit of encoding processing and decoding processing. For example, when the maximum size of the prediction block is 128 ⁇ 128 pixels and the parallel processing unit is 64 ⁇ 64 pixels, the threshold TH2 can be set to 64 ⁇ 64 pixels or 4096 pixels.
  • step S13 the refining unit 111B executes the motion vector refining process by a general method.
  • the refining unit 111B performs the process using the pixels of the entire area in the block. Since a known method can be adopted as the motion vector search method, the details thereof will be omitted.
  • the refining unit 111B does not necessarily have to perform the refining process using all the pixels in the block.
  • the refining unit 111B can be combined with a method of reducing the amount of operation and the number of operation circuits, which performs refining processing using only pixels on even lines in a block.
  • step S14 the refining unit 111B executes the motion vector refining process using only the pixels of a partial area in the currently processed prediction block.
  • the refining unit 111B may predetermine the area used for refining the motion vector. For example, the refining unit 111B may use the central area of the block as shown in FIG. 5 or the upper left area of the block as the area used for refining the motion vector. You may use.
  • the refining unit 111B may define in advance which region to use for each block shape (combination of the width and height of the block) in which the process of step S14 may be executed, or the region may be unique. It may be expressed by a mathematical formula that can be determined.
  • the refining unit 111B sets the area used for refining the motion vector as a rectangular area, and sets the coordinates of the start point (upper left corner of the rectangle) and the end point (lower right corner of the rectangle) to (x, y).
  • it is a mathematical expression such as the start point (block width/2-16, block height/2-16) and end point (block width/2+16, block height/2+16). You can also define it.
  • the refining unit 111B can determine the shape of the region used for refining the motion vector with the region used for refining the motion vector as the center of the block according to the flowchart shown in FIG. 7.
  • step S19 the refining unit 111B sets an initial value of information regarding the area used for refining.
  • the information about the area used for refinement is, for example, the offset value (horizontal offset, vertical offset) indicating the coordinates of the upper left vertex of the area used for refinement, and the size of the area used for refinement. It is composed of four types of information (width, height).
  • the offset value described above represents relative coordinates from the coordinates of the upper left vertex of the prediction block currently being processed.
  • the initial values of horizontal and vertical offsets are set to 0, and the initial values of width and height are set to the width and height values of the currently processed prediction block, respectively.
  • the process proceeds to step S20.
  • step S20 it is determined whether or not the size of the area used for such refinement is equal to or smaller than the threshold TH.
  • step S24 the size of the area used for the refinement is determined and terminated, and if it is determined that the threshold is greater than the threshold TH, the procedure is It proceeds to step S21.
  • step S21 the refining unit 111B compares the height of the area used for such refining with the size of the width. If the height is equal to or larger than the width, the procedure proceeds to step S22, and the width is smaller than the height. If so, the procedure goes to step S23.
  • step S22 the refining unit 111B adds 1/4 of the height to the vertical offset. Then, the height of the area used for such refinement is updated with a value of 1/2.
  • step S23 the refining unit 111B adds 1/4 of the width to the horizontal offset. Then, the width of the area used for such refinement is updated with a value of 1/2.
  • step S22 or step S23 the procedure returns to step S20, and the refining unit 111B determines the size of the area used for the refining again.
  • the refining unit 111B can determine the area used for the refinement by repeating the above processing until the size of the area used for the refinement becomes equal to or smaller than the preset threshold value.
  • step S14 the size of the area used for such refinement may be set to be equal to or smaller than the threshold TH1.
  • the processing procedure shown in FIG. 10 can also obtain the same processing result as the processing shown in FIG.
  • step S30 the refining unit 111B determines whether or not the size of the currently processed prediction block is equal to or smaller than the threshold value TH2.
  • step S31 If it is determined that all of these conditions are satisfied, the procedure proceeds to step S31. When it is determined that any one of these conditions is not satisfied, the procedure goes to step S15 and ends the process.
  • step S31 if it is determined that the size of the currently processed prediction block is less than or equal to the threshold value TH1, this procedure proceeds to step S13, and if not, this procedure proceeds to step S14.
  • the prediction signal generation unit 111C is configured to generate a prediction signal based on the motion vector. Specifically, the prediction signal generation unit 111C is configured to generate a prediction signal based on the motion vector input from the motion vector search unit 111A when the motion vector is not modified. On the other hand, the prediction signal generation unit 111C is configured to generate a prediction signal based on the corrected motion vector input from the refinement unit 111B when the motion vector is corrected.
  • FIG. 8 is a diagram showing an example of functional blocks of the image decoding device 200 according to the present embodiment.
  • the image decoding device 200 includes a decoding unit 210, an inverse transform/inverse quantization unit 220, an adder 230, an inter prediction unit 241, an intra prediction unit 242, and an in-loop filter processing unit. 250 and a frame buffer 260.
  • the decoding unit 210 is configured to decode the encoded data generated by the image encoding device 100 and the coefficient level value.
  • the decoding is entropy decoding in a procedure opposite to the entropy coding performed by the coding unit 140.
  • the decoding unit 210 may be configured to acquire the control data by decoding the encoded data.
  • control data may include size data such as a coding block size, a prediction block size, and a conversion block size.
  • control data may include an information element indicating an input source used for generating the second component prediction sample.
  • the inverse transform/inverse quantization unit 220 is configured to perform the inverse transform process of the coefficient level value output from the decoding unit 210.
  • the inverse transform/inverse quantization unit 220 may be configured to perform inverse quantization of the coefficient level value prior to the inverse transform process.
  • the inverse transform process and the inverse quantization are performed in the reverse procedure of the transform process and the quantization performed by the transform/quantization unit 131.
  • the adder 230 adds the prediction signal to the prediction residual signal output from the inverse transform/inverse quantization unit 220 to generate a pre-filtering decoded signal, and outputs the pre-filtering decoded signal to the intra prediction unit 242 and the in-loop. It is configured to output to the filter processing unit 250.
  • the pre-filtering decoded signal constitutes a reference block used in the intra prediction unit 242.
  • the inter prediction unit 241 is configured to generate a prediction signal by inter prediction (interframe prediction).
  • the inter prediction unit 241 is configured to generate a prediction signal for each prediction block based on a motion vector decoded from encoded data and a reference signal included in a reference frame.
  • the inter prediction unit 241 is configured to output the prediction signal to the adder 230.
  • the intra prediction unit 242 is configured to generate a prediction signal by intra prediction (intra-frame prediction).
  • the intra prediction unit 242 is configured to identify a reference block included in the target frame and generate a prediction signal for each prediction block based on the identified reference block.
  • the intra prediction unit 242 is configured to output the prediction signal to the adder 230.
  • the in-loop filter processing unit 250 performs filter processing on the pre-filter processing decoded signal output from the adder 230, and outputs the post-filter processing decoded signal to the frame buffer 260. Is configured to.
  • the filter process is a deblocking filter process that reduces distortion that occurs at the boundary of blocks (encoding block, prediction block, or transform block).
  • the frame buffer 260 is configured to store reference frames used by the inter prediction unit 241.
  • the decoded signal after filtering constitutes a reference frame used in the inter prediction unit 241.
  • FIG. 9 is a diagram illustrating an example of functional blocks of the inter prediction unit 241 according to this embodiment.
  • the inter prediction unit 241 includes a motion vector decoding unit 241A, a refinement unit 241B, and a prediction signal generation unit 241C.
  • the inter prediction unit 241 is an example of a prediction unit configured to generate a prediction signal included in a prediction block based on a motion vector.
  • the motion vector decoding unit 241A is configured to acquire the motion vector by decoding the control data received from the image encoding device 100.
  • the refining unit 241B executes the refining process of correcting the motion vector by using the pixels of the entire area within the block or a partial area within the block according to the block size. It is configured.
  • the refining unit 241B is configured to determine not to perform the refining process according to the block size and end the process.
  • the prediction signal generation unit 241C is configured to generate the prediction signal based on the motion vector, similarly to the prediction signal generation unit 111C.
  • the motion vector refining process is performed by using only the pixels in a part of the block. To execute.
  • the maximum value of the memory or the arithmetic circuit required for the refinement process of the motion vector is set to the block of the threshold value TH1.
  • the size can be limited to the amount needed to handle it.
  • the motion vector refining process is executed while limiting the area of pixels to be used, so that the memory amount, the operation amount, and the operation circuit can be reduced while suppressing the deterioration of the coding efficiency. be able to.
  • the refinement process can be executed in a larger block, so that the encoding efficiency is expected to be improved. ..
  • the calculation amount for cost calculation (for example, sum of absolute difference) at the time of motion vector search can be reduced. Is a non-integer pixel position, the pixel value of the entire block is required for filtering, so the amount of memory for storing the reference pixel cannot be reduced.
  • the image encoding device 100 and the image decoding device 200 according to the present embodiment since the refinement processing is performed using only the pixels of a partial area in the block, both the cost calculation and the memory amount are reduced. it can.
  • image encoding device 100 and the image decoding device 200 according to the present embodiment may be combined with the above-described line-based sub-sampling. In this case, it is possible to further reduce the calculation amount and the calculation circuit related to the cost calculation.
  • the refinement process is not performed on the blocks larger than the predetermined threshold TH2.
  • the threshold value TH2 is set to be equal to or smaller than the parallel processing unit, and thus in the refinement process. Parallel processing in processing units can be guaranteed.
  • the refining unit 111B/241B uses the thresholds TH1 and TH2 for the block size to determine the area to be used for the refining process and the necessity of executing the refining process.
  • This processing is not, for example, processing using a threshold value as described above, but the processing for each block shape may be defined in advance, so that the refining unit 111B/241B can realize the same processing.
  • FIG. 11 shows the procedure of the refinement process performed by the refinement unit 111B of the inter prediction unit 111 of the image encoding device 100 (and the refinement unit 241B of the inter prediction unit 241 of the image decoding device 200) in the first modification.
  • the flowchart which shows an example is shown.
  • step S16 the refinement unit 111B/241B proceeds to any one of steps S13, S14, and S15 based on the shape of the currently processed prediction block (eg, defined by the combination of the width and height of the block). Judge about.
  • Such a determination can be realized, for example, by predefining the table shown in FIG. Further, when the refinement processing is performed using only the pixels of a partial area in the block, which area is specifically used can be defined in advance in the table.
  • FIG. 13 shows an example of a flowchart in such a case.
  • the refining unit 111B/241B uniformly performs the refining process on the blocks having the block size equal to or smaller than the threshold TH1 by using the pixels of the entire area of the block, and the block size is It is also possible to change the processing depending on the block shape only for blocks that are larger than the threshold value TH1.
  • Modification Example 2 According to the present invention will be described with reference to FIGS. 14 to 15 by focusing on the differences from the first embodiment and Modification Example 1 described above.
  • the refining unit 111B/241B does not perform refining processing on a block larger than the threshold TH2.
  • the threshold value TH2 is set to be equal to or less than the parallel processing unit of encoding and decoding, parallel processing of refinement processing can be ensured.
  • the refining unit 111B/241B is configured to perform the refining process by using only the pixels of a partial area in the block even in a block larger than the parallel processing unit. ing.
  • FIG. 14 is a procedure of the refinement process performed by the refinement unit 111B of the inter prediction unit 111 of the image encoding device 100 (and the refinement unit 241B of the inter prediction unit 241 of the image decoding device 200) in the second modification.
  • the flowchart which shows an example is shown.
  • the refining unit 111B/241B performs the refining process using only a part of the area in step S14 in the block larger than the threshold value TH1 as in the first embodiment.
  • the area used for the refinement processing in step S14 is, for example, the central area of the block.
  • the refining unit 111B/241B performs the refining process by using only a partial area for the block larger than the threshold TH2 in step S17.
  • FIG. 15 shows an example of a region used for the refinement of the motion vector in the refinement process in step S17 when the maximum size of the prediction block is 128 ⁇ 128 pixels and the parallel processing unit is 64 ⁇ 64.
  • Dotted lines in blocks in FIG. 15 indicate boundaries of parallel processing units. As shown in FIG. 15, by defining the area used for the refinement processing so as not to cross the boundary of the parallel processing units, the parallel processing for each processing unit is ensured and the refinement is performed in a larger block. Processing can be carried out.
  • the shape of the region used for refining the motion vector may be square or rectangular as shown in FIG.
  • the image encoding device 100 and the image decoding device 200 described above may be realized by a program that causes a computer to execute each function (each step).
  • the present invention has been described by taking the application to the image encoding device 100 and the image decoding device 200 as an example, but the present invention is not limited to this and the encoding device and The same can be applied to an encoding/decoding system provided with each function of the decoding device.

Landscapes

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

Abstract

本発明に係る画像復号装置200は、符号化データから動きベクトルを取得するように構成されている動きベクトル復号部241Aと、動きベクトルを用いるブロックの幅と高さの少なくともいずれかの情報を用いて、動きベクトルの洗練化に使用する領域を変更するように構成されている洗練化部241Bとを備える。

Description

画像復号装置、画像符号化装置、プログラム及び画像処理システム
 本発明は、画像復号装置、画像符号化装置、プログラム及び画像処理システムに関する。
 非特許文献1及び非特許文献2には、Decoder-side motion vector refinement(DMVR:復号側動きベクトル洗練化) という技術に関して、実行時のメモリ使用量及び探索コスト算出量を削減するために、閾値以上のサイズのブロックではDMVRの適用を禁止する、或いは、閾値以上のサイズのブロックを小さなサブブロックに分割して、サブブロックごとにDMVRを実行する技術が開示されている。
CE9-related: Simplified DMVR with reduced internal memory, JVET-L0098 CE9-related : DMVR with Coarse-to-Fine Search and Block Size Limit, JVET-L0382 CE9-related: Simplification of Decoder Side Motion Vector Derivation, JVET-K0105
 しかしながら、上述の従来技術では、単純に大きなブロックでのDMVRの適用を禁止する場合、閾値によっては禁止しない場合と比較して符号化効率が大きく低下してしまうという問題点があった。
 また、上述の従来技術では、サブブロックごとにDMVRを実行する場合、サブブロックごとに動きベクトルの値が異なる可能性があり、ブロックノイズが発生しやすくなってしまうという問題点があった。
 そこで、本発明は、上述の課題に鑑みてなされたものであり、符号化効率の低下を抑えつつ、DMVRの実行に必要なメモリや演算処理量や演算回路数を削減することができる画像復号装置、画像符号化装置、プログラム及び画像処理システムを提供することを目的とする。
 本発明の第1の特徴は、符号化データを復号するように構成されている画像復号装置であって、前記符号化データから動きベクトルを取得するように構成されている動きベクトル復号部と、前記動きベクトルを用いるブロックの幅と高さの少なくともいずれかの情報を用いて、前記動きベクトルの洗練化に使用する領域を変更するように構成されている洗練化部とを備えることを要旨とする。
 本発明の第2の特徴は、入力画像信号を符号化することによって符号化データを生成するように構成されている画像符号化装置であって、対象フレームと参照フレームとの比較によって動きベクトルを探索する動きベクトル探索部と、
前記動きベクトルを用いるブロックの幅と高さの少なくともいずれかの情報を用いて、前記動きベクトルの洗練化に使用する領域を変更するように構成されている洗練化部とを備えることを要旨とする。
 本発明の第3の特徴は、コンピュータを、符号化データを復号するように構成されている画像復号装置として機能させるプログラムであって、前記画像復号装置は、前記符号化データから動きベクトルを取得するように構成されている動きベクトル復号部と、前記動きベクトルを用いるブロックの幅と高さの少なくともいずれかの情報を用いて、前記動きベクトルの洗練化に使用する領域を変更するように構成されている洗練化部とを備えることを要旨とする。
 本発明の第4の特徴は、上述の第1の特徴に記載されている画像復号装置と、上述の第2の特徴に記載されている画像符号化装置とを備える画像処理システムであることを要旨とする。
 本発明によれば、符号化効率の低下を抑えつつ、DMVRの実行に必要なメモリや演算処理量や演算回路数を削減することができる画像復号装置、画像符号化装置、プログラム及び画像処理システムを提供することができる。
一実施形態に係る画像処理システム10の構成の一例を示す図である。 一実施形態に係る画像処理システム10の画像符号化装置100の機能ブロックの一例について示す図である。 一実施形態に係る画像符号化装置100のインター予測部111の機能ブロックの一例について示す図である。 一実施形態における画像符号化装置100のインター予測部111の洗練化部111B(画像復号装置200のインター予測部241の洗練化部241B)によって行われる洗練化処理の手順の一例を示すフローチャートである。 一実施形態における画像符号化装置100のインター予測部111の洗練化部111B(画像復号装置200のインター予測部241の洗練化部241B)によって行われる洗練化処理における動きベクトルの洗練化に使用する領域の一例を示す図である。 一実施形態における画像符号化装置100のインター予測部111の洗練化部111B(画像復号装置200のインター予測部241の洗練化部241B)によって行われる洗練化処理における動きベクトルの洗練化に使用する領域の一例を示す図である。 一実施形態における画像符号化装置100のインター予測部111の洗練化部111B(画像復号装置200のインター予測部241の洗練化部241B)によって行われる動きベクトルの洗練化に使用する領域の形状を決定する手順の一例を示すフローチャートである。 一実施形態に係る画像処理システム10の画像復号装置200の機能ブロックの一例について示す図である。 一実施形態に係る画像復号装置200のインター予測部241の機能ブロックの一例について示す図である。 一実施形態における画像符号化装置100のインター予測部111の洗練化部111B(画像復号装置200のインター予測部241の洗練化部241B)によって行われる洗練化処理の手順の一例を示すフローチャートである。 一変更例における画像符号化装置100のインター予測部111の洗練化部111B(画像復号装置200のインター予測部241の洗練化部241B)によって行われる洗練化処理の手順の一例を示すフローチャートである。 一変更例における画像符号化装置100のインター予測部111の洗練化部111B(画像復号装置200のインター予測部241の洗練化部241B)において用いられるテーブルの一例を示す図である。 一変更例における画像符号化装置100のインター予測部111の洗練化部111B(画像復号装置200のインター予測部241の洗練化部241B)によって行われる洗練化処理の手順の一例を示すフローチャートである。 一変更例における画像符号化装置100のインター予測部111の洗練化部111B(画像復号装置200のインター予測部241の洗練化部241B)によって行われる洗練化処理の手順の一例を示すフローチャートである。 一変更例における画像符号化装置100のインター予測部111の洗練化部111B(画像復号装置200のインター予測部241の洗練化部241B)によって行われる洗練化処理における動きベクトルの洗練化に使用する領域の一例を示す図である。
(第1実施形態)
 以下、図1~図10を参照して、本発明の第1実施形態に係る画像処理システム10について説明する。図1は、本実施形態に係る実施形態に係る画像処理システム10を示す図である。
 図1に示すように、画像処理システム10は、画像符号化装置100及び画像復号装置200を有する。
 画像符号化装置100は、入力画像信号を符号化することによって符号化データを生成するように構成されている。画像復号装置200は、符号化データを復号することによって出力画像信号を生成するように構成されている。
 ここで、かかる符号化データは、画像符号化装置100から画像復号装置200に対して伝送路を介して送信されてもよい。また、符号化データは、記憶媒体に格納された上で、画像符号化装置100から画像復号装置200に提供されてもよい。
(画像符号化装置100)
 以下、図2を参照して、本実施形態に係る画像符号化装置100について説明する。図2は、本実施形態に係る画像符号化装置100の機能ブロックの一例について示す図である。
 図2に示すように、画像符号化装置100は、インター予測部111と、イントラ予測部112と、減算器121と、加算器122と、変換・量子化部131と、逆変換・逆量子化部132と、符号化部140と、インループフィルタ処理部150と、フレームバッファ160とを有する。
 インター予測部111は、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
 具体的には、インター予測部111は、符号化対象のフレーム(以下、対象フレーム)とフレームバッファ160に格納される参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトルを決定するように構成されている。
 また、インター予測部111は、参照ブロック及び動きベクトルに基づいて予測ブロックに含まれる予測信号を予測ブロック毎に生成するように構成されている。インター予測部111は、予測信号を減算器121及び加算器122に出力するように構成されている。ここで、参照フレームは、対象フレームとは異なるフレームである。
 イントラ予測部112は、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
 具体的には、イントラ予測部112は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。また、イントラ予測部112は、予測信号を減算器121及び加算器122に出力するように構成されている。
 ここで、参照ブロックは、予測対象のブロック(以下、対象ブロック)について参照されるブロックである。例えば、参照ブロックは、対象ブロックに隣接するブロックである。
 減算器121は、入力画像信号から予測信号を減算し、予測残差信号を変換・量子化部131に出力するように構成されている。ここで、減算器121は、イントラ予測又はインター予測によって生成される予測信号と入力画像信号との差分である予測残差信号を生成するように構成されている。
 加算器122は、逆変換・逆量子化部132から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、かかるフィルタ処理前復号信号をイントラ予測部112及びインループフィルタ処理部150に出力するように構成されている。
 ここで、フィルタ処理前復号信号は、イントラ予測部112で用いる参照ブロックを構成する。
 変換・量子化部131は、予測残差信号の変換処理を行うとともに、係数レベル値を取得するように構成されている。さらに、変換・量子化部131は、係数レベル値の量子化を行うように構成されていてもよい。
 ここで、変換処理は、予測残差信号を周波数成分信号に変換する処理である。かかる変換処理では、離散コサイン変換(DCT;Discrete Cosine Transform)に対応する基底パターン(変換行列)が用いられてもよく、離散サイン変換(DST;Discrete Sine Transform)に対応する基底パターン(変換行列)が用いられてもよい。
 逆変換・逆量子化部132は、変換・量子化部131から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部132は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
 ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
 符号化部140は、変換・量子化部131から出力された係数レベル値を符号化し、符号化データを出力するように構成されている。
 ここで、例えば、符号化は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化である。
 また、符号化部140は、係数レベル値に加えて、復号処理で用いる制御データを符号化するように構成されている。
 ここで、制御データは、符号化ブロック(CU:Coding Unit)サイズ、予測ブロック(PU:Prediction Unit)サイズ、変換ブロック(TU:Transform Unit)サイズ等のサイズデータを含んでもよい。
 インループフィルタ処理部150は、加算器122から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ160に出力するように構成されている。
 ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック又は変換ブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。
 フレームバッファ160は、インター予測部111で用いる参照フレームを蓄積するように構成されている。
 ここで、フィルタ処理後復号信号は、インター予測部111で用いる参照フレームを構成する。
(インター予測部111)
 以下、図3を参照して、本実施形態に係る画像符号化装置100のインター予測部111について説明する。図3は、本実施形態に係る画像符号化装置100のインター予測部111の機能ブロックの一例について示す図である。
 図3に示すように、インター予測部111は、動きベクトル探索部111Aと、洗練化部111Bと、予測信号生成部111Cとを有する。
 インター予測部111は、動きベクトルに基づいて予測ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。
 動きベクトル探索部111Aは、対象フレームと参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトルを探索するように構成されている。
 なお、動きベクトルの探索方法については、既知の手法を採用することが可能であるため、その詳細については省略する。
 洗練化部111Bは、動きベクトルによって特定される参照位置を基準として探索範囲を設定し、探索範囲の中から所定コストが最も小さい修正参照位置を特定し、修正参照位置に基づいて動きベクトルを修正する洗練化処理を実行するように構成されている。
 また、洗練化部111Bは、所定条件が満たされる場合に、かかる洗練化処理を実行するように構成されていてもよい。
 ここで、所定条件は、動きベクトルがマージモードで符号化されているという条件を含んでもよい。なお、マージモードは、予測ブロックに隣接する符号化済みブロックの動きベクトルのインデックスのみが伝送されるモードである。また、所定条件は、動きベクトルがアフィン変換を用いた動き補償予測が適用されていないという条件を含んでもよい。
 本実施形態では、洗練化部111Bは、以下の手順で洗練化処理を行うように構成されている。図4は、本実施形態における画像符号化装置100のインター予測部111の洗練化部111Bによって行われる洗練化処理の手順の一例を示すフローチャートである。
 図4に示すように、ステップS10において、洗練化部111Bは、上述の所定条件を満足しているか否かについて判定する。
 満足していると判定された場合、本手順は、ステップS11に進み、満足していないと判定された場合、本手順は、ステップS15へ進み、本処理を終了する。
 ステップS11において、洗練化部111Bは、現在処理しているブロックのサイズが予め定められている閾値TH1(第1閾値)以下であるか否かについて判定する。なお、以下では、ブロックの種類として予測ブロックのサイズに応じて処理を制御する手順について説明するが、符号化ブロックのサイズを用いても同様の制御が可能である。
 閾値TH1以下であると判定された場合、本手順は、ステップS13へ進み、閾値TH1より大きいと判定された場合、本手順は、ステップS12へ進む。
 ここで、閾値TH1は、例えば、ブロックの幅(水平方向の画素数)や、高さ(垂直方向の画素数)や、ブロック内の全画素数(幅と高さとの積)や、それらの組み合わせで定義されることができる。本実施形態では、ブロック内の全画素数で閾値を定義することとし、具体的には、閾値TH1を1024画素と設定した場合を例に以降の処理を説明する。
 ステップS12において、洗練化部111Bは、現在処理している予測ブロックのサイズが予め定められている閾値TH2(第2閾値)以下であるか否かについて判定する。
 閾値TH2以下であると判定された場合、本手順は、ステップS14に進み、閾値TH2より大きいと判定された場合、本手順は、ステップS15へ進む。
 ここで、閾値TH2は、閾値TH1と同様に、例えば、ブロックの幅(水平方向の画素数)や、高さ(垂直方向の画素数)や、ブロック内の全画素数(幅と高さの積)や、それらの組み合わせで定義されることができる。
 また、閾値TH2は、符号化処理及び復号処理の並列処理単位を考慮して設定されることもできる。例えば、予測ブロックの最大サイズが128×128画素で、並列処理単位が64×64画素である場合、閾値TH2を64×64画素或いは4096画素と設定することができる。
 ステップS13において、洗練化部111Bは、一般的な方法で動きベクトル洗練化処理を実行する。洗練化部111Bは、洗練化処理において動きベクトルの探索を行う際は、ブロック内の全領域の画素を用いて処理を行う。なお、動きベクトルの探索方法については、既知の手法を採用することが可能であるため、その詳細については省略する。
 ここで、先に「全領域の画素」と記載したが、洗練化部111Bは、必ずしもブロック内の全ての画素を用いて洗練化処理を行う必要はない。例えば、洗練化部111Bは、ブロック内の偶数ライン上の画素のみを用いて洗練化処理を行うという演算量及び演算回路の削減手法と組み合わせることもできる。
 ステップS14において、洗練化部111Bは、現在処理している予測ブロック内の一部の領域の画素のみを用いて動きベクトル洗練化処理を実行する。
 ここで、洗練化部111Bは、動きベクトルの洗練化に使用する領域について、予め定めておけばよい。例えば、洗練化部111Bは、動きベクトルの洗練化に使用する領域として、図5に示すように、ブロック中央の領域を用いてもよいし、図6に示すように、ブロックの左上の領域を用いてもよい。
 なお、洗練化部111Bは、ステップS14の処理が実行され得るブロック形状(ブロックの幅と高さとの組み合わせ)毎に、どの領域を使用するか予め定義しておいてもよいし、領域を一意に決定可能な数式で表現してもよい。
 例えば、洗練化部111Bは、動きベクトルの洗練化に使用する領域を矩形領域とし、始点(矩形の左上の頂点)及び終点(矩形の右下の頂点)の座標をそれぞれ(x, y)の形で表現する場合、始点(ブロックの幅/2-16, ブロックの高さ/2-16)及び終点(ブロックの幅/2+16, ブロックの高さ/2+16)といったように数式で定義しておくこともできる。
 また、例えば、洗練化部111Bは、動きベクトルの洗練化に使用する領域をブロック中央とし、動きベクトルの洗練化に使用する領域の形状を、図7に示すフローチャートに従って決定することもできる。
 図7に示すように、洗練化部111Bは、ステップS19において、洗練化に使用する領域に関する情報の初期値を設定する。
 洗練化に使用する領域に関する情報は、例えば、洗練化に使用する領域の左上の頂点の座標を示すオフセット値(水平方向のオフセット、垂直方向のオフセット)と、洗練化に使用する領域の大きさ(幅、高さ)の4種類の情報から構成される。なお、上述のオフセット値は、現在処理している予測ブロックの左上の頂点の座標からの相対座標を表す。
 洗練化に使用する領域を上述のように始点と終点の座標(x, y)で表現すると、始点(水平方向のオフセット, 垂直方向のオフセット)、終点(水平方向のオフセット+幅, 垂直方向のオフセット+高さ)となる。
 本実施形態は、水平方向と垂直方向のオフセットの初期値をそれぞれ0、幅と高さの初期値を現在処理している予測ブロックの幅と高さの値に、それぞれ設定する。初期値設定後、ステップS20へ進む。
ステップS20において、かかる洗練化に使用する領域のサイズが閾値TH以下であるか否かについて判定する。
 閾値TH以下であると判定された場合、本手順は、ステップS24に進み、かかる洗練化に使用する領域のサイズを確定して終了し、閾値THより大きいと判定された場合、本手順は、ステップS21に進む。
 ステップS21において、洗練化部111Bは、かかる洗練化に使用する領域の高さと幅の大きさとを比較し、高さが幅以上の場合は、本手順は、ステップS22に進み、幅が高さより大きい場合は、本手順は、ステップS23に進む。
 ステップS22において、洗練化部111Bは、垂直方向のオフセットに高さの1/4の値を加算する。その後、かかる洗練化に使用する領域の高さを1/2の値で更新する。
 ステップS23において、洗練化部111Bは、水平方向のオフセットに幅の1/4の値を加算する。その後、かかる洗練化に使用する領域の幅を1/2の値で更新する。
 本手順は、ステップS22又はステップS23が完了した後、ステップS20へ戻り、洗練化部111Bは、再度、かかる洗練化に使用する領域の大きさを判定する。洗練化部111Bは、かかる洗練化に使用する領域のサイズが予め設定した閾値以下になるまで、以上の処理を繰り返すことで、かかる洗練化に使用する領域を決定することができる。
 なお、ステップS14において、かかる洗練化に使用する領域の大きさが閾値TH1以下になるように設定されていてもよい。
 なお、図10に示す処理手順でも、図4の処理と同様の処理結果を得ることができる。
 図10の処理では、初めにステップS30において、洗練化部111Bは、上述の所定条件を満たしており且つ現在処理している予測ブロックの大きさが閾値TH2以下であるかどうかについて判定する。
 これらの条件が全て満たされていると判定された場合、本手順は、ステップS31に進む。また、これらの条件のいずれか一つでも満たされていないと判定された場合、本手順は、ステップS15に進み処理を終了する。
 ステップS31では、現在処理している予測ブロックの大きさが閾値TH1以下であると判定された場合は、本手順は、ステップS13へ進み、そうでない場合は、本手順は、ステップS14へ進む。
 以降の処理は、上述の図4の説明と同様である。
予測信号生成部111Cは、動きベクトルに基づいて予測信号を生成するように構成されている。具体的には、予測信号生成部111Cは、動きベクトルが修正されない場合には、動きベクトル探索部111Aから入力される動きベクトルに基づいて予測信号を生成するように構成されている。一方で、予測信号生成部111Cは、動きベクトルが修正される場合には、洗練化部111Bから入力される修正済みの動きベクトルに基づいて予測信号を生成するように構成されている。
(画像復号装置200)
 以下、図8を参照して、本実施形態に係る画像復号装置200について説明する。図8は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
 図8に示すように、画像復号装置200は、復号部210と、逆変換・逆量子化部220と、加算器230と、インター予測部241と、イントラ予測部242と、インループフィルタ処理部250と、フレームバッファ260とを有する。
 復号部210は、画像符号化装置100によって生成される符号化データを復号し、係数レベル値を復号するように構成されている。
 ここで、例えば、復号は、符号化部140で行われるエントロピー符号化とは逆の手順のエントロピー復号である。
 復号部210は、符号化データの復号処理によって制御データを取得するように構成されていてもよい。
 なお、上述したように、制御データは、符号化ブロックサイズ、予測ブロックサイズ、変換ブロックサイズ等のサイズデータを含んでもよい。なお、制御データは、第2成分の予測サンプルの生成に用いる入力ソースを示す情報要素を含んでもよい。
 逆変換・逆量子化部220は、復号部210から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部220は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
 ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
 加算器230は、逆変換・逆量子化部220から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、フィルタ処理前復号信号をイントラ予測部242及びインループフィルタ処理部250に出力するように構成されている。
 ここで、フィルタ処理前復号信号は、イントラ予測部242で用いる参照ブロックを構成する。
 インター予測部241は、インター予測部111と同様に、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
 具体的には、インター予測部241は、符号化データから復号した動きベクトルと参照フレームに含まれる参照信号に基づいて予測信号を予測ブロック毎に生成するように構成されている。インター予測部241は、予測信号を加算器230に出力するように構成されている。
 イントラ予測部242は、イントラ予測部112と同様に、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
 具体的には、イントラ予測部242は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。イントラ予測部242は、予測信号を加算器230に出力するように構成されている。
 インループフィルタ処理部250は、インループフィルタ処理部150と同様に、加算器230から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ260に出力するように構成されている。
 ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック又は変換ブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。
 フレームバッファ260は、フレームバッファ160と同様に、インター予測部241で用いる参照フレームを蓄積するように構成されている。
 ここで、フィルタ処理後復号信号は、インター予測部241で用いる参照フレームを構成する。
(インター予測部241)
 以下、図9を参照して、本実施形態に係るインター予測部241について説明する。図9は、本実施形態に係るインター予測部241の機能ブロックの一例について示す図である。
 図9に示すように、インター予測部241は、動きベクトル復号部241Aと、洗練化部241Bと、予測信号生成部241Cとを有する。
 インター予測部241は、動きベクトルに基づいて予測ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。
 動きベクトル復号部241Aは、画像符号化装置100から受信する制御データの復号によって動きベクトルを取得するように構成されている。
 洗練化部241Bは、洗練化部111Bと同様に、ブロックサイズに応じてブロック内の全領域又はブロック内の一部の領域の画素を用いて動きベクトルを修正する洗練化処理を実行するように構成されている。
 或いは、洗練化部241Bは、洗練化部111Bと同様に、ブロックサイズに応じて洗練化処理を実行しないことを決定して処理を終了するように構成されている。
 予測信号生成部241Cは、予測信号生成部111Cと同様に、動きベクトルに基づいて予測信号を生成するように構成されている。
 本実施形態に係る画像符号化装置100及び画像復号装置200によれば、予め定められている閾値TH1よりも大きなブロックにおいて、ブロック内の一部の領域の画素のみを用いて動きベクトル洗練化処理を実行する。
 すなわち、大きなブロックにおいて、洗練化処理に使用する領域を制限することで、制限がない場合と比較して、動きベクトルの探索に必要なメモリや演算回路を削減することができる。
 この時、動きベクトルの洗練化に使用する領域の大きさを閾値TH1以下になるように設定することで、動きベクトルの洗練化処理に必要なメモリや演算回路の最大値を、閾値TH1のブロックサイズを処理するために必要な量に制限することができる。
 このように、大きなブロックにおいても、使用する画素の領域を制限しつつ動きベクトルの洗練化処理を実行することで、符号化効率の低下を抑えつつ、メモリ量や演算量、演算回路を削減することができる。
 また、メモリ量等を削減するために単純に大きなブロックで洗練化処理を禁止する場合と比較して、より大きなブロックで洗練化処理を実行できるようになるため、符号化効率の向上が見込まれる。
 また、非特許文献3に開示されているようなライン単位でのサブサンプリングによる洗練化では、動きベクトルの探索時のコスト算出(例えば、絶対値差分和)に関する演算量は削減できるが、探索点が非整数画素位置である場合は、フィルタリングのためにブロック全体の画素値が必要となるため、参照画素を格納するためのメモリ量を削減することはできない。
 一方、本実施形態に係る画像符号化装置100及び画像復号装置200によれば、ブロック内の一部の領域の画素のみを用いて洗練化処理を行うため、コスト算出とメモリ量の両方を削減できる。
 なお、本実施形態に係る画像符号化装置100及び画像復号装置200について、上述のようなライン単位のサブサンプリングと組み合わせてもよい。この場合、コスト算出に係る演算量及び演算回路をさらに削減することができる。
 また、本実施形態に係る画像符号化装置100及び画像復号装置200によれば、予め定められている閾値TH2よりも大きなブロックにおいて、洗練化処理を行わない。
 すなわち、予測ブロックの最大サイズが、画像符号化装置100及び画像復号装置200における並列処理単位よりも大きかった場合に、閾値TH2を並列処理単位以下となるように設定することで、洗練化処理における処理単位における並列処理を担保することができる。
(変更例1)
 以下、図11~図13を参照して、本発明に係る変更例1について、上述の第1実施形態との相違点に着目して説明する。
 上述の第1実施形態では、図4に示すように、洗練化部111B/241Bは、ブロックサイズに対する閾値TH1と閾値TH2を用いて、洗練化処理に用いる領域及び洗練化処理の実行要否について判定するように構成されていた。かかる処理は、例えば、上述のような閾値を用いた処理ではなく、予め各ブロック形状に対しての処理を規定しておくことでも、洗練化部111B/241Bは、同様の処理を実現できる。
 図11に、本変更例1における画像符号化装置100のインター予測部111の洗練化部111B(及び、画像復号装置200のインター予測部241の洗練化部241B)によって行われる洗練化処理の手順の一例を示すフローチャートを示す。
 ステップS16において、洗練化部111B/241Bは、現在処理している予測ブロックの形状(例えば、ブロックの幅と高さとの組み合わせで定義)に基づいて、ステップS13、S14、S15のいずれに進むかについて判定する。
 かかる判定は、例えば、図12に示すテーブルを予め定めておくことで実現され得る。また、ブロック内の一部の領域の画素のみを用いて洗練化処理を行う場合は、具体的にどの領域を用いるかということも予めテーブルで定義しておくことができる。
 また、上述の第1実施形態におけるブロックサイズの閾値を用いた処理と、本変更例1におけるブロック形状ごとの処理を組み合わせることもできる。図13に、かかるその場合のフローチャートの一例について示す。
 図13に示すように、例えば、洗練化部111B/241Bは、ブロックサイズが閾値TH1以下のブロックに対しては、一律にブロックの全領域の画素を用いて洗練化処理を行い、ブロックサイズが閾値TH1より大きいブロックに対してのみ、ブロック形状によって処理を変えることもできる。
(変更例2)
 以下、図14~図15を参照して、本発明に係る変更例2について、上述の第1実施形態及び変更例1との相違点に着目して説明する。
 上述の第1実施形態では、図4に示すように、洗練化部111B/241Bは、閾値TH2より大きなブロックに対しては洗練化処理を行わないこととしていた。上述のように、閾値TH2を符号化及び復号の並列処理単位以下にすることで、洗練化処理の並列処理を担保できる。
 これに対して、本変形例2では、洗練化部111B/241Bは、並列処理単位より大きなブロックにおいても、ブロック内の一部の領域の画素のみを用いて洗練化処理を行うように構成されている。
 図14に、本変更例2における画像符号化装置100のインター予測部111の洗練化部111B(及び、画像復号装置200のインター予測部241の洗練化部241B)によって行われる洗練化処理の手順の一例を示すフローチャートを示す。
 図14に示すように、洗練化部111B/241Bは、閾値TH1より大きなブロックでは、第1実施形態と同様に、ステップS14において、一部の領域のみを用いて洗練化処理を行う。
 ここで、第1実施形態において、ステップS14において洗練化処理に使用する領域は、例えば、ブロックの中央の領域である。
 一方、本変更例2では、洗練化部111B/241Bは、ステップS17において、閾値TH2より大きなブロックについても一部の領域のみを用いて洗練化処理を行う。
 図15に、予測ブロックの最大サイズを128×128画素とし、並列処理単位を64×64としたときの、ステップS17における洗練化処理における動きベクトルの洗練化に使用する領域の一例について示す。
 図15におけるブロック内の点線は、並列処理単位の境界を示している。図15に示すように、洗練化処理に用いられる領域が並列処理単位の境界をまたがないように定義しておくことで、処理単位毎の並列処理を担保したまま、より大きなブロックで洗練化処理を実施することができる。動きベクトルの洗練化に使用する領域の形状は、図15に示すように正方形でも長方形でもよい。
 また、上述の画像符号化装置100及び画像復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
 なお、上記の各実施形態では、本発明を画像符号化装置100及び画像復号装置200への適用を例にして説明したが、本発明はこれのみに限定されるものではなく、符号化装置および復号装置の各機能を備えた符号化/復号システムにも同様に適用できる。
10…画像処理システム
100…画像符号化装置
111、241…インター予測部
111A…動きベクトル探索部
111B、241B…洗練化部
111C、241C…予測信号生成部
112、242…イントラ予測部
121…減算器
122、230…加算器
131…変換・量子化部
132、220…逆変換・逆量子化部
140…符号化部
150、250…インループフィルタ処理部
160、260…フレームバッファ
200…画像復号装置
210…復号部
241A…動きベクトル復号部

Claims (13)

  1.  符号化データを復号するように構成されている画像復号装置であって、
     前記符号化データから動きベクトルを取得するように構成されている動きベクトル復号部と、
     前記動きベクトルを用いるブロックの幅と高さの少なくともいずれかの情報を用いて、前記動きベクトルの洗練化に使用する領域を変更するように構成されている洗練化部とを備えることを特徴とする画像復号装置。
  2.  前記洗練化部は、前記ブロックが第1閾値より大きい場合、前記ブロック内の一部の領域の画素のみを用いて、前記動きベクトルの洗練化を行うように構成されていることを特徴とする請求項1に記載の画像復号装置。
  3.  前記洗練化部は、前記第1閾値より大きい前記ブロックにおいて、前記ブロック内部の前記第1閾値より小さな領域の画素のみを用いて、前記動きベクトルの洗練化を行うように構成されていることを特徴とする請求項2に記載の画像復号装置。
  4.  前記洗練化部は、前記第1閾値より大きい前記ブロックにおいて、前記ブロック中央の領域の画素のみを用いて、前記動きベクトルの洗練化を行うように構成されていることを特徴とする請求項2又は3に記載の画像復号装置。
  5.  前記画像復号装置は、予め定めた処理単位ごとに並列処理を行い、
     前記洗練化部は、前記並列処理単位の境界と重ならない領域の画素のみを用いて、前記動きベクトルの洗練化を行うように構成されていることを特徴とする請求項2~4のいずれか一項に記載の画像復号装置。
  6.  前記洗練化部は、前記ブロックが第2閾値より大きい場合、前記ブロック内で前記動きベクトルの洗練化を行わないように構成されていることを特徴とする請求項2~5のいずれか一項に記載の画像復号装置。
  7.  前記画像復号装置は、予め定めた処理単位ごとに並列処理を行い、
     前記第2閾値は、前記処理単位より小さいように構成されていることを特徴とする請求項6に記載の画像復号装置。
  8. 前記洗練化部は、前記ブロックの形状に応じて、前記ブロック内の全ての領域の画素を用いて前記動きベクトルを洗練化するか、前記ブロック内の一部の領域の画素を用いて前記動きベクトルを洗練化するか、前記動きベクトルを洗練化しないかのいずれかの処理を実行するように構成されていることを特徴とする請求項1に記載の画像復号装置。
  9.  前記洗練化部は、前記ブロックの大きさが第1閾値以下である場合、前記ブロック内の全ての領域の画素を用いて、前記動きベクトル洗練化を行うように構成されていることを特徴とする請求項8に記載の画像復号装置。
  10.  前記ブロックは、予測ブロック又は符号化ブロックのいずれかであることを特徴とする請求項1~9のいずれか一項に記載の画像復号装置。
  11.  入力画像信号を符号化することによって符号化データを生成するように構成されている画像符号化装置であって、
     対象フレームと参照フレームとの比較によって動きベクトルを探索する動きベクトル探索部と、
    前記動きベクトルを用いるブロックの幅と高さの少なくともいずれかの情報を用いて、前記動きベクトルの洗練化に使用する領域を変更するように構成されている洗練化部とを備えることを特徴とする画像符号化装置。
  12.  コンピュータを、符号化データを復号するように構成されている画像復号装置として機能させるプログラムであって、
     前記画像復号装置は、
     前記符号化データから動きベクトルを取得するように構成されている動きベクトル復号部と、
     前記動きベクトルを用いるブロックの幅と高さの少なくともいずれかの情報を用いて、前記動きベクトルの洗練化に使用する領域を変更するように構成されている洗練化部とを備えることを特徴とするプログラム。
  13.  請求項1~10のいずれか一項に記載の画像復号装置と、
     請求項11に記載の画像符号化装置とを備える画像処理システム。
PCT/JP2019/041872 2018-12-27 2019-10-25 画像復号装置、画像符号化装置、プログラム及び画像処理システム WO2020137125A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201980055504.4A CN112602325A (zh) 2018-12-27 2019-10-25 图像解码装置、图像编码装置、程序和图像处理系统
US17/187,954 US20210185344A1 (en) 2018-12-27 2021-03-01 Image decoding device, image encoding device, program, and image processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-245895 2018-12-27
JP2018245895A JP7005480B2 (ja) 2018-12-27 2018-12-27 画像復号装置、画像符号化装置、プログラム及び画像処理システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/187,954 Continuation US20210185344A1 (en) 2018-12-27 2021-03-01 Image decoding device, image encoding device, program, and image processing system

Publications (1)

Publication Number Publication Date
WO2020137125A1 true WO2020137125A1 (ja) 2020-07-02

Family

ID=71129369

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/041872 WO2020137125A1 (ja) 2018-12-27 2019-10-25 画像復号装置、画像符号化装置、プログラム及び画像処理システム

Country Status (4)

Country Link
US (1) US20210185344A1 (ja)
JP (1) JP7005480B2 (ja)
CN (1) CN112602325A (ja)
WO (1) WO2020137125A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190132606A1 (en) * 2017-11-02 2019-05-02 Mediatek Inc. Method and apparatus for video coding

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001245297A (ja) * 2000-02-29 2001-09-07 Toshiba Corp 動画像画像符号化装置および動画像復号化装置および動画像符号化方法および動画像復号化方法
CN101218826A (zh) * 2005-07-08 2008-07-09 Lg电子株式会社 用于建模视频信号的编码信息来压缩/解压该信息的方法
EP1835749A1 (en) * 2006-03-16 2007-09-19 THOMSON Licensing Method for coding video data of a sequence of pictures
JP5141633B2 (ja) * 2009-04-24 2013-02-13 ソニー株式会社 画像処理方法及びそれを用いた画像情報符号化装置
EP2343898A1 (en) * 2010-01-08 2011-07-13 Research In Motion Limited Method and device for motion vector estimation in video transcoding using union of search areas
JP5711370B2 (ja) * 2011-06-30 2015-04-30 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法および画像復号方法
JPWO2015056712A1 (ja) * 2013-10-17 2017-03-09 日本電信電話株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、及び動画像復号プログラム
CN114615493A (zh) * 2016-03-24 2022-06-10 英迪股份有限公司 视频解码方法、视频编码方法和可读记录介质
CN105939475A (zh) * 2016-06-06 2016-09-14 中国矿业大学 一种高质量边信息生成方法
WO2018066958A1 (ko) * 2016-10-04 2018-04-12 주식회사 케이티 비디오 신호 처리 방법 및 장치
US11310526B2 (en) * 2018-01-26 2022-04-19 Mediatek Inc. Hardware friendly constrained motion vector refinement
KR102643116B1 (ko) * 2018-03-30 2024-03-04 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US11146810B2 (en) * 2018-11-27 2021-10-12 Qualcomm Incorporated Decoder-side motion vector refinement

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190132606A1 (en) * 2017-11-02 2019-05-02 Mediatek Inc. Method and apparatus for video coding

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHUN-CHIA CHEN ET AL.: "CE9-related: Simplified DMVR with reduced internal memory", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JVET-L0098-VL, 12TH MEETING, September 2018 (2018-09-01), Macao, CN, pages 1 - 4, XP030190804 *
HONGBIN LIU ET AL.: "C E9: Simplification of Decoder Side Motion Vector Derivation (Test 9. 2. 9)", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JVET-L0267-VL, 12TH MEETING, September 2018 (2018-09-01), Macao, CN, pages 1 - 4, XP030191005 *
KYOHEI UNNO ET AL.: "CE9-related : DMVR with Coarse-to-Fine Search and Block Size Limit", JOINT VIDEO EXPERTS TEAM (JVET)OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JVET-L382, 12TH MEETING, September 2018 (2018-09-01), Macao, CN, pages 1 - 4, XP030191111 *
KYOHEI UNNO ET AL.: "CE9-related: Relaxation of block size restriction for DMVR", JOINT VIDEO EXPERTS TEAM (JVET)OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JVET-M0077, 13TH MEETING, January 2019 (2019-01-01), Marrakech, MA, pages 1 - 4, XP030197774 *

Also Published As

Publication number Publication date
US20210185344A1 (en) 2021-06-17
CN112602325A (zh) 2021-04-02
JP2020108033A (ja) 2020-07-09
JP7005480B2 (ja) 2022-01-21

Similar Documents

Publication Publication Date Title
RU2696311C1 (ru) Устройство и способ для компенсации движения видео с выбираемым интерполяционным фильтром
WO2020184348A1 (ja) 画像復号装置、画像復号方法及びプログラム
JP2024029090A (ja) 画像復号装置、画像符号化装置、画像処理システム及びプログラム
JP7076660B2 (ja) 画像復号装置、画像復号方法及びプログラム
JP7026286B1 (ja) 画像復号装置、画像符号化装置、画像処理システム及びプログラム
JP7026276B2 (ja) 画像復号装置、画像復号方法及びプログラム
JP6914462B2 (ja) 画像復号装置、画像復号方法及びプログラム
WO2020137125A1 (ja) 画像復号装置、画像符号化装置、プログラム及び画像処理システム
US20210185314A1 (en) Image decoding device, image coding device, image processing system, and program
JP6912522B2 (ja) 画像復号装置、画像復号方法及びプログラム
JP6976916B2 (ja) 画像復号装置、画像符号化装置、画像処理システム及びプログラム
JP7034363B2 (ja) 画像復号装置、画像復号方法及びプログラム
JP7083971B1 (ja) 画像復号装置、画像復号方法及びプログラム
JP7061737B1 (ja) 画像復号装置、画像復号方法及びプログラム
WO2020184262A1 (ja) 画像復号装置、画像復号方法及びプログラム
JP6835337B2 (ja) 画像復号装置、画像復号方法及びプログラム
WO2019187396A1 (ja) 画像復号装置、画像符号化装置、画像処理システム、画像復号方法及びプログラム
JP2022103308A (ja) 画像復号装置、画像復号方法及びプログラム

Legal Events

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

Ref document number: 19906237

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19906237

Country of ref document: EP

Kind code of ref document: A1