WO2021251278A1 - 画像復号装置、画像復号方法及びプログラム - Google Patents

画像復号装置、画像復号方法及びプログラム Download PDF

Info

Publication number
WO2021251278A1
WO2021251278A1 PCT/JP2021/021276 JP2021021276W WO2021251278A1 WO 2021251278 A1 WO2021251278 A1 WO 2021251278A1 JP 2021021276 W JP2021021276 W JP 2021021276W WO 2021251278 A1 WO2021251278 A1 WO 2021251278A1
Authority
WO
WIPO (PCT)
Prior art keywords
mmvd
syntax
motion vector
value
precision
Prior art date
Application number
PCT/JP2021/021276
Other languages
English (en)
French (fr)
Inventor
佳隆 木谷
恭平 海野
圭 河村
Original Assignee
Kddi株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kddi株式会社 filed Critical Kddi株式会社
Priority to CN202180041300.2A priority Critical patent/CN115918086A/zh
Priority to EP21822640.5A priority patent/EP4149112A4/en
Publication of WO2021251278A1 publication Critical patent/WO2021251278A1/ja
Priority to US18/062,993 priority patent/US20230103543A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy

Definitions

  • the present invention relates to an image decoding device, an image decoding method and a program.
  • sequence parameter set is a syntax that can control whether or not the transmission accuracy of the merge motion vector difference (MMVD: Merge with MVD) is an integer accuracy.
  • MMVD Merge with MVD
  • Sps_mmvd_fullpel_only_flag and picture header (PH: Picture Header) syntax
  • ph_mmvd_fullpel_only_flag is provided.
  • Non-Patent Document 1 stipulates that ph_mmvd_fullpel_only_flag is decoded even when sps_mmvd_fullpel_only_flag is valid (that is, when the transmission accuracy of MMVD is specified to be integer accuracy in sequence units). There was a problem that it was done.
  • Non-Patent Document 1 there is a problem that ph_mmvd_fullpel_only_flag is unnecessarily decoded even though the transmission accuracy of MMVD is specified as an integer accuracy by sps_mmvd_fullpel_only_flag.
  • the present invention has been made in view of the above-mentioned problems, and when the syntax that controls the transmission accuracy of the MMVD is decoded in sequence units and the transmission accuracy of the MMVD is undefined (that is, the transmission accuracy of the MMVD is undefined). Only when either decimal precision or integer precision may be used as the transmission accuracy), by decoding the syntax that controls the transmission accuracy of MMVD in picture units, the amount of unnecessary syntax decoding processing and the amount of bits It is an object of the present invention to provide an image decoding device, an image decoding method and a program capable of reducing the number of images.
  • the first feature of the present invention is the image decoding device, which includes a decoding unit configured to decode the first syntax that controls the transmission accuracy of the merge motion vector difference in the sequence to be decoded.
  • the first syntax indicates that the integer precision may be used as the transmission precision of the merge mode motion vector difference in the sequence to be decoded.
  • the gist is that the first syntax indicates that the decimal precision is used as the transmission precision of the merge mode motion vector difference in the sequence to be decoded. ..
  • the second feature of the present invention is the image decoding method, which includes a step of performing a first syntax for controlling the transmission accuracy of the merge motion vector difference in the sequence to be decoded, and the value of the first syntax is set.
  • the first syntax indicates that an integer precision may be used as the transmission precision of the merge mode motion vector difference in the sequence to be decoded
  • the value of the first syntax is In the case of "0”
  • the gist is that the first syntax indicates that the decimal precision is used as the transmission precision of the merge mode motion vector difference in the sequence to be decoded.
  • 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 decodes a first syntax that controls the transmission accuracy of merge motion vector differences in a sequence to be decoded.
  • the first syntax When the value of the first syntax is "1", the first syntax is used as the transmission accuracy of the merge mode motion vector difference in the sequence to be decoded. It indicates that integer precision may be used, and when the value of the first syntax is "0", the first syntax is used as the transmission precision of the merge mode motion vector difference in the sequence to be decoded.
  • the gist is to show that decimal precision is used.
  • the transmission accuracy of the MMVD when the syntax that controls the transmission accuracy of the MMVD is decoded in sequence units and the transmission accuracy of the MMVD is indefinite (that is, either the decimal accuracy or the integer accuracy is used as the transmission accuracy of the MMVD).
  • Image decoding device image decoding that can reduce unnecessary syntax decoding processing amount and bit amount by decoding the syntax that controls the transmission accuracy of MMVD in picture units only. 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 an input image signal (picture).
  • 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.
  • 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 apparatus 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, a coding 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 a reference block included in the reference frame by comparing the target frame with the reference frame stored in the frame buffer 160, and a motion vector (mv) with respect to the specified reference block. Is configured to determine.
  • the inter-prediction unit 111 is configured to generate a prediction signal included in a coded target block (hereinafter referred to as a target block) for each target block based on a reference block and a motion vector.
  • 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 referred to 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 used by 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 (conversion matrix) corresponding to a discrete cosine transform hereinafter referred to as DCT
  • a discrete sine transform hereinafter referred to as DST
  • the base pattern (transformation matrix) corresponding to 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 process.
  • the inverse conversion 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 a coefficient level value.
  • 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 coded block size, a predicted block size, and a conversion block size.
  • control data includes a sequence parameter set (SPS: Sequence Parameter Set), a picture parameter set (PPS: Picture Parameter Set), a picture header (PH: Picture Header), and a slice header (SH: Slide Header), which will be described later. ) Etc. may be included.
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • PH Picture Header
  • SH Slide Header
  • the in-loop filter processing unit 150 is configured to perform filter processing on the pre-filter processing decoded signal output from the adder 122 and output the post-filter processing decoded signal to the frame buffer 160.
  • the filter processing includes a deblocking filter process that reduces distortion that occurs at the boundary portion of a block (coded block, prediction block, or conversion block), a filter coefficient transmitted from the image coding device 100, and filter selection information.
  • This is an adaptive loop filter process that switches filters based on the local properties of the image pattern.
  • the frame buffer 160 is configured to store reference frames used by the inter-prediction unit 111.
  • the filtered decoded signal 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 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.
  • the control data may include size data, header information, and the like.
  • 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 process.
  • the inverse conversion 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 the pre-filter processing decoding signal is used by the intra prediction unit 242 and the 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 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 decoded signal output from the adder 230, and outputs the post-filter processing decoded signal to the frame buffer 260. It is configured to do.
  • the filtering process includes a deblocking filter process that reduces distortion that occurs at the boundary portion of blocks (encoded blocks, prediction blocks, conversion blocks, or sub-blocks obtained by dividing them), or transmission from the image coding apparatus 100.
  • This is an adaptive loop filter process that switches filters based on the filter coefficient to be performed, filter selection information, local properties of the image pattern, and the like.
  • the frame buffer 260 is configured to store reference frames used by the inter-prediction unit 241.
  • the filtered decoded signal constitutes a reference frame used by the inter-prediction unit 241.
  • FIG. 4 is an example of the configuration of the coded data (hereinafter, bit stream) received by the decoding unit 210.
  • the bitstream may include SPS211 at the beginning.
  • the SPS is a set of control data in a sequence (set of pictures) unit. Specific examples will be described later.
  • Each SPS211 contains at least SPS id information for identifying each when a plurality of SPS211s are present.
  • the bitstream may include PPS212 next to SPS211.
  • PPS212 is a set of control data in units of pictures (set of slices).
  • Each PPS 212 contains at least PPS id information for identifying each when a plurality of PPS 212s are present.
  • each PPS 212 includes at least SPS id information for designating the SPS 211 corresponding to each PPS 212.
  • the bit stream may include the picture header 213 next to the PPS 212.
  • the picture header 213 is also a set of control data for each picture (set of slices).
  • the PPS 212 can share a single PPS 212 for a plurality of pictures.
  • the picture header 213 is always transmitted for each picture.
  • the picture header 213 includes at least PPS id information for designating the PPS 212 corresponding to each picture.
  • the bitstream may include the slice header 214A next to the picture header 213.
  • the slice header 214A is a set of control data in slice units. Specific examples will be described later.
  • the slice header 214A can also include the information of the picture header 213 described above as a part of the slice header 214A.
  • bit stream may include slice data 215A next to the slice header 214A.
  • the slice data 214A may include the above-mentioned coefficient level value, size data, and the like.
  • the bitstream has a configuration in which slice headers 214A / 2154, picture headers 213, PPS212, and SPS211 correspond to each slice data 215A / 215B one by one.
  • SPS211 and PPS212 do not necessarily have to be transmitted for each picture and each slice.
  • a bit stream configuration that does not encode SPS211 and PPS212 can be configured.
  • the configuration in FIG. 4 is just an example.
  • the bitstream has a configuration in which the control data specified by the slice header 214B / 215B, the picture header 213, the PPS212, and the SPS211 correspond to each slice data 215A / 215B, it is a component of the bitstream.
  • elements other than the above may be added.
  • the configuration may be different from that shown in FIG. 4 during transmission.
  • FIG. 5 is an example of control data included in SPS211.
  • the SPS211 includes at least SPS id information (sps_seq_parameter_set_id) for identifying each SPS211.
  • the SPS211 may include a syntax (sps_mmvd_enable_flag) that controls the availability of the merge motion vector difference (MMVD: Merge with MVD) described later for the sequence to be decoded.
  • sps_mmvd_enable_flag a syntax that controls the availability of the merge motion vector difference (MMVD: Merge with MVD) described later for the sequence to be decoded.
  • sps_mmvd_enabled_flag 0
  • MMVD cannot be used in the sequence corresponding to such SPS211.
  • sps_mmvd_enabled_flag 1
  • sps_mmvd_enabled_flag when the value of sps_mmvd_enabled_flag is "1", that is, when MMVD is available, the thin that additionally controls whether or not the transmission accuracy of MMVD in the sequence corresponding to the SPS211 is an integer accuracy. Taxes (sps_mmvd_fullpel_only_flag) may be included.
  • sps_mmvd_fullpel_only_flag when the value of sps_mmvd_fullpel_only_flag is "0", it means that the decimal precision may be used as the transmission precision of the MMVD (that is, both the decimal precision and the integer precision can be used as the transmission precision of the MMVD).
  • sps_mmvd_fullpel_only_flag When the value of sps_mmvd_fullpel_only_flag is "1", it can be defined to mean that integer precision is used as the transmission precision of MMVD.
  • the decoding unit 210 may consider the value of sps_mmvd_fullpel_only_flag as "0" when sps_mmvd_fullpel_only_flag is not included in the SPS211.
  • FIG. 6 is an example of control data included in PPS212.
  • the PPS 212 includes at least PPS id information (pps_pic_parameter_set_id) for identifying each PPS 212. Further, as described above, the PPS 212 includes at least id information (pps_seq_parameter_set_id) for designating the SPS 211 corresponding to the PPS 212.
  • FIG. 7 is an example of control data included in the picture header 213.
  • the picture header 213 includes at least id information (ph_pic_parameter_set_id) for designating the PPS 212 corresponding to the picture header 213.
  • the picture header 213 may include ph_mmvd_fullpel_only_flag.
  • the decoding unit 210 may consider the value of ph_mmvd_fullpel_only_flag as "0" when ph_mmvd_fullpel_only_flag is not included in the picture header 213.
  • the decimal precision may be used as the transmission precision of the MMVD in the picture corresponding to the picture header 213 (that is, the decimal precision and the integer precision as the transmission precision of the MMVD). Both can be used).
  • the decoding unit 210 may consider that the value of ph_mmvd_fullpel_only_flag is "0".
  • the decoding unit 210 may consider that the value of ph_mmvd_fullpel_only_flag is the same as the value of sps_mmvd_fullpel_only_flag.
  • sps_mmvd_fullpel_only_flag a syntax that controls whether or not to use integer precision as the picture header 213, for example, sps_mmvd_fullpel_only_flag specifies that integer precision is used as the transmission precision of MMVD in the sequence. If this is the case, it is possible to prevent unnecessary inclusion of ph_mmvd_fullpel_only_flag in the picture header 213. As a result, unnecessary decoding processing / coding processing can be reduced, and the bit amount of the picture header 213 can be reduced.
  • FIG. 8 is an example of control data included in the slice headers 214A / 214B.
  • the slice headers 214A / 214B may include sh_picture_header_in_slice_header_flag.
  • sh_picture_header_in_slice_header_flag When the value of sh_picture_header_in_slice_header_flag is "1", the syntax structure (picture_header_stur) of the picture header 213 described with reference to FIG. 7 can be included at the position of picture_header_structure () in FIG.
  • the slice headers 214A / 214B may include slice_mmvd_fullfile_on.
  • the decoding unit 210 may consider the value of slice_mmvd_fullpel_only_flag to be "0".
  • the picture header 213 may include slice_mmvd_fullpel_only_flag.
  • slice_mmvd_fullpel_only_flag When the value of slice_mmvd_fullpel_only_flag is "1", it means that the integer precision is used as the transmission precision of MMVD in such a slice.
  • the decimal precision may be used as the transmission precision of MMVD in such a slice (that is, both the decimal precision and the integer precision can be used as the transmission precision of MMVD). Means that.
  • the decoding unit 210 may consider that the value of slice_mmvd_fullpel_only_flag is "0".
  • the decoding unit 210 may consider that the value of slice_mmvd_fullpel_only_flag is the same as the value of ph_mmvd_fullpel_only_flag.
  • sps_mmvd_fullpel_only_flag a syntax that controls whether to use integer precision in the slice header 214A / 214B
  • sps_mmvd_fullpel_only_flag specifies that integer precision is used as the transmission precision of MMVD in the sequence. If this is the case, it is possible to prevent unnecessary inclusion of precision_mmvd_fullpel_only_flag in the slice headers 214A / 214B. As a result, unnecessary decoding processing / coding processing can be reduced, and the bit amount of the slice headers 214A / 214B can be reduced.
  • syntaxes that do not have a reference relationship between each syntax may be changed. Further, syntaxes other than the above may be included in SPS211, PPS212, picture header 213, and slice header 214A / 214B, respectively.
  • the name of the syntax that controls the transmission accuracy of the merge motion vector difference in the sequence to be decoded is defined as sps_mmvd_fullpel_only_flag, and the meaning (semantics) corresponding to the value of the syntax is defined as the value of the syntax.
  • sps_mmvd_fullpel_only_flag the meaning (semantics) corresponding to the value of the syntax.
  • the decimal precision may be used as the transmission precision of the MMVD (that is, both the decimal precision and the integer precision can be used as the transmission precision of the MMVD), and such a syntax.
  • the value of is "1” it is defined to mean that the integer precision is used as the transmission precision of the MMVD.
  • the name of the syntax that controls the transmission accuracy of the merge motion vector difference in the sequence to be decoded is defined as sps_mmvd_fullpel_enabled_flag, and the value of the syntax is "0" as the meaning (semantics) according to the value of the syntax.
  • the fractional precision is used as the transmission precision of the MMVD
  • the integer precision may be used as the transmission precision of the MMVD (that is, the MMVD). It may be defined as meaning that both fractional precision and integer precision can be used as the transmission precision of.
  • FIG. 10 with respect to FIG. 7 and FIG. 11 with respect to FIG. 8 is that when the value of the syntax is "1", ph_mmvd_fullpel_only_flag or slice_mmvd_fullpel_only_flag is decoded due to the change in the meaning of the syntax. It is in the point that it has become.
  • FIG. 12 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 a motion vector decoding unit 241A and a prediction signal generation unit 241B.
  • the inter-prediction unit 241 is an example of a prediction unit configured to generate a prediction signal included in a prediction block based on a motion vector.
  • the motion vector decoding unit 241A has an AMVP unit 241A1, a merge unit 241A2, and an MMVD unit 241A3.
  • the motion vector decoding unit 241A is configured to acquire the motion vector by decoding the target frame and the reference frame input from the frame buffer 260 and the control data received from the image coding device 100. ..
  • the AMVP unit 241A1 decodes the motion vector by using the index showing the motion vector prediction (MVP: Motion Vector Prediction) and the motion vector difference (MVD: Motion Vector Definition), and the list and index of the reference frame.
  • MVP Motion Vector Prediction
  • MVP Adaptive Motion Vector Prediction
  • 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 a motion vector corresponding to the received merge index from the constructed merge list. .. Since it is possible to adopt a known method as the method for constructing the merge list, the details thereof will be omitted.
  • the MMVD unit 241A3 selects a motion vector from the merge list constructed by the merge unit 241A2 based on the syntax related to the MMVD sent from the image coding device 100, and further corrects the motion vector. Details will be described later.
  • the prediction signal generation unit 241B is configured to generate a prediction signal based on the motion vector output from the motion vector decoding unit 241A.
  • a method for generating a prediction signal from a motion vector a known method can be adopted, and the details thereof will be omitted.
  • MMVD unit 241A3 MMVD unit 241A3
  • FIGS. 13 and 14 MMVD unit 241A3
  • FIG. 13 and 14 are diagrams showing a method of correcting a motion vector by the MMVD unit 241A3 according to the present embodiment.
  • the MMVD unit 241A3 has a syntax related to the MMVD decoded by the decoding unit 210 (mmvd_merge_flag, mmvd_cand_flag, mmvd_disstance_idx, mmvd_direction_idx, mmvd_direction_idx, ph_mmvd_fullpel_onely selected from the list, merged from the ph_mmvd_fullpel_flag It is configured to modify such motion vectors.
  • the MMVD unit 241A3 is configured to execute MMVD when the value of mmvd_merge_flag is "1" and not to execute MMVD when the value of mmvd_merge_flag is "0".
  • the MMVD unit 241A3 is configured to select a motion vector from the merge list based on the value of mmvd_cand_flag when MMVD is executed.
  • the MMVD unit 241A3 is selected as a motion vector for correcting the 0th motion vector in the merge list when the value of mmvd_cand_flag is "0", and when the value of mmvd_cand_flag is "1", it is selected.
  • the MMVD unit 241A3 is configured to regard the value of mmvd_cand_flag as "0".
  • the MMVD unit 241A3 is configured to modify the selected motion vector based on the values of mmvd_disstance_idx, mmvd_direction_idx, ph_mmvd_fullpel_only_flag shown in FIGS. 10 and 14.
  • the magnitude (distance) of the motion vector difference is derived based on the decoded values of mmvd_distance_idx and ph_mmvd_fullpel_only_flag.
  • MmvdDistance [x0] [y0] is set to "2".
  • MmvdDisstance [x0] [y0] is an internal parameter indicating the correction distance of the motion vector by MMVD, that is, the distance of the motion vector difference added to the selected motion vector.
  • MmvdDistance [x0] [y0] When the value of MmvdDistance [x0] [y0] is set to "2", it is the initial value of the transmission accuracy of the motion vector difference in the direction derived by mmvd_direction_idx described later with respect to the selected motion vector.
  • the configuration is such that "2" is multiplied by 1/4 accuracy and 1/2 distance is added.
  • the direction of the motion vector difference is derived based on the decoded value of mmvd_direction_idx.
  • the motion vector difference by MMVD is derived from MmvdDistance [x0] [y0], MmvdSign [x0] [y0] [0] and MmvdSign [x0] [y0] [1] as follows. It is derived as y0] [0] and MmvdOffset [x0] [y0] [1].
  • the motion vector difference derived by the MMVD unit 241A3, that is, the MmvdOffset is added to the selected motion vector to correct the motion vector, thereby improving the accuracy of the motion vector and improving the prediction performance. By doing so, improvement of coding performance is expected.
  • 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 step).
  • the present invention has been described by taking the 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は、復号対象のシーケンスにおけるマージ動きベクトル差分の伝送精度を制御する第1シンタックスを復号するように構成されている復号部210を備え、第1シンタックスの値が「1」の場合には、第1シンタックスは、前記復号対象のシーケンスにおけるマージモード動きベクトル差分の伝送精度として整数精度を使用してもよいことを示し、第1シンタックスの値が「0」の場合には、第1シンタックスは、復号対象のシーケンスにおけるマージモード動きベクトル差分の伝送精度として小数精度を使用することを示す。

Description

画像復号装置、画像復号方法及びプログラム
 本発明は、画像復号装置、画像復号方法及びプログラムに関する。
 非特許文献1では、マージ動きベクトル差分(MMVD:Merge with MVD)の伝送精度を整数精度とするか否かについて制御することができるシンタックスが、シーケンス・パラメータ・セット(SPS:Sequence Parameter Set)のシンタックス(sps_mmvd_fullpel_only_flag)及びピクチャヘッダ(PH:Picture Header)のシンタックス(ph_mmvd_fullpel_only_flag)としてそれぞれ備えられている。
Versatile Video Coding(Draft 9)、JVET-R2001
 しかしながら、非特許文献1では、sps_mmvd_fullpel_only_flagが有効であるである場合(すなわち、シーケンス単位でMMVDの伝送精度が整数精度であると特定される場合)であっても、ph_mmvd_fullpel_only_flagが復号されるように規定されているという問題点があった。
 すなわち、非特許文献1では、sps_mmvd_fullpel_only_flagでMMVDの伝送精度が整数精度と特定されるにも関わらず、不要にph_mmvd_fullpel_only_flagが復号されるという問題点があった。
 そこで、本発明は、上述の課題に鑑みてなされたものであり、シーケンス単位でMMVDの伝送精度を制御するシンタックスを復号し、かかるMMVDの伝送精度が不定である場合(すなわち、かかるMMVDの伝送精度として小数精度或いは整数精度のいずれを使用してもよい場合)にのみ、ピクチャ単位でMMVDの伝送精度を制御するシンタックスを復号することで、不要なシンタックスの復号処理量及びビット量を削減することができる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。
 本発明の第1の特徴は、画像復号装置であって、復号対象のシーケンスにおけるマージ動きベクトル差分の伝送精度を制御する第1シンタックスを復号するように構成されている復号部を備え、前記第1シンタックスの値が「1」の場合には、前記第1シンタックスは、前記復号対象のシーケンスにおけるマージモード動きベクトル差分の伝送精度として整数精度を使用してもよいことを示し、前記第1シンタックスの値が「0」の場合には、前記第1シンタックスは、前記復号対象のシーケンスにおけるマージモード動きベクトル差分の伝送精度として小数精度を使用することを示すことを要旨とする。
 本発明の第2の特徴は、画像復号方法であって、復号対象のシーケンスにおけるマージ動きベクトル差分の伝送精度を制御する第1シンタックスをする工程を有し、前記第1シンタックスの値が「1」の場合には、前記第1シンタックスは、前記復号対象のシーケンスにおけるマージモード動きベクトル差分の伝送精度として整数精度を使用してもよいことを示し、前記第1シンタックスの値が「0」の場合には、前記第1シンタックスは、前記復号対象のシーケンスにおけるマージモード動きベクトル差分の伝送精度として小数精度を使用することを示すことを要旨とする。
 本発明の第3の特徴は、コンピュータを、画像復号装置として機能させるプログラムであって、前記画像復号装置は、復号対象のシーケンスにおけるマージ動きベクトル差分の伝送精度を制御する第1シンタックスを復号するように構成されている復号部を備え、前記第1シンタックスの値が「1」の場合には、前記第1シンタックスは、前記復号対象のシーケンスにおけるマージモード動きベクトル差分の伝送精度として整数精度を使用してもよいことを示し、前記第1シンタックスの値が「0」の場合には、前記第1シンタックスは、前記復号対象のシーケンスにおけるマージモード動きベクトル差分の伝送精度として小数精度を使用することを示すことを要旨とする。
 本発明によれば、シーケンス単位でMMVDの伝送精度を制御するシンタックスを復号し、かかるMMVDの伝送精度が不定である場合(すなわち、かかるMMVDの伝送精度として小数精度或いは整数精度のいずれを使用してもよい場合)にのみ、ピクチャ単位でMMVDの伝送精度を制御するシンタックスを復号することで、不要なシンタックスの復号処理量及びビット量を削減することができる画像復号装置、画像復号方法及びプログラムを提供することができる。
一実施形態に係る画像処理システム1の構成の一例を示す図である。 一実施形態に係る画像符号化装置100の機能ブロックの一例を示す図である。 一実施形態に係る画像復号装置200の機能ブロックの一例を示す図である。 一実施形態に係る画像復号装置200の復号部210で受信する符号化データ(ビットストリーム)の構成の一例である SPS211内に含まれる制御データの一例である。 PPS212に含まれる制御データの一例である。 ピクチャヘッダ213に含まれる制御データの一例である。 スライスヘッダ214A/214Bに含まれる制御データの一例である。 一実施形態の一変更例について説明するための図である。 一実施形態の一変更例について説明するための図である。 一実施形態の一変更例について説明するための図である。 一実施形態に係るインター予測部241の機能ブロックの一例について示す図である。 一実施形態に係るMMVD部241A3による動きベクトルの修正方法を示す図である。 一実施形態に係るMMVD部241A3による動きベクトルの修正方法を示す図である。
 以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
<第1実施形態>
 以下、図1~図14を参照して、本発明の第1実施形態に係る画像処理システム10について説明する。図1は、本実施形態に係る画像処理システム10について示す図である。
 図1に示すように、本実施形態に係る画像処理システム10は、画像符号化装置100及び画像復号装置200を有する。
 画像符号化装置100は、入力画像信号(ピクチャ)を符号化することによって符号化データを生成するように構成されている。画像復号装置200は、符号化データを復号することによって出力画像信号を生成するように構成されている。
 符号化データは、画像符号化装置100から画像復号装置200に対して伝送路を介して送信されてもよい。符号化データは、記憶媒体に格納された上で、画像符号化装置100から画像復号装置200に提供されてもよい。
(画像符号化装置100)
 以下、図2を参照して、本実施形態に係る画像符号化装置100について説明する。図2は、本実施形態に係る画像符号化装置100の機能ブロックの一例について示す図である。
 図2に示すように、画像符号化装置100は、インター予測部111と、イントラ予測部112と、減算器121と、加算器122と、変換・量子化部131と、逆変換・逆量子化部132と、符号化部140と、インループフィルタ処理部150と、フレームバッファ160とを有する。
 インター予測部111は、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
 具体的には、インター予測部111は、対象フレームとフレームバッファ160に格納される参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトル(mv)を決定するように構成されている。
 また、インター予測部111は、参照ブロック及び動きベクトルに基づいて符号化対象ブロック(以下、対象ブロック)に含まれる予測信号を対象ブロック毎に生成するように構成されている。インター予測部111は、予測信号を減算器121及び加算器122に出力するように構成されている。ここで、参照フレームは、対象フレームとは異なるフレームである。
 イントラ予測部112は、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
 具体的には、イントラ予測部112は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を対象ブロック毎に生成するように構成されている。また、イントラ予測部112は、予測信号を減算器121及び加算器122に出力するように構成されている。
 ここで、参照ブロックは、対象ブロックについて参照されるブロックである。例えば、参照ブロックは、対象ブロックに隣接するブロックである。
 減算器121は、入力画像信号から予測信号を減算し、予測残差信号を変換・量子化部131に出力するように構成されている。ここで、減算器121は、イントラ予測又はインター予測によって生成される予測信号と入力画像信号との差分である予測残差信号を生成するように構成されている。
 加算器122は、逆変換・逆量子化部132から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、かかるフィルタ処理前復号信号をイントラ予測部112及びインループフィルタ処理部150に出力するように構成されている。
 ここで、フィルタ処理前復号信号は、イントラ予測部112で用いる参照ブロックを構成する。
 変換・量子化部131は、予測残差信号の変換処理を行うとともに、係数レベル値を取得するように構成されている。さらに、変換・量子化部131は、係数レベル値の量子化を行うように構成されていてもよい。
 ここで、変換処理は、予測残差信号を周波数成分信号に変換する処理である。かかる変換処理としては、離散コサイン変換(Discrete Cosine Transform、以下、DCTと記す)に対応する基底パタン(変換行列)が用いられてもよく、離散サイン変換(Discrete Sine Transform、以下、DSTと記す)に対応する基底パタン(変換行列)が用いられてもよい。
 逆変換・逆量子化部132は、変換・量子化部131から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部132は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
 ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
 符号化部140は、変換・量子化部131から出力された係数レベル値を符号化し、符号化データを出力するように構成されている。
 ここで、例えば、符号化は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化である。
 また、符号化部140は、係数レベル値に加えて、復号処理で用いる制御データを符号化するように構成されている。
 ここで、制御データは、符号化ブロックサイズ、予測ブロックサイズ、変換ブロックサイズ等のサイズデータを含んでもよい。
 また、制御データは、後述するシーケンス・パラメータ・セット(SPS:Sequence Parameter Set)、ピクチャ・パラメータ・セット(PPS:Picutre Parameter Set)、ピクチャヘッダ(PH:Picture Header)、スライスヘッダ(SH:Slice Header)等のヘッダ情報を含んでもよい。
 インループフィルタ処理部150は、加算器122から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ160に出力するように構成されている。
 ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック又は変換ブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理や画像符号化装置100から伝送されるフィルタ係数やフィルタ選択情報、画像の絵柄の局所的な性質等に基づいてフィルタを切り替える適応ループフィルタ処理である。
 フレームバッファ160は、インター予測部111で用いる参照フレームを蓄積するように構成されている。
 ここで、フィルタ処理後復号信号は、インター予測部111で用いる参照フレームを構成する。
