WO2021131548A1 - 画像復号装置、画像復号方法及びプログラム - Google Patents
画像復号装置、画像復号方法及びプログラム Download PDFInfo
- Publication number
- WO2021131548A1 WO2021131548A1 PCT/JP2020/044804 JP2020044804W WO2021131548A1 WO 2021131548 A1 WO2021131548 A1 WO 2021131548A1 JP 2020044804 W JP2020044804 W JP 2020044804W WO 2021131548 A1 WO2021131548 A1 WO 2021131548A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- merge
- geometric
- block
- block division
- motion information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- the present invention relates to an image decoding device, an image decoding method, and a program.
- Non-Patent Document 1 and Non-Patent Document 2 disclose a block division technique (rectangular division technique) using a rectangle called QTBTTT (Quad-Tree-Binary-Tree-Ternary-Tree).
- the appropriate block division for the object boundary may not be selected only by the block division by the rectangle in the above-mentioned conventional technique. It was. Therefore, the present invention has been made in view of the above-mentioned problems, and by applying the geometric block division merge to the target block divided into rectangles, the object boundary appearing in an arbitrary direction can be dealt with. Since the appropriate block division shape is selected, the coding performance is improved by reducing the prediction error as a result, and the subjective image quality is improved by selecting the appropriate block division boundary for the object boundary. It is an object of the present invention to provide an image decoding device, an image decoding method and a program capable of realizing the effect.
- the first feature of the present invention is an image decoding device, which includes a merging unit configured to apply a geometric block division merging to a rectangularly divided target block, and the merging unit is a merging unit.
- the merge mode specifying part configured to specify whether or not the geometric block division merge is applied and the geometric block division pattern are specified, and the rectangular division is performed using the specified geometric block division pattern.
- a geometric block division unit that is configured to further divide the target block into geometric blocks, and a merge that is configured to construct a merge list for the target block divided into the geometric blocks and decode motion information.
- the gist is to have a list construction unit.
- the second feature of the present invention is an image decoding method including a step of applying a geometric block division merge to a rectangularly divided target block, and the step is whether or not the geometric block division merge is applied. And the process of specifying the geometric block division pattern and further dividing the rectangularly divided target block into geometric blocks using the specified geometric block division pattern, and the geometric block division.
- the gist is to have a process of constructing a merge list for the target block and decoding motion information.
- a third feature of the present invention is a program that causes a computer to function as an image decoding device, and the image decoding device is configured to apply a geometric block division merge to a rectangularly divided target block.
- the merge unit includes a merge mode specific unit configured to specify whether or not the geometric block division merge is applied, and the geometric block division pattern specified and specified.
- a geometric block division portion configured to further divide the rectangularly divided target block into geometric blocks and a merge list for the geometric block divided target blocks are constructed.
- the gist is to have a merge list construction unit that is configured to decode motion information.
- an appropriate block division shape can be selected for the object boundary appearing in an arbitrary direction. Therefore, as a result, it is possible to realize the effect of improving the coding performance by reducing the prediction error and the effect of improving the subjective image quality by selecting an appropriate block division boundary for the object boundary. Decoding methods and programs can be provided.
- FIG. 1 is a diagram showing an image processing system 10 according to the present embodiment.
- the image processing system 10 includes an image coding device 100 and an image decoding device 200.
- the image coding device 100 is configured to generate coded data by coding the input image signal.
- the image decoding device 200 is configured to generate an output image signal by decoding the coded data.
- the coded data may be transmitted from the image coding device 100 to the image decoding device 200 via a transmission line.
- the coded data may be stored in the storage medium and then provided from the image coding device 100 to the image decoding device 200.
- Image Coding Device 100 Image Coding Device 100
- FIG. 2 is a diagram showing an example of a functional block of the image coding apparatus 100 according to the present embodiment.
- the image coding device 100 includes an inter-prediction unit 111, an intra-prediction unit 112, a subtractor 121, an adder 122, a conversion / quantization unit 131, and an inverse conversion / dequantization. It has a unit 132, an encoding unit 140, an in-loop filter processing unit 150, and a frame buffer 160.
- the inter-prediction unit 111 is configured to generate a prediction signal by inter-prediction (inter-frame 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 referred to as the target frame) with the reference frame stored in the frame buffer 160. It is configured to determine the motion vector (mv) for the reference block.
- the inter-prediction unit 111 is configured to generate a prediction signal included in a block to be encoded (hereinafter, a target block) based on a reference block and a motion vector for each target block.
- the inter-prediction unit 111 is configured to output a 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 (in-frame prediction).
- the intra prediction unit 112 is configured to specify a reference block included in the target frame and generate a prediction signal for each target block based on the specified reference block. Further, the intra prediction unit 112 is configured to output a prediction signal to the subtractor 121 and the adder 122.
- the reference block is a block that is referenced for the 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 conversion / quantization unit 131.
- the subtractor 121 is configured to generate a prediction residual signal, which is the difference between the prediction signal generated by the intra prediction or the inter prediction and the input image signal.
- the adder 122 adds a prediction signal to the prediction residual signal output from the inverse conversion / inverse quantization unit 132 to generate a pre-filter processing decoding signal, and the pre-filter processing decoding signal is combined with the intra prediction unit 112 and the input. It is configured to output to the loop filter processing unit 150.
- the pre-filtered decoding signal constitutes a reference block used by the intra prediction unit 112.
- the conversion / quantization unit 131 is configured to perform conversion processing of the predicted residual signal and acquire a coefficient level value. Further, the conversion / quantization unit 131 may be configured to quantize the coefficient level value.
- the conversion process is a process of converting the predicted residual signal into a frequency component signal.
- a base pattern (transformation matrix) corresponding to the discrete cosine transform (DCT: Discrete Cosine Transform) may be used, or a base pattern (transformation matrix) corresponding to the discrete sine transform (DST: Discrete Sine Transform). May be used.
- the inverse transformation / inverse quantization unit 132 is configured to perform the inverse transformation processing of the coefficient level value output from the conversion / quantization unit 131.
- the inverse transformation / inverse quantization unit 132 may be configured to perform inverse quantization of the coefficient level value prior to the inverse transformation processing.
- the inverse transformation process and the inverse quantization are performed in the reverse procedure of the conversion process and the quantization performed by the conversion / quantization unit 131.
- the coding unit 140 is configured to encode the coefficient level value output from the conversion / quantization unit 131 and output the coded data.
- coding is entropy coding in which codes of different lengths are assigned based on the probability of occurrence of coefficient level values.
- the coding 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: Precision Unit) size, and a conversion block (TU: Transfer Unit) size.
- CU Coding Unit
- PU prediction block
- TU Transfer Unit
- control data may include header information such as a sequence parameter set (SPS), a picture parameter set (PPS), and a slice header as described later.
- SPS sequence parameter set
- PPS picture parameter set
- slice header as described later.
- the in-loop filter processing unit 150 is configured to perform filter processing on the pre-filter processing decoding signal output from the adder 122 and output the post-filter processing decoding signal to the frame buffer 160.
- the filtering process is a deblocking filtering process that reduces the distortion that occurs at the boundary portion of the block (encoded block, prediction block, or conversion block).
- the frame buffer 160 is configured to store reference frames used by the inter-prediction unit 111.
- the decoded signal after filtering constitutes a reference frame used by the inter-prediction unit 111.
- FIG. 3 is a diagram showing an example of a functional block of the inter-prediction unit 111 of the image coding apparatus 100 according to the present embodiment.
- the inter-prediction unit 111 includes an mv derivation unit 111A, an AMVR unit 111B, an mv refinement unit 111B, and a prediction signal generation unit 111D.
- the inter-prediction unit 111 is an example of a prediction unit configured to generate a prediction signal included in a target block based on a motion vector.
- the mv derivation unit 111A has an AMVP (Adaptive Motion Vector Prediction) unit 111A1 and a merge unit 111A2, receives a target frame and a reference frame from the frame buffer 160 as inputs, and acquires a motion vector. It is configured to do.
- AMVP Adaptive Motion Vector Prediction
- the AMVP unit 111A1 is configured to identify a reference block included in the reference frame by comparing the target frame with the reference frame and search for a motion vector for the specified reference block.
- the above-mentioned search process is performed on a plurality of reference frame candidates, the reference frame and motion vector used for prediction in the target block are determined, and output to the prediction signal generation unit 111D in the subsequent stage.
- a maximum of two reference frames and motion vectors can be used for one block.
- the case where only one set of reference frame and motion vector is used for one block is called “single prediction”, and the case where two sets of reference frame and motion vector are used is called “double prediction”.
- the first set is referred to as "L0”
- the second set is referred to as "L1”.
- the AMVP unit 111A predicts a motion vector derived from an adjacent encoded motion vector in order to reduce the amount of coding when the above-determined motion vector is finally transmitted to the image decoding apparatus 200. From the candidates for the child (mvr: motion vector predictor), an mvp having a smaller difference from the motion vector of the target block, that is, a motion vector difference (mvd: motion vector difference) is selected.
- mvr motion vector predictor
- the index indicating the mvp and mvd selected in this way and the index indicating the reference frame (hereinafter referred to as Refidx) are encoded by the coding unit 140 and transmitted to the image decoding device 200.
- Such a process is generally called adaptive motion vector prediction coding (AMVP: Adaptive: Motion Vector Prediction).
- the merging unit 111A2 searches for and derives the motion information of the target block, does not transmit mvd as a difference from the adjacent block, and inputs the target frame and the reference frame to the target.
- An adjacent block in the same frame as the block or a block at the same position in a frame different from the target frame is used as a reference block, and the motion information of the reference block is inherited and used as it is.
- Such processing is generally referred to as merge coding (hereinafter referred to as “merge”).
- the merge list is a list in which a plurality of combinations of reference frames and motion vectors are listed.
- An index (hereinafter, merge index) is assigned to each combination, and the image coding apparatus 100 instead of individually encoding the combination information of Refidx and the motion vector (hereinafter, motion information), the above-mentioned merge. Only the index is encoded and transmitted to the image decoding apparatus 200 side.
- the image decoding device 200 side can decode the motion information only from the merge index information.
- the method of constructing the merge list and the method of dividing the geometric block of the inter-prediction block according to the present embodiment will be described later.
- the mv refinement unit 111B is configured to perform a refinement process for correcting the motion vector output from the merge unit 111A2.
- DMVR Decoder side Motion Vector Refine
- Non-Patent Document 1 DMVR (Decoder side Motion Vector Refine) described in Non-Patent Document 1 is known as a refinement process for modifying a motion vector.
- the refinement process the known method described in Non-Patent Document 1 can be used, and thus the description thereof will be omitted.
- the prediction signal generation unit 111C is configured to output an MC prediction image signal by inputting a reference frame and a motion vector. Since it is possible to use the known method described in Non-Patent Document 1 as the processing in the prediction signal generation unit 111C, the description thereof will be omitted.
- FIG. 4 is a diagram showing an example of a functional block of the image decoding apparatus 200 according to the present embodiment.
- the image decoding device 200 includes a decoding unit 210, an inverse transformation / inverse quantization unit 220, an adder 230, an inter-prediction unit 241 and an intra-prediction unit 242, and an in-loop filter processing unit. It has 250 and a frame buffer 260.
- the decoding unit 210 is configured to decode the coded data generated by the image coding device 100 and decode the coefficient level value.
- the decoding is, for example, the entropy decoding in the reverse procedure of the entropy coding performed by the coding unit 140.
- the decoding unit 210 may be configured to acquire the control data by the decoding process of the coded data.
- control data may include size data such as a coded block size, a predicted block size, and a conversion block size.
- the inverse transformation / inverse quantization unit 220 is configured to perform the inverse transformation processing of the coefficient level value output from the decoding unit 210.
- the inverse transformation / inverse quantization unit 220 may be configured to perform inverse quantization of the coefficient level value prior to the inverse transformation processing.
- the inverse transformation process and the inverse quantization are performed in the reverse procedure of the conversion process and the quantization performed by the conversion / quantization unit 131.
- the adder 230 adds a prediction signal to the prediction residual signal output from the inverse conversion / inverse quantization unit 220 to generate a pre-filter processing decoding signal, and uses the pre-filter processing decoding signal as an intra prediction unit 242 and an in-loop. It is configured to output to the filter processing unit 250.
- the pre-filtered decoding 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 (inter-frame prediction).
- the inter-prediction unit 241 is configured to generate a prediction signal for each prediction block based on the motion vector decoded from the coded data and the reference signal included in the reference frame.
- the inter-prediction unit 241 is configured to output a prediction signal to the adder 230.
- the intra prediction unit 242 is configured to generate a prediction signal by intra prediction (in-frame prediction).
- the intra prediction unit 242 is configured to specify a reference block included in the target frame and generate a prediction signal for each prediction block based on the specified reference block.
- the intra prediction unit 242 is configured to output a prediction signal to the adder 230.
- the in-loop filter processing unit 250 performs filter processing on the pre-filter processing decoding signal output from the adder 230, and outputs the post-filter processing decoding signal to the frame buffer 260. It is configured to do.
- the filtering process is a deblocking filtering process that reduces the distortion that occurs at the boundary portion of a block (encoded block, prediction block, conversion block, or sub-block that divides them).
- 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 by the inter-prediction unit 241.
- FIG. 5 is a diagram showing an example of a functional block of the inter-prediction unit 241 according to the present embodiment.
- the inter-prediction unit 241 has an mv decoding unit 241A, an mv 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 mv decoding unit 241A has an AMVP unit 241A1 and a merge unit 241A2, and obtains a motion vector by decoding a target frame and a reference frame input from the frame buffer 260 and control data received from the image coding device 100. It is configured to get.
- the AMVP unit 241A1 is configured to receive the target frame and the reference frame, the index indicating mvp and mvd, Refidx, from the image coding device 100, and decode the motion vector.
- the motion vector decoding method a known method can be adopted, and the details thereof will be omitted.
- the merging unit 241A2 is configured to receive the merging index from the image coding device 100 and decode the motion vector.
- the merge unit 241A2 is configured to construct a merge list in the same manner as the image coding apparatus 100 and acquire the motion vector corresponding to the received merge index from the constructed merge list. .. The details of how to construct the merge list will be described later.
- the mv refinement unit 241B is configured to execute a refinement process for modifying the motion vector, similarly to the mv refinement unit 111B.
- the prediction signal generation unit 241C is configured to generate a prediction signal based on a motion vector, similarly to the prediction signal generation unit 111C.
- Non-Patent Document 1 the known technique described in Non-Patent Document 1 can be used in the present embodiment, and thus the description thereof will be omitted.
- FIGS. 6 and 7 are diagrams showing an example of functional blocks of the merge unit 111A2 of the inter-prediction unit 111 of the image coding device 100 and the merge unit 241A2 of the inter-prediction unit 241 of the image decoding device 200 according to the present embodiment. ..
- the merge unit 111A2 includes a merge mode specific unit 111A21, a geometric block division unit 111A22, and a merge list construction unit 111A23.
- the merge unit 241A2 includes a merge mode specific unit 241A21, a geometric block division unit 241A22, and a merge list construction unit 241A23.
- merge unit 111A2 The difference between the merge unit 111A2 and the merge unit 241A2 is that the merge mode specific unit 111A21 and the merge mode specific unit 241A21, the geometric block division unit 111A22 and the geometric block division unit 241A22, the merge list construction unit 111A23 and the merge list construction unit 241A23 The point is that the input and output of various indexes, which will be described later, are reversed.
- the merge mode specifying unit 241A21 is configured to specify whether or not the geometric block merge mode is applied to the target block divided into rectangles.
- the merge mode includes, for example, normal merge, subblock merge, MMVD (Merge mode with MVD), CIIP (Combined inter and intraprescription), and IBC (IBC), which are adopted in Non-Patent Document 1. Intra Block Copy) and so on.
- MMVD Merge mode with MVD
- CIIP Combined inter and intraprescription
- IBC IBC
- the geometric block division unit 241A22 is configured to specify the geometric block division pattern of the rectangularly divided target block and divide the target block into geometric blocks using the specified division pattern. The details of the method for specifying the geometric block division pattern will be described later.
- the merge list construction unit 241A23 is configured to construct a merge list for the target block and decode the motion information.
- the merge list construction process consists of three stages: motion information availability confirmation process, motion information registration / pruning process, and motion information decoding process, the details of each of which will be described later.
- FIGS. 8 to 10 are flowcharts showing an example of a method of specifying whether or not the geometric block division merge is applied in the merge mode specifying unit 241A21.
- the merge mode specific unit 241A21 applies the geometric block partition merge when the normal merge is not applied and the CIIP is not applied (the merge mode of the target block is divided into geometric blocks). It is configured to identify as a merge).
- step S7-1 the merge mode specifying unit 241A21 specifies whether or not the normal merge is applied, and if it is specified that the normal merge is applied, the process proceeds to step S7-5. , If it is specified that the normal merge is not applied, the process proceeds to step S7-2.
- step S7-2 the merge mode specifying unit 241A21 specifies whether or not CIIP is applied, proceeds to step S7-3 when specifying that CIIP is applied, and in step S7- when specifying that CIIP is not applied. Proceed to 4.
- the merge mode specifying unit 241A21 may skip step S7-2 and proceed directly to step S7-4. This usually means identifying the merge mode of the target block as a geometric block partition merge when merging is not applicable.
- step S7-3 the merge mode specifying unit 241A21 specifies that CIIP is applied to the target block (the merge mode of the target block is CIIP), and ends this process.
- the image coding device 100 and the image decoding device 200 have a specific result of whether or not the geometric block division merge is applied to the target block as internal parameters.
- step S7-4 the merge mode specifying unit 241A21 specifies that the geometric block division merge is applied to the target block (the merge mode of the target block is the geometric block division merge), and ends this process.
- step S7-5 the merge mode specifying unit 241A21 specifies that a normal merge is applied to the target block (the merge mode of the target block is a normal merge), and ends this process.
- step S7-2 is replaced by a merge other than CIIP in the future
- the merge mode specifying unit 241A21 responds to the determination result of the applicability of the replaced merge. Therefore, it may be specified whether or not the geometric block division merge is applied.
- the merge mode specifying unit 241A21 will be used for the added merge.
- whether or not the geometric block division merge is applied may be specified.
- step S7-1 the conditions for determining whether or not the normal merge of step S7-1 is applied will be described.
- step S7-1-1 the merge mode specifying unit 241A21 normally determines whether or not the merge flag needs to be decrypted.
- step S7-1-1-1 determines whether the merge mode specifying unit 241A21 satisfies the determination condition of step S7-1-1, that is, when it is determined that the normal merge decoding is necessary.
- the merge mode specifying unit 241A21 proceeds to step S7-1-2 and satisfies step S7-1-1. If it is determined that there is no such thing, that is, decoding of the normal merge is unnecessary, the process proceeds to step S7-1-3.
- the merge mode specifying unit 241A21 determines that the merge flag does not need to be decrypted, it indicates whether or not the target block is inter-predicted by merging, as in the method described in Non-Patent Document 1. And the value of the normal merge flag can be estimated based on the subblock merge flag indicating whether or not the subblock merge is applied.
- Non-Patent Document 1 As for such an estimation method, the same method as that described in Non-Patent Document 1 can be used in the present embodiment, and thus the description thereof will be omitted.
- the decoding necessity determination condition of the normal merge flag in step S7-1-1 is composed of a CIIP applicability determination condition and a geometric block merge applicability determination condition. Specifically, it is as follows. --CIIP applicability judgment conditions: (1) The area of the target block is 64 pixels or more.
- the height of the target block is less than 128 pixels.
- --Applicability of geometric block merge Judgment condition (1) The area of the target block is 64 pixels or more.
- the maximum number of merge indexes that can be registered in the merge list for geometric block division merge (hereinafter, the maximum number of geometric block division merge candidates) is greater than 1.
- the width of the target block is 8 pixels or more.
- the height of the target block is 8 pixels or more.
- the slice type including the target block is a B slice (bi-predicted slice).
- the merge mode specifying unit 241A21 determines that CIIP is applicable when all of the above conditional expressions (1) to (5) are satisfied in the CIIP applicability determination condition, and in other cases, CIIP. Is not applicable.
- the merge mode specifying unit 241A21 applies the geometric block division merge when all of the above conditional expressions (1) and (6) to (10) are satisfied in the applicability determination condition of the geometric block merge. It is determined that it is possible, otherwise it is determined that the geometric block split merge is not applicable.
- conditional expressions (1) and (6) to (10) Details of the conditional expressions (1) and (6) to (10) will be described later.
- the merge mode specifying unit 241A21 is one of the above-mentioned CIIP applicability determination condition or geometric block division merge applicability determination condition among the decoding necessity determination conditions of the normal merge flag in step S7-1-1. If one is satisfied, the process proceeds to step S7-1-2, and if neither is satisfied, the process proceeds to step S7-1-3.
- the CIIP applicability determination condition may be excluded from the decoding necessity determination condition of the normal merge flag in step S7-1-1. This means that only the applicability judgment condition of the geometric block division merge is added in the decoding necessity judgment condition of the normal merge flag.
- step S7-1-2 the merge mode specifying unit 241A21 usually decodes the merge flag and proceeds to step S7-1-3.
- step S7-1-3 the merge mode specifying unit 241A21 determines whether or not the value of the normal merge flag is 1, and if it is 1, the process proceeds to step S7-5, and if it is not 1, the process proceeds to step S7. Go to -2.
- step S7-2-1 the merge mode specifying unit 241A21 determines whether or not the CIIP flag needs to be decrypted.
- step S7-2-1 determines that the CIIP flag needs to be decrypted
- the merge mode specifying unit 241A21 proceeds to step S7-2-2 and does not satisfy step S7-2-1. That is, when it is determined that the decoding of the CIIP flag is unnecessary, the process proceeds to step S7-2-3.
- the merge mode specifying unit 241A21 determines that the CIIP flag does not need to be decrypted
- the merge mode specifying unit 241A21 estimates the value of the CIIP flag as follows.
- the merge mode specifying unit 241A21 treats CIIP as valid if all of the following conditions are met, that is, the value of the CIIP flag is 1, otherwise CIIP is invalid, that is, The value of the CIIP flag is treated as 0.
- the area of the target block is 64 pixels or more.
- the width of the target block is less than 128 pixels.
- the height of the target block is less than 128 pixels.
- the condition for determining whether or not the CIIP flag of the CIIP flag in step S7-2-1 needs to be decrypted is composed of the above-mentioned CIIP applicability determination condition and the geometric block division merge enableability determination condition.
- the merge mode specifying unit 241A21 proceeds to step S7-2-2 when both the CIIP applicability condition and the geometric block division merge enableability determination condition are satisfied, and when neither of them is satisfied, step S7. -Proceed to 2-3.
- step S7-2-1 since it has already been determined that the conditional expression (1) is satisfied by the decoding necessity determination condition of the normal merge flag before entering the CIIP flag decoding necessity determination condition, it is excluded from step S7-2-1. May be good.
- step S7-2-2 the merge mode specifying unit 241A21 decodes the CIIP flag and proceeds to step S7-1-3.
- step S7-2-3 the merge mode specifying unit 241A21 determines whether or not the value of the CIIP flag is 1, and if it is 1, the process proceeds to step S7-3, and if it is not 1, step S7- Proceed to 4.
- the lower limit of the width of the target block is set to 8 pixels or more.
- the lower limit of the height of the target block is set to 8 pixels or more.
- Geometric block division merge requires two different motion information as described above, and the two different motion information is linked to two different merge indexes registered in the merge list in the merge list construction unit. Identify (decode) from the motion information. Therefore, if the maximum number of candidates for geometric block partitioning merge is designed or specified to be 1 or less, it can be specified that geometric block partitioning merge is not applicable to the target block, so geometric block partitioning merge maximum. It is assumed that the parameter for calculating the number of candidates is held inside the geometric block partitioning section.
- the maximum number of candidates for this geometric block split merge may be the same as the maximum number of merge indexes that can be registered in the merge list for normal merge (hereinafter referred to as the maximum number of merge candidates), or in order to use a different value.
- a flag that defines how many candidates should be reduced from the maximum number of merge candidates may be transmitted from the image coding device 100 to the image decoding device 200, and the flag may be decoded to decode the flag.
- the block size (upper limit) or block aspect ratio of the target block is further restricted. Judgment by may be added.
- the reason why the upper limit of the height and the width is set to 64 pixels or less is that the pipeline processing unit of the image decoding apparatus 200 called the virtual pipeline data unit (VPDU: Virtual Pipeline Data Units) adopted in Non-Patent Document 1 is used. This is to avoid a constraint violation to maintain.
- VPDU Virtual Pipeline Data Units
- Non-Patent Document 1 since the size of the VPDU is set to 64 ⁇ 64 pixels, the upper limit of the applicable range of the geometric block division merge is set to 64 pixels.
- the upper limit may be set to a smaller upper limit, for example, 32 pixels or less, at the intention of the designer.
- the MC prediction image signal generated based on two different motion vectors having across the geometric block division boundary is transferred from the geometric block division boundary. Generated using a blending mask table weighted by distance.
- the size of the blending mask table can be reduced, and the blending that needs to be held in the memory of the image encoding device 100 and the image decoding device 200. It is desirable for implementation that the size of the mask table can be reduced to reduce the recording capacity of the memory.
- the aspect ratio of the target block specified to which the geometric block partitioning merge is applicable is, for example, an aspect ratio of 4 or less.
- Elongated rectangular blocks with an aspect ratio of 8 or more are unlikely to occur in natural images. Therefore, if the application of the geometric block division merge is prohibited for such a rectangular block, the number of variations of the division shape of the geometric block division described later (the position and direction of the geometric block division boundary in the rectangular block) can be determined. It is possible to reduce the number of variations of the specified parameters), and the image coding device 100 and the image decoding device 200 have the effect of reducing the recording capacity of the parameters for specifying the variations.
- FIG. 11 is a diagram showing an example of a method for defining a geometric block division pattern according to the present embodiment.
- the geometric block division pattern is, for example, as shown in FIG. 11, from the position of the geometric block division boundary line, that is, from the center point (hereinafter, center point) of the rectangularly divided target block to the geometric block division boundary line (hereinafter, the center point).
- center point the center point of the rectangularly divided target block to the geometric block division boundary line (hereinafter, the center point).
- it may be specified by two parameters of the distance ⁇ to the division boundary line) and the elevation angle ⁇ from the horizontal direction in the perpendicular line from the center point with respect to the division boundary line.
- the combination of the distance ⁇ and the elevation angle ⁇ may be transmitted from the image coding device 100 (merging unit 111A2) to the image decoding device 200 (merging unit 241A2) using the index.
- the more variations of the combination of the distance ⁇ and the angle ⁇ that define the geometric block division pattern the more the prediction error can be expected to be reduced, but on the other hand, the processing time required to specify the combination of the distance ⁇ and the elevation angle ⁇ . Since there is a trade-off between the increase in the code length and the increase in the code length of the index to indicate such a combination, the distance ⁇ and the elevation angle ⁇ quantized by the designer's intention may be used.
- the quantized distance ⁇ may be designed in predetermined pixel units, for example.
- the quantized elevation angle ⁇ may be designed, for example, at an angle obtained by equally dividing 360 degrees.
- FIG. 12 is a diagram showing an example of changing the elevation angle ⁇ that defines the above-mentioned geometric block division pattern.
- the elevation angle ⁇ may be defined by using the aspect ratio of the target block and the horizontal / vertical directions.
- the elevation angle ⁇ can be expressed using an inverse tangent function.
- a total of 24 different elevation angles ⁇ are defined.
- FIG. 13 is a diagram showing an example of changing the position (distance ⁇ ) that defines the above-mentioned geometric block division pattern.
- the distance ⁇ is defined as the perpendicular distance from the center point of the target block to the division boundary line, but in this modification example, the center point is included as shown in FIG. ,
- the distance ⁇ may be defined as a predetermined distance (predetermined position) in the horizontal direction or the vertical direction from the center point.
- the distance ⁇ is defined in two ways according to the block aspect ratio of the target block.
- the distance ⁇ may be specified only in the horizontal direction with respect to the horizontally long block.
- the distance ⁇ may be specified only in the vertical direction with respect to the vertically long block.
- the vertical and horizontal distances ⁇ are set, respectively. May be specified.
- the distance ⁇ may be specified in either the horizontal direction or the vertical direction, or both. Further, as shown in FIG. 13, the distance ⁇ may have variations with respect to a predetermined distance (predetermined position) obtained by dividing the width or height of the target block into eight equal parts.
- the width or height of the target block is 0/8 times, 1/8 times, 2/8 times, and 3 in the horizontal direction (horizontal direction) or vertical direction (vertical direction) from the center point.
- the distance ⁇ is defined as the distance (position) multiplied by / 8.
- the effect of increasing the number of variations of the geometric block division pattern by defining the distance ⁇ in the side direction is compared with the effect of increasing the variation of the geometric block division pattern by specifying the distance ⁇ in the long side direction. Because it is small.
- the division boundary line by the geometric block division can be designed as a perpendicular line with respect to the elevation angle ⁇ through the division boundary line and the point at the predetermined distance (predetermined position) ⁇ defined as described above.
- this modification 3 can be combined with the modification 2 described above, and the perpendicular line with respect to the distance ⁇ described above is the same for the angle of 180 degree pair at the elevation angle ⁇ , that is, the division boundary line is set. Be the same.
- the elevation angle ⁇ in the range of 0 degrees or more and less than 180 degrees and the elevation angle ⁇ in the range of 180 degrees or more and less than 360 degrees are left and right with the center point as axisymmetric as shown in FIG.
- the elevation angle ⁇ in the range of 0 degrees or more and less than 180 degrees and the elevation angle ⁇ in the range of 180 degrees or more and less than 360 degrees are left and right with the center point as axisymmetric as shown in FIG.
- the range of the elevation angle ⁇ and the horizontal direction (horizontal direction) and the vertical direction (combination with the vertical direction) of the distance ⁇ show the same variation of the geometric block division pattern even if they are reversed. You may change the implementation to.
- FIG. 14 is a diagram showing a modified example of the method of defining the elevation angle ⁇ and the distance ⁇ .
- the elevation angle ⁇ passes through a point at a predetermined distance (position) ⁇ .
- the line indicated by may be defined as the division boundary line itself and implemented.
- the variation of the distance ⁇ and the variation of the elevation angle ⁇ may be reduced as shown in FIGS. 14A to 14C.
- the variation of the distance ⁇ shown in the above-mentioned modification 3 is divided into two types, 0/8 times the width or height of the target block or 2/8 times the width or height of the target block. Limited.
- the possible values of the variation of the elevation angle ⁇ are limited according to the position where the division boundary line passes and the block aspect ratio of the target block.
- the variation of the geometric block division pattern is limited to a total of 16 ways.
- FIG. 15 is a diagram showing an example of an index table showing a combination of an elevation angle ⁇ and a distance (position) ⁇ that define the geometric block division pattern described above.
- the elevation angle ⁇ and the distance ⁇ that define the geometric block division pattern are associated with “angle_idx” and “distance_idx”, respectively, and their combinations are further defined by “partition_idx”.
- the elevation angle ⁇ and the distance ⁇ shown in the above-mentioned modification 2 and 3 are integers of 0 to 23 and 0 to 3 in "angle_idx" and “geometry_idx”, respectively, as shown in the table of FIG.
- angle_idx integers of 0 to 23 and 0 to 3 in "angle_idx” and “geometry_idx”, respectively, as shown in the table of FIG.
- the image coding device 100 and the image decoding device 200 each have an index table showing such a geometric block division pattern, and the image coding device 100 has the geometric block having the lowest coding cost when the geometric block division is enabled.
- the "partition_idx" corresponding to the division pattern is transmitted to the image decoding device 200, and the geometric block division unit 241A22 of the image decoding device 200 decodes the "partition_idx".
- FIG. 16 is a diagram for explaining an example of controlling the decoding method of “partition_idx” according to the block size or block aspect ratio of the target block.
- a method of controlling the decoding method of "partition_idx" according to the block size or aspect ratio of the target block to further improve the coding efficiency can be considered as follows.
- the division boundary line between a relatively small block such as an 8 ⁇ 8 pixel block and a relatively large block such as a 32 ⁇ 32 pixel block Even if the number of variations of is the same, the roughness density of the division boundary line with respect to the area of the block may be different.
- the index table used to specify the elevation angle ⁇ and the distance ⁇ from “partition_idx” may be changed according to the block size or block aspect ratio of the target block.
- the index table with a small number of geometric block division patterns that is, the maximum value of "partition_idx"
- the geometric block division pattern is used.
- the correlation between the size of the block size and the number of geometric block division patterns may be reversed.
- the index table with a large number of geometric block partitioning patterns that is, the maximum value of "partition_idx"
- the geometric block partitioning is used.
- An index table with a small number of patterns, that is, a small maximum value of "partition_idx” may be used.
- the roughness density of the division boundary line can be made uniform even if the block size of the target block is different.
- the probability that the division boundary line by geometric block division can be aligned with respect to the object boundary generated in the target block can be made uniform for each block size.
- the number of geometric block division patterns may be increased in the horizontal direction, and conversely, the number of geometric block division patterns may be decreased in the vertical direction.
- the number of geometric block division patterns may be increased in the horizontal direction, and conversely, the number of geometric block division patterns may be decreased in the vertical direction.
- the correlation between the magnitude of the block aspect ratio and the number of geometric block division patterns may be reversed as shown in the above description of the magnitude of the block size and the number of geometric block division patterns.
- the number of geometric block division patterns may be reduced in the horizontal direction, and conversely, the number of geometric block division patterns may be increased in the vertical direction.
- the number of geometric block division patterns may be reduced in the horizontal direction, and conversely, the number of geometric block division patterns may be increased in the vertical direction.
- the method of controlling the number of geometric block division patterns according to this block aspect ratio can be realized by changing the index table to be used, as in the above case.
- index table itself is fixed, it is conceivable to limit the range of the value of "partition_idx" that can be decoded on the index table according to the block size or aspect ratio of the target block.
- the movement information availability confirmation process is the first process step that constitutes the merge list construction process.
- the motion information availability confirmation process confirms whether or not there is motion information in the reference block spatially or temporally adjacent to the target block.
- the known method described in Non-Patent Document 1 can be used in the present embodiment, and thus the description thereof will be omitted.
- FIG. 17 is a flowchart showing an example of motion information registration / pruning processing in the merge list according to the present embodiment.
- the motion information registration / pruning process according to the present embodiment may be configured by a total of five motion information registration / pruning processes as in Non-Patent Document 1.
- the motion information registration / pruning process includes spatial merging in step S14-1, time merging in step S14-2, history merging in step S14-3, pairwise average merging in step S14-4, and step S14-. It may be composed of 5 zero merges. Details of each process will be described later.
- FIG. 18 is a diagram showing an example of a merge list constructed as a result of motion information registration / pruning processing in the merge list.
- the merge list is a list in which movement information corresponding to the merge index is registered.
- the maximum number of merge indexes is set to 5 in Non-Patent Document 1, but it may be freely set according to the intention of the designer.
- mvL0, mvL1, RefIdxL0, and RefIdxL1 in FIG. 18 indicate motion vectors and reference image indexes of the reference image lists L0 and L1, respectively.
- the reference image lists L0 and L1 indicate a list in which the reference frame is registered, and the reference frame is specified by RefIdx.
- motion vector and the reference image index of both L0 and L1 are shown in the merge list shown in FIG. 18, it may be a one-sided prediction depending on the reference block.
- one (one-sided prediction) motion vector and one reference image index are registered in the list. If it is confirmed by the above-mentioned motion information availability confirmation process that the motion information does not exist in the reference block in the first stage of each process from step S15-1 to step S15-4, each process is skipped. ..
- FIG. 19 is a diagram for explaining spatial merging.
- Spatial merging is a technology that inherits mv, RefIdx, and hpelIfIdx from adjacent blocks that exist in the same frame as the target block.
- the merge list construction unit 241A23 is configured to inherit the above-mentioned mv, Refidx, and hpelfIdx from the adjacent blocks having a positional relationship as shown in FIG. 15 and register them in the merge list.
- Order of processing may be the order of B 1 ⁇ A 1 ⁇ B 0 ⁇ A 0 ⁇ B 2 as shown in FIG. 19.
- the motion information registration process in the merge list may be performed in the above-mentioned processing order, but Non-Patent Document 1 so that the same motion information as the motion information already registered is not registered in the merge list. Similarly, the pruning process of motion information may be implemented.
- the purpose of implementing the motion information pruning process is to increase the variation of the motion information registered in the merge list, and from the viewpoint of the image coding apparatus 100, the motion information having the smallest predetermined cost according to the image characteristics is obtained. There is a point that can be selected.
- the image decoding device 200 can generate a prediction signal with high prediction accuracy by using the motion information selected by the image coding device 100, and as a result, an effect of improving the coding performance can be expected.
- the motion information pruning process for spatial merging for example, when the motion information corresponding to B 1 is registered in the merge list, the motion information corresponding to A 1 in the next processing order is registered in the registered B 1 at the time of the registration process.
- the identity with the corresponding motion information is confirmed.
- the confirmation of the identity of the motion information is a comparison of whether mv and RefIdx are the same.
- the motion information corresponding to A 1 is not registered in the merge list.
- the motion information corresponding to B 0 is compared with the motion information corresponding to B 1
- the motion information corresponding to A 0 is compared with the motion information corresponding to A 1
- the motion information corresponding to B 2 is B 1 It is configured to be compared with the motion information corresponding to a 1 and. If the motion information corresponding to the position to be compared does not exist, the confirmation of the identity may be skipped and the corresponding motion information may be registered.
- Non-Patent Document 1 and set the registered maximum possible number of merge indices by the spatial merge 4 and, with respect to the adjacent block B 2, the spatial merging process so far, already four motion information in the merge list If it is registered, the processing of the adjacent block B 2 is skipped.
- the processing of the adjacent block B 2 may be determined by the number of existing motion information registrations.
- FIG. 20 is a diagram for explaining time merging.
- the time merge exists in a frame different from the target block, but moves by identifying the adjacent block at the lower left at the same position (C 1 in FIG. 17) or the block at the same position (C 0 in FIG. 17) as the reference block. It is a technology that inherits vectors and reference image indexes.
- the maximum number of motion information registered in the merge list by the time merge list is 1 in Non-Patent Document 1, and the same value may be used in the present embodiment or changed by the intention of the designer. May be done.
- FIG. 21 is a diagram showing the scaling process.
- the reference block is based on the distance tb between the reference frame of the target block and the frame in which the target frame exists and the distance td between the reference frame of the reference block and the reference frame of the reference block.
- Mv is scaled as follows.
- FIG. 22 is a diagram for explaining the history merge.
- the motion information of the inter-prediction block encoded in the past than the target block is separately recorded in a recording area called the history merge table, and at the end of the above-mentioned spatial merge and time merge processes, When the number of motion information registered in the merge list has not reached the maximum number, the motion information registered in the history merge table is sequentially registered in the merge list.
- FIG. 22 is a diagram showing an example of processing in which movement information is registered in the merge list by the history merge table.
- the motion information registered in this history merge table is managed by the history merge index, and the maximum number of registrations is 6 in Non-Patent Document 1, but the same value may be used or the designer. It may be changed according to the intention of.
- Non-Patent Document 1 employs FIFO processing for the process of registering motion information in this history merge table.
- the motion information associated with the last registered history merge index is deleted, and the motion information associated with the new history merge index is released. It is configured to be registered sequentially.
- the motion information registered in the history merge table may be initialized (all motion information is deleted from the history merge table) when the target block straddles the CTU, as in Non-Patent Document 1.
- Pairwise average merging is a technique for generating new motion information and registering it in the merge list by using motion information associated with two sets of merge indexes already registered in the merge list.
- the 0th and 1st merge indexes registered in the merge list may be fixedly used or designed as in Non-Patent Document 1. You may change to another combination of two sets at your own will.
- the movement information associated with the two sets of merge indexes already registered in the merge list is averaged to generate new movement information.
- the motion vectors in the L0 and L1 directions mvL0P 0 / mvL0P 1 , mvL1P 0 / mvL1P.
- the motion vector mvL0Avg / mvL1Avg of the pairwise average merge is calculated as follows.
- mvL0Avg (mvL0P 0 + mvL0P 1 ) / 2
- mvL1Avg (mvL1P 0 + mvL1P 1 ) / 2
- the non-existing vector is calculated as a zero vector as described above.
- Non-Patent Document 1 stipulates that the reference image index associated with the pairwise average merge index is always used as the reference image index RefIdxL0P 0 / RefIdxL0P 1 associated with the merge index P 0. (Zero merge)
- the zero merge is a process of adding a zero vector to the merge list when the number of registered movement information of the merge list has not reached the maximum number of registrations at the end of the above-mentioned pairwise average merge process.
- the registration method the known method described in Non-Patent Document 1 can be used in the present embodiment, and thus the description thereof will be omitted.
- the merge list construction unit 241A23 is configured to decode motion information from the merge list constructed after the above-mentioned motion information registration / pruning process is completed.
- the merge list construction unit 241A23 has a configuration in which motion information corresponding to the merge index transmitted from the merge list construction unit 111A23 is selected from the merge list and decoded.
- the method of selecting the merge index in the merge list construction unit 111A23 is not shown, the movement information with the lowest coding cost is transmitted to the merge list construction unit 241A23.
- the merge index is registered in the merge list earlier, that is, the merge index having a smaller index number has a shorter code length (because the coding cost is smaller), so that the merge list construction unit 111A23 Merge indexes with smaller index numbers tend to be selected more easily.
- the merge list construction unit 241A23 when the geometric block division merge is invalid, one merge index is decoded for the target block, but when the geometric block merge is valid, the target block is decoded. Since there are two regions m / n straddling the geometric block partition boundary, two different merge indexes m / n are decoded.
- xCb and yCb are position information of the pixel value located at the upper left of the target block.
- merge_idx1 if the maximum number of merge candidates for geometric block partition merge is 2 or less, it is not necessary to decode it. This is because when the maximum number of merge candidates for geometric block split merge is 2 or less, the merge index in the merge list corresponding to merge_idx1 is different from the merge index in the merge list selected by merge_idx0. This is because it is specified by one merge index.
- Modification 6 Control of merge list construction when geometric block partition merge is enabled
- modification 6 of the present invention will be described with reference to FIGS. 23 and 24, focusing on the differences from the second embodiment described above. Specifically, with reference to FIGS. 23 and 24, the control of the merge list construction when the geometric block division merge is valid according to this modification example will be described.
- FIGS. 23 and 24 are diagrams showing an example of the geometric block division pattern in the target block when the geometric block division merge is enabled, and an example of the positional relationship between the spatial merge and the time merge with respect to the target block.
- the adjacent block having the closest movement information to the two regions m / n straddling the block division boundary line becomes B 2 for m.
- n it becomes B 1 / A 1 / A 0 / B 0 / C 1 .
- the adjacent block having the closest motion information to the two regions m / n straddling the division boundary is C 1 for m.
- n it becomes B 1 / A 0 / A 1 / B 0 / B 2 .
- the priority of registering motion information in spatially similar positions such as B 1 / B 0 and A 1 / A 0 in the merge list is lowered, and B 2 and C 1 etc. Adding motion information at different spatial positions to the merge list can be expected to further improve the prediction accuracy.
- the coding efficiency can be improved.
- the motion information whose registration priority to the merge list is to be changed is the motion information of B 0 and A 0
- the motion information exists at these positions in the motion information availability confirmation process. Even when it is confirmed, by treating the motion information as unusable, the probability of registering the motion information corresponding to B 2 and C 1 following B 0 and A 0 in the merge list can be increased.
- the processing order of the spatial merge in step S14-1 and the time merge in step S14-2 of the merge list shown in FIG. 17 is decomposed. Then, the order of registration of motion information may be changed directly.
- B 2 of spatial merging and motion information C 1 or C 0 (hereinafter referred to as Col) registered by time merging are B 0 and A during spatial merging. Perform before 0.
- availableFlag is an internal parameter that holds the judgment result of the above-mentioned movement information availability confirmation processing for each merge candidate of spatial merge and time merge. When the parameter is 0, there is no motion information, and when it is 1, it indicates that there is motion information.
- mergeCandList shows the registration process of motion information at each position.
- merge_geo_flag the geometric block split merge is applied. If it is judged not to be applied, it enters the merge list construction process similar to normal merge, and if it is judged to be applied, it moves from normal merge. Enter the merge list construction process of the geometric block division merge in which the information availability confirmation process and the motion information registration / pruning process are exchanged.
- the total number of processing stages increases for the implementation example 1, but since the merge list for geometric block partitioning merge is partially shared with the normal merge list, it is complete as in the implementation example 1. Has the advantage that it does not have to have the resources of an independent merge list construction processing circuit.
- the registration priority of B 2 and Col is higher than that of B 0 and A 0 , but the registration priority of B 2 and Col is higher than that of B 1 and A 1. You may.
- either B 2 or Col may have a higher priority than B 0 and A 0 , or may have a higher priority than B 1 and A 1. Good.
- the motion B 2 is to register for the merge list before B 1, A 1, B 0 , A 0, which corresponds to B 1, A 1, B 0 , A in B 2 shown in the above Confirmation of identity with information (comparison condition) may be abolished.
- the identity confirmation with the motion information corresponding to B 2 may be added.
- the registration priority may be changed by the method described below.
- the motion information in the merged list building completed for a given merge processing and a predetermined position, for example, a merge index number of motion information registered by the spatial merging B 0 and A0, merging the index number and order changes to the time merge Col
- the time merge Col can have a higher priority than the spatial merges B 0 and A 0 (a correspondence to a small merge index number can be realized).
- the merge list construction process when geometric block division merge is enabled is shared with the merge list construction process in normal merge. can do.
- the determination criterion may be determined based on the geometric block division pattern, or may be determined based on the block size and aspect ratio of the target block.
- the target block has two different motion information across the division boundary line. Further, for these two different motion information, the one having the lowest coding cost is selected from the above-mentioned merge list by the coding apparatus 100, and two merge indexes merge_geo_idx0 and merge_geo_idx1 for each division area m / n are used. As described above, the merge index number of the merge list is specified and transmitted to the image decoding device 200 to decode the corresponding motion information.
- the following is an example of the selection method.
- it is a method of setting the priority of the motion information to be decoded in advance in the numerical order of the merge index of the merge list.
- the processing order of the merge index numbers for example, even numbers 0, 2, and 4 give priority to decoding the motion information registered in L0 of the merge index, and are odd numbers 1, 3, and so on.
- the merge index of 5 gives priority to decoding the motion information registered in L1.
- the distances of the reference frames indicated by the reference indexes corresponding to L0 and L1 may be compared with respect to the target frame including the target block, and the motion information including the reference frames having a short distance may be preferentially decoded.
- the priority set in advance for the merge index number of the merge list that is, the even number, is used as described above.
- Some 0, 2, and 4 may give priority to the motion information registered in L0
- the odd numbers 1, 3, and 5 may give priority to the motion information registered in L1.
- the priority may be determined as described above.
- the merge index number of the merge list may be the opposite of the one selected by the previous index number.
- L0 when L0 is selected as the 0th merge index of the merge index, L1 which is the opposite list may be selected as the 1st merge index of the merge list. If the merge index is 0th in the merge list and the frame distance difference is the same, L0 may be referred to.
- the target block has two different motion information across the division boundary line.
- the motion compensation prediction signal generated based on the two different motion vectors is weighted and averaged (blended) with a weight depending on the distance from the division boundary line for the target block, so that the pixels with respect to the division boundary line are obtained.
- a value smoothing effect can be expected.
- the above-mentioned weights can be obtained, for example, if the geometric block division pattern can be specified by having the image coding device 100 and the image decoding device 200 have one weight table (blending table) for one geometric block division pattern. , Blending processing suitable for geometric block division pattern can be realized.
- the merge list construction unit 111A2 cannot use the above-mentioned motion information at the time of the motion information availability confirmation process, regardless of the existence of the motion information for the predetermined merge process, depending on whether the geometric block division merge is applied or not. It may be configured to be treated as.
- the merge list construction unit 111A2 sets the motion information for the predetermined merge process to the same as the motion information already registered in the merge list at the time of motion information registration / pruning process, depending on whether or not the geometric block division merge is applied. Regardless of this, it may be treated as a pruning target, that is, it may be configured not to be newly registered in the merge list.
- the above-mentioned image coding device 100 and image decoding device 200 may be realized by a program that causes a computer to execute each function (each process).
- the present invention has been described by taking application to the image coding device 100 and the image decoding device 200 as an example, but the present invention is not limited to this, and the image coding is not limited to this. The same applies to an image coding system and an image decoding system having the functions of the device 100 and the image decoding device 200.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本発明に係る画像復号装置200は、矩形分割された対象ブロックに対して、幾何学ブロック分割マージを適用するマージ部241A2を備え、マージ部241A2は、幾何学ブロック分割マージの適用有無を特定するマージモード特定部241A21と、幾何学ブロック分割パタンを特定し、特定した幾何学ブロック分割パタンを用いて、矩形分割された対象ブロックを更に幾何学ブロック分割する幾何学ブロック分割部241A22と、幾何学ブロック分割された対象ブロックに対するマージリストを構築して動き情報を復号するマージリスト構築部241A23とを具備する。
Description
本発明は、画像復号装置、画像復号方法及びプログラムに関する。
非特許文献1及び非特許文献2に、QTBTTT(Quad-Tree-Binary-Tree-Ternary-Tree)と呼ばれる矩形によるブロック分割技術(矩形分割技術)が開示されている。
Versatile Video Coding(Draft 7)、JVET-N1001
ITU-T H.265 High Efficiency Video Coding
しかしながら、上述の従来技術における矩形によるブロック分割のみでは、ブロック境界に対して任意の方向にオブジェクト境界が現れる場合、オブジェクト境界に対して適切なブロック分割を選択されない可能性があるという問題点があった。 そこで、本発明は、上述の課題に鑑みてなされたものであり、矩形分割された対象ブロックに対して、幾何学ブロック分割マージを適用することにより、任意の方向に現れるオブジェクト境界に対して、適切なブロック分割形状が選択されるようになるため、結果的に予測誤差が低減されることによる符号化性能向上効果及びオブジェクト境界に対して適切なブロック分割境界が選択されることによる主観画質向上効果を実現することができる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。
本発明の第1の特徴は、画像復号装置であって、矩形分割された対象ブロックに対して、幾何学ブロック分割マージを適用するように構成されているマージ部を備え、前記マージ部は、前記幾何学ブロック分割マージの適用有無を特定するように構成されているマージモード特定部と、幾何学ブロック分割パタンを特定し、特定した前記幾何学ブロック分割パタンを用いて、前記矩形分割された対象ブロックを更に幾何学ブロック分割するように構成されている幾何学ブロック分割部と、前記幾何学ブロック分割された対象ブロックに対するマージリストを構築して動き情報を復号するように構成されているマージリスト構築部とを具備することを要旨とする。
本発明の第2の特徴は、矩形分割された対象ブロックに対して、幾何学ブロック分割マージを適用する工程を有する画像復号方法であって、前記工程は、 前記幾何学ブロック分割マージの適用有無を特定する工程と、幾何学ブロック分割パタンを特定し、特定した前記幾何学ブロック分割パタンを用いて、前記矩形分割された対象ブロックを更に幾何学ブロック分割する工程と、前記幾何学ブロック分割された対象ブロックに対するマージリストを構築して動き情報を復号する工程とを有することを要旨とする。
本発明の第3の特徴は、コンピュータを、画像復号装置として機能させるプログラムであって、前記画像復号装置は、矩形分割された対象ブロックに対して、幾何学ブロック分割マージを適用するように構成されているマージ部を備え、前記マージ部は、前記幾何学ブロック分割マージの適用有無を特定するように構成されているマージモード特定部と、幾何学ブロック分割パタンを特定し、特定した前記幾何学ブロック分割パタンを用いて、前記矩形分割された対象ブロックを更に幾何学ブロック分割するように構成されている幾何学ブロック分割部と、前記幾何学ブロック分割された対象ブロックに対するマージリストを構築して動き情報を復号するように構成されているマージリスト構築部とを具備することを要旨とする。
本発明によれば、矩形分割された対象ブロックに対して、幾何学ブロック分割マージを適用することにより、任意の方向に現れるオブジェクト境界に対して、適切なブロック分割形状が選択されるようになるため、結果的に予測誤差が低減されることによる符号化性能向上効果及びオブジェクト境界に対して適切なブロック分割境界が選択されることによる主観画質向上効果を実現することができる画像復号装置、画像復号方法及びプログラムを提供することができる。
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
<第1実施形態>
以下、図1~図10を参照して、本発明の第1実施形態に係る画像処理システム10について説明する。図1は、本実施形態に係る画像処理システム10について示す図である。
以下、図1~図10を参照して、本発明の第1実施形態に係る画像処理システム10について説明する。図1は、本実施形態に係る画像処理システム10について示す図である。
図1に示すように、本実施形態に係る画像処理システム10は、画像符号化装置100及び画像復号装置200を有する。
画像符号化装置100は、入力画像信号を符号化することによって符号化データを生成するように構成されている。画像復号装置200は、符号化データを復号することによって出力画像信号を生成するように構成されている。
符号化データは、画像符号化装置100から画像復号装置200に対して伝送路を介して送信されてもよい。符号化データは、記憶媒体に格納された上で、画像符号化装置100から画像復号装置200に提供されてもよい。
(画像符号化装置100)
以下、図2を参照して、本実施形態に係る画像符号化装置100について説明する。図2は、本実施形態に係る画像符号化装置100の機能ブロックの一例について示す図である。
(画像符号化装置100)
以下、図2を参照して、本実施形態に係る画像符号化装置100について説明する。図2は、本実施形態に係る画像符号化装置100の機能ブロックの一例について示す図である。
図2に示すように、画像符号化装置100は、インター予測部111と、イントラ予測部112と、減算器121と、加算器122と、変換・量子化部131と、逆変換・逆量子化部132と、符号化部140と、インループフィルタ処理部150と、フレームバッファ160とを有する。
インター予測部111は、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
具体的には、インター予測部111は、符号化対象のフレーム(以下、対象フレーム)とフレームバッファ160に格納される参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトル(mv)を決定するように構成されている。
また、インター予測部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)サイズ等のサイズデータを含んでもよい。
また、制御データは後述するようにシーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダなどのヘッダ情報を含んでも良い。
インループフィルタ処理部150は、加算器122から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ160に出力するように構成されている。
ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック又は変換ブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理である。
フレームバッファ160は、インター予測部111で用いる参照フレームを蓄積するように構成されている。
ここで、フィルタ処理後復号信号は、インター予測部111で用いる参照フレームを構成する。
(インター予測部111)
以下、図3を参照して、本実施形態に係る画像符号化装置100のインター予測部111について説明する。図3は、本実施形態に係る画像符号化装置100のインター予測部111の機能ブロックの一例について示す図である。
以下、図3を参照して、本実施形態に係る画像符号化装置100のインター予測部111について説明する。図3は、本実施形態に係る画像符号化装置100のインター予測部111の機能ブロックの一例について示す図である。
図3に示すように、インター予測部111は、mv導出部111Aと、AMVR部111Bと、mv洗練化部111Bと、予測信号生成部111Dとを有する。
インター予測部111は、動きベクトルに基づいて対象ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。
mv導出部111Aは、図3に示すように、AMVP(Adaptive Motion Vector Prediction)部111A1と、マージ部111A2とを有し、フレームバッファ160からの対象フレーム及び参照フレームを入力とし、動きベクトルを取得するように構成されている。
AMVP部111A1は、対象フレームと参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトルを探索するように構成されている。
また、上述の探索処理を複数の参照フレーム候補に対して行い、対象ブロックで予測に用いる参照フレーム及び動きベクトルを決定し、後段の予測信号生成部111Dに出力する。
参照フレーム及び動きベクトルについては、1つのブロックに対して最大2つずつ用いることができる。1つのブロックに対して参照フレーム及び動きベクトルを1組のみ用いる場合を「片予測」と呼び、参照フレームと動きベクトルを2組用いる場合を「双予測」と呼ぶ。以下、1組目を「L0」と呼び、2組目を「L1」と呼ぶ。
更に、AMVP部111Aは、上述の決定した動きベクトルを最終的に画像復号装置200に伝送する際に、符号量を削減するために、隣接する符号化済みの動きベクトルから導出された動きベクトル予測子(mvp:motion vector predictor)の候補の中から、かかる対象ブロックの動きベクトルとの差分、すなわち、動きベクトル差分(mvd:motion vector difference)が小さくなるmvpを選択する。
このように選択されたmvp及びmvdを示すインデックス及び参照フレームを示すインデックス(以下、Refidx)が符号化部140で符号化され、画像復号装置200に伝送される。かかる処理は、適応動きベクトル予測符号化(AMVP:Adaptive:Motion Vector Preidicion)と一般に呼ばれる。
なお、上記の動きベクトルの探索方法、参照フレーム及び動きベクトルの決定方法、mvpの選択方法、mvdの算出方法については、既知の手法を採用することが可能であるため、その詳細については省略する。
マージ部111A2は、AMVP部111A1のように、対象ブロックの動き情報を探索して導出し、更に隣接ブロックとの差分としてmvdを伝送することはせず、対象フレーム及び参照フレームを入力として、対象ブロックと同一フレームにある隣接ブロック又は対象フレームと異なるフレームにある同一位置のブロックを参照ブロックとして、当該参照ブロックの動き情報をそのまま継承して利用するように構成されている。かかる処理は、一般に、マージ符号化(以下、マージ)と呼ばれる。
当該ブロックがマージの場合、初めに、当該ブロックに対するマージリストが構築される。マージリストは、参照フレームと動きベクトルとの組み合わせが複数列挙されたリストである。各組み合わせには、インデックス(以下、マージインデックス)が振られており、画像符号化装置100は、Refidx及び動きベクトルの組み合わせ情報(以下、動き情報)を個別に符号化する代わりに、上述のマージインデックスのみを符号化し、画像復号装置200側に伝送する。
画像符号化装置100側と画像復号装置200側とで、マージリストの構築方法を共通化しておくことで、画像復号装置200側では、マージインデックス情報のみから動き情報を復号することができる。本実施形態に係るマージリストの構築方法及びインター予測ブロックの幾何学ブロック分割方法については後述する。
mv洗練化部111Bは、マージ部111A2から出力される動きベクトルを修正する洗練化処理を行うように構成されている。例えば、動きベクトルを修正する洗練化処理としては、非特許文献1に記載のDMVR(Decoder side Motion Vector Refinement)が知られている。本実施形態において、かかる洗練化処理として、非特許文献1に記載の既知の手法を用いることが可能であるため、説明は省略する。
予測信号生成部111Cは、参照フレーム及び動きベクトルを入力としてMC予測画像信号を出力するように構成されている。予測信号生成部111Cにおける処理として、非特許文献1に記載の既知の手法を用いることが可能であるため、説明は省略する。
(画像復号装置200)
以下、図4を参照して、本実施形態に係る画像復号装置200について説明する。図4は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
以下、図4を参照して、本実施形態に係る画像復号装置200について説明する。図4は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
図4に示すように、画像復号装置200は、復号部210と、逆変換・逆量子化部220と、加算器230と、インター予測部241と、イントラ予測部242と、インループフィルタ処理部250と、フレームバッファ260とを有する。
復号部210は、画像符号化装置100によって生成される符号化データを復号し、係数レベル値を復号するように構成されている。
ここで、復号は、例えば、符号化部140で行われるエントロピー符号化とは逆の手順のエントロピー復号である。
また、復号部210は、符号化データの復号処理によって制御データを取得するように構成されていてもよい。
なお、上述したように、制御データは、符号化ブロックサイズ、予測ブロックサイズ、変換ブロックサイズ等のサイズデータを含んでもよい。
逆変換・逆量子化部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)
以下、図5を参照して、本実施形態に係るインター予測部241について説明する。図5は、本実施形態に係るインター予測部241の機能ブロックの一例について示す図である。
以下、図5を参照して、本実施形態に係るインター予測部241について説明する。図5は、本実施形態に係るインター予測部241の機能ブロックの一例について示す図である。
図5に示すように、インター予測部241は、mv復号部241Aと、mv洗練化部241Bと、予測信号生成部241Cとを有する。
インター予測部241は、動きベクトルに基づいて予測ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。
mv復号部241Aは、AMVP部241A1とマージ部241A2とを有し、フレームバッファ260から入力される対象フレーム及び参照フレーム、及び、画像符号化装置100から受信する制御データの復号によって、動きベクトルを取得するように構成されている。
AMVP部241A1は、対象フレーム及び参照フレームと、画像符号化装置100から、mvp及びmvdを示すインデックス、Refidxを受信し、動きベクトルを復号するように構成されている。動きベクトルの復号方法については、既知の手法を採用すること可能であるため、その詳細については省略する。
マージ部241A2は、画像符号化装置100から、マージインデックスを受信し、動きベクトルを復号するように構成されている。
具体的には、マージ部241A2は、画像符号化装置100と同じ方法で、マージリストを構築して、受信したマージインデックスに対応する動きベクトルを構築したマージリストから取得するように構成されている。マージリストの構築方法の詳細は、後述する。
mv洗練化部241Bは、mv洗練化部111Bと同様に、動きベクトルを修正する洗練化処理を実行するように構成されている。
予測信号生成部241Cは、予測信号生成部111Cと同様に、動きベクトルに基づいて予測信号を生成するように構成されている。
なお、幾何学ブロック分割マージ有効時の予測信号生成処理の詳細については、後述する。その他のマージモード有効時の予測信号生成処理は、非特許文献1に記載の既知の技術を本実施形態に用いることが可能であるため、説明を省略する。
(マージ部)
以下、図6及び図7を参照して、本実施形態に係る画像符号化装置100のインター予測部111のマージ部111A2及び画像復号装置200のインター予測部241のマージ部241A2について説明する。図6及び図7は、本実施形態に係る画像符号化装置100のインター予測部111のマージ部111A2及び画像復号装置200のインター予測部241のマージ部241A2の機能ブロックの一例について示す図である。
以下、図6及び図7を参照して、本実施形態に係る画像符号化装置100のインター予測部111のマージ部111A2及び画像復号装置200のインター予測部241のマージ部241A2について説明する。図6及び図7は、本実施形態に係る画像符号化装置100のインター予測部111のマージ部111A2及び画像復号装置200のインター予測部241のマージ部241A2の機能ブロックの一例について示す図である。
図6に示すように、マージ部111A2は、マージモード特定部111A21と、幾何学ブロック分割部111A22と、マージリスト構築部111A23とを具備している。
また、図7に示すように、マージ部241A2は、マージモード特定部241A21と、幾何学ブロック分割部241A22と、マージリスト構築部241A23とを具備している。
マージ部111A2とマージ部241A2との違いは、マージモード特定部111A21及びマージモード特定部241A21、幾何学ブロック分割部111A22及び幾何学ブロック分割部241A22、マージリスト構築部111A23及びマージリスト構築部241A23において、後述する各種インデックスの入出力が逆になっている点にある。
すなわち、マージ部111A2において出力された各種インデックスは、マージ部241A2において入力される。それ以外は、マージ部111A2の機能及びマージ部241A2に機能は、同一であるため、以降では、説明を簡素化するため、マージ部241A2に機能について代表して説明する。
マージモード特定部241A21は、矩形分割された対象ブロックに対して、幾何学ブロックマージモードの適用有無を特定するように構成されている。
マージモードには、幾何学ブロック分割マージ以外に、例えば、非特許文献1に採用されている通常マージ、サブブロックマージ、MMVD(Merge mode with MVD)、CIIP(Combined inter and intra prediction)、IBC(Intra Block Copy)等がある。
本実施形態では、これらのマージモードに加えて、幾何学ブロック分割マージを新たに適用することで、仮に矩形分割された対象ブロックに対して、オブジェクト境界が任意の方向に現れる場合であっても、幾何学ブロック分割による適切なブロック分割形状の選択がなされるため、結果的に予測誤差が低減されることによる符号化性能向上効果と、オブジェクト境界近辺での主観画質向上効果が期待できる。
幾何学ブロック分割部241A22は、矩形分割された対象ブロックの幾何学ブロック分割パタンを特定し、特定した分割パタンを用いて対象ブロックを幾何学ブロック分割するように構成されている。幾何学ブロック分割パタンの特定方法の詳細については後述する。
マージリスト構築部241A23は、対象ブロックに対するマージリストを構築して動き情報を復号するように構成されている。
マージリストの構築処理は、動き情報利用可否確認処理、動き情報登録・剪定処理、動き情報復号処理の3ステージで構成されており、それぞれの詳細は、後述する。
(マージモード特定部241A21における幾何学ブロック分割マージの適用有無の特定方法)
以下、図8~図10を参照して、マージモード特定部241A21における幾何学ブロック分割マージの適用有無の特定方法を説明する。図8~図10は、マージモード特定部241A21における幾何学ブロック分割マージの適用有無の特定方法の一例を示すフローチャートである。
以下、図8~図10を参照して、マージモード特定部241A21における幾何学ブロック分割マージの適用有無の特定方法を説明する。図8~図10は、マージモード特定部241A21における幾何学ブロック分割マージの適用有無の特定方法の一例を示すフローチャートである。
図8に示すように、マージモード特定部241A21は、通常マージが非適用であり且つCIIPが非適用である場合に、幾何学ブロック分割マージを適用する(対象ブロックのマージモードを幾何学ブロック分割マージ)と特定するように構成されている。
具体的には、図8に示すように、ステップS7-1において、マージモード特定部241A21は、通常マージの適用有無を特定し、通常マージを適用すると特定する場合は、ステップS7-5に進み、通常マージを適用しないと特定する場合は、ステップS7-2に進む。
ステップS7-2において、マージモード特定部241A21は、CIIPの適用有無を特定し、CIIPを適用すると特定する場合は、ステップS7-3に進み、CIIPを適用しないと特定する場合は、ステップS7-4に進む。
なお、マージモード特定部241A21は、ステップS7-2をスキップして、ステップS7-4に直接進んでもよい。これは、通常マージが非適用である場合に、対象ブロックのマージモードを幾何学ブロック分割マージと特定することを意味する。
ステップS7-3において、マージモード特定部241A21は、対象ブロックにCIIPを適用する(対象ブロックのマージモードをCIIP)と特定して、本処理を終了する。
なお、画像符号化装置100及び画像復号装置200は、内部パラメータとして、対象ブロックに対する幾何学ブロック分割マージを適用有無の特定結果を保有する。
ステップS7-4において、マージモード特定部241A21は、対象ブロックに幾何学ブロック分割マージを適用する(対象ブロックのマージモードを幾何学ブロック分割マージ)と特定して、本処理を終了する。
ステップS7-5において、マージモード特定部241A21は、対象ブロックに通常マージを適用する(対象ブロックのマージモードを通常マージ)と特定して、本処理を終了する。
なお、図8のフローチャートにおいて、将来、ステップS7-2が、CIIP以外のマージに置換された場合であっても、マージモード特定部241A21は、置換されたマージの適用可不可の判定結果に応じて、幾何学ブロック分割マージの適用有無を特定してもよい。
また、図8Aのフローチャートにおいて、将来、ステップS7-2とステップS7-4との間に、CIIP以外のマージが追加された場合であっても、マージモード特定部241A21は、追加されたマージの適用可不可の判定結果に応じて、幾何学ブロック分割マージの適用有無を特定してもよい。
次に、図9を用いて、ステップS7-1の通常マージの適用有無の判定条件について説明する。
図9に示すように、ステップS7-1-1において、マージモード特定部241A21は、通常マージフラグの復号要否を判定する。
マージモード特定部241A21は、ステップS7-1-1の判定条件を満たす、すなわち、通常マージの復号が必要と判定する場合は、ステップS7-1-2に進み、ステップS7-1-1を満たさない、すなわち、通常マージの復号が不要であると判定する場合は、ステップS7-1-3に進む。
ここで、マージモード特定部241A21は、通常マージフラグを復号不要と判定した場合は、非特許文献1に記載の方法と同様に、対象ブロックがマージによってインター予測されるかどうかを示す「general_merge_flag」及びサブブロックマージの適用有無を示すサブブロックマージフラグに基づいて、通常マージフラグの値を推定することができる。
かかる推定方法については、非特許文献1に記載の方法と同じ方法を本実施形態で用いることが可能であるため、説明は省略する。
ステップS7-1-1の通常マージフラグの復号要否判定条件は、CIIPの適用可不可判定条件と幾何学ブロックマージの適用可不可判定条件とによって構成されている。具体的には、以下の通りである。
- CIIPの適用可不可判定条件:
(1)対象ブロックの面積が64画素以上である。
- CIIPの適用可不可判定条件:
(1)対象ブロックの面積が64画素以上である。
(2)SPSレベルのCIIP有効フラグが有効であることを示す(値が1である)。
(3)対象ブロックのスキップモードフラグが無効であることを示す(値が0である)
(4)対象ブロックの幅が128画素未満である。
(4)対象ブロックの幅が128画素未満である。
(5)対象ブロックの高さが128画素未満である。
- 幾何学ブロックマージの適用可不可判定条件:
(1)対象ブロックの面積が64画素以上である。
- 幾何学ブロックマージの適用可不可判定条件:
(1)対象ブロックの面積が64画素以上である。
(6)SPSレベルの幾何学ブロック分割マージ有効フラグが有効であることを示す(値が1である)。
(7)幾何学ブロック分割マージに対するマージリストのマージインデックス最大登録可能数(以下、幾何学ブロック分割マージ最大候補数)が1より大きい。
(8)対象ブロックの幅が8画素以上である。
(9)対象ブロックの高さが8画素以上である。
(10)対象ブロックが含まれるスライスタイプがBスライス(双予測スライス)である。
マージモード特定部241A21は、CIIPの適用可不可判定条件において、上記条件式(1)から(5)の全てが満たされるとき、CIIPが適用可能であると判定し、それ以外の場合は、CIIPが適用不可能であると判定する。
なお、CIIPの適用可不可判定条件の各条件式については、非特許文献1に記載の同一の条件式を本実施形態に用いることが可能であるため、説明は省略する。
また、マージモード特定部241A21は、幾何学ブロックマージの適用可不可判定条件において、上述の条件式(1)及び(6)~(10)の全てが満たされるとき、幾何学ブロック分割マージが適用可能であると判定し、それ以外の場合は、幾何学ブロック分割マージが適用不可能であると判定する。
かかる条件式(1)及び(6)~(10)についての詳細は、後述する。
マージモード特定部241A21は、ステップS7-1-1の通常マージフラグの復号要否判定条件のうち、上述のCIIPの適用可不可判定条件又は幾何学ブロック分割マージの適用可不可判定条件のいずれか一方が満たされる場合、ステップS7-1-2に進み、どちらも満たされない場合は、ステップS7-1-3に進む。
なお、ステップS7-1-1の通常マージフラグの復号要否判定条件において、CIIP適用可不可判定条件は除かれてもよい。これは、通常マージフラグの復号要否判定条件において、幾何学ブロック分割マージの適用可不可判定条件のみを追加することを意味する。
ステップS7-1-2において、マージモード特定部241A21は、通常マージフラグを復号して、ステップS7-1-3に進む。
ステップS7-1-3において、マージモード特定部241A21は、通常マージフラグの値が1であるかどうかを判定し、1である場合は、ステップS7-5に進み、1でない場合は、ステップS7-2に進む。
続いて、図10を用いて、ステップS7-2のCIIPの適用有無の判定条件について説明する。
図10に示すように、ステップS7-2-1において、マージモード特定部241A21は、CIIPフラグの復号要否を判定する。
マージモード特定部241A21は、ステップS7-2-1を満たす、すなわち、CIIPフラグの復号が必要であると判定する場合は、ステップS7-2-2に進み、ステップS7-2-1を満たさない、すなわち、CIIPフラグの復号が不要であると判定する場合は、ステップS7-2-3に進む。
ここで、マージモード特定部241A21は、CIIPフラグを復号不要と判定した場合は、以下のように、CIIPフラグの値を推定する。
マージモード特定部241A21は、以下の諸条件を全て満たす場合は、CIIPは有効である、すなわち、CIIPフラグの値は1であるとして扱い、それ以外の場合は、CIIPは無効である、すなわち、CIIPフラグの値は0であるとして扱う。
(1)対象ブロックの面積が64画素以上である。
(2)通常マージフラグが0である。
(3)SPSレベルのCIIP有効フラグが有効であることを示す(値が1である)。
(4)対象ブロックのスキップモードフラグが有効であることを示す(値が0である)。
(5)対象ブロックの幅が128画素未満である。
(6)対象ブロックの高さが128画素未満である。
(12)「general_merge_flag」が1である。
(13)サブブロックマージフラグが0である。
ステップS7-2-1のCIIPフラグの復号要否の判定条件は、上述のCIIP適用可不可判定条件と幾何学ブロック分割マージ可不可判定条件とによって構成されている。
マージモード特定部241A21は、CIIP適用可不可条件及び幾何学ブロック分割マージ可不可判定条件のいずれも満たされる場合は、ステップS7-2-2に進み、いずれか一方でも満たされない場合は、ステップS7-2-3に進む。
ここで、条件式(1)については、CIIPフラグ復号要否判定条件に入る以前の通常マージフラグの復号要否判定条件で満たすことが判定済みであるため、ステップS7-2-1から除いてもよい。
ステップS7-2-2において、マージモード特定部241A21は、CIIPフラグを復号して、ステップS7-1-3に進む。
ステップS7-2-3において、マージモード特定部241A21は、CIIPフラグの値が1であるかどうかを判定し、1である場合は、ステップS7-3に進み、1でない場合は、ステップS7-4に進む。
(幾何学ブロック分割マージの可不可判定条件の解説)
以下に、幾何学ブロック分割マージ可不可判定条件に係る(1)及び(6)~(10)の詳細について説明する。
(1)幾何学ブロック分割マージが適用可能となる対象ブロックを比較的大きいブロックに制限するため、対象ブロックの面積が64画素以上とする。
(6)SPSレベルで幾何学ブロック分割マージの適用可不可を示すフラグを新たに設ける。かかるフラグが無効である場合は、対象ブロックに対して、幾何学ブロックマージが適用不可であると特定可能であるため、幾何学ブロック分割マージの適用可不可判定条件式に追加する。
(7)非特許文献1のインター予測ブロックの動き補償予測時に必要なメモリバンド幅のワーストケース超過を回避するため、対象ブロックの幅の下限を8画素以上に設定する。
(8)非特許文献1のインター予測ブロックの動き補償予測時に必要なメモリバンド幅のワーストケース超過を回避するため、対象ブロックの高さの下限を8画素以上に設定する。
(9)幾何学ブロック分割マージが適用可能な対象ブロックは、分割境界を跨いで、異なる2つの動き情報を有する。そのため、対象ブロックがBスライスに含まれる場合は、対象ブロックに対して幾何学ブロック分割マージが適用可能と特定可能である。一方で、対象ブロックがBスライス以外に含まれる場合、すなわち、対象ブロックは異なる2つの動きベクトルを持ちようがない場合は、対象ブロックに対して、幾何学ブロック分割マージは適用不可であると特定可能である。
(10)幾何学ブロック分割マージは、上述の通り、異なる2つの動き情報を必要とし、それら異なる2つの動き情報を、マージリスト構築部において、マージリストに登録された異なる2つのマージインデックスに紐づく動き情報から特定(復号)する。そのため、幾何学ブロック分割マージ最大候補数が1以下に設計或いは特定される場合は、対象ブロックに対して幾何学ブロック分割マージは適用不可であると特定可能であるため、幾何学ブロック分割マージ最大候補数を算出するパラメータを幾何学ブロック分割部の内部で持つこととする。この幾何学ブロック分割マージ最大候補数は、通常マージに対するマージリストのマージインデックス最大登録可能数(以下、マージ最大候補数)と同じ値を使用してもよいし、別の値を使用するために、例えば、マージ最大候補数からいくつ候補数を減らすかを規定するフラグを画像符号化装置100から画像復号装置200に伝送して、かかるフラグを復号することで算出してもよい。
以下に、幾何学ブロック分割マージ可不可判定条件に係る(1)及び(6)~(10)の詳細について説明する。
(1)幾何学ブロック分割マージが適用可能となる対象ブロックを比較的大きいブロックに制限するため、対象ブロックの面積が64画素以上とする。
(6)SPSレベルで幾何学ブロック分割マージの適用可不可を示すフラグを新たに設ける。かかるフラグが無効である場合は、対象ブロックに対して、幾何学ブロックマージが適用不可であると特定可能であるため、幾何学ブロック分割マージの適用可不可判定条件式に追加する。
(7)非特許文献1のインター予測ブロックの動き補償予測時に必要なメモリバンド幅のワーストケース超過を回避するため、対象ブロックの幅の下限を8画素以上に設定する。
(8)非特許文献1のインター予測ブロックの動き補償予測時に必要なメモリバンド幅のワーストケース超過を回避するため、対象ブロックの高さの下限を8画素以上に設定する。
(9)幾何学ブロック分割マージが適用可能な対象ブロックは、分割境界を跨いで、異なる2つの動き情報を有する。そのため、対象ブロックがBスライスに含まれる場合は、対象ブロックに対して幾何学ブロック分割マージが適用可能と特定可能である。一方で、対象ブロックがBスライス以外に含まれる場合、すなわち、対象ブロックは異なる2つの動きベクトルを持ちようがない場合は、対象ブロックに対して、幾何学ブロック分割マージは適用不可であると特定可能である。
(10)幾何学ブロック分割マージは、上述の通り、異なる2つの動き情報を必要とし、それら異なる2つの動き情報を、マージリスト構築部において、マージリストに登録された異なる2つのマージインデックスに紐づく動き情報から特定(復号)する。そのため、幾何学ブロック分割マージ最大候補数が1以下に設計或いは特定される場合は、対象ブロックに対して幾何学ブロック分割マージは適用不可であると特定可能であるため、幾何学ブロック分割マージ最大候補数を算出するパラメータを幾何学ブロック分割部の内部で持つこととする。この幾何学ブロック分割マージ最大候補数は、通常マージに対するマージリストのマージインデックス最大登録可能数(以下、マージ最大候補数)と同じ値を使用してもよいし、別の値を使用するために、例えば、マージ最大候補数からいくつ候補数を減らすかを規定するフラグを画像符号化装置100から画像復号装置200に伝送して、かかるフラグを復号することで算出してもよい。
[変更例1:幾何学ブロック分割マージの可不可判定条件へのブロックアスペクト比による判定条件の追加]
以下、図11を参照して、本発明の変更例1について、上述の第1実施形態との相違点に着目して説明する。
以下、図11を参照して、本発明の変更例1について、上述の第1実施形態との相違点に着目して説明する。
本変更例1において、上述の幾何学ブロック分割マージ可不可判定条件に対して、対象ブロックに対する幾何学ブロック分割マージの適用を更に制限するために、対象ブロックのブロックサイズ(上限)又はブロックアスペクト比による判定を追加してもよい。
第1に、幾何学ブロック分割マージが適用可能であると特定される対象ブロックの高さ及び幅のそれぞれの上限を、例えば、64画素以下とする条件式を追加することを考える。
かかる高さ及び幅の上限を64画素以下とする理由は、非特許文献1に採用されている仮想パイプラインデータユニット(VPDU:Virtual Pipeline Data Units)と呼ばれる画像復号装置200のパイプライン処理単位を維持するための制約違反を回避するためである。
非特許文献1では、VPDUのサイズが64×64画素と設定されているため、幾何学ブロック分割マージの適用対象範囲の上限を64画素とする。
一方で、かかる上限を、設計者の意図で、例えば、32画素以下のように更に小さい上限を設定してもよい。
幾何学ブロック分割マージは、MC予測画像信号を生成する際に、幾何学ブロック分割境界を跨いで持つ異なる2つの動きベクトルに基づいて生成されたMC予測画像信号を、幾何学ブロック分割境界からの距離によって重み付されたブレンディングマスクテーブルを用いて生成される。
対象ブロックの幅及び高さの上限を小さくすれば、かかるブレンディングマスクテーブルのサイズを小さくすることができ、画像符号化装置100及び画像復号装置200のメモリに対して保持される必要がある当該ブレンディングマスクテーブルのサイズを小さくしてメモリの記録容量を小さくできることは実装上望ましい。
第2に、幾何学ブロック分割マージが適用可能と特定される対象ブロックのアスペクト比を、例えば、アスペクト比が4以下とする条件式を追加することを考える。
かかるアスペクト比が8以上のような細長い矩形ブロックは、自然画像において発生しにくい。そのため、このような矩形ブロックに対して、幾何学ブロック分割マージの適用を禁止すれば、後述する幾何学ブロック分割の分割形状のバリエーション数(矩形ブロック内における幾何学ブロック分割境界の位置及び方向を規定するパラメータのバリエーション数)を削減することが可能となり、画像符号化装置100及び画像復号装置200において、同バリエーションを規定するためのパラメータの記録容量が削減できる効果がある。
(幾何学ブロック分割部における幾何学ブロック分割パタンの規定方法)
以下、図11を参照して、本実施形態に係る幾何学ブロック分割部241A22における幾何学ブロック分割パタンの規定方法について説明する。図11は、本実施形態に係る幾何学ブロック分割パタンの規定方法の一例を示す図である。
以下、図11を参照して、本実施形態に係る幾何学ブロック分割部241A22における幾何学ブロック分割パタンの規定方法について説明する。図11は、本実施形態に係る幾何学ブロック分割パタンの規定方法の一例を示す図である。
幾何学ブロック分割パタンは、例えば、図11に示すように、幾何学ブロック分割境界線の位置、すなわち、矩形分割された対象ブロックの中心点(以下、中心点)から幾何学ブロック分割境界線(以下、分割境界線)までの距離ρと、分割境界線に対する中心点からの垂線における水平方向からの仰角φの2つのパラメータで規定してもよい。
また、かかる距離ρと仰角φとの組み合わせは、インデックスを用いて、画像符号化装置100(マージ部111A2)から画像復号装置200(マージ部241A2)に伝送されてもよい。
幾何学ブロック分割パタンを規定する距離ρと角度φとの組み合わせのバリエーションが多いほど、より予測誤差の低減が期待できるが、一方で、距離ρと仰角φとの組み合わせの特定に必要な処理時間の増大、及び、かかる組み合わせを示すためのインデックスの符号長の増大が、トレードオフの関係になるため、設計者の意図で量子化された距離ρ及び仰角φを用いてもよい。
ここで、量子化された距離ρは、例えば、所定の画素単位で設計されてもよい。また、量子化された仰角φは、例えば、360度を等分割した角度で設計されてもよい。
[変更例2:仰角ρの規定方法]
以下、図12を参照して、本発明の変更例2について、上述の第1実施形態及び変更例1との相違点に着目して説明する。図12は、上述の幾何学ブロック分割パタンを規定する仰角φの変更例を示す図である。
以下、図12を参照して、本発明の変更例2について、上述の第1実施形態及び変更例1との相違点に着目して説明する。図12は、上述の幾何学ブロック分割パタンを規定する仰角φの変更例を示す図である。
上述の変更例1では、仰角φの規定方法の一例として、360度を等分割した角度を用いて仰角φを規定する方法を示したが、本変更例では、図12(b)に示すように、対象ブロックの取り得るブロックのアスペクト比及び水平・垂直方向を用いて仰角φを規定してもよい。
例えば、図12(c)に示すように、仰角φは、逆正接関数を用いて表現され得る。本変更例で、図12(a)に示すように、合計で24通りの仰角φを規定した例を示している。
[変更例3:分割境界線の位置(距離ρ)の規定方法]
以下、図13を参照して、本発明の変更例3について、上述の第1実施形態及び変更例1~2との相違点に着目して説明する。図13は、上述の幾何学ブロック分割パタンを規定する位置(距離ρ)の変更例について示す図である。
以下、図13を参照して、本発明の変更例3について、上述の第1実施形態及び変更例1~2との相違点に着目して説明する。図13は、上述の幾何学ブロック分割パタンを規定する位置(距離ρ)の変更例について示す図である。
上述の変更例1~2では、対象ブロックの中心点から分割境界線までの垂線距離として、距離ρを規定していたが、本変更例では、図13に示すように、中心点を含めた、中心点からの水平方向或いは垂直方向における所定距離(所定位置)として、距離ρを規定してもよい。
図13の例では、対象ブロックのブロックアスペクト比に応じて、距離ρを2通り規定している。
第1に、図13(a)に示すように、横長ブロックに対して、水平方向のみに距離ρを規定してもよい。
第2に、図13(b)に示すように、縦長ブロックに対して、垂直方向のみに距離ρを規定してもよい。
ただし、横長ブロックに対しては仰角φが0度(180度)である限り、また、縦長ブロックに対しては仰角90度(270度)である限り、それぞれ垂直方向及び水平方向の距離ρを規定してもよい。
なお、正方形ブロックに対しては、水平方向又は垂直方向のいずれか或いは双方に距離ρを規定してもよい。また、距離ρは、例えば、図13に示すように、対象ブロックの幅或いは高さを8等分した所定距離(所定位置)に対して、バリエーションを持つこととしてもよい。
図13の例では、中心点から水平方向(左右方向)或いは垂直方向(上下方向)に対して、対象ブロックの幅又は高さの0/8倍、1/8倍、2/8倍、3/8倍した距離(位置)に、距離ρを規定している。
ここで、横長ブロックの仰角0度(180度)以外及び縦長ブロックの仰角90度(270度)以外で、それぞれ垂直方向及び水平方向の距離(短辺方向の距離)を規定しない理由は、短辺方向に対して距離ρを規定しての幾何学ブロック分割パタンのバリエーション数を増やす効果が、長辺方向に距離ρを規定して幾何学ブロック分割パタンのバリエーションを増やす効果と比較して、小さいためである。
幾何学ブロック分割による分割境界線は、図13に示すように、分割境界線及び上述のように規定された所定距離(所定位置)ρにある点を通り、仰角φに対する垂線として設計できる。
なお、本変更例3は、上述の変更例2と組み合わせることが可能であり、仰角φにおいて180度対になる角度については、上述の距離ρに対する垂線が同一になる、すなわち、分割境界線が同一になる。
そのため、例えば、0度以上且つ180度未満の範囲内にある仰角φ及び180度以上且つ360度未満の範囲内にある仰角φは、図13に示すように、中心点を線対称として、左右方向或いは上下方向の距離ρに対して、それぞれ使用を制限することで、幾何学ブロック分割パタンの重複を回避することができる。
かかる仰角φの範囲と距離ρの水平方向(左右方向)及び垂直方向(上下方向と組み合わせは、逆にしても同じ幾何学ブロック分割パタンのバリエーションを示すこととなるので、設計者の意図で自由に実装を変更してもよい。
[変更例4:仰角φ及び位置(距離)ρの規定方法の変更、バリエーション削減]
以下、図14~図15を参照して、本発明の変更例4について、上述の第1実施形態及び変更例1~3との相違点に着目して説明する。図14は、仰角φ及び距離ρの規定方法に関する変更例を示す図である。
以下、図14~図15を参照して、本発明の変更例4について、上述の第1実施形態及び変更例1~3との相違点に着目して説明する。図14は、仰角φ及び距離ρの規定方法に関する変更例を示す図である。
上述の変更例2では、ブロックアスペクト比を用いた仰角φの規定方法について説明し、上述の変更例3では、中心点からの水平方向及び垂直方向への所定距離(所定位置)を用いた距離(位置)ρの規定方法について説明した。
本変更例では、仰角φ及び距離(位置)ρの実装簡素化のために、図14(a)~(c)に示すように、所定の距離(位置)ρにある点を通り且つ仰角φが示す線を、分割境界線そのものと規定して実装してもよい。
また、幾何学ブロック分割パタンを削減するために、距離ρのバリエーション及び仰角φのバリエーションを、図14(a)~(c)に示すように削減してもよい。
具体的には、図14(a)~(c)では、上述の変更例3で示した距離ρのバリエーションを対象ブロックの幅或いは高さの0/8倍、2/8倍の2種類に限定している。
また、図14(a)~(c)の例では、仰角φのバリエーションの取り得る値を、分割境界線が通る位置及び対象ブロックのブロックアスペクト比に応じて限定している。これにより、図14(a)~(c)の例では、幾何学ブロック分割パタンのバリエーションを合計16通りに限定している。
(幾何学ブロック分割パタンの特定方法)
以下、図15を参照して、幾何学ブロック分割パタンの特定方法について説明する。図15は、上述で説明した幾何学ブロック分割パタンを規定する仰角φと距離(位置)ρとの組み合わせを示すインデックステーブルの一例を示す図である。
以下、図15を参照して、幾何学ブロック分割パタンの特定方法について説明する。図15は、上述で説明した幾何学ブロック分割パタンを規定する仰角φと距離(位置)ρとの組み合わせを示すインデックステーブルの一例を示す図である。
図15では、幾何学ブロック分割パタンを規定する仰角φ及び距離ρをそれぞれ「angle_idx」及び「distance_idx」で対応付け、更に、それらの組み合わせを「partition_idx」で規定している。
例えば、上述の変更例2及び変更例3で示した仰角φ及び距離ρを、図12のテーブルに記載のように、「angle_idx」及び「distance_idx」でそれぞれ0~23、0~3の整数で規定し、この組み合わせを示す「partition_idx」を復号することで、仰角φ及び距離ρが一意に決まるため、幾何学ブロック分割パタンを一意に特定することができる。
画像符号化装置100及び画像復号装置200は、かかる幾何学ブロック分割パタンを示すインデックステーブルを互いに保有し、画像符号化装置100が、幾何学ブロック分割有効時に最も符号化コストが小さくなる幾何学ブロック分割パタンに対応する「partition_idx」を画像復号装置200に伝送し、画像復号装置200の幾何学ブロック分割部241A22は、かかる「partition_idx」を復号する。
[変更例5:対象ブロックのサイズまたはアスペクト比に応じた「partition_idx」の復号方法の制御]
以下、図16を参照して、本発明の変更例5について、上述の第1実施形態及び変更例1~4との相違点に着目して説明する。図16は、対象ブロックのブロックサイズ又はブロックアスペクト比に応じた「partition_idx」の復号方法の制御の一例について説明するための図である。
以下、図16を参照して、本発明の変更例5について、上述の第1実施形態及び変更例1~4との相違点に着目して説明する。図16は、対象ブロックのブロックサイズ又はブロックアスペクト比に応じた「partition_idx」の復号方法の制御の一例について説明するための図である。
上述の例では、幾何学ブロック分割パタンの特定方法の一例として、対象ブロックのブロックサイズ又はブロックのアスペクト比に依存しない「partition_idx」の復号方法(固定のインデックステーブルを用いた幾何学ブロック分割パタンの特定方法)が示されていた。
一方で、本変更例では、対象ブロックのブロックサイズ又はアスペクト比に応じて、「partition_idx」の復号方法を制御し、符号化効率を更に高める方法が、以下のように考えられる。
対象ブロックのブロックサイズ又はアスペクト比に着目すると、図16に示すように、8×8画素ブロックのような比較的小さいブロックと、32×32画素ブロックのような比較的大きいブロックでは、分割境界線のバリエーション数が同じであっても、ブロックの面積に対する分割境界線の粗密度合が異なる場合がある。
同様に、図16に示すように、横長ブロック及び縦長ブロックの水平・垂直方向で、上述の分割境界線の粗密度合が異なる場合も考えられる。
このような場合において、例えば、対象ブロックのブロックサイズ又はブロックアスペクト比に応じて、「partition_idx」から仰角φ及び距離ρを特定するために使用するインデックステーブルを変更してもよい。
例えば、ブロックサイズが小さい対象ブロックについては、幾何学ブロック分割パタン数が少ない、すなわち、「partition_idx」の最大値が小さいインデックステーブルを使用し、ブロックサイズが大きい対象ブロックについては、幾何学ブロック分割パタン数が多い、すなわち、「partition_idx」の最大値が大きいインデックステーブルを使用することで、固定のインデックステーブルを使用する上記の例よりも符号化効率を向上することができる。
また、このブロックサイズの大小と幾何学ブロック分割パタン数との相関(ブロックサイズと幾何学ブロック分割パタン数の比例関係)を逆にしてもよい。
言い換えると、ブロックサイズが小さい対象ブロックについては、幾何学ブロック分割パタン数が多い、すなわち、「partition_idx」の最大値が大きいインデックステーブルを使用し、ブロックサイズが大きい対象ブロックについては、幾何学ブロック分割パタン数が少ない、すなわち、「partition_idx」の最大値が小さいインデックステーブルを使用してもよい。
対象ブロックのブロックサイズ及び幾何学ブロック分割パタン数が、比例関係にある場合は、対象ブロックのブロックサイズが異なる場合であっても、分割境界線の粗密度合を均一にできる。
そのため、対象ブロック内に生じるオブジェクト境界に対して、幾何学ブロック分割による分割境界線をアラインさせられる確率が、ブロックサイズごとに均一にできる効果が期待できる。
一方で、対象ブロックのブロックサイズ及び幾何学ブロック分割パタン数が、反比例関係にある場合は、上述の効果は期待できないが、小さいブロックサイズに限定して、オブジェクト境界に対して、分割境界線をアラインさせられる確率をより増加させられる効果が期待できる。
一般に、自然画像において、オブジェクト境界が複雑に走る(複数の任意の方向に現れる)箇所は、小さいブロックで符号化されるケースが多く、一方で、オブジェクト境界が水平や垂直に近い方向に現れる場合は、矩形ブロック分割との誤差が小さいために、大きいブロックで符号化されるケースが多い。
そのため、この考え方に基づけば、小さいブロックに対して幾何学ブロック分割パタン数を増やすことで、オブジェクト境界に対して、分割境界線をアラインさせられる確率をより増加させられる効果が期待できるため、結果的に予測誤差の低減効果が期待できる。
同様に、横長ブロックについては、水平方向に幾何学ブロック分割パタン数を増やし、逆に垂直方向については幾何学ブロック分割パタン数を減らしてもよい。
一方で、縦長ブロックについては、水平方向に幾何学ブロック分割パタン数を増やし、逆に垂直方向については幾何学ブロック分割パタン数を減らしてもよい。
また、このブロックアスペクト比の大小と幾何学ブロック分割パタン数との相関は、上述のブロックサイズの大小及び幾何学ブロック分割パタン数の説明で示したように、逆にしてもよい。
言い換えると、横長ブロックについては、水平方向に幾何学ブロック分割パタン数を減らし、逆に垂直方向については幾何学ブロック分割パタン数を増やしてもよい。
一方で、縦長ブロックについては、水平方向に幾何学ブロック分割パタン数を減らし、逆に垂直方向については幾何学ブロック分割パタン数を増やしてもよい。
このように相関を逆にする理由は、上記ブロックサイズの大小と幾何学ブロック分割数の相関の説明で示した考え方と同じであるため、説明は省略する。
なお、このブロックアスペクト比に応じた幾何学ブロック分割パタン数の制御方法は、上述のケースと同様に、使用するインデックステーブルを変更することで、実現可能である。
その他の実装例として、インデックステーブル自体は固定であるが、対象ブロックのブロックサイズ又はアスペクト比に応じて、インデックステーブル上で復号可能な「partition_idx」の値の範囲を限定する案が考えられる。
これは、符号長状態は短くならないため、符号化効率向上には寄与しないが、画像符号化装置100観点では、不要な幾何学ブロック分割パタンにおけるコスト算出までのプロセスが省略可能であるため、符号化処理高速化に寄与できる。
<第2実施形態>
以下、図17~図22を参照して、本発明の第2実施形態について、上述の第1実施形態との相違点に着目して説明する。
以下、図17~図22を参照して、本発明の第2実施形態について、上述の第1実施形態との相違点に着目して説明する。
(動き情報利用可否確認処理)
以下、本実施形態における動き情報利用可否確認処理について説明する。
以下、本実施形態における動き情報利用可否確認処理について説明する。
かかる動き情報利用可否確認処理は、上述の通り、マージリスト構築処理を構成する第1処理ステップである。
具体的には、かかる動き情報利用可否確認処理は、対象ブロックに空間的又は時間的に隣接する参照ブロックに、動き情報があるかどうかを確認する。ここで、動き情報の確認方法については、非特許文献1に記載の既知の方法を本実施形態において用いることが可能であるため、説明は省略する。
(マージリストへの動き情報登録・剪定処理)
以下、図17を参照して、本実施形態に係るマージリストへの動き情報登録・剪定処理について説明する。
以下、図17を参照して、本実施形態に係るマージリストへの動き情報登録・剪定処理について説明する。
図17は、本実施形態に係るマージリストへの動き情報登録・剪定処理の一例を示すフローチャートである。
図17に示すように、本実施形態に係るマージリストへの動き情報登録・剪定処理は、非特許文献1と同様に、合計5つの動き情報登録・剪定処理によって構成されていてもよい。
具体的には、かかる動き情報登録・剪定処理は、ステップS14-1の空間マージ、ステップS14-2の時間マージ、ステップS14-3のヒストリーマージ、ステップS14-4のペアワイズ平均マージ、ステップS14-5のゼロマージによって構成されていてもよい。それぞれの処理の詳細については、後述する。
図18は、前記マージリストへの動き情報登録・剪定処理の結果、構築されたマージリストの一例を示す図である。マージリストとは、上述の通り、マージインデックスに対応する動き情報を登録したリストである。
ここで、マージインデックスの最大数は、非特許文献1では、5と設定されているが、設計者の意図により、自由に設定されてもよい。
また、図18にあるmvL0、mvL1、RefIdxL0、RefIdxL1は、それぞれ参照画像リストL0、L1の動きベクトル及び参照画像インデックスを示す。
ここで、参照画像リストL0、L1は、参照フレームが登録されたリストのことを示し、RefIdxによって、その参照フレームが特定される。
なお、図18に示すマージリストには、L0とL1双方の動きベクトル及び参照画像インデックスが示されているが、参照ブロックによっては片予測である場合がある。
かかる場合は、1つ(片予測)の動きベクトルと1つの参照画像インデックスがリストに登録される。なお、ステップS15-1からステップS15-4の各処理の前段で、上述の動き情報利用可否確認処理によって、参照ブロックに動き情報が存在しないことが確認された場合は、各処理がスキップされる。
(空間マージ)
図19は、空間マージについて説明するための図である。
図19は、空間マージについて説明するための図である。
空間マージは、対象ブロックと同一フレームに存在する隣接ブロックから、mv、RefIdx、hpelIfIdxを継承する技術である。
具体的には、マージリスト構築部241A23は、図15に示すような位置関係にある隣接ブロックから、上述のmv、Refidx、hpelfIdxを継承し、マージリストに登録するように構成されている。その処理順は、非特許文献1と同様に、図19に示すようなB1⇒A1⇒B0⇒A0⇒B2という順序であってもよい。
(動き情報の剪定処理)
なお、マージリストへの動き情報登録処理は、上述の処理順で行ってもよいが、マージリストに対して、既に登録済みの動き情報と同一の動き情報が登録されないように、非特許文献1と同様に、動き情報の剪定処理を実装してもよい。
なお、マージリストへの動き情報登録処理は、上述の処理順で行ってもよいが、マージリストに対して、既に登録済みの動き情報と同一の動き情報が登録されないように、非特許文献1と同様に、動き情報の剪定処理を実装してもよい。
動き情報の剪定処理を実装する目的は、マージリストに登録される動き情報のバリエーションを増やすことであり、画像符号化装置100の観点では、画像特性に合わせて所定コストが最も小さくなる動き情報が選択できる点にある。
他方、画像復号装置200では、画像符号化装置100で選択された動き情報を用いて、予測精度の高い予測信号を生成することができるため、結果的に符号化性能の向上効果が期待できる。
空間マージに対する動き情報剪定処理は、例えば、マージリストにB1に対応する動き情報が登録された場合、次の処理順のA1に対応する動き情報の登録処理時に、登録されたB1に対応する動き情報との同一性が確認される。ここで、動き情報の同一性の確認とは、mvとRefIdxが同じであるかの比較である。ここで、同一性が確認されれば、A1に対応する動き情報は、マージリストに登録されない構成となっている。
なお、B0に対応する動き情報はB1に対応する動き情報と比較され、A0に対応する動き情報はA1に対応する動き情報と比較され、B2に対応する動き情報はB1とA1に対応する動き情報と比較される構成となっている。なお、比較する位置に対応する動き情報が存在しない場合は、同一性の確認をスキップして、対応する動き情報を登録してもよい。
また、非特許文献1では、空間マージによるマージインデックスの登録最大可能数を4と設定しており、隣接ブロックB2に関しては、それまでの空間マージ処理によって、既に4つの動き情報がマージリストに登録されている場合は、隣接ブロックB2の処理がスキップされる。本実施形態では、非特許文献1と同様に、隣接ブロックB2の処理を、既存の動き情報登録数によって判定してもよい。
(時間マージ)
図20は、時間マージについて説明するための図である。
図20は、時間マージについて説明するための図である。
時間マージは、対象ブロックと異なるフレームに存在するが、同一位置の左下の隣接ブロック(図17のC1)又は同一位置にあるブロック(図17のC0)を参照ブロックと特定して、動きベクトルと参照画像インデックスを継承する技術である。
時間マージリストによる動き情報のマージリストへの登録最大数は、非特許文献1においては1となっており、本実施形態においても、同様の値を用いてもよいし、設計者の意図で変更されてもよい。
また、時間マージにおいて継承される動きベクトルは、スケーリングされる。図21は、そのスケーリング処理を示した図である。
具体的には、図21に示すように、対象ブロックの参照フレームと対象フレームが存在するフレームとの距離tb及び参照ブロックの参照フレームと参照ブロックの参照フレームとの距離tdに基づいて、参照ブロックのmvが、以下のようにスケーリングされる。
mv’=(td/tb)×mv
時間マージでは、このスケーリングされたmv’が、マージインデックスに対応する動きベクトルとしてマージリストに登録される。
(ヒストリーマージ)
図22は、ヒストリーマージについて説明するための図である。
時間マージでは、このスケーリングされたmv’が、マージインデックスに対応する動きベクトルとしてマージリストに登録される。
(ヒストリーマージ)
図22は、ヒストリーマージについて説明するための図である。
ヒストリーマージは、対象ブロックよりも過去に符号化済みのインター予測ブロックが有する動き情報を、ヒストリーマージテーブルと呼ばれる記録領域に別途記録しておき、上述の空間マージ及び時間マージの処理終了時点で、マージリストに登録された動き情報の登録数が最大数に達していない場合に、ヒストリーマージテーブルに登録された動き情報を順次マージリストに登録するという技術である。
図22は、ヒストリーマージテーブルにより、マージリストへ動き情報が登録される処理の一例を示す図である。
このヒストリーマージテーブルに登録される動き情報は、ヒストリーマージインデックスで管理され、その最大登録数ついては、非特許文献1において最大6となっているが、同様の値を用いてもよいし、設計者の意図によって変更してもよい。
また、このヒストリーマージテーブルへの動き情報の登録処理は、非特許文献1では、FIFO処理を採用している。つまり、ヒストリーマージテーブルの登録された動き情報が、最大登録数に達した場合に、最後に登録されたヒストリーマージインデックスに紐づく動き情報が削除され、新規のヒストリーマージインデックスに紐づく動き情報が順次登録される構成となっている。
なお、ヒストリーマージテーブルに登録されている動き情報は、非特許文献1と同様に、対象ブロックがCTUを跨いだ場合、初期化(全ての動き情報をヒストリーマージテーブルから削除)してもよい。
(ペアワイズ平均マージ)
ペアワイズ平均マージは、マージリストに既に登録された2組のマージインデックスに紐づく動き情報を用いて、新たな動き情報を生成して、マージリストに登録する技術である。
ペアワイズ平均マージは、マージリストに既に登録された2組のマージインデックスに紐づく動き情報を用いて、新たな動き情報を生成して、マージリストに登録する技術である。
ペアワイズ平均マージに利用する2組のマージインデックスについては、非特許文献1と同様に、マージリストに登録されているマージインデックスの0番目及び1番目を固定で利用してもよいし、或いは、設計者の意図で、別の2組の組み合わせに変更してもよい。
ペアワイズ平均マージでは、マージリストに既に登録された2組のマージインデックスに紐づく動き情報を平均化して、新たな動き情報を生成する。
具体的には、例えば、2組のマージインデックスに対応する動きベクトルがそれぞれ2つある場合(すなわち、双予測である場合)、L0とL1方向の動きベクトルmvL0P0/mvL0P1、mvL1P0/mvL1P1によって、ペアワイズ平均マージの動きベクトルmvL0Avg/mvL1Avgは、それぞれ以下のように算出される。
mvL0Avg=(mvL0P0+mvL0P1)/2
mvL1Avg=(mvL1P0+mvL1P1)/2
ここで、mvL0P0とmvL1P0又はmvL0P1とmvL1P1のいずれかが存在しない場合は、存在しないベクトルがゼロベクトルとして、上述のように計算される。
mvL1Avg=(mvL1P0+mvL1P1)/2
ここで、mvL0P0とmvL1P0又はmvL0P1とmvL1P1のいずれかが存在しない場合は、存在しないベクトルがゼロベクトルとして、上述のように計算される。
このとき、非特許文献1では、ペアワイズ平均マージインデックスに紐づく参照画像インデックスをマージインデックスP0に紐づく参照画像インデックスRefIdxL0P0/RefIdxL0P1を常に使用するように定められている。
(ゼロマージ)
ゼロマージは、上述のペアワイズ平均マージ処理が終了した時点で、マージリストの動き情報の登録数が最大登録数に達していない場合に、ゼロベクトルをマージリストに追加する処理である。登録方法については、非特許文献1に記載の既知の方法を本実施形態で用いることが可能であるため、説明は省略する。
(ゼロマージ)
ゼロマージは、上述のペアワイズ平均マージ処理が終了した時点で、マージリストの動き情報の登録数が最大登録数に達していない場合に、ゼロベクトルをマージリストに追加する処理である。登録方法については、非特許文献1に記載の既知の方法を本実施形態で用いることが可能であるため、説明は省略する。
(マージリストからの動き情報復号処理)
マージリスト構築部241A23は、上述の動き情報登録・剪定処理の終了後に構築されたマージリストから動き情報を復号するように構成されている。
マージリスト構築部241A23は、上述の動き情報登録・剪定処理の終了後に構築されたマージリストから動き情報を復号するように構成されている。
例えば、マージリスト構築部241A23は、マージリスト構築部111A23から伝送されるマージインデックスに対応する動き情報をマージリストから選び出して復号する構成となっている。
他方、マージリスト構築部111A23におけるマージインデックスの選定方法は、図示していないが、最も符号化コストが小さくなる動き情報をマージリスト構築部241A23に伝送する構成となっている。
ここで、マージインデックスは、マージリストへの登録順序が早い、すなわち、インデックス番号が小さいマージインデックスの方が、符号長が短くなるため(符号化コストが小さくなるため)、マージリスト構築部111A23でインデックス番号が小さいマージインデックスが選定されやすい傾向となる。
ここで、マージリスト構築部241A23において、幾何学ブロック分割マージが無効の場合は、対象ブロックに対して、1つのマージインデックスが復号されるが、幾何学ブロックマージが有効時は、対象ブロックに対して、幾何学ブロック分割境界を跨いだ2つの領域m/nが存在するため、異なる2つのマージインデックスm/nがそれぞれ復号される構成となっている。
例えば、かかるマージインデックスm/nを以下のように復号することで、マージリスト構築部111A2から伝送されるm/nに対するマージインデックスが仮に同じである場合であっても、m/nに対して異なるマージインデックスを割り当てることが可能となる。
m=merge_idx0[xCb][yCb]
n=merge_idx1[xCb][yCb]+(merge_idx1[xCb][yCb]>=m)?1:0
ここで、xCb、yCbは、対象ブロックの最左上の位置する画素値の位置情報である。
n=merge_idx1[xCb][yCb]+(merge_idx1[xCb][yCb]>=m)?1:0
ここで、xCb、yCbは、対象ブロックの最左上の位置する画素値の位置情報である。
なお、merge_idx1については、幾何学ブロック分割マージの最大マージ候補数が2個以下である場合、復号しなくてもよい。何故なら、幾何学ブロック分割マージの最大マージ候補数が2個以下である場合、merge_idx1に対応するマージリスト中のマージインデックスは、merge_idx0で選択されたマージリスト中のマージインデックスとは別のもう一つのマージインデックスに特定されるためである。
[変更例6:幾何学ブロック分割マージ有効時のマージリスト構築の制御]
以下、図23及び図24を参照して、本発明の変更例6について、上述の第2実施形態との相違点に着目して説明する。具体的には、図23及び図24を参照して、本変更例に係る幾何学ブロック分割マージ有効時のマージリスト構築の制御について説明する。
以下、図23及び図24を参照して、本発明の変更例6について、上述の第2実施形態との相違点に着目して説明する。具体的には、図23及び図24を参照して、本変更例に係る幾何学ブロック分割マージ有効時のマージリスト構築の制御について説明する。
図23及び図24は、幾何学ブロック分割マージ有効時の対象ブロックにおける幾何学ブロック分割パタンの一例及び対象ブロックに対する空間マージと時間マージとの位置関係の一例を示す図である。
対象ブロックが、図23に示す幾何学ブロック分割パタンとなる場合、ブロック分割境界線を跨いだ2つの領域m/nに対する最近接の動き情報を有する隣接ブロックは、mに対してはB2となり、nに対してはB1/A1/A0/B0/C1となる。
また、対象ブロックが、図21に示す幾何学ブロック分割パタンとなる場合、分割境界を跨いだ2つの領域m/n対する最近接の動き情報を有する隣接ブロックは、mに対してはC1となり、nに対してはB1/A0/A1/B0/B2となる。
幾何学ブロック分割が有効となる場合は、上述m/nに対して最近接となる隣接ブロックの動き情報をマージリストに登録させやすくする方が、予測精度の向上効果が期待できる。
また、予測精度向上の観点では、B1/B0やA1/A0のような空間的に類似位置にある動き情報のマージリストへの登録優先度を下げて、B2やC1等の異なる空間位置にある動き情報をマージリストに加えた方が、さらなる予測精度向上効果が期待できる。
加えて、上述の通り、最近接の隣接ブロックの動き情報をインデックス番号の小さいマージインデックスとしてマージリストに登録すれば、符号化効率の向上ができる。
上述の構成は、例えば、マージリストへの登録優先度を変更したい動き情報がB0及びA0の動き情報である場合、動き情報利用可否確認処理において、これらの位置に仮に動き情報が存在すると確認される場合においても、動き情報を利用不可として扱うことで、B0及びA0に続くB2及びC1に対応する動き情報をマージリストに対して登録する確率を高くできる。
[変更例7:その他の動き情報の登録優先度変更方法]
以下に、本発明の変更例7について、上述の第2実施形態及び変更例6との相違点に着目して説明する。上述の変更例6では、幾何学ブロック分割マージ有効時の動き情報の登録優先度の変更処理を、空間マージ処理における所定位置、例えば、B0とA0の動き情報を、例え動き情報が存在する場合または既登録済の動き情報との被同一性が確認される場合であっても利用不可と扱うことで、以降に続く空間的あるいは時間的に隣接する動き情報、例えばB2やC1(C0)の動き情報の登録される確率(優先度)を間接的に高くすることを可能としている。
以下に、本発明の変更例7について、上述の第2実施形態及び変更例6との相違点に着目して説明する。上述の変更例6では、幾何学ブロック分割マージ有効時の動き情報の登録優先度の変更処理を、空間マージ処理における所定位置、例えば、B0とA0の動き情報を、例え動き情報が存在する場合または既登録済の動き情報との被同一性が確認される場合であっても利用不可と扱うことで、以降に続く空間的あるいは時間的に隣接する動き情報、例えばB2やC1(C0)の動き情報の登録される確率(優先度)を間接的に高くすることを可能としている。
一方で、その他の動き情報の登録優先度を変更する手段について以下で説明する
例えば、図17で示したマージリストのステップS14-1の空間マージ及びステップS14-2の時間マージの処理順を分解して、直接的に動き情報の登録の順序を変更してもよい。例えば、幾何学ブロック分割マージが適用される場合、空間マージのB2及び時間マージで登録される動き情報C1又はC0(以降、Colと示す)を、空間マージ処理中のB0とA0の前で実施する。
例えば、図17で示したマージリストのステップS14-1の空間マージ及びステップS14-2の時間マージの処理順を分解して、直接的に動き情報の登録の順序を変更してもよい。例えば、幾何学ブロック分割マージが適用される場合、空間マージのB2及び時間マージで登録される動き情報C1又はC0(以降、Colと示す)を、空間マージ処理中のB0とA0の前で実施する。
例えば、以下の2つの実装例が考えられる。
実装例1:幾何学ブロック分割マージの適用有無に応じて、通常マージのマージリストとマージリストを分岐させる方法
if ( !merge_geo_flag )
i = 0
if( availableFlagB1 )
mergeCandList[ i++ ] = B1
if( availableFlagA1 )
mergeCandList[ i++ ] = A1
if( availableFlagB0)
mergeCandList[ i++ ] = B0
if( availableFlagA0)
mergeCandList[ i++ ] = A0
if( availableFlagB2 )
mergeCandList[ i++ ] = B2
if( availableFlagC1 )
mergeCandList[ i++ ] = Col
else
i = 0
if( availableFlagB1 )
mergeCandList[ i++ ] = B1
if( availableFlagA1 )
mergeCandList[ i++ ] = A1
if( availableFlagB2)
mergeCandList[ i++ ] = B2
if( availableFlagC1
mergeCandList[ i++ ] = Col
if( availableFlagB0 )
mergeCandList[ i++ ] = B0
if( availableFlagA0 )
mergeCandList[ i++ ] = A0
ここで、merge_geo_flagは、幾何学ブロック分割マージの適用有無の判定結果を保持した内部パラメータであり、同パラメータが0の場合は幾何学ブロック分割マージが非適用、1の場合は適用することを示す。
if ( !merge_geo_flag )
i = 0
if( availableFlagB1 )
mergeCandList[ i++ ] = B1
if( availableFlagA1 )
mergeCandList[ i++ ] = A1
if( availableFlagB0)
mergeCandList[ i++ ] = B0
if( availableFlagA0)
mergeCandList[ i++ ] = A0
if( availableFlagB2 )
mergeCandList[ i++ ] = B2
if( availableFlagC1 )
mergeCandList[ i++ ] = Col
else
i = 0
if( availableFlagB1 )
mergeCandList[ i++ ] = B1
if( availableFlagA1 )
mergeCandList[ i++ ] = A1
if( availableFlagB2)
mergeCandList[ i++ ] = B2
if( availableFlagC1
mergeCandList[ i++ ] = Col
if( availableFlagB0 )
mergeCandList[ i++ ] = B0
if( availableFlagA0 )
mergeCandList[ i++ ] = A0
ここで、merge_geo_flagは、幾何学ブロック分割マージの適用有無の判定結果を保持した内部パラメータであり、同パラメータが0の場合は幾何学ブロック分割マージが非適用、1の場合は適用することを示す。
また、availableFlagは、空間マージ及び時間マージの各マージ候補に対する上述の動き情報利用可否確認処理の判定結果を保持した内部パラメータである。同パラメータが0の場合は動き情報が存在しない、1の場合は動き情報が存在することを示す。
また、mergeCandListは、各位置における動き情報の登録処理を示す。最初のif文で幾何学ブロック分割マージの適用有無がmerge_geo_flagにより判定され、非適用と判定される場合は通常マージと同様のマージリスト構築処理に入り、適用と判定される場合は通常マージから動き情報利用可否確認処理と動き情報登録・剪定処理を入れ替えた幾何学ブロック分割マージのマージリスト構築処理に入る。
実装例2:通常マージと幾何学ブロック分割マージのマージリスト構築を一部共通化させる方法
i = 0
if( availableFlagB1 )
mergeCandList[ i++ ] = B1
if( availableFlagA1 )
mergeCandList[ i++ ] = A1
if( availableFlagB0 && !merge_geo_flag )
mergeCandList[ i++ ] = B0
if( availableFlagA0 && !merge_geo_flag)
mergeCandList[ i++ ] = A0
if( availableFlagB2 )
mergeCandList[ i++ ] = B2
if( availableFlagC1 )
mergeCandList[ i++ ] = Col
if( availableFlagB0 && merge_geo_flag )
mergeCandList[ i++ ] = B0
if( availableFlagA0 && merge_geo_flag)
mergeCandList[ i++ ] = A0
この実装例2は、実装例1について合計の処理段数は増えてしまうが、幾何学ブロック分割マージ向けのマージリストを通常マージリストと一部共通化しているため、実装例1のように、完全に独立のマージリスト構築処理回路のリソースを持たなくてもよいという利点がある。
i = 0
if( availableFlagB1 )
mergeCandList[ i++ ] = B1
if( availableFlagA1 )
mergeCandList[ i++ ] = A1
if( availableFlagB0 && !merge_geo_flag )
mergeCandList[ i++ ] = B0
if( availableFlagA0 && !merge_geo_flag)
mergeCandList[ i++ ] = A0
if( availableFlagB2 )
mergeCandList[ i++ ] = B2
if( availableFlagC1 )
mergeCandList[ i++ ] = Col
if( availableFlagB0 && merge_geo_flag )
mergeCandList[ i++ ] = B0
if( availableFlagA0 && merge_geo_flag)
mergeCandList[ i++ ] = A0
この実装例2は、実装例1について合計の処理段数は増えてしまうが、幾何学ブロック分割マージ向けのマージリストを通常マージリストと一部共通化しているため、実装例1のように、完全に独立のマージリスト構築処理回路のリソースを持たなくてもよいという利点がある。
また、上述の構成では、B2及びColの登録優先度を、B0及びA0よりも高くする構成を示したが、B2及びColの登録優先度を、B1及びA1よりも高くしてもよい。その他の構成例として、例えばB2又はColのいずれか一方を、B0及びA0よりも優先度を高くしてもよいし、或いは、B1とA1よりも優先度を高くしてもよい。
なお、B2がB1、A1、B0、A0よりも前にマージリストに登録される場合は、上述で示したB2におけるB1、A1、B0、Aに対応する動き情報との同一性確認(比較条件)を撤廃してもよい。一方で、B1及びA1に対応する動き情報の登録時に、B2に対応する動き情報との同一性確認を追加してもよい。
また、上述では、マージリスト構築中の動き情報の登録優先度の変更方法を述べたが、マージリスト構築後に、以下に説明する方法で登録優先度を変更してもよい。
具体的には、マージリストに動き情報が登録される際に、いずれのマージ処理及びいずれの位置に対応する動き情報が登録されたかを内部パラメータとして、動きベクトルを復号(選定)するまで保存しておく。これにより、マージリスト構築完了後に所定のマージ処理及び所定の位置に対する動き情報、例えば、空間マージB0及びA0により登録された動き情報のマージインデックス番号を、時間マージColのマージインデックス番号と順序変更することで、時間マージColを空間マージB0及びA0よりも優先度を高くできる(小さいマージインデックス番号への対応付け実現可能である)。同様の手法を用いて、上述の間接的或いは直接的な動き情報の登録優先度の順序変更例を実現してもよい。
上述のように、動き情報の登録優先度変更をマージリスト構築処理後にて実施する副次効果として、幾何学ブロック分割マージが有効時のマージリスト構築処理を通常マージにおけるマージリスト構築処理と共通化することができる。
具体的には、通常マージ及び幾何学ブロック分割マージにおけるマージリスト構築処理内の動き利用可否確認処理と動き情報登録・剪定処理における各マージ処理の処理順序を共通化できることである。
[変更例8:ブロックサイズに応じたマージリスト構築順序の変更]
以下、本発明の変更例8について、上述の第2実施形態及び変更例6~7との相違点に着目して説明する。
以下、本発明の変更例8について、上述の第2実施形態及び変更例6~7との相違点に着目して説明する。
上述の変更例6と変更例7では、動き情報の登録優先度の変更判定基準を、幾何学ブロック分割マージの適用有無に基づいて判定する構成を示した。
一方で、本変更例では、かかる判定基準を、幾何学ブロック分割パタンに基づいて判定してもよいし、或いは、対象ブロックのブロックサイズ及びアスペクト比に基づいて判定してもよい。
かかる構成によれば、幾何学ブロック分割パタンまでを確認して、マージリストの動き情報の登録優先度を変更することで、予測精度の更なる向上効果が期待できる。
(異なる2つの動き情報の選択(復号)方法)
以下で、本実施形態に係る幾何学ブロック分割マージ有効時の異なる2つの動き情報の選択(復号)方法について説明する。
以下で、本実施形態に係る幾何学ブロック分割マージ有効時の異なる2つの動き情報の選択(復号)方法について説明する。
幾何学ブロック分割マージ有効時、対象ブロックが分割境界線を跨いで異なる2つの動き情報を有すると上述した。また、この異なる2つの動き情報は、上述したマージリストの中から最も符号化コストが小さいものが符号化装置100で選定され、それぞれの分割領域m/nに対する2つのマージインデックスmerge_geo_idx0とmerge_geo_idx1を用いて、マージリストのマージインデックス番号が指定されて、画像復号装置200に伝送されて、対応する動き情報が復号されると上述した。
一方で、指定されたマージインデックス番号に対して、2つの動き情報が登録されている場合、具体的には上述したマージ処理で登録された隣接ブロックが双予測(L0及びL1それぞれに動き情報を持つ)の場合には、その2つの動き情報が1つのマージインデックスに対して登録されている可能性があるため、いずれか一方を選択する必要がある。
以下で、その選択方法の一例を説明する。
例えば、1つの構成例として、マージリストのマージインデックスの番号順で、復号する動き情報の優先度を予め設定しておく手法である。具体的には、マージインデックス番号の処理順で、例えば偶数番号である0、2、4は、マージインデックスのL0に登録された動き情報を復号することを優先し、奇数番号である1、3、5のマージインデックスは、L1に登録された動き情報の復号を優先する。
上述の構成例で、各番号順に対する該当のL0又はL1の動き情報がない場合は、存在する方の動き情報を復号してもよい。また、偶数と奇数に対するL0とL1を逆にしてもよい。
その他の構成例も以下に示す。例えば、対象ブロックが含まれる対象フレームに対して、L0及びL1に対応する参照インデックスが示す参照フレームの距離を比較し、距離が近い参照フレームを含む動き情報を優先して復号してもよい。
上述のように、幾何学ブロック分割マージが有効時に、分割領域のマージインデックスに対して、異なる2つの動き情報がマージリストに登録されている場合、対象フレームと距離の近い参照フレームを含む動き情報を優先して復号することで、予測誤差の低減効果が期待できる。
なお、異なる2つの動き情報に対する参照フレームと対象フレームとの距離差が同じになる場合は、上述のように、マージリストのマージインデックスの番号に対して予め設定した優先度、すなわち、偶数番号である0、2、4はL0に登録された動き情報を優先し、奇数番号である1、3,5はL1に登録された動き情報を優先してもよい。
対象フレームのピクチャ順序カウント(POC:Pitcure Order Count)によっては、L0及びL1に含まれる参照フレームとの距離差が同じになるため、上述のように優先度を決定してもよい。
或いは、マージリストのマージインデックス番号で、1つ前のインデックス番号で選択された方とは反対のリストを選択してもよい。例えば、マージリストのマージインデックス1番目は、マージインデックス0番目でL0が選択された場合は、反対のリストであるL1を選択することとしてもよい。なお、マージリストのマージインデックス0番目で、当該フレーム距離差が同じである場合、L0を参照してもよい。
上述では、対象フレームと参照フレームとの距離の近い動き情報を優先して復号する構成例を示したが、逆に対象フレームと参照フレームの距離が遠い方の動き情報を復号してもよい。
また、それぞれの分割領域m/nに対する2つのマージインデックスmerge_geo_idx0とmerge_geo_idx1で、距離が近い方及び距離が遠い方の動き情報を復号するというように、それぞれで動き情報の復号優先度を変えてもよい。
(幾何学ブロック分割マージにおける予測信号生成処理)
以下で、本実施形態に係る幾何学ブロック分割マージ有効時の予測信号生成処理方法について説明する。
以下で、本実施形態に係る幾何学ブロック分割マージ有効時の予測信号生成処理方法について説明する。
幾何学ブロック分割マージ有効時、対象ブロックが分割境界線を跨いで異なる2つの動き情報を有すると上述した。このとき、対象ブロックに対して、この異なる2つの動きベクトルに基づき生成した動き補償予測信号を、分割境界線からの距離に依存する重みで重み付け平均(ブレンディング)することで、分割境界線に対する画素値のスムージング効果が期待できる。
上述の重みは、例えば、1つの幾何学ブロック分割パタンに対して、1つの重みテーブル(ブレンディングテーブル)を画像符号化装置100及び画像復号装置200が持つことで、幾何学ブロック分割パタンが特定できれば、幾何学ブロック分割パタンに適したブレンディング処理が実現できる。
上述の実施形態によれば、矩形分割された対象ブロックに対して、幾何学ブロック分割マージを適用することにより、任意の方向に現れるオブジェクト境界に対して、適切なブロック分割形状が選択されるようになるため、結果的に予測誤差が低減されることによる符号化性能向上効果及びオブジェクト境界に対して適切なブロック分割境界が選択されることによる主観画質向上効果を実現することができる。
なお、マージリスト構築部111A2は、幾何学ブロック分割マージの適用有無に応じて、動き情報利用可否確認処理時に、所定マージ処理に対する動き情報の存在有無に関わらずに、上述の動き情報を利用不可として扱うように構成されていてもよい。
また、マージリスト構築部111A2は、幾何学ブロック分割マージの適用有無に応じて、動き情報登録・剪定処理時に、所定マージ処理に対する動き情報を、マージリストに既登録済みの動き情報との同一性に関わらずに剪定対象として扱う、すなわち、マージリストに新たに登録しないように構成されていてもよい。
上述の画像符号化装置100及び画像復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
なお、上述の各実施形態では、本発明を画像符号化装置100及び画像復号装置200への適用を例にして説明したが、本発明は、これのみに限定されるものではなく、画像符号化装置100及び画像復号装置200の各機能を備えた画像符号化システム及び画像復号システムにも同様に適用できる。
10…画像処理システム
100…画像符号化装置
111、241…インター予測部
111A…mv導出部
111A1、241A1…AMVP部
111A2、241A2…マージ部
111B、241B…mv洗練化部
111C、241C…予測信号生成部
111A21、241A21…マージモード特定部
111A22、241A22…幾何学ブロック分割部
111A23、241A23…マージリスト構築部
112、242…イントラ予測部
121…減算器
122、230…加算器
131…変換・量子化部
132、220…逆変換・逆量子化部
140…符号化部
150、250…インループフィルタ処理部
160、260…フレームバッファ
200…画像復号装置
210…復号部
100…画像符号化装置
111、241…インター予測部
111A…mv導出部
111A1、241A1…AMVP部
111A2、241A2…マージ部
111B、241B…mv洗練化部
111C、241C…予測信号生成部
111A21、241A21…マージモード特定部
111A22、241A22…幾何学ブロック分割部
111A23、241A23…マージリスト構築部
112、242…イントラ予測部
121…減算器
122、230…加算器
131…変換・量子化部
132、220…逆変換・逆量子化部
140…符号化部
150、250…インループフィルタ処理部
160、260…フレームバッファ
200…画像復号装置
210…復号部
Claims (14)
- 画像復号装置であって、
矩形分割された対象ブロックに対して、幾何学ブロック分割マージを適用するように構成されているマージ部を備え、
前記マージ部は、
前記幾何学ブロック分割マージの適用有無を特定するように構成されているマージモード特定部と、
幾何学ブロック分割パタンを特定し、特定した前記幾何学ブロック分割パタンを用いて、前記矩形分割された対象ブロックを更に幾何学ブロック分割するように構成されている幾何学ブロック分割部と、
前記幾何学ブロック分割された対象ブロックに対するマージリストを構築して動き情報を復号するように構成されているマージリスト構築部とを具備することを特徴とする画像復号装置。 - 前記マージモード特定部は、通常マージが非適用である場合に、前記対象ブロックのマージモードを前記幾何学ブロック分割マージと特定するように構成されていることを特徴とする請求項1に記載の画像復号装置。
- 前記マージモード特定部は、通常マージの適用有無を特定する通常マージフラグの復号要否判定条件において、幾何学ブロック分割マージの適用可不可を特定する判定条件を追加するように構成されていることを特徴とする請求項1又は2に記載の画像復号装置。
- 前記幾何学ブロック分割マージの適用可不可を特定する判定条件には、前記対象ブロックのブロックアスペクト比による判定条件が含まれることを特徴とする請求項3に記載の画像復号装置。
- 前記幾何学ブロック分割部は、前記幾何学ブロック分割パタンを幾何学ブロック分割境界線が通る位置と仰角とに基づいて規定し、前記位置と前記仰角との組み合わせをインデックスで表すように構成されていることを特徴とする請求項1に記載の画像復号装置。
- 前記幾何学ブロック分割部は、前記幾何学ブロック分割パタンを示すインデックスを復号して、前記幾何学ブロック分割パタンを特定するように構成されている請求項1又は5に記載の画像復号装置。
- 前記幾何学ブロック分割部は、前記対象ブロックのブロックサイズ又はブロックアスペクト比に応じて、前記幾何学ブロック分割パタンを示すインデックスの復号方法を制御するように構成されていることを特徴とする請求項1、5又は6に記載の画像復号装置。
- 前記マージリスト構築部は、前記幾何学ブロック分割マージの適用有無に応じて、前記マージリストの構築処理を制御するように構成されていることを特徴とする請求項1に記載の画像復号装置。
- 前記マージリスト構築部は、前記幾何学ブロック分割マージの適用有無に応じて、前記マージリストの構築処理を構成する動き情報利用可否確認処理又は動き情報登録・剪定処理を制御するように構成されていることを特徴とする請求項1又は8に記載の画像復号装置。
- 前記マージリスト構築部は、前記幾何学ブロック分割マージの適用有無に応じて、空間マージ処理の所定位置に対する動き情報利用可否確認処理及び動き情報登録・剪定処理と時間マージ処理の動き情報利用可否確認処理及び動き情報登録・剪定処理の順序を変更することを特徴とする請求項1、8又は9に記載の画像復号装置。
- 前記マージリスト構築部は、前記幾何学ブロック分割マージの適用有無に応じて、前記マージリストの構築処理後のマージリストの動き情報登録順序を修正するように構成されていることを特徴とする請求項1、8又は9に記載の画像復号装置。
- 前記対象ブロックのブロックアスペクト比による判定条件は、前記対象ブロックのブロックアスペクト比が8以上である場合、前記対象ブロックに対して前記幾何学ブロック分割マージの適用を禁止するという条件を含むことを特徴とする請求項4に記載の画像復号装置。
- 矩形分割された対象ブロックに対して、幾何学ブロック分割マージを適用する工程を有する画像復号方法であって、
前記工程は、
前記幾何学ブロック分割マージの適用有無を特定する工程と、
幾何学ブロック分割パタンを特定し、特定した前記幾何学ブロック分割パタンを用いて、前記矩形分割された対象ブロックを更に幾何学ブロック分割する工程と、
前記幾何学ブロック分割された対象ブロックに対するマージリストを構築して動き情報を復号する工程とを有することを特徴とする画像復号方法。 - コンピュータを、画像復号装置として機能させるプログラムであって、
前記画像復号装置は、矩形分割された対象ブロックに対して、幾何学ブロック分割マージを適用するように構成されているマージ部を備え、
前記マージ部は、
前記幾何学ブロック分割マージの適用有無を特定するように構成されているマージモード特定部と、
幾何学ブロック分割パタンを特定し、特定した前記幾何学ブロック分割パタンを用いて、前記矩形分割された対象ブロックを更に幾何学ブロック分割するように構成されている幾何学ブロック分割部と、
前記幾何学ブロック分割された対象ブロックに対するマージリストを構築して動き情報を復号するように構成されているマージリスト構築部とを具備することを特徴とするプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/615,543 US20230109719A1 (en) | 2019-12-26 | 2020-12-02 | Image decoding device, image decoding method, and program |
CN202080040283.6A CN113906745B (zh) | 2019-12-26 | 2020-12-02 | 图像解码装置、图像解码方法及程序 |
EP20904382.7A EP3989552A4 (en) | 2019-12-26 | 2020-12-02 | IMAGE DECODING DEVICE, IMAGE DECODING METHOD AND PROGRAM |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-237278 | 2019-12-26 | ||
JP2019237278A JP6931038B2 (ja) | 2019-12-26 | 2019-12-26 | 画像復号装置、画像復号方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021131548A1 true WO2021131548A1 (ja) | 2021-07-01 |
Family
ID=76573044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/044804 WO2021131548A1 (ja) | 2019-12-26 | 2020-12-02 | 画像復号装置、画像復号方法及びプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230109719A1 (ja) |
EP (1) | EP3989552A4 (ja) |
JP (2) | JP6931038B2 (ja) |
CN (1) | CN113906745B (ja) |
WO (1) | WO2021131548A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6931038B2 (ja) * | 2019-12-26 | 2021-09-01 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120300850A1 (en) * | 2010-02-02 | 2012-11-29 | Alex Chungku Yie | Image encoding/decoding apparatus and method |
AU2015201569B2 (en) * | 2010-07-09 | 2016-08-11 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging |
KR101484281B1 (ko) * | 2010-07-09 | 2015-01-21 | 삼성전자주식회사 | 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치 |
EP4283995A3 (en) * | 2011-10-05 | 2024-02-21 | Sun Patent Trust | Decoding method and decoding apparatus |
CN102547290B (zh) * | 2012-01-20 | 2013-12-18 | 厦门大学 | 一种基于几何分割的视频图像解编码方法 |
KR101561461B1 (ko) * | 2012-11-27 | 2015-10-20 | 경희대학교 산학협력단 | 영상의 부호화/복호화 방법 및 이를 이용하는 장치 |
JP5776711B2 (ja) * | 2013-03-06 | 2015-09-09 | 株式会社Jvcケンウッド | 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム |
CN116781899A (zh) * | 2016-10-28 | 2023-09-19 | 韩国电子通信研究院 | 视频编码/解码方法和设备以及存储比特流的记录介质 |
WO2018092868A1 (ja) * | 2016-11-21 | 2018-05-24 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
JPWO2018092870A1 (ja) * | 2016-11-21 | 2019-10-17 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 |
US20180144521A1 (en) * | 2016-11-22 | 2018-05-24 | Qualcomm Incorporated | Geometric Work Scheduling of Irregularly Shaped Work Items |
WO2019001734A1 (en) * | 2017-06-30 | 2019-01-03 | Huawei Technologies Co., Ltd. | ENCODER, DECODER, COMPUTER PROGRAM, AND COMPUTER PROGRAM PRODUCT FOR PROCESSING A FRAME OF A VIDEO SEQUENCE |
CA3072997A1 (en) | 2017-08-22 | 2019-02-28 | Panasonic Intellectual Property Corporation Of America | Image encoder, image decoder, image encoding method, and image decoding method |
CN113056917B (zh) * | 2018-11-06 | 2024-02-06 | 北京字节跳动网络技术有限公司 | 为视频处理使用具有几何分割的帧间预测 |
KR20210011898A (ko) * | 2019-07-23 | 2021-02-02 | 한국전자통신연구원 | 기하학적 분할을 사용하는 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체 |
JP6931038B2 (ja) * | 2019-12-26 | 2021-09-01 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
-
2019
- 2019-12-26 JP JP2019237278A patent/JP6931038B2/ja active Active
-
2020
- 2020-12-02 CN CN202080040283.6A patent/CN113906745B/zh active Active
- 2020-12-02 WO PCT/JP2020/044804 patent/WO2021131548A1/ja active Application Filing
- 2020-12-02 US US17/615,543 patent/US20230109719A1/en active Pending
- 2020-12-02 EP EP20904382.7A patent/EP3989552A4/en active Pending
-
2021
- 2021-08-12 JP JP2021131823A patent/JP7564068B2/ja active Active
Non-Patent Citations (6)
Title |
---|
BENJAMIN BROSS , JIANLE CHEN , SHAN LIU , YE-KUI WANG: "Versatile Video Coding (Draft 7)", 16. JVET MEETING; 20191001 - 20191011; GENEVA; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-P2001-vE, 14 November 2019 (2019-11-14), pages 1 - 489, XP030224330 * |
BENJAMIN BROSS , JIANLE CHEN , SHAN LIU , YE-KUI WANG: "Versatile Video Coding (Draft 8)", 17. JVET MEETING; 20200107 - 20200117; BRUSSELS; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-Q2001-vE, 12 March 2020 (2020-03-12), pages 1 - 510, XP030285390 * |
H. GAO (HUAWEI), S. ESENLIK, E. ALSHINA, A. M. KOTRA, B. WANG (HUAWEI), K. REUZE (QUALCOMM), C.-C. CHEN, H. HUANG, W.-J. CHIEN, V.: "CE4 Common Base: Geometric inter prediction", 17. JVET MEETING; 20200107 - 20200117; BRUSSELS; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 8 January 2020 (2020-01-08), XP030222517 * |
See also references of EP3989552A4 * |
Y. KIDANI (KDDI), K. KAWAMURA (KDDI), K. UNNO, S. NAITO (KDDI): "Non-CE4: On merge list generation for geometric partitioning", 17. JVET MEETING; 20200107 - 20200117; BRUSSELS; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 11 January 2020 (2020-01-11), XP030222643 * |
Z. DENG (BYTEDANCE), L. ZHANG (BYTEDANCE), H. LIU (BYTEDANCE), K. ZHANG (BYTEDANCE), Y. WANG (BYTEDANCE): "CE4-related: Further constraints on block shapes for GEO", 17. JVET MEETING; 20200107 - 20200117; BRUSSELS; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 31 December 2019 (2019-12-31), XP030223128 * |
Also Published As
Publication number | Publication date |
---|---|
CN113906745A (zh) | 2022-01-07 |
JP2021106342A (ja) | 2021-07-26 |
JP2022000949A (ja) | 2022-01-04 |
EP3989552A1 (en) | 2022-04-27 |
US20230109719A1 (en) | 2023-04-13 |
JP7564068B2 (ja) | 2024-10-08 |
CN113906745B (zh) | 2024-10-25 |
EP3989552A4 (en) | 2023-07-26 |
JP6931038B2 (ja) | 2021-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7271768B2 (ja) | 候補リスト共有方法及びこのような方法を使用する装置 | |
US11284067B2 (en) | Method and apparatus for setting reference picture index of temporal merging candidate | |
JP7540783B2 (ja) | 適応的動きベクトル解像度を利用したビデオ信号処理方法及び装置 | |
JP2022506767A (ja) | ペアワイズ平均候補計算におけるラウンディング | |
US20240007646A1 (en) | Inter-prediction method and apparatus in image coding system | |
CN114009033A (zh) | 用于用信号通知对称运动矢量差模式的方法和装置 | |
US20240205385A1 (en) | Composed prediction and restricted merge | |
WO2021197992A1 (en) | Geometric partitioning merge mode with merge mode with motion vector difference | |
WO2021131548A1 (ja) | 画像復号装置、画像復号方法及びプログラム | |
JP2024003175A (ja) | 画像復号装置、画像復号方法及びプログラム | |
CN113826394A (zh) | 帧内块复制模式下自适应运动矢量差分辨率的改进 | |
JP7267885B2 (ja) | 画像復号装置、画像復号方法及びプログラム | |
WO2023277107A1 (ja) | 画像復号装置、画像復号方法及びプログラム | |
JP2023126544A (ja) | 画像復号装置、画像復号方法及びプログラム | |
CN118679744A (zh) | 用于视频处理的方法、装置和介质 | |
CN118285098A (zh) | 用于视频处理的方法、装置和介质 | |
JP2020025308A (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: 20904382 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2020904382 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |