(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-13
(45)【発行日】2024-11-21
(54)【発明の名称】HMVPに基づいて予測候補を構成する方法及び装置
(51)【国際特許分類】
H04N 19/52 20140101AFI20241114BHJP
【FI】
H04N19/52
(21)【出願番号】P 2022196205
(22)【出願日】2022-12-08
(62)【分割の表示】P 2021518564の分割
【原出願日】2019-10-02
【審査請求日】2023-01-05
(32)【優先日】2018-10-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】110002181
【氏名又は名称】弁理士法人IP-FOCUS
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】チャン ヒョンムン
【審査官】岩井 健二
(56)【参考文献】
【文献】ZHANG, Li, et al.,CE4-related: History-based Motion Vector Prediction,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 11th Meeting: Ljubljana, SI, 10-18 July 2018, [JVET-K0104-v4],JVET-K104 (version 4),2018年07月15日,pp.1-6,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K0104-v4.zip><JVET-K0104_r3.docx>
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
デコード装置によって行われる画像デコード方法において、
ビットストリームからレジデュアル情報を受信するステップと、
現在ピクチャ内の現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成するステップと、
前記現在ブロックに対するHMVP(history-based motion vector prediction)候補を含む前記現在ブロックに対するHMVPバッファを導出するステップと、
少なくとも1つの追加の候補を追加することにより、アップデートされたAMVP候補リストを導出するステップであって、前記少なくとも1つの追加の候補は、前記HMVPバッファ内の前記HMVP候補の中から選択された少なくとも1つのHMVP候補を用いて導出される、ステップと、
前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出するステップと、
前記現在ブロックに対する前記動き情報に基づいて前記現在ブロックに対する予測サンプルを導出するステップと、
前記レジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを導出するステップと、
前記現在ブロックに対する前記予測サンプル及び前記現在ブロックに対する前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成するステップと、を含み、
前記少なくとも1つのHMVP候補は、HMVPバッファインデックスに基づいて、前記HMVP候補の中から選択され、
前記少なくとも1つのHMVP候補は、優先順位に基づいて選択され、前記優先順位は、前記HMVPバッファインデックスに基づき、
相対的に低いHMVPバッファインデックスを持つHMVP候補は、相対的に高いHMVPバッファインデックスを持つHMVP候補より高い優先度を有し、
前記少なくとも1つのHMVP候補の参照ピクチャが前記現在ブロックの参照ピクチャと等しいことに基づいて、前記少なくとも1つのHMVP候補は
、前記少なくとも1つの追加の候補を導出するために使用される、画像デコード方法。
【請求項2】
エンコード装置によって行われる画像エンコード方法において、
現在ピクチャ内の現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成するステップと、
前記現在ブロックに対するHMVP(history-based motion vector prediction)候補を含む前記現在ブロックに対するHMVPバッファを導出するステップと、
少なくとも1つの追加の候補を追加することにより、アップデートされたAMVP候補リストを導出するステップであって、前記少なくとも1つの追加の候補は、前記HMVPバッファ内の前記HMVP候補の中から選択された少なくとも1つのHMVP候補を用いて導出される、ステップと、
前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出するステップと、
前記現在ブロックに対する前記動き情報に基づいて前記現在ブロックに対する予測サンプルを導出するステップと、
前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出するステップと、
前記現在ブロックに対する前記レジデュアルサンプルに基づいてレジデュアル情報を生成するステップと、
前記レジデュアル情報を含む画像情報をエンコードするステップと、を含み、
前記少なくとも1つのHMVP候補は、HMVPバッファインデックスに基づいて、前記HMVP候補の中から選択され、
前記少なくとも1つのHMVP候補は、優先順位に基づいて選択され、
前記優先順位は、前記HMVPバッファインデックスに基づき、
相対的に低いHMVPバッファインデックスを持つHMVP候補は、相対的に高いHMVPバッファインデックスを持つHMVP候補より高い優先度を有し、
前記少なくとも1つのHMVP候補の参照ピクチャが前記現在ブロックの参照ピクチャと等しいことに基づいて、前記少なくとも1つのHMVP候補は
、前記少なくとも1つの追加の候補を導出するために使用される、画像エンコード方法。
【請求項3】
画像に対するデータの送信方法において、
前記画像に対するビットストリームを取得するステップと、
前記ビットストリームを含む前記データを送信するステップと、を含み、
前記ビットストリームは、現在ピクチャ内の現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成し、前記現在ブロックに対するHMVP(history-based motion vector prediction)候補を含む前記現在ブロックに対するHMVPバッファを導出し、少なくとも1つの追加の候補を追加することにより、アップデートされたAMVP候補リストを導出し、前記少なくとも1つの追加の候補は、前記HMVPバッファ内の前記HMVP候補の中から選択された少なくとも1つのHMVP候補を用いて導出され、前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出し、前記現在ブロックに対する前記動き情報に基づいて前記現在ブロックに対する予測サンプルを導出し、前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出し、前記現在ブロックに対する前記レジデュアルサンプルに基づいてレジデュアル情報を生成し、前記レジデュアル情報を含む画像情報をエンコードすることに基づいて生成され、
前記少なくとも1つのHMVP候補は、HMVPバッファインデックスに基づいて、前記HMVP候補の中から選択され、
前記少なくとも1つのHMVP候補は、優先順位に基づいて選択され、
前記優先順位は、前記HMVPバッファインデックスに基づき、
相対的に低いHMVPバッファインデックスを持つHMVP候補は、相対的に高いHMVPバッファインデックスを持つHMVP候補より高い優先度を有し、
前記少なくとも1つのHMVP候補の参照ピクチャが前記現在ブロックの参照ピクチャと等しいことに基づいて、前記少なくとも1つのHMVP候補は
、前記少なくとも1つの追加の候補を導出するために使用される、送信方法。
【請求項4】
デコード装置によって行われる画像デコード方法において、
ビットストリームからレジデュアル情報を受信するステップと、
現在ピクチャ内の現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成するステップと、
前記現在ブロックに対するHMVP(history-based motion vector prediction)候補を含む前記現在ブロックに対するHMVPバッファを導出するステップと、
少なくとも1つの追加の候補を追加することにより、アップデートされたAMVP候補リストを導出するステップであって、前記少なくとも1つの追加の候補は、前記HMVPバッファ内の前記HMVP候補の中から選択された少なくとも1つのHMVP候補を用いて導出される、ステップと、
前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出するステップと、
前記現在ブロックに対する前記動き情報に基づいて前記現在ブロックに対する予測サンプルを導出するステップと、
前記レジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを導出するステップと、
前記現在ブロックに対する前記予測サンプル及び前記現在ブロックに対する前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成するステップと、を含み、
前記少なくとも1つのHMVP候補は、HMVPバッファインデックスに基づいて、前記HMVP候補の中から選択され、
前記少なくとも1つのHMVP候補は、優先順位に基づいて選択され、前記優先順位は、前記HMVPバッファインデックスに基づき、
相対的に低いHMVPバッファインデックスを持つHMVP候補は、相対的に高いHMVPバッファインデックスを持つHMVP候補より高い優先度を有し、
前記少なくとも1つのHMVP候補は、前記少なくとも1つのHMVP候補の動き情報が、前記AMVP候補リストに含まれる前記少なくとも1つのAMVP候補の動き情報と等しいか否かを検査することなしに、前記少なくとも1つの追加の候補を導出するために使用され、前記検査することは、前記少なくとも1つのHMVP候補の参照ピクチャが前記現在ブロックの参照ピクチャと等しいことに基づく、画像デコード方法。
【請求項5】
エンコード装置によって行われる画像エンコード方法において、
現在ピクチャ内の現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成するステップと、
前記現在ブロックに対するHMVP(history-based motion vector prediction)候補を含む前記現在ブロックに対するHMVPバッファを導出するステップと、
少なくとも1つの追加の候補を追加することにより、アップデートされたAMVP候補リストを導出するステップであって、前記少なくとも1つの追加の候補は、前記HMVPバッファ内の前記HMVP候補の中から選択された少なくとも1つのHMVP候補を用いて導出される、ステップと、
前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出するステップと、
前記現在ブロックに対する前記動き情報に基づいて前記現在ブロックに対する予測サンプルを導出するステップと、
前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出するステップと、
前記現在ブロックに対する前記レジデュアルサンプルに基づいてレジデュアル情報を生成するステップと、
前記レジデュアル情報を含む画像情報をエンコードするステップと、を含み、
前記少なくとも1つのHMVP候補は、HMVPバッファインデックスに基づいて、前記HMVP候補の中から選択され、
前記少なくとも1つのHMVP候補は、優先順位に基づいて選択され、
前記優先順位は、前記HMVPバッファインデックスに基づき、
相対的に低いHMVPバッファインデックスを持つHMVP候補は、相対的に高いHMVPバッファインデックスを持つHMVP候補より高い優先度を有し、
前記少なくとも1つのHMVP候補は、前記少なくとも1つのHMVP候補の動き情報が、前記AMVP候補リストに含まれる前記少なくとも1つのAMVP候補の動き情報と等しいか否かを検査することなしに、前記少なくとも1つの追加の候補を導出するために使用され、前記検査することは、前記少なくとも1つのHMVP候補の参照ピクチャが前記現在ブロックの参照ピクチャと等しいことに基づく、画像エンコード方法。
【請求項6】
画像に対するデータの送信方法において、
前記画像に対するビットストリームを取得するステップと、
前記ビットストリームを含む前記データを送信するステップと、を含み、
前記ビットストリームは、現在ピクチャ内の現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成し、前記現在ブロックに対するHMVP(history-based motion vector prediction)候補を含む前記現在ブロックに対するHMVPバッファを導出し、少なくとも1つの追加の候補を追加することにより、アップデートされたAMVP候補リストを導出し、前記少なくとも1つの追加の候補は、前記HMVPバッファ内の前記HMVP候補の中から選択された少なくとも1つのHMVP候補を用いて導出され、前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出し、前記現在ブロックに対する前記動き情報に基づいて前記現在ブロックに対する予測サンプルを導出し、前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出し、前記現在ブロックに対する前記レジデュアルサンプルに基づいてレジデュアル情報を生成し、前記レジデュアル情報を含む画像情報をエンコードすることに基づいて生成され、
前記少なくとも1つのHMVP候補は、HMVPバッファインデックスに基づいて、前記HMVP候補の中から選択され、
前記少なくとも1つのHMVP候補は、優先順位に基づいて選択され、
前記優先順位は、前記HMVPバッファインデックスに基づき、
相対的に低いHMVPバッファインデックスを持つHMVP候補は、相対的に高いHMVPバッファインデックスを持つHMVP候補より高い優先度を有し、
前記少なくとも1つのHMVP候補は、前記少なくとも1つのHMVP候補の動き情報が、前記AMVP候補リストに含まれる前記少なくとも1つのAMVP候補の動き情報と等しいか否かを検査することなしに、前記少なくとも1つの追加の候補を導出するために使用され、前記検査することは、前記少なくとも1つのHMVP候補の参照ピクチャが前記現在ブロックの参照ピクチャと等しいことに基づく、送信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像コーディング技術に関し、より詳細には、画像コーディングシステムにおいて、HMVP(history-based Motion vector Prediction)に基づいて予測候補を構成する方法及び装置に関する。
【背景技術】
【0002】
近年、4Kまたは8K以上のUHD(Ultra High Definition)画像/ビデオのような高解像度、高品質の画像/ビデオに対する需要が様々な分野で増加している。画像/ビデオデータが高解像度、高品質になるほど、既存の画像/ビデオデータに比べて相対的に送信される情報量またはビット量が増加するので、既存の有無線広帯域回線のような媒体を利用して画像データを送信するか、既存の格納媒体を利用して画像/ビデオデータを格納する場合、送信費用と格納費用が増加される。
【0003】
また、近年、VR(Virtual Reality)、AR(Artificial Realtiy)コンテンツやホログラムなどの実感メディア(Immersive Media)に対する関心及び需要が増加しており、ゲーム画像のように、現実画像と異なる画像特性を有する画像/ビデオに対する放送が増加している。
【0004】
これにより、上記のような様々な特性を有する高解像度・高品質の画像/ビデオの情報を効果的に圧縮して送信するか、格納し、再生するために高効率の画像/ビデオ圧縮技術が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の技術的課題は、画像コーディング効率を上げる方法及び装置を提供することにある。
【0006】
本開示の他の技術的課題は、画面間予測方法を利用してコーディングを行う方法及び装置を提供することにある。
【0007】
本開示のさらに他の技術的課題は、画面間予測においてHMVPに基づいて予測候補を構成する方法及び装置を提供することにある。
【0008】
本開示のさらに他の技術的課題は、画面間予測においてHMVPに基づいて予測候補を構成するとき、プルーニング過程(pruning process)による複雑度増加を防止するために、プルーニング過程を省略する方法及び装置を提供することにある。
【課題を解決するための手段】
【0009】
本開示の一実施形態によれば、デコード装置によって行われる画像デコード方法が提供される。上記方法は、現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成するステップ、前記現在ブロックに対するHMVP(history-based motion vector Prediction)候補を含む前記現在ブロックに対するHMVP候補リストを導出するステップ、前記HMVP候補リスト内の前記HMVP候補のうち、少なくとも1つのHMVP候補を選択するステップ、前記少なくとも1つのHMVP候補を前記AMVP候補リストに追加して、アップデートされたAMVP候補リストを導出するステップ、前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出するステップ、前記現在ブロックに対する動き情報に基づいて前記現在ブロックに対する予測サンプルを導出するステップ、及び前記現在ブロックに対する予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成するステップを含むことを特徴とする。
【0010】
本開示の他の一実施形態によれば、画像デコードを行うデコード装置が提供される。前記デコード装置は、現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成し、前記現在ブロックに対するHMVP候補を含む前記現在ブロックに対するHMVP候補リストを導出し、前記HMVP候補リスト内の前記HMVP候補のうち、少なくとも1つのHMVP候補を選択し、前記少なくとも1つのHMVP候補を前記AMVP候補リストに追加して、アップデートされたAMVP候補リストを導出し、前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出し、前記現在ブロックに対する動き情報に基づいて前記現在ブロックに対する予測サンプルを導出する予測部及び前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成する加算部を備えることを特徴とする。
【0011】
本開示のさらに他の一実施形態によれば、エンコード装置によって行われる画像エンコード方法が提供される。上記方法は、現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成するステップ、前記現在ブロックに対するHMVP候補を含む前記現在ブロックに対するHMVP候補リストを導出するステップ、前記HMVP候補リスト内の前記HMVP候補のうち、少なくとも1つのHMVP候補を選択するステップ、前記少なくとも1つのHMVP候補を前記AMVP候補リストに追加して、アップデートされたAMVP候補リストを導出するステップ、前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出するステップ、前記現在ブロックに対する前記動き情報に基づいて前記現在ブロックに対する予測サンプルを導出するステップ、前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出するステップ、及び前記レジデュアルサンプルに関する情報を含む画像情報をエンコードするステップを含むことを特徴とする。
【0012】
本開示のさらに他の一実施形態によれば、画像エンコードを行うエンコード装置が提供される。前記エンコード装置は、現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成し、前記現在ブロックに対するHMVP候補を含む前記現在ブロックに対するHMVP候補リストを導出し、前記HMVP候補リスト内の前記HMVP候補のうち、少なくとも1つのHMVP候補を選択し、前記少なくとも1つのHMVP候補を前記AMVP候補リストに追加して、アップデートされたAMVP候補リストを導出し、前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出し、前記現在ブロックに対する前記動き情報に基づいて前記現在ブロックに対する予測サンプルを導出する予測部、前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出するレジデュアル処理部、及び前記レジデュアルサンプルに関する情報を含む画像情報をエンコードするエントロピーエンコード部を備えることを特徴とする。
【0013】
本開示のさらに他の一実施形態によれば、ビデオデコード装置が一部実施形態等に係るデコード方法を行うように引き起こす指示(instructions)に関する情報を格納する、デコーダで読み取り可能な格納媒体が提供される。
【0014】
本開示のさらに他の一実施形態によれば、ビデオデコード装置が一実施形態に係るデコード方法を行うように引き起こす指示に関する情報を格納する、デコーダで読み取り可能な格納媒体が提供される。前記一実施形態に係るデコード方法は、現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成するステップ、前記現在ブロックに対するHMVP(history-based motion vector prediction)候補を含む前記現在ブロックに対するHMVP候補リストを導出するステップ、前記HMVP候補リスト内の前記HMVP候補のうち、少なくとも1つのHMVP候補を選択するステップ、前記少なくとも1つのHMVP候補を前記AMVP候補リストに追加して、アップデートされたAMVP候補リストを導出するステップ、前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出するステップ、前記現在ブロックに対する動き情報に基づいて前記現在ブロックに対する予測サンプルを導出するステップ、及び前記現在ブロックに対する予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成するステップを含むことを特徴とする。
【発明の効果】
【0015】
本開示によれば、全般的な画像/ビデオ圧縮効率を上げることができる。
【0016】
本開示によれば、画面間予測方法を利用して画像コーディング効率を上げることができる。
【0017】
本開示によれば、画面間予測においてHMVPに基づいて予測候補を構成することにより、画像コーディング効率を上げることができる。
【0018】
本開示によれば、画面間予測においてHMVPに基づいて予測候補を構成するとき、プルーニング過程を省略することにより、プルーニング過程による複雑度増加を防止することができる。
【図面の簡単な説明】
【0019】
【
図1】本開示が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
【
図2】本開示が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。
【
図3】本開示が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。
【
図4】HMVP候補に基づくデコード手順の例を概略的に示す。
【
図5a】一実施形態によってHMVPバッファをアップデートする過程を示す図である。
【
図5b】一実施形態によってHMVPバッファをアップデートする過程を示す図である。
【
図6】一部実施形態等に係るHMVP予測方法を説明するための図である。
【
図7】一部実施形態等に係るHMVP予測方法を説明するための図である。
【
図8】一部実施形態等に係るHMVP予測方法を説明するための図である。
【
図9】一部実施形態等に係るHMVP予測方法を説明するための図である。
【
図10】一部実施形態等に係るHMVP予測方法を説明するための図である。
【
図11】一部実施形態等に係るHMVP予測方法を説明するための図である。
【
図12】一部実施形態等に係るHMVP予測方法を説明するための図である。
【
図13】一部実施形態等に係るHMVP予測方法を説明するための図である。
【
図14】一実施形態に係るエンコード装置の動作を示すフローチャートである。
【
図15】一実施形態に係るエンコード装置の構成を示すブロック図である。
【
図16】一実施形態に係るデコード装置の動作を示すフローチャートである。
【
図17】一実施形態に係るデコード装置の構成を示すブロック図である。
【
図18】本文書の開示が適用され得るコンテンツストリーミングシステムの例を示す。
【発明を実施するための形態】
【0020】
本開示の一実施形態によれば、デコード装置によって行われる画像デコード方法が提供される。上記方法は、現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成するステップ、前記現在ブロックに対するHMVP(history-based motion vector prediction)候補を含む前記現在ブロックに対するHMVP候補リストを導出するステップ、前記HMVP候補リスト内の前記HMVP候補のうち、少なくとも1つのHMVP候補を選択するステップ、前記少なくとも1つのHMVP候補を前記AMVP候補リストに追加して、アップデートされたAMVP候補リストを導出するステップ、前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出するステップ、前記現在ブロックに対する動き情報に基づいて前記現在ブロックに対する予測サンプルを導出するステップ、及び前記現在ブロックに対する予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成するステップを含むことを特徴とする。
【0021】
本開示は、様々な変更を加えることができ、種々の実施形態を有することができるところ、特定実施形態を図面に例示し、詳細に説明しようとする。しかしながら、これは、本開示を特定実施形態に限定しようとするものではない。本明細書において常用する用語は、単に特定の実施形態を説明するために使用されたものであって、本開示の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上明らかに異なるように意味しない限り、複数の表現を含む。本明細書において「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、1つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものなどの存在または付加可能性を予め排除しないことと理解されるべきである。
【0022】
一方、本開示において説明される図面上の各構成は、互いに異なる特徴的な機能等に関する説明の都合上、独立的に図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで実現されるということを意味するものではない。例えば、各構成のうち、2つ以上の構成が合わせられて1つの構成をなすことができ、1つの構成が複数の構成に分けられることもできる。各構成が統合及び/又は分離された実施形態も本開示の本質から逸脱しない限り、本開示の権利範囲に含まれる。
【0023】
以下、添付した図面を参照して、本開示の望ましい実施形態をより詳細に説明しようとする。以下、図面上の同じ構成要素に対しては、同じ参照符号を使用し、同じ構成要素について重複した説明は省略されることができる。
【0024】
図1は、本開示が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
【0025】
図1に示すように、ビデオ/画像コーディングシステムは、第1の装置(ソースデバイス)及び第2の装置(受信デバイス)を備えることができる。ソースデバイスは、エンコードされたビデオ(video)/画像(image)情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスに伝達することができる。
【0026】
前記ソースデバイスは、ビデオソース、エンコード装置、送信部を備えることができる。前記受信デバイスは、受信部、デコード装置、及びレンダラを備えることができる。前記エンコード装置は、ビデオ/画像エンコード装置と呼ばれることができ、前記デコード装置は、ビデオ/画像デコード装置と呼ばれることができる。送信機は、エンコード装置に備えられることができる。受信機は、デコード装置に備えられることができる。レンダラは、ディスプレイ部を備えることができ、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
【0027】
ビデオソースは、ビデオ/画像のキャプチャ、合成、または生成過程などを介してビデオ/画像を取得できる。ビデオソースは、ビデオ/画像キャプチャデバイス及び/又はビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、1つ以上のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを含むことができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを含むことができ、(電子的に)ビデオ/画像を生成できる。例えば、コンピュータなどを介して仮像のビデオ/画像が生成され得るし、この場合、関連データが生成される過程にビデオ/画像キャプチャ過程が代替されることができる。
【0028】
エンコード装置は、入力ビデオ/画像をエンコードすることができる。エンコード装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を行うことができる。エンコードされたデータ(エンコードされたビデオ/画像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
【0029】
送信部は、ビットストリーム形態で出力されたエンコードされたビデオ/画像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達することができる。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。送信部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介しての送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコード装置に伝達することができる。
【0030】
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を行ってビデオ/画像をデコードすることができる。
【0031】
レンダラは、デコードされたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像は、ディスプレイ部を介してディスプレイされることができる。
【0032】
この文書は、ビデオ/画像コーディングに関するものである。例えば、この文書において開示された方法/実施形態は、VVC(versatile video coding)標準、EVC(essential video coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)、または次世代ビデオ/画像コーディング標準(例えば、H.267 or H.268等)に開示される方法に適用されることができる。
【0033】
この文書では、ビデオ/画像コーディングに関する様々な実施形態を提示し、他の言及がない限り、上記実施形態等は、互いに組み合わせられて行われることもできる。
【0034】
この文書においてビデオ(video)は、時間の流れによる一連の画像(image)等の集合を意味できる。ピクチャ(picture)は、一般的に特定時間帯の1つの画像を示す単位を意味し、スライス(slice)/タイル(tile)は、コーディングにおいてピクチャの一部を構成する単位である。スライス/タイルは、1つ以上のCTU(coding tree unit)を含むことができる。1つのピクチャは、1つ以上のスライス/タイルで構成されることができる。1つのピクチャは、1つ以上のタイルグループで構成されることができる。1つのタイルグループは、1つ以上のタイルを含むことができる。ブリックは、ピクチャ内のタイル以内のCTU行の長方形領域を示すことができる(a brick may represent a rectangular region of CTU rows within a tile in a picture)。タイルは、複数のブリックにパーティショニングされることができ、各ブリックは、前記タイル内の1つ以上のCTU行で構成されることができる(A tile may be partitioned into multiple bricks、 each of which consisting of one or more CTU rows within the tile)。複数のブリックにパーティショニングされなかったタイルは、ブリックとも呼ばれることができる(A tile that is not partitioned into multiple bricks may be also referred to as a brick)。ブリックスキャンは、ピクチャをパーティショニングするCTUの特定の順次的オーダリングを示すことができ、前記CTUは、ブリック内でCTUラスタスキャンで整列されることができ、タイル内のブリックは、前記タイルの前記ブリックのラスタスキャンで連続的に整列されることができ、そして、ピクチャ内のタイルは、前記ピクチャの前記タイルのラスタスキャンで連続的に整列されることができる(A brick scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a brick、bricks within a tile are ordered consecutively in a raster scan of the bricks of the tile、 and tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture)。タイルは、特定タイル列及び特定タイル列以内のCTUの長方形領域である(A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a picture)。前記タイル列は、CTUの長方形領域であり、前記長方形領域は、前記ピクチャの高さと同じ高さを有し、幅は、ピクチャパラメータセット内のシンタックス要素により明示されることができる(The tile column is a rectangular region of CTUs having a height equal to the height of the picture and a width specified by syntax elements in the picture parameter set)。前記タイル行は、CTUの長方形領域であり、前記長方形領域は、ピクチャパラメータセット内のシンタックス要素により明示される幅を有し、高さは、前記ピクチャの高さと同じであることができる(The tile row is a rectangular region of CTUs having a height specified by syntax elements in the picture parameter set and a width equal to the width of the picture)。タイルスキャンは、ピクチャをパーティショニングするCTUの特定順次的オーダリングを示すことができ、前記CTUは、タイル内のCTUラスタスキャンで連続的に整列されることができ、ピクチャ内のタイルは、前記ピクチャの前記タイルのラスタスキャンで連続的に整列されることができる(A tile scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture)。スライスは、ピクチャの整数個のブリックを含むことができ、前記整数個のブリックは、1つのNALユニットに含まれることができる(A slice includes an integer number of bricks of a picture that may be exclusively contained in a single NAL unit)。スライスは、複数の完全なタイルで構成されることができ、または、1つのタイルの完全なブリックの連続的なシーケンスであることもできる(A slice may consists of either a number of complete tiles or only a consecutive sequence of complete bricks of one tile)。この文書においてタイルグループとスライスとは混用されることができる。例えば、本文書においてtile group/tile group headerは、slice/slice headerと呼ばれることができる。
【0035】
ピクセル(pixel)またはペル(pel)は、1つのピクチャ(または、画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として、「サンプル(sample)」が使用され得る。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すことができ、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
【0036】
ユニット(unit)は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち、少なくとも1つを含むことができる。1つのユニットは、1つのルマブロック及び2つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行とからなるサンプル(または、サンプルアレイ)または変換係数(transform coefficient)の集合(または、アレイ)を含むことができる。
【0037】
この文書において、「/」と「、」は、「及び/又は」と解釈される。例えば、「A/B」は、「A及び/又はB」と解釈され、「A、B」は、「A及び/又はB」と解釈される。追加的に、「A/B/C」は、「A、B及び/又はCのうち、少なくとも1つ」を意味する。また、「A、B、C」も「A、B及び/又はCのうち、少なくとも1つ」を意味する。(In this document,the term “/” and “,” should be interpreted to indicate “and/or.” For instance,the expression “A/B” may mean “A and/or B.” Further, “A,B” may mean “A and/or B.” Further, “A/B/C” may mean “at least one of A,B, and/or C.” Also, “A/B/C” may mean “at least one of A,B, and/or C.”)
【0038】
追加的に、本文書において「または」は、「及び/又は」と解釈される。例えば、「AまたはB」は、1)「A」のみを意味し、2)「B」のみを意味するか、3)「A及びB」を意味することができる。言い換えれば、本文書の「または」は、「追加的にまたは大体的に(additionally or alternatively)」を意味することができる。(Further,in the document,the term “or” should be interpreted to indicate “and/or.” For instance, the expression “A or B” may comprise 1)only A, 2)only B, and/or 3)both A and B. In other words, the term “or” in this document should be interpreted to indicate “additionally or alternatively.”)
【0039】
図2は、本開示が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。以下、ビデオエンコード装置とは、画像エンコード装置を含むことができる。
【0040】
図2に示すように、エンコード装置200は、画像分割部(image partitioner)210、予測部(predictor)220、レジデュアル処理部(residual processor)230、エントロピーエンコード部(entropy encoder)240、加算部(adder)250、フィルタリング部(filter)260、及びメモリ(memory)270を備えて構成されることができる。予測部220は、インター予測部221及びイントラ予測部222を備えることができる。レジデュアル処理部230は、変換部(transformer)232、量子化部(quantizer)233、逆量子化部(dequantizer)234、逆変換部(inverse transformer)235を備えることができる。レジデュアル処理部230は、減算部(subtractor、231)をさらに備えることができる。加算部250は、復元部(reconstructor)または復元ブロック生成部(recontructged block generator)と呼ばれることができる。上述した画像分割部210、予測部220、レジデュアル処理部230、エントロピーエンコード部240、加算部250、及びフィルタリング部260は、実施形態によって1つ以上のハードウェアコンポーネント(例えば、エンコーダチップセットまたはプロセッサ)によって構成されることができる。また、メモリ270は、DPB(decoded picture buffer)を備えることができ、デジタル格納媒体によって構成されることもできる。前記ハードウェアコンポーネントは、メモリ270を内/外部コンポーネントとしてさらに備えることもできる。
【0041】
画像分割部210は、エンコード装置200に入力された入力画像(または、ピクチャ、フレーム)を1つ以上の処理ユニット(processing unit)に分割することができる。一例として、前記処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれることができる。この場合、コーディングユニットは、コーディングツリーユニット(coding tree unit、CTU)または最大コーディングユニット(largest coding unit、LCU)からQTBTTT(Quad-tree binary-tree ternary-tree)構造によって再帰的に(recursively)分割されることができる。例えば、1つのコーディングユニットは、クアッドツリー構造、バイナリツリー構造、及び/又はターナリ構造に基づいて下位(deeper)デプスの複数のコーディングユニットに分割されることができる。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造及び/又はターナリ構造がその後に適用されることができる。または、バイナリツリー構造が先に適用されることもできる。それ以上分割されない最終コーディングユニットに基づいて本開示に係るコーディング手順が行われ得る。この場合、画像特性によるコーディング効率などに基づいて、最大コーディングユニットが最終コーディングユニットとして使用されることができ、または、必要に応じてコーディングユニットは、再帰的に(recursively)もっと下位デプスのコーディングユニットに分割されて最適のサイズのコーディングユニットが最終コーディングユニットとして使用されることができる。ここで、コーディング手順とは、後述する予測、変換、及び復元などの手順を含むことができる。他の例として、前記処理ユニットは、予測ユニット(PU:Prediction Unit)または変換ユニット(TU:Transform Unit)をさらに備えることができる。この場合、前記予測ユニット及び前記変換ユニットは、各々上述した最終コーディングユニットから分割またはパーティショニングされることができる。前記予測ユニットは、サンプル予測の単位であることができ、前記変換ユニットは、変換係数を導く単位及び/又は変換係数からレジデュアル信号(residual signal)を導く単位であることができる。
【0042】
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)等の集合を示すことができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すことができ、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(または、画像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
【0043】
エンコード装置200は、入力画像信号(原本ブロック、原本サンプルアレイ)でインター予測部221またはイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算してレジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成でき、生成されたレジデュアル信号は、変換部232に送信される。この場合、図示されたように、エンコーダ200内において入力画像信号(原本ブロック、原本サンプルアレイ)で予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれることができる。予測部は、処理対象ブロック(以下、現在ブロックという)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成できる。予測部は、現在ブロックまたはCU単位でイントラ予測が適用されるか、またはインター予測が適用されるか決定することができる。予測部は、各予測モードについての説明で後述するように、予測モード情報など、予測に関する様々な情報を生成してエントロピーエンコード部240に伝達することができる。予測に関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
【0044】
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測できる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbor)に位置することができ、または、離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは、例示であり、設定によってそれ以上またはそれ以下の個数の方向性予測モードが使用され得る。イントラ予測部222は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0045】
インター予測部221は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを導くことができる。このとき、インター予測モードで送信される動き情報の量を減らすために、周辺ブロックと現在ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間的周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)とを含むことができる。前記参照ブロックを含む参照ピクチャと前記時間的周辺ブロックを含む参照ピクチャとは同じであることができ、異なることもできる。前記時間的周辺ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(col CU)などの名前で呼ばれることができ、前記時間的周辺ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)と呼ばれることもできる。例えば、インター予測部221は、周辺ブロックに基づいて動き情報候補リストを構成し、前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するために、どの候補が使用されるかを指示する情報を生成できる。様々な予測モードに基づいてインター予測が行われ得るし、例えば、スキップモードとマージモードとの場合に、インター予測部221は、周辺ブロックの動き情報を現在ブロックの動き情報として利用することができる。スキップモードの場合、マージモードとは異なり、レジデュアル信号が送信されないことがある。動き情報予測(motion vector prediction、MVP)モードの場合、周辺ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として用い、動きベクトル差分(motion vector difference)をシグナリングすることにより、現在ブロックの動きベクトルを指示することができる。
【0046】
予測部220は、後述する様々な予測方法に基づいて予測信号を生成できる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくことができ、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と同様に行われることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを利用できる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングすることができる。
【0047】
前記予測部(インター予測部221及び/又は前記イントラ予測部222を備える)を介して生成された予測信号は、復元信号を生成するために用いられるか、レジデュアル信号を生成するために用いられることができる。変換部232は、レジデュアル信号に変換技法を適用して変換係数(transform coefficients)を生成できる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、KLT(Karhunen-Loeve Transform)、GBT(Graph-Based Transform)、またはCNT(Conditionally Non-linear Transform)のうち、少なくとも1つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現しようとするとき、このグラフから得られた変換を意味する。CNTは、以前に復元された全てのピクセル(all previously reconstructed pixel)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同じ大きさを有するピクセルブロックに適用されることができ、正方形でない可変大きさのブロックにも適用されることができる。
【0048】
量子化部233は、変換係数を量子化してエントロピーエンコード部240に送信され、エントロピーエンコード部240は、量子化された信号(量子化された変換係数に関する情報)をエンコードしてビットストリームに出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれることができる。量子化部233は、係数スキャン順序(scan order)に基づいてブロック形態の量子化された変換係数を1次元ベクトル形態で再整列することができ、前記1次元ベクトル形態の量子化された変換係数に基づいて前記量子化された変換係数に関する情報を生成することもできる。エントロピーエンコード部240は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などのような様々なエンコード方法を行うことができる。エントロピーエンコード部240は、量子化された変換係数の他に、ビデオ/イメージ復元に必要な情報(例えば、シンタックス要素(syntax elements)の値等)を共にまたは別にエンコードすることもできる。エンコードされた情報(例えば、エンコードされたビデオ/画像情報)は、ビットストリーム形態でNAL(network abstraction layer)ユニット単位で送信または格納されることができる。前記ビデオ/画像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)等、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。本文書において、エンコード装置からデコード装置に伝達/シグナリングされる情報及び/又はシンタックス要素は、ビデオ/画像情報に含まれることができる。前記ビデオ/画像情報は、上述したエンコード手順を介してエンコードされて前記ビットストリームに含まれることができる。前記ビットストリームは、ネットワークを介して送信されることができ、またはデジタル格納媒体に格納されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。エントロピーエンコード部240から出力された信号は、送信する送信部(図示せず)及び/又は格納する格納部(図示せず)がエンコード装置200の内/外部エレメントとして構成されることができ、または送信部は、エントロピーエンコード部240に含まれることもできる。
【0049】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロックまたはレジデュアルサンプル)を復元できる。加算部155は、復元されたレジデュアル信号をインター予測部221またはイントラ予測部222から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成され得る。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部250は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0050】
一方、ピクチャエンコード及び/又は復元過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0051】
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成でき、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部260は、各フィルタリング方法についての説明で後述するように、フィルタリングに関する様々な情報を生成してエントロピーエンコード部240に伝達することができる。フィルタリングに関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
【0052】
メモリ270に送信された修正された復元ピクチャは、インター予測部221で参照ピクチャとして使用されることができる。エンコード装置は、これを介してインター予測が適用される場合、エンコード装置100とデコード装置における予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【0053】
メモリ270のDPBは、修正された復元ピクチャをインター予測部221における参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するために、インター予測部221に伝達することができる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達することができる。
【0054】
図3は、本開示が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。
【0055】
図3に示すように、デコード装置300は、エントロピーデコード部(entropy decoder)310、レジデュアル処理部(residual processor)320、予測部(predictor)330、加算部(adder)340、フィルタリング部(filter)350、及びメモリ(memoery)360を備えて構成されることができる。予測部330は、インター予測部331及びイントラ予測部332を備えることができる。レジデュアル処理部320は、逆量子化部(dequantizer)321及び逆変換部(inverse transformer)321を備えることができる。上述したエントロピーデコード部310、レジデュアル処理部320、予測部330、加算部340、及びフィルタリング部350は、実施形態によって1つのハードウェアコンポーネント(例えば、デコーダチップセットまたはプロセッサ)により構成されることができる。また、メモリ360は、DPB(decoded picture buffer)を備えることができ、デジタル格納媒体により構成されることもできる。前記ハードウェアコンポーネントは、メモリ360を内/外部コンポーネントとしてさらに備えることもできる。
【0056】
ビデオ/画像情報を含むビットストリームが入力されれば、デコード装置300は、
図3のエンコード装置でビデオ/画像情報が処理されたプロセスに対応して画像を復元できる。例えば、デコード装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出できる。デコード装置300は、エンコード装置で適用された処理ユニットを用いてデコードを行うことができる。したがって、デコードの処理ユニットは、例えば、コーディングユニットであることができ、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/又はターナリツリー構造にしたがって分割されることができる。コーディングユニットから1つ以上の変換ユニットが導出され得る。そして、デコード装置300を介してデコード及び出力された復元画像信号は、再生装置を介して再生されることができる。
【0057】
デコード装置300は、
図3のエンコード装置から出力された信号をビットストリーム形態で受信することができ、受信された信号は、エントロピーデコード部310を介してデコードされることができる。例えば、エントロピーデコード部310は、前記ビットストリームをパーシングして画像復元(または、ピクチャ復元)に必要な情報(例えば、ビデオ/画像情報)を導出できる。前記ビデオ/画像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)など、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。デコード装置は、前記パラメータセットに関する情報及び/又は前記一般制限情報に基づいてさらにピクチャをデコードすることができる。本文書において後述されるシグナリング/受信される情報及び/又はシンタックス要素は、前記デコード手順を介してデコードされて、前記ビットストリームから取得されることができる。例えば、エントロピーデコード部310は、指数ゴロム符号化、CAVLC、またはCABACなどのコーディング方法を基にビットストリーム内の情報をデコードし、画像復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値を出力できる。より具体的に、CABACエントロピーデコード方法は、ビットストリームで各シンタックス要素に該当するビンを受信し、デコード対象のシンタックス要素情報と周辺及びデコード対象ブロックのデコード情報あるいは以前ステップでデコードされたシンボル/ビンの情報を利用して文脈(context)モデルを決定し、決定された文脈モデルによってビン(bin)の発生確率を予測してビンの算術デコード(arithmetic decoding)を行い、各シンタックス要素の値に該当するシンボルを生成できる。このとき、CABACエントロピーデコード方法は、文脈モデル決定後、次のシンボル/ビンの文脈モデルのためにデコードされたシンボル/ビンの情報を利用して文脈モデルをアップデートすることができる。エントロピーデコード部310でデコードされた情報のうち、予測に関する情報は、予測部(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコード部310でエントロピーデコードが行われたレジデュアル値、すなわち、量子化された変換係数及び関連パラメータ情報は、レジデュアル処理部320に入力されることができる。レジデュアル処理部320は、レジデュアル信号(レジデュアルブロック、レジデュアルサンプル、レジデュアルサンプルアレイ)を導出できる。また、エントロピーデコード部310でデコードされた情報のうち、フィルタリングに関する情報は、フィルタリング部350に提供されることができる。一方、エンコード装置から出力された信号を受信する受信部(図示せず)がデコード装置300の内/外部エレメントとしてさらに構成されることができ、または受信部は、エントロピーデコード部310の構成要素であることもできる。一方、本文書に係るデコード装置は、ビデオ/画像/ピクチャデコード装置と呼ばれることができ、前記デコード装置は、情報デコーダ(ビデオ/画像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/画像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは、前記エントロピーデコード部310を備えることができ、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、加算部340、フィルタリング部350、メモリ360、インター予測部332、及びイントラ予測部331のうち、少なくとも1つを備えることができる。
【0058】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力できる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコード装置で行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得できる。
【0059】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
【0060】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成できる。予測部は、エントロピーデコード部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか、またはインター予測が適用されるか決定することができ、具体的なイントラ/インター予測モードを決定できる。
【0061】
予測部320は、後述する様々な予測方法に基づいて予測信号を生成できる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくことができ、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と同様に行われることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/画像情報に含まれてシグナリングされることができる。
【0062】
イントラ予測部331は、現在ピクチャ内のサンプルを参照して現在ブロックを予測できる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbor)に位置することができ、または離れて位置することができる。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。イントラ予測部331は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0063】
インター予測部332は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを導くことができる。このとき、インター予測モードで送信される動き情報の量を減らすために、周辺ブロックと現在ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間的周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)とを備えることができる。例えば、インター予測部332は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出できる。様々な予測モードに基づいてインター予測が行われ得るし、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
【0064】
加算部340は、取得されたレジデュアル信号を予測部(インター予測部332及び/又はイントラ予測部331を備える)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成できる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。
【0065】
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て出力されることができ、または次のピクチャのインター予測のために使用されることもできる。
【0066】
一方、ピクチャデコード過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0067】
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成でき、前記修正された復元ピクチャをメモリ360、具体的に、メモリ360のDPBに送信することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
【0068】
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部332で参照ピクチャとして使用されることができる。メモリ360は、現在ピクチャ内の動き情報が導出された(または、デコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納できる。前記格納された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納でき、イントラ予測部331に伝達することができる。
【0069】
本明細書において、エンコード装置100のフィルタリング部260、インター予測部221、及びイントラ予測部222で説明された実施形態等は、各々デコード装置300のフィルタリング部350、インター予測部332、及びイントラ予測部331にも同一または対応するように適用されることができる。
【0070】
一方、前述したように、ビデオコーディングを実行するにあたって圧縮効率を上げるために予測を実行する。それによって、コーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、前記予測されたブロックは、空間ドメイン(または、ピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコード装置及びデコード装置で同様に導出され、前記エンコード装置は、原本ブロックの原本サンプル値自体でない前記原本ブロックと前記予測されたブロックとの間のレジデュアルに関する情報(レジデュアル情報)をデコード装置にシグナリングすることで画像コーディング効率を上げることができる。デコード装置は、前記レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックを加算して復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
【0071】
前記レジデュアル情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコード装置は、前記原本ブロックと前記予測されたブロックとの間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれているレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を実行して変換係数を導出し、前記変換係数に量子化手順を実行して量子化された変換係数を導出することで、関連したレジデュアル情報を(ビットストリームを介して)デコード装置にシグナリングすることができる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコード装置は、前記レジデュアル情報に基づいて逆量子化/逆変換手順を実行してレジデュアルサンプル(または、レジデュアルブロック)を導出できる。デコード装置は、予測されたブロックと前記レジデュアルブロックに基づいて復元ピクチャを生成することができる。また、エンコード装置は、以後ピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成することができる。
【0072】
図4は、HMVP候補に基づくデコード手順の例を概略的に示す。ここで、HMVP候補に基づくデコード手順は、HMVP候補に基づくインター予測手順を含むことができる。
【0073】
図4に示すように、デコード装置は、HMVP候補(等)を含むHMVPテーブルをロードし、前記HMVP候補(等)のうち、少なくとも1つに基づいてブロックをデコードする。具体的に、例えば、デコード装置は、前記HMVP候補(等)のうち、少なくとも1つに基づいて現在ブロックの動き情報を導出することができ、前記動き情報に基づいて前記現在ブロックに対するインター予測を行って、予測されたブロック(予測サンプルを含む)を導出できる。前記予測されたブロックに基づいて復元ブロックが生成され得ることは、上述したとおりである。前記現在ブロックの導出された動き情報は、前記テーブルにアップデートされることができる。この場合、前記動き情報が前記テーブルの最後のエントリーに新しいHMVP候補として追加されることができる。仮りに、前記テーブルに既存に含まれたHMVP候補の個数が前記テーブルのサイズと同じ場合、前記テーブルに初めて入ってきた候補が削除され、前記導出された動き情報が前記テーブルの最後のエントリーに新しいHMVP候補として追加されることができる。
【0074】
図5a及び
図5bは、一実施形態によってHMVPバッファをアップデートする過程を示す図である。より具体的に、
図5aは、FIFO規則によるHMVPテーブルアップデートを例示的に示し、
図5bは、制限されたFIFO規則によるHMVPテーブルアップデートを例示的に示す。
【0075】
図5aに示されたテーブルには、FIFO(first-in-first-out)規則が適用され得る。例えば、仮りに、テーブルサイズSが16である場合、これは、16個のHMVP候補が前記テーブルに含まれ得ることを示す。仮りに、以前にコーディングされたブロックから16個より多いHMVP候補が発生する場合、FIFO規則が適用され得るし、これを介して前記テーブルは、最も最近にコーディングされた最大16個の動き情報候補を含むことができる。この場合、前記
図5aに示されたように、FIFO規則が適用されて最も古いHMVP候補が除去され、新しいHMVP候補が追加され得る。
【0076】
一方、コーディング効率をさらに向上させるために、
図5bに示されたように、制限されたFIFO規則が適用されることもできる。
図5bに示すように、HMVP候補をテーブルに挿入するとき、重複チェック(redundancy check)が先に適用され得る。これを介して同じ動き情報を有するHMVP候補が既に前記テーブルに存在するか否かを判断できる。仮りに、前記テーブルに同じ動き情報を有するHMVP候補が存在する場合、前記同じ動き情報を有するHMVP候補は、前記テーブルから除去され、前記除去されるHMVP候補以後のHMVP候補は、一間ずつ動き(すなわち、各インデックス-1)、その後、新しいHMVP候補が挿入され得る。
【0077】
上述したように、HMVP候補は、マージ候補リスト構成手順で使用されることができる。この場合、例えば、前記テーブル内の最後のエントリーから最初のエントリーまで挿入可能な全てのHMVP候補は、空間的マージ候補及び時間的マージ候補の次に挿入されることができる。この場合、プルーニングチェックがHMVP候補に対して適用され得る。許容される最大マージ候補の個数はシグナリングされることができ、可用マージ候補の全体個数が最大マージ候補の個数に到達する場合、前記マージ候補リスト構成手順は終了することができる。
【0078】
同様に、HMVP候補は、(A)MVP候補リスト構成手順で使用されることもできる。この場合、HMVPテーブル内の最後のk個のHMVP候補の動きベクトルがMVP候補リストを構成するTMVP候補の次に追加され得る。この場合、例えば、MVPターゲット参照ピクチャと同じ参照ピクチャを有するHMVP候補が前記MVP候補リスト構成のために使用され得る。ここで、MVPターゲット参照ピクチャは、前記MVPモードが適用された現在ブロックのインター予測のための参照ピクチャを示すことができる。この場合、プルーニングチェックがHMVP候補に対して適用され得る。前記kは、例えば、4であることができる。ただし、これは例示であり、前記kは、1、2、3、4等、様々な値を有することができる。
【0079】
一方、全体マージ候補の個数が15と同じであるか、より大きい場合、次の表1のように、truncated unary plus fixed length(with 3 bits)二進化(binarization)方法がマージインデックスコーディングのために適用され得る。
【0080】
【0081】
前記表は、Nmrg=15である場合を仮定し、Nmrgは、マージ候補の全体個数を示す。
【0082】
図6~
図13は、一部実施形態等に係るHMVP予測方法を説明するための図である。
【0083】
一部実施形態等では、HMVPバッファの動き情報を予測候補として使用する過程で、候補のためにバッファで動き情報を導く方法が提供され得る。HMVPは、現在ブロックの動き情報をバッファにプッシュ(Push)し、次のブロックの動き候補を構成する過程で、動きバッファで最も最近の動き情報からポップ(Pop)して現在ブロックのための予測候補を導出するための過程を行うことができる。このとき、ポップされた予測候補と既存の予測候補(例えば、周辺ブロックの動き情報、テンポラル(Temporal)動き情報等)との間の類似性を確認するプルーニング(pruning)過程が行われ得る。
【0084】
プルーニング過程が行われなかった場合、最も最近にプッシュされてHMVPバッファに格納されていた動き情報は、既に構成された周辺ブロックの動き情報と同一である確率が極めて高いので、同じ動き情報が予測候補リストを構成するという現象が生じ得る。しかし、このようなプルーニング過程は、毎度先に構成された予測候補との比較演算を求めるので、コーディング複雑度を増加させるだけでなく、プルーニング過程を行わないながら同一/類似した複雑度演算を有する他の予測候補構成の方法と比較するとき、圧縮効率が高くないことがある。したがって、一実施形態では、プルーニング過程を除去するものの、予測性能を高めるために、ポップされる予測候補をハンドリングする方法が提案され得る。
【0085】
図6による一実施形態では、HMVPバッファで最も最近の予測候補でない、最も以前の予測候補からポップする方法を提案する。
【0086】
図6のようにバッファが構成される場合、現在ブロックの動き情報を復号化し、バッファの空いている最も最後のバッファインデックスに基づいて動き情報を格納するものの、現在ブロックの次のブロックの動き情報を復号化する過程では、最も優先されたバッファインデックス(すなわち、最小バッファインデックス)に基づいた動き情報から利用することができる。このような方法は、
図7のような例示において効率的に周辺動き情報と他の動き情報を導く効果を有するだけでなく、遠くにある動き情報を利用して現在ブロックを復号化する効果を有することができる。
【0087】
図8による一実施形態では、サブサンプリング(sub sampling)に基づいてHMVPでポップする予測候補を決定する方法を提案する。より具体的に、
図8に示すように、バッファに格納された動き情報をサブサンプリングして予測候補として使用することができる。
【0088】
1つの例示において、サブ-サンプリング後、最も古い(または、HMVPバッファインデックスが最も小さい)動き情報を利用できる。
図9に示すように、現在ブロックを符号化する過程でサブ-サンプリングされた0番、2番、4番の動き情報(または、0番、2番、4番のHMVPバッファインデックスに基づいた動き情報)を予測候補として使用することができる。
【0089】
他の例示において、サブサンプリングする過程で最も最新の動き情報から利用することができる。
図10に示すように、サブサンプリングを行うものの、最も最近にサブサンプリングされた動き情報を予測候補として使用することができる。
【0090】
さらに他の例示において、サブサンプリングして予測候補を構成するとき、順序にしたがってポップしても現在ブロックのための予測候補が全て構成されなかった場合、サブサンプリングされて選択されなかった候補を再度順序どおりに選択して予測候補を構成できる。
図11に示すように、サブサンプリングして動き情報を構成したが、現在ブロックのための予測候補が全て構成されなかった場合、さらにサブサンプリングを行った後、1番目のサブサンプリングを介して導出された動き情報と他の動き情報とを予測候補として使用することが確認できる。
【0091】
図12による一実施形態において、HMVPバッファでポップされた予測候補をそのまま使用せずに、ポップされた予測候補の平均動き情報を算出し、算出された動き情報を予測候補として使用することができる。
【0092】
図12に示すように、動き情報を使用するとき、格納された動き情報をそのまま使用することではなく、他の動き情報との平均(average)を算出して動き情報を取得できる。
図12では、最も古い動き情報からHMVPバッファでポップする動作を例示としたが、最も最近の動き情報からポップする方法も可能である。このとき、プルーニング過程が行われなかった状態で予測候補として使用する動き情報は、最も最新に格納された動き情報でないので、周辺動き情報と同じ動き情報が発生する確率が低いことがある。
【0093】
図13に示すように、HMVPバッファでポップされた予測候補をそのまま使用せずに、動きベクトルにオフセット(offset)を適用した後、オフセットが適用された動き情報を予測候補として使用することができる。
図13においてポップされた動き情報であるMV_Oとオフセットが加えられて予測候補として利用されることが確認できる。
【0094】
図14は、一実施形態に係るエンコード装置の動作を示すフローチャートであり、
図15は、一実施形態に係るエンコード装置の構成を示すブロック図である。
【0095】
図14及び
図15によるエンコード装置は、
図16及び
図17によるデコード装置と対応する動作を行うことができる。したがって、
図16及び
図17において後述されるデコード装置の動作は、
図14及び
図15によるエンコード装置にも同様に適用されることができる。
【0096】
図14に開示された各ステップは、
図2に開示されたエンコード装置200によって行われることができる。より具体的に、S1400~S1450は、
図2に開示された予測部220によって行われることができ、S1460は、
図2に開示されたレジデュアル処理部230によって行われることができ、S1470は、
図2に開示されたエントロピーエンコード部240によって行われることができる。さらに、S1400~S1420による動作は、
図3において前述された内容のうち一部に基づいたものである。したがって、
図2及び
図3において前述された内容と重複する具体的な内容は、説明を省略したり、簡単にする。
【0097】
図15に示されたように、一実施形態に係るエンコード装置は、予測部220、レジデュアル処理部230、及びエントロピーエンコード部240を備えることができる。しかし、場合によっては、
図15に示された構成要素の全てがエンコード装置の必須構成要素でないことがあり、エンコード装置は、
図15に示された構成要素より多いか、少ない構成要素により実現されることができる。
【0098】
一実施形態に係るエンコード装置において予測部220、レジデュアル処理部230、及びエントロピーエンコード部240は、各々別のチップ(chip)で実現されるか、少なくとも2つ以上の構成要素が1つのチップを介して実現されることもできる。
【0099】
一実施形態に係るエンコード装置は、現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成できる(S1400)。より具体的に、エンコード装置の予測部220は、現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成できる。
【0100】
一実施形態に係るエンコード装置は、前記現在ブロックに対するHMVP候補を含む前記現在ブロックに対するHMVP候補リストを導出できる(S1410)。より具体的に、エンコード装置の予測部220は、前記現在ブロックに対するHMVP候補を含む前記現在ブロックに対するHMVP候補リストを導出できる。
【0101】
一実施形態に係るエンコード装置は、前記HMVP候補リスト内の前記HMVP候補のうち、少なくとも1つのHMVP候補を選択できる(S1420)。より具体的に、エンコード装置の予測部220は、前記HMVP候補リスト内の前記HMVP候補のうち、少なくとも1つのHMVP候補を選択できる。1つの例示において、少なくとも1つのHMVP候補を選択することは、少なくとも1つのHMVP候補をポップ(pop)することと解釈することができる。
【0102】
一実施形態に係るエンコード装置は、前記少なくとも1つのHMVP候補を前記AMVP候補リストに追加して、アップデートされたAMVP候補リストを導出できる(S1430)。より具体的に、エンコード装置の予測部220は、前記少なくとも1つのHMVP候補を前記AMVP候補リストに追加して、アップデートされたAMVP候補リストを導出できる。
【0103】
一実施形態に係るエンコード装置は、前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出できる(S1440)。より具体的に、エンコード装置の予測部220は、前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出できる。
【0104】
一実施形態に係るエンコード装置は、前記現在ブロックに対する前記動き情報に基づいて前記現在ブロックに対する予測サンプルを導出できる(S1450)。より具体的に、エンコード装置の予測部220は、前記現在ブロックに対する前記動き情報に基づいて前記現在ブロックに対する予測サンプルを導出できる。
【0105】
一実施形態に係るエンコード装置は、前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出できる(S1460)。より具体的に、エンコード装置のレジデュアル処理部230は、前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出できる。
【0106】
一実施形態に係るエンコード装置は、前記レジデュアルサンプルに関する情報を含む画像情報をエンコードすることができる(S1470)。より具体的に、エンコード装置のエントロピーエンコード部240は、前記レジデュアルサンプルに関する情報を含む画像情報をエンコードすることができる。
【0107】
一実施形態において、前記少なくとも1つのHMVP候補を選択するステップは、前記HMVP候補のうち1つのHMVP候補に対して前記AMVP候補リスト内の前記少なくとも1つのAMVP候補に基づいてプルーニング過程を適用するステップ及び前記プルーニング過程に基づいて前記HMVP候補を前記AMVP候補リストに追加するか否かを決定するステップを含むことができる。
【0108】
一実施形態において、前記少なくとも1つのHMVP候補を選択するステップは、前記HMVP候補のHMVP候補リストインデックスに基づいて、前記HMVP候補の中で前記少なくとも1つのHMVP候補を選択するステップを含むことができる。
【0109】
一実施形態において、前記少なくとも1つのHMVP候補の各々に対して前記少なくとも1つのAMVP候補に基づいたプルーニング過程が適用されないことを特徴とすることができる。
【0110】
一実施形態において、前記少なくとも1つのHMVP候補は、前記HMVP候補のうち、前記HMVP候補リストインデックスが最も小さいHMVP候補を含むことを特徴とすることができる。
【0111】
一実施形態に係るエンコード装置は、HMVP候補に対してサンプリングを適用してサンプリングされたHMVP候補を導出できる。前記少なくとも1つのHMVP候補は、前記サンプリングされたHMVP候補のHMVP候補リストインデックスに基づいて前記サンプリングされたHMVP候補の中で選択されることを特徴とすることができる。
【0112】
一実施形態に係るエンコード装置は、前記現在ブロックに対する前記動き情報に基づいて前記HMVP候補リストをアップデートすることができる。前記アップデートされたHMVP候補リストは、前記現在ブロックの次にエンコードされるブロックの動き情報を導出するときに利用されることができる。
【0113】
図14及び
図15のエンコード装置及びエンコード装置の動作方法によれば、エンコード装置は、現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成し(S1400)、前記現在ブロックに対するHMVP候補を含む前記現在ブロックに対するHMVP候補リストを導出し(S1410)、前記HMVP候補リスト内の前記HMVP候補のうち、少なくとも1つのHMVP候補を選択し(S1420)、前記少なくとも1つのHMVP候補を前記AMVP候補リストに追加して、アップデートされたAMVP候補リストを導出し(S1430)、前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出し(S1440)、前記現在ブロックに対する前記動き情報に基づいて前記現在ブロックに対する予測サンプルを導出し(S1450)、前記現在ブロックに対する前記予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出し(S1460)、前記レジデュアルサンプルに関する情報を含む画像情報をエンコード(S1470)することができる。すなわち、画面間予測においてHMVPに基づいて予測候補を構成するとき、プルーニング過程を省略することにより、プルーニング過程による複雑度増加を防止することができる。
【0114】
図16は、一実施形態に係るデコード装置の動作を示すフローチャートであり、
図17は、一実施形態に係るデコード装置の構成を示すブロック図である。
【0115】
図16に開示された各ステップは、
図3に開示されたデコード装置300によって行われることができる。より具体的に、S1600~S1650は、
図3に開示された予測部330によって行われることができ、S1660は、
図3に開示された加算部340によって行われることができる。さらに、S1600~S1660による動作は、
図4~
図13において前述された内容のうち一部に基づいたものである。したがって、
図3~
図13において前述された内容と重複する具体的な内容は、説明を省略したり、簡単にする。
【0116】
図17に示されたように、一実施形態に係るデコード装置は、エントロピーデコード部310、予測部330、及び加算部340を備えることができる。しかし、場合によっては、
図17に示された構成要素の全てがデコード装置の必須構成要素でないことがあり、デコード装置は、
図17に示された構成要素より多いか、少ない構成要素により実現されることができる。
【0117】
一実施形態に係るデコード装置において予測部330及び加算部340は、各々別のチップ(chip)で実現されるか、少なくとも2つ以上の構成要素が1つのチップを介して実現されることもできる。
【0118】
一実施形態に係るデコード装置は、現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成できる(S1600)。より具体的に、デコード装置の予測部330は、現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成できる。
【0119】
一実施形態に係るデコード装置は、前記現在ブロックに対するHMVP(history-based motion vector prediction)候補を含む前記現在ブロックに対するHMVP候補リストを導出できる(S1610)。より具体的に、デコード装置の予測部330は、前記現在ブロックに対するHMVP候補を含む前記現在ブロックに対するHMVP候補リストを導出できる。
【0120】
一実施形態に係るデコード装置は、前記HMVP候補リスト内の前記HMVP候補のうち、少なくとも1つのHMVP候補を選択できる(S1620)。より具体的に、デコード装置の予測部330は、前記HMVP候補リスト内の前記HMVP候補のうち、少なくとも1つのHMVP候補を選択できる。1つの例示において、少なくとも1つのHMVP候補を選択することは、少なくとも1つのHMVP候補をポップ(pop)することと解釈することができる。
【0121】
一実施形態に係るデコード装置は、前記少なくとも1つのHMVP候補を前記AMVP候補リストに追加して、アップデートされたAMVP候補リストを導出できる(S1630)。より具体的に、デコード装置の予測部330は、前記少なくとも1つのHMVP候補を前記AMVP候補リストに追加して、アップデートされたAMVP候補リストを導出できる。
【0122】
一実施形態に係るデコード装置は、前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出できる(S1640)。より具体的に、デコード装置の予測部330は、前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出できる。
【0123】
一実施形態に係るデコード装置は、前記現在ブロックに対する動き情報に基づいて前記現在ブロックに対する予測サンプルを導出できる(S1650)。より具体的に、デコード装置の予測部330は、前記現在ブロックに対する動き情報に基づいて前記現在ブロックに対する予測サンプルを導出できる。
【0124】
一実施形態に係るデコード装置は、前記現在ブロックに対する予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成できる(S1660)。より具体的に、デコード装置の加算部340は、前記現在ブロックに対する予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成できる。
【0125】
一実施形態において、前記少なくとも1つのHMVP候補を選択するステップは、前記HMVP候補のうち1つのHMVP候補に対して前記AMVP候補リスト内の前記少なくとも1つのAMVP候補に基づいてプルーニング過程を適用するステップ及び前記プルーニング過程に基づいて前記HMVP候補を前記AMVP候補リストに追加するか否かを決定するステップを含むことができる。
【0126】
一実施形態において、前記少なくとも1つのHMVP候補を選択するステップは、前記HMVP候補のHMVP候補リストインデックスに基づいて、前記HMVP候補の中で前記少なくとも1つのHMVP候補を選択するステップを含むことができる。
【0127】
一実施形態において、前記少なくとも1つのHMVP候補の各々に対して前記少なくとも1つのAMVP候補に基づいたプルーニング過程が適用されないことを特徴とすることができる。
【0128】
一実施形態において、前記少なくとも1つのHMVP候補は、前記HMVP候補のうち、前記HMVP候補リストインデックスが最も小さいHMVP候補を含むことができる。
【0129】
一実施形態に係るデコード装置は、前記HMVP候補に対してサンプリングを適用してサンプリングされたHMVP候補を導出できる。前記少なくとも1つのHMVP候補は、前記サンプリングされたHMVP候補のHMVP候補リストインデックスに基づいて前記サンプリングされたHMVP候補の中で選択されることができる。
【0130】
一実施形態に係るデコード装置は、前記現在ブロックに対する前記動き情報に基づいて前記HMVP候補リストをアップデートすることができる。前記アップデートされたHMVP候補リストは、前記現在ブロックの次にデコードされるブロックの動き情報を導出するときに利用されることができる。
【0131】
図16及び
図17に開示されたデコード装置及びデコード装置の動作方法によれば、デコード装置は、現在ブロックに対する少なくとも1つのAMVP候補を含むAMVP候補リストを構成し(S1600)、前記現在ブロックに対するHMVP(history-based motion vector prediction)候補を含む前記現在ブロックに対するHMVP候補リストを導出し(S1610)、前記HMVP候補リスト内の前記HMVP候補のうち、少なくとも1つのHMVP候補を選択し(S1620)、前記少なくとも1つのHMVP候補を前記AMVP候補リストに追加して、アップデートされたAMVP候補リストを導出し(S1630)、前記アップデートされたAMVP候補リストに基づいて前記現在ブロックに対する動き情報を導出し(S1640)、前記現在ブロックに対する動き情報に基づいて前記現在ブロックに対する予測サンプルを導出し(S1650)、前記現在ブロックに対する予測サンプルに基づいて前記現在ブロックに対する復元サンプルを生成できる(S1660)。すなわち、画面間予測においてHMVPに基づいて予測候補を構成するとき、プルーニング過程を省略することにより、プルーニング過程による複雑度増加を防止することができる。
【0132】
上述した実施形態において、方法は、一連のステップまたはブロックとして順序図を基に説明されているが、本開示は、ステップの順序に限定されるものではなく、あるステップは、上述したことと異なるステップと異なる順序とで、または同時に発生することができる。また、当業者であれば、順序図に示されたステップが排他的でなく、他のステップが含まれるか、順序図の1つまたはそれ以上のステップが本開示の範囲に影響を及ぼさずに削除され得ることが理解できるであろう。
【0133】
上述した本開示に係る方法は、ソフトウェア形態で実現されることができ、本開示に係るエンコード装置及び/又はデコード装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの画像処理を行う装置に含まれることができる。
【0134】
本開示において実施形態等がソフトウェアで実現されるとき、上述した方法は、上述した機能を果たすモジュール(過程、機能など)で実現されることができる。モジュールは、メモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサ内部または外部にあることができ、よく知られた様々な手段でプロセッサと連結されることができる。プロセッサは、ASIC(application-specific integrated circuit)、他のチップセット、論理回路、及び/又はデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体、及び/又は他の格納装置を含むことができる。すなわち、本開示において説明した実施形態等は、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて行われることができる。例えば、各図面で図示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて行われることができる。この場合、実現のための情報(例えば、information on instructions)またはアルゴリズムがデジタル格納媒体に格納されることができる。
【0135】
また、本開示が適用されるデコード装置及びエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、VR(virtual reality)装置、AR(argumente reality)装置、画像電話ビデオ装置、運送手段端末(例えば、車両(自律走行車両を含む)端末、飛行機端末、船舶端末等)及び医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために使用されることができる。例えば、OTTビデオ(Over the top video)装置では、ゲームコンソール、ブルーレイプレーヤ、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを含むことができる。
【0136】
また、本開示が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータ読み取り可能な記録媒体に格納されることができる。本開示に係るデータ構造を有するマルチメディアデータもコンピュータ読み取り可能な記録媒体に格納されることができる。前記コンピュータ読み取り可能な記録媒体は、コンピュータで読むことができるデータが格納されるあらゆる種類の格納装置及び分散格納装置を含む。前記コンピュータ読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータ読み取り可能な記録媒体は、搬送波(例えば、インターネットを介しての送信)の形態で実現されたメディアを含む。また、エンコード方法で生成されたビットストリームがコンピュータ読み取り可能な記録媒体に格納されるか、有無線通信ネットワークを介して送信されることができる。
【0137】
また、本開示の実施形態は、プログラムコードによるコンピュータプログラム製品で実現されることができ、前記プログラムコードは、本開示の実施形態によりコンピュータで行われることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリア上に格納されることができる。
【0138】
図18は、本文書の開示が適用され得るコンテンツストリーミングシステムの例を示す。
【0139】
図18に示すように、本開示が適用されるコンテンツストリーミングシステムは、大別して、エンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置、及びマルチメディア入力装置を含むことができる。
【0140】
前記エンコードサーバは、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。他の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略されることができる。
【0141】
前記ビットストリームは、本開示が適用されるエンコード方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信または受信する過程で一時的に前記ビットストリームを格納することができる。
【0142】
前記ストリーミングサーバは、ウェブサーバを介してのユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すれば、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
【0143】
前記ストリーミングサーバは、メディア格納所及び/又はエンコードサーバからコンテンツを受信することができる。例えば、前記エンコードサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムに受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間、格納することができる。
【0144】
前記ユーザ装置の例では、携帯電話、スマートフォン(smart phone)、ノートブックコンピュータ(laptop computer)、デジタル放送用端末機、PDA(personal digital assistants)、PMP(portable multimedia player)、ナビゲーション、スレートPC(slate PC)、タブレットPC(tablet PC)、ウルトラブック(ultrabook)、ウェアラブルデバイス(wearable device、例えば、ウォッチ型端末機(smartwatch)、グラス型端末機(smart glass)、HMD(head mounted display))、デジタルTV、デスクトップコンピュータ、デジタルサイニジなどがありうる。
【0145】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。