(57)【特許請求の範囲】
【請求項１】
ビデオコーディングのためのコンピュータにより実現される方法であって、
ビデオフレームのピクチャ部分のパーティションを示す入力データをロードするステップと、
第１のピクチャ部分のマルチレベルパターンを決定するステップであって、前記マルチレベルパターンは、複数の利用可能なパターンから選択されたベースパターンと、前記ベースパターンの少なくとも１つの非ターミネーティング部分について前記複数の利用可能なパターンから選択された少なくとも１つのレベル１パターンとを有する、決定するステップと、
前記ビデオフレームのピクチャ部分のパターンレベルのターミネーションを示すターミネーションビットを決定するステップであって、前記ターミネーションビットは、前記マルチレベルパターンのベースパターンに関連する第１のターミネーションビットと前記第１のピクチャ部分とを有する、決定するステップと、
前記ベースパターンに関連する第１のエントロピーコーディングされたコードワードと、前記レベル１パターンに関連する第２のエントロピーコーディングされたコードワードとを決定するステップと、
前記ターミネーションビットをエントロピーコーディングするステップと、
前記第１のエントロピーコーディングされたコードワード、前記第２のエントロピーコーディングされたコードワード及び前記エントロピーコーディングされたターミネーションビットをビットストリームに書き込むステップと、
を有し、
当該方法は更に、
前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも１つについて可変長コードテーブル選択モードを、シングル可変長コーディングテーブルが前記ビデオフレームの全てのピクチャ部分のエントロピーコーディングされたコードワードを決定するため利用される第１の可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが前記ビデオフレームの各ピクチャ部分について２以上の利用可能な可変長コーディングテーブルから選択され、前記選択されたピクチャ部分ベース可変長コーディングテーブルが前記関連するピクチャ部分のエントロピーコーディングされたコードワードを決定するのに利用される第２の可変長コードテーブル選択モードとの少なくとも１つから決定するステップを有する方法。
【請求項２】
前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも１つについて可変長コードテーブル選択モードを、シングル可変長コーディングテーブルが前記ビデオフレームの全てのピクチャ部分のエントロピーコーディングされたコードワードを決定するため利用される第１の可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが前記ビデオフレームの各ピクチャ部分について２以上の利用可能な可変長コーディングテーブルから選択され、前記選択されたピクチャ部分ベース可変長コーディングテーブルが前記関連するピクチャ部分のエントロピーコーディングされたコードワードを決定するのに利用される第２の可変長コードテーブル選択モードとの少なくとも１つから決定するステップを更に有する、請求項１記載の方法。
【請求項３】
第１の可変長コーディングテーブルと第２の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記第１の可変長コーディングテーブル又は前記第２の可変長コーディングテーブルの少なくとも１つからの第１の選択された可変長コーディングテーブルは、前記第１のピクチャ部分の複雑さの予測に基づき、前記第１のピクチャ部分について自動的に決定される、請求項１記載の方法。
【請求項４】
高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとからの第１の選択された可変長コーディングテーブルは、前記第１のピクチャ部分の複雑さの予測に基づき、前記第１のピクチャ部分について自動的に決定され、前記第１のピクチャ部分の複雑さの予測は、前記第１のピクチャ部分の近傍のピクチャ部分の複数のスプリットを決定し、前記スプリットの個数が閾値を超えるとき、前記高複雑性可変長コーディングテーブルを利用し、前記スプリットの個数が前記閾値以下であるとき、前記低複雑性可変長コーディングテーブルを利用することを含む、請求項１記載の方法。
【請求項５】
前記第２のエントロピーコーディングされたコードワードは、前記レベル１パターンがターミネーティングパターンであることを示す、請求項１記載の方法。
【請求項６】
前記ピクチャ部分は６４×６４ピクセルを含み、
当該方法は更に、
前記関連するピクチャ部分が少なくとも１つのターミネーティング３２×３２パーティションと共に４つの３２×３２パーティション又は４つの３２×３２非ターミネーティングパーティションを有するか各々が示す複数のバイナリインジケータを有するピクチャ部分のバイナリマスクを生成するステップと、
前記ピクチャ部分のバイナリマスクをエントロピーコーディングし、前記ビットストリームに書き込むステップと、
を有する、請求項１記載の方法。
【請求項７】
前記ピクチャ部分は６４×６４ピクセルを有し、
当該方法は更に、
前記関連するピクチャ部分が少なくとも１つのターミネーティング３２×３２パーティションと共に４つの３２×３２パーティション又は４つの３２×３２非ターミネーティングパーティションを有するか各々が示す複数のバイナリインジケータを有するピクチャ部分のバイナリマスクを生成するステップと、
シンボルランコーディングメソッド又はビットマップコーディングメソッドを利用して、前記ピクチャ部分のバイナリマスクをコーディングするか判断するステップと、
ピクチャ部分のバイナリマスクのコーディングメソッドインジケータを生成するステップと、
前記選択されたコーディングメソッドに基づき、前記ピクチャ部分のバイナリマスクをエントロピーコーディングするステップと、
前記ピクチャ部分のバイナリマスクのコーディングメソッドインジケータと前記エントロピーコーディングされたピクチャ部分のバイナリマスクとを前記ビットストリームに書き込むステップと、
を有する、請求項１記載の方法。
【請求項８】
前記入力データは、ルマパーティションとクロマパーティションとを規定するルマデータとクロマデータとを有し、
当該方法は更に、
前記ビデオフレームのためのフォロービットを生成するステップであって、前記フォロービットは、前記ビデオフレームのピクチャ部分について、前記クロマパーティションの少なくとも１つが前記ルマパーティションに一致するか、又は、前記クロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップを有する、請求項１記載の方法。
【請求項９】
前記入力データは、ルマパーティションとクロマパーティションとを規定するルマデータとクロマデータとを有し、
当該方法は更に、
前記ビデオフレームのためのフォロービットを生成するステップであって、前記フォロービットは、前記ビデオフレームのピクチャ部分について、前記クロマパーティションの少なくとも１つが前記ルマパーティションに一致するか、又は、前記クロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップと、
ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも１つから、前記フォロービットのフォロービットについて選択されたコーディング技術を決定するステップと、
前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも１つを示すフォロービットの選択されたコーディング技術ヘッダを生成するステップと、
前記選択されたコーディング技術に基づき前記フォロービットをエントロピーコーディングするステップと、
前記フォロービットの選択されたコーディング技術と前記エントロピーコーディングされたフォロービットとを前記ビットストリームに書き込むステップと、
を有する、請求項１記載の方法。
【請求項１０】
前記入力データは、ルマパーティションを規定するルマデータと、ＵプレーンクロマパーティションとＶプレーンクロマパーティションとを規定するクロマデータとを有し、
当該方法は更に、
前記ビデオフレームのＵプレーンフォロービットを生成するステップであって、前記Ｕプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Ｕプレーンクロマパーティションの少なくとも１つが前記ルマパーティションに一致するか、又は、前記Ｕプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップと、
前記ビデオフレームのＶプレーンフォロービットを生成するステップであって、前記Ｖプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Ｖプレーンクロマパーティションの少なくとも１つが前記ルマパーティションに一致するか、又は、前記Ｖプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップと、
ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも１つから前記ＵプレーンフォロービットのＵプレーンフォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも１つを示すＵプレーンフォロービットの選択されたコーディング技術ヘッダとを決定するステップと、
前記Ｕプレーンフォロービットに少なくとも部分的に基づき、Ｖプレーン予測フォロービットを生成するステップと、
前記Ｖプレーンフォロービットと前記Ｖプレーン予測フォロービットとを差分処理し、Ｖプレーン差分フォロービットを生成するステップと、
ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも１つから前記Ｖプレーン差分フォロービットのＶプレーン差分フォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも１つを示すＶプレーン差分フォロービットの選択されたコーディング技術ヘッダとを決定するステップと、
前記選択されたコーディング技術に基づき、前記ＵプレーンフォロービットとＶプレーン差分フォロービットとをエントロピーコーディングするステップと、
前記Ｕプレーンフォロービットの選択されたコーディング技術ヘッダ、前記Ｖプレーン差分フォロービットの選択されたコーディング技術ヘッダ、前記エントロピーコーディングされたＵプレーンフォロービット及び前記エントロピーコーディングされたＶプレーン差分フォロービットを前記ビットストリームに書き込むステップと、
を有する、請求項１記載の方法。
【請求項１１】
前記入力データは、ルマデータ又はクロマデータの少なくとも１つを有する、請求項１記載の方法。
【請求項１２】
前記ビデオフレームはＩピクチャを有し、前記第１のピクチャ部分は前記ビデオフレームのタイルを有する、請求項１記載の方法。
【請求項１３】
前記ビデオフレームはＩピクチャを有し、前記第１のピクチャ部分は前記ビデオフレームのタイルを有し、前記パーティションはｋ−ｄツリーパーティションを有する、請求項１記載の方法。
【請求項１４】
前記パーティションは、ｋ−ｄツリーパーティション、バイツリーパーティション、クワドツリーパーティション又は構造化されたコードワードパーティションの少なくとも１つを有する、請求項１記載の方法。
【請求項１５】
前記ピクチャ部分は、タイル、最大コーディング単位又はスーパーブロックの少なくとも１つを有する、請求項１記載の方法。
【請求項１６】
前記複数の利用可能なパターンは、利用可能なパターンのコードブックを有する、請求項１記載の方法。
【請求項１７】
イメージバッファと、
エントロピーエンコーダロジック回路を有するグラフィクス処理ユニットと、
を有するビデオエンコーダであって、
前記グラフィクス処理ユニットは、前記イメージバッファに通信結合され、
前記エントロピーエンコーダロジック回路は、
ビデオフレームのピクチャ部分のパーティションを示す入力データをロードする処理と、
第１のピクチャ部分のマルチレベルパターンを決定する処理であって、前記マルチレベルパターンは、複数の利用可能なパターンから選択されたベースパターンと、前記ベースパターンの少なくとも１つの非ターミネーティング部分について前記複数の利用可能なパターンから選択された少なくとも１つのレベル１パターンとを有する、決定する処理と、
前記ビデオフレームのピクチャ部分のパターンレベルのターミネーションを示すターミネーションビットを決定する処理であって、前記ターミネーションビットは、前記マルチレベルパターンのベースパターンに関連する第１のターミネーションビットと前記第１のピクチャ部分とを有する、決定する処理と、
前記ベースパターンに関連する第１のエントロピーコーディングされたコードワードと、前記レベル１パターンに関連する第２のエントロピーコーディングされたコードワードとを決定する処理と、
前記ターミネーションビットをエントロピーコーディングする処理と、
前記第１のエントロピーコーディングされたコードワード、前記第２のエントロピーコーディングされたコードワード及び前記エントロピーコーディングされたターミネーションビットをビットストリームに書き込む処理と、
を実行するよう構成され、
前記エントロピーエンコーダロジック回路は更に、
前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも１つについて可変長コードテーブル選択モードを、シングル可変長コーディングテーブルが前記ビデオフレームの全てのピクチャ部分のエントロピーコーディングされたコードワードを決定するため利用される第１の可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが前記ビデオフレームの各ピクチャ部分について２以上の利用可能な可変長コーディングテーブルから選択され、前記選択されたピクチャ部分ベース可変長コーディングテーブルが前記関連するピクチャ部分のエントロピーコーディングされたコードワードを決定するのに利用される第２の可変長コードテーブル選択モードとの少なくとも１つから決定する処理を実行するよう構成されるビデオエンコーダ。
【請求項１８】
前記エントロピーエンコーダロジック回路は更に、
前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも１つについて可変長コードテーブル選択モードを、シングル可変長コーディングテーブルが前記ビデオフレームの全てのピクチャ部分のエントロピーコーディングされたコードワードを決定するため利用される第１の可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが前記ビデオフレームの各ピクチャ部分について２以上の利用可能な可変長コーディングテーブルから選択され、前記選択されたピクチャ部分ベース可変長コーディングテーブルが前記関連するピクチャ部分のエントロピーコーディングされたコードワードを決定するのに利用される第２の可変長コードテーブル選択モードとの少なくとも１つから決定する処理を実行するよう構成される、請求項１７記載のビデオエンコーダ。
【請求項１９】
高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記エントロピーエンコーダロジック回路は、前記第１のピクチャ部分の複雑さの予測に基づき、前記第１のピクチャ部分について前記高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとからの第１の選択された可変長コーディングテーブルを自動的に決定する処理を実行するよう構成され、前記第１のピクチャ部分の複雑さの予測を決定するため、前記エントロピーエンコーダロジック回路は、前記第１のピクチャ部分の近傍のピクチャ部分の複数のスプリットを決定し、前記スプリットの個数が閾値を超えるとき、前記高複雑性可変長コーディングテーブルを利用し、前記スプリットの個数が前記閾値以下であるとき、前記低複雑性可変長コーディングテーブルを利用するよう構成される、請求項１７記載のビデオエンコーダ。
【請求項２０】
前記第２のエントロピーコーディングされたコードワードは、前記レベル１パターンがターミネーティングパターンであることを示す、請求項１７記載のビデオエンコーダ。
【請求項２１】
前記入力データは、ルマパーティションとクロマパーティションとを規定するルマデータとクロマデータとを有し、
前記エントロピーエンコーダロジック回路は更に、
前記ビデオフレームのためのフォロービットを生成する処理であって、前記フォロービットは、前記ビデオフレームのピクチャ部分について、前記クロマパーティションの少なくとも１つが前記ルマパーティションに一致するか、又は、前記クロマパーティションが前記ルマパーティションに一致しないことを示す、生成する処理と、
ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも１つから、前記フォロービットのフォロービットについて選択されたコーディング技術を決定する処理と、
前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも１つを示すフォロービットの選択されたコーディング技術ヘッダを生成する処理と、
前記選択されたコーディング技術に基づき前記フォロービットをエントロピーコーディングする処理と、
前記フォロービットの選択されたコーディング技術と前記エントロピーコーディングされたフォロービットとを前記ビットストリームに書き込む処理と、
を実行するよう構成される、請求項１７記載のビデオエンコーダ。
【請求項２２】
前記入力データは、ルマパーティションを規定するルマデータと、ＵプレーンクロマパーティションとＶプレーンクロマパーティションとを規定するクロマデータとを有し、
前記エントロピーエンコーダロジック回路は更に、
前記ビデオフレームのＵプレーンフォロービットを生成する処理であって、前記Ｕプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Ｕプレーンクロマパーティションの少なくとも１つが前記ルマパーティションに一致するか、又は、前記Ｕプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成する処理と、
前記ビデオフレームのＶプレーンフォロービットを生成する処理であって、前記Ｖプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Ｖプレーンクロマパーティションの少なくとも１つが前記ルマパーティションに一致するか、又は、前記Ｖプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成する処理と、
ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも１つから前記ＵプレーンフォロービットのＵプレーンフォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも１つを示すＵプレーンフォロービットの選択されたコーディング技術ヘッダとを決定する処理と、
前記Ｕプレーンフォロービットに少なくとも部分的に基づき、Ｖプレーン予測フォロービットを生成する処理と、
前記Ｖプレーンフォロービットと前記Ｖプレーン予測フォロービットとを差分処理し、Ｖプレーン差分フォロービットを生成する処理と、
ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも１つから前記Ｖプレーン差分フォロービットのＶプレーン差分フォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも１つを示すＶプレーン差分フォロービットの選択されたコーディング技術ヘッダとを決定する処理と、
前記選択されたコーディング技術に基づき、前記ＵプレーンフォロービットとＶプレーン差分フォロービットとをエントロピーコーディングする処理と、
前記Ｕプレーンフォロービットの選択されたコーディング技術ヘッダ、前記Ｖプレーン差分フォロービットの選択されたコーディング技術ヘッダ、前記エントロピーコーディングされたＵプレーンフォロービット及び前記エントロピーコーディングされたＶプレーン差分フォロービットを前記ビットストリームに書き込む処理と、
を実行するよう構成される、請求項１７記載のビデオエンコーダ。
【請求項２３】
前記ビデオフレームはＩピクチャを有し、前記第１のピクチャ部分は前記ビデオフレームのタイルを有し、前記パーティションはｋ−ｄツリーパーティションを有する、請求項１７記載のビデオエンコーダ。
【請求項２４】
前記パーティションは、ｋ−ｄツリーパーティション、バイツリーパーティション、クワドツリーパーティション又は構造化されたコードワードパーティションの少なくとも１つを有する、請求項１７記載のビデオエンコーダ。
【請求項２５】
前記ピクチャ部分は、タイル、最大コーディング単位又はスーパーブロックの少なくとも１つを有する、請求項１７記載のビデオエンコーダ。
【請求項２６】
前記複数の利用可能なパターンは、利用可能なパターンのコードブックを有する、請求項１７記載のビデオエンコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容の全体が参照することによりここに援用される、２０１３年１月３０日に出願された“ＮＥＸＴ  ＧＥＮＥＲＡＴＩＯＮ  ＶＩＤＥＯ  ＣＯＤＩＮＧ”というタイトルの米国仮出願第６１／７５８，３１４号の利益を請求する。
【背景技術】
【０００２】
ビデオエンコーダは、より多くの情報が所与の帯域幅により送信できるように、ビデオ情報を圧縮する。このとき、圧縮された信号は、表示前に当該信号を復号化又は伸張するデコーダを有する受信機に送信されうる。
【０００３】
Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）は、ＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）及びＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）により構成されるＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）により開発されている最新のビデオ圧縮規格である。ＨＥＶＣは、より高い解像度のビデオアプリケーションを進展させるのに十分な圧縮を提供しない従来のＨ．２６４／ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）規格に応答して開発されている。従来のビデオコーディング規格と同様に、ＨＥＶＣは、イントラ／インター予測、変換、量子化、イン・ループフィルタリング及びエントロピーコーディングなどの基本的な機能モジュールを有する。
【０００４】
進行中のＨＥＶＣ規格は、許容される予測パーティション及びコーディングパーティションのための限定的な選択、限定的な許容される複数のリファレンス及び予測の生成、限定的な変換ブロックサイズ及び実際の変換、コーディングアーチファクトを低減するための限定的な機構、及び非効率なエントロピー符号化技術などのＨ．２６４／ＡＶＣ規格の制限に対する改善を試みうる。しかしながら、進行中のＨＥＶＣ規格は、繰り返しアプローチを用いてこのような問題を解くかもしれない。
【０００５】
例えば、圧縮対象のビデオの増加し続ける解像度と高いビデオ品質の予想とによって、Ｈ．２６４などの既存のビデオコーディング規格又はＨ．２６５／ＨＥＶＣなどの開発中の規格を利用したコーディングに必要とされる対応するビットレート／帯域幅は相対的に高くなる。上述した規格は、従来のアプローチの拡張された形式を利用し、不十分な圧縮／品質問題を暗黙的に解決するが、その結果はしばしば限定的である。
【０００６】
次世代ビデオ（ＮＧＶ）コーデックプロジェクトのコンテクストの範囲内で展開される本説明は、デバイス上の実現に十分実用的であることを維持しながら、達成可能な圧縮効率を最大化する先進的なビデオコーデックを設計するという一般的な問題に対処する。例えば、良好なディスプレイの利用可能性のため、ビデオの増加し続ける解像度と高いビデオ品質の予想とによって、以前のＭＰＥＧ規格やより最近のＨ．２６４／ＡＶＣ規格などの既存のビデオコーディング規格を利用して必要とされる対応するビットレート／帯域幅は相対的に高くなる。Ｈ．２６４／ＡＶＣは、より高い解像度のビデオアプリケーションを進展させるための十分高い圧縮を提供するとは認識されていなかった。
【図面の簡単な説明】
【０００７】
ここに説明される題材は、添付した図面において、限定のためでなく例示のため説明される。説明の簡単化及び明確化のため、図面に示される要素は必ずしもスケーリングして示されているとは限らない。例えば、一部の要素のサイズは、簡単化のため他の要素に対して誇張されうる。さらに、適切であると考えられる場合、参照ラベルは、対応する又は類似する要素を示すため図面間において繰り返された。
【図１】図１は、一例となる次世代ビデオエンコーダの説明図である。
【図２】図２は、一例となる次世代ビデオデコーダの説明図である。
【図３（ａ）】図３（ａ）は、一例となる次世代ビデオエンコーダ及びサブシステムの説明図である。
【図３（ｂ）】図３（ｂ）は、一例となる次世代ビデオデコーダ及びサブシステムの説明図である。
【図４】図４は、一例となるエントロピーエンコーダモジュールの説明図である。
【図５】図５は、一例となるエントロピーデコーダモジュールの説明図である。
【図６】図６は、一例となるエントロピーエンコーダモジュールの説明図である。
【図７】図７は、一例となるエントロピーデコーダモジュールの説明図である。
【図８】図８は、一例となる処理を示すフロー図である。
【図９】図９は、一例となるビットストリームを示す。
【図１０】図１０は、一例となる処理を示すフロー図である。
【図１１】図１１は、一例となるビデオコーディングシステムと動作に関するビデオコーディング処理との説明図である。
【図１２】図１２は、一例となる符号化処理を示すフロー図である。
【図１３】図１３は、一例となるビットストリームを示す。
【図１４】図１４は、一例となる復号化処理を示すフロー図である。
【図１５（Ａ）】図１５（Ａ）は、一例となるビデオコーディングシステムと処理に関するビデオコーディング処理との説明図を提供する。
【図１５（Ｂ）】図１５（Ｂ）は、一例となるビデオコーディングシステムと処理に関するビデオコーディング処理との説明図を提供する。
【図１５（Ｃ）】図１５（Ｃ）は、一例となるビデオコーディングシステムと処理に関するビデオコーディング処理との説明図を提供する。
【図１６】図１６は、一例となるビデオコーディングシステムの説明図である。
【図１７】図１７は、一例となるシステムの説明図である。
【図１８】図１８は、一例となるデバイスを示す。
【図１９】図１９は、ピクチャ部分の一例となるパーティションのための一例となるマルチレベルパターンの説明図である。
【図２０】図２０は、一例となる処理を示すフロー図である。
【図２１】図２１は、一例となる処理を示すフロー図である。
【図２２（Ａ）】図２２（Ａ）は、一例となる処理のフロー図を示す。
【図２２（Ｂ）】図２２（Ｂ）は、一例となる処理のフロー図を示す。
【図２２（Ｃ）】図２２（Ｃ）は、一例となる処理のフロー図を示す。
【図２２（Ｄ）】図２２（Ｄ）は、一例となる処理のフロー図を示す。
【図２２（Ｅ）】図２２（Ｅ）は、一例となる処理のフロー図を示す。
【図２２（Ｆ）】図２２（Ｆ）は、一例となる処理のフロー図を示す。
【図２３（Ａ）】図２３（Ａ）は、一例となる処理のフロー図を示す。
【図２３（Ｂ）】図２３（Ｂ）は、一例となる処理のフロー図を示す。
【図２３（Ｃ）】図２３（Ｃ）は、一例となる処理のフロー図を示す。
【図２４】図２４は、パーティションデータをエントロピー符号化する一例となるシステムを示す。
【図２５】図２５は、全てが本開示の少なくとも一部の実現形態により構成される一例となる現在ピクチャ部分と一例となる近傍ピクチャ部分とを示す。
【発明を実施するための形態】
【０００８】
１以上の実施例又は実現形態が、同封される図面を参照してここで説明される。特定の設定及び構成が説明されるが、これは単なる例示のためのみに行われることが理解されるべきである。当業者は、他の設定及び構成が説明の趣旨及び範囲から逸脱することなく利用されうることを認識するであろう。ここに説明される技術及び／又は構成はまた、ここに説明されるもの以外の他の各種システム及びアプリケーションにおいて利用されてもよいことは明らかであろう。
【０００９】
以下の説明は、システム・オン・チップ（ＳｏＣ）アーキテクチャなどのアーキテクチャにおいて明示されうる各種実現形態を与えるが、ここに説明される技術及び／又は構成の実現形態は、特定のアーキテクチャ及び／又は計算システムに限定されず、同様の目的のための何れかのアーキテクチャ及び／又は計算システムにより実現されてもよい。例えば、複数の集積回路（ＩＣ）チップ及び／又はパッケージなどを利用した各種アーキテクチャ、及び／又はセットトップボックス、スマートフォンなどの各種計算デバイス及び／又は家電（ＣＥ）デバイスは、ロジック実現形態、システムコンポーネントのタイプ及び相互関係、ロジック分割／統合の選択などの多数の特定の詳細を与えうるが、請求される主題はこのような特定の詳細なしに実施されてもよい。他の例では、制御構造やフルソフトウェア命令シーケンスなどのいくつかの題材は、ここに開示される題材を不明瞭にしないため、詳細には示されないかもしれない。
【００１０】
ここに開示される題材は、ハードウェア、ファームウェア、ソフトウェア又はこれらの何れかの組み合わせにより実現されてもよい。ここに開示される題材はまた、１以上のプロセッサにより読み込まれて実行されうるマシーン可読媒体に格納される命令として実現されてもよい。マシーン可読媒体は、マシーン（計算デバイスなど）により可読な形態により情報を格納又は送信するための何れかの媒体及び／又は機構を含むものであってもよい。例えば、マシーン可読媒体は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、電気、光、音響若しくは他の形態の伝搬信号（例えば、搬送波、赤外線信号、デジタル信号など）などを含むものであってもよい。
【００１１】
明細書における“一実現形態”、“実現形態”、“一例となる実現形態”などの参照は、説明される実現形態が特定の特徴、構成又は特性を含みうるが、全ての実施例が特定の特徴、構成又は特性を必ずしも含むとは限らないことを示す。さらに、このようなフレーズは必ずしも同一の実現形態を参照するとは限らない。さらに、特定の特徴、構成又は特性が実施例に関して説明されるとき、明示的にここで説明されるかにかかわらず、このような特徴、構成又は特性を他の実現形態に関して実行することは当業者の知識の範囲内であることが主張される。
【００１２】
システム、装置、物及び方法が、ビデオシステムのためのコンテンツ適応的エントロピーコーディングに関して後述される。
【００１３】
次世代ビデオ（ＮＧＶ）システム、装置、物及び方法が後述される。ＮＧＶビデオコーディングは、より高い圧縮を達成するため、ビデオコーディング処理に有意なコンテンツベース適応化を含める。上述されたように、Ｈ．２６４／ＡＶＣ規格は各種制限を有するかもしれず、ＨＥＶＣ規格などの規格を改善するための進行中の試みは、繰り返しアプローチを用いてこのような制限に対処しうる。ここで、エンコーダ及びデコーダを含むＮＧＶシステムが説明される。
【００１４】
例えば、Ｈ．２６４規格は、２つのモードのエントロピーコーディングをサポートしうる。第１のモードの適応的ＶＬＣ（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）では、変換係数はコンテクスト適応的ＶＬＣ（ＣＡＶＬＣ）を用いてコード化され、他の全てのシンタクス要素（例えば、オーバヘッドデータ、モード、動きベクトルなど）は指数Ｇｏｌｏｍｂコーディングを用いてコード化されてもよい。ＣＡＶＬＣコード化データ及び指数Ｇｏｌｏｍｂコード化データが、符号化されたビットストリームを生成するため多重化されうる。第２モードでは、全てのデータはコンテクスト適応的バイナリ算術コーディング（ＣＡＢＡＣ）を用いて符号化されてもよい。対応するデコーダもまた２つのモードで動作し、第１モードでは、多重化されたビットストリームをデアセンブル及び復号化し、第２モードでは、ＣＡＢＡＣ符号化されたビットストリームを復号化する。このような技術は制限を有するかもしれない。例えば、ＣＡＢＡＣコーディングは十分であるが、より高い解像度のコンテクストにおけるスループットが限定されるように複雑であるかもしれない。さらに、コーディングのためデータタイプを一緒にグループ化することによって、エントロピーコーディングの効率性及び複雑性は最適化されないかもしれない。
【００１５】
いくつかのビデオコーデック実現形態では、オーバヘッドデータ、モード、動きベクトル及び／又は変換係数などの各種データのエントロピー符号化及び復号化は、システムのコーディング効率性及び複雑性に有意に寄与しうる。いくつかの具体例では、ここに説明される技術はコーディング効率性とシステム複雑性とをバランスさせうる。
【００１６】
いくつかの具体例では、第１ビデオデータ及び第２ビデオデータは、エントロピーエンコーダモジュールにおいてエントロピー符号化のため受信されてもよい。第１ビデオデータ及び第２ビデオデータは、異なるデータタイプ（例えば、ここでさらに説明されるように、ヘッダデータ、モーフィングパラメータ、シンセサイジングパラメータ、グローバルマップデータ、動きベクトル、イントラ予測パーティションデータなど）であってもよい。第１エントロピー符号化技術は、例えば、第１ビデオデータの圧縮されたビットのビット数、第１ビデオデータに関する所定のインジケータ又はフラグ、所定の閾値、ヒューリスティックに決定された閾値など、第１ビデオデータに関するパラメータに基づき、第１ビデオデータについて決定されてもよい。いくつかの具体例では、第１エントロピー符号化技術は、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の１つから選択されてもよい。第１ビデオデータは、第１エントロピー符号化技術を用いてエントロピー符号化されてもよく、第２ビデオデータは、第１エントロピー符号化技術を用いてエントロピー符号化されてもよい。いくつかの具体例では、第２エントロピー符号化技術は、第１ビデオデータに関して説明されるようなパラメータに基づき、第２ビデオデータについて決定されてもよい。いくつかの具体例では、第２エントロピー符号化技術は、適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術、適応的ベクトル可変長コーディング、適応的１次元可変長コーディング技術、適応的２次元可変長コーディング技術又はここに説明されるような他の技術を含むオプションから決定されてもよい。いくつかの具体例では、第２エントロピー符号化技術は、第２ビデオデータのデータタイプについて所定のものであってもよい。第１ビデオデータ及び第２ビデオデータをエントロピー符号化することは、第１の圧縮されたビデオデータ及び第２の圧縮されたビデオデータを生成してもよい。第１及び第２の圧縮されたビデオデータは、出力ビットストリームを生成するため、まとめられてもよい。
【００１７】
出力ビットストリームは、エンコーダからデコーダに送信され、第１及び第２の圧縮されたビデオデータを決定するため、ビットストリームをデアセンブリングしてもよい。圧縮されたビデオデータは、エントロピー復号化され、エントロピー復号化されたビデオデータを生成し、更に復号化され、ビデオフレームを生成してもよい。ビデオフレームは、ユーザに提示するためディスプレイデバイスに送信されてもよい。
【００１８】
いくつかの具体例では、更なるビデオデータタイプが、エントロピーエンコーダモジュールにおいてエントロピー符号化のため受信されてもよい。例えば、第３、第４、第５、第６、第７又は更なるビデオデータがエントロピー符号化され、関連する圧縮されたビデオデータを生成し、それは出力ビットストリームにまとめられ、送信され、デコーダを介し以降においてエントロピー復号化されてもよい。各種データタイプ及び符号化／復号化技術のオプション及び実現形態が、さらにここで説明される。
【００１９】
ここで用いられる“コーダ”という用語は、エンコーダ及び／又はデコーダを参照するものであってもよい。同様に、ここで用いられる“コーディング”という用語は、エンコーダを介しビデオ符号化を実行すること、及び／又はデコーダを介しビデオ復号化を実行することを参照するものであってもよい。例えば、ビデオエンコーダ及びビデオデコーダは共に、ビデオデータをコーティング可能なコーダの具体例であってもよい。さらに、ここで用いられる“コーデック”という用語は、エンコーダ及び／又はデコーダを実現するソフトウェア、ファームウェア及び／又はハードウェアの何れかの組み合わせなどの何れかの処理、プログラム又は処理セットを参照するものであってもよい。さらに、ここで用いられる“ビデオデータ”というフレーズは、例えば、ビデオフレーム、画像データ、符号化されたビットストリームデータなどのビデオコーディングに関連する何れかのタイプのデータを参照するものであってもよい。
【００２０】
図１は、本開示の少なくともいくつかの実現形態に従って構成される一例となる次世代ビデオエンコーダ１００の説明図である。図示されるように、エンコーダ１００は入力ビデオ１０１を受信する。入力ビデオ１０１は、ビデオシーケンスの入力フレームなどの符号化のための何れか適した入力ビデオを含むものであってもよい。図示されるように、入力ビデオ１０１は、コンテンツ事前解析モジュール１０２を介し受信されてもよい。コンテンツ事前解析モジュール１０２は、入力ビデオ１０１のビデオフレームのコンテンツの解析を実行し、ビデオコーディング効率及びスピード性能を向上させるため、各種タイプのパラメータを決定するよう構成されてもよい。例えば、コンテンツ事前解析モジュール１０２は、水平方向及び垂直方向勾配情報（例えば、Ｒｓ、Ｃｓ）、分散、ピクチャ毎の空間複雑性、ピクチャ毎の時間複雑性、シーン変更検出、動き範囲推定、ゲイン検出、予測距離推定、オブジェクト数推定、領域境界検出、空間複雑性マップ計算、フォーカス推定、フィルムグレイン推定などを決定してもよい。コンテンツ事前解析モジュール１０２により生成されるパラメータは、エンコーダ１００により利用されてもよく（例えば、符号化コントローラ１０３を介し）、及び／又は量子化されてデコーダに通信されてもよい。図示されるように、ビデオフレーム及び／又は他のデータは、コンテンツ事前解析モジュール１０２から適応的ピクチャ編成モジュール１０４に送信され、各ビデオフレームのピクチャタイプ（Ｉ、Ｐ又はＦ／Ｂピクチャなど）を決定し、必要に応じてビデオフレームをリオーダしてもよい。いくつかの具体例では、適応的ピクチャ編成モジュール１０４は、フレーム部分を生成するよう構成されるフレーム部分生成手段を有してもよい。いくつかの具体例では、コンテンツ事前解析モジュール１０２及び適応的ピクチャ編成モジュール１０４は一緒になって、エンコーダ１００の事前解析サブシステムとみなされてもよい。
【００２１】
図示されるように、ビデオフレーム及び／又は他のデータは、適応的ピクチャ編成モジュール１０４から予測パーティション生成モジュール１０５に送信される。いくつかの具体例では、予測パーティション生成モジュール１０５は、フレーム又はピクチャをタイル又はスーパーフラグメントなどに分割してもよい。いくつかの具体例では、フレーム又はピクチャをタイル又はスーパーフラグメントに分割するための追加的なモジュール（例えば、モジュール１０４と１０５との間などに）が備えられてもよい。予測パーティション生成モジュール１０５は、各タイル又はスーパーフラグメントを可能性のある予測パーティショニング又はパーティションに分割してもよい。いくつかの具体例では、可能な予測パーティショニングは、個々のビデオフレーム、パーティションされるフレーム部分の特性などのピクチャタイプ（Ｉ、Ｐ又はＦ／Ｂピクチャなど）に基づき決定されてもよい、例えば、ｋ−ｄツリーパーティション化技術、バイツリーパーティション化技術などのパーティション化技術を用いて決定されてもよい。いくつかの具体例では、決定された可能性のある予測パーティション化は、予測のためのパーティションであってもよく（例えば、インター又はイントラ予測など）、予測パーティションや予測ブロックなどとして説明されてもよい。
【００２２】
いくつかの具体例では、選択された予測パーティショニング（例えば、予測パーティションなど）は、可能性のある予測パーティショニングから決定されてもよい。例えば、選択された予測パーティショニングは、可能性のある各予測パーティショニングについて、選択された予測パーティショニングは、可能性のある各予測パーティショニングについて、特性及び動きに基づくマルチリファレンス予測又はイントラ予測を利用して予測を決定し、予測パラメータを決定することに基づくものであってもよい。可能性のある各予測パーティショニングについて、可能性のある予測エラーは、予測ピクセルとオリジナルｐｐ行くセルとの差分によって決定されてもよく、選択された予測パーティショニングは、最小の予測エラーを有する可能性のある予測パーティショニングであってもよい。他の具体例では、選択された予測パーティショニングは、パーティショニングをコード化するためのビット数と予測パーティショニングに関する予測エラーとに基づく重み付けされたスコアリングを含むレート歪み最適化に基づき決定されてもよい。
【００２３】
図示されるように、選択された予測パーティショニング（例えば、現在のフレームの予測パーティションなど）のオリジナルピクセルが、差分化手段１０６において予測されたパーティションと差分化されてもよい（例えば、リファレンスフレームに基づく現在のフレームの予測パーティションの予測及びインター又はイントラ予測データなどの他の予測データなど）。予測されたパーティションの決定は、以下において更に説明され、図１に示されるような復号化ループを含むものであってもよい。差分化からの何れかの残差又は残差データ（例えば、パーティション予測エラーデータなど）は、コーディングパーティション生成モジュール１０７に送信されてもよい。いくつかの具体例では、何れかのピクチャタイプ（Ｉ、Ｆ／Ｂ又はＰピクチャ）における予測パーティションのイントラ予測などについて、コーディングパーティション生成モジュール１０７は、スイッチ１０７ａ及び１０７ｂを介しバイパスされてもよい。このような具体例では、単一レベルのみのパーティショニングが実行されてもよい。このようなパーティショニングは、（説明されるような）予測パーティショニング、コーディングパーティショニング又は双方として説明されてもよい。各種具体例では、このようなパーティショニングは、（説明されるような）予測パーティション生成モジュール１０５を介し実行されてもよく、又は、ここで更に説明されるように、このようなパーティショニングは、コーディングパーティション生成モジュール１０７を介し実現されるｋ−ｄツリーイントラ予測／コーディングパーティションモジュール又はバイツリーイントラ予測／コーディングパーティションモジュールを介し実行されてもよい。
【００２４】
いくつかの具体例では、パーティション予測エラーデータは、存在する場合、符号化を保証するのに十分有意ではないかもしれない。他の具体例では、パーティション予測エラーデータを符号化することが望ましく、パーティション予測エラーデータがインター予測などに関連付けされる場合、コーディングパーティション生成モジュール１０７は、予測パーティションのコーディングパーティションを決定してもよい。いくつかの具体例では、コーディングパーティション生成モジュール１０７は、パーティションがコーディングパーティショニングなしに符号化されうるとき、必要でないかもしれない（例えば、スイッチ１０７ａ，１０７ｂを介し利用可能なバイパスを介して示されるように）。コーディングパーティショニングがある場合又はない場合、パーティション予測エラーデータ（以降において、何れかのイベントにおけるコーディングパーティションとして説明されうる）は、残差又は残差データが符号化を要求する場合、適応的変換モジュール１０８に送信されてもよい。いくつかの具体例では、予測パーティション生成モジュール１０５及びコーディングパーティション生成モジュール１０７は一緒になって、エンコーダ１００のパーティションサブシステムとみなされてもよい。各種具体例では、コーディングパーティション生成モジュール１０７は、パーティション予測エラーデータ、オリジナルピクセルデータ、残差データ又はウェーブレットデータに対して実行されてもよい。
【００２５】
コーディングパーティション生成モジュール１０７は、例えば、バイツリー及び／又はｋ−ｄツリーパーティショニング技術などを利用したパーティション予測エラーデータなどの可能性のあるコーディングパーティショニング（例えば、コーディングパーティションなど）を生成してもよい。いくつかの具体例では、可能性のあるコーディングパーティションは、適応的変換モジュール１０８を介し各種ブロックサイズにより適応的又は固定的変換を利用して変換されてもよく、選択されたコーディングパーティショニング及び選択された変換（例えば、適応的又は固定的など）が、レート歪み最適化又は他の基準に基づき決定されてもよい。いくつかの具体例では、選択されたコーディングパーティショニング及び／又は選択された変換は、コーディングパーティショニングサイズなどに基づく所定の選択方法に基づき決定されてもよい。
【００２６】
例えば、適応的変換モジュール１０８は、小から中サイズのブロックの局所的に最適な変換コーディングを可能にするためのパラメトリック変換を実行するための第１部分又はコンポーネントと、ここで更に説明されるようなパラメトリック変換又は他の何れかのコンフィギュレーションを含む各種変換からの離散コサイン変換（ＤＣＴ）又はピクチャベース変換などの固定的変換を利用した大域的に安定的な低オーバヘッド変換コーディングを実行するための第２部分又はコンポーネントを含むものであってもよい。いくつかの具体例では、局所最適な変換コーディングについて、ここで更に説明されるように、パラメトリックＨａａｒ変換（ＰＨＴ）が実行されてもよい。いくつかの具体例では、変換されたデータがルマ又はクロマであるか、インター又はイントラであるか、又は利用される決定された変換がＰＨＴ、ＤＣＴなどであるかなどの複数のファクタに依存した実際のサイズによって、約４×４のピクセルと６４×６４のピクセルとの間の矩形サイズの２Ｄブロックに対して変換が実行されてもよい。
【００２７】
図示されるように、結果として得られる変換係数は、適応的量子化モジュール１０９に送信される。適応的量子化モジュール１０９は、結果として得られた変換係数を量子化してもよい。さらに、必要に応じて、パラメトリック変換に関する何れかのデータが、適応的量子化モジュール１０９（量子化が所望される場合）又は適応的エントロピーエンコーダモジュール１１０の何れかに送信されてもよい。また、図１に示されるように、量子化された係数はスキャンされ、適応的エントロピーエンコーダモジュール１１０に送信されてもよい。適応的エントロピーエンコーダモジュール１１０は、量子化された係数をエントロピー符号化し、それらを出力ビットストリーム１１１に含めてもよい。いくつかの具体例では、適応的変換モジュール１０８及び適応的量子化モジュール１０９は一緒になって、エンコーダ１００の変換エンコーダサブシステムとみなされてもよい。
【００２８】
また、図１に示されるように、エンコーダ１００はローカル復号化ループを有する。ローカル復号化ループは、適応的逆量子化モジュール１１２において開始される。適応的逆量子化モジュール１１２は、逆スキャンが実行され、量子化係数が変換係数を決定するためデスケーリングされるように、適応的量子化モジュール１０９の逆処理を実行するよう構成されてもよい。このような適応的量子化処理は、例えば、非可逆であってもよい。図示されるように、変換係数は、適応的逆変換モジュール１１３に送信されてもよい。適応的逆変換モジュール１１３は、例えば、コーディングパーティションに関連する残差、残差値又はパーティション予測エラーデータ（又は説明されるようなオリジナルデータ又はウェーブレットデータ）を生成するため、適応的変換モジュール１０８により実行されるものと逆の変換を実行してもよい。いくつかの具体例では、適応的逆量子化モジュール１１２と適応的逆変換モジュール１１３とは一緒になって、エンコーダ１００の変換デコーダサブシステムとみなされてもよい。
【００２９】
図示されるように、パーティション予測エラーデータ（など）が、任意的なコーディングパーティションアセンブラ１１４に送信される。コーディングパーティションアセンブラ１１４は、予測エラーデータの予測パーティション又は復号化された残差予測パーティションなどを生成するため、（図示されるように、いくつかの具体例では、コーディングパーティションアセンブラ１１４は、復号化された予測パーティションが適応的逆変換モジュール１１３において生成されるように、スイッチ１１４ａ、１１４ｂを介しスキップされてもよい）必要に応じてコーディングパーティションを復号化された予測パーティションにアセンブリングしてもよい。
【００３０】
図示されるように、復号化された残差予測パーティションは、加算手段１１５において予測されたパーティション（例えば、予測ピクセルデータなど）に加えられ、再構成された予測パーティションを生成してもよい。再構成された予測パーティションは、予測パーティションアセンブラ１１６に送信される。予測パーティションアセンブラ１１６は、再構成された予測パーティションをアセンブリングし、再構成されたタイル又はスーパーフラグメントを生成してもよい。いくつかの具体例では、コーディングパーティションアセンブルモジュール１１４と予測パーティションアセンブルモジュール１１６とは一緒になって、エンコーダ１００のアンパーティションサブシステムとみなされてもよい。
【００３１】
再構成されたタイル又はスーパーフラグメントは、ブロックノイズ解析デブロックフィルタリングモジュール１１７に送信される。ブロックノイズ解析デブロックフィルタリングモジュール１１７は、再構成されたタイル又はスーパーフラグメント（又はタイル又はスーパーフラグメントの予測パーティション）をデブロック及びディザ処理してもよい。生成されたデブロック及びディザフィルタパラメータは、例えば、デコーダなどによる利用のため、現在のフィルタ処理に利用され、及び／又は出力ビットストリームにコーディングされてもよい。ブロックノイズ解析デブロックフィルタリングモジュール１１７の出力は、品質解析品質復元フィルタリングモジュール１１８に送信される。品質解析品質復元フィルタリングモジュール１１８は、（ＱＲ分解などのため）ＱＲフィルタリングパラメータを決定し、決定されたパラメータをフィルタリングのために利用してもよい。ＱＲフィルタリングパラメータはまた、デコーダによる利用のため出力ビットストリーム１１１にコーディングされてもよい。図示されるように、品質解析品質復元フィルタリングモジュール１１８の出力は、復号化ピクチャバッファ１１９に送信される。いくつかの具体例では、品質解析品質復元フィルタリングモジュール１１８は、他のフレームをコーディングするための予測に利用されてもよい最終的な再構成されたフレームであってもよい（例えば、最終的な再構成されたフレームはリファレンスフレームなどであってもよい。）。いくつかの具体例では、ブロックノイズ解析デブロックフィルタリングモジュール１１７と品質解析品質復元フィルタリングモジュール１１８とは一緒になって、エンコーダ１００のフィルタリングサブシステムとみなされてもよい。
【００３２】
エンコーダ１００において、予測処理はインター及び／又はイントラ予測を含むものであってもよい。図１（ａ）に示されるように、インター予測は、モーフィング解析モーフィングピクチャ生成モジュール１２０、シンセサイジング解析生成モジュール１２１及び特性動きフィルタリング予測モジュール１２３を含む１以上のモジュールによって実行されてもよい。モーフィング解析モーフィングピクチャ生成モジュール１２０は、コーディング対象のフレーム又はリファレンスフレームに関するゲインの変更、支配的な動きの変更、レジストレーションの変更及びブラーの変更のためのパラメータを決定するため、現在のピクチャを解析してもよい。決定されたモーフィングパラメータは、量子化／逆量子化及び利用されて（例えば、モーフィング解析モーフィングピクチャ生成モジュール１２０などによって）、現在のフレームの効率的な動き（及び特性）保証された予測のための動きベクトルを計算するため、動き推定モジュール１２２により利用されうるモーフィングされたリファレンスフレームを生成してもよい。シンセサイジング解析生成モジュール１２１は、これらのフレームにおける効率的な動き補償された予測のために動きベクトルを決定するため、動きのためスーパー解像度（ＳＲ）ピクチャ、プロジェクト補間（ＰＩ）ピクチャなどを生成してもよい。
【００３３】
動き推定モジュール１２２は、モーフィングされたリファレンスフレームに基づき動きベクトルデータ、及び／又はスーパー解像度（ＳＲ）及びプロジェクト補間（ＰＩ）ピクチャを現在フレームと共に生成してもよい。いくつかの具体例では、動き推定モジュール１２２は、インター予測モジュールとみなされてもよい。例えば、動きベクトルデータは、インター予測に利用されてもよい。インター予測が適用される場合、特性動き補償フィルタリング予測モジュール１２３は、説明されるように、ローカル復号化ループの一部として動き補償を適用してもよい。
【００３４】
イントラ予測は、イントラ方向予測解析予測生成モジュール１２４により実行されてもよい。イントラ方向予測解析予測生成モジュール１２４は、空間方向予測を実行するよう構成されてもよく、復号化された近傍パーティションを利用してもよい。いくつかの具体例では、方向の決定と予測の生成との双方が、イントラ方向予測解析予測生成モジュール１２４により実行されてもよい。いくつかの具体例では、イントラ方向予測解析予測生成モジュール１２４は、イントラ予測モジュールとみなされてもよい。
【００３５】
図１に示されるように、予測モードリファレンスタイプ解析モジュール１２５は、その全てがＰ及び／又はＦ／Ｂピクチャに適用されうるタイル（又はスーパーフラグメント）の各予測パーティションについて、“スキップ”、“オート”、“インター”、“スプリット”、“マルチ”及び“イントラ”から予測モードを選択することを可能にする。予測モードに加えて、それはまた、Ｐ及びＦ／Ｂピクチャと共に、“インター”又は“マルチ”モードに依存して異なる可能性のあるリファレンスタイプの選択を可能にする。予測モードリファレンスタイプ解析モジュール１２５の出力における予測信号は、予測解析予測融合フィルタリングモジュール１２６によりフィルタリングされてもよい。予測解析予測融合フィルタリングモジュール１２６は、フィルタリングに使用するパラメータ（例えば、フィルタリング係数、周波数、オーバヘッド）を決定し、フィルタリングを実行してもよい。いくつかの具体例では、予測信号のフィルタリングは、異なるモード（例えば、イントラ、インター、マルチ、スプリット、スキップ及びオートなど）を表す異なるタイプの信号を融合してもよい。いくつかの具体例では、イントラ予測信号は、適切なフィルタリングがコーディング効率を大きく向上させるように、他の全てのタイプのインター予測信号と異なるものであってもよい。いくつかの具体例では、フィルタリングパラメータは、デコーダによる利用のため出力ビットストリーム１１１に符号化されてもよい。フィルタリングされた予測信号は、上述されたコーディングのための予測差分信号（例えば、パーティション予測エラーなど）を決定しうる、上述された差分化手段１０６に第２入力（例えば、予測パーティションなど）を提供してもよい。さらに、同じフィルタリングされた予測信号は、上述されたように、第２入力を加算手段１１５に提供してもよい。上述されたように、出力ビットストリーム１１１は、ビデオの提示のため、デコーダにより利用される効率的に符号化されたビットストリームを提供する。
【００３６】
図１は、ビデオエンコーダ１００の処理に関する一例となる制御信号を示し、ここで、以下の略語は関連する情報を表す。
【００３７】
ｓｃｎｃｈｇ  シーン変更情報
ｓｐｃｐｘ  空間複雑性情報
ｔｐｃｐｘ  時間複雑性情報
ｐｄｉｓｔ  時間予測距離情報
ｐａｐ  事前解析パラメータ（ｓｃｎｃｈｇ、ｓｐｃｐｘ、ｔｐｃｐｘ、ｐｄｉｓｔを除く他の全ての事前解析パラメータのためのプレースホルダ）
ｐｔｙｐ  ピクチャタイプ情報
ｐｇｓｔ  ピクチャグループ構造情報
ｐｐｔｎ  ｃａｎｄ  予測パーティショニング候補
ｃｐｔｎ  ｃａｎｄ  コーディングパーティショニング候補
ｐｒｐ  前処理
ｘｍｔｙｐ  変換タイプ情報
ｘｍｄｉｒ  変換方向情報
ｘｍｍｏｄ  変換モード
ｅｔｈｐ  １／８ピクセル動き予測
ｐｐｔｎ  予測パーティショニング
ｃｐｔｎ  コーディングパーティショニング
ｍｏｔ＆ｃｏｄ  ｃｏｓｔ  動き及びコーディングコスト
ｑｓ  量子化情報セット（量子化パラメータ（Ｑｐ）、量子化マトリクス（ＱＭ）選択を含む）
ｍｖ  動きベクトル
ｍｏｐ  モーフィングパラメータ
ｓｙｐ  シンセサイジングパラメータ
ｄｄｉ  デブロック及びディザ情報
ｑｒｉ  品質復元フィルタリングインデックス／情報
ａｐｉ  適応的予測フィルタリングインデックス／情報
ｆｉｉ  融合フィルタリングインデックス／情報
ｍｏｄ  モード情報
ｒｅｆｔｙｐ  リファレンスタイプ情報
ｉｄｉｒ  イントラ予測方向
デコーダに送信される必要がある各種信号及びデータアイテム、すなわち、ｐｇｓｔ、ｐｔｙｐ、ｐｒｐ、ｐｐｔｎ、ｃｐｔｎ、ｍｏｄｅｓ、ｒｅｆｔｙｐｅ、ｅｔｈｐ、ｘｍｔｙｐ、ｘｍｄｉｒ、ｘｍｍｏｄ、ｉｄｉｒ、ｍｖ、ｑｓ、ｍｏｐ、ｓｙｐ、ｄｄｉ、ｑｒｉ、ａｐｉ、ｆｉｉ、ｑｕａｎｔ係数などが、その後、エントロピーエンコーダシステムとして総称される異なるエントロピーコーダを含む適応的エントロピーエンコーダ１１０によりエントロピー符号化されてもよい。これらの制御信号は、図１のエンコーダ１００の具体例となる機能モジュールに関連するものとして示されるが、他の実現形態は、エンコーダ３００の機能モジュール間の制御信号の異なる分配を有してもよい。本開示はこれに限定されず、各種具体例では、ここでの制御信号の実現形態は、図示された特定の一例となる制御信号の一部のみ、追加的な制御信号及び／又は図示した以外の異なる構成の利用を含むものであってもよい。
【００３８】
図２は、本開示の少なくともいくつかの実現形態により構成される一例となる次世代ビデオデコーダ２００の説明図である。図示されるように、デコーダ２００は入力ビットストリーム２０１を受信する。いくつかの具体例では、入力ビットストリーム２０１は、ここで説明されるエンコーダ１００及び／又は符号化技術を介し符号化されてもよい。図示されるように、入力ビットストリーム２０１は、適応的エントロピーデコーダモジュール２０２により受信される。適応的エントロピーデコーダモジュール２０２は、各種タイプの符号化されたデータ（例えば、オーバヘッド、動きベクトル、変換係数など）を復号化してもよい。いくつかの具体例では、適応的エントロピーデコーダ２０２は、可変長復号化技術を利用してもよい。いくつかの具体例では、適応的エントロピーデコーダ２０２は、上述された適応的エントロピーエンコーダモジュール１１０の逆処理を実行してもよい。
【００３９】
復号化されたデータは、適応的逆量子化モジュール２０３に送信される。適応的逆量子化モジュール２０３は、変換係数を決定するため、量子化された係数を逆スキャン及びデスケーリングするよう構成されてもよい。このような適応的量子化処理は、例えば、非可逆であってもよい。いくつかの具体例では、適応的逆量子化モジュール２０３は、適応的量子化モジュール１０９の逆処理を実行するよう構成されてもよい（例えば、適応的逆量子化モジュール１１２と実質的に同じ処理など）。図示されるように、変換係数（また、いくつかの具体例では、パラメトリック変換に利用される変換データなど）が適応的逆変換モジュール２０４に送信されてもよい。適応的逆変換モジュール２０４は、コーディングパーティションに関連する残差、残差値又はパーティション予測エラーデータ（又はオリジナルデータやウェーブレットデータ）を生成するため、変換係数に対して逆変換を実行してもよい。いくつかの具体例では、適応的逆変換モジュール２０４は、適応的変換モジュール１０８の逆変換を実行するよう構成されてもよい（例えば、適応的逆変換モジュール１１３と実質的に同じ処理など）。いくつかの具体例では、適応的逆変換モジュール２０４は、例えば、復号化された近傍パーティションなどの他の以前に復号化されたデータに基づき逆変換を実行してもよい。いくつかの具体例では、適応的逆量子化モジュール２０３と適応的逆変換モジュール２０４とは一緒になって、デコーダ２００の変換デコーダサブシステムとみなされてもよい。
【００４０】
図示されるように、残差、残差値又はパーティション予測エラーデータは、コーディングパーティションアセンブラ２０５に送信される。コーディングパーティションアセンブラ２０５は、必要に応じて、コーディングパーティションを復号化された予測パーティションにアセンブリングしてもよい（図示されるように、いくつかの具体例では、コーディングパーティションアセンブラ２０５は、復号化された予測パーティションが適応的逆変換モジュール２０４において生成されるように、スイッチ２０５ａ、２０５ｂを介しスキップされてもよい）。予測エラーデータ（例えば、予測パーティション残差など）の復号化された予測パーティションが、加算手段２０６において予測されたパーティション（例えば、予測ピクセルデータなど）に加えられ、再構成された予測パーティションを生成してもよい。再構成された予測パーティションは、予測パーティションアセンブラ２０７に送信されてもよい。予測パーティションアセンブラ２０７は、再構成された予測パーティションを組み立て、再構成されたタイル又はスーパーフラグメントを生成してもよい。いくつかの具体例では、コーディングパーティションアセンブルモジュール２０５と予測パーティションアセンブルモジュール２０７とは一緒になって、デコーダ２００のアンパーティションサブシステムとしてみなされてもよい。
【００４１】
再構成されたタイル又はスーパーフラグメントは、デブロックフィルタリングモジュール２０８に送信される。デブロックフィルタリングモジュール２０８は、再構成されたタイル又はスーパーフラグメント（又はタイル又はスーパーフラグメントの予測パーティション）をデブロック及びディザ処理してもよい。生成されるデブロック及びディザフィルタパラメータは、例えば、入力ビットストリーム２０１から決定されてもよい。デブロックフィルタリングモジュール２０８の出力は、品質復元フィルタリングモジュール２０９に送信される。品質復元フィルタリングモジュール２０９は、例えば、入力ビットストリーム２０１などから決定されてもよいＱＲパラメータに基づき品質フィルタリングを適用してもよい。図２に示されるように、品質復元フィルタリングモジュール２０９の出力は、復号化ピクチャバッファ２１０に送信される。いくつかの具体例では、品質復元フィルタリングモジュール２０９の出力は、他のフレームをコーディングするため予測に利用可能な最終的な再構成されたフレームであってもよい（例えば、最終的な再構成されたフレームは、リファレンスフレームなどであってもよい）。いくつかの具体例では、デブロックフィルタリングモジュール２０８と品質復元フィルタリングモジュール２０９とは一緒になって、デコーダ２００のフィルタリングサブシステムとみなされてもよい。
【００４２】
上述されたように、予測処理のための補償は、インター及び／又はイントラ予測補償を含むものであってもよい。図示されるように、インター予測補償は、モーフィング生成モジュール２１１、シンセサイジング生成モジュール２１２及び特性動き補償フィルタリング予測モジュール２１３を含む１以上のモジュールにより実行されてもよい。モーフィング生成モジュール２１１は、逆量子化されたモーフィングパラメータ（例えば、入力ビットストリーム２０１から決定される）を利用して、モーフィングされたリファレンスフレームを生成してもよい。シンセサイジング生成モジュール２１２は、入力ビットストリーム２０１から決定されたパラメータに基づき、スーパー解像度（ＳＲ）ピクチャ及びプロジェクト補間（ＰＩ）ピクチャなどを生成してもよい。インター予測が適用される場合、特性動き補償フィルタリング予測モジュール２１３は、入力ビットストリーム２０１における受信されたフレーム及び動きベクトルデータに基づき動き補償を適用してもよい。
【００４３】
イントラ予測補償は、イントラ方向予測生成モジュール２１４により実行されてもよい。イントラ方向予測生成モジュール２１４は、空間方向予測を実行するよう構成され、入力ビットストリーム２０１におけるイントラ予測データに従って復号化された近傍パーティションを利用してもよい。
【００４４】
図２に示されるように、予測モード選択モジュール２１５は、入力ビットストリーム２０１におけるモード選択データに基づき、その全てがＰ及びＦ／Ｂピクチャに適用されるタイルの各予測パーティションについて、“スキップ”、“オート”、“インター”、“マルチ”及び“イントラ”からの予測モード選択を決定してもよい。ピクチャモードに加えて、それはまた、Ｐ及びＦ／Ｂピクチャと共に、“インター”又は“マルチ”モードに依存して異なる可能性のあるリファレンスタイプを選択することを可能にする。予測モード選択モジュール２１５の出力における予測信号は、予測融合フィルタリングモジュール２１６によりフィルタリングされてもよい。予測融合フィルタリングモジュール２１６は、入力ビットストリーム２０１を介し決定されたパラメータ（例えば、フィルタリング係数、周波数、オーバヘッドなど）に基づきフィルタリングを実行してもよい。いくつかの具体例では、予測信号のフィルタリングは、異なるモード（例えば、イントラ、インター、マルチ、スキップ及びオートなど）を表す異なるタイプの信号を融合してもよい。いくつかの具体例では、イントラ予測信号は、適切なフィルタリングがコーディング効率を大きく向上させるように、他の全てのタイプのインター予測信号と異なるものであってもよい。フィルタリングされた予測信号は、上述されるように、差分化手段２０６に第２入力（例えば、予測パーティションなど）を提供してもよい。
【００４５】
上述されるように、品質復元フィルタリングモジュール２０９の出力は、最終的な再構成されたフレームであってもよい。最終的な再構成されたフレームは、入力ビットストリーム２０１におけるオーダリングパラメータに基づき、必要に応じてフレームをリオーダリング又は再編成する適応的ピクチャ再編成手段２１７に送信される。リオーダリングされたフレームは、コンテンツ事後復元モジュール２１８に送信される。コンテンツ事後復元モジュール２１８は、復号化されたビデオの知覚品質の更なる向上を実行するよう構成される任意的なモジュールであってもよい。入力ビットストリーム２０１における品質向上パラメータに応答して、向上処理が実行されてもよいし、又は、それは、スタンドアローン処理として実行されてもよい。いくつかの具体例では、コンテンツ事後復元モジュール２１８は、例えば、フィルムグレインノイズの推定や残差ブロックノイズ低減などの品質を向上させるためパラメータを適用してもよい（例えば、デブロックフィルタリングモジュール２０８に関して説明されたデブロック処理後でさえ）。図示されるように、デコーダ２００は、ディスプレイデバイス（図示せず）を介し表示するよう構成されるディスプレイビデオ２１９を提供してもよい。
【００４６】
図２は、ビデオデコーダ２００の処理に関連する一例となる制御信号を示し、ここでは、示された略語は図１に関して上述されたような同様の情報を表すものであってもよい。これらの制御信号は、図４のデコーダ２００の具体例となる機能モジュールに関連するとして示されているが、他の実現形態は、エンコーダ１００の機能モジュール間の制御信号の異なる分配を含むものであってもよい。本開示はこれに限定されず、各種具体例では、ここでの制御信号の実現形態は、図示された具体例となる制御信号の一部のみ、追加的な制御信号及び／又は図示されたものと異なる構成の利用を含むものであってもよい。
【００４７】
図１〜２は特定の符号化及び復号化モジュールを示すが、図示されない他の各種コーディングモジュール又はコンポーネントがまた、本開示により利用されてもよい。さらに、本開示は図１及び２に示される特定のコンポーネント及び／又は各種コンポーネントが構成される方法に限定されるものでない。ここに説明されるシステムの各種コンポーネントは、ソフトウェア、ファームウェア、ハードウェア及び／又はこれらの何れかの組み合わせにより実現されてもよい。例えば、エンコーダ１００及び／又はデコーダ２００の各種コンポーネントは、携帯電話などの計算システムに見つけられるような計算システム・オン・チップ（ＳｏＣ）のハードウェアにより少なくとも部分的に提供されてもよい。
【００４８】
さらに、エンコーダ１００がビデオコンテンツサーバシステムなどを含むコンテンツプロバイダシステムに関連付けされ、及び／又は提供されてもよく、出力ビットストリーム１１１が、図１及び２に示されない送受信機、アンテナ、ネットワークシステムなどの各種通信コンポーネント及び／又はシステムによって、デコーダ２００などのデコーダに送信又は伝送されてもよいことが認識されてもよい。また、デコーダ２００は、エンコーダ１００の遠隔にあって、図１及び２に示されない送受信機、アンテナ、ネットワークシステムなどの各種通信コンポーネント及び／又はシステムを介し入力ビットストリーム２０１を受信する計算デバイス（例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、コンバーチブルラップトップ、携帯電話など）などのクライアントシステムと関連付けされてもよいことが認識されてもよい。従って、各種実現形態では、エンコーダ１００及びデコーダサブシステム２００は、一緒になって又は互いに独立して実現されてもよい。
【００４９】
図３（ａ）は、本開示の少なくともいくつかの実現形態により構成される一例となる次世代ビデオエンコーダ３００ａの説明図である。図３（ａ）は、図１（ａ）及び１（ｂ）に示されるものと同様のエンコーダを提供し、同様の要素は簡単化のため繰り返されない。図３（ａ）に示されるように、エンコーダ３００ａは、事前解析サブシステム３１０ａ、パーティションサブシステム３２０ａ、予測符号化サブシステム３３０ａ、変換エンコーダサブシステム３４０ａ、フィルタリング符号化サブシステム３５０ａ、エントロピーエンコーダシステム３６０ａ、変換デコーダサブシステム３７０ａ及び／又はアンパーティションサブシステム３８０ａを有してもよい。事前解析サブシステム３１０ａは、コンテンツ事前解析モジュール１０２及び／又は適応的ピクチャ編成モジュール１０４を有してもよい。パーティションサブシステム３２０ａは、予測パーティション生成モジュール１０５及び／又はコーディングパーティション生成手段１０７を有してもよい。予測符号化サブシステム３３０ａは、動き推定モジュール１２２、特性動き補償フィルタリング予測モジュール１２３及び／又はイントラ方向予測解析予測生成モジュール１２４を有してもよい。変換エンコーダサブシステム３４０ａは、適応的変換モジュール１０８及び／又は適応的量子化モジュール１０９を有してもよい。フィルタリング符号化サブシステム３５０ａは、ブロックノイズ解析デブロックフィルタリングモジュール１１７、品質解析品質復元フィルタリングモジュール１１８、動き推定モジュール１２２、特性動き補償フィルタリング予測モジュール１２３及び／又は予測解析予測融合フィルタリングモジュール１２６を有してもよい。エントロピーコーディングサブシステム３６０ａは、適応的エントロピーエンコーダモジュール１１０を有してもよい。変換デコーダサブシステム３７０ａは、適応的逆量子化モジュール１１２及び／又は適応的逆変換モジュール１１３を有してもよい。アンパーティションサブシステム３８０ａは、コーディングパーティションアセンブラ１１４及び／又は予測パーティションアセンブラ１１６を有してもよい。
【００５０】
エンコーダ３００ａのパーティションサブシステム３２０ａは、予測のため解析及びパーティショニングを実行する予測パーティション生成モジュール１０５と、コーディングのため解析及びパーティショニングを実行するコーディングパーティション生成モジュール１０７との２つのパーティショニングサブシステムを有してもよい。他のパーティショニング方法は、本パーティション化の一部として任意的にみなされてもよい、ピクチャを領域又はスライスにセグメント化する適応的ピクチャ編成手段１０４を有してもよい。
【００５１】
エンコーダ３００ａの予測エンコーダサブシステム３３０ａは、動き推定手段１２２、“インター”信号の解析及び予測を実行する特性動き補償フィルタリング予測手段１２３及び“イントラ”信号の解析及び予測を実行するイントラ方向予測解析予測生成モジュール１２４を有してもよい。動き推定手段１２２及び特性動き補償フィルタリング予測手段１２３は、まず差分の他のソース（ゲイン、グローバルな動き、レジストレーションなど）を補償し、その後に実際の動き補償によって予測可能性の増加を可能にしてもよい。それらはまた、より良好な予測を可能にするシンセサイズされたフレーム（スーパー解像度及びプロジェクション）を生成するためのデータモデリングの利用と、その後の当該フレームにおける実際の動き補償の利用とを可能にするものであってもよい。
【００５２】
エンコーダ３００ａの変換エンコーダサブシステム３４０ａは、変換のタイプ及びサイズを選択するための解析を実行し、２つの主要なタイプのコンポーネントを有してもよい。第１タイプのコンポーネントは、小から中サイズのブロックの局所最適な変換を可能にするため、パラメトリック変換の利用を可能にするが、このようなコーディングは、あるオーバヘッドを要求しうる。第２タイプのコンポーネントは、パラメトリック変換を含む少数の変換の選択からＤＣＴやピクチャベース変換などの汎用的／固定的変換を利用して、大域的に安定的な低オーバヘッドのコーディングを可能にするものであってもよい。局所的に適応的な変換コーディングについて、ＰＨＴ（パラメトリックＨａａｒ変換）が利用されてもよい。変換されるデータがルマ又はクロマであるか、また、使用される変換がＰＨＴ又はＤＣＴであるかなどの複数のファクタに依存しうる実際のサイズによって、４×４と６４×６４との間の矩形サイズの２Ｄブロックに対して変換が実行されてもよい。結果として得られる変換係数は、量子化、スキャン及びエントロピーコード化されてもよい。
【００５３】
エンコーダ３００ａのエントロピーエンコーダサブシステム３６０ａは、各々が特定のタイプのデータ（各種のオーバヘッド、動きベクトル又は変換係数）を効率的にコーディングする目的を備えた複数の効率的であるが低い複雑さのコンポーネントを有してもよい。このサブシステムのコンポーネントは、低い複雑さの可変長コーディング技術の汎用クラスに属してもよいが、効率的なコーディングについては、各コンポーネントは、最も高い効率性のため最適化されたカスタムであってもよい。例えば、カスタム手段は、“コード化／非コード化”データのコーディング、また“モード及びリファレンスタイプ”データのコーディング、更にまた“動きベクトル”データのコーディング、及び更にまた“予測及びコーディングパーティション”データのコーディングのために設計されてもよい。最後に、エントロピーコーディング対象のデータの大変大きな部分が“変換係数”データであるため、複数のテーブル間で適応化するアルゴリズムと共に、特定のブロックサイズの効率的な処理のための複数のアプローチが利用されてもよい。
【００５４】
エンコーダ３００ａのフィルタリングエンコーダサブシステム３５０ａは、パラメータの解析と共に、これらのパラメータに基づく再構成されたピクチャの複数のフィルタリングを実行してもよく、また、複数のサブシステムを有してもよい。例えば、第１サブシステムのブロックノイズ解析デブロックフィルタリングモジュール１１７は、何れかの可能性のあるブロックコーディングアーチファクトを低減又はマスク処理するためデブロック及びディザ処理を行ってもよい。第２の一例となるサブシステムの品質解析品質復元フィルタリングモジュール１１８は、何れかのビデオコーディングにおける量子化処理によるアーチファクトを低減するため、全体的な品質復元を実行する。動き推定手段１２２及び特性動き補償フィルタリング予測モジュール１２３を含みうる第３の一例となるサブシステムは、コンテンツの動き特性（動きの速さ／不明瞭さの程度）に適応するフィルタを利用することによって、動き補償からの結果を向上させてもよい。第４の一例となるサブシステムの予測融合解析フィルタ生成モジュール１２６は、予測信号の適応的フィルタリングを可能にし（しばしば、イントラ予測からの予測における誤ったアーチファクトを低減する）、これにより、コーディングが必要な予測エラーを低減する。
【００５５】
エンコーダ３００ａの符号化コントローラモジュール１０３は、所与のリソースの制約及び所望の符号化スピードの下における全体的なビデオ品質に責任がある。例えば、何れのショートカットを利用しないフルＲＤＯ（レート歪み最適化）ベースのコーディングにおいて、ソフトウェア符号化のための符号化スピードは、単なる計算リソース（プロセッサのスピード、プロセッサの個数、ハイパスレッド処理、ＤＤＲ３メモリなど）の利用可能性の結果であってもよい。このような場合、符号化コントローラモジュール１０３は、予測パーティションとコーディングパーティションとの入力される全ての単一の組み合わせであってもよく、実際の符号化によって、ビットレートは、各ケースについて再構成されたエラーと共に計算されてもよく、対数最適化方程式に基づき、予測及びコーディングパーティションの最善のセットが、コーディングされる各フレームの各タイルについて送信されてもよい。フルＲＤＯベースモードは、最善の圧縮効率をもたらし、また最も低速な符号化モードであってもよい。コンテンツ事前解析モジュール１０２からのコンテンツ解析パラメータを利用し、これらを用いてＲＤＯのシンプルかを行うか（可能性のある全てのケースをテストしない）、又はブロックの特定のパーセンテージしかフルＲＤＯにわたさないことによって、品質対スピードのトレードオフが行われ、より高速な符号化を可能にする。これまで、可変的ビットレート（ＶＢＲ）ベースのエンコーダ処理について説明した。符号化コントローラモジュール１０３また、コンスタントビットレート（ＣＢＲ）により制御されるコーディングのケースに呼び出し可能なレートコントローラを有してもよい。
【００５６】
最後に、エンコーダ３００ａの事前解析サブシステム３１０ａは、ビデオコーディング効率及びスピード性能を向上させるのに有用な各種タイプのパラメータを計算するため、コンテンツの解析を実行してもよい。例えば、それは、水平方向及び垂直方向勾配情報（Ｒｓ，Ｃｓ）、分散、ピクチャ毎の空間複雑性、ピクチャ毎の時間複雑性、シーン変更検出、動き範囲推定、ゲイン検出、予測距離推定、オブジェクト数推定、領域境界検出、空間複雑性マップ計算、フォーカス推定、フィルムグレイン推定などを計算してもよい。事前解析サブシステム３１０ａにより生成されるパラメータは、エンコーダにより利用されるか、又は量子化されてデコーダ２００に通信されてもよい。
【００５７】
サブシステム３１０ａ〜３８０ａは、図３（ａ）におけるエンコーダ３００ａの具体例となる機能モジュールに関連して示されているが、ここでのエンコーダ３００ａの他の実現形態は、サブシステム３１０ａ〜３８０ａ間のエンコーダ３００ａの機能モジュールの異なる分配を含むものであってもよい。本開示はこれに限定されず、各種具体例では、ここでのサブシステム３１０ａ〜３８０ａの実現形態は、図示されたエンコーダ３００ａの具体例となる機能モジュールの一部のみ、追加的な機能モジュール及び／又は図示されたものと異なる構成の利用を含むものであってもよい。
【００５８】
図３（ｂ）は、本開示の少なくともいくつかの実現形態により構成される一例となる次世代ビデオデコーダ３００ｂの説明図である。図３（ｂ）は、図２に示されるものと同様のデコーダを示し、同様の要素は簡単化のため繰り返されない。図３（ｂ）に示されるように、デコーダ３００ｂは、予測デコーダサブシステム３３０ｂ、フィルタリングデコーダサブシステム３５０ｂ、エントロピーデコーダサブシステム３６０ｂ、変換デコーダサブシステム３７０ｂ、アンパーティション＿２サブシステム３８０ｂ、アンパーティション＿１サブシステム、フィルタリングデコーダサブシステム３５０ｂ及び／又は事後復元サブシステム３９０ｂを含むものであってもよい。予測デコーダサブシステム３３０ｂは、特性動き補償フィルタリング予測モジュール２１３及び／又はイントラ方向予測生成モジュール２１４を有してもよい。フィルタリングデコーダサブシステム３５０ｂは、デブロックフィルタリングモジュール２０８、品質復元フィルタリングモジュール２０９、特性動き補償フィルタリング予測モジュール２１３及び／又は予測融合フィルタリングモジュール２１６を有してもよい。エントロピーデコーダサブシステム３６０ｂは、適応的エントロピーデコーダモジュール２０２を有してもよい。変換デコーダサブシステム３７０ｂは、適応的エントロピー逆量子化モジュール２０３及び／又は適応的逆変換モジュール２０４を有してもよい。アンパーティション＿２サブシステム３８０ｂは、コーディングパーティションアセンブラ２０５を有する。アンパーティション＿１サブシステム３５１ｂは、予測パーティションアセンブラ２０７を有してもよい。事後復元サブシステム７９０は、コンテンツ事後復元モジュール２１８及び／又は適応的ピクチャ再編成手段２１７を有してもよい。
【００５９】
デコーダ３００ｂのエントロピー復号化サブシステム３６０ｂは、エンコーダ３００ａのエントロピーエンコーダサブシステム３６０ａの逆処理を実行してもよく、すなわち、それは、可変長復号化として参照される非可逆技術クラスを利用して、エントロピーエンコーダサブシステム３６０ａにより符号化される各種データ（オーバヘッド、動きベクトル、変換係数のタイプ）を復号化してもよい。具体的には、各種タイプのデータは、“コーディング／非コーディング”データ、“モード及びリファレンスタイプ”データ、“動きベクトル”データ、“予測及びコーディングパーティション”データ及び“変換係数”データを含むものであってもよい。
【００６０】
デコーダ３００ｂの変換デコーダサブシステム３７０ｂは、エンコーダ３００ａの変換エンコーダサブシステム３４０ａのものと逆の処理を実行する。変換デコーダサブシステム３７０ｂは、２つのタイプのコンポーネントを有してもよい。第１タイプの一例となるコンポーネントは、小から中のブロックサイズのパラメトリック逆ＰＨＴ変換の利用をサポートし、他のタイプの一例となるコンポーネントは、全てのブロックサイズの逆ＤＣＴ変換をサポートしてもよい。ブロックについて利用されるＰＨＴ変換は、近傍ブロックの復号化されたデータの解析に依存してもよい。出力ビットストリーム１１１及び／又は入力ビットストリーム２０１は、ＰＨＴ変換のパーティション／ブロックサイズに関する情報と共に、ＰＨＴが利用される逆変換される２Ｄブロックの方向を含む（他の方向はＤＣＴを利用する）。ＤＣＴにより純粋にコード化されるブロックについて、パーティション／ブロックサイズ情報がまた、出力ビットストリーム１１１及び／又は入力ビットストリーム２０１から抽出され、適切なサイズの逆ＤＣＴを適用するのに利用されてもよい。
【００６１】
デコーダ３００ｂのアンパーティションサブシステム３８０ｂは、エンコーダ３００ａのパーティションサブシステム３２０ａのものと逆処理を実行し、コード化されたデータのアンパーティショニングを実行するコーディングパーティションアセンブルモジュール２０５と、予測のためのアンパーティションを実行する予測パーティションアセンブルモジュール２０７との２つのアンパーティショニングサブシステムを有してもよい。さらに、任意的な適応的ピクチャ編成モジュール１０４が、領域セグメント化又はスライスのためにエンコーダ３００ａにおいて利用される場合、適応的ピクチャ再編成モジュール２１７が、デコーダにおいて必要とされてもよい。
【００６２】
デコーダ３００ｂの予測デコーダサブシステム３３０ｂは、“インター”信号の予測を実行する特性動き補償フィルタリング予測モジュール２１３と、“イントラ”信号の予測を実行するイントラ方向予測生成モジュール２１４とを有してもよい。特性動き補償フィルタリング予測モジュール２１３は、まず差分の他のソース（ゲイン、グローバルな動き、レジストレーションなど）の補償又はシンセサイズされたフレームの生成（スーパー解像度及びプロジェクション）を実行し、その後の実際の動き補償によって予測可能性の増加を可能にしてもよい。
【００６３】
デコーダ３００ｂのフィルタリングデコーダサブシステム３５０ｂは、エンコーダ３００ａにより送信されるパラメータに基づき再構成されたピクチャの複数のフィルタリングを実行してもよく、複数のサブシステムを有してもよい。第１の一例となるサブシステムのデブロックフィルタリングモジュール２０８は、何れかの可能性のあるブロックコーディングアーチファクトを低減又はマスク化するため、デブロック及びディザ処理を実行してもよい。第２の一例となるサブシステムの品質復元フィルタリングモジュール２０９は、何れかのビデオコーディングにおける量子化処理によるアーチファクトを低減するため、全体的な品質復元を実行してもよい。第３の一例となるサブシステムの特性動き補償フィルタリング予測モジュール２１３は、コンテンツの動き特性（動きの速度／不明瞭さの程度）に適応化するフィルタを利用することによって、動き補償からの結果を向上させる。第４の一例となるサブシステムの予測融合フィルタリングモジュール２１６は、予測信号の適応的フィルタリングを可能にし（しばしば、イントラ予測から予測における誤ったアーチファクトを低減する）、これにより、コーディングが必要な予測エラーを低減する。
【００６４】
デコーダ３００ｂの事後復元サブシステム３９０ｂは、復号化されたビデオの知覚品質の更なる向上を実行する任意的なブロックである。当該処理は、エンコーダ１００により送信される品質向上パラメータに応答して実行可能であり、又は、それは事後復元サブシステム３９０ｂでなされたスタンドアローンな決定することができる。事後復元サブシステム３９０ｂにおいて品質を向上させるのに利用可能なエンコーダ１００において計算される具体的なパラメータに関して、エンコーダ１００におけるフィルムグレインノイズ及び残差ブロックノイズの推定が行われてもよい（デブロック後でさえ）。フィルムグレインノイズに関して、パラメータが計算され、出力ビットストリーム１１１及び／又は入力ビットストリーム２０１を介しデコーダ２００に送信可能である場合、これらのパラメータは、フィルムグレインノイズをシンセサイズするのに利用されてもよい。同様に、エンコーダ１００における何れかの残差ブロックアーチファクトについて、それらが測定可能であり、パラメータが出力ビットストリーム１１１及び／又はビットストリーム２０１を介し送信可能である場合、事後復元サブシステム３９０ｂは、これらのパラメータを復号化し、それらを用いて任意的には表示前に更なるデブロックを実行してもよい。さらに、エンコーダ１００はまた、事後復元サブシステム３９０ｂにおける品質復元に利用されるシーン変更、空間複雑性、時間複雑性、動き範囲及び予測距離情報にアクセスしてもよい。
【００６５】
サブシステム３３０ｂ〜３９０ｂは、図３（ｂ）におけるデコーダ３００ｂの具体例となる機能モジュールに関連して示されているが、ここでのデコーダ３００ｂの他の実現形態は、サブシステム３３０ｂ〜３９０ｂ間のデコーダ３００ｂの機能モジュールの異なる分配を含むものであってもよい。本開示はこれに限定されず、各種具体例では、ここでのサブシステム３３０ｂ〜３９０ｂの実現形態は、図示されたデコーダ３００ｂの具体例となる機能モジュールの一部のみ、追加的な機能モジュール及び／又は図示されたものと異なる構成の利用を含むものであってもよい。
【００６６】
図４は、本開示の少なくともいくつかの実現形態により構成される一例となるエントロピーエンコーダモジュール１１０の説明図である。図示されるように、エントロピーエンコーダモジュール１１０は、ビットストリームヘッダ・パラメータ・マップデータエンコーダモジュール４０１、ピクチャパーティション・予測パーティション・コーディングパーティションエンコーダモジュール４０２、コーディングモード・リファレンスタイプエンコーダモジュール４０３、コーディング／非コーディングデータエンコーダモジュール４０４、変換係数エンコーダモジュール４０５、動きベクトル予測・差分動きベクトルエンコーダモジュール４０６、イントラ予測タイプ・方向データエンコーダモジュール４０７及び／又はビットストリームアセンブルモジュール４０８を有してもよい。ここでの説明では、各モジュール４０１〜４０７は、簡単化のため、エンコーダモジュール４０１、エンコーダモジュール４０４などに短縮されてもよい。
【００６７】
図示されるように、エンコーダモジュール４０１〜４０７はそれぞれ、適応的エントロピーエンコーダ１１０を介しビデオデータ４１１〜４１７を受信する。いくつかの具体例では、受信したビデオデータ４１１〜４１７は、ここで説明されるようなエンコーダ１００の各種モジュールから受信されてもよい。図示されるように、エンコーダモジュール４０１〜４０７は、受信したビデオデータ４１１〜４１７を圧縮し、圧縮されたビデオデータ４２１〜４２７を生成する。圧縮されたビデオデータ４２１〜４２７は、圧縮されたビデオデータ４２１〜４２７を組み立て、出力ビットストリーム１１１を生成するビットストリームアセンブラ４０８に提供されてもよい。
【００６８】
いくつかの具体例では、エンコーダモジュール４０１〜４０７はそれぞれ、受信したビデオデータ４１１〜４１７に関連するデータタイプを効率的に符号化するための１以上の特化したコンポーネントを有してもよい。いくつかの具体例では、１以上のエンコーダモジュール４０１〜４０７は、受信したビデオデータ４１１〜４１７又は他のシステム情報のパラメータ又は特性に基づき、受信したビデオデータ４１１〜４１７を前処理し、及び／又はエントロピーコーディング技術を選択してもよい。
【００６９】
例えば、エンコーダモジュール４０１は、ビットストリームヘッダデータ（例えば、シーケンス及び／又はピクチャレベルビットストリームヘッダなど）、モーフィングパラメータ、シンセサイジングパラメータ又はグローバルマップデータ（例えば、パーティションベースで使用される量子化を示すピクチャの量子化マップなど）を含むオーバヘッドデータ４１１を受信してもよい。図６に関して後述されるように、いくつかの具体例では、エンコーダモジュール４０１は、適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術、又はビデオデータ４１１の可変長コーディングテーブル圧縮を実現してもよい。いくつかの具体例では、エンコーダモジュール４１１は、ビデオデータ４１１に関連するパラメータが各コーディング技術などに必要とされるビット数となるように、何れの技術が最大圧縮効率を提供するか判断してもよい（例えば、圧縮されたビデオデータ４２１のための最小のビットなど）。エンコーダモジュール４１１は、図示されるようなビットストリームアセンブラ４０８に送信される圧縮されたビデオデータ４２１（例えば、圧縮されたオーバヘッドデータなど）を生成するため、ビデオデータ４１１をエントロピー符号化してもよい。
【００７０】
上述されたように、いくつかの具体例では、ビデオデータ（例えば、ビデオデータ４１１〜４１７の何れかなど）に関連するパラメータは、最小数の到達可能ビット、最大効率符号化技術などであってもよい。他の具体例では、ビデオデータに関連するパラメータは、符号化技術が所定のものとなるように、所定のパラメータであってもよい。いくつかの具体例では、ビデオデータに関連するパラメータは、決定された符号化技術がここで更に説明されるように受信したビデオデータに適応的となるように、ビデオデータの特性に基づくものであってもよい。
【００７１】
図示されるように、いくつかの具体例では、エンコーダモジュール４０２は、ピクチャスライス又は領域データ、イントラ予測パーティションデータ及び／又はインター予測パーティション及びコーディングパーティションデータを含むものであってもよいパーティションデータ４１２を受信してもよい。図６に関して更に後述されるように、いくつかの具体例では、エンコーダモジュール４１２は、イントラ予測パーティションデータ及び／又はインター予測パーティションデータに関連するパラメータ（例えば、ビデオデータ４１２の最小数の到達可能ビット、最大効率符号化技術、所定のパラメータ、特性など）に基づき、ビデオデータ４１２のイントラ予測パーティションデータ及び／又はインター予測パーティションデータ部分の圧縮のための適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術を実現してもよく、エンコーダモジュール４１２は、図示されるように、ビットストリームアセンブラ４０８に送信される圧縮されたビデオデータ４２２（圧縮されたパーティションデータなど）を生成するため、ビデオデータ４１２のスライス又は領域データ部分について適応的コードブック可変長コーディングを実現してもよい。いくつかの具体例では、イントラ予測パーティションデータ及び／又はインター予測パーティションデータは、タイルをパーティションに、パーティションをサブパーティションになどのパーティショニングを示すデータを含むものであってもよい。いくつかの具体例では、パーティション及び／又はサブパーティションは、予測パーティション及び／又はサブパーティションを含むものであってもよい。いくつかの具体例では、パーティション及び／又はサブパーティションは、コーディングパーティション及び／又はサブパーティションを含むものであってもよい。
【００７２】
さらに、図示されるように、いくつかの具体例では、エンコーダモジュール４０３は、各予測パーティションのモード（例えば、イントラ、スプリット、スキップ、オート、インター又はマルチなど）データ及び／又はリファレンスデータを含むモード及びリファレンスタイプデータ４１３を受信してもよい。例えば、モードスプリット情報は、パーティションが更に分割されるかを示すものであってもよい。パーティションが更に分割される場合、モードデータは更に、スプリットが水平方向スプリット（例えば、ｈｏｒ）又は垂直方向スプリット（例えば、ｖｅｒｔ）であるか示す方向情報を含むものであってもよい。図６に関して更に後述されるように、いくつかの具体例では、エンコーダモジュール４０３は、データに関連するパラメータ（例えば、最小数の到達可能ビット、最大効率符号化技術、所定のパラメータ、ビデオデータ４１３の関連部分の特性など）に基づき、スプリット／非スプリットパーティション情報データのセパレートコーディング、スプリット／非スプリット情報データのセパレートコーディング又は予測リファレンス情報データのための適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術を実現してもよく、エンコーダモジュール４０３は、図示されるように、ビットストリームアセンブラ４０８に送信される圧縮されたビデオデータ４２３（例えば、圧縮されたモード及びリファレンスタイプデータなど）を生成するため、モード及びスプリット情報のジョイントコーディングのための適応的可変長コーディングを実現してもよい。
【００７３】
さらに、いくつかの具体例では、エンコーダモジュール４０４は、ここに説明されるようなコーディング／非コーディングデータを含むコーディング／非コーディングデータ４１４を受信してもよい。例えば、パーティション（又はサブパーティション）は、非ゼロの変換係数を有する場合にはコード化され、全てがゼロの変換係数を有する場合にはコード化されなくてもよい。いくつかの具体例では、コーディング／非コーディングデータは、イントラ又はスキップモードを有するパーティションに必要とされなくてもよい。いくつかの具体例では、コーディング／非コーディングデータは、オート、インター又はマルチモードを有するパーティションに必要とされてもよい。図６に関して更に後述されるように、いくつかの具体例では、エンコーダモジュール４０４は、図示されるように、ビットストリームアセンブラ４０８に送信される圧縮されたビデオデータ４２４を生成するため、コーディング／非コーディングデータに関連するパラメータ（例えば、最小数の到達可能ビット、最大効率符号化技術、所定のパラメータ、ビデオデータ４１４の特性など）に基づき、コーディング／非コーディングデータについて適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術を実現してもよい。
【００７４】
いくつかの具体例では、エンコーダモジュール４０５は、変換係数データを含みうる変換データ４１５を受信する。例えば、コード化されるブロック、パーティション又はサブパーティションについて（例えば、１以上の非ゼロの変換係数を有する）、変換係数データは、エントロピー符号化のため受信される。図６に関して更に説明されるように、エンコーダモジュール４０５は、１つの次元に２つのブロック、パーティション又はサブパーティションサイズを有するブロック、パーティション又はサブパーティションについて適応的ベクトル可変長コーディングを実現してもよい（例えば、２×Ｋパーティション又はＫ×２のサイズのパーティションなど）。さらに、エンコーダモジュール４０５は、４×４のサイズのブロック、パーティション又はサブパーティションについて適応的１次元可変長コーディングと、他の全てのブロック、パーティション又はサブパーティションサイズ（例えば、４×８、８×４、８×８、１６×１６、３２×３２、６４×６４など）について適応的２次元可変長コーディングとを実現してもよい。生成された圧縮されたビデオデータ４２５（例えば、圧縮された変換データなど）は、図示されるように、ビットストリームアセンブラ４０８に送信されてもよい。
【００７５】
例えば、変換係数データは、適応的変換モジュール１０８を介し実現されるピクセル差分値の矩形（又は正方形など）のピクセルデータのパーティション又は矩形（又は正方形など）のピクセル差分値の順方向変換と、その後の適応的量子化モジュール１０９を介した結果としての係数の量子化とから生成されてもよい。いくつかの具体例では、変換係数データは、エンコーダモジュール４０５を介し１次元の周波数により順序づけされたパーティションに変換するためスキャンされてもよい。このような変換は、何れかのパーティションサイズ（例えば、２４、３２又はそれ以上のパーティションサイズなど）、異なるデータタイプ（例えば、イントラ又はインターパーティションの離散コサイン変換係数、ハイブリッドＨａａｒ変換係数など）及び／又は異なる量子化セット特性（例えば、量子化パラメータ及び／又はマトリクスの各種組み合わせなど）について適応性が高いものであってもよい。さらに、ブロック、パーティション又はサブパーティションは、Ｉピクチャ（例えば、イントラ補償のみ）、Ｐピクチャ（予測など）又はＦピクチャ（機能的など）の異なるピクチャタイプに属し、及び／又は異なる量子化設定により量子化される異なるタイプの信号又はデータ（例えば、ルマ、クロマなど）を表すものであってもよい。
【００７６】
さらに、いくつかの具体例では、エンコーダモジュール４０６は、動きベクトルデータを含む動きデータ４１６を受信する。図６に関して更に説明されるように、動きベクトル予測は、１以上の予測された動きベクトルを生成するため、ビデオデータ４１６に基づき実行されてもよい。予測された動きベクトルは、差分動きベクトルを生成するため、ビデオデータ４１６のオリジナル動きデータと差分化されてもよい。いくつかの具体例では、エンコーダモジュール４１６は、図示されるように、ビットストリームアセンブラ４０８に送信される圧縮されたビデオデータ４２６（例えば、圧縮された動きデータなど）を生成するため、差分動きベクトルについて適応的分類可変長コーディングを実現してもよい。
【００７７】
さらに、いくつかの具体例では、エンコーダモジュール４０７は、イントラ予測タイプ又はイントラ予測方向データを含むイントラ予測データ４１７を受信する。例えば、説明されるように、イントラコーディングは、空間予測を生成するため、同じフレーム内の近傍の以前に復号化されたパーティションを利用する予測を利用してもよい。このような具体例では、以前に復号化されたパーティションを示すための予測子があってもよい。例えば、予測子は、ｄｃ、傾き、方向、ＢＴＰＣ、特徴マッチングなどを含むものであってもよい。さらに、いくつかの具体例では、方向予測子は、異なるパーティションサイズについて適応的であってもよい。例えば、方向予測子を指定することは、原因となる近傍の復号化されたパーティションをコーディングするための角予測ピクセルパーティションを決定するための技術を提供し、及び／又は空間予測方向をエントロピーコーディングするための技術を指定することを含むものであってもよい。いくつかの具体例では、このような技術は、エンコーダモジュール４０７を介し実行されてもよい。図６に関して更に後述されるように、いくつかの具体例では、エンコーダモジュール４０７は、図示されるように、ビットストリームアセンブラ４０８に送信される圧縮されたビデオデータ４２７を生成するため、イントラ予測タイプ又はイントラ予測方向データに関連するパラメータ（例えば、最小数の到達可能ビット、最大効率符号化技術、所定のパラメータ、ビデオデータ４１７の特性など）に基づき、適応的可変長コーディング技術又は算術コーディング技術を実現してもよい。
【００７８】
図４に示されるように、適応的エントロピーエンコーダ１１０は、ビットストリームアセンブラ４０８を有してもよい。いくつかの具体例では、エンコーダモジュール４０１〜４０７の一部又は全てが、異なる時点においてエントロピーコード化された圧縮されたビデオデータ４２１〜４２７を提供してもよい。さらに、いくつかの具体例では、圧縮されたビデオデータ４２１〜４２７の１以上は、ピクチャベース、領域又はスライスベース、タイルベース、予測パーティションベース、コーディングパーティションベース又はこれらの何れかの組み合わせであってもよい。いくつかの具体例では、ビットストリームアセンブラは、出力ビットストリーム１１１などの有効なビットストリームを生成するため、（異なる可能性のある）圧縮されたビデオデータ４２１〜４２７を多重してもよい。例えば、有効なビットストリームは、ＮＧＶビットストリームシンタクス規格に従うものであってもよい有効な次世代ビデオ（ＮＧＶ）コーディングビットストリームであってもよい。いくつかの具体例では、出力ビットストリーム１１１は、ビデオ専用ビットストリームであってもよい。いくつかの具体例では、出力ビットストリーム１１１は、多重されたオーディオビジュアルストリームを生成するため、非コーディング／コーディングオーディと多重されてもよい（例えば、トランスポート又はメディアファイルフォーマットなど）。何れかのイベントでは、ビットストリームは、局所的復号化、格納又はここに説明されるようなデコーダへの送信に利用されてもよい。
【００７９】
図５は、本開示の少なくともいくつかの実現形態により構成される一例となるエントロピーデコーダモジュール２０２の説明図である。図示されるように、エントロピーデコーダモジュール２０２は、ビットストリームヘッダ・パラメータ・マップデータデコーダモジュール５０１、ピクチャパーティション・予測パーティション・コーディングパーティションデコーダモジュール５０２、コーディングモード・リファレンスタイプデコーダモジュール５０３、コーディング／非コーディングデータデコーダモジュール５０４、変換係数デコーダモジュール５０５、動きベクトル・差分動きベクトルデコーダモジュール５０６、イントラ予測・方向データデコーダモジュール５０７及び／又はビットストリームデアセンブラモジュール５０８を有してもよい。ここでの説明では、各モジュール５０１〜５０７は、簡単化のため、デコーダモジュール５０１、デコーダモジュール５０５などに短縮されてもよい。
【００８０】
図示されるように、ビットストリームデアセンブラモジュール５０８は、入力ビットストリーム２０１を受信する。いくつかの具体例において、入力ビットストリーム２０１は、ＮＧＶビットストリームシンタクス仕様に従う有効な次世代ビデオ（ＮＧＶ）コーディングビットストリームなどの有効なビットストリームであってもよい。いくつかの具体例では、入力ビットストリーム２０１は、ビデオ専用ビットストリームであってもよい。いくつかの具体例では、入力ビットストリーム２０１は、ここに説明されるような多重されたオーディオビジュアルストリームであってもよい。ビットストリームデアセンブラモジュール５０８は、図示されるように、圧縮されたビデオデータ５１１〜５１７を決定するため、入力ビットストリーム２０１を解体する。例えば、ビットストリームデアセンブラモジュール５０８は、所定のシンタクス又は仕様を利用して、デコーダモジュール５０１〜５０７を介した分解のため、データタイプによって入力ビットストリーム２０１を圧縮されたビデオデータのコンポーネント５１１〜５１７に分割してもよい。いくつかの具体例では、ビットストリームデアセンブラモジュール５０８は、ビットストリームアセンブラモジュール５０８に関する逆の処理を実行してもよい。
【００８１】
図５に示されるように、デコーダモジュール５０１〜５０７はそれぞれ圧縮されたビデオデータ５１１〜５１７を受信し、ビデオデータ５２１〜５２７を生成する。ビデオデータ５２１〜５２７は、ここに説明されるような更なる復号化のため、デコーダ２００の各種コンポーネントに送信される。これにより、デコーダ２００は、ディスプレイデバイス（図示せず）を介しユーザに提供するため、ビデオフレームを生成してもよい。いくつかの具体例では、デコーダモジュール５０１〜５０７のそれぞれは、エンコーダモジュール４０１〜４０７に関して逆の処理を実行する。いくつかの具体例では、デコーダモジュール５０１〜５０７はそれぞれ、圧縮されたビデオデータ５１１〜５１７に関連するデータのタイプを効率的にエントロピー復号化するための１以上の特化したコンポーネントを有する。
【００８２】
例えば、デコーダモジュール５０１は、圧縮されたビットストリームヘッドデータ（例えば、シーケンス及び／又はピクチャレベルビットストリームヘッダなど）、モーフィングパラメータ、シンセサイジングパラメータ又はグローバルマップデータ（例えば、パーティションベースで利用される量子化を示すピクチャの量子化マップなど）を含む圧縮されたオーバヘッドデータ５１１を受信する。いくつかの具体例では、デコーダモジュール５１１は、オーバヘッドデータ５２１を生成するため、圧縮されたオーバヘッドデータ５１１の分解のための適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術又は可変長コーディングテーブルを実現してもよい。いくつかの具体例では、デコーダモジュール５０１は、ビットストリーム２０１を介し提供されるパラメータ又はインジケータに基づき何れのコーディング技術を実現するか決定してもよい。
【００８３】
図示されるように、いくつかの具体例では、デコーダモジュール５０２は、圧縮されたピクチャスライス又は領域データ、イントラ予測パーティションデータ及び／又はインター予測パーティションデータを含む圧縮されたパーティションデータ５１２を受信する。いくつかの具体例では、デコーダモジュール５１２は、圧縮されたパーティションデータ５１２の分解のため、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術を実現し、デコーダモジュール５１２は、パーティションデータ５２２を生成するため、圧縮されたパーティションデータ５１２のスライス又は領域データ部分の分解のため適応的コードブック可変長コーディングを実現する。いくつかの具体例では、イントラ予測パーティションデータ及び／又はインター予測パーティションデータは、タイルのパーティションへのパーティショニング、パーティションのサブパーティションへのパーティショニングなどを示すデータを含むものであってもよい。いくつかの具体例では、パーティション及び／又はサブパーティションは、予測パーティション及び／又はサブパーティションを含むものであってもよい。いくつかの具体例では、パーティション及び／又はサブパーティションは、コーディングパーティション及び／又はサブパーティションを含むものであってもよい。いくつかの具体例では、デコーダモジュール５０２は、ビットストリーム２０１を介し提供されたパラメータ又はインジケータに基づき、圧縮されたビデオデータ５１２のイントラ予測パーティションデータ及び／又はインター予測パーティションデータ部分の分解のため何れのコーディング技術を実現するか判断してもよい。
【００８４】
さらに、いくつかの具体例では、デコーダモジュール５０３は、各予測パーティションについて圧縮されたモード（例えば、イントラ、スプリット、スキップ、オート、インター又はマルチなど）データ及び／又はリファレンスデータを含む圧縮されたモード及びリファレンスタイプデータ５１３を受信する。例えば、モードスプリット情報は、パーティションが更に分割されるか示すものであってもよい。パーティションが更に分割される場合、モードデータは更に、当該スプリットが水平方向スプリット（例えば、ｈｏｒ）又は垂直方向スプリット（例えば、ｖｅｒｔ）であるか示す方向情報を含むものであってもよい。いくつかの具体例では、デコーダモジュール５０３は、スプリット／非スプリットパーティション情報のセパレートコーディング、スプリット／非スプリットスプリット情報データのセパレートコーディング又は予測リファレンス情報データの分解のため、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術を実現し、デコーダモジュール５０３は、モード及びリファレンスタイプデータ５２３を生成するため、モード及びスプリット情報のジョイントコーディングの分解のため適応的可変長コーディングを実現する。いくつかの具体例では、デコーダモジュール５０３は、ビットストリーム２０１を介し提供されるパラメータ又はインジケータに基づき、スプリット／非スプリットパーティション情報データのセパレートコーディング、スプリット／非スプリットスプリット情報データのセパレートコーディング又は予測リファレンス情報データの分解のため、何れのコーディング技術を実現するか判断してもよい。
【００８５】
さらに、いくつかの具体例では、デコーダモジュール５０４は、ここに説明されるようなコーディング／非コーディングデータを含む圧縮されたコーディング／非コーディングデータを受信する。例えば、パーティション（又はサブパーティション）は、非ゼロの変換係数を有する場合にはコーディングされ、全てがゼロの変換係数を有する場合にはコーディングされない。いくつかの具体例では、コーディング／非コーディングデータは、イントラ又はスキップモードを有するパーティションについて必要とされない。いくつかの具体例では、コーディング／非コーディングデータは、オート、インター又はマルチモードを有するパーティションについて必要とされてもよい。いくつかの具体例では、デコーダモジュール５０４は、コーディング／非コーディングデータ５２４を生成するため、コーディング／非コーディングデータの分解のため、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術を実現してもよい。いくつかの具体例では、デコーダモジュール５０４は、ビットストリーム２０１を介し提供されるパラメータ又はインジケータに基づき、分解のため何れのコーディング技術を実現するか判断してもよい。
【００８６】
図示されるように、いくつかの具体例では、デコーダモジュール５０５は、変換係数データを含む圧縮された変換データ５１５を受信する。例えば、コード化されるブロック、パーティション又はサブパーティションについて（例えば、１以上の非ゼロの変換係数を有するなど）、圧縮された変換データ５１５は、変換係数データを有してもよい。いくつかの具体例では、デコーダモジュール５０５は、１つの次元においてブロック、パーティション又はサブパーティションサイズ２を有するブロック、パーティション又はサブパーティションの分解のための適応的ベクトル可変長コーディングを実現する（例えば、２×Ｋパーティション又はＫ×２のサイズのパーティションなど）。さらに、デコーダモジュール５０５は、サイズ４×４のブロック、パーティション又はサブパーティションの分解のための適応的１次元可変長コーディングと、他の全てのブロック、パーティション又はサブパーティションサイズ（例えば、４×８、８×４、８×８、１６×１６、３２×３２、６４×６４など）の分解のための適応的２次元可変長コーディングとを実現してもよい。生成される変換データ５２５は、図示されるように、デコーダ２００の他のモジュールに送信されてもよい。
【００８７】
さらに、いくつかの具体例では、デコーダモジュール５０６は、動きベクトルデータを含む圧縮された動きデータ５１６を受信する。図６に関して更に後述されるように、いくつかの具体例では、圧縮された動きデータ５１６は、予測された差分動きベクトルを生成するため、適応的分類可変長コーディングを用いて分解される。予測された差分動きベクトルは、再構成された動きベクトルを生成するため、動きベクトル予測に加えられてもよい。動きベクトル予測は、エンコーダモジュール５０６などを介し実現される技術の逆を利用した近傍ブロック又はパーティションの以前の復号化された動きベクトル及び／又は動きベクトルに基づき生成されてもよい。再構成された動きベクトルは、図示されるように、動きデータ５２６を介しデコーダ２００の他のモジュールに送信されてもよい。
【００８８】
さらに、いくつかの具体例では、デコーダモジュール５０７は、イントラ予測タイプ又はイントラ予測方向データを含む圧縮されたイントラ予測データ５１７を受信する。例えば、説明されるように、イントラコーディングは、空間予測を生成するため、同一のフレーム内の近傍の以前に復号化されたパーティションを利用する予測を利用してもよい。このような具体例では、以前に復号化されたパーティションを示す予測子があってもよい。例えば、予測子は、ｄｃ、スロープ、方向、ＢＴＰＣ、特徴マッチングなどを含むものであってもよい。さらに、いくつかの具体例では、方向予測子は、異なるパーティションサイズについて適応的であってもよい。例えば、方向予測子を指定することは、原因となる近傍の復号化されたパーティションを用いてコーディングのための角予測ピクセルパーティションを決定する技術を提供し、及び／又は空間予測方向をエントロピーコーディングのための技術を指定することを含むものであってもよい。いくつかの具体例では、デコーダモジュール５１７は、イントラ予測データ５２７を生成するため、イントラ予測タイプ又はイントラ予測方向データの分解のための適応的可変長コーディング技術又は算術コーディング技術を実現してもよい。いくつかの具体例では、デコーダモジュール５０７は、ビットストリーム２０１を介し提供されるパラメータ又はインジケータに基づき、分解のため何れのコーディング技術を実現するか判断してもよい。
【００８９】
上述されるように、各種エントロピーコーディング技術は、エントロピーエンコーダにおいて圧縮されたビデオデータを生成するためにビデオデータの可逆圧縮のため、また、エントロピーデコーダにおいて複製ビデオデータを生成するために圧縮されたビデオデータの分解のための各種データタイプに対して実現されてもよい。
【００９０】
いくつかの具体例では、適応的シンボルラン可変長コーディング技術が実現されてもよい。例えば、エンコーダ及びデコーダモジュール４０１、５０１、４０２、５０２、４０３、５０３及び／又は４０４、５０４は、受信したビデオデータ又は圧縮されたビデオデータの一部又は全てに対して適応的シンボルラン可変長コーディング技術を実現してもよい。
【００９１】
いくつかの具体例では、適応的シンボルラン可変長コーディング技術は、連続してスキップされるブロックの個数を決定することを可能にするビデオコーディングにおけるフレーム内の非スキップブロックの間のアドレスの相対的な差分のコーディングを含むものであってもよい。例えば、エンコーダ及びデコーダモジュール５０４、５０４を介し符号化及び復号化されるコーディング／非コーディングデータに関して、コーディング／非コーディング（例えば、スキップされた）ブロックを通知するため、各ブロックについて１ビット（例えば、ビットマップ）を送信する代わりに、エンコーダモジュール５０４は、例えば、スキップされたブロックのランを符号化してもよい。このような実現形態では、スキップされるブロックのランが長くなるに従って、データはより効率的に圧縮される。
【００９２】
さらに、複数のタイプの適応性、すなわち、複数のテーブルの利用を可能にする適応性、オリジナルビットマップデータ、反転されたビットマップ、差分ビットマップ、勾配予測ビットマップなどに対して、このタイプのコーディングを実行することを利用することを可能にする適応性などが、ここに説明されるような適応的シンボルラン可変長コーディング技術に加えられてもよい。例えば、適応的シンボルラン可変長コーディング技術は、適応的シンボルラン可変長コーディングを適用する前に、ビットマップデータから、反転されたビットマップ、差分ビットマップ又は勾配予測ビットマップの少なくとも１つに第１ビデオデータを変換することを含むものであってもよい。例えば、適応的シンボルラン可変長コーディング技術は、実質的に任意のタイプのイベント（例えば、シンボル／ランの組み合わせなど）をエントロピー符号化するのに利用されてもよい。さらに、シンボル／ランイベントは、マルチレベル（例えば、０，１，２，３など）又はバイナリ（例えば、０，１など）イベントをコード化するのに利用されてもよい。マルチレベルイベントが符号化される具体例では、適応的シンボルラン可変長コーディング技術が、連続して複数回適用され、マルチレベルマップを複数のバイナリサブマップに分割し、以前の各サブマップによって、次のレベルのサブマップから排除される。
【００９３】
いくつかの具体例では、適応的プロキシ可変長コーディング技術が実現されてもよい。例えば、エンコーダ及びデコーダモジュール４０１，５０１，４０２，５０２，４０３，５０３及び／又は４０４，５０４は、受信したビデオデータ又は圧縮されたビデオデータの一部又は全てに対して適応的プロキシ可変長コーディング技術を実現してもよい。
【００９４】
いくつかの具体例では、適応的プロキシ可変長コーディング技術は、置換後に生成されたビットストリームがより小さなサイズとなるように、オリジナルの固定長の１Ｄのビットブロック（グループなど）を可変長コード（例えば、ビットシーケンスのパターンなど）と置換することを含むものであってもよい。いくつかの具体例では、デコーダでは、当該処理が繰り返され（又は反転され）、オリジナルの意図されたビットストリームを生成する。いくつかの具体例では、置換されたオリジナルのビットブロックは、固定的な小さなサイズを有してもよい（例えば、２ビットのグループ、３ビットのグループ又は４ビットのグループなど）。いくつかの具体例では、当該置換コードは、本来的にサイズの小さい、可変長のものであってもよい。いくつかの具体例では、ここで説明される適応的プロキシ可変長コーディングは、ショートＶＬＣ（例えば、可変長コードなど）として特徴付けされてもよい。さらに、ここに説明される適応的プロキシ可変長コーディング技術は、複数の置換オプションを提供することによってコンテンツに対して適応的であってもよい。いくつかの具体例では、コードによる３ビットの１次元ブロック／グループ（又はブロック／グループの集まり）は、１〜５ビット長のコードと置換されてもよい。いくつかの具体例では、適応的プロキシ可変長コーディング技術は、ビットストリーム内の統計的冗長性を利用してもよい。いくつかの具体例では、適応的プロキシ可変長コーディング技術は、約１〜１．３の圧縮ゲインを提供するものであってもよい。いくつかの具体例では、適応的プロキシ可変長コーディング技術は、短いビットシーケンスに適用するよう補正可能であるという効果を提供する。
【００９５】
いくつかの具体例では、適応的ブロック・オブ・シンボル可変長コーディング技術が実現されてもよい。例えば、エンコーダ及びデコーダモジュール４０５、５０５は、受信したビデオデータ又は圧縮されたビデオデータの一部又は全てに対する適応的ブロック・オブ・シンボル可変長コーディング技術を実現してもよい。
【００９６】
いくつかの具体例では、適応的ブロック・オブ・シンボル可変長コーディング技術は、図７に関して更に説明されるように、２つのサブコーディング技術を含むものであってもよい。例えば、適応的ブロック・オブ・シンボル可変長コーディング技術は、適応的ベクトル可変長コーディング技術及び適応的１Ｄ／２Ｄ（１次元／２次元）可変長コーディング技術を含むものであってもよい。いくつかの具体例では、適応的ブロック・オブ・シンボル可変長コーディング技術は、ここに説明されるような変換係数のブロックなどの密接に関連するシンボルのブロックを符号化するのに利用されてもよい。
【００９７】
いくつかの具体例では、適応的ブロック・オブ・シンボル可変長コーディング技術の適応的ベクトル可変長コーディング技術は、シンボルのブロックのコーディングがＶＬＣ（可変長コーディング）コードブックを生成するように、１つのジョイントコードブックを利用することによって、相対的に小さな２Ｄシンボルブロック又はパーティションを符号化する。いくつかの具体例では、ブロック又はパーティションのサイズが大きくなると、コードブックのサイズは大きくなる。いくつかの具体例では、適応的ベクトル可変長コーディング技術は、１つの次元においてサイズ２を有するブロック又はパーティションサイズに適用されてもよい（例えば、２×Ｋ又はＫ×２のブロック又はパーティションなど）。適応的ベクトル可変長コーディング技術をこのようなサイズのブロック又はパーティションに適用することによって、ＶＬＣコードブックのサイズは、効果的に限定される。
【００９８】
いくつかの具体例では、適応的ブロック・オブ・シンボル可変長コーディング技術の適応的１Ｄ可変長コーディング技術は、実質的にＣＡＶＬＣコーダと同じ４×４の変換係数ブロック又はパーティションサイズをコーディングするのに利用されてもよい。このコーダは、４×４のコーディングに主として利用される。いくつかの具体例では、適応的１Ｄ可変長コーディング技術は、係数がコード化されるコンテクストに基づき、利用される複数の異なるＶＬＣテーブルによるコンテンツ適応的可変長コーディング技術を介し実現されてもよい。例えば、係数がコード化されるコンテクストに基づき、エンコーダ及び／又はデコーダモジュール５０５、５０５はＶＬＣテーブルをスイッチしてもよい。
【００９９】
いくつかの具体例では、適応的ブロック・オブ・シンボル可変長コーディング技術の適応的２Ｄ可変長コーディング技術は、シンボルのブロックの２次元の性質を利用して、複数の異なるＶＣＬテーブルの間でコンテクストに基づきスイッチしてもよい。いくつかの具体例では、適応的２Ｄ可変長コーディング技術は、ＣＡ２ＤＶＬＣ（コンテンツ適応的２Ｄ可変長）コーダとして特徴付けされてもよい。いくつかの具体例では、適応的２Ｄ可変長コーディング技術は、２×Ｋ、Ｋ×２のブロック及び４×４のブロック以外の残りの全ての変換係数ブロック又はパーティションサイズ（例えば、４×８、８×４、８×８、１６×１６、３２×３２、６４×６４など）を符号化するのに利用されてもよい。
【０１００】
図６は、本開示の少なくともいくつかの実現形態により構成される一例となるエントロピーエンコーダモジュール１１０の説明図である。図４に関して図示及び説明されるように、エントロピーエンコーダモジュール１１０は、ビットストリームヘッダ・パラメータ・マップデータエンコーダモジュール４０１、ピクチャパーティション・予測パーティション・コーディングパーティションエンコーダモジュール４０２、コーディングモード・リファレンスタイプエンコーダモジュール４０３、コーディング／非コーディングデータエンコーダモジュール４０４、変換係数エンコーダモジュール４０５、動きベクトル・差分動きベクトルエンコーダモジュール４０６、イントラ予測・方向データエンコーダモジュール４０７及び／又はビットストリームアセンブラモジュール４０８を含むものであってもよい。
【０１０１】
図示されるように、エンコーダモジュール４０１は、ビットストリームヘッダ・パラメータ・マップデータモジュール６１１について適応的ＶＬＣ、シンボルランＶＬＣ及び／又はプロキシＶＬＣエンコーダを有し、ビデオデータ４１１を受信する。ビデオデータ４１１は、ビデオデータ４１１がビットストリームヘッダデータ（例えば、シーケンス及び／又はピクチャレベルビットストリームヘッダなど）、モーフィングパラメータ、シンセサイジングパラメータ及び／又はグローバルマップデータ（例えば、パーティションベースにより利用される量子化を示すピクチャの量子化マップなど）を含むものであってもよい。いくつかの具体例では、エントロピー符号化技術は、ビデオデータ４１１のパラメータ又は特性又は他のシステムパラメータに基づき、ビデオデータ４１１について決定されてもよい。いくつかの具体例では、ビデオデータ４１１のエントロピー符号化技術は、上述されたように、適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術又は可変長コーディングテーブル圧縮技術の１つであってもよい。決定されたエントロピー符号化技術は、圧縮されたビデオデータ４２１を生成するため、ビデオデータ４１１に適用されてもよい。可変長コーディングテーブル圧縮技術は、例えば、ビデオデータ４１１に基づきコーディングに利用可能な１以上のテーブルによりコンテンツ適応的可変長コーディング技術を含むものであってもよい。いくつかの具体例では、エンコーダモジュール４０４は、ビデオデータ４１１に関連するパラメータが各コーディング技術に必要とされるビット数などとなるように、何れの技術が最大圧縮効率（例えば、圧縮されたビデオデータ４２１の最小ビットなど）を提供するか判断してもよい。いくつかの具体例では、ビデオデータ４１１に関連するパラメータは、決定された符号化技術が受信したビデオデータに適応的になるように、ビデオデータの特性に基づくものであってもよい。
【０１０２】
図６に示されるように、エンコーダモジュール４０２は、ピクチャパーティション用適応的コードブックＶＬＣエンコーダモジュール６２１、イントラ予測パーティション用シンボルランＶＬＣ及び／又はプロキシＶＬＣエンコーダモジュール６２２、及び／又はインター予測パーティション・コーディングパーティション用シンボルランＶＬＣ及び／又はプロキシＶＬＣエンコーダモジュール６２３を有してもよい。また、図示されるように、エンコーダモジュール４０２は、ビデオデータ４１２を受信してもよい。いくつかの具体例では、ビデオデータ４１２は、ピクチャスライス又は領域データ６２４、イントラ予測パーティションデータ６２５、及び／又はインター予測及びコーディングパーティションデータ６２６を有してもよい。
【０１０３】
図示されるように、ピクチャスライス又は領域データ６２４は、圧縮されたピクチャスライス又は領域データ６２７を生成するため、適応的コードブック可変長コーディングをピクチャスライス又は領域データ６２４に適用するピクチャパーティション用適応的コードブックＶＬＣエンコーダモジュール６２１を介し受信される。いくつかの具体例では、ピクチャスライス又は領域データ６２４は、ピクチャ、スライス、領域などの領域境界を含むものであってもよい。いくつかの具体例では、適応的コードブック可変長コーディングは、ピクチャスライス又は領域データ６２４のコンテンツに適応的なコードブック又は他のシステムパラメータなどを利用したコンテンツ適応的可変長コーディングを含むものであってもよい。
【０１０４】
図示されるように、イントラ予測パーティションデータ６２５は、イントラ予測パーティション用シンボルランＶＬＣ及び／又はプロキシＶＬＣエンコーダモジュール６２２を介し受信される。いくつかの具体例では、エントロピー符号化技術は、ここに説明されるように、イントラ予測パーティションデータ６２５のパラメータ又は特性又は他のシステムパラメータ（例えば、圧縮効率、データの特性など）に基づき、イントラ予測パーティションデータ６２５について決定される。決定されたエントロピー符号化技術は、圧縮されたイントラ予測パーティションデータ６２８を生成するため、イントラ予測パーティションデータ６２５に適用されてもよい。図示されるように、いくつかの具体例では、イントラ予測パーティションデータ６２５のためのエントロピー符号化技術は、上述されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の１つであってよい。いくつかの具体例では、イントラ予測パーティションデータ６２５は、バイツリーパーティショニング又はｋ−ｄツリーパーティショニングなどに基づくパーティションを含むものであってもよい。
【０１０５】
図示されるように、インター予測及びコーディングパーティションデータ６２６は、インター予測・コーディングパーティション用シンボルランＶＬＣ及び／又はプロキシＶＬＣエンコーダモジュール６２３を介し受信される。いくつかの具体例では、エントロピー符号化技術は、ここに説明されるように、インター予測及びコーディングパーティションデータ６２６のパラメータ又は特性又は他のシステムパラメータ（例えば、圧縮効率、データの特性など）に基づき、インター予測及びコーディングパーティションデータ６２６について決定されてもよい。決定されたエントロピー符号化技術は、圧縮されたインター予測及びコーディングパーティションデータ６２９を生成するため、インター予測及びコーディングパーティションデータ６２６に適用されてもよい。図示されるように、いくつかの具体例では、インター予測及びコーディングパーティションデータ６２６のためのエントロピー符号化技術は、上述されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の１つであってもよい。いくつかの具体例では、インター予測及びコーディングパーティションデータ４２６は、インター予測及びコーディングツリーパーティションなどを含むものであってもよい。
【０１０６】
図６に示されるように、エンコーダモジュール４０３は、ジョイントモード・スプリット用適応的ＶＬＣエンコーダモジュール６３１、モード用シンボルランＶＬＣ及び／又はプロキシＶＬＣエンコーダモジュール６３２、スプリット用シンボルランＶＬＣ及び／又はプロキシＶＬＣエンコーダモジュール６３３、及び／又はリファレンスタイプ用シンボルランＶＬＣ及び／又はプロキシＶＬＣエンコーダモジュール６３４を有してもよい。また、図示されるように、エンコーダモジュール４０３は、ビデオデータ４１２を受信する。いくつかの具体例では、ビデオデータ４１２は、モード及びスプリットデータ６３５、モード情報データ６３６、スプリット／非スプリット情報データ６３７、及び／又は予測リファレンス情報データ６３８をジョイントコーディングしてもよい。
【０１０７】
図示されるように、モード及びスプリットデータ６３５のジョイントコーディングは、ジョイントモード・スプリット用適応的ＶＬＣエンコーダモジュール６３１を介し受信され、モード及びスプリットデータ６３９の圧縮されたジョイントコーディングを生成するため、適応的可変長コーディングをモード及びスプリットデータ６３５のジョイントコーディングに適用してもよい。いくつかの具体例では、適応的可変長コーディングは、モード及びスプリットデータ６３５のジョイントコーディングのコンテンツ又は他のシステムパラメータなどに適応的なコンテンツ適応的可変長コーディングを含むものであってもよい。
【０１０８】
説明されるように、いくつかの具体例では、モード及びスプリットデータは、ジョイントモード・スプリット用適応的ＶＬＣエンコーダモジュール６３１を介しジョイントコーディングされてもよい。いくつかの具体例では、モード及びスプリットデータは、後述されるように、モード用シンボルランＶＬＣ及び／又はプロキシＶＬＣエンコーダモジュール６３２、及びスプリット用シンボルランＶＬＣ及び／又はプロキシＶＬＣエンコーダモジュール６３３を介し別々にコーディングされてもよい。いくつかの具体例では、コーディング技術の比較結果に基づきジョイント又はセパレートコーディングするエンコーダ１００（例えば、適応的エントロピーエンコーダ１１０及び／又は符号化コントローラ１０３などを介し）は、何れの技術がデータを最も効率的に圧縮するか判断する。
【０１０９】
図示されるように、モード情報データ６３６は、モード用シンボルランＶＬＣ及び／又はプロキシＶＬＣエンコーダモジュール６３２を介し受信される。いくつかの具体例では、エントロピー符号化技術が、ここに説明されるように、モード情報データ６３６のパラメータ又は特性又は他のシステムパラメータ（例えば、圧縮効率、データの特性など）に基づき、モード情報データ６３６について決定されてもよい。決定されたエントロピー符号化技術は、圧縮されたモード情報データ６４２を生成するため、モード情報データ６３６に適用されてもよい。図示されるように、いくつかの具体例では、モード情報データ６３６のためのエントロピー符号化技術は、上述されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の１つであってもよい。
【０１１０】
図示されるように、スプリット／非スプリット情報データ６３７は、スプリット用シンボルランＶＬＣ及び／又はプロキシＶＬＣエンコーダモジュール６３３を介し受信される。いくつかの具体例では、エントロピー符号化技術が、スプリット／非スプリット情報データ６３７のパラメータ又は特性又は他のシステムパラメータ（例えば、圧縮効率、データの特性など）に基づき、スプリット／非スプリット情報データ６３７について決定されてもよい。決定されたエントロピー符号化技術は、圧縮されたスプリット／非スプリット情報データ６４３を生成するため、スプリット／非スプリット情報データ６３７に適用されてもよい。図示されるように、いくつかの具体例では、スプリット／非スプリット情報データ６３７のためのエントロピー符号化技術は、上述されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の１つであってもよい。
【０１１１】
図示されるように、予測リファレンス情報データ６３８は、リファレンスタイプ用シンボルランＶＬＣ及び／又はプロキシＶＬＣエンコーダモジュール６３４を介し受信される。いくつかの具体例では、エントロピー符号化技術が、上述されるように、予測リファレンス情報データ６３８のパラメータ又は特性又は他のシステムパラメータ（例えば、圧縮効率、データの特性など）に基づき、予測リファレンス情報データ６３８について決定されてもよい。決定されたエントロピー符号化技術は、圧縮された予測リファレンス情報データ６４４を生成するため、予測リファレンス情報データ６３８に適用されてもよい。図示されるように、いくつかの具体例では、予測リファレンス情報データ６３８のためのエントロピー符号化技術は、上述されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の１つであってもよい。
【０１１２】
図示されるように、エンコーダモジュール４０４は、コーディング／非コーディングデータ６４１のためのシンボルランＶＬＣ及び／又はプロキシＶＬＣエンコーダを有し、ビデオデータ４１４を受信する。ビデオデータ４１４は、ビデオデータ４１１がコーディング／非コーディングデータとなるようなデータタイプを有してもよい。例えば、パーティション（又はサブパーティション）は、非ゼロの変換係数を有する場合にはコーディングされ、全てがゼロの変換係数を有する場合にはコーディングされなくてもよい。いくつかの具体例では、コーディング／非コーディングデータは、イントラ又はスキップモードを有するパーティションについて必要とされなくてもよい。いくつかの具体例では、コーディング／非コーディングデータは、オート、インター又はマルチモードを有するパーティションについて必要とされてもよい。いくつかの具体例では、エントロピー符号化技術は、ビデオデータ４１４のパラメータ又は特性又は他のシステムパラメータに基づき、ビデオデータ４１４について決定されてもよい。いくつかの具体例では、ビデオデータ４１４のためのエントロピー符号化技術は、上述されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の１つであってよい。決定されたエントロピー符号化技術は、圧縮されたビデオデータ４２４を生成するため、ビデオデータ４１４に適用されてもよい。いくつかの具体例では、エンコーダモジュール４０４は、ビデオデータ４１１に関連するパラメータが各コーディング技術に必要とされるビット数となるように、何れの技術が上述されたような最大の圧縮効率を提供するか判断してもよい。いくつかの具体例では、ビデオデータ４１１に関連するパラメータは、決定された符号化技術が受信したビデオデータに適応的となるように、ビデオデータの特性に基づくものであってもよい。
【０１１３】
図示されるように、いくつかの具体例では、エンコーダモジュール４０５は、変換係数用適応的ベクトルＶＬＣエンコーダモジュール６５１及び／又は変換係数用適応的１Ｄ・２Ｄ・ＶＬＣエンコーダモジュール６５２を有してもよい。
【０１１４】
図示されるように、変換係数用適応的ベクトルＶＬＣエンコーダモジュール６５１は、１つの次元において２のブロック、パーティション又はサブパーティションサイズを有するブロック、パーティション又はサブパーティション（例えば、２×Ｋパーティション又はＫ×２のサイズのパーティションなど）のための変換係数データを含む変換係数データ６５３を受信する。適応的ベクトル可変長コーディング技術は、圧縮された変換係数データ６５５を生成するため、変換係数データ６５３に適用されてもよい。いくつかの具体例では、適応的ベクトル可変長コーディング技術は、１つのインデックス値により全ての係数を表す１つのベクトルコードワードによってクワドツリー分割を介し生成される各クワドラントを表し、可変長コーディング技術などを利用してコードワードをエントロピーコーディングするブロック又はパーティションのクワドツリー分割を含むものであってもよい。
【０１１５】
また、図示されるように、変換係数用適応的１Ｄ・２Ｄ・ＶＬＣエンコーダモジュール６５２は、変換係数データ６５４を受信し、圧縮された変換係数データ６５６を生成するため、サイズ４×４のブロック、パーティション又はサブパーティションのための適応的１次元可変長コーディングと、他の全てのブロック、パーティション又はサブパーティションサイズ（例えば、４×８、８×４、８×８、１６×１６、３２×３２、６４×６４など）のための適応的２次元可変長コーディングとを実現する。上述されるように、変換係数データ６５３、６５４は、適応的変換モジュール１０８を介し実現されるピクセルデータの矩形（又は正方形など）パーティション又はピクセル差分値の矩形（又は正方形など）の順方向変換と、その後の適応的量子化モジュール１０９を介した生成された係数の量子化とから生成されてもよい。いくつかの具体例では、変換係数データは、エンコーダモジュール４０５を介しそれを１次元周波数順序づけされたパーティションに変換するようスキャンされてもよい。このような変換は、パーティションサイズ（例えば、２４、３２又はそれより大きなパーティションサイズなど）、異なるデータタイプ（イントラ又はインターパーティションの離散コサイン変換係数又はハイブリッドパラメトリックＨａａｒ変換係数など）、及び／又は異なる量子化セット特性（例えば、量子化パラメータ及び／又は行列の各種組み合わせなど）について高い適応性を有してもよい。さらに、ブロック、パーティション又はサブパーティションは、異なるピクチャタイプ、すなわち、Ｉピクチャ（例えば、イントラ補償のみ）、Ｐピクチャ（例えば、予測など）又はＦピクチャ（例えば、機能的など）に属してもよく、及び／又は異なる量子化設定により量子化される異なるタイプの信号又はデータ（例えば、ルマ、クロマなど）を表すものであってもよい。
【０１１６】
図示されるように、エンコーダモジュール４０６は、動きベクトル予測モジュール６６１、動きベクトル差分用適応的ＶＬＣエンコーダモジュール６６２、及び／又は差分化手段６６３を有してもよい。図示されるように、エンコーダモジュール４０６は、動きベクトル予測モジュール６６１を介し動きベクトルデータを含むビデオデータ４１６を受信する。動きベクトル予測モジュール６６１は、関連する予測された動きベクトルを生成するため、オリジナル動きベクトルを利用してビデオデータ４１６（例えば、ビデオデータ５１６の動きベクトルなど）に基づき動きベクトル予測を実行してもよい。いくつかの具体例では、動きベクトル予測は、予測される動きベクトルの左、右、上又は下のすぐ近傍に基づくものであってもよい。いくつかの具体例では、同一又は同様の特性を共有する他の空間的近傍が利用されてもよい。例えば、複数の異なるタイプの予測が適応的に選択され、選択情報がビットストリーム１１１を介しデコーダ２００に提供されてもよい。差分化手段６６３は、エントロピーコーディングのための差分動きベクトルを生成するため、予測された動きベクトルとオリジナルの動きベクトルとを差分処理してもよい。図示されるように、動きベクトル差分用適応的ＶＬＣエンコーダモジュール６６２は、圧縮されたビデオデータ５２６を生成するため、差分動きベクトルに適応的可変長コーディング技術を適用する。いくつかの具体例では、差動（例えば、差分）動きベクトルは、オリジナルの動きベクトルの２倍の範囲を有してもよい。さらに、１／８ピクセル精度動き補償は、８のファクタにより差分動きベクトルの範囲を拡張してもよい。いくつかの具体例では、このような拡張に対処するため、大きなスペースをより小さなサブインターバルに分類し、サブインターバル内のベクトルをインデックス処理することが利用されてもよい。
【０１１７】
図示されるように、エンコーダモジュール４０７は、イントラ予測・方向データ用適応的ＶＬＣ及び／又は算術エンコーダモジュール６７１を有し、ビデオデータ４１７を受信する。ビデオデータ５１７は、ビデオデータ４１７がイントラ予測タイプ又はイントラ予測方向データを含むようなデータタイプを有してもよい。いくつかの具体例では、エントロピー符号化技術は、ここで説明されるように、ビデオデータ４１７のパラメータ又は特性又は他のシステムパラメータ（例えば、圧縮効率など）に基づきビデオデータ４１７について決定されてもよい。いくつかの具体例では、ビデオデータ４１７のためのエントロピー符号化技術は、上述されるように、適応的可変長コーディング技術又は算術コーディング技術の１つであってもよい。決定されたエントロピー符号化技術は、圧縮されたビデオデータ４２７を生成するためビデオデータ４１７に適用されてもよい。いくつかの具体例では、適応的可変長コーディング技術は、ビデオデータ４１７のコンテンツに基づきコンテンツ適応的可変長コーディングを含むものであってもよい。いくつかの具体例では、算術コーディング技術は、ビデオデータ４１７のコンテンツに基づくコンテンツ適応的バイナリ算術コーディングを含むものであってもよい。いくつかの具体例では、ビデオデータ４１７は、９以上の予測方向と、プラナーバイナリツリー予測コーディング（ＢＴＰＣ）を含む各種予測タイプとをサポートしてもよい。
【０１１８】
図６に図示され、図４に関して上述されるように、出力エンコーダモジュール４０１〜４０７（関連するサブモジュールを介し）は、上述されるように、ビットストリームシンタクス毎にフォーマット化される多重ビットストリームを出力するビットストリームアセンブラ４０８に入力されてもよい。
【０１１９】
図７は、本開示の少なくともいくつかの実現形態により構成される一例となるエントロピーデコーダモジュール２０２の説明図である。図５に関して図示及び上述されたように、エントロピーデコーダモジュール２０２は、ヘッダ・パラメータ・マップデータデコーダモジュール５０１、ピクチャパーティション・予測パーティション・コーディングパーティションデコーダモジュール５０２、コーディングモード・リファレンスタイプデコーダモジュール５０３、コーディング／非コーディングデータデコーダモジュール５０４、変換係数デコーダモジュール５０５、動きベクトル・差動動きベクトルデコーダモジュール５０６、イントラ予測・方向データデコーダモジュール５０７及び／又はビットストリームデアセンブラモジュール５０８を有する。いくつかの具体例では、エントロピーデコーダモジュール２０２（及び関連するサブモジュール）は、エンコーダモジュール（及びサブモジュール）とデコーダモジュール（及びサブモジュール）との間に一対一の対応関係があるように、エントロピーエンコーダモジュール１１０（及び関連するサブモジュール）に関して逆の技術を実行してもよい。
【０１２０】
図示されるように、ビットストリームデアセンブラモジュール５０８は、入力ビットストリーム２０１を受信する。いくつかの具体例では、入力ビットストリーム２０１は、ここに説明されるように、ＮＧＶビットストリームシンタクス仕様又は何れかの有効なビットストリームに従う有効な次世代ビデオ（ＮＧＶ）コーディングビットストリームなどの有効なビットストリームであってもよい。図５に関して説明されるように、ビットストリームデアセンブラモジュール５０８は、更に後述されるように、それぞれが１以上のコンポーネントパーツを有する圧縮されたビデオデータ５１１〜５１７を決定するため、入力ビットストリーム２０１をデアセンブルする。例えば、ビットストリームデアセンブラモジュール５０８は、所定のシンタクス又は仕様を利用して、デコーダモジュール５０１〜５０７を介し分解のためのデータタイプによって、入力ビットストリーム２０１を圧縮されたビデオデータコンポーネント５１１〜５１７に分割してもよい。いくつかの具体例では、ビットストリームデアセンブラモジュール５０８は、ビットストリームアセンブラモジュール３０８に関して逆の処理を実行してもよい。いくつかの具体例では、入力ビットストリーム２０１のデアセンブリングは、逆多重化として特徴付けされてもよい。
【０１２１】
図示されるように、デコーダモジュール５０１は、ヘッダ・パラメータ・マップデータ用適応的ＶＬＣ、シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダモジュール７１１を有し、圧縮されたビデオデータ５１１を受信する。いくつかの具体例では、圧縮されたビデオデータ５１１は、適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術又は可変長コーディングテーブル圧縮技術の１つを利用してエントロピー符号化されたヘッダデータ（例えば、シーケンス及び／又はピクチャレベルビットストリームヘッダなど）、モーフィングパラメータ、シンセサイジングパラメータ及び／又はグローバルマップデータを有する。いくつかの具体例では、ヘッダ・パラメータ・マップデータ用適応的ＶＬＣ、シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダモジュール７１１は、ビデオデータ５２１を生成するため、圧縮されたビデオデータ５１１に適用可能なエントロピー復号化技術を決定し、適用可能な技術を利用して圧縮されたビデオデータ５１１を復号化する。いくつかの具体例では、適用可能な技術は、入力ビットストリーム２０１を介し搬送されるインジケータ、パラメータ、ヘッダデータなどに基づき決定されてもよい。
【０１２２】
図示されるように、デコーダモジュール５０２は、ピクチャパーティション用適応的コードブックモジュール７２１、イントラ予測パーティションデータ用シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダモジュール７２２、及び／又はインター予測パーティション・コーディングパーティションデータ用シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダモジュール７２３を有し、圧縮されたビデオデータ５１２を受信する。
【０１２３】
図示されるように、圧縮されたピクチャスライス又は領域データ７２４は、ピクチャパーティション用適応的コードブックＶＬＣデコーダモジュール７２１を介し受信される。いくつかの具体例では、ピクチャパーティション用適応的コードブックＶＬＣデコーダモジュール７２１は、ピクチャスライス又は領域データ７２７を生成するため、圧縮されたピクチャスライス又は領域データ７２４に適応的コードブック可変長コーディングを適用してもよい。説明されるように、適応的コードブック可変長コーディングは、圧縮されたピクチャスライス又は領域データ７２４のコンテンツ又は他のシステムパラメータなどに適応的なコードブックを利用したコンテンツ適応的可変長コーディングを有する。いくつかの具体例では、コードブックは、ピクチャパーティション用適応的コードブックＶＬＣデコーダモジュール７２１を介し実現されてもよい。
【０１２４】
図示されるように、イントラ予測パーティションデータ７２２のためのシンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダは、圧縮されたイントラ予測パーティションデータ７２５を受信する。いくつかの具体例では、圧縮されたイントラ予測パーティションデータ７２５は、ここに説明されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の１つを利用してエントロピー符号化された圧縮されたイントラ予測パーティションデータを有してもよい。いくつかの具体例では、イントラ予測パーティションデータ７２２のためのシンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダは、圧縮されたイントラ予測パーティションデータ７２５に適用可能なエントロピー復号化技術を決定し、当該適用可能な技術を利用して、イントラ予測パーティションデータ７２８を生成してもよい。いくつかの具体例では、適用可能なコーディング技術は、入力ビットストリーム２０１を介し搬送されるインジケータ、パラメータ、ヘッダデータなどに基づき決定されてもよい。
【０１２５】
図示されるように、イントラ予測パーティション・コーディングパーティションデータ７２３のためのシンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダは、圧縮されたインター予測及びコーディングパーティションデータ７２６を受信する。いくつかの具体例では、圧縮されたインター予測及びコーディングパーティションデータ７２６は、ここに説明されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の１つを利用してエントロピー符号化されたインター予測及びコーディングパーティションデータを有する。いくつかの具体例では、インター予測パーティション及びコーディングパーティションデータ７２３のためのシンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダは、圧縮されたインター予測及びコーディングパーティションデータ７２６に適用可能なエントロピー復号化技術を決定し、適用可能な技術を利用してインター予測及びコーディングパーティションデータ７２９を生成するため、圧縮されたインター予測及びコーディングパーティションデータ７２６をエントロピー復号化してもよい。いくつかの具体例では、適用可能なコーディング技術は、入力ビットストリーム２０１を介し搬送されるインジケータ、パラメータ、ヘッダデータなどに基づき決定されてもよい。
【０１２６】
図示されるように、デコーダモジュール５０３は、ジョイントモード・スプリット用適応的ＶＬＣデコーダモジュール７３１、モード用シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダモジュール７３２、スプリット用シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダモジュール７３３、及び／又はリファレンスタイプ用シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダモジュール７３４を有し、圧縮されたビデオデータ５１３を受信する。
【０１２７】
エンコーダモジュール４０３に関して上述されたように、いくつかの具体例では、モード及びスプリットデータはジョイントコーディングされ、いくつかの具体例では、モード及びスプリットデータはセパレートコーディングされてもよい。いくつかの具体例では、ジョイントモード及びスプリット用適応的ＶＬＣデコーダモジュール７３１は、コーディングデータをジョイント復号化し、モード用シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダと、スプリット用シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダモジュール７３３とは、コーディングデータをセパレート復号化してもよい。いくつかの具体例では、データがジョイント又はセパレートコーディングされているかは、入力ビットストリーム２０１を介し通知されてもよい。
【０１２８】
図示されるように、モード及びスプリットデータ７３５の圧縮されたジョイントコーディングは、ジョイントモード及びスプリット用適応的ＶＬＣデコーダモジュール７３１を介し受信されてもよい。いくつかの具体例では、ジョイントモード及びスプリット用適応的ＶＬＣデコーダモジュール７３１は、モード及びスプリットデータ７３９のジョイントコーディングを生成するため、モード及びスプリットデータ７３５の圧縮されたジョイントコーディングに適応的可変長コーディングを適用してもよい。説明されるように、適応的可変長コーディングは、モード及びスプリットデータ７３５の圧縮されたジョイントコーディングのコンテンツ又は他のシステムパラメータなどに対して適応的なコンテンツ適応的可変長コーディングであってもよい。
【０１２９】
図示されるように、モード用シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダモジュール７３２は、圧縮されたモード情報データ７３６を受信する。いくつかの具体例では、圧縮されたモード情報データ７３６は、ここに説明されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の１つを利用してエントロピー符号化された圧縮されたモード情報データを有してもよい。いくつかの具体例では、モード用シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダモジュール７３２は、圧縮されたモード情報データ７３６に適用可能なエントロピー復号化技術を決定し、モード情報データ７４２を生成するため、適用可能な技術を利用して圧縮されたモード情報データ７３６をエントロピー復号化してもよい。いくつかの具体例では、適用可能なコーディング技術は、入力ビットストリーム２０１を介し搬送されるインジケータ、パラメータ、ヘッダデータなどに基づき決定されてもよい。
【０１３０】
図示されるように、スプリット用シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダモジュール７３３は、圧縮されたスプリット情報データ７３７を受信する。いくつかの具体例では、圧縮されたスプリット情報データ７３７は、ここに説明されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の１つを利用してエントロピー符号化される圧縮されたスプリット情報データを有してもよい。いくつかの具体例では、スプリット用シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダモジュール７３３は、圧縮されたスプリット情報データ７３７に適用可能なエントロピー復号化技術を決定し、スプリット情報データ７４３を生成するため、適用可能な技術を利用して圧縮されたスプリット情報データ７３７をエントロピー復号化してもよい。いくつかの具体例では、適用可能なコーディング技術は、入力ビットストリーム２０１を介し搬送されるインジケータ、パラメータ、ヘッダデータなどに基づき決定されてもよい。
【０１３１】
図示されるように、リファレンスタイプ用シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダモジュール７３４は、圧縮されたリファレンスタイプ情報データ７３８を受信する。いくつかの具体例では、圧縮されたリファレンスタイプ情報データ７３８は、ここに説明されるように、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の１つを利用してエントロピー符号化されたリファレンスタイプ情報データを有する。いくつかの具体例では、リファレンスタイプ用シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダモジュール７３４は、圧縮されたリファレンスタイプ情報データ７３８に適用可能なエントロピー復号化技術を決定し、リファレンスタイプ情報データ７４４を生成するため、適用可能な技術を利用して圧縮されたリファレンスタイプ情報データ７３８をエントロピー復号化してもよい。いくつかの具体例では、適用可能なコーディング技術は、入力ビットストリーム２０１を介し搬送されるインジケータ、パラメータ、ヘッダデータなどに基づき決定されてもよい。
【０１３２】
図示されるように、デコーダモジュール５０４は、コーディング／非コーディングデータ用シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダモジュール７４１を有し、圧縮されたビデオデータ５１４を受信する。いくつかの具体例では、圧縮されたビデオデータ５１４は、ここに説明されるように、コード化／非コード化されてもよく、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の１つを利用してエントロピー符号化されてもよい。いくつかの具体例では、コーディング／非コーディングデータ用シンボルランＶＬＣ及び／又はプロキシＶＬＣデコーダモジュール７４１は、圧縮されたビデオデータ５１４に適用可能なエントロピー復号化技術を決定し、ビデオデータ５２４を生成するため、適用可能な技術を利用して圧縮されたビデオデータ５１４を復号化してもよい。いくつかの具体例では、適用可能な技術は、入力ビットストリーム２０１を介し搬送されるインジケータ、パラメータ、ヘッダデータなどに基づき決定されてもよい。いくつかの具体例では、適用可能な技術は、適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の１つであってもよい。
【０１３３】
図示されるように、デコーダモジュール５０５は、変換係数用適応的ベクトルＶＬＣデコーダモジュール７５１及び又は変換係数用適応的１Ｄ・２Ｄ・ＶＬＣデコーダモジュール７５２を有し、圧縮されたビデオデータ５１５を受信する。
【０１３４】
図示されるように、変換係数用適応的ベクトルＶＬＣデコーダモジュール７５１は、ここに説明されるように、１つの次元においてサイズ２を有するブロック、パーティション又はサブパーティションのための圧縮された変換係数データを有する（例えば、２×Ｋパーティション又はＫ×２のサイズのパーティションなど）。いくつかの具体例では、変換係数用適応的ベクトルＶＬＣデコーダモジュール７５１は、変換係数データ７５５を生成するため、圧縮された変換係数データ７５３をエントロピー復号化するため、適応的ベクトル可変長コーディング技術を適用してもよい。説明されるように、いくつかの具体例では、適応的ベクトル可変長コーディング技術は、可変長コードワードを利用して、クワドツリー分割をマージすることを介し生成されるブロックのクワドツリー分割の全ての係数を生成することを含むものであってもよい。
【０１３５】
図示されるように、変換係数用適応的１Ｄ・２Ｄ・ＶＬＣデコーダモジュール７５２は、サイズ４×４と、他の全てのブロック、パーティション又はサブパーティションサイズ（例えば、４×８、８×４、８×８、１６×１６、３２×３２、６４×６４など）とのための圧縮された変換係数データを有してもよい。いくつかの具体例では、変換係数用適応的１Ｄ・２Ｄ・ＶＬＣデコーダモジュール７５２は、４×４のサイズのブロック、パーティション又はサブパーティションのための適応的１次元可変長コーディングと、他の全てのブロック、パーティション又はサブパーティションサイズ（例えば、４×８、８×４、８×８、１６×１６、３２×３２、６４×６４など）のための適応的２次元可変長コーディングとを適用し、変換係数データ７５６を生成するため、圧縮された変換係数データ７５４をエントロピー復号化してもよい。
【０１３６】
図示されるように、デコーダモジュール５０６は、動きベクトル差分用適応的ＶＬＣデコーダモジュール７６２、動きベクトル予測手段７６１及び加算手段７６３を有し、圧縮されたビデオデータ５１６を受信する。いくつかの具体例では、動きベクトル差分用適応的ＶＬＣデコーダモジュール７６２は、動きベクトル差分を生成するため、圧縮されたビデオデータ５１６を復号化する。さらに、動きベクトル予測手段７６１は、動きベクトル予測モジュール６６１に関して説明される技術と同様に、以前に復号化された近傍動きベクトルを利用して予測動きベクトルを生成する。図示されるように、復号化された差分動きベクトルは、ビデオデータ５２６の一部として出力され、動きベクトル予測モジュール７６１を介し他の動きベクトルについて動きベクトル予測を実行するのに利用される再構成された動きベクトルを生成するため、予測動きベクトルに加算手段７６３を介し加算されてもよい。
【０１３７】
図示されるように、デコーダモジュール５０７は、イントラ予測タイプ・方向用適応的ＶＬＣ及び／又は算術デコーダモジュール７７１を有し、圧縮されたビデオデータ５１７を受信する。いくつかの具体例では、圧縮されたビデオデータ５１７は、適応的ＶＬＣ技術又は算術コーディング技術の１つを利用して符号化されるイントラ予測タイプ及び方向データを有する。いくつかの具体例では、イントラ予測タイプ・方向用適応的ＶＬＣ及び／又は算術デコーダモジュール７７１は、圧縮されたビデオデータ５１７に適用可能なエントロピー復号化技術を決定し、ビデオデータ５２７を生成するため、適用可能な技術を利用して圧縮されたビデオデータ５１７を復号化する。いくつかの具体例では、適用可能な技術は、入力ビットストリーム２０１を介し搬送されるインジケータ、パラメータ、ヘッダデータなどに基づき決定されてもよい。
【０１３８】
説明されるように、ビデオデータ５２１〜５２７（説明されるような各種サブコンポーネントを含む）は、デコーダ２００の各種コンポーネントに送信される。さらに、説明されるように、デコーダ２００は、エントロピー復号化されたビデオデータ５２１〜５２７を利用して、ユーザに対するディスプレイデバイスを介した提示又は表示のため、ディスプレイビデオ２１９を介し出力されてもよいビデオフレームを生成する。
【０１３９】
図８は、本開示の少なくともいくつかの実現形態により構成される一例となる処理８００を示すフロー図である。処理８００は、処理８０２、８０４、８０６及び／又は８０８の１以上により示されるような１以上の処理、ファンクション又はアクションを含む。処理８００は、次世代ビデオコーディング処理の少なくとも一部を構成する。非限定的な具体例によって、処理８００は、図１のエンコーダシステム１００及び／又は図５又は７のエントロピーエンコーダモジュール１１０により実行されるような次世代ビデオ符号化処理の少なくとも一部を構成してもよい。
【０１４０】
処理８００は、処理８０２において、“エントロピー符号化のための異なるタイプの第１及び第２ビデオデータを取得”から開始され、ここでは、異なるタイプの第１及び第２（又は更なる）ビデオデータがエントロピーコーディングのため取得又は受信される。例えば、ビデオデータ４１１〜４１７（及び／又はビデオデータ５１１〜５１７の何れかのサブコンポーネント）の２以上が受信される。いくつかの具体例では、ビデオデータ４１１〜４１７は、適応的エントロピーエンコーダ１１０を介し受信される。説明されるように、第１及び第２（又は更なる）ビデオデータは、ビデオデータ４１１〜４１７に関して又はここでの他のどこかに説明されるようなタイプ又はサブコンポーネントタイプの何れかなどの異なるタイプを有してもよい。
【０１４１】
処理８００は、処理８０４において、“第１ビデオデータのためのエントロピー符号化技術を決定”に続き、ここでは、第１エントロピー符号化技術が、第１ビデオデータについて決定される。説明されるように、いくつかの具体例では、エンコーダモジュール４０１〜４０７の１以上は、各種コーディング技術のオプションからビデオデータ４１１〜４１７のためのコーディング技術を決定する。例えば、エンコーダモジュール４０１は、適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術又は可変長コーディングテーブル圧縮技術の１つから、ビデオデータ４１１のためのコーディング技術を決定してもよい。さらに、エンコーダモジュール４０２は、適応的シンボルラン可変長コーディングテーブル圧縮技術及び適応的プロキシ可変長コーディング技術などの１つから、ビデオデータ４０２のイントラ予測パーティションデータ６２５のコーディング技術を決定してもよい。広範な具体例が図４及び６に関してここで与えられたが、簡単化のためここでは繰り返されない。説明されるように、いくつかの具体例では、２以上のタイプのビデオデータが受信される。いくつかの具体例では、エントロピー符号化技術は、ここに説明されるような２、３以上のタイプのビデオデータについて決定されてもよい。
【０１４２】
説明されるように、エントロピー符号化技術がビデオデータについて決定されてもよい。いくつかの具体例では、第１符号化技術に関する選択されたコーディングテーブルは、２以上の利用可能なテーブルから決定されてもよい。例えば、テーブル選択は、利用可能なテーブル間のビットカウント比較、コーディング効率などに基づき行われてもよい。例えば、ここに説明されるエントロピー符号化技術の何れかは複数の利用可能なテーブルを有してもよい。いくつかの具体例では、テーブルインジケータが生成され、ビデオデータの選択されたテーブルを示すビットストリーム９００に提供されてもよい。例えば、ビットストリーム９００は、選択された符号化技術及び選択されたコーディングテーブルを示すインジケータを有してもよい。さらに、ビデオデータの長さに関するインジケータは、ビットストリーム９００に含まれてもよい。例えば、ビデオデータの長さ又はタプル数（例えば、ビデオのストリングの長さなど）が提供され、何れか残りの部分（例えば、長さがタプルに均等に分割されていない場合）は、ビットマップ技術を用いてコーディングされ、出力ビットストリームに提供されてもよい。
【０１４３】
処理８００は、処理８０６において、“第１エントロピー符号化技術を利用して第１ビデオデータをエントロピー符号化し、第２ビデオデータをエントロピー符号化し、圧縮された第１及び第２ビデオデータを生成”に続き、ここでは、第１ビデオデータが第１エントロピー符号化技術を用いて圧縮された第１ビデオデータを生成するためエントロピー符号化され、第２ビデオデータが第２エントロピー符号化技術を用いて圧縮された第１及び第２ビデオデータを生成するため圧縮される。
【０１４４】
処理８００は、処理８０８において、“出力ビットストリームを生成するため圧縮された第１及び第２ビデオデータをアセンブリング”に続き、ここでは、圧縮された第１ビデオデータ及び圧縮された第２ビデオデータが、出力ビットストリームを生成するためアセンブリングされる。例えば、ビットストリームアセンブラ５０８は、ここに説明されるように、出力ビットストリーム１１１を生成するため、圧縮された第１ビデオデータ及び圧縮された第２ビデオデータをアセンブリングするか、又は多重する。
【０１４５】
説明されるように、いくつかの具体例では、出力ビットストリーム１１１は、多重されたオーディオビジュアルストリームを生成するため、オーディオストリーム（コーディング又は非コーディング）と多重されてもよい。さらに、説明されるように、いくつかの具体例では、ビデオデータの１以上がエントロピーコーディング前に前処理されるか、又は操作されてもよい。例えば、動きベクトルデータについて、動きベクトル予測が予測された動きベクトルを生成するため実行され、予測された動きベクトルが、差分動きベクトルを生成するためオリジナル動きベクトルと差分化され、差分動きベクトルが、ここで説明されるようにエントロピーコーディングされる。さらに、いくつかの具体例では、７つのエンコーダモジュール４０１〜４０７のそれぞれは、７つのタイプのビデオデータ４１１〜４１７に対して実行するよう同時に実現されてもよい。処理８００は、ここに説明されるように、適応的エントロピーエンコーダモジュール１１０を介し実現されてもよい。さらに、処理８００は、ビデオデータの何れかの個数のインスタンス化に対してシリアル又はパラレルに繰り返されてもよい。
【０１４６】
説明されるように、異なるタイプのビデオデータは、圧縮されたビデオデータを生成するため、決定された（又は所定の）各種適応的エントロピーコーディング技術を利用してエントロピーコーディングされてもよい。圧縮されたビデオデータは、出力ビットストリームを生成するため組み立てられる。
【０１４７】
図９は、本開示の少なくともいくつかの実現形態により構成される一例となるビットストリーム９００を示す。いくつかの具体例では、ビットストリーム９００は、図１、３ａ、４及び６に示されるような出力ビットストリーム１１１及び／又は図２、３ｂ、５及び７に示されるような入力ビットストリーム２０１に対応する。提示の簡単化のため図９に図示しないが、いくつかの具体例では、ビットストリーム９００はヘッダ部分及びデータ部分を有してもよい。各種具体例では、ビットストリーム９００は、ここに説明されるような圧縮されたビデオの符号化に関するデータ、インジケータ、インデックス値、モード選択データなどを含む。図示されるように、いくつかの具体例では、ビットストリーム９００は、インジケータデータ９０１、圧縮されたビデオデータ４２１、圧縮されたビデオデータ４２２、圧縮されたビデオデータ４２３、圧縮されたビデオデータ４２４、圧縮されたビデオデータ４２５、圧縮されたビデオデータ４２６及び／又は圧縮されたビデオデータ４２７を有してもよい。図示されたデータは、ビットストリーム９００において何れかの順序であってもよく、ビデオをコーディングするための各種の追加的なデータの他の何れかによって隣接又は分離されてもよい。説明されるように、ビットストリーム９００はまた、選択された符号化技術と選択されたコーディングテーブル（例えば、インジケータデータ９０１などにおいて）とを示すインジケータを含むものであってもよい。さらに、ビデオデータの長さに関するインジケータがビットストリーム９００に含まれてもよい。例えば、ビデオデータの長さ又はタプル数（例えば、ビデオのストリングの長さなど）が提供され、何れか残りの部分（例えば、長さが均等にタプルに分割されていない場合）は、ビットマップ技術を用いてコーディングされ、出力ビットストリームに提供されてもよい。
【０１４８】
いくつかの具体例では、圧縮されたビデオデータ４２１〜４２７は、圧縮されたビデオデータ４２１〜４２７は、ここに説明されるように、何れかの技術を介し符号化された何れかの圧縮されたビデオデータを含む。いくつかの具体例では、インジケータデータ９０１は、ヘッダデータ、モードインジケータデータ及び／又は圧縮されたビデオデータ４２１〜４２７に関連するエントロピー符号化技術を示すデータを含む。例えば、インジケータデータ９０１は、図４及び６に関してここに説明されるように、ビデオデータ４２１を圧縮するのに利用されるエントロピーコーディング技術、ビデオデータ４２２の一部を圧縮するのに利用されるエントロピーコーディング技術、ビデオデータ４２３の一部を圧縮するのに利用されるエントロピーコーディング技術、ビデオデータ４２４を圧縮するのに利用されるエントロピーコーディング技術及び／又はビデオデータ４２７を圧縮するのに利用されるエントロピーコーディング技術を示す。
【０１４９】
説明されるように、ビットストリーム９００は、エンコーダ１００などのエンコーダにより生成され、及び／又はビデオフレームがディスプレイデバイスを介し提示されるように復号化するためのデコーダ２００により受信されてもよい。
【０１５０】
図１０は、本開示の少なくともいくつかの具体例により構成される一例となる処理１０００を示すフロー図である。処理１０００は、処理１００２、１００４、１００６及び／又は１００８の１以上により示される１以上の処理、ファンクション又はアクションを含む。処理１０００は、次世代ビデオコーディング処理の少なくとも一部を構成する。非限定的な具体例により、処理１０００は、図２のデコーダシステム２００により実行されるような次世代ビデオ復号化処理の少なくとも一部を構成する。
【０１５１】
処理１０００は、処理１００２において、“エントロピー符号化されたビットストリームを受信”に続き、ここでは、エントロピー符号化されたビットストリームが受信される。例えば、ここに説明されるように符号化されるビットストリームは、ビデオデコーダにおいて受信されてもよい。いくつかの具体例では、ビットストリーム１００又は９００などがデコーダ２００を介して受信される。
【０１５２】
処理１０００は、処理１００４において、“エントロピー符号化されたビットストリームを圧縮された第１ビデオデータ及び圧縮された第２ビデオデータにデアセンブリング”に続き、ここでは、受信したビットストリームが異なるタイプの圧縮されたビデオデータを決定するためデアセンブリングされる。例えば、ビットストリーム２０１は、図７に示されるように、圧縮されたビデオデータ５１１〜５１７（及び何れかのサブコンポーネントビデオデータ）を生成するため、ビットストリームデアセンブラ５０８を介しデアセンブリングされてもよい。例えば、デアセンブリングされた圧縮されたビデオデータは、圧縮された第１ビデオデータ及び圧縮された第２ビデオデータを有してもよい。
【０１５３】
処理１０００は、処理１００６において、“第１ビデオデータ及び第２ビデオデータを生成するため圧縮された第１及び第２ビデオデータをエントロピー復号化”に続き、ここでは、圧縮された第１及び第２ビデオデータが、第１及び第２ビデオデータを生成（伸張）するためエントロピー復号化される。説明されるように、いくつかの具体例では、デコーダモジュール５０１〜５０７の１以上は、各種コーディング技術のオプションから圧縮されたビデオデータ５１１〜５１７のコーディング技術を決定する。例えば、デコーダモジュール５０１は、入力ビットストリームを介し提供されたインジケータに基づき、適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術又は可変長コーディングテーブル圧縮技術の１つから、圧縮されたビデオデータ５１１のコーディング技術を決定する。さらに、デコーダモジュール５０２は、適応的シンボルラン可変長コーディング技術及び適応的プロキシ可変長コーディング技術などの１つから、ビデオデータ５１２の圧縮されたイントラ予測パーティションデータ７２５のコーディング技術を決定してもよい。広範な具体例が図５及び７に関してここに提供され、簡単化のためここでは繰り返されない。説明されるように、いくつかの具体例では、２以上のタイプのビデオデータが受信される。いくつかの具体例では、エントロピー復号化技術が、ここに説明されるような２，３以上のタイプのビデオデータについて決定されてもよい。
【０１５４】
処理１０００は、処理１００８において、“ビデオフレームを生成するため第１及び第２ビデオデータを復号化”に続き、ここでは、第１及び第２ビデオデータ（及び他の何れかエントロピー復号化されたビデオデータ）が、ビデオフレームを生成するため復号化される。ビデオフレームは、例えば、ディスプレイデバイスを介しユーザに提示するのに適したものであってもよい。
【０１５５】
説明されるように、いくつかの具体例では、エントロピー復号化されたビデオデータの１以上は、更なる復号化前に後処理されるか、又は操作される。例えば、エントロピー復号化された差分動きベクトルが、再構成された動きベクトルを生成するため、予測動きベクトルに加えられてもよく、デコーダ２００を介し動きベクトル予測（例えば、インター予測など）に利用するため出力されてもよい。
【０１５６】
ここに説明されるシステムの各種コンポーネントは、ソフトウェア、ファームウェア、ハードウェア及び／又はこれらの何れかの組み合わせにより実現されてもよい。例えば、エンコーダ１００又はエンコーダ２００の各種コンポーネントは、スマートフォンなどの計算システムに見つけられるようなコンピューティングシステム・オン・チップ（Ｓｏｃ）のハードウェアによって少なくとも部分的に提供されてもよい。当業者は、ここに説明されたシステムが対応する図面において示されていない更なるコンポーネントを有してもよいことを認識してもよい。例えば、ここに説明されるシステムは、簡単化のため、図示されないビットストリームマルチプレクサやデマルチプレクサモジュールなどの更なるコンポーネントなどを有してもよい。
【０１５７】
ここに説明される処理８００、１０００及び他の処理に関する更なる及び／又は他の詳細は、ここに説明され、特に以下の図１１に関して説明される１以上の実現形態の具体例に示されてもよい。
【０１５８】
図１１は、本開示の少なくともいくつかの実現形態により構成される一例となるビデオコーディングシステム１６１０及び処理におけるビデオコーディング処理１１００の説明図である。図示された実現形態では、処理１１００は、１以上のアクション１１００〜１１１２により示されるような１以上の処理、ファンクション又はアクションを含む。非限定的な具体例によって、処理１１００は、図１６に関して更に後述されるように、図１のエンコーダ１００及び図２のデコーダ２００を有する一例となるビデオコーディングシステム１６１０を参照して説明される。各種具体例では、処理１１００は、エンコーダとデコーダとの双方を含むシステムによって、又は、エンコーダ（及び任意的にはデコーダ）を利用するあるシステムと、デコーダ（及び任意的にはエンコーダ）を利用する他のシステムとによるセパレートシステムによって実行されてもよい。上述されるように、エンコーダはエンコーダシステムの一部としてローカルなデコーダを利用するローカル復号化ループを含むことに留意されたい。
【０１５９】
図示された実現形態では、ビデオコーディングシステム１６１０は、ロジック回路１１５０など及び／又はこれらの組み合わせを含む。例えば、ロジック回路１１５０は、エンコーダ１００を有し、図１及び３に関して説明されたモジュールを有し、デコーダ２００は、図２及び／又は図４，６に関して説明されたモジュールを有してもよい。図１６に示されるビデオコーディングシステム１６１０は特定のモジュールに関連する特定のブロック又はアクションセットを含むが、これらのブロック又はアクションは、ここに示された特定のモジュールと異なるモジュールに関連するものであってもよい。図示された処理１１００は符号化及び復号化に関するものであるが、説明されたコンセプト及び／又は処理は、符号化及び／又は復号化にセパレートに適用されてもよく、より一般にはビデオコーディングに適用されてもよい。
【０１６０】
処理１１００は、処理１１０１において、“異なるタイプのビデオデータを取得”から開始され、ここでは、異なるタイプのビデオデータはエントロピー符号化のため受信される。例えば、２以上のタイプのビデオデータが、エントロピー符号化のため受信される。例えば、２以上のビデオデータ４１１〜４１７（及び／又はビデオデータ４１１〜４１７の何れかのサブコンポーネント）は、適応的エントロピーエンコーダ１１０を介し受信される。説明されるように、第１及び第１（又は更なる）ビデオデータは、ビデオデータ４１１〜４１７に関して又はここでの他の何れかに説明されるようなタイプ又はサブコンポーネントタイプの何れかなどの異なるタイプを有してもよい。
【０１６１】
処理１１００は、処理１１０１から処理１１０２の“１以上のタイプのビデオデータのエントロピー符号化技術を決定”に続き、ここでは、エントロピー符号化技術が、ビデオデータタイプの１以上について決定される。説明されるように、いくつかの具体例では、エンコーダモジュール４０１〜４０７の１以上は、各種コーディング技術オプションからビデオデータ４１１〜４１７のコーディング技術を決定する。例えば、エンコーダモジュール４０１は、適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術又は可変長コーディングテーブル圧縮技術の１つから、ビデオデータ４１１のコーディング技術を決定する。さらに、エンコーダモジュール４０２は、ここに説明されるような適応的シンボルラン可変長コーディング技術及び適応的プロキシ可変長コーディング技術の１つから、ビデオデータ４０２のイントラ予測パーティションデータ６２５のためのコーディング技術を決定する。
【０１６２】
処理１１００は、処理１１０３において、“決定された技術を利用してビデオデータをエントロピー符号化”に続き、ビデオデータは、決定された技術を利用してエントロピー符号化される。例えば、第１ビデオデータは、圧縮された第１ビデオデータを生成するため、第１エントロピー符号化技術を利用してエントロピー符号化される。いくつかの具体例では、第２、第３又は更なるビデオデータが、圧縮された第１、第２、第３などの各ビデオデータを生成するため、ここに説明されるような第２、第３又は更なるエントロピー符号化技術を利用してエントロピー符号化されてもよい。
【０１６３】
処理１１００は、処理１１０３から処理１１０４の“圧縮されたビデオデータをアセンブリング”に続き、ここでは、異なるタイプの圧縮されたビデオデータが、出力ビットストリームを生成するためアセンブリングされる。例えば、ビットストリームアセンブラ４０８は、ここに説明されるように、出力ビットストリーム１１１を生成するため、圧縮されたビデオデータをアセンブリング又は多重する。
【０１６４】
処理１１００は、処理１１０４から処理１１０５の“任意的にオーディオストリームとビデオストリームとを多重”に続き、ここでは、ビデオストリームが、オーディオビジュアルビットストリームを生成するため、コーディング又は非コーディングオーディオストリームと任意的に多重される。
【０１６５】
処理１１００は、処理１１０５又は処理１１０４から処理１１０６の“ビットストリームを送信”に続き、ここでは、ビットストリームが送信される。例えば、ビデオコーディングシステム１６１０は、アンテナ１１０２（図１６を参照されたい）を介し出力ビットストリーム１１１又はビットストリーム８００などを送信する。
【０１６６】
処理１１０１〜１１０６は、ここに説明されるようなエンコーダシステムにより利用されるビデオ符号化及びビットストリーム送信技術を提供する。以下の処理である処理１１０７〜１１１２は、ここに説明されるようなデコーダシステムにより利用されるビデオ復号化及びビデオ表示技術を提供する。
【０１６７】
処理１１００は、処理１１０７の“ビットストリームを受信”に続き、ここでは、符号化されたビットストリームが受信される。例えば、入力ビットストリーム１００，２０１又はビットストリーム８００などがデコーダ２００を介し受信される。いくつかの具体例では、ビットストリームは、ここに説明されるような異なるタイプのエントロピー符号化されたデータを有する。
【０１６８】
処理１１００は、処理１００７から処理１１０８の“異なるタイプの圧縮されたビデオデータを生成するためビットストリームをデアセンブリング”に続き、ここでは、受信されたビットストリームは、異なるタイプの圧縮されたビデオデータを決定するようデアセンブリングされる。例えば、ビットストリーム２０１は、図７に示されるように、圧縮されたビデオデータ５１１〜５１７（及び何れかのサブコンポーネントビデオデータ）を生成するため、ビットストリームデアセンブラ５０８を介しデアセンブリングされてもよい。例えば、デアセンブリングされた圧縮されたビデオデータは、第１、第２、第３又は更なる圧縮されたビデオデータを有してもよい。
【０１６９】
処理１１００は、処理１１０８から処理１１０９の“１以上のタイプの圧縮されたビデオデータのエントロピー復号化技術を決定”に続き、エントロピー復号化技術が、圧縮されたビデオデータタイプの１以上について決定されてもよい。いくつかの具体例では、エントロピー復号化技術が、受信したビットストリームを介し搬送されるフラグ又はインジケータなどに基づき決定される。説明されるように、いくつかの具体例では、デコーダモジュール５０１〜５０７の１以上が、各種コーディング技術のオプションから圧縮されたビデオデータ５１１〜５１７のためのコーディング技術を決定する。例えば、デコーダモジュール４０１は、入力ビットストリームを介し提供されたインジケータに基づき、適応的シンボルラン可変長コーディング技術、適応的プロキシ可変長コーディング技術又は可変長コーディングテーブル圧縮技術の１つから、圧縮されたビデオデータ５１１のコーディング技術を決定する。
【０１７０】
さらに、デコーダモジュール５０２は、適応的シンボルラン可変長コーディング技術及び適応的プロキシ可変長コーディング技術などの１つから、ビデオデータ５１２の圧縮されたイントラ予測パーティションデータ７２５のコーディング技術を決定してもよい。広範な具体例はここで提供されたが、簡単化のため繰り返されない。説明されるように、いくつかの具体例では、２以上のタイプのビデオデータが受信される。いくつかの具体例では、エントロピー復号化技術が、ここに説明されるような２、３以上のタイプのビデオデータについて決定されてもよい。
【０１７１】
処理１１００は、処理１１０９から処理１６１０の“圧縮されたビデオデータをエントロピー復号化”に続き、ここでは、圧縮されたビデオデータが、決定されたエントロピー復号化技術に基づきエントロピー復号化される。例えば、圧縮されたビデオデータ５１１〜５１７は、復号化モジュール５０１〜５０７を介しエントロピー復号化される。
【０１７２】
処理１１００は、処理１６１０から処理１１１１の“ビデオフレームを生成するためエントロピー復号化されたビデオデータを復号化”に続き、ここでは、第１及び第２ビデオデータ（及び他の何れかエントロピー復号化されたビデオデータ）が、ビデオフレームを生成するため復号化される。ビデオフレームは、例えば、ディスプレイデバイスを介しユーザに提示するのに適している。例えば、ビデオフレームは、デコーダ２００に関して説明される復号化技術の実現形態に基づき決定される。
【０１７３】
処理１１００は、処理１１１１から処理１１１２の“ディスプレイデバイスを介し提示するためビデオフレームを送信”に続き、ここでは、生成されたビデオフレームは、ディスプレイデバイスを介し提示するため送信される。例えば、ビデオフレームは、提示のためディスプレイデバイス１１０５（図１６に示されるような）に送信されてもよい。いくつかの具体例では、ディスプレイデバイス１１０５は、例えば、ユーザにビデオフレームを表示してもよい。
【０１７４】
ここでの一例となる処理の実現形態は図示された順序により図示された全ての処理を実行することを含むが、本開示はこれに限定されず、各種具体例では、ここでの一例となる処理の実現形態は、図示された処理の一部のみ及び／又は図示されたものと異なる順序による実行を含んでもよい。
【０１７５】
さらに、ここに説明される処理の何れか１以上は、１以上のコンピュータプログラムプロダクトにより提供される命令に応答して実行されてもよい。このようなプログラムプロダクトは、プロセッサなどにより実行されると、ここに説明される機能を提供する命令を提供する信号担持媒体を含む。コンピュータプログラムプロダクトは、１以上のマシーン可読媒体の何れかの形態により提供されてもよい。従って、例えば、１以上のプロセッサコアを含むプロセッサは、１以上のマシーン可読媒体によりプロセッサに搬送されるプログラムコード及び／又は命令若しくは命令セットに応答して、一例となる処理の１以上を実行する。一般に、マシーン可読媒体は、ここに説明されるデバイス及び／又はシステムの何れかにここに説明されるビデオシステムの少なくとも一部を実現させるプログラムコード及び／又は命令若しくは命令セットの形態によるソフトウェアを搬送する。
【０１７６】
ここに説明される何れかの実現形態に用いられる“モジュール”という用語は、ここに説明される機能を提供するよう構成されるソフトウェアロジック、ファームウェアロジック及び／又はハードウェアロジックの何れかの組み合わせを表す。ソフトウェアは、ソフトウェアパッケージ、コード及び／又は命令セット若しくは命令として実現されてもよく、ここで説明される何れかの実現形態により用いられる“ハードウェア”は、例えば、プログラマブル回路により実行される命令を格納する配線回路、プログラマブル回路、状態マシーン回路及び／又はファームウェアを単独で又は何れかの組み合わせにより有してもよい。モジュールは、集積回路（ＩＣ）、システム・オン・チップ（ＳｏＣ）などのより大きなシステムの一部を構成する回路としてまとめて又は個別に実現されてもよい。
【０１７７】
図１２は、本開示の少なくともいくつかの実現形態により構成される一例となる処理１２００を示すフロー図である。処理１２００は、１以上の処理により示されるような１以上の処理、ファンクション又はアクションを含む。処理１２００は、次世代ビデオコーディング処理の少なくとも一部を構成する。非限定的な具体例より、処理１２００は、図１のエンコーダシステム及び／又はここに説明される他の何れかのエンコーダシステム若しくはサブシステムにより実行されるような次世代ビデオ符号化処理の少なくとも一部を構成する。
【０１７８】
処理１２００は、処理１２０２の“ビデオシーケンスの入力ビデオフレームを受信”から開始され、ここでは、ビデオシーケンスの入力ビデオフレームが、例えば、エンコーダ１００を介し受信される。
【０１７９】
処理１２００は、処理１２０４の“ピクチャタイプと各ビデオフレームとを関連付け”に続き、ここでは、ピクチャタイプが、例えば、コンテンツ事前解析モジュール１０２を介しピクチャグループの各ビデオフレームに関連付けされる。例えば、ピクチャタイプは、Ｆ／Ｂピクチャ、Ｐピクチャ又はＩピクチャなどであってもよい。いくつかの具体例では、ビデオシーケンスはピクチャグループを有し、ここに説明される処理（例えば、処理１２０３〜１２１１）は、ピクチャグループのフレーム又はピクチャに対して実行され、当該処理は、グループの全てのフレーム又はピクチャについて繰り返され、その後、ビデオシーケンスの全てのピクチャグループに対して繰り返される。
【０１８０】
処理１２００は、処理１２０６の“ピクチャをタイル及び／又はスーパーフラグメント及び可能性のある予測パーティショニングに分割”に続き、ここで、ピクチャは、例えば、予測パーティション生成手段１０５を介しタイル又はスーパーフラグメント及び可能性のある予測パーティションに分割される。
【０１８１】
処理１２００は、処理１２１０の“可能性のある予測パーティショニングについて可能性のある予測エラーを決定”に続き、ここでは、可能性のある各予測パーティショニングについて、可能性のある予測エラーが決定される。例えば、各予測パーティショニング（及び関連する予測パーティション、予測及び予測パラメータ）について、予測エラーが決定される。例えば、可能性のある予測エラーを決定することは、予測ピクセルとオリジナルピクセル（例えば、予測パーティションのオリジナルピクセルデータなど）との差分化を含む。いくつかの具体例では、関連する予測パラメータが格納される。説明されるように、いくつかの具体例では、予測エラーデータパーティションは、モーフィング技術又はシンセサイジング技術の少なくとも１つを利用して生成された以前に復号化されたフレームに少なくとも部分的に基づき生成される予測エラーデータを含む。
【０１８２】
処理１２００は、処理１２１２の“予測パーティショニング及び予測タイプを選択し、パラメータを保存”に続き、ここで、予測パーティショニング及び予測タイプが選択され、関連するパラメータが保存される。いくつかの具体例では、最小の予測エラーを有する可能性のある予測パーティショニングが選択される。いくつかの具体例では、可能性のある予測パーティショニングが、レート歪み最適化（ＲＤＯ）に基づき選択される。
【０１８３】
処理１２００は、処理１２１４の“可能性のあるコーディングパーティショニングに対して変換を実行”に続き、ここで、各種ブロックサイズによる固定的又はコンテンツ適応的変換が、パーティション予測エラーデータの各種の可能性のあるコーディングパーティショニングに対して実行される。例えば、パーティション予測エラーデータは、複数のコーディングパーティションを生成するようパーティション化される。例えば、パーティション予測エラーデータは、ここに説明されるように、コーディングパーティション生成モジュール１０７のバイツリーコーディングパーティションモジュール又はｋ−ｄツリーコーディングパーティションモジュールによりパーティション化されてもよい。いくつかの具体例では、Ｆ／Ｂ又はＰピクチャに関連するパーティション予測エラーデータは、バイツリーコーディングパーティションモジュールによりパーティション化されてもよい。いくつかの具体例では、Ｉピクチャに関するビデオデータ（例えば、いくつかの具体例では、タイル又はスーパーフラグメント）は、ｋ−ｄツリーコーディングパーティションモジュールによりパーティション化されてもよい。いくつかの具体例では、コーディングパーティションモジュールは、スイッチを介し選択されてもよい。例えば、パーティションは、コーディングパーティション生成モジュール１０７により生成される。
【０１８４】
処理１２００は、処理１２１６の“最良のコーディングパーティショニング、変換ブロックサイズ及び実際の変換を決定”に続き、ここでは、最良のコーディングパーティショニング、変換ブロックサイズ及び実際の変換が決定される。例えば、各種コーディングパーティショニング（例えば、各種コーディングパーティションを有する）が、選択されたコーディングパーティショニング（説明されるように、変換ブロックサイズに一致しないようにパーティションをコーディングする際、コーディングパーティションを変換ブロックに更に分割することを含む）を決定するため、ＲＤＯ又は他の基準に基づき評価されてもよい。例えば、実際の変換（又は選択された変換）は、ここに説明されるようなコーディングパーティション又はブロックサイズに対して実行される何れかのコンテンツ適応的変換又は固定的変換を含む。
【０１８５】
処理１２００は、処理１２１８の“変換係数を量子化及びスキャン”に続き、ここでは、コーディングパーティション（及び／又は変換ブロック）に関する変換係数が、エントロピーコーディングのための準備において量子化及びスキャンされる。
【０１８６】
処理１２００は、処理１２２２の“コーディングパーティションインジケータ、ブロックサイズデータ、変換タイプデータ、量子化（Ｑｐ）及び量子化された変換係数、動きベクトル及びリファレンスタイプデータ、特性パラメータ（ｍｏｐ、ｓｙｐなど）”などの各タイル又はスーパーフラグメント復号化に関するデータをエントロピー符号化“に続き、ここでは、データがエントロピー符号化される。例えば、エントロピー符号化されたデータは、コーディングパーティションインジケータ、ブロックサイズデータ、変換タイプデータ、量子化（Ｑｐ）、量子化された変換係数、動きベクトル及びリファレンスタイプデータ、特性パラメータ（例えば、ｍｏｐ、ｓｙｐなど）など及び／又はこれらの組み合わせを含む。さらに又は代わりに、エントロピー符号化されたデータは、予測パーティショニング、予測パラメータ、選択されたコーディングパーティショニング、選択された特性データ、動きベクトルデータ、量子化された変換係数、フィルタパラメータ、選択データ（モード選択データなど）及びインジケータを含む。
【０１８７】
処理１２００は、処理１２２３の“ＤＤ／ＤＢフィルタを適用し、ピクセルデータを再構成し、ピクチャにアセンブリング”に続き、ここでは、デブロックフィルタリング（例えば、ＤＤ又はＤＢフィルタなど）が適用され、ピクセルデータが再構成され、ピクチャにアセンブリングされる。例えば、ローカル復号化ループ後（例えば、逆スキャン、逆変換及びコーディングパーティションのアセンブリングを含む）、予測エラーデータパーティションが生成される。予測エラーデータパーティションは、タイル又はスーパーフラグメントにアセンブリングされる再構成された予測パーティションを生成するため予測パーティションと加算される。アセンブリングされたタイル又はスーパーフラグメントは、任意的には、デブロックフィルタリング及び／又は品質復元フィルタリングを介し任意的に処理され、ピクチャを生成するためアセンブリングされる。
【０１８８】
処理１２００は、処理１２２４の“ＱＲ／ＬＦフィルタを適用し、リファレンスピクチャバッファに保存”に続き、ここでは、品質復元フィルタリング（例えば、ＱＲ又はＬＦフィルタリングなど）が適用され、アセンブリングされたピクチャがリファレンスピクチャバッファに保存される。例えば、ＤＤ／ＤＢフィルタリングに加えて又は代わりに、アセンブリングされたタイル又はスーパーフラグメントは、任意的には、品質復元フィルタリングを介し処理され、ピクチャを生成するためアセンブリングされる。ピクチャは、他の（例えば、以降の）ピクチャの予測のためのリファレンスピクチャとして復号化ピクチャバッファ１１９に保存される。
【０１８９】
処理１２００は、処理１２２５の“ＡＰ／ＡＭフィルタを適用し、モーフィング又はシンセサイジングされた予測リファレンスを生成するため特性パラメータを修正（例えば、モーフィング又はシンセサイジング）を決定し、予測を実行”に続き、ここでは、特性パラメータ及び予測の修正（例えば、モーフィング又はシンセサイジング）が実行され、適応的動きフィルタリング又は適応的精度フィルタリング（例えば、ＡＰ／ＡＭフィルタなど）が適用される。例えば、モーフィング又はシンセサイジングされた予測リファレンスを生成するための特性パラメータの修正（例えば、モーフィング又はシンセサイジング）が生成され、予測が実行されてもよい。さらに、適応的動きフィルタリング又は適応的精度フィルタリングが、処理における当該ポイントにおいて適用されてもよい。
【０１９０】
説明されるように、いくつかの具体例では、インター予測が実行されてもよい。いくつかの具体例では、４つまでの以前及び／又は以降に復号化されるピクチャ及び複数のモーフィング／シンセサイジング予測が、多数のリファレンスタイプ（例えば、リファレンスピクチャなど）を生成するのに利用されてもよい。例えば、“インター”モードでは、９つまでのリファレンスタイプがＰピクチャにおいてサポートされ、１０までのリファレンスタイプがＦ／Ｂピクチャについてサポートされてもよい。さらに、“マルチ”モードは、１つのリファレンスピクチャの代わりに、２つのリファレンスピクチャが利用され、Ｐ及びＦ／Ｂピクチャはそれぞれ３つと、８つまでのリファレンスタイプを可能にするタイプのインター予測モードを提供する。例えば、予測は、モーフィング技術又はシンセサイジング技術の少なくとも１つを利用して生成される以前に復号化されたフレームに基づくものであってもよい。このような具体例では、ビットストリーム（処理１２１２に関して後述される）は、予測パーティションに関連するフレームリファレンス、モーフィングパラメータ又はシンセサイジングパラメータを含む。
【０１９１】
処理１２００は、処理１２２９の“任意的にＥＰフィルタを適用及び／又は任意的にＦＩ／ＦＰフィルタを適用”に続き、ここでは、エンハンスされた予測されたパーティション（例えば、ＥＰフィルタリングなど）又はＦＩ／ＦＯフィルタリング（例えば、融合フィルタリング又は融合改善フィルタリングなど）が任意的に適用されてもよい。いくつかの具体例では、ある形態又はＦＩ／ＦＰフィルタ（融合改善フィルタリング／融合フィルタリング）を利用するか、又はＦＩ／ＦＰフィルタリングを利用しないかに関する判定がなされてもよい。ある形態又はＦＩ／ＦＰフィルタ（例えば、融合フィルタリング又は融合改善フィルタリングなど）が選択された予測されたパーティションに適用されるとき、選択された予測されたパーティション及び第２の選択された予測されたパーティションが、アセンブリングされたピクチャの少なくとも一部を生成するためアセンブリングされてもよい。ＦＩ／ＦＰフィルタリングは、アセンブリングされたピクチャの一部をフィルタリングするよう適用されてもよい。ＦＩ／ＦＰフィルタリングに関するＦＩ／ＦＰフィルタリングパラメータ（例えば、フィルタリングパラメータ又は融合改善フィルタリングパラメータ）が生成され、エントロピーコーダサブシステムに送信されてもよい。
【０１９２】
ＥＰフィルタリング又はＦＩ／ＦＰフィルタリングの双方が利用可能な実現形態では、予測パーティションのための選択された予測されたパーティションとしてエンハンスされた予測されたパーティション（例えば、ＥＰフィルタリング）又は予測されたパーティションデータを利用するかデコーダシステムに通知するインジケータが生成されてもよい。
【０１９３】
処理１２０２〜１２２９は、ここに説明されるようなエンコーダシステムにより利用されるビデオ符号化及びビットストリーム送信技術を提供する。
【０１９４】
図１３は、本開示の少なくともいくつかの実現形態により構成される一例となるビットストリーム１３００を示す。いくつかの具体例では、ビットストリーム１３００は、図１に示されるような出力ビットストリーム１１１及び／又は図２に示されるような入力ビットストリーム２０１に対応してもよい。提示の簡単化のため図２９に図示しないが、いくつかの具体例では、ビットストリーム１３００は、ヘッダ部分とデータ部分とを有する。各種具体例では、ビットストリーム１３００は、ここに説明されるようなビデオフレームの符号化に関連するデータ、インジケータ、インデックス値、モード選択データなどを含む。
【０１９５】
説明されるように、ビットストリーム１３００は、エンコーダ１００などのエンコーダにより生成され、及び／又は復号化されたビデオフレームがディスプレイデバイスを介し提示されるように復号化のためのデコーダ２００により受信される。
【０１９６】
図１４は、本開示の少なくともいくつかの実現形態により構成される一例となる処理１４００を示す説明図である。処理１４００は、１以上の処理により示されるような１以上の処理、ファンクション又はアクションを含む。処理１４００は、次世代ビデオコーディング処理の少なくとも一部を構成する。非限定的な具体例により、処理１４００は、ここに説明されるようなデコーダシステム２００及び／又は他の何れかのデコーダシステム若しくはサブシステムにより実行されるような次世代ビデオ復号化処理の少なくとも一部を構成する。
【０１９７】
処理１４００は、処理１４０２の“符号化されたビットストリームを受信”から開始され、ここでは、ビットストリームが受信される。例えば、ここに説明されるように符号化されたビットストリームは、ビデオデコーダにおいて受信される。いくつかの具体例では、ビットストリーム９００又は１３００がデコーダ２００を介し受信される。
【０１９８】
処理１４００は、処理１４０４の“コーディングパーティションインジケータ、ブロックサイズデータ、変換タイプデータ、量子化（Ｑｐ）、量子化された変換係数、動きベクトル及びリファレンスタイプデータ、特性パラメータ（例えば、ｍｏｐ、ｓｙｐなど）を決定するためエントロピー符号化されたビットストリームを復号化”に続き、ここで、ビットストリームは、コーディングパーティションインジケータ、ブロックサイズデータ、変換タイプデータ、量子化（Ｑｐ）、量子化された変換係数、動きベクトル及びリファレンスタイプデータ、特性パラメータ（例えば、ｍｏｐ、ｓｙｐなど）など及び／又はこれらの組み合わせを決定するため復号化される。さらに又はあるいは、エントロピー符号化されたデータは、予測パーティショニング、予測パラメータ、選択されたコーディングパーティショニング、選択された特性データ、動きベクトルデータ、量子化された変換係数、フィルタパラメータ、選択データ（モード選択データなど）及びインジケータを含む。
【０１９９】
処理１４００は、処理１４０６の“逆量子化された変換係数を生成するため量子化係数に対して量子化（Ｑｐ）を適用”に続き、ここでは、量子化（Ｑｐ）が、逆量子化された変換係数を生成するため、量子化された変換係数に適用される。例えば、処理１４０６は、適応的逆量子化モジュール２０３を介し適用される。
【０２００】
処理１４００は、処理１４０８の“復号化された予測エラーパーティションを生成するため、コーディング（又はイントラ予測）パーティションの復号化された各係数ブロックに対して、変換タイプ及びブロックサイズデータに基づき逆変換を実行”に続き、ここでは、コーディング（又はイントラ予測）パーティションの変換係数の各復号化ブロックに対して、変換タイプ及びブロックサイズデータに基づく逆変換が実行され、復号化された予測エラーパーティションを生成する。いくつかの具体例では、逆変換は固定的な逆変換を含む。いくつかの具体例では、逆変換は逆コンテンツ適応的変換を含む。このような具体例では、逆コンテンツ適応的変換の実行は、ここに説明されるように、復号化されたビデオデータの近傍ブロックに基づき逆コンテンツ適応的変換に関連するベーシスファンクションを決定することを含むものであってもよい。ここに説明されるような符号化のため利用される何れかの順方向変換は、関連する逆変換を利用した復号化に利用されてもよい。いくつかの具体例では、逆変換は適応的逆変換モジュール２０４により実行されてもよい。いくつかの具体例では、復号化された予測エラーパーティションはまた、コーディングパーティションアセンブラ２０５を介しコーディングパーティションをアセンブリングすることを含む。
【０２０１】
処理１４００は、処理１４２３の“ＤＤ／ＤＢフィルタを適用し、ピクセルデータを再構成し、ピクチャにアセンブリング”に続き、ここで、デブロックフィルタリング（例えば、ＤＤ又はＤＢフィルタ）が適用され、ピクセルデータが再構成され、ピクチャにアセンブリングされる。例えば、逆スキャン、逆変換及びコーディングパーティションのアセンブリング後、予測エラーデータパーティションが、タイル又はスーパーフラグメントにアセンブリングされる再構成される予測パーティションを生成するため予測パーティションと加算される。アセンブリングされたタイル又はスーパーフラグメントは、任意的にはデブロックフィルタリングを介し処理される。
【０２０２】
処理１４００は、処理１４２４の“ＱＲ／ＬＦフィルタを適用し、リファレンスピクチャバッファに保存”に続き、ここでは、品質復元フィルタリング（例えば、ＱＲ又はＬＦフィルタリングなど）が適用され、アセンブリングされたピクチャがリファレンスピクチャバッファに保存される。例えば、ＤＤ／ＤＢフィルタリングに加えて又は代わりに、アセンブリングされたタイル又はスーパーフラグメントは、任意的には品質復元フィルタリングを介し処理され、ピクチャを生成するためアセンブリングされる。ピクチャは、他の（例えば、以降の）ピクチャの予測のためのリファレンスピクチャとして復号化ピクチャバッファ１１９に保存される。
【０２０３】
処理１４００は、処理１４２５の“ＡＰ／ＡＭフィルタを適用し、予測のための修正されたリファレンスを生成するため復号化された修正特性（例えば、ｍｏｐ、ｓｙｐなど）を利用し、予測されたパーティションを生成するため、動きベクトル及びリファレンス情報、予測されたパーティション情報及び修正されたリファレンスを利用”に続き、ここでは、予測のため修正されたリファレンスが生成され、予測されたパーティションがまた生成され、適応的動きフィルタリング又は適応的精度フィルタリング（例えば、ＡＰ／ＡＭフィルタなど）が適用される。例えば、修正された予測のためのリファレンスが復号化された修正した特性（例えば、ｍｏｐ、ｓｙｐなど）に少なくとも部分的に基づき生成され、予測されたパーティションが動きベクトル及びリファレンス情報、予測されたパーティション情報並びに修正されたリファレンスに少なくとも部分的に基づき生成される。さらに、適応的動きフィルタリング又は適応的精度フィルタリングが、処理における当該ポイントにおいて適用されてもよい。
【０２０４】
処理１４００は、処理１４２９の“任意的にＥＰフィルタを適用及び／又は任意的にＦＩ／ＦＰフィルタを適用”に続き、ここでは、エンハンスされた予測されたパーティション（例えば、ＥＰフィルタリング）又はＦＩ／ＦＰフィルタリング（例えば、融合フィルタリング又は融合改善フィルタリング）が任意的に適用されてもよい。いくつかの具体例では、ある形態又はＦＩ／ＦＰフィルタ（融合改善フィルタリング／融合フィルタリング）を利用するか、又はＦＩ／ＦＰフィルタリングを利用しないかに関する決定がなされてもよい。ある形態又はＦＩ／ＦＰフィルタ（例えば、融合フィルタリング又は融合改善フィルタリングなど）が選択された予測されたパーティションに適用されるとき、選択された予測されたパーティション及び選択された第２の予測されたパーティションはアセンブリングされ、アセンブリングされたピクチャの少なくとも一部を生成する。ＦＩ／ＦＰフィルタリングは、アセンブリングされたピクチャの一部をフィルタリングするのに適用されてもよい。ＦＩ／ＦＰフィルタリングに関連するＦＩ／ＦＰフィルタリングパラメータ（例えば、フィルタリングパラメータ又は融合改善フィルタリングパラメータなど）が生成され、エントロピーコーダサブシステムに送信される。
【０２０５】
ＥＰフィルタリング又はＦＩ／ＦＰフィルタリングの双方が利用可能である実現形態では、予測パーティションのため選択された予測されたパーティションとしてエンハンスされた予測されたパーティション（例えば、ＥＰフィルタリング）又は予測されたパーティションデータを利用するかデコーダシステムに通知するインジケータが、エンコーダシステムから受信される。
【０２０６】
処理１４００は、処理１４３０の“再構成されたパーティションを生成するため、予測パーティションを復号化された予測エラーデータパーティションに加える”に続き、ここでは、予測パーティションが、再構成された予測パーティションを生成するため、復号化された予測エラーデータパーティションに加えられる。例えば、復号化された予測エラーデータパーティションは、加算手段２０６を介し関連する予測パーティションに加えられてもよい。
【０２０７】
処理１４００は、処理１４３２の“タイル又はスーパーフラグメントを生成するため、再構成されたパーティションをアセンブリング”に続き、ここでは、再構成された予測パーティションは、タイル又はスーパーフラグメントを生成するためアセンブリングされる。例えば、再構成された予測パーティションは、予測パーティションアセンブリングモジュール２０７を介しタイル又はスーパーフラグメントを生成するためアセンブリングされる。
【０２０８】
処理１４００は、処理１４３４の“復号化されたフルピクチャを生成するため、ピクチャのタイル又はスーパーフラグメントをアセンブリング”に続き、ここでは、ピクチャのタイル又はスーパーフラグメントが復号化されたフルピクチャを生成するためアセンブリングされる。例えば、任意的なデブロックフィルタリング及び／又は品質復元フィルタリング後、タイル又はスーパーフラグメントが復号化されたフルピクチャを生成するためアセンブリングされ、これは、復号化ピクチャバッファ２１０を介し格納され、及び／又は適応的ピクチャ再編成モジュール２１７及びコンテンツ事後復元モジュール２１８を介した処理後にディスプレイデバイスを介した提示のため送信される。
【０２０９】
図１５（Ａ）、１５（Ｂ）及び１５（Ｃ）は、本開示の少なくともいくつかの実現形態により構成される一例となるビデオコーディングシステム１６００及び処理におけるビデオコーディング処理１５００の説明図を提供する。図示された実現形態では、処理１５００は、アクション１５０１〜１５８０の１以上により示されるような１以上の処理、ファンクション又はアクションを含む。非限定的な具体例により、処理１５００が、図１６に関して更に後述されるように、図１のエンコーダ１００と図２のデコーダ２００とを含む一例となるビデオコーディングシステム１６００を参照して説明される。各種具体例では、処理１５００は、エンコーダとデコーダとの双方を含むシステムによって、又はエンコーダ（及び任意的にはデコーダ）を利用する１つのシステムと、デコーダ（及び任意的にはエンコーダ）を利用する他のシステムとのセパレートシステムによって実行されてもよい。また、上述されるように、エンコーダはエンコーダシステムの一部としてローカルデコーダを利用するローカル復号化ループを含むことに留意されたい。
【０２１０】
図示された実現形態では、ビデオコーディングシステム１６００は、ロジック回路１６５０など及び／又はこれらの組み合わせを含むものであってもよい。例えば、ロジック回路１６５０は、図１のエンコーダシステム１００及び／又は図２のデコーダシステム２００を有し、ここに説明されるエンコーダシステム又はサブシステムの何れか及び／又はここに説明されるデコーダシステム又はサブシステムの何れに関して説明されるような何れかのモジュールを有してもよい。図１５（Ａ）〜（Ｃ）に示されるようなビデオコーディングシステム１６００は、特定のモジュールに関する特定のブロック又はアクションのセットを含むが、これらのブロック又はアクションは、ここに示される特定のモジュール以外の異なるモジュールに関連するものであってもよい。図示される処理１５００は符号化及び復号化に関するものであるが、説明されるコンセプト及び／又は処理は符号化及び／又は復号化にセパレートに適用され、より一般にはビデオコーディングに適用されてもよい。
【０２１１】
処理１５００は、処理１５０１の“ビデオシーケンスの入力ビデオフレームを受信”から開始され、ここでは、ビデオシーケンスの入力ビデオフレームは、例えば、エンコーダ１００を介し受信される。
【０２１２】
処理１５００は、処理１５０２の“ピクチャグループの各ビデオフレームとピクチャタイプとを関連付ける”に続き、ここでは、ピクチャタイプが、例えば、コンテンツ事前解析モジュール１０２を介しピクチャグループの各ビデオフレームに関連付けされる。例えば、ピクチャタイプは、Ｆ／Ｂピクチャ、Ｐピクチャ又はＩピクチャなどであってもよい。いくつかの具体例では、ビデオシーケンスはピクチャグループを含み、ここに説明される処理（例えば、処理１５０３〜１５１１など）が、ピクチャグループのフレーム又はピクチャに対して実行され、当該処理はグループの全てのフレーム又はピクチャに対して繰り返され、その後、ビデオシーケンスの全てのピクチャグループに対して繰り返される。
【０２１３】
処理１５００は、処理１５０３の“ピクチャをタイル及び／又はスーパーフラグメント及び可能性のある予測パーティショニングに分割”に続き、ここでは、ピクチャは、例えば、予測パーティション生成手段１０５を介しタイル又はスーパーフラグメント及び可能性のある予測パーティションに分割される。
【０２１４】
処理１５００は、処理１５０４の各可能性のある予測パーティショニングについて、予測を実行し、予測パラメータを決定“に続き、ここでは、各可能性のある予測パーティショニングについて、予測が実行され、予測パラメータが決定される。例えば、可能性のある予測パーティショニングの範囲（それぞれが各種予測パーティションを有する）が生成され、関連する予測及び予測パラメータが決定される。例えば、当該予測は、特性及び動きに基づくマルチリファレンス予測又はイントラ予測を利用した予測を含む。
【０２１５】
説明されるように、いくつかの具体例では、インター予測が実行される。いくつかの具体例では、４つまでの以前及び／又は以降に復号化されるピクチャ及び複数のモーフィング／シンセサイジング予測が、多数のリファレンスタイプ（例えば、リファレンスピクチャなど）を生成するため利用されてもよい。例えば、“インター”モードでは、９つまでのリファレンスタイプがＰピクチャにおいてサポートされ、１０までのリファレンスタイプがＦ／Ｂピクチャについてサポートされる。さらに、“マルチ”モードは、１つのリファレンスピクチャの代わりに、２つのリファレンスピクチャが利用され、Ｐ及びＦ／Ｂピクチャがそれぞれ３つと、８つまでのリファレンスタイプを可能にするタイプのインター予測モードを提供する。例えば、予測は、モーフィング技術又はシンセサイジング技術の少なくとも１つを利用して生成される以前に復号化されたフレームに基づくものであってもよい。このような具体例では、ビットストリーム（処理１５１２に関して後述される）は、予測パーティションに関連するフレームリファレンス、モーフィングパラメータ又はシンセサイジングパラメータを含む。
【０２１６】
処理１５００は、処理１５０５の“各可能性のある予測パーティショニングについて、可能性のある予測エラーを決定”に続き、ここでは、各可能性のある予測パーティショニングについて、可能性のある予測エラーが決定される。例えば、各予測パーティショニング（及び関連する予測パーティション、予測及び予測パラメータ）について、予測エラーが決定される。例えば、可能性のある予測エラーの決定は、オリジナルピクセル（例えば、予測パーティションのオリジナルピクセルデータなど）と予測ピクセルとの差分化を含む。いくつかの具体例では、関連する予測パラメータが格納される。説明されるように、いくつかの具体例では、予測エラーデータパーティションは、モーフィング技術又はシンセサイジング技術の少なくとも１つを利用して生成される以前に復号化されたフレームに少なくとも部分的に基づき生成される予測エラーデータを含む。
【０２１７】
処理１５００は、処理１５０６の“予測パーティショニング及び予測タイプを選択し、パラメータを保存”に続き、ここでは、予測パーティショニング及び予測タイプが選択され、関連するパラメータが保存される。いくつかの具体例では、最小の予測エラーを有する可能性のある予測パーティショニングが選択される。いくつかの具体例では、可能性のある予測パーティショニングは、レート歪み最適化（ＲＤＯ）に基づき選択される。
【０２１８】
処理１５００は、処理１５０７の“パーティション予測エラーデータの各種可能性のあるコーディングパーティショニングに対して各種ブロックサイズによる固定的又はコンテンツ適応的変換を実行”に続き、ここでは、各種ブロックサイズによる固定的又はコンテンツ適応的変換が、パーティション予測エラーデータの各種可能性のあるコーディングパーティショニングに対して実行される。例えば、パーティション予測エラーデータは、複数のコーディングパーティションを生成するためパーティション化される。例えば、パーティション予測エラーデータは、ここに説明されるように、コーディングパーティション生成モジュール１０７のバイツリーコーディングパーティションモジュール又はｋ−ｄツリーコーディングパーティションモジュールによりパーティション化される。いくつかの具体例では、Ｆ／Ｂ又はＰピクチャに関連するパーティション予測エラーデータが、バイツリーコーディングパーティションモジュールによりパーティション化される。いくつかの具体例では、Ｉピクチャに関連するビデオデータ（例えば、いくつかの具体例では、タイル又はスーパーフラグメントなど）は、ｋ−ｄツリーコーディングパーティションモジュールによりパーティション化される。いくつかの具体例では、コーディングパーティションモジュールは、スイッチを介し選択されてもよい。例えば、パーティションは、コーディングパーティション生成モジュール１０７により生成される。
【０２１９】
処理１５００は、処理１５０８の“最良のコーディングパーティショニング、変換ブロックサイズ及び実際の変換を決定”に続き、ここでは、最良のコーディングパーティショニング、変換ブロックサイズ及び実際の変換が決定される。例えば、各種コーディングパーティショニング（例えば、各種コーディングパーティションを有する）は、選択されたコーディングパーティショニングを決定するため、ＲＤＯ又は他の基準に基づき評価される（説明されるように、変換ブロックサイズに一致しないようにパーティションをコーディングする際にコーディングパーティションを変換ブロックに更に分割することを含む）。例えば、実際の変換（又は選択された変換）は、ここに説明されるように、コーディングパーティション又はブロックサイズに対して実行される何れかのコンテンツ適応的変換又は固定的変換を含む。
【０２２０】
処理１５００は、処理１５０９の“変換係数を量子化及びスキャン”に続き、ここでは、コーディングパーティション（及び／又は変換ブロック）に関連する変換係数が、エントロピーコーディングのための準備において量子化及びスキャンされる。
【０２２１】
処理１５００は、処理１５１１の“各タイル又はスーパーフラグメントに関連するデータをエントロピー符号化”に続き、ここでは、各タイル又はスーパーフラグメントに関連するデータがエントロピー符号化される。例えば、各ビデオシーケンスの各ピクチャグループの各ピクチャの各タイル又はスーパーフラグメントに関連するデータがエントロピー符号化される。エントロピー符号化されたデータは、予測パーティショニング、予測パラメータ、選択されたコーディングパーティショニング、選択された特性データ、動きベクトルデータ、量子化された変換係数、フィルタパラメータ、選択データ（モード選択データなど）及びインジケータを含むものであってもよい。
【０２２２】
処理１５００は、処理１５１２の“ビットストリームを生成”に続き、ここでは、ビットストリームがエントロピー符号化されたデータに基づき生成される。説明されるように、いくつかの具体例では、ビットストリームは、予測パーティションに関連するフレーム又はピクチャリファレンス、モーフィングパラメータ又はシンセサイジングパラメータを含むものであってもよい。
【０２２３】
処理１５００は、処理１５１３の“ビットストリームを送信”に続き、ここでは、ビットストリームが送信される。例えば、ビデオコーディングシステム２４００は、アンテナ２４０２を介し出力ビットストリーム１１１、ビットストリーム２１００などを送信する（図３４を参照されたい）。
【０２２４】
処理１５００は、処理１５２０の“ピクセルデータを再構成し、ピクチャにアセンブリングし、リファレンスピクチャバッファに保存”に続き、ここでは、ピクセルデータが再構成され、ピクチャにアセンブリングされ、リファレンスピクチャバッファに保存される。例えば、ローカル復号化ループ後（例えば、逆スキャン、逆変換及びコーディングパーティションのアセンブリングを含む）、予測エラーデータパーティションが生成される。予測エラーデータパーティションは、タイル又はスーパーフラグメントにアセンブリングされる再構成された予測パーティションを生成するため、予測パーティションと加算される。アセンブリングされたタイル又はスーパーフラグメントは、任意的にはデブロックフィルタリング及び／又は品質復元フィルタリングを介し処理され、ピクチャを生成するためアセンブリングされる。ピクチャは、他の（例えば、以降の）ピクチャの予測のためのリファレンスピクチャとして復号化ピクチャバッファ１１９に保存される。
【０２２５】
処理１５００は、処理１５２３の“ＤＤ／ＤＢフィルタを適用し、ピクセルデータを再構成し、ピクチャにアセンブリング”に続き、ここでは、デブロックフィルタリング（例えば、ＤＤ又はＤＢフィルタなど）が適用され、ピクセルデータが再構成され、ピクチャにアセンブリングされる。例えば、ローカル復号化ループ後（例えば、逆スキャン、逆変換及びコーディングパーティションのアセンブリングを含む）、予測エラーデータパーティションが生成される。予測エラーデータパーティションは、タイル又はスーパーフラグメントにアセンブリングされる再構成された予測パーティションを生成するため、予測パーティションと加算される。アセンブリングされたタイル又はスーパーフラグメントは、任意的にはデブロックフィルタリング及び／又は品質復元フィルタリングを介し処理され、ピクチャを生成するようアセンブリングされる。
【０２２６】
処理１５００は、処理１５２４の“ＱＲ／ＬＦフィルタを適用し、リファレンスピクチャバッファに保存”に続き、ここでは、品質復元フィルタリング（例えば、ＱＲ又はＬＦフィルタリングなど）が適用され、アセンブリングされたピクチャがリファレンスピクチャバッファに保存される。例えば、ＤＤ／ＤＢフィルタリングに加えて又は代わりに、アセンブリングされたタイル又はスーパーフラグメントが、任意的には品質復元フィルタリングを介し処理され、ピクチャを生成するようアセンブリングされる。ピクチャは、他の（例えば、以降の）ピクチャの予測のためリファレンスピクチャとして復号化ピクチャバッファ１１９に保存される。
【０２２７】
処理１５００は、処理１５２５の“修正特性パラメータを生成”に続き、ここでは、修正された特性パラメータが生成される。例えば、第２修正予測リファレンスピクチャと、当該修正予測リファレンスピクチャに関連する第２修正特性パラメータとが、第２修正リファレンスピクチャが第１修正リファレンスピクチャと異なるタイプを有する第２復号化予測ピクチャに少なくとも部分的に基づき生成される。
【０２２８】
処理１５００は、処理１５２６の“修正予測リファレンスピクチャを生成”に続き、ここでは、修正予測リファレンスピクチャが生成され、例えば、第１修正予測リファレンスピクチャと、当該第１修正予測リファレンスピクチャに関連する第１修正特性パラメータとが、第１復号化予測リファレンスピクチャに少なくとも部分的に基づき生成される。
【０２２９】
処理１５００は、処理１５２７の“動きデータを生成”に続き、ここでは、動き推定データが生成される。例えば、現在ピクチャの予測パーティションに関連する動きデータが、第１修正予測リファレンスピクチャ又は第２修正予測リファレンスピクチャの１つに少なくとも部分的に基づき生成される。
【０２３０】
処理１５００は、処理１５２８の“ＡＰ／ＡＭフィルタを適用し、動き補償を実行”に続き、ここでは、動き補償が実行される。例えば、動き補償は、予測パーティションのパーティションデータを生成するため、第１修正予測リファレンスピクチャ又は第２修正予測リファレンスピクチャの少なくとも１つと動きデータとに少なくとも部分的に基づき実行され、適応的動きフィルタリング又は適応的精度フィルタリング（例えば、ＡＰ／ＡＭフィルタ）が適用される。処理１５００は、当該情報を処理１５０４にフィードバックし、ここで、各復号化予測エラーパーティション（例えば、ゼロ予測エラーパーティションを含む）が、再構成された予測パーティションを生成するため、対応する予測パーティションに加えられる。さらに、適応的動きフィルタリング又は適応的精度フィルタリングが、処理における当該ポイントにおいて適用される。
【０２３１】
処理１５００は、処理１５２９の“任意的にＥＰを適用”に続き、ここでは、エンハンスされた予測されたパティション（例えば、ＥＰフィルタリング）が任意的に適用される。いくつかの具体例では、ＥＰフィルタリング又はＦＩ／ＦＰフィルタリングの双方が利用可能である場合、予測パーティションのため選択された予測されたパーティションとしてエンハンスされた予測されたパーティション（例えば、ＥＰフィルタリング）又は予測されたパーティションデータを利用するかデコーダシステムに通知するインジケータが生成される。
【０２３２】
処理１５００は、処理１５３０の“任意的にＦＩ／ＦＰフィルタに適用”に続き、ここでは、ＦＩ／ＦＰフィルタリング（例えば、融合フィルタリング又は融合改善フィルタリング）が、任意的に適用されてもよい。いくつかの具体例では、ある形態又はＦＩ／ＦＰフィルタ（融合改善フィルタリング／融合フィルタリング）を利用するか、又はＦＩ／ＦＰフィルタリングを利用しないかに関する決定がなされる。ある形態又はＦＩ／ＦＰフィルタ（例えば、融合フィルタリング又は融合改善フィルタリング）が選択された予測されたパーティションに適用されるとき、選択された予測されたパーティションと第２の選択された予測されたパーティションとが、アセンブリングされたピクチャの少なくとも一部を生成するためアセンブリングされる。ＦＩ／ＦＰフィルタリングに関連するＦＩ／ＦＰフィルタリングパラメータ（例えば、フィルタリングパラメータ又は融合改善フィルタリングパラメータなど）が生成され、エントロピーコーダサブシステムに送信される。
【０２３３】
処理１５０１〜１５３０は、ここに説明されるようなエンコーダシステムにより利用されるビデオ符号化及びビットストリーム送信技術を提供する。以下の処理である処理１５５４〜１５６８は、ここに説明されるようなデコーダシステムにより利用されるビデオ復号化及びビデオディスプレイ技術を提供する。
【０２３４】
処理１５００は、処理１５５４の“ビットストリームを受信”に続き、ここでは、ビットストリームが受信される。例えば、入力ビットストリーム２０１、ビットストリーム２１００などがデコーダ２００を介し受信される。いくつかの具体例では、ビットストリームは、上述されたようなコーディングパーティションに関するデータ、１以上のインジケータ及び／又はコーディングパーティションを規定するデータを含むものであってもよい。いくつかの具体例では、ビットストリームは、予測パーティショニング、予測パラメータ、選択されたコーディングパーティショニング、選択された特性データ、動きベクトルデータ、量子化された変換係数、フィルタパラメータ、選択データ（モード選択データなど）及びインジケータを含むものであってもよい。
【０２３５】
処理１５００は、処理１５５５の“ビットストリームを復号化”に続き、ここでは、受信したビットストリームが、例えば、適応的エントロピーデコーダモジュール２０２を介し復号化される。例えば、受信したビットストリームは、予測パーティショニング、予測パラメータ、選択されたコーディングパーティショニング、選択された特性データ、動きベクトルデータ、量子化された変換係数、フィルタパラメータ、選択データ（モード選択データなど）及びインジケータを決定するためエントロピー復号化される。
【０２３６】
処理１５００は、処理１５５６の“各コーディングパーティションの各ブロックに対して逆スキャン及び逆量子化を実行”に続き、ここでは、逆スキャン及び逆量子化が、処理される予測パーティションの各コーディングパーティションの各ブロックに対して実行される。例えば、逆スキャン及び逆量子化が、適応的逆量子化モジュール２０３を介し実行される。
【０２３７】
処理１５００は、処理１５５７の“復号化予測エラーデータパーティションを決定するため、変換係数を復号化するための固定的又はコンテンツ適応的逆変換を実行”に続き、ここでは、固定的又はコンテンツ適応的逆変換が、復号化予測エラーデータパーティションを決定するため、変換係数を復号化するため実行される。例えば、逆変換は、ハイブリッドパラメトリックＨａａｒ逆変換がパラメトリック変換方向の方向においてパラメトリックＨａａｒ逆変換と、パラメトリック変換方向に直交する方向において離散コサイン逆変換とを有するように、ハイブリッドパラメトリックＨａａｒ逆変換などの逆コンテンツ適応的変換を含む。いくつかの具体例では、固定的逆変換は、離散コサイン逆変換又は離散コサイン逆変換近似手段を含む。例えば、固定的又はコンテンツ適応的変換は、適応的逆変換モジュール２０４を介し実行される。説明されるように、コンテンツ適応的逆変換は、例えば、復号化された近傍パーティション又はブロックなどの他の以前に復号化されたデータに基づくものであってもよい。いくつかの具体例では、復号化された予測エラーデータパーティションの生成は、コーディングパーティションアセンブラモジュール２０５を介し復号化されたコーディングパーティションをアセンブリングすることを含む。
【０２３８】
処理１５００は、処理１５５８の“各予測パーティションについて予測ピクセルデータを生成”に続き、ここでは、予測ピクセルデータが、各予測パーティションについて生成される。例えば、予測ピクセルデータは、選択された予測タイプ（例えば、特性及び動き又はイントラ若しくは他のタイプなどに基づく）及び関連する予測パラメータを用いて生成される。
【０２３９】
処理１５００は、処理１５５９の“再構成された予測パーティションを生成するため、各復号化予測エラーパーティションに対応する予測パーティションを加算”に続き、ここでは、各復号化予測エラーパーティション（例えば、ゼロの予測エラーパーティションを含む）が、再構成された予測パーティションを生成するため、対応する予測パーティションに加えられる。例えば、予測パーティションは、図２に示される復号化ループを介し生成され、加算手段２０６を介し復号化予測エラーパーティションに加算される。
【０２４０】
処理１５００は、処理１５６０の“復号化されたタイル又はスーパーフラグメントを生成するため、再構成された予測パーティションをアセンブリング”に続き、ここでは、再構成された予測パーティションが、復号化されたタイル又はスーパーフラグメントを生成するためアセンブリングされる。例えば、予測パーティションは、予測パーティションアセンブリングモジュール２０７を介し復号化されたタイル又はスーパーフラグメントを生成するためアセンブリングされる。
【０２４１】
処理１５００は、処理１５６１の“最終的な復号化されたタイル又はスーパーフラグメントを生成するため、デブロックフィルタリング及び／又はＱＲフィルタリングを適用”に続き、ここでは、任意的なデブロックフィルタリング及び／又は品質復元フィルタリングが、最終的な復号化されたタイル又はスーパーフラグメントを生成するため、復号化されたタイル又はスーパーフラグメントに適用される。例えば、任意的なデブロックフィルタリングがデブロックフィルタリングモジュール２０８を介し適用され、及び／又は任意的な品質復元フィルタリングが品質復元フィルタリングモジュール２０９を介し適用される。
【０２４２】
処理１５００は、処理１５６２の“復号化されたビデオピクチャを生成するため復号化されたタイル又はスーパーフラグメントをアセンブリングし、リファレンスピクチャバッファに保存”に続き、ここでは、復号化（又は最終的に復号化）されたタイル又はスーパーフラグメントが、復号化されたビデオピクチャを生成するためアセンブリングされ、復号化されたビデオピクチャは、以降の予測に利用するためリファレンスピクチャバッファ（例えば、復号化ピクチャバッファ２１０）に保存される。
【０２４３】
処理１５００は、処理１５６３の“ディスプレイデバイスを介した提示のため復号化されたビデオフレームを送信”に続き、ここでは、復号化されたビデオフレームがディスプレイデバイスを介した提示のため送信される。例えば、復号化されたビデオピクチャは、適応的ピクチャ再編成手段２１７及びコンテンツ事後復元モジュール２１８を介し更に処理され、ユーザに提示するためディスプレイビデオ２１９のビデオフレームとしてディスプレイデバイスに送信される。例えば、ビデオフレームは、提示のためディスプレイデバイス２４０５（図３４に図示）に送信されてもよい。
【０２４４】
処理１５００は、処理１５７３の“ＤＤ／ＤＢフィルタを適用し、ピクセルデータを再構成し、ピクチャにアセンブリング”に続き、ここでは、デブロックフィルタリング（例えば、ＤＤ又はＤＢフィルタ）が適用され、ピクセルデータが再構成され、ピクチャにアセンブリングされる。例えば、逆スキャン、逆変換及びコーディングパーティションのアセンブリング後、予測エラーデータパーティションが、タイル又はスーパーフラグメントにアセンブリングされる再構成された予測パーティションを生成するため、予測パーティションにより加算される。アセンブリングされたタイル又はスーパーフラグメントが、任意的にはデブロックフィルタリングを介し処理される。
【０２４５】
処理１５００は、処理１５７４の“ＱＲ／ＬＦフィルタを適用し、リファレンスピクチャバッファに保存”に続き、ここでは、品質復元フィルタリング（例えば、ＱＲ又はＬＦフィルタリング）が適用され、アセンブリングされたピクチャがリファレンスピクチャバッファに保存される。例えば、ＤＤ／ＤＢフィルタリングに加えて又は代わりに、アセンブリングされたタイル又はスーパーフラグメントが任意的に品質復元フィルタリングを介し処理され、ピクチャを生成するためアセンブリングされる。ピクチャは、他の（例えば、以降の）ピクチャの予測のためのリファレンスピクチャとしてピクチャバッファに保存されてもよい。
【０２４６】
処理１５００は、処理１５７６の“修正予測リファレンスピクチャを生成”に続き、ここでは、修正予測リファレンスピクチャが生成され、例えば、第３修正予測リファレンスピクチャの少なくとも一部が、第３修正特性パラメータに少なくとも部分的に基づき生成される。同様に、第４修正予測リファレンスピクチャの少なくとも一部が、関連する第２修正特性パラメータに少なくとも部分的に基づき生成される。
【０２４７】
処理１５００は、処理１５７７の“動きデータを生成”に続き、ここでは、動き推定データが生成される。例えば、現在のピクチャの予測パーティションに関連する動きデータが、第３修正予測リファレンスピクチャ又は第３修正予測リファレンスピクチャの１つに少なくとも部分的に基づき生成される。
【０２４８】
処理１５００は、処理１５７８の“ＡＰ／ＡＭフィルタを適用し、動き補償を実行”に続き、ここでは、動き補償が実行され、適応的動きフィルタリング又は適応的精度フィルタリング（例えば、ＡＰ／ＡＭフィルタ）が適用される。例えば、動き補償が、予測パーティションの予測パーティションデータを生成するため、動きベクトルと、第３修正予測リファレンスピクチャ又は第４修正予測リファレンスピクチャの少なくとも１つとに少なくとも部分的に基づき実行される。処理１３００は、当該情報を処理１５５９にフィードバックし、ここでは、各復号化予測エラーパーティション（例えば、ゼロ予測エラーパーティションを含む）が、再構成された予測パーティションを生成するため、対応する予測パーティションに加算されてもよい。さらに、適応的動きフィルタリング又は適応的精度フィルタリングが、処理における当該ポイントにおいて適用されてもよい。
【０２４９】
処理１５００は、処理１５７９の“任意的にＥＰフィルタを適用”に続き、ここでは、エンハンスされた予測されたパーティション（例えば、ＥＰフィルタリング）が任意的に適用される。いくつかの具体例では、ＥＰフィルタリング又はＦＩ／ＦＰフィルタリングの双方が利用可能である場合、予測パーティションのため選択された予測されたパーティションとしてエンハンスされた予測されたパーティション（例えば、ＥＰフィルタリング）又は予測されたパーティションデータを利用するかデコーダシステムに通知するインジケータが、エンコーダシステムから受信される。
【０２５０】
処理１５００は、処理１５８０の“任意的にＦＩ／ＦＰフィルタを適用”に続き、ここでは、ＦＩ／ＦＰフィルタリング（例えば、融合フィルタリング又は融合改善フィルタリング）が任意的に適用される。いくつかの具体例では、ある形態又はＦＩ／ＦＰフィルタ（融合改善フィルタリング／融合フィルタリング）を利用するか、又はＦＩ／ＦＰフィルタリングを利用しないかに関する決定がなされてもよい。ある形態又はＦＩ／ＦＰフィルタ（例えば、融合フィルタリング又は融合改善フィルタリング）が選択された予測されたパーティションに適用されるとき、選択された予測されたパーティションと第２の選択された予測されたパーティションとが、アセンブリングピクチャの少なくとも一部を生成するためアセンブリングされてもよい。ＦＩ／ＦＰフィルタリングは、アセンブリングされたピクチャの一部をフィルタリングするため適用されてもよい。ＦＩ／ＦＰフィルタリングに関連するＦＩ／ＦＰフィルタリングパラメータ（例えば、フィルタリングパラメータ又は融合改善フィルタリングパラメータ）が生成され、エントロピーコーダシステムに送信される。
【０２５１】
処理１５００は、ここに説明されるようなコーダシステムの何れかを介し実現されてもよい。さらに、処理１５００は、予測エラーデータパーティション、オリジナルデータパーティション又はウェーブレットデータなどのビデオデータの何れかの個数のインスタンス化に対してシリアルに又はパラレルに繰り返されてもよい。
【０２５２】
ここの一例となる処理の実現形態が図示された順序により示される全ての処理の実行を含むが、本開示はこれに限定されず、各種具体例では、ここでの一例となる処理の実現形態は、図示された処理の一部のみ及び／又は図示されたものと異なる順序による実行を含むものであってもよい。
【０２５３】
図１６は、本開示の少なくともいくつかの実現形態により構成される一例となるビデオコーディングシステム１６００の説明図である。図示された実現形態では、ビデオコーディングシステム１６００は、イメージングデバイス１６０１、ビデオエンコーダ１００及び／又は処理ユニット１６２０のロジック回路１６５０を介し実現されるビデオエンコーダ、ビデオデコーダ２００及び／又は処理ユニット１６２０のロジック回路１６５０を介し実現されるビデオデコーダ、アンテナ１６０２、１以上のプロセッサ１６０３、１以上のメモリストア２００４及び／又はディスプレイデバイス１６０５を有してもよい。
【０２５４】
図示されるように、イメージングデバイス１６０１、アンテナ１６０２、処理ユニット１６２０、ロジック回路１６５０、ビデオエンコーダ１００、ビデオデコーダ２００、プロセッサ１６０３、メモリストア１６０４及び／又はディスプレイデバイス１６０５は、互いに通信可能である。説明されるように、ビデオエンコーダ１００及びビデオデコーダ２００の双方により示されているが、ビデオコーディングシステム１６００は、各種具体例においてビデオエンコーダ１００のみ又はビデオデコーダ２００のみを有してもよい。
【０２５５】
図示されるように、いくつかの具体例では、ビデオコーディングシステム１６００はアンテナ１６０２を有する。アンテナ１６０２は、例えば、ビデオデータの符号化されたビットストリームを送信又は受信するよう構成されてもよい。さらに、いくつかの具体例では、ビデオコーディングシステム１６００はディスプレイデバイス１６０５を有してもよい。ディスプレイデバイス１６０５は、ビデオデータを提示するよう構成されてもよい。図示されるように、いくつかの具体例では、ロジック回路１６５０は、処理ユニット１６２０を介し実現されてもよい。処理ユニット１６２０は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）ロジック、グラフィクスプロセッサ、汎用プロセッサなどを含む。ビデオコーディングシステム１６００はまた、同様にＡＳＩＣロジック、グラフィクスプロセッサ、汎用プロセッサなどを有してもよい任意的なプロセッサ１６０３を有してもよい。いくつかの具体例では、ロジック回路１６５０は、ハードウェア又はビデオコーディング専用ハードウェアなどを介し実現され、プロセッサ１６０３は、汎用ソフトウェア又はオペレーティングシステムなどを実現してもよい。さらに、メモリストア１６０４は、揮発性メモリ（例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）など）又は不揮発性メモリ（例えば、フラッシュメモリなど）などの何れかのタイプのメモリであってもよい。非限定的な具体例では、メモリストア１６０４は、キャッシュメモリにより実現されてもよい。いくつかの具体例では、ロジック回路１６５０は、メモリストア１６０４（例えば、画像バッファの実現のため）にアクセスしてもよい。他の具体例では、ロジック回路１６５０及び／又は処理ユニット１６２０は、画像バッファなどの実現のためメモリストア（例えば、キャッシュなど）を有してもよい。
【０２５６】
いくつかの具体例では、ロジック回路を介し実現されるビデオエンコーダ１００は、画像バッファ（例えば、処理ユニット１６２０又はメモリストア１６４０などを介し）及びグラフィクス処理ユニット（例えば、処理ユニット１６２０などを介し）を有してもよい。グラフィクス処理ユニットは画像バッファに通信結合されてもよい。グラフィクス処理ユニットは、図１、３及び５に関して説明されるような各種モジュールを実現するため、ロジック回路１６５０を介し実現されるようなビデオエンコーダ１００を有する。例えば、グラフィクス処理ユニットは、エントロピーエンコーダロジック回路などを有してもよい。ロジック回路は、ここに説明されるような各種処理を実行するよう構成される。例えば、エントロピーエンコーダロジック回路は、エントロピー符号化のための異なるタイプの第１ビデオデータ及び第２ビデオデータを受信し、第１エントロピー符号化技術が適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の少なくとも１つから構成されるように、第１ビデオデータに関連するパラメータに少なくとも部分的に基づき第１ビデオデータの第１エントロピー符号化技術を決定し、第１符号化技術を用いて第１圧縮ビデオデータを生成するため第１ビデオデータと、第２符号化技術を用いて第２圧縮ビデオデータを生成するため第２ビデオデータとをエントロピー符号化し、出力ビットストリームを生成するため第１圧縮ビデオデータ及び第２圧縮ビデオデータをアセンブリングするよう構成されてもよい。ビデオデコーダ２００は同様に実現されてもよい。
【０２５７】
いくつかの具体例では、ビデオコーディングシステム１６００のアンテナ１６０２は、ビデオデータのエントロピー符号化されたビットストリームを受信するよう構成される。説明されるように、当該ビットストリームは、２以上の圧縮ビデオデータタイプを有してもよい。ビデオコーディングシステム１６００はまた、アンテナ１６０２に結合され、符号化されたビットストリームを復号化するよう構成されるビデオデコーダ２００を有してもよい。例えば、ビデオデコーダ２００は、第１圧縮ビデオデータ及び第２圧縮ビデオデータを決定するため、エントロピー符号化されたビットストリームをデアセンブリングし、第１エントロピー復号化技術が適応的シンボルラン可変長コーディング技術又は適応的プロキシ可変長コーディング技術の少なくとも１つを構成するように、第１圧縮ビデオデータの第１エントロピー復号化技術を決定し、第１ビデオデータを生成するため第１エントロピー復号化技術に基づき第１圧縮ビデオデータと、第２ビデオデータを生成するため第２エントロピー復号化技術に基づき第２圧縮ビデオデータとをエントロピー復号化し、ビデオフレームを生成するため第１ビデオデータ及び第２ビデオデータを復号化するよう構成されてもよい。
【０２５８】
実施例では、ここに説明される特徴は、１以上のコンピュータプログラムプロダクトにより提供される命令に応答して実行されてもよい。このようなプログラムプロダクトは、例えば、プロセッサなどにより実行されると、ここに説明される機能を提供する命令を提供する信号担持媒体を含むものであってもよい。コンピュータプログラムプロダクトは、１以上のマシーン可読媒体の何れかの形態により提供されてもよい。従って、例えば、１以上のプロセッサコアを含むプロセッサは、１以上のマシーン可読媒体によりプロセッサに搬送されるプログラムコード及び／又は命令若しくは命令セットに応答して、ここに説明される１以上の特徴を実行してもよい。一般に、マシーン可読媒体は、ここに説明されるデバイス及び／又はシステムの何れかにここに説明される特徴の少なくとも一部を実現されるプログラムコード及び／又は命令若しくは命令セットの形態によるソフトウェアを搬送してもよい。
【０２５９】
図１７は、本開示の少なくともいくつかの実現形態により構成される一例となるシステム１７００の説明図である。各種実現形態では、システム１７００は、このコンテクストに限定されるものでないが、メディアシステムであってもよい。例えば、システム１７００は、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、携帯コンピュータ、パームトップコンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯電話、コンビネーション携帯電話／ＰＤＡ、テレビ、スマートデバイス（例えば、スマートフォン、スマートタブレット又はスマートテレビなど）、モバイルインターネットデバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイス、カメラ（例えば、ポイント・アンド・カメラ、スーパーズームカメラ、デジタルシングルレンズリフレクス（ＤＳＬＲ）カメラなど）などに搭載されてもよい。
【０２６０】
各種実現形態では、システム１７００は、ディスプレイ１７２０に結合されるプラットフォーム１７０２を有する。プラットフォーム１７０２は、コンテンツサービスデバイス１７３０、コンテンツ配信デバイス又は他の同様のコンテンツソースなどのコンテンツデバイスからコンテンツを受信する。１以上のナビゲーション機能を有するナビゲーションコントローラ１７５０は、例えば、プラットフォーム１７０２及び／又はディスプレイ１７２０などとインタラクトするのに利用されてもよい。これらのコンポーネントのそれぞれは、より詳細に後述される。
【０２６１】
各種実現形態では、プラットフォーム１７０２は、チップセット１７０５、プロセッサ１７１０、メモリ１７１２、アンテナ１７１３、ストレージ１７１４、グラフィクスサブシステム１７１５、アプリケーション１７１６及び／又はラジオ１７１８の何れかの組み合わせを含むものであってもよい。チップセット１７０５は、プロセッサ１７１０、メモリ１７１２、ストレージ１７１４、グラフィクスサブシステム１７１５、アプリケーション１７１６及び／又はラジオ１７１８間の相互通信を提供する。例えば、チップセット１７０５は、ストレージ１７１４との相互通信を提供可能なストレージアダプタ（図示せず）を有してもよい。
【０２６２】
プロセッサ１７１０は、ＣＩＳＣ（Ｃｏｍｐｌｅｘ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ）又はＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ）プロセッサ、ｘ８６命令セット互換的プロセッサ、マルチコア又は他の何れかのマイクロプロセッサ若しくは中央処理ユニット（ＣＰＵ）として実現されてもよい。各種実現形態では、プロセッサ１７１０は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサなどであってもよい。
【０２６３】
メモリ１７１２は、限定することなく、ＲＡＭ、ＤＲＡＭ又はＳＲＡＭなどの揮発性メモリデバイスとして実現されてもよい。
【０２６４】
ストレージ１７１４は、限定することなく、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部ストレージデバイス、付属ストレージデバイス、フラッシュメモリ、バッテリバックアップＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）及び／又はネットワークアクセス可能ストレージデバイスなどの不揮発性ストレージデバイスとして実現されてもよい。各種実現形態では、ストレージ１７１４は、例えば、複数のハードドライブが含まれるとき、貴重なデジタルメディアのためのストレージパフォーマンスエンハンストプロテクションを増大させるための技術を含むものであってもよい。
【０２６５】
グラフィクスサブシステム１７１５は、ディスプレイのためのスチル又はビデオなどの画像の処理を実行してもよい。グラフィクスサブシステム１７１５は、例えば、グラフィクス処理ユニット（ＧＰＵ）又はビジュアル処理ユニット（ＶＰＵ）などであってもよい。アナログ又はデジタルインタフェースは、グラフィクスサブシステム１７１５及びディスプレイ１７２０を通信結合するのに利用されてもよい。例えば、インタフェースは、Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａインタフェース、ＤｉｓｐｌａｙＰｏｒｔ、無線ＨＤＭＩ（登録商標）及び／又は無線ＨＤ準拠技術の何れかであってもよい。グラフィクスサブシステム１７１５は、プロセッサ１７１０又はチップセット１７０５に統合されてもよい。いくつかの実現形態では、グラフィクスサブシステム１７１５は、チップセット１７０５に通信結合されるスタンドアローンデバイスであってもよい。
【０２６６】
ここに説明されるグラフィクス及び／又はビデオ処理技術は、各種ハードウェアアーキテクチャにより実現されてもよい。例えば、グラフィクス及び／又はビデオ機能は、チップセット内に統合されてもよい。あるいは、離散的なグラフィクス及び／又はビデオプロセッサが利用されてもよい。更なる他の実現形態として、グラフィクス及び／又はビデオファンクションは、マルチコアプロセッサを含む汎用プロセッサにより提供されてもよい。更なる実施例では、当該ファンクションは家電デバイスにより実現されてもよい。
【０２６７】
ラジオ１７１８は、各種の適切な無線通信技術を利用して信号を送受信することが可能な１以上のラジオを有してもよい。このような技術は、１以上の無線ネットワークを介した通信を伴うものであってもよい。一例となる無線ネットワークは、（限定することなく）、無線ローカルエリアネットワーク（ＷＬＡＮ）、無線パーソナルエリアネットワーク（ＷＰＡＮ）、無線メトロポリタンエリアネットワーク（ＷＭＡＮ）、セルラネットワーク及び衛星ネットワークを含む。このようなネットワークを介した通信では、ラジオ１７１８は、何れかのバージョンの１以上の適用可能な規格に従って動作してもよい。
【０２６８】
各種実現形態では、ディスプレイ１７２０は、何れかのテレビタイプモニタ又はディスプレイを含むものであってもよい。ディスプレイ１７２０は、例えば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビ類似デバイス及び／又はテレビなどを含むものであってもよい。ディスプレイ１７２０は、デジタル及び／又はアナログであってもよい。各種実現形態では、ディスプレイ１７２０は、ホログラフィックディスプレイであってもよい。また、ディスプレイ１７２０は、ビジュアルプロジェクションを受信するトランスペアレント平面であってもよい。このようなプロジェクションは、情報、画像及び／又はオブジェクトの各種形態を搬送してもよい。例えば、このようなプロジェクションは、モバイル拡張リアリティ（ＭＡＲ）アプリケーションのためのビジュアルオーバレイであってもよい。１状のソフトウェアアプリケーション１７１６の制御下において、プラットフォーム１７０２はディスプレイ１７２０上にユーザインタフェース１７２２を表示する。
【０２６９】
各種実現形態では、コンテンツサービスデバイス１７３０は、何れかの国内、国際及び／又は独立したサービスにより運営されてもよく、例えば、インターネットを介しプラットフォーム１７０２にアクセス可能であってもよい。コンテンツサービスデバイス１７３０は、プラットフォーム１７０２及び／又はディスプレイ１７２０に結合されてもよい。プラットフォーム１７０２及び／又はコンテンツサービスデバイス１７３０は、ネットワーク１７６０との間でメディア情報を通信（例えば、送信及び／又は受信）するため、ネットワーク１７６０に結合されてもよい。コンテンツ配信デバイス１７４０はまた、プラットフォーム１７０２及び／又はディスプレイ１７２０に結合されてもよい。
【０２７０】
各種実現形態では、コンテンツサービスデバイス１７３０は、デジタル情報及び／又はコンテンツを配信可能なケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、インターネット対応デバイス又は機器と、ネットワーク１７６０を介し又は直接的にコンテンツプロバイダとプラットフォーム１７０２及び／又はディスプレイ１７２０との間でコンテンツを一方向又は双方向に通信可能な他の何れか同様のデバイスとを含むものであってもよい。コンテンツはシステム１７００のコンポーネントの何れか１つ及びコンテンツプロバイダとの間でネットワーク１７６０を介し一方向及び／又は双方向に通信されることが理解されるであろう。コンテンツの具体例は、例えば、ビデオ、音楽、医療及びゲーム情報などを含む何れかのメディア情報を含むものであってもよい。
【０２７１】
コンテンツサービスデバイス１７３０は、メディア情報、デジタル情報及び／又は他のコンテンツを含むケーブルテレビプログラミングなどのコンテンツを受信する。コンテンツプロバイダの具体例は、何れかのケーブル又は衛星テレビ、ラジオ又はインターネットコンテンツプロバイダを含むものであってもよい。提供される具体例は、何れかの方法により本開示により実現形態を限定することを意図していない。
【０２７２】
各種実現形態では、プラットフォーム１７０２は、１以上のナビゲーション機能を有するナビゲーションコントローラ１７５０から制御信号を受信する。コントローラ１７５０のナビゲーション機能は、例えば、ユーザインタフェース１７２２とインタラクトするのに利用されてもよい。各種実施例では、ナビゲーションコントローラ１７５０は、ユーザが空間（例えば、連続的で多次元など）データをコンピュータに入力することを可能にするコンピュータハードウェアコンポーネント（特に、ヒューマンインタフェースデバイス）であってもよいポインティングデバイスであってもよい。グラフィカルユーザインタフェース（ＧＵＩ）、テレビ及びモニタなどの多数のシステムは、ユーザが物理的なジェスチャを利用してコンピュータ又はテレビへのデータを制御及び提供することを可能にする。
【０２７３】
コントローラ１７５０のナビゲーション機能の動きは、ディスプレイ上に表示されるポインタ、カーソル、フォーカスリング又は他のビジュアルインジケータの動きによりディスプレイ（例えば、ディスプレイ１７２０）上に複製されてもよい。例えば、ソフトウェアアプリケーション１７１６の制御の下、ナビゲーションコントローラ１７５０に配置されるナビゲーション機能が、例えば、ユーザインタフェース１７２２に表示されるバーチャルナビゲーション機能にマッピングされてもよい。各種実施例では、コントローラ１７５０は、セパレートコンポーネントでなく、プラットフォーム１７０２及び／又はディスプレイ１７２０に統合されてもよい。しかしながら、本開示は、ここに図示又は説明される要素又はコンテクストに限定されない。
【０２７４】
各種実現形態では、ドライバ（図示せず）は、例えば、有効になると、ユーザが初期的なブートアップ後にボタンをタッチすることによってテレビなどのプラットフォーム１７０２を即座にオン及びオフすることを可能にするための技術を含むものであってもよい。プログラムロジックは、プラットフォーム１７０２が、“オフ”に切り替えられるときでさえ、メディアアダプタ、他のコンテンツサービスデバイス１７３０又はコンテンツ配信デバイス１７４０にコンテンツをストリーミングすることを可能にする。さらに、チップセット１７０５は、例えば、５．１サラウンドサウンドオーディオ及び／又は高品位７．１サラウンドサウンドオーディオのためのハードウェア及び／又はソフトウェアサポートを含むものであってもよい。ドライバは、一体化されたグラフィクスプラットフォームのためのグラフィクスドライバを有してもよい。各種実施例では、グラフィクスドライバは、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）  Ｅｘｐｒｅｓｓグラフィクスカードを有してもよい。
【０２７５】
各種実施例では、システム１７００に示されるコンポーネントの何れか１以上が統合されてもよい。例えば、プラットフォーム１７０２及びコンテンツサービスデバイス１７３０が統合されるか、又は、プラットフォーム１７０２及びコンテンツ配信デバイス１７４０が一体化されるか、又は、プラットフォーム１７０２、コンテンツサービスデバイス１７３０及びコンテンツ配信デバイス１７４０が一体化されてもよい。各種実施例では、プラットフォーム１７０２及びディスプレイ１７２０は、一体化されたユニットであってもよい。ディスプレイ１７２０及びコンテンツサービスデバイス１７３０が一体化されてもよいし、又は、ディスプレイ１７２０及びコンテンツ配信デバイス１７４０が一体化されてもよい。これらの具体例は、本開示を限定することを意図しない。
【０２７６】
各種実施例では、システム１７００は、無線システム、有線システム又は双方の組み合わせとして実現されてもよい。無線システムとして実現されるとき、システム１７００は、１以上のアンテナ、送信機、受信機、送受信機、アンプ、フィルタ、制御ロジックなどの無線共有媒体を介し通信するのに適したコンポーネント及びインタフェースを有してもよい。無線共有媒体の具体例は、ＲＦスペクトルなどの無線スペクトルの一部を有してもよい。有線システムとして実現されるとき、システム１７００は、入出力（Ｉ／Ｏ）アダプタ、Ｉ／Ｏアダプタと対応する有線通信媒体とを接続するための物理コネクタ、ネットワークインタフェースカード（ＮＩＣ）、ディスクコントローラ、ビデオコントローラ、オーディオコントローラなどの有線通信媒体を介し通信するのに適したコンポーネント及びインタフェースを有してもよい。有線通信媒体の具体例は、ワイヤ、ケーブル、金属リード、プリント回路ボード（ＰＣＢ）、バックプレーン、回線網、半導体物質、ツイストペアワイヤ、同軸ケーブル、光ファイバなどを含む。
【０２７７】
プラットフォーム１７０２は、情報を通信するための１以上の論理又は物理チャネルを確立する。当該情報は、メディア情報及び制御情報を含む。メディア情報は、ユーザについて意図されたコンテンツを表す何れかのデータを参照してもよい。コンテンツの具体例は、例えば、音声会話からのデータ、テレビ会議、ストリーミングビデオ、電子メール（“ｅｍａｉｌ”）メッセージ、音声メールメッセージ、英数字シンボル、グラフィクス、画像、ビデオ、テキストなどを含むものであってもよい。音声会話からのデータは、例えば、スピーチ情報、サイレンス期間、バックグラウンドノイズ、コンフォートノイズ、トーンなどであってもよい。制御情報は、自動システムについて意図されたコマンド、命令又は制御ワードを表す何れかのデータを参照してもよい。例えば、制御情報は、システムを介しメディア情報をルーティングし、又は所定の方法によりメディア情報を処理するようノードを指示するのに利用されてもよい。しかしながら、実施例は、図１７に図示又は説明される要素又はコンテクストに限定されるものでない。
【０２７８】
上述されるように、システム１７００は、変動する物理スタイル又はフォームファクタにより実現されてもよい。図１８は、システム１８００が実現されるスモールフォームファクタデバイス１８００の実現形態を示す。各種実施例では、例えば、デバイス１８００は、無線機能を有するモバイル計算デバイスとして実現されてもよい。モバイル計算デバイスは、例えば、１以上のバッテリなどのモバイル電源と処理システムとを有する何れかのデバイスを参照する。
【０２７９】
上述されるように、モバイル計算デバイスの具体例は、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、携帯コンピュータ、パームトップコンピュータ、タブレット、ＰＤＡ、携帯電話、コンビネーション携帯電話／ＰＤＡ、テレビ、スマートデバイス（例えば、スマートフォン、スマートタブレット又はスマートテレビ）、モバイルインターネットデバイス（ＭＩＤ）、メッセージングデバイス、データ通信デバイス、カメラ（例えば、ポイント・アンド・シュートカメラ、スーパーズームカメラ、デジタルシングル・レンズリフレクス（ＤＳＬＲ）カメラなど）などを含む。
【０２８０】
モバイル計算デバイスの具体例はまた、リストコンピュータ、フィンガーコンピュータ、リングコンピュータ、眼鏡型コンピュータ、ベルトクリップコンピュータ、アームバンドコンピュータ、靴コンピュータ、衣服コンピュータ、及び他のウェアラブルコンピュータなどの人間によって装着されるよう構成されるコンピュータを含むものであってもよい。各種実施例では、例えば、モバイル計算デバイスは、音声通信及び／又はデータ通信と共にコンピュータアプリケーションを実行可能なスマートフォンとして実現されてもよい。いくつかの実施例はスマートフォンとして実現されるモバイル計算デバイスにより説明されるが、他の実施例はまた他の無線モバイル計算デバイスを用いて実現されてもよいことが理解されてもよい。実施例は、このコンテクストに限定されない。
【０２８１】
図１８に示されるように、デバイス１８００は、ハウジング１８０２、ディスプレイ１８０４、入出力（Ｉ／Ｏ）デバイス１８０６及びアンテナ１８０８を有してもよい。デバイス１８００はまた、ナビゲーション機能１８１２を有してもよい。ディスプレイ１８０４は、モバイル計算デバイスに適した情報を表示するための何れか適切なディスプレイユニットを有してもよい。Ｉ／Ｏデバイス１８０６は、情報をモバイル計算デバイスに入力するのに適した何れかのＩ／Ｏデバイスを有してもよい。Ｉ／Ｏデバイス１８０６の具体例は、英数字キーボード、数字キーパッド、タッチパッド、入力キー、ボタン、スイッチ、ロッカスイッチ、マイクロフォン、スピーカ、音声認識デバイス及びソフトウェアなどを含むものであってもよい。情報はまた、マイクロフォン（図示せず）によりデバイス１８００に入力されてもよい。このような情報は、音声認識デバイス（図示せず）によりデジタル化されてもよい。実施例は、このコンテクストに限定されない。
【０２８２】
各種実施例は、ハードウェア要素、ソフトウェア要素又は双方の組み合わせを用いて実現されてもよい。ハードウェア要素の具体例は、プロセッサ、マイクロプロセッサ、回路、回路素子（例えば、トランジスタ、レジスタ、キャパシタ、インダクタなど）、集積回路、ＡＳＩＣ、プログラマブルロジックデバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ロジックゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含むものであってもよい。ソフトウェアの具体例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、マシーンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、ファンクション、メソッド、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース（ＡＰＩ）、命令セット、計算コード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル又はこれらの何れかの組み合わせを含むものであってもよい。実施例がハードウェア要素及び／又はソフトウェア要素を用いて実現されるかの判定は、所望の計算レート、パワーレベル、熱耐性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバススピード及び他の設計又はパフォーマンス制約などの何れかの個数のファクタにより可変であってもよい。
【０２８３】
少なくとも１つの実施例の１以上の態様は、マシーンにより読み込まれると、マシーンにここに記載される技術を実行するためのロジックを生成させるプロセッサ内の各種ロジックを表すマシーン可読媒体に格納される代表的な命令により実現されてもよい。このような表現は、“ＩＰコア”として知られ、有形なマシーン可読媒体に格納され、ロジック又はプロセッサを実際に生成する製造マシーンにロードするための各種カスタマ又は製造施設に供給されてもよい。
【０２８４】
説明されるように、ビデオシステムのためのコンテンツ適応的エントロピーコーディングに関連するシステム、装置、物及び方法がここに説明される。いくつかの具体例では、ビデオシステムのためのビデオフレームのピクチャ部分のパーティションを規定するデータのためのコンテンツ適応的エントロピーコーディングに関連するシステム、装置、物及び方法がここに説明される。例えば、パーティションは、ビデオフレームのタイル、最大コーディングユニット、スーパーフラグメントなどのｋ−ｄツリーパーティション、バイツリーパーティション、クワドツリーパーティション、構造化されたコードブックパーティションなどであってもよい。パーティションは、イントラ又はインターコーディングピクチャパーティションのための予測パーティション又はコーディングパーティションであってもよい。
【０２８５】
いくつかの具体例では、マルチレベルパターン（例えば、１以上のパターンを有するパターンなど）が、ピクチャ部分について決定される。マルチレベルパターンは、ベースパターンが全てターミネーティング部分（例えば、ベースパターンの一部は入力パーティションに一致する）を有する場合、ベースパターンしか有さず、又は、各パターンが各レベルで全てのターミネーティング部分を有するまで、マルチレベルパターンは、ベースパターン、ベースパターンの非ターミネーティング部分のためのレベル１パターン、レベル１パターンの非ターミネーティング部分のためのレベル２パターンなどを有してもよい。必要とされるレベル数（ベースのみ、レベル１、レベル２など）は、複雑さ、パーティションの個数などに基づきピクチャ部分だけ変化しうる。マルチレベルパターンは、複数の利用可能なパターンから決定されるパターン（例えば、ベース、レベル１など）を含む。いくつかの具体例では、利用可能なパターンは、利用可能なパターンのコードブックなどからのものであってもよい。さらに、ターミネーションビット（例えば、パターンの一部がターミネートするか示すビットなど）が、マルチレベルパターンの各レベルについて決定されてもよい。当該ターミネーションビットは、ビデオフレーム、ビデオフレームの一部（例えば、スライスなど）又はビデオフレームのシーケンスについて決定及び収集されてもよい。エントロピーコーディングされたコードワードは、各マルチレベルパターンの各パターンについて決定され、ターミネーションビットはエントロピーコーディングされてもよい。エントロピーコーディングされたコードワード及びターミネーションビットは、ビットストリームに書き込まれ、ビデオデコーダなどの受信デバイスに送信されてもよい。
【０２８６】
いくつかの具体例では、ビデオデコーダはビットストリームを受信及び復号化してもよい。ビデオデコーダは、エントロピーコーディングされたコードワードに基づき、ベースパターン及び任意的なより高いレベルのパターンを決定する。ビデオデコーダはまた、エントロピー符号化されたターミネーションビットをエントロピー復号化することに基づき（任意的には、指定された可変長コーディングテーブルなどに基づき）ターミネーションビットを決定してもよい。ビデオデコーダは、マルチレベルパターン及びターミネーションビットに基づきビデオ部分のパーティションを再構成してもよい。さらに、ここで説明されるように、ビデオデコーダは、パーティションに関連するエラーデータについて変換係数を決定するためビットストリームを復号化し、ここに説明された技術を用いてパーティションを予測子、最終的な予測されたパーティションを生成するためエラーデータ及び予測されたパーティションを加算し、ディスプレイデバイスを介した提示のため復号化されたビデオフレームを生成する。
【０２８７】
ここに説明されるように、エンコーダモジュール４０２（図６を参照されたい）は、ビデオフレームのピクチャ部分のパーティションを規定する入力データを含むビデオデータ４０２を受信する。
【０２８８】
説明されるように、次世代ビデオコーディングは、３つのピクチャタイプである、Ｉ、Ｐ及びＢ／Ｆピクチャを利用する。例えば、Ｉ及びＰピクチャは、予測及びコーディングの詳細において相違を有するかもしれないが、機能的には同様であってもよい。予測及びコーディングのため、次世代ビデオコーディングのピクチャは、タイルなどのピクチャパーティションに分割されてもよい。ＣＩＦ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｆｏｒｍａｔ）又はより低い解像度について、Ｐピクチャは３２×３２ピクセルタイルを利用し、Ｉ及びＢ／Ｆピクチャは６４×６４ピクセルタイルを利用する。ＣＩＦより高い解像度について、全てのピクチャタイプは６４×６４ピクセルタイルを利用してもよい。
【０２８９】
ここに説明されるように、各ピクチャ部分は更に、予測（例えば、予測パーティションなど）及びコーディング（例えば、コーディングパーティション）のためのパーティションに更に分割されてもよい。パーティショニング処理は、コンテンツ（例えば、フラット、詳細又はミックスピクチャ）及び／又はコーディングビットレート（例えば、低、中、高など）に適応的であってもよい。パーティショニングはまた、コンテンツ及びビットレート適応的性質を含むレート歪み最適化（ＲＤＯ）に基づくものであってもよい。各種具体例では、パーティショニングは矩形又は任意であってもよい（例えば、より詳細な形状を有する）。例えば、ピクチャ部分の矩形のパーティショニングは、バイツリーパーティショニング、クワドツリーパーティショニング、ｋ−ｄツリーパーティショニング、パターンコードブックパーティショニングなどに基づくものであってもよい。コーディングパーティションに関してここに説明される技術は、ここに説明されるパーティショニング技術の何れかに基づき実行されてもよい。また、説明されるように、パーティショニングは予測（例えば、予測パーティション）又はコーディング（例えば、コーディングパーティション）について実行されてもよい。説明される技術は、予測又はコーディングパーティショニングに関して実行されてもよい。
【０２９０】
図は、本開示の少なくともいくつかの実現形態により構成されるピクチャ部分の一例となるパーティションの一例となるマルチレベルパターンの説明図である。図示されるように、ピクチャ部分０１はパーティション０２を有してもよい（簡単化のため、それぞれはラベル付けされない）。説明されるように、ピクチャ部分０１はビデオフレームのピクチャ部分であってもよい。例えば、ピクチャ部分０１は、ビデオフレームのタイル、最大コーディング単位又はスーパーブロックであってもよい。いくつかの具体例では、ピクチャ部分０１は、ビデオフレームのピクチャ部分のパーティションであってもよい。いくつかの具体例では、ビデオフレームはＩピクチャであり、ピクチャ部分０１はビデオフレームのタイルであってもよい。いくつかのＩピクチャの具体例では、パーティション０２はｋ−ｄツリーパーティションであってもよい。いくつかの具体例では、ビデオフレームはＰピクチャ又はＢ／Ｆピクチャであり、ピクチャ部分０１はビデオフレームのタイルのパーティションであってもよい。例えば、タイルのパーティションは予測パーティションであってもよい。いくつかのＰ又はＢ／Ｆピクチャの具体例では、パーティション０２はバイツリーパーティションであってもよい。
【０２９１】
説明されるように、ピクチャ部分０１は何れかのサイズであってもよい。いくつかの具体例では、ピクチャ部分０１は、３２×３２ピクセル、６４×６４ピクセルなどであってもよい。さらに、説明されるように、パーティション０２は何れかのタイプのパーティションであってもよい。いくつかの具体例では、パーティション０２は、ｋ−ｄツリーパーティション、バイツリーパーティション、クワドツリーパーティション、構造化されたコードブックパーティションなどであってもよい。ピクチャ部分０１及びパーティション０２は、ルマ又はクロマデータのためのものであってもよい。さらに、ピクチャ部分０１及びパーティション０２は、他のピクチャ部分及びそれらそれぞれのパーティションと共に、パーティションデータ４１２などの入力データを介し規定されてもよい。
【０２９２】
図示されるように、マルチレベルパターン１０は、ピクチャ部分０１について決定される。説明されるように、マルチレベルパターンは何れかの個数のレベル（例えば、ベースレベルのみ、ベースレベル及び１以上のレベル１パターン、ベースレベル、１以上のレベル１パターン及び１以上のレベル２パターンなど）を有してもよい。図の具体例では、マルチレベルパターン１０は、ベースレベルパターン１１、４つのレベル１パターン１２，１３，１４及び１５、及び７つのレベル２パターン２１〜２７を有する。
【０２９３】
例えば、ベースパターン（例えば、レベル０パターン）１１、レベル１パターン１２〜１５、及び／又はレベル２パターン２１〜２７が、階層的パターン表現などのパターンベースアプローチを利用して、ピクチャ部分１９０１及びパーティション０２について決定されてもよい。例えば、ベースパターン１１は、パーティション０２の可能な限り多くのパーティションをカバー又は表現する最も適切なパターン（利用可能なパターンの）として複数の利用可能なパターンから決定されてもよい。いくつかの具体例では、ベースパターン１１は、最大数のパーティション０２をカバー又は表現する利用可能なパターンのパターンであってもよい。図示されるように、ベースパターン１１の１以上の部分は、ベースパターン１１の当該部分がピクチャ部分０１の対応する部分のパーティション０２に一致しないように（例えば、完全に表現）、非ターミネートであってもよい。例えば、ピクチャ部分０１の代表的部分３０は、ベースパターン１１の代表的部分３０がピクチャ部分０１の対応する部分を完全には表現せず、更なるレベルのパターンがピクチャ部分０１の対応する部分を完全に表現するのに必要とされるように、７つのパーティションを有するピクチャ部分０１の対応する部分を有する。
【０２９４】
いくつかの具体例では、ベースパターンは、対応するピクチャ部分を完全に表現するように完全にターミネートする。このような具体例では、更なるパターンレベルは必要とされず、ベースパターンは、ここに更に説明されるように、ベースパターンが完全にターミネートしていることを示すエントロピーコーディングされたコードワードを利用してエントロピー符号化されてもよい。
【０２９５】
図示されるように、ベースパターン１１の各非ターミネーティング部分は更に、レベル１パターン１２〜１５により表現されてもよい。ベースパターン１１に関して説明されるように、各レベル１パターン１２〜１５は、パーティション０２の可能な限り多くのパーティションをカバー又は表現する最も適したパターン（利用可能なパターンの）として複数の利用可能なパターンから決定されてもよい。この処理は、何れかの個数の追加的なレベルについて繰り返されてもよく（例えば、図示された具体例ではレベル２パターン）、全てのパーティションがターミネートするまで、だんだん小さなレベルになる。
【０２９６】
例えば、レベル１パターン１２は、ベースパターン１１の部分３０について決定されてもよい。図示されるように、レベル１パターンは、３つのターミネーティング部分と１つの非ターミネーティング部分とを有してもよい。レベル２パターン２１は、レベル１パターン１２の非ターミネーティング部分について決定されてもよい。図示されるように、レベル２パターン２１は、完全にターミネートしてもよい。パターンがターミネーティングであるか判断するため、説明されるように、パターンはピクチャ部分０１の関連する部分と比較されてもよい。パターンのパーティションがピクチャ部分０１の関連するパーティションに完全に一致する場合、パターンのパーティションはターミネートしている。それが完全には一致しない場合、パターンのパーティションは非ターミネートである。
【０２９７】
同様に、レベル１パターン１３は、ベースパターン１９１１の関連する部分について決定されてもよい。レベル１パターン１３は、４つの非ターミネーティング部分を有してもよい（また、ターミネーティング部分はない）。レベル２パターン２２〜２５は、非ターミネーティング部分について決定されてもよい。図示されるように、図示された具体例におけるレベル２パターンは全てターミネートしていてもよい（また、更なるレベルパターンは必要とされない）。さらに、レベル１パターン１４は、ベースパターン１９１１の関連する部分について決定され、完全にターミネートしてもよい。さらに、レベル１パターン１４は、ベースパターン１９１１の関連する部分について決定され、２つのターミネーティング部分と２つの非ターミネーティング部分とを有してもよい。レベル２パターン２６，２７は、図示されるように、レベル１パターン１５の非ターミネーティング部分について決定されてもよい。
【０２９８】
説明される技術を利用して、マルチレベルパターン１０は、ピクチャ部分０１について決定されてもよい。マルチレベルパターン１０は、各レベルがターミネートしているとき、完全であってもよい（例えば、パターンツリーの全てのレベルがターミネートしている）。同様の技術を利用して、マルチレベルパターンが、ビデオフレームのピクチャ部分、ビデオフレームの一部又はスライスのピクチャ部分、ビデオフレームシーケンスのビデオフレームのピクチャ部分などについて決定されてもよい。
【０２９９】
この処理では、各レベルにおいて、各非ターミネーティングパターンについて、ターミネーションビット（例えば、非完全ターミネーティングパターンのパーティション毎に１ビット）が決定されてもよい。例えば、ベースパターン１１について、ターミネーションビットは、各ビットがベースパターン１１の非ターミネーティング部分（又はパーティション）を示す４ビットを含むものであってもよい。同様に、レベル１パターン１２は、１ビットが非ターミネーティング部分（又はパーティション）を示し、３ビットがターミネーティング部分（又はパーティション）を示す４つのターミネーションビットと関連付けされてもよい。例えば、１が非ターミネーションを示し、０がターミネーションを示す場合、レベル１パターン１２のビットは０００１であってもよい。いくつかの具体例では、パターンの一部はパターンの左上から右下に順序づけされ、ターミネーションがこのように順序づけされるように、スキャンは左から右及び下にパターンを走る。このようなターミネーションビットは、これにより、マルチレベルパターン１０のパターンと関連付けされてもよい。
【０３００】
マルチレベルパターン１０の各パターンについて（例えば、図示された具体例では、ベースパターン１１、レベル１パターン１２〜１５及びレベル２パターン２１〜２７）、エントロピーコーディングされたコードワードは、プロキシＶＬＣテーブルなどのテーブルに基づき決定されてもよい。ここで更に説明されるように、エントロピーコーディングのための適用可能な（又は選択された）プロキシＶＬＣテーブルは、所定の、自動的な又は適応的な方法などの各種方法により選択されてもよい。さらに、プロキシＶＬＣテーブルを選択するための方法は、フレーム、フレームの一部又はフレームシーケンスベースにより更に選択される可変長コードテーブル選択モードに依存する。
【０３０１】
何れかのイベントにおいて、パターンについてエントロピーコーディングされたコードワードが決定され、ビットストリームに書き込まれる。さらに、ターミネーションビットがエントロピーコーディングされ、ビットストリームに書き込まれる。いくつかの具体例では、ターミネーションビットは、パターンレベル及び／又はパターン特性（例えば、パターンにおける部分又はパーティションの個数など）によりグループ化されてもよく、各グループは、プロキシＶＬＣ及び／又はシンボルランコーディングの組み合わせによりコーディングされてもよい。このようなグルーピングは、ここに説明される技術のコーディング効率を向上させる。
【０３０２】
図２０は、本開示の少なくともいくつかの実現形態により構成される一例となる処理２０００を示すフロー図である。処理２０００は、処理２００２，２００４，２００６，２００８，２０１０，２０１２，２０１４及び／又は２０１６ｂに１以上により示されるような１以上の処理、ファンクション又はアクションを含むものであってもよい。処理２０００は、次世代ビデオコーディング処理の少なくとも一部を構成する。非限定的な具体例により、処理２０００は、図１のエンコーダシステム１００により実行されるような次世代ビデオ符号化処理の少なくとも一部を構成する。
【０３０３】
処理２０００は、処理２００２の“パーティションを規定する入力データをロード”から開始され、ここでは、パーティションを規定する入力データがロードされる。例えば、ビデオフレームのピクチャ部分０１などのパーティション０２などを規定する入力データが、ビデオエンコーダ１００などのビデオエンコーダを介しロードされる。ここに説明されるように、各種具体例では、入力データは、ルマパーティションを規定するルマデータ及び／又はクロマパーティションを規定するクロマデータを含む（例えば、任意的には、Ｕ及びＶプレーンにおいて）。
【０３０４】
処理２０００は、処理２００４の“可変長コードテーブル選択モード及び／又はスイッチングモードを設定”に続き、ここでは、可変長コードテーブル選択モード及び／又はスイッチングモードが設定される。例えば、説明されるように、マルチレベルパターンのパターンを表現するエントロピーコーディングされたコードワードが、可変長コーディング（ＶＬＣ）テーブルに基づき決定されてもよい。いくつかの具体例では、可変長コードテーブル選択モードは、エントロピーコーディングされたコードワードが単一のＶＬＣテーブル（例えば、第１モード又はモード０）に基づき決定されるか、又は、エントロピーコーディングされたコードワードが複数の利用可能なＶＬＣテーブルからＶＬＣテーブルを選択したことに基づき決定される（例えば、第２モード又はモード１）か決定してもよい。各種具体例では、可変長コードテーブル選択モードは、ビデオフレームベース、ビデオフレームの一部又はスライスベース又はビデオフレームシーケンスベースにより決定又は設定されてもよい。
【０３０５】
例えば、可変長コードテーブル選択モードは、単一の可変長コーディングテーブルがビデオフレームの全てのピクチャ部分についてエントロピーコーディングされたコードワードを決定するのに利用される第１可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが２以上の利用可能な可変長コーディングテーブルからのビデオフレームの各ピクチャ部分について選択され、選択されたピクチャ部分ベース可変長コーディングテーブルが関連するピクチャ部分についてエントロピーコーディングされたコードワードを決定するのに利用される第２可変長コードテーブル選択モードとから、ビデオフレーム、ビデオフレームのスライス又はビデオフレームシーケンスについて決定される。可変長コードテーブル選択モードは、ビットストリームに符号化される可変長コードテーブル選択モードインジケータ（例えば、ビットなど）を介し通知されてもよい。
【０３０６】
単一のＶＬＣテーブルが全てのコードワードについて利用されるように可変長コードテーブル選択モードが設定される具体例では、スイッチングモードは不要であるか、又は設定されない。このような具体例では、単一のＶＬＣテーブルは平均ＶＬＣテーブルなどであってもよい。
【０３０７】
ＶＬＣテーブルが利用可能なＶＬＣテーブルから選択されるように可変長コードテーブル選択モードが設定される具体例では、スイッチングモードが設定される。このような具体例では、エンコーダ及びデコーダは、利用可能なＶＬＣテーブルの何れがピクチャ部分ベースなどにより実現されるべきか決定することを必要とする。このような具体例では、スイッチングモードは自動的スイッチングモード又は適応的スイッチングモードなどであってもよい。
【０３０８】
自動的スイッチングモードでは、選択されたＶＬＣテーブルが、エンコーダとデコーダとの双方において実行される技術に基づき決定される（例えば、インジケータがビットストリームにおいて送信される必要がないように）。例えば、自動的スイッチングモードでは、ＶＬＣテーブルは、第１部分の複雑さの予測に基づきピクチャ部分について自動的に決定されてもよい。例えば、複雑さの予測は、第１ピクチャ部分の近傍のピクチャ部分について複数のスプリットを決定し、スプリットの個数に基づき選択されたＶＬＣコーディングテーブルを利用することを含むものであってもよい。いくつかの具体例では、スプリットの個数が閾値を超えるとき、高複雑性ＶＬＣコーディングテーブルが選択され、スプリット数が閾値以下であるとき、低複雑性ＶＬＣコーディングテーブルが選択されてもよい。
【０３０９】
適応的スイッチングモードでは、選択されたＶＬＣテーブルは、エンコーダにおいて決定され、適応的スイッチングマスクを介し送信される。例えば、適応的スイッチングマスクは、第１ＶＬＣテーブルと第２ＶＬＣテーブルの何れが各ピクチャ部分について選択されるかを示すインジケータ（例えば、ビット）を含めることによって生成される。ＶＬＣテーブルは、説明されるような複雑性の予測、レート歪み最適化などに基づき決定されてもよい。ここに説明されるように、適応的スイッチングマスクは、エントロピー符号化され、ビットストリームに書き込まれる。
【０３１０】
説明されるように、ＶＬＣテーブルが利用可能なＶＬＣテーブルから選択されるように可変長コードテーブル選択モードが設定されるとき、スイッチングモードは、自動的スイッチングモード又は適応的スイッチングモードの１つから設定される。いくつかの具体例では、スイッチングモードは、ビデオシステムにより現在実現される量子化値に基づき決定されてもよい。例えば、適応的スイッチングモードは、量子化値が所定の閾値未満である場合、選択されたスイッチングモードであってもよい。例えば、所定の閾値は３２などであってもよい。
【０３１１】
処理２０００は、処理２００６の“任意的にターミネーティング３２×３２パーティションによりピクチャ部分のバイナリマスクを生成”に続き、ここでは、ターミネーティング３２×３２パーティションによりピクチャ部分のバイナリマスクが任意的に生成される。説明されるように、マルチレベルパターンが、ピクチャ部分について決定される。いくつかの具体例では、ピクチャ部分は６４×６４ピクセルであってもよい。このようなピクチャ部分は、ターミネーティング３２×３２パーティションによりピクチャ部分のバイナリマスクを特定及び提供することがコーディング効率に効果的となるように、３２×３２ターミネーティング部分を含む。例えば、各インジケータが関連するピクチャ部分が少なくとも１つのターミネーティング３２×３２パーティションと共に、４つの３２×３２非ターミネーティングパーティション又は４つの３２×３２パーティションを有するか示す複数のバイナリインジケータ（例えば、ビット）を含むピクチャ部分のバイナリマスクが生成される。ピクチャ部分のバイナリマスクは、エントロピーコーディングされ、ビットストリームに書き込まれる。
【０３１２】
処理２０００は、処理２００８の“任意的にターミネーティング３２×３２ピクチャによりピクチャパーティションのバイナリマスクを符号化”に続き、ここでは、ピクチャ部分のバイナリマスクが、任意的にエントロピーコーディングされる。バイナリマスクは、例えば、ビットマップコーディング又はシンボルランコーディングを利用して符号化され、選択されたコーディング技術は、ピクチャ部分コーディング技術インジケータのバイナリマスクとしてビットストリームを介し送信される。
【０３１３】
処理２０００は、処理２０１０の“任意的に適応的スイッチングマスクを生成及び符号化”に続き、ここでは、適応的スイッチングマスクが任意的に生成及び符号化される。上述されるように、ＶＬＣテーブルが利用可能なＶＬＣテーブルから選択され、スイッチングモードが適応的スイッチングモードに設定されるように、可変長コードテーブル選択モードが設定されるとき、適応的スイッチングマスクが実現される。このような具体例では、説明された適応的スイッチングマスクが生成され、エントロピー符号化される。例えば、７つのコーディング技術が最小ビットコストについて評価され、適応的スイッチングマスクが選択された技術を利用してコーディングされる。さらに、選択された技術は、適応的スイッチングマスクコーディング技術インジケータとしてビットストリームを介し提供される。
【０３１４】
処理２０００は、処理２０１２の“ピクチャ部分の最適なマルチレベルパターンを決定し、バッファに符号化”に続き、ここで、ピクチャ部分の最適なマルチレベルパターンが決定され、バッファに符号化される。例えば、マルチレベルパターンが図に関して又は他の何れかにおいて説明されるように決定される。マルチレベルパターンは、マルチレベルパターンの各パターンについて、エントロピーコーディングされたコードワードを決定するのに利用されてもよい。説明されるように、可変長コードテーブル選択モード及びスイッチングモードに依存して、エントロピーコーディングされたコードワードを決定するのに利用されるテーブルは可変となる（一例となるテーブルを介し後述されるように）。また、説明されるように、いくつかの具体例では、パターンについて選択されたコードワードは、更なるターミネーションビットがターミネーティングパターンについて必要とされないように、パターンがターミネートすることを示してもよい（また、コーディング効率がエンハンスされてもよい）。
【０３１５】
処理２０００は、処理２０１４の“ターミネーションビットをコーディングする最適な方法を生成及び決定し、バッファに符号化”に続き、ここで、ターミネーションビットが生成され、ターミネーションビットをコーディングするための最適方法が決定され、ターミネーションビットがバッファに符号化される。例えば、ターミネーションビットは、図に関して又は他の何れかにおいて説明されるように生成される。ターミネーションビットは、更に後述されるようにグループ化され、各ターミネーションビットグループは、エントロピー符号化されてもよい。エントロピー符号化されたビットはバッファに格納されてもよい。
【０３１６】
処理２０００は、処理２０１６の“ターミネーションビットをバッファからビットストリームの書き込む”に続き、ここでは、エントロピー符号化されたターミネーションビットが、バッファからビットストリームに書き込まれる。
【０３１７】
処理２０００は、処理２０１８の“パターンバッファをビットストリームに書き込む”に続き、ここでは、エントロピーコーディングされたコードワード（マルチレベルパターンのパターンについて）がバッファからビットストリームに書き込まれる。
【０３１８】
説明されるように、各種モード及びオプションが、ここに説明されるような技術において利用可能であってもよい。以下のテーブルＡは、ここに用いられる用語の一部の一例となる説明を提供する。
【０３１９】
【表１】
0006339099.tif 000002
【０３２０】
図２１は、本開示の少なくともいくつかの実現形態により構成される一例となる処理２１００を示すフロー図である。処理２１００は、処理２１０２，２１０４，２１０６，２１０８，２１１０及び／又は２１１２の１以上により示されるような１以上の処理、ファンクション又はアクションを含む。処理２１００は、次世代ビデオコーディング処理の少なくとも一部を構成する。非限定的な具体例により、処理２１００は、図２のデコーダシステム２００により実行されるような次世代ビデオ復号化処理の少なくとも一部を構成する。
【０３２１】
処理２１００は、処理２１０２の“符号化されたビットストリームを受信し、及び処理のためのデータを入力”から開始され、ここでは、符号化されたビットストリームが受信され、及び／又はデータが処理のため入力される。例えば、ここに説明されるような符号化されたビットストリームは、ビデオデコーダなどにおいて受信される。ビットストリームは、マルチレベルパターンのパターン、エントロピーコーディングされたターミネーションビット、ヘッダデータ、インジケータなどを表すエントロピーコーディングされるコードワードなど、ここに説明される何れかの符号化されたデータを含む。ビットストリームは、処理のため入力されるデータ又は入力データとみなされてもよい。例えば、ビットストリームは、処理のため適応的エントロピーデコーダ２０２などに入力されてもよい。
【０３２２】
処理２１００は、処理２１０４の“可変長コードテーブル選択モード及び／又はスイッチングモードを復号化及び設定”に続き、ここでは、ビットストリームが、可変長コードテーブル選択モード及び／又はスイッチングモードを決定するため復号化される。例えば、ビットストリームは、ビデオフレーム、ビデオフレームの一部又はスライス又はビデオフレームシーケンスのための可変長コードテーブル選択モードインジケータを有してもよい。可変長コードテーブル選択モードインジケータは、単一の可変長コーディングテーブルがビデオフレームの全てのピクチャ部分についてエントロピーコーディングされたコードワードを決定するのに利用される第１可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが２以上の利用可能な可変長コーディングテーブルからビデオフレームの各ピクチャ部分について選択され、選択されたピクチャ部分ベース可変長コーディングテーブルが、関連するピクチャ部分についてエントロピーコーディングされたコードワードを決定するのに利用される第２可変長コードテーブル選択モード、又はここに説明されるように何れかの可変長コードテーブル選択モードを示すものであってもよい（例えば、ビデオフレーム、ビデオフレームの一部又はスライス、又はビデオフレームシーケンスなどについて）。
【０３２３】
上述されるように、単一のＶＬＣテーブルが全てのコードワードについて利用されるように可変長コードテーブル選択モードが設定される具体例では、スイッチングモードは不要であるか、又は設定されない。このような具体例では、単一のＶＬＣテーブルが平均的なＶＬＣテーブルなどであってもよい。
【０３２４】
ＶＬＣテーブルが利用可能なＶＬＣテーブルから選択されるように可変長コードテーブル選択モードが設定される具体例では、スイッチングモードが決定されてもよい。例えば、ビットストリームは、利用可能な可変長コーディングテーブル間のスイッチングモードを示す選択されたスイッチングモードインジケータを含むものであってもよい。例えば、スイッチングモードは、自動的スイッチングモード又は適応的スイッチングモードであってもよい。
【０３２５】
ここに説明されるように、自動的スイッチングモードでは、選択されたＶＬＣテーブルが、エンコーダとデコーダとの双方において実行されてもよい技術に基づき決定されてもよい（例えば、インジケータがビットストリームにおいて送信される必要がないように）。例えば、自動的スイッチングモードでは、ＶＬＣテーブルが第１部分の複雑性の予測に基づきピクチャ部分について自動的に決定されてもよい。例えば、複雑性の予測は、第１ピクチャ部分の近傍のピクチャ部分の複数のスプリットを決定し、スプリット数に基づき選択されたＶＬＣテーブルを利用することを含む。例えば、スプリット数が閾値を超えるとき、高複雑性ＶＬＣコーディングテーブルが選択され、スプリット数が閾値以下であるとき、低複雑性可変長コーディングテーブルが選択される。
【０３２６】
適応的スイッチングモードでは、選択されるＶＬＣテーブルがエンコーダにおいて決定され、ここで更に説明されるように、特に以下の処理２１０８に関して説明されるように、適応的スイッチングマスクを介し送信される。
【０３２７】
処理２１００は、処理２１０６の“適用可能である場合、ターミネーティング３２×３２パーティションによりピクチャ部分のバイナリマスクを復号化”に続き、ここでは、適用可能である場合、ターミネーティング３２×３２ピクチャによりピクチャ部分のバイナリマスクが復号化される。説明されるように、いくつかの具体例では、ピクチャ部分のバイナリマスクは、各インジケータが関連するピクチャ部分が少なくとも１つのターミネート３２×３２パーティションを有する４つの非ターミネーティング３２×３２パーティション又は４つの３２×３２パーティションを有するか示す複数のバイナリインジケータ（例えば、ビット）を含むビットストリームに含まれる。このようなマスクは、処理２１０６において復号化され、このようなターミネーティング３２×３２パーティションをスキップするため、復号化において実現される。
【０３２８】
処理２１００は、処理２１０８の“適用可能である場合、適応的スイッチングマスクを復号化”に続き、ここでは、適用可能である場合、適応的スイッチングマスクが復号化される。例えば、任意的な適応的スイッチングマスクが、上述されるように受信される。適応的スイッチングマスクは、各ピクチャ部分について第１ＶＬＣテーブルと第２ＶＬＣテーブルとの何れが選択されるか示すインジケータ（例えば、ビット）を有してもよい。適応的スイッチングマスクは、ピクチャ部分のエントロピーコーディングされたコードワードについて、利用可能なＶＬＣテーブルの何れのＶＬＣテーブルがコードワードをエントロピー復号化するのに利用されることを示す。
【０３２９】
処理２１００は、処理２１１０の“ターミネーションビットを復号化”に続き、ここでは、ターミネーションビットが復号化される。説明されるように、ターミネーションビットは、パターンレベル及び／又はパターン特性（例えば、パターンにおける部分又はパーティションの個数など）によりグループ化され、各グループは、プロキシＶＬＣ及び／又はシンボルランコーディングの組み合わせによりコーディングされる。このような具体例では、受信したエントロピーコーディングされたターミネーションビットは、プロキシＶＬＣ及び／又はシンボルランコーディングを利用して復号化され、グループ解除される。一例となるグルーピングの詳細が更に後述される。
【０３３０】
処理２１００は、処理２１１２の“エントロピーコーディングされたコードワードからパターンを復号化し、パーティションを再構成”に続き、ここでは、パターンはエントロピーコーディングされたコードワードから復号化され、パーティションが再構成される。例えば、エントロピーコーディングされたコードワードは、利用可能なパターンからのパターンを示す。例えば、パターンはコードブックなどに含まれてもよい。復号化されたパターン及びターミネーションビットは、ピクチャ部分０１などのパーティション０２などのピクチャ部分のパーティションを再構成するのに利用される。
【０３３１】
説明されるように、マルチレベルパターンが、ピクチャ部分（タイルなど）のパーティションについて決定される。マルチレベルパターンは、ベースパターン及び／又は１以上のより高いレベルのパターンを含む。パターンは、可変長コードテーブル選択モードに依存して、各種利用可能なテーブルから選択されたテーブル又は単一のテーブルから決定されたコードワードによって、エントロピーコーディングされたコードワードを介しコーディングされる。テーブルが選択可能であるとき、ＶＬＣテーブルを選択する方法は、スイッチングモードに基づく（例えば、自動的スイッチングモード又は適応的スイッチングモードなど）。可変長コードテーブル選択モード及びスイッチングモードは（必要とされる場合）、エントロピーコーディングされ、インジケータを介しビットストリームに書き込まれる。スイッチングモードが適応的スイッチングモードである場合、適応的スイッチングマスクがまたエントロピーコーディングされ、ビットストリームに書き込まれる。さらに、非ターミネーティングサブパーティション（例えば、３２×３２パーティション）によりピクチャ部分を示すピクチャ部分のバイナリマスクが任意的に符号化され、説明されるように、ビットストリームに書き込まれる。エントロピーコーディングされたコードワードは、ビットストリームに書き込まれる。ターミネーションビットが収集され、任意的にグループ化され（ここで更に説明される）、エントロピー符号化され、ビットストリームに書き込まれる。
【０３３２】
また、説明されるように、符号化されたビットストリームが受信され、説明された処理及び技術が、ピクチャ部分のパーティションを再構成するため実質的にリバースされる。図２２及び２３は、説明された技術の特定の態様を実現するためそれぞれ一例となる符号化処理２２００及び一例となる復号化処理２３００を示す。
【０３３３】
図２２（Ａ）〜２２（Ｆ）は、本開示の少なくともいくつかの実現形態により構成される一例となる処理２２００のフロー図を示す。処理２２００は、図２０に関してここで説明される処理と同じ又は同様の技術を提供する処理又は処理グループ２００２，２００４，２００６，２００８，２０１０，２０１２，２０１４，２０１６及び／又は２０１８を含む。いくつかの具体例では、図２２（Ａ）〜２２（Ｆ）に示される処理は、ルマデータの６４×６４ピクチャ部分のパーティションを符号化するための処理を提供する。
【０３３４】
処理２２００は、処理“入力データ：イントラパーティション（ルマ６４×６４タイル）、モード、Ｑｐ”を含む処理又は処理グループ２００２から開始され、ここでは、入力データがロードされる。例えば、入力データは、６４×６４ピクセルのピクチャ部分（タイルなど）サイズによるルマのためのイントラパーティションを含む。いくつかの具体例では、図示されるように、入力データはまた、可変長コードテーブル選択モード及び量子化値Ｑｐを含む。
【０３３５】
処理２２００は、判定処理“Ｍｏｄｅ＝１＆Ｑｐ＜３２？”、処理“ａｓｗ＿ｍｏｄｅ＝０”及び処理“ａｓｗ＿ｍｏｄｅ＝１”を含む処理又は処理グループ２００４に続き、ここでは、可変長コードテーブル選択モードが決定される。可変長コードテーブル選択モードが１である場合（例えば、ＶＬＣテーブルが２以上の利用可能なテーブルから選択されるように）、スイッチングモードが決定される。説明されるように、このようなモードは量子化値に基づくものであってもよい。図示される具体例では、量子化値が３２の閾値を超える場合、スイッチングモードは適応的に設定され、３２の閾値以下である場合、スイッチングモードは自動的に設定される。例えば、処理が適応的スイッチングモードを設定し、ＶＬＣテーブル選択モード０が利用され、Ｑｐ＜３２である場合、適応的スイッチングモードを有効にし、そうでない場合、それを無効にする（例えば、自動的スイッチングを利用）。
【０３３６】
処理２２００は、処理“ｉ＝０”、処理“ピクチャの第１タイルにｔを設定”、判定処理“ｔはターミネーティング３２×３２パーティションを有するか？”、処理“ｍａｓｋ［ｉ］＝０”、処理“ｍａｓｋ［ｉ］＝１”、処理“ｉ＝ｉ＋１”及び判定処理“全てのタイルは実行？”を含む処理又は処理グループ２００６に続く。処理２００６はターミネーティング３２×３２パーティションによるピクチャ部分のバイナリマスクを生成する。例えば、処理はターミネーティング３２×３２パーティションによるピクチャ部分（例えば、タイル）のマスクを取得し、全てのタイルについて、マスクビットを収集し、ピクチャ部分にターミネーティング３２×３２パーティションがある場合、マスクビットは１に設定され、そうでない場合、０に設定される。マスクの長さはビデオフレームにおけるピクチャ部分の個数である（例えば、ピクチャ）。
【０３３７】
処理２２００は、判定処理“ｍａｓｋ＝ａｌｌ  ０ｓ？”、処理“１を符号化”、処理“０を符号化”、処理“ｃｏｓｔ［０］＝ビットマップによるコーディングのコスト、ｃｏｓｔ［１］＝シンボルラン（Ｔｂｌ０）によるコーディングのコスト”、処理“ｃｏｓｔ［ｊ］＝ｍｉｎ（ｃｏｓｔ［０］，ｃｏｓｔ［１］）”、処理“メソッドｊのヘッダを符号化（１ビット）”、及び処理“メソッドｊによりマスクを符号化”を含む処理又は処理グループ２００８に続く。処理２００８は、任意的にはターミネーティング３２×３２パーティションによりピクチャ部分のバイナリマスクを符号化する。例えば、当該処理は、ターミネーティング３２×３２パーティションによりピクチャ部分（タイルなど）のマスクを符号化し、全てのビットが０である場合、それを示すため１ビット（０）を利用し、そうでない場合、１ビットヘッダ（１）を利用し、以下のようにマスクをコーディングする。すなわち、シンボルランメソッドによりマスクをコーディングするコストを計算し、ビットマップコーディングのコストをマスク長に設定し、コーディングメソッドとして２つのコストの最小値を選択し、選択されたメソッドを示す１ビットのヘッダを符号化し、選択されたメソッドによりマスクを符号化する。
【０３３８】
処理２２００は、判定処理“ａｓｗ＿ｍｏｄｅ＝１？”、処理“ｉ＝０”、処理“ピクチャの第１タイルにｔを設定”、判定処理“ｔのパーティション数＜ｔの４×４ブロックの個数の１／１６？”、処理“ａｓｗ＿ｍａｓｋ［ｉ］＝０”、処理“ａｓｗ＿ｍａｓｋ［ｉ］＝１”、処理“ｉ＝ｉ＋１”、判定処理“全てのタイルが実行？”、判定処理“ａｓｗ＿ｍａｓｋ＝ａｌｌ  ０ｓ？”、処理“１を符号化”、処理“０を符号化”、処理“ｃｏｓｔ［０］＝ビットマップによるａｓｗ＿ｍａｓｋのコーディングのコスト、ｃｏｓｔ［１］＝シンボルラン（Ｔｂｌ０）によるａｓｗ＿ｍａｓｋのコーディングのコスト、ｃｏｓｔ［２］＝シンボルラン（Ｔｂｌ０）によるｉｎｖ．ａｓｗ＿ｍａｓｋのコーディングのコスト、ｃｏｓｔ［３］＝シンボルラン（Ｔｂｌ０）によるｄｉｆｆ．ａｓｗ＿ｍａｓｋのコーディングのコスト、ｃｏｓｔ［４］＝シンボルラン（Ｔｂｌ５）によるａｓｗ＿ｍａｓｋのコーディングのコスト、ｃｏｓｔ［５］＝シンボルラン（Ｔｂｌ０）によるｉｎｖ．ａｓｗ＿ｍａｓｋのコーディングのコスト、ｃｏｓｔ［６］＝シンボルラン（Ｔｂｌ０）によるｄｉｆｆ．ａｓｗ＿ｍａｓｋのコーディングのコスト”、処理“ｃｏｓｔ［ｊ］＝ｍｉｎ（ｃｏｓｔ［ｋ］），ｋ＝０，１，．．．，６”、処理“メソッドｊのヘッダを符号化（２〜３ビット）”及び処理“メソッドｊによりａｓｗ＿ｍａｓｋを符号化”を含む処理又は処理グループ２０１０に続く。処理２０１０は、任意的には適応的スイッチングマスクを生成及び符号化する。例えば、当該処理は、適応的スイッチングマスクを計算及び符号化し、適応的スイッチングモードが有効である場合、適応的スイッチングマスクを以下のように導出及び符号化する。すなわち、各タイルについて適応的スイッチングマスクビットを計算し、タイルのパーティションの個数が小さい場合、ビットを０に設定し、そうでない場合、１に設定し、適応的スイッチングマスクを符号化し、全てのビットが０である場合、それを示すため１ビット（０）を利用し、そうでない場合、１ビットヘッダ（１）を使用し、以下のようにマスクをコード化する。すなわち、２つのシンボルランメソッドによりマスクをコーディングするコストを計算し、マスクビット、反転されたマスクビット及び差分化されたマスクビットに適用され、マスク長にビットマップコーディングのコストを設定し（計算された７つのコストのトータル）、コーディングメソッドとして７つのコストの最小値を選択し、選択されたメソッドを示す２〜３ビットのヘッダを符号化し、選択されたメソッドによりマスクを符号化する。
【０３３９】
処理２２００は、処理“ｉ＝０”、処理“ピクチャの第１タイルにｔを設定”、判定処理“Ｍｏｄｅ＝１＆ａｓｗ＿ｍｏｄｅ＝１？”、判定処理“ａｓｗ＿ｍａｓｋ［ｉ］＝０？”、判定処理“Ｍｏｄｅ＝１＆ａｓｗ＿ｍｏｄｅ＝０？”、処理“Ｎ＝ｔの近傍（上、左、左上）からｔのパーティションの予測数”、判定処理“Ｎ＜Ｔ＿ｌｏｗ？”、処理“パターンＶＬＣテーブルを高複雑性テーブルに設定”、処理“パターンＶＬＣテーブルを平均テーブルに設定”、処理“Ｐ＝タイルｔのパーティションに対応するパターン”、処理“Ｐａｔｔ＿ｉｎｄ＝正確な一致を検出するためのサーチパターンコードブック（Ｐの次元）”、判定処理“Ｐａｔｔ＿ｉｎｄ＞−１？”、処理“ピクチャバッファにパターンコードワード（Ｐａｔｔ＿ｉｎｄに対応する）を追加”、処理“ｉｎｄ＝０”、処理“ｍｉｎＣＴ＝∞”、処理“（ｔ次元の）コードブックのｉｎｄパターンにＴを設定”、判定処理“ＴはＰの有効なコンテナか？”、処理“Ｔ及びそれのサブパターン（レベル１，２，．．．）のコーディングコストＣＴを近似”を含む処理又は処理グループ２０１２に続く。当該処理では、ｔｍｐ＿ｐａｔｔｅｒｎ＿ｂｉｔｓ＿ｂｕｆｆｅｒ及びｔｍｐ＿ｔｅｒｍｉｎａｔｉｏｎ＿ｂｉｔｓ＿ｂｕｆｆｅｒｓを累積”、判定処理“ｍｉｎＣＴ＞ＣＴ？”、処理“ｍｉｎＣＴ＝ＣＴ，ｔｉｌｅ＿ｐａｔｔ＿ｂｉｔｓ＿ｂｕｆｆｅｒ＝ｔｅｍｐ＿ｐａｔｔｅｒｎ＿ｂｉｔｓ＿ｂｕｆｆｅｒ，ｔｉｌｅ＿ｔｅｒｍ＿ｂｉｔｓ＿ｂｕｆｆ＝ｔｍｐ＿ｔｅｒｍｉｎａｔｉｏｎ＿ｂｉｔｓ＿ｂｕｆｆｅｒｓ”、処理“ｉｎｄ＝ｉｎｄ＋１”、判定処理“全てのＴパターンが処理？”、処理“ｔｉｌｅ＿ｐａｔｔ＿ｂｉｔｓ＿ｂｕｆｆをｐｉｃ＿ｂｕｆｆに追加し、ｔｉｌｅ＿ｔｅｒｍ＿ｂｉｔｓ＿ｂｕｆｆをｐｉｃ＿ｔｂ＿ｂｕｆｆｓに追加”、処理“ｉ＝ｉ＋１”及び判定処理“全てのタイルが実行？”。処理２０１２は、ピクチャ部分について最適なマルチレベルパターンを決定し、それらをバッファに符号化する。例えば、当該処理は、パターンＶＬＣテーブルを選択し、ＶＬＣテーブル選択モード１が使用され、適応的スイッチングモードが有効である場合、適応的スイッチングマスクが０である場合、低複雑性パターンＶＬＣテーブルを選択し、１である場合、高複雑性のものを選択し、ＶＬＣテーブル選択モード１が使用され、適応的スイッチングモードが無効である場合（例えば、自動的スイッチングに設定）、近傍タイルのスプリット数に基づき複雑性の予測を実行し、予測された複雑性ビットが０である場合、低複雑性パターンＶＬＣテーブルを選択し、１である場合、高複雑性のものを選択し、ＶＬＣテーブル選択モード０が使用される場合、パターンＶＬＣテーブルを平均のものに設定する。さらに、当該処理は、タイルの次元及びパーティションに対応するパターンを取得してもよい。例えば、処理が正確な一致のためのパターンコードブック（例えば、テーブル３８（ａ−ｅ））をサーチし、一致がある場合、マッチングインデックスをコードブックテーブルのマッチングパターンインデックスに設定し、そうでない場合、それを−１に設定し、インデックスが−１より大きい場合、パターンコードワードビットをバッファに書き込み、次のピクチャ部分（タイルなど）に移動し、そうでない場合、タイル次元パターンコードブック（テーブル３８（ａ））を通過し続け、有効なレベル０パターン（例えば、無効なカットのないもの）を検出し、このような全てのパターンについて、以下を実行し、すなわち、ｉを０に設定し、現在の非ターミネーティングレベルｉパターンのターミネーションビットを蓄積し、対応するパターンコードブックにおける正確な一致又は最良の有効な一致をサーチし、正確な一致が検出された場合、パターンのコードワードビットをテンポラリバッファに書き込み、レベルｉにおける現在のパターンの次の非ターミネーティングパーティションに移動し、正確な一致が検出されない場合、最良の有効なコンテナパーティション（非ターミネーティング）のビットを書き込み、レベルｉを１だけ増分し、全てのパーティションがターミネートするまで繰り返す。当該処理は、テンポラリバッファに蓄積されるビットのコストを評価し、それがこれまでの最小である場合、蓄積したターミネーションビット及びパターンビットをタイルバッファにコピーする。当該処理はまた、非ターミネーティングタイルの処理のエンドにおいて、タイルパターンバッファをピクチャバッファにコピーし、タイルターミネーションビットバッファをピクチャターミネーションバッファにコピーする。
【０３４０】
処理２２００は、処理“ｐｉｃ＿ｔｂ＿ｂｕｆｆｓを（ビット単位）反転”、判定処理“ｐｉｃ＿ｔｂ＿ｂｕｆｆ［０］＝全てａｌｌ  ０ｓ？”、処理“１を符号化”、処理“０を符号化”、処理“プロキシＶＬＣコーディング（テーブル２）を利用してｐｉｃ＿ｔｂ＿ｂｕｆｆ［１］を符号化”、処理“ｃｏｓｔ［０］＝プロキシＶＬＣ（テーブル４）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［１］のコーディングのコスト、ｃｏｓｔ［１］＝プロキシＶＬＣ（テーブル５）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［１］のコーディングのコスト、ｃｏｓｔ［２］＝プロキシＶＬＣ（テーブル６）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［１］のコーディングのコスト”、処理“ｃｏｓｔ［ｊ］＝ｍｉｎ（ｃｏｓｔ［０］，ｃｏｓｔ［１］，ｃｏｓｔ［２］）”、処理“メソッドｊ（１〜２ビット）のヘッダを符号化”、処理“メソッドｊによるｐｉｃ＿ｔｂ＿ｂｕｆｆ［１］を符号化”、処理“プロキシＶＬＣコーディング（テーブル７）を利用してｐｉｃ＿ｔｂ＿ｂｕｆｆ［２］を符号化”、処理“ｃｏｓｔ［０］＝プロキシＶＬＣ（テーブル９）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［３］のコーディングのコスト、ｃｏｓｔ［２］＝プロキシＶＬＣ（テーブル１１）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［３］のコーディングのコスト、ｃｏｓｔ［３］＝プロキシＶＬＣ（テーブル１２）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［３］のコーディングのコスト、ｃｏｓｔ［４］＝プロキシＶＬＣ（テーブル１３）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［３］のコーディングのコスト、ｃｏｓｔ［５］＝プロキシＶＬＣ（テーブル１４）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［３］のコーディングのコスト、ｃｏｓｔ［６］＝プロキシＶＬＣ（テーブル１５）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［３］のコーディングのコスト”、処理“ｃｏｓｔ［ｊ］＝ｍｉｎ（ｃｏｓｔ［ｋ］），ｋ＝０，１，．．．，６”、処理“メソッドｊ（２〜３ビット）のヘッダを符号化”、処理“メソッドｊによりｐｉｃ＿ｔｂ＿ｂｕｆｆ［３］を符号化”、判定処理“ｐｉｃ＿ｔｂ＿ｂｕｆｆ［４］＝全て０か？”、処理“１を符号化”、処理“０を符号化”、処理“ｃｏｓｔ［０］＝シンボルラン（テーブル１７）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［４］のコーディングのコスト、ｃｏｓｔ［１］＝シンボルラン（テーブル１８）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［４］のコーディングのコスト、ｃｏｓｔ［２］＝シンボルラン（テーブル１９）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［４］のコーディングのコスト、ｃｏｓｔ［３］＝プロキシＶＬＣ（テーブル２０）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［４］のコーディングのコスト”、処理“ｃｏｓｔ［ｊ］＝ｍｉｎ（ｃｏｓｔ［ｋ］），ｋ＝０，１，２，３”、処理“メソッドｊ（２ビット）のヘッダを符号化”、処理“メソッドｊによりｐｉｃ＿ｔｂ＿ｂｕｆｆ［４］を符号化”、処理“ｃｏｓｔ［０］＝プロキシＶＬＣ（テーブル２２）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［５］のコーディングのコスト、ｃｏｓｔ［１］＝プロキシＶＬＣ（テーブル２３）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［５］のコーディングのコスト、ｃｏｓｔ［２］＝プロキシＶＬＣ（テーブル２４）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［５］のコーディングのコスト、ｃｏｓｔ［３］＝プロキシＶＬ���（テーブル２５）によるｐｉｃ＿ｔｂ＿ｂｕｆｆ［５］のコーディングのコスト”、処理“ｃｏｓｔ［ｊ］＝ｍｉｎ（ｃｏｓｔ［ｋ］），ｋ＝０，１，２，３”、処理“メソッドｊ（２ビット）のヘッダを符号化”、及び処理“メソッドｊによりｐｉｃ＿ｔｂ＿ｂｕｆｆ［５］を符号化”を含む処理又は処理グループ２０１４に続く。処理２０１４は、ターミネーションビットをコーディングするための最適なメソッドを生成及び決定し、それらをバッファに符号化する。例えば、当該処理は、２つのパーティションによるレベル０における非ターミネーティングパターンのターミネーションビットが以下のように反転及びコーディングされることによってターミネーションビットを符号化する。すなわち、全てのビットが０である場合、それを示すため１ビット（０）を使用する。そうでない場合、１ビットのヘッダ（１）を使用し、テーブル２に示されるイベントマップを利用してプロキシＶＬＣコーディングによりマスクをコーディングし、２つのパーティションによるレベル１（又はより上位）における非ターミネーティングパターンのターミネーションビットが以下のように反転及びコーディングされる。すなわち、テーブル４、テーブル５及びテーブル６（３つのコスト）に示されるイベントマップを利用して、プロキシＶＬＣコーディングによりビットのコーディングのコストを評価し、最小コストを検出し、対応するメソッドを選択し、選択されたメソッドを示すための１〜２ビットのヘッダをバッファに符号化し、選択されたメソッドによりターミネーションビットをバッファに符号化し、３つのパーティションによるレベル０における非ターミネーティングパターンのターミネーションビットがテーブル７に示されるイベントマップを利用してプロキシＶＬＣコーディングにより反転及びコーディングされ、３つのパーティションによるレベル１（又はより上位）における非ターミネーティングパターンのターミネーションビットが以下のように反転及びコーディングされ、テーブル９〜１５（７つのコスト）に示されるイベントマップを利用してプロキシＶＬＣコーディングによりビットをコーディングするコストを評価し、最小コストを検出し、対応するメソッドを選択し、選択されたメソッドを示すための２〜３ビットヘッダを符号化し、選択されたメソッドによりターミネーションビットをバッファに符号化し、４つのパーティションによるレベル０における非ターミネーティングパターンのターミネーションビットが反転され、全てのビットが０である場合、それを示すための１ビット（０）を使用し、そうでない場合、１ビットヘッダ（１）を使用し、当該ビットを以下のようにコーディングし、すなわち、テーブル１７〜１９に示されるＶＬＣによりシンボルラン及びテーブル２０に示されるイベントマップを利用したプロキシＶＬＣコーディング（４つのコスト）によるビットのコーディングのコストを評価し、最小コストを検出し、対応するメソッドを選択し、選択されたメソッドを示すための２ビットのヘッダを符号化し、選択されたメソッドによりターミネーションビットをバッファに符号化し、４つのパーティションによるレベル１（又はより上位）における非ターミネーティングパ���ーンのターミネーションビットが以下のように反転及びコーディングされ、テーブル２２〜２５（４つのコスト）に示されるイベントマップを利用してプロキシＶＬＣコーディングによりビットをコーディングするコストを評価し、最小コストを検出し、対応するメソッドを選択し、選択されたメソッドを示すための２ビットのヘッダを符号化し、選択されたメソッドによりターミネーションビットをバッファに符号化する。
【０３４１】
処理２２００は、処理ｐｉｃ＿ｂｕｆｆをビットストリームに書き込む“、及び処理”現在ピクチャの処理を終了“を含む処理又は処理グループ２０１６及び２０１８に続く。処理２０１６及び２０１８は、ターミネーションビットバッファをビットストリームに書き込み、パターンバッファをビットストリームに書き込み、現在のビデオフレーム（ピクチャなど）の処理を終了する。例えば、処理は、ターミネーションビットバッファをビットストリームに書き込み、パターンビットバッファをビットストリームに書き込む。
【０３４２】
図２３（Ａ）〜２３（Ｃ）は、本開示の少なくともいくつかの実現形態により構成される一例となる処理２３００のフロー図を示す。処理２３００は、ここでの図２１に関して説明される処理と同じ又は同様の技術を提供する処理又は処理グループ２１０２，２１０４，２１０６，２１０８，２１１０及び／又は２１１２を含む。いくつかの具体例では、図２３（Ａ）〜２３（Ｃ）に示される処理は、ルマデータの６４×６４ピクチャ部分のパーティションを復号化する処理を提供する。
【０３４３】
処理２３００は、処理“入力データ：ビットストリーム、モード、Ｑｐ”を含む処理又は処理グループ２１０２から開始され、ここでは、ビットストリームが受信され、及び／又は入力データがロードされる。例えば、ビットストリームは、ここで説明されるようにエントロピー符号化されたデータを含む。いくつかの具体例では、図示されるように、ビットストリーム及び／又は入力データは、可変長コードテーブル選択モード及び量子化値Ｑｐを含む。
【０３４４】
処理２３００は、判定処理“Ｍｏｄｅ＝１＆Ｑｐ＜３２？”、処理“ａｓｗ＿ｍｏｄｅ＝０”及び処理“ａｓｗ＿ｍｏｄｅ＝１”を含む処理又は処理グループ２１０４に続く。処理２１０４は、ここで説明されるように、ＶＬＣコードテーブル選択モード及び／又はスイッチングモードを復号化及び設定する。例えば、図２２（Ａ）〜２２（Ｆ）及び他の何れかに関して説明されるオプション及びモードは、受信したビットストリームの復号化を介し利用可能である。
【０３４５】
処理２３００は、処理“非ターミネーティング３２×３２パーティションによりタイルのマスクのためのヘッダを復号化”、及び処理“非ターミネーティング３２×３２パーティションによりタイルのマスクを復号化”を含む処理又は処理グループ２１０６に続く。処理２１０６は、適応可能である場合、ターミネーティング３２×３２パーティションによりピクチャ部分（タイルなど）のバイナリマスクを復号化する。例えば、処理は、コーディング技術（例えば、ビットマップ又はシンボルラン）を示すヘッダを復号化し、適用可能である場合、非ターミネーティング３２×３パーティションによりタイルのマスクを復号化することを提供する。このような技術は、図２２（Ａ）〜２２（Ｆ）及び他の何れかに関して説明される符号化処理のための復号化処理を提供する。
【０３４６】
処理２３００は、判定処理“ａｓｗ＿ｍｏｄｅ＝１？”、処理“ａｓｗ＿ｍａｓｋのためのヘッダを復号化”、及び処理“ａｓｗ＿ｍａｓｋを復号化”を含む処理又は処理グループ２１０８に続く、処理２１０８は、適用可能である場合、適応的スイッチングマスクを復号化する。例えば、当該処理は、コーディング技術（例えば、シンボルラン、反転されたビットに対するシンボルラン、差動ビットに対するシンボルランなど）を示すヘッダを復号化し、適用可能である場合、適応的スイッチングマスクのためのものであってもよい。このような技術は、図２２（Ａ）〜２２（Ｆ）及び他の何れかに関して説明される符号化処理のための復号化処理を提供する。
【０３４７】
処理２３００は、処理“ｉ＝０”、処理“ｐｉｃ＿ｔｂ＿ｂｕｆｆ［ｉ］のためのヘッダを復号化”、処理“ｐｉｃ＿ｔｂ＿ｂｕｆｆ［ｉ］及びターミネーションビットグループｉを復号化”、処理“ｉ＝ｉ＋１”及び判定処理“ｉ＞６？”を含む処理又は処理グループ２１１０に続く。処理２１１０は、ターミネーションビットを復号化する。例えば、当該処理は、ターミネーションビットを復号化及びグループ解除することを提供する。このような技術は、図２２（Ａ）〜２２（Ｆ）及び他の何れかに関して説明されるような符号化処理のための復号化処理を提供する。例えば、ターミネーションビットをグループ化する更なる詳細な説明が以下に提供される。
【０３４８】
処理２３００は、処理“ｉ＝０”、処理“ピクチャの第１タイルにｔを設定”、判定処理“Ｍｏｄｅ＝１＆ａｓｗ＿ｍｏｄｅ＝１？”、判定処理“ａｓｗ＿ｍａｓｋ［ｉ］０？”、判定処理“Ｍｏｄｅ＝１＆ａｓｗ＿ｍｏｄｅ＝０？”、処理“Ｎ＝ｔの近傍（上、左、左上）からのｔにおけるパーティションの予測数”、判定処理“Ｎ＜Ｔ＿ｌｏｗ？”、処理“パターンＶＬＣテーブルを低複雑性テーブルに設定”、処理“パターンＶＬＣテーブルを高複雑性テーブルに設定”、処理“パターンＶＬＣテーブルを平均テーブルに設定”、処理“レベル０（テーブル３８ａ〜ｅ）におけるパターンＰを復号化”、判定処理“Ｐはターミネーティング？”、処理“Ｐのターミネーティングビットを復号化（ポインタを移動）（Ｐのパーティション数に応じたｔｂグループから）”、処理“Ｎ＝Ｐの非ターミネーティングパーティションの個数”、処理“ｎ＝０”、処理“パーティションｎに対応するＰのサブパターンを復号化”、処理“ｎ＝ｎ＋１”、判定処理“ｎ＞Ｎ？”、処理“ｉ＝Ｉ＋１”、判定処理“全てのタイルは復号化？”及び処理“現在ピクチャのイントラパーティションの復号化を終了”を含む処理又は処理グループ２１１２に続く。処理２１１２は、エントロピーコーディングされたコードワードからパターンを復号化し、ピクチャ部分のパーティションを再構成する。処理２１１２はまた、現在のビデオフレーム（例えば、ピクチャ）のパーティション（例えば、イントラパーティション）の復号化を終了する。
【０３４９】
図２４は、本開示の少なくともいくつかの実現形態により構成されるパーティションデータをエントロピー符号化する一例となるシステム２４００を示す。図示されるように、システム２４００は、ベースパターンマッチングモジュール２４０１、ベースパターンコードブックモジュール２４０２、パーティションターミネーション解析モジュール２４０３、レベル０ターミネーションインジケータストリーム収集モジュール２４０４、パーティションパターンマッチングモジュール２４０５、パーティションパターンコードワードモジュール２４０６、サブパーティションターミネーション解析モジュール２４０７、レベルｎターミネーションインジケータストリーム収集モジュール２４０８、ＶＬＣパターンインデックスエンコーダモジュール２４０９、再帰レベル解析モジュール２４１０及び／又はＶＬＣ（シンボルラン／プロキシ）ターミネーションストリームエンコーダモジュール２４１１を有する。
【０３５０】
いくつかの具体例では、パーティションされたピクチャ部分（例えば、パーティションされたピクチャ部分）が、ベースパターンマッチングモジュール２４０１に入力される。例えば、パーティションは、予測又はコーディングのためのサイズ６４×６４又は３２×３２などのｋ−ｄツリーパーティション又はバイツリーパーティションであってもよい。ベースパターンマッチングモジュール２４０１は、ベースパターンコードブックモジュール２４０２をサーチし、それは、パーティションされた入力ピクチャ部分に最も近い可能性のあるベース（例えば、“粗い”）一致が選択される候補パターンを含む。例えば、選択されたパターンは、ここに説明されるようなベースパターンとして参照される。図示されるように、ベースパターンは、パーティションターミネーション解析モジュール２４０３に入力され、それは、次の非ターミネーティングパーティション（例えば、レベル０非ターミネーション）に対応するパーティショニングの詳細を出力し、ビットストリームセグメントレベル０ターミネーションインジケータストリームに１ビットのインジケータ（例えば、“０”又は“１”の値による）を送信する。ビットストリームセグメントレベル０ターミネーションインジケータストリームは、図示されるように、レベル０ターミネーションインジケータストリーム収集モジュール２４０４を介し収集される。図示されるように、非ターミネーティングパーティション（例えば、レベル０非ターミネーション）の詳細は、スイッチ２４２１への最初の入力として利用可能である。図示されるように、スイッチ２４２１への第２の入力は、現在レベル又は以前のレベルの非ターミネーティングサブパーティションとして提供される。
【０３５１】
処理されるベースパターンの第１の非ターミネーティングパーティションについて、レベル０非ターミネーション（例えば、次の非ターミネーティングパーティション）が、パーティションパターンマッチングモジュール２４０５に入力される。パーティションパターンマッチングモジュール２４０５は、パーティション（例えば、次の非ターミネーティングパーティション）に最も近い次のレベル（例えば、“粗い”）一致が選択されるパターンを含むパーティションパターンコードブックモジュール２４０６をサーチする。パターンは、パーティションパターンとして参照され、サブパーティションターミネーション解析モジュール２４０７に入力される。サブパーティションターミネーション解析モジュール２４０７は、スイッチ２４２２への１つの入力において現在レベル（例えば、ｃｕｒｒ  ｌｖｌ  ｎｏｎ−ｔｅｒｍ）の詳細な非ターミネーティングパーティションを出力する。スイッチ２４２２への第２入力は、以前のレベルの次の詳細な非ターミネーティングパーティションであってもよい。現在レベル非ターミネーティングサブパーティション（例えば、ｃｕｒｒ  ｌｅｖｌ  ｎｏｎ−ｔｅｒｍ）と共に、オリジナルピクチャ部分パーティショニング（例えば、パーティションされたピクチャ部分）が、再帰レベル解析モジュール２４１０に入力される。再帰レベル解析モジュール２４１０は、現在のピクチャパーティションの処理の完了を通知する次の詳細な以前のレベルの非ターミネーティングパーティション（必要である場合）を出力するか、又は何も出力しない。図示されるように、“ｃｕｒｒ  ｌｖｌ  ｎｏｎ  ｔｅｒｍ”パーティション及び“ａｎｙ  ｐｒｅｖ  ｌｖｌ  ｎｏｎ  ｔｅｒｍ”パーティションとの間で選択するスイッチ２４２２の出力は、ループを終了するパーティションパターンマッチングモジュール２４０５の入力においてスイッチ２４２２にフィードバックされる。各非ターミネーティングパーティションを表すのに選択される各種パターン／サブパターンのインデックス及び／又はコードワードは、ＶＬＣパターンインデックスエンコーダモジュール２４１１により符号化される。さらに、レベル０のターミネーションインジケータストリーム（例えば、ｌｖｌ  ｎ  ｔｅｒｍ  ｉｎｄ  ｓｔｒｅａｍ）及びより高いレベル（例えば、ｌｖｌ  ｔｅｒｍ  ｉｎｄ  ｓｔｒｅａｍ）の他の各種ターミネーションインジケータストリームが、ＶＬＣ（シンボルラン／プロキシ）ターミネーションストリームエンコーダモジュール２４１１により符号化される。ＶＬＣパターンインデックスエンコーダモジュール２４１１及び／又はＶＬＣ（シンボルラン／プロキシ）ターミネーションストリームエンコーダモジュール２４１１の出力は、ここで説明されるように、ビットストリーム及び出力へのアセンブリングのためビットストリームアセンブラ４０８に送信される。
【０３５２】
各種具体例では、システム２４００は、エンコーダ１００の適応的エントロピーエンコーダ１１０などのエンコーダ１００を介し実現される（図１を参照されたい）。いくつかの具体例では、システム２４００は、ピクチャパーティション・予測パーティション・コーディングパーティションエンコーダモジュール４０２を介し実現されてもよい（図４を参照されたい）。例えば、システム２４００は、ピクチャパーティション用適応的コードブックＶＬＣエンコーダモジュール６２１、イントラ予測パーティション用シンボルランＶＬＣ及び／又はプロキシＶＬＣエンコーダモジュール６２２、及び／又はインター予測パーティション・コーディングパーティション用シンボルランＶＬＣ及び／又はプロキシＶＬＣエンコーダモジュール６２３の１以上を介し実現されてもよい。例えば、システム２４００の１以上が、ここで説明されるように、ピクチャパーティション、イントラ予測パーティション、インター予測パーティション及び／又はコーディングパーティションを符号化するため実現されてもよい。
【０３５３】
コーディングの各種具体例の説明に移る。例えば、ルマパーティションコーディングは、（１）パターンのコーディング（例えば、マルチレベルのパターン）及び（２）ターミネーションビットのコーディングの２つのパーツを含む。いくつかの具体例では、クロマパーティションコーディングは、（１）パターンのコーディング、（２）フォロービットのコーディング及び（３）ターミネーションビットのコーディングの３つのパーツを含む。
【０３５４】
説明されるように、各ピクチャ部分（タイルなど）におけるパーティションは、階層的に順序づけされたパターン（例えば、マルチレベルパターン）のセットにより表現されてもよい。０（ベース）レベルにおいて、最良の適したスタートパターンが、説明されるように選択される。パターン自体は、２つの表現モードを有する。例えば、パターンは、ピクチャ部分の所与のパーティションをターミネートする（例えば、忠実に又は完全に表現する）、又はターミネートしない（例えば、それの部分又はパーティションの１つ、一部又は全てが更に、より小さなパターンによってより上位のレベルにおいてコーディング及び表現される必要がある）。
【０３５５】
図を再び参照して、図示された具体例は、入力ピクチャ部分のパーティションが階層的方法により表現されることを示す。図示された具体例では、ピクチャ部分を指定するのに１２個のパターンが利用される（ベースレベルでは１、レベル１では４、レベル２では７）。
【０３５６】
説明されるように、このような具体例では、ターミネーティングパターンは、実際のＶＬＣコード以外の何れか更なるビットを搬送する必要はない（例えば、ターミネーションビットは必要とされない）。しかしながら、非ターミネーティングパターンの何れのパーティションが更にコーディングされるかに関する情報（例えば、ターミネーションビット）、何れの情報がデコーダに搬送される必要があるか、デコーダはピクチャ部分のパーティションを再構成する。例えば、非ターミネーティングパターンは、少なくとも１つの非ターミネーティングであるパーティションを有する必要があり、これにより、パターンのターミネーションビットは、１ビット単位のイベントを有する。すなわち、０がターミネーションを表し、１が非ターミネーションを表す場合、３つのパーティションによる非ターミネーティングパターンにおいて、イベント０００は発生しない（そうでない場合、パターンはターミネートするであろう）。いくつかの具体例では、この事実は、ターミネーションビットの小さなＶＬＣベースコーディングを導出するのに利用される。さらに、いくつかの具体例では、ターミネーションビットは、シンボルランメソッドによりコーディングされてもよい。
【０３５７】
また、説明されるように、（１）可変長コードテーブル選択モード０（例えば、シングルパターンＶＬＣテーブル）、及び（２）可変長コードテーブル選択モード１（例えば、コンプレクスパターンＶＬＣテーブルとシンプルパターンＶＬＣテーブルなどのＶＬＣテーブル間でスイッチなど）のパターンのコーディングにおいて２つのモードの処理があってもよい。
【０３５８】
説明されるように、ルマの具体例では、可変長コードテーブル選択モード０は、パターンのためにシングルＶＬＣテーブルを利用することに基づくものであってもよい。クロマの具体例では、可変長コードテーブル選択モード０は、コーディングメソッドのフレームベーススイッチングを利用してもよい。このようなスイッチングは、量子化パラメータ（Ｑｐ）に基づくものであってもよい。スイッチングモードは、レベル０パターン（ソリッドなど）がＶＬＣテーブルから無効とされ、シンボルランコーダによりコーディングされるメソッドＡと、ＶプレーンのシンボルランがＵプレーン及びＶプレーンソリッド／非ソリッドマスクの差動に対して実行されるメソッドＢとを含む。クロマの具体例では、可変長コードテーブル選択モード１は、モード０と同じメソッドを利用する。
【０３５９】
ルマの具体例に戻って、説明されるように、スイッチングは、近傍のピクチャ部分を利用するピクチャ部分ベースによる予測に基づく。例えば、現在のピクチャ部分の結果の所定の統計量が、すぐ近傍のピクチャ部分（例えば、以前に復号化されたピクチャ部分など）のテーブルスイッチングビットのため提供される。例えば、統計量は、各フレームが４，８，１２，１６，２４，３，４８及び６４の量子化を利用する３つのフレームを有する１６個のシーケンスを利用して計算される。さらに、各ピクチャ部分は二重にコーディングされ、これら２つの最良のものがピクチャ部分レベル毎に選択される。所定の統計データを利用して、確率のテーブルが構成され、ここで、テーブルはフレームレベル及び量子化（Ｑｐ）に関する空間複雑性（ＳＣ）に従って分離されている。所与のピクチャ部分においてスイッチするテーブルの決定は、テーブルからの対応する確率を利用して決定されてもよい。例えば、ルックアップは、近傍のピクチャ部分のＱｐ、ＳＣ及びスイッチビットに基づき実行されてもよい。スイッチングマスクは、ビットテーブルを利用して各ピクチャ部分についてパターンビットのカウンティングを利用して生成又は近似されてもよい。あるテーブルの確率が約６５％より大きい場合、結果としてのスイッチングマスクが利用されてもよい。あるテーブルの確率が約６５％より小さい場合、スイッチングマスクは、図２５に関して説明される近傍のピクチャ部分におけるパーティションの個数を利用する以下の技術に基づくものであってもよい。
【０３６０】
図２５は、本開示の少なくともいくつかの実現形態により構成される一例となる現在ピクチャ部分２５０１及び一例となる近傍ピクチャ部分２５１１，２５１２及び２５１３を示す。図２５に示されるように、現在のピクチャ部分２５０１（Ｘ，Ｙのポジションにおける）は、以前に復号化された近傍ピクチャ部分２５１１（現在のピクチャ部分２５０１に関して左上のポジションＸ−１，Ｙ−１にある）、以前に復号化された近傍ピクチャ部分２５１２（現在のピクチャ部分２５０１に関して上にあるポジションＸ，Ｙ−１にある）、及び以前に復号化された近傍ピクチャ部分２５１３（現在のピクチャ部分２５０１に関して左のポジションＸ−１，Ｙにある）を有する。例えば、近傍ピクチャ部分における複数のパーティションを利用する技術は、現在のピクチャ部分のスイッチビットを予測するための複数のパーティションを決定する。例えば、現在のピクチャ部分２５０１の複数のパーティションは、すぐ近傍のピクチャ部分２５１１，２５１２及び２５１３の既知の個数のパーティションを利用して推定される。現在のピクチャ部分２５０１などの内部のピクチャ部分について、推定されるパーティションの個数は、ピクチャ部分２５１３のパーティションの個数の６０％、ピクチャ部分２５１２のパーティションの個数の３０％、及びピクチャ部分２５１１のパーティションの個数の１０％であってもよい。ピクチャ部分の推定される個数は、当該推定される個数が所定の閾値より大きい場合、ＶＬＣテーブルが高いパーティション又は高複雑性ＶＬＣテーブル（スイッチビット１に対応する）に設定され、推定される個数が所定の閾値より小さい場合、ＶＬＣテーブルが低いパーティション又は低複雑性ＶＬＣテーブル（スイッチビット０に対応する）に設定されるように、所定の閾値と比較される。いくつかの具体例では、所定の閾値は１６であってもよい。
【０３６１】
説明されるように、全ての非ターミネーティングパターンについて、ターミネーションビットは、デコーダが非ターミネーティングパターンの何れのパーティションがターミネートせず、更にコーディングされるか決定するように指定されてもよい。また、説明されるように、ターミネーションビットはグループ化され、グループ化されるようにエントロピーコーディングされ、ビットストリームに書き込まれる。例えば、６４×６４のピクセルピクチャ部分のルマプレーンでは、ターミネーションビットが蓄積され、以下のように７つの異なるグループにグループ化される。
【０３６２】
【表２】
0006339099.tif 000003
【０３６３】
例えば、ルマピクチャ部分は６４×６４ピクセルであってもよい。このような具体例では（例えば、６４×６４のサイズのピクチャ部分のルマなど）、以下のメソッドがターミネーションビットをコーディングするのに利用されてもよい。例えば、第１グループのターミネーションビット（２つのパーティションによるレベル０における非ターミネーティングパターンのターミネーションビット）が、最小のビットコストを生じさせるテーブル１からの２つのメソッドの１つにより反転及びコーディングされてもよい。
【０３６４】
【表３】
0006339099.tif 000004
【０３６５】
【表４】
0006339099.tif 000005
【０３６６】
例えば、第２グループのターミネーションビット（２つのパーティションによるレベル１又は上位の非ターミネーティングパターンのターミネーションビット）が、最小のビットコストを生じさせるテーブル３からの３つのメソッドの１つにより反転及びコーディングされてもよい。
【０３６７】
【表５】
0006339099.tif 000006
【０３６８】
【表６】
0006339099.tif 000007
【０３６９】
【表７】
0006339099.tif 000008
【０３７０】
【表８】
0006339099.tif 000009
【０３７１】
例えば、第３グループのターミネーションビット（３つのパーティションによるレベル０の非ターミネーティングパターンのターミネーションビット）が、テーブル７に示されるイベントマップを利用してプロキシＶＬＣコーディングにより反転及びコーディングされてもよい。
【０３７２】
【表９】
0006339099.tif 000010
【０３７３】
例えば、第４グループのターミネーションビット（３つのパーティションによるレベル１（又は上位）の非ターミネーティングパターンのターミネーションビット）が、最小ビットコストを生じさせるテーブル８からの７つのメソッドの１つにより反転及びコーディングされてもよい。
【０３７４】
【表１０】
0006339099.tif 000011
【０３７５】
【表１１】
0006339099.tif 000012
【０３７６】
【表１２】
0006339099.tif 000013
【０３７７】
【表１３】
0006339099.tif 000014
【０３７８】
【表１４】
0006339099.tif 000015
【０３７９】
【表１５】
0006339099.tif 000016
【０３８０】
【表１６】
0006339099.tif 000017
【０３８１】
【表１７】
0006339099.tif 000018
【０３８２】
例えば、第５グループのターミネーションビット（４つのパーティションによるレベル０の非ターミネーティングパターンのターミネーションビット）が、最小ビットコストを生じさせるテーブル１６からの５つのメソッドの１つにより反転及びコーディングされてもよい。
【０３８３】
【表１８】
0006339099.tif 000019
【０３８４】
【表１９】
0006339099.tif 000020
【０３８５】
【表２０】
0006339099.tif 000021
【０３８６】
【表２１】
0006339099.tif 000022
【０３８７】
【表２２】
0006339099.tif 000023
【０３８８】
例えば、第６グループのターミネーションビット（４つのパーティションによるレベル１又は上位の非ターミネーティングパターンのターミネーションビット）が、最小ビットコストを生じさせるテーブル２１からの４つのメソッドの１つにより反転及びコーディングされてもよい。
【０３８９】
【表２３】
0006339099.tif 000024
【０３９０】
【表２４】
0006339099.tif 000025
【０３９１】
【表２５】
0006339099.tif 000026
【０３９２】
【表２６】
0006339099.tif 000027
【０３９３】
【表２７】
0006339099.tif 000028
【０３９４】
例えば、第７グループのターミネーションビット（４より多くのパーティションによる何れかのレベルの非ターミネーティングパターンのターミネーションビット）が、ビットマップコーディングにより圧縮されずに（例えば、そのまま）コーディングされる。例えば、４つのより多くのパーティションによる何れかのレベルの非ターミネーティングパターンのターミネーションビットは、実質的にまれなイベントであるかもしれない。
【０３９５】
例えば、３２×３２のピクセルピクチャ部分のルマプレーンでは、第２、３、４、６及び７グループのターミネーションビットは、６４×６４ピクセルのピクチャ部分によるルマプレーンのものと同じ技術を利用してコーディングされてもよい。しかしながら、第１及び第５グループのターミネーションビットは、異なる技術を利用してコーディングされる。例えば、３２×３２ピクセルのピクチャ部分のルマプレーンでは、第１グループのターミネーションビット（２つのパーティションによるレベル２の非ターミネーティングパターンのターミネーションビット）が、最小ビットコスト値を生じさせるテーブル２６からの３つのメソッドの１つにより反転及びコーディングされる。
【０３９６】
【表２８】
0006339099.tif 000029
【０３９７】
【表２９】
0006339099.tif 000030
【０３９８】
【表３０】
0006339099.tif 000031
【０３９９】
例えば、３２×３２ピクセルのピクチャ部分のルマプレーンでは、第５グループのターミネーションビット（４つのパーティションによるレベル０の非ターミネーティングパターンのターミネーションビット）が、最小ビットコストを生じさせるテーブル２９からの３つのメソッドの１つにより反転及びコーディングされる。
【０４００】
【表３１】
0006339099.tif 000032
【０４０１】
【表３２】
0006339099.tif 000033
【０４０２】
【表３３】
0006339099.tif 000034
【０４０３】
例えば、クロマプレーンでは、ターミネーションビットは、以下のように５つの異なるグループに蓄積及びグループ化される。
【０４０４】
【表３４】
0006339099.tif 000035
【０４０５】
例えば、クロマプレーンでは、第１グループのターミネーションビット（２つのパーティションによるレベル０の非ターミネーティングパターンのターミネーションビット）が、テーブル３２に示されるイベントマップを利用してプロキシＶＬＣコーディングによりコーディングされる。
【０４０６】
【表３５】
0006339099.tif 000036
【０４０７】
例えば、クロマプレーンでは、第２グループのターミネーションビット（２つのパーティションによるレベル１又は上位の非ターミネーティングパターンのターミネーションビット）が、最小ビットコストを生じさせるテーブル３３からの２つのメソッドの１つによりコーディングされる。
【０４０８】
【表３６】
0006339099.tif 000037
【０４０９】
【表３７】
0006339099.tif 000038
【０４１０】
【表３８】
0006339099.tif 000039
【０４１１】
例えば、クロマプレーンでは、第３グループのターミネーションビット（３つのパーティションによる非ターミネーティングパターンのターミネーションビット）が、テーブル３６に示されるイベントマップを利用してプロキシＶＬＣコーディングによりコーディングされる。
【０４１２】
【表３９】
0006339099.tif 000040
【０４１３】
例えば、クロマプレーンでは、第４グループのターミネーションビット（４つのパーティションによる非ターミネーティングパターンのターミネーションビット）が、テーブル３７に示されるイベントマップを利用してプロキシＶＬＣコーディングによりコーディングされる。
【０４１４】
【表４０】
0006339099.tif 000041
【０４１５】
例えば、クロマプレーンでは、第５グループのターミネーションビット（４つより多くのパーティションによる何れかのレベルの非ターミネーティングパターンのターミネーションビット）が、圧縮されずに（すなわち、そのままのビットマップ）コーディングされる。例えば、４つより多くのパーティションによる何れかのレベルの非ターミネーティングパターンのターミネーションビットはレアなイベントであるかもしれない。
【０４１６】
説明されるように、ターミネーションビットは、２つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第１グループ、２つのパーティションを有するレベル１又は上位のパターンのためのターミネーションビットを有する第２グループ、３つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第３グループ、３つのパーティションを有するレベル１又は上位のパターンのためのターミネーションビットを有する第４グループ、４つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第５グループ、４つのパーティションを有するレベル１又は上位のパターンのためのターミネーションビットを有する第６グループ、及び４つより多くのパーティションを有するベースレベル又は上位のパターンのためのターミネーションビットを有する第７グループにグループ化されてもよい。ターミネーションビットは、第１〜７グループのターミネーションビットの少なくとも１つを反転し、反転されたグループのターミネーションビットについて最小ビットコストを提供する複数の可変長コーディングテーブルから選択された可変長コーディングテーブルに基づき反転されたグループのターミネーションビットをエントロピー符号化することによってエントロピー符号化され、選択された可変長コーディングテーブルに関連する可変長コーディングテーブルヘッダを生成し、可変長コーディングテーブルヘッダとエントロピー符号化された反転されたグループのターミネーションビットをビットストリームに書き込む。
【０４１７】
いくつかの具体例では、クロマピクチャ部分のパーティションは、ルマピクチャ部分のパーティションに基づきコーディングされる。例えば、フォロービットは、クロマピクチャ部分のパーティションが対応するルマピクチャ部分のパーティションからコピーされるか、又は、クロマピクチャ部分のパーティションが明示的に指定されるか（例えば、クロマピクチャ部分のパーティションは異なり、コピーされなくてもよい）記述してもよい。例えば、“１”のフォロービットは、ルマからの特定のピクチャ部分のパーティショニングがクロマによる利用のためコピー可能であるか示し、“０”の値のフォロービットは、クロマピクチャ部分のパーティショニングのためのパーティショニング情報がビットストリームを介し明示的に送信されることを示すものであってもよい。
【０４１８】
いくつかの具体例では、Ｕクロマプレーンフォロービットは、ビットマップ又はシンボルランＶＬＣにより直接的にコーディングされ、Ｖクロマプレーンフォロービットは、予測差分（例えば、Ｖクロマプレーンフォロービットの予測を訂正するビット）によりＵプレーンから予測され、ビットマップ又はシンボルランＶＬＣによりコーディングされる。
【０４１９】
例えば、コーディングのための入力データは、ビデオフレームのルマパーティション及びクロマパーティションを規定するルマデータ及びクロマデータを含む。説明されるように、フォロービットは、ビデオフレームについて生成される。フォロービットは、ビデオフレームのピクチャ部分について、クロマパーティションがルマパーティションに一致するか（例えば、“１”のビット）、又はクロマパーティションがルマパーティションに一致しないか（例えば、“０”のビット）を示すものであってもよい。フォロービットのために選択されるコーディング技術は、ビットマップコーディング又はシンボルラン可変長コーディングから決定され、コーディング技術を示すフォロービットの選択されたコーディング技術ヘッダが生成される。フォロービットは、選択されたコーディング技術に基づきエントロピー符号化され、ビットストリームに書き込まれる。
【０４２０】
いくつかの具体例では、入力データは、ビデオフレームについて、ルマパーティションを規定するルマデータと、Ｕプレーンクロマパーティション及びＶプレーンクロマパーティションを規定するクロマデータとを有する。Ｕプレーンフォロービットが、ビデオフレームのピクチャ部分について、Ｕプレーンクロマパーティションがルマパーティションに一致するか（例えば、“１”のビット）、又はＵプレーンクロマパーティションがルマパーティションに一致しないか（例えば、“０”のビット）示すように、Ｕプレーンフォロービットがビデオフレームについて生成される。さらに、Ｕプレーンフォロービットは、Ｖプレーンフォロービットが、ビデオフレームのピクチャ部分について、Ｖプレーンクロマパーティションがルマパーティションに一致するか（例えば、“１”のビット）、又は、Ｖプレーンクロマパーティションがルマパーティションに一致しないか（例えば、“０”のビット）を示すように、ビデオフレームについて生成されてもよい。Ｕプレーンフォロービットについて選択されたコーディング技術は、ビットマップコーディング又はシンボルラン可変長コーディングから決定され、コーディング技術を示すＵプレーンフォロービットの選択されたコーディング技術のヘッダが生成される。さらに、Ｖプレーンの予測されたフォロービットは、Ｕプレーンフォロービットに基づき決定される。例えば、Ｖプレーンの予測されたフォロービットは、Ｕプレーンのフォロービットに一致してもよい。ＶプレーンのフォロービットとＶプレーンの予測フォロービットとは、Ｖプレーンの差分フォロービットを生成するため差分化される。Ｖプレーン差分フォロービットのＶプレーン差分フォロービットの選択されたコーディング技術は、ビットマップコーディング又はシンボルラン可変長コーディングから決定され、選択されたコーディング技術を示すＶプレーン差分フォロービットの選択されたコーディング技術のヘッダが生成される。ＵプレーンフォロービットとＶプレーン差分フォロービットとは、選択されたコーディング技術に基づきエントロピー符号化され、Ｕプレーンフォロービットの選択されたコーディング技術ヘッダ、Ｖプレーン差分フォロービットの選択されたコーディング技術ヘッダ、エントロピー符号化されたＵプレーンフォロービット及びエントロピー符号化されたＶプレーン差分フォロービットが、ビットストリームに書き込まれてもよい。
【０４２１】
ここに説明されるように、マルチレベルパターンのパターン（例えば、ベースレベルパターン及び上位レベルパターン）は、シングル（平均）ＶＬＣテーブルに基づき、又は２つの（例えば、低複雑性及び高複雑性）ＶＬＣテーブル（又はそれ以上）に選択的に基づきエントロピーコーディングされてもよい。２以上のテーブルが利用可能であるとき、それらは自動的又は適応的に選択されてもよい。適用可能なＶＬＣテーブルに基づき、エントロピーコーディングされたコードワードが各パターン（マルチレベルパターンの）について決定され、エントロピーコーディングされたコードワードがビットストリームに書き込まれる。テーブルＤは、ＶＬＣタイプの一例となるリストのためのキーを提供する。テーブルＤでは、カラム“ＶＬＣのタイプ”は、ここに説明される一例となるＶＬＣタイプ、モードなどを提供し、カラム“Ｔ”は、テーブル３８（ａ）〜（ｅ）において、“Ｔ”の下のリストがテーブルＤにおいて“ＶＬＣのタイプ”により提供される説明を表すように、テーブル３８（ａ）〜（ｅ）のキーを提供する。ここに説明されるコードワードは、一緒に又は別々に実現されてもよい。さらに、説明されるようなマルチレベルパターンの実現は、シングルコードブックと比較して、コードブック内のエントリの個数を限定するものであってもよい。提供される一例となるコードブックテーブルは、ルマについて提供される。いくつかの具体例では、同じ又は同様の個数のエントリを有するクロマチェーぶるがまた実現されてもよい。
【０４２２】
【表４１】
0006339099.tif 000042
【０４２３】
以下のテーブル３８（ａ）〜（ｅ）では、一例となるコードブック又はコードブックパーティションが提供される。具体例では、第１カラムにおいて、コードブックのビジュアルパターン（パーティションなど）が提供される。ビジュアルパターンの左下にビジュアルパターンのインデックス値が与えられ、右下に複数のパーティションが提供される。他のカラムでは、テーブルＤに提供される“ＶＬＣのタイプ”に対応するエントロピーコーディングされたコードワードが提供される（例えば、“ａ”は“ターミネーティングパターンの平均ＶＬＣテーブル”のＶＬＣのタイプに対応し、“ｂ”は“非ターミネーティングパターンの平均ＶＬＣテーブル”のＶＬＣのタイプに対応するなどである。）。テーブルでは、ヘッダ“Ｔ”は“ＶＬＣのタイプ”を表す。さらに、“Ｌ”のヘッダの下の値が与えられ、それは、コードワードの長さである。提供されるコードワードは一例であり、いくつかのケースでは、簡単化のため部分的である。
【０４２４】
【表４２】
0006339099.tif 000043
【０４２５】
【表４３】
0006339099.tif 000044
【０４２６】
【表４４】
0006339099.tif 000045
【０４２７】
【表４５】
0006339099.tif 000046
【０４２８】
【表４６】
0006339099.tif 000047
【０４２９】
図１６に関して説明されるように、一例となるビデオコーディングシステム１６００は、イメージングデバイス１６０１、ビデオエンコーダ１００及び／又は処理ユニット１６２０のロジック回路１６５０を介し実現されるビデオエンコーダ、ビデオデコーダ２００及び／又は処理ユニット１６２０のロジック回路１６５０を介し実現されるビデオデコーダ、アンテナ１６０２、１以上のプロセッサ１６０３、１以上のメモリストア２００４及び／又はディスプレイデバイス２００５を有してもよい。
【０４３０】
いくつかの具体例では、ロジック回路１６５０を介し実現されるビデオエンコーダ１００は、イメージバッファ（例えば、処理ユニット１６２０又はメモリストア１６０４を介し）及びグラフィクス処理ユニット（例えば、処理ユニット１６２０を介し）を有する。グラフィクス処理ユニットは、イメージバッファに通信結合される。グラフィクス処理ユニットは、図１，４，６などに関して説明されるような各種モジュールを実現するため、ロジック回路１６５０を介し実現されるようなビデオエンコーダ１００を有する。例えば、グラフィクス処理ユニットは、エントロピーエンコーダロジック回路などを有してもよい。ロジック回路は、ここに説明されるような各種処理を実行するよう構成されてもよい。例えば、エントロピーエンコーダロジック回路は、ビデオフレームのピクチャ部分のパーティションを規定する入力データをロードし、マルチレベルパターンが複数の利用可能なパターンから選択されたベースパターンと、ベースパターンの少なくとも１つの非ターミネーティング部分について複数の利用可能なパターンから選択される少なくとも１つのレベル１パターンとを含むように、第１ピクチャ部分についてマルチレベルパターンを決定し、ターミネーションビットがマルチレベルパターン及び第１ピクチャ部分のベースパターンに関連する第１ターミネーションビットを含むように、ビデオフレームのピクチャ部分のパターンレベルのターミネーションを示すターミネーションビットを決定し、ベースパターンに関連する第１のエントロピーコーディングされたコードワードとレベル１パターンに関連する第２のエントロピーコーディングされたコードワードとを決定し、ターミネーションビットをエントロピー符号化し、第１のエントロピーコーディングされたコードワード、第２のエントロピーコーディングされたコードワード及びエントロピーコーディングされたターミネーションビットをビットストリームに書き込むよう構成されてもよい。
【０４３１】
いくつかの具体例では、ビデオコーディングシステム１６００のアンテナ１６０２は、ビデオデータのエントロピー符号化されたビットストリームを受信するよう構成される。説明されるように、ビットストリームは、各種タイプの圧縮されたビデオデータを含む。ビデオコーディングシステム１６００はまた、アンテナ１６０２に結合され、符号化されたビットストリームを復号化するよう構成されるビデオデコーダ２００を有する。例えば、ビデオデコーダ２００は、符号化されたビットストリームにおける第１のエントロピーコーディングされたコードワードに基づきビデオフレームの第１ピクチャ部分のマルチレベルパターンのベースパターンと、符号化されたビットストリームにおける第２のエントロピーコーディングされたコードワードに基づきマルチレベルパターンのレベル１パターンと、ビデオフレームのピクチャ部分のパターンレベルのターミネーションを示すターミネーションビットとを決定するため符号化されたビットストリームを復号化し、復号化されたベースパターン、レベル１パターン及びターミネーションビットに基づき第１ピクチャ部分の第１パーティションを再構成するよう構成される。
【０４３２】
ここに提供される特定の特徴は各種実現形態を参照して説明されたが、本説明は限定的な意味で解釈されることは意図されていない。従って、本開示が属する当業者に明らかである、ここに説明される実現形態の各種変更は、他の実現形態と共に本開示の趣旨及び範囲内にあるとみなされるべきである。
【０４３３】
以下の具体例は、更なる実施例に関する。
【０４３４】
一例では、ビデオコーディングのためのコンピュータにより実現される方法は、ビデオフレームのピクチャ部分のパーティションを示す入力データをロードするステップと、第１のピクチャ部分のマルチレベルパターンを決定するステップであって、前記マルチレベルパターンは、複数の利用可能なパターンから選択されたベースパターンと、前記ベースパターンの少なくとも１つの非ターミネーティング部分について前記複数の利用可能なパターンから選択された少なくとも１つのレベル１パターンとを有する、決定するステップと、前記ビデオフレームのピクチャ部分のパターンレベルのターミネーションを示すターミネーションビットを決定するステップであって、前記ターミネーションビットは、前記マルチレベルパターンのベースパターンに関連する第１のターミネーションビットと前記第１のピクチャ部分とを有する、決定するステップと、前記ベースパターンに関連する第１のエントロピーコーディングされたコードワードと、前記レベル１パターンに関連する第２のエントロピーコーディングされたコードワードとを決定するステップと、前記ターミネーションビットをエントロピー符号化するステップと、前記第１のエントロピーコーディングされたコードワード、前記第２のエントロピーコーディングされたコードワード及び前記エントロピーコーディングされたターミネーションビットをビットストリームに書き込むステップとを有してもよい。
【０４３５】
他の例では、ビデオコーディングのためのコンピュータにより実現される方法は更に、前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも１つについて可変長コードテーブル選択モードを、シングル可変長コーディングテーブルが前記ビデオフレームの全てのピクチャ部分のエントロピーコーディングされたコードワードを決定するため利用される第１の可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが前記ビデオフレームの各ピクチャ部分について２以上の利用可能な可変長コーディングテーブルから選択され、前記選択されたピクチャ部分ベース可変長コーディングテーブルが前記関連するピクチャ部分のエントロピーコーディングされたコードワードを決定するのに利用される第２の可変長コードテーブル選択モードとの少なくとも１つから決定するステップと、２つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第１グループ、２つのパーティションを有するレベル１又はより上位のパターンのためのターミネーションビットを有する第２グループ、３つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第３グループ、３つのパーティションを有するレベル１又はより上位のパターンのためのターミネーションビットを有する第４グループ、４つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第５グループ、４つのパーティションを有するレベル１又はより上位のパターンのためのターミネーションビットを有する第６グループ、及び４つより多くのパーティションを有するベースレベル又はより上位のパターンのためのターミネーションビットを有する第７グループに、前記ターミネーションビットをグループ化するステップとを更に有してもよい。前記ターミネーションビットをエントロピー符号化するステップは、前記第１〜７グループのターミネーションビットの少なくとも１つを反転し、前記反転されたグループのターミネーションビットの最小ビットコストを提供する、複数の可変長コーディングテーブルから選択された可変長コーディングテーブルに基づき、前記反転されたグループのターミネーションビットをエントロピー符号化するステップと、前記選択された可変長コーディングテーブルに関連する可変長コーディングテーブルヘッダを生成するステップと、前記可変長コーディングテーブルヘッダと前記エントロピー符号化された反転されたグループのターミネーションビットとを前記ビットストリームに書き込むステップとを有する。第１の可変長コーディングテーブルと第２の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため、選択的に利用可能であり、当該方法は更に、自動的スイッチングモード又は適応的スイッチングモードの少なくとも１つから前記ビデオフレームのピクチャ部分について前記第１及び第２の可変長コーディングテーブルの間をスイッチするための選択されたスイッチングモードを決定するステップを有してもよく、量子化値が所定の閾値未満である場合、前記適応的スイッチングモードが前記選択されたスイッチングモードである。第１の可変長コーディングテーブルと第２の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記第１の可変長コーディングテーブル又は前記第２の可変長コーディングテーブルの少なくとも１つからの第１の選択された可変長コーディングテーブルは、前記第１のピクチャ部分の複雑さの予測に基づき、前記第１のピクチャ部分について自動的に決定されてもよい。高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとからの第１の選択された可変長コーディングテーブルは、前記第１のピクチャ部分の複雑さの予測に基づき、前記第１のピクチャ部分について自動的に決定されてもよい。前記第１のピクチャ部分の複雑さの予測は、前記第１のピクチャ部分の近傍のピクチャ部分の複数のスプリットを決定し、前記スプリットの個数が閾値を超えるとき、前記高複雑性可変長コーディングテーブルを利用し、前記スプリットの個数が前記閾値以下であるとき、前記低複雑性可変長コーディングテーブルを利用することを含むものであってもよい。第１の可変長コーディングテーブルと第２の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記第１の可変長コーディングテーブルと前記第２の可変長コーディングテーブルとからの第１の選択された可変長コーディングテーブルが、前記第１のピクチャ部分について決定され、当該方法は更に、前記ビデオフレームのピクチャ部分について前記第１の可変長コーディングテーブルと前記第２の可変長コーディングテーブルとから選択された可変長コーディングテーブルを決定するステップと、前記ビデオフレームの適応的スイッチングマスクを生成するステップであって、前記適応的スイッチングマスクは前記ピクチャ部分の前記選択された可変長コーディングテーブルを示すインジケータを含む、生成するステップと、前記適応的スイッチングマスクをエントロピー符号化し、前記ビットストリームに書き込むステップとを有してもよい。前記第２のエントロピーコーディングされたコードワードは、前記レベル１パターンがターミネーティングパターンであることを示してもよい。前記ピクチャ部分は６４×６４ピクセルを含み、当該方法は更に、関連するピクチャ部分が少なくとも１つのターミネーティング３２×３２パーティションと共に４つの３２×３２パーティション又は４つの３２×３２非ターミネーティングパーティションを有するか各々が示す複数のバイナリインジケータを有するピクチャ部分のバイナリマスクを生成するステップと、シンボルランコーディングメソッド又はビットマップコーディングメソッドを利用して、前記ピクチャ部分のバイナリマスクを符号化するか判断するステップと、ピクチャ部分のバイナリマス���のコーディングメソッドインジケータを生成するステップと、前記選択されたコーディングメソッドに基づき、前記ピクチャ部分のバイナリマスクをエントロピー符号化するステップと、前記ピクチャ部分のバイナリマスクのコーディングメソッドインジケータと前記エントロピー符号化されたピクチャ部分のバイナリマスクとを前記ビットストリームに書き込むステップとを有してもよい。前記入力データは、ルマパーティションとクロマパーティションとを規定するルマデータとクロマデータとを有し、当該方法は更に、前記ビデオフレームのためのフォロービットを生成するステップであって、前記フォロービットは、前記ビデオフレームのピクチャ部分について、前記クロマパーティションの少なくとも１つが前記ルマパーティションに一致するか、又は、前記クロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップと、ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも１つから、前記フォロービットのフォロービットについて選択されたコーディング技術を決定するステップと、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも１つを示すフォロービットの選択されたコーディング技術ヘッダを生成するステップと、前記選択されたコーディング技術に基づき前記フォロービットをエントロピー符号化するステップと、前記フォロービットの選択されたコーディング技術と前記エントロピー符号化されたフォロービットとを前記ビットストリームに書き込むステップと、
を有してもよい。前記入力データは、ルマパーティションを規定するルマデータと、ＵプレーンクロマパーティションとＶプレーンクロマパーティションとを規定するクロマデータとを有し、当該方法は更に、前記ビデオフレームのＵプレーンフォロービットを生成するステップであって、前記Ｕプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Ｕプレーンクロマパーティションの少なくとも１つが前記ルマパーティションに一致するか、又は、前記Ｕプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップと、前記ビデオフレームのＶプレーンフォロービットを生成するステップであって、前記Ｖプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Ｖプレーンクロマパーティションの少なくとも１つが前記ルマパーティションに一致するか、又は、前記Ｖプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成するステップと、ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも１つから前記ＵプレーンフォロービットのＵプレーンフォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも１つを示すＵプレーンフォロービットの選択されたコーディング技術ヘッダとを決定するステップと、前記Ｕプレーンフォロービットに少なくとも部分的に基づき、Ｖプレーン予測フォロービットを生成するステップと、前記Ｖプレーンフォロービットと前記Ｖプレーン予測フォロービットとを差分処理し、Ｖプレーン差分フォロービットを生成するステップと、ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも１つから前記Ｖプレーン差分フォロービットのＶプレーン差分フォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも１つを示すＶプレーン差分フォロービットの選択されたコーディング技術ヘッダとを決定するステップと、前記選択されたコーディング技術に基づき、前記ＵプレーンフォロービットとＶプレーン差分フォロービットとをエントロピー符号化するステップと、前記Ｕプレーンフォロービットの選択されたコーディング技術ヘッダ、前記Ｖプレーン差分フロービットの選択されたコーディング技術ヘッダ、前記エントロピー符号化されたＵプレーンフォロービット及び前記エントロピー符号化されたＶプレーン差分フォロービットを前記ビットストリームに書き込むステップとを有してもよい。前記入力データは、ルマデータ又はクロマデータの少なくとも１つを有してもよい。前記ビデオフレームはＩピクチャを有し、前記第１のピクチャ部分は前記ビデオフレームのタイルを有してもよい。前記ビデオフレームはＩピクチャを有し、前記第１のピクチャ部分は前記ビデオフレームのタイルを有し、前記パーティションはｋ−ｄツリーパーティションを有してもよい。前記ビデオフレームは、Ｐピクチャ又はＢ／Ｆピクチャの少なくとも１つを有し、前記ピクチャ部分は前記ビデオフレームのタイルのパーティションを有してもよい。前記パーティションは、ｋ−ｄツリーパーティション、バイツリーパーティション、クワドツリーパーティション又は構造化されたコードワードパーティションの少なくとも１つを有してもよい。前記ピクチャ部分は、タイル、最大コーディング単位又はスーパーブロックの少なくとも１つを有してもよい。前記ターミネーションビットは、前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも１つに関連するものであってもよい。前記複数の利用可能なパターンは、利用可能なパターンのコードブックを有してもよい。
【０４３６】
他の例では、ビデオエンコーダは、イメージバッファと、エントロピーエンコーダロジック回路を有するグラフィクス処理ユニットとを有してもよい。前記グラフィクス処理ユニットは、前記イメージバッファに通信結合され、前記エントロピーエンコーダロジック回路は、ビデオフレームのピクチャ部分のパーティションを示す入力データをロードする処理と、第１のピクチャ部分のマルチレベルパターンを決定する処理であって、前記マルチレベルパターンは、複数の利用可能なパターンから選択されたベースパターンと、前記ベースパターンの少なくとも１つの非ターミネーティング部分について前記複数の利用可能なパターンから選択された少なくとも１つのレベル１パターンとを有する、決定する処理と、前記ビデオフレームのピクチャ部分のパターンレベルのターミネーションを示すターミネーションビットを決定する処理であって、前記ターミネーションビットは、前記マルチレベルパターンのベースパターンに関連する第１のターミネーションビットと前記第１のピクチャ部分とを有する、決定する処理と、前記ベースパターンに関連する第１のエントロピーコーディングされたコードワードと、前記レベル１パターンに関連する第２のエントロピーコーディングされたコードワードとを決定する処理と、前記ターミネーションビットをエントロピー符号化する処理と、前記第１のエントロピーコーディングされたコードワード、前記第２のエントロピーコーディングされたコードワード及び前記エントロピーコーディングされたターミネーションビットをビットストリームに書き込む処理とを実行するよう構成されてもよい。
【０４３７】
更なる一例となるビデオエンコーダでは、前記エントロピーエンコーダロジック回路は更に、前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも１つについて可変長コードテーブル選択モードを、シングル可変長コーディングテーブルが前記ビデオフレームの全てのピクチャ部分のエントロピーコーディングされたコードワードを決定するため利用される第１の可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが前記ビデオフレームの各ピクチャ部分について２以上の利用可能な可変長コーディングテーブルから選択され、前記選択されたピクチャ部分ベース可変長コーディングテーブルが前記関連するピクチャ部分のエントロピーコーディングされたコードワードを決定するのに利用される第２の可変長コードテーブル選択モードとの少なくとも１つから決定する処理と、自動的スイッチングモード又は適応的スイッチングモードの少なくとも１つから前記ビデオフレームのピクチャ部分について前記第１及び第２の可変長コーディングテーブルの間をスイッチするための選択されたスイッチングモードを決定する処理であって、量子化値が所定の閾値未満である場合、前記適応的スイッチングモードが前記選択されたスイッチングモードである、決定する処理と、２つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第１グループ、２つのパーティションを有するレベル１又はより上位のパターンのためのターミネーションビットを有する第２グループ、３つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第３グループ、３つのパーティションを有するレベル１又はより上位のパターンのためのターミネーションビットを有する第４グループ、４つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第５グループ、４つのパーティションを有するレベル１又はより上位のパターンのためのターミネーションビットを有する第６グループ、及び４つより多くのパーティションを有するベースレベル又はより上位のパターンのためのターミネーションビットを有する第７グループに、前記ターミネーションビットをグループ化する処理とを実行するよう構成されてもよい。前記ターミネーションビットをエントロピー符号化するため、前記エントロピーエンコーダロジック回路は、前記第１〜７グループのターミネーションビットの少なくとも１つを反転し、前記反転されたグループのターミネーションビットの最小ビットコストを提供する、複数の可変長コーディングテーブルから選択された可変長コーディングテーブルに基づき、前記反転されたグループのターミネーションビットをエントロピー符号化する処理と、前記選択された可変長コーディングテーブルに関連する可変長コーディングテーブルヘッダを生成する処理と、前記可変長コーディングテーブルヘッダと前記エントロピー符号化された反転されたグループのターミネーションビットとを前記ビットストリームに書き込む処理とを実行するよう構成されてもよい。高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記エントロピーエンコーダロジック回路は、前記第１のピクチャ部分の複雑さの予測に基づき、前記第１のピクチャ部分について前記高複雑性可変長コーディングテーブルと低複雑性可変長コーディングテーブルとからの第１の選択された可変長コーディングテーブルを自動的に決定する処理を実行するよう構成され、前記第１のピクチャ部分の複雑さの予測を決定するため、前記エントロピーエンコーダロジック回路は、前記第１のピクチャ部分の近傍のピクチャ部分の複数のスプリットを決定し、前記スプリットの個数が閾値を超えるとき、前記高複雑性可変長コーディングテーブルを利用し、前記スプリットの個数が前記閾値以下であるとき、前記低複雑性可変長コーディングテーブルを利用するよう構成されてもよい。第１の可変長コーディングテーブルと第２の可変長コーディングテーブルとは、前記ビデオフレームのピクチャ部分のエントロピーコーディングされたコードワードを決定するため選択的に利用可能であり、前記エントロピーエンコーダロジック回路は更に、前記ビデオフレームのピクチャ部分について前記第１の可変長コーディングテーブルと前記第２の可変長コーディングテーブルとから選択された可変長コーディングテーブルを決定する処理と、前記ビデオフレームの適応的スイッチングマスクを生成する処理であって、前記適応的スイッチングマスクは前記ピクチャ部分の前記選択された可変長コーディングテーブルを示すインジケータを含む、生成する処理と、前記適応的スイッチングマスクをエントロピー符号化し、前記ビットストリームに書き込む処理とを実行するよう構成されてもよい。前記第２のエントロピーコーディングされたコードワードは、前記レベル１パターンがターミネーティングパターンであることを示すものであってもよい。前記ピクチャ部分は６４×６４ピクセルを含み、前記エントロピーエンコーダロジック回路は更に、前記関連するピクチャ部分が少なくとも１つのターミネーティング３２×３２パーティションと共に４つの３２×３２パーティション又は４つの３２×３２非ターミネーティングパーティションを有するか各々が示す複数のバイナリインジケータを有するピクチャ部分のバイナリマスクを生成する処理と、シンボルランコーディングメソッド又はビットマップコーディングメソッドを利用して、前記ピクチャ部分のバイナリマスクを符号化するか判断する処理と、ピクチャ部分のバイナリマスクのコーディングメソッドインジケータを生成する処理と、前記選択されたコーディングメソッドに基づき、前記ピクチャ部分のバイナリマスクをエントロピー符号化する処理と、前記ピクチャ部分のバイナリマスクのコーディングメソッドインジケータと前記エントロピー符号化されたピクチャ部分のバイナリマスクとを前記ビットストリームに書き込む処理とを実行するよう構成されてもよい。前記入力データは、ルマパーティションとクロマパーティションとを規定するルマデータとクロマデータとを有し、前記エントロピーエンコーダロジック回路は更に、前記ビデオフレームのためのフォロービットを生成する処理であって、���記フォロービットは、前記ビデオフレームのピクチャ部分について、前記クロマパーティションの少なくとも１つが前記ルマパーティションに一致するか、又は、前記クロマパーティションが前記ルマパーティションに一致しないことを示す、生成する処理と、ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも１つから、前記フォロービットのフォロービットについて選択されたコーディング技術を決定する処理と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも１つを示すフォロービットの選択されたコーディング技術ヘッダを生成する処理と、前記選択されたコーディング技術に基づき前記フォロービットをエントロピー符号化する処理と、前記フォロービットの選択されたコーディング技術と前記エントロピー符号化されたフォロービットとを前記ビットストリームに書き込む処理とを実行するよう構成されてもよい。前記入力データは、ルマパーティションを規定するルマデータと、ＵプレーンクロマパーティションとＶプレーンクロマパーティションとを規定するクロマデータとを有し、前記エントロピーエンコーダロジック回路は更に、前記ビデオフレームのＵプレーンフォロービットを生成する処理であって、前記Ｕプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Ｕプレーンクロマパーティションの少なくとも１つが前記ルマパーティションに一致するか、又は、前記Ｕプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成する処理と、前記ビデオフレームのＶプレーンフォロービットを生成する処理であって、前記Ｖプレーンフォロービットは、前記ビデオフレームのピクチャ部分について、前記Ｖプレーンクロマパーティションの少なくとも１つが前記ルマパーティションに一致するか、又は、前記Ｖプレーンクロマパーティションが前記ルマパーティションに一致しないことを示す、生成する処理と、ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも１つから前記ＵプレーンフォロービットのＵプレーンフォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも１つを示すＵプレーンフォロービットの選択されたコーディング技術ヘッダとを決定する処理と、前記Ｕプレーンフォロービットに少なくとも部分的に基づき、Ｖプレーン予測フォロービットを生成する処理と、前記Ｖプレーンフォロービットと前記Ｖプレーン予測フォロービットとを差分処理し、Ｖプレーン差分フォロービットを生成する処理と、ビットマップコーディング又はシンボルラン可変長コーディングの少なくとも１つから前記Ｖプレーン差分フォロービットのＶプレーン差分フォロービットの選択されたコーディング技術と、前記ビットマップコーディング又は前記シンボルラン可変長コーディングの少なくとも１つを示すＶプレーン差分フォロービットの選択されたコーディング技術ヘッダとを決定する処理と、前記選択されたコーディング技術に基づき、前記ＵプレーンフォロービットとＶプレーン差分フォロービットとをエントロピー符号化する処理と、前記Ｕプレーンフォロービ���トの選択されたコーディング技術ヘッダ、前記Ｖプレーン差分フロービットの選択されたコーディング技術ヘッダ、前記エントロピー符号化されたＵプレーンフォロービット及び前記エントロピー符号化されたＶプレーン差分フォロービットを前記ビットストリームに書き込む処理とを実行するよう構成されてもよい。前記ビデオフレームはＩピクチャを有し、前記第１のピクチャ部分は前記ビデオフレームのタイルを有し、前記パーティションはｋ−ｄツリーパーティションを有してもよい。前記ビデオフレームは、Ｐピクチャ又はＢ／Ｆピクチャの少なくとも１つを有し、前記ピクチャ部分は前記ビデオフレームのタイルのパーティションを有してもよい。前記パーティションは、ｋ−ｄツリーパーティション、バイツリーパーティション、クワドツリーパーティション又は構造化されたコードワードパーティションの少なくとも１つを有してもよい。前記ピクチャ部分は、タイル、最大コーディング単位又はスーパーブロックの少なくとも１つを有してもよい。前記ターミネーションビットは、前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも１つに関連してもよい。前記複数の利用可能なパターンは、利用可能なパターンのコードブックを有してもよい。
【０４３８】
更なる他の例では、システムは、符号化されたビットストリームを復号化するよう構成されるビデオデコーダを有してもよい。前記ビデオデコーダは、前記符号化されたビットストリームを復号化し、前記符号化されたビットストリームにおける第１のエントロピーコーディングされたコードワードに基づきビデオフレームの第１のピクチャ部分のマルチレベルパターンのベースパターン、前記符号化されたビットストリームにおける第２のエントロピーコーディングされたコードワードに基づき前記マルチレベルパターンのレベル１パターン、及び前記ビデオフレームのピクチャ部分のパターンレベルのターミネーションを示すターミネーションビットを決定する処理と、前記復号化されたベースパターン、レベル１パターン及びターミネーションビットに基づき、前記第１のピクチャ部分の第１のパーティションを再構成する処理とを実行するよう構成される。
【０４３９】
更なる一例となるシステムでは、システムは、前記エントロピー符号化されたビットストリームを受信するよう構成されるアンテナと、ビデオフレームを提示するよう構成されるディスプレイデバイスとを有してもよい。前記符号化されたビットストリームを復号化するため、前記ビデオデコーダは、前記ビデオフレーム、前記ビデオフレームのスライス又はビデオフレームシーケンスの少なくとも１つについて、シングル可変長コーディングテーブルが前記ビデオフレームの全てのピクチャ部分のエントロピーコーディングされたコードワードをエントロピー復号化するのに利用される第１の可変長コードテーブル選択モードと、ピクチャ部分ベース可変長コーディングテーブルが前記ビデオフレームの各ピクチャ部分について２以上の利用可能な可変長コーディングテーブルから選択され、前記選択されたピクチャ部分ベース可変長コーディングテーブルが前記関連するピクチャ部分のエントロピーコーディングされたコードワードをエントロピー復号化するのに利用される第２の可変長コードテーブル選択モードとの少なくとも１つからの可変長コードテーブル選択モードを示す可変長コードテーブル選択モードインジケータを決定するよう構成されてもよい。第１可変長コーディングテーブルと第２可変長コーディングテーブルとが、前記ビデオフレームのピクチャ部分についてエントロピーコーディングされたコードワードをエントロピー復号化するのに選択的に利用可能であり、前記復号化されたビットストリームを復号化するため、前記ビデオデコーダは、自動的スイッチングモード又は適応的スイッチングモードの少なくとも１つから前記ビデオフレームのピクチャ部分について前記第１及び第２の可変長コーディングテーブルの間をスイッチするためのスイッチングモードを示す選択されたスイッチングモードインジケータを決定するよう構成されてもよい。第１可変長コーディングテーブルと第２可変長コーディングテーブルとが、前記ビデオフレームのピクチャ部分についてエントロピーコーディングされたコードワードをエントロピー復号化するのに選択的に利用可能であり、前記ビデオデコーダは更に、前記第１のピクチャ部分の複雑さの予測に基づき、前記第１の可変長コーディングテーブル又は前記第２の可変長コーディングテーブルの少なくとも１つからの第１の選択された可変長コーディングテーブルを自動的に決定するよう構成され、前記第１のピクチャ部分の複雑さの予測を決定するため、前記ビデオデコーダは、前記第１のピクチャ部分の近傍のピクチャ部分の複数のスプリットを決定し、前記スプリットの個数が閾値を超えるとき、前記高複雑性可変長コーディングテーブルを利用し、前記スプリットの個数が前記閾値以下であるとき、前記低複雑性可変長コーディングテーブルを利用するよう構成されてもよい。第１可変長コーディングテーブルと第２可変長コーディングテーブルとが、前記ビデオフレームのピクチャ部分についてエントロピーコーディングされたコードワードをエントロピー復号化するのに選択的に利用可能であり、前記符号化されたビットストリームを復号化するため、前記ビデオデコーダは、前記ビデオフレームの適応的スイッチングマスクを決定するよう構成され、前記適応的スイッチングマスクは、前記第１のピクチャ部分の第１の選択された可変長コーディングテーブルの指示を有してもよい。前記第２のエントロピーコーディングされたコードワードは、前記選択されたレベル１パターンがターミネーティングパターンであることを示してもよい。前記第１のピクチャ部分は６４×６４ピクセルを有し、前記符号化されたビットストリームを復号化するため、前記ビデオデコーダは、前記関連するピクチャ部分が少なくとも１つのターミネーティング３２×３２パーティションと共に４つの３２×３２パーティション又は４つの３２×３２非ターミネーティングパーティションを有するか各々が示す複数のバイナリインジケータを有するピクチャ部分のバイナリマスクを決定するよう構成されてもよい。前記ビデオデコーダは更に、２つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第１グループ、２つのパーティションを有するレベル１又はより上位のパターンのためのターミネーションビットを有する第２グループ、３つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第３グループ、３つのパーティションを有するレベル１又はより上位のパターンのためのターミネーションビットを有する第４グループ、４つのパーティションを有するベースレベルパターンのためのターミネーションビットを有する第５グループ、４つのパーティションを有するレベル１又はより上位のパターンのためのターミネーションビットを有する第６グループ、及び４つより多くのパーティションを有するベースレベル又はより上位のパターンのためのターミネーションビットを有する第７グループへの前記ターミネーションビットのグループ化に基づき、前記ターミネーションビットをエントロピー復号化し、前記ターミネーションビットのグループ化に基づき前記ターミネーションビットをエントロピー復号化するよう構成され、前記ターミネーションビットをエントロピー復号化するため、前記ビデオデコーダは、第１グループのターミネーションビットに関連する可変長コーディングテーブルヘッダを決定し、前記可変長コーディングテーブルヘッダに基づく選択された可変長コーディングテーブルに基づき前記第１グループのターミネーションビットを復号化するよう構成されてもよい。前記マルチレベルパターンはルマパターンを有し、前記符号化されたビットストリームを復号化するため、前記ビデオデコーダは、前記ビデオフレームのフォロービットを決定するよう構成され、前記ビデオデコーダは更に、前記復号化されたフォロービットに少なくとも部分的に基づき、前記第１のピクチャ部分のクロマパターンが前記ルマパターンに一致するか判断するよう構成されてもよい。
【０４４０】
更なる例では、少なくとも１つのマシーン可読媒体は、計算装置上で実行されることに応答して、上述した具体例の何れか１つによる方法を前記計算装置に実行させる複数の命令を有してもよい。
【０４４１】
また更なる例では、装置は、上述した具体例の何れか１つによる方法を実行する手段を有してもよい。
【０４４２】
上記具体例は、特定の特徴の組み合わせを含むものであってもよい。しかしながら、このような上記具体例はこれに限定されず、各種実現形態では、上記具体例は、このような特徴の一部のみの実行、このような特徴の異なる順序の実行、このような特徴の異なる組み合わせの実行及び／又は明示的に列記された特徴よりも更なる特徴の実行を含むものであってもよい。例えば、方法の具体例に関して説明された全ての特徴は、装置の具体例、システムの具体例及び／又は物の具体例などに関して実現されてもよい。
【図１】
0006339099.tif 000048
【図２】
0006339099.tif 000049
【図３（ａ）】
0006339099.tif 000050
【図３（ｂ）】
0006339099.tif 000051
【図４】
0006339099.tif 000052
【図５】
0006339099.tif 000053
【図６】
0006339099.tif 000054
【図７】
0006339099.tif 000055
【図８】
0006339099.tif 000056
【図９】
0006339099.tif 000057
【図１０】
0006339099.tif 000058
【図１１】
0006339099.tif 000059
【図１２】
0006339099.tif 000060
【図１３】
0006339099.tif 000061
【図１４】
0006339099.tif 000062
【図１５（Ａ）】
0006339099.tif 000063
【図１５（Ｂ）】
0006339099.tif 000064
【図１５（Ｃ）】
0006339099.tif 000065
【図１６】
0006339099.tif 000066
【図１７】
0006339099.tif 000067
【図１８】
0006339099.tif 000068
【図１９】
0006339099.tif 000069
【図２０】
0006339099.tif 000070
【図２１】
0006339099.tif 000071
【図２２（Ａ）】
0006339099.tif 000072
【図２２（Ｂ）】
0006339099.tif 000073
【図２２（Ｃ）】
0006339099.tif 000074
【図２２（Ｄ）】
0006339099.tif 000075
【図２２（Ｅ）】
0006339099.tif 000076
【図２２（Ｆ）】
0006339099.tif 000077
【図２３（Ａ）】
0006339099.tif 000078
【図２３（Ｂ）】
0006339099.tif 000079
【図２３（Ｃ）】
0006339099.tif 000080
【図２４】
0006339099.tif 000081
【図２５】
0006339099.tif 000082