(画像復号装置200)
 以下、図3を参照して、本実施形態に係る画像復号装置200について説明する。図3は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
 図3に示すように、画像復号装置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に出力するように構成されている。
 ここで、例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック、変換ブロック或いはそれらを分割したサブブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理や、画像符号化装置100から伝送されるフィルタ係数やフィルタ選択情報や画像の絵柄の局所的な性質等に基づいてフィルタを切り替える適応ループフィルタ処理である。
 フレームバッファ260は、フレームバッファ160と同様に、インター予測部241で用いる参照フレームを蓄積するように構成されている。
 ここで、フィルタ処理後復号信号は、インター予測部241で用いる参照フレームを構成する。
(復号部210)
 以下、図4~図8を用いて、符号化部140で符号化され復号部210で復号される制御データについて説明する。
 図4は、復号部210で受信する符号化データ(以下、ビットストリーム)の構成の一例である。
 ビットストリームは、先頭にSPS211を含んでもよい。SPSは、シーケンス(ピクチャの集合)単位での制御データの集合である。具体例については後述する。各SPS211は、複数のSPS211が存在する場合に個々を識別するためのSPS id情報を少なくとも含む。
 また、ビットストリームは、SPS211の次に、PPS212を含んでもよい。PPS212は、ピクチャ(スライスの集合)単位での制御データの集合である。各PPS212は、複数のPPS212が存在する場合に個々を識別するためのPPS id情報を少なくとも含む。また、各PPS212は、各PPS212に対応するSPS211を指定するためのSPS id情報を少なくとも含む。
 また、ビットストリームは、PPS212の次に、ピクチャヘッダ213を含んでもよい。ピクチャヘッダ213も、ピクチャ(スライスの集合)単位での制御データの集合である。PPS212は、複数のピクチャに対して単一のPPS212を共有することができる。一方、ピクチャヘッダ213は、ピクチャ毎に必ず伝送される。ピクチャヘッダ213には、各ピクチャに対応するPPS212を指定するためのPPS id情報を少なくとも含む。
 また、ビットストリームは、ピクチャヘッダ213の次に、スライスヘッダ214Aを含んでもよい。スライスヘッダ214Aは、スライス単位での制御データの集合である。具体例については後述する。スライスヘッダ214Aは、スライスヘッダ214Aの一部として、上述のピクチャヘッダ213の情報を含むこともできる。
 また、ビットストリームは、スライスヘッダ214Aの次に、スライスデータ215Aを含んでもよい。スライスデータ214Aは、上述の係数レベル値やサイズデータ等を含んでもよい。
 以上のように、ビットストリームは、各スライスデータ215A/215Bに対して、1つずつスライスヘッダ214A/2154、ピクチャヘッダ213、PPS212、SPS211が対応する構成となる。
 上述のように、ピクチャヘッダ213にてどのPPS212を参照するかをPPS idで指定し、さらに、PPS212がどのSPS211を参照するかをSPS idで指定するため、複数のスライスデータ215A/215Bに対して共通のSPS211、PPS212を用いることができる。
 言い換えると、SPS211及びPPS212は、ピクチャごと、スライスごとに、必ずしも伝送する必要がない。
 例えば、図4に示すように、スライスヘッダ214B/215Bの直前では、SPS211及びPPS212を符号化しないようなビットストリームの構成とすることもできる。
 なお、図4の構成は、あくまで一例である。例えば、ビットストリームが、各スライスデータ215A/215Bに対して、スライスヘッダ214B/215B、ピクチャヘッダ213、PPS212、SPS211で指定された制御データが対応する構成となっていれば、ビットストリームの構成要素として、上述以外の要素が追加されてもよい。また、同様に、伝送に際して図4と異なる構成に整形されてもよい。
 図5は、SPS211内に含まれる制御データの一例である。
 SPS211は、上述の通り、少なくとも各SPS211を識別するためのSPS id情報 (sps_seq_parameter_set_id)を含む。
 SPS211は、復号対象のシーケンスの後述するマージ動きベクトル差分(MMVD:Merge with MVD)の使用可否について制御するシンタックス(sps_mmvd_enabled_flag)を含んでもよい。
 例えば、sps_mmvd_enabled_flagの値が「0」の場合は、かかるSPS211に対応するシーケンス内でMMVDが使用不可であることを意味し、sps_mmvd_enabled_flagの値が「1」の場合は、かかるSPS211に対応するシーケンス内でMMVDが使用可であることを意味するように定義することができる。
 また、sps_mmvd_enabled_flagの値が「1」の場合、すなわち、MMVDが使用可である場合は、追加で、かかるSPS211に対応するシーケンス内のMMVDの伝送精度を整数精度とするか否かについて制御するシンタックス(sps_mmvd_fullpel_only_flag)を含んでもよい。
 例えば、sps_mmvd_fullpel_only_flagの値が「0」の場合は、MMVDの伝送精度として小数精度を使用してもよい(すなわち、MMVDの伝送精度として小数精度及び整数精度どちらも使用可である)ことを意味し、sps_mmvd_fullpel_only_flagの値が「1」の場合は、MMVDの伝送精度として整数精度を使用することを意味すると定義することができる。
 復号部210は、sps_mmvd_fullpel_only_flagが、かかるSPS211に含まれていなかった場合、sps_mmvd_fullpel_only_flagの値を「0」とみなしてもよい。
 図6は、PPS212に含まれる制御データの一例である。
 PPS212は、上述の通り、少なくとも各PPS212を識別するためのPPS id情報 (pps_pic_parameter_set_id)を含む。また、PPS212は、上述の通り、少なくとも当該PPS212に対応するSPS211を指定するためのid情報(pps_seq_parameter_set_id)を含む。
 図7は、ピクチャヘッダ213に含まれる制御データの一例である。
 ピクチャヘッダ213は、上述の通り、少なくとも当該ピクチャヘッダ213に対応するPPS212を指定するためのid情報(ph_pic_parameter_set_id)を含む。
 また、ph_pic_parameter_set_idで指定されたPPS212に関連するsps_mmvd_fullpel_only_flagの値が「0」の場合、ピクチャヘッダ213は、ph_mmvd_fullpel_only_flagを含んでもよい。
 復号部210は、ph_mmvd_fullpel_only_flagが、ピクチャヘッダ213に含まれない場合、ph_mmvd_fullpel_only_flagの値を「0」とみなしてもよい。
 ph_mmvd_fullpel_only_flagの値が「1」の場合は、かかるピクチャヘッダ213に対応するピクチャ内で、MMVDの伝送精度として整数精度を使用することを意味する。
 一方、ph_mmvd_fullpel_only_flagの値が「0」の場合は、かかるピクチャヘッダ213に対応するピクチャ内で、MMVDの伝送精度として小数精度を使用してもよい(すなわち、MMVDの伝送精度として小数精度及び整数精度どちらも使用可である)ことを意味する。
 ph_mmvd_fullpel_only_flagがピクチャヘッダ213内に含まれない場合、復号部210は、ph_mmvd_fullpel_only_flagの値は「0」であるとみなしてもよい。
 或いは、ph_mmvd_fullpel_only_flagがピクチャヘッダ213内に含まれない場合、復号部210は、ph_mmvd_fullpel_only_flagの値がsps_mmvd_fullpel_only_flagの値と同じ値であるとみなしてもよい。
 以上のように、sps_mmvd_fullpel_only_flagの値が「0」である場合、すなわち、シーケンス単位でMMVDの伝送精度として小数精度を使用してもよいことを示している場合にのみ、ピクチャ単位でMMVDの伝送精度として整数精度を使用するか否かを制御するシンタックス(ph_mmvd_fullpel_only_flag)をピクチャヘッダ213内に含めるようにすることで、例えば、sps_mmvd_fullpel_only_flagにより当該シーケンスでMMVDの伝送精度として整数精度を使用することが特定される場合に、不要にph_mmvd_fullpel_only_flagをピクチャヘッダ213に含めることを防ぐことができる。これにより、無駄な復号処理・符号化処理を削減することができ、また、ピクチャヘッダ213のビット量を削減することができる。
 図8は、スライスヘッダ214A/214Bに含まれる制御データの一例である。
 スライスヘッダ214A/214Bは、sh_picture_header_in_slice_header_flagを含んでもよい。sh_picture_header_in_slice_header_flagの値が「1」の場合、図8におけるpicture_header_structure( )の位置に、図7で説明したピクチャヘッダ213のシンタックス構造(picture_header_structure( ))を含めることができる。
