(57)【要約】  本開示は、ビデオデータを符号化するためのシステム及び方法を提供する。本方法は、メモリにデータ構造を記憶することを含むことができ、データ構造が、第１のビデオデータブロックの第２の複数のデータ要素に対応する、及び外周を画定する、配置された第１の複数のデータ要素を有し、データ構造が、第１のビデオデータブロックのための最小予測単位（ＰＵ）の全てに関係するデータを更に含む。本方法はまた、第１の複数のデータ要素の外周に沿って複数の拡張単位を追加することによって、メモリ中のデータ構造のサイズを増加することを含むことができ、各拡張単位が、第１のビデオデータブロックの最小データ要素に関係するデータを有し、拡張単位がデフォルト値に設定される。本方法はまた、データ構造に基づいて第１のビデオデータブロックを符号化することを備えることができる。
2018511234.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを符号化する方法であって、
メモリにデータ構造を記憶することと、前記データ構造が第１の複数のデータ要素を有し、外周を画定し、前記第１の複数のデータ要素がピクチャの第１の部分の第２の複数のデータ要素に対応して配置され、前記データ構造が、ピクチャの前記第１の部分のための最小予測単位（ＰＵ）の全てに関係するデータを更に含む、
前記第１の複数のデータ要素の前記外周に沿って複数の拡張単位を追加することを備えることによって、前記メモリ中の前記データ構造のサイズを増加することと、前記複数の拡張単位の各拡張単位が、ピクチャの前記第１の部分の最小データ要素に関係するデータを有する、
前記複数の拡張単位の各拡張単位と前記第１の複数のデータ要素とをデフォルト値に設定することと、
前記データ構造に基づいてピクチャの前記第１の部分を符号化することと
を備える、方法。
【請求項２】
前記データ構造に基づいて前記第２の複数のデータ要素の各データ要素に対して利用不可能性検査を実行することを更に備える、請求項１に記載の方法。
【請求項３】
ピクチャの前記第１の部分の現在ＣＵのＣＵ深度と少なくとも１つの隣接ＣＵのＣＵ深度とに基づいて、前記現在ＣＵのためのスプリットフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することを更に備え、前記現在ＣＵが前記第２の複数のデータ要素のうちのデータ要素であり、前記少なくとも１つの隣接ＣＵが前記第１の複数のデータ要素のうちのデータ要素である、請求項２に記載の方法。
【請求項４】
少なくとも１つの隣接コード化単位（ＣＵ）がスキップモードに設定されるかどうかに基づいて、ピクチャの前記第１の部分の現在ＣＵのためのスキップフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することを更に備え、前記現在ＣＵが前記第２の複数のデータ要素のうちのデータ要素であり、前記少なくとも１つの隣接ＣＵが前記第１の複数のデータ要素のうちのデータ要素である、請求項２に記載の方法。
【請求項５】
ピクチャの前記第１の部分の現在ＰＵの隣接ＰＵがインターモード予測に設定されると決定することと、
前記隣接ＰＵに基づいて前記現在ＰＵのためのマージ候補を決定することと、前記隣接ＰＵが前記第１の複数のデータ要素のうちのデータ要素である、
を更に備える、請求項２に記載の方法。
【請求項６】
ピクチャの前記第１の部分の現在ＰＵの隣接ＰＵがインターモード予測に設定されると決定することと、
前記隣接ＰＵに基づいて前記現在ＰＵの動き予測子を決定することと、前記隣接ＰＵが前記第１の複数のデータ要素のうちのデータ要素である、
を更に備える、請求項２に記載の方法。
【請求項７】
隣接ＰＵに基づいて、ピクチャの前記第１の部分の現在ＰＵのためのイントラ予測モードを予測することを更に備え、前記隣接ＰＵが前記第１の複数のデータ要素のうちのデータ要素である、請求項２に記載の方法。
【請求項８】
更新されたデータ構造を形成するためにピクチャの第２の部分のサイズ及び形状に基づいて前記データ構造の前記複数の拡張単位を更新することと、
更新された前記データ構造に基づいてピクチャの前記第２の部分を符号化することと
を更に備える、請求項１に記載の方法。
【請求項９】
前記データ構造に基づいてピクチャの前記第１の部分を符号化することが、ピクチャの前記第１の部分を符号化するために空間予測のための参照として前記複数の拡張単位を使用することを備える、請求項１に記載の方法。
【請求項１０】
ピクチャの前記第１の部分の前記最小データ要素が、予測単位又はコード化単位を備える、請求項１に記載の方法。
【請求項１１】
ビデオデータを符号化するための装置であって、
第１の複数のデータ要素を有し、外周を画定するデータ構造を記憶するように構成されたメモリと、前記第１の複数のデータ要素はピクチャの第１の部分の第２の複数のデータ要素に対応して配置され、前記データ構造がピクチャの前記第１の部分のための最小予測単位（ＰＵ）の全てに関係するデータを更に含む、
前記メモリに動作可能に結合され、
前記第１の複数のデータ要素の前記外周に沿って複数の拡張単位を追加することを備えることによって、前記メモリ中の前記データ構造のサイズを増加することと、前記複数の拡張単位の各拡張単位が、ピクチャの前記第１の部分の最小データ要素に関係するデータを有する、
前記複数の拡張単位の各拡張単位と前記第１の複数のデータ要素とをデフォルト値に設定することと、
前記データ構造に基づいてピクチャの前記第１の部分を符号化することと
を行うように構成されたプロセッサと
を備える、装置。
【請求項１２】
前記プロセッサが、前記データ構造に基づいて前記第２の複数のデータ要素の各データ要素に対して利用不可能性検査を実行するように更に構成された、請求項１１に記載の装置。
【請求項１３】
ピクチャの前記第１の部分の現在ＣＵと少なくとも１つの隣接ＣＵのＣＵ深度とに基づいて、スプリットフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することと、前記現在ＣＵが前記第２の複数のデータ要素のうちのデータ要素であり、前記少なくとも１つの隣接ＣＵが前記第１の複数のデータ要素のうちのデータ要素である、
前記少なくとも１つの隣接ＣＵがスキップモードに設定されるかどうかに基づいて、ピクチャの前記第１の部分の前記現在ＣＵのためのスキップフラグのためのＣＡＢＡＣコンテキストを決定することと、
ピクチャの前記第１の部分の現在ＰＵの隣接ＰＵがインターモード予測に設定されると決定することと、前記隣接ＰＵに基づいて前記現在ＰＵのためのマージ候補を決定することと、前記隣接ＰＵが前記第１の複数のデータ要素のうちのデータ要素である、
前記現在ＰＵの前記隣接ＰＵがインターモード予測に設定されると決定することと、前記隣接ＰＵに基づいて前記現在ＰＵの動き予測子を決定することと、
前記隣接ＰＵに基づいて、ピクチャの前記第１の部分の前記現在ＰＵのためのイントラ予測モードを予測することと
のうちの少なくとも１つを完了するように更に構成された前記プロセッサ、請求項１１に記載の装置。
【請求項１４】
前記プロセッサが、
更新されたデータ構造を形成するためにピクチャの第２の部分のサイズ及び形状に基づいて前記データ構造の前記複数の拡張単位を更新することと、
前記更新されたデータ構造に基づいてピクチャの前記第２の部分を符号化することと
を行うように更に構成された、請求項１１に記載の装置。
【請求項１５】
前記プロセッサが、ピクチャの前記第１の部分を符号化するために空間予測のための前記複数の拡張単位を参照するように更に構成された、請求項１１に記載の装置。
【請求項１６】
前記プロセッサが、前記デフォルト値を、
コード化単位深度が０に等しい、
予測モードがイントラ予測に設定される、及び
イントラ予測モードがＤＣ予測に設定される、
に設定するように更に構成された、請求項１１に記載の装置。
【請求項１７】
ピクチャの前記第１の部分の前記最小データ要素が、予測単位又はコード化単位を備える、請求項１１に記載の装置。
【請求項１８】
ピクチャの前記第１の部分が、スライス又はタイルを備える、請求項１１に記載の装置。
【請求項１９】
ピクチャの部分中のビデオデータを符号化する方法であって、
データ構造中の第１の複数の予測単位（ＰＵ）の各ＰＵに関係するデータを記憶することと、前記データ構造がコード化ツリー単位（ＣＴＵ）のサイズを有する、
前記データ構造中の前記第１の複数のＰＵの外周に沿って配設された複数の拡張単位の各拡張単位毎に拡張データを記憶することと、
前記データ構造に基づいて第１のＣＴＵを符号化することと、
第１の更新されたデータ構造を形成するために前記第１のＣＴＵのＰＵの最右列に関係するデータを用いて前記データ構造中の前記複数の拡張単位の最左列を更新することと、
前記第１の更新されたデータ構造に基づいて第２のＣＴＵを符号化することと
を備える、方法。
【請求項２０】
要素ラインバッファに前記第１のＣＴＵのＰＵの最下行に関係するデータを記憶することと、前記要素ラインバッファが、ピクチャの部分の幅に等しい第２の複数のＰＵに関係するデータを記憶するように構成された、
前記要素ラインバッファに前記第２のＣＴＵのＰＵの最下行に関係するデータを記憶することと、
ピクチャの前記部分中のＣＴＵの第１の行を符号化した後に、デフォルト値を用いて、前記データ構造中の前記複数の拡張単位の前記最左列と前記データ構造中の前記第１の複数のＰＵとを更新することと、ＣＴＵの前記第１の行が前記第１のＣＴＵと前記第２のＣＴＵとを含む、
第２の更新されたデータ構造を形成するために前記要素ラインバッファからのデータを用いて前記第１の更新されたデータ構造中の前記複数の拡張単位の最上行を更新することと、
前記第２の更新されたデータ構造に基づいてＣＴＵの第２の行上の第３のＣＴＵを符号化することと
を更に備える、請求項１９に記載の方法。
【請求項２１】
前記データ構造に基づいて前記第１のＣＴＵを符号化することが、前記第１のＣＴＵを符号化するために空間予測のための参照として前記複数の拡張単位を使用することを備える、請求項１９に記載の方法。
【請求項２２】
前記第１の複数のＰＵの各ＰＵが、前記第１のＣＴＵのための最小ＰＵを含み、前記第１の複数のＰＵの各ＰＵに関係する前記データが、少なくとも、コード化単位深度、予測モード及びインター予測モードを備える、請求項１９に記載の方法。
【請求項２３】
前記複数の拡張単位の各拡張単位がデフォルト値を有するように設定され、前記デフォルト値は、
コード化単位深度が０に等しい、
予測モードがイントラ予測に設定される、及び
イントラ予測モードがＤＣ予測に設定される、
を備える、請求項１９に記載の方法。
【請求項２４】
前記データ構造に基づいて前記ＣＴＵの複数のコード化単位（ＣＵ）の各ＣＵに対して利用不可能性検査を実行することを更に備える、請求項１９に記載の方法。
【請求項２５】
前記第１のＣＴＵの現在ＣＵのＣＵ深度と前記データ構造の少なくとも１つの隣接ＰＵのＣＵ深度とに基づいて、前記現在ＣＵのためのスプリットフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することを更に備え、前記現在ＣＵが前記複数のＣＵのうちのＣＵであり、前記少なくとも１つの隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、請求項２４に記載の方法。
【請求項２６】
少なくとも１つの隣接ＰＵがスキップモードに設定されるかどうかに基づいて、前記ＣＴＵの現在ＣＵのためのスキップフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することを更に備え、前記現在ＣＵが前記複数のＣＵのうちのＣＵであり、前記少なくとも１つの隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、請求項２４に記載の方法。
【請求項２７】
前記第１のＣＴＵの現在ＣＵの隣接ＰＵがインターモード予測に設定されると決定することと、
前記隣接ＰＵに基づいて前記現在ＣＵのためのマージ候補を決定することと、前記隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、
を更に備える、請求項２４に記載の方法。
【請求項２８】
前記第１のＣＴＵの現在ＰＵの隣接ＰＵがインターモード予測に設定されると決定することと、
前記隣接ＰＵに基づいて前記現在ＰＵの動き予測子を決定することと、前記隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、
を更に備える、請求項２４に記載の方法。
【請求項２９】
隣接ＰＵに基づいて、前記第１のＣＴＵの現在ＰＵのためのイントラ予測モードを予測することを更に備え、前記隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、請求項２４に記載の方法。
【請求項３０】
ビデオデータを符号化するための装置であって、
データ構造を記憶することと、前記データ構造が、第１の複数の予測単位（ＰＵ）の各ＰＵに関係するデータを有し、前記データ構造がコード化ツリー単位（ＣＴＵ）のサイズを更に有する、
前記データ構造中の前記第１の複数のＰＵの外周に沿って配設された複数の拡張単位の各拡張単位毎に拡張データを記憶することと
を行うように構成されたメモリと、
前記メモリに動作可能に結合され、
前記データ構造に基づいて第１のＣＴＵを符号化することと、
第１の更新されたデータ構造を形成するために前記第１のＣＴＵのＰＵの最右列に関係するデータを用いて前記データ構造中の前記複数の拡張単位の最左列を更新することと、
前記第１の更新されたデータ構造に基づいて第２のＣＴＵを符号化することと
を行うように構成されたプロセッサと
を備える、装置。
【請求項３１】
前記プロセッサは、
要素ラインバッファに前記第１のＣＴＵのＰＵの最下行に関係するデータを記憶することと、前記要素ラインバッファが、ピクチャ幅の部分に等しい第２の複数のＰＵに関係するデータを記憶するように構成される、
前記要素ラインバッファに前記第２のＣＴＵのＰＵの最下行に関係するデータを記憶することと、
ピクチャの前記部分中のＣＴＵの第１の行を符号化した後に、デフォルト値を用いて、前記データ構造中の前記複数の拡張単位の前記最左列と前記データ構造中の前記第１の複数のＰＵとを更新することと、ＣＴＵの前記第１の行が前記第１のＣＴＵと前記第２のＣＴＵとを含む、
第２の更新されたデータ構造を形成するために前記要素ラインバッファからのデータを用いて前記第１の更新されたデータ構造中の前記複数の拡張単位の最上行を更新することと、
前記第２の更新されたデータ構造に基づいてＣＴＵの第２の行上の第３のＣＴＵを符号化することと
を行うように更に構成された、請求項３０に記載の装置。
【請求項３２】
前記第１のＣＴＵの現在ＣＵのＣＵ深度と前記第１の複数のＰＵの少なくとも１つの隣接ＰＵのＣＵ深度とに基づいて、前記現在ＣＵのためのスプリットフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することと、
前記少なくとも１つの隣接ＰＵがスキップモードに設定されるかどうかに基づいて、前記第１のＣＴＵの前記現在ＣＵのためのスキップフラグのためのＣＡＢＡＣコンテキストを決定することと、
前記第１のＣＴＵの現在ＣＵの隣接ＰＵがインターモード予測に設定されると決定することと、前記隣接ＰＵに基づいて前記現在ＣＵのためのマージ候補を決定することと、前記隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、
現在ＰＵの前記隣接ＰＵがインターモード予測に設定されると決定することと、前記隣接ＰＵに基づいて前記現在ＰＵの動き予測子を決定することと、
前記隣接ＰＵに基づいての前記第１のＣＴＵの前記現在ＰＵのためのイントラ予測モードを予測することと
のうちの少なくとも１つを完了するように更に構成された前記プロセッサ、請求項３０に記載の装置。
【請求項３３】
前記プロセッサが、空間予測のための参照として前記データ構造を使用して前記第１のＣＴＵを符号化するように更に構成された、請求項３０に記載の装置。
【請求項３４】
前記第１の複数のＰＵの各ＰＵが、前記第１のＣＴＵのための最小ＰＵを含み、前記データが、少なくとも、コード化単位深度、予測モード、及びインター予測モードを備える、請求項３０に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は、ビデオコード化及び圧縮の分野に関する。特に、本開示は、高効率ビデオコード化（ＨＥＶＣ：High Efficiency Video Coding）のための適応タイルサイジング（adaptive tile sizing）に関する。本開示はまた、ＭＶ−ＨＥＶＣと呼ばれる、ＨＥＶＣのマルチビュー拡張などの３Ｄビデオコード化に関する。
【背景技術】
【０００２】
[0002]デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー電話又は衛星無線電話、所謂「スマートフォン」、ビデオ遠隔会議機器、ビデオストリーミング機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，高度ビデオコード化（ＡＶＣ：Advanced Video Coding）、現在開発中の（ＨＥＶＣ規格によって定義された規格、及びそのような規格の拡張に記載されているビデオコード化プロセスなど、ビデオコード化プロセスを実装する。ビデオ機器は、そのようなタイプのビデオコード化を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、及び／又は記憶し得る。
【０００３】
[0003]ビデオコード化方法は、ビデオシーケンスに固有の冗長性を低減又は除去するための空間（イントラピクチャ）予測及び／又は時間（インターピクチャ）予測を含む。ブロックベースビデオコード化の場合、ビデオスライス（例えば、ビデオフレーム又はビデオフレームの一部分）が、ツリーブロック、コード化単位（ＣＵ：coding unit）及び／又はコード化ノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化（Ｐ又はＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測、又は他の参照ピクチャ中の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００４】
[0004]空間予測又は時間予測は、コード化されるべきブロックのための予測ブロックを生じる。残差データは、コード化されるべき元のブロックと予測ブロックとの間の画素差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコード化モードと残差データとに従って符号化される。更なる圧縮のために、残差データは、画素領域から変換領域に変換され、残差変換係数が生じ得、その残差変換係数は、次いで量子化され得る。最初は２次元アレイで構成される量子化変換係数は、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコード化が適用され得る。
【発明の概要】
【０００５】
[0005]概して、本開示は、ビデオコード化に関係するシステム及び方法について説明する。本開示のシステム、方法及び機器は、それぞれ幾つかの発明的態様を有し、それらのうちの単一の態様が、本明細書で開示される望ましい属性を単独で担当するとは限らない。
【０００６】
[0006]本開示の一態様は、ビデオデータを符号化する方法を提供する。本方法は、メモリにデータ構造を記憶することを含むことができる。データ構造は、ピクチャの第１の部分の第２の複数のデータ要素に対応する、及び外周を画定する、配置された第１の複数のデータ要素を有することができ、データ構造は、ピクチャの第１の部分のための最小予測単位（ＰＵ）の全てに関係するデータを更に含む。本方法は、第１の複数のデータ要素の外周に沿って複数の拡張単位を追加することを備える、メモリ中のデータ構造のサイズを増加させることを更に含むことができ、複数の拡張単位の各拡張単位は、ピクチャの第１の部分の最小データ要素に関係するデータを有する。本方法は、複数の拡張単位の各拡張単位と第１の複数のデータ要素とをデフォルト値に設定することを更に含むことができる。本方法は、データ構造に基づいてピクチャの第１の部分を符号化することを更に含むことができる。
【０００７】
[0007]本開示の別の態様は、ビデオデータを符号化するための機器を提供する。本機器は、ピクチャの第１の部分の第２の複数のデータ要素に対応する、及び外周を画定する、配置された第１の複数のデータ要素を有し、データ構造を記憶するように構成されたメモリを有することができ、データ構造は、ピクチャの第１の部分のための最小予測単位（ＰＵ）の全てに関係するデータを更に含む。本機器はまた、メモリに動作可能に結合されたプロセッサを有することができる。プロセッサは、第１の複数のデータ要素の外周に沿って複数の拡張単位を追加することを備える、メモリ中のデータ構造のサイズを増加させることができ、複数の拡張単位の各拡張単位は、ピクチャの第１の部分の最小データ要素に関係するデータを有する。プロセッサはまた、複数の拡張単位の各拡張単位と第１の複数のデータ要素とをデフォルト値に設定することができる。プロセッサはまた、データ構造に基づいてピクチャの第１の部分を符号化することができる。
【０００８】
[0008]本開示の別の態様は、ビデオデータブロック中のビデオデータを符号化する方法を提供する。本方法は、データ構造中の第１の複数の予測単位の各予測単位に関係するデータを記憶することを含むことができ、データ構造はコード化ツリー単位（ＣＴＵ）のサイズを有する。本方法はまた、データ構造中の複数の予測単位の外周に沿って配設された複数の拡張単位の各拡張単位についての拡張データを記憶することを含むことができる。本方法はまた、データ構造に基づいて第１のＣＴＵを符号化することを含むことができる。本方法はまた、第１の更新されたデータ構造を形成するために第１のＣＴＵの予測単位の最右列に関係するデータを用いてデータ構造中の複数の拡張単位の最左列を更新することを含むことができる。本方法はまた、第１の更新されたデータ構造に基づいて第２のＣＴＵを符号化することを含むことができる。
【０００９】
[0009]本開示の別の態様は、ビデオデータを符号化するための機器を提供する。本機器はメモリを有することができる。メモリは、データ構造を記憶することができ、データ構造は、第１の複数の予測単位の各予測単位に関係するデータを有し、データ構造はコード化ツリー単位（ＣＴＵ）のサイズを更に有する。メモリはまた、データ構造中の複数の予測単位の外周に沿って配設された複数の拡張単位の各拡張単位についての拡張データを記憶することができる。本機器はまた、メモリに動作可能に結合されたプロセッサを有することができる。プロセッサは、データ構造に基づいて第１のＣＴＵを符号化することができる。プロセッサはまた、第１の更新されたデータ構造を形成するために第１のＣＴＵの予測単位の最右列に関係するデータを用いてデータ構造中の複数の拡張単位の最左列を更新することができる。プロセッサはまた、第１の更新されたデータ構造に基づいて第２のＣＴＵを符号化することができる。
【００１０】
[0010]本開示の他の特徴及び利点は、例として、本開示の態様を示す以下の説明から明らかであろう。
【００１１】
[0011]本開示の実施形態の詳細は、それらの構造と動作の両方について、添付の図面の検討によって部分的に収集され得、同様の参照番号は同様の部分を指す。
【図面の簡単な説明】
【００１２】
【図１】[0012]ビデオコード化システムのブロック図。
【図２】[0013]図１のビデオエンコーダのブロック図。
【図３】[0014]図１のビデオデコーダのブロック図。
【図４】[0015]ビデオデータブロックのグラフィカル表現。
【図５】[0016]拡張単位を使用するデフォルトデータブロックのグラフィカル表現。
【図６Ａ】[0017]ビデオデータをコード化するために使用されるデータ構造のグラフィカル表現。
【図６Ｂ】[0018]図６Ａのデータ構造を使用する符号化ビデオデータである複数のコード化ツリー単位（ＣＴＵ）のグラフィカル表現。
【図７】[0019]図５のデータ構造を使用してビデオデータを符号化するための方法のフローチャート。
【図８】[0020]図６Ａのデータ構造を使用してビデオデータを符号化するための方法のフローチャート。
【発明を実施するための形態】
【００１３】
[0021]本出願は、ビデオコード化における空間予測に関する。ビデオデータの連続ブロック又はフレームをコード化する際に、ビデオエンコーダは、例えば、ベクトルの観点から画素動きについて説明するために隣接画素情報を活用することができる。これは、一連のビデオフレーム又はブロック中の画素動きについて説明するために必要とされる情報の量を劇的に低減することができる。幾つかの事例では、この原理は、画素信号伝達と予測モード信号伝達とに適用され得る。但し、全ての画素が、コード化中に参照として使用するために常に利用可能であるとは限らない。従って、例えば、そのような空間参照としての画素又はブロックの利用可能性に課される複数の制限がある。符号化が進むにつれて、これらの制限は、隣接ビデオデータの利用可能性（又は利用不可能性）を検証するために検査されなければならない。そのような「利用不可能性」検査に必要な処理オーバーヘッドを低減するために、あるデフォルトデータが、コード化プロセスのための参照を与えるために実装され、それにより、検査の少なくとも一部分を避けることができる。これらのデフォルトデータは、利用不可能性検査を行う必要を緩和するために符号化プロセス全体にわたって参照される、一時的に記憶され連続的に又は周期的に更新されたデータ構造として実装され得る。これは、コード化効率の増加をもたらすことができる。
【００１４】
[0022]添付の図面に関して以下に記載される発明を実施するための形態は、様々な実施形態を説明するものであり、本開示が実施され得る実施形態のみを表すものではない。発明を実施するための形態は、実施形態の完全な理解を与えるための具体的な詳細を含む。但し、本開示はこれらの具体的な詳細なしにことが当業者には明らかであろう。幾つかの事例では、よく知られている構造及び構成要素は、説明の簡潔のために簡略化された形式で示される。
ビデオコード化
[0023]ビデオコード化規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２又はＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、及びそれのスケーラブルビデオコード化（ＳＶＣ：Scalable Video Coding）拡張とマルチビュービデオコード化（ＭＶＣ：Multiview Video Coding）拡張とを含む、（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４を含む。上記の規格のうちの１つ又は複数は、本明細書で説明される実施形態とともに使用され得る。
【００１５】
[0024]更に、新しいビデオコード化規格、即ち、高効率ビデオコード化（ＨＥＶＣ）が、ＩＴＵ−Ｔビデオコード化エキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ：Motion Picture Experts Group）とのジョイントコラボレーションチームオンビデオコード化（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって開発されている。以下で「ＨＥＶＣ  ＷＤ」と呼ばれる、最新のＨＥＶＣドラフト仕様は、http://phenix.int-evry.fr/jct/doc_end_user/documents/15_Geneva/wg11/JCTVC-O1003-v1.zipから入手可能である。ＨＥＶＣのマルチビュー拡張、即ち、ＭＶ−ＨＥＶＣと、より高度な３Ｄビデオコード化のための別のＨＥＶＣ拡張（３Ｄ−ＨＥＶＣ）とは、ＪＣＴ−３Ｖによって開発されており、一方、ＨＥＶＣのスケーラブルビデオコード化拡張、即ち、ＳＨＶＣは、ＪＣＴ−ＶＣによって開発されている。以下でＭＶ−ＨＥＶＣ  ＷＤ５と呼ばれる、ＭＶ−ＨＥＶＣの最近のワーキングドラフト（ＷＤ）は、http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/6_Geneva/wg11/JCT3V-F1004-v6.zipから入手可能である。以下で３Ｄ−ＨＥＶＣ  ＷＤ１と呼ばれる、３Ｄ−ＨＥＶＣの最新のＷＤは、http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/6_Geneva /wg11/JCT3V-F1001-v3.zipから入手可能である。以下でＳＨＶＣ  ＷＤ３と呼ばれる、ＳＨＶＣの最近のワーキングドラフト（ＷＤ）は、http://phenix.it-sudparis.eu/jct/doc_end_user/documents/15_Geneva/wg11/JCTVC-O1008-v3.zipから入手可能である。
【００１６】
[0025]ＨＥＶＣは、概して、増加した計算複雑さという犠牲を払って、同等の画像品質で、ビットレート要件を１／２だけ低減することができる。幾つかの実施形態では、ＨＥＶＣエンコーダは、計算複雑さ、圧縮レート、エラーに対するロバストネス及び符号化遅延時間のトレードオフを図ることができる。従って、ＨＥＶＣは、概して、より高い解像度のビデオ及び改善された並列処理方法をサポートすることができる。
【００１７】
[0026]ＨＥＶＣビデオコード化レイヤは、インターピクチャ及びイントラピクチャ予測と２次元（２Ｄ）変換コード化とを実装する、「ハイブリッド」手法を使用する。ＨＥＶＣエンコーダは、最初に、ピクチャを、第１のピクチャ又はランダムアクセスポイントの第１のピクチャのためにブロック形状の領域にスプリットすることができ、これは、イントラピクチャ予測を使用する。本明細書で使用されるイントラピクチャ予測は、概して、ピクチャ中の情報のみに基づくそのピクチャ中のブロックの予測を指すことができる。全ての他のピクチャについて、インターピクチャ予測が使用される。インターピクチャ予測は、概して、現在ピクチャを生成するために他のピクチャからの予測情報がいつ使用されるかを指すことができる。予測方法が終了され、ピクチャがループフィルタを通った後に、最終ピクチャ表現が復号ピクチャバッファに記憶される。復号ピクチャバッファに記憶されたピクチャは、他のピクチャの予測のために使用され得る。
【００１８】
[0027]ＨＥＶＣはまた、幾つかの並列処理ツールを実装することができる。幾つかの実施形態では、ピクチャを、独立して符号化及び復号され得る矩形領域のグリッドに分割するために、タイルが使用され得る。
【００１９】
[0028]ＨＥＶＣ規格はパラメータセット概念を採用する。ＨＥＶＣにおけるシーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）及びビデオパラメータセット（ＶＰＳ）機構は、まれに変化する情報の送信を、コード化ビデオブロックデータの送信から分離し得る。
【００２０】
[0029]ＨＥＶＣでは、ＳＰＳピクチャ、ＰＰＳ又はＶＰＳの識別子は、「ｕｅ（ｖ）」と称する可変長符号化コード化方法を使用してコード化される。ＨＥＶＣワーキングドラフトは、「ｕｅ（ｖ）」コード化シンタックス要素を、左ビット第一の、符号なし整数指数ゴロムコード化（unsigned integer Exp-Golomb-coded）シンタックス要素として定義する。各ＳＰＳはＳＰＳ識別子（ＩＤ）を含み、各ＰＰＳはＰＰＳ  ＩＤ及びＳＰＳ  ＩＤを含み、各スライスヘッダはＰＰＳ  ＩＤを含む。同じく、各バッファリング期間補足拡張情報（ＳＥＩ：supplemental enhancement information）メッセージがＳＰＳ  ＩＤを含む。概して、ビデオコード化機器又はビデオ処理機器は、ネットワーク抽象化レイヤ（ＮＡＬ）単位内にビットストリームのデータをカプセル化し得る。ＮＡＬ単位は、ビデオコード化レイヤ（ＶＣＬ）ＮＡＬ単位と非ＶＣＬ  ＮＡＬ単位とを含む。ＶＣＬ  ＮＡＬ単位は、概して、コード化ビデオデータ及びパラメータセット、例えば、ＳＰＳ、ＰＰＳ及びＶＰＳなど、ビデオコーダによって使用される情報を含む。非ＶＣＬ  ＮＡＬ単位は、ＳＥＩメッセージを定義する情報を含み、その情報は、ＶＣＬ  ＮＡＬ単位からのコード化ピクチャサンプルを復号するためには必要でないが、復号と、表示と、誤り耐性と、他の目的とに関係するプロセスを支援し得る情報を含んでいることがある。
ビデオコード化システム
[0030]図１は、ビデオコード化システムのブロック図である。本開示で説明される態様による方法を利用し得るビデオコード化システム（「システム」）１０。本明細書で使用され説明される「ビデオコーダ」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコード化」又は「コード化」という用語は、ビデオ符号化とビデオ復号とを総称的に指すことがある。
【００２１】
[0031]図１に示されているように、システム１０は、宛先機器１４によって後で復号されるべき符号化ビデオデータを生成することができる発信源機器１２を含む。発信源機器１２及び宛先機器１４は、デスクトップコンピュータ、ノートブック（即ち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォンなどの電話ハンドセット、所謂「スマート」パッド、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング機器などを含む、広範囲にわたる機器のいずれかを備えることができる。幾つかの場合には、発信源機器１２及び宛先機器１４は、ワイヤレス通信のために装備され得る。
【００２２】
[0032]宛先機器１４は、リンク１６を介して復号されるべき符号化ビデオデータを受信し得る。リンク１６は、発信源機器１２から宛先機器１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体又は機器を備え得る。一例では、リンク１６は、発信源機器１２が、符号化ビデオデータをリアルタイムで宛先機器１４に直接送信することを可能にするための通信媒体を備え得る。発信源機器１２は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し得、宛先機器１４に送信した。通信媒体は、無線周波数（ＲＦ）スペクトル又は１つ以上の物理伝送線路など、任意のワイヤレス又はワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワークなどのパケットベースネットワーク又はインターネットなどのグローバルネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局又は発信源機器１２から宛先機器１４への通信を可能にするために有用であり得る任意の他の機器を含み得る。
【００２３】
[0033]符号化データは出力インターフェース２２から記憶装置３４に出力され得る。同様に、入力インターフェース２８は、記憶装置３４に記憶された符号化データにアクセスすることができる。記憶装置３４は、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性又は不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散された又はローカルにアクセスされるデータ記憶媒体のいずれかを含むことができる。更なる一例では、記憶装置３４は、発信源機器１２によって生成された符号化ビデオを保持することができるファイルサーバ又は別の中間記憶装置に対応することができる。宛先機器１４は、ストリーミング又はダウンロードを介して記憶装置３４から記憶されたビデオデータにアクセスすることができる。ファイルサーバは、符号化ビデオデータを記憶することと、その符号化ビデオデータを宛先機器１４に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、（例えば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）装置又はローカルディスクドライブがある。宛先機器１４は、インターネット接続を含む、任意の標準のデータ接続を通して符号化ビデオデータにアクセスすることができる。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデムなど）、又はその両方の組合せを含むことができる。記憶装置３４からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又はその両方の組合せであり得る。
【００２４】
[0034]本開示の方法は、必ずしもワイヤレス適用例又は設定に限定されるとは限らない。本方法は、無線テレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び／又はビデオテレフォニーなどの適用例をサポートするために、一方向又は双方向のビデオ送信をサポートするように構成され得る。
【００２５】
[0035]図１の例では、発信源機器１２は、ビデオ発信源１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。幾つかの場合には、出力インターフェース２２は、変調器／復調器（モデム）及び／又は送信機を含み得る。発信源機器１２において、ビデオ発信源１８は、撮像装置、例えばビデオカメラ、以前に撮られたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース及び／又は発信源ビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどの発信源、若しくはそのような発信源の組合せを含み得る。一例として、ビデオ発信源１８がビデオカメラである場合、発信源機器１２及び宛先機器１４は、所謂カメラフォン又はビデオフォンを形成し得る。但し、本開示で説明される方法は、概してビデオコード化に適用可能であり得、ワイヤレス及び／又はワイヤード適用例に適用され得る。
【００２６】
[0036]ビデオエンコーダ２０は、撮られたビデオ、以前に撮られたビデオ又はコンピュータ生成されたビデオを符号化し得る。幾つかの例では、発信源機器１２の出力インターフェース２２は、介して符号化ビデオデータを宛先機器１４に直接送信することができる。符号化ビデオデータは更に（又は代替的に）、復号及び／又は再生のための宛先機器１４又は他の機器による後のアクセスのために記憶装置３４上に記憶され得る。
【００２７】
[0037]宛先機器１４は、入力インターフェース２８と、ビデオデコーダ３０と、表示装置３２とを含む。幾つかの場合には、入力インターフェース２８は受信機及び／又はモデムを含み得る。宛先機器１４の入力インターフェース２８は、リンク１６を介して符号化ビデオデータを受信する。リンク１６を介して通信された、又は記憶装置３４上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０などのビデオデコーダが使用するための、ビデオエンコーダ２０によって生成された様々なシンタックス要素を含むことができる。そのようなシンタックス要素は、通信媒体上で送信された、記憶媒体に記憶された、又はファイルサーバ記憶された符号化ビデオデータとともに含まれ得る。
【００２８】
[0038]表示装置３２は、宛先機器１４と一体化されるか、又はその外部にあり得る。幾つかの例では、宛先機器１４は、一体型表示装置を含み、外部表示装置とインターフェースするように構成され得る。他の例では、宛先機器１４は表示装置であり得る。概して、表示装置３２は、復号ビデオデータをユーザに表示し、液晶表示器（ＬＣＤ）、プラズマ表示器、有機発光ダイオード（ＯＬＥＤ）表示器又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
【００２９】
[0039]ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、１つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、又はそれらの任意の組合せとして実装され得る。本方法が部分的にソフトウェアで実装されるとき、機器は、ソフトウェアのための命令を好適な非一時的コンピュータ可読媒体に記憶し、本開示の方法を実行するために１つ又は複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は１つ又は複数のエンコーダ又はデコーダ中に含まれ得、そのいずれも、それぞれの機器において複合エンコーダ／デコーダ（コーデック）の一部として一体化され得る。
【００３０】
[0040]ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコード化機器の発展的モデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存の機器に対してビデオコード化機器の幾つかの追加の能力を仮定する。例えば、Ｈ．２６４は９つのイントラ予測符号化モードを与えるが、ＨＭは３３個ものイントラ予測符号化モードを与え得る。
【００３１】
[0041]概して、ＨＭのワーキングモデルは、ビデオフレーム又はピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロック又は最大コード化単位（ＬＣＵ：largest coding unit）に分割され得ることを記載している。ＬＣＵは、本明細書ではコード化ツリー単位（ＣＴＵ）と呼ばれることもある。ＣＴＵはＨＥＶＣの基本単位である。ツリーブロックは、Ｈ．２６４規格のマクロブロックと概念的に同様である。スライスは、コード化順序で幾つかの連続するツリーブロックを含む。ビデオフレーム又はピクチャは、１つ又は複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコード化単位（ＣＵ）にスプリットされ得る。例えば、４分木のルートノードとしてのツリーブロックは、４つの子ノードにスプリットされ得、各子ノードは、次に、親ノードとなり、別の４つの子ノードにスプリットされ得る。４分木のリーフノードとしての、最終的な、スプリットされていない子ノードは、コード化ノード、即ち、コード化ビデオブロックを備える。コード化ビットストリームに関連するシンタックスデータは、ツリーブロックがスプリットされ得る最大回数を定義し得、また、コード化ノードの最小サイズを定義し得る。
【００３２】
[0042]ＣＵは、コード化ノードと、コード化ノードに関連する予測単位（ＰＵ）及び変換単位（ＴＵ：transform unit）とを含む。ＣＵのサイズは、コード化ノードのサイズに対応し、形状が正方形でなければならない。ＣＵのサイズは、８×８画素から最大６４×６４画素以上をもつツリーブロックのサイズまでに及び得る。各ＣＵは、１つ又は複数のＰＵと、１つ又は複数のＴＵとを含んでいることがある。ＣＵに関連するシンタックスデータは、例えば、１つ又は複数のＰＵへのＣＵの区分を記述し得る。区分モードは、ＣＵが、スキップモード符号化又はダイレクトモード符号化されるか、イントラ予測モード符号化されるか、若しくはインター予測モード符号化されるかの間で異なり得る。ＰＵは、形状が非正方形になるように区分され得る。ＣＵに関連するシンタックスデータは、例えば、４分木に従う１つ又は複数のＴＵへのＣＵの区分をも記述し得る。ＴＵは、形状が正方形又は非正方形であり得る。
【００３３】
[0043]ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従う変換を可能にする。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、これは常にそうであるとは限らない。ＴＵは、一般に、ＰＵと同じサイズであるか、又はＰＵよりも小さい。幾つかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造を使用してより小さい単位に再分割され得る。ＲＱＴのリーフノードは変換単位（ＴＵ）と呼ばれることがある。ＴＵに関連する画素差分値は、変換係数を生成するために変換され得、その変換係数は量子化され得る。
【００３４】
[0044]概して、ＰＵは、予測プロセスに関係するデータを含む。例えば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵのためのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４画素精度又は１／８画素精度）、動きベクトルが指す参照ピクチャ、及び／又は動きベクトルのための参照ピクチャリスト（例えば、リスト０、リスト１、又はリストＣ）を記述し得る。
【００３５】
[0045]概して、ＴＵは、変換プロセスと量子化プロセスとのために使用される。１つ又は複数のＰＵを有する所与のＣＵは、１つ又は複数の変換単位（ＴＵ）をも含み得る。予測の後に、ビデオエンコーダ２０は、ＰＵに対応する残差値を計算し得る。残差値は画素差分値を備え、画素差分値は、エントロピーコード化のためのシリアル化変換係数（serialized transform coefficient）を生成するためにＴＵを使用して変換係数に変換され、量子化され、走査され得る。本開示は、一般に、ＣＵのコード化ノードを指すために「ビデオブロック」という用語を使用する。幾つかの特定の場合には、本開示はまた、コード化ノード並びにＰＵ及びＴＵを含む、ツリーブロック、即ち、ＣＴＵ、ＬＣＵ又はＣＵを指すために「ビデオブロック」という用語を使用し得る。
【００３６】
[0046]ビデオシーケンスは一連のビデオフレーム又はピクチャを含むことができる。グループオブピクチャ（ＧＯＰ：group of pictures）は、概して、ビデオピクチャのうちの一連の１つ又は複数を備える。ＧＯＰは、ＧＯＰ中に含まれる幾つかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つ又は複数のヘッダ中、又は他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックはＣＵ内のコード化ノードに対応し得る。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定されたコード化規格に応じてサイズが異なり得る。
【００３７】
[0047]一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２Ｎ又はＮ×ＮのＰＵサイズでのイントラ予測と、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、又はＮ×Ｎの対称ＰＵサイズでのインター予測とをサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、及びｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、又は「Ｒｉｇｈｔ」という表示によって示される。従って、例えば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分された２Ｎ×２Ｎ  ＣＵを指す。
【００３８】
[0048]本開示では、「Ｎ×Ｎ（NxN）」及び「Ｎ×Ｎ（N by N）」は、垂直寸法及び水平寸法に関するビデオブロックの画素寸法、例えば、１６×１６（16x16）画素又は１６×１６（16 by 16）画素を指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６画素を有し（ｙ＝１６）、水平方向に１６画素を有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮ画素を有し、水平方向にＮ画素を有し、ここで、Ｎは非負整数値を表す。ブロック中の画素は行及び列に配置され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数の画素を有する必要があるとは限らない。例えば、ブロックはＮ×Ｍ画素を備え得、ここで、Ｍは必ずしもＮに等しいとは限らない。
【００３９】
[0049]ＣＵのＰＵを使用したイントラ予測コード化又はインター予測コード化の後に、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（画素領域とも呼ばれる）空間領域において画素データを含むことができ、ＴＵは、変換、例えば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換又は概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャの画素と、ＰＵに対応する予測値との間の画素差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＣＵのための変換係数を生成するためにＴＵを変換することができる。
【００４０】
[0050]変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は変換係数の量子化を実行することができる。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、更なる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。
【００４１】
[0051]幾つかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するために予め定義された走査順序を利用することができる。他の例では、ビデオエンコーダ２０は適応型走査を実行することができる。１次元ベクトルを形成するために量子化変換係数を走査した後に、ビデオエンコーダ２０は、例えば、コンテキスト適応型可変長コード化（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コード化（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コード化、又は別のエントロピー符号化方法に従って１次元ベクトルをエントロピー符号化することができる。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００４２】
[0052]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、コンテキストモデル内のコンテキストを、送信されるべきシンボルに割り当てることができる。コンテキストは、例えば、シンボルの隣接値が非０であるか否かに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルのための可変長コードを選択し得る。ＶＬＣ中のコードワードは、比較的より短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、ＶＬＣの使用は、例えば、送信されるべき各シンボルのための等長コードワードを使用することに勝るビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づくことができる。
【００４３】
[0053]図２は、図１のビデオエンコーダの機能ブロック図である。ビデオエンコーダ２０は、撮られたビデオデータを受信し、ビデオデータをビデオブロックに区分するように構成された区分モジュール３５を含むことができる。区分モジュール３５は、ビデオデータを、スライス、タイル、又は他のより大きい単位に区分することができる。区分モジュール３５はまた、例えば、ＬＣＵとＣＵとの４分木構造に従って、ビデオブロックを区分することができる。ビデオエンコーダ２０は、スライスを複数のビデオブロックに（及び、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割し得る。
【００４４】
[0054]ビデオエンコーダ２０はまた、区分モジュール３５に動作可能に結合され、区分されたビデオデータを受信するように構成された予測モジュール４１を有することができる。予測モジュール４１は、誤差結果（例えばコード化レート及び歪みレベル）に基づいて現在ビデオブロックについて、複数のイントラコード化モードのうちの１つ又は複数のインターコード化モードのうちの１つなど、複数の可能なコード化モードのうちの１つを選択することができる。予測モジュール４１は、ビデオエンコーダ２０が、ビデオスライス内のビデオブロックのイントラコード化及びインターコード化を実行することを可能にすることができる。イントラコード化は、所与のビデオフレーム又はピクチャ内のビデオの空間冗長性を低減又は除去するために空間予測に依拠する。インターコード化は、ビデオシーケンスの隣接フレーム又はピクチャ内のビデオの時間冗長性を低減又は除去するために時間予測に依拠する。イントラモード（Ｉモード）は、幾つかの空間ベース圧縮モードのいずれかを指すことがある。単方向予測（Ｐモード）又は双方向予測（Ｂモード）などのインターモードは、幾つかの時間ベース圧縮モードのいずれかを指すことがある。予測モジュール４１は、以下で説明されるように、幾つかの制限内でインター予測及びイントラ予測を実行することができる。
【００４５】
[0055]予測モジュール４１は、動き推定モジュール４２と、動き補償モジュール４４と、イントラ予測モジュール４６とを含むことができる。これらの構成要素の各々は、ビデオエンコーダ２０内で動作可能に接続されるか、又は１つ以上のプロセッサ中で一体化され得る。概念的な目的のために別々に説明されるが、動き推定モジュール４２と、動き補償モジュール４４と、イントラ予測モジュール４６とは、高度に一体化され得る。
【００４６】
[0056]動き推定モジュール４２は、ビデオシーケンスのための所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。１つ又は複数の参照ピクチャ中の１つ又は複数の予測ブロックに対する現在ビデオブロックのそのようなインター予測又はインター予測コード化は、時間圧縮を行うことができる。所定のパターンは、シーケンス中のビデオスライスを、Ｐスライス、Ｂスライス又はＧＰＢスライスに指定し得る。本明細書で使用される動き推定は、概して、ビデオブロックのための動きを推定する動きベクトルを生成するプロセスを指すことがある。動きベクトルは、例えば、参照フレーム又は参照ピクチャ内の予測ブロックに対する現在ビデオフレーム又はピクチャ内のビデオブロックのＰＵの変位を示し得る。参照フレームは、予測モジュール４１に動作可能に結合された参照ピクチャメモリ６４に記憶され得る。
【００４７】
[0057]幾つかの実施形態では、動きベクトルは、サブ整数画素（「サブペル」）精度を有することができる。例えば、動きベクトルの水平成分と垂直成分の両方が、それぞれのフル整数又はフルペル成分及びサブペル成分を有し得る。そのようなサブペル精度は、参照フレーム内のフルペル位置から補間され得る。従って、分数画素動き推定、分数ペル動き推定、サブ整数動き推定及びサブ画素動き推定という用語は、互換的に使用され得る。幾つかの実施形態では、補間フィルタは補間された位置を与えることができる。補間フィルタは、動き推定及び／又は動き補償の一部として補間を実行するために、動き推定モジュール４２と動き補償モジュール４４の一方又は両方によって呼び出され得る。
【００４８】
[0058]予測ブロックは、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されるべきビデオブロックのＰＵにぴったり一致することがわかるブロックである。幾つかの例では、動き予測モジュール（「予測モジュール」）４１は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数画素位置についての値を計算することができる。例えば、予測モジュール４１は、参照ピクチャの１／４画素位置、１／８画素位置又は他の分数画素位置の値を補間することができる。従って、動き推定モジュール４２は、フル画素位置と分数画素位置とに対して動き探索を実行し、分数画素精度で動きベクトルを出力し得る。
【００４９】
[0059]動き推定モジュール４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵのための動きベクトルを計算することができる。参照ピクチャは、第１の参照ピクチャリスト（リスト０）又は第２の参照ピクチャリスト（リスト１）から選択され得、それらの各々が、参照ピクチャメモリ６４に記憶された１つ又は複数の参照ピクチャを識別する。動き推定モジュール４２は、計算された動きベクトルを動き補償モジュール４４とエントロピー符号化モジュール５６とに送ることができる。
【００５０】
[0060]動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することを伴うことができる。これは、サブ画素精度への補間を含むことができる。現在ビデオブロックのＰＵのための動きベクトルを受信すると、動き補償モジュール４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定することができる。動き補償モジュール４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成することができる。
【００５１】
[0061]予測モジュール４１内のイントラ予測モジュール４６は、空間圧縮を行うために、同じフレーム又はスライス中の１つ又は複数の隣接ブロックに対して現在ビデオブロックのイントラ予測コード化を実行することができる。イントラ予測モジュール４６は、上記で説明されたように、動き推定モジュール４２と動き補償モジュール４４とによって実行されるインター予測の代替として、現在ブロックをイントラ予測することができる。特に、イントラ予測モジュール４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。幾つかの例では、イントラ予測モジュール４６は、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得る。例えば、イントラ予測モジュール４６は、様々なテストされたイントラ予測モードのためのレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み（又は誤差）の量及び符号化ブロックを生成するために使用されるビットレート（即ち、ビット数）を決定することができる。イントラ予測モジュール４６は、どのイントラ予測モードがブロックについて最良のレート歪み値を呈するかを決定するために、様々な符号化ブロックのための歪み及びレートから比を計算し得る。
【００５２】
[0062]イントラ予測モジュール４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化モジュール５６に与えることができる。エントロピー符号化モジュール５６は、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブル及び複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックのための符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、及び変更されたイントラ予測モードインデックステーブルの指示とを含むことができる構成データを送信ビットストリーム中に含めることができる。
【００５３】
[0063]予測モジュール４１（及びそれの他の構成モジュール）が、上記で説明された様々な動作を実行するとき、ビデオエンコーダ２０は幾つかの制限によって抑制され得る。制限は、予測モジュール４１が、空間的に相関するビデオデータを使用して予測ブロックを生成するとき、予測モジュール４１によって観測される。例えば、空間又は時間予測のために使用される隣接ＣＵが、別のスライス中、別のタイル中、符号化されているビデオフレームの外側、又はまだ符号化されていないＰＵ中にある場合、それは利用不可能であり得る。制限は、幾つかの利用不可能性検査を実装することによって回避される。制限及び関連する利用不可能性検査は、図４に関して以下で説明される。
【００５４】
[0064]予測モジュール４１が、インター予測又はイントラ予測のいずれかを介して現在ビデオブロックのための予測ブロックを生成した後に、ビデオエンコーダ２０は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。このプロセスは画素差分値を生じることができる。画素差分値は、ブロックのための残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含むことができる。予測モジュール４１と区分モジュール３５とに動作可能に結合された加算器５０は、この減算演算を実行するように構成され得る１つ又は複数の構成要素を表す。
【００５５】
[0065]残差ブロック中の残差ビデオデータは、１つ又は複数のＴＵ中に含まれ、加算器５０に動作可能に結合された変換モジュール５２に適用され得る。変換モジュール５２は、離散コサイン変換（ＤＣＴ）又は概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換することができる。変換モジュール５２は、残差ビデオデータを画素領域から周波数領域などの変換領域に変換することができる。予測モジュール４１は、残差ブロックデータを生成するために、得られたイントラコード化ブロック又はインターコード化ブロックを加算器５０に与えることができる。得られたイントラコード化ブロック又はインターコード化ブロックは、参照ピクチャとして使用するための符号化ブロックを再構成するために、更に加算器６２に与えられ得る。
【００５６】
[0066]ビデオエンコーダ２０は、加算器６２に動作可能に結合されたフィルタモジュール６３をも含むことができる。フィルタモジュール６３は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ：adaptive loop filter）及びサンプル適応オフセット（ＳＡＯ：sample adaptive offset）フィルタなど、１つ又は複数のループフィルタを表すことができる。図２では、フィルタモジュール６３はループ内フィルタであるとして示されているが、他の構成では、フィルタモジュール６３はループ後フィルタとして実装され得る。フィルタモジュール６３は、参照ピクチャを参照ピクチャメモリ６４に与えることができる。
【００５７】
[0067]変換モジュール５２は、得られた変換係数を量子化モジュール５４に送ることができる。量子化モジュール５４は、ビットレートを更に低減するために変換係数を量子化することができる。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。幾つかの例では、量子化モジュール５４は、次いで、量子化変換係数を含む行列の走査を実行することができる。幾つかの実施形態では、エントロピー符号化モジュール５６が走査を実行し得る。
【００５８】
[0068]量子化の後に、エントロピー符号化モジュール５６は、量子化変換係数をエントロピー符号化することができる。例えば、エントロピー符号化モジュール５６は、ＣＡＶＬＣ、ＣＡＢＡＣ、ＳＢＡＣ、及び／又はＰＩＰＥ、コード化、若しくは別のエントロピー符号化方法（methodology）又は方法（method）を実行し得る。エントロピー符号化モジュール５６によるエントロピー符号化の後に、符号化ビットストリームはビデオデコーダ３０に送信され得る。ビットストリームはまた、ビデオデコーダ３０による後の送信又は取出しのためにアーカイブされ得る。エントロピー符号化モジュール５６はまた、コード化されている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化することができる。
【００５９】
[0069]ビデオエンコーダ２０は、エントロピー符号化モジュール５６に動作可能に結合された逆量子化モジュール５８をも含むことができる。また、逆変換モジュール６０が、逆量子化モジュール５８と加算器６２とに動作可能に結合され得る。逆量子化モジュール５８及び逆変換モジュール６０は、参照ピクチャの参照ブロックとして後で使用するために画素領域において残差ブロックを再構成するために、それぞれ逆量子化及び逆変換を適用することができる。動き補償モジュール４４は、残差ブロックを参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算することができる。動き補償モジュール４４はまた、動き推定において使用するためのサブ整数画素値を計算するために、再構成された残差ブロックに補間フィルタのうちの１つ又は複数を適用することができる。加算器６２は、参照ピクチャメモリ６４に記憶するための参照ブロックを生成するために、再構成された残差ブロックを、動き補償モジュール４４によって生成された動き補償予測ブロックに加算することができる。参照ブロックは、後続のビデオフレーム又はピクチャ中のブロックをインター予測するために、動き推定モジュール４２と動き補償モジュール４４とによって参照ブロックとして使用され得る。
【００６０】
[0070]図３は、図１のビデオデコーダの機能ブロック図である。ビデオデコーダ３０は、エントロピー復号モジュール８０と、予測モジュール８１と、逆量子化モジュール８６と、逆変換モジュール８８と、加算器９０と、フィルタモジュール９１と、参照ピクチャメモリ９２とを含むことができる。予測モジュール８１は、動き補償モジュール８２とイントラ予測モジュール８４とを含む。ビデオデコーダ３０は、幾つかの例では、図２からのビデオエンコーダ２０に関して説明された符号化パスとは概して逆の復号パスを実行することができる。
【００６１】
[0071]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０は、ネットワークエンティティ２９から符号化ビデオビットストリームを受信することができる。ネットワークエンティティ２９は、例えば、上記で説明された方法のうちの１つ又は複数を実装するように構成されたサーバ、ビデオエディタ／スプライサ、又は他のそのような機器であり得る。上記で説明されたように、本開示で説明される方法のうちの幾つかは、ネットワークエンティティ２９が符号化ビデオビットストリームをビデオデコーダ３０に送信するより前に、ネットワークエンティティ２９によって実装され得る。幾つかのビデオ復号システムでは、ネットワークエンティティ２９及びビデオデコーダ３０は別個の機器の部分であり得るが、他の事例では、ネットワークエンティティ２９に関して説明される機能は、ビデオデコーダ３０を備える同じ機器によって実行され得る。
【００６２】
[0072]ビデオデコーダ３０のエントロピー復号モジュール８０は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号モジュール８０は、予測モジュール８１に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ３０は、ビデオスライスレベル及び／又はビデオブロックレベルでシンタックス要素を受信することができる。
【００６３】
[0073]ビデオスライスがイントラコード化（Ｉ）スライスとしてコード化されたとき、予測モジュール８１のイントラ予測モジュール８４は、信号伝達されたイントラ予測モードと、現在フレーム又はピクチャの前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成することができる。ビデオフレームがインターコード化（即ち、Ｂ、Ｐ又はＧＰＢ）スライスとしてコード化されたとき、予測モジュール８１の動き補償モジュール８２は、エントロピー復号モジュール８０から受信された動きベクトル及び他のシンタックス要素に基づいて現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ９２に記憶された参照ピクチャに基づいて、デフォルトの構成方法を使用して、参照フレームリスト、即ち、リスト０及びリスト１を構成することができる。
【００６４】
[0074]動き補償モジュール８２は、動きベクトルと他のシンタックス要素とを構文解析する（parsing）ことによって現在ビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在ビデオブロックのための予測ブロックを生成するために、その予測情報を使用する。
【００６５】
[0075]動き補償モジュール８２はまた、補間フィルタに基づいて補間を実行することができる。動き補償モジュール８２は、参照ブロックのサブ整数画素についての補間値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用することができる。この場合、動き補償モジュール８２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、予測ブロックを生成するために、その補間フィルタを使用することができる。
【００６６】
[0076]逆量子化モジュール８６は、ビットストリーム中で与えられ、エントロピー復号モジュール８０によって復号された量子化変換係数を逆量子化（inverse quantize）、即ち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータの使用を含むことができる。逆変換モジュール８８は、画素領域において残差ブロックを生成するために、逆変換、例えば、逆ＤＣＴ、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用する。
【００６７】
[0077]動き補償モジュール８２が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換モジュール８８からの残差ブロックを動き補償モジュール８２によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器９０は、この加算演算を実行する１つ又は複数の構成要素を表す。所望される場合、（コード化ループ内又はコード化ループ後のいずれかの）ループフィルタも、画素遷移を平滑化するか、又はさもなければビデオ品質を改善するために使用され得る。フィルタモジュール９１は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、及びサンプル適応オフセット（ＳＡＯ）フィルタなど、１つ又は複数のループフィルタを表すものとする。図３では、フィルタモジュール９１はループ内フィルタであるとして示されているが、他の構成では、フィルタモジュール９１はループ後フィルタとして実装され得る。所与のフレーム又はピクチャ中の復号ビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ９２に記憶される。参照ピクチャメモリ９２はまた、図３の表示装置３２などの表示装置上での後の提示のために、復号ビデオを記憶する。
【００６８】
[0078]図４は、ビデオデータブロックのグラフィカル表現である。ビデオデータブロック４００は、ビデオデータを符号化するための、ＣＴＵ、ＣＵ又はＰＵデータ構造を表すことができる。幾つかの実施形態では、ビデオデータブロック４００は、ピクチャの一部分、ビデオスライス又はタイル、ツリーブロック若しくはより大きいビデオデータブロックの他の部分であり得る。ビデオデータブロック４００は、ＣＴＵ及び／又はＰＵを表す、一連の正方形として示される。灰色の正方形は、（以下でまとめてコード化ＣＴＵ４０２と呼ばれる）コード化ＣＴＵ４０２ａ〜４０２ｅを表す。簡潔のために、本明細書では、コード化ＣＴＵ４０２の全てが標示されるとは限らない。ＣＴＵ４０２ｆが現在符号化されているが、部分的な灰色によって示されているように、それは、完全に符号化されているとは限らない。従って、ＣＴＵ４０２ｆは、本明細書では、それが符号化されているＣＴＵであることを示す、「現在ＣＴＵ４０２ｆ」と呼ばれることもある。本明細書で使用されるＣＴＵ、ＣＵ及び／又はＰＵは、総称的にデータ要素と呼ばれることがある。
【００６９】
[0079]白色の正方形は、非コード化ＣＴＵ４０４ａ〜４０４ｃ（まとめて、非コード化ＣＴＵ４０４）を表す。幾つかの実施形態では、白色のブロックはまた、コード化規格（例えば、ＨＥＶＣ）、予測モード及びビデオデータブロック４００内のビデオデータに応じて、ＣＴＵを表すことができる。本明細書で説明されるように、それらは、一般に非コード化ＣＴＵ４０４と呼ばれることがある。ビデオエンコーダ２０が、非コード化ＣＴＵ４０４の各々中に含まれているビデオデータを符号化するとき、コード化は、ビデオデータブロック４００全体が符号化されるまで、左から右に、上から下に進む。図示のように、ビデオエンコーダ２０は、コード化ＣＴＵ４０２を表す、灰色の正方形を処理した。白色の正方形は、まだ符号化されていない非コード化ＣＴＵ４０４を表す。
【００７０】
[0080]ビデオエンコーダ２０は、現在ビデオデータをコード化するために隣接ビデオ情報を活用することができる。例えば、ビデオエンコーダ２０が現在ＣＴＵ４０２ｆを符号化するとき、ビデオエンコーダ２０は、空間的に接続された情報がしばしば相関されるので、コード化ＣＴＵ４０２ｂ、４０２ｃ、４０２ｄ及び４０２ｅのために符号化されたデータを参照することができる。ある空間予測の場合、ビデオデータブロック４００のための現在データは、例えば、ベクトルを用いて、参照ピクチャとの差分として表され得る。予測が正確になるほど、得られたエントロピーは多く低減され得る。
【００７１】
[0081]コード化ＣＴＵ４０２ｂ、４０２ｃ、４０２ｄ及び４０２ｅは、現在ＣＴＵ４０２ｆに関して、本明細書では一般に隣接ＣＴＵと呼ばれることがある。幾つかの実施形態では、ちょうど、現在ＣＴＵ４０２ｆが、符号化されているＣＴＵ４０２（又は符号化されるべき次のＣＴＵ４０２）であり、隣接ＣＴＵを参照するように、各非コード化ＣＴＵ４０４は、各構成ＰＵ又はＣＵについて同様の符号化プロセスを有することができる。図４の挿入図は、隣接ＣＵ、即ち、ＣＵ  Ａ及びＣＵ  Ｂを参照する（現在ＣＴＵ４０２ｆ内の）現在ＣＵ４０６を示す。図４中の現在ＣＴＵ４０２ｆは、図４の挿入図中のＣＴＵ４０２ｆと同じように着色されていないことに留意されたい。ＣＴＵ４０２ｆの部分的な灰色は、ＣＴＵ４０２ｆが部分的に符号化されることを示す。以下で説明される様々な制限の説明及び例示の目的で、挿入図中の現在ＣＴＵ４０２ｆは、符号化プロセス中に隣接ＣＵに対して行われる幾つかの参照を示すために着色されていない。
【００７２】
[0082]幾つかの実施形態では、ビデオエンコーダ２０は、それらがまだコード化されておらず、場合によっては「利用不可能」であるので、ＣＴＵ４０２ｆの下及び／又は右の非コード化ＣＵ／ＰＵ（例えば、非コード化ＣＴＵ４０４中の非コード化ＣＵ）並びにＣＴＵ４０２ｆ中のまだコード化されていないＣＵ／ＰＵのいずれをも参照することができない。
【００７３】
[0083]ＨＥＶＣでは、例えば、上述のように、空間予測の使用に対する幾つかの制限がある。例えば、空間予測は、スライス境界又はタイル境界にわたって完了され得ない。更に、ビデオエンコーダ２０は、イントラモードコード化のための予測においてインターコード化ＣＵを使用することができない。
【００７４】
[0084]幾つかの実施形態では、ＣＵ（例えば、ＣＴＵ４０２ｆ中のＣＵ）をコード化するより前にビデオエンコーダ２０が各制限を検査するので、そのようなコード化制限は非効率的な符号化を生じることがある。制限による、複数の又は連続する利用不可能性検査が、遅延を追加し、符号化プロセスを遅くすることがある。そのような遅延は、例えば、４Ｋ超高精細度（ＵＨＤ：ultra-high definition）リアルタイムエンコーダなど、例えば、超高速エンコーダに、特に有害であり得る。
【００７５】
[0085]隣接ＣＵ（例えば、コード化ＣＵ４０２又は非コード化ＣＵ４０４）は、様々な状況においてビデオエンコーダ２０にとって利用不可能であり得る。例えば、隣接ＣＵ  Ａ、ＣＵ  Ｂが、１）別のスライス中、２）別のタイル中、３）現在フレームの外側、４）異なるＣＴＵ行（例えば、非コード化ＣＴＵ４０２ｃ）中、又は５）（例えば、現在ＣＴＵ４０２ｆの）まだ符号化されていないＣＵ／ＰＵ中にある場合、そのようなビデオデータは、（例えば、現在ＣＴＵ４０２ｆ中の）ＣＵをコード化するためのビデオエンコーダ２０への参照として利用可能でないことがある。
【００７６】
[0086]例えば、幾つかの制限は、以下の行為を必要とし、関連するデフォルト設定を提示し得る。
【００７７】
[0087]スプリットフラグのためのＣＡＢＡＣコンテキスト導出。ビデオエンコーダ２０は、２つの隣接ＣＵ（例えば、ＣＵ  Ａ及びＣＵ  Ｂ）が利用可能であるかどうかを決定することができる。ＣＵ  Ａ及びＣＵ  Ｂは、例えば、ＣＴＵ４０２ｆ内の現在ＣＵ４０６を符号化することに関して説明される、ＣＴＵ４０２ｅ及びＣＴＵ４０２ｃ内の隣接ＣＵであり得る。隣接ＣＵ  Ａ（又はＣＵ  Ｂ）が利用可能でない場合、ビデオエンコーダ２０はＣＵ深度Ａ（又はＢ）を０に設定することができる。次いで、ＣＡＢＡＣコンテキストは、現在ＣＵのＣＵ深度とＣＵ  Ａ及びＣＵ  ＢのＣＵ深度とから導出される。
【００７８】
[0088]スキップフラグのためのＣＡＢＡＣコンテキスト導出。ビデオエンコーダ２０は、２つの隣接ＣＵ（ＣＵ  Ａ及びＣＵ  Ｂ）が利用可能であるかどうかを決定することができる。隣接ＣＵ  Ａ（又はＣＵ  Ｂ）のうちの１つが利用可能でない場合、ビデオエンコーダ２０はＣＵ深度Ａ（又はＢ）を非スキップ（not-skip）に設定することができる。ＣＡＢＡＣコンテキストは、ＣＵ  Ａ及びＣＵ  Ｂがスキップモードに設定されるかどうかに基づいて導出され得る。
【００７９】
[0089]マージ候補導出。マージ機能は、現在ＰＵがそれの隣接ＰＵのうちの１つと同等の動きベクトルを有し、従って互いにマージされ得ることを示す。ビデオエンコーダ２０は、隣接ＰＵが利用可能であるかどうかを検査することができる。隣接ＰＵが利用可能でない場合、マージ候補は発見されない。隣接ＰＵが利用可能である場合、ビデオエンコーダ２０は、隣接ＰＵがインターモード予測にあるかどうかを決定することができる。隣接ＰＵがインターモード予測にない場合、マージ候補は利用可能でない。隣接ＰＵがインターモード予測にある場合、ビデオエンコーダ２０は、隣接ＰＵからマージ候補を導出することができる。
【００８０】
[0090]動きベクトル予測子導出。ビデオエンコーダ２０は、隣接ＰＵが利用可能であるかどうかを決定することができる。隣接ＰＵが利用可能でない場合、マージ候補は発見されない。隣接ＰＵが利用可能である場合、ビデオエンコーダ２０は、隣接ＰＵがインターモード予測にあるかどうかを決定することができる。隣接ＰＵがインターモード予測にない場合、動き予測子は発見されない。隣接ＰＵがインターモード予測にある場合、動き予測子は、隣接ＰＵから導出され得る。
【００８１】
[0091]イントラモード予測子導出。ビデオエンコーダ２０は、２つの隣接ＰＵ、即ち、ＰＵ  Ａ及びＰＵ  Ｂが利用可能であるかどうかを決定することができる。隣接ＰＵ  Ａ（又はＢ）が利用可能でない場合、ビデオエンコーダ２０は、隣接ＣＵ  Ａ（又はＢ）のイントラ予測モードをイントラＤＣ予測に設定することができる。ビデオエンコーダ２０は、隣接ＰＵ  Ａ（又はＰＵ  Ｂ）がイントラ予測されるかどうかを更に決定することができる。隣接ＰＵ  Ａ（又はＢ）がイントラ予測されない場合、ビデオエンコーダ２０は、隣接ＰＵ  Ａ（又はＰＵ  Ｂ）のイントラ予測モードをイントラＤＣ予測に設定することができる。ビデオエンコーダ２０はまた、現在ＰＵのイントラ予測モードを予測するために隣接ＰＵ  Ａ及びＰＵ  Ｂのイントラ予測モードを使用することができる。
【００８２】
[0092]利用不可能性検査の数及び頻度は、ビデオエンコーダ２０のシステムリ発信源に負担を課し、処理オーバーヘッドを増加させ、符号化効率を減少させることがある。従って、幾つかの実施形態では、オーバーヘッド及び処理時間を低減するために上記の検査を回避することが望ましい。従って、あるデフォルトデータが、そのような制限及び反復検査を回避するために、ビデオデータブロック４００に挿入されるか、又はコード化中に参照され得る。
【００８３】
[0093]図５は、拡張デフォルトデータを使用するデータ構造のグラフィカル表現である。データ構造５００は、ビデオデータを符号化するための、ＣＴＵ、ＣＵ又はＰＵデータ構造を表すことができる。例えば、ビデオエンコーダ２０は、ビデオデータブロック４００を符号化するためにデータ構造５００を使用することができる。データ構造５００は、符号化されるべきビデオデータ又はデータ要素を表す、白色の正方形として示される複数のＣＴＵ５０２として示された、符号化されるべき、ピクチャの一部分、ビデオスライス又はタイル若しくはビデオデータのより大きいブロックの一部分を含むことができる。ＨＥＶＣに関連する実施形態では、白色の正方形は、ＣＵ又はＰＵをも表すことができる。これは、ビデオデータブロック４００と同様のデータである。ＣＴＵ５０２は、文字識別子（例えば、５０２ａ、５０２ｂなど）を使用して個々に標示され、表され得る。幾つかの実施形態では、ＣＴＵ５０２は、ＣＴＵ４０２及びＣＴＵ４０４（図４）に対応することができる。幾つかの他の実施形態では、ＣＴＵ５０２の数及び配置は、ビデオデータブロック４００のＣＴＵ（例えば、コード化ＣＴＵ４０２及び非コード化ＣＴＵ４０４）の数及び配置によって定義され得る。ＨＥＶＣでは、例えば、ＣＴＵ５０２は、ＣＵ又はＰＵでもあり得る。例えば、ＣＴＵは、複数のＣＵを含むことができる。対応して、ＣＵは、複数のＰＵを含んでいることがある。
【００８４】
[0094]データ構造５００は、全ての方向において少なくとも１つのＰＵだけデータ構造５００のサイズを増加させる拡張単位５１０をも有することができる。概念的に、拡張単位５１０は、符号化されるべきビデオデータの外周に沿って配設され得るデータを表す。従って、拡張単位５１０は、符号化されるべきビデオデータブロック（例えば、ビデオデータブロック４００）の外周を画定するＣＴＵ５０２との空間関係とともにメモリに記憶され得る。拡張単位５１０は、文字識別子（例えば、５１０ａ、５１０ｂなど）を使用して個々に標示され、表され得る。拡張単位５１０は、図５では暗い灰色の正方形によって表される。
【００８５】
[0095]データ構造５００全体が、（例えば、記憶装置３４中の）メモリにバッファ又は記憶され、例えば、ビデオデータブロック４００など、第１のビデオブロックの符号化中に参照され得る。拡張単位５１０中の記憶されたデフォルトデータは、スライス又はタイル（例えば、ビデオデータブロック４００）符号化が開始するとき、参照され得る。幾つかの実施形態では、記憶装置３４は、所与のデータ構造５００についての最小ＰＵ情報の全てを記憶することが可能である。別の実施形態では、エンコーダ２０は、メモリに拡張単位５１０中のデフォルトデータのみをバッファし得る。例えばＨＥＶＣでは、あらゆる４×４画素ブロック（例えば、最小ＰＵ）に関係するデータが、メモリに記憶又はバッファされ、符号化中に参照され得る。幾つかの実施形態では、データ構造５００に記憶されたＰＵ情報の全てが、メモリに記憶されたとき、符号化されている関連するスライス又はタイル（例えば、ビデオデータブロック４００）中の対応するデータと幾何学的に整合されたままである。例えば、データ構造５００は、ビデオデータブロック中でコード化されている各要素が、データ構造５００中に対応する要素を有するように、ビデオデータブロック４００と同じ数及び配置の要素を有することができる。従って、ビデオデータブロック４００がデータ構造５００を使用して符号化されるとき、ビデオエンコーダ２０は、ＣＴＵ４０２ａ（図４）を符号化するときに空間参照として、（隣接ＰＵ、ＣＵ及び拡張単位５１０の中でも）拡張単位５１０ａ、５１０ｂ、５１０ｃを使用することができる。これは、例えば、ＣＴＵ４０４を符号化するために必要とされる利用不可能性検査の数の低減をもたらすことができる。
【００８６】
[0096]従って、幾つかの実施形態では、エンコーダ２０は、上記で説明された、利用不可能性検査を回避又は最小限に抑えるためにことができる拡張単位５１０を使用することができる。ビデオエンコーダ２０は、スライス又はタイル（例えば、データ構造５００）コード化が開始する前に、データ構造５００の境界上の各ＰＵに対して、拡張単位５１０からのデータを適用することができる。例えば、ビデオエンコーダ２０がＣＴＵ５０２ａ（例えば、スライスの最初のデータブロック）を符号化し始めるとき、エンコーダ２０は基準値を必要とし得る。従って、ビデオエンコーダ２０は、上記で説明された検査の全てを実行するとは限らずに、ＣＴＵ５０２ａを符号化するために基準値として拡張単位５１０ａ、５１０ｂ、及び５１０ｃに関係するデータを使用することができる。
【００８７】
[0097]ビデオエンコーダ２０がデータブロック４００を符号化する準備をするとき、ビデオエンコーダ２０は、拡張単位５１０中のデフォルトデータを適用し、利用不可能性検査の少なくとも一部分を先取りする（preempting）ことができる。幾つかの実施形態では、ビデオエンコーダ２０は、拡張単位５１０について以下のデフォルト値を設定することができる。
【００８８】
１）ＣＵ深度が０に等しい
２）予測モードがイントラ予測に設定される
３）イントラ予測モードがＤＣ予測に設定される
[0098]上記のデフォルト値は、拡張単位５１０に関係するデフォルトデータのＨＥＶＣ実装について示される。但し、同様の検査を必要とするコーデックが、拡張単位５１０からのデータだけでなく、述べられたようなデフォルト値をも実装することができることに留意されたい。
【００８９】
[0099]幾つかの実施形態では、現在ＰＵの予測モードが決定されるとき、ビデオエンコーダ２０は、それに応じてデフォルト値を更新することができる。しかしながら、イントラ予測モードは、現在ＰＵがイントラ予測モードにあるときにのみ更新され、他の場合、イントラ予測モードはＤＣ予測のままである。
【００９０】
[00100]拡張単位５１０中のそのようなデフォルトデータの使用は、ビデオエンコーダ２０がデフォルト値に基づいてあるデータを仮定することができるので、簡略化された検査を生じ、利用不可能性検査を最小限に抑えることができる。その結果、ビデオエンコーダ２０によって実行される検査は、以下のように簡略化され得る。
[00101]スプリットフラグのためのＣＡＢＡＣコンテキスト導出。ＣＡＢＡＣコンテキストは、現在ＣＵのＣＵ深度とＣＵ  Ａ及びＣＵ  ＢのＣＵ深度とから導出される。
【００９１】
[00102]スキップフラグのためのＣＡＢＡＣコンテキスト導出。ＣＡＢＡＣコンテキストは、ＣＵ  Ａ及びＣＵ  Ｂがスキップモードに設定されるかどうかに基づいて導出される。
【００９２】
[00103]マージ候補導出。ビデオエンコーダ２０は、隣接ＰＵがインターモード予測にあるかどうかを検査することができる。隣接ＰＵがインターモード予測にない場合、マージ候補は発見されない。隣接ＰＵがインターモード予測にある場合、マージ候補は、隣接ＰＵから導出され得る。
【００９３】
[00104]動きベクトル予測子導出。ビデオエンコーダ２０は、隣接ＰＵがインターモード予測にあるかどうかを検査することができる。隣接ＰＵがインターモード予測にない場合、動き予測子は発見されない。隣接ＰＵがインターモード予測にある場合、動き予測子は、隣接ＰＵから導出される。
【００９４】
[00105]イントラモード予測子導出。エンコーダは、現在ＰＵのイントラ予測モードを予測するために隣接ＰＵ  Ａ及びＰＵ  Ｂのイントラ予測モードを使用することができる。
【００９５】
[00106]幾つかの実施形態では、バッファ又はメモリサイズ（例えば、記憶装置３４）は制限され得る。従って、メモリ使用を保存するためにデフォルトデータのより小さいブロックが実装され得る。幾つかの実施形態では、ビデオエンコーダ２０は、スライス又はタイル（例えば、ビデオデータ構造５００）全体を記憶することではなく、メモリ中の単一のＣＴＵなど、より小さいデータ構造を記憶することによって、メモリ使用量を低減することができる。次いで、ＣＴＵは、符号化中に繰り返され、データ構造５００全体を記憶することと同じ目的をはたすことができる。
【００９６】
[00107]図６Ａは、ビデオデータを符号化するために使用されるデータ構造のグラフィカル表現である。データ構造６００が、本明細書ではＰＵ６０２と呼ばれる、複数の白色の正方形として示された、図５に示されているＰＵの一部分を有する。幾つかの実施形態では、データ構造６００は、（Ｍ／Ｎ）×（Ｍ／Ｎ）要素として定義されるサイズを有し、ここで、データ構造６００は、サイズＭ×Ｍと最小ＰＵサイズＮ×ＮとをもつＣＴＵを符号化するために使用され得る。例えば、Ｍ＝３２及びＮ＝４であるデータ構造６００が示される。ビデオエンコーダ２０は、あらゆる方向において、１つの要素又は（灰色で着色された）拡張単位５１０によってデータ構造を拡張することができる。従って、メモリ中で、データ構造６００は１０×１０要素として表され得る。これは、灰色の正方形として示される拡張単位５１０に加えて、例えば、ＣＴＵに対応する、８×８要素又はＰＵ６０２を含むことができる。幾つかの実施形態では、ＰＵ６０２の８×８ブロックは、図４又は図５の単一の白色のブロック（例えば、非コード化ＣＴＵ４０４、５０２）に対応することができる。
【００９７】
[00108]拡張単位５１０は、８×８ＰＵ６０２の外側に配置されるものとして記述され得る。代替的に、拡張単位５１０は、８×８ＰＵ６０２の外周に沿って配設されるものとして記述され得る。次いで、１０×１０データ構造６００が行及び列に関して参照され得、ここで、行は水平方向に配置され、列は垂直方向に配置される。従って、データ構造６００は１０個の行及び１０個の列を有する。
【００９８】
[00109]幾つかの実施形態では、ビデオエンコーダ２０は、メモリ（例えば、記憶装置３４）にデータ構造６００を保存し、その後、非コード化ＰＵ（例えば、ＰＵ６０２）、又は符号化が進むにつれて隣接ＰＵについてのデフォルト値を設定するためにデータ構造６００を更新し、参照することができる。幾つかの実施形態では、後続のＣＴＵが符号化されるとき、拡張単位５１０のみがバッファされ、更新される。
【００９９】
[00110]幾つかの実施形態では、データ構造６００は、新しいビデオブロック（例えば、ＣＴＵ）が符号化されるとき、ビデオエンコーダ２０が参照することができるデフォルトデータ構造を表すことができる。データ構造５００の場合のようにスライス全体をバッファする代わりに、ビデオエンコーダ２０は、１０×１０要素のはるかに小さい構造を占有するデータ構造６００をバッファすることができる。述べられたように、データ構造６００は、ＨＥＶＣにおいてスライス又はタイルのためのベースデータユニットである、等価なサイズのＣＴＵからのデータを含んでいる。
【０１００】
[00111]ビデオエンコーダ２０がスライス又はタイル（例えば、ビデオデータブロック４００）を符号化する前に、非コード化ＰＵ（例えば、白色の正方形又はＰＵ６０２）中のデータの全てが、データ構造６００によって示されたデフォルト値に設定され得る。データ構造６００の上部に沿って小文字ａ〜ｈで標示されたブロックと左側に沿って大文字Ａ〜Ｈで標示されたブロックとは、スライス又はタイル（例えば、データ構造５００）が符号化されるとき、データ構造６００中で周期的に更新される拡張単位５１０からのデータ（例えば、列及び行）を表すことができる。幾つかの実施形態では、データ構造６００の一部分のみがバッファされる。例えば、拡張単位５１０、（淡い灰色で着色された）複数の最右ＰＵ６０４、及び複数の最下ＰＵ６０８（斜めストライプ）が、符号化の際に後で使用するためにバッファされ得、残りの白色のブロック（例えば、ＰＵ６０２）からのデータは廃棄され得る。最右ＰＵ６０４及び最下ＰＵ６０８は、コード化されているＣＴＵの、それぞれ右端及び最下部における、ＰＵ６０２又はコード化要素を表す。
【０１０１】
[00112]図示のように、ＣＴＵ６０９は、コード化スライス（例えば、データブロック４００）中の連続ＣＴＵ間の関係を示す破線によって表される。データ構造６００が、その後符号化されるＣＴＵ（例えば、ＣＴＵ６０９）からのデータを用いて更新されるとき、最右ＰＵ６０４は、データ構造６００に記憶され、ＣＴＵ６０９を符号化するために参照されるデータ構造６００の（Ａ〜Ｈと標示された）最左拡張単位５１０になる。これは以下でより詳細に説明される。
【０１０２】
[00113]図６Ｂは、図６Ａのデータ構造を使用する符号化ビデオデータである複数のＣＴＵのグラフィカル表現である。３つのＣＴＵ６１０、６２０、６３０が、実線によって囲まれて示され、符号化されるべきデータを示す。破線及び一点鎖線は、ＣＴＵ６１０、６２０、６３０の各々が符号化されるときのデータ構造６００中のデータの相対位置を示す。従って、ＣＴＵ６１０、６２０、６３０内に含まれている白色のスペースは、データ構造６００の８×８ＰＵ、又は、幾つかの実施形態では、図４及び図５の単一のブロックに対応することができる。概して、ＣＴＵ６１０、６２０、６３０の各々を符号化するために参照されるデータ構造６００は、それぞれ、水平方向における２つの列によって重複される。重複は、ビデオエンコーダ２０が、連続ＣＴＵを符号化するためにデータ構造６００にバッファされたデータをどのように参照することができるかを表す。ＣＴＵ６１０、６２０、６３０の各々は、拡張単位５１０を含むエリアを包含する、１０×１０要素の破線又は一点鎖線ボックスによって囲まれる。ＣＴＵ６１０、６２０、６３０の各々の右側にある淡い灰色の要素とそれらの最下部に沿ったストライプの要素とは、それぞれ、最右ＰＵ６０４及び最下ＰＵ６０８（図６）を表し、それらは、連続ＣＴＵが符号化されるとき、連続ＣＴＵの拡張単位（例えば、Ａ〜Ｈ、ａ〜ｊ）を更新するために使用される。図の明快のために、図６Ｂ内の要素の全てが標示されるとは限らない。
【０１０３】
[00114]ＣＴＵ６１０はＣＴＵ６２０に隣接し、ここで、それぞれの破線ボックス及び一点鎖線ボックスは、ＣＴＵ６１０のためのデータ構造６００中のＰＵ６０４の最右列と、ＣＴＵ６２０を符号化するために使用されるデータ構造６００内の拡張単位５１０の最左列とだけ重複する。同じことがＣＴＵ６２０とＣＴＵ６３０とについて当てはまる。更に、３つのＣＴＵ６４０、６５０、６６０より多くのために参照されるデータ構造６００の部分を含む、ＣＴＵの第２の行が、２つの行だけＣＴＵ６１０、６２０、６２０と重複する。特に、ＣＴＵ６４０、６５０、６６０を符号化するためのデータ構造６００は、交互の破線及び一点鎖線が最下ＰＵ６０８（斜めストライプ）と拡張単位の最下行とだけ垂直方向に重複して示される。
【０１０４】
[00115]ビデオエンコーダ２０がデータ構造６００に従ってＣＴＵ６１０を符号化すると、（淡い灰色で示された）最右ＰＵ６０４は、バッファ中のデータ構造６００の正方形Ａ〜Ｈにコピーされ、ＣＴＵ６２０を符号化するために使用され得る。これは、次のＣＴＵ６２０を符号化する際に使用するために次に更新される、Ａ2〜Ｈ2、例えば、データ構造６００中の拡張単位５１０についての値を置き換える。拡張単位Ａ2〜Ｈ2及びＡ3〜Ｈ3は、後続のＣＴＵ６２０、６３０をコード化する際に使用するためのデータ構造６００を更新するために最右ＣＵ６０４（図６Ａ）からのデータが使用されることを示すために、淡い灰色で着色される。次いで、（斜めストライプ正方形として示される）最下ＣＵ６０８は、スライス又はタイル幅に等しいサイズをもつ要素の数を記憶することができるメモリ（例えば、記憶装置３４）中のライン要素バッファにコピーされ得る。
【０１０５】
[00116]データ構造６００は、スライス又はタイル（例えば、ビデオデータブロック４００）の第１のＣＴＵ行中の最後の最後のＣＴＵまでＣＴＵによって連続的に更新されたＣＴＵであり得る。例えば、ＣＴＵ６４０をもつ第２のＣＴＵ行を開始する前に、データ構造６００のＡ〜Ｈ、ａについての値と、ＣＴＵ６４０内のＰＵ６０２についての全てのデータとが、データ構造６００に基づいてデフォルト値に初期化され得る。更に、Ｈ1についてのデータはデフォルト値に設定され得、（図６Ａのａ〜ｊに対応する）ブロックｂx〜ｈx、Ｈ2、ｂyについての値は、ＣＴＵ６４０を符号化するより前に最下ブロック６０８からのラインバッファに記憶されたデータを用いて更新され得る。幾つかの実施形態では、垂直方向における参照ＣＴＵが利用可能でない状況では、関連するデータ要素は、データ構造６００を使用してデータを更新する前にデフォルト値に初期化され得る。例えば、ＰＵ  ｄxがイントラコード化ＰＵである場合、イントラモードは、更新する前にＤＣモードにリセットされる。次いで、ビデオエンコーダ２０は、ＣＴＵ６４０、ＣＴＵ６５０、ＣＴＵ６６０などをもつ第２のＣＴＵ行上でプロセスを繰り返すことができる。
【０１０６】
[00117]図７は、図５のデータ構造を使用してビデオデータを符号化するための方法のフローチャートである。方法７００は、本明細書で説明されるように、ビデオデータブロック４００、データ構造５００及びデータ構造６００を使用して実装され得る。
【０１０７】
[00118]ブロック７１０において、エンコーダはメモリにデータ構造を記憶する。データ構造（例えば、データ構造５００）は、ビデオデータブロック４００など、第１のビデオデータブロックのサイズに一致するように幾何学的に配置された複数のデータ要素を有することができる。データ構造５００は、第１のビデオデータブロック４００のための最小予測単位（ＰＵ）の全てに関係するデータを更に含むことができる。データは、ビデオデータブロックのための最小予測単位を含み、特性の中でも、コード化単位深度、予測モード、及びインター予測モードについてのデフォルト値に関係することができる。
【０１０８】
[00119]ブロック７２０において、エンコーダ２０は、複数のデータ要素（例えば、ビデオデータブロック４００）の外周に沿って複数の拡張単位５１０を追加することによって、記憶装置３４中のデータ構造のサイズを増加させる。拡張単位５１０の各々は、第１のビデオデータブロック４００の最小データ要素に関係するデータを有することができる。例えば、ビデオエンコーダ２０は、ビデオデータブロック４００のあらゆる側に拡張単位５１０を追加し、データ構造５００を形成することができる。
【０１０９】
[00120]ブロック７３０において、ビデオエンコーダ２０は、各拡張単位５１０複数のデータ要素をデフォルト値に設定する。拡張単位５１０は、符号化されるべきビデオデータのための第１のデータ構造５００（例えばスライス又はタイル）についてのデフォルト値に設定されるデータ又は値を有することができる。
【０１１０】
[00121]ブロック７４０において、ビデオエンコーダ２０は、データ構造５００を使用してビデオデータブロック４００を符号化する。拡張単位５１０は、ＣＵ４０４を符号化するためのデフォルト参照として働くことができる。その場合、データ構造５００の使用が利用不可能性検査を低減することができる。
【０１１１】
[00122]従って、方法７００は、連続ビデオデータブロック４００を符号化するために必要とされるバッファメモリ（例えば、記憶装置３４）の量を低減するために、ビデオエンコーダ２０によって実装され得る。更に、方法７００は、ビデオエンコーダ２０の必要とされる利用不可能性検査に関係するオーバーヘッドを低減することができる。
【０１１２】
[00123]図８は、図６Ａのデータ構造を使用してビデオデータを符号化するための方法のフローチャートであるフローチャートである。方法８００は、本明細書で説明されるように、ビデオデータブロック４００及びデータ構造６００を使用して実装され得る。
【０１１３】
[00124]ブロック８１０において、ビデオエンコーダ２０は、データ構造（例えば、データ構造６００）中の第１の複数の予測単位の各予測単位に関係するデータを記憶する。データ構造６００は、コード化ツリー単位（ＣＴＵ）のサイズを有することができる。
【０１１４】
[00125]ブロック８２０において、ビデオエンコーダ２０は、データ構造中の複数の予測単位の外周に沿って配設された複数の拡張単位５１０の各拡張単位５１０についての拡張データを記憶する。
【０１１５】
[00126]ブロック８３０において、ビデオエンコーダ２０は、データ構造６００に基づいて第１のＣＴＵ（例えば、ＣＴＵ６１０）を符号化する。
【０１１６】
[00127]ブロック８４０において、ビデオエンコーダ２０は、第１の更新されたデータ構造６００を形成するために第１のＣＴＵのコード化単位又は予測単位の最右列（例えば、最右ＣＵ６０４）に関係するデータを用いてデータ構造中の複数の拡張単位５１０の最左列（例えば、ａ、Ａ〜Ｈと標示された拡張単位５１０）を更新する。
【０１１７】
[00128]ブロック８５０において、ビデオエンコーダ２０は、第１の更新されたデータ構造６００に基づいて第２のＣＴＵ（例えば、ＣＴＵ６２０）を符号化する。
【０１１８】
[00129]従って、方法８００は、連続ＣＴＵ６２０、６３０、６４０、６５０、６６０、又はビデオデータブロック４００のうちの１つ又は複数を符号化するために必要とされるバッファメモリ（例えば、記憶装置３４）の量を低減することができる。更に、方法８００は、ビデオエンコーダ２０の必要とされる利用不可能性検査に関係するオーバーヘッドを低減することができる。
【０１１９】
[00130]本明細書で開示される情報及び信号は、多種多様な技術及び方法のいずれかを使用して表され得る。例えば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル及びチップは、電圧、電流、電磁波、磁界又は磁性粒子、光場又は光学粒子若しくはそれらの任意の組合せによって表され得る。
【０１２０】
[00131]本明細書で開示される実施形態に関して説明された様々な例示的な論理ブロック、モジュール、回路及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア又はその両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール及びステップが、概してそれらの機能に関して上記で説明された。そのような機能がハードウェアとして実装されるのかソフトウェアとして実装されるのかは、特定の適用例及び全体的なシステムに課される設計制約に依存する。当業者は、説明された機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈されるべきではない。
【０１２１】
[00132]本明細書で説明された実施形態は、ハードウェア、ソフトウェア、ファームウェア又はそれらの任意の組合せで実装され得る。そのような実施形態は、汎用コンピュータ、ワイヤレス通信機器ハンドセット、又はワイヤレス通信機器ハンドセット及び他の機器における適用例を含む複数の用途を有する集積回路機器など、様々な機器のいずれかにおいて実装され得る。モジュール又は構成要素として説明された特徴は、集積論理機器に一緒に、又は個別であるが相互運用可能な論理機器として別々に実装され得る。ソフトウェアで実装された場合、本方法は、実行されたとき、上記で説明された方法のうちの１つ又は複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含むことができるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュメモリ、磁気又は光学データ記憶媒体など、メモリ又はデータ記憶媒体を備えることができる。本方法は、追加又は代替として、伝搬信号又は電波など、命令又はデータ構造の形態でプログラムコードを搬送又は伝達し、コンピュータによってアクセスされ、読み取られ、及び／又は実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
【０１２２】
[00133]プログラムコードは、１つ又は複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価の集積回路又はディスクリート論理回路など、１つ又は複数のプロセッサを含むことができるプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明された方法及びプロセスのいずれかを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械であり得る。プロセッサはまた、コンピューティング機器の組合せ、例えば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つ又は複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。従って、本明細書で使用される「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、あるいは本明細書で説明された方法の実装に好適な他の構造又は装置のいずれかを指すことがある。更に、幾つかの態様では、本明細書で説明された機能は、符号化及び復号のために構成された専用のソフトウェアモジュール又はハードウェアモジュール内に提供され、あるいは複合ビデオエンコーダ／デコーダ（コーデック）に組み込まれ得る。
【０１２３】
[00134]本開示の実施形態は、特定の実施形態について上記で説明されたが、本開示の多くの変形形態が可能である。例えば、様々な構成要素の数は増加又は減少され得、電源電圧を決定するモジュール及びステップは、周波数、別のシステムパラメータ、又はパラメータの組合せを決定するために変更され得る。更に、様々な実施形態の特徴は、上記で説明された組合せとは異なる組合せで組み合わせられ得る。
【０１２４】
[00135]当業者は、本明細書で開示される実施形態に関して説明された様々な例示的なブロック及びモジュールが様々な形態で実装され得ることを諒解されよう。幾つかのブロック及びモジュールが、概してそれらの機能に関して上記で説明された。そのような機能がどのように実装されるかは、全体的なシステムに課される設計制約に依存する。当業者は、説明された機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈されるべきではない。更に、モジュール、ブロック、又はステップ内の機能のグループ化は、説明を簡単にするためのものである。本開示から逸脱することなく、特定の機能又はステップが、１つのモジュール又はブロックから移されるか、あるいはモジュール又はブロックにわたって分散され得る。
【０１２５】
[00136]開示される実施形態の上記の説明は、当業者が本開示の主題を製作又は使用できるように提供されたものである。これらの実施形態への様々な変更は当業者には容易に明らかであり、本明細書で説明された一般原理は、本開示の趣旨又は範囲から逸脱することなく他の実施形態に適用され得る。従って、本明細書で提示される説明及び図面は、本開示の現在好ましい実装形態を表し、従って、本開示によって広く企図される主題を表すことを理解されたい。本開示の範囲は、当業者に明らかになり得る他の実施形態を完全に包含することと、従って、本開示の範囲は、添付の特許請求の範囲以外のものによって限定されないこととを更に理解されたい。
【図１】
2018511234.tif 000003
【図２】
2018511234.tif 000004
【図３】
2018511234.tif 000005
【図４】
2018511234.tif 000006
【図５】
2018511234.tif 000007
【図６Ａ】
2018511234.tif 000008
【図６Ｂ】
2018511234.tif 000009
【図７】
2018511234.tif 000010
【図８】
2018511234.tif 000011
【手続補正書】
【提出日】平成29年11月7日(2017.11.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを符号化する方法であって、
メモリにデータ構造を記憶することと、前記データ構造が第１の複数のデータ要素を有し、外周を画定し、前記第１の複数のデータ要素がピクチャの第１の部分の第２の複数のデータ要素に対応して配置され、前記データ構造が、ピクチャの前記第１の部分のための最小予測単位（ＰＵ）の全てに関係するデータを更に含む、
前記メモリ中の前記データ構造のサイズを増加することと、前記増加することは、前記第１の複数のデータ要素の前記外周全体に沿って複数の拡張単位を追加することを備え、前記複数の拡張単位の各拡張単位が、ピクチャの前記第１の部分の最小データ要素に関係するデータを有する、
前記複数の拡張単位の各拡張単位と前記第１の複数のデータ要素とをデフォルト値に設定することと、
前記データ構造に基づいてピクチャの前記第１の部分を符号化することとを備える、方法。
【請求項２】
前記データ構造に基づいて前記第２の複数のデータ要素の各データ要素に対して利用不可能性検査を実行することを更に備える、請求項１に記載の方法。
【請求項３】
ピクチャの前記第１の部分の現在ＣＵのＣＵ深度と少なくとも１つの隣接ＣＵのＣＵ深度とに基づいて、前記現在ＣＵのためのスプリットフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することを更に備え、前記現在ＣＵが前記第２の複数のデータ要素のうちのデータ要素であり、前記少なくとも１つの隣接ＣＵが前記第１の複数のデータ要素のうちのデータ要素である、請求項２に記載の方法。
【請求項４】
少なくとも１つの隣接コード化単位（ＣＵ）がスキップモードに設定されるかどうかに基づいて、ピクチャの前記第１の部分の現在ＣＵのためのスキップフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することを更に備え、前記現在ＣＵが前記第２の複数のデータ要素のうちのデータ要素であり、前記少なくとも１つの隣接ＣＵが前記第１の複数のデータ要素のうちのデータ要素である、請求項２に記載の方法。
【請求項５】
ピクチャの前記第１の部分の現在ＰＵの隣接ＰＵがインターモード予測に設定されると決定することと、
前記隣接ＰＵに基づいて前記現在ＰＵのためのマージ候補を決定することと、前記隣接ＰＵが前記第１の複数のデータ要素のうちのデータ要素である、を更に備える、請求項２に記載の方法。
【請求項６】
ピクチャの前記第１の部分の現在ＰＵの隣接ＰＵがインターモード予測に設定されると決定することと、
前記隣接ＰＵに基づいて前記現在ＰＵの動き予測子を決定することと、前記隣接ＰＵが前記第１の複数のデータ要素のうちのデータ要素である、を更に備える、請求項２に記載の方法。
【請求項７】
隣接ＰＵに基づいて、ピクチャの前記第１の部分の現在ＰＵのためのイントラ予測モードを予測することを更に備え、前記隣接ＰＵが前記第１の複数のデータ要素のうちのデータ要素である、請求項２に記載の方法。
【請求項８】
更新されたデータ構造を形成するためにピクチャの第２の部分のサイズ及び形状に基づいて前記データ構造の前記複数の拡張単位を更新することと、
前記更新されたデータ構造に基づいてピクチャの前記第２の部分を符号化することとを更に備える、請求項１に記載の方法。
【請求項９】
前記データ構造に基づいてピクチャの前記第１の部分を符号化することが、ピクチャの前記第１の部分を符号化するために空間予測のための参照として前記複数の拡張単位を使用することを備える、請求項１に記載の方法。
【請求項１０】
ピクチャの前記第１の部分の前記最小データ要素が、予測単位又はコード化単位を備える、請求項１に記載の方法。
【請求項１１】
ビデオデータを符号化するための装置であって、
第１の複数のデータ要素を有し、外周を画定するデータ構造を記憶するように構成されたメモリと、前記第１の複数のデータ要素はピクチャの第１の部分の第２の複数のデータ要素に対応して配置され、前記データ構造がピクチャの前記第１の部分のための最小予測単位（ＰＵ）の全てに関係するデータを更に含む、
前記メモリに動作可能に結合され、
前記メモリ中の前記データ構造のサイズを増加することと、前記増加することは、前記第１の複数のデータ要素の前記外周全体に沿って複数の拡張単位を追加することを備え、前記複数の拡張単位の各拡張単位が、ピクチャの前記第１の部分の最小データ要素に関係するデータを有する、
前記複数の拡張単位の各拡張単位と前記第１の複数のデータ要素とをデフォルト値に設定することと、
前記データ構造に基づいてピクチャの前記第１の部分を符号化することとを行うように構成されたプロセッサとを備える、装置。
【請求項１２】
前記プロセッサが、前記データ構造に基づいて前記第２の複数のデータ要素の各データ要素に対して利用不可能性検査を実行するように更に構成された、請求項１１に記載の装置。
【請求項１３】
ピクチャの前記第１の部分の現在ＣＵと少なくとも１つの隣接ＣＵのＣＵ深度とに基づいて、スプリットフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することと、前記現在ＣＵが前記第２の複数のデータ要素のうちのデータ要素であり、前記少なくとも１つの隣接ＣＵが前記第１の複数のデータ要素のうちのデータ要素である、
前記少なくとも１つの隣接ＣＵがスキップモードに設定されるかどうかに基づいて、ピクチャの前記第１の部分の前記現在ＣＵのためのスキップフラグのためのＣＡＢＡＣコンテキストを決定することと、
ピクチャの前記第１の部分の現在ＰＵの隣接ＰＵがインターモード予測に設定されると決定することと、前記隣接ＰＵに基づいて前記現在ＰＵのためのマージ候補を決定することと、前記隣接ＰＵが前記第１の複数のデータ要素のうちのデータ要素である、
前記現在ＰＵの前記隣接ＰＵがインターモード予測に設定されると決定することと、前記隣接ＰＵに基づいて前記現在ＰＵの動き予測子を決定することと、
前記隣接ＰＵに基づいて、ピクチャの前記第１の部分の前記現在ＰＵのためのイントラ予測モードを予測することとのうちの少なくとも１つを完了するように更に構成された前記プロセッサ、請求項１１に記載の装置。
【請求項１４】
前記プロセッサが、
更新されたデータ構造を形成するためにピクチャの第２の部分のサイズ及び形状に基づいて前記データ構造の前記複数の拡張単位を更新することと、
前記更新されたデータ構造に基づいてピクチャの前記第２の部分を符号化することとを行うように更に構成された、請求項１１に記載の装置。
【請求項１５】
前記プロセッサが、ピクチャの前記第１の部分を符号化するために空間予測のための前記複数の拡張単位を参照するように更に構成された、請求項１１に記載の装置。
【請求項１６】
前記プロセッサが、前記デフォルト値を、
コード化単位深度が０に等しい、
予測モードがイントラ予測に設定される、及び
イントラ予測モードがＤＣ予測に設定される、に設定するように更に構成された、請求項１１に記載の装置。
【請求項１７】
ピクチャの前記第１の部分の前記最小データ要素が、予測単位又はコード化単位を備える、請求項１１に記載の装置。
【請求項１８】
ピクチャの前記第１の部分が、スライス又はタイルを備える、請求項１１に記載の装置。
【請求項１９】
ピクチャの部分中のビデオデータを符号化する方法であって、
データ構造中の第１の複数の予測単位（ＰＵ）の各ＰＵに関係するデータを記憶することと、前記データ構造がコード化ツリー単位（ＣＴＵ）のサイズを有する、
前記データ構造中の前記第１の複数のＰＵの外周全体に沿って配設された複数の拡張単位の拡張単位毎に拡張データを記憶することと、
前記データ構造に基づいて第１のＣＴＵを符号化することと、
第１の更新されたデータ構造を形成するために前記第１のＣＴＵのＰＵの最右列に関係するデータを用いて前記データ構造中の前記複数の拡張単位の最左列を更新することと、
前記第１の更新されたデータ構造に基づいて第２のＣＴＵを符号化することとを備える、方法。
【請求項２０】
要素ラインバッファに前記第１のＣＴＵのＰＵの最下行に関係するデータを記憶することと、前記要素ラインバッファが、ピクチャの部分の幅に等しい第２の複数のＰＵに関係するデータを記憶するように構成された、
前記要素ラインバッファに前記第２のＣＴＵのＰＵの最下行に関係するデータを記憶することと、
ピクチャの前記部分中のＣＴＵの第１の行を符号化した後に、デフォルト値を用いて、前記データ構造中の前記複数の拡張単位の前記最左列と前記データ構造中の前記第１の複数のＰＵとを更新することと、ＣＴＵの前記第１の行が前記第１のＣＴＵと前記第２のＣＴＵとを含む、
第２の更新されたデータ構造を形成するために前記要素ラインバッファからのデータを用いて前記第１の更新されたデータ構造中の前記複数の拡張単位の最上行を更新することと、
前記第２の更新されたデータ構造に基づいてＣＴＵの第２の行上の第３のＣＴＵを符号化することとを更に備える、請求項１９に記載の方法。
【請求項２１】
前記データ構造に基づいて前記第１のＣＴＵを符号化することが、前記第１のＣＴＵを符号化するために空間予測のための参照として前記複数の拡張単位を使用することを備える、請求項１９に記載の方法。
【請求項２２】
前記第１の複数のＰＵの各ＰＵが、前記第１のＣＴＵのための最小ＰＵを含み、前記第１の複数のＰＵの各ＰＵに関係する前記データが、少なくとも、コード化単位深度、予測モード及びインター予測モードを備える、請求項１９に記載の方法。
【請求項２３】
前記複数の拡張単位の各拡張単位がデフォルト値を有するように設定され、前記デフォルト値は、
コード化単位深度が０に等しい、
予測モードがイントラ予測に設定される、及び
イントラ予測モードがＤＣ予測に設定される、を備える、請求項１９に記載の方法。
【請求項２４】
前記データ構造に基づいて前記ＣＴＵの複数のコード化単位（ＣＵ）の各ＣＵに対して利用不可能性検査を実行することを更に備える、請求項１９に記載の方法。
【請求項２５】
前記第１のＣＴＵの現在ＣＵのＣＵ深度と前記データ構造の少なくとも１つの隣接ＰＵのＣＵ深度とに基づいて、前記現在ＣＵのためのスプリットフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することを更に備え、前記現在ＣＵが前記複数のＣＵのうちのＣＵであり、前記少なくとも１つの隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、請求項２４に記載の方法。
【請求項２６】
少なくとも１つの隣接ＰＵがスキップモードに設定されるかどうかに基づいて、前記ＣＴＵの現在ＣＵのためのスキップフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することを更に備え、前記現在ＣＵが前記複数のＣＵのうちのＣＵであり、前記少なくとも１つの隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、請求項２４に記載の方法。
【請求項２７】
前記第１のＣＴＵの現在ＣＵの隣接ＰＵがインターモード予測に設定されると決定することと、
前記隣接ＰＵに基づいて前記現在ＣＵのためのマージ候補を決定することと、前記隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、を更に備える、請求項２４に記載の方法。
【請求項２８】
前記第１のＣＴＵの現在ＰＵの隣接ＰＵがインターモード予測に設定されると決定することと、
前記隣接ＰＵに基づいて前記現在ＰＵの動き予測子を決定することと、前記隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、を更に備える、請求項２４に記載の方法。
【請求項２９】
隣接ＰＵに基づいて、前記第１のＣＴＵの現在ＰＵのためのイントラ予測モードを予測することを更に備え、前記隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、請求項２４に記載の方法。
【請求項３０】
ビデオデータを符号化するための装置であって、
データ構造を記憶することと、前記データ構造が、第１の複数の予測単位（ＰＵ）の各ＰＵに関係するデータを有し、前記データ構造がコード化ツリー単位（ＣＴＵ）のサイズを更に有する、
前記データ構造中の前記第１の複数のＰＵの外周全体に沿って配設された複数の拡張単位の拡張単位毎に拡張データを記憶することとを行うように構成されたメモリと、
前記メモリに動作可能に結合され、
前記データ構造に基づいて第１のＣＴＵを符号化することと、
第１の更新されたデータ構造を形成するために前記第１のＣＴＵのＰＵの最右列に関係するデータを用いて前記データ構造中の前記複数の拡張単位の最左列を更新することと、
前記第１の更新されたデータ構造に基づいて第２のＣＴＵを符号化することとを行うように構成されたプロセッサとを備える、装置。
【請求項３１】
前記プロセッサは、
要素ラインバッファに前記第１のＣＴＵのＰＵの最下行に関係するデータを記憶することと、前記要素ラインバッファが、ピクチャ幅の部分に等しい第２の複数のＰＵに関係するデータを記憶するように構成される、
前記要素ラインバッファに前記第２のＣＴＵのＰＵの最下行に関係するデータを記憶することと、
ピクチャの前記部分中のＣＴＵの第１の行を符号化した後に、デフォルト値を用いて、前記データ構造中の前記複数の拡張単位の前記最左列と前記データ構造中の前記第１の複数のＰＵとを更新することと、ＣＴＵの前記第１の行が前記第１のＣＴＵと前記第２のＣＴＵとを含む、
第２の更新されたデータ構造を形成するために前記要素ラインバッファからのデータを用いて前記第１の更新されたデータ構造中の前記複数の拡張単位の最上行を更新することと、
前記第２の更新されたデータ構造に基づいてＣＴＵの第２の行上の第３のＣＴＵを符号化することとを行うように更に構成された、請求項３０に記載の装置。
【請求項３２】
前記第１のＣＴＵの現在ＣＵのＣＵ深度と前記第１の複数のＰＵの少なくとも１つの隣接ＰＵのＣＵ深度とに基づいて、前記現在ＣＵのためのスプリットフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することと、
前記少なくとも１つの隣接ＰＵがスキップモードに設定されるかどうかに基づいて、前記第１のＣＴＵの前記現在ＣＵのためのスキップフラグのためのＣＡＢＡＣコンテキストを決定することと、
前記第１のＣＴＵの現在ＣＵの隣接ＰＵがインターモード予測に設定されると決定することと、前記隣接ＰＵに基づいて前記現在ＣＵのためのマージ候補を決定することと、前記隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、
現在ＰＵの前記隣接ＰＵがインターモード予測に設定されると決定することと、前記隣接ＰＵに基づいて前記現在ＰＵの動き予測子を決定することと、
前記隣接ＰＵに基づいての前記第１のＣＴＵの前記現在ＰＵのためのイントラ予測モードを予測することとのうちの少なくとも１つを完了するように更に構成された前記プロセッサ、請求項３０に記載の装置。
【請求項３３】
前記プロセッサが、空間予測のための参照として前記データ構造を使用して前記第１のＣＴＵを符号化するように更に構成された、請求項３０に記載の装置。
【請求項３４】
前記第１の複数のＰＵの各ＰＵが、前記第１のＣＴＵのための最小ＰＵを含み、前記データが、少なくとも、コード化単位深度、予測モード、及びインター予測モードを備える、請求項３０に記載の装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１２５
【補正方法】変更
【補正の内容】
【０１２５】
[00136]開示される実施形態の上記の説明は、当業者が本開示の主題を製作又は使用できるように提供されたものである。これらの実施形態への様々な変更は当業者には容易に明らかであり、本明細書で説明された一般原理は、本開示の趣旨又は範囲から逸脱することなく他の実施形態に適用され得る。従って、本明細書で提示される説明及び図面は、本開示の現在好ましい実装形態を表し、従って、本開示によって広く企図される主題を表すことを理解されたい。本開示の範囲は、当業者に明らかになり得る他の実施形態を完全に包含することと、従って、本開示の範囲は、添付の特許請求の範囲以外のものによって限定されないこととを更に理解されたい。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを符号化する方法であって、
メモリにデータ構造を記憶することと、前記データ構造が第１の複数のデータ要素を有し、外周を画定し、前記第１の複数のデータ要素がピクチャの第１の部分の第２の複数のデータ要素に対応して配置され、前記データ構造が、ピクチャの前記第１の部分のための最小予測単位（ＰＵ）の全てに関係するデータを更に含む、
前記第１の複数のデータ要素の前記外周に沿って複数の拡張単位を追加することを備えることによって、前記メモリ中の前記データ構造のサイズを増加することと、前記複数の拡張単位の各拡張単位が、ピクチャの前記第１の部分の最小データ要素に関係するデータを有する、
前記複数の拡張単位の各拡張単位と前記第１の複数のデータ要素とをデフォルト値に設定することと、
前記データ構造に基づいてピクチャの前記第１の部分を符号化することとを備える、方法。
［Ｃ２］
前記データ構造に基づいて前記第２の複数のデータ要素の各データ要素に対して利用不可能性検査を実行することを更に備える、Ｃ１に記載の方法。
［Ｃ３］
ピクチャの前記第１の部分の現在ＣＵのＣＵ深度と少なくとも１つの隣接ＣＵのＣＵ深度とに基づいて、前記現在ＣＵのためのスプリットフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することを更に備え、前記現在ＣＵが前記第２の複数のデータ要素のうちのデータ要素であり、前記少なくとも１つの隣接ＣＵが前記第１の複数のデータ要素のうちのデータ要素である、Ｃ２に記載の方法。
［Ｃ４］
少なくとも１つの隣接コード化単位（ＣＵ）がスキップモードに設定されるかどうかに基づいて、ピクチャの前記第１の部分の現在ＣＵのためのスキップフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することを更に備え、前記現在ＣＵが前記第２の複数のデータ要素のうちのデータ要素であり、前記少なくとも１つの隣接ＣＵが前記第１の複数のデータ要素のうちのデータ要素である、Ｃ２に記載の方法。
［Ｃ５］
ピクチャの前記第１の部分の現在ＰＵの隣接ＰＵがインターモード予測に設定されると決定することと、
前記隣接ＰＵに基づいて前記現在ＰＵのためのマージ候補を決定することと、前記隣接ＰＵが前記第１の複数のデータ要素のうちのデータ要素である、を更に備える、Ｃ２に記載の方法。
［Ｃ６］
ピクチャの前記第１の部分の現在ＰＵの隣接ＰＵがインターモード予測に設定されると決定することと、
前記隣接ＰＵに基づいて前記現在ＰＵの動き予測子を決定することと、前記隣接ＰＵが前記第１の複数のデータ要素のうちのデータ要素である、を更に備える、Ｃ２に記載の方法。
［Ｃ７］
隣接ＰＵに基づいて、ピクチャの前記第１の部分の現在ＰＵのためのイントラ予測モードを予測することを更に備え、前記隣接ＰＵが前記第１の複数のデータ要素のうちのデータ要素である、Ｃ２に記載の方法。
［Ｃ８］
更新されたデータ構造を形成するためにピクチャの第２の部分のサイズ及び形状に基づいて前記データ構造の前記複数の拡張単位を更新することと、
更新された前記データ構造に基づいてピクチャの前記第２の部分を符号化することとを更に備える、Ｃ１に記載の方法。
［Ｃ９］
前記データ構造に基づいてピクチャの前記第１の部分を符号化することが、ピクチャの前記第１の部分を符号化するために空間予測のための参照として前記複数の拡張単位を使用することを備える、Ｃ１に記載の方法。
［Ｃ１０］
ピクチャの前記第１の部分の前記最小データ要素が、予測単位又はコード化単位を備える、Ｃ１に記載の方法。
［Ｃ１１］
ビデオデータを符号化するための装置であって、
第１の複数のデータ要素を有し、外周を画定するデータ構造を記憶するように構成されたメモリと、前記第１の複数のデータ要素はピクチャの第１の部分の第２の複数のデータ要素に対応して配置され、前記データ構造がピクチャの前記第１の部分のための最小予測単位（ＰＵ）の全てに関係するデータを更に含む、
前記メモリに動作可能に結合され、
前記第１の複数のデータ要素の前記外周に沿って複数の拡張単位を追加することを備えることによって、前記メモリ中の前記データ構造のサイズを増加することと、前記複数の拡張単位の各拡張単位が、ピクチャの前記第１の部分の最小データ要素に関係するデータを有する、
前記複数の拡張単位の各拡張単位と前記第１の複数のデータ要素とをデフォルト値に設定することと、
前記データ構造に基づいてピクチャの前記第１の部分を符号化することとを行うように構成されたプロセッサとを備える、装置。
［Ｃ１２］
前記プロセッサが、前記データ構造に基づいて前記第２の複数のデータ要素の各データ要素に対して利用不可能性検査を実行するように更に構成された、Ｃ１１に記載の装置。
［Ｃ１３］
ピクチャの前記第１の部分の現在ＣＵと少なくとも１つの隣接ＣＵのＣＵ深度とに基づいて、スプリットフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することと、前記現在ＣＵが前記第２の複数のデータ要素のうちのデータ要素であり、前記少なくとも１つの隣接ＣＵが前記第１の複数のデータ要素のうちのデータ要素である、
前記少なくとも１つの隣接ＣＵがスキップモードに設定されるかどうかに基づいて、ピクチャの前記第１の部分の前記現在ＣＵのためのスキップフラグのためのＣＡＢＡＣコンテキストを決定することと、
ピクチャの前記第１の部分の現在ＰＵの隣接ＰＵがインターモード予測に設定されると決定することと、前記隣接ＰＵに基づいて前記現在ＰＵのためのマージ候補を決定することと、前記隣接ＰＵが前記第１の複数のデータ要素のうちのデータ要素である、
前記現在ＰＵの前記隣接ＰＵがインターモード予測に設定されると決定することと、前記隣接ＰＵに基づいて前記現在ＰＵの動き予測子を決定することと、
前記隣接ＰＵに基づいて、ピクチャの前記第１の部分の前記現在ＰＵのためのイントラ予測モードを予測することとのうちの少なくとも１つを完了するように更に構成された前記プロセッサ、Ｃ１１に記載の装置。
［Ｃ１４］
前記プロセッサが、
更新されたデータ構造を形成するためにピクチャの第２の部分のサイズ及び形状に基づいて前記データ構造の前記複数の拡張単位を更新することと、
前記更新されたデータ構造に基づいてピクチャの前記第２の部分を符号化することとを行うように更に構成された、Ｃ１１に記載の装置。
［Ｃ１５］
前記プロセッサが、ピクチャの前記第１の部分を符号化するために空間予測のための前記複数の拡張単位を参照するように更に構成された、Ｃ１１に記載の装置。
［Ｃ１６］
前記プロセッサが、前記デフォルト値を、
コード化単位深度が０に等しい、
予測モードがイントラ予測に設定される、及び
イントラ予測モードがＤＣ予測に設定される、に設定するように更に構成された、Ｃ１１に記載の装置。
［Ｃ１７］
ピクチャの前記第１の部分の前記最小データ要素が、予測単位又はコード化単位を備える、Ｃ１１に記載の装置。
［Ｃ１８］
ピクチャの前記第１の部分が、スライス又はタイルを備える、Ｃ１１に記載の装置。
［Ｃ１９］
ピクチャの部分中のビデオデータを符号化する方法であって、
データ構造中の第１の複数の予測単位（ＰＵ）の各ＰＵに関係するデータを記憶することと、前記データ構造がコード化ツリー単位（ＣＴＵ）のサイズを有する、
前記データ構造中の前記第１の複数のＰＵの外周に沿って配設された複数の拡張単位の各拡張単位毎に拡張データを記憶することと、
前記データ構造に基づいて第１のＣＴＵを符号化することと、
第１の更新されたデータ構造を形成するために前記第１のＣＴＵのＰＵの最右列に関係するデータを用いて前記データ構造中の前記複数の拡張単位の最左列を更新することと、
前記第１の更新されたデータ構造に基づいて第２のＣＴＵを符号化することとを備える、方法。
［Ｃ２０］
要素ラインバッファに前記第１のＣＴＵのＰＵの最下行に関係するデータを記憶することと、前記要素ラインバッファが、ピクチャの部分の幅に等しい第２の複数のＰＵに関係するデータを記憶するように構成された、
前記要素ラインバッファに前記第２のＣＴＵのＰＵの最下行に関係するデータを記憶することと、
ピクチャの前記部分中のＣＴＵの第１の行を符号化した後に、デフォルト値を用いて、前記データ構造中の前記複数の拡張単位の前記最左列と前記データ構造中の前記第１の複数のＰＵとを更新することと、ＣＴＵの前記第１の行が前記第１のＣＴＵと前記第２のＣＴＵとを含む、
第２の更新されたデータ構造を形成するために前記要素ラインバッファからのデータを用いて前記第１の更新されたデータ構造中の前記複数の拡張単位の最上行を更新することと、
前記第２の更新されたデータ構造に基づいてＣＴＵの第２の行上の第３のＣＴＵを符号化することとを更に備える、Ｃ１９に記載の方法。
［Ｃ２１］
前記データ構造に基づいて前記第１のＣＴＵを符号化することが、前記第１のＣＴＵを符号化するために空間予測のための参照として前記複数の拡張単位を使用することを備える、Ｃ１９に記載の方法。
［Ｃ２２］
前記第１の複数のＰＵの各ＰＵが、前記第１のＣＴＵのための最小ＰＵを含み、前記第１の複数のＰＵの各ＰＵに関係する前記データが、少なくとも、コード化単位深度、予測モード及びインター予測モードを備える、Ｃ１９に記載の方法。
［Ｃ２３］
前記複数の拡張単位の各拡張単位がデフォルト値を有するように設定され、前記デフォルト値は、
コード化単位深度が０に等しい、
予測モードがイントラ予測に設定される、及び
イントラ予測モードがＤＣ予測に設定される、を備える、Ｃ１９に記載の方法。
［Ｃ２４］
前記データ構造に基づいて前記ＣＴＵの複数のコード化単位（ＣＵ）の各ＣＵに対して利用不可能性検査を実行することを更に備える、Ｃ１９に記載の方法。
［Ｃ２５］
前記第１のＣＴＵの現在ＣＵのＣＵ深度と前記データ構造の少なくとも１つの隣接ＰＵのＣＵ深度とに基づいて、前記現在ＣＵのためのスプリットフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することを更に備え、前記現在ＣＵが前記複数のＣＵのうちのＣＵであり、前記少なくとも１つの隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、Ｃ２４に記載の方法。
［Ｃ２６］
少なくとも１つの隣接ＰＵがスキップモードに設定されるかどうかに基づいて、前記ＣＴＵの現在ＣＵのためのスキップフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することを更に備え、前記現在ＣＵが前記複数のＣＵのうちのＣＵであり、前記少なくとも１つの隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、Ｃ２４に記載の方法。
［Ｃ２７］
前記第１のＣＴＵの現在ＣＵの隣接ＰＵがインターモード予測に設定されると決定することと、
前記隣接ＰＵに基づいて前記現在ＣＵのためのマージ候補を決定することと、前記隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、を更に備える、Ｃ２４に記載の方法。
［Ｃ２８］
前記第１のＣＴＵの現在ＰＵの隣接ＰＵがインターモード予測に設定されると決定することと、
前記隣接ＰＵに基づいて前記現在ＰＵの動き予測子を決定することと、前記隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、を更に備える、Ｃ２４に記載の方法。
［Ｃ２９］
隣接ＰＵに基づいて、前記第１のＣＴＵの現在ＰＵのためのイントラ予測モードを予測することを更に備え、前記隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、Ｃ２４に記載の方法。
［Ｃ３０］
ビデオデータを符号化するための装置であって、
データ構造を記憶することと、前記データ構造が、第１の複数の予測単位（ＰＵ）の各ＰＵに関係するデータを有し、前記データ構造がコード化ツリー単位（ＣＴＵ）のサイズを更に有する、
前記データ構造中の前記第１の複数のＰＵの外周に沿って配設された複数の拡張単位の各拡張単位毎に拡張データを記憶することとを行うように構成されたメモリと、
前記メモリに動作可能に結合され、
前記データ構造に基づいて第１のＣＴＵを符号化することと、
第１の更新されたデータ構造を形成するために前記第１のＣＴＵのＰＵの最右列に関係するデータを用いて前記データ構造中の前記複数の拡張単位の最左列を更新することと、
前記第１の更新されたデータ構造に基づいて第２のＣＴＵを符号化することとを行うように構成されたプロセッサとを備える、装置。
［Ｃ３１］
前記プロセッサは、
要素ラインバッファに前記第１のＣＴＵのＰＵの最下行に関係するデータを記憶することと、前記要素ラインバッファが、ピクチャ幅の部分に等しい第２の複数のＰＵに関係するデータを記憶するように構成される、
前記要素ラインバッファに前記第２のＣＴＵのＰＵの最下行に関係するデータを記憶することと、
ピクチャの前記部分中のＣＴＵの第１の行を符号化した後に、デフォルト値を用いて、前記データ構造中の前記複数の拡張単位の前記最左列と前記データ構造中の前記第１の複数のＰＵとを更新することと、ＣＴＵの前記第１の行が前記第１のＣＴＵと前記第２のＣＴＵとを含む、
第２の更新されたデータ構造を形成するために前記要素ラインバッファからのデータを用いて前記第１の更新されたデータ構造中の前記複数の拡張単位の最上行を更新することと、
前記第２の更新されたデータ構造に基づいてＣＴＵの第２の行上の第３のＣＴＵを符号化することとを行うように更に構成された、Ｃ３０に記載の装置。
［Ｃ３２］
前記第１のＣＴＵの現在ＣＵのＣＵ深度と前記第１の複数のＰＵの少なくとも１つの隣接ＰＵのＣＵ深度とに基づいて、前記現在ＣＵのためのスプリットフラグのためのコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）コンテキストを決定することと、
前記少なくとも１つの隣接ＰＵがスキップモードに設定されるかどうかに基づいて、前記第１のＣＴＵの前記現在ＣＵのためのスキップフラグのためのＣＡＢＡＣコンテキストを決定することと、
前記第１のＣＴＵの現在ＣＵの隣接ＰＵがインターモード予測に設定されると決定することと、前記隣接ＰＵに基づいて前記現在ＣＵのためのマージ候補を決定することと、前記隣接ＰＵが前記第１の複数のＰＵのうちのＰＵである、
現在ＰＵの前記隣接ＰＵがインターモード予測に設定されると決定することと、前記隣接ＰＵに基づいて前記現在ＰＵの動き予測子を決定することと、
前記隣接ＰＵに基づいての前記第１のＣＴＵの前記現在ＰＵのためのイントラ予測モードを予測することとのうちの少なくとも１つを完了するように更に構成された前記プロセッサ、Ｃ３０に記載の装置。
［Ｃ３３］
前記プロセッサが、空間予測のための参照として前記データ構造を使用して前記第１のＣＴＵを符号化するように更に構成された、Ｃ３０に記載の装置。
［Ｃ３４］
前記第１の複数のＰＵの各ＰＵが、前記第１のＣＴＵのための最小ＰＵを含み、前記データが、少なくとも、コード化単位深度、予測モード、及びインター予測モードを備える、Ｃ３０に記載の装置。
【国際調査報告】
2018511234.tif 000012
2018511234.tif 000013