(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024056899
(43)【公開日】2024-04-23
(54)【発明の名称】インター予測の方法および装置、並びに対応するエンコーダおよびデコーダ
(51)【国際特許分類】
H04N 19/56 20140101AFI20240416BHJP
H04N 19/573 20140101ALI20240416BHJP
【FI】
H04N19/56
H04N19/573
【審査請求】有
【請求項の数】2
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024021174
(22)【出願日】2024-02-15
(62)【分割の表示】P 2021538314の分割
【原出願日】2019-12-25
(31)【優先権主張番号】201811645808.X
(32)【優先日】2018-12-29
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】チェン、シュ
(72)【発明者】
【氏名】ゼン、ジアンフア
(57)【要約】 (修正有)
【課題】インター予測の方法及び装置並びに対応するエンコーダ及びデコーダを提供する。
【解決手段】インター予測方法は、現在の画像ブロックの動きベクトル差の長さのインデックス値を取得する段階と、長さのインデックス値に基づいて一組の候補長さ情報から目標長さ情報を決定する段階と、目標長さ情報に基づいて現在の画像ブロックの動きベクトル差を取得する段階と、現在の画像ブロックの動きベクトル差と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル目標値を決定する段階と、現在の画像ブロックの動きベクトル目標値に基づいて現在の画像ブロックの予測ブロックを取得する段階と、を含む。
【選択図】
図7
【特許請求の範囲】
【請求項1】
インター予測の方法であって、前記方法が、
現在の画像ブロックの第1動きベクトル予測因子と、前記現在の画像ブロックの第2動きベクトル予測因子とを取得する段階であって、前記第1動きベクトル予測因子は第1参照フレームに対応し、前記第2動きベクトル予測因子は第2参照フレームに対応する、取得する段階と、
前記現在の画像ブロックの第1動きベクトル差を取得する段階であって、前記現在の画像ブロックの前記第1動きベクトル差は、前記第1動きベクトル予測因子と、前記現在の画像ブロックの第1動きベクトル目標値との差を示すために使用され、前記第1動きベクトル目標値および前記第1動きベクトル予測因子は、同じ参照フレームに対応する、取得する段階と、
前記第1動きベクトル差に基づいて前記現在の画像ブロックの第2動きベクトル差を決定する段階であって、前記現在の画像ブロックの前記第2動きベクトル差は、前記第2動きベクトル予測因子と、前記現在の画像ブロックの第2動きベクトル目標値との差を示すために使用され、前記第2動きベクトル目標値および前記第2動きベクトル予測因子は、同じ参照フレームに対応しており、前記現在の画像ブロックが配置される現在のフレームに対する前記第1参照フレームの方向が、前記現在のフレームに対する前記第2参照フレームの方向と同じである場合に、前記第2動きベクトル差が前記第1動きベクトル差であるか、前記現在の画像ブロックが配置される前記現在のフレームに対する前記第1参照フレームの前記方向が、前記現在のフレームに対する前記第2参照フレームの前記方向と反対である場合に、前記第2動きベクトル差のプラス符号またはマイナス符号が、前記第1動きベクトル差のプラス符号またはマイナス符号と反対であり、前記第2動きベクトル差の絶対値が、前記第1動きベクトル差の絶対値と同じである、決定する段階と、
前記第1動きベクトル差および前記第1動きベクトル予測因子に基づいて、前記現在の画像ブロックの前記第1動きベクトル目標値を決定する段階と、
前記第2動きベクトル差および前記第2動きベクトル予測因子に基づいて、前記現在の画像ブロックの前記第2動きベクトル目標値を決定する段階と、
前記第1動きベクトル目標値および前記第2動きベクトル目標値に基づいて、前記現在の画像ブロックの予測ブロックを取得する段階と
を備える方法。
【請求項2】
取得ユニットと、予測ユニットとを備えるインター予測の装置であって、
前記取得ユニットは、現在の画像ブロックの第1動きベクトル予測因子と、前記現在の画像ブロックの第2動きベクトル予測因子とを取得するように構成され、前記第1動きベクトル予測因子は第1参照フレームに対応し、前記第2動きベクトル予測因子は第2参照フレームに対応し、
前記取得ユニットは更に、前記現在の画像ブロックの第1動きベクトル差を取得することであって、前記現在の画像ブロックの前記第1動きベクトル差は、前記第1動きベクトル予測因子と、前記現在の画像ブロックの第1動きベクトル目標値との差を示すために使用され、前記第1動きベクトル目標値および前記第1動きベクトル予測因子は、同じ参照フレームに対応する、取得することを行うように構成され、
前記予測ユニットは、前記第1動きベクトル差に基づいて前記現在の画像ブロックの第2動きベクトル差を決定することであって、前記現在の画像ブロックの前記第2動きベクトル差は、前記第2動きベクトル予測因子と、前記現在の画像ブロックの第2動きベクトル目標値との差を示すために使用され、前記第2動きベクトル目標値および前記第2動きベクトル予測因子は、同じ参照フレームに対応しており、前記現在の画像ブロックが配置される現在のフレームに対する前記第1参照フレームの方向が、前記現在のフレームに対する前記第2参照フレームの方向と同じである場合に、前記第2動きベクトル差が前記第1動きベクトル差であるか、前記現在の画像ブロックが配置される前記現在のフレームに対する前記第1参照フレームの前記方向が、前記現在のフレームに対する前記第2参照フレームの前記方向と反対である場合に、前記第2動きベクトル差のプラス符号またはマイナス符号が、前記第1動きベクトル差のプラス符号またはマイナス符号と反対であり、前記第2動きベクトル差の絶対値が、前記第1動きベクトル差の絶対値と同じである、決定することと、前記第1動きベクトル差および前記第1動きベクトル予測因子に基づいて、前記現在の画像ブロックの前記第1動きベクトル目標値を決定することと、前記第2動きベクトル差および前記第2動きベクトル予測因子に基づいて、前記現在の画像ブロックの前記第2動きベクトル目標値を決定することと、前記第1動きベクトル目標値および前記第2動きベクトル目標値に基づいて、前記現在の画像ブロックの予測ブロックを取得することとを行うように構成される、
装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオコーディング技術の分野、特に、インター予測の方法および装置、並びに対応するエンコーダおよびデコーダに関する。
【背景技術】
【0002】
デジタルビデオ機能は、デジタルテレビ、デジタルライブ放送システム、無線放送システム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子書籍リーダ、デジタルカメラ、デジタル記録装置、デジタルメディアプレーヤ、ビデオゲーム装置、ビデオゲームコンソール、携帯電話または衛星ラジオ電話(「スマートフォン」とも呼ばれる)、ビデオ会議装置、ビデオストリーミング装置、および同様のものを含む多種多様な装置に組み込まれ得る。デジタルビデオ装置は、ビデオ圧縮技術、例えば、MPEG-2、MPEG-4、ITU-T H.263、およびITU-T H.264/MPEG-4 パート10 高度ビデオコーディング(AVC)、ビデオコーディング規格H.265/高効率ビデオコーディング(HEVC)規格、およびこれらの規格の拡張版を含む規格に記載されているビデオ圧縮技術を実装する。ビデオ装置は、ビデオ圧縮技術を実装することによりデジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または格納することができる。
【0003】
ビデオ圧縮技術は、空間的(イントラ画像)予測および/または時間的(インター画像)予測を実行して、ビデオシーケンスにおける固有の冗長性を低減または除去するために使用される。ブロックベースのビデオコーディングでは、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部)を画像ブロックに区分化することができ、画像ブロックは、ツリーブロック、コーディングユニット(CU)、および/またはコーディングノードと呼ばれることもある。画像のイントラコーディングされる(I)スライス内の画像ブロックは、同じ画像内の近接ブロック内の参照サンプルに基づく空間的な予測によりコーディングされる。画像のインターコーディングされる(PまたはB)スライス内の画像ブロックの場合は、同じ画像内の近接ブロック内の参照サンプルに基づく空間的な予測、または別の参照画像内の参照サンプルに基づく時間的な予測が使用され得る。画像はフレームと呼ばれることがあり、参照画像は参照フレームと呼ばれることがある。
【発明の概要】
【0004】
本願の実施形態は、コーディングプロセスにおける冗長性をある程度まで低減し、且つ、コーディング効率を向上させるための、インター予測の方法および装置、並びに対応するエンコーダおよびデコーダを提供する。
【0005】
第1態様によれば、本願のある実施形態はインター予測方法を提供する。方法は、現在の画像ブロックの動きベクトル予測因子を取得する段階と、現在の画像ブロックの動きベクトル差の長さのインデックス値を取得する段階であって、現在の画像ブロックの動きベクトル差は、動きベクトル予測因子と、現在の画像ブロックの動きベクトル目標値との差を示すために使用される、取得する段階と、長さのインデックス値に基づいて一組の候補長さ情報から目標長さ情報を決定する段階であって、一組の候補長さ情報は、N個の動きベクトル差のみの候補長さ情報を含み、Nは1より大きく8より小さい正整数である、決定する段階と、目標長さ情報に基づいて現在の画像ブロックの動きベクトル差を取得する段階と、現在の画像ブロックの動きベクトル差と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル目標値を決定する段階と、現在の画像ブロックの動きベクトル目標値に基づいて現在の画像ブロックの予測ブロックを取得する段階とを含む。
【0006】
一組の候補長さ情報は予め設定されてよい。
【0007】
第1態様に関連して、第1態様の第1の考えられる実装では、方法は更に、現在の画像ブロックの動きベクトル差の方向のインデックス値を取得する段階と、方向のインデックス値に基づいてM個の動きベクトル差の候補方向情報から目標方向情報を決定する段階であって、Mは1より大きい正整数である、決定する段階とを含み、目標長さ情報に基づいて現在の画像ブロックの動きベクトル差を取得する段階は、目標方向情報および目標長さ情報に基づいて現在の画像ブロックの動きベクトル差を決定する段階を含む。
【0008】
第1態様または第1態様の第1の考えられる実装に関連して、第1態様の第2の考えられる実装では、Nは4である。
【0009】
第1態様の第2の考えられる実装に関連して、第1態様の第3の考えられる実装では、N個の動きベクトル差の候補長さ情報は、長さのインデックス値が第1の予め設定された値である場合に、目標長さ情報で示される長さがピクセル長の1/4であること、長さのインデックス値が第2の予め設定された値である場合に、目標長さ情報で示される長さがピクセル長の半分であること、長さのインデックス値が第3の予め設定された値である場合に、目標長さ情報で示される長さが1ピクセル長であること、または、長さのインデックス値が第4の予め設定された値である場合に、目標長さ情報で示される長さが2ピクセル長であることのうちの少なくとも1つを含む。第1態様または第1態様の前述の考えられる実装のいずれか1つに関連して、第1態様の第4の考えられる実装では、現在の画像ブロックの動きベクトル予測因子を取得する段階は、現在の画像ブロックの候補動き情報リストを構築する段階であって、候補動き情報リストはL個の動きベクトルを含み、Lは、1、3、4、または5である、構築する段階と、候補動き情報リスト内の現在の画像ブロックの動き情報の予測情報のインデックス値を取得する段階であって、現在の画像ブロックの動き情報の予測情報は、動きベクトル予測因子を含む、取得する段階と、候補動き情報リストと、候補動き情報リスト内の現在の画像ブロックの動き情報のインデックス値とに基づいて、動きベクトル予測因子を取得する段階とを含む。
【0010】
第2態様によれば、本願のある実施形態は、インター予測方法を提供する。方法は、現在の画像ブロックの動きベクトル予測因子を取得する段階と、現在の画像ブロックの動きベクトル予測因子で示される位置の領域で動き検索を実行して、現在の画像ブロックの動きベクトル目標値を取得する段階と、現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差の長さのインデックス値を取得する段階であって、現在の画像ブロックの動きベクトル差は、現在の画像ブロックの動きベクトル予測因子と動きベクトル目標値との差を示すために使用され、現在の画像ブロックの動きベクトル差の長さのインデックス値は、予め設定された一組の候補長さ情報内の1つの候補長さ情報を示すために使用され、一組の候補長さ情報は、N個の動きベクトル差のみの候補長さ情報を含み、Nは1より大きく8より小さい正整数である、取得する段階とを含む。
【0011】
第2態様に関連して、第2態様の第1の考えられる実装では、現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差の長さのインデックス値を取得する段階は、現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差を取得する段階と、現在の画像ブロックの動きベクトル差に基づいて、現在の画像ブロックの動きベクトル差の長さのインデックス値と、現在の画像ブロックの動きベクトル差の方向のインデックス値とを決定する段階とを含む。
【0012】
第2態様または第2態様の第1の考えられる実装に関連して、第2態様の第2の考えられる実装では、Nは4である。
【0013】
第3態様によれば、本願のある実施形態は、インター予測方法を提供する。方法は、現在の画像ブロックの動きベクトル予測因子を取得する段階と、現在の画像ブロックの動きベクトル差の方向のインデックス値を取得する段階であって、現在の画像ブロックの動きベクトル差は、動きベクトル予測因子と、現在の画像ブロックの動きベクトル目標値との差を示すために使用される、取得する段階と、方向のインデックス値に基づいて一組の候補方向情報から目標方向情報を決定する段階であって、一組の候補方向情報は、M個の動きベクトル差の候補方向情報を含み、Mは4より大きい正整数である、決定する段階と、目標方向情報に基づいて現在の画像ブロックの動きベクトル差を取得する段階と、現在のブロックの動きベクトル差と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル目標値を決定する段階と、現在の画像ブロックの動きベクトル目標値に基づいて現在の画像ブロックの予測ブロックを取得する段階とを含む。
【0014】
第3態様に関連して、第3態様の第1の考えられる実装では、方法は、現在の画像ブロックの動きベクトル差の長さのインデックス値を取得する段階と、長さのインデックス値に基づいてN個の動きベクトル差の候補長さ情報から目標長さ情報を決定する段階であって、Nは1より大きい正整数である、決定する段階とを更に含み、目標方向情報に基づいて現在の画像ブロックの動きベクトル差を取得する段階は、目標方向情報および目標長さ情報に基づいて現在の画像ブロックの動きベクトル差を決定する段階を含む。
【0015】
第3態様または第3態様の第1の考えられる実装に関連して、第3態様の第2の考えられる実装では、Mは8である。
【0016】
第3態様の第2の考えられる実装に関連して、第3態様の第3の考えられる実装では、M個の動きベクトル差の候補方向情報は、方向のインデックス値が第1の予め設定された値である場合に、目標方向情報で示される方向がちょうど右であること、方向のインデックス値が第2の予め設定された値である場合に、目標方向情報で示される方向がちょうど左であること、方向のインデックス値が第3の予め設定された値である場合に、目標方向情報で示される方向がちょうど下であること、方向のインデックス値が第4の予め設定された値である場合に、目標方向情報で示される方向がちょうど上であること、方向のインデックス値が第5の予め設定された値である場合に、目標方向情報で示される方向が右下であること、方向のインデックス値が第6の予め設定された値である場合に、目標方向情報で示される方向が右上であること、方向のインデックス値が第7の予め設定された値である場合に、目標方向情報で示される方向が左下であること、または、方向のインデックス値が第8の予め設定された値である場合に、目標方向情報で示される方向が左上であることのうちの少なくとも1つを含む。
【0017】
第3態様または第3態様の前述の考えられる実装のいずれか1つに関連して、第3態様の第4の考えられる実装では、現在の画像ブロックの動きベクトル予測因子を取得する段階は、現在の画像ブロックの候補動き情報リストを構築する段階であって、候補動き情報リストはL個の動きベクトルを含み、Lは、1、3、4、または5である、構築する段階と、候補動き情報リスト内の現在の画像ブロックの動き情報の予測情報のインデックス値を取得する段階であって、現在の画像ブロックの動き情報の予測情報は、動きベクトル予測因子を含む、取得する段階と、候補動き情報リストと、候補動き情報リスト内の現在の画像ブロックの動き情報のインデックス値とに基づいて、動きベクトル予測因子を取得する段階とを含む。
【0018】
第4態様によれば、本願のある実施形態は、インター予測方法を提供する。方法は、現在の画像ブロックの動きベクトル予測因子を取得する段階と、現在の画像ブロックの動きベクトル予測因子で示される位置の領域で動き検索を実行して、現在の画像ブロックの動きベクトル目標値を取得する段階と、現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差の方向のインデックス値を取得する段階であって、現在の画像ブロックの動きベクトル差は、現在の画像ブロックの動きベクトル予測因子と動きベクトル目標値との差を示すために使用され、現在の画像ブロックの動きベクトル差の方向のインデックス値は、予め設定された一組の候補方向情報内の1つの候補方向情報を示すために使用され、一組の候補長さ情報は、M個の動きベクトル差の候補方向情報を含み、Mは4より大きい正整数である、取得する段階とを含む。
【0019】
第4態様に関連して、第4態様の第1の考えられる実装では、現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差の方向のインデックス値を取得する段階は、現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差を取得する段階と、現在の画像ブロックの動きベクトル差に基づいて、現在の画像ブロックの動きベクトル差の長さのインデックス値と、現在の画像ブロックの動きベクトル差の方向のインデックス値とを決定する段階とを含む。
【0020】
第4態様または第4態様の第1の考えられる実装に関連して、第4態様の第2の考えられる実装では、Mは8である。
【0021】
第5態様によれば、本願のある実施形態は、インター予測方法を提供する。方法は、現在の画像ブロックの第1動きベクトル予測因子と、現在の画像ブロックの第2動きベクトル予測因子とを取得する段階であって、第1動きベクトル予測因子は第1参照フレームに対応し、第2動きベクトル予測因子は第2参照フレームに対応する、取得する段階と、現在の画像ブロックの第1動きベクトル差を取得する段階であって、現在の画像ブロックの第1動きベクトル差は、第1動きベクトル予測因子と、現在の画像ブロックの第1動きベクトル目標値との差を示すために使用され、第1動きベクトル目標値および第1動きベクトル予測因子は、同じ参照フレームに対応する、取得する段階と、第1動きベクトル差に基づいて現在の画像ブロックの第2動きベクトル差を決定する段階であって、現在の画像ブロックの第2動きベクトル差は、第2動きベクトル予測因子と、現在の画像ブロックの第2動きベクトル目標値との差を示すために使用され、第2動きベクトル目標値および第2動きベクトル予測因子は、同じ参照フレームに対応しており、現在の画像ブロックが配置される現在のフレームに対する第1参照フレームの方向が、現在のフレームに対する第2参照フレームの方向と同じである場合に、第2動きベクトル差が第1動きベクトル差であるか、現在の画像ブロックが配置される現在のフレームに対する第1参照フレームの方向が、現在のフレームに対する第2参照フレームの方向と反対である場合に、第2動きベクトル差のプラス符号またはマイナス符号が、第1動きベクトル差のプラス符号またはマイナス符号と反対であり、第2動きベクトル差の絶対値が、第1動きベクトル差の絶対値と同じである、決定する段階と、第1動きベクトル差および第1動きベクトル予測因子に基づいて、現在の画像ブロックの第1動きベクトル目標値を決定する段階と、第2動きベクトル差および第2動きベクトル予測因子に基づいて、現在の画像ブロックの第2動きベクトル目標値を決定する段階と、第1動きベクトル目標値および第2動きベクトル目標値に基づいて、現在の画像ブロックの予測ブロックを取得する段階とを含む。
【0022】
第6態様によれば、本願のある実施形態は、インター予測装置を提供する。装置は、現在の画像ブロックの動きベクトル予測因子を取得するように構成される予測ユニットと、現在の画像ブロックの動きベクトル差の長さのインデックス値を取得するように構成される取得ユニットであって、現在の画像ブロックの動きベクトル差は、動きベクトル予測因子と、現在の画像ブロックの動きベクトル目標値との差を示すために使用される、取得ユニットとを含み、予測ユニットは更に、長さのインデックス値に基づいて一組の候補長さ情報から目標長さ情報を決定することであって、一組の候補長さ情報は、N個の動きベクトル差のみの候補長さ情報を含み、Nは1より大きく8より小さい正整数である、決定することと、目標長さ情報に基づいて現在の画像ブロックの動きベクトル差を取得することと、現在の画像ブロックの動きベクトル差と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル目標値を決定することと、現在の画像ブロックの動きベクトル目標値に基づいて現在の画像ブロックの予測ブロックを取得することとを行うように構成される。
【0023】
第6態様に関連して、第6態様の第1の考えられる実装では、取得ユニットは更に、現在の画像ブロックの動きベクトル差の方向のインデックス値を取得するように構成され、予測ユニットは更に、方向のインデックス値に基づいてM個の動きベクトル差の候補方向情報から目標方向情報を決定することであって、Mは1より大きい正整数である、決定することを行うように構成され、予測ユニットは、目標方向情報および目標長さ情報に基づいて現在の画像ブロックの動きベクトル差を決定するように構成される。
【0024】
第6態様または第6態様の第1の考えられる実装に関連して、第6態様の第2の考えられる実装では、Nは4である。
【0025】
第6態様の第2の考えられる実装に関連して、第6態様の第3の考えられる実装では、N個の動きベクトル差の候補長さ情報は、長さのインデックス値が第1の予め設定された値である場合に、目標長さ情報で示される長さがピクセル長の1/4であること、長さのインデックス値が第2の予め設定された値である場合に、目標長さ情報で示される長さがピクセル長の半分であること、長さのインデックス値が第3の予め設定された値である場合に、目標長さ情報で示される長さが1ピクセル長であること、または、長さのインデックス値が第4の予め設定された値である場合に、目標長さ情報で示される長さが2ピクセル長であることのうちの少なくとも1つを含む。
【0026】
第6態様または第6態様の前述の考えられる実装のいずれか1つに関連して、第6態様の第4の考えられる実装では、予測ユニットは、現在の画像ブロックの候補動き情報リストを構築することであって、候補動き情報リストはL個の動きベクトルを含んでよく、Lは、1、3、4、または5である、構築することと、候補動き情報リスト内の現在の画像ブロックの動き情報の予測情報のインデックス値を取得することであって、現在の画像ブロックの動き情報の予測情報は、動きベクトル予測因子を含む、取得することと、候補動き情報リストと、候補動き情報リスト内の現在の画像ブロックの動き情報のインデックス値とに基づいて、動きベクトル予測因子を取得することとを行うように構成される。
【0027】
第7態様によれば、本願のある実施形態は、インター予測装置を提供する。装置は、現在の画像ブロックの動きベクトル予測因子を取得するように構成される取得ユニットと、現在の画像ブロックの動きベクトル予測因子で示される位置の領域で動き検索を実行して、現在の画像ブロックの動きベクトル目標値を取得するように構成される予測ユニットとを含み、予測ユニットは更に、現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差の長さのインデックス値を取得することであって、現在の画像ブロックの動きベクトル差は、現在の画像ブロックの動きベクトル予測因子と動きベクトル目標値との差を示すために使用され、現在の画像ブロックの動きベクトル差の長さのインデックス値は、予め設定された一組の候補長さ情報内の1つの候補長さ情報を示すために使用され、一組の候補長さ情報は、N個の動きベクトル差のみの候補長さ情報を含み、Nは1より大きく8より小さい正整数である、取得することを行うように構成される。
【0028】
第7態様に関連して、第7態様の第1の考えられる実装では、予測ユニットは、現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差を取得し、且つ、現在の画像ブロックの動きベクトル差に基づいて、現在の画像ブロックの動きベクトル差の長さのインデックス値と、現在の画像ブロックの動きベクトル差の方向のインデックス値とを決定するように構成される。
【0029】
第7態様または第7態様の第1の考えられる実装に関連して、第7態様の第2の考えられる実装では、Nは4である。
【0030】
第8態様によれば、本願のある実施形態は、インター予測装置を提供する。装置は、現在の画像ブロックの動きベクトル予測因子を取得するように構成される予測ユニットと、現在の画像ブロックの動きベクトル差の方向のインデックス値を取得するように構成される取得ユニットであって、現在の画像ブロックの動きベクトル差は、動きベクトル予測因子と、現在の画像ブロックの動きベクトル目標値との差を示すために使用される、取得ユニットとを含み、予測ユニットは更に、方向のインデックス値に基づいて一組の候補方向情報から目標方向情報を決定することであって、一組の候補方向情報は、M個の動きベクトル差の候補方向情報を含み、Mは4より大きい正整数である、決定することと、目標方向情報に基づいて現在の画像ブロックの動きベクトル差を取得することと、現在の画像ブロックの動きベクトル差と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル目標値を決定することと、現在の画像ブロックの動きベクトル目標値に基づいて現在の画像ブロックの予測ブロックを取得することとを行うように構成される。
【0031】
第8態様に関連して、第8態様の第1の考えられる実装では、取得ユニットは更に、現在の画像ブロックの動きベクトル差の長さのインデックス値を取得するように構成され、予測ユニットは更に、長さのインデックス値に基づいてN個の動きベクトル差の候補長さ情報から目標長さ情報を決定することであって、Nは1より大きい正整数である、決定することを行うように構成され、予測ユニットは、目標方向情報および目標長さ情報に基づいて現在の画像ブロックの動きベクトル差を決定するように構成される。
【0032】
第8態様または第8態様の第1の考えられる実装に関連して、第8態様の第2の考えられる実装では、Mは8である。
【0033】
第8態様の第2の考えられる実装に関連して、第8態様の第3の考えられる実装では、M個の動きベクトル差の候補方向情報は、方向のインデックス値が第1の予め設定された値である場合に、目標方向情報で示される方向がちょうど右であること、方向のインデックス値が第2の予め設定された値である場合に、目標方向情報で示される方向がちょうど左であること、方向のインデックス値が第3の予め設定された値である場合に、目標方向情報で示される方向がちょうど下であること、方向のインデックス値が第4の予め設定された値である場合に、目標方向情報で示される方向がちょうど上であること、方向のインデックス値が第5の予め設定された値である場合に、目標方向情報で示される方向が右下であること、方向のインデックス値が第6の予め設定された値である場合に、目標方向情報で示される方向が右上であること、方向のインデックス値が第7の予め設定された値である場合に、目標方向情報で示される方向が左下であること、または、方向のインデックス値が第8の予め設定された値である場合に、目標方向情報で示される方向が左上であることのうちの少なくとも1つを含んでよい。
【0034】
第8態様または第8態様の前述の考えられる実装のいずれか1つに関連して、第8態様の第4の考えられる実装では、予測ユニットは、現在の画像ブロックの候補動き情報リストを構築することであって、候補動き情報リストはL個の動きベクトルを含み、Lは、1、3、4、または5である、構築することと、候補動き情報リスト内の現在の画像ブロックの動き情報の予測情報のインデックス値を取得することであって、現在の画像ブロックの動き情報の予測情報は、動きベクトル予測因子を含む、取得することと、候補動き情報リストと、候補動き情報リスト内の現在の画像ブロックの動き情報のインデックス値とに基づいて、動きベクトル予測因子を取得することとを行うように構成される。
【0035】
第9態様によれば、本願のある実施形態は、インター予測装置を提供する。装置は、現在の画像ブロックの動きベクトル予測因子を取得するように構成される取得ユニットと、現在の画像ブロックの動きベクトル予測因子で示される位置の領域で動き検索を実行して、現在の画像ブロックの動きベクトル目標値を取得するように構成される予測ユニットとを含み、予測ユニットは更に、現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差の方向のインデックス値を取得することであって、現在の画像ブロックの動きベクトル差は、現在の画像ブロックの動きベクトル予測因子と動きベクトル目標値との差を示すために使用され、現在の画像ブロックの動きベクトル差の方向のインデックス値は、予め設定された一組の候補方向情報内の1つの候補方向情報を示すために使用され、一組の候補方向情報は、M個の動きベクトル差の候補長さ情報を含み、Mは4より大きい正整数である、取得することを行うように構成される。
【0036】
第9態様に関連して、第9態様の第1の考えられる実装では、予測ユニットは、現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差を取得し、且つ、現在の画像ブロックの動きベクトル差に基づいて、現在の画像ブロックの動きベクトル差の長さのインデックス値と、現在の画像ブロックの動きベクトル差の方向のインデックス値とを決定するように構成される。
【0037】
第9態様または第9態様の第1の考えられる実装に関連して、第9態様の第2の考えられる実装では、Mは8である。
【0038】
第10態様によれば、本願のある実施形態は、インター予測装置を提供する。装置は、取得ユニットと、予測ユニットとを含み、取得ユニットは、現在の画像ブロックの第1動きベクトル予測因子と、現在の画像ブロックの第2動きベクトル予測因子とを取得するように構成され、第1動きベクトル予測因子は第1参照フレームに対応し、第2動きベクトル予測因子は第2参照フレームに対応し、取得ユニットは更に、現在の画像ブロックの第1動きベクトル差を取得することであって、現在の画像ブロックの第1動きベクトル差は、第1動きベクトル予測因子と、現在の画像ブロックの第1動きベクトル目標値との差を示すために使用され、第1動きベクトル目標値および第1動きベクトル予測因子は、同じ参照フレームに対応する、取得することを行うように構成され、予測ユニットは、第1動きベクトル差に基づいて現在の画像ブロックの第2動きベクトル差を決定することであって、現在の画像ブロックの第2動きベクトル差は、第2動きベクトル予測因子と、現在の画像ブロックの第2動きベクトル目標値との差を示すために使用され、第2動きベクトル目標値および第2動きベクトル予測因子は、同じ参照フレームに対応しており、現在の画像ブロックが配置される現在のフレームに対する第1参照フレームの方向が、現在のフレームに対する第2参照フレームの方向と同じである場合に、第2動きベクトル差が第1動きベクトル差であるか、現在の画像ブロックが配置される現在のフレームに対する第1参照フレームの方向が、現在のフレームに対する第2参照フレームの方向と反対である場合に、第2動きベクトル差のプラス符号またはマイナス符号が、第1動きベクトル差のプラス符号またはマイナス符号と反対であり、第2動きベクトル差の絶対値が、第1動きベクトル差の絶対値と同じである、決定することと、第1動きベクトル差および第1動きベクトル予測因子に基づいて、現在の画像ブロックの第1動きベクトル目標値を決定することと、第2動きベクトル差および第2動きベクトル予測因子に基づいて、現在の画像ブロックの第2動きベクトル目標値を決定することと、第1動きベクトル目標値および第2動きベクトル目標値に基づいて、現在の画像ブロックの予測ブロックを取得することとを行うように構成される。
【0039】
第11態様によれば、本願のある実施形態は、ビデオデコーダを提供する。ビデオデコーダは、ビットストリームを復号して画像ブロックを取得するように構成され、第1態様または第1態様の考えられる実装のいずれか1つに係るインター予測装置であって、現在の画像ブロックの予測ブロックを取得するように構成されるインター予測装置と、予測ブロックに基づいて現在の画像ブロックを再構成するように構成される再構成モジュールとを含む。
【0040】
第12態様によれば、本願のある実施形態は、ビデオエンコーダを提供する。ビデオエンコーダは、画像ブロックを符号化するように構成され、第2態様または第2態様の考えられる実装のいずれか1つに係るインター予測装置であって、インター予測装置は、現在の画像ブロックの動きベクトル予測因子に基づいて現在の画像ブロックの動きベクトル差の長さのインデックス値を取得するように構成され、現在の画像ブロックの動きベクトル差の長さのインデックス値は、予め設定された一組の候補長さ情報内の1つの候補長さ情報を示すために使用される、インター予測装置と、現在の画像ブロックの動きベクトル差の長さのインデックス値をビットストリームに符号化するように構成されるエントロピ符号化モジュールとを含む。
【0041】
第13態様によれば、本願のある実施形態は、ビデオデコーダを提供する。ビデオデコーダは、ビットストリームを復号して画像ブロックを取得するように構成され、第3態様または第3態様の考えられる実装のいずれか1つに係るインター予測装置であって、現在の画像ブロックの予測ブロックを取得するように構成されるインター予測装置と、予測ブロックに基づいて現在の画像ブロックを再構成するように構成される再構成モジュールとを含む。
【0042】
第14態様によれば、本願のある実施形態は、ビデオエンコーダを提供する。ビデオエンコーダは、画像ブロックを符号化するように構成され、第4態様または第4態様の考えられる実装のいずれか1つに係るインター予測装置であって、インター予測装置は、現在の画像ブロックの動きベクトル予測因子に基づいて現在の画像ブロックの動きベクトル差の方向のインデックス値を取得するように構成され、現在の画像ブロックの動きベクトル差の方向のインデックス値は、予め設定された一組の候補方向情報内の1つの候補方向情報を示すために使用される、インター予測装置と、現在の画像ブロックの動きベクトル差の方向のインデックス値をビットストリームに符号化するように構成されるエントロピ符号化モジュールとを含む。
【0043】
第15態様によれば、本願のある実施形態は、ビデオデータ復号デバイスを提供する。デバイスは、ビデオデータをビットストリームの形態で格納するように構成されるメモリと、第11態様、第13態様、第15態様のいずれか1つ、または、第11態様、第13態様、または第15態様のいずれか1つに係るビデオデコーダとを含む。
【0044】
第16態様によれば、本願のある実施形態は、ビデオデータ符号化デバイスを提供する。デバイスは、ビデオデータを格納するように構成されるメモリであって、ビデオデータは1つまたは複数の画像ブロックを含む、メモリと、第12態様、第14態様、または第12態様および第14態様の実装のいずれか1つに係るビデオエンコーダとを含む。
【0045】
第17態様によれば、本願のある実施形態は、符号化デバイスを提供する。符号化デバイスは、互いに結合される不揮発性メモリとプロセッサとを含み、プロセッサは、メモリに格納されるプログラムコードを呼び出して、第2態様、第4態様、または第2態様および第4態様の実装のいずれか1つに係る任意の方法における段階の一部または全てを実行する。
【0046】
第18態様によれば、本願のある実施形態は、復号デバイスを提供する。復号デバイスは、互いに結合される不揮発性メモリとプロセッサとを含む。プロセッサは、メモリに格納されるプログラムコードを呼び出して、第1態様、第3態様、第5態様、または第1態様、第3態様、および第5態様の実装のいずれか1つに係る任意の方法における段階の一部または全てを実行する。
【0047】
第19態様によれば、本願のある実施形態は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体はプログラムコードを格納し、プログラムコードは、第1態様から第5態様、または第1態様から第5態様の実装のいずれか1つに係る方法における段階の一部または全てを実行するために使用される命令を含む。
【0048】
第20態様によれば、本願のある実施形態は、コンピュータプログラム製品を提供する。コンピュータプログラム製品がコンピュータ上で実行されると、コンピュータに、第1態様から第5態様、または第1態様から第5態様の実装のいずれか1つに係る方法における段階の一部または全てを実行させることができる。
【0049】
本願の第2態様から本願の第10態様における技術的解決策は、第1態様における技術的解決策と一致していることを理解されたい。様々な態様と対応する実現可能な実装とにより実現される有益な効果は同様であり、詳細については改めて説明しない。
【図面の簡単な説明】
【0050】
本発明の実施形態における技術的解決策をより明確に説明するために、以下では、本発明の実施形態における添付図面または背景について説明する。
【0051】
【
図1A】本発明のある実施形態を実装するためのビデオコーディングシステム10の例のブロック図である。
【0052】
【
図1B】本発明のある実施形態を実装するためのビデオコーディングシステム40の例のブロック図である。
【0053】
【
図2】本発明のある実施形態を実装するためのエンコーダ20の例示的な構造のブロック図である。
【0054】
【
図3】本発明のある実施形態を実装するためのデコーダ30の例示的な構造のブロック図である。
【0055】
【
図4】本発明のある実施形態を実装するためのビデオコーディングデバイス400の例のブロック図である。
【0056】
【
図5】本発明のある実施形態を実装するための符号化装置または復号装置の別の例のブロック図である。
【0057】
【
図6】本発明のある実施形態を実装するために使用される空間的な近接ブロックおよび時間的な近接ブロックの例示的なブロック図である。
【0058】
【
図7】本発明のある実施形態を実装するためのインター予測方法の概略フローチャートである。
【0059】
【
図8】本発明のある実施形態を実装するためのインター予測方法の概略フローチャートである。
【0060】
【
図9】本発明のある実施形態を実装するためのインター予測方法の概略フローチャートである。
【0061】
【
図10】本発明のある実施形態を実装するためのインター予測方法の概略フローチャートである。
【0062】
【
図11】本発明のある実施形態を実装するためのインター予測方法の概略フローチャートである。
【0063】
【
図12】本発明のある実施形態に係るインター予測装置の概略ブロック図である。
【0064】
【
図13】本発明のある実施形態に係るインター予測装置の概略ブロック図である。
【0065】
【
図14】本発明のある実施形態に係るインター予測装置の概略ブロック図である。
【0066】
【
図15】本発明のある実施形態に係るインター予測装置の概略ブロック図である。
【0067】
【
図16】本発明のある実施形態に係るインター予測装置の概略ブロック図である。
【発明を実施するための形態】
【0068】
以下では、本発明の実施形態における添付図面を参照しながら本発明の実施形態について説明する。以下の説明では、本開示の一部を形成し、且つ、本発明の実施形態の特定の態様、または本発明の実施形態が使用され得る特定の態様を実例として示す、添付図面を参照する。本発明の実施形態は他の態様で使用されてもよく、添付図面に描写されていない構造的または論理的な変更を含み得ることを理解されたい。従って、以下の詳細な説明は限定的な意味で理解されるべきではなく、本発明の範囲は添付の特許請求の範囲により定義される。例えば、説明されている方法に関連して開示される内容は、その方法を実行するように構成される対応するデバイスまたはシステムにも当てはまり得ること、および、その逆もまた同様であることを理解されたい。例えば、1つまたは複数の特定の方法の段階が説明される場合は、対応するデバイスが、説明されている1つまたは複数の方法の段階を実行するための機能ユニットなど、1つまたは複数のユニット(例えば、これら1つまたは複数の段階を実行する1つのユニット、または、それぞれがこれら複数の段階のうちの1つまたは複数を実行する、複数のユニット)を、係る1つまたは複数のユニットが添付図面で明示的に説明または例示されていない場合であっても含んでよい。加えて、例えば、特定の装置が機能ユニットなどの1つまたは複数のユニットに基づいて説明される場合は、対応する方法が、1つまたは複数のユニットの1つまたは複数の機能を実行するために使用される段階(例えば、1つまたは複数のユニットの1つまたは複数の機能を実行するために使用される1つの段階、または、それぞれが複数のユニット内の1つまたは複数のユニットの1つまたは複数の機能を実行するために使用される、複数の段階)を、複数の段階のうちの係る1つまたは複数が添付図面で明示的に説明または例示されていない場合であっても含んでよい。更には、特に指定がない限り、本明細書で説明する様々な例示的な実施形態および/または態様の特徴が互いに組み合わされ得ることを理解されたい。
【0069】
本発明の実施形態における技術的解決策は、既存のビデオコーディング規格(例えば、H.264およびHEVCなどの規格)に適用され得るだけでなく、将来のビデオコーディング規格(例えば、H.266規格)にも適用され得る。本発明の実装で使用される用語は、単に本発明の特定の実施形態を説明することを意図するものであり、本発明を限定することを意図するものではない。以下ではまず、本発明の実施形態で使用され得る幾つかの概念について簡単に説明する。
【0070】
ビデオコーディングとは通常、ビデオまたはビデオシーケンスを構成する一連の画像の処理を指す。ビデオコーディングの分野では、「画像(picture)」、「フレーム(frame)」、および「イメージ(image)」という用語は、同義語として使用されることがある。本明細書で使用されるビデオコーディングは、ビデオ符号化またはビデオ復号を指す。ビデオ符号化はソース側で実行され、通例は、元のビデオ画像を(例えば、圧縮することにより)処理して、ビデオ画像を表すためのデータの量を削減することで、格納および/または伝送を効率化する。ビデオ復号は宛先側で実行され、通常は、ビデオ画像を再構成するためのエンコーダと比較して逆の処理を含む。実施形態におけるビデオ画像の「コーディング」は、ビデオシーケンスの「符号化」または「復号」として理解されるべきである。符号化構成要素と復号構成要素との組み合わせは、コーデック(CODEC)とも呼ばれる。
【0071】
ビデオシーケンスが一連の画像(picture)を含み、1つの画像が更に複数のスライス(slice)へと分割され、1つのスライスが更に複数のブロック(block)へと分割される。ビデオコーディングはブロックにより実行される。幾つかの新しいビデオコーディング規格では、「ブロック」という概念が更に拡張されている。例えば、H.264規格にはマクロブロック(macroblock、MB)が導入されている。マクロブロックは更に、予測コーディングに使用され得る複数の予測ブロック(パーティション)へと分割されてよい。高効率ビデオコーディング(high efficiency video coding、HEVC)規格では、「コーディングユニット(coding unit、CU)」、「予測ユニット(prediction unit、PU)」、および「変換ユニット(transform unit、TU)」などの基本概念が使用されている。複数のブロックユニットが機能分割で取得され、新しいツリーベースの構造を使用することにより説明される。例えば、CUを四分木分割でより小さなCUへと分割してよく、このより小さなCUを更に分割して、四分木構造を生成することができる。CUは、コーディング画像を分割および符号化するための基本単位である。PUおよびTUも同様の木構造を有する。PUは予測ブロックに対応してよく、予測コーディングのための基本単位である。CUは更に、ある区分化パターンで複数のPUに区分化される。TUは変換ブロックに対応してよく、予測残差を変換するための基本単位である。ただし、CU、PU、およびTUは全て、本質的にブロック(または画像ブロック)の概念である。
【0072】
例えば、HEVCでは、コーディングツリーとして表される四分木構造を使用することにより、CTUが複数のCUへと区分化される。インター画像(時間的)予測またはイントラ画像(空間的)予測を使用することにより画像エリアを符号化するかどうかの決定は、CUレベルで行われる。各CUは更に、PUの分割パターンに基づいて、1つ、2つ、または4つのPUへと分割されてよい。1つのPUでは、同じ予測プロセスが適用され、関連する情報がPUベースでデコーダに伝送される。PUの分割パターンに基づいて予測プロセスを適用することにより残差ブロックを取得した後、CUは、CUに使用されるコーディングツリーと同様の別の四分木構造に基づいて、複数の変換ユニット(transform unit、TU)へと区分化されてよい。ビデオ圧縮技術の最新の開発では、四分木(Quad-tree)およびマルチタイプツリー(multi-type tree)を使用することによりCTUを区分化して、複数のCUを取得する。マルチタイプツリー(multi-type tree)は、二分木(binary-tree)および三分木(ternary-tree)を含む。分割構造では、CUは正方形または長方形であってよい。
【0073】
本明細書では、説明および理解を容易にするために、現在のコーディングされた画像内の符号化される画像ブロックが、現在のブロックと呼ばれることがある。例えば、符号化では、現在のブロックが符号化中のブロックであり、復号では、現在のブロックが復号中のブロックである。現在のブロックを予測するために使用される、参照画像内の復号された画像ブロックが、参照ブロックと呼ばれる。具体的には、参照ブロックは、現在のブロックに関する参照信号を提供するブロックであり、参照信号は画像ブロック内のピクセル値を表す。現在のブロックに関する予測信号を提供する、参照画像内のブロックが、予測ブロックと呼ばれることがある。予測信号は、予測ブロック内のピクセル値、サンプル値、またはサンプル信号を表す。例えば、複数の参照ブロックがトラバースされた後、最善参照ブロックが見つかる。最善参照ブロックは現在のブロックに関する予測を提供し、このブロックは予測ブロックと呼ばれる。現在のブロックは、現在の画像ブロックと呼ばれることもある。
【0074】
無損失ビデオコーディングの場合は、元のビデオ画像が再構成され得る。つまり、(格納中または伝送中に伝送損失または他のデータ損失が生じないものと仮定して、)再構成されたビデオ画像が元のビデオ画像と同じ品質である。有損失ビデオコーディングの場合は、例えば、量子化により更なる圧縮が実行されて、ビデオ画像の表現に必要なデータの量が削減され、ビデオ画像をデコーダ側で完全に再構成することはできない。つまり、再構成されたビデオ画像の品質は、元のビデオ画像の品質より低いまたは悪い。
【0075】
「有損失ハイブリッドビデオコーデック」には、幾つかのH.261ビデオコーディング規格が使用される(すなわち、サンプル領域における空間的および時間的な予測が、変換領域における量子化を適用するための2D変換コーディングと組み合わされる)。ビデオシーケンスの各画像は通例、一組の非重複ブロックへと区分化され、コーディングは通例、ブロックレベルで実行される。つまり、エンコーダ側では通例、ブロック(ビデオブロック)レベルでビデオが処理される、すなわち、符号化される。例えば、空間的(イントラ画像)予測および時間的(インター画像)予測により予測ブロックを生成し、現在のブロック(処理中または処理予定のブロック)から予測ブロックを減算して残差ブロックを取得し、変換領域で残差ブロックを変換し、量子化して、伝送されるデータの量を削減(圧縮)する。デコーダ側では、エンコーダに対する逆の処理部分を符号化または圧縮されたブロックに適用して、現在のブロックを表現のために再構成する。更に、エンコーダは、デコーダの処理ループを繰り返すことで、エンコーダおよびデコーダが同一の予測(例えば、イントラ予測およびインター予測)および/または再構成物を生成して後続ブロックを処理する、すなわち、コーディングするようにする。
【0076】
以下では、本発明の実施形態が適用されるシステムアーキテクチャについて説明する。
図1Aは、本発明のある実施形態が適用されるビデオコーディングシステム10の例の概略ブロック図である。
図1Aに示すように、ビデオコーディングシステム10は、ソースデバイス12および宛先デバイス14を含んでよい。ソースデバイス12は、符号化されたビデオデータを生成する。ひいては、ソースデバイス12は、ビデオ符号化装置と呼ばれることがある。宛先デバイス14は、ソースデバイス12により生成される符号化されたビデオデータを復号してよい。ひいては、宛先デバイス14は、ビデオ復号装置と呼ばれることがある。様々な実装の解決策において、ソースデバイス12、宛先デバイス14、または、ソースデバイス12および宛先デバイス14の両方は、1つまたは複数のプロセッサと、当該1つまたは複数のプロセッサに結合されるメモリとを含んでよい。本明細書で説明するように、メモリは、以下に限定されるわけではないが、RAM、ROM、EEPROM、フラッシュメモリ、または、所望のプログラムコードを命令またはデータ構造の形態で格納するために使用され得る、コンピュータからアクセス可能な任意の他の媒体を含んでよい。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、モバイルコンピューティング装置、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話送受器、テレビ、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、車載コンピュータ、無線通信デバイス、および同様のものを含む様々な装置を含んでよい。
【0077】
図1Aにはソースデバイス12および宛先デバイス14が別個のデバイスとして描写されているが、デバイスの実施形態は代替的に、ソースデバイス12および宛先デバイス14の両方、または、ソースデバイス12および宛先デバイス14の両方の機能、すなわち、ソースデバイス12または対応する機能と、宛先デバイス14または対応する機能とを含んでもよい。係る実施形態では、ソースデバイス12または対応する機能と、宛先デバイス14または対応する機能とが、同じハードウェアおよび/またはソフトウェアを使用することにより、または、別個のハードウェアおよび/もしくはソフトウェアまたはそれらの任意の組み合わせを使用することにより実装されてよい。
【0078】
ソースデバイス12と宛先デバイス14との間の通信接続は、リンク13を介して実装されてよく、宛先デバイス14は、符号化されたビデオデータをソースデバイス12からリンク13を介して受信してよい。リンク13は、符号化されたビデオデータをソースデバイス12から宛先デバイス14に移動させることができる1つまたは複数の媒体または装置を含んでよい。ある例では、リンク13は、符号化されたビデオデータをソースデバイス12が宛先デバイス14にリアルタイムで直接伝送できるようにする1つまたは複数の通信媒体を含んでよい。この例では、ソースデバイス12は、符号化されたビデオデータを通信規格(例えば、無線通信プロトコル)に従って変調してよく、変調されたビデオデータを宛先デバイス14に伝送してよい。1つまたは複数の通信媒体は、無線通信媒体および/または有線通信媒体、例えば、無線周波数(RF)スペクトル、または、1つまたは複数の物理伝送回線を含んでよい。1つまたは複数の通信媒体は、パケットベースのネットワークの一部を形成してよく、パケットベースのネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク(例えば、インターネット)である。1つまたは複数の通信媒体は、ルータ、スイッチ、基地局、または、ソースデバイス12から宛先デバイス14への通信を容易にする別のデバイスを含んでよい。
【0079】
ソースデバイス12はエンコーダ20を含む。オプションで、ソースデバイス12は更に、画像ソース16、画像プリプロセッサ18、および通信インタフェース22を含んでよい。特定の実装形態では、エンコーダ20、画像ソース16、画像プリプロセッサ18、および通信インタフェース22は、ソースデバイス12内のハードウェア構成要素であってもよいし、ソースデバイス12内のソフトウェアプログラムであってもよい。別個の説明は以下の通りである。
【0080】
画像ソース16は、例えば、実世界の画像をキャプチャするように構成される任意のタイプの画像キャプチャデバイス、および/または、画像またはコメント(スクリーンコンテンツの符号化の場合は、スクリーン上の一部のテキストも、符号化される画像またはイメージの一部と見なされる)を生成するための任意のタイプのデバイス、例えば、コンピュータアニメーション画像を生成するように構成されるコンピュータグラフィクスプロセッサ、または、実世界の画像またはコンピュータアニメーション画像(例えば、スクリーンコンテンツまたは仮想現実(virtual reality、VR)画像)を取得および/または提供するように構成される任意のタイプのデバイス、および/または、それらの任意の組み合わせ(例えば、拡張現実(augmented reality、AR)画像)を含むか、それらであってよい。画像ソース16は、画像をキャプチャするためのカメラ、または画像を格納するためのメモリであってよい。画像ソース16は更に、以前にキャプチャまたは生成された画像が格納される、および/または、画像が取得または受信される際に介する、任意のタイプの(内部または外部の)インタフェースを含んでよい。画像ソース16がカメラである場合は、画像ソース16は、例えば、ローカルカメラ、またはソースデバイスに統合されるカメラであってよい。画像ソース16がメモリである場合は、画像ソース16は、例えば、ローカルメモリ、またはソースデバイスに統合されるメモリであってよい。画像ソース16がインタフェースを含む場合は、インタフェースは、例えば、外部ビデオソースから画像を受信するための外部インタフェースであってよい。外部ビデオソースは、例えば、カメラなどの外部画像キャプチャデバイス、外部メモリ、または外部画像生成デバイスである。外部画像生成デバイスは、例えば、外部コンピュータグラフィクスプロセッサ、コンピュータ、またはサーバである。インタフェースは、任意の独自のインタフェースプロトコルまたは標準化されたインタフェースプロトコルによる任意のタイプのインタフェース、例えば、有線インタフェースもしくは無線インタフェース、または光インタフェースであってよい。
【0081】
画像は、画像要素(picture element)の二次元のアレイまたはマトリクスと見なされてよい。アレイ内の画像要素はサンプルと呼ばれることもある。アレイまたは画像の水平方向および垂直方向(または、水平軸および垂直軸)のサンプルの数によって、画像のサイズおよび/または解像度が定義される。色の表現には通常、3つの色成分が使用される。例えば、画像は3つのサンプルアレイとして表されても、それらを含んでよい。例えば、RGBフォーマットまたは色空間では、画像が、対応する赤、緑、および青のサンプルアレイを含む。ただし、ビデオコーディングでは、各ピクセルは通常、輝度/クロミナンスフォーマットまたは色空間で表される。例えば、YUVフォーマットの画像は、Y(代わりにLが使用されることがある)で示される輝度成分と、UおよびVで示される2つのクロミナンス成分とを含む。輝度(ルマ)成分Yは、明るさまたはグレイレベル強度(例えば、グレイスケール画像ではどちらも同じである)を表し、2つのクロミナンス(クロマ)成分UおよびVは、クロミナンスまたは色の情報成分を表す。それに対応して、YUVフォーマットの画像は、輝度サンプル値(Y)の輝度サンプルアレイと、クロミナンス値(UおよびV)の2つのクロミナンスサンプルアレイとを含む。RGBフォーマットの画像は、YUVフォーマットの画像に変換(convertedまたはtransformed)されてよく、その逆もまた同様である。係るプロセスは、色の変換(transformationまたはconversion)としても知られている。画像がモノクロである場合は、画像はルマサンプルアレイのみを含んでよい。本発明のこの実施形態では、画像ソース16により画像プロセッサに伝送される画像が元の画像データ17と呼ばれることもある。
【0082】
画像プリプロセッサ18は、元の画像データ17を受信し、元の画像データ17を前処理して、前処理された画像19または前処理された画像データ19を取得するように構成される。例えば、画像プリプロセッサ18により実行される前処理は、トリミング、(例えば、RGBフォーマットからYUVフォーマットへの)色フォーマット変換、色補正、またはノイズ除去を含んでよい。
【0083】
エンコーダ20(ビデオエンコーダ20とも呼ばれる)は、前処理された画像データ19を受信し、関連する予測モード(本明細書の各実施形態における予測モードなど)を使用することにより、前処理された画像データ19を処理して、符号化された画像データ21を提供するように構成される(以下では、
図2、
図4、または
図5に基づいて、エンコーダ20の構造的な詳細について更に説明する)。幾つかの実施形態では、エンコーダ20は、以下で説明する様々な実施形態を実行して、本発明で説明するインター予測方法のエンコーダ側の適用を実装するように構成されてよい。
【0084】
通信インタフェース22は、符号化された画像データ21を受信し、符号化された画像データ21を、格納または直接再構成のために、リンク13を介して宛先デバイス14または任意の他のデバイス(例えば、メモリ)に伝送するように構成されてよい。任意の他のデバイスは、復号または格納に使用される任意のデバイスであってよい。通信インタフェース22は、例えば、符号化された画像データ21を、リンク13を介して伝送するために、適切なフォーマット、例えば、データパケットへとパッケージ化するように構成されてよい。
【0085】
宛先デバイス14はデコーダ30を含む。オプションで、宛先デバイス14は更に、通信インタフェース28、画像ポストプロセッサ32、および表示デバイス34を含んでよい。別個の説明は以下の通りである。
【0086】
通信インタフェース28は、符号化された画像データ21をソースデバイス12または任意の他のソースから受信するように構成されてよい。任意の他のソースは、例えば、記憶デバイスであり、記憶デバイスは、例えば、符号化された画像データ記憶デバイスである。通信インタフェース28は、ソースデバイス12と宛先デバイス14との間のリンク13を介して、または任意のタイプのネットワークを介して、符号化された画像データ21を送信または受信するように構成されてよい。リンク13は、例えば、直接的な有線接続または無線接続である。任意のタイプのネットワークは、例えば、有線ネットワークもしくは無線ネットワーク、もしくはそれらの任意の組み合わせ、または、任意のタイプのプライベートネットワークもしくはパブリックネットワーク、もしくはそれらの任意の組み合わせである。通信インタフェース28は、例えば、通信インタフェース22を介して伝送されるデータパケットをパッケージ解除して、符号化された画像データ21を取得するように構成されてよい。
【0087】
通信インタフェース28および通信インタフェース22はどちらも、一方向通信インタフェースまたは双方向通信インタフェースとして構成されてよく、例えば、メッセージを送信および受信して接続を確立し、通信リンクおよび/またはデータ伝送、例えば、符号化された画像データ伝送に関連する任意の他の情報の確認応答および交換を行うように構成されてよい。
【0088】
デコーダ30(デコーダ30とも呼ばれる)は、符号化された画像データ21を受信し、復号された画像データ31または復号された画像31を提供するように構成される(以下では、
図3、
図4、または
図5に基づいて、デコーダ30の構造的な詳細について更に説明する)。幾つかの実施形態では、デコーダ30は、以下で説明する様々な実施形態を実行して、本発明で説明するインター予測方法のデコーダ側の適用を実装するように構成されてよい。
【0089】
画像ポストプロセッサ32は、復号された画像データ31(再構成された画像データとも呼ばれる)を後処理して、後処理された画像データ33を取得するように構成される。画像ポストプロセッサ32により実行される後処理は、(例えば、YUVフォーマットからRGBフォーマットへの)色フォーマット変換、色補正、トリミング、再サンプリング、または任意の他の処理を含んでよい。画像ポストプロセッサ32は更に、後処理された画像データ33を表示デバイス34に伝送するように構成されてよい。
【0090】
表示デバイス34は、後処理された画像データ33を受信して、画像を、例えば、ユーザまたは視聴者に表示するように構成される。表示デバイス34は、再構成された画像を提示するように構成される任意のタイプのディスプレイ、例えば、統合型または外部のディスプレイまたはモニタであっても、それを含んでもよい。例えば、ディスプレイは、液晶ディスプレイ(liquid crystal display、LCD)、有機発光ダイオード(organic light emitting diode、OLED)ディスプレイ、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、液晶オンシリコン(liquid crystal on silicon、LCoS)、デジタル光プロセッサ(digital light processor、DLP)、または任意のタイプの他のディスプレイを含んでよい。
【0091】
図1Aにはソースデバイス12および宛先デバイス14が別個のデバイスとして描写されているが、デバイスの実施形態は代替的に、ソースデバイス12および宛先デバイス14の両方、または、ソースデバイス12および宛先デバイス14の両方の機能、すなわち、ソースデバイス12または対応する機能と、宛先デバイス14または対応する機能とを含んでもよい。係る実施形態では、ソースデバイス12または対応する機能と、宛先デバイス14または対応する機能とが、同じハードウェアおよび/またはソフトウェアを使用することにより、または、別個のハードウェアおよび/もしくはソフトウェアまたはそれらの任意の組み合わせを使用することにより実装されてよい。
【0092】
本明細書に基づいて当業者に明らかになるように、
図1Aに示す、これらの異なるユニットの機能、または、ソースデバイス12および/または宛先デバイス14の機能の存在および(正確な)分割は、実際のデバイスおよび用途に応じて異なることがある。ソースデバイス12および宛先デバイス14はそれぞれ、任意のタイプのハンドヘルドデバイスまたは固定式デバイス、例えば、ノートブックコンピュータもしくはラップトップコンピュータ、携帯電話、スマートフォン、パッドもしくはタブレットコンピュータ、ビデオカメラ、デスクトップコンピュータ、セットトップボックス、テレビ、カメラ、車載デバイス、表示デバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス(コンテンツサービスサーバまたはコンテンツ配信サーバなど)、放送受信デバイス、または放送送信デバイスを含む幅広いデバイスのいずれか1つであってよく、任意のタイプのオペレーティングシステムを使用しなくてもよいし、使用してもよい。
【0093】
エンコーダ20およびデコーダ30はそれぞれ、様々な適切な回路、例えば、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)、ディスクリート論理回路、ハードウェア、またはそれらの任意の組み合わせのいずれか1つとして実装されてよい。これらの技術がソフトウェアを使用することにより部分的に実装される場合は、デバイスは、適切な非一時的コンピュータ可読記憶媒体にソフトウェア命令を格納してよく、1つまたは複数のプロセッサなどのハードウェアを使用することによりこれらの命令を実行して、本開示の技術を実行してよい。前述の内容(ハードウェア、ソフトウェア、ハードウェアとソフトウェアとの組み合わせ、および同様のものを含む)のいずれか1つが、1つまたは複数のプロセッサと見なされてよい。
【0094】
場合によっては、
図1Aに示すビデオコーディングシステム10は例に過ぎず、本願の技術は、符号化デバイスと復号デバイスとの間の任意のデータ通信を必ずしも含まないビデオコーディング設定(例えば、ビデオ符号化またはビデオ復号)に適用されてよい。他の例では、データがローカルメモリから取得される、またはネットワークを介してストリーミングされるなどしてよい。ビデオ符号化デバイスはデータを符号化してメモリに格納してよい、および/または、ビデオ復号デバイスはデータをメモリから取得して復号してよい。幾つかの例では、符号化および復号は、互いに通信しないが単にデータをメモリに符号化するおよび/またはデータをメモリから取得して復号するデバイスにより実行される。
【0095】
図1Bは、例示的な実施形態に係る、
図2のエンコーダ20および/または
図3のデコーダ30を含む、ビデオコーディングシステム40の例の事例的な図である。ビデオコーディングシステム40は、本発明の実施形態における様々な技術の組み合わせを実装することができる。示されている実装では、ビデオコーディングシステム40は、撮像デバイス41、エンコーダ20、デコーダ30(および/または処理ユニット46の論理回路47により実装されるビデオエンコーダ/デコーダ)、アンテナ42、1つまたは複数のプロセッサ43、1つまたは複数のメモリ44、および/または表示デバイス45を含んでよい。
【0096】
図1Bに示すように、撮像デバイス41、アンテナ42、処理ユニット46、論理回路47、エンコーダ20、デコーダ30、プロセッサ43、メモリ44、および/または表示デバイス45は、互いに通信することができる。説明されているように、ビデオコーディングシステム40はエンコーダ20およびデコーダ30と共に示されているが、異なる例では、ビデオコーディングシステム40は、エンコーダ20のみまたはデコーダ30のみを含んでよい。
【0097】
幾つかの例では、アンテナ42は、ビデオデータの符号化されたビットストリームを送信または受信するように構成されてよい。加えて、幾つかの例では、表示デバイス45は、ビデオデータを提示するように構成されてよい。幾つかの例では、論理回路47は、処理ユニット46により実装されてよい。処理ユニット46は、特定用途向け集積回路(application-specific integrated circuit、ASIC)ロジック、グラフィクスプロセッサ、汎用プロセッサ、または同様のものを含んでよい。ビデオコーディングシステム40は、任意選択的なプロセッサ43を含んでもよい。任意選択的なプロセッサ43は同様に、特定用途向け集積回路(application-specific integrated circuit、ASIC)ロジック、グラフィクスプロセッサ、汎用プロセッサ、または同様のものを含んでよい。幾つかの例では、論理回路47は、ハードウェア、例えば、ビデオコーディング専用ハードウェアにより実装されてよく、プロセッサ43は、汎用ソフトウェア、オペレーティングシステム、または同様のものにより実装されてよい。加えて、メモリ44は、任意のタイプのメモリ、例えば、揮発性メモリ(例えば、スタティックランダムアクセスメモリ(Static Random Access Memory、SRAM)、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory、DRAM))、または不揮発性メモリ(例えば、フラッシュメモリ)であってよい。非制限的な例では、メモリ44はキャッシュメモリにより実装されてよい。幾つかの例では、論理回路47は、(例えば、画像バッファを実装するための)メモリ44にアクセスしてよい。他の例では、論理回路47および/または処理ユニット46は、画像バッファを実装するためのメモリ(例えば、キャッシュ)を含んでよい。
【0098】
幾つかの例では、論理回路を使用することにより実装されるエンコーダ20は、画像バッファ(例えば、処理ユニット46またはメモリ44により実装される)およびグラフィクス処理ユニット(例えば、処理ユニット46により実装される)を含んでよい。グラフィクス処理ユニットは、画像バッファに通信可能に結合されてよい。グラフィクス処理ユニットは、
図2および/または本明細書で説明する任意の他のエンコーダシステムまたはサブシステムに関連して説明される様々なモジュールを実装するよう、論理回路47を使用することにより実装されるエンコーダ20を含んでよい。論理回路は、本明細書で説明する様々な演算を実行するように構成されてよい。
【0099】
幾つかの例では、デコーダ30は、
図3のデコーダ30および/または本明細書で説明する任意の他のデコーダシステムまたはサブシステムに関連して説明される様々なモジュールを実装するよう、論理回路47により同様の方式で実装されてよい。
幾つかの例では、論理回路を使用することにより実装されるデコーダ30は、画像バッファ(処理ユニット2820またはメモリ44により実装される)およびグラフィクス処理ユニット(例えば、処理ユニット46により実装される)を含んでよい。グラフィクス処理ユニットは、画像バッファに通信可能に結合されてよい。グラフィクス処理ユニットは、
図3および/または本明細書で説明する任意の他のデコーダシステムまたはサブシステムに関連して説明される様々なモジュールを実装するよう、論理回路47を使用することにより実装されるデコーダ30を含んでよい。
【0100】
幾つかの例では、アンテナ42は、ビデオデータの符号化されたビットストリームを受信するように構成されてよい。説明されているように、符号化されたビットストリームは、本明細書で説明するビデオフレームコーディングに関連するデータ、指標、インデックス値、モード選択データ、または同様のもの、例えば、コーディング区分化に関連するデータ(例えば、変換係数もしくは量子化された変換係数、(説明されているような)任意選択的な指標、および/またはコーディング区分化を定義するデータ)を含んでよい。ビデオコーディングシステム40は更に、アンテナ42に結合されており、且つ、符号化されたビットストリームを復号するように構成される、デコーダ30を含んでよい。表示デバイス45は、ビデオフレームを提示するように構成される。
【0101】
本発明のこの実施形態では、エンコーダ20に関連して説明される例について、デコーダ30が逆プロセスを実行するように構成され得ることを理解されたい。シグナリング構文要素に関して、デコーダ30は、係る構文要素を受信および解析し、且つ、それに対応して、関連するビデオデータを復号するように構成されてよい。幾つかの例では、エンコーダ20は、符号化されたビデオビットストリームに構文要素をエントロピ符号化してよい。係る例では、デコーダ30は、係る構文要素を解析し、それに対応して、関連するビデオデータを復号してよい。
【0102】
なお、本発明の実施形態で説明するインター予測方法は主に、インター予測プロセスで使用され、このプロセスは、エンコーダ20およびデコーダ30の両方に存在する。本発明の実施形態におけるエンコーダ20/デコーダ30は、H.263、H.264、HEVV、MPEG-2、MPEG-4、VP8、またはVP9などのビデオ標準プロトコルに対応するか、次世代のビデオ標準プロトコル(H.266など)に対応するエンコーダ/デコーダであってよい。
【0103】
図2は、本発明のある実施形態を実装するように構成される例示的なエンコーダ20の概略/概念ブロック図である。
図2の例では、エンコーダ20は、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタユニット220、復号された画像バッファ(decoded picture buffer、DPB)230、予測処理ユニット260、およびエントロピ符号化ユニット270を含む。予測処理ユニット260は、インター予測ユニット244、イントラ予測ユニット254、およびモード選択ユニット262を含んでよい。インター予測ユニット244は、動き推定ユニットおよび動き補償ユニット(この図には描写されていない)を含んでよい。
図2に示すエンコーダ20は、ハイブリッドビデオコーデックに基づくビデオエンコーダまたはハイブリッドビデオエンコーダと呼ばれることもある。
【0104】
例えば、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、予測処理ユニット260、およびエントロピ符号化ユニット270は、エンコーダ20の順方向信号経路を形成するが、例えば、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタ220、復号された画像バッファ(decoded picture buffer、DPB)230、および予測処理ユニット260は、エンコーダの逆信号経路を形成する。エンコーダの逆信号経路は、デコーダ(
図3のデコーダ30を参照されたい)の信号経路に対応する。
【0105】
エンコーダ20は、例えば、入力202から、画像201または画像201の画像ブロック203、例えば、ビデオまたはビデオシーケンスを形成する一連の画像のうちある画像を受信する。画像ブロック203は、現在の画像ブロックまたは符号化される画像ブロックと呼ばれることもある。画像201は、(特に、現在の画像を他の画像(他の画像とは、例えば、同じビデオシーケンス、すなわち、現在の画像も含むビデオシーケンス内の以前に符号化および/または復号された画像である)と区別するビデオコーディングにおいて)現在の画像または符号化される画像と呼ばれることがある。
【0106】
ある実施形態では、エンコーダ20は、画像201を画像ブロック203などの複数のブロックへと区分化するように構成される区分化ユニット(
図2には描写されていない)を含んでよい。画像201は通例、複数の非重複ブロックへと区分化される。区分化ユニットは、ビデオシーケンス内の全ての画像と、ブロックサイズを定義する対応するグリッドとに対して同じブロックサイズを使用するか、画像間または画像のサブセット間もしくはグループ間でブロックサイズを変更し、各画像を複数の対応するブロックへと区分化するように構成されてよい。
【0107】
ある例では、エンコーダ20の予測処理ユニット260は、上記の区分化技術の任意の組み合わせを実行するように構成されてよい。
【0108】
画像201と同様に、画像ブロック203も、画像201より小さいサイズではあるがサンプル値を有するサンプルの二次元のアレイまたはマトリクスであるか、それと見なされてよい。つまり、画像ブロック203は、例えば、1つのサンプルアレイ(例えば、モノクロ画像201の場合はルマアレイ)、3つのサンプルアレイ(例えば、色画像の場合は1つのルマアレイおよび2つのクロマアレイ)、または適用される色フォーマットに応じた任意の他の数および/またはタイプのアレイを含んでよい。画像ブロック203の水平方向および垂直方向(または、水平軸および垂直軸)のサンプルの数によって、画像ブロック203のサイズが定義される。
【0109】
図2に示すエンコーダ20は、画像201をブロックごとに符号化するように構成される。例えば、エンコーダは、各画像ブロック203を符号化および予測する。
【0110】
残差計算ユニット204は、画像ブロック203および予測ブロック265(予測ブロック265に関する更なる詳細については、以下で提供する)に基づいて残差ブロック205を計算するように構成され、例えば、画像ブロック203のサンプル値から予測ブロック265のサンプル値をサンプルごと(ピクセルごと)に減算することにより、サンプル領域内の残差ブロック205を取得するように構成される。
【0111】
変換処理ユニット206は、変換、例えば、離散余弦変換(discrete cosine transform、DCT)または離散正弦変換(discrete sine transform、DST)を残差ブロック205のサンプル値に適用して、変換領域内の変換係数207を取得するように構成される。変換係数207は変換残差係数と呼ばれることもあり、変換領域内の残差ブロック205を表す。
【0112】
変換処理ユニット206は、HEVC/H.265で指定された変換などのDCT/DSTの整数近似を適用するように構成されてよい。直交DCT変換と比較して、係る整数近似は通常、ある因子でスケーリングされる。順方向変換および逆変換を使用することにより処理される残差ブロックのノルムを順守するために、変換プロセスの一部として更なるスケール因子が適用される。スケール因子は通例、幾つかの制約に基づいて選択される。例えば、スケール因子は、シフト演算の2の累乗、変換係数のビット深度、または確度と実装コストとの間のトレードオフである。例えば、デコーダ側30の逆変換処理ユニット212による逆変換(および、例えば、エンコーダ側20の逆変換処理ユニット212による対応する逆変換)には、例えば、特定のスケーリング因子が指定され、例えば、エンコーダ側20の変換処理ユニット206による順方向変換には、対応するスケーリング因子が適宜指定されてよい。
【0113】
量子化ユニット208は、例えば、スカラ量子化またはベクトル量子化を適用することにより、変換係数207を量子化して、量子化された変換係数209を取得するように構成される。量子化された変換係数209は、量子化残差係数209と呼ばれることもある。量子化プロセスでは、変換係数207の幾つかまたは全てに関連付けられるビット深度が低減され得る。例えば、量子化中にnビットの変換係数がmビットの変換係数に切り捨てられてよく、nはmより大きい。量子化の程度は、量子化パラメータ(quantization parameter、QP)を調整することにより修正されてよい。例えば、スカラ量子化の場合は、異なるスケールを適用して、より細かいまたはより粗い量子化を実現してよい。より小さな量子化ステップはより細かい量子化に対応し、より大きな量子化ステップはより粗い量子化に対応する。適用可能な量子化ステップは、量子化パラメータ(quantization parameter、QP)で示されてよい。量子化パラメータは、例えば、予め定義された一組の適用可能な量子化ステップのインデックスであってよい。例えば、より小さな量子化パラメータはより細かい量子化(より小さな量子化ステップ)に対応してよく、より大きな量子化パラメータはより粗い量子化(より大きな量子化ステップ)に対応してよく、またはその逆もまた同様である。量子化は、量子化ステップによる除算と、対応する量子化および/または逆量子化(例えば、逆量子化ユニット210により実行される)とを含んでもよいし、量子化ステップによる乗算を含んでもよい。HEVCなどの幾つかの規格による実施形態では、量子化パラメータを使用して量子化ステップを決定してよい。概して、量子化ステップは、除算を含む方程式の不動点近似を使用した量子化パラメータに基づいて計算されてよい。量子化および量子化解除に更なるスケーリング因子を導入して残差ブロックのノルムを復元してよく、残差ブロックのノルムは、量子化ステップおよび量子化パラメータの方程式の不動点近似で使用されるスケールを理由に修正されてよい。例示的な実装では、逆変換のスケールと量子化解除のスケールとが組み合わされてよい。代替的に、カスタマイズされた量子化テーブルを使用し、例えば、ビットストリームで、エンコーダからデコーダにシグナリングしてもよい。量子化は不可逆演算であり、量子化ステップが増加するにつれて損失が増加する。
【0114】
逆量子化ユニット210は、量子化ユニット208の逆量子化を量子化係数に適用して、量子化解除係数211を取得するように構成され、例えば、量子化ユニット208と同じ量子化ステップに基づいて、またはそれを使用することにより、量子化ユニット208によって適用される量子化スキームの逆を適用するように構成される。量子化解除係数211は、量子化解除された残差係数211と呼ばれることもあり、通常は、量子化による損失に起因して変換係数と同一ではないものの、変換係数207に対応する。
【0115】
逆変換処理ユニット212は、変換処理ユニット206により適用される変換の逆変換、例えば、逆の離散余弦変換(discrete cosine transform、DCT)または逆の離散正弦変換(discrete sine transform、DST)を適用して、サンプル領域内の逆変換ブロック213を取得するように構成される。逆変換ブロック213は、逆変換量子化解除ブロック213または逆変換残差ブロック213と呼ばれることもある。
【0116】
再構成ユニット214(例えば、アナログ加算器214)は、例えば、再構成された残差ブロック213のサンプル値と予測ブロック265のサンプル値とを加算することにより、逆変換ブロック213(すなわち、再構成された残差ブロック213)を予測ブロック265に加算して、サンプル領域内の再構成されたブロック215を取得するように構成される。
【0117】
オプションで、例えば、ラインバッファ216のバッファユニット216(略して「バッファ」216)は、再構成されたブロック215と対応するサンプル値とを、例えば、イントラ予測のために、バッファリングまたは格納するように構成される。他の実施形態では、エンコーダは、フィルタリングされていない再構成されたブロック、および/または、バッファユニット216に格納される対応するサンプル値を、任意のタイプの推定および/または予測、例えば、イントラ予測に使用するように構成されてよい。
【0118】
例えば、ある実施形態では、エンコーダ20は、バッファユニット216がイントラ予測ユニット254用の再構成されたブロック215を格納するために使用されるだけでなく、ループフィルタユニット220(
図2には描写されていない)にも使用されるように構成されてよい、および/または、例えば、バッファユニット216および復号された画像バッファユニット230が1つのバッファを形成するように構成されてよい。他の実施形態では、フィルタリングされたブロック221および/または復号された画像バッファ230からのブロックまたはサンプル(
図2にはブロックもサンプルも描写されていない)が、イントラ予測ユニット254の入力または基礎として使用される。
【0119】
ループフィルタユニット220(簡単に「ループフィルタ」220と呼ばれる)は、再構成されたブロック215をフィルタリングしてフィルタリングされたブロック221を取得して、ピクセル遷移の平滑化またはビデオ品質の改善を行うように構成される。ループフィルタユニット220は、ブロック解除フィルタ、サンプル適応型オフセット(sample-adaptive offset、SAO)フィルタ、または別のフィルタ、例えば、バイラテラルフィルタ、適応型ループフィルタ(adaptive loop filter、ALF)、鮮鋭化フィルタもしくは平滑化フィルタ、または協調フィルタなどの、1つまたは複数のループフィルタを表すことを意図している。
図2にはループフィルタユニット220がループ内フィルタとして示されているが、他の構成では、ループフィルタユニット220がポストループフィルタとして実装されてもよい。フィルタリングされたブロック221は、フィルタリング済みの再構成されたブロック221と呼ばれることもある。復号された画像バッファ230は、再構成された符号化済みのブロックに対するフィルタリング演算をループフィルタユニット220が実行した後、再構成された符号化済みのブロックを格納してよい。
【0120】
ある実施形態では、エンコーダ20(それに対応して、ループフィルタユニット220)は、ループフィルタパラメータ(サンプル適応型オフセット情報など)を、例えば、直接出力するか、エントロピ符号化ユニット270または任意の他のエントロピ符号化ユニットによりエントロピ符号化が実行された後に出力するように構成されてよく、その結果、例えば、デコーダ30は、同じループフィルタパラメータを受信し、同じループフィルタパラメータを復号に適用することができる。
【0121】
復号された画像バッファ(decoded picture buffer、DPB)230は、エンコーダ20によるビデオデータの符号化で使用するための参照画像データを格納する参照画像メモリであってよい。DPB230は、ダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM)(シンクロナスDRAM(synchronous DRAM、SDRAM)、磁気抵抗RAM(magnetoresistive RAM、MRAM)、および抵抗RAM(resistive RAM、RRAM(登録商標))を含む)などの様々なメモリデバイスのいずれか1つ、または別のタイプのメモリデバイスにより形成されてよい。DPB230およびバッファ216は、同じメモリデバイスまたは別個のメモリデバイスにより提供されてよい。ある例では、復号された画像バッファ(decoded picture buffer、DPB)230は、フィルタリングされたブロック221を格納するように構成される。復号された画像バッファ230は更に、同じ現在の画像または異なる画像、例えば、以前に再構成された画像の以前にフィルタリングされた別のブロック、例えば、以前に再構成およびフィルタリングされたブロック221を格納するように構成されてよく、以前に再構成された、すなわち、復号された完全な画像(および、対応する参照ブロックおよびサンプル)および/または部分的に再構成された現在の画像(および、対応する参照ブロックおよびサンプル)を、例えば、インター予測のために提供してよい。ある例では、再構成されたブロック215がループフィルタリングなしで再構成された場合、復号された画像バッファ(decoded picture buffer、DPB)230は、再構成されたブロック215を格納するように構成される。
【0122】
予測処理ユニット260は、ブロック予測処理ユニット260とも呼ばれ、画像ブロック203(現在の画像201の現在の画像ブロック203)と、再構成された画像データ、例えば、バッファ216からの同じ(現在の)画像の参照サンプル、および/または、復号された画像バッファ230からの1つまたは複数の以前に復号された画像の参照画像データ231とを、受信または取得するように構成され、係るデータを予測のために処理する、すなわち、インター予測ブロック245またはイントラ予測ブロック255であり得る予測ブロック265を提供するように構成される。
【0123】
モード選択ユニット262は、残差ブロック205の計算および再構成されたブロック215の再構成のために、予測ブロック265として使用される対応する予測ブロック245もしくは255、および/または、予測モード(例えば、イントラ予測モードまたはインター予測モード)を選択するように構成されてよい。
【0124】
ある実施形態では、モード選択ユニット262は、(例えば、予測処理ユニット260によりサポートされる予測モードの中から)予測モードを選択するように構成されてよい。予測モードは、最善一致または最小残差(最小残差とは、伝送または格納にとってより良好な圧縮を意味する)を提供するか、最小シグナリングオーバヘッド(最小シグナリングオーバヘッドとは、伝送または格納にとってより良好な圧縮を意味する)を提供するか、その両方の考慮またはバランシングを行う。モード選択ユニット262は、レート歪み最適化(rate distortion optimization、RDO)に基づいて予測モードを決定するように構成されてよい。すなわち、最小レート歪み最適化を提供する予測モードを選択するか、関連するレート歪みが少なくとも予測モードの選択基準を満たす予測モードを選択するように構成されてよい。
【0125】
以下では、例示的なエンコーダ20により実行される予測処理(例えば、予測処理ユニット260により実行される)およびモード選択(例えば、モード選択ユニット262により実行される)について詳細に説明する。
【0126】
上記のように、エンコーダ20は、一組の(予め決定された)予測モードから最善または最適な予測モードを決定または選択するように構成される。一組の予測モードは、例えば、イントラ予測モードおよび/またはインター予測モードを含んでよい。
【0127】
一組のイントラ予測モードは、35個の異なるイントラ予測モード、例えば、DC(または平均)モードおよび平面モードなどの無指向性モード、または、H.265で定義されているもののような指向性モードを含んでもよいし、67個の異なるイントラ予測モード、例えば、DC(または平均)モードおよび平面モードなどの無指向性モード、または、開発中のH.266で定義されているもののような指向性モードを含んでもよい。
【0128】
考えられる実装では、一組のインター予測モードは、利用可能な参照画像(すなわち、例えば、上記のような、DPB230に格納される少なくとも幾つかの復号された画像)および他のインター予測パラメータに依存し、例えば、参照画像全体または参照画像の一部のみ、例えば、現在のブロックの領域の周りにある検索ウィンドウ領域が、最善に一致する参照ブロックの検索に使用されるかどうかに依存し、および/または、例えば、半ピクセル補間および/または1/4ピクセル補間などのピクセル補間が適用されるかどうかに依存する。一組のインター予測モードは、例えば、高度動きベクトル予測(Advanced Motion Vector Prediction、AMVP)モードと、マージ(merge)モードとを含んでよい。特定の実装では、一組のインター予測モードは、本発明の実施形態における、改良された制御点ベースのAMVPモードと、改良された制御点ベースのマージモードとを含んでよい。ある例では、イントラ予測ユニット254は、以下で説明するインター予測技術の任意の組み合わせを実行するように構成されてよい。
【0129】
前述の予測モードに加えて、本発明の実施形態では、スキップモードおよび/または直接モードが適用されてもよい。
【0130】
予測処理ユニット260は更に、例えば、四分木(quad-tree、QT)区分化、二分木(binary-tree、BT)区分化、三分木(triple-tree、TT)区分化、またはそれらの任意の組み合わせを繰り返し使用することにより、画像ブロック203をより小さなブロックパーティションまたはサブブロックへと区分化し、且つ、例えば、これらのブロックパーティションまたはサブブロックの各々について予測を実行するように構成されてよく、モード選択は、区分化された画像ブロック203の木構造の選択と、これらのブロックパーティションまたはサブブロックの各々に適用される予測モードの選択とを含む。
【0131】
インター予測ユニット244は、動き推定(motion estimation、ME)ユニット(
図2には描写されていない)と、動き補償(motion compensation、MC)ユニット(
図2には描写されていない)とを含んでよい。動き推定ユニットは、画像ブロック203(現在の画像201の現在の画像ブロック203)および復号された画像231、または、少なくとも1つまたは複数の以前に再構成されたブロック、例えば、1つまたは複数の以前に復号された他の/異なる画像231の再構成されたブロックを、動き推定のために受信または取得するように構成される。例えば、ビデオシーケンスは、現在の画像と、以前に復号された画像31とを含んでよい。つまり、現在の画像と、以前に復号された画像31とは、ビデオシーケンスを形成する一連の画像の一部であっても、一連の画像を形成してもよい。
【0132】
例えば、動き推定ユニット(
図2には描写されていない)は、複数の他の画像のうちの同じ画像または異なる画像の複数の参照ブロックの中からある参照ブロックを選択すること、および、動き補償ユニット(
図2には描写されていない)に参照画像を提供すること、および/または、動きベクトル(参照ブロックの位置(座標XおよびY))と現在のブロックの位置との間のオフセット(空間的オフセット)を、インター予測パラメータとして提供することを行うように構成されてよい。このオフセットは、動きベクトル(motion vector、MV)とも呼ばれる。
【0133】
動き補償ユニットは、インター予測パラメータを取得し、当該インター予測パラメータに基づいて、またはそれを使用することによりインター予測を実行して、インター予測ブロック245を取得するように構成される。動き補償ユニット(
図2には描写されていない)により実行される動き補償は、動き推定により決定される動き/ブロックベクトルに基づいて予測ブロックを抽出または生成することを含んでよい(サブサンプルの精度レベルで補間が実行されてよい)。補間フィルタリングによって、既知のピクセルサンプルから更なるピクセルサンプルが生成されてよく、それにより、画像ブロックのコーディングに使用され得る候補予測ブロックの数が潜在的に増加する。動き補償ユニット246は、現在の画像ブロックのPUの動きベクトルを受信すると、複数の参照画像リストのうちの1つにおいて動きベクトルが指し示す予測ブロックの位置を特定してよい。動き補償ユニット246は更に、ビデオスライスの画像ブロックを復号する際にビデオデコーダ30により使用される、ブロックおよびビデオスライスに関連付けられる構文要素を生成してよい。
【0134】
具体的には、インター予測ユニット244は、エントロピ符号化ユニット270に構文要素を伝送してよく、構文要素は、インター予測パラメータ(例えば、複数のインター予測モードがトラバースされた後に現在のブロックの予測のために選択されるインター予測モードの指示情報、または、現在の画像ブロックの動きベクトル差の長さのインデックス値および現在の画像ブロックの動きベクトル差の方向のインデックス値のうちの少なくとも一方)を含む。考えられる適用シナリオでは、インター予測モードが1つしかない場合に、インター予測パラメータは代替的に、構文要素に保持されていないことがある。この場合は、デコーダ側30は、デフォルト予測モードで復号を直接実行してよい。インター予測ユニット244は、インター予測技術の任意の組み合わせを実行するように構成され得ることを理解できる。
【0135】
イントラ予測ユニット254は、画像ブロック203(現在の画像ブロック)と、同じ画像の1つまたは複数の以前に再構成されたブロック、例えば、再構成された近接ブロックとをイントラ推定のために取得する、例えば、受信するように構成される。エンコーダ20は、例えば、複数の(予め決定された)イントラ予測モードの中からあるイントラ予測モードを選択するように構成されてよい。
【0136】
ある実施形態では、エンコーダ20は、最適化基準に従って、例えば、最小残差(例えば、現在の画像ブロック203と最も類似している予測ブロック255を提供するイントラ予測モード)または最小レート歪みに基づいて、イントラ予測モードを選択するように構成されてよい。
【0137】
イントラ予測ユニット254は更に、例えば、選択されたイントラ予測モードのイントラ予測パラメータに基づいて、イントラ予測ブロック255を決定するように構成される。いずれにせよ、ブロックのイントラ予測モードを選択した後、イントラ予測ユニット254は更に、イントラ予測パラメータ、すなわち、ブロックの選択されたイントラ予測モードを示す情報をエントロピ符号化ユニット270に提供するように構成される。ある例では、イントラ予測ユニット254は、イントラ予測技術の任意の組み合わせを実行するように構成されてよい。
【0138】
具体的には、イントラ予測ユニット254は、エントロピ符号化ユニット270に構文要素を伝送してよく、構文要素は、イントラ予測パラメータ(例えば、複数のイントラ予測モードがトラバースされた後、現在のブロックの予測のために選択されるイントラ予測モードの指示情報)を含む。考えられる適用シナリオでは、イントラ予測モードが1つしかない場合に、イントラ予測パラメータは代替的に、構文要素に保持されていないことがある。この場合は、デコーダ側30は、デフォルト予測モードで復号を直接実行してよい。
【0139】
エントロピ符号化ユニット270は、エントロピ符号化アルゴリズムまたはスキーム(例えば、可変長コーディング(variable length coding、VLC)スキーム、コンテキスト適応型VLC(context adaptive VLC、CAVLC)スキーム、算術コーディングスキーム、コンテキスト適応型バイナリ算術コーディング(context adaptive binary arithmetic coding、CABAC)、構文ベースのコンテキスト適応型バイナリ算術コーディング(syntax-based context-adaptive binary arithmetic coding、SBAC)、確率区間区分化エントロピ(probability interval partitioning entropy、PIPE)コーディング、または別のエントロピコーディングの方法または技術)を、量子化係数209、インター予測パラメータ、イントラ予測パラメータ、および/またはループフィルタパラメータのうちの1つまたは全てに適用(またはバイパス)して、例えば、符号化されたビットストリーム21の形態で出力272を介して出力され得る符号化された画像データ21を取得するように構成される。符号化されたビットストリームは、ビデオデコーダ30に伝送されても、ビデオデコーダ30による後の伝送または取得のためにアーカイブされてもよい。エントロピ符号化ユニット270は更に、符号化されている現在のビデオスライスの別の構文要素をエントロピ符号化するように構成されてよい。
【0140】
ビデオエンコーダ20の他の構造的変形が、ビデオストリームを符号化するように構成されてもよい。例えば、非変換ベースのエンコーダ20が、幾つかのブロックまたはフレームについて、変換処理ユニット206なしで残差信号を直接量子化してよい。別の実装では、エンコーダ20は、単一のユニットに組み合わされ得る量子化ユニット208および逆量子化ユニット210を含む。
【0141】
具体的には、本発明のこの実施形態では、エンコーダ20は、以下の実施形態で説明するインター予測方法を実装するように構成され得る。
【0142】
ビデオエンコーダ20の他の構造的変形が、ビデオストリームを符号化するように構成され得ることを理解されたい。例えば、幾つかの画像ブロックまたは画像フレームについて、ビデオエンコーダ20は、変換処理ユニット206により処理することなく、且つ、それに対応して、逆変換処理ユニット212により処理することなく、残差信号を直接量子化してよい。代替的に、幾つかの画像ブロックまたは画像フレームについて、ビデオエンコーダ20は、残差データを生成せず、それに対応して、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、および逆変換処理ユニット212が処理を実行する必要はない。代替的に、ビデオエンコーダ20は、フィルタ220により処理することなく、再構成された画像ブロックを参照ブロックとして直接格納してよい。代替的に、ビデオエンコーダ20内の量子化ユニット208および逆量子化ユニット210は、一緒に組み合わされてもよい。ループフィルタ220は任意選択的である。無損失圧縮符号化の場合は、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、および逆変換処理ユニット212は任意選択的である。異なる適用シナリオでは、インター予測ユニット244およびイントラ予測ユニット254が選択的に使用され得ることを理解されたい。
【0143】
図3は、本発明のある実施形態を実装するように構成される例示的なデコーダ30の概略/概念ブロック図である。ビデオデコーダ30は、例えば、エンコーダ20により符号化される、符号化された画像データ(例えば、符号化されたビットストリーム)21を受信して、復号された画像231を取得するように構成される。復号プロセスでは、ビデオデコーダ30は、ビデオデータ、例えば、符号化されたビデオスライスの画像ブロックと、関連付けられる構文要素とを表す、符号化されたビデオビットストリームをビデオエンコーダ20から受信する。
【0144】
図3の例では、デコーダ30は、エントロピ復号ユニット304、逆量子化ユニット310、逆変換処理ユニット312、再構成ユニット314(例えば、アナログ加算器314)、バッファ316、ループフィルタ320、復号された画像バッファ330、および予測処理ユニット360を含む。予測処理ユニット360は、インター予測ユニット344、イントラ予測ユニット354、およびモード選択ユニット362を含んでよい。幾つかの例では、ビデオデコーダ30は、
図2のビデオエンコーダ20に関連して説明される符号化パスに対して概して逆の復号パスを実行してよい。
【0145】
エントロピ復号ユニット304は、符号化された画像データ21に対するエントロピ復号を実行して、例えば、量子化係数309および/または復号された符号化パラメータ(
図3には描写されていない)、例えば、(復号された)インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、および/または別の構文要素のいずれか1つまたは全てを取得するように構成される。エントロピ復号ユニット304は更に、インター予測パラメータ、イントラ予測パラメータ、および/または別の構文要素を予測処理ユニット360に転送するように構成される。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルで構文要素を受信してよい。
【0146】
逆量子化ユニット310は、逆量子化ユニット110を同じ機能を有してよい。逆変換処理ユニット312は、逆変換処理ユニット212と同じ機能を有してよい。再構成ユニット314は、再構成ユニット214と同じ機能を有してよい。バッファ316は、バッファ216と同じ機能を有してよい。ループフィルタ320は、ループフィルタ220と同じ機能を有してよい。復号された画像バッファ330は、復号された画像バッファ230と同じ機能を有してよい。
【0147】
予測処理ユニット360は、インター予測ユニット344およびイントラ予測ユニット354を含んでよい。インター予測ユニット344は、インター予測ユニット244と機能が似ていてよく、イントラ予測ユニット354は、イントラ予測ユニット254と機能が似ていてよい。予測処理ユニット360は通例、ブロック予測を実行する、および/または、符号化されたデータ21から予測ブロック365を取得するように構成され、選択された予測モードに関する予測関連パラメータ(例えば、現在の画像ブロックの動きベクトル差の長さのインデックス値、および現在の画像ブロックの動きベクトル差の方向のインデックス値のうちの少なくとも一方)および/または情報を、例えば、エントロピ復号ユニット304から(明示的または暗黙的に)受信または取得するように構成される。
【0148】
ビデオスライスがイントラコーディングされた(I)スライスとしてコーディングされる場合は、予測処理ユニット360のイントラ予測ユニット354は、シグナリングされたイントラ予測モードと、現在のフレームまたは画像の以前に復号されたブロックからのデータとに基づいて、現在のビデオスライスの画像ブロックについて予測ブロック365を生成するように構成される。ビデオフレームがインターコーディングされた(BまたはP)スライスとしてコーディングされる場合は、予測処理ユニット360のインター予測ユニット344(例えば、動き補償ユニット)は、エントロピ復号ユニット304から受信される動きベクトルおよび別の構文要素(例えば、構文要素は、現在の画像ブロックの動きベクトル差の長さのインデックス値、および現在の画像ブロックの動きベクトル差の方向のインデックス値のうちの少なくとも一方であってよい)に基づいて、現在のビデオスライスのビデオブロックについて予測ブロック365を生成するように構成される。インター予測の場合は、予測ブロックは、1つの参照画像リスト内の複数の参照画像のうちの1つから生成されてよい。ビデオデコーダ30は、DPB330に格納される参照画像に基づいて、デフォルトの構築技術を使用することにより、リスト0およびリスト1という参照フレームリストを構築してよい。
【0149】
予測処理ユニット360は、動きベクトルおよび/または別の構文要素を解析することにより現在のビデオスライスのビデオブロックについて予測情報を決定するように構成され、当該予測情報を使用して、復号されている現在のビデオブロックについて予測ブロックを生成するように構成される。本発明の例では、予測処理ユニット360は、幾つかの受信された構文要素を使用することにより、ビデオスライス内のビデオブロックを符号化するための予測モード(例えば、イントラ予測またはインター予測)と、インター予測スライスタイプ(例えば、Bスライス、Pスライス、またはGPBスライス)と、スライスの参照画像リストのうちの1つまたは複数の構築情報と、スライス内のインター符号化された各ビデオブロックの動きベクトルと、スライス内のインター符号化された各ビデオブロックのインター予測状態と、他の情報とを決定して、現在のビデオスライス内のビデオブロックを復号する。本開示の別の例では、ビデオデコーダ30によりビットストリームから受信される構文要素は、適応型パラメータセット(adaptive parameter set、APS)、シーケンスパラメータセット(sequence parameter set、SPS)、画像パラメータセット(picture parameter set、PPS)、またはスライスヘッダのうちの1つまたは複数における構文要素を含む。
【0150】
逆量子化ユニット310は、ビットストリームで提供され、且つ、エントロピ復号ユニット304により復号される、量子化された変換係数を逆量子化(すなわち、量子化解除)するように構成されてよい。逆量子化プロセスは、ビデオスライス内の各ビデオブロックについてビデオエンコーダ20により計算される量子化パラメータを使用して、適用されるべき量子化の程度、同様に、適用されるべき逆量子化の程度を決定することを含んでよい。
【0151】
逆変換処理ユニット312は、逆変換(例えば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセス)を変換係数に適用して、ピクセル領域に残差ブロックを生成するように構成される。
【0152】
再構成ユニット314(例えば、アナログ加算器314)は、例えば、再構成された残差ブロック313のサンプル値と予測ブロック365のサンプル値とを加算することにより、逆変換ブロック313(すなわち、再構成された残差ブロック313)を予測ブロック365に加算して、サンプル領域内の再構成されたブロック315を取得するように構成される。
【0153】
(コーディングループ中またはコーディングループ後の)ループフィルタユニット320は、再構成されたブロック315をフィルタリングしてフィルタリングされたブロック321を取得して、ピクセル遷移の平滑化またはビデオ品質の改善を行うように構成される。ある例では、ループフィルタユニット320は、以下で説明するフィルタリング技術の任意の組み合わせを実行するように構成されてよい。ループフィルタユニット320は、ブロック解除フィルタ、サンプル適応型オフセット(sample-adaptive offset、SAO)フィルタ、または別のフィルタ、例えば、バイラテラルフィルタ、適応型ループフィルタ(adaptive loop filter、ALF)、鮮鋭化フィルタもしくは平滑化フィルタ、または協調フィルタなどの、1つまたは複数のループフィルタを表すことを意図している。
図3にはループフィルタユニット320がループ内フィルタとして示されているが、他の構成では、ループフィルタユニット320がポストループフィルタとして実装されてもよい。
【0154】
次に、所与のフレームまたは画像における復号されたビデオブロック321が、後続の動き補償に使用される参照画像を格納する復号された画像バッファ330に格納される。
【0155】
デコーダ30は、例えば、復号された画像31を、ユーザへの提示またはユーザによる閲覧のために、出力332を介して出力するように構成される。
【0156】
ビデオデコーダ30の他の変形が、圧縮されたビットストリームを復号するように構成されてもよい。例えば、デコーダ30は、ループフィルタユニット320なしで出力ビデオストリームを生成してよい。例えば、非変換ベースのデコーダ30が、幾つかのブロックまたはフレームについて、逆変換処理ユニット312なしで残差信号を直接逆量子化してよい。別の実装では、ビデオデコーダ30は、単一のユニットに組み合わされ得る逆量子化ユニット310および逆変換処理ユニット312を含む。
【0157】
具体的には、本発明のこの実施形態では、デコーダ30は、以下の実施形態で説明するインター予測方法を実装するように構成される。
【0158】
ビデオデコーダ30の他の構造的変形が、符号化されたビデオビットストリームを復号するように構成され得ることを理解されたい。例えば、ビデオデコーダ30は、フィルタ320により実行される処理なしで出力ビデオストリームを生成してよい。代替的に、幾つかの画像ブロックまたは画像フレームについて、ビデオデコーダ30のエントロピ復号ユニット304は、復号により量子化係数を取得せず、それに対応して、逆量子化ユニット310および逆変換処理ユニット312が処理を実行する必要はない。ループフィルタ320は任意選択的である。無損失圧縮の場合は、逆量子化ユニット310および逆変換処理ユニット312は任意選択的である。異なる適用シナリオでは、インター予測ユニットおよびイントラ予測ユニットが選択的に使用され得ることを理解されたい。
【0159】
本願のエンコーダ20およびデコーダ30では、ある手順の処理結果を、更に処理した後で次の手順に出力できることを理解されたい。例えば、補間フィルタリング、動きベクトルの導出、またはループフィルタリングなどの手順の後、対応する手順の処理結果に対して、クリップまたはシフトなどの演算が更に実行される。
【0160】
例えば、現在の画像ブロックの制御点の動きベクトル、または、近接するアフィンコーディングブロックの動きベクトルから導出される現在の画像ブロックのサブブロックの動きベクトルが更に処理されてよい。本願ではこれについて限定しない。例えば、動きベクトルの値が特定のビット幅の範囲内に制限される。動きベクトルの許容ビット幅がbitDepthであると仮定すると、動きベクトルの値の範囲は、-2^(bitDepth-1)から2^(bitDepth-1)-1であり、シンボル「^」はべき乗を表す。bitDepthが16である場合は、値の範囲は、-32768から32767である。bitDepthが18である場合は、値の範囲は、-131072から131071である。別の例では、動きベクトル(例えば、8×8画像ブロック内の4つの4×4サブブロックの動きベクトルMV)の値が、4つの4×4サブブロックのMVの整数部分間の最大差がNピクセルを超えない、例えば、1ピクセルを超えないように制限される。
【0161】
動きベクトルを特定のビット幅内に制限するには、以下の2つの方式が使用されてよい。
【0162】
方式1:動きベクトルのオーバフロー最上位ビットが除去される。
ux=(vx+2bitDepth)%2bitDepth
vx=(ux>=2bitDepth-1)?(ux-2bitDepth):ux
uy=(vy+2bitDepth)%2bitDepth
vy=(uy>=2bitDepth-1)?(uy-2bitDepth):uy
【0163】
vxは、画像ブロックまたは画像ブロックのサブブロックの動きベクトルの水平成分を表す。vyは、画像ブロックまたは画像ブロックのサブブロックの動きベクトルの垂直成分を表す。uxおよびuyは中間値である。bitDepthはビット深度を表す。
【0164】
例えば、vxの値は、-32769であり、前述の式に従って32767が導出される。値は2の補数表現でコンピュータに格納され、-32769の2の補数表現は、1,0111,1111,1111,1111(17ビット)であり、オーバフローのためにコンピュータにより実行される処理が最上位ビットを破棄している。従って、vxの値は、0111,1111,1111,1111、すなわち、32767である。この値は、式に従った処理により導出される結果と一致している。
【0165】
方式2:以下の式に示すように、動きベクトルに対してクリッピングが実行される。
vx=Clip3(-2bitDepth-1,2bitDepth-1-1,vx)
vy=Clip3(-2bitDepth-1,2bitDepth-1-1,vy)
【0166】
vxは、画像ブロックまたは画像ブロックのサブブロックの動きベクトルの水平成分を表す。vyは、画像ブロックまたは画像ブロックのサブブロックの動きベクトルの垂直成分を表す。x、y、およびzは、MVクランピングプロセスClip3の3つの入力値に対応する。Clip3は、zの値を範囲[x,y]にクリッピングすることを示すように定義される。
【数1】
【0167】
図4は、本発明のある実施形態に係るビデオコーディングデバイス400(例えば、ビデオ符号化デバイス400またはビデオ復号デバイス400)の概略構造図である。ビデオコーディングデバイス400は、本明細書で説明する実施形態を実装するのに適している。ある実施形態では、ビデオコーディングデバイス400は、ビデオデコーダ(例えば、
図1Aのデコーダ30)またはビデオエンコーダ(例えば、
図1Aのエンコーダ20)であってよい。別の実施形態では、ビデオコーディングデバイス400は、
図1Aのデコーダ30または
図1Aのエンコーダ20の1つまたは複数の構成要素であってよい。
【0168】
ビデオコーディングデバイス400は、データを受信するように構成される入口ポート410および受信ユニット(Rx)420と、データを処理するように構成されるプロセッサ、論理ユニット、または中央処理装置(CPU)430と、データを送信するように構成される送信ユニット(Tx)440および出口ポート450と、データを格納するように構成されるメモリ460とを含む。ビデオコーディングデバイス400は更に、光信号または電気信号が出入りするための入口ポート410、受信ユニット420、送信ユニット440、および出口ポート450に結合される光/電気構成要素および電気/光(EO)構成要素を含んでよい。
【0169】
プロセッサ430は、ハードウェアおよびソフトウェアを使用することにより実装される。プロセッサ430は、1つまたは複数のCPUチップ、コア(例えば、マルチコアプロセッサ)、FPGA、ASIC、およびDSPとして実装されてよい。プロセッサ430は、入口ポート410、受信ユニット420、送信ユニット440、出口ポート450、およびメモリ460と通信する。プロセッサ430は、コーディングモジュール470(例えば、符号化モジュール470または復号モジュール470)を含む。符号化/復号モジュール470は、本明細書で開示する実施形態を実装して、本発明の実施形態で提供するインター予測方法を実装する。例えば、符号化/復号モジュール470は、様々なコーディング演算を実装、処理、または提供する。従って、符号化/復号モジュール470を含めることで、ビデオコーディングデバイス400の機能に実質的な改善を提供し、ビデオコーディングデバイス400の異なる状態への変換に影響を与える。代替的に、符号化/復号モジュール470は、メモリ460に格納され、且つ、プロセッサ430により実行される、命令として実装される。
【0170】
メモリ460は、1つまたは複数のディスク、テープドライブ、およびソリッドステートドライブを含み、プログラムが選択的に実行されるときに係るプログラムを格納し、且つ、プログラムの実行中に読み取られる命令およびデータを格納するための、オーバフローデータ記憶デバイスとして使用されてよい。メモリ460は、揮発性および/または不揮発性であってよく、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、三値連想メモリ(ternary content-addressable memory、TCAM)、および/またはスタティックランダムアクセスメモリ(SRAM)であってよい。
【0171】
図5は、例示的な実施形態に係る
図1Aのソースデバイス12および宛先デバイス14のどちらか一方または両方として使用され得る装置500の簡略化されたブロック図である。装置500は本願の技術を実装することができる。つまり、
図5は、本願のある実施形態に係る符号化デバイスまたは復号デバイス(略してコーディングデバイス500)の実装の概略ブロック図である。コーディングデバイス500は、プロセッサ510、メモリ530、およびバスシステム550を含んでよい。プロセッサおよびメモリは、バスシステムを介して接続される。メモリは、命令を格納するように構成される。プロセッサは、メモリに格納される命令を実行するように構成される。コーディングデバイスのメモリは、プログラムコードを格納する。プロセッサは、メモリに格納されるプログラムコードを呼び出して、本願で説明するビデオ符号化方法またはビデオ復号方法、特に、様々な新しいインター予測方法を実行することができる。繰り返しを避けるために、ここでは詳細について改めて説明しない。
【0172】
本願のこの実施形態では、プロセッサ510が中央処理装置(Central Processing Unit、略して「CPU」)であってもよいし、プロセッサ510が別の汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは別のプログラマブルロジックデバイス、ディスクリートゲートデバイスもしくはトランジスタロジックデバイス、ディスクリートハードウェアコンポーネント、または同様のものであってもよい。汎用プロセッサは、マイクロプロセッサであってもよいし、任意の従来のプロセッサまたは同様のものであってもよい。
【0173】
メモリ530は、リードオンリメモリ(ROM)デバイスまたはランダムアクセスメモリ(RAM)デバイスを含んでよい。代替的に、任意の他の最適なタイプの記憶デバイスがメモリ530として使用されてもよい。メモリ530は、プロセッサ510がバス550を使用することによりアクセスするコードおよびデータ531を含んでよい。メモリ530は更に、オペレーティングシステム533およびアプリケーションプログラム535を含んでよい。アプリケーションプログラム535は、本願で説明するビデオ符号化方法またはビデオ復号方法(特に、本願で説明するインター予測方法)をプロセッサ510が実行できるようにする少なくとも1つのプログラムを含む。例えば、アプリケーションプログラム535は、アプリケーション1からNを含んでよく、更には、本願で説明するビデオ符号化方法またはビデオ復号方法を実行するビデオ符号化アプリケーションまたはビデオ復号アプリケーション(略して、ビデオコーディングアプリケーション)を含む。
【0174】
バスシステム550は、データバスを含むだけでなく、電力バス、制御バス、ステータス信号バス、および同様のものも含んでよい。ただし、説明を明確にするために、この図における様々なタイプのバスがバスシステム550として表されている。
【0175】
オプションで、コーディングデバイス500は更に、1つまたは複数の出力デバイス、例えば、ディスプレイ570を含んでよい。ある例では、ディスプレイ570は、ディスプレイと、タッチ入力を感知するように動作可能なタッチセンシティブユニットとを組み合わせたタッチセンシティブディスプレイであってよい。ディスプレイ570は、バス550を介してプロセッサ510に接続されてよい。
【0176】
以下では、本願の実施形態における解決策について詳細に説明する。
【0177】
インター予測ユニット244、インター予測ユニット344、エンコーダ20、デコーダ30、ビデオコーディングデバイス400、またはコーディングデバイス500により実行されるビデオ符号化方法またはビデオ復号方法でのインター予測は、動き情報の決定を含む。具体的には、動き情報は、動き推定ユニットにより決定されてよく、動き情報は、少なくとも1つのタイプの参照画像情報および動きベクトル情報を含んでよい。参照画像情報は、一方向/双方向予測情報(双方向予測とは、現在の画像ブロックの予測ブロックを決定するために2つの参照ブロックが必要であることを意味し、双方向予測では、2つの参照ブロックを決定するために2グループの動き情報が必要である)、参照画像リストに関する情報、参照画像リストに対応する参照画像インデックスのうちの少なくとも1つを含んでよい。動きベクトル情報は動きベクトルを含んでよく、動きベクトルは水平方向および垂直方向の位置オフセットを指す。動きベクトル情報は更に、動きベクトル差(motion vector difference、MVD)を含んでよい。動き情報の決定および予測ブロックの決定は、以下のモードのうちの1つを含んでよい。
【0178】
AMVPモードでは、エンコーダ側がまず、現在のブロックの空間的または時間的に近接するブロック(例えば、以下に限定されるわけではないが、符号化されたブロック)の動きベクトルに基づいて候補動きベクトルリストを構築し、次に、ビットレート歪みを計算することにより候補動きベクトルリストから現在のブロックの動きベクトル予測因子(Motion vector predictor、MVP)の動きベクトルを決定する。エンコーダ側は、候補動きベクトルリスト内の選択された動きベクトル予測因子のインデックス値と、参照フレーム(参照フレームは、参照画像と呼ばれることもある)のインデックス値とをデコーダ側に転送する。更に、エンコーダ側は、MVP中心の近接領域で動き検索を実行して、現在のブロックのより良好な動きベクトル(動きベクトル目標値とも呼ばれる)を取得する。エンコーダ側は、MVPと最善動きベクトルとの差(Motion vector difference)をデコーダ側に転送する。デコーダ側はまず、現在のブロックの空間的または時間的に近接するブロック(例えば、以下に限定されるわけではないが、復号されたブロック)の動きベクトルを使用することにより候補動きベクトルリストを構築し、候補動きベクトルリストおよび候補動きベクトルリスト内の動きベクトル予測因子の取得されたインデックス値に基づいて動きベクトル予測因子を取得し、MVPと当該より良好な動きベクトルとの取得された差に基づいてより良好な動きベクトルを取得し、当該より良好な動きベクトルと、参照フレームのインデックス値に基づいて取得される参照フレームとに基づいて、現在のブロックの予測ブロックを取得する。なお、候補動きベクトルリストにある候補が1つの場合は、候補動きベクトルリスト内の選択された動きベクトル予測因子のインデックス値が伝送されないことがある。
【0179】
エンコーダ側は、ソースデバイス12、ビデオコーディングシステム40、エンコーダ20、ビデオコーディングデバイス400、またはコーディングデバイス500であってよい。デコーダ側は、宛先デバイス14、ビデオコーディングシステム40、デコーダ30、ビデオコーディングデバイス400、またはコーディングデバイス500であってよい。候補動きベクトルリスト内の動きベクトル予測因子のインデックス値と、参照フレーム(参照フレームは、参照画像と呼ばれることもある)のインデックス値とは、前述の説明で伝送に使用される構文要素であってよい。
【0180】
マージモードでは、エンコーダ側がまず、現在のブロックの空間的または時間的に近接するブロック(例えば、以下に限定されるわけではないが、符号化されたブロック)の動き情報に基づいて候補動き情報リストを構築し、レート歪みを計算することにより候補動き情報リストから最善動き情報を現在のブロックの動き情報として決定し、候補動き情報リストからの最善動き情報(現在のブロックの動き情報、または現在のブロックの動き情報の予測情報とも呼ばれる)の位置のインデックス値(以下の説明にも適用されるマージインデックスとして示される)をデコーダ側に転送する。
図6には、現在のブロックの空間的および時間的な候補動き情報が示されている。空間的な候補動き情報は、5つの空間的に近接するブロック(A0、A1、B0、B1、およびB2)の動き情報である。近接ブロックが利用できないか、イントラコーディングモードが使用される場合は、空間的な候補動き情報は候補動き情報リストに追加されない。現在のブロックの時間的な候補動き情報は、参照フレームと現在のフレームの画像順序カウント(Picture order count、POC)とに基づいて参照フレーム内の併置されたブロックのMVをスケーリングすることにより取得される。まず、参照フレーム内の位置T0にあるブロックを利用できるかどうかが決定される。ブロックを利用できない場合は、位置T1にあるブロックが選択される。デコーダ側はまず、現在のブロックの空間的または時間的に近接するブロック(例えば、以下に限定されるわけではないが、復号されたブロック)の動き情報に基づいて候補動き情報リストを構築し、動き情報リスト内の動き情報は、動きベクトルと参照フレームのインデックス値とを含む。デコーダ側は次に、候補動き情報リストと、候補動き情報リスト内の最善動き情報の位置のインデックス値とに基づいて、最善動き情報を取得し、最善動き情報に基づいて現在のブロックの予測ブロックを取得する。なお、候補動き情報リストにある候補が1つの場合は、候補動き情報リスト内の最善動き情報の位置のインデックス値が伝送されないことがある。
【0181】
なお、本発明の実施形態における候補動き情報リストは、現在のブロックの空間的または時間的に近接するブロックの動き情報に基づいて構築されるが、これについては限定されない。候補動き情報リストは、空間的に近接するブロックの動き情報、時間的に近接するブロックの動き情報、ペアワイズ平均マージ候補(pairwise average merging candidate)、履歴ベースのマージ候補(history-based merging candidate)、およびゼロ動きベクトル候補(zero motion vector merging candidate)のうちの少なくとも1つを使用することにより構築または改良されてよい。構築プロセスの詳細な説明については、JVET-L1001-v6を参照されたい。本発明の実施形態はそれに限定されない。
【0182】
動きベクトル差を有するマージモード(merge mode with motion vector difference、MMVD)では、マージモードに基づくMVD伝送が追加される。具体的には、エンコーダ側は更に、候補動き情報リスト内の最善動き情報を中心に近接領域で動き検索を実行して、現在のブロックのより良好な動きベクトル(動きベクトル目標値と呼ばれることもある)を取得し、エンコーダ側は、当該より良好な動きベクトルと、候補動き情報リスト内の最善動き情報に含まれる動きベクトルとの差(Motion vector difference)をデコーダ側に伝送する。最善動き情報を取得した後、デコーダ側は更に、当該差と、候補動き情報リスト内の最善動き情報に含まれる動きベクトルとに基づいて、より良好な動きベクトルを取得し、次に、当該より良好な動きベクトルと、候補動き情報リスト内の最善動き情報に含まれる参照フレームのインデックス値で示される参照フレームとに基づいて、現在のブロックの予測ブロックを取得する。
【0183】
なお、MMVDモードは、スキップモードに基づくMVD伝送が追加されたモードである。マージモードと比較すると、スキップモードは、現在のブロックの予測ブロックと現在のブロックの元のブロックとの間の残差情報として理解され得る。同様に、スキップモードに基づいて、エンコーダ側は更に、候補動き情報リスト内の最善動き情報を中心に近接領域で動き検索を実行して、現在のブロックのより良好な動きベクトルを取得し、エンコーダ側は、当該より良好な動きベクトルと、候補動き情報リスト内の最善動き情報に含まれる動きベクトルとの差(Motion vector difference)をデコーダ側に伝送する。最善動き情報を取得した後、デコーダ側は更に、当該差と、候補動き情報リスト内の最善動き情報に含まれる動きベクトルとに基づいて、より良好な動きベクトルを取得し、次に、当該より良好な動きベクトルと、候補動き情報リスト内の最善動き情報に含まれる参照フレームのインデックス値で示される参照フレームとに基づいて、現在のブロックの予測ブロックを取得する。スキップモードの説明については、既存のH.266ドラフト(作業ドラフト、例えば、JVET-L1001-v6)を参照されたい。ここでは詳細について改めて説明しない。
【0184】
MMVDモードでは、VVC内の複数のマージ候補が使用される。これらのマージ候補のうちの1つまたは複数が選択され、次に、選択された1つまたは複数の候補に基づいてMV拡張式が実行される。MV拡張式は、簡略化された識別方法を使用することにより実装される。識別方法は、MVの開始点と、動きステップと、動き方向とを識別する段階を含む。既存のマージ候補リストを使用することにより、選択された候補は、MRG_TYPE_DEFAULT_Nモードであってよい。選択された候補に基づいて、MVの初期位置が決定される。基本候補IDX(表1)は、候補リスト内の最良候補として選択される特定の候補を示す。
【表1】
【0185】
基本候補IDXは、候補動き情報リスト内の最善動き情報の位置のインデックス値を表す。N番目のMVPは、候補動き情報リスト内のN番目の項目がMVPであることを示す。
【0186】
MVDが伝送されると、xおよびyなどのオフセット値が伝送されてもよいし、MVDの長さおよびMVDの方向が伝送されてもよいし、MVDの長さのインデックス値(1/4ピクセル距離から32ピクセル距離を示す)と、MVDの方向(上、下、左、または右)のインデックス値とが伝送されてもよい。
【0187】
MVDの長さのインデックス値は、MVDの長さを示すために使用される。MVDの長さのインデックス値(Distance IDX)と、MVDの長さ(Pixel distance)との間の対応関係が予め設定されてよく、当該対応関係は表2に示され得る。
【表2】
【0188】
MVDの方向のインデックス値は、MVDの方向を示すために使用される。MVDの方向のインデックス値(Direction IDX)と、MVDの方向(x軸またはy軸)との間の対応関係が予め設定されてよく、当該対応関係は表3に示され得る。
【表3】
【0189】
表3では、y軸の値がN/Aである場合、それは、MVDの方向がy軸の方向と無関係であることを示してよく、x軸の値がN/Aである場合、それは、MVDの方向がx軸の方向と無関係であることを示してよい。
【0190】
復号プロセスでは、MMVDフラグ(mmvd_flag、現在のブロックがMMVDモードで復号されるかどうかを示すために使用される)が、スキップフラグ(cu_skip_flag、現在のブロックがスキップモードで復号されるかどうかを示すために使用される)またはマージフラグ(merge_flag、現在のブロックがマージモードで復号されるかどうかを示すために使用される)の後に解析される。スキップフラグまたはマージフラグが真である場合は、MMVDフラグの値を解析する必要がある。MMVDフラグが真である場合は、MMVDに対応する他のフラグ値を符号化または復号する必要がある。
【0191】
更に、双方向インター予測(または、双方向予測と呼ばれる)シナリオでは、デコーダ側またはエンコーダ側が、一方向のみのMVD情報を復号または符号化してよく、他方向のMVD情報は、一方向のMVD情報に基づいて取得されてよい。具体的なプロセスは以下の通りであってよい。
【0192】
具体的には、一方向のMVDに対応する参照フレームと、他方向のMVDに対応する参照フレームとが同じ方向または反対方向のどちらにあるかは、現在のブロックが配置されるフレームのPOC値と、これら2つの方向の参照フレームのPOC値とに基づいて決定されてよい。例えば、現在のブロックが配置されるフレームのPOC値から一方向の参照フレームのPOC値を減算することにより取得される第1の差のプラス符号またはマイナス符号が、現在のブロックが配置されるフレームのPOC値から他方向の参照フレームのPOC値を減算することにより取得される第2の差のプラス符号またはマイナス符号と同じである場合は、一方向のMVDに対応する参照フレームと、他方向のMVDに対応する参照フレームとは同じ方向にある。そうでなければ、現在のブロックが配置されるフレームのPOC値から一方向の参照フレームのPOC値を減算することにより取得される第1の差のプラス符号またはマイナス符号が、現在のブロックが配置されるフレームのPOC値から他方向の参照フレームのPOC値を減算することにより取得される第2の差のプラス符号またはマイナス符号と反対である場合は、一方向のMVDに対応する参照フレームと、他方向のMVDに対応する参照フレームとは異なる方向にある。
【0193】
なお、参照フレームの方向は、現在のフレーム(現在のブロックが配置されるフレーム)の方向に対する参照フレームの方向、または参照フレームの方向に対する現在のフレームの方向であってよい。特定の実装プロセスでは、一方向のMVDに対応する参照フレームと、他方向のMVDに対応する参照フレームとが同じ方向または反対方向のどちらにあるかは、現在のフレームのPOC値から現在のフレームのPOC値を減算することにより取得される差に基づいて決定されてもよいし、参照フレームのPOC値から現在のフレームのPOC値を減算することにより取得される差に基づいて決定されてもよい。
【0194】
一方向のMVDに対応する参照フレームと、他方向のMVDに対応する参照フレームとが同じ方向にある場合は、他方向のMVDの符号が一方向のMVDの符号と同じである。例えば、一方向のMVDが(x、y)である場合は、他方向のMVDは(x、y)である。具体的には、一方向のMVDは、一方向のMVDの長さのインデックス値と、一方向のMVDの方向のインデックス値とに基づいて取得されてよい。
【0195】
代替的に、一方向のMVDに対応する参照フレームと、他方向のMVDに対応する参照フレームとが異なる方向にある場合は、他方向のMVDの符号が一方向のMVDの符号と反対である。例えば、一方向のMVDが(x、y)である場合は、他方向のMVDは(-x、-y)である。
【0196】
一方向のMVD、第1POC差、および第2POC差に基づいて他方向のMVDをスケーリングして、他方向のより良好なMVDを取得する。第1POC差は、現在のブロックが配置されるフレームのPOC値と、一方向のMVDに対応する参照フレームのPOC値との差であり、第2POC差は、現在のブロックが配置されるフレームのPOC値と、他方向のMVDに対応する参照フレームのPOC値との差である。スケーリング方法の具体的な説明については、既存のH.266ドラフト(作業ドラフト、例えば、JVET-L1001-v6)を参照されたい。ここでは詳細について説明しない。
【0197】
前述のMVD解決策は更に最適化され得る。例えば、ピクセル距離の値が比較的大きなインデックス値はほとんど使用されず、MVDの方向の値は4つの方向のみを示すことができ、特定のプロセスでは、一方向のMVD、第1POC差、および第2POC差に基づいて他方向のMVDをスケーリングして、他方向のより良好なMVDを取得する段階(3)は複雑である。従って、本発明の実施形態は、一連の改善された解決策を提供する。
【0198】
図7は、本発明のある実施形態に係るインター予測方法の概略フローチャートである。方法は、宛先デバイス14、ビデオコーディングシステム40、デコーダ30、ビデオコーディングデバイス400、またはコーディングデバイス500により実行されてよい。方法は、具体的には、ビデオデコーダ30により実行されてもよいし、具体的には、エントロピ復号ユニット304および予測処理ユニット360(または、例えば、予測処理ユニット360内のインター予測ユニット344)により実行されてもよい。方法は以下の段階を含んでよい。
【0199】
S701:現在の画像ブロックの動きベクトル予測因子を取得する。
【0200】
特定の実装プロセスでは、現在の画像ブロックの動きベクトル予測因子を取得する段階は、現在の画像ブロックの候補動き情報リストを構築する段階であって、候補動き情報リストはL個の動きベクトルを含み、Lは、1、3、4、または5である、構築する段階と、候補動き情報リスト内の現在の画像ブロックの動き情報の予測情報のインデックス値を取得する段階であって、現在の画像ブロックの動き情報の予測情報は、動きベクトル予測因子を含む、取得する段階と、候補動き情報リストと、候補動き情報リスト内の現在の画像ブロックの動き情報のインデックス値とに基づいて、動きベクトル予測因子を取得する段階とを含んでよい。現在の画像ブロックの候補動き情報リストは、マージ候補動き情報リストであってよい。それに対応して、本発明のこの実施形態で提供するインター予測方法は、MMVDモードに適用されてよい。
【0201】
候補動き情報リスト内のインデックス値は、可変長コーディング形態のインデックス値であってよい。例えば、Lが3である場合は、1を使用して候補動き情報リスト内の第1項目を示してよく、01を使用して候補動き情報リスト内の第2項目を示してよく、00を使用して候補動き情報リスト内の第3項目を示してよい。代替的に、Lが4である場合は、1を使用して候補動き情報リスト内の第1項目を示してよく、01を使用して候補動き情報リスト内の第2項目を示してよく、001を使用して候補動き情報リスト内の第3項目を示してよく、000を使用して候補動き情報リスト内の第4項目を示してよい。他のものは類推により推測されてよい。
【0202】
現在の画像ブロックの候補動き情報リストを構築することにより動きベクトル予測因子を取得する方式については、AMVPモード、マージモード、MMVDモード、またはスキップモードなどのモードの前述の説明を参照されたい。ここでは詳細について改めて説明しない。
【0203】
S702:現在の画像ブロックの動きベクトル差の長さのインデックス値を取得する。現在の画像ブロックの動きベクトル差は、動きベクトル予測因子と、現在の画像ブロックの動きベクトル目標値との差を示すために使用される。
【0204】
動きベクトル差の長さのインデックス値は、一組の候補長さ情報内の1つの候補長さ情報を示すために使用されてよい。
【0205】
一組の候補長さ情報は、少なくとも2つの候補長さ情報を含んでもよいし、1つの候補長さ情報を含んでもよい。
【0206】
1つの候補長さ情報は、1つの動きベクトル差の長さを示すために使用されてよく、当該候補長さ情報は、長さ値であってもよいし、長さ値を導出するために使用される情報であってもよい。長さが、ユークリッド距離を使用することにより表されてもよいし、長さが、動きベクトル差の成分xの絶対値および成分yの絶対値を含んでもよい。当然ながら、長さは代替的に、別のノルムを使用することにより表されてもよい。ここではこれについて限定しない。
【0207】
なお、動きベクトルが二次元アレイであるため、動きベクトル差は、二次元アレイを使用することにより表されてよい。動きベクトルが三次元アレイである場合は、動きベクトル差は三次元アレイで表されてよい。
【0208】
S703:長さのインデックス値に基づいて一組の候補長さ情報から目標長さ情報を決定する。一組の候補長さ情報は、N個の動きベクトル差のみの候補長さ情報を含み、Nは1より大きく8より小さい正整数である。
【0209】
Nは4であってよい。幾つかの実現可能な実装では、異なる長さのインデックス値が異なる長さを示してよい。例えば、N個の動きベクトル差の候補長さ情報は、長さのインデックス値が第1の予め設定された値である場合に、目標長さ情報で示される長さがピクセル長の1/4であること、長さのインデックス値が第2の予め設定された値である場合に、目標長さ情報で示される長さがピクセル長の半分であること、長さのインデックス値が第3の予め設定された値である場合に、目標長さ情報で示される長さが1ピクセル長であること、または、長さのインデックス値が第4の予め設定された値である場合に、目標長さ情報で示される長さが2ピクセル長であることのうちの少なくとも1つを含む。なお、第1の予め設定された値から第4の予め設定された値は、順次的になっていないことがあり、互いに独立しており、予め設定された異なる値を区別するために使用されるに過ぎない。当然ながら、第1の予め設定された値から第4の予め設定された値は代替的に、順次的になっていてもよいし、シーケンス属性を有してもよい。幾つかの実現可能な実装では、長さのインデックス値とMVDの長さとの間の対応関係が表4に示され得る。
【表4】
【0210】
「ペル」は「ピクセル」と同じ意味である。例えば、1/4ペルは、ピクセルの1/4の長さを示す。同様の説明については、表2の説明を参照されたい。
【0211】
MmvdDistanceは、MVDの長さを取得するための値を表す。例えば、MVDの長さの値は、MmvdDistanceを右に2ビットだけシフトさせることにより取得され得る。
【0212】
S704:目標長さ情報に基づいて現在の画像ブロックの動きベクトル差を取得する。
【0213】
方法は更に、現在の画像ブロックの動きベクトル差の方向のインデックス値を取得する段階と、方向のインデックス値に基づいてM個の動きベクトル差の候補方向情報から目標方向情報を決定する段階であって、Mは1より大きい正整数である、決定する段階とを含んでよい。
【0214】
M個の動きベクトル差の候補方向情報は、M個の候補方向情報であってよい。
【0215】
動きベクトル差の方向のインデックス値は、M個の動きベクトル差の候補方向情報内の1つの候補方向情報を示すために使用されてよい。
【0216】
1つの候補方向情報は、1つの動きベクトル差の方向を示すために使用されてよい。具体的には、候補方向情報は、プラス符号またはマイナス符号を示す符号であってよく、符号は、動きベクトル差の成分xの符号、または動きベクトル差の成分yの符号、または動きベクトルの成分xの符号および成分yの符号であってよい。代替的に、候補方向情報は、符号を導出するために使用される情報であってよい。
【0217】
特定の実装プロセスでは、目標長さ情報に基づいて現在の画像ブロックの動きベクトル差を取得する段階は、目標方向情報および目標長さ情報に基づいて現在の画像ブロックの動きベクトル差を決定する段階を含んでよい。
【0218】
S705:現在の画像ブロックの動きベクトル差と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル目標値を決定する。
【0219】
幾つかの実現可能な実装では、現在の画像ブロックの動きベクトル差と現在の画像ブロックの動きベクトル予測因子との合計が、現在の画像ブロックの動きベクトル目標値として使用されてよい。
【0220】
S706:現在の画像ブロックの動きベクトル目標値に基づいて現在の画像ブロックの予測ブロックを取得する。
【0221】
インター予測の詳細については、前述の説明を参照されたい。ここでは詳細について改めて説明しない。
【0222】
図8は、本発明のある実施形態に係るインター予測方法の概略フローチャートである。方法は、ソースデバイス12、ビデオコーディングシステム40、エンコーダ20、ビデオコーディングデバイス400、またはコーディングデバイス500により実行されてよい。具体的には、方法は、エンコーダ30内の予測処理ユニット260(または、例えば、予測処理ユニット260内のインター予測ユニット244)により実行されてよい。方法は以下の段階を含んでよい。
【0223】
S801:現在の画像ブロックの動きベクトル予測因子を取得する。
【0224】
プロセスについては、AMVPモード、マージモード、MMVDモード、またはスキップモードの前述の説明を参照されたい。ここでは詳細について改めて説明しない。
【0225】
S802:現在の画像ブロックの動きベクトル予測因子で示される位置の領域で動き検索を実行して、現在の画像ブロックの動きベクトル目標値を取得する。
【0226】
S803:現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差の長さのインデックス値を取得する。現在の画像ブロックの動きベクトル差は、現在の画像ブロックの動きベクトル予測因子と動きベクトル目標値との差を示すために使用され、現在の画像ブロックの動きベクトル差の長さのインデックス値は、予め設定された一組の候補長さ情報内の1つの候補長さ情報を示すために使用され、一組の候補長さ情報は、N個の動きベクトル差のみの候補長さ情報を含み、Nは1より大きく8より小さい正整数である。
【0227】
現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差の長さのインデックス値を取得する段階は、現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差を取得する段階と、現在の画像ブロックの動きベクトル差に基づいて、現在の画像ブロックの動きベクトル差の長さのインデックス値と、現在の画像ブロックの動きベクトル差の方向のインデックス値とを決定する段階とを含んでよい。
【0228】
Nは4であってよい。
【0229】
図8は、
図7で説明するデコーダ側の方法に対応するエンコーダ側の方法について説明する。関連する説明については、
図7または前述の関連する説明を参照されたい。ここでは詳細について改めて説明しない。
【0230】
図9は、本発明のある実施形態に係るインター予測方法の概略フローチャートである。方法は、宛先デバイス14、ビデオコーディングシステム40、デコーダ30、ビデオコーディングデバイス400、またはコーディングデバイス500により実行されてよい。方法は、具体的には、ビデオデコーダ30により実行されてもよいし、具体的には、エントロピ復号ユニット304および予測処理ユニット360(または、例えば、予測処理ユニット360内のインター予測ユニット344)により実行されてもよい。方法は以下の段階を含んでよい。
【0231】
S901:現在の画像ブロックの動きベクトル予測因子を取得する。
【0232】
特定の実装プロセスでは、現在の画像ブロックの動きベクトル予測因子を取得する段階は、現在の画像ブロックの候補動き情報リストを構築する段階であって、候補動き情報リストはL個の動きベクトルを含み、Lは、1、3、4、または5である、構築する段階と、候補動き情報リスト内の現在の画像ブロックの動き情報の予測情報のインデックス値を取得する段階であって、現在の画像ブロックの動き情報の予測情報は、動きベクトル予測因子を含む、取得する段階と、候補動き情報リストと、候補動き情報リスト内の現在の画像ブロックの動き情報のインデックス値とに基づいて、動きベクトル予測因子を取得する段階とを含んでよい。現在の画像ブロックの候補動き情報リストは、マージ候補動き情報リストであってよい。それに対応して、本発明のこの実施形態で提供するインター予測方法は、MMVDモードに適用されてよい。
【0233】
現在の画像ブロックの候補動き情報リストを構築することにより動きベクトル予測因子を取得する方式については、AMVPモード、マージモード、MMVDモード、またはスキップモードなどのモードの前述の説明を参照されたい。ここでは詳細について改めて説明しない。
【0234】
S902:現在の画像ブロックの動きベクトル差の方向のインデックス値を取得する。現在の画像ブロックの動きベクトル差は、動きベクトル予測因子と、現在の画像ブロックの動きベクトル目標値との差を示すために使用される。
【0235】
動きベクトル差の方向のインデックス値は、一組の候補方向情報内の1つの候補方向情報を示すために使用されてよい。
【0236】
一組の候補方向情報は、少なくとも2つの候補方向情報を含んでもよいし、1つの候補方向情報を含んでもよい。
【0237】
1つの候補方向情報は、1つの動きベクトル差の方向を示すために使用されてよい。具体的には、候補方向情報は、プラス符号またはマイナス符号を示す符号であってよく、符号は、動きベクトル差の成分xの符号、または動きベクトル差の成分yの符号、または動きベクトルの成分xの符号および成分yの符号であってよい。代替的に、候補方向情報は、符号を導出するために使用される情報であってよい。
【0238】
なお、動きベクトルが二次元アレイであるため、動きベクトル差は、二次元アレイを使用することにより表されてよい。動きベクトルが三次元アレイである場合は、動きベクトル差は三次元アレイで表されてよい。
【0239】
S903:方向のインデックス値に基づいて一組の候補方向情報から目標方向情報を決定する。一組の候補方向情報は、M個の動きベクトル差の候補方向情報を含み、Mは4より大きい正整数である。
【0240】
Mは8であってよい。幾つかの実現可能な実装では、異なる方向のインデックス値が異なる方向を示してよい。例えば、M個の動きベクトル差の候補方向情報は、方向のインデックス値が第1の予め設定された値である場合に、目標方向情報で示される方向がちょうど右であること、方向のインデックス値が第2の予め設定された値である場合に、目標方向情報で示される方向がちょうど左であること、方向のインデックス値が第3の予め設定された値である場合に、目標方向情報で示される方向がちょうど下であること、方向のインデックス値が第4の予め設定された値である場合に、目標方向情報で示される方向がちょうど上であること、方向のインデックス値が第5の予め設定された値である場合に、目標方向情報で示される方向が右下であること、方向のインデックス値が第6の予め設定された値である場合に、目標方向情報で示される方向が右上であること、方向のインデックス値が第7の予め設定された値である場合に、目標方向情報で示される方向が左下であること、または、方向のインデックス値が第8の予め設定された値である場合に、目標方向情報で示される方向が左上であることのうちの少なくとも1つを含んでよい。なお、第1の予め設定された値から第8の予め設定された値は、順次的になっていないことがあり、互いに独立しており、予め設定された異なる値を区別するために使用されるに過ぎない。当然ながら、第1の予め設定された値から第8の予め設定された値は代替的に、順次的になっていてもよいし、シーケンス属性を有してもよい。
【0241】
幾つかの実現可能な実装では、方向のインデックス値とMVDの方向との間の対応関係が表5、表6、または表7に示され得る。
【表5】
【表6】
【表7】
【0242】
表5では、x軸の値が「+」である場合、それは、MVDの方向がx軸の正方向であることを示してよい。y軸の値が「+」である場合、それは、MVDの方向がy軸の正方向であることを示してよい。x軸の値が「-」である場合、それは、MVDの方向がx軸の負方向であることを示してよい。y軸の値が「-」である場合、それは、MVDの方向がy軸の負方向であることを示してよい。x軸の値がN/Aである場合、それは、MVDの方向がx軸の方向と無関係であることを示してよい。y軸の値がN/Aである場合、それは、MVDの方向がy軸の方向と無関係であることを示してよい。x軸の値およびy軸の値がどちらも「+」である場合、それは、投影がx軸方向にあるMVDの方向が正方向であり、且つ、投影がy軸方向にあるMVDの方向も正方向であることを示してよい。x軸の値およびy軸の値がどちらも「-」である場合、それは、投影がx軸方向にあるMVDの方向が負方向であり、且つ、投影がy軸方向にあるMVDの方向も負方向であることを示してよい。x軸の値が「+」であり、且つ、y軸の値が「-」である場合、それは、投影がx軸方向にあるMVDの方向が正方向であり、且つ、投影がy軸方向にあるMVDの方向が負方向であることを示してよい。x軸の値が「-」であり、且つ、y軸の値が「+」である場合、それは、投影がx軸方向にあるMVDの方向が負方向であり、且つ、投影がy軸方向にあるMVDの方向が正方向であることを示してよい。x軸の正方向が左方向を示してもよく、y軸の正方向が下方向を示してもよい。
【0243】
表6または表7では、x軸はMVDの成分xの符号係数を表してよく、MVDの成分xの符号係数と成分xの絶対値との積がMVDの成分xである。y軸はMVDの成分yの符号係数を表してよく、成分yの符号係数と成分yの絶対値との積がMVDの成分yである。
【0244】
S904:目標方向情報に基づいて現在の画像ブロックの動きベクトル差を取得する。
【0245】
方法は更に、現在の画像ブロックの動きベクトル差の長さのインデックス値を取得する段階と、長さのインデックス値に基づいてN個の動きベクトル差の候補長さ情報から目標長さ情報を決定する段階であって、Nは1より大きい正整数である、決定する段階とを含んでよい。
【0246】
N個の動きベクトル差の候補長さ情報は、
図7の実施形態における一組の候補長さ情報であってよく、具体的には、表4で提供する一組の候補長さ情報であってよい。動きベクトル差の長さ、動きベクトル差の長さのインデックス値、候補長さ情報、および動きベクトル差の説明については、
図7または前述の説明を参照されたい。ここでは詳細について改めて説明しない。
【0247】
特定の実装プロセスでは、目標方向情報に基づいて現在の画像ブロックの動きベクトル差を取得する段階は、目標方向情報および目標長さ情報に基づいて現在の画像ブロックの動きベクトル差を決定する段階を含んでよい。
【0248】
S905:現在の画像ブロックの動きベクトル差と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル目標値を決定する。
【0249】
幾つかの実現可能な実装では、現在の画像ブロックの動きベクトル差と現在の画像ブロックの動きベクトル予測因子との合計が、現在の画像ブロックの動きベクトル目標値として使用されてよい。
【0250】
S906:現在の画像ブロックの動きベクトル目標値に基づいて現在の画像ブロックの予測ブロックを取得する。
【0251】
インター予測の詳細については、前述の説明を参照されたい。ここでは詳細について改めて説明しない。
【0252】
図7および前述の説明における内容と同様の、
図9における実施形態の内容については、
図7および前述の説明を参照されたい。ここでは詳細について改めて説明しない。
【0253】
図10は、本発明のある実施形態に係るインター予測方法の概略フローチャートである。方法は、ソースデバイス12、ビデオコーディングシステム40、エンコーダ20、ビデオコーディングデバイス400、またはコーディングデバイス500により実行されてよい。具体的には、方法は、エンコーダ30内の予測処理ユニット260(または、例えば、予測処理ユニット260内のインター予測ユニット244)により実行されてよい。方法は以下の段階を含んでよい。
【0254】
S1001:現在の画像ブロックの動きベクトル予測因子を取得する。
【0255】
プロセスについては、AMVPモード、マージモード、MMVDモード、またはスキップモードの前述の説明を参照されたい。ここでは詳細について改めて説明しない。
【0256】
S1002:現在の画像ブロックの動きベクトル予測因子で示される位置の領域で動き検索を実行して、現在の画像ブロックの動きベクトル目標値を取得する。
【0257】
S1003:現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差の方向のインデックス値を取得する。現在の画像ブロックの動きベクトル差は、現在の画像ブロックの動きベクトル予測因子と動きベクトル目標値との差を示すために使用され、現在の画像ブロックの動きベクトル差の方向のインデックス値は、予め設定された一組の候補方向情報内の1つの候補方向情報を示すために使用され、一組の候補方向情報は、M個の動きベクトル差の候補長さ情報を含み、Mは4より大きい正整数である。
【0258】
現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差の方向のインデックス値を取得する段階は、現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差を取得する段階と、現在の画像ブロックの動きベクトル差に基づいて、現在の画像ブロックの動きベクトル差の長さのインデックス値と、現在の画像ブロックの動きベクトル差の方向のインデックス値とを決定する段階とを含んでよい。
【0259】
Mは8であってよい。
【0260】
図10は、
図9で説明するデコーダ側の方法に対応するエンコーダ側の方法について説明する。関連する説明については、
図9または前述の関連する説明を参照されたい。ここでは詳細について改めて説明しない。
【0261】
図11は、本発明のある実施形態に係るインター予測方法の概略フローチャートである。方法は、宛先デバイス14、ビデオコーディングシステム40、デコーダ30、ビデオコーディングデバイス400、またはコーディングデバイス500により実行されてよい。方法は、具体的には、ビデオデコーダ30により実行されてもよいし、具体的には、エントロピ復号ユニット304および予測処理ユニット360(または、例えば、予測処理ユニット360内のインター予測ユニット344)により実行されてもよい。方法は以下の段階を含んでよい。
【0262】
S1101:現在の画像ブロックの第1動きベクトル予測因子と、現在の画像ブロックの第2動きベクトル予測因子とを取得する。第1動きベクトル予測因子は第1参照フレームに対応し、第2動きベクトル予測因子は第2参照フレームに対応する。
【0263】
S1102:現在の画像ブロックの第1動きベクトル差を取得する。現在の画像ブロックの第1動きベクトル差は、第1動きベクトル予測因子と、現在の画像ブロックの第1動きベクトル目標値との差を示すために使用され、第1動きベクトル目標値および第1動きベクトル予測因子は、同じ参照フレームに対応する。
【0264】
S1103:第1動きベクトル差に基づいて現在の画像ブロックの第2動きベクトル差を決定する。現在の画像ブロックの第2動きベクトル差は、第2動きベクトル予測因子と、現在の画像ブロックの第2動きベクトル目標値との差を示すために使用され、第2動きベクトル目標値および第2動きベクトル予測因子は、同じ参照フレームに対応しており、現在の画像ブロックが配置される現在のフレームに対する第1参照フレームの方向が、現在のフレームに対する第2参照フレームの方向と同じである場合に、第2動きベクトル差が第1動きベクトル差であるか、現在の画像ブロックが配置される現在のフレームに対する第1参照フレームの方向が、現在のフレームに対する第2参照フレームの方向と反対である場合に、第2動きベクトル差のプラス符号またはマイナス符号が、第1動きベクトル差のプラス符号またはマイナス符号と反対であり、第2動きベクトル差の絶対値が、第1動きベクトル差の絶対値と同じである。
【0265】
S1104:第1動きベクトル差および第1動きベクトル予測因子に基づいて、現在の画像ブロックの第1動きベクトル目標値を決定する。
【0266】
第1動きベクトル目標値は、第1動きベクトル差と第1動きベクトル予測因子との合計であってよい。
【0267】
S1105:第2動きベクトル差および第2動きベクトル予測因子に基づいて、現在の画像ブロックの第2動きベクトル目標値を決定する。
【0268】
第2動きベクトル目標値は、第2動きベクトル差と第2動きベクトル予測因子との合計であってよい。
【0269】
S1106:第1動きベクトル目標値および第2動きベクトル目標値に基づいて、現在の画像ブロックの予測ブロックを取得する。
【0270】
前述の説明における内容と同様の、
図11における実施形態の内容については、前述の説明を参照されたい。ここでは詳細について改めて説明しない。
【0271】
前述の方法と同じ発明概念に基づいて、
図12に示すように、本発明のある実施形態は更に、インター予測装置1200を提供する。インター予測装置1200は、宛先デバイス14、ビデオコーディングシステム40、デコーダ30、ビデオコーディングデバイス400、またはコーディングデバイス500であってもよいし、宛先デバイス14、ビデオコーディングシステム40、デコーダ30、ビデオコーディングデバイス400、またはコーディングデバイス500の構成要素であってもよい。代替的に、インター予測装置1200は、エントロピ復号ユニット304および予測処理ユニット360(または、例えば、予測処理ユニット360内のインター予測ユニット344)を含んでもよい。インター予測装置1200は、取得ユニット1201および予測ユニット1202を含む。取得ユニット1201および予測ユニット1202は、ソフトウェアを使用することにより実装されてよい。例えば、取得ユニット1201および予測ユニット1202が、ソフトウェアモジュールであってよい、または、取得ユニット1201および予測ユニット1202が、命令を実行するプロセッサおよびメモリである。代替的に、取得ユニット1201および予測ユニット1202は、ハードウェアを使用することにより実装されてもよい。例えば、取得ユニット1201および予測ユニット1202は、チップ内のモジュールであってよい。
【0272】
予測ユニット1202は、現在の画像ブロックの動きベクトル予測因子を取得するように構成されてよい。
【0273】
取得ユニット1201は、現在の画像ブロックの動きベクトル差の長さのインデックス値を取得するように構成されてよい。現在の画像ブロックの動きベクトル差は、動きベクトル予測因子と、現在の画像ブロックの動きベクトル目標値との差を示すために使用される。
【0274】
幾つかの実現可能な実装では、取得ユニット1201は、現在の画像ブロックの動きベクトル差の長さのインデックス値を取得するか、現在の画像ブロックの動きベクトル差の方向のインデックス値を取得するように構成される、エントロピ復号ユニット304を含んでよい。予測ユニット1202は、予測ユニット360を含んでよく、具体的には、インター予測ユニット344を含んでよい。
【0275】
予測ユニット1202は更に、長さのインデックス値に基づいて一組の候補長さ情報から目標長さ情報を決定することであって、一組の候補長さ情報は、N個の動きベクトル差のみの候補長さ情報を含み、Nは1より大きく8より小さい正整数である、決定することと、目標長さ情報に基づいて現在の画像ブロックの動きベクトル差を取得することと、現在の画像ブロックの動きベクトル差と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル目標値を決定することと、現在の画像ブロックの動きベクトル目標値に基づいて現在の画像ブロックの予測ブロックを取得することとを行うように構成されてよい。
【0276】
取得ユニット1201は更に、現在の画像ブロックの動きベクトル差の方向のインデックス値を取得するように構成されてよい。それに対応して、予測ユニット1202は更に、方向のインデックス値に基づいてM個の動きベクトル差の候補方向情報から目標方向情報を決定するように構成されてよく、Mは1より大きい正整数である。目標方向情報が取得された後、予測ユニット1202は、目標方向情報および目標長さ情報に基づいて現在の画像ブロックの動きベクトル差を決定するように構成されてよい。
【0277】
Nは、例えば、4であってよい。幾つかの実現可能な実装では、N個の動きベクトル差の候補長さ情報は、長さのインデックス値が第1の予め設定された値である場合に、目標長さ情報で示される長さがピクセル長の1/4であること、長さのインデックス値が第2の予め設定された値である場合に、目標長さ情報で示される長さがピクセル長の半分であること、長さのインデックス値が第3の予め設定された値である場合に、目標長さ情報で示される長さが1ピクセル長であること、または、長さのインデックス値が第4の予め設定された値である場合に、目標長さ情報で示される長さが2ピクセル長であることのうちの少なくとも1つを含んでよい。
【0278】
予測ユニット1202は、現在の画像ブロックの候補動き情報リストを構築することであって、候補動き情報リストはL個の動きベクトルを含んでよく、Lは、1、3、4、または5である、構築することと、候補動き情報リスト内の現在の画像ブロックの動き情報の予測情報のインデックス値を取得することであって、現在の画像ブロックの動き情報の予測情報は、動きベクトル予測因子を含む、取得することと、候補動き情報リストと、候補動き情報リスト内の現在の画像ブロックの動き情報のインデックス値とに基づいて、動きベクトル予測因子を取得することとを行うように構成されてよい。
【0279】
具体的には、この実施形態におけるインター予測装置1200のユニットの機能が、前述のインター予測方法の実施形態における方法に従って実装され得ることを理解できる。具体的な実装プロセスについては、前述の方法の実施形態における関連する説明を参照されたい。ここでは詳細について改めて説明しない。
【0280】
前述の方法と同じ発明概念に基づいて、
図13に示すように、本発明のある実施形態は更に、インター予測装置1300を提供する。インター予測装置1300は、ソースデバイス12、ビデオコーディングシステム40、エンコーダ20、ビデオコーディングデバイス400、またはコーディングデバイス500であってもよいし、ソースデバイス12、ビデオコーディングシステム40、エンコーダ20、ビデオコーディングデバイス400、またはコーディングデバイス500の構成要素であってもよい。代替的に、インター予測装置1300は、予測処理ユニット260(または、例えば、予測処理ユニット260内のインター予測ユニット244)を含んでもよい。インター予測装置1300は、取得ユニット1301および予測ユニット1302を含む。取得ユニット1301および予測ユニット1302は、ソフトウェアを使用することにより実装されてよい。例えば、取得ユニット1301および予測ユニット1302が、ソフトウェアモジュールであってよい、または、取得ユニット1301および予測ユニット1302が、命令を実行するプロセッサおよびメモリである。代替的に、取得ユニット1301および予測ユニット1302は、ハードウェアを使用することにより実装されてもよい。例えば、取得ユニット1301および予測ユニット1302は、チップ内のモジュールであってよい。
【0281】
取得ユニット1301は、現在の画像ブロックの動きベクトル予測因子を取得するように構成されてよい。
【0282】
予測ユニット1302は、現在の画像ブロックの動きベクトル予測因子で示される位置の領域で動き検索を実行して、現在の画像ブロックの動きベクトル目標値を取得するように構成されてよい。
【0283】
幾つかの実現可能な実装では、取得ユニット1301および予測ユニット1302は、予測処理ユニット260の実装として使用されてよい。
【0284】
予測ユニット1302は更に、現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差の長さのインデックス値を取得するように構成されてよい。現在の画像ブロックの動きベクトル差は、現在の画像ブロックの動きベクトル予測因子と動きベクトル目標値との差を示すために使用され、現在の画像ブロックの動きベクトル差の長さのインデックス値は、予め設定された一組の候補長さ情報内の1つの候補長さ情報を示すために使用され、一組の候補長さ情報は、N個の動きベクトル差のみの候補長さ情報を含み、Nは1より大きく8より小さい正整数である。
【0285】
予測ユニット1302は、現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差を取得し、且つ、現在の画像ブロックの動きベクトル差に基づいて、現在の画像ブロックの動きベクトル差の長さのインデックス値と、現在の画像ブロックの動きベクトル差の方向のインデックス値とを決定するように構成されてよい。
【0286】
Nは、例えば、4であってよい。
【0287】
具体的には、この実施形態におけるインター予測装置1300のユニットの機能が、前述の方法の実施形態における方法に従って実装され得ることを理解できる。具体的な実装プロセスについては、前述の方法の実施形態における関連する説明を参照されたい。ここでは詳細について改めて説明しない。
【0288】
前述の方法と同じ発明概念に基づいて、
図14に示すように、本発明のある実施形態は更に、インター予測装置1400を提供する。インター予測装置1400は、宛先デバイス14、ビデオコーディングシステム40、デコーダ30、ビデオコーディングデバイス400、またはコーディングデバイス500であってもよいし、宛先デバイス14、ビデオコーディングシステム40、デコーダ30、ビデオコーディングデバイス400、またはコーディングデバイス500の構成要素であってもよい。代替的に、インター予測装置1400は、エントロピ復号ユニット304および予測処理ユニット360(または、例えば、予測処理ユニット360内のインター予測ユニット344)を含んでもよい。インター予測装置1400は、取得ユニット1401および予測ユニット1402を含む。取得ユニット1401および予測ユニット1402は、ソフトウェアを使用することにより実装されてよい。例えば、取得ユニット1401および予測ユニット1402が、ソフトウェアモジュールであってよい、または、取得ユニット1401および予測ユニット1402が、命令を実行するプロセッサおよびメモリである。代替的に、取得ユニット1401および予測ユニット1402は、ハードウェアを使用することにより実装されてもよい。例えば、取得ユニット1401および予測ユニット1402は、チップ内のモジュールであってよい。
【0289】
予測ユニット1402は、現在の画像ブロックの動きベクトル予測因子を取得するように構成されてよい。
【0290】
取得ユニット1401は、現在の画像ブロックの動きベクトル差の方向のインデックス値を取得するように構成されてよい。現在の画像ブロックの動きベクトル差は、動きベクトル予測因子と、現在の画像ブロックの動きベクトル目標値との差を示すために使用される。
【0291】
幾つかの実現可能な実装では、取得ユニット1401は、現在の画像ブロックの動きベクトル差の長さのインデックス値を取得するか、現在の画像ブロックの動きベクトル差の方向のインデックス値を取得するように構成される、エントロピ復号ユニット304を含んでよい。予測ユニット1402は、予測ユニット360を含んでよく、具体的には、インター予測ユニット344を含んでよい。
【0292】
予測ユニット1402は更に、方向のインデックス値に基づいて一組の候補方向情報から目標方向情報を決定することであって、一組の候補方向情報は、M個の動きベクトル差の候補方向情報を含み、Mは4より大きい正整数である、決定することと、目標方向情報に基づいて現在の画像ブロックの動きベクトル差を取得することと、現在の画像ブロックの動きベクトル差と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル目標値を決定することと、現在の画像ブロックの動きベクトル目標値に基づいて現在の画像ブロックの予測ブロックを取得することとを行うように構成されてよい。
【0293】
取得ユニット1401は更に、現在の画像ブロックの動きベクトル差の長さのインデックス値を取得するように構成されてよい。それに対応して、予測ユニット1402は更に、長さのインデックス値に基づいてN個の動きベクトル差の候補長さ情報から目標長さ情報を決定するように構成されてよく、Nは1より大きい正整数である。目標長さ情報が取得された後、予測ユニット1402は、目標方向情報および目標長さ情報に基づいて現在の画像ブロックの動きベクトル差を決定するように構成されてよい。
【0294】
Mは、例えば、8であってよい。幾つかの実現可能な実装では、M個の動きベクトル差の候補方向情報は、方向のインデックス値が第1の予め設定された値である場合に、目標方向情報で示される方向がちょうど右であること、方向のインデックス値が第2の予め設定された値である場合に、目標方向情報で示される方向がちょうど左であること、方向のインデックス値が第3の予め設定された値である場合に、目標方向情報で示される方向がちょうど下であること、方向のインデックス値が第4の予め設定された値である場合に、目標方向情報で示される方向がちょうど上であること、方向のインデックス値が第5の予め設定された値である場合に、目標方向情報で示される方向が右下であること、方向のインデックス値が第6の予め設定された値である場合に、目標方向情報で示される方向が右上であること、方向のインデックス値が第7の予め設定された値である場合に、目標方向情報で示される方向が左下であること、または、方向のインデックス値が第8の予め設定された値である場合に、目標方向情報で示される方向が左上であることのうちの少なくとも1つを含んでよい。
【0295】
予測ユニット1402は、現在の画像ブロックの候補動き情報リストを構築することであって、候補動き情報リストはL個の動きベクトルを含んでよく、Lは、1、3、4、または5である、構築することと、候補動き情報リスト内の現在の画像ブロックの動き情報の予測情報のインデックス値を取得することであって、現在の画像ブロックの動き情報の予測情報は、動きベクトル予測因子を含む、取得することと、候補動き情報リストと、候補動き情報リスト内の現在の画像ブロックの動き情報のインデックス値とに基づいて、動きベクトル予測因子を取得することとを行うように構成されてよい。
【0296】
具体的には、この実施形態におけるインター予測装置1400のユニットの機能が、前述のインター予測方法の実施形態における方法に従って実装され得ることを理解できる。具体的な実装プロセスについては、前述の方法の実施形態における関連する説明を参照されたい。ここでは詳細について改めて説明しない。
【0297】
前述の方法と同じ発明概念に基づいて、
図15に示すように、本発明のある実施形態は更に、インター予測装置1500を提供する。インター予測装置1500は、ソースデバイス12、ビデオコーディングシステム40、エンコーダ20、ビデオコーディングデバイス400、またはコーディングデバイス500であってもよいし、ソースデバイス12、ビデオコーディングシステム40、エンコーダ20、ビデオコーディングデバイス400、またはコーディングデバイス500の構成要素であってもよい。代替的に、インター予測装置1500は、予測処理ユニット260(または、例えば、予測処理ユニット260内のインター予測ユニット244)を含んでもよい。インター予測装置1500は、取得ユニット1501および予測ユニット1502を含む。取得ユニット1501および予測ユニット1502は、ソフトウェアを使用することにより実装されてよい。例えば、取得ユニット1501および予測ユニット1502が、ソフトウェアモジュールであってよい、または、取得ユニット1501および予測ユニット1502が、命令を実行するプロセッサおよびメモリである。代替的に、取得ユニット1501および予測ユニット1502は、ハードウェアを使用することにより実装されてもよい。例えば、取得ユニット1501および予測ユニット1502は、チップ内のモジュールであってよい。
【0298】
取得ユニット1501は、現在の画像ブロックの動きベクトル予測因子を取得するように構成されてよい。
【0299】
予測ユニット1502は、現在の画像ブロックの動きベクトル予測因子で示される位置の領域で動き検索を実行して、現在の画像ブロックの動きベクトル目標値を取得するように構成されてよい。
【0300】
幾つかの実現可能な実装では、取得ユニット1501および予測ユニット1502は、予測処理ユニット260の実装として使用されてよい。
【0301】
予測ユニット1502は更に、現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差の方向のインデックス値を取得するように構成されてよい。現在の画像ブロックの動きベクトル差は、現在の画像ブロックの動きベクトル予測因子と動きベクトル目標値との差を示すために使用され、現在の画像ブロックの動きベクトル差の方向のインデックス値は、予め設定された一組の候補方向情報内の1つの候補方向情報を示すために使用され、一組の候補方向情報は、M個の動きベクトル差の候補長さ情報を含み、Mは4より大きい正整数である。
【0302】
予測ユニット1502は、現在の画像ブロックの動きベクトル目標値と、現在の画像ブロックの動きベクトル予測因子とに基づいて、現在の画像ブロックの動きベクトル差を取得し、且つ、現在の画像ブロックの動きベクトル差に基づいて、現在の画像ブロックの動きベクトル差の長さのインデックス値と、現在の画像ブロックの動きベクトル差の方向のインデックス値とを決定するように構成されてよい。
【0303】
Mは、例えば、8であってよい。
【0304】
具体的には、この実施形態におけるインター予測装置1500のユニットの機能が、前述の方法の実施形態における方法に従って実装され得ることを理解できる。具体的な実装プロセスについては、前述の方法の実施形態における関連する説明を参照されたい。ここでは詳細について改めて説明しない。
【0305】
前述の方法と同じ発明概念に基づいて、
図16に示すように、本発明のある実施形態は更に、インター予測装置1600を提供する。インター予測装置1600は、宛先デバイス14、ビデオコーディングシステム40、デコーダ30、ビデオコーディングデバイス400、またはコーディングデバイス500であってもよいし、宛先デバイス14、ビデオコーディングシステム40、デコーダ30、ビデオコーディングデバイス400、またはコーディングデバイス500の構成要素であってもよい。代替的に、インター予測装置1600は、エントロピ復号ユニット304および予測処理ユニット360(または、例えば、予測処理ユニット360内のインター予測ユニット344)を含んでもよい。インター予測装置1600は、取得ユニット1601および予測ユニット1602を含む。取得ユニット1601および予測ユニット1602は、ソフトウェアを使用することにより実装されてよい。例えば、取得ユニット1601および予測ユニット1602が、ソフトウェアモジュールであってよい、または、取得ユニット1601および予測ユニット1602が、命令を実行するプロセッサおよびメモリである。代替的に、取得ユニット1601および予測ユニット1602は、ハードウェアを使用することにより実装されてもよい。例えば、取得ユニット1601および予測ユニット1602は、チップ内のモジュールであってよい。
【0306】
取得ユニット1601は、現在の画像ブロックの第1動きベクトル予測因子と、現在の画像ブロックの第2動きベクトル予測因子とを取得するように構成されてよい。第1動きベクトル予測因子は第1参照フレームに対応し、第2動きベクトル予測因子は第2参照フレームに対応する。
【0307】
取得ユニット1601は更に、現在の画像ブロックの第1動きベクトル差を取得するように構成されてよい。現在の画像ブロックの第1動きベクトル差は、第1動きベクトル予測因子と、現在の画像ブロックの第1動きベクトル目標値との差を示すために使用され、第1動きベクトル目標値および第1動きベクトル予測因子は、同じ参照フレームに対応する。
【0308】
予測ユニット1602は、第1動きベクトル差に基づいて現在の画像ブロックの第2動きベクトル差を決定することであって、現在の画像ブロックの第2動きベクトル差は、第2動きベクトル予測因子と、現在の画像ブロックの第2動きベクトル目標値との差を示すために使用され、第2動きベクトル目標値および第2動きベクトル予測因子は、同じ参照フレームに対応しており、現在の画像ブロックが配置される現在のフレームに対する第1参照フレームの方向が、現在のフレームに対する第2参照フレームの方向と同じである場合に、第2動きベクトル差が第1動きベクトル差であるか、現在の画像ブロックが配置される現在のフレームに対する第1参照フレームの方向が、現在のフレームに対する第2参照フレームの方向と反対である場合に、第2動きベクトル差のプラス符号またはマイナス符号が、第1動きベクトル差のプラス符号またはマイナス符号と反対であり、第2動きベクトル差の絶対値が、第1動きベクトル差の絶対値と同じである、決定することと、第1動きベクトル差および第1動きベクトル予測因子に基づいて、現在の画像ブロックの第1動きベクトル目標値を決定することと、第2動きベクトル差および第2動きベクトル予測因子に基づいて、現在の画像ブロックの第2動きベクトル目標値を決定することと、第1動きベクトル目標値および第2動きベクトル目標値に基づいて、現在の画像ブロックの予測ブロックを取得することとを行うように構成されてよい。
【0309】
幾つかの実現可能な実装では、取得ユニット1601および予測ユニット1602は、予測処理ユニット360の実装として使用されてよい。
【0310】
具体的には、この実施形態におけるインター予測装置1600のユニットの機能が、前述のインター予測方法の実施形態における方法に従って実装され得ることを理解できる。具体的な実装プロセスについては、前述の方法の実施形態における関連する説明を参照されたい。ここでは詳細について改めて説明しない。
【0311】
当業者は、本明細書で開示および説明する様々な事例的な論理ブロック、モジュール、およびアルゴリズム段階に関連して説明される機能が、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせにより実装され得ることを理解できる。これらの事例的な論理ブロック、モジュール、および段階に関連して説明される機能は、ソフトウェアにより実装される場合、1つまたは複数の命令またはコードとしてコンピュータ可読媒体に格納されるか、コンピュータ可読媒体を介して伝送されてよく、ハードウェアベースの処理ユニットにより実行されてよい。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、または、(例えば、通信プロトコルに従って)コンピュータプログラムを一箇所から別の箇所に転送し易くする任意の媒体を含む通信媒体を含んでよい。このように、コンピュータ可読媒体は概して、(1)非一時的な有形コンピュータ可読記憶媒体、または(2)信号またはキャリアなどの通信媒体に対応してよい。データ記憶媒体は、本願で説明する技術を実装するための命令、コード、および/またはデータ構造を取得するために、1つまたは複数のコンピュータ、または、1つまたは複数のプロセッサがアクセスできる任意の使用可能な媒体であってよい。コンピュータプログラム製品はコンピュータ可読媒体を含んでよい。
【0312】
限定ではなく例として、係るコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは別のコンパクトディスク記憶装置、磁気ディスク記憶装置もしくは別の磁気記憶装置、フラッシュメモリ、または、所望のプログラムコードを命令またはデータ構造の形態で格納するために使用でき、且つ、コンピュータがアクセスできる、任意の他の媒体を含んでよい。加えて、接続はいずれも厳密には、コンピュータ可読媒体と呼ばれる。例えば、同軸ケーブル、光ファイバ、ツイストペア、デジタル加入者回線(DSL)、または、赤外線、ラジオ、およびマイクロ波などの無線技術により、ウェブサイト、サーバ、または別のリモートソースから命令が伝送される場合は、同軸ケーブル、光ファイバ、ツイストペア、DSL、または、赤外線、ラジオ、およびマイクロ波などの無線技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、キャリア、信号、または他の一時的な媒体を含まないものの、実際には、非一時的な有形記憶媒体を意味することを理解されたい。本明細書で使用するディスク(diskおよびdisc)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、およびブルーレイディスクを含む。ディスク(disk)は通例、データを磁気的に再生するものであり、ディスク(disc)は、データをレーザで光学的に再生するものである。前述の組み合わせもコンピュータ可読媒体の範囲に含まれるべきである。
【0313】
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の同等の集積回路もしくはディスクリート論理回路などの、1つまたは複数のプロセッサにより実行されてよい。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造のいずれか1つ、または、本明細書で説明する技術の実装に適した任意の他の構造であってよい。加えて、幾つかの態様では、本明細書で説明する事例的な論理ブロック、モジュール、および段階に関連して説明される機能は、符号化および復号のために構成される専用のハードウェアモジュールおよび/またはソフトウェアモジュール内に提供されてもよいし、組み合わされたコーデックに組み込まれてもよい。加えて、これらの技術は、1つまたは複数の回路または論理要素で完全に実装されてよい。
【0314】
本願の技術は、無線送受器、集積回路(IC)、または一組のIC(例えば、チップセット)を含む様々な装置またはデバイスで実装されてよい。本願では、開示されている技術を実行するように構成される装置の機能的側面を強調するために、様々な構成要素、モジュール、またはユニットが説明されているが、これらは必ずしも異なるハードウェアユニットにより実装されるわけではない。実際には、上記のように、様々なユニットが、適切なソフトウェアおよび/またはファームウェアと一緒にコーデックハードウェアユニットに組み合わされてもよいし、(上記の1つまたは複数のプロセッサを含む)相互運用可能なハードウェアユニットにより提供されてもよい。
【0315】
前述の実施形態では、実施形態の説明にそれぞれの焦点がある。ある実施形態で詳細に説明されていない部分については、他の実施形態における関連する説明を参照されたい。
【0316】
前述の説明は本願の特定の実装に過ぎず、本願の保護範囲を限定することを意図するものではない。本願で開示する技術的範囲内で当業者が容易に考え出す変形または置換はいずれも、本願の保護範囲に含まれるものとする。従って、本願の保護範囲は、特許請求の範囲の保護範囲の対象になるものとする。
[他の考えられる項目]
(項目1)
インター予測の方法であって、
現在の画像ブロックの動きベクトル予測因子を取得する段階と、
上記現在の画像ブロックの動きベクトル差の長さのインデックス値を取得する段階であって、上記現在の画像ブロックの上記動きベクトル差は、上記動きベクトル予測因子と、上記現在の画像ブロックの動きベクトル目標値との差を示すために使用される、取得する段階と、
上記長さの上記インデックス値に基づいて一組の候補長さ情報から目標長さ情報を決定する段階であって、上記一組の候補長さ情報は、N個の動きベクトル差のみの候補長さ情報を含み、Nは1より大きく8より小さい正整数である、決定する段階と、
上記目標長さ情報に基づいて上記現在の画像ブロックの上記動きベクトル差を取得する段階と、
上記現在の画像ブロックの上記動きベクトル差と、上記現在の画像ブロックの上記動きベクトル予測因子とに基づいて、上記現在の画像ブロックの上記動きベクトル目標値を決定する段階と、
上記現在の画像ブロックの上記動きベクトル目標値に基づいて上記現在の画像ブロックの予測ブロックを取得する段階と
を備える方法。
(項目2)
上記方法は、
上記現在の画像ブロックの上記動きベクトル差の方向のインデックス値を取得する段階と、
上記方向の上記インデックス値に基づいてM個の動きベクトル差の候補方向情報から目標方向情報を決定する段階であって、Mは1より大きい正整数である、決定する段階と
を更に備え、
上記目標長さ情報に基づいて上記現在の画像ブロックの上記動きベクトル差を取得する上記段階は、
上記目標方向情報および上記目標長さ情報に基づいて上記現在の画像ブロックの上記動きベクトル差を決定する段階
を有する、
項目1に記載の方法。
(項目3)
Nは4である、項目1または2に記載の方法。
(項目4)
上記N個の動きベクトル差の上記候補長さ情報は、
上記長さの上記インデックス値が第1の予め設定された値である場合に、上記目標長さ情報で示される長さがピクセル長の1/4であること、
上記長さの上記インデックス値が第2の予め設定された値である場合に、上記目標長さ情報で示される長さがピクセル長の半分であること、
上記長さの上記インデックス値が第3の予め設定された値である場合に、上記目標長さ情報で示される長さが1ピクセル長であること、または、
上記長さの上記インデックス値が第4の予め設定された値である場合に、上記目標長さ情報で示される長さが2ピクセル長であること
のうちの少なくとも1つを含む、項目3に記載の方法。
(項目5)
現在の画像ブロックの動きベクトル予測因子を取得する上記段階は、
上記現在の画像ブロックの候補動き情報リストを構築する段階であって、上記候補動き情報リストはL個の動きベクトルを含み、Lは、1、3、4、または5である、構築する段階と、
上記候補動き情報リスト内の上記現在の画像ブロックの動き情報の予測情報のインデックス値を取得する段階であって、上記現在の画像ブロックの上記動き情報の予測情報は、上記動きベクトル予測因子を含む、取得する段階と、
上記候補動き情報リストと、上記候補動き情報リスト内の上記現在の画像ブロックの上記動き情報の上記インデックス値とに基づいて、上記動きベクトル予測因子を取得する段階と
を有する、項目1から4のいずれか一項に記載の方法。
(項目6)
インター予測の方法であって、
現在の画像ブロックの動きベクトル予測因子を取得する段階と、
上記現在の画像ブロックの上記動きベクトル予測因子で示される位置の領域で動き検索を実行して、上記現在の画像ブロックの動きベクトル目標値を取得する段階と、
上記現在の画像ブロックの上記動きベクトル目標値と、上記現在の画像ブロックの上記動きベクトル予測因子とに基づいて、上記現在の画像ブロックの動きベクトル差の長さのインデックス値を取得する段階であって、上記現在の画像ブロックの上記動きベクトル差は、上記現在の画像ブロックの上記動きベクトル予測因子と上記動きベクトル目標値との差を示すために使用され、上記現在の画像ブロックの上記動きベクトル差の上記長さの上記インデックス値は、予め設定された一組の候補長さ情報内の1つの候補長さ情報を示すために使用され、上記一組の候補長さ情報は、N個の動きベクトル差のみの候補長さ情報を含み、Nは1より大きく8より小さい正整数である、取得する段階と
を備える方法。
(項目7)
上記現在の画像ブロックの上記動きベクトル目標値と、上記現在の画像ブロックの上記動きベクトル予測因子とに基づいて、上記現在の画像ブロックの動きベクトル差の長さのインデックス値を取得する上記段階は、
上記現在の画像ブロックの上記動きベクトル目標値と、上記現在の画像ブロックの上記動きベクトル予測因子とに基づいて、上記現在の画像ブロックの上記動きベクトル差を取得する段階と、
上記現在の画像ブロックの上記動きベクトル差に基づいて、上記現在の画像ブロックの上記動きベクトル差の上記長さの上記インデックス値と、上記現在の画像ブロックの上記動きベクトル差の方向のインデックス値とを決定する段階と
を有する、
項目6に記載の方法。
(項目8)
Nは4である、項目6または7に記載の方法。
(項目9)
インター予測の方法であって、
現在の画像ブロックの動きベクトル予測因子を取得する段階と、
上記現在の画像ブロックの動きベクトル差の方向のインデックス値を取得する段階であって、上記現在の画像ブロックの上記動きベクトル差は、上記動きベクトル予測因子と、上記現在の画像ブロックの動きベクトル目標値との差を示すために使用される、取得する段階と、
上記方向の上記インデックス値に基づいて一組の候補方向情報から目標方向情報を決定する段階であって、上記一組の候補方向情報は、M個の動きベクトル差の候補方向情報を含み、Mは4より大きい正整数である、決定する段階と、
上記目標方向情報に基づいて上記現在の画像ブロックの上記動きベクトル差を取得する段階と、
上記現在の画像ブロックの上記動きベクトル差と、上記現在の画像ブロックの上記動きベクトル予測因子とに基づいて、上記現在の画像ブロックの上記動きベクトル目標値を決定する段階と、
上記現在の画像ブロックの上記動きベクトル目標値に基づいて上記現在の画像ブロックの予測ブロックを取得する段階と
を備える方法。
(項目10)
上記方法は、
上記現在の画像ブロックの上記動きベクトル差の長さのインデックス値を取得する段階と、
上記長さの上記インデックス値に基づいてN個の動きベクトル差の候補長さ情報から目標長さ情報を決定する段階であって、Nは1より大きい正整数である、決定する段階と
を更に備え、
上記目標方向情報に基づいて上記現在の画像ブロックの上記動きベクトル差を取得する上記段階は、
上記目標方向情報および上記目標長さ情報に基づいて上記現在の画像ブロックの上記動きベクトル差を決定する段階
を有する、
項目9に記載の方法。
(項目11)
Mは8である、項目9または10に記載の方法。
(項目12)
上記M個の動きベクトル差の上記候補方向情報は、
上記方向の上記インデックス値が第1の予め設定された値である場合に、上記目標方向情報で示される方向がちょうど右であること、
上記方向の上記インデックス値が第2の予め設定された値である場合に、上記目標方向情報で示される方向がちょうど左であること、
上記方向の上記インデックス値が第3の予め設定された値である場合に、上記目標方向情報で示される方向がちょうど下であること、
上記方向の上記インデックス値が第4の予め設定された値である場合に、上記目標方向情報で示される方向がちょうど上であること、
上記方向の上記インデックス値が第5の予め設定された値である場合に、上記目標方向情報で示される方向が右下であること、
上記方向の上記インデックス値が第6の予め設定された値である場合に、上記目標方向情報で示される方向が右上であること、
上記方向の上記インデックス値が第7の予め設定された値である場合に、上記目標方向情報で示される方向が左下であること、または、
上記方向の上記インデックス値が第8の予め設定された値である場合に、上記目標方向情報で示される方向が左上であること
のうちの少なくとも1つを含む、項目11に記載の方法。
(項目13)
現在の画像ブロックの動きベクトル予測因子を取得する上記段階は、
上記現在の画像ブロックの候補動き情報リストを構築する段階であって、上記候補動き情報リストはL個の動きベクトルを含み、Lは、1、3、4、または5である、構築する段階と、
上記候補動き情報リスト内の上記現在の画像ブロックの動き情報の予測情報のインデックス値を取得する段階であって、上記現在の画像ブロックの上記動き情報の予測情報は、上記動きベクトル予測因子を含む、取得する段階と、
上記候補動き情報リストと、上記候補動き情報リスト内の上記現在の画像ブロックの上記動き情報の上記インデックス値とに基づいて、上記動きベクトル予測因子を取得する段階と
を有する、項目9から12のいずれか一項に記載の方法。
(項目14)
インター予測の方法であって、
現在の画像ブロックの動きベクトル予測因子を取得する段階と、
上記現在の画像ブロックの上記動きベクトル予測因子で示される位置の領域で動き検索を実行して、上記現在の画像ブロックの動きベクトル目標値を取得する段階と、
上記現在の画像ブロックの上記動きベクトル目標値と、上記現在の画像ブロックの上記動きベクトル予測因子とに基づいて、上記現在の画像ブロックの動きベクトル差の方向のインデックス値を取得する段階であって、上記現在の画像ブロックの上記動きベクトル差は、上記現在の画像ブロックの上記動きベクトル予測因子と上記動きベクトル目標値との差を示すために使用され、上記現在の画像ブロックの上記動きベクトル差の上記方向の上記インデックス値は、予め設定された一組の候補方向情報内の1つの候補方向情報を示すために使用され、上記一組の候補方向情報は、M個の動きベクトル差の候補長さ情報を含み、Mは4より大きい正整数である、取得する段階と
を備える方法。
(項目15)
上記現在の画像ブロックの上記動きベクトル目標値と、上記現在の画像ブロックの上記動きベクトル予測因子とに基づいて、上記現在の画像ブロックの動きベクトル差の長さのインデックス値を取得する上記段階は、
上記現在の画像ブロックの上記動きベクトル目標値と、上記現在の画像ブロックの上記動きベクトル予測因子とに基づいて、上記現在の画像ブロックの上記動きベクトル差を取得する段階と、
上記現在の画像ブロックの上記動きベクトル差に基づいて、上記現在の画像ブロックの上記動きベクトル差の上記長さの上記インデックス値と、上記現在の画像ブロックの上記動きベクトル差の上記方向の上記インデックス値とを決定する段階と
を有する、
項目14に記載の方法。
(項目16)
Mは8である、項目14または15に記載の方法。
(項目17)
インター予測の方法であって、
現在の画像ブロックの第1動きベクトル予測因子と、上記現在の画像ブロックの第2動きベクトル予測因子とを取得する段階であって、上記第1動きベクトル予測因子は第1参照フレームに対応し、上記第2動きベクトル予測因子は第2参照フレームに対応する、取得する段階と、
上記現在の画像ブロックの第1動きベクトル差を取得する段階であって、上記現在の画像ブロックの上記第1動きベクトル差は、上記第1動きベクトル予測因子と、上記現在の画像ブロックの第1動きベクトル目標値との差を示すために使用され、上記第1動きベクトル目標値および上記第1動きベクトル予測因子は、同じ参照フレームに対応する、取得する段階と、
上記第1動きベクトル差に基づいて上記現在の画像ブロックの第2動きベクトル差を決定する段階であって、上記現在の画像ブロックの上記第2動きベクトル差は、上記第2動きベクトル予測因子と、上記現在の画像ブロックの第2動きベクトル目標値との差を示すために使用され、上記第2動きベクトル目標値および上記第2動きベクトル予測因子は、同じ参照フレームに対応しており、上記現在の画像ブロックが配置される現在のフレームに対する上記第1参照フレームの方向が、上記現在のフレームに対する上記第2参照フレームの方向と同じである場合に、上記第2動きベクトル差が上記第1動きベクトル差であるか、上記現在の画像ブロックが配置される上記現在のフレームに対する上記第1参照フレームの上記方向が、上記現在のフレームに対する上記第2参照フレームの上記方向と反対である場合に、上記第2動きベクトル差のプラス符号またはマイナス符号が、上記第1動きベクトル差のプラス符号またはマイナス符号と反対であり、上記第2動きベクトル差の絶対値が、上記第1動きベクトル差の絶対値と同じである、決定する段階と、
上記第1動きベクトル差および上記第1動きベクトル予測因子に基づいて、上記現在の画像ブロックの上記第1動きベクトル目標値を決定する段階と、
上記第2動きベクトル差および上記第2動きベクトル予測因子に基づいて、上記現在の画像ブロックの上記第2動きベクトル目標値を決定する段階と、
上記第1動きベクトル目標値および上記第2動きベクトル目標値に基づいて、上記現在の画像ブロックの予測ブロックを取得する段階と
を備える方法。
(項目18)
インター予測の装置であって、上記装置は、
現在の画像ブロックの動きベクトル予測因子を取得するように構成される予測ユニットと、
上記現在の画像ブロックの動きベクトル差の長さのインデックス値を取得するように構成される取得ユニットであって、上記現在の画像ブロックの上記動きベクトル差は、上記動きベクトル予測因子と、上記現在の画像ブロックの動きベクトル目標値との差を示すために使用される、取得ユニットと
を備え、
上記予測ユニットは更に、
上記長さの上記インデックス値に基づいて一組の候補長さ情報から目標長さ情報を決定することであって、上記一組の候補長さ情報は、N個の動きベクトル差のみの候補長さ情報を含み、Nは1より大きく8より小さい正整数である、決定することと、
上記目標長さ情報に基づいて上記現在の画像ブロックの上記動きベクトル差を取得することと、
上記現在の画像ブロックの上記動きベクトル差と、上記現在の画像ブロックの上記動きベクトル予測因子とに基づいて、上記現在の画像ブロックの上記動きベクトル目標値を決定することと、
上記現在の画像ブロックの上記動きベクトル目標値に基づいて上記現在の画像ブロックの予測ブロックを取得することと
を行うように構成される、
装置。
(項目19)
上記取得ユニットは更に、上記現在の画像ブロックの上記動きベクトル差の方向のインデックス値を取得するように構成され、
上記予測ユニットは更に、上記方向の上記インデックス値に基づいてM個の動きベクトル差の候補方向情報から目標方向情報を決定することであって、Mは1より大きい正整数である、決定することを行うように構成され、
上記予測ユニットは、上記目標方向情報および上記目標長さ情報に基づいて上記現在の画像ブロックの上記動きベクトル差を決定するように構成される、
項目18に記載の装置。
(項目20)
Nは4である、項目18または19に記載の装置。
(項目21)
上記N個の動きベクトル差の上記候補長さ情報は、
上記長さの上記インデックス値が第1の予め設定された値である場合に、上記目標長さ情報で示される長さがピクセル長の1/4であること、
上記長さの上記インデックス値が第2の予め設定された値である場合に、上記目標長さ情報で示される長さがピクセル長の半分であること、
上記長さの上記インデックス値が第3の予め設定された値である場合に、上記目標長さ情報で示される長さが1ピクセル長であること、または、
上記長さの上記インデックス値が第4の予め設定された値である場合に、上記目標長さ情報で示される長さが2ピクセル長であること
のうちの少なくとも1つを含む、項目20に記載の装置。
(項目22)
上記予測ユニットは、
上記現在の画像ブロックの候補動き情報リストを構築することであって、上記候補動き情報リストはL個の動きベクトルを含み、Lは、1、3、4、または5である、構築することと、
上記候補動き情報リスト内の上記現在の画像ブロックの動き情報の予測情報のインデックス値を取得することであって、上記現在の画像ブロックの上記動き情報の予測情報は、上記動きベクトル予測因子を含む、取得することと、
上記候補動き情報リストと、上記候補動き情報リスト内の上記現在の画像ブロックの上記動き情報の上記インデックス値とに基づいて、上記動きベクトル予測因子を取得することと
を行うように構成される、項目18から21のいずれか一項に記載の装置。
(項目23)
インター予測の装置であって、上記装置は、
現在の画像ブロックの動きベクトル予測因子を取得するように構成される取得ユニットと、
上記現在の画像ブロックの上記動きベクトル予測因子で示される位置の領域で動き検索を実行して、上記現在の画像ブロックの動きベクトル目標値を取得するように構成される予測ユニットと
を備え、
上記予測ユニットは更に、上記現在の画像ブロックの上記動きベクトル目標値と、上記現在の画像ブロックの上記動きベクトル予測因子とに基づいて、上記現在の画像ブロックの動きベクトル差の長さのインデックス値を取得することであって、上記現在の画像ブロックの上記動きベクトル差は、上記現在の画像ブロックの上記動きベクトル予測因子と上記動きベクトル目標値との差を示すために使用され、上記現在の画像ブロックの上記動きベクトル差の上記長さの上記インデックス値は、予め設定された一組の候補長さ情報内の1つの候補長さ情報を示すために使用され、上記一組の候補長さ情報は、N個の動きベクトル差のみの候補長さ情報を含み、Nは1より大きく8より小さい正整数である、取得することを行うように構成される、
装置。
(項目24)
上記予測ユニットは、
上記現在の画像ブロックの上記動きベクトル目標値と、上記現在の画像ブロックの上記動きベクトル予測因子とに基づいて、上記現在の画像ブロックの上記動きベクトル差を取得し、且つ、
上記現在の画像ブロックの上記動きベクトル差に基づいて、上記現在の画像ブロックの上記動きベクトル差の上記長さの上記インデックス値と、上記現在の画像ブロックの上記動きベクトル差の方向のインデックス値とを決定する
ように構成される、項目23に記載の装置。
(項目25)
Nは4である、項目23または24に記載の装置。
(項目26)
インター予測の装置であって、上記装置は、
現在の画像ブロックの動きベクトル予測因子を取得するように構成される予測ユニットと、
上記現在の画像ブロックの動きベクトル差の方向のインデックス値を取得するように構成される取得ユニットであって、上記現在の画像ブロックの上記動きベクトル差は、上記動きベクトル予測因子と、上記現在の画像ブロックの動きベクトル目標値との差を示すために使用される、取得ユニットと
を備え、
上記予測ユニットは更に、上記方向の上記インデックス値に基づいて一組の候補方向情報から目標方向情報を決定することであって、上記一組の候補方向情報は、M個の動きベクトル差の候補方向情報を含み、Mは4より大きい正整数である、決定することと、上記目標方向情報に基づいて上記現在の画像ブロックの上記動きベクトル差を取得することと、上記現在の画像ブロックの上記動きベクトル差と、上記現在の画像ブロックの上記動きベクトル予測因子とに基づいて、上記現在の画像ブロックの上記動きベクトル目標値を決定することと、上記現在の画像ブロックの上記動きベクトル目標値に基づいて上記現在の画像ブロックの予測ブロックを取得することとを行うように構成される、
装置。
(項目27)
上記取得ユニットは更に、上記現在の画像ブロックの上記動きベクトル差の長さのインデックス値を取得するように構成され、
上記予測ユニットは更に、上記長さの上記インデックス値に基づいてN個の動きベクトル差の候補長さ情報から目標長さ情報を決定することであって、Nは1より大きい正整数である、決定することを行うように構成され、
上記予測ユニットは、
上記目標方向情報および上記目標長さ情報に基づいて上記現在の画像ブロックの上記動きベクトル差を決定する
ように構成される、
項目26に記載の装置。
(項目28)
Mは8である、項目26または27に記載の装置。
(項目29)
上記M個の動きベクトル差の上記候補方向情報は、
上記方向の上記インデックス値が第1の予め設定された値である場合に、上記目標方向情報で示される方向がちょうど右であること、
上記方向の上記インデックス値が第2の予め設定された値である場合に、上記目標方向情報で示される方向がちょうど左であること、
上記方向の上記インデックス値が第3の予め設定された値である場合に、上記目標方向情報で示される方向がちょうど下であること、
上記方向の上記インデックス値が第4の予め設定された値である場合に、上記目標方向情報で示される方向がちょうど上であること、
上記方向の上記インデックス値が第5の予め設定された値である場合に、上記目標方向情報で示される方向が右下であること、
上記方向の上記インデックス値が第6の予め設定された値である場合に、上記目標方向情報で示される方向が右上であること、
上記方向の上記インデックス値が第7の予め設定された値である場合に、上記目標方向情報で示される方向が左下であること、または、
上記方向の上記インデックス値が第8の予め設定された値である場合に、上記目標方向情報で示される方向が左上であること
のうちの少なくとも1つを含む、項目28に記載の装置。
(項目30)
上記予測ユニットは、
上記現在の画像ブロックの候補動き情報リストを構築することであって、上記候補動き情報リストはL個の動きベクトルを含み、Lは、1、3、4、または5である、構築することと、
上記候補動き情報リスト内の上記現在の画像ブロックの動き情報の予測情報のインデックス値を取得することであって、上記現在の画像ブロックの上記動き情報の予測情報は、上記動きベクトル予測因子を含む、取得することと、
上記候補動き情報リストと、上記候補動き情報リスト内の上記現在の画像ブロックの上記動き情報の上記インデックス値とに基づいて、上記動きベクトル予測因子を取得することと
を行うように構成される、項目26から29のいずれか一項に記載の装置。
(項目31)
インター予測の装置であって、上記装置は、
現在の画像ブロックの動きベクトル予測因子を取得するように構成される取得ユニットと、
上記現在の画像ブロックの上記動きベクトル予測因子で示される位置の領域で動き検索を実行して、上記現在の画像ブロックの動きベクトル目標値を取得するように構成される予測ユニットと
を備え、
上記予測ユニットは更に、上記現在の画像ブロックの上記動きベクトル目標値と、上記現在の画像ブロックの上記動きベクトル予測因子とに基づいて、上記現在の画像ブロックの動きベクトル差の方向のインデックス値を取得することであって、上記現在の画像ブロックの上記動きベクトル差は、上記現在の画像ブロックの上記動きベクトル予測因子と上記動きベクトル目標値との差を示すために使用され、上記現在の画像ブロックの上記動きベクトル差の上記方向の上記インデックス値は、予め設定された一組の候補方向情報内の1つの候補方向情報を示すために使用され、上記一組の候補方向情報は、M個の動きベクトル差の候補長さ情報を含み、Mは4より大きい正整数である、取得することを行うように構成される、
装置。
(項目32)
上記予測ユニットは、
上記現在の画像ブロックの上記動きベクトル目標値と、上記現在の画像ブロックの上記動きベクトル予測因子とに基づいて、上記現在の画像ブロックの上記動きベクトル差を取得し、且つ、
上記現在の画像ブロックの上記動きベクトル差に基づいて、上記現在の画像ブロックの上記動きベクトル差の長さのインデックス値と、上記現在の画像ブロックの上記動きベクトル差の上記方向の上記インデックス値とを決定する
ように構成される、項目31に記載の装置。
(項目33)
Mは8である、項目31または32に記載の装置。
(項目34)
取得ユニットと、予測ユニットとを備えるインター予測の装置であって、
上記取得ユニットは、現在の画像ブロックの第1動きベクトル予測因子と、上記現在の画像ブロックの第2動きベクトル予測因子とを取得するように構成され、上記第1動きベクトル予測因子は第1参照フレームに対応し、上記第2動きベクトル予測因子は第2参照フレームに対応し、
上記取得ユニットは更に、上記現在の画像ブロックの第1動きベクトル差を取得することであって、上記現在の画像ブロックの上記第1動きベクトル差は、上記第1動きベクトル予測因子と、上記現在の画像ブロックの第1動きベクトル目標値との差を示すために使用され、上記第1動きベクトル目標値および上記第1動きベクトル予測因子は、同じ参照フレームに対応する、取得することを行うように構成され、
上記予測ユニットは、上記第1動きベクトル差に基づいて上記現在の画像ブロックの第2動きベクトル差を決定することであって、上記現在の画像ブロックの上記第2動きベクトル差は、上記第2動きベクトル予測因子と、上記現在の画像ブロックの第2動きベクトル目標値との差を示すために使用され、上記第2動きベクトル目標値および上記第2動きベクトル予測因子は、同じ参照フレームに対応しており、上記現在の画像ブロックが配置される現在のフレームに対する上記第1参照フレームの方向が、上記現在のフレームに対する上記第2参照フレームの方向と同じである場合に、上記第2動きベクトル差が上記第1動きベクトル差であるか、上記現在の画像ブロックが配置される上記現在のフレームに対する上記第1参照フレームの上記方向が、上記現在のフレームに対する上記第2参照フレームの上記方向と反対である場合に、上記第2動きベクトル差のプラス符号またはマイナス符号が、上記第1動きベクトル差のプラス符号またはマイナス符号と反対であり、上記第2動きベクトル差の絶対値が、上記第1動きベクトル差の絶対値と同じである、決定することと、上記第1動きベクトル差および上記第1動きベクトル予測因子に基づいて、上記現在の画像ブロックの上記第1動きベクトル目標値を決定することと、上記第2動きベクトル差および上記第2動きベクトル予測因子に基づいて、上記現在の画像ブロックの上記第2動きベクトル目標値を決定することと、上記第1動きベクトル目標値および上記第2動きベクトル目標値に基づいて、上記現在の画像ブロックの予測ブロックを取得することとを行うように構成される、
装置。
(項目35)
ビットストリームを復号して画像ブロックを取得するように構成されるビデオデコーダであって、
項目18から22のいずれか一項に記載のインター予測装置であって、現在の画像ブロックの予測ブロックを取得するように構成されるインター予測装置と、
上記予測ブロックに基づいて上記現在の画像ブロックを再構成するように構成される再構成モジュールと
を備えるビデオデコーダ。
(項目36)
画像ブロックを符号化するように構成されるビデオエンコーダであって、
項目23から25のいずれか一項に記載のインター予測装置であって、上記インター予測装置は、現在の画像ブロックの動きベクトル予測因子に基づいて上記現在の画像ブロックの動きベクトル差の長さのインデックス値を取得するように構成され、上記現在の画像ブロックの上記動きベクトル差の上記長さの上記インデックス値は、予め設定された一組の候補長さ情報内の1つの候補長さ情報を示すために使用される、インター予測装置と、
上記現在の画像ブロックの上記動きベクトル差の上記長さの上記インデックス値をビットストリームに符号化するように構成されるエントロピ符号化モジュールと
を備えるビデオエンコーダ。
(項目37)
ビットストリームを復号して画像ブロックを取得するように構成されるビデオデコーダであって、
項目26から30のいずれか一項に記載のインター予測装置であって、現在の画像ブロックの予測ブロックを取得するように構成されるインター予測装置と、
上記予測ブロックに基づいて上記現在の画像ブロックを再構成するように構成される再構成モジュールと
を備えるビデオデコーダ。
(項目38)
画像ブロックを符号化するように構成されるビデオエンコーダであって、
項目31から33のいずれか一項に記載のインター予測装置であって、上記インター予測装置は、現在の画像ブロックの動きベクトル予測因子に基づいて上記現在の画像ブロックの動きベクトル差の方向のインデックス値を取得するように構成され、上記現在の画像ブロックの上記動きベクトル差の上記方向の上記インデックス値は、予め設定された一組の候補方向情報内の1つの候補方向情報を示すために使用される、インター予測装置と、
上記現在の画像ブロックの上記動きベクトル差の上記方向の上記インデックス値をビットストリームに符号化するように構成されるエントロピ符号化モジュールと
を備えるビデオエンコーダ。
(項目39)
互いに結合される不揮発性メモリとプロセッサとを備えるビデオコーディングデバイスであって、上記プロセッサは、上記メモリに格納されるプログラムコードを呼び出して、項目1から17のいずれか一項に記載の方法を実行する、ビデオコーディングデバイス。
【外国語明細書】