また、スライスヘッダ214A/214Bが対応するピクチャヘッダ213にてph_pic_parameter_set_idで指定されたPPS212に関連するsps_mmvd_fullpel_only_flagの値が「0」の場合、スライスヘッダ214A/214Bは、slice_mmvd_fullpel_only_flagを含んでもよい。
 slice_mmvd_fullpel_only_flagが、スライスヘッダ214A/214Bに含まれない場合、復号部210は、slice_mmvd_fullpel_only_flagの値を「0」とみなしてもよい。
 上述のsps_mmvd_fullpel_only_flagの値が「1」の場合、ピクチャヘッダ213は、slice_mmvd_fullpel_only_flagを含んでもよい。
 slice_mmvd_fullpel_only_flagの値が「1」の場合は、かかるスライス内で、MMVDの伝送精度として整数精度を使用することを意味する。
 slice_mmvd_fullpel_only_flagの値が「0」の場合は、かかるスライス内で、MMVDの伝送精度として小数精度を使用してもよい(すなわち、MMVDの伝送精度として小数精度及び整数精度のどちらも使用可である)ことを意味する。
 slice_mmvd_fullpel_only_flagがスライスヘッダ214A/214B内に含まれない場合、復号部210は、slice_mmvd_fullpel_only_flagの値は「0」であるとみなしてもよい。
 或いは、slice_mmvd_fullpel_only_flagがピクチャヘッダ213内に含まれない場合、復号部210は、slice_mmvd_fullpel_only_flagの値がph_mmvd_fullpel_only_flagの値と同じ値であるとみなしてもよい。
 以上のように、sps_mmvd_fullpel_only_flagの値が「0」である、すなわち、シーケンス単位でMMVDの伝送精度として小数精度を使用してもよいことを示しているときにのみ、スライス単位でMMVDの伝送精度として整数精度を使用するか否かを制御するシンタックス(slice_mmvd_fullpel_only_flag)をスライスヘッダ214A/214B内に含めるむようにすることで、例えば、sps_mmvd_fullpel_only_flagにより当該シーケンスでMMVDの伝送精度として整数精度を使用することが特定される場合に、不要にslice_mmvd_fullpel_only_flagをスライスヘッダ214A/214Bに含めることを防ぐことができる。これにより、無駄な復号処理・符号化処理を削減することができ、また、スライスヘッダ214A/214Bのビット量を削減することができる。
 以上で説明したフラグの値は、あくまでも一例である。フラグの値(「0」及び「1」)に与える意味を逆転させた場合、対応する処理もそれに応じて逆転させることで等価な処理を実現可能である。
 また、各シンタックス間の参照関係が存在しないシンタックス同士については、復号する順番が入れ替わってもよい。更に、上記以外のシンタックスが、SPS211、PPS212、ピクチャヘッダ213、スライスヘッダ214A/214Bにそれぞれ含まれていてもよい。
<変更例>
 上述の実施形態では、復号対象のシーケンスにおけるマージ動きベクトル差分の伝送精度を制御するシンタックスの名称をsps_mmvd_fullpell_only_flagと定義し、かかるシンタックスの値に応じた意味(セマンティクス)として、かかるシンタックスの値が「0」の場合は、MMVDの伝送精度として小数精度を使用してもよい(すなわち、MMVDの伝送精度として小数精度及び整数精度どちらも使用することができる)ことを意味し、かかるシンタックスの値が「1」の場合は、MMVDの伝送精度として整数精度を使用することを意味すると定義した。
 一方で、復号対象のシーケンスにおけるマージ動きベクトル差分の伝送精度を制御するシンタックスの名称をsps_mmvd_fullpell_enabled_flagと定義し、かかるシンタックスの値に応じた意味(セマンティクス)として、かかるシンタックスの値が「0」の場合は、MMVDの伝送精度として小数精度を使用することを意味し、かかるシンタックスの値が「1」の場合は、MMVDの伝送精度として整数精度を使用してもよい(すなわち、MMVDの伝送精度として小数精度及び整数精度どちらも使用することができる)ことを意味すると定義してもよい。
 ただし、このように、復号対象のシーケンスにおけるマージ動きベクトル差分の伝送精度を制御するシンタックスの名称及び意味(セマンティクス)を定義する場合、図5で示した当該シンタックスの復号条件、、図7で示したph_mmvd_fullpel_only_flagの復号条件、及び、図8で示したslice_mmvd_fullpel_only_flagの復号条件が、それぞれ図9~図11のように構成される。
 図7に対する図10と図8に対する図11との差異は、当該シンタックスの値が「1」の場合に、当該シンタックスの意味の変更に伴い、ph_mmvd_fullpel_only_flag或いはslice_mmvd_fullpel_only_flagが復号されるような構成となっている点にある。
