IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 華為技術有限公司の特許一覧

特許7485809インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ
<>
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図1
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図2
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図3
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図4
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図5
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図6
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図7
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図8
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図9
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図10
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図11
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図12
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図13
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図14
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図15
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図16
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図17
  • 特許-インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-08
(45)【発行日】2024-05-16
(54)【発明の名称】インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダ
(51)【国際特許分類】
   H04N 19/52 20140101AFI20240509BHJP
【FI】
H04N19/52
【請求項の数】 14
【外国語出願】
(21)【出願番号】P 2023026568
(22)【出願日】2023-02-22
(62)【分割の表示】P 2021510682の分割
【原出願日】2019-06-13
(65)【公開番号】P2023075158
(43)【公開日】2023-05-30
【審査請求日】2023-03-24
(31)【優先権主張番号】201810990444.2
(32)【優先日】2018-08-28
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】フゥ,ティン
(72)【発明者】
【氏名】チェン,ホアンバン
(72)【発明者】
【氏名】ヤン,ハイタオ
【審査官】岩井 健二
(56)【参考文献】
【文献】特表2014-514811(JP,A)
【文献】特開2013-138386(JP,A)
【文献】国際公開第2017/200771(WO,A1)
【文献】Yu-Ling Hsiao, et al.,CE4.2-related: MV buffer reduction for non-adjacent spatial merge candidates,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0246-v2,11th Meeting: Ljubljana, SI,2018年07月,pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
インター予測方法であって、
個のピクチャブロックからN個の対象ピクチャブロックを決定するステップであり、前記M個のピクチャブロックはカレントピクチャブロックの全部でM個の近隣位置を含み、前記M個の近隣位置はそれぞれ1つのピクチャブロック内に位置し、前記N個の対象ピクチャブロックのうちどの2つも異なり、M及びNの双方が正の整数であり、MはN以上である、ステップと、
前記N個の対象ピクチャブロックの動き情報に基づいて前記カレントピクチャブロックの候補動き情報を決定するステップと、
前記カレントピクチャブロックの前記候補動き情報内の対象候補動き情報に基づいて前記カレントピクチャブロックに対するインター予測を実行するステップと、
を含み、
前記N個の対象ピクチャブロックはN個のアフィンピクチャブロックであり、前記カレントピクチャブロックの前記候補動き情報は前記カレントピクチャブロックの少なくとも2つの制御点の候補動き情報であり、
前記N個の対象ピクチャブロックの動き情報に基づいて前記カレントピクチャブロックの候補動き情報を決定するステップは、
前記カレントピクチャブロックのための前記N個のアフィンピクチャブロックが全て決定された後に、前記N個の対象ピクチャブロックの複数の制御点の動き情報に基づいて前記カレントピクチャブロックの前記少なくとも2つの制御点の前記候補動き情報を決定するステップを含む、
方法。
【請求項2】
個のピクチャブロックからN個の対象ピクチャブロックを決定するステップは、
前記カレントピクチャブロックのカレント近隣位置を含むピクチャブロックを決定するステップであり、前記カレント近隣位置は、前記N個の対象ピクチャブロックを決定するためにトラバースされる前記M個の近隣位置のうちの1つである、ステップと、
前記カレント近隣位置を含む前記ピクチャブロックが、取得された対象ピクチャブロックの各々と異なるとき、前記カレント近隣位置を含む前記ピクチャブロックを前記カレントピクチャブロックの対象ピクチャブロックとして決定するステップと、
を含む、請求項1に記載の方法。
【請求項3】
前記カレント近隣位置を含む前記ピクチャブロックは、前記カレントピクチャブロックの第1の側にあり、当該方法は、
前記カレントピクチャブロックの前記第1の側の少なくとも1つの第1の対象ピクチャブロックが、前記取得された対象ピクチャブロック内に存在するとき、前記カレント近隣位置を含む前記ピクチャブロックが、前記少なくとも1つの第1の対象ピクチャブロック内の対応する第1の対象ピクチャブロックと同じであるかどうかを決定するステップと、
前記カレント近隣位置を含む前記ピクチャブロックが、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックと異なるとき、前記カレント近隣位置を含む前記ピクチャブロックが、前記取得された対象ピクチャブロックの各々と異なると決定するステップと、
をさらに含み、
前記対応する第1の対象ピクチャブロックは、前記カレント近隣位置と同じ側にあり且つ空間ドメインにおいて前記カレント近隣位置に最も近い、別の近隣位置を含むピクチャブロックを参照する、請求項2に記載の方法。
【請求項4】
前記カレント近隣位置を含む前記ピクチャブロックが、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックと同じであるかどうかを決定するステップは、
前記カレント近隣位置を含む前記ピクチャブロックの予め設定された位置のピクセル座標が、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックの予め設定された位置のピクセル座標と同じであるかどうかを決定するステップと、
前記カレント近隣位置を含む前記ピクチャブロックの前記予め設定された位置の前記ピクセル座標が、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックの前記予め設定された位置の前記ピクセル座標と異なるとき、前記カレント近隣位置を含む前記ピクチャブロックが、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックと異なると決定するステップと、
を含む、請求項3に記載の方法。
【請求項5】
前記カレント近隣位置を含む前記ピクチャブロックが、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックと同じであるかどうかを決定するステップは、
前記カレント近隣位置を含む前記ピクチャブロックの番号が、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックの番号と同じであるかどうかを決定するステップと、
前記カレント近隣位置を含む前記ピクチャブロックの番号が、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックの番号と異なるとき、前記カレント近隣位置を含む前記ピクチャブロックが、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックと異なると決定するステップと、
を含む、請求項3に記載の方法。
【請求項6】
前記カレント近隣位置を含む前記ピクチャブロックは、前記カレントピクチャブロックの前記第1の側にあり、当該方法は、
前記カレントピクチャブロックの前記第1の側の第1の対象ピクチャブロックが、前記取得された対象ピクチャブロック内に存在しないとき、前記カレント近隣位置を含む前記ピクチャブロックが、前記取得された対象ピクチャブロックの各々と異なると決定するステップ
をさらに含む、請求項3乃至5のうちいずれか1項に記載の方法。
【請求項7】
インター予測装置であって、
個のピクチャブロックからN個の対象ピクチャブロックを決定するように構成された決定モジュールであり、前記M個のピクチャブロックはカレントピクチャブロックの全部でM個の近隣位置を含み、前記M個の近隣位置の各々は1つのピクチャブロック内に位置し、前記N個の対象ピクチャブロックのうちどの2つも異なり、M及びNの双方が正の整数であり、MはN以上であり、
前記決定モジュールはさらに、前記N個の対象ピクチャブロックの動き情報に基づいて前記カレントピクチャブロックの候補動き情報を決定するように構成される、決定モジュールと、
前記カレントピクチャブロックの前記候補動き情報内の対象候補動き情報に基づいて前記カレントピクチャブロックに対するインター予測を実行するように構成されたインター予測モジュールと、
を含み、
前記N個の対象ピクチャブロックはN個のアフィンピクチャブロックであり、前記カレントピクチャブロックの前記候補動き情報は前記カレントピクチャブロックの少なくとも2つの制御点の候補動き情報であり、
前記N個の対象ピクチャブロックの動き情報に基づいて前記カレントピクチャブロックの候補動き情報を決定することは、
前記カレントピクチャブロックのための前記N個のアフィンピクチャブロックが全て決定された後に、前記N個の対象ピクチャブロックの複数の制御点の動き情報に基づいて前記カレントピクチャブロックの前記少なくとも2つの制御点の前記候補動き情報を決定することを含む、
装置。
【請求項8】
個のピクチャブロックからN個の対象ピクチャブロックを決定することにおいて、前記決定モジュールは、
前記カレントピクチャブロックのカレント近隣位置を含むピクチャブロックを決定するステップであって、前記カレント近隣位置は、前記N個の対象ピクチャブロックを決定するためにトラバースされる前記M個の近隣位置のうちの1つである、ステップと
前記カレント近隣位置を含む前記ピクチャブロックが、取得された対象ピクチャブロックの各々と異なるとき、前記カレント近隣位置を含む前記ピクチャブロックを前記カレントピクチャブロックの対象ピクチャブロックとして決定するステップと
を実行するように構成される、請求項に記載の装置。
【請求項9】
前記カレント近隣位置を含む前記ピクチャブロックは、前記カレントピクチャブロックの第1の側にあり、前記決定モジュールはさらに、
前記カレントピクチャブロックの前記第1の側の少なくとも1つの第1の対象ピクチャブロックが、前記取得された対象ピクチャブロック内に存在するとき、前記カレント近隣位置を含む前記ピクチャブロックが、前記少なくとも1つの第1の対象ピクチャブロック内の対応する第1の対象ピクチャブロックと同じであるかどうかを決定し、
前記カレント近隣位置を含む前記ピクチャブロックが、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックと異なるとき、前記カレント近隣位置を含む前記ピクチャブロックが、前記取得された対象ピクチャブロックの各々と異なると決定する
ように構成され、
前記対応する第1の対象ピクチャブロックは、前記カレント近隣位置と同じ側にあり且つ空間ドメインにおいて前記カレント近隣位置に最も近い、別の近隣位置を含むピクチャブロックを参照する、請求項に記載の装置。
【請求項10】
前記カレント近隣位置を含む前記ピクチャブロックが、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックと同じであるかどうかを決定することにおいて、前記決定モジュールは、
前記カレント近隣位置を含む前記ピクチャブロックの予め設定された位置のピクセル座標が、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックの予め設定された位置のピクセル座標と同じであるかどうかを決定し、
前記カレント近隣位置を含む前記ピクチャブロックの前記予め設定された位置の前記ピクセル座標が、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックの前記予め設定された位置の前記ピクセル座標と異なるとき、前記カレント近隣位置を含む前記ピクチャブロックが、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックと異なると決定する
ように構成される、請求項に記載の装置。
【請求項11】
前記カレント近隣位置を含む前記ピクチャブロックが、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックと同じであるかどうかを決定することにおいて、前記決定モジュールは、
前記カレント近隣位置を含む前記ピクチャブロックの番号が、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックの番号と同じであるかどうかを決定し、
前記カレント近隣位置を含む前記ピクチャブロックの番号が、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックの番号と異なるとき、前記カレント近隣位置を含む前記ピクチャブロックが、前記少なくとも1つの第1の対象ピクチャブロック内の前記対応する第1の対象ピクチャブロックと異なると決定する
ように構成される、請求項に記載の装置。
【請求項12】
前記カレント近隣位置を含む前記ピクチャブロックは、前記カレントピクチャブロックの前記第1の側にあり、前記決定モジュールはさらに、
前記カレントピクチャブロックの前記第1の側の第1の対象ピクチャブロックが、前記取得された対象ピクチャブロック内に存在しないとき、前記カレント近隣位置を含む前記ピクチャブロックが、前記取得された対象ピクチャブロックの各々と異なると決定する
ように構成される、請求項乃至11のうちずれか1項に記載の装置。
【請求項13】
ビデオエンコーダであって、
請求項乃至12のうちいずれか1項に記載のインター予測装置であり、カレント符号化ピクチャブロックに対するインター予測を実行して前記カレント符号化ピクチャブロックの予測ブロックを取得するように構成される、インター予測装置と、
第1の識別子をビットストリームにエンコードするように構成されたエントロピーエンコーディングユニットであり、前記第1の識別子は、動き情報候補リスト内にあり且つ前記カレント符号化ピクチャブロックの動き情報を予測するために使用される候補動き情報を示すために使用される、エントロピーエンコーディングユニットと、
前記予測ブロックに基づいて前記カレント符号化ピクチャブロックを再構成するように構成された再構成ユニットと、
を含むビデオエンコーダ。
【請求項14】
ビデオデコーダであって、
ビットストリームをデコードして第1の識別子を取得するように構成されたエントロピーデコーディングユニットであり、前記第1の識別子は、動き情報候補リスト内にあり且つカレント符号化ピクチャブロックの動き情報を予測するために使用される候補動き情報を示すために使用される、エントロピーデコーディングユニットと、
請求項乃至12のうちいずれか1項に記載のインター予測装置であり、前記カレント符号化ピクチャブロックに対するインター予測を実行して前記カレント符号化ピクチャブロックの予測ブロックを取得するように構成される、インター予測装置と、
前記予測ブロックに基づいて前記カレント符号化ピクチャブロックを再構成するように構成された再構成ユニットと、
を含むビデオデコーダ。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2018年8月28日に中国特許庁に出願され「INTER PREDICTION METHOD AND APPARATUS, VIDEO ENCODER, AND VIDEO DECODER」と題された中国特許出願第201810990444.2号に対する優先権を主張する、2019年6月13日に出願された日本出願第JP2021-510682号の分割出願であり、該中国特許出願はその全体を参照により本明細書に組み込まれる。
[技術分野]
本出願は、ビデオエンコーディング及びデコーディング技術の分野に関し、より具体的には、インター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダに関する。
【背景技術】
【0002】
デジタルビデオ機能は、デジタルテレビジョン、デジタル生放送システム、無線放送システム、パーソナルデジタルアシスタント(personal digital assistant、PDA)、ラップトップ又はデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録装置、デジタルメディアプレーヤ、ビデオゲーム装置、ビデオゲームコンソール、セルラー又は衛星無線電話(すなわち、「スマートフォン」)、ビデオ会議装置、ビデオストリーミング装置などを含む、広範な装置に組み込むことができる。デジタルビデオ装置は、MPEG-2、MPEG-4、ITU-T H.263、及びITU-T H.264/MPEG-4 part10高度ビデオ符号化に定義される標準、ビデオ符号化標準H.265/高効率ビデオ符号化(high efficiency video coding、HEVC)標準、並びにそのような標準の拡張に記載されたビデオ圧縮技術などのビデオ圧縮技術を実装する。ビデオ装置は、そのようなビデオ圧縮技術を実装することにより、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、及び/又は記憶することができる。
【0003】
ビデオ圧縮技術は、空間的(ピクチャ内)予測及び/又は時間的(ピクチャ間)予測を実行してビデオシーケンスにおける固有の冗長性を低減又は除去するために使用される。ブロックベースのビデオ符号化において、ビデオスライス(すなわち、ビデオフレーム又はビデオフレームの一部)は、ピクチャブロックに分割されることがあり、ピクチャブロックは、ツリーブロック、符号化ユニット(CU)、及び/又は符号化ノードと呼ばれることもある。ピクチャのイントラ符号化すべき(I)スライス内のピクチャブロックは、同じピクチャ内の近隣ブロック内の参照サンプルに基づく空間予測を通して符号化される。ピクチャのインター符号化すべき(P又はB)スライス内のピクチャブロックについては、同じピクチャ内の近隣ブロック内の参照サンプルに基づく空間予測、又は別の参照ピクチャ内の参照サンプルに基づく時間予測が使用されてもよい。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【0004】
HEVCでは、2つのインター予測モードが通常使用され、すなわち、高度動きベクトル予測(advanced motion vector prediction、AMVP)モードとマージ(merge)モードである。
【0005】
AMVPモードとマージモードの双方において、動き情報候補リストが維持される必要がある。新しい動き情報が動き情報候補リストに毎回追加される前に、現在追加すべき動き情報と同じ動き情報が動き情報候補リストに既に存在するかどうかが決定される必要がある。同じ動き情報が既に動き情報候補リストに存在する場合、現在追加すべき動き情報は破棄される。動き情報候補リストに同じ動き情報が存在しない場合、現在追加すべき動き情報は動き情報候補リストに追加される。
【0006】
動き情報候補リストを更新する上述のプロセスにおいて、2つの動き情報が同じであるかどうかが決定される必要がある。従来の解決策では、2つの動き情報が同じであるかどうかは、2つの動き情報の予測方向、参照フレーム、並びに動きベクトルの水平及び垂直成分などのパラメータが同じであるかどうかを決定することにより、通常決定される。複数の比較動作が必要とされ、複雑さが比較的高い。
【発明の概要】
【0007】
本出願は、インター予測効率を向上させるために、動き情報候補リストの取得の間の比較動作の数量を低減するためのインター予測方法及び装置、ビデオエンコーダ、並びにビデオデコーダを提供する。
【0008】
第1の態様によれば、インター予測方法が提供される。当該方法は、カレント(current)ピクチャブロックのM個の近隣位置(neighboring locations)があるM個のピクチャブロックからN個の対象ピクチャブロックを決定するステップと、N個の対象ピクチャブロックの動き情報に基づいてカレントピクチャブロックの候補動き情報を決定し、カレントピクチャブロックの候補動き情報をカレントピクチャブロックの動き情報候補リストに追加するステップと、動き情報候補リストに基づいてカレントピクチャブロックに対するインター予測を実行するステップと、を含む。
【0009】
N個の対象ピクチャブロックのうちどの2つも異なる(換言すれば、N個の対象ピクチャブロック内に同じピクチャブロックは存在しない)。M及びNは双方とも正の整数であり、MはN以上である。さらに、N個の対象ピクチャブロックのうちどの2つも異なることは、N個の対象ピクチャブロックの各々が他の(N-1)個の対象ピクチャブロックと異なることを意味し得る。
【0010】
M個の近隣位置の各々は1つのピクチャブロック内に位置し、M個の近隣位置はそれぞれM個のピクチャブロック内に位置することを理解されたい。M個のピクチャブロックのいくつかは同じでもよいことを理解されたい。換言すれば、異なる近隣位置が全て、同じピクチャブロック内であってもよい。N個のピクチャブロックはM個のピクチャブロックから決定され、それにより、M個のピクチャブロックの中の繰り返しのピクチャブロックは遮断するすることができる(M個のピクチャブロックのうちいくつかが同じとき)。このようにして、互いに異なるN個の対象ピクチャブロックが決定される。
【0011】
さらに、N個の対象ピクチャブロックの動き情報に基づいてカレントピクチャブロックの候補動情報を決定することは、具体的に、N個の対象ピクチャブロックの各々の動き情報に基づいてカレントピクチャブロックの候補動情報を決定することでもよい。
【0012】
カレントピクチャブロックの近隣位置は、カレントピクチャブロックの境界に隣接した位置でもよいことを理解されたい。さらに、カレントピクチャブロックの近隣位置は、カレントピクチャブロックの境界に対して特定の距離を有するように拡張された位置(例えば、カレントピクチャブロックの境界への距離が特定の範囲内である位置)でもよい。さらに、近隣位置は、代替的に、カレントピクチャブロックの境界の周囲の4×4サブブロックでもよい。一例において、近隣位置は、A1、B1、B0、A0、及びB2などの、カレントピクチャブロックの周辺近隣位置があるブロックの位置でもよい。例えば、近隣位置は、周辺近隣位置があるブロックA1、B1、B0、A0、及びB2の中心点又は左上隅の位置でもよい。
【0013】
任意で、動き情報候補リストに基づいてカレントピクチャブロックに対するインター予測を実行することは、動き情報候補リストから対象動き情報を決定することと、対象動き情報に基づいてカレントピクチャブロックに対するインター予測を実行することを含む。この方法がピクチャブロックをエンコードするために使用される場合、動き情報候補リストから対象動き情報を決定することは、レート歪みコスト基準に従って動き情報候補リストから対象動き情報(対象候補動き情報とも呼ばれる)を決定することでもよい。例えば、対象候補動き情報を使用することによりカレントピクチャブロックをエンコードするためのレート歪みコストは最小である。
【0014】
この方法がピクチャブロックをデコードするために使用される場合、動き情報候補リストから対象動き情報を決定することは、ビットストリームを解析することにより取得される第1の識別子情報(例えば、インデックス)に基づいて、動き情報候補リストから対象動き情報(対象候補動き情報とも呼ばれる)を決定することでもよい。対象候補動き情報は、カレントピクチャブロックの動き情報を予測するために使用される。任意で、動き情報候補リストの長さが1であるとき、インデックスが対象動き情報を示す必要はなく、唯一の候補動き情報が対象候補動き情報として決定される。
【0015】
カレント符号化ピクチャブロックの動き情報は、対象候補動き情報に基づいて予測/取得される。例えば、対象候補動き情報は、カレントピクチャブロックの動き情報として決定される。あるいは、対象候補動き情報が動きベクトル予測子(predictor)である場合、カレントピクチャブロックの動き情報は、動きベクトル予測子と、ビットストリームを解析することにより取得されるカレントピクチャブロックの動きベクトル差分MVDに基づいて決定される。カレントピクチャブロックの動き情報に基づいて、カレントピクチャブロックに対してインター予測が実行されて、カレントピクチャブロックの予測ブロック(すなわち、予測ピクセル値)を取得する。
【0016】
対象動き情報は、動き情報候補リストから決定される最適な動き情報でもよい。
【0017】
具体的に、カレントピクチャブロックが非アフィン符号化ブロックである場合、対象動き情報に基づいてカレントピクチャブロックに対するインター予測を実行することは、対象動き情報に基づいてカレントピクチャブロックに対する動き補償を実行して、カレントピクチャブロックの予測子を取得することを含んでもよい。
【0018】
カレントピクチャブロックがアフィン符号化ブロックである場合、対象動き情報(カレントピクチャブロックの制御点の動き情報)は、動き情報候補リストから決定される必要がある。次いで、対象動き情報に基づいて、カレントピクチャブロックの各サブブロックの動き情報が決定される。次いで、各サブブロックの動き情報に基づいて、各サブブロックに対して動き補償(motion compensation)が実行されて、各サブブロックの予測子を取得する。カレントピクチャブロックの予測子は、各サブブロックの予測子が取得された後に取得されることを理解されたい。
【0019】
任意で、MとNは予め設定された値である。
【0020】
例えば、Nの値は5である。
【0021】
第1の態様におけるインター予測方法は、並進モデルにおけるインター予測方法でもよく、あるいは非並進モデル(例えば、アフィン運動モデル)におけるインター予測方法でもよいことを理解されたい。
【0022】
任意で、カレントピクチャブロックは、カレント符号化ブロック(例えば、アフィン符号化ブロック)又はカレントデコーディングブロック(例えば、アフィンデコーディングブロック)である。本出願におけるピクチャブロックは、符号化処理における符号化ユニット(coding unit)を具体的に指し、デコーディング処理におけるデコーディングユニット(decoding unit)を具体的に指すことを理解されたい。
【0023】
カレントピクチャブロックの近隣位置があるピクチャブロックは、カレントピクチャブロックの近隣ピクチャブロックと呼ばれることがあり、カレントピクチャブロックの近隣ピクチャブロックは、カレントピクチャブロックの空間的近隣ピクチャブロック又は時間的近隣ピクチャブロックであり得ることを理解されたい。
【0024】
換言すれば、M個の近隣位置は全て、空間的近隣位置又は時間的近隣位置でもよく、M個の近隣位置は、空間的近隣位置及び時間的近隣位置の双方を含んでもよい。
【0025】
対応して、M個のピクチャブロックは全て、カレントピクチャブロックの空間的近隣ピクチャブロック又はカレントピクチャブロックの時間的近隣ピクチャブロックであり得る。あるいは、M個のピクチャブロックは、カレントピクチャブロックの空間的近隣ピクチャブロックとカレントピクチャブロックの時間的近隣ピクチャブロックの双方を含む。
【0026】
本出願において、少なくとも1つの異なる対象ピクチャブロックが、カレントピクチャブロックの近隣位置がある複数のピクチャブロックから決定され、それにより、少なくとも1つの対象ピクチャブロックに基づいて、カレントピクチャブロックの候補動き情報を決定することができる。さらに、取得された候補動き情報は、候補動き情報が同じであるかどうかを比較することなく、カレントピクチャブロックの動き情報候補リストに追加される。これは、インター予測の間に動き情報候補リストが取得されるとき実行される比較動作をある程度低減し、それにより、インター予測効率とエンコーディング及びデコーディング性能を向上させることができる。
【0027】
第1の態様のいくつかの実装において、カレントピクチャブロックのM個の近隣位置があるM個のピクチャブロックからN個の対象ピクチャブロックを決定するステップは、カレントピクチャブロックのカレント近隣位置があるピクチャブロックを決定するステップと、カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロックの各々と異なるとき、カレント近隣位置があるピクチャブロックをカレントピクチャブロックの対象ピクチャブロックとして決定するステップを含む。
【0028】
カレント近隣位置は、M個の近隣位置のうちいずれか1つでもよく、カレント近隣位置があるピクチャブロックは、M個のピクチャブロックのうちいずれが1つでもよい。取得された対象ピクチャブロックは、N個の対象ピクチャブロックのうちいくつかでもよい。
【0029】
第1の態様のいくつかの実装において、カレント近隣位置があるピクチャブロックは、カレントピクチャブロックの第1の側にあり、当該方法は、カレントピクチャブロックの第1の側の少なくとも1つの第1の対象ピクチャブロックが、取得された対象ピクチャブロック内に存在するとき、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と同じであるかどうかを決定するステップと、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と異なるとき、カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロックの各々と異なると決定するステップをさらに含む。
【0030】
任意で、第1の側は左側と上側を含む。
【0031】
さらに、第1の側は右側と下側を含んでもよい。
【0032】
2つの近隣ピクチャブロックが別個に、カレントピクチャブロックの異なる側にある(例えば、一方のピクチャブロックがカレントピクチャブロックの上側にあり、他方のピクチャブロックがカレントピクチャブロックの左側にある)場合、2つの近隣ピクチャブロックは同じになり得ない。この場合、2つの近隣ピクチャブロックは、異なるピクチャブロックとして直接決定されてもよい。したがって、取得された対象ピクチャブロックと、カレント近隣位置があるピクチャブロックとが異なる側にある場合、カレント近隣位置があるピクチャブロックは、対象ピクチャブロックとして直接決定されてもよい。
【0033】
しかしながら、取得された対象ピクチャブロックのいくつかが、カレント近隣位置があるピクチャブロックと同じ側にある場合、カレント近隣位置があるピクチャブロックは、取得された対象ピクチャブロックのうち、カレント近隣位置があるピクチャブロックと同じ側にある対象ピクチャブロックと比較されるだけでよい。カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロックのうち、同じ側にある全てのピクチャブロックと異なる場合、カレント近隣位置があるピクチャブロックは、対象ピクチャブロックとして決定されてもよい。
【0034】
本出願において、カレント近隣位置があるピクチャブロックと同じ側であるピクチャブロックが、取得された対象ピクチャブロック内に存在するとき、カレント近隣位置があるピクチャブロックは、取得された対象ピクチャブロックのうち、同じ側にあるピクチャブロックと比較されるだけでよい。これは、動き情報候補リストを構築する処理における比較の数量をさらに低減することができる。
【0035】
任意で、当該方法は、カレントピクチャブロックの第1の側の少なくとも1つの第1の対象ピクチャブロックが、取得された対象ピクチャブロック内に存在するかどうかを決定するステップをさらに含む。
【0036】
具体的に、取得された対象ピクチャブロックがカレントピクチャブロックの第1の側にあるかどうかは、取得された対象ピクチャブロックの座標とカレントピクチャブロックの座標に基づいて決定されてもよい。
【0037】
任意で、カレントピクチャブロックの第1の側の少なくとも1つの第1の対象ピクチャブロックが、取得された対象ピクチャブロック内に存在するかどうかを決定するステップは、取得された対象ピクチャブロックの予め設定された位置のピクセル座標及びカレントピクチャブロックの予め設定された位置のピクセル座標に基づいて、取得された対象ピクチャブロックがカレントピクチャブロックの第1の側にあるかどうかを決定することを含む。
【0038】
予め設定された位置は、ピクチャブロックの左上隅(又は、右上隅又は他の特定の位置)でもよい。
【0039】
例えば、カレントピクチャブロックの左上隅のピクセル座標は(x0,y0)である。取得された対象ピクチャブロックは、対象ピクチャブロック1と対象ピクチャブロック2を含む。対象ピクチャブロック1の左上隅のピクセル座標は(x1,y1)である。対象ピクチャブロック2の左上隅のピクセル座標は(×2,y2)である。カレント近隣位置があるピクチャブロックはピクチャブロック3であり、ピクチャブロック3の左上隅のピクセル座標は(×3,y3)である。x1<x0の場合、対象ピクチャブロック1はカレントピクチャブロックの左側である。y2<y0の場合、対象ピクチャブロックはカレントピクチャブロックの上側である。y3<y0の場合、ピクチャブロック3はカレントピクチャブロックの上側である。この場合、ピクチャブロック3と対象ピクチャブロック2の双方がカレントピクチャブロックの上側であり、ピクチャブロック3と対象ピクチャブロック2が同じであるかどうかを比較するだけでよい。
【0040】
第1の態様のいくつかの実装において、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と同じであるかどうかを決定するステップは、カレント近隣位置があるピクチャブロックの予め設定された位置のピクセル座標が、少なくとも1つの第1の対象ピクチャブロックの各々の予め設定された位置のピクセル座標と同じであるかどうかを決定するステップと、カレント近隣位置があるピクチャブロックの予め設定された位置のピクセル座標が、少なくとも1つの第1の対象ピクチャブロックの各々の予め設定された位置のピクセル座標と異なるとき、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と異なると決定するステップを含む。
【0041】
任意で、予め設定された位置は、ピクチャブロックの左上隅、右上隅、左下隅、右下隅、及び中央位置のいずれか1つである。
【0042】
さらに、予め設定された位置は、代替的に、ピクチャブロック内の別の特定の位置でもよい。例えば、予め設定された位置は、代替的に、ピクチャブロックの境界(左側境界、右側境界、上側境界、及び下側境界)の中央位置でもよい。
【0043】
本出願において、ピクチャブロックの予め設定された位置のピクセル座標が比較されて、カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロックと同じであるかどうかを決定する。これは、動き情報を直接比較する方法(予測方向、参照フレーム、並びに動きベクトルの水平成分及び垂直成分を含む、より多くのパラメータが比較される必要がある)と比較して、動き情報候補リストを構築する処理において実行される必要がある比較動作を低減することができる。
【0044】
第1の態様のいくつかの実装において、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と同じであるかどうかを決定するステップは、カレント近隣位置があるピクチャブロックの番号が、少なくとも1つの第1の対象ピクチャブロックの各々の番号と同じであるかどうかを決定するステップと、カレント近隣位置があるピクチャブロックの番号が、少なくとも1つの第1の対象ピクチャブロックの各々の番号と異なるとき、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と異なると決定するステップを含む。
【0045】
各ピクチャブロックは1つの番号に対応し、ピクチャブロックと番号との間に1対1の対応があることを理解されたい。番号は、エンコーディング又はデコーディング処理で定義された番号もよい。
【0046】
任意で、番号は代替的にカウント値でもよく、各ピクチャブロックは一意のカウント値に対応する。
【0047】
本出願において、異なるピクチャブロックの番号が比較され、2つのピクチャブロックが同じピクチャブロックであるかどうかを、パラメータ比較を1回だけ行うことにより決定することができる。これは、動き情報を比較する方法と比較して、動き情報候補リストを構築する処理において実行される必要のある比較動作を低減することができる。
【0048】
第1の態様のいくつかの実装において、カレント近隣位置があるピクチャブロックは、カレントピクチャブロックの第1の側にある、当該方法は、カレントピクチャブロックの第1の側の第1の対象ピクチャブロックが、取得された対象ピクチャブロック内に存在しないとき、カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロックの各々と異なると決定するステップをさらに含む。
【0049】
本出願において、取得された対象ピクチャブロックとカレント近隣位置があるピクチャブロックとが、異なる側にあるとき、カレント近隣位置があるピクチャブロックと取得された対象ピクチャブロックとが、異なるピクチャブロックに属することを直接決定することができる。これは、動き情報候補リストを構築する処理で実行される必要がある比較動作を低減することができる。
【0050】
第1の態様のいくつかの実装において、当該方法は、カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロックの各々と同じであるかどうかを決定するステップをさらに含む。
【0051】
本出願において、カレント近隣位置があるピクチャブロックが、対象ピクチャブロックであり得るかどうかが決定されるとき、カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロックの各々と同じであるかどうかが決定される必要がある。したがって、カレント近隣位置があるピクチャブロックと同じ側であるピクチャブロックが、取得された対象ピクチャブロックの中に存在するかどうかを考慮することは不要である。これは、動き情報候補リストを構築するための処理論理を簡素化することができる。
【0052】
第1の態様のいくつかの実装において、N個の対象ピクチャブロックは、アフィンピクチャブロックであり、カレントピクチャブロックの候補動き情報は、カレントピクチャブロックの制御点の候補動き情報である。N個の対象ピクチャブロックの動き情報に基づいてカレントピクチャブロックの候補動き情報を決定するステップは、N個の対象ピクチャブロックの制御点の動き情報に基づいてカレントピクチャブロックの制御点の候補動き情報を決定するステップを含む。
【0053】
任意で、N個の対象ピクチャブロックの制御点の動き情報に基づいてカレントピクチャブロックの制御点の候補動き情報を決定するステップは、N個の対象ピクチャブロックの制御点の動き情報と、N個の対象ピクチャブロックに対応するアフィンモデルに基づいて、カレントピクチャブロックの制御点の候補動き情報を決定するステップを含む。
【0054】
具体的に、カレントピクチャチャブロックの制御点の候補動き情報が、N個の対象ピクチャブロックの制御点の動き情報と、N個の対象ピクチャブロックに対応するアフィンモデルとに基づいて決定されるとき、カレントピクチャチャブロックの制御点の候補動き情報は、N個の対象ピクチャブロックのうち各々の制御点の動き情報と、ピクチャブロックに対応するアフィンモデルとに基づいて決定されてもよい。
【0055】
任意で、対象ピクチャブロックに対応するアフィンモデルは、4パラメータアフィン運動モデル及び6パラメータアフィン運動モデルを含む。
【0056】
第2の態様によれば、インター予測方法が提供される。当該方法は、カレントピクチャブロックの動き情報候補リストを構築するステップと、カレントピクチャブロックの第1の近隣位置A1を取得するステップであり、A1は、カレントピクチャブロックの左側にあり、A1は、カレントピクチャブロックの第1の近隣ピクチャブロックCU1内に位置する、ステップと、CU1の動き情報が利用可能であるとき、CU1の動き情報に基づいてカレントピクチャブロックの第1の候補動き情報を決定し、第1の候補動き情報を動き情報候補リストに追加するステップと、カレントピクチャブロックの第2の近隣位置B1を取得するステップであり、B1は、カレントピクチャブロックの上側にあり、B1は、カレントピクチャブロックの第2の近隣ピクチャブロックCU2内に位置する、ステップと、CU2の動き情報が利用可能であるとき、CU2の動き情報に基づいてカレントピクチャブロックの第2の候補動き情報を決定し、第2の候補動き情報を動き情報候補リストに追加するステップと、カレントピクチャブロックの第3の近隣位置B0を取得するステップであり、B0は、カレントピクチャブロックの上側にあり、B0は、カレントピクチャブロックの第3の近隣ピクチャブロックCU3内に位置する、ステップと、CU3の動き情報が利用可能であるとき、CU3がCU2と同じであるかどうかを決定するステップと、CU3の動き情報が利用可能であり、CU3がCU2と異なるとき、CU3の動き情報に基づいてカレントピクチャブロックの第3の候補動き情報を決定し、第3の候補動き情報を動き情報候補リストに追加するステップと、カレントピクチャブロックの第4の近隣位置A0を取得するステップであり、A0は、カレントピクチャブロックの左側にあり、A0は、カレントピクチャブロックの第の近隣ピクチャブロックCU4内に位置する、ステップと、CU4の動き情報が利用可能であるとき、CU4がCU1と同じであるかどうかを決定するステップと、CU4の動き情報が利用可能であり、CU4がCU1と異なるとき、CU4の動き情報に基づいてカレントピクチャブロックの第4の候補動き情報を決定し、第4の候補動き情報を動き情報候補リストに追加するステップと、カレントピクチャブロックの第5の近隣位置B2を取得するステップであり、B2は、カレントピクチャブロックの上側にあり、B2は、カレントピクチャブロックの第の近隣ピクチャブロックCU5内に位置する、ステップと、CU5の動き情報が利用可能であるとき、CU5がCU1及びCU2と同じであるかどうかを決定するステップと、CU5の動き情報が利用可能であり、CU5がCU1及びCU2と異なるとき、CU5の動き情報に基づいてカレントピクチャブロックの第5の候補動き情報を決定し、第5の候補動き情報を動き情報候補リストに追加するステップと、動き情報候補リストに基づいてカレントピクチャブロックに対するインター予測を実行するステップと、を含む。
【0057】
本出願では、動き情報候補リストを構築する処理において、カレントピクチャブロックの近隣位置が順次トラバースされる(traversed)。さらに、いくつかの場合、カレント近隣位置があるピクチャブロックに基づいて決定された動き情報が、動き情報候補リストに追加される必要があるかどうかは、ピクチャブロックが同じであるかどうかを比較する方法で決定される。これは、動き情報候補リストを構築する処理における比較動作を低減し、それによりインター予測効率を向上させることができる。
【0058】
第2の態様に示す方法において、動き情報が利用可能であることは、CUがエンコードされており、より具体的にはインターエンコードされ(inter encoded)ていることを意味することを理解されたい。さらに、アフィンエンコーディングモードにおける動き情報候補リストが構築されるとき、CUはアフィンモードにおいてエンコードされることがさらに必要とされる
【0059】
第2の態様に示す方法において、カレントピクチャブロックの近隣位置は特定のシーケンス(A1、B1、B0、A0、及びB2)でトラバースされ、カレントピクチャブロックの近隣位置を特定のシーケンスでトラバースすることは異なるピクチャブロック間の比較の数量を低減できることを理解されたい。例えば、A1とB1はそれぞれ、カレントピクチャブロックの左側と上側にあるため、B1があるピクチャブロックCU2が取得されたとき、CU2をCU1と比較することは不要である。代わりに、CU2の動き情報に基づいて決定された第2の候補動き情報が、動き情報候補リストに直接追加されてもよい。
【0060】
第2の態様のいくつかの実装において、CU3がCU2と同じであるとき、CU3は破棄され、カレントピクチャブロックの近隣位置は、引き続きトラバースされて第4の近隣位置A0を得る。
【0061】
第2の態様のいくつかの実装において、CU4がCU1と同じであるとき、CU4は破棄され、カレントピクチャブロックの近隣位置は、引き続きトラバースされて第5の近隣位置B2を得る。
【0062】
本出願におけるインター予測方法がエンコーダ側で実行される処理は、インター予測方法がデコーダ側で実行される処理と若干異なることを理解されたい。本出願のこの実施形態におけるインター予測方法がエンコーダ側で実行されるとき、最適な動き情報が動き情報候補リストから選択される必要があり、次いで、最適な動き情報に基づいてインター予測が実行される。
【0063】
本出願のこの実施形態におけるインター予測方法がデコーダ側で実行されるとき、ビットストリームを解析することにより最適な動き情報のインデックスが取得される。次に、最適な動き情報のインデックスに基づいて動き情報候補リストから最適な動き情報が決定される。次いで、最適な動き情報に基づいてインター予測が実行される。
【0064】
第3の態様によれば、インター予測装置が提供される。当該装置は、第1の態様の任意の実装又は第2の態様の任意の実装における方法を実行するように構成されたモジュールを含む。
【0065】
第4の態様によれば、ビデオエンコーダが提供される。ビデオエンコーダは、第3の態様におけるインター予測装置と、エントロピーエンコーディングユニットと、再構成ユニットを含む。インター予測装置は、カレント符号化ピクチャブロックに対するインター予測を実行してカレント符号化ピクチャブロックの予測ブロックを取得するように構成される。エントロピーエンコーディングユニットは、第1の識別子をビットストリームにエンコードするように構成される。第1の識別子は、動き情報候補リスト内にあり、且つカレント符号化ピクチャブロックの動き情報を予測するために使用される、候補動き情報を示すために使用される。再構成ユニットは、予測ブロックに基づいてカレント符号化ピクチャブロックを再構成するように構成される。
【0066】
第5の態様によれば、ビデオデコーダが提供される。ビデオコーダは、エントロピーデコーディングユニットと、第3の態様におけるインター予測装置と、再構成ユニットを含む。エントロピーデコーディングユニットは、ビットストリームをデコードして第1の識別子を取得するように構成される。第1の識別子は、動き情報候補リスト内にあり、且つカレント符号化ピクチャブロックの動き情報を予測するために使用される、候補動き情報を示すために使用される。インター予測装置は、カレント符号化ピクチャブロックに対するインター予測を実行してカレント符号化ピクチャブロックの予測ブロックを取得するように構成される。再構成ユニットは、予測ブロックに基づいてカレント符号化ピクチャブロックを再構成するように構成される。
【0067】
第6の態様によれば、エンコーダが提供される。エンコーダは、メモリ及びプロセッサを含む。メモリは、プログラムコードを記憶し、プロセッサは、メモリに記憶されたプログラムコードを実行するように構成される。メモリに記憶されたプログラムコードが実行されたとき、プロセッサは、第1の態様の任意の実装又は第2の態様の任意の実装における方法を実行するように構成される。
【0068】
エンコーダは、ビデオエンコーダでもよい。
【0069】
第7の態様によれば、デコーダが提供される。デコーダは、メモリ及びプロセッサを含む。メモリは、プログラムコードを記憶し、プロセッサは、メモリに記憶されたプログラムコードを実行するように構成される。メモリに記憶されたプログラムコードが実行されたとき、プロセッサは、第1の態様の任意の実装又は第2の態様の任意の実装における方法を実行するように構成される。
【0070】
デコーダは、ビデオデコーダでもよい。
【0071】
第8の態様によれば、互いに結合された不揮発性メモリ及びプロセッサを含む、インター予測装置が提供される。プロセッサは、メモリに記憶されたプログラムコードを呼び出して、第1の態様の任意の実装又は第2の態様の任意の実装における方法のいくつか又は全てのステップを実行する。
【0072】
第9の態様によれば、コンピュータ読取可能記憶媒体が提供される。コンピュータ読取可能記憶媒体は、プログラムコードを記憶し、プログラムコードは、第1の態様の任意の実装又は第2の態様の任意の実装における方法のいくつか又は全てのステップを実行するために使用される命令を含む。
【0073】
第10の態様によれば、コンピュータプログラムプロダクトが提供される。コンピュータプログラムプロダクトがコンピュータ上で実行されたとき、コンピュータは、第1の態様の任意の実装又は第2の態様の任意の実装における方法のいくつか又は全てのステップの命令を実行可能にされる。
【図面の簡単な説明】
【0074】
図1】ビデオエンコーディング処理の概略図である。
図2】ビデオデコーディング処理の概略図である。
図3】本出願の一実施形態によるインター予測方法の概略フローチャートである。
図4】カレントピクチャブロックの近隣位置及び近隣ピクチャブロックの概略図である。
図5】本出願の一実施形態によるインター予測方法のフローチャートである。
図6】本出願の一実施形態によるインター予測方法のフローチャートである。
図7】カレントピクチャブロックの近隣位置及び近隣ピクチャブロックの概略図である
図8】本出願の一実施形態によるインター予測方法のフローチャートである。
図9】本出願の一実施形態によるインター予測方法のフローチャートである。
図10】本出願の一実施形態によるインター予測方法のフローチャートである。
図11】本出願の一実施形態によるインター予測方法のフローチャートである。
図12】本出願の一実施形態によるインター予測装置の概略ブロック図である。
図13】本出願の一実施形態によるビデオエンコーダの概略ブロック図である。
図14】本出願の一実施形態によるビデオデコーダの概略ブロック図である。
図15】本出願の一実施形態によるエンコーディングデバイス又はデコーディングデバイスの構造の概略図である。
図16】本出願の一実施形態によるビデオ符号化システムの概略ブロック図である。
図17】本出願の一実施形態によるビデオ伝送システムの概略ブロック図である。
図18】本出願の一実施形態によるビデオ符号化システムの概略ブロック図である。
【発明を実施するための形態】
【0075】
添付の図面を参照して本出願の技術的解決策について以下で説明する。
【0076】
本出願の実施形態におけるインター予測方法が実行される処理をよりよく理解するために、以下では最初、図1及び図2を参照してビデオ符号化処理全体について簡潔に説明する。
【0077】
図1は、ビデオエンコーディング処理の概略図である。
【0078】
図1に示すように、カレント(current)フレームF 内のカレントピクチャブロックに対して予測が実行されるとき、イントラ予測(intra prediction)又はインター予測(inter prediction)のいずれかを実行することができる。具体的には、カレントフレームF のタイプに基づいてイントラ符号化又はインター符号化が選択され得る。例えば、カレントフレームF がIフレームである場合、イントラ予測が使用される。カレントフレームF がPフレーム又はBフレームである場合、インター予測が使用される。イントラ予測が使用されるとき、カレントピクチャブロック内のサンプルのサンプル値は、カレントフレームF 内の再構成エリア内のサンプルのサンプル値を使用することにより予測され得る。インター予測が使用されるとき、カレントピクチャブロック内のサンプルのサンプル値は、参照フレームF’n-1内にあり且つカレントピクチャブロックにマッチする参照ブロック内のサンプルのサンプル値を使用することにより予測され得る。
【0079】
インター予測又はイントラ予測に従ってカレントピクチャブロックの予測ブロックが取得された後、カレントピクチャブロック内のサンプルのサンプル値と予測ブロック内のサンプルのサンプル値との間の差が計算されて、残差情報を取得し、残差情報に対して変換、量子化、及びエントロピー符号化が実行されて、エンコードされたビットストリームを取得する。さらに、エンコーディング処理において、カレントフレームF の残差情報はカレントフレームF の予測情報と重畳される必要があり、フィルタリング動作が実行されてカレントフレームの再構成フレームF’を取得する。再構成フレームF’は、後続のエンコーディングのための参照フレームとして使用される。
【0080】
図2は、ビデオデコーディング処理の概略図である。
【0081】
図2に示すビデオデコーディング処理は、図1に示すビデオエンコーディング処理の逆の処理と同等である。デコードする間、エントロピーデコーディング、量子化解除(dequantization)、及び逆変換が使用されて残差情報を取得し、カレントピクチャブロックに対してイントラ予測又はインター予測が使用されるかどうかが、デコードされたビットストリームに基づいて決定される。イントラ予測が使用される場合、予測情報は、カレントフレーム内の再構成エリア内のサンプルのサンプル値を使用することにより、及びイントラ予測方法に従って構築される。インター予測が使用される場合、動き情報が解析される必要があり、再構成ピクチャ内の参照ブロックは、解析された動き情報を使用することにより決定され、参照ブロック内のサンプルのサンプル値は予測情報として使用され、次いで、予測情報は残差情報と重畳され、フィルタリング動作が実行されて再構成情報を取得する。
【0082】
従来のインター予測方法では、動き情報候補リストが取得されたとき、現在取得されている候補動き情報は、取得された候補動き情報と1つずつ比較される必要がある。現在取得されている候補動き情報は、該現在取得されている候補動き情報が取得された候補動き情報と異なるときのみ、動き情報候補リストに追加することができる。現在取得されている候補動き情報が取得された候補動き情報と同じであるかどうかが、比較を通して決定されるとき、予測方向、対応する参照フレーム、並びに動きベクトルの水平成分及び垂直成分などの複数のパラメータが比較される必要がある。比較の数量はかなり大きく、その結果、符号化効率が低減される。
【0083】
一般に、カレントピクチャブロックの候補動き情報を取得するために、カレントブロックの周囲の近隣位置(neighboring locations)がトラバースされる(traversed)。カレントピクチャブロックの候補動き情報は、これらの近隣位置があるピクチャブロックの動き情報に基づいて決定される。
【0084】
同じピクチャブロックに対応する動き情報は同じであるため、本出願は新しいインター予測方法を提供する。本出願において、特定の近隣位置があるピクチャブロックは、カレントピクチャブロックの周囲の近隣位置があるピクチャブロックから直接決定され得る。これらの特定の位置があるピクチャブロックは互いに異なり、カレントピクチャブロックの候補動き情報は、特定の近隣位置があるピクチャブロックの動き情報に基づいて決定される。これは、現在取得されている動き情報を取得された動き情報と比較する操作を回避し、したがって、インター予測処理に必要な時間を低減することができる。
【0085】
本出願の実施形態におけるインター予測方法は、図1に示すエンコーディング処理で実行されてもよく、あるいは図2に示すデコーディング処理で実行されてもよい。
【0086】
本出願の実施形態におけるインター予測方法は、インター予測におけるAMVPモード及びマージモードに適用可能であり得る。
【0087】
以下では、図3から図11を参照して、本出願の実施形態におけるインター予測方法について詳細に説明する。
【0088】
図3は、本出願の一実施形態によるインター予測方法の概略フローチャートである。図3に示す方法は、ビデオ符号化装置(ビデオエンコーディング装置又はビデオデコーディング装置)、ビデオコーデック(ビデオエンコーダ又はビデオデコーダ)、ビデオ符号化システム(ビデオエンコーディング及びビデオデコーディングの双方を実現することができるシステム)、及びビデオ符号化機能を有する別のデバイスにより実行することができる。
【0089】
図3に示す方法は、ステップ101~ステップ103を含む。以下では別個に、ステップ101~ステップ103について詳細に説明する。
【0090】
101:カレントピクチャブロックのM個の近隣位置があるM個のピクチャブロックからN個の対象ピクチャブロックを決定する。
【0091】
N個の対象ピクチャブロックのうちどの2つも異なる。M及びNは双方とも正の整数であり、MはN以上である。Nの値は予め設定されてもよい。例えば、Nの値は5でもよい。
【0092】
さらに、M個の近隣位置は、カレントピクチャブロックの候補動き情報を取得する処理においてトラバースされる全て又はいくつかの近隣位置でもよい。
【0093】
本出願において、カレントピクチャブロックの近隣位置は、カレントピクチャブロックの境界に隣接する位置でもよい。例えば、図4に示すように、カレントピクチャブロックはCU0であり、カレントピクチャブロックの近隣位置はA0、A1、B0、B1、及びB2を含む。さらに、本出願において、カレントピクチャブロックの近隣位置は、カレントピクチャブロックの境界に対して特定の距離を有する位置(例えば、カレントピクチャブロックの境界への距離が特定の範囲内である位置)に拡張されてもよい。例えば、図4に示すように、カレントピクチャブロックはCU0であり、カレントピクチャブロックの近隣位置はA3、A4、及びB5をさらに含んでもよい。さらに、A0、A1、B0、B1、及びB2などの近隣位置は、4×4のサブブロックでもよい。
【0094】
図4に示すように、カレントピクチャブロックはCU0である。この場合、CU0のM個の近隣位置はA0、A1、B0、B1、及びB2を含んでもよい。さらに、CU0のM近隣位置はA3、A4、及びB5をさらに含んでもよい。図4において、各近隣位置は、1つのCU内に位置する。具体的には、A1、A2、A3、A4、B2、及びB5は全てCU1に位置し、B1及びB0はそれぞれCU2及びCU3に位置する。M個のピクチャブロックからN個のピクチャブロックを決定することは、A0、A1、A2、A3、A4、B0、B1、B2、及びB5があるピクチャブロック(6つのCU1、1つのCU2、及び1つのCU3)からCU1、CU2、及びCU3を決定することと同等である。
【0095】
本出願において、カレントピクチャブロックの近隣位置は、空間的近隣位置又は時間的近隣位置であり得ることを理解されたい。
【0096】
したがって、M個の近隣位置は、カレントピクチャブロックの空間的近隣位置のみを含んでもよく、あるいはカレントピクチャブロックの時間的近隣位置のみを含んでもよく、あるいはカレントピクチャブロックの空間的近隣位置とカレントピクチャブロックの時間的近隣位置の双方を含んでもよい。対応して、M個のピクチャブロックは、カレントピクチャブロックの空間的近隣ピクチャブロックのみを含んでもよく、あるいはカレントピクチャブロックの時間的近隣ピクチャブロックのみを含んでもよく、あるいはカレントピクチャブロックの空間的近隣ピクチャブロックとカレントピクチャブロックの時間的近隣ピクチャブロックの双方を含んでもよい。
【0097】
102:N個の対象ピクチャブロックの動き情報に基づいてカレントピクチャブロックの候補動き情報を決定し、カレントピクチャブロックの候補動き情報をカレントピクチャブロックの動き情報候補リストに追加する。
【0098】
ステップ102において、カレントピクチャブロックの動き情報は、N個の対象ピクチャブロックが全て取得された後にN個の対象ピクチャブロックの動き情報に基づいて決定されてもよく、あるいはカレントピクチャブロックの候補動き情報は、対象ピクチャブロックが取得される毎に現在取得されている対象ピクチャブロックに基づいて決定されてもよいことを理解されたい。
【0099】
本出願のこの実施形態におけるインター予測方法は、並進運動(translational motion)モデルに基づくインター予測に適用可能であり得、非並進運動モデルに基づくインター予測にも適用可能であり得る。
【0100】
任意で、N個の対象ピクチャブロックの動き情報に基づいてカレントピクチャブロックの候補動き情報を決定することは、N個の対象ピクチャブロックの制御点の動き情報に基づいてカレントピクチャブロックの制御点の候補動き情報を決定することを含む。
【0101】
非並進運動モデルにおいて、本出願のこの実施形態におけるインター予測方法は具体的に、継承制御点(inherited control point)動きベクトル予測方法であり得ることを理解されたい。この場合、カレントピクチャブロックの候補動き情報は、実際には、カレントピクチャブロックの制御点の候補動き情報である。
【0102】
継承制御点動きベクトル予測方法において、カレントピクチャブロックの制御点の動きベクトルは、近隣のエンコードされたアフィン符号化(affine coding)ブロックの制御点の動きベクトルとアフィン符号化ブロックの運動モデルとを使用することにより導出される。
【0103】
例えば、カレントピクチャブロックが第1の近隣ピクチャブロックを有し、第1の近隣ピクチャブロックがアフィン符号化ブロックである場合、カレントピクチャブロックの制御点の動き情報は、第1の近隣ピクチャブロックの制御点の動き情報と第1の近隣ピクチャブロックに対応するアフィンモデルとに基づいて導出されてもよい。
【0104】
任意で、N個の対象ピクチャブロックの動き情報に基づいてカレントピクチャブロックの候補動き情報を決定することは、カレントピクチャブロックの候補動き情報としてN個の対象ピクチャブロックの動き情報を決定することを含む。
【0105】
並進運動モデルにおいて、各ピクチャブロックの各位置の動き情報は同じであることを理解されたい。したがって、カレントピクチャブロックの近隣ピクチャブロックの動き情報は、カレントピクチャブロックの候補動き情報として直接決定されてもよい。
【0106】
103:動き情報候補リストに基づいてカレントピクチャブロックに対するインター予測を実行する。
【0107】
本出願において、カレントピクチャブロックの複数の近隣位置があるピクチャブロックから、異なる対象ピクチャブロックが決定され、それにより、カレントブロックの候補動き情報は、取得された対象ピクチャブロックに基づいて直接決定することができる。さらに、候補動き情報は、候補動き情報が同じであるかどうかを比較することなく動き情報候補リストに直接追加される。これは、動き情報候補リストの取得の間の比較動作を低減し、それによりインター予測効率を向上させる。
【0108】
任意で、一実施形態において、カレントピクチャブロックのM個の近隣位置があるM個のピクチャブロックからN個の対象ピクチャブロックを決定することは、カレントピクチャブロックのカレント近隣位置があるピクチャブロックを決定することと、カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロックの各々と異なるとき、カレント近隣位置があるピクチャブロックをカレントピクチャブロックの対象ピクチャブロックとして決定することを含む。
【0109】
カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロック内の少なくとも1つの第1の対象ピクチャブロックと同じであるとき、それは、カレント近隣位置があるピクチャブロックと同じであるピクチャブロックが、取得された対象ピクチャブロック内に存在することを示す。繰り返しの候補動き情報を後に取得することを回避するために、カレント近隣位置があるピクチャブロックは破棄される必要があり、次いで、カレントピクチャブロックの次の近隣位置が引き続きトラバースされる。
【0110】
動き情報候補リストを構築する処理における比較の数量をさらに低減するために、カレントピクチャブロックの異なる側のピクチャブロックのみが比較されてもよい。カレントピクチャブロックの異なる側に位置するピクチャブロックについては、比較なしに、カレントブロックの異なる側に現在位置するピクチャブロックは異なるピクチャブロックであると直接決定されてもよい。
【0111】
任意で、カレント近隣位置があるピクチャブロックが、カレントピクチャブロックの第1の側にあるとき、図3に示す方法は、カレントピクチャブロックの第1の側の少なくとも1つの第1の対象ピクチャブロックが、取得された対象ピクチャブロック内に存在するとき、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と同じであるかどうかを決定することと、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と異なるとき、カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロックの各々と異なると決定することをさらに含む。
【0112】
さらに、図3に示す方法は、カレントピクチャブロックの第1の側の第1の対象ピクチャブロックが、取得された対象ピクチャブロック内に存在しないとき、カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロックの各々と異なると決定することを含む。
【0113】
カレントピクチャブロックの第1の側の第1の対象ピクチャブロックが、取得された対象ピクチャブロックに存在しない(取得された対象ピクチャブロックが、カレントピクチャブロックの第1の側に位置しない)とき、カレント近隣位置があるピクチャブロックは、取得された対象ピクチャブロックのうちいずれのブロックとも異なると直接決定されてもよい。
【0114】
換言すれば、カレントピクチャブロックの対象ピクチャブロックが、カレント近隣位置があるピクチャブロックに基づいて決定される前に、カレント近隣位置があるピクチャブロックと同じ側(カレントピクチャブロックの同じ側)である対象ピクチャブロックが、取得された対象ピクチャブロック内に存在するかどうかが最初決定されてもよい。カレント近隣位置があるピクチャブロックと同じ側である対象ピクチャブロックが、取得された対象ピクチャブロック内に存在しない場合、カレント近隣位置があるピクチャブロックは、取得された対象ピクチャブロックのうちいずれのブロックとも異なると直接決定されてもよい。
【0115】
しかしながら、カレント近隣位置があるピクチャブロックと同じ側である対象ピクチャブロックが、取得された対象ピクチャブロック内に存在する場合、その後、カレント近隣位置があるピクチャブロックと同じ側である対象ピクチャブロックのみが、カレント近隣位置があるピクチャブロックと比較される必要がある。カレント近隣位置があるピクチャブロックと同じであるピクチャブロックが、カレント近隣位置があるピクチャブロックと同じ側の対象ピクチャブロック内に存在しない場合、カレント近隣位置があるピクチャブロックは、カレントピクチャブロックの対象ピクチャブロックとして決定されてもよい。
【0116】
2つの近隣ピクチャブロックがカレントピクチャブロックの同じ側にあることは、2つの近隣ピクチャブロックが双方ともカレントピクチャブロックの左側又は上側にあることを意味し得ることを理解されたい。さらに、異なる近隣ピクチャブロックがカレントピクチャブロックの同じ側又は異なる側にあることは、カレントピクチャブロックの空間的近隣ピクチャブロックに対して相対的である。空間的近隣ピクチャブロックの間にのみ、同じ側及び異なる側の概念が存在する。
【0117】
任意で、一実施形態において、本方法は、カレントピクチャブロックの第1の側の少なくとも1つの第1の対象ピクチャブロックが、取得された対象ピクチャブロック内に存在するかどうかを決定することをさらに含む。
【0118】
取得された対象ピクチャブロックがカレントピクチャブロックの第1の側であるかどうかは、取得された対象ピクチャブロックの座標とカレントピクチャブロックの座標とに基づいて決定されてもよいことを理解されたい。
【0119】
カレントピクチャブロックの第1の側のピクチャブロックが、取得された対象ピクチャブロック内に存在するかどうかを決定することは、さらに、カレント近隣位置があるピクチャブロックと同じ側である対象ピクチャブロックが、取得された対象ピクチャブロック内に存在するかどうかを決定することとみなされてもよい(この場合、カレント近隣位置があるピクチャブロックは、カレントピクチャブロックの第1の側であるため)。
【0120】
任意で、一実施形態において、カレントピクチャブロックの第1の側の少なくとも1つの第1の対象ピクチャブロックが、取得された対象ピクチャブロック内に存在するかどうかを決定することは、取得された対象ピクチャブロックの予め設定された位置のピクセル座標とカレントピクチャブロックの予め設定された位置のピクセル座標に基づいて、取得された対象ピクチャブロックがカレントピクチャブロックの第1の側であるかどうかを決定することを含む。
【0121】
予め設定された位置は、ピクチャブロックの左上隅(又は、右上隅若しくは別の特定の位置)でもよい。
【0122】
例えば、図4に示すように、カレントピクチャブロックの左上隅のピクセル座標は(x0,y0)である。取得された対象ピクチャブロックは、対象ピクチャブロック1と対象ピクチャブロック2を含む。対象ピクチャブロック1の左上隅のピクセル座標は(x1,y1)である。対象ピクチャブロック2の左上隅のピクセル座標は(×2,y2)である。カレント近隣位置があるピクチャブロックはピクチャブロック3であり、ピクチャブロック3の左上隅のピクセル座標は(×3,y3)である。x1<x0の場合、対象ピクチャブロック1はカレントピクチャブロックの左側である。y2<y0の場合、対象ピクチャブロックはカレントピクチャブロックの上側である。y3<y0の場合、ピクチャブロック3はカレントピクチャブロックの上側である。この場合、ピクチャブロック3と対象ピクチャブロック2の双方がカレントピクチャブロックの上側であり、ピクチャブロック3と対象ピクチャブロック2が同じであるかどうかを比較することだけ必要とされる。
【0123】
例えば、図4に示すように、カレントピクチャブロックはCU0であり、カレントピクチャブロックの近隣ピクチャブロックはCU1、CU2、及びCU3を含む。CU1はCU0の左側にあり、CU2とCU3の双方がCUの上側にある。したがって、CU2とCU3はCUの同じ側にあり、CU1とCU2はCU0の異なる側にあり、さらにCU2とCU3はCU0の同じ側にある。
【0124】
図4に示すように、カレント近隣位置はB0であり、B0があるピクチャブロックはCU3であり、CU3はCU0の上側であることが仮定される。CU0の上側のピクチャブロックが、取得された対象ピクチャブロック内に存在しない場合、CU3は、取得された対象ピクチャブロックの各々と異なると直接決定されてもよい。この場合、CU3は、CU0の対象ピクチャブロックとして直接決定されてもよい。しかしながら、CU0の上側のピクチャブロックCU2が、取得されたピクチャブロック内に存在する場合、CU2とCU3が同じであるかどうかが、さらに比較される必要がある。比較の後、CU2とCU3は異なるピクチャブロックである。この場合、CU3は、CU0の対象ピクチャブロックとして決定されてもよい。
【0125】
以下では、図5~図7を参照して上述の比較処理について詳細に説明する。
【0126】
図5は、本出願のこの実施形態による、カレントピクチャブロックの対象ピクチャブロックを決定する概略フローチャートである。図5は、各々のカレント近隣位置に基づいてカレントピクチャブロックの対象ピクチャブロックを決定するプロセスを示す。図に示すプロセスは、ステップ101の精緻化と考えられてもよい。図5に示すプロセスは、ステップ201からステップ204を含む。以下では、ステップ201~204について詳細に説明する。
【0127】
201:カレントピクチャブロックのカレント近隣位置があるピクチャブロックを決定する。
【0128】
ステップ101における近隣位置及びピクチャブロックの説明はステップ201にも適用可能である。簡潔さのため、詳細はここで再度説明されない。
【0129】
202:カレントピクチャブロックの第1の側の少なくとも1つの第1の対象ピクチャブロックが、取得された対象ピクチャブロック内に存在するかどうかを決定する。
【0130】
カレント近隣位置があるピクチャブロックは、カレントピクチャブロックの第1の側にあり、ステップ202における処理は、カレント近隣位置があるピクチャブロックと同じ側であるピクチャブロックが、取得された対象ピクチャブロック内に存在するかどうかを決定するためであることを理解されたい。
【0131】
ステップ202において、少なくとも1つの第1の対象ピクチャブロックが、取得された対象ピクチャブロック内に存在すると決定されたとき、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と同じであるかどうかが、さらに比較される必要がある。換言すれば、ステップ203が実行される。
【0132】
ステップ202において、少なくとも1つの第1の対象ピクチャブロックが、取得された対象ピクチャブロック内に存在しないと決定されたとき、取得された対象ピクチャブロックの各々は、カレント近隣位置があるピクチャブロックとは異なるとみなされてもよい。この場合、カレント近隣位置があるピクチャブロックは、カレントピクチャブロックの対象ピクチャブロックとして直接決定されてもよい。換言すれば、ステップ204が直接実行される。
【0133】
203:カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と異なるかどうかを決定する。
【0134】
ステップ203において、カレント近隣位置があるピクチャブロックが、ステップ202で取得された少なくとも1つの第1の対象ピクチャブロックの各々と異なると決定された場合、カレント近隣位置があるピクチャブロックは、取得された対象ピクチャブロックと異なるとみなされてもよい。この場合、カレント近隣位置があるピクチャブロックは、カレントピクチャブロックの対象ピクチャブロックとして決定されてもよい。換言すれば、ステップ204が実行される。
【0135】
ステップ203において、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックのいくつかと同じであると決定された場合、カレント近隣位置があるピクチャブロックは破棄される必要があり、カレントピクチャブロックの近隣位置があるピクチャブロックはトラバースされ続ける。換言すれば、ステップ201が実行される。
【0136】
204:カレント近隣位置があるピクチャブロックをカレントピクチャブロックの対象ピクチャブロックとして決定する。
【0137】
ステップ201~ステップ204は、カレントピクチャブロックの対象ピクチャブロックを決定するプロセスとみなされてもよいことを理解されたい。実際に、ステップ101において、カレントピクチャブロックのM個の近隣位置がそれぞれあるM個のピクチャブロックからN個の対象ピクチャブロックを決定するために、ステップ201~ステップ204は、取得された対象ピクチャブロックの数量が予め設定された数量に達し、又は予め設定された要件を満たすまで、複数回繰り返し実行されてもよい。
【0138】
以下では、一例として図を用いてステップ201~ステップ204のプロセスを説明する。図に示すように、カレントピクチャブロックはCU0であると仮定される。この場合、カレント近隣位置はB0であり、カレント近隣位置B0があるピクチャブロックはCU3である。取得された対象ピクチャブロック内のCU2のみがCU0の上側であると仮定される。この場合、CU3とCU2が同じであるかどうかだけが比較される必要がある。図に示すように、CU3とCU2は、異なるピクチャブロックに属する。したがって、CU3は、カレントピクチャブロックの対象ピクチャブロックとして決定されてもよい。
【0139】
カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と同じであるかどうかは、カレント近隣位置があるピクチャブロックの特定の位置のピクセル座標が、各第1の対象ピクチャブロックの特定の位置のピクセル座標と同じであるかどうかを比較することにより、又は、近隣位置があるピクチャブロックの番号を各第1の対象ピクチャブロックの番号と直接比較することにより、決定されてもよい。特定の位置のピクセル座標が同じであるか、又はピクチャブロックの番号が同じであるとき、2つのピクチャブロックは同じであるとみなされてもよい。
【0140】
したがって、本出願において、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と同じであるかどうかを決定することは、具体的に、以下の2つの実装を含む。
【0141】
第1の実装では、ピクチャブロックが同じであるかどうかを決定するために、特定の位置のピクセル座標が比較される。
【0142】
第1の実装に含まれる特定の比較処理は、以下のとおりである。
【0143】
(1)カレント近隣位置があるピクチャブロックの予め設定された位置のピクセル座標が、少なくとも1つの第1の対象ピクチャブロックの各々の予め設定された位置のピクセル座標と同じであるかどうかを決定する。
【0144】
(2)カレント近隣位置があるピクチャブロックの予め設定された位置のピクセル座標が、少なくとも1つの第1の対象ピクチャブロックの各々の予め設定された位置のピクセル座標と異なるとき、カレント近隣位置があるピクチャブロックが少なくとも1つの第1の対象ピクチャブロックの各々と異なることを決定する。
【0145】
第1の実装において、カレント近隣位置があるピクチャブロックの予め設定された位置のピクセル座標が、少なくとも1つの第1の対象ピクチャブロック内の第1の対象ピクチャブロックの予め設定された位置のピクセル座標と完全に同じである場合、カレント近隣位置があるピクチャブロックは第1の対象ピクチャブロックと同じであると決定されてもよいことを理解されたい。
【0146】
任意で、第1の実装において、予め設定された位置は、ピクチャブロックの左上隅、右上隅、左下隅、右下隅、中央位置などでもよい。
【0147】
上述は、予め設定された位置のいくつかのケースに過ぎないことを理解されたい。実際、本明細書における予め設定された位置は、ピクチャブロックの任意の他の特定の位置(例えば、ピクチャブロックの上側、下側、左側、又は右側の中心点の位置)でもよい。これは、本出願において限定されない。
【0148】
第2の実装では、ピクチャブロックが同じであるかどうかを決定するために、ピクチャブロックの番号が比較される。
【0149】
第2の実装に含まれる特定の比較処理は、以下のとおりである。
【0150】
(3)カレント近隣位置があるピクチャブロックの番号が、少なくとも1つの第1の対象ピクチャブロックの各々の番号と同じであるかどうかを決定する。
【0151】
(4)カレント近隣位置があるピクチャブロックの番号が、少なくとも1つの第1の対象ピクチャブロックの各々の番号と異なるとき、カレント近隣位置があるピクチャブロックが少なくとも1つの第1の対象ピクチャブロックの各々と異なることを決定する。
【0152】
第2の実装において、カレント近隣位置があるピクチャブロックの番号が、少なくとも1つの第1の対象ピクチャブロック内の第1の対象ピクチャブロックの番号と同じである場合、カレント近隣位置があるピクチャブロックは、第1の対象ピクチャブロックと同じであると決定されてもよい。
【0153】
任意で、第2の実装において、各ピクチャブロックは一意の番号に対応し、ピクチャブロックと番号との間に1対1の対応がある。ピクチャブロックの番号は、符号化処理において各ピクチャブロックに対して設定された番号でもよい。さらに、本明細書における番号は、識別(identity、ID)番号と呼ばれることもある。
【0154】
任意で、一実施形態において、図3に示す方法は、カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロックの各々と同じであるかどうかを決定することをさらに含む。
【0155】
具体的には、図3に示す方法において、カレント近隣位置があるピクチャブロックと同じ側であるピクチャブロックが、取得された対象ピクチャブロック内に存在するかどうかは、考慮されなくてもよい。その代わりに、カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロックの各々と同じであるかどうかを決定するために、カレント近隣位置があるピクチャブロックは、取得された対象ピクチャブロックの各々と1つずつ比較される。
【0156】
図6は、本出願のこの実施形態における、カレント近隣位置があるピクチャブロックが取得された対象ピクチャブロックの各々と同じであるかどうかを決定するプロセスを示す。
【0157】
図6に示すプロセスは、ステップ301~ステップ303を含む。以下では、ステップ301~ステップ303について詳細に説明する。
【0158】
301:カレントピクチャブロックのカレント近隣位置があるピクチャブロックを決定する。
【0159】
302:カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と異なるかどうかを決定する。
【0160】
少なくとも1つの第1の対象ピクチャブロックは、取得された対象ピクチャブロック内にあり、且つカレント近隣位置があるピクチャブロックと同じ側である、ピクチャブロックであることを理解されたい。
【0161】
例えば、カレント近隣位置があるピクチャブロックは、カレントピクチャブロックの上側であると仮定される。この場合、少なくとも1つの第1の対象ピクチャブロックは、カレントピクチャブロックの上側のピクチャブロックである。
【0162】
ステップ302において、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と異なると決定されたとき、カレント近隣位置があるピクチャブロックは、カレントピクチャブロックの取得された対象ピクチャブロックと異なるとみなされてもよい。この場合、カレント近隣位置があるピクチャブロックは、カレントピクチャブロックの対象ピクチャブロックとして直接決定されてもよい。
【0163】
ステップ302において、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックのいくつかと同じであると決定された場合、カレント近隣位置があるピクチャブロックは破棄される必要があり、カレントピクチャブロックの近隣位置があるピクチャブロックはトラバースされ続ける。換言すれば、ステップ301が実行される。
【0164】
303:カレント近隣位置があるピクチャブロックをカレントピクチャブロックの対象ピクチャブロックとして決定する。
【0165】
任意で、一実施形態において、N個の対象ピクチャブロックがアフィンピクチャブロックであるとき、カレントピクチャブロックの候補動き情報は、具体的に、カレントピクチャブロックの制御点の候補動き情報である。この場合、図3に示す方法におけるステップ102は、具体的に、N個の対象ピクチャブロックの制御点の動き情報に基づいてカレントピクチャブロックの制御点の候補動き情報を決定することを含む。
【0166】
カレントピクチャブロックの制御点の候補動き情報が、N個の対象ピクチャブロックの各々の制御点の動き情報に基づいて決定されるとき、具体的に、カレントピクチャブロックの制御点の候補動き情報は、各対象ピクチャブロックの制御点の動き情報と、対象ピクチャブロックに対応するアフィンモデルとに基づいて決定されてもよい。
【0167】
アフィンモデルは、実際には、非並進運動モデルにおける特定の予測モデルである。非並進運動モデルベースの予測では、エンコーダ側とデコーダ側で同じ運動モデルが使用されて、カレント符号化ブロック内の各々のサブ動き補償ユニット(sub-motion compensation unit)の動き情報を導出し、サブ動き補償ユニットの動き情報に基づいて動き補償が実行されて、予測ブロックを取得し、予測効率を向上させる。
【0168】
アフィンモデルは、4パラメータアフィン運動モデル及び6パラメータアフィン運動モデルを含むことができる。アフィンモデルに具体的に含まれるモデルの種類は、本出願において限定されない。
【0169】
以下では別個に、4パラメータアフィン運動モデルと6パラメータアフィン運動モデルについて詳細に説明する。
【0170】
4パラメータアフィン運動モデルは、式(1)で表すことができる。
【数1】
【0171】
式(1)に示すように、4パラメータアフィン運動モデルは、2つのサンプルの動きベクトルと、カレントピクチャブロックの左上隅のピクセルに相対した2つのサンプルの座標とを使用することにより表すことができる。運動モデルパラメータを表すために使用されるサンプルは、制御点として示される。
【0172】
左上隅のサンプル(0,0)及び右上隅のサンプル(W,0)が制御点として使用される場合、カレント符号化ブロックの左上隅及び右上隅の制御点の動きベクトル(vx,vy)及び(vx,vy)が最初決定される。次いで、カレント符号化ブロック内の各サブ動き補償ユニットの動き情報が、式(2)に従って導出される。(x,y)は、カレント符号化ブロックの左上隅のピクセルに相対したサブ動き補償ユニットの座標であり、Wは、カレント符号化ブロックの幅である。
【数2】
【0173】
6パラメータアフィン運動モデルは、式(3)で表される。
【数3】
【0174】
6パラメータアフィン運動モデルは、3つのサンプルの動きベクトルと、カレント符号化ブロックの左上隅のピクセルに相対した3つのサンプルの座標とにより表すことができる。
【0175】
左上隅のサンプル(0,0)、右上隅のサンプル(W,0)、左下隅のサンプル(0,H)が制御点として使用される場合、カレント符号化ブロックの左上隅、右上隅、及び左下隅の制御点の動きベクトル(vx,vy)、(vx,vy)、(vx,vy)が最初決定される。次いで、カレント符号化ブロック内の各サブ動き補償ユニットの動き情報が、式(4)に従って導出される。(x,y)は、カレント符号化ブロックの左上隅のピクセルに相対したサブ動き補償ユニットの座標であり、W及びHは、それぞれ、カレント符号化ブロックの幅及び高さである。
【数4】
【0176】
継承制御点動きベクトル予測方法において、カレントブロックの制御点の動きベクトルは、近隣のエンコードされたアフィン符号化ブロックの運動モデルを使用することにより導出されることを理解されたい。
【0177】
図7を参照し、以下では、一例としてA1を用いて、対象ピクチャブロックの制御点の動き情報に基づいてカレントピクチャブロックの制御点の動き情報を導出するプロセスについて説明する。
【0178】
図7に示すように、A1がある符号化ブロックはCU1であり、カレントピクチャブロックはCU0である。CU1が4パラメータアフィン符号化ブロックである場合、ブロックCU1の左上隅(x,y)の動きベクトル(vx,vy)と右上隅(x,y)の動きベクトル(vx,vy)が得られる。CU1の制御点の動き情報が取得された後、CU0の左上隅(x,y)の動きベクトル(vx,vy)は、式(5)による計算を通じて取得され、CU0の右上隅(x,y)の動きベクトル(vx,vy)は、式(6)による計算を通じて取得される。
【数5】
【0179】
CU1が6パラメータアフィン符号化ブロックである場合、CU1の左上隅(x,y)の動きベクトル(vx,vy)、右上隅(x,y)の動きベクトル(vx,vy)、及び左下隅(x,y)の動きベクトル(vx,vy)が得られる。次に、CU0の左上隅(x,y)の動きベクトル(vx,vy)は、式(7)による計算を通じて取得され、カレントアフィン符号化ブロックの右上隅(x,y)の動きベクトル(vx,vy)は、式(8)による計算を通じて取得され、カレントアフィン符号化ブロックの左下隅(x,vy)の動きベクトル(vx,vy)は、式(9)による計算を通じて取得される。
【数6】
【0180】
カレントピクチャブロックの制御点の候補動き情報が、対象ピクチャブロックの制御点の動き情報及び対応するアフィンモデルに基づいて計算されるとき、他の制御点を使用して近隣符号化ブロック及びカレント符号化ブロックの運動モデルを表現する方法も本出願に適用可能であり、詳細はここで再度説明されないことを理解されたい。
【0181】
任意で、一実施形態において、N個の対象ピクチャブロックが通常のピクチャブロック(非アフィンピクチャブロック)であるとき、図3に示す方法におけるステップ102は、具体的に、N個の対象ピクチャブロックの動き情報をカレントピクチャブロックの候補動き情報として決定することを含む。
【0182】
上述では、図2図7を参照して、本出願の実施形態におけるインター予測方法について詳細に説明している。図2図7に記載される方法は、エンコーダ側とデコーダ側の双方で実行されてもよく、非並進モデルにおけるインター予測と並進モデルにおけるインター予測の双方に適用可能であり得ることを理解されたい。
【0183】
特定の例を参照し、以下では、異なるモデルにおいて本出願の実施形態におけるインター予測の動き情報候補リストを取得する処理について詳細に説明する。
【0184】
例1:アフィンモードにおいて動き情報候補リストを構築する方法1
【0185】
例1では、要件を満たすアフィン符号化ブロックが見つかるたび、アフィン符号化ブロックの制御点の動き情報に基づいてカレントピクチャブロックの候補動き情報が決定され、取得された候補動き情報は、動き情報候補リストに追加される。
【0186】
例1において、カレントピクチャブロックの制御点の候補動き情報は、主に、継承制御点動きベクトル予測方法を使用することにより導出され、制御点の導出された候補動き情報は、動き情報候補リストに追加される。例1の特定のプロセスが図8に示される。図8に示すプロセスは、ステップ401~ステップ405を含み、以下では、ステップ401~ステップ405について詳細に説明する。
【0187】
401:カレントピクチャブロックの動き情報候補リストを取得する。
【0188】
ステップ401で取得された動き情報候補リストは、カレントピクチャブロックに対して新たに確立された動き情報候補リストでもよい(この場合、動き情報候補リストは空であり、何ら動き情報を含まない)。あるいは、動き情報候補リストは、カレントピクチャブロックに対して既に確立された動き情報候補リストであり、動き情報候補リストは、何らかの動き情報を既に含む。
【0189】
402:カレントピクチャブロックの近隣位置をトラバースして、カレント近隣位置があるアフィン符号化ブロックを取得する。
【0190】
例1において、アフィン符号化モデルは、本出願の実施形態におけるインター予測方法を説明するための一例として使用されることを理解されたい。したがって、ステップ402では、カレントピクチャブロックの近隣位置をトラバースする処理において、トラバースされた近隣位置があるピクチャブロックがアフィン符号化ブロックであるかどうかが、さらに決定される必要がある。ピクチャブロックがアフィン符号化ブロックである場合、このアフィン符号化ブロックが取得されてもよく、カレントピクチャブロックの制御点の候補動き情報は、アフィン符号化ブロックの制御点の動き情報に基づいて導出される。近隣位置があるピクチャブロックが並進ブロックである場合、カレントピクチャブロックの制御点の候補動き情報は、並進ブロックに基づいて導出することができない。したがって、ステップS402において、近隣位置があるピクチャブロックが並進ブロックである場合、近隣位置があるトラバースされたピクチャブロックがアフィン符号化ブロックとなるまで、カレントピクチャブロックの別の近隣位置が連続的にトラバースされる必要がある。
【0191】
例えば、図4に示すように、カレントピクチャブロックの近隣位置はA1、B1、B0、A0、及びB2のシーケンスでトラバースされてもよく、近隣位置があるアフィン符号化ブロックが取得される。
【0192】
403:動き情報候補リストが空であるかどうかを決定する。
【0193】
ステップ403において、動き情報候補リストが空であると決定された場合、カレントピクチャブロックの制御点の候補動き情報は、近隣位置があるアフィン符号化ブロックの制御点の動き情報に基づいて直接導出されてもよく、制御点の導出された候補動き情報は、動き情報候補リストに追加される。換言すれば、ステップ405が直接実行される。
【0194】
ステップ403において、動き情報候補リストが空でないと決定された場合、繰り返しの動き情報を動き情報候補リストに追加することを避けるために、さらなる決定が行われる必要がある。換言すれば、ステップ404が実行される。
【0195】
404:カレント近隣位置があるアフィン符号化ブロックが、動き情報候補リスト内の各動き情報に対応するアフィン符号化ブロックと異なるかどうかを決定する。
【0196】
動き情報候補リスト内の各動き情報は1つのアフィン符号化ブロックに対応し、各動き情報は対応するアフィン符号化ブロックから導出されることを理解されたい。
【0197】
カレント近隣位置があるアフィン符号化ブロックが、動き情報候補リスト内の各動き情報に対応するアフィン符号化ブロックと異なるとき、カレント近隣位置があるアフィン符号化ブロックの制御点の動き情報に基づいて導出されるカレントピクチャブロックの候補動き情報は、動き情報候補リスト内の動き情報と異なる確率が高い。この場合、カレントピクチャブロックの候補動き情報は、カレント近隣位置があるアフィン符号化ブロックの制御点の動き情報に基づいて決定されてもよく、候補動き情報は、動き情報候補リストに追加される。換言すれば、ステップ405が実行される。
【0198】
ステップ404において、カレント近隣位置があるアフィン符号化ブロックが、動き情報候補リスト内の一部の動き情報に対応するアフィン符号化ブロックと同じであるとき、カレント近隣位置があるアフィン符号化ブロックの制御点の動き情報に基づいて導出されたカレントピクチャブロックの制御点の候補動き情報は、動き情報候補リスト内の既存の候補動き情報と同じである。この場合、カレントピクチャブロックの近隣位置は再度トラバースされる必要があり、カレント近隣位置があるアフィン符号化ブロックが探索され続ける。換言すれば、ステップ402が実行される。
【0199】
ステップ404において、具体的に、カレント近隣位置がある符号化ブロックが、動き情報候補リスト内の各動き情報に対応するアフィン符号化ブロックと同じであるかどうかは、カレント近隣位置がある符号化ブロックの特定の位置の座標が、動き情報候補リスト内の各動き情報に対応するアフィン符号化ブロックの特定の位置の座標と同じであるかどうかを比較することにより決定されてもよいことを理解されたい。
【0200】
具体的に、カレント近隣位置があるアフィン符号化ブロックの左上隅のピクセル座標()は、動き情報候補リスト内の既存の動き情報に対応するアフィン符号化ブロックの左上隅のピクセル座標(n,n)と比較されてもよい。nは、0以上N-1未満であり、Nは、動き情報候補リストに含まれる動き情報の数量(構築された動き情報候補リストの長さ)である。
【0201】
例えば、図3に示すように、カレント近隣位置はB1であり、B1が属するアフィン符号化ブロックはCU2であり、CU2の左上隅の座標は(2,2)であると仮定される。このケースで、動き情報候補リストが空である場合、カレントピクチャブロックの制御点の動き情報は、CU2の制御点の動き情報に基づいて直接導出されてもよく、制御点の導出された動き情報は、動き情報候補リストに追加される。このケースで、動き情報候補リストが空でなく、1つの動き情報のみが動き情報候補リスト内に存在し、この動き情報に対応するピクチャブロックがCU1であり、CU1の左上隅の座標が(1,1)である場合、CU2がCU1と同じであるかどうかを決定するために、1が2に等しいかどうか、及び1が2に等しいかどうかが決定されてもよい。図4に示すように、CU2の左上隅の垂直座標は、CU1の左上隅の垂直座標と同じであり、CU2の左上隅の水平座標は、CU1の左上隅の水平座標と異なる。したがって、CU2は、CU1とは異なる。次に、カレントピクチャブロックの制御点の候補動き情報は、CU2の制御点の動き情報に基づいて導出されてもよく、制御点の候補動き情報は、動き情報候補リストに追加される。
【0202】
さらに、ステップ404において、近隣位置があり且つカレントピクチャブロックの同じ側であるアフィン符号化ブロックのみが比較されてもよい。カレント近隣位置があるアフィン符号化ブロックは、動き情報候補リスト内の各動き情報に対応するアフィン符号化ブロックと比較されない。これは、動き情報候補リストを構築する複雑さをさらに低減する。
【0203】
さらに、カレント近隣位置があるアフィン符号化ブロックが、動き情報候補リスト内の各動き情報に対応するアフィン符号化ブロックと同じであるかどうかを決定するために、一意のカウント値又は一意のID値が各アフィン符号化ブロックにさらに割り当てられてもよい。アフィン符号化ブロックが同じであるかどうかは、アフィン符号化ブロックのカウント値又はID値を比較することにより決定される。
【0204】
405:カレント近隣位置があるアフィン符号化ブロックの制御点の動き情報に基づいて、カレントピクチャブロックの制御点の候補動き情報を導出し、制御点の候補動き情報を動き情報候補リストに追加する。
【0205】
ステップ401~ステップ405は、動き情報候補リストを構築する処理の一部のみを示していることを理解されたい。実際には、動き情報候補リストを構築する処理において、動き情報候補リストに追加された動き情報の数量が予め設定された数量(例えば、最大リスト長であり、これは具体的に1、2、3、4、又は5でもよい)に達しているかどうかが、さらに決定されてもよい。動き情報の数量が予め設定された数量に達している場合、動き情報候補リストの構築は完了する。動き情報の数量が予め設定された数量に達していない場合、カレントピクチャブロックの近隣位置は、動き情報を取得するためにトラバースされ続ける。
【0206】
本出願において、動き情報候補リスト内の動き情報を取得するために、代替的に、符号化ブロック候補リストが最初構築されてもよく、異なるアフィン符号化ブロックが符号化ブロック候補リストに追加される。このようにして、符号化ブロック候補リストが完成した後、符号化ブロック候補リスト内のアフィン符号化ブロックの制御点の動き情報に基づいて、カレントピクチャブロックの制御点の候補動き情報が直接導出されてもよく、制御点の候補動き情報は、動き情報候補リストに追加される。以下では、例2を参照し、符号化ブロック候補リストを最初構築し、次いで符号化ブロック候補リストに基づいて動き情報候補リストを取得する方法について詳細に説明する。
【0207】
例2:アフィンモードにおいて動き情報候補リストを構築する方法2
【0208】
例1と異なり、例2では、符号化ブロック候補リストが最初構築され、次いで、符号化ブロック候補リストに基づいて動き情報候補リストが取得される。
【0209】
例1では、近隣位置があるアフィン符号化ブロックが決定されるたび、アフィン符号化ブロックの制御点の動き情報に基づいてカレントピクチャブロックの制御点の候補動き情報が導出されることを理解されたい。しかしながら、例2では、全てのアフィン符号化ブロックが最初決定され、次いで、全てのアフィン符号化ブロックが決定された後、全てのアフィン符号化ブロックに基づいてカレントピクチャブロックの制御点の候補動き情報が導出される。例2において、動き情報候補リスト内の候補動き情報は1回構築される。例1における候補動き情報を複数回構築する方法と比較して、この候補動き情報を構築する方法は、より簡素である。以下では、例2のプロセスについて説明する。上述の分析における差に加えて、例2のプロセスの別の部分は、例1のものと基本的に同様であることを理解されたい。不必要な繰り返しを避けるために、例2は以下で簡潔にのみ説明される。
【0210】
例2の特定のプロセスが図9に示される。図9に示すプロセスは、ステップ501~ステップ507を含み、以下では、これらのステップについて説明する。
【0211】
501:カレントピクチャブロックの符号化ブロック候補リストを確立する。
【0212】
ステップ501において符号化ブロック候補リストを確立する目的は、カレントピクチャブロックの複数の近隣位置がある複数のアフィン符号化ブロックを取得し、その複数のアフィン符号化ブロックを符号化ブロック候補リストに追加するためである。符号化ブロック候補リスト内に同じアフィン符号化ブロックは存在しない。
【0213】
502:カレントピクチャブロックの近隣位置をトラバースして、カレント近隣位置があるアフィン符号化ブロックを取得する。
【0214】
ステップ502の具体的な処理及びステップ502の説明は、例1におけるステップ402の処理及びステップ402の説明と同じであり、詳細はここで再度説明されない。
【0215】
503:符号化ブロック候補リストが空であるかどうかを決定する。
【0216】
ステップ503において、符号化ブロック候補リストが空である場合、カレント近隣位置があるアフィン符号化ブロックは、符号化ブロック候補リストに直接追加されてもよい。換言すれば、ステップ505が実行される。
【0217】
ステップ503において、符号化ブロック候補リストが空でない場合、新たに追加されたアフィン符号化ブロックが符号化ブロック候補リスト内の既存の符号化ブロックで繰り返されないことを保証するために、カレント近隣位置があるアフィン符号化ブロックは、符号化ブロック候補リスト内の既存の符号化ブロックと比較される必要があり、次いで、カレント近隣位置があるアフィン符号化ブロックを符号化ブロック候補リストに追加すべきかどうかが決定される。換言すれば、ステップ504が実行される。
【0218】
504:カレント近隣位置があるアフィン符号化ブロックが、符号化ブロック候補リスト内のアフィン符号化ブロックと異なるかどうかを決定する。
【0219】
ステップ504において、カレント近隣位置があるアフィン符号化ブロックが、符号化ブロック候補リスト内のアフィン符号化ブロックと異なる場合、カレント近隣位置があるアフィン符号化ブロックは、符号化ブロック候補リストに追加されてもよい。換言すれば、ステップ505が実行される。
【0220】
ステップ504において、カレント近隣位置があるアフィン符号化ブロックと同じである符号化ブロックが、符号化ブロック候補リスト内に存在する場合、カレントピクチャブロックの近隣位置は、近隣位置があるアフィン符号化ブロックを連続的に取得するために、再度トラバースされる必要がある。換言すれば、ステップ502が実行される。
【0221】
さらに、ステップ504において、2つの符号化ブロックが同じであるかどうかは、符号化ブロックの特定の位置のピクセル座標又は番号に基づいて決定されてもよい。具体的な決定処理は例1のものと同じであり、詳細はここで再度説明されない。
【0222】
505:カレント近隣位置があるアフィン符号化ブロックを符号化ブロック候補リストに追加する。
【0223】
例えば、図4に示すように、カレントブロックの周辺近隣位置があるブロックは、これらの位置があるアフィン符号化ブロックを見つけるために、A1、B1、B0、A0、及びB2のシーケンスでトラバースされてもよい。カレント符号化ブロック候補リストが空である場合、カレント近隣位置があるアフィン符号化ブロックは、符号化ブロック候補リストに直接追加されてもよい。そうでない場合(符号化ブロック候補リストが空でない)、符号化ブロック候補リスト内の各符号化ブロックがトラバースされて、カレント近隣位置があるアフィン符号化ブロックと同じである符号化ブロックが、符号化ブロック候補リスト内に存在するかどうかをチェックする。同じ符号化ブロックが存在しない場合、アフィン符号化ブロックは、符号化ブロック候補リストに追加される。
【0224】
506:符号化ブロック候補リストが完成しているかどうかを決定する。
【0225】
具体的には、ステップ506において、符号化ブロック候補リストに含まれる符号化ブロックの数量が、予め設定された数量(又は、最大リスト長)に達しているかどうかが決定されてもよい。符号化ブロック候補リストに含まれる符号化ブロックの数量が、予め設定された数量に達していない場合、ステップ502が連続的に実行される。
【0226】
符号化ブロック候補リストに含まれる符号化ブロックの数量が、予め設定された数量に達している場合、符号化ブロック候補リストの構築は完了する。次いで、ステップ507が実行され得る。
【0227】
507:符号化ブロック候補リスト内のアフィン符号化ブロックの制御点の動き情報に基づいてカレントピクチャブロックの制御点の候補動き情報を導出し、制御点の候補動き情報をカレントピクチャブロックの動き情報候補リストに追加する。
【0228】
上述では、例1及び例2を参照して、アフィンモデルにおいて動き情報候補リストを決定するプロセスについて詳細に説明している。アフィンモデルでは、カレントピクチャブロックの候補動き情報は、近隣位置があるアフィン符号化ブロックの制御点の動き情報に基づいて決定される必要がある。しかしながら、並進モデルでは、カレントピクチャブロックの候補動き情報は、近隣位置があるピクチャブロックの動き情報に基づいて直接決定されてもよい(近隣位置があるピクチャブロックの動き情報は、カレントピクチャブロックの候補動き情報として決定される)。
【0229】
以下では、例3及び例4を参照して、並進モデルにおいて動き情報候補リストを決定するプロセスについて詳細に説明する。
【0230】
例3及び例4と、上述の例1及び例2との間の主な差は、例3及び例4では、近隣位置がある符号化ブロックの動き情報が、カレントピクチャブロックの動き情報として動き情報候補リストに直接追加される点にあることを理解されたい。しかしながら、例1及び例2では、カレントピクチャブロックの制御点の動き情報は、近隣位置があるアフィン符号化ブロックの制御点の動き情報に基づいてのみ導出することができ、カレントピクチャブロックの制御点の動き情報は、候補動き情報として動き情報候補リストに追加される。したがって、例3及び例4が以下で説明されるとき、不必要な繰り返しを避けるために、繰り返しの説明は適宜省略される。
【0231】
例3:並進モードにおいて動き情報候補リストを構築する方法1
【0232】
例3の特定のプロセスが図10に示される。図10に示すプロセスは、ステップ601~ステップ605を含み、以下では、これらのステップについて説明する。
【0233】
601:カレントピクチャブロックの動き情報候補リストを取得する。
【0234】
ステップ601の具体的な処理は、例1におけるステップ401の具体的な処理と同じであり、詳細はここで再度説明されない。
【0235】
602:カレントピクチャブロックの近隣位置をトラバースして、カレント近隣位置があるピクチャブロックを取得する。
【0236】
例1におけるステップ402と異なり、ここでは、近隣位置をトラバースすることにより、共通並進ブロックを見つけることができる。確かに、ここでのトラバースされた符号化ブロックは、代替的に、アフィン符号化ブロックでもよい。これは、本明細書において限定されない。
【0237】
603:動き情報候補リストが空であるかどうかを決定する。
【0238】
ステップ603において、動き情報候補リストが空であると決定された場合、カレント近隣位置があるピクチャブロックの動き情報は、カレントピクチャブロックの候補動き情報として動き情報候補リストに直接追加されてもよい。換言すれば、ステップ605が実行される。
【0239】
ステップ603において、動き情報候補リストが空でないと決定された場合、動き情報の繰り返しを回避するために、カレント近隣位置がある符号化ブロックが、動き情報候補リスト内の動き情報に対応する符号化ブロックと同じであるかどうかが、最初比較される必要がある。換言すれば、ステップ604が実行される。
【0240】
さらに、ステップ603における決定処理において、動き情報候補リストが空でなく、カレント近隣位置があるピクチャブロックがサブブロックモードにおけるピクチャブロックでない場合、カレント近隣位置がある符号化ブロックが、動き情報候補リスト内の動き情報に対応する符号化ブロックと同じであるかどうかが、比較される必要がある。換言すれば、ステップ604が実行される。
【0241】
しかしながら、動き情報候補リストが空でなく、カレント近隣位置があるピクチャブロックがサブブロックモードにおけるピクチャブロックである場合、カレント近隣位置がある符号化ブロックが、動き情報候補リスト内の動き情報に対応する符号化ブロックと同じであるかどうかを比較する必要はない。カレント近隣位置があるピクチャブロックの動き情報は、動き情報候補リストに直接追加されてもよい。換言すれば、ステップ605が直接実行される。
【0242】
604:カレント近隣位置がある符号化ブロックが、動き情報候補リスト内の各動き情報に対応する符号化ブロックと同じであるかどうかを決定する。
【0243】
ステップ604において、カレント近隣位置がある符号化ブロックが、動き情報候補リスト内の各動き情報に対応する符号化ブロックと異なるとき、動き情報は繰り返されない。カレント近隣位置があるピクチャブロックの動き情報は、カレントピクチャブロックの候補動き情報として使用されてもよく、候補動き情報は、動き情報候補リストに追加される。換言すれば、ステップ605が実行される。
【0244】
ステップ604において、カレント近隣位置がある符号化ブロックの動き情報が、動き情報候補リスト内の一部の動き情報と同じであるとき、カレントピクチャブロックの近隣位置は、カレント近隣位置がある符号化ブロックを取得するために、連続的にトラバースされる必要がある。換言すれば、ステップ602が実行される。
【0245】
さらに、ステップ604において、2つの符号化ブロックが同じであるかどうかは、符号化ブロックの特定の位置のピクセル座標又は番号に基づいて決定されてもよい。具体的な決定処理は例1のものと同じであり、詳細はここで再度説明されない。
【0246】
605:カレント近隣位置があるピクチャブロックの動き情報を動き情報候補リストに追加する。
【0247】
ステップ605では、実際には、カレント近隣位置があるピクチャブロックの動き情報がカレントピクチャブロックの候補動き情報として最初決定され、次いで、候補動き情報が動き情報候補リストに追加される。
【0248】
例4:並進モードにおいて動き情報候補リストを構築する方法2
【0249】
例3では、近隣位置がある符号化ブロックが決定されるたび、符号化ブロックの動き情報が動き情報候補リストに追加される。しかしながら、例4では、全ての符号化ブロックが最初決定され、全ての符号化ブロックの動き情報は、全ての符号化ブロックが決定された後に動き情報候補リストに追加される。例1において候補動き情報を動き情報候補リストに複数回追加する方法と比較して、動き情報候補リスト内の全ての候補動き情報を、1つの動作を通じて決定することができる。実施形態4における候補動き情報を構築する方法は、より簡素である。
【0250】
例4の特定のプロセスが図11に示される。図11に示すプロセスは、ステップ701~ステップ707を含み、以下では、これらのステップについて説明する。
【0251】
701:カレントピクチャブロックの符号化ブロック候補リストを確立する。
【0252】
ステップ701の具体的な処理は、例2におけるステップ501の具体的な処理と同じであり、詳細はここで再度説明されない。
【0253】
702:カレントピクチャブロックの近隣位置をトラバースして、カレント近隣位置がある符号化ブロックを取得する。
【0254】
例2におけるステップ502と異なり、ここでは、近隣位置をトラバースすることにより、共通並進ブロックを見つけることができる。確かに、ここでのトラバースされた符号化ブロックは、代替的に、アフィン符号化ブロックでもよい。これは、本明細書において限定されない。
【0255】
703:符号化ブロック候補リストが空であるかどうかを決定する。
【0256】
ステップ703において、符号化ブロック候補リストが空である場合、カレント近隣位置がある符号化ブロックは、符号化ブロック候補リストに直接追加されてもよい。換言すれば、ステップ705が実行される。
【0257】
ステップ703において、符号化ブロック候補リストが空でない場合、新たに追加された符号化ブロックが符号化ブロック候補リスト内の既存の符号化ブロックで繰り返されないことを保証するために、カレント近隣位置がある符号化ブロックは、符号化ブロック候補リスト内の既存の符号化ブロックと比較される必要がある。換言すれば、ステップ704が実行される。
【0258】
さらに、ステップ703の決定処理において、符号化ブロック候補リストが空でなく、カレント近隣位置があるピクチャブロックがサブブロックモードにおけるピクチャブロックでない場合、カレント近隣位置がある符号化ブロックが、符号化ブロック候補リスト内の符号化ブロックと同じであるかが、比較される必要がある。換言すれば、ステップ704が実行される。
【0259】
しかしながら、動き情報候補リストが空でなく、カレント近隣位置があるピクチャブロックがサブブロックモードにおけるピクチャブロックである場合、カレント近隣位置がある符号化ブロックが、符号化ブロック候補リスト内の符号化ブロックと同じであるかどうかを比較することは不要である。カレント近隣位置がある符号化ブロックは、符号化ブロック候補リストに直接追加されてもよい。換言すれば、ステップ705が直接実行される。
【0260】
704:カレント近隣位置がある符号化ブロックが、符号化ブロック候補リスト内の符号化ブロックと異なるかどうかを決定する。
【0261】
ステップ704において、カレント近隣位置がある符号化ブロックが、符号化ブロック候補リスト内の符号化ブロックと異なる場合、カレント近隣位置がある符号化ブロックは、符号化ブロック候補リストに追加されてもよい。換言すれば、ステップ705が実行される。
【0262】
ステップ704において、カレント近隣位置がある符号化ブロックと同じである符号化ブロックが、符号化ブロック候補リスト内に存在する場合、カレントピクチャブロックの近隣位置は、近隣位置がある符号化ブロックを取得するために、再度トラバースされる必要がある。換言すれば、ステップ702が実行される。
【0263】
さらに、ステップ704において、2つの符号化ブロックが同じであるかどうかは、符号化ブロックの特定の位置のピクセル座標又は番号に基づいて決定されてもよい。具体的な決定処理は例1のものと同じであり、詳細はここで再度説明されない。
【0264】
705:カレント近隣位置がある符号化ブロックを符号化ブロック候補リストに追加する。
【0265】
706:符号化ブロック候補リストの構築が完了しているかどうかを決定する。
【0266】
具体的には、ステップ706において、符号化ブロック候補リストに含まれる符号化ブロックの数量が、予め設定された数量に達しているかどうかが決定されてもよい。符号化ブロック候補リストに含まれる符号化ブロックの数量が、予め設定された数量に達していない場合、ステップ702が連続的に実行される。
【0267】
符号化ブロック候補リストに含まれる符号化ブロックの数量が、予め設定された数量に達している場合、符号化ブロック候補リストの構築は完了する。次いで、ステップ707が実行され得る。
【0268】
707:符号化ブロック候補リスト内の符号化ブロックの動き情報を決定し、符号化ブロック候補リスト内の符号化ブロックの動き情報をカレントピクチャブロックの動き情報候補リストに追加する。
【0269】
任意で、ステップ707において符号化ブロックの動き情報をカレントピクチャブロックの動き情報候補リストに追加する処理において、繰り返し性検出がさらに実行されてもよい。追加すべき動き情報が、動き情報候補リストに既に追加された動き情報と同じである(例えば、1つの追加された動き情報が、追加すべき動き情報と同じである)とき、追加すべき動き情報は、動き情報候補リストに追加されない。
【0270】
例3に示されるケースをさらに説明するために、以下では、例5を参照して、並進モデルにおいてマージモードでインター予測が行われるときに動き情報候補リストを構築するプロセスについて詳細に説明する。
【0271】
例5:並進モデルにおいてマージモードでインター予測が行われるときに動き情報候補リストを構築する処理
【0272】
図4を参照し、以下では、例5における動き情報候補リストを構築する処理について詳細に説明する。
【0273】
図4に示すように、並進モデルにおけるマージモードの動き情報候補リストは、A1、B1、B0、A0、B2、及びT(Tが利用できないとき、TはCで置き換えられる)のシーケンスで確立される。A1、B1、B0、A0、B2は、カレントピクチャブロックの空間的近隣ブロックであり(本明細書における近隣ブロックは、近隣位置があるブロックを指し、符号化処理におけるピクチャブロック又は符号化ブロックを示すわけではない)、T及びCは、カレントピクチャブロックの時間的近隣ブロックである。
【0274】
図4に示すように、カレントブロックの周辺近隣位置があるブロックは、A1、B1、B0、A0、B2、T、Cのシーケンスでトラバースすることができる。この場合、候補リストが空であるか、又は、カレント近隣位置があるCUがサブブロックモードにおいて符号化されたCUである場合、カレント近隣位置があるピクチャブロックの動き情報が取得され、カレント近隣位置があるピクチャブロックの動き情報は動き情報候補リストに追加される。
【0275】
そうでない場合(候補リストは空でなく、近隣位置があるCUはサブブロックモードにおいてエンコードされたCUでない)、動き情報候補リスト内の動き情報が順次トラバースされ、カレント近隣位置があるCUが、動き情報候補リスト内の既存の動き情報が由来するCUと同じであるかどうかが決定される。同じCUからの動き情報が動き情報候補リスト内に存在しない場合、カレント近隣位置があるピクチャブロックの動き情報が取得され、カレント近隣位置があるピクチャブロックの動き情報は動き情報候補リストに追加される。
【0276】
カレント近隣位置があるCUが、動き情報候補リスト内の既存の動き情報が由来するCUと同じであるかどうかが決定されるとき、カレント近隣位置があるCUの左上隅のピクセル座標(x,y)が、動き情報候補リスト内の既存の動き情報が由来するCUの左上隅のピクセル座標(xn,yn)と同じであるかどうかが比較されてもよい。nは、0~N-1の整数であり、Nは、構築された動き情報候補リストの長さである。この場合、2つの比較(水平座標比較と垂直座標比較)のみが必要とされる。
【0277】
例えば、図4に示す空間的近隣ブロックB1では、空間的近隣ブロックB1が属するCUはCU2であり、CU2の左上隅の座標は(x2,y2)である。このケースにおいて、候補リストが空である場合、B1があるブロックの動き情報が取得され、B1があるブロックの動き情報は動き情報候補リストに追加される。このケースにおいて、動き情報候補リストが空でない、例えば、A1があるブロックに対応する動き情報がリスト内に既に存在し得、A1はCU1内に位置し、CUの左上隅の座標が(x1,y1)である場合、x2≠x1||y2≠y1が満たされるかどうかが、決定される必要がある。x2≠x1||y2≠y1の場合、B1があるブロックの動き情報が取得され、B1があるブロックの動き情報は動き情報候補リストに追加される。B2があるCUが、サブブロックモードにおいてエンコードされたCU(例えば、アフィン符号化ブロック)である場合、B2がある動き情報が、動き情報候補リストに追加される。
【0278】
カレントピクチャブロックの周辺近隣位置は、カレントピクチャブロックの動き情報候補リストの構築が完了するまで、上述の処理で1つずつトラバースされる。
【0279】
本出願の実施形態におけるインター予測方法をより良く理解するために、以下では、例6を参照して、特定のトラバースシーケンス(A1、B1、B0、A0、及びB2)で動き情報候補リストを構築する処理について詳細に説明する。
【0280】
例6:A1、B1、B0、A0、及びB2のトラバースシーケンスにおける動き情報候補リストの構築
【0281】
例6では、図4に示すカレントピクチャブロックとカレントピクチャブロックの近隣ピクチャブロックを一例として用いて、動き情報候補リストを構築する。例6の具体的なプロセスは、ステップ801~ステップ809を含み、以下では、これらのステップについて詳細に説明する。
【0282】
801:カレントピクチャブロックの動き情報候補リストを構築する。
【0283】
802:カレントピクチャブロックの第1の近隣位置A1を取得する。
【0284】
A1は、カレントピクチャブロックCU0の左側であり、A1は、カレントピクチャブロックの第1の近隣ピクチャブロックCU1に位置する。
【0285】
803:CU1の動き情報が利用可能であるとき、CU1の動き情報に基づいてカレントピクチャブロックの第1の候補動き情報を決定し、第1の候補動き情報を動き情報候補リストに追加する。
【0286】
CU1の動き情報が利用できない場合、カレントピクチャブロックの第2の近隣位置B1が取得されることを理解されたい。換言すれば、ステップ803は実行されないが、ステップ804が直接実行される。
【0287】
804:カレントピクチャブロックの第2の近隣位置B1を取得する。
【0288】
ステップ804において、B1は、カレントピクチャブロックの上側であり、B1は、カレントピクチャブロックの第2の近隣ピクチャブロックCU2に位置する。
【0289】
805:CU2の動き情報が利用可能であるとき、CU2の動き情報に基づいてカレントピクチャブロックの第2の候補動き情報を決定し、第2の候補動き情報を動き情報候補リストに追加する。
【0290】
CU2の動き情報が利用できない場合、カレントピクチャブロックの第3の近隣位置B0が取得されることを理解されたい。換言すれば、ステップ805は実行されないが、ステップ806が直接実行される。
【0291】
806:カレントピクチャブロックの第3の近隣位置B0を取得する。
【0292】
B0は、カレントピクチャブロックの上側であり、B0は、カレントピクチャブロックの第3の近隣ピクチャブロックCU3に位置する。
【0293】
807:CU3の動き情報が利用可能であるとき、CU3がCU2と同じであるかどうかを決定する。
【0294】
808:CU3の動き情報が利用可能であり、CU3がCU2と異なるとき、CU3の動き情報に基づいてカレントピクチャブロックの第3の候補動き情報を決定し、第3の候補動き情報を動き情報候補リストに追加する。
【0295】
CU3の動き情報が利用可能であるが、CU3がCU2と同じである場合、CU3は破棄されることを理解されたい。換言すれば、ステップ808は実行されないが、ステップ809が直接実行される。
【0296】
809:カレントピクチャブロックの第4の近隣位置A0を取得する。
【0297】
A0は、カレントピクチャブロックの左側であり、A0は、カレントピクチャブロックの第の近隣ピクチャブロックCU4に位置する。
【0298】
810:CU4の動き情報が利用可能であるとき、CU4がCU1と同じであるかどうかを決定する。
【0299】
811:CU4の動き情報が利用可能であり、CU4がCU1と異なるとき、CU4の動き情報に基づいてカレントピクチャブロックの第4の候補動き情報を決定し、第4の候補動き情報を動き情報候補リストに追加する。
【0300】
CU4の動き情報が利用可能であるが、CU4がCU1と同じである場合、CU4は破棄されることを理解されたい。換言すれば、ステップ811は実行されないが、ステップ812が直接実行される。
【0301】
812:カレントピクチャブロックの第5の近隣位置B2を取得する。
【0302】
B2は、カレントピクチャブロックの上側であり、B2は、カレントピクチャブロックの第の近隣ピクチャブロックCU5に位置する。
【0303】
813:CU5の動き情報が利用可能であるとき、CU5がCU1及びCU2と同じであるかどうかを決定する。
【0304】
814:CU5の動き情報が利用可能であり、CU5がCU1及びCU2と異なるとき、CU5の動き情報に基づいてカレントピクチャブロックの第5の候補動き情報を決定し、第5の候補動き情報を動き情報候補リストに追加する。
【0305】
CU5の動き情報が利用可能であるが、CU5がCU1と同じ、又はCU5がCU2と同じである場合、CU5は破棄されることを理解されたい。換言すれば、ステップ814は実行されない。
【0306】
815:動き情報候補リストに基づいてカレントピクチャブロックに対するインター予測を実行する。
【0307】
ステップ815の前に、動き情報候補リストに含まれる動き情報が予め設定された要件を満たさない(例えば、動き情報候補リスト内の動き情報の数量が予め設定された数量に達していない)場合、カレントピクチャブロックの周辺近隣位置は、連続的にトラバースされてもよく、カレントピクチャブロックの候補動き情報は、動き情報候補リストが予め設定された要件を満たすまで、近隣位置があるピクチャブロックの動き情報に基づいて取得されることを理解されたい。
【0308】
出願における例6では、動き情報候補リストを構築する処理において、カレントピクチャブロックの近隣位置が順次トラバースされることを理解されたい。さらに、いくつかの場合、カレント近隣位置があるピクチャブロックに基づいて決定された動き情報が、動き情報候補リストに追加される必要があるかどうかは、ピクチャブロックが同じであるかどうかを比較する方法で決定される。これは、動き情報候補リストを構築する処理における比較動作を低減し、それによりインター予測効率を向上させることができる。
【0309】
例6において、カレントピクチャブロックの近隣位置は特定のシーケンス(A1、B1、B0、A0、及びB2)でトラバースされ、特定のシーケンスでカレントピクチャブロックの近隣位置をトラバースすることで、異なるピクチャブロック間の比較の数量を低減することができる。例えば、A1及びB1は、それぞれ、カレントピクチャブロックの左側及び上側であるため、B1があるピクチャブロックCU2が取得されたとき、CU2をCU1と比較することは不要である。代わりに、CU2の動き情報に基づいて決定された第2の候補動き情報は、動き情報候補リストに直接追加されてもよい。
【0310】
上述では、図3図11を参照して、本出願の実施形態におけるインター予測方法について詳細に説明している。本出願の実施形態におけるインター予測方法は、図1及び図2に示されるインター予測に対応し得ることを理解されたい。本出願の実施形態におけるインター予測方法は、図1及び図2に示されるインター予測処理において実行されてもよい。本出願の実施形態におけるインター予測方法は、具体的に、エンコーダ又はデコーダのインター予測モジュールにより実行されてもよい。さらに、本出願の実施形態におけるインター予測方法は、ビデオピクチャをエンコード及び/又はデコードする必要があり得る任意の電子デバイス又は装置において実行されてもよい。
【0311】
以下では、図12を参照して、本出願の実施形態におけるインター予測方法について詳細に説明する。図12に示すインター予測装置800は、図3図5図6、及び図8図11に示す方法に対応する。インター予測装置800は、図3図5図6、及び図8図11に示す方法におけるステップを実行することができる。関連する内容に対する上述の制限及び説明は、図12に示すインター予測装置800にも適用可能である。簡潔さのため、図12に示すインター予測装置800の以下の説明では、繰り返しの説明は適宜省略される。
【0312】
図12は、本出願の一実施形態によるインター予測装置800の概略ブロック図である。図12に示すインター予測装置800は、
カレントピクチャブロックのM個の近隣位置があるM個のピクチャブロックからN個の対象ピクチャブロックを決定するように構成された決定モジュール801であり、N個の対象ピクチャブロックのうちどの2つも異なり、M及びNの双方が正の整数であり、MはN以上であり、
決定モジュール801はさらに、N個の対象ピクチャブロックの動き情報に基づいてカレントピクチャブロックの候補動き情報を決定し、カレントピクチャブロックの候補動き情報をカレントピクチャブロックの動き情報候補リストに追加するように構成される、決定モジュール801と、
動き情報候補リストに基づいてカレントピクチャブロックに対するインター予測を実行するように構成されたインター予測モジュール802と、
を含む。
【0313】
本出願において、カレントピクチャブロックの近隣位置がある複数のピクチャブロックから、少なくとも1つの異なる対象ピクチャブロックが決定され、それにより、少なくとも1つの対象ピクチャブロックに基づいて、カレントピクチャブロックの候補動き情報を決定することができる。さらに、取得された候補動き情報は、候補動き情報が同じであるかどうかを比較することなく、カレントピクチャブロックの動き情報候補リストに追加される。これは、インター予測の間に動き情報候補リストが取得されるとき実行される比較動作を低減し、それによりインター予測効率を向上させることができる。
【0314】
任意で、一実施形態において、決定モジュール801は、カレントピクチャブロックのカレント近隣位置があるピクチャブロックを決定し、カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロックの各々と異なるとき、カレント近隣位置があるピクチャブロックをカレントピクチャブロックの対象ピクチャブロックとして決定するように構成される。
【0315】
任意で、一実施形態において、カレント近隣位置があるピクチャブロックは、カレントピクチャブロックの第1の側である。決定モジュール801はさらに、カレントピクチャブロックの第1の側の少なくとも1つの第1の対象ピクチャブロックが、取得された対象ピクチャブロック内に存在するとき、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と同じであるかどうかを決定し、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と異なるとき、カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロックの各々と異なることを決定するように構成される。
【0316】
任意で、一実施形態において、決定モジュール801は、カレント近隣位置があるピクチャブロックの予め設定された位置のピクセル座標が、少なくとも1つの第1の対象ピクチャブロックの各々の予め設定された位置のピクセル座標と同じであるかどうかを決定し、カレント近隣位置があるピクチャブロックの予め設定された位置のピクセル座標が、少なくとも1つの第1の対象ピクチャブロックの各々の予め設定された位置のピクセル座標と異なるとき、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と異なることを決定するように構成される。
【0317】
任意で、一実施形態において、決定モジュール801は、カレント近隣位置があるピクチャブロックの番号が、少なくとも1つの第1の対象ピクチャブロックの各々の番号と同じであるかどうかを決定し、カレント近隣位置があるピクチャブロックの番号が、少なくとも1つの第1の対象ピクチャブロックの各々の番号と異なるとき、カレント近隣位置があるピクチャブロックが、少なくとも1つの第1の対象ピクチャブロックの各々と異なることを決定するように構成される。
【0318】
任意で、一実施形態において、カレント近隣位置があるピクチャブロックは、カレントピクチャブロックの第1の側である。決定モジュール801はさらに、カレントピクチャブロックの第1の側の第1の対象ピクチャブロックが、取得された対象ピクチャブロック内に存在しないとき、カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロックの各々と異なることを決定するように構成される。
【0319】
任意で、一実施形態において、決定モジュール801はさらに、カレント近隣位置があるピクチャブロックが、取得された対象ピクチャブロックの各々と同じであるかどうかを決定するように構成される。
【0320】
任意で、一実施形態において、N個の対象ピクチャブロックはアフィンピクチャブロックであり、カレントピクチャブロックの候補動き情報はカレントピクチャブロックの制御点の候補動き情報である。決定モジュール801は、N個の対象ピクチャブロックの制御点の動き情報に基づいてカレントピクチャブロックの制御点の候補動き情報を決定するように構成される。
【0321】
本出願の実施形態におけるインター予測方法は、代替的に、ビデオエンコーダ又はビデオデコーダにより実行されてもよい。以下では、図13及び図14を参照して、本出願の実施形態におけるビデオエンコーダ及びビデオデコーダの構造について詳細に説明する。
【0322】
図13は、本出願の一実施形態による例示的なビデオエンコーダ100のブロック図である。ビデオエンコーダ100は、後処理エンティティ41にビデオを出力するように構成される。後処理エンティティ41は、ビデオエンコーダ100からのエンコードされたビデオデータを処理することができるビデオエンティティの一例を表す。例えば、ビデオエンティティは、メディア認識ネットワーク要素又はスティッチング装置/編集装置である。いくつかの場合、後処理エンティティ41はネットワークエンティティの一例でもよい。いくつかのビデオ符号化システムでは、後処理エンティティ41及びビデオエンコーダ100は、別個の装置のコンポーネントでもよい。しかしながら、他の場合に、後処理エンティティ41に関して説明した機能は、ビデオエンコーダ100を含む同じ装置により実装されてもよい。一例において、後処理エンティティ41は、図1の記憶装置40の一例である。
【0323】
ビデオエンコーダ100は、モード0、1、2、...、及び10を含み且つ本出願で提案される候補インター予測モードセット内の任意の新しいインター予測モードに基づいて、ビデオピクチャブロックをエンコードし、例えば、ビデオピクチャブロックに対するインター予測を実行することができる。
【0324】
図13の例において、ビデオエンコーダ100は、予測処理ユニット108、フィルタユニット106、デコード済みピクチャバッファ(decoded picture buffer、DPB)107、合計(summation)ユニット112、変換ユニット101、量子化ユニット102、及びエントロピーエンコーディングユニット103を含む。予測処理ユニット108は、インター予測ユニット110及びイントラ予測ユニット109を含む。ピクチャブロック再構成のために、ビデオエンコーダ100は、逆量子化ユニット104、逆変換ユニット105、及び合計ユニット111をさらに含む。フィルタユニット106は、1つ以上のループフィルタユニット、例えば、デブロッキングフィルタユニット、適応ループフィルタ(adaptive loop filter、ALF)ユニット、及びサンプル適応オフセット(sample adaptive offset、SAO)フィルタユニットを表すことが意図される。フィルタユニット106は、図13ではループ内フィルタとして示されているが、別の実装において、フィルタユニット106はループ後フィルタとして実装されてもよい。一例において、ビデオエンコーダ100は、ビデオデータ記憶ユニット及び分割ユニット(図示せず)をさらに含んでもよい。
【0325】
ビデオデータ記憶ユニットは、ビデオエンコーダ100のコンポーネントによりエンコードされたビデオデータを記憶することができる。ビデオデータ記憶ユニットに記憶されるビデオデータは、ビデオソース120から取得されてもよい。DPB107は、ビデオデータをイントラ又はインター符号化モードでエンコードするためにビデオエンコーダ100により使用される参照ビデオデータを記憶する参照ピクチャ記憶ユニットでもよい。ビデオデータ記憶ユニット及びDPB107は各々、複数の記憶ユニット装置、例えば、ダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM)又は同期ダイナミックランダムアクセスメモリ(synchronous dynamic random access memory、SDRAM)を含むダイナミックランダムアクセス記憶ユニット(DRAM)、磁気抵抗ランダムアクセスメモリ(random access memory、RAM)又は磁気ランダムアクセスメモリ(magnetic random access memory、MRAM)、抵抗RAM又は抵抗ランダムアクセスメモリ(resistive random access memory、RRAM)、又は他のタイプの記憶ユニット装置のうちいずれか1つにより構成されてもよい。ビデオデータ記憶ユニット及びDPB107は、同じ記憶ユニット装置又は別個の記憶ユニット装置により提供されてもよい。様々な例において、ビデオデータ記憶ユニットは、ビデオエンコーダ100の他のコンポーネントと共にチップ上に統合されてもよく、あるいはこれらのコンポーネントに対してチップの外部に配置されてもよい。
【0326】
図13に示すように、ビデオエンコーダ100は、ビデオデータを受信し、ビデオデータ記憶ユニットにビデオデータを記憶する。分割ユニットは、ビデオデータをいくつかのピクチャブロックに分割し、これらのピクチャブロックは、例えば四分木構造又は二分木構造に基づいて分割された、より小さいブロックにさらに分割されてもよい。分割は、スライス(slice)、タイル(tile)、又は他のより大きいユニットへの分割をさらに含んでもよい。ビデオエンコーダ100は、通常、エンコードすべきビデオスライス内のピクチャブロックをエンコードするコンポーネントである。スライスは、複数のピクチャブロックに分割されてもよい(また、タイルと呼ばれるピクチャブロックセットに分割されてもよい)。予測処理ユニット108は、カレントピクチャブロックに使用される複数の可能な符号化モードのうち1つ、例えば、複数のイントラ符号化モードのうち1つ又は複数のインター符号化モードのうち1つを選択することができる。複数のインター符号化モードには、これらに限られないが本出願において提案されるモード0、1、2、3、...、及び10のうち1つ以上が含まれる。予測処理ユニット108は、取得されたイントラ符号化及びインター符号化ブロックを合計ユニット112に提供して、残差ブロックを生成し、上記ブロックを合計ユニット111に提供して、参照ピクチャとして使用されるエンコードされたブロックを再構成するようにしてもよい。
【0327】
予測処理ユニット108内のイントラ予測ユニット109は、空間的冗長性を除去するために、カレントのエンコードすべきブロックと同じフレーム又はスライス内にある1つ以上の近隣ブロックに相対してカレントピクチャブロックに対するイントラ予測エンコーディングを行うことができる。予測処理ユニット108内のインター予測ユニット110は、時間的冗長性を除去するために、1つ以上の参照ピクチャ内の1つ以上の予測ブロックに相対してカレントピクチャブロックに対するインター予測エンコーディングを行うことができる。
【0328】
具体的には、インター予測ユニット110は、カレントピクチャブロックをエンコードするために使用されるインター予測モードを決定するように構成されてもよい。例えば、インター予測ユニット110は、レート歪み分析を通じて候補インター予測モードセット内の様々なインター予測モードのレート歪み値を計算し、複数のインター予測モードから最適なレート歪み機能を有するインター予測モードを選択することができる。レート歪み分析は、エンコードされたブロックと、エンコードされておらず且つエンコードされたブロックを生成するためにエンコードされるべき元のブロックとの間の歪み(又は、誤差)の量、及び、エンコードされたブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定するために通常使用される。例えば、インター予測ユニット110は、候補インター予測モードセットの中で、最小のレート歪みコストを有し且つカレントピクチャブロックをエンコードするために使用されるインター予測モードを、カレントピクチャブロックに対するインター予測を実行するために使用されるインター予測モードとして決定してもよい。以下では、インター予測エンコーディング処理、特に、本出願における無指向性又は指向性の動き場(motion field)に使用される様々なインター予測モードにおいてカレントピクチャブロック内の1つ以上のサブブロック(これは具体的には、各サブブロック又は全てのサブブロックでもよい)の動き情報を予測する処理について詳細に説明する。
【0329】
インター予測ユニット110は、決定されたインター予測モードに基づいてカレントピクチャブロック内の1つ以上のサブブロックの動き情報(例えば、動きベクトル)を予測し、カレントピクチャブロック内の1つ以上のサブブロックの動き情報(例えば、動きベクトル)を使用することによりカレントピクチャブロックの予測ブロックを取得又は生成するように構成される。インター予測ユニット110は、参照ピクチャリスト内の1つの参照ピクチャ内に、動きベクトルが指し示す予測ブロックの位置を特定することができる。インター予測ユニット110は、ピクチャブロック及びピクチャスライスに関連づけられた構文要素をさらに生成することができ、それにより、ビデオデコーダ200は、構文要素を使用してビデオスライスのピクチャブロックをデコードする。あるいは、一例において、インター予測ユニット110は、各サブブロックの動き情報を使用することにより動き補償処理を実行して、サブブロックの予測ブロックを生成し、それにより、カレントピクチャブロックの予測ブロックを取得する。本明細書におけるインター予測110は、動き推定処理及び動き補償処理を実行することを理解されたい。
【0330】
具体的には、カレントピクチャブロックに対するインター予測モードを選択した後、インター予測ユニット110は、エントロピーエンコーディングユニット103に対して、カレントピクチャブロックの選択されたインター予測モードを示す情報を提供することができ、それにより、エントロピーエンコーディングユニット103は、選択されたインター予測モードを示す情報をエンコードする。本出願において、ビデオエンコーダ100は、送信ビットストリーム内に、カレントピクチャブロックに関連するインター予測データを含めることができ、インター予測データは、動き情報候補リスト内にあり、且つカレントピクチャブロックの動き情報を予測するために使用される、候補動き情報を示す第1の識別子を含んでもよい。例えば、動き情報候補リスト内の対象候補動き情報(例えば、最適な候補動き情報)の位置が示される。
【0331】
イントラ予測ユニット109は、カレントピクチャブロックに対するイントラ予測を実行することができる。具体的には、イントラ予測ユニット109は、カレントブロックをエンコードするために使用されるイントラ予測モードを決定することができる。例えば、イントラ予測ユニット109は、レート歪み分析を通じて様々なテストすべきイントラ予測モードのレート歪み値を計算し、上記テストすべきモードから最適なレート歪み特徴を有するイントラ予測モードを選択してもよい。いずれの場合も、ピクチャブロックに対するイントラ予測モードを選択した後、イントラ予測ユニット109は、エントロピーエンコーディングユニット103に対して、カレントピクチャブロックの選択されたイントラ予測モードを示す情報を提供することができ、それにより、エントロピーエンコーディングユニット103は、選択されたイントラ予測モードを示す情報をエンコードする。
【0332】
予測処理ユニット108が、インター予測及びイントラ予測を通じてカレントピクチャブロックの予測ブロックを生成した後、ビデオエンコーダ100は、カレントのエンコードすべきピクチャブロックから予測ブロックを減算して、残差ピクチャブロックを形成する。合計ユニット112は、減算演算を実行する1つ以上のコンポーネントを表す。残差ブロック内の残差ビデオデータは、1つ以上のTUに含まれ、変換ユニット101により使用されてもよい。変換ユニット101は、離散コサイン変換(discrete cosine transform、DCT)又は概念的に類似した変換などの変換を通じて残差ビデオデータを残差変換係数に変換する。変換ユニット101は、残差ビデオデータをピクセル値ドメインから変換ドメイン、例えば周波数ドメインに変換してもよい。
【0333】
変換ユニット101は、取得された変換係数を量子化ユニット102に送ることができる。量子化ユニット102は、変換係数を量子化してビットレートをさらに低減する。いくつかの例において、量子化ユニット102はさらに、量子化された変換係数を含む行列を走査してもよい。あるいは、エントロピーエンコーディングユニット103が走査を行ってもよい。
【0334】
量子化の後、エントロピーエンコーディングユニット103は、量子化された変換係数に対するエントロピーエンコーディングを実行する。例えば、エントロピーエンコーディングユニット103は、コンテキスト適応可変長符号化(context-adaptive variable-length coding、CAVLC)、コンテキストベース適応バイナリ演算符号化(context-based adaptive binary arithmetic coding、CABAC)、構文ベースコンテキスト適応バイナリ演算符号化、確率間隔分割エントロピーエンコーディング、又は他のエントロピーエンコーディング方法若しくは技術を実行してもよい。エントロピーエンコーディングユニット103がエントロピーエンコーディングを実行した後、エンコードされたビットストリームは、ビデオデコーダ200に送信されてもよく、あるいは後の送信のため、又はビデオデコーダ200により取り出されるようにアーカイブされてもよい。エントロピーエンコーディングユニット103はさらに、カレントのエンコードすべきピクチャブロックの構文要素に対するエントロピーエンコーディングを行ってもよい。
【0335】
逆量子化ユニット104及び逆変換ユニット105はそれぞれ、例えば参照ピクチャの参照ブロックとして後に使用するため、ピクセルドメインにおける残差ブロックを再構成するために、逆量子化及び逆変換を適用する。合計ユニット111は、再構成された残差ブロックをインター予測ユニット110又はイントラ予測ユニット109により生成された予測ブロックに加算して、再構成ピクチャブロックを生成する。フィルタユニット106は、ブロッキングアーチファクト(block artifacts)などの歪みを低減するために、再構成されたピクチャブロックに適用可能であり得る。次いで、再構成されたピクチャブロックは、デコード済みピクチャバッファ107に参照ブロックとして記憶され、後続のビデオフレーム又はピクチャ内のブロックに対するインター予測を実行するためにインター予測ユニット110により参照ブロックとして使用されてもよい。
【0336】
ビデオストリームをエンコードするために、ビデオエンコーダ100の別の構造的変形が使用されてもよいことを理解されたい。例えば、いくつかのピクチャブロック又はピクチャフレームでは、ビデオエンコーダ100は残差信号を直接量子化してもよい。対応して、変換ユニット101及び逆変換ユニット105による処理は必要とされない。あるいは、いくつかのピクチャブロック又はピクチャフレームでは、ビデオエンコーダ100は残差データを生成しない。対応して、変換ユニット101、量子化ユニット102、逆量子化ユニット104、逆変換ユニット105による処理は必要とされない。あるいは、ビデオエンコーダ100は、再構成されたピクチャブロックを参照ブロックとして直接記憶してもよく、フィルタユニット106による処理は必要とされない。あるいは、ビデオエンコーダ100内の量子化ユニット102と逆量子化ユニット104は組み合わせられてもよい。ループフィルタユニットは任意である。さらに、ロスレス圧縮符号化では、変換ユニット101、量子化ユニット102、逆量子化ユニット104、及び逆変換ユニット105が任意である。異なる適用シナリオにおいて、インター予測ユニット及びイントラ予測ユニットは選択的に有効にされてもよいことを理解されたい。本解決策では、インター予測ユニットは有効にされている。
【0337】
図13に示すビデオエンコーダは、本出願の実施形態におけるインター予測方法を実行できることを理解されたい。具体的には、図13に示すビデオエンコーダ内のインター予測ユニット110は、本出願の実施形態におけるインター予測方法を実行することができる。
【0338】
さらに、図12に示すインター予測装置800は、図13に示すビデオエンコーダにおけるインター予測ユニット110と同等である。
【0339】
図14は、本出願の一実施形態による例示的なビデオデコーダ200のブロック図である。図14の例において、ビデオデコーダ200は、エントロピーデコーディングユニット203、予測処理ユニット208、逆量子化ユニット204、逆変換ユニット205、合計ユニット211、フィルタユニット206、及びデコード済みピクチャバッファ207を含む。予測処理ユニット208は、インター予測ユニット210及びイントラ予測ユニット209を含むことができる。いくつかの例において、ビデオデコーダ200は、図13においてビデオエンコーダ100に関して説明したエンコーディング処理と実質的に逆のデコーディング処理を実行することができる。
【0340】
デコードする間、ビデオデコーダ200は、ビデオエンコーダ100から、エンコードされたビデオスライスのピクチャブロック及び関連する構文要素を表すエンコードされたビデオビットストリームを受け取る。ビデオデコーダ200は、ネットワークエンティティ42からビデオデータを受信してもよく、任意で、ビデオデータをビデオデータ記憶ユニット(図示せず)にさらに記憶することができる。ビデオデータ記憶ユニットは、ビデオデコーダ200のコンポーネントによりデコードされるべき、エンコードされたビデオビットストリームなどのビデオデータを記憶することができる。ビデオデータ記憶ユニットに記憶されるビデオデータは、例えば、ビデオデータの有線又は無線ネットワーク通信を通じて、又は物理的なデータ記憶媒体にアクセスすることにより、記憶装置40又はカメラなどのローカルビデオソースから取得されてもよい。ビデオデータ記憶ユニットは、エンコードされたビデオビットストリームからのエンコードされたビデオデータを記憶するように構成された符号化ピクチャバッファ(coded picture buffer、CPB)として使用されてもよい。したがって、ビデオデータ記憶ユニットは図14に示されていないが、ビデオデータ記憶ユニットとDPB207は同じ記憶ユニットでもよく、あるいは別個に配置された記憶ユニットでもよい。ビデオデータ記憶ユニットとDPB207は各々、複数の記憶ユニット装置、例えば、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、又は他のタイプの記憶ユニット装置のうちいずれか1つにより構成されてもよい。様々な例において、ビデオデータ記憶ユニットは、ビデオデコーダ200の他のコンポーネントと共にチップ上に統合されてもよく、あるいはこれらのコンポーネントに対してチップの外部に配置されてもよい。
【0341】
ネットワークエンティティ42は、例えば、サーバ、ビデオエディタ/スプライサでもよい。ネットワークエンティティ42は、ビデオエンコーダ、例えば、ビデオエンコーダ100を含んでもよく、あるいは含まなくてもよい。ネットワークエンティティ42がエンコードされたビデオビットストリームをビデオデコーダ200に送信する前に、ネットワークエンティティ42は、本出願で説明される技術の一部を実施してもよい。いくつかのビデオデコーディングシステムにおいて、ネットワークエンティティ42とビデオデコーダ200は、別個の装置のコンポーネントでもよい。別の場合に、ネットワークエンティティ42に関して説明される機能は、ビデオデコーダ200を含む同じ装置により実装されてもよい。いくつかの場合、ネットワークエンティティ42は、図1の記憶装置40の一例でもよい。
【0342】
ビデオデコーダ200のエントロピーデコーディングユニット203は、ビットストリームに対するエントロピーデコーディングを実行して、量子化された係数及びいくつかの構文要素を生成する。エントロピーデコーディングユニット203は、構文要素を予測処理ユニット208に転送する。ビデオデコーダ200は、ビデオスライスレベル及び/又はピクチャブロックレベルで複数の構文要素/1つの構文要素を受け取ることができる。
【0343】
ビデオスライスがイントラデコード(I)スライスにデコードされるとき、予測処理ユニット208のイントラ予測ユニット209は、シグナリングされたイントラ予測モードと、カレントフレーム又はピクチャの前にデコードされたブロックのデータとに基づいて、カレントビデオスライスのピクチャブロックの予測ブロックを生成することができる。ビデオスライスがインターデコード(すなわち、B又はP)スライスにデコードされるとき、予測処理ユニット208のインター予測ユニット210は、エントロピーデコーディングユニット203から受け取った構文要素に基づいて、カレントビデオスライスのカレントピクチャブロックをデコードするために使用されるインター予測モードを決定し、決定されたインター予測モードに基づいて、カレントピクチャブロックをデコードする(例えば、カレントピクチャブロックに対するインター予測を実行する)ことができる。具体的には、インター予測ユニット210は、カレントビデオスライスのカレントピクチャブロックを予測するために新しいインター予測モードを使用するかどうかを決定することができる。構文要素が、カレントピクチャブロックを予測するために新しいインター予測モードを使用することを示す場合、インター予測ユニット210は、新しいインター予測モード(例えば、構文要素により示される新しいインター予測モード、又はデフォルトの新しいインター予測モード)に基づいて、カレントビデオスライスのカレントピクチャブロックの動き情報又はカレントピクチャブロックのサブブロックの動き情報を予測して、動き補償処理を使用することにより、カレントピクチャブロックの予測された動き情報又はカレントピクチャブロックのサブブロックの予測された動き情報に基づいて、カレントピクチャブロック又はカレントピクチャブロックのサブブロックに対する予測ブロックを取得又は生成する。本明細書における動き情報は、参照ピクチャ情報及び動きベクトルを含むことができる。参照ピクチャ情報は、これらに限られないが一方向/双方向予測情報、参照ピクチャリスト番号、及び参照ピクチャリストに対応する参照ピクチャインデックスを含んでもよい。インター予測では、予測ブロックは、複数の参照ピクチャリストのうち1つの中の複数の参照ピクチャのうち1つから生成されてもよい。ビデオデコーダ200は、DPB207に記憶された参照ピクチャに基づいて、参照ピクチャリスト、すなわちリスト0及びリスト1を構築することができる。カレントピクチャの参照フレームインデックスは、参照フレームリスト0及び参照フレームリスト1のうち一方又は双方に含まれてもよい。いくつかの例において、ビデオエンコーダ100は、新しいインター予測モードを使用することにより特定のブロックの特定の構文要素をデコードするかどうかを示すためにシグナリングすることができ、あるいは、新しいインター予測モードを使用するかどうかを示し、特定のブロックの特定の構文要素をデコードするためにどの新しいインター予測モードが具体的に使用されるかを示すためにシグナリングすることができる。本明細書におけるインター予測ユニット210は、動き補償処理を実行することを理解されたい。以下では、様々な新しいインター予測モードにおいて、参照ブロックの動き情報を使用することによりカレントピクチャブロックの動き情報又はカレントピクチャブロックのサブブロックの動き情報を予測するインター予測処理について詳細に説明する。
【0344】
逆量子化ユニット204は、ビットストリームにおいて提供されエントロピーデコーディングユニット203によりデコードされた量子化変換係数に対する逆量子化を実行し、換言すれば、量子化解除する(dequantizes)。逆量子化処理は、ビデオスライス内の各ピクチャブロックについてビデオエンコーダ100により計算された量子化パラメータを使用することにより、適用すべき量子化度を決定し、適用すべき逆量子化度を同様に決定することを含んでもよい。逆変換ユニット205は、逆変換、例えば、逆DCT、逆整数変換、又は概念的に類似した逆変換処理を変換係数に適用して、ピクセルドメインにおける残差ブロックを生成する。
【0345】
インター予測ユニット210が、カレントピクチャブロック又はカレントピクチャブロックのサブブロックに使用される予測ブロックを生成した後、ビデオデコーダ200は、逆変換ユニット205からの残差ブロックと、インター予測ユニット210により生成された対応する予測ブロックとを合計して、再構成されたブロック、すなわちデコードされたピクチャブロックを取得する。合計ユニット211は、合計演算を実行するコンポーネントを表す。必要なとき、(デコーディングループの中又は後に)ループフィルタユニットがさらに使用されてピクセルを平滑化してもよく、あるいは別の方法でビデオ品質を向上させてもよい。フィルタユニット206は、1つ以上のループフィルタユニット、例えば、デブロッキングフィルタユニット、適応ループフィルタ(ALF)ユニット、及びサンプル適応オフセット(SAO)フィルタユニットを表すことができる。フィルタユニット206は、図14ではループ内フィルタユニットとして示されているが、別の実装において、フィルタユニット206は、ループ後フィルタユニットとして実装されてもよい。一例において、フィルタユニット206は、ブロック歪みを低減するためにブロック再構成に適用可能であり、この結果は、デコードされたビデオストリームとして出力される。さらに、所与のフレーム又はピクチャ内のデコードされたピクチャブロックは、デコード済みピクチャバッファ207内にさらに記憶されてもよく、デコード済みピクチャバッファ207は、後の動き補償に使用される参照ピクチャを記憶する。デコード済みピクチャバッファ207は、記憶ユニットの一部でもよく、ディスプレイ装置における後の提示のために、デコードされたビデオをさらに記憶してもよく、あるいはそのような記憶ユニットから分離されてもよい。
【0346】
エンコードされたビデオビットストリームをデコードするために、ビデオデコーダ200の別の構造的変形が使用されてもよいことを理解されたい。例えば、ビデオデコーダ200は、フィルタユニット206による処理なしに出力ビデオストリームを生成してもよい。あるいは、いくつかのピクチャブロック又はピクチャフレームでは、ビデオデコーダ200のエントロピーデコーディングユニット203は、デコードを通じて量子化係数を取得しない。対応して、逆量子化ユニット204及び逆変換ユニット205による処理は必要とされない。ループフィルタユニットは任意である。さらに、ロスレス圧縮では、逆量子化ユニット204及び逆変換ユニット205は任意である。異なる適用シナリオにおいて、インター予測ユニット及びイントラ予測ユニットは選択的に有効にされてもよいことを理解されたい。本解決策では、インター予測ユニットは有効にされている。
【0347】
図14に示すビデオデコーダは、本出願の実施形態におけるインター予測方法を実行できることを理解されたい。具体的には、図14に示すビデオデコーダ内のインター予測ユニット210は、本出願の実施形態におけるインター予測方法を実行することができる。
【0348】
さらに、図12に示すインター予測装置800は、図14に示すビデオデコーダにおけるインター予測ユニット210と同等である。
【0349】
図15は、本出願の一実施形態による、エンコーディングデバイス又はデコーディングデバイス(簡潔に符号化デバイス1000と呼ばれる)の一実装の概略ブロック図である。符号化デバイス1000は、プロセッサ1010、メモリ1030、及びバスシステム1050を含んでもよい。プロセッサとメモリは、バスシステムを通じて接続される。メモリは、命令を記憶するように構成される。プロセッサは、メモリに記憶された命令を実行するように構成される。符号化デバイスのメモリは、プログラムコードを記憶する。プロセッサは、メモリに記憶されたプログラムコードを呼び出して、本出願に記載される様々なビデオエンコーディング又はデコーディング方法、特に、様々な新しいインター予測モードにおけるビデオエンコーディング又はデコーディング方法、及び新しいインター予測モードにおける動き情報予測方法を実行することができる。繰り返しを避けるために、詳細はここで再度説明されない。
【0350】
本出願のこの実施形態において、プロセッサ1010は、中央処理装置(central processing unit、CPU)でもよい。あるいは、プロセッサ1010は、別の汎用プロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、又は別のプログラマブル論理デバイス、個別ゲート又はトランジスタ論理デバイス、個別ハードウェアコンポーネントなどでもよい。汎用プロセッサはマイクロプロセッサでもよく、あるいは、プロセッサは任意の従来のプロセッサ等でもよい。
【0351】
メモリ1030は、読取専用メモリ(read-only memory、ROM)デバイス又はランダムアクセスメモリ(random access memory、RAM)デバイスを含んでもよい。あるいは、メモリ1030として、適切なタイプの任意の他の記憶デバイスが使用されてもよい。メモリ1030は、バスシステム1050を通じてプロセッサ1010によりアクセスされるコード及びデータ1031を含んでもよい。メモリ1030は、オペレーティングシステム1033及びアプリケーションプログラム1035をさらに含んでもよい。アプリケーションプログラム1035は、プロセッサ1010が本出願に記載されるビデオエンコーディング又はデコーディング方法(特に、本出願に記載されるエンコーディング方法又はデコーディング方法)を実行することを可能にする少なくとも1つのプログラムを含む。例えば、アプリケーションプログラム1035は、アプリケーション1~Nを含み、本出願に記載されるビデオエンコーディング又はデコーディング方法を実行するビデオエンコーディング又はデコーディングアプリケーション(簡潔にビデオ符号化アプリケーションと呼ばれる)をさらに含んでもよい。
【0352】
バスシステム1050は、データバスに追加で、電力バス、制御バス、ステータス信号バスなどをさらに含んでもよい。しかしながら、明確な説明のため、図中の様々なタイプのバスがバスシステム1050として示されている。
【0353】
任意で、符号化デバイス1000は、1つ以上の出力デバイス、例えば、ディスプレイ1070をさらに含んでもよい。一例において、ディスプレイ1070は、操作的にタッチ入力を検知することができるタッチユニットとディスプレイを統合するタッチディスプレイでもよい。ディスプレイ1070は、バスシステム1050を通じてプロセッサ1010に接続されてもよい。
【0354】
図16は、一例示的な実施形態による、図13のエンコーダ100及び/又は図14のデコーダ200を含むビデオ符号化システム1100の一例の説明図である。システム1100は、本出願の様々な技術の組み合わせを実装してもよい。説明される一実装において、ビデオ符号化システム1100は、撮像デバイス1101、ビデオエンコーダ100、ビデオデコーダ200(及び/又は、処理ユニット1106の論理回路1107を使用することにより実装されるビデオエンコーダ)、アンテナ1102、1つ以上のプロセッサ1103、1つ以上のメモリ1104、及び/又は表示デバイス1105を含んでもよい。
【0355】
図に示すように、撮像デバイス1101、アンテナ1102、処理ユニット1106、論理回路1107、ビデオエンコーダ100、ビデオデコーダ200、プロセッサ1103、メモリ1104、及び/又は表示デバイス1105は、互いに通信することができる。説明されるように、ビデオ符号化システム1100は、ビデオエンコーダ100及びビデオデコーダ200を使用することにより示されるが、別の異なる例において、ビデオ符号化システム1100は、ビデオエンコーダ100のみ、又はビデオデコーダ200のみを含んでもよい。
【0356】
いくつかの例において、図に示すように、ビデオ符号化システム1100は、アンテナ1102を含んでもよい。例えば、アンテナ1102は、ビデオデータのエンコードされたビットストリームを送信又は受信するように構成されてもよい。さらに、いくつかの例において、ビデオ符号化システム1100は、表示デバイス1105を含んでもよい。表示デバイス1105は、ビデオデータを提示するように構成されてもよい。いくつかの例において、図に示すように、論理回路1107は、処理ユニット1106により実装されてもよい。処理ユニット1106は、特定用途向け集積回路(application-specific integrated circuit、ASIC)論理、グラフィックスプロセッサ、汎用プロセッサなどを含んでもよい。ビデオ符号化システム1100は、任意のプロセッサ1103をさらに含んでもよい。任意のプロセッサ1103は、同様に、特定用途向け集積回路(application-specific integrated circuit、ASIC)論理、グラフィックスプロセッサ、汎用プロセッサなどを含んでもよい。いくつかの例において、論理回路1107は、ハードウェア、例えば、ビデオ符号化のための専用ハードウェアを使用することにより実装されてもよい。プロセッサ1103は、汎用ソフトウェア、オペレーティングシステムなどを使用することにより実装されてもよい。さらに、メモリ1104は、任意のタイプのメモリ、例えば、揮発性メモリ(例えば、スタティックランダムアクセスメモリ(static random access memory、SRAM)又はダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM))、又は不揮発性メモリ(例えば、フラッシュメモリ)でもよい。非限定的な例において、メモリ1104は、キャッシュメモリとして実装されてもよい。いくつかの例において、論理回路1107は、(例えば、ピクチャバッファを実装するための)メモリ1104にアクセスしてもよい。他の例において、論理回路1107及び/又は処理ユニット1106は、ピクチャバッファを実装するためのメモリ(例えば、キャッシュ)を含んでもよい。
【0357】
いくつかの例では、論理回路を使用することにより実装されるビデオエンコーダ100は、ピクチャバッファ(例えば、処理ユニット1106又はメモリ1104により実現される)及びグラフィックス処理ユニット(例えば、処理ユニット1106により実現される)を含んでもよい。グラフィックス処理ユニットは、ピクチャバッファに通信上結合されてもよい。グラフィックス処理ユニットは、図13を参照して説明された様々なモジュール及び/又は本明細書に記載される任意の他のエンコーダシステム若しくはサブシステムを実装するために、論理回路1107を使用することにより実装されたビデオエンコーダ100を含んでもよい。論理回路は、本明細書に記載される様々な動作を実行するように構成されてもよい。
【0358】
ビデオデコーダ200は、図14のデコーダ200を参照して説明した様々なモジュール、及び/又は本明細書に記載される任意の他のデコーダシステム若しくはサブシステムを実装するために、論理回路1107により同様の方法で実装されてもよい。いくつかの例において、論理回路を使用することにより実装されるビデオデコーダ200は、ピクチャバッファ(処理ユニット1106又はメモリ1104により実現される)及びグラフィックス処理ユニット(例えば、処理ユニット1106により実現される)を含んでもよい。グラフィックス処理ユニットは、ピクチャバッファに通信上結合されてもよい。グラフィックス処理ユニットは、図14を参照して説明した様々なモジュール、及び/又は本明細書に記載される任意の他のデコーダシステム若しくはサブシステムを実装するために、論理回路1107を使用することにより実装されたビデオデコーダ200を含んでもよい。
【0359】
いくつかの例において、ビデオ符号化システム1100のアンテナ1102は、ビデオデータのエンコードされたビットストリームを受信するように構成されてもよい。説明されるように、エンコードされたビットストリームは、ビデオフレームエンコーディングに関連し且つ本明細書に記載されるデータ、インジケータ、インデックス値、モード選択データ等、例えば、符号化分割に関連するデータ(例えば、変換係数又は量子化変換係数、任意のインジケータ(記載されているような)、及び/又は符号化分割を定義するデータ)を含んでもよい。ビデオ符号化システム1100は、アンテナ1102に結合され、且つエンコードされたビットストリームをデコードするように構成されたビデオデコーダ200をさらに含んでもよい。表示デバイス1105は、ビデオフレームを提示するように構成される。
【0360】
本出願の手順において、ステップの記述シーケンスは、ステップの実行シーケンスを厳密には表すものではない。これらのステップは、上述の記述シーケンスに従って実行されてもよく、あるいはそうでなくてもよい。例えば、ステップ701はステップ702の後に実行されてもよく、あるいはステップ702の前に実行されてもよい。他のステップは本明細書で1つずつ説明されない。
【0361】
図17及び図18を参照して、本出願の実施形態におけるインター予測方法の一適用シナリオが以下で説明される。本出願の実施形態におけるインター予測方法は、図17及び図18に示すビデオ伝送システム、符号化装置、及び符号化システムにより実行されてもよい。
【0362】
図17は、本出願の一実施形態によるビデオ伝送システムの概略ブロック図である。
【0363】
図17に示すように、ビデオ伝送システムは、捕捉モジュール3001、エンコーディングモジュール3002、送信モジュール3003、ネットワーク伝送モジュール3004、受信モジュール3005、デコーディングモジュール3006、及びレンダリングモジュール3007を含む。
【0364】
ビデオ伝送システムのモジュールは、以下の具体的な機能を有する。
【0365】
捕捉モジュール3001は、カメラ又はカメラ群を含み、ビデオピクチャを捕捉し、エンコードする前に捕捉されたビデオピクチャに対する処理を実行して、光信号をデジタル化されたビデオシーケンスにコンバートするように構成される。
【0366】
エンコーディングモジュール3002は、ビデオシーケンスをエンコードしてビットストリームを取得するように構成される。
【0367】
送信モジュール3003は、エンコードされたビットストリームを送信するように構成される。
【0368】
受信モジュール3005は、送信モジュール3003により送信されたビットストリームを受信するように構成される。
【0369】
ネットワーク伝送モジュール3004は、送信モジュール3003により送信されたビットストリームを受信モジュール3005に伝送するように構成される。
【0370】
デコーディングモジュール3006は、受信モジュール3005により受信されたビットストリームをデコードしてビデオシーケンスを再構成するように構成される。
【0371】
レンダリングモジュール3007は、デコーディングモジュール3006によりデコーディングを通じて取得された再構成ビデオシーケンスをレンダリングして、ビデオの表示効果を向上させるように構成される。
【0372】
図17に示すビデオ伝送システムは、本出願の実施形態におけるインター予測方法を実行することができる。具体的には、図17に示すビデオ伝送システムにおけるエンコーディングモジュール3001及びデコーディングモジュール3006の双方が、本出願の実施形態におけるインター予測方法を実行することができる。
【0373】
以下では、図18を参照して、符号化装置及び符号化システムを含む符号化システムについて詳細に説明する。図18に示す符号化装置及び符号化システムは、本出願の実施形態におけるインター予測方法を実行できることを理解されたい。
【0374】
図18は、本出願の一実施形態によるビデオ符号化システム7000の概略ブロック図である。
【0375】
図18に示すように、ビデオ符号化システム7000は、ソース装置4000及び宛先装置5000を含む。ソース装置4000は、エンコードされたビデオデータを生成する。ソース装置4000は、ビデオエンコーディング装置又はビデオエンコーディングデバイスと呼ばれることもある。宛先装置5000は、ソース装置4000により生成された、エンコードされたビデオデータをデコードすることができる。宛先装置5000は、ビデオデコーディング装置又はビデオデコーディングデバイスと呼ばれることもある。
【0376】
ソース装置4000及び宛先装置5000の具体的な実装は、以下のデバイス、すなわち、デスクトップコンピュータ、モバイルコンピューティング装置、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、スマートフォン、ハンドセット、テレビジョン、カメラ、ディスプレイ装置、デジタルメディアプレーヤ、ビデオゲームコンソール、車載コンピュータ、又は他の類似のデバイスのうちいずれか1つでもよい。
【0377】
宛先装置5000は、チャネル6000を通じて、ソース装置4000からエンコードされたビデオデータを受信することができる。チャネル6000は、エンコードされたビデオデータをソース装置4000から宛先装置5000へ移動させることができる1つ以上の媒体及び/又は装置を含んでもよい。一例において、チャネル6000は、ソース装置4000がエンコードされたビデオデータを宛先装置5000にリアルタイムで直接伝送することを可能にすることができる1つ以上の通信媒体を含んでもよい。この例において、ソース装置4000は、エンコードされたビデオデータを通信標準(例えば、無線通信プロトコル)に従って変調してもよく、変調されたビデオデータを宛先装置5000に伝送してもよい。1つ以上の通信媒体は、無線及び/又は有線通信媒体、例えば、無線周波数(radio frequency、RF)スペクトル又は1つ以上の物理的伝送路を含んでもよい。1つ以上の通信媒体は、パケットベースのネットワーク(例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、又はグローバルネットワーク(例えば、インターネット))の一部を形成してもよい。1つ以上の通信媒体は、ソース装置4000と宛先装置5000との間の通信を実現するルータ、スイッチ、基地局、又は他の装置を含んでもよい。
【0378】
別の例において、チャネル6000は、ソース装置4000により生成されたエンコードされたビデオデータを記憶する記憶媒体を含んでもよい。この例では、宛先装置5000は、ディスクアクセス又はカードアクセスを通じて記憶媒体にアクセスすることができる。記憶媒体は、ブルーレイ、高密度デジタルビデオディスク(digital video disc、DVD)、コンパクトディスク読取専用メモリ(compact disc read-only memory、CD-ROM)、若しくはフラッシュメモリなどの複数のローカルにアクセス可能なデータ記憶媒体、又はエンコードされたビデオデータを記憶するように構成された他の適切なデジタル記憶媒体を含んでもよい。
【0379】
別の例において、チャネル6000は、ソース装置4000により生成されたエンコードされたビデオデータを記憶するファイルサーバ又は他の中間記憶装置を含んでもよい。この例では、宛先装置5000は、ストリーミング伝送又はダウンロードを通じて、ファイルサーバ又は他の中間記憶装置に記憶されたエンコードされたビデオデータにアクセスすることができる。ファイルサーバは、エンコードされたビデオデータを記憶し、エンコードされたビデオデータを宛先装置5000に伝送することができるサーバタイプのものでもよい。例えば、ファイルサーバは、ワールドワイドウェブ(world wide web、Web)サーバ、ファイル転送プロトコル(file transfer protocol、FTP)サーバ、ネットワーク接続ストレージ(network attached storage、NAS)装置、及びローカルディスクドライブを含んでもよい。
【0380】
宛先装置5000は、標準データ接続(例えば、インターネット接続)を通じて、エンコードされたビデオデータにアクセスすることができる。データ接続の例示的なタイプには、ファイルサーバに記憶されたエンコードされたビデオデータにアクセスするために使用することができる無線チャネル若しくは有線接続(例えば、ケーブルモデム)、又はこれらの組み合わせを含む。ファイルサーバからのエンコードされたビデオデータの伝送は、ストリーミング伝送、ダウンロード伝送、又はこれらの組み合わせでもよい。
【0381】
本出願におけるインター予測方法は、無線アプリケーションシナリオに限定されない。例えば、本出願におけるインター予測方法は、以下のアプリケーション、すなわち、無線(over-the-air)テレビジョン放送、ケーブルテレビジョン伝送、衛星テレビジョン伝送、ストリーミング伝送ビデオ伝送(例えば、インターネットを介して)、データ記憶媒体に記憶されたビデオデータのエンコーディング、データ記憶媒体に記憶されたビデオデータのデコーディング、又は他のアプリケーションなどの複数のマルチメディアアプリケーションをサポートするビデオ符号化に適用されてもよい。いくつかの例において、ビデオエンコーディング及びデコーディングシステム7000は、ビデオストリーミング伝送、ビデオ再生、ビデオブロードキャスト、及び/又はビデオ電話などのアプリケーションをサポートするために、一方向又は双方向ビデオ伝送をサポートするように構成されてもよい。
【0382】
図18において、ソース装置4000は、ビデオソース4001、ビデオエンコーダ100、及び出力インターフェース4003を含む。いくつかの例において、出力インターフェース4003は、変調器/復調器(モデム)及び/又は送信器を含んでもよい。ビデオソース4001は、ビデオ捕捉装置(例えば、ビデオカメラ)、予め捕捉されたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するように構成されたビデオ入力インターフェース、及び/又はビデオデータを生成するように構成されたコンピュータグラフィックスシステム、又は上述のビデオデータソースの組み合わせを含んでもよい。
【0383】
ビデオエンコーダ100は、ビデオソース4001からのビデオデータをエンコードすることができる。いくつかの例において、ソース装置4000は、出力インターフェース4003を通じて、エンコードされたビデオデータを宛先装置5000に直接送信する。エンコードされたビデオデータは、記憶媒体又はファイルサーバにさらに記憶されてもよく、それにより、宛先装置5000は、エンコードされたビデオデータに、後で、デコード及び/又は再生するためにアクセスする。
【0384】
図18の例において、宛先装置5000は、入力インターフェース5003、ビデオデコーダ200、及び表示装置5001を含む。いくつかの例では、入力インターフェース5003は、受信器及び/又はモデムを含む。入力インターフェース5003は、チャネル6000を通じて、エンコードされたビデオデータを受信することができる。表示装置5001は、宛先装置5000と統合されてもよく、あるいは宛先装置5000の外側にあってもよい。通常、表示装置5001は、デコードされたビデオデータを表示する。表示装置5001は、液晶ディスプレイ、プラズマディスプレイ、有機発光ダイオードディスプレイ、又は他のタイプの表示装置などの複数のタイプの表示装置を含んでもよい。
【0385】
ビデオエンコーダ100及びビデオデコーダ200は、ビデオ圧縮標準(例えば、高効率ビデオ符号化H.265標準)に従って動作してもよく、高効率ビデオ符号化(high efficiency video coding、HEVC)テストモデル(HM)に準拠してもよい。H.265標準のテキスト記述ITU-TH.265(V3)(04/2015)が2015年4月29日にリリースされており、http://handle.itu.int/11.1002/7000/12455からダウンロードすることができる。このファイルは、参照によりその全体を本明細書に組み込まれる。
【0386】
当業者は、本出願で開示される実施形態を参照して説明された例におけるユニット、アルゴリズム、及びステップを電子ハードウェア又はコンピュータソフトウェアと電子ハードウェアの組み合わせにより実施できることを認識するであろう。機能がハードウェアにより実行されるか又はソフトウェアにより実行されるかは、技術的解決策の特定の適用及び設計制約条件に依存する。当業者は、特定の適用ごとに記載された機能を実現するために異なる方法を用い得るが、その実現は、本出願の範囲を超えるものとみなされるべきでない。
【0387】
簡便及び簡潔な説明を目的として、上述のシステム、装置、及びユニットの詳細な作業プロセスについては上述の方法の実施形態における対応するプロセスを参照し、詳細はここで再度説明されないことが当業者に明確に理解され得る。
【0388】
本出願で提供されるいくつかの実施形態において、開示されたシステム、装置、及び方法は、別の方式で実施されてもよいことを理解されたい。例えば、記載された装置の実施形態は、単なる例である。例えば、ユニットへの分割は、単なる論理的な機能分割であり、実際の実装では他の分割でもよい。例えば、複数のユニット又はコンポーネントが別のシステムに組み合わせられ又は統合されてもよく、あるいは、いくつかの特徴が無視され、又は実行されなくてもよい。さらに、表示され又は論じられた相互結合又は直接結合又は通信接続は、いくつかのインターフェースを使用することにより実現されてもよい。装置又はユニット間の間接結合又は通信接続は、電子的形態、機械的形態、又は別の形態で実装されてもよい。
【0389】
別個の部分として記載されるユニットは、物理的に別個でも又はそうでなくてもよく、ユニットとして表示される部分は、物理的ユニットでも又はそうでなくてもよく、1つの位置に配置されてもよく、あるいは複数のネットワークユニット上に分散されてもよい。ユニットの一部又は全部は、実施形態の解決策の目的を達成するために実際の要件に基づいて選択されてもよい。
【0390】
さらに、本出願の実施形態における機能ユニットは1つの処理ユニットに統合されてもよく、あるいはユニットの各々は物理的に単独で存在してもよく、あるいは2つ以上のユニットが1つのユニットに統合される。
【0391】
上記機能がソフトウェア機能ユニットの形態で実装され、独立したプロダクトとして販売又は使用されるとき、これらの機能は、コンピュータ読取可能記憶媒体に記憶されてもよい。このような理解に基づいて、本質的に本出願の技術的解決策、又は従来技術に寄与する部分、又は技術的解決策のいくつかは、ソフトウェアプロダクトの形態で実施されてもよい。ソフトウェアプロダクトは、記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ、又はネットワークデバイスでもよい)に本出願の実施形態に記載される方法の全部又は一部のステップを実行するように指示するいくつかの命令を含む。上述の記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、読取専用メモリ(read-only memory、ROM)、ランダムアクセスメモリ(random access memory、RAM)、磁気ディスク、又は光ディスクなどのプログラムコードを記憶できる任意の媒体を含む。
【0392】
上述の説明は本出願の単なる特定の実装であり、本出願の保護範囲を制限することは意図されない。本出願に開示された技術的範囲内で当業者により容易に理解され得る変形又は代替は、本出願の保護範囲に含まれるものとする。したがって、本出願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18