(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-17
(45)【発行日】2022-02-28
(54)【発明の名称】ビデオ符号化で適応的なグリッドサイズを有する拡張マージモードのための方法並びにそのデバイス及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/52 20140101AFI20220218BHJP
【FI】
H04N19/52
(21)【出願番号】P 2020551350
(86)(22)【出願日】2019-05-22
(86)【国際出願番号】 US2019033447
(87)【国際公開番号】W WO2019236291
(87)【国際公開日】2019-12-12
【審査請求日】2020-09-23
(32)【優先日】2018-06-04
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-12-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】イエ,ジン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2018/231700(WO,A1)
【文献】国際公開第2017/036414(WO,A1)
【文献】Yi-Wen Chen et al.,Description of SDR, HDR and 360° video coding technology proposal by Qualcomm and Technicolor - low and high complexity versions,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-J0021,10th Meeting: San Diego, US,2018年04月,pp.15-19
【文献】Xiang Li et al.,Description of SDR video coding technology proposal by Tencent,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-J0029-v1,10th Meeting: San Diego, US,2018年04月,pp.8-9
【文献】Jing Ye, Xiang Li, and Shan Liu,Merge mode modification on top of Tencent’s software in response to CfP,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-J0058-v1,10th Meeting: San Diego, US,2018年04月,pp.1-4
【文献】Jicheng An, Na Zhang, Xu Chen, and Jianhua Zheng,Enhanced Merge Mode based on JEM7.0,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-J0059-v1,10th Meeting: San Diego, US,2018年04月,pp.1-14
【文献】Jing Ye, Xiang Li, and Shan Liu,CE4: Additional merge candidates (Test 4.2.13),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0286,11th Meeting: Ljubljana, SI,2018年07月,pp.1-9
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
デバイスが実行する、ビデオシーケンスのインター予測符号化に使用されるマージ候補を検索する方法であって、前記方法は、
現在のCUのサイズと閾値サイズとの間の比較を実行するステップと、
前記比較の結果に基づいて、前記マージ候補を検索するための検索グリッドのサイズを変更して、マージ候補リストを構築するステップと、を含
み、
前記検索グリッドのサイズとは、検索されるマージ候補と次のマージ候補の間の水平方向および垂直方向の距離に関するサイズである、
方法。
【請求項2】
前記現在のCUのサイズは、前記現在のCUの高さと前記現在のCUの幅のうちの大きい方を含む請求項1に記載の方法。
【請求項3】
前記現在のCUのサイズは、前記現在のCUの高さと前記現在のCUの幅のうちの小さい方を含む請求項1に記載の方法。
【請求項4】
前記現在のCUのサイズは、前記現在のCUの高さと前記現在のCUの幅との合計を含む請求項1に記載の方法。
【請求項5】
前記現在のCUのサイズが前記閾値サイズよりも大きいと判定したことに応答して、前記検索グリッドのサイズを固定サイズに設定するステップと、
前記現在のCUのサイズが前記閾値サイズよりも小さいと判定したことに応答して、前記現在のCUのサイズに基づいて、前記検索グリッドのサイズを可変サイズに設定するステップと、をさらに含む請求項1乃至4のうちいずれか一項に記載の方法。
【請求項6】
前記現在のCUのサイズが前記閾値サイズよりも小さいと判定したことに応答して、前記検索グリッドのサイズを固定サイズに設定するステップと、
前記現在のCUのサイズが前記閾値サイズよりも大きいと判定したことに応答して、前記現在のCUのサイズに基づいて、前記検索グリッドのサイズを可変サイズに設定するステップと、をさらに含む請求項1乃至4のうちいずれか一項に記載の方法。
【請求項7】
前記現在のCUの幅に基づいて前記検索グリッドの水平サイズを決定し、
前記現在のCUの高さに基づいて前記検索グリッドの垂直サイズを決定する請求項1乃至6のうちいずれか一項に記載の方法。
【請求項8】
シーケンスパラメータセット、ピクチャパラメータセット及びスライスヘッダのうちの少なくとも1つにおいて、前記閾値サイズを信号で示す請求項1乃至7のうちいずれか一項に記載の方法。
【請求項9】
前記検索グリッドにおいて前記マージ候補を検索するためのスキャン順序はA(i,j)、B(i,j)、C(i,j)、D(i,j)、E(i,j)として表され、
iは、前記現在のCUからの水平オフセットの数を表し、
jは、前記現在のCUからの垂直オフセットの数を表し、
A(0,0)は、前記現在のCUの左側にあり、
B(0,0)は、前記現在のCUの上側にあり、
C(0,0)は、前記現在のCUの右上隅にあり、
D(0,0)は、前記現在のCUの左下隅にあり、
E(0,0)は、前記現在のCUの左上隅にある請求項1乃至8のうちいずれか一項に記載の方法。
【請求項10】
マージモードとスキップモードのうちの少なくとも1つにおいて前記マージ候補リストを使用する請求項1に記載の方法。
【請求項11】
前記検索グリッドは、拡張マージモードに関連する検索パターンで検索される請求項1に記載の方法。
【請求項12】
ビデオシーケンスのインター予測符号化に使用されるマージ候補を検索するためのデバイスであって、前記デバイスは、
プログラムコードを記憶するように配置される少なくとも1つのメモリと、
前記プログラムコードを読み取り、前記プログラムコードの指示に従って動作するように配置される少なくとも1つのプロセッサと、を含み、
前記プログラムコードは、
現在のCUのサイズと閾値サイズとの間の比較を実行するための比較コードと、
前記比較の結果に基づいて、前記マージ候補を検索するための検索グリッドのサイズを変更して、マージ候補リストを構築するための検索コードと、を含
み、
前記検索グリッドのサイズとは、検索されるマージ候補と次のマージ候補の間の水平方向および垂直方向の距離に関するサイズである、
デバイス。
【請求項13】
前記現在のCUのサイズは、前記現在のCUの高さと前記現在のCUの幅のうちの大きい方を含む請求項12に記載のデバイス。
【請求項14】
前記現在のCUのサイズは、前記現在のCUの高さと前記現在のCUの幅のうちの小さい方を含む請求項12に記載のデバイス。
【請求項15】
前記現在のCUのサイズは、前記現在のCUの高さと前記現在のCUの幅との合計を含む請求項12に記載のデバイス。
【請求項16】
前記プログラムコードは、
前記現在のCUのサイズが前記閾値サイズよりも大きいと判定したことに応答して、前記検索グリッドのサイズを固定サイズに設定するためのコードと、
前記現在のCUのサイズが前記閾値サイズよりも小さいと判定したことに応答して、前記現在のCUのサイズに基づいて前記検索グリッドのサイズを可変サイズに設定するためのコードと、をさらに含む請求項12乃至15のうちいずれか一項に記載のデバイス。
【請求項17】
前記プログラムコードは、
前記現在のCUのサイズが前記閾値サイズよりも小さいと判定したことに応答して、前記検索グリッドのサイズを固定サイズに設定するためのコードと、
前記現在のCUのサイズが前記閾値サイズよりも大きいと判定したことに応答して、前記現在のCUのサイズに基づいて前記検索グリッドのサイズを可変サイズに設定するためのコードと、をさらに含む請求項12乃至15のうちいずれか一項に記載のデバイス。
【請求項18】
前記現在のCUの幅に基づいて、前記検索グリッドの水平サイズを決定し、
前記現在のCUの高さに基づいて、前記検索グリッドの垂直サイズを決定する請求項12乃至17のうちいずれか一項に記載のデバイス。
【請求項19】
マージモードとスキップモードのうちの少なくとも1つにおいて前記マージ候補リストを使用する請求項12乃至18のうちいずれか一項に記載のデバイス。
【請求項20】
コンピュータに、請求項1乃至11のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、35 U.S.C.§119に基づいて、2018年6月4日にてアメリカ特許商標庁に提出されたアメリカ特許出願第62/680,497の優先権を主張し、その開示の全内容を参照により本明細書に組み込む。
【0002】
本開示は、例えば、多用途ビデオ符号化(VVC)などの、高効率ビデオ符号化(HEVC)を超えた次世代のビデオ符号化技術に関する。より具体的に、本発明は、例えばマージモードなどのインターピクチャ予測符号化のための若干の方法に関する。追加の空間的又は時間的マージ候補はマージ候補リストに挿入される。マージ候補リストの構築が変更された。マージインデックスの新しいシグナリングスキームについても検討した。
【背景技術】
【0003】
HEVCでは、インターピクチャ予測のためのマージモードが導入されている。隣接ブロックからの候補動きパラメータのマージ候補リストを構築する。そして、インデックスを信号で示し、当該インデックスは、使用対象となる候補を識別する。マージモード
では、以前に符号化されたピクチャから取得した候補をリストに含めることで、時間予測も可能になる。HEVCでは、
図1に示す5つの空間的隣接ブロックから導出される最大4つの空間
的マージ候補、2つの時間的コロケート
〔共位置〕ブロックから導出される1つの時間的マージ候補、及び、組み合わせられた双方向予測候補とゼロ動きベクトル候補を含む追加のマージ候補に基づいて、マージ候補リストを構築する。
【0004】
HEVCでは、スキップモードは、ブロックについて、動きデータが信号で明確に示されるものではなく、推定されるものであることを指示するために使用され、また、予測残差がゼロであることを指示するために使用され、つまり、変換係数は伝送されない。HEVCでは、インターピクチャ予測スライスにおける各CUの先頭で、slip_flagを信号で示し、当該slip_flagは、CUが1つのPU(2N×2N)のみを含み、動きデータがマージモードを使用して導出され、ビットストリームに残差データが存在しないことを意味する。
【0005】
ジョイントビデオ探索チーム(JVET)によって検討されたテストモデルソフトウェアである共同探索モデル7(JEM7)において、新しいマージ候補が導入される。サブCUモードが追加のマージ候補として可能にされ、これらのモードを信号で示すために追加の構文要素は必要ではない。2つの追加のマージ候補が、ATMVPモードとSTMVPモードを表すために、各CUのマージ候補リストに追加される。シーケンスパラメータセットが、ATMVPとSTMVPとを可能にすることを指示すると、最大7つのマージ候補を使用する。追加のマージ候補の符号化ロジックは、HEVCにおけるマージ候補の符号化ロジックと同じであり、これは、Pスライス又はBスライスにおける各CUについて、これらの2つの追加のマージ候補に対してさらに2回のRDチェックが必要である。JEMでは、挿入されるマージ候補の順序は、A、B、C、D、ATMVP、STMVP、E(リストにおけるマージ候補が6よりも小さい場合)、TMVP、組み合わせられた双方向予測候補及びゼロ動きベクトル候補である。
【0006】
JEMでは、マージインデックスの全てのバイナリビットは、CABACによってコンテキスト符号化される。HEVCでは、最初のバイナリビットのみをコンテキスト符号化し、残りのバイナリビットをコンテキストバイパス符号化する。JEMでは、マージ候補の最大数は7である。
【0007】
別のスキームは、8×8ブロックのステップサイズで、以前に符号化されたブロックからの候補動きベクトルにおいて検索することである。当該スキームは、最も近い空間近傍、即ち、すぐ隣接する上の行、左の列、右上隅をカテゴリ1として定義し、外部の領域(現在のブロックの境界から
最大で3つの8×8ブロック
離れている)、及び以前に符号化されたフレームにおける
共位置のブロックを、カテゴリ2として分類することである。リストから、異なる参照フレームに基づき予測された隣接ブロック、又は
イントラ符号化された隣接ブロックを削除する。そして、残りの参照ブロックのそれぞれに重みを割り当てる。当該重みは、現在のブロックまでの距離に関する。
図2は、当該スキームにおけるマージ候補リストの構築の例を示す。
【0008】
JVET-J0059では、
図3に示すように、より多くの空間位置をチェックする
。6から27までの拡張空間位置
は、時間的候補の後に、その番号順にチェック
される。MVラインバッファを
節約するために、全ての空間
的候補は2つのCTU
ライン内に制限される。つまり、現在のCTU
ラインの上のCTU
ラインより先の空間
的候補は除外される。これらの追加の空間
的マージ候補のグリッドはブロックサイズに基づいている。そのため、各候補は、水平方向に
おいて次の候補から
ある幅のオフセット
だけ離れており、垂直方向に
おいて次の候補から
ある高さのオフセット
だけ離れている。幅と高さは現在のブロックサイズである。
【0009】
マージ候補リスト内の候補の数はNumMrgCandsによって制御される。HEVCでは、NumMrgCands=5である。JEMでは、ATMVPがオンになる場合、NumMrgCandsは2増加する。この提案された方法では、NumMrgCandsは6増加するため、ATMVPがオフになる場合、NumMrgCandsは11になり、ATMVPがオンになる場合、NumMrgCandsは13になる。
【0010】
マージ候補リストの再構築処理中に、一旦、候補の数がNumMrgCandsに達すると、候補を追加する処理全体は停止する。生成されたマージ候補以外のマージ候補の全てに対して冗長性チェックを行う。つまり、諸空間位置からの一意の動き候補、ATMVP及び時間的候補のみをマージ候補リストに含めることができる。マージ候補リストは、現在のJEMと同様に、位置1から5までの空間位置、ATMVP候補及び時間的候補を追加し(冗長性チェックを含む)、また、位置6から27までの拡張空間位置を追加する(冗長性チェックを含む)ことで構築される。
【発明の概要】
【課題を解決するための手段】
【0011】
一実施例において、ビデオシーケンスのインター予測符号化に使用されるマージ候補を検索するための方法を提供し、当該方法は、現在のCUのサイズと閾値サイズとの間の比較を実行するステップと、比較の結果に基づいて、マージ候補を検索するための検索グリッドのサイズを変更して、マージ候補リストを構築するステップと、を含む。
【0012】
一実施例において、ビデオシーケンスのインター予測符号化に使用されるマージ候補を検索するためのデバイスを提供し、当該デバイスは、プログラムコードを記憶するように配置される少なくとも1つのメモリと、プログラムコードを読み取り、プログラムコードの指示に従って動作するように配置される少なくとも1つのプロセッサとを含み、当該プログラムコードは、現在のCUのサイズと閾値サイズとの間の比較を実行するための比較コードと、比較の結果に基づいて、マージ候補を検索するための検索グリッドのサイズを変更して、マージ候補リストを構築するための検索コードとを含む。
【0013】
一実施例において、命令が記憶される非一時的コンピュータ可読媒体を提供し、当該命令は、1つ以上の命令を含み、ビデオシーケンスのインター予測符号化に使用されるマージ候補を検索するデバイスの1つ以上のプロセッサによって当該1つ以上の命令が実行される場合に、前記1つ以上の命令によって、前記1つ以上のプロセッサは、
現在のCUのサイズと閾値サイズとの間の比較を実行し、
比較の結果に基づいて、マージ候補を検索するための検索グリッドのサイズを変更して、マージ候補リストを構築するために使用される。
【図面の簡単な説明】
【0014】
開示されたテーマの他の特徴、性質及び様々な利点は以下の詳しい説明及び図面からより明確になり、図面において、
【0015】
【0016】
【0017】
【0018】
【
図4】符号化されたビデオビットストリーム内の現在のブロックを符号化するための変換タイプを信号で示す例示的な処理のフローチャートである。
【0019】
【
図5】本開示の一実施例による通信システムの概略ブロック図である。
【0020】
【
図6】ストリーミング環境におけるビデオ符号器と復号器の配置例の図である。
【0021】
【
図7】本開示の一実施例によるビデオ復号器の機能ブロック図である。
【0022】
【
図8】本開示の一実施例による検索
パターンを示す例示的図である。
【0023】
【
図9】本開示の一実施形態によるビデオ符号器の機能ブロック図である。
【0024】
【
図10】一実施例によるコンピュータシステムの図である。
【発明を実施するための形態】
【0025】
図4は、本開示の一実施例によるの通信システム(300)の概略的ブロック図を示す。通信システム(300)は、ネットワーク(450)を介して相互接続された少なくとも2つの端末(410~420)を含み得る。データの一方向伝送の場合、第1の端末(410)は、ローカル位置でビデオデータを符号化して、ネットワーク(450)を介して他の端末(420)に伝送することができる。第2の端末(420)は、ネットワーク(450)から他の端末の符号化されたビデオデータを受信し、符号化されたデータを復号化し、復元されたビデオデータを表示することができる。データの一方向伝送は、媒体サービスアプリケーションなどでは一般的である。
【0026】
図4は、例えば、ビデオ会議中に発生する可能性がある符号化されたビデオの双方向伝送をサポートするために提供される第2対の端末(430、440)を示す。データの双方向伝送の場合、各端末(430、440)は、ローカル位置でキャプチャされたビデオデータを符号化して、ネットワーク(450)を介して他方の端末に伝送することができる。各端末(430、440)は、また、他方の端末によって伝送された符号化されたビデオデータを受信し、符号化されたデータを復号化し、復元されたビデオデータをローカル表示デバイスに表示してもよい。
【0027】
図4において、端末(410~440)は、サーバ、パーソナルコンピュータ、及びスマートフォンとして例示されるが、本開示の原理はこれに限定されていない。本開示の実施例はラップトップコンピュータ、タブレット、メディアプレイヤー及び/又は専用のビデオ会議機器に適用される。ネットワーク(450)は端末機器(410~440)の間で符号化されたビデオデータを伝送する任意の数のネットワークを示し、例えば、有線及び/又は無線通信ネットワークを含む。通信ネットワーク(450)は、回線交換及び/又はパケット交換チャネルにおいてデータを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットを含む。本出願の検討の目的のために、ネットワーク(450)のアーキテクチャとトポロジーは、以下に本明細書で説明されない限り、本開示の操作にとって重要ではないかもしれない。
【0028】
開示されたテーマの適用例として、
図5は、ストリーミング環境におけるビデオ符号器と復号器の配置形態を示し、開示されたテーマは、等価的に、ビデオ会議、デジタルTVを含む、ビデオをサポートする他のアプリケーションに適用され、CD、DVD、メモリースティックなどを含むデジタルメデイアに圧縮ビデオなどを記憶してもよい。
【0029】
ストリーミングシステムは、キャプチャサブシステム(513)を含むことができ、当該キャプチャサブシステムは、例えば、デジタル撮影装置などの、例えば非圧縮のビデオサンプルストリーム(502)を作成するビデオソース(501)を含んでもよい。ビデオサンプルストリーム(502)は、符号化されたビデオビットストリームと比較して多いデータ量を強調するために太線として描かれる。サンプルストリーム(502)は、撮影装置(501)に連結された符号器(503)によって処理されることができる。符号器(503)は、以下でより詳細に説明する開示されたテーマの各態様を実現又は実施するために、ハードウェア、ソフトウェア、又はそれらの組み合わせを含むことができる。符号化されたビデオビットストリーム(504)は、サンプルストリームと比較して少ないデータ量を強調するために細い線として描かれる。符号化されたビデオビットストリーム(504)は、将来の使用のために、ストリームサーバ(505)に記憶され得る。1つ以上のストリーミングクライアント(506、508)は、ストリーミングサーバ(505)にアクセスして、符号化されたビデオビットストリーム(504)のレプリカ(507、509)を検索することができる。クライアント(506)は、符号化されたビデオビットストリーム(507)の着信レプリカを復号化し、ディスプレイ(512)又は他のレンダリングデバイス(図示せず)でレンダリングできる発信ビデオサンプルストリーム(511)を構築するビデオ復号器(510)を含むことができる。一部のストリーミングシステムでは、ビデオビットストリーム(504、507、509)を、特定のビデオ符号化/圧縮規格に従って符号化できる。これらの規格の例には、ITU-T H.265勧告書を含む。非公式に多用途ビデオ符号化(VVC)と呼ばれるビデオ符号化規格が開発中である。開示されたテーマは、VVCのコンテキストで使用することができる。
【0030】
図6は、本発明の一実施例によるビデオ復号器(510)の機能ブロック図であり得る。
【0031】
受信機(610)は、復号器(510)によって復号化される1つ以上のコーデックビデオシーケンスを受信することができる。同一又は別の実施形態では、一度に1つの符号化されたビデオシーケンスを受信し、各符号化されたビデオシーケンスの復号化は他の符号化されたビデオシーケンスから独立している。チャネル(612)から符号化されたビデオシーケンスを受信することができ、チャネル(612)は、当該符号化されたビデオデータを記憶するストレージデバイスへのハードウェア/ソフトウェアリンクであってもよい。受信機(610)は、符号化されたビデオデータ及び他のデータ、例えば、それぞれの使用エンティティ(図示せず)に転送され得る符号化されたオーディオデータ及び/又は補助データストリームを受信してもよい。受信機(610)は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッタを防止するために、バッファメモリ(615)は、受信機(610)とエントロピー復号器/パーサー(620)(以降、「パーサー」と呼ばれる)との間に結合され得る。受信機(610)が十分な帯域幅と制御性を有する記憶/転送デバイス、又は等時性リアルタイムネットワークからデータを受信する場合に、バッファ(615)を必要としない場合があり、又は、バッファ(615)が小さくなってもよい。例えばインターネットのベストパケットネットワークで使用するために、バッファ(615)が必要となる場合があり、バッファ(615)は、比較的大きくすることができ、適応的なサイズを有利に有することができる。
【0032】
ビデオ復号器(510)は、エントロピー符号化されたビデオシーケンスに基づきシンボル(621)を再構成するために、パーサー(620)を含み得る。これらのシンボルのカテゴリは、復号器(510)の動作を管理するための情報と、ディスプレイ(512)などの、復号器の構成部分ではないが復号器に結合され得るレンダリングデバイスを制御するための潜在情報とを含む。
図6に示すように、1つ以上のレンダリングデバイスのための制御情報は、補助拡張情報(SEIメッセージ)又はビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形であってよい。パーサー(620)は、受信された符号化されたビデオシーケンスを解析/エントロピー復号化することができる。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術又は規格に準拠することができ、可変長符号化、ハフマン符号化(Huffman
coding)、文脈依存の有無にかかわらず算術符号化などを含む、当業者に周知の原理に従うことができる。パーサー(620)は、グループに対応する少なくとも1つのパラメー
タに基づいて、符号化されたビデオシーケンスから、ビデオ復号器における画素のサブグループのうちの少なくとも1つのサブグループのサブグループパラメータセットを抽出することができる。サブグループは、ピクチャのグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含んでもよい。エントロピー復号器/パーサーは、また、符号化されたビデオシーケンス情報から、例えば、変換係数、量子化器パラメー
タ(QP)値、動きベクトルなどを抽出してもよい。
【0033】
パーサー(620)は、バッファ(615)から受信されたビデオシーケンスに対してエントロピー復号化/解析動作を実行することで、シンボル(621)を作成することができる。パーサー(620)は、符号化されたデータを受信し、特定のシンボル(621)を選択的に復号化してもよい。また、パーサー(620)は、特定のシンボル(621)が動き補償予測ユニット(653)、スケーラ/逆変換ユニット(651)、イントラ予測ユニット(652)又はループフィルタ(656)に提供されたかどうかを判定してもよい。
【0034】
シンボル(621)の再構築は、符号化されたビデオピクチャ又は符号化されたビデオピクチャの一部のタイプ(例えば、インターピクチャとイントラピクチャ、インターブロックとイントラブロック)及び他の要因によって、複数の異なるユニットに関与してもよい。関与するユニット、及び関与形態は、パーサー(620)が符号化されたビデオシーケンスから解析したサブグループ制御情報によって制御されてもよい。簡略化のために、パーサー(620)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは説明されない。
【0035】
既に言及された機能ブロックに加えて、復号器(510)は概念的には、以下に説明する複数の機能ユニットに細分化することができる。商業的な制約の下で運行する実際の実現形態では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合することができる。しかしながら、開示されたテーマを説明するために、概念的には、以下の機能ユニットに細分化されることは適切である。
【0036】
第1のユニットはスケーラ/逆変換ユニット(651)である。スケーラ/逆変換ユニット(651)は、パーサー(620)から(1つ以上の)シンボル(621)としての量子化変換係数及び制御情報を受信し、使用する変換方法、ブロックサイズ、量子化係数、量子化スケーリングマトリックスなどを含む。スケーラ/逆変換ユニット(651)は、サンプル値を含むブロックを出力することができ、当該ブロックはアグリゲータ(655)に入力することができる。
【0037】
いくつかの場合に、スケーラ/逆変換ユニット(651)の出力サンプルは、イントラ符号化ブロック、即ち、以前に再構築されたピクチャからの予測性情報を使用しないが、現在のピクチャの以前に再構築された部分からの予測性情報を使用するブロックに属してもよい。そのような予測性情報は、イントラピクチャ予測ユニット(652)によって提供することができる。いくつかの場合に、イントラピクチャ予測ユニット(652)は、現在の(部分的に再構成された)ピクチャ(656)から抽出された、周囲が既に再構築された情報を使用して、再構築しているブロックと同じサイズ及び形状のブロックを生成する。いくつかの場合に、アグリゲータ(655)は、各サンプルに基づいて、イントラ予測ユニット(652)によって生成される予測情報を、スケーラ/逆変換ユニット(651)から提供される出力サンプル情報に追加する。
【0038】
他の場合には、スケーラ/逆変換ユニット(651)の出力サンプルは、インター符号化及び潜在動き補償ブロックに属してもよい。このような場合に、動き補償予測ユニット(653)は、参照ピクチャメモリ(657)にアクセスして、予測のためのサンプルを抽出してもよい。当該ブロックに属するシンボル(621)に基づき、抽出されたサンプルに対して動き補償を行った後に、これらのサンプルは、アグリゲータ(655)によってスケーラ/逆変換ユニットの出力(この場合に、残差サンプル又は残差信号と呼ばれる)に追加されることで、出力サンプル情報を生成することができる。動き補償ユニットが予測サンプルを抽出するための参照ピクチャメモリにおけるアドレスは動きベクトルによって制御されてもよく、動きベクトルはシンボル(621)の形で動き補償ユニットによって使用されることができ、シンボル(621)は、例えば、X、Y、及び参照ピクチャ成分を有してもよい。動き補償には、サブサンプルの正確な動きベクトルが使用されている際に参照ピクチャメモリから抽出されたサンプル値の補間、動きベクトル予測メカニズムなどを含んでもよい。
【0039】
アグリゲータ(655)の出力サンプルは、ループフィルタユニット(656)において様々なループフィルタリング技術に適応され得る。ビデオ圧縮技術は、ループ内フィルタ技術を含んでもよく、ループ内フィルタ技術は、符号化されたビデオビットストリームに含まれ且つパーサー(620)からのシンボル(621)としてループフィルタユニット(656)に使用可能なパラメータによって制御され、しかしながら、ビデオ圧縮技術は、符号化されたピクチャ又は符号化されたビデオシーケンスの(復号化順序で)前の部分を復号化する期間に得られたメタ情報に応答してもよいし、以前に再構築されループフィルター処理されたサンプル値に応答してもよい。
【0040】
ループフィルタユニット(656)の出力はサンプルストリームであってもよく、当該サンプルストリームは、将来のインターピクチャ予測で使用されるために、レンダリングデバイス(512)に出力され、参照ピクチャメモリ(656)に記憶されてもよい。
【0041】
一部の符号化されたピクチャは、完全に再構成されると、将来の予測のために参照ピクチャとして使用されることができる。符号化されたピクチャは完全に再構成され、且つ符号化されたピクチャが(例えば、パーサー(620)によって)参照ピクチャとして識別されると、現在の参照ピクチャ(656)は参照ピクチャバッファ(657)の一部になることができ、そして、その後の符号化されたピクチャの再構築を開始する前に、新しい現在のピクチャメモリを再割り当てることができる。
【0042】
ビデオ復号器(510)は、例えばITU-T H.265勧告書の規格に記録されている所定のビデオ圧縮技術に従って、復号化動作を実行してもよい。符号化されたビデオシーケンスがビデオ圧縮技術又は規格の構文に準拠する意味で、符号化されたビデオシーケンスは、使用されているビデオ圧縮技術又は規格によって指定される構文に準拠することができ、ビデオ圧縮技術ドキュメント又は規格で指定され、及びその中の文書ファイルで指定されるようになる。コンプライアンスについて、符号化されたビデオシーケンスの複雑さはビデオ圧縮技術又は規格のレベルで限定されている範囲内にあることも要求する。いくつかの場合に、レベルは、最大ピクチャのサイズ、最大フレームレート、最大再構成サンプルレート(例えば1秒あたりのメガのサンプルを単位として測定する)、最大参照ピクチャサイズなどを制限する。いくつかの場合に、レベルによって設定される制限は、仮想参照復号器(HRD)の仕様及び符号化されたビデオシーケンスにおいて信号で示されるHRDバッファの管理するメタデータによってさらに制限されてもよい。
【0043】
一実施例において、受信機(610)は、符号化されたビデオとともに、追加の(冗長な)データを受信してもよい。追加のデータは(1つ以上の)符号化されたビデオシーケンス一部として含まれてもよい。追加のデータは、ビデオ復号器(510)がデータを正確に復号化する、及び/又は、元のビデオデータをより正確に再構築するために使用されてもよい。追加のデータは、例えば、時間、空間、又は信号対雑音比(SNR)拡張層、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形であってもよい。
【0044】
図7は、本開示の一実施例によるビデオ符号器(503)の機能ブロック図であり得る。
【0045】
符号器(503)は、ビデオソース(501)(符号器の一部ではない)からビデオサンプルを受信してもよく、当該ビデオソースは符号器(503)によって符号化される(1つ以上の)ビデオ画像をキャプチャしてもよい。
【0046】
ビデオソース(501)は、符号器(503)によって符号化されするデジタルビデオサンプルストリームの形であるソースビデオシーケンスを提供してもよく、当該デジタルビデオサンプルストリームは、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット…)、任意の色空間(例えば、BT.601 YCrCB、RGB…)及び任意の適切なサンプリング構成(例えば、YCrCb 4:2:0、YCrCb 4:4:4)を有してもよい。メディアサービスシステムでは、ビデオソース(501)は、以前に準備されたビデオを記憶するストレージデバイスであってもよい。ビデオ会議システムでは、ビデオソース(503)は、ローカルイメージ情報をビデオシーケンスとしてキャプチャする撮影装置であってもよい。ビデオデータは、順番に見る際に動きが与えられる複数の個別のピクチャとして提供されてもよい。これらのピクチャ自体は空間画素アレイとして構成されてもよく、なお、各画素は、使用されるサンプリング構成、色空間などによって、1つ以上のサンプルを含んでもよい。当業者は、画素とサンプルとの間の関係を容易に理解することができる。以下の説明では、サンプルを中心に説明する。
【0047】
一実施例によれば、符号器(503)は、リアルタイムで、又はアプリケーションによって要求される他の任意の時間制約の下で、ソースビデオシーケンスのピクチャを符号化し、それを符号化されたビデオシーケンス(743)に圧縮してもよい。適切な符号化速度を実行することはコントローラ(750)の機能の1つである。コントローラは、以下に説明する他の機能ユニットを制御し、これらのユニットに機能的に結合される。簡略化のために、結合は描かれていない。コントローラによって設置されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のλ値…)、ピクチャサイズ、ピクチャグループ(GOP)レイアウト、最大動きベクトル検索範囲などを含んでもよい。当業者は、コントローラ(750)の他の機能を容易に認識することができ、これらの機能は特定のシステム設計に対して最適化されたビデオ符号器(503)に属する可能性があるためである。
【0048】
一部のビデオ符号器は、当業者が「符号化ループ」として容易に認識する形態で動作する。非常に簡略化した説明として、符号化ループは、符号器(730)の符号化部分(以降、「ソース符号器」と呼ばれる)(符号化される入力ピクチャ及び(1つ以上の)参照ピクチャに基づいてシンボルを構築することを担当する)、符号器(503)に埋め込まれる(ローカルの)復号器(733)を含んでもよく、当該復号器(733)はシンボルを再構築して(リモート)復号器によっても作成されるサンプルデータを作成する(シンボルと符号化されたビデオビットストリームとの間の圧縮は開示されたテーマで考慮されるビデオ圧縮技術では無損失であるため)。再構築されたサンプルストリームを参照ピクチャメモリ(734)に入力する。シンボルストリームの復号化によって、復号器の位置(ローカル又はリモート)に関係がないビットが正確である結果が得られるため、参照ピクチャバッファのコンテンツもローカル符号器とリモート符号器との間でビットが正確である。つまり、符号器の予測部分が「見る」参照ピクチャサンプルと、復号器が復号化中に予測を使用する際に「見る」サンプル値とは全く同じである。参照ピクチャの同期性という基本的な原理(及び、例えば、チャネル誤差のため、同期性を維持できない場合に生じるドリフト)は、当業者に周知のものである。
【0049】
「ロ
ーカル」復号器(733)の動作は、以上で
図6に基づいて詳細に説明された「リモート」復号器(510)の動作と同じであってもよい。しかしながら、また、
図7を簡単に参照し、シンボルが利用可能であり、且つ、エントロピー符号器(745)及びパーサー(620)が無損失でシンボルを、符号化されたビデオシーケンスに符号化/復号化できる場合に、チャネル(612)、受信機(610)、バッファ(615)及びパーサー(620)を含む復号器(510)のエントロピー復号化部分はロ
ーカル復号器(733)で完全に実現されない場合がある。
【0050】
この場合、復号器に存在する解析/エントロピー復号化に加えて、任意の復号器技術も、必然的に基本的に同じ機能形式で対応する符号器に存在することが分かる。符号器技術と完全に説明された復号器技術とは相互に逆であるため、符号器技術の説明を簡略化できる。より詳しい説明は、特定の領域のみで必要であり、以下で提供される。
【0051】
ソース符号器(730)の動作の一部として、ソース符号器(730)は動き補償予測符号化を実行してもよく、動き補償予測符号化は、ビデオシーケンスからの「参照フレーム」として指定された1つ以上の以前に符号化されたフレームを参照することで入力フレームを予測的に符号化する。このようにして、符号化エンジン(732)は入力フレームの画素ブロックと、入力フレームの(1つ以上の)予測参照の(1つ以上の)参照フレームとして選択され得る画素ブロックとの間の差異を符号化してもよい。
【0052】
ロ
ーカルビデオ復号器(733)は、ソース符号器(730)によって作成されたシンボルに基づいて、参照フレームとして指定され得るフレームの符号化されたビデオデータを復号化してもよい。符号化エンジン(732)の動作は、有利には、非可逆処理であり得る。符号化されたビデオデータがビデオ復号器(
図6、図示せず)で復号化され得る場合、再構築されたビデオシーケンスは、通常、多少の誤差を有するソースビデオシーケンスのレプリカであり得る。ローカルビデオ復号器(733)は、参照フレームに対してビデオ復号器によって実行され得る復号化処理を複製し、再構成された参照フレームを参照ピクチャバッファ(734)に記憶してもよい。このようにして、符号器(503)は、再構成された参照フレームのレプリカをローカルに記憶することができ、当該レプリカは、リモートビデオ復号器によって得られる再構成された参照フレームと共通のコンテンツを有する(伝送誤差がない)。
【0053】
予測器(735)は、符号化エンジン(732)に対して予測検索を実行することができる。つまり、符号化される新しいフレームについて、予測器(735)は、参照ピクチャメモリ(734)において、新しいピクチャの適切な予測参照として使用し得るサンプルデータ(候補参照画素ブロックとして)、又は例えば参照ピクチャの動きベクトル、ブロック形状などの特定のメタデータを検索してもよい。予測器(735)は、適切な予測参照を見つけるために、サンプルブロックに基づいて、画素ブロックごとに動作することができる。いくつかの場合に、例えば、予測器(735)によって得られた検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(734)に記憶された複数の参照ピクチャから抽出された予測参照を有してもよい。
【0054】
コントローラ(750)は、例えば、ビデオデータを符号化するためのパラメータとサブグループパラメータの設置を含む、ビデオ符号器(730)の符号化動作を管理することができる。
【0055】
エントロピー符号器(745)において、以上で言及された全ての機能ユニットの出力に対してエントロピー符号化を行ってもよい。エントロピー符号器は、例えばハフマン符号化、可変長符号化、算術符号化などの当業者に周知の技術に従って、シンボルに対して無損失圧縮を行うことにより、各機能ユニットによって生成されたシンボルを、符号化されたビデオシーケンスに変換する。
【0056】
送信機(740)は、通信チャネル(760)を介した伝送の準備をするように、エントロピー符号器(745)によって作成された(1つ以上の)符号化されたビデオシーケンスをバッファリングすることができ、通信チャネル(760)は、符号化されたビデオデータを記憶するストレージデバイスへのハードウェア/ソフトウェアリンクであってもよい。送信機(740)は、ビデオ符号器(730)からの符号化されたビデオデータを、伝送しようとする他のデータ、例えば、符号化されたオーディオデータ及び/又は補助データストリーム(ソースは図示せず)とともにマージしてもよい。
【0057】
コントローラ(750)は、符号器(503)の動作を管理することができる。コントローラ(750)は、符号化中に、各符号化されたピクチャに、対応するピクチャに適用し得る符号化技術に影響を与える可能性がある特定の符号化されたピクチャタイプを割り当て得る。例えば、通常、ピクチャは、次のフレームタイプのいずれかとして割り当てられ得る。
【0058】
イントラピクチャ(Iピクチャ)は、シーケンス内の任意の他のフレームを予測のソースとして使用せずに符号化及び復号化されるピクチャであってもよい。一部のビデオコーデックは、例えば、独立復号器リフレッシュピクチャを含む異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのそれらの変形及び対応する用途と特徴を知っている。
【0059】
予測ピクチャ(Pピクチャ)は、多くとも1つの動きベクトル及び参照インデックスを使用して各ブロックのサンプル値を予測し得る場合に、イントラ予測又はインター予測を使用して符号化及び復号化を行うピクチャであってもよい。
【0060】
双方向予測性ピクチャ(Bピクチャ)は、多くとも2つの動きベクトルと参照インデックスを使用して各ブロックのサンプル値を予測する場合にイントラ予測又はインター予測を使用して符号化及び復号化を行うピクチャであってもよい。同様に、複数の予測ピクチャは、2つを超える参照画像及び関連メタデータを単一のブロックの再構成に使用できる。
【0061】
ソースピクチャは一般的に、空間的に、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8又は16×16サンプルのブロック)に細分化され、ブロックごとに符号化されてもよい。ブロックは、該ブロックの対応するピクチャに適用される符号化割り当てによって決定される他の(既に符号化された)ブロックを参照して予測的に符号化されてもよい。例えば、Iピクチャのブロックは、非予測的に符号化してもよいし、同一のピクチャの符号化されたブロックを参照して予測的に符号化してもよい(空間的予測又はイントラ予測)。Pピクチャの画素ブロックは、非予測的に、空間的予測を介して、又は1つの以前に符号化された参照ピクチャを参照して時間的予測を介して符号化してもよい。Bピクチャのブロックは、非予測的に、空間的予測を介して、又は1つ又は2つの以前に符号化された参照ピクチャを参照して時間的予測を介して符号化してもよい。
【0062】
ビデオ符号器(503)は、例えばITU-T H.265勧告書などの所定のビデオ符号化技術又は規格に基づき、符号化動作を実行することができる。ビデオ符号器(503)の動作中に、ビデオ符号器(503)は、入力ビデオシーケンスにおける時間的及び空間的冗長性による予測符号化操作を含む様々な圧縮動作を実行することができる。従って、符号化されたビデオデータは、使用されているビデオ符号化技術又は規格によって指定された構文に準拠し得る。
【0063】
一実施例において、送信機(740)は、追加のデータと符号化されたビデオとを伝送してもよい。ビデオ符号器(730)は、このようなデータを、符号化されたビデオシーケンスの一部として含んでもよい。追加のデータは、時間的/空間的/SNR拡張層、例えば冗長なピクチャ、スライスのような他の形の冗長データ、補助拡張情報(SEI)メッセージ、視覚的ユーザビリティ情報(VUI)パラメータセットフラグメントなどを含んでもよい。
【0064】
本開示の実施例は、例えばマージモードに関連するインターピクチャ予測符号化に使用される若干の方法を含む。実施例において、マージ候補は、現在のCUにすぐ隣接していない近隣のCUからのものであってもよい。これは、拡張マージモードと呼ばれてもよい。符号器と復号器が近隣のCUからのマージ候補を検索しようとする場合、グリッドサイズはCUのサイズに依存し得る。この場合、小さいCUは、小さいグリッドサイズを有し、且つ、大きいCUは、大きいグリッドサイズを有する。これらの実施例は、マージ概念を使用する任意のビデオ符号化方法に容易に拡張することができる。例えば、スキップモードは、マージモードを使用して動き情報を導出するため、本明細書で説明される実施形態はスキップモードにも適用できる。
【0065】
一実施例において、現在のCUのサイズが閾値よりも大きい場合、検索グリッドは、N×Mのような、例えば16×16の固定検索グリッドである。現在のCUのサイズが閾値以下である場合、検索グリッドは、ブロックサイズに応じて適応的に変更される。例えば、検索グリッドは、水平方向では現在のCUの幅、及び垂直方向では現在のCUの高さを有してもよい。例えば、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)又はスライスヘッダにおいて閾値を信号で示してもよい。閾値は事前定義されてもよい。
【0066】
検索グリッドがブロックサイズに応じ
て適応的に変更される場合に、詳細な検索
パターンは、現在のJVET/HEVCスキームの拡張であってもよい。別の
近隣ブロックにおける対応するA(i,j)、B(i,j)、C(i,j)、D(i,j)、E(i,j)候補をスキャンする。本実施形態では、iとjは、行及び列の座標である。スキャン順序は、最も近い近傍から、遠い近傍への順であってもよい。当該スキームを
図8に示す。
候補を求めて近隣ブロッ
クを検索する場合に、検索グリッドはブロックサイズに応じ
て適応的に変更される。水平方向では、検索グリッドは、ブロック幅に基づいているため、各A(i,j)又はD(i,j)は、次のA(i,j)又はD(i,j)までのブロック幅の距離を有する。垂直方向では、検索グリッドは、高さに基づいているため、各B(i,j)又はC(i,j)は次のB(i,j)又はC(i,j)までの高さの距離を有する。対角線方向では、検索グリッドは、ブロックの幅と高さに基づいているため、次のE(i,j)への各E(i,j)は、次のE(i,j)への(幅、高さ)のオフセットを有する。検索範囲は(オフセットx及びオフセットy)によって定義される。
【0067】
一実施例において、現在のCUのサイズが閾値よりも小さい場合に、検索グリッドは、N×Mのような、例えば16×16の固定検索グリッドである。現在のCUのサイズが閾値以上である場合、検索グリッドはブロックサイズに応じて適応的に変更される。即ち、検索グリッドは、水平方向では現在のCUの幅、及び垂直方向では現在のCUの高さを有してもよい。例えば、SPS、PPS又はスライスヘッダにおいて閾値を信号で示してもよい。閾値は事前定義されてもよい。
【0068】
検索グリッドがブロックのサイズに応じて適応的に変更される場合に、詳細な検索パターンは、上記の検索パターンと同じであり得る。
【0069】
一実施例において、適応グリッドサイズは、他の検索パターンに適用されてもよい。これらの検索パターンにおいて、次の候補を見つけるためのグリッドサイズは、現在のブロックサイズに応じて適応的に変更される。即ち、検索グリッドは、水平方向では現在のブロックの幅、及び垂直方向では現在のブロックの高さを有してもよい。一実施形態において、現在のCUのサイズが閾値よりも小さい場合に、検索グリッドは、N×Mのような、例えば16×16などの固定の検索グリッドである。現在のCUのサイズが閾値以上である場合に、検索グリッドはブロックサイズに応じて適応的に変更される。
【0070】
他の実施例において、現在のCUのサイズが閾値以上である場合に、検索グリッドは、N×Mのような、例えば16×16などの固定の検索グリッドである。現在のCUのサイズが閾値よりも小さい場合に、検索グリッドは、ブロックサイズに応じて適応的に変更される。
【0071】
上記の実施例において、現在のCUのサイズと閾値を比較する場合に、当該比較にはCUのサイズの様々な態様を使用することができる。例えば、CUの幅とCUの高さのうちの最小値を使用してもよい。別の例において、CUの幅とCUの高さのうちの最大値を使用してもよい。さらに別の例において、CUの幅とCUの高さとの合計を使用してもよい。
【0072】
図9は、ビデオシーケンスのインター予測符号化に使用されるマージ候補を検索
するための例示的な処理900のフローチャートである。いくつかの実現形態において、
図9の1つ以上の処理ブロックは、復号器510によって実行されてもよい。いくつかの実現形態において、
図9の1つ以上の処理ブロックは、例えば符号器503などの、復号器510とは別の、又は復号器510を含む別のデバイス又はデバイスのグループによって実行されもよい。
【0073】
図9に示すように、処理900は、現在のCUのサイズと閾値サイズとの間の比較を実行する(ブロック910)を含むことができる。また、
図9に示すように、処理900は、比較の結果に基づいて、検索グリッドのサイズを変更するかどうかを決定する(ブロック920)を含むことができる。さらに、
図9に示すように、処理900は、比較の結果に基づいて、マージ候補を検索するための検索グリッドのサイズを変更して、マージ候補リストを構築する(ブロック930)を含むことができる。
【0074】
一実施例において、現在のCUのサイズは、現在のCUの高さと現在のCUの幅のうちの大きい方であってもよい。
【0075】
一実施例において、現在のCUのサイズは、現在のCUの高さと現在のCUの幅のうちの小さい方であってもよい。
【0076】
一実施例において、現在のCUのサイズは、現在のCUの高さと現在のCUの幅との合計であってもよい。
【0077】
一実施例において、処理900は、現在のCUのサイズが閾値サイズよりも大きいと判定したことに応答して、検索グリッドのサイズを固定サイズに設定し、現在のCUのサイズが閾値サイズよりも小さいと判定したことに応答して、現在のCUのサイズに基づいて、検索グリッドのサイズを可変サイズに設定すること、をさらに含んでもよい。
【0078】
一実施例において、処理900は、現在のCUのサイズが閾値サイズよりも小さいと判定したことに応答して、検索グリッドのサイズを固定サイズに設定し、現在のCUのサイズが閾値サイズよりも大きいと判定したことに応答して、現在のCUのサイズに基づいて検索グリッドのサイズを可変サイズに設定すること、をさらに含んでもよい。
【0079】
一実施例において、現在のCUの幅に基づいて検索グリッドの水平サイズを決定し、現在のCUの高さに基づいて検索グリッドの垂直サイズを決定してもよい。
【0080】
一実施例において、シーケンスパラメータセット、ピクチャパラメータセット及びスライスヘッダのうちの少なくとも1つにおいて、閾値サイズを信号で示してもよい。
【0081】
一実施例において、検索グリッドにおいてマージ候補を検索するためのスキャン順序はA(i,j)、B(i,j)、C(i,j)、D(i,j)、E(i,j)として表され、iは、現在のCUからの水平オフセットの数を表し、jは、現在のCUからの垂直オフセットの数を表し、A(0,0)は、現在のCUの左側にあり、B(0,0)は、現在のCUの上側にあり、C(0,0)は、現在のCUの右上隅にあり、D(0,0)は、現在のCUの左下隅にあり、E(0,0)は、現在のCUの左上隅にあってもよい。
【0082】
一実施例において、マージ候補リストは、マージモードとスキップモードのうちの少なくとも1つで使用されてもよい。
【0083】
図9に、処理900の例示的なブロックを示したが、いくつかの実現形態において、
図9に示すこれらのブロックに比べて、処理900は、追加のブロック、より少ないブロック、異なるブロック又は異なって配置されたブロックを含んでもよい。追加又は代替として、処理900の2つ以上のブロックは並行して実行されてもよい。
【0084】
また、提案された方法は、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)によって実現されてもよい。一例では、当該1つ以上のプロセッサは、非一時的コンピュータ可読媒体に記憶されているプログラムを実行して、提案された方法の1つ又は複数を実行する。
【0085】
上記の技術は、コンピュータ可読命令によってコンピュータソフトウェアとして実現され、1つ以上のコンピュータ可読媒体に物理的に記憶されてもよい。例えば、
図10は、開示されたテーマのいくつかの実施形態を実現するのに適したコンピュータシステム(1200)を示す。
【0086】
コンピュータソフトウェアは、任意の適切なマシンコード又はコンピュータ言語によって符号化することができ、任意の適切なマシンコード又はコンピュータ言語に対して、アセンブル、コンパイル、リンクなどのメカニズムを行うことで、コンピュータの中央演算処理装置(CPU)、グラフィック処理ユニット(GPU)などによって直接的に実行される、又は解釈、マイクロコードによって実行されることができる命令を含むコードを作成してもよい。
【0087】
当該命令は、例えばパーソナルコンピュータ、タブレット、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータ又はそれらのコンポーネントで実行されることができる。
【0088】
図10に示されるコンピュータシステム1200のコンポーネントは、本質的に例示であり、本開示の実施例を実現するためのコンピュータソフトウェアの使用範囲又は機能に制限を加えることを意図するものではない。コンポーネントの配置は、コンピュータシステム1200の例示的な実施例に示めされたるコンポーネントのいずれか、又はそれらの組み合わせに関連する依存性又は要件を有するものとして解釈されるべきではない。
【0089】
コンピュータシステム1200は、特定のヒューマンインタフェース入力デバイスを含んでもよい。このようなヒューマンインタフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの移動)、オーディオ入力(例えば、音声、拍手)、視覚入力(例えば、姿勢)、嗅覚入力(図示せず)による1つ以上の人間のユーザの入力に応答してもよい。ヒューマンインタフェースデバイスは、例えば、オーディオ(例えば、音声、音楽、環境音)、画像(例えば、スキャンした画像、静的画像撮影装置から取得された写真画像)、ビデオ(例えば2次元ビデオ、ステレオビデオが含まれる3次元ビデオ)などの、人間の意識的な入力に必ずしも直接関連しない特定のメディアをキャプチャするために使用されることもできる。
【0090】
ヒューマンインタフェース入力デバイスは、キーボード1001、マウス1002、トラックパッド1003、タッチスクリーン1010、データグローブ1204、ジョイスティック1005、マイク1006、スキャナー1007、撮影装置1008のうちの1つ以上を含んでもよい(それぞれが1つのみ図示される)。
【0091】
コンピュータシステム1200はさらに、特定のヒューマンインタフェース出力デバイスを含んでもよい。このようなヒューマンインタフェース出力デバイスは、例えば、触覚出力、音、光、及び匂い/味によって、1つ以上の人間のユーザの感覚を刺激することができる。そのようなヒューマンインタフェース出力デバイスには、触覚出力デバイス(例えば、タッチスクリーン1010、データグローブ1204、又はジョイスティック1005による触覚フィードバックであり、入力デバイスとして機能しない触覚フィードバックデバイスもある場合がある)、オーディオ出力デバイス(例えば、スピーカー1009、ヘッドフォン(図示せず))、視覚出力デバイス(例えば、スクリーン1010であり、ブラウン管(CRT)スクリーン、液晶ディスプレイ(LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンを含み、スクリーンのそれぞれはタッチスクリーン入力機能がある場合とない場合、触覚フィードバック機能がある場合とない場合があり、そのうちの一部のスクリーンは例えばステレオグラフィック出力のような手段により、2次元の視覚的出力又は3次元以上の出力を出力できる可能性がある)、仮想現実眼鏡(図示せず)、ホログラフィックディスプレイとスモークタンク(図示せず)、及びプリンター(図示せず)を含んでもよい。
【0092】
コンピュータシステム1200はさらに人間がアクセス可能な記憶装置及びその関連する媒体を含んでもよく、例えば、CD/DVDなどの媒体1021を有するCD/DVD ROM/RW1020などの光学媒体、サムドライブ1022、取り外し可能なハードドライブ又はソリッドステートドライブ1023、磁気テープとフロッピーディスク(図示せず)のような従来の磁気媒体、セキュリティドングル(図示せず)などの専用ROM/ASIC/PLDによるデバイスなどを含んでもよい。
【0093】
また、当業者は、現在開示されたテーマに関連して使用される「コンピュータ可読媒体」という用語には、伝送媒体、搬送波又は他の一時的な信号が含まれていないことを理解するべきである。
【0094】
コンピュータシステム1200は、1つ以上の通信ネットワークのインタフェースも含むことができる。ネットワークは、例えば、無線、有線、光などのネットワークであってもよい。ネットワークは、ローカル、ワイドエリア、メトロポリタン、車載及び工業、リアルタイム、遅延耐性などのネットワークであってもよい。ネットワークの例には、例えば、イーサネットなどのローカルエリアネットワーク、無線LAN、モバイル通信(GSM)、第3世代(3G)、第4世代(4G)、第5世代(5G)、ロング・ターム・エボリューション(LTEなど)を含むセルラーネットワーク、有線テレビ、衛星テレビ、及び地上波放送テレビを含むテレビ有線又は無線ワイドエリアデジタルネットワーク、CANBusを含む車載と工業ネットワークなどであってもよい。一部のネットワークは一般的に、特定の汎用データポート又は周辺バス(1049)(例えば、コンピュータシステム1200のユニバーサルシリアルバス(USB)ポートなど)に接続された外部ネットワークインタフェースアダプターを必要とする。他のネットワークは一般的に、以下で説明するようなシステムバス(例えば、PCコンピュータシステムに達するイーサネットインタフェース、又はスマートフォンコンピュータシステムに達するセルラーネットワークインタフェース)に接続されることで、コンピュータシステム1200のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム1200は他のエンティティと通信することができる。このような通信は、一方向、受信のみ(例えば、放送テレビ)、一方向送信のみ(例えば、あるCANbusデバイスへのCANbus)、又は双方向(例えば、ローカルエリア又はワイドエリアデジタルネットワークを使用して他のコンピュータシステムに達する)あってもよい。上記のようなこれらのネットワークとネットワークインタフェースのそれぞれに、特定のプロトコル及びプロトコルスタックを使用することができる。
【0095】
上記のヒューマンインタフェースデバイス、人間がアクセス可能な記憶装置、及びネットワークインタフェースは、コンピュータシステム1200のコア1040に取り付けることができる。
【0096】
コア1040には、1つ以上の中央処理装置(CPU)1041、グラフィックス処理装置(GPU)1042、フィールドプログラマブルゲートアレイ(FPGA)1043の形式の専用なプログラマブル処理ユニット、あるタスクに使用されるハードウェアアクセラレータ1044などを含んでもよい。これらのデバイスは、読み取り専用メモリ(ROM)1045、ランダムアクセスメモリ(RAM)1046、例えばユーザがアクセスできない内部ハードディスクドライブ、ソリッドステートドライブ(SSD)などの内部大容量記憶装置1047とともに、システムバス1248を介して接続される。一部のコンピュータシステムでは、システムバス1248に1つ以上の物理プラグの形でアクセスして、他のCPU、GPUなどによる拡張を可能にすることができる。周辺機器は、直接的又は周辺バス1049を介してコアのシステムバス1248に接続することができる。周辺バスのアーキテクチャは、周辺コンポーネント相互接続(PCI)、(USB)などを含む。
【0097】
CPU1041、GPU1042、FPGA1043、及びアクセラレータ1044は特定の命令を実行でき、これらの命令を組み合わせると、以上に言及されたコンピュータコードを構成する。当該コンピュータコードはROM1045又はRAM1046に記憶されてもよい。一時的なデータもRAM1046に記憶されてもよく、永久データは、例えば内部大容量記憶装置1047に記憶されてもよい。キャッシュメモリを使用することによって、記憶装置内の任意の記憶装置への高速ストレージ及び検索を実現することができ、当該キャッシュメモリは1つ以上のCPU1041、GPU1042、大容量記憶装置1047、ROM1045、RAM1046などと密接に関連することができる。
【0098】
コンピュータ読み取り可能な媒体は、コンピュータが実現する様々な動作を実行するためのコンピュータコードをその上に有することができる。媒体とコンピュータコードは、本開示の目的のために、特別に設計及び構築される媒体とコンピュータコードであってもよいし、又は、それらは、コンピュータソフトウェア分野の当業者にとって周知であり且つ使用可能なタイプのものであってもよい。
【0099】
限定ではなく例として、アーキテクチャ1200を有するコンピュータシステム、特に、コア1040は、(1つ以上の)プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ以上の有形コンピュータ可読媒体に実装されるソフトウェアを実行する結果として、機能を提供することができる。このようなコンピュータ可読媒体は、上記のような、ユーザがアクセス可能な大容量記憶装置に関する媒体、及び例えばコア内部大容量記憶装置1047又はROM1045などの非一時的なコア1040を有する特定の記憶装置であってもよい。本開示を実現するための様々な実施例のソフトウェアはこのようなデバイスに記憶され、コア1040によって実行されることができる。特定のニーズに応じて、コンピュータ可読媒体には1つ以上の記憶装置又はチップが含まれてもよい。ソフトウェアは、コア1040、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、本明細書では説明されている特定の処理又は特定の処理の特定の部分を実行させることができ、RAM1046に記憶されるデータ構成を限定すること、及びソフトウェアによって限定された処理によってこのようなデータ構成を修正することが含まれる。さらに又は代替として、コンピュータシステムは、ロジックハードワイヤード、又は他の形式で回路(例えば、アクセラレータ1044)に実装される結果として、機能を提供することができ、当該ロジックハードワイヤード又は回路は、ソフトウェアの代わりに、又はソフトウェアとともに動作して、本明細書では説明されている特定の処理又は特定の処理の特定の部分を実行することができる。適切な場合、ソフトウェアに対する言及にはロジックが含まれ、逆に、ロジックに対する言及にはソフトウェアが含まれてもよい。適切な場合、コンピュータ可読媒体に対する言及には、実行のためのソフトウェアが記憶される回路(例えば、集積回路(IC))、実行のためのロジックを具現化する回路、又はその両方が含まれてもよい。本開示は、ハードウェアとソフトウェアとの任意の適切な組み合わせを含む。
【0100】
この開示は、いくつかの例示的な実施例を説明したが、本開示の範囲内に含まれる変更、置換、及び様々な代替の均等物が存在する。従って、当業者は、本明細書では明示的に示されていないか、又は記載されていないが、本開示の原理を具現化したのでその精神及び範囲内にある多数のシステム及び方法を考案できることが理解されたい。