(インター予測部241)
 以下、図12を参照して、本実施形態に係るインター予測部241について説明する。図12は、本実施形態に係るインター予測部241の機能ブロックの一例について示す図である。
 図12に示すように、インター予測部241は、動きベクトル復号部241Aと予測信号生成部241Bとを有する。
 インター予測部241は、動きベクトルに基づいて予測ブロックに含まれる予測信号を生成するように構成されている予測部の一例である。
 動きベクトル復号部241Aは、AMVP部241A1、マージ部241A2、MMVD部241A3とを有する。ここで、動きベクトル復号部241Aは、フレームバッファ260から入力される対象フレーム及び参照フレーム、及び、画像符号化装置100から受信する制御データの復号によって、動きベクトルを取得するように構成されている。
 AMVP部241A1は、動きベクトル予測(MVP:Motion VectorPrediciton)及び動きベクトル差分(MVD:Motion VectorDifference)を示すインデックス、及び、参照フレームのリスト及びインデックスを用いて、動きベクトルを復号する適応動きベクトル予測復号(AMVP:Adaptive Motion Vector Prediction)を行うように構成されている。AMVPとしては、既知の手法を採用すること可能であるため、その詳細については省略する。
 マージ部241A2は、画像符号化装置100から、マージインデックスを受信し、動きベクトルを復号するように構成されている。
 具体的には、マージ部241A2は、画像符号化装置100と同じ方法でマージリストを構築して、受信したマージインデックスに対応する動きベクトルを、構築したマージリストから取得するように構成されている。マージリストの構築方法としては、既知の手法を採用することが可能であるため、その詳細については省略する。
 MMVD部241A3は、画像符号化装置100から送られるMMVDに関するシンタックスに基づいて、マージ部241A2で構築されたマージリストから動きベクトルを選択し、さらに、かかる動きベクトルを修正する。詳細は、後述する。
 予測信号生成部241Bは、動きベクトル復号部241Aから出力された動きベクトルに基づいて予測信号を生成するように構成されている。動きベクトルから予測信号を生成する方法としては、既知の方法を採用することが可能であるため、その詳細は省略する。
(MMVD部241A3)
 以下、図13及び図14を参照して、本実施形態に係るMMVD部241A3について説明する。
 図13及び図14は、本実施形態に係るMMVD部241A3による動きベクトルの修正方法を示す図である。
 MMVD部241A3は、復号部210で復号されたMMVDに関連するシンタックス(mmvd_merge_flag、mmvd_cand_flag、mmvd_distance_idx、mmvd_direction_idx、ph_mmvd_fullpel_only_flag)の値に基づいて、マージ部241A2で構築したマージリストから動きベクトルを選定し、かかる動きベクトルを修正するように構成されている。
 第1に、MMVD部241A3は、mmvd_merge_flagの値が「1」の場合、MMVDを実行し、mmvd_merge_flagの値が「0」の場合は、MMVDを実行しないように構成されている。
 第2に、MMVD部241A3は、MMVDを実行した場合には、mmvd_cand_flagの値に基づいて、マージリストの中から動きベクトルを選定するように構成されている。
 具体的には、MMVD部241A3は、mmvd_cand_flagの値が「0」である場合は、マージリストの0番目の動きベクトルを修正する動きベクトルとして選定し、mmvd_cand_flagの値が「1」である場合は、マージリストの1番目の動きベクトルを修正する動きベクトルとして選定するように構成されている。
 なお、マージリストに動きベクトルの候補が2つ以上ない場合は、MMVD部241A3は、mmvd_cand_flagの値を「0」としてみなすように構成されている。
 また、本実施形態では、mmvd_cand_flagの値のバリエーションを「0」又は「1」として説明したが、設計者の意図で設計を変更することも可能である。
 第3に、MMVD部241A3は、図10及び図14に示すmmvd_distance_idx、mmvd_direction_idx、ph_mmvd_fullpel_only_flagの値に基づいて、選定した動きベクトルを修正するように構成されている。
 以下、図13を参照して、MMVD部2413A3により選定された動きベクトルに対して加算される動きベクトル差分の大きさ(距離)の導出方法について説明する。
 具体的には、復号されたmmvd_distance_idx及びph_mmvd_fullpel_only_flagの値に基づいて、動きベクトル差分の大きさ(距離)が導出される。
 例えば、図13に示すように、mmvd_distance_idxの値が「1」であり、ph_mmvd_fullpel_only_flagの値が「0」である場合、MmvdDistance[x0][y0]は、「2」に設定される。
 ここで、MmvdDistance[x0][y0]は、MMVDによる動きベクトルの修正距離、すなわち、選定された動きベクトルに対して加算される動きベクトル差分の距離を示す内部パラメータである。
 MmvdDistance[x0][y0]の値が「2」に設定される場合は、選定された動きベクトルに対して、後述するmmvd_direction_idxによって導出される方向に、動きベクトル差分の伝送精度の初期値である1/4精度に「2」が乗算されて1/2の距離が加算される構成となっている。
 ph_mmvd_fullpel_only_flagの値が「1」である場合は、上述の動きベクトル差分の伝送精度の初期値に乗算される値が「4」から開始されるため、加算される動きベクトル差分の伝送精度は、常に整数精度となる構成となっている。
 なお、上記では、ph_mmvd_fullpel_only_flagによるMMVDの動きベクトルの修正距離の導出方法を説明したが、ph_mmvd_fullpel_only_flagが、上述したslice_mmvd_fullpel_only_flagに置換されてもよい。
 次に、図14を参照して、MMVD部241A3により選定された動きベクトルに対して加算される動きベクトル差分の方向の導出方法を説明する。
 具体的には、復号されたmmvd_direction_idxの値に基づいて、動きベクトル差分の方向が導出される。
 例えば、図14に示すように、mmvd_direction_idxの値が「0」から「3」の値によって、MmvdSign[x0][y0][0]の値及びMmvdSign[x0][y0][1]の値が導出される構成となっている。
 MMVDによる動きベクトル差分は、以下のように、MmvdDistance[x0][y0]、MmvdSign[x0][y0][0]及びMmvdSign[x0][y0][1]より導出されるMmvdOffset[x0][y0][0]及びMmvdOffset[x0][y0][1]として導出される。
 MmvdOffset[x0][y0][0]=(MmvdDistance[x0][y0]<<2)×MmvdSign[x0][y0][0]
 MmvdOffset[x0][y0][1]=(MmvdDistance[x0][y0]<<2)×MmvdSign[x0][y0][1]
 以上のように、MMVD部241A3により導出された動きベクトル差分、すなわち、MmvdOffsetが、選定された動きベクトルに加算されて動きベクトルが修正され、これにより動きベクトルの精度が向上して予測性能が向上することで、符号化性能の改善が期待される。
 上述の画像符号化装置100及び画像復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
 なお、上述の各実施形態では、本発明を画像符号化装置100及び画像復号装置200への適用を例にして説明したが、本発明は、これのみに限定されるものではなく、画像符号化装置100及び画像復号装置200の各機能を備えた画像符号化システム及び画像復号システムにも同様に適用できる。
10…画像処理システム
100…画像符号化装置
111、241…インター予測部
112、242…イントラ予測部
121…減算器
122、230…加算器
131…変換・量子化部
132、220…逆変換・逆量子化部
140…符号化部
150、250…インループフィルタ処理部
160、260…フレームバッファ
200…画像復号装置
210…復号部
241A…動きベクトル復号部
241A1…AMVP部
241A2…マージ部
241A3…MMVD部
241B…予測信号生成部
 

Claims (7)

  1.  画像復号装置であって、
     復号対象のシーケンスにおけるマージ動きベクトル差分の伝送精度を制御する第1シンタックスを復号するように構成されている復号部を備え、
     前記第1シンタックスの値が「1」の場合には、前記第1シンタックスは、前記復号対象のシーケンスにおけるマージモード動きベクトル差分の伝送精度として整数精度を使用してもよいことを示し、
     前記第1シンタックスの値が「0」の場合には、前記第1シンタックスは、前記復号対象のシーケンスにおけるマージモード動きベクトル差分の伝送精度として小数精度を使用することを示すことを特徴とする画像復号装置。
  2.  前記復号部は、前記第1シンタックスの値によって、復号対象のピクチャにおけるマージ動きベクトル差分の伝送精度を制御する第2シンタックスを復号するように構成されており、
     前記2シンタックスの値が「1」の場合には、前記2シンタックスは、前記復号対象のピクチャにおけるマージ動きベクトル差分の伝送精度として整数精度を使用することを示し、
     前記2シンタックスの値が「0」の場合には、前記2シンタックスは、前記復号対象のピクチャにおけるマージ動きベクトル差分の伝送精度として小数精度を使用してもよいことを示すことを特徴とする請求項1に記載の画像復号装置。
  3.  前記復号部は、前記第1シンタックスの値が「1」である場合、前記2シンタックスを復号するように構成されており、
     前記復号部は、前記第1シンタックスの値が「0」である場合、前記第2シンタックスを復号しないように構成されていることを特徴とする請求項2に記載の画像復号装置。
  4.  前記1シンタックスの値が「0」の場合には、前記1シンタックスは、前記復号対象のピクチャにおけるマージ動きベクトル差分の伝送精度として小数精度及び整数制度のどちらも使用することができることを示すことを特徴とする請求項2に記載の画像復号装置。
  5.  前記2シンタックスの値が「0」の場合には、前記2シンタックスは、前記復号対象のピクチャにおけるマージ動きベクトル差分の伝送精度として小数精度及び整数制度のどちらも使用することができることを示すことを特徴とする請求項2に記載の画像復号装置。
  6.  画像復号方法であって、
      復号対象のシーケンスにおけるマージ動きベクトル差分の伝送精度を制御する第1シンタックスをする工程を有し、
     前記第1シンタックスの値が「1」の場合には、前記第1シンタックスは、前記復号対象のシーケンスにおけるマージモード動きベクトル差分の伝送精度として整数精度を使用してもよいことを示し、
     前記第1シンタックスの値が「0」の場合には、前記第1シンタックスは、前記復号対象のシーケンスにおけるマージモード動きベクトル差分の伝送精度として小数精度を使用することを示すことを特徴とする画像復号方法。
  7.  コンピュータを、画像復号装置として機能させるプログラムであって、
     前記画像復号装置は、復号対象のシーケンスにおけるマージ動きベクトル差分の伝送精度を制御する第1シンタックスを復号するように構成されている復号部を備え、
     前記第1シンタックスの値が「1」の場合には、前記第1シンタックスは、前記復号対象のシーケンスにおけるマージモード動きベクトル差分の伝送精度として整数精度を使用してもよいことを示し、
     前記第1シンタックスの値が「0」の場合には、前記第1シンタックスは、前記復号対象のシーケンスにおけるマージモード動きベクトル差分の伝送精度として小数精度を使用することを示すことを特徴とするプログラム。
PCT/JP2021/021276 2020-06-08 2021-06-03 画像復号装置、画像復号方法及びプログラム WO2021251278A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180041300.2A CN115918086A (zh) 2020-06-08 2021-06-03 图像解码装置、图像解码方法及程序
EP21822640.5A EP4149112A4 (en) 2020-06-08 2021-06-03 IMAGE DECODING APPARATUS, IMAGE DECODING METHOD AND PROGRAM
US18/062,993 US20230103543A1 (en) 2020-06-08 2022-12-07 Image decoding device, image decoding method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-099716 2020-06-08
JP2020099716A JP7075963B2 (ja) 2020-06-08 2020-06-08 画像復号装置、画像復号方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/062,993 Continuation US20230103543A1 (en) 2020-06-08 2022-12-07 Image decoding device, image decoding method, and program

Publications (1)

Publication Number Publication Date
WO2021251278A1 true WO2021251278A1 (ja) 2021-12-16

Family

ID=78846146

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/021276 WO2021251278A1 (ja) 2020-06-08 2021-06-03 画像復号装置、画像復号方法及びプログラム

Country Status (5)

Country Link
US (1) US20230103543A1 (ja)
EP (1) EP4149112A4 (ja)
JP (3) JP7075963B2 (ja)
CN (1) CN115918086A (ja)
WO (1) WO2021251278A1 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020098810A1 (en) 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Merge with motion vector difference in video processing

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
B. BROSS, J. CHEN, S. LIU, Y.-K. WANG: "Versatile Video Coding (Draft 9)", 130. MPEG MEETING; 20200420 - 20200424; ALPBACH; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), no. JVET-R2001-vA, 15 May 2020 (2020-05-15), pages 1 - 524, XP030287936 *
S. JEONG (SAMSUNG), M. W. PARK (SAMSUNG), Y. PIAO (SAMSUNG), M. PARK (SAMSUNG), K. CHOI (SAMSUNG): "CE4 Ultimate motion vector expression (Test 4.5.4)", 124. MPEG MEETING; 20181008 - 20181012; MACAO; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), 21 September 2018 (2018-09-21), XP030190742 *
See also references of EP4149112A4 *
Y. KIDANI (KDDI), K. UNNO (KDDI-RESEARCH), K. KAWAMURA (KDDI),: "AHG9: On MMVD flag in SPS and PH", 131. MPEG MEETING; 20200629 - 20200703; ONLINE; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), 11 June 2020 (2020-06-11), XP030288459 *

Also Published As

Publication number Publication date
JP2022103285A (ja) 2022-07-07
JP7075963B2 (ja) 2022-05-26
EP4149112A4 (en) 2023-11-01
JP2024003175A (ja) 2024-01-11
JP2021193782A (ja) 2021-12-23
EP4149112A1 (en) 2023-03-15
JP7387806B2 (ja) 2023-11-28
US20230103543A1 (en) 2023-04-06
CN115918086A (zh) 2023-04-04

Similar Documents

Publication Publication Date Title
JP2023164589A (ja) フィルタリングを用いた行列ベースイントラ予測
WO2020184348A1 (ja) 画像復号装置、画像復号方法及びプログラム
WO2021251278A1 (ja) 画像復号装置、画像復号方法及びプログラム
JP7076660B2 (ja) 画像復号装置、画像復号方法及びプログラム
JP6914462B2 (ja) 画像復号装置、画像復号方法及びプログラム
JP2021180503A (ja) 画像復号装置、画像復号方法及びプログラム
JP7061737B1 (ja) 画像復号装置、画像復号方法及びプログラム
JP7083971B1 (ja) 画像復号装置、画像復号方法及びプログラム
JP7034363B2 (ja) 画像復号装置、画像復号方法及びプログラム
WO2020184262A1 (ja) 画像復号装置、画像復号方法及びプログラム
WO2021199780A1 (ja) 画像復号装置、画像復号方法及びプログラム
WO2020255846A1 (ja) 画像復号装置、画像復号方法及びプログラム
JP7324899B2 (ja) 画像復号装置、画像復号方法及びプログラム
WO2023277107A1 (ja) 画像復号装置、画像復号方法及びプログラム
WO2021054036A1 (ja) 画像復号装置、画像復号方法及びプログラム
WO2022070470A1 (ja) 画像復号装置、画像復号方法及びプログラム
JP2022000949A (ja) 画像復号装置、画像復号方法及びプログラム
CN117795962A (zh) 图像解码装置、图像解码方法及程序
WO2016129185A1 (ja) 動画像符号化装置、動画像復号装置、動画像処理システム、動画像符号化方法、動画像復号方法、およびプログラム
JP2020108033A (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: 21822640

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021822640

Country of ref document: EP

Effective date: 20221208

NENP Non-entry into the national phase

Ref country code: DE