(57)【要約】  本実施形態は、エンコーダとデコーダとの両方によってループ内フィルタとして再構成されたブロックに適用されるバイラテラルフィルタの使用を含む。具体的には、本実施形態は、どのブロックにバイラテラルフィルタリングを適用すべきかを明示的におよび暗黙的にシグナリングするシステムおよび方法を含む。例えば、１つの実施形態は、ビデオブロックの予測されたビデオブロックを生成するために、予測モードにしたがってビデオブロックを予測することと、予測されたビデオブロックに基づいて、ビデオブロックに関連付けられたサンプルを再構成することと、を含む方法を含む。方法は、再構成されたビデオデータにバイラテラルフィルタリングを適用すべきかどうかを決定することと、決定に基づいて、再構成されたサンプルにおいてバイラテラルフィルタリングを行うことと、をさらに含む。
2020501434.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
ビデオブロックをコーディングするためのモードを示すデータをビットストリームから復号することと、
前記ビデオブロックの予測されたビデオブロックを生成するために、前記復号されたモードにしたがって前記ビデオブロックを予測することと、
前記ビットストリームから、前記ビデオブロックと前記予測されたビデオブロックとの間の差分を示すデータを復号することと、
前記予測されたビデオブロックと前記差分とに基づいて、前記ビデオブロックに関連付けられたサンプルを再構成することと、
前記再構成されたビデオデータにバイラテラルフィルタリングを適用すべきかどうかを示すフラグを前記ビットストリームから復号することと、
前記フラグに基づいて、前記再構成されたサンプルにおいてバイラテラルフィルタリングを行うことと
を備える、方法。
【請求項２】
前記フラグを復号することは、前記ビデオブロックを含む変換ユニットに関連付けられたシンタックス構造から前記フラグを復号することを備える、請求項１に記載の方法。
【請求項３】
前記フラグを復号することは、前記ビデオブロックを含む予測ユニットに関連付けられたシンタックス構造から前記フラグを復号することを備える、請求項１に記載の方法。
【請求項４】
前記フラグを復号することは、前記ビデオブロックを含む最大コーディングユニットに関連付けられたシンタックス構造から前記フラグを復号することを備える、請求項１に記載の方法。
【請求項５】
前記ビデオブロックをデブロックフィルタリングすることをさらに備え、前記デブロックフィルタリングは、前記バイラテラルフィルタリングの前に行われる、請求項１に記載の方法。
【請求項６】
前記ビデオブロックと前記予測されたビデオブロックとの間の前記差分を示す前記データは、１つまたは複数の変換係数を示すデータを備える、請求項１に記載の方法。
【請求項７】
前記再構成されたサンプルにおいてバイラテラルフィルタリングを行うことは、前記フラグに基づいており、前記ビデオブロックに関連付けられたスライスタイプ、前記ビデオブロックに関連付けられた動き精度、前記ビデオブロックと前記予測されたビデオブロックとの間の前記差分を示す変換係数、前記ビデオブロックをコーディングするための前記モード、または前記ブロックに関連付けられたデブロックフィルタパラメータ、のうちの少なくとも１つにさらに基づく、請求項１に記載の方法。
【請求項８】
ビデオデータを符号化する方法であって、
ビデオブロックをコーディングするためのモードを示すデータをビデオビットストリームに符号化することと、
前記ビデオブロックの予測ブロックを生成するために、前記モードにしたがって前記ビデオブロックを予測することと、
前記ビットストリームに、前記ビデオブロックと前記予測されたビデオブロックとの間の差分を示すデータを符号化することと、
前記予測されたビデオブロックと前記差分とに基づいて、前記ビデオブロックに関連付けられたサンプルを再構成することと、
前記再構成されたビデオデータにバイラテラルフィルタリングを適用すべきかどうかを示すフラグを前記ビットストリームに符号化することと、
前記フラグの値に基づいて、前記再構成されたサンプルにおいてバイラテラルフィルタリングを行うことと
を備える、方法。
【請求項９】
前記フラグを符号化することは、前記ビデオブロックを含む変換ユニットに関連付けられたシンタックス構造から前記フラグを符号化することを備える、請求項８に記載の方法。
【請求項１０】
前記フラグを符号化することは、前記ビデオブロックを含む予測ユニットに関連付けられたシンタックス構造から前記フラグを符号化することを備える、請求項８に記載の方法。
【請求項１１】
前記フラグを符号化することは、前記ビデオブロックを含む最大コーディングユニットに関連付けられたシンタックス構造から前記フラグを符号化することを備える、請求項８に記載の方法。
【請求項１２】
前記ビデオブロックをデブロックフィルタリングすることをさらに備え、前記デブロックフィルタリングは、前記バイラテラルフィルタリングの前に行われる、請求項８に記載の方法。
【請求項１３】
前記ビデオブロックと前記予測されたビデオブロックとの間の前記差分を示す前記データは、１つまたは複数の変換係数を示すデータを備える、請求項８に記載の方法。
【請求項１４】
ビデオデータを復号するための装置であって、
前記ビデオデータを記憶するように構成されたメモリと、
ビデオプロセッサと
を備え、前記ビデオプロセッサは、
ビデオブロックをコーディングするためのモードを示すデータをビットストリームから復号することと、
前記ビデオブロックの予測ブロックを生成するために、前記復号されたモードにしたがって前記ビデオブロックを予測することと、
前記ビットストリームから、前記ビデオブロックと前記予測されたビデオブロックとの間の差分を示すデータを復号することと、
前記予測されたビデオブロックと前記差分とに基づいて、前記ビデオブロックに関連付けられたサンプルを再構成することと、
前記再構成されたビデオデータにバイラテラルフィルタリングを適用すべきかどうかを示すフラグを前記ビットストリームから復号することと、
前記フラグに基づいて、前記再構成されたサンプルにおいてバイラテラルフィルタリングを行うことと
を行うように構成される、装置。
【請求項１５】
前記フラグを復号するために、前記ビデオプロセッサは、前記ビデオブロックを含む変換ユニット、予測ユニット、または最大コーディングユニットのうちの１つまたは複数に関連付けられたシンタックス構造から前記フラグを復号するように構成される、請求項１４に記載の装置。
【請求項１６】
前記プロセッサは、前記ビデオブロックをデブロックフィルタリングするようにさらに構成され、前記デブロックフィルタリングは、前記バイラテラルフィルタリングの前に行われる、請求項１４に記載の装置。
【請求項１７】
ビデオデータを符号化するための装置であって、
前記ビデオデータを記憶するように構成されたメモリと、
ビデオプロセッサと
を備え、前記ビデオプロセッサは、
ビデオブロックをコーディングするためのモードを示すデータをビデオビットストリームに符号化することと、
前記ビデオブロックの予測ブロックを生成するために、前記モードにしたがって前記ビデオブロックを予測することと、
前記ビットストリームに、前記ビデオブロックと前記予測されたビデオブロックとの間の差分を示すデータを符号化することと、
前記予測されたビデオブロックと前記差分とに基づいて、前記ビデオブロックに関連付けられたサンプルを再構成することと、
前記再構成されたビデオデータにバイラテラルフィルタリングを適用すべきかどうかを示すフラグを前記ビットストリームに符号化することと、
前記フラグの値に基づいて、前記再構成されたサンプルにおいてバイラテラルフィルタリングを行うことと
を行うように構成される、装置。
【請求項１８】
前記フラグを符号化するために、前記ビデオプロセッサは、前記ビデオブロックを含む変換ユニット、予測ユニット、または最大コーディングユニットのうちの１つまたは複数に関連付けられたシンタックス構造から前記フラグを符号化するように構成される、請求項１７に記載の装置。
【請求項１９】
前記プロセッサは、前記ビデオブロックをデブロックフィルタリングするようにさらに構成され、前記デブロックフィルタリングは、前記バイラテラルフィルタリングの前に行われる、請求項１７に記載の装置。
【請求項２０】
命令を記憶した非一時的コンピュータ可読媒体であって、前記命令は、ビデオプロセッサによって実行されると、前記プロセッサに、
ビデオブロックをコーディングするためのモードを示すデータをビットストリームから復号することと、
前記ビデオブロックの予測ブロックを生成するために、前記復号されたモードにしたがって前記ビデオブロックを予測することと、
前記ビットストリームから、前記ビデオブロックと前記予測されたビデオブロックとの間の差分を示すデータを復号することと、
前記予測されたビデオブロックと前記差分とに基づいて、前記ビデオブロックに関連付けられたサンプルを再構成することと、
前記再構成されたビデオデータにバイラテラルフィルタリングを適用すべきかどうかを示すフラグを前記ビットストリームから復号することと、
前記フラグに基づいて、前記再構成されたサンプルにおいてバイラテラルフィルタリングを行うことと
を行わせる、命令を記憶した非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【米国特許法第１１９条に基づく優先権の主張】
【０００１】
[0001]  本特許出願は、本願の譲受人に譲渡され、参照により本明細書に明確に組み込まれた、２０１６年１２月１日付で出願された「Indication of Bilateral Filter Usage in Video Coding」と題する仮出願第６２／４２９，０５２号の優先権を主張する。
【技術分野】
【０００２】
[0002]  本願は、ビデオコーディング(video coding)、例えば、圧縮されたビデオビットストリーム（video bitstreams）の符号化(encoding)および復号(decoding)に関する。
【背景技術】
【０００３】
[0003]  デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレイヤ、ビデオゲームデバイス、ビデオゲーム機、セルラ電話機もしくは衛星無線電話機、いわゆる「スマートフォン」、ビデオ会議デバイス、ビデオストリーミングデバイス、および同様のものを含む広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ Ｈ．２６３、ＩＴＵ−Ｔ Ｈ．２６４／ＭＰＥＧ−４ Ｐａｒｔ１０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、近年完成したＩＴＵ−Ｔ Ｈ．２６５、高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、およびそのような規格の拡張に記述されているものなどの、ビデオ圧縮技法（video compression techniques）を実装する。これらのビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶する（store）ことができる。
【０００４】
[0004]  ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的（ピクチャ内）予測および／または時間的（ピクチャ間）予測を実行する。ブロックベースのビデオコーディングに関して、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部分）が、ツリーブロック、コーディングユニット（ＣＵ：coding unit）および／またはコーディングノードと呼ばれることもあるビデオブロック（video block）に区分され得る。ピクチャのイントラコーディング（Ｉ）スライスにおけるビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディング（ＰまたはＢ）スライスにおけるビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]  空間的予測または時間的予測によって、コーディングされるべきブロックの予測ブロック（predictive block）が生じる。残差データ（residual data）は、コーディングすべき元のブロックと予測ブロックとの間のピクセル差分（pixel difference）を表す。インターコーディングブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルにしたがって符号化され、残差データは、コーディングブロックと予測ブロックとの間の差分（difference）を示す。イントラコーディングブロックは、イントラコーディングモードおよび残差データにしたがって符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、次いで量子化され得る残差変換係数（residual transform coefficient）が生じ得る。最初に２次元アレイで構成される量子化された変換係数は、変換係数（transform coefficient）の１次元ベクトルを作成するためにスキャンされ得、なお一層の圧縮を達成するためにエントロピーコーディング（entropy coding）が適用され得る。
【発明の概要】
【０００６】
[0006]  概して、本開示は、エンコーダ（encoder）とデコーダ（decoder）との両方によってループ内フィルタ（in-loop filter）として再構成されたブロック（reconstructed blocks）に適用されるバイラテラルフィルタリング（bilateral filtering）の使用などの、フィルタリングに関する技法を説明する。具体的には、このようなフィルタリングは、特定のビットレートにおいてアーティファクト（artifact）を低減することによって、全体的なコーディング効率を改善することができる。しかしながら、このような効率は、このようなバイラテラルフィルタリングがいつ適用されるかの効率的なシグナリングを要求する。本実施形態は、どのブロックにバイラテラルフィルタリングを適用すべきかを明示的におよび暗黙的にシグナリングするシステムおよび方法を含む。
【０００７】
[0007]  １つの実施形態は、ビデオデータ（video data）を復号する（decode）方法を含む。方法は、ビデオブロックをコーディングするためのモード(mode)を示すデータをビットストリーム（bitstream）から復号することを含む。方法は、ビデオブロックの予測されたビデオブロック（predicted video block）を生成するために、復号されたモードにしたがってビデオブロックを予測することと、ビットストリームから、ビデオブロックと予測されたビデオブロックとの間の差分を示すデータを復号することと、予測されたビデオブロックと差分とに基づいて、ビデオブロックに関連付けられたサンプル（sample）を再構成する（reconstruct）ことと、をさらに含む。方法は、再構成されたビデオデータ（reconstructed video data）にバイラテラルフィルタリングを適用すべきかどうかを示すフラグ（flag）をビットストリームから復号することをさらに含む。方法は、フラグに基づいて、再構成されたサンプル（reconstructed sample）においてバイラテラルフィルタリングを行うことをさらに含む。
【０００８】
[0008]  別の実施形態は、ビデオデータを符号化する（encode）方法を含む。方法は、ビデオブロックをコーディングするためのモードを示すデータをビデオビットストリームに符号化することと、ビデオブロックの予測ブロックを生成するために、モードにしたがってビデオブロックを予測することと、ビットストリームに、ビデオブロックと予測されたビデオブロックとの間の差分を示すデータを符号化することと、予測されたビデオブロックと差分とに基づいて、ビデオブロックに関連付けられたサンプルを再構成することと、を含む。方法は、再構成されたビデオデータにバイラテラルフィルタリングを適用すべきかどうかを示すフラグをビットストリームに符号化することと、フラグの値に基づいて、再構成されたサンプルにおいてバイラテラルフィルタリングを行うことと、をさらに含む。
【０００９】
[0009]  １つの実施形態は、ビデオデータを復号するための装置（apparatus）を含む。装置は、ビデオブロックをコーディングするためのモードを示すデータをビットストリームから復号するための手段を含む。装置は、ビデオブロックの予測されたビデオブロックを生成するために、復号されたモードにしたがってビデオブロックを予測するための手段と、ビットストリームから、ビデオブロックと予測されたビデオブロックとの間の差分を示すデータを復号するための手段と、予測されたビデオブロックと差分とに基づいて、ビデオブロックに関連付けられたサンプルを再構成するための手段と、をさらに含む。装置は、再構成されたビデオデータにバイラテラルフィルタリングを適用すべきかどうかを示すフラグをビットストリームから復号するための手段をさらに含む。装置は、フラグに基づいて、再構成されたサンプルにおいてバイラテラルフィルタリングを行うための手段をさらに含む。
【００１０】
[0010]  別の実施形態は、ビデオデータを符号化するための手段を含む。装置は、ビデオブロックをコーディングするためのモードを示すデータをビットストリームに符号化するための手段と、ビデオブロックの予測ブロックを生成するために、モードにしたがってビデオブロックを予測するための手段と、ビットストリームに、ビデオブロックと予測されたビデオブロックとの間の差分を示すデータを符号化するための手段と、予測されたビデオブロックと差分とに基づいて、ビデオブロックに関連付けられたサンプルを再構成するための手段と、を含む。装置は、再構成されたビデオデータにバイラテラルフィルタリングを適用すべきかどうかを示すフラグをビットストリームに符号化するための手段と、フラグの値に基づいて、再構成されたサンプルにおいてバイラテラルフィルタリングを行うための手段と、をさらに含む。
【００１１】
[0011]  別の実施形態は、ビデオデータを符号化する方法を含む。方法は、ビデオブロックをコーディングするためのモードを示すデータをビットストリームに符号化することと、ビデオブロックの予測ブロックを生成するために、モードにしたがってビデオブロックを予測することと、ビットストリームに、ビデオブロックと予測されたビデオブロックとの間の差分を示すデータを符号化することと、予測されたビデオブロックと差分とに基づいて、ビデオブロックに関連付けられたサンプルを再構成することと、を含む。方法は、再構成されたビデオデータにバイラテラルフィルタリングを適用すべきかどうかを示すフラグをビットストリームに符号化することと、フラグの値に基づいて、再構成されたサンプルにおいてバイラテラルフィルタリングを行うことと、さらに含む。
【００１２】
[0012]  １つの実施形態は、ビデオデータを復号するための装置を含む。装置は、ビデオデータを記憶するように構成されたメモリを含む。装置は、ビデオブロックをコーディングするためのモードを示すデータをビットストリームから復号することと、ビデオブロックの予測ブロックを生成するために、復号されたモードにしたがってビデオブロックを予測することと、ビットストリームから、ビデオブロックと予測されたビデオブロックとの間の差分を示すデータを復号することと、予測されたビデオブロックと差分とに基づいて、ビデオブロックに関連付けられたサンプルを再構成することと、再構成されたビデオデータにバイラテラルフィルタリングを適用すべきかどうかを示すフラグをビットストリームから復号することと、フラグに基づいて、再構成されたサンプルにおいてバイラテラルフィルタリングを行うことと、を行うように構成されたビデオプロセッサ(video processor)をさらに含む。
【００１３】
[0013]  １つの実施形態は、ビデオデータを符号化するための装置を含む。装置は、ビデオデータを記憶するように構成されたメモリを含む。装置は、ビデオプロセッサをさらに備え、ビデオプロセッサは、ビデオブロックをコーディングするためのモードを示すデータをビデオビットストリームに符号化することと、ビデオブロックの予測ブロックを生成するために、モードにしたがってビデオブロックを予測することと、ビットストリームに、ビデオブロックと予測されたビデオブロックとの間の差分を示すデータを符号化することと、予測されたビデオブロックと差分とに基づいて、ビデオブロックに関連付けられたサンプルを再構成することと、再構成されたビデオデータにバイラテラルフィルタリングを適用すべきかどうかを示すフラグをビットストリームに符号化することと、フラグの値に基づいて、再構成されたサンプルにおいてバイラテラルフィルタリングを行うことと、を行うように構成されたビデオプロセッサをさらに含む。
【００１４】
[0014]  さらに別の実施形態は、ビデオデータを復号する方法を含む。方法は、ビデオブロックをコーディングするためのモードを示すデータをビットストリームから復号することと、を含む。方法は、ビデオブロックの予測されたビデオブロックを生成するために、復号されたモードにしたがってビデオブロックを予測することと、ビットストリームから、ビデオブロックと予測されたビデオブロックとの間の差分を示すデータを復号することと、予測されたビデオブロックと差分とに基づいて、ビデオブロックに関連付けられたサンプルを再構成することと、をさらに含む。方法は、ビデオブロックに関連付けられたスライスタイプ（slice type）、ビデオブロックに関連付けられた動き精度（motion precision）、ビデオブロックと予測されたビデオブロックとの間の差分を示す変換係数、ビデオブロックをコーディングするためのモード、またはブロックに関連付けられたデブロックフィルタパラメータ（deblock filter parameter）、のうちの少なくとも１つに基づいて、再構成されたビデオデータにバイラテラルフィルタリングを適用すべきかどうかを決定することを復号することをさらに含む。方法は、決定に基づいて、再構成されたサンプルにおいてバイラテラルフィルタリングを行うことをさらに含む。
【図面の簡単な説明】
【００１５】
【図１】[0015]  図１は、特定のサンプルに関する、変換ユニットブロックおよびフィルタアパーチャ（filter aperture）の例を図示する図である。
【図２】[0016]  図２は、本開示で説明される技法を利用し得る、例示的なビデオ符号化および復号システムを例示するブロック図である。
【図３】[0017]  図３は、本開示で説明される技法を実装し得る、例示的なビデオエンコーダ（video encoder）を例示するブロック図である。
【図４】[0018]  図４は、本開示で説明される技法を実装し得る、例示的なビデオデコーダ（video decoder）を例示するブロック図である。
【図５】[0019]  図５は、ビデオデータを符号化する方法の１つの実施形態を図示するフローチャートである。
【図６】[0020]  図６は、ビデオデータを復号する方法の１つの実施形態を図示するフローチャートである。
【発明の詳細な説明】
【００１６】
[0021]  ピクチャのブロックの再構成の後にピクチャの全てまたは一部分にフィルタリング処理を適用するループ内フィルタをエンコーダおよびデコーダが含むように、ビデオコーデック（video codec）が定義され得る。ループ内フィルタでは、フィルタ結果は、（他のピクチャ中などの）他のブロックのインター予測のための参照ピクチャとして使用され得るピクチャを有する復号ピクチャバッファ（decoded picture buffer）に置かれる。比較すると、ポストフィルタは、フィルタされたピクチャがインター予測のために使用されないように、ピクチャに適用される。ループ内フィルタは、フィルタされたデータが他のブロックの予測のために使用されるように適用されるため、このようなフィルタは、コーデック規格の一部でありかつエンコーダとデコーダとの両方において適用されるべきである。ビデオエンコーダは、レート歪み最適化（rate-distortion optimization）などの技法に基づいて、どのブロックに特定のループ内フィルタを適用するべきかを、またはエンコーダとデコーダとの両方に適用される特定のルールを決定する。
【００１７】
[0022]  ＨＥＶＣビデオ規格は、デブロッキングフィルタ（ＤＢＦ：de-blocking filter）とサンプル適応オフセット（ＳＡＯ：Sample Adaptive Offset）フィルタとを含む、２つのループ内フィルタを用いる。デブロッキングフィルタは、コーディングされたブロックの境界においてアーティファクトの検出を行い、選択されたフィルタを適用することによってそれらを軽減する。ＳＡＯのコンセプトは、選択された分類器を用いて領域サンプルを複数のカテゴリに最初に分類し、カテゴリごとのオフセットを取得し、次いで、そのオフセットをカテゴリの各サンプルに追加することによって、領域の平均サンプル歪み（mean sample distortion）を低減することであり、ここで、領域のオフセットおよび分類器インデックスは、ビットストリームにおいてコーディングされる。ＨＥＶＣでは、領域（ＳＡＯパラメータシグナリングのためのユニット）は、コーディングツリーユニット（ＣＴＵ：coding tree unit）であるように定義される。複雑性の低い要求を満たすことができる２つのＳＡＯタイプ、エッジオフセット（ＥＯ：edge offset）とバンドオフセット（ＢＯ：band offset）とが、ＨＥＶＣにおいて用いられる。ＥＯに関して、サンプル分類は、水平、垂直、１３５度斜め方向、および４５度斜め方向といった、１−Ｄの方向パターンにしたがった、現在サンプルと隣接するサンプルとの間の比較に基づいている。ＢＯに関して、サンプル分類は、サンプル値に基づいている。サイド情報を低減するために、複数のＣＴＵは、（（sao_merge_left_flagを１に等しくなるように設定することによって）上のＣＴＵ、または（sao_merge_up_flagを１に等しくなるように設定することによって）左側のＣＴＵからパラメータをコピーして、ＳＡＯパラメータを共有するためにともにマージされる。ＩＴＵ−Ｔ ＶＣＥＧ（Ｑ６／１６）およびＩＳＯ／ＩＥＣ ＭＰＥＧ（ＪＴＣ １／ＳＣ ２９／ＷＧ １１）は、現在のＨＥＶＣ規格（スクリーンコンテンツコーディングおよび高い動的範囲のコーディングのためのその現在の拡張および近い将来の拡張を含む）のものを大幅に超える圧縮能力を有する、将来的なビデオコーディング技術の二値化のための潜在的必要性を現在研究している。これらのグループは、この分野におけるそれらの専門家によって提案された圧縮技術設計を評価するために、ＪＶＥＴ（Joint Video Exploration Team）として知られる共同コラボレーションの取り組みにおける調査活動で協働している。ＪＶＥＴは、最初に２０１５年１０月１９〜２１日に開かれた。そして、最新バージョンの基準ソフトウェア、すなわち、Joint Exploration Model 3（ＪＥＭ ３）が、https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/tags/HM-16.6-JEM-3.0/において利用可能である。ＪＶＥＴ−Ｃ１００と称される文書番号を用いたJoint Exploration Test Model 3（ＪＥＭ ３）のアルゴリズムの説明が、http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=2714において利用可能である。
【００１８】
[0023]  修正版のＤＢおよびＨＥＶＣ ＳＡＯの方法に加えて、ＪＥＭは、ジオメトリ変換ベースの適応的ループフィルタリング（ＧＡＬＦ：Geometry transformation-based Adaptive Loop Filtering）と呼ばれる、別のフィルタリング方法を含んでいる。ＧＡＬＦの目的は、いくつかの新規な態様を導入することによって、ＨＥＶＣステージにおいて考慮されたＡＬＦのコーディング効率を改善することである。ＡＬＦは、Ｗｉｅｎｅｒベースの適応フィルタを使用することによって、元のサンプルと復号サンプルとの間の平均２乗誤差を最小化することを目的としている。ピクチャ中のサンプルは、複数のカテゴリに分類され、各カテゴリにおけるサンプルは次いで、それらの関連する適応フィルタを用いてフィルタされる。フィルタ係数は、平均２乗誤差とオーバーヘッドとの間のトレードオフを最適化するために継続またはシグナリングされ得る。
【００１９】
[0024]  ループ内フィルタの他のタイプが使用され得る。エッジ中のピクセルに関する望ましくない過度な平滑化（undesirable over-smoothing）を避けるために、バイラテラルフィルタリングが提案されている。バイラテラルフィルタリングは、類似するルミナンスまたはクロミナンス値を用いてより多くのそれらピクセルを重み付けするために、ピクセル値自体を考慮するように、隣接するサンプルの重み付けを含んでいる。（ｉ，ｊ）に位置するサンプルは、その隣接するサンプル（ｋ，ｌ）を使用してフィルタリングされる。重みω（ｉ，ｊ，ｋ，ｌ）は、サンプル（ｉ，ｊ）をフィルタリングするために、サンプル（ｋ，ｌ）に割り当てられる重みであり、それは、下記のように定義される。
【００２０】
【数１】
2020501434.tif 000003
【００２１】
[0025]  Ｉ（ｉ，ｊ）およびＩ（ｋ，ｌ）は、それぞれ、サンプル（ｉ，ｊ）および（ｋ，ｌ）の強度値（intensity value）である。σｄは空間的パラメータ（spatial parameter）であり、σｒは範囲パラメータ（range parameter）である。ＩＤ（ｉ，ｊ）と表記されるフィルタリングされたサンプル値を有するフィルタリング処理は、下記のように定義される。
【００２２】
【数２】
2020501434.tif 000004
【００２３】
[0026]  いくつかの実施形態では、バイラテラルフィルタリングの特性（または強度）は、これら２つのパラメータによって制御される。フィルタリングされるべきサンプルの近くに位置するサンプルと、フィルタリングされるべきサンプルのためのより小さい強度差を有するサンプルとは、遠くにあるサンプルよりもより大きい重みを有し、より大きい強度差を用いる。いくつかの実施形態では、変換ユニット（ＴＵ：transform unit）中の各再構成されたサンプルは、その直接隣接している再構成されたサンプルのみを使用してフィルタリングされる。
【００２４】
[0027]  具体的には、図１は、例えば、８×８変換などの、フィルタリングされるべきサンプルを中心とした、プラス記号の形をしたフィルタアパーチャ（plus sign shaped filter aperture）５を含むフィルタを図示する、例示的な変換ユニット４の図である。１つのこのような例では、設定されるべきσｄは、変換ユニットサイズ（３）に基づいており、設定されるべきσｄは、現在ブロック（４）のために使用されるＱＰに基づいている。
【００２５】
【数３】
2020501434.tif 000005
【００２６】
[0028]  いくつかの実施形態では、バイラテラルフィルタリングは、少なくとも１つの非ゼロ係数（non-zero coefficient）を用いたルーマブロック（luma block）にのみ適用されることに留意されたい。全てのゼロ係数（zero coefficient）を用いた全てのクロマブロック（chroma block）およびルーマブロックに関して、このような実施形態では、バイラテラルフィルタリング方法は、常にディセーブルにされる（disabled）。このような実施形態では、どのブロックにバイラテラルフィルタリングが適用されるべきかを示す明確なシグナリングは必要ではない。
【００２７】
[0029]  バイラテラルフィルタリングをイネーブル／ディセーブルにする既存の実施形態は、まだ対処されていない様々な制限を有し得る。例えば、ＴＵ中の全てのゼロ係数をチェックする際の依存関係（dependency）は、（予測ブロックと同一である）再構成ブロックが既にフィルタリングされている可能性があるという仮定に基づき得る。その仮定は、インターコーディングされたブロックに関して真であり得るが、イントラコーディングされたブロックに関しては概してそうではない。さらに、バイラテラルフィルタリングをイネーブルおよびディセーブルにするシグナリングの他の実施形態は、いくつかのケースでは、コーディング効率を改善し得る。
【００２８】
[0030]  いくつかの実施形態では、バイラテラルフィルタリングをイネーブル／ディセーブルにするためにフラグがシグナリングされる。例えば、このようなフラグはブロックの、変換ユニット、予測ユニット（prediction unit）、または最大コーディングユニット（largest coding unit）のシンタックス要素（syntax element）においてシグナリングされ得る。
【００２９】
[0031]  具体的には、いくつかの実施形態では、バイラテラルフィルタリングは、デブロックフィルタ（deblock filter）がブロックに適用された後に、ループ内でブロックに適用される。このような実施形態では、それは、どのブロックにバイラテラルフィルタリングを適用すべきかを明示的にシグナリングするのに望ましいだろう。
【００３０】
[0032]  いくつかの実施形態では、このようなフラグは、より低いレベルの構造に関連付けられたフラグがより高いレベルの構造に関連付けられたフラグをオーバーライドするように（例えば、変換ユニットレベルフラグが予測ユニットまたは最大コーディングユニットからフラグをオーバーライド（override）するか、あるいは、予測ユニットフラグが最大コーディングユニットをオーバーライドするなど）、同じブロックに関する異なるレベルでシグナリングされ得る。他の実施形態では、シグナリングされたフラグは、推測された決定と組み合わせてバイラテラルフィルタリングをイネーブルまたはディセーブルにし得る。例えば、ブロックまたはスライスは、本明細書で開示される実施形態のうちの１つまたは複数にしたがって、バイラテラルフィルタリングを適用すべきかどうかの推測に基づいてオーバーライドされ得る。
【００３１】
[0033]  １つの実施形態では、フラグは、ＨＥＶＣ中で非表示である（hiding）データを知らせる（sign）ために同様にブロックの変換係数においてシグナリングされる。１つの実施形態では、フラグは、ＨＥＶＣ中で非表示であるデータを知らせるために同様にブロックの変換係数においてシグナリングされる。例えば、エンコーダは、フラグが明確にシグナリングされるか、または「非表示にされる（hidden）」かを決定する。その決定は、それらのスキャニングの順序で、最初の非ゼロ係数と最後の非ゼロ係数との間の係数の数と、あらかじめ定義された閾値とを比較することから成る。この数があらかじめ定義された閾値よりも小さい場合、フラグは明示的にコーディングされる。そうでない場合、フラグは、あらかじめ定義された規定（convention）（例えば、偶数は「＋」に対応し、奇数は「−」に対応する）にしたがって、量子化された係数の合計のパリティ（parity）から推測される。
【００３２】
[0034]  代替的に、いくつかの実施形態では、バイラテラルフィルタリングのイネーブル化／ディセーブル化は、状況次第であり（depend）得る（推測され得る）。このような１つの実施形態によると、バイラテラルフィルタリングをイネーブル／ディセーブルにするかどうかを決定することは、スライスタイプに基づき得る。一例では、Ｉスライスに関して、バイラテラルフィルタリングは、少なくとも１つの非ゼロ係数が存在するか否かをチェックすることなく、常にイネーブルにされ得る。Ｐまたは／およびＢスライスに関して、バイラテラルフィルタリングをイネーブル／ディセーブルにすることは、本明細書で説明された任意の他の実施形態にしたがって推測またはシグナリングされ得る。
【００３３】
[0035]  いくつかの実施形態では、バイラテラルフィルタリングのイネーブル化／ディセーブル化は、動きベクトル精度に基づいて、状況次第であり得る（推測され得る）。一例では、ブロックのインター予測のために使用される動きベクトルが整数位置（フルペル精度（Full-Pel precision））を指すとき、ブロックは、非ゼロ係数が存在しなかったとしてもフィルタリングされる。代替的に、ブロックの動きベクトルがサブピクセル動き精度（サブペル精度（Sub-Pel precision））を指すとき、ブロックは、非ゼロ係数が存在しなかったとしてもフィルタリングされる。
【００３４】
[0036]  いくつかの実施形態では、バイラテラルフィルタリングのイネーブル化／ディセーブル化は、（ピクセル領域または変換領域において）残差がどの程度の強度であるかに基づいて、状況次第であり得る（推測される）。例えば、フィルタリングするかどうかは、ブロックの変換係数のいくつかまたは全てのエネルギを示す値が指定された閾値を超えるかどうかに基づき得る。
【００３５】
[0037]  いくつかの実施形態では、バイラテラルフィルタリングのイネーブル化／ディセーブル化は、あるブロックの上の行（いくつかの上の行）および／または左の列（いくつかの左の列）に関して、対応するデブロッキングフィルタパラメータに基づいて、状況次第であり（推測され）得る。バイラテラルフィルタリングのイネーブル化／ディセーブル化は、デブロッキングが適用されるべきか否かを示すパラメータ、および／または、デブロッキングフィルタがどの程度の強度であるべきかを示すパラメータに依存し得る。一例では、上記の示されたデブロックパラメータは、右の列または下の行などのブロックの他の境界サンプルに適用され得る。
【００３６】
[0038]  いくつかの実施形態では、バイラテラルフィルタリングのイネーブル化／ディセーブル化は、ブロックのコーディングモードに基づいて、状況次第であり得る（推測される）。例えば、このような実施形態において、それは、モードがＰＤＰＣ（Position dependent intra prediction combination）であるかどうかに依存し得る。一例では、このまたは別の特定のモードが１つのブロックに関してイネーブルにされたとき、バイラテラルフィルタリング方法は、ディセーブルにされる。
【００３７】
[0039]  特定の実施形態がループ内フィルタのようなバイラテラルフィルタリングに関して本明細書で説明される一方、他の実施形態が、上述された任意の適切な実施形態にしたがったシグナリングまたは暗黙的導出を用いた、ポストフィルタのようなバイラテラルフィルタリングを含み得ることもまた理解されるだろう。
【００３８】
[0040]  図２は、本開示で説明される技法を利用し得る、例示的なビデオ符号化および復号システム１０を図示するブロック図である。図２に示すように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータ（encoded video data）を生成するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレイヤ、ビデオゲーム機、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。いくつかのケースでは、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００３９】
[0041]  宛先デバイス１４は、復号されるべき符号化ビデオデータを、リンク１６を介して受信し得る。リンク１６は、符号化ビデオデータをソースデバイス１２から宛先デバイス１４に転送する能力がある任意のタイプの媒体またはデバイスを備え得る。一例では、リンク１６は、符号化ビデオデータを直接宛先デバイス１４に、ソースデバイス１２がリアルタイムで送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格にしたがって変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波（ＲＦ）スペクトルあるいは１つまたは複数の物理送信線などの、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのようなグローバルネットワークなどの、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を容易にするために有用であり得る、ルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００４０】
[0042]  代替的に、符号化データは、出力インターフェース２２から記憶デバイス２６に出力され得る。同様に、符号化データは、入力インターフェースによって記憶デバイス２６からアクセスされ得る。記憶デバイス２６は、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは、符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体などの、様々な分散型のまたは局所的にアクセスされるデータ記憶媒体のうちの任意のものを含み得る。さらなる例では、記憶デバイス２６は、ソースデバイス１２によって生成された符号化ビデオを記憶することができるファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、記憶デバイス２６から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶でき、符号化ビデオデータを宛先デバイス１４に送信できる、任意のタイプのサーバであり得る。例示的なファイルサーバは、（例えば、ウェブサイト用の）ウェブサーバ、ＦＴＰサーバ、ネットワークアタッチドストレージ（ＮＡＳ：network attached storage）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む任意の標準データ接続を介して、符号化ビデオデータにアクセスし得る。これは、ファイルサーバ上に記憶された符号化ビデオデータにアクセスするのに適した、ワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組み合せを含み得る。記憶デバイス２６からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組み合わせであり得る。
【００４１】
[0043]  本開示の技法は、ワイヤレスアプリケーションまたはワイヤレス設定に必ずしも限定されない。技法は、無線テレビ放送、ケーブルテレビ送信、衛星テレビ送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体上での記憶のためのデジタルビデオの符号化、データ記憶媒体上に記憶されたデジタルビデオの復号、または他のアプリケーションのなどの、様々なマルチメディアアプリケーションのうちの任意のものをサポートして、ビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および／またはビデオ電話などのアプリケーションをサポートするために一方向または両方向のビデオ送信をサポートするように構成され得る。
【００４２】
[0044]  図２の例では、ソースデバイス１２は、ビデオソース１８、ビデオエンコーダ２０、および出力インターフェース２２を含む。いくつかのケースでは、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ソースデバイス１２において、ビデオソース１８は、例えばビデオカメラなどのビデオキャプチャデバイス、前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組み合わせを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き電話またはビデオ付き電話を形成し得る。しかしながら、本開示で説明する技法は、一般にビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤードアプリケーションに適用され得る。
【００４３】
[0045]  キャプチャされたビデオ、前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオデータは、ソースデバイス１２の出力インターフェース２２を介して、宛先デバイス１４に直接送信され得る。符号化ビデオデータはまた（あるいは、代替的に）、復号および／または再生のための、宛先デバイス１４または他のデバイスによる後のアクセスのために記憶デバイス２６に記憶され得る。
【００４４】
[0046]  宛先デバイス１４は、入力インターフェース２８、ビデオデコーダ３０、およびディスプレイデバイス３２を含む。いくつかのケースでは、入力インターフェース２８は、受信機および／またはモデムを含み得る。宛先デバイス１４の入力インターフェース２８は、リンク１６を通じて符号化ビデオデータを受信する。リンク１６を通じて通信される、または記憶デバイス２６上に提供される符号化ビデオデータは、ビデオデータを復号する際にビデオデコーダ３０などのビデオデコーダが使用するための、ビデオエンコーダ２０によって生成される様々なシンタックス要素を含み得る。このようなシンタックス要素は、通信媒体上で送信された、記憶媒体上に記憶された、またはファイルサーバに記憶された符号化ビデオデータに含まれ得る。
【００４５】
[0047]  ディスプレイデバイス３２は、宛先デバイス１４と統合され得るか、またはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体化されたディスプレイデバイスを含み、また外部のディスプレイデバイスとともにインターフェースするように構成され得る。他の例では、宛先デバイス１４は、ディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスのうちの任意ものを備え得る。
【００４６】
[0048]  ビデオエンコーダ２０およびビデオデコーダ３０は、近年完成した高効率ビデオコーディング（ＨＥＶＣ）規格などのビデオ圧縮規格にしたがって動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、ＭＰＥＧ ４ Ｐａｒｔ１０、アドバンスドビデオコーディング（ＡＶＣ）、またはそのような規格の延長と代替的に呼ばれる、ＩＴＵ−ＴＨ．２６４規格などの他の所有権または工業規格にしたがって動作し得る。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例は、ＭＰＥＧ−２およびＩＴＵ−Ｔ Ｈ．２６３を含む。
【００４７】
[0049]  本開示の技法は、説明を容易にするために、ＨＥＶＣ専門用語を利用し得る。しかしながら、本開示の技法がＨＥＶＣに制限されると仮定されるべきではなく、実際、本開示の技法が、ＨＥＶＣの後続の規格およびその拡張で実現され得ることが明示的に企図される。
【００４８】
[0050]  図２には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は各々、オーディオエンコーダおよびオーディオデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ：user datagram protocol）などの他のプロトコルに準拠し得る。
【００４９】
[0051]  ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のマイクロプロセッサ、デジタルシグナルプロセッサ（ＤＳＰ：digital signal processors）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組み合わせなどの、様々な好適なエンコーダ回路のうちの任意のものとして実装され得る。技法が部分的にソフトウェアで実装されるとき、デバイスは、ソフトウェアのための命令（instruction）を適切な非一時的コンピュータ可読媒体（non-transitory computer readable medium）に記憶し、本開示の技法を実行するために１つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれかが、それぞれのデバイスにおいて組み合わせられたエンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００５０】
[0052]  以上のように、ＪＣＴ−ＶＣは、ＨＥＶＣ規格の開発を最近完了した。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれる、ビデオコーディングデバイスの発展型モデルに基づいていた。ＨＭは、例えば、ＩＴＵ−Ｔ Ｈ．２６４／ＡＶＣに準拠した既存のデバイスに対して、ビデオコーディングデバイスのいくつかの追加の能力を仮定する。例えば、Ｈ．２６４が９つのイントラ予測符号化モード（intra-prediction encoding mode）を提供するのに対し、ＨＭは３５個ものイントラ予測符号化モードを提供し得る。
【００５１】
[0053]  ＨＥＶＣおよび他のビデオコーディング仕様では、ビデオシーケンスは通常、一連のピクチャを含む。ピクチャは「フレーム」とも呼ばれ得る。ピクチャは、ＳＬ、ＳＣｂ、およびＳＣｒと表記される３つのサンプルアレイを含み得る。ＳＬは、ルーマサンプルの２次元アレイ（すなわち、ブロック）である。ＳＣｂは、Ｃｂクロミナンスサンプルの２次元アレイである。ＳＣｒは、Ｃｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルはまた、本明細書では「クロマ」サンプルとも呼ばれ得る。他の例では、ピクチャは、モノクロームであり得、ルーマサンプルのアレイのみを含み得る。
【００５２】
[0054]  ピクチャの符号化表現を生成するために、ビデオエンコーダ２０は、コーディングツリーユニット（ＣＴＵ：coding tree units）のセットを生成し得る。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロック、クロマサンプルの２つの対応するコーディングツリーブロック、およびこれらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造（syntax structure）を備え得る。モノクロのピクチャまたは３つの別個の色平面を有するピクチャでは、ＣＴＵは、単一のコーディングツリーブロックと、このコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックは、サンプルのＮ×Ｎブロックであり得る。ＣＴＵは、「ツリーブロック（tree block）」または「最大コーディングユニット」（ＬＣＵ：largest coding unit）とも呼ばれ得る。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣのような他の規格のマクロブロックに大まかに類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズに制限されるわけではなく、１つまたは複数のコーディングユニット（ＣＵ）を含み得る。１つのスライスは、ラスタスキャン順に連続して並べられた整数個のＣＴＵを含み得る。
【００５３】
[0055]  コーディングされたＣＴＵを生成するために、ビデオエンコーダ２０は、ＣＴＵのコーディングツリーブロックに対して四分木区分化を再帰的に行って、コーディングツリーブロックをコーディングブロックへと分割し得るため、「コーディングツリーユニット」と称される。コーディングブロックは、サンプルのＮ×Ｎブロックであり得る。ＣＵは、ルーマサンプルのコーディングブロックと、ルーマサンプルアレイ、Ｃｂサンプルアレイ、およびＣｒサンプルアレイを有するピクチャのクロマサンプルの２つの対応するコーディングブロックと、これらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロのピクチャまたは３つの別個の色平面を有するピクチャでは、ＣＵは、単一のコーディングブロックと、このコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００５４】
[0056]  ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックへと区分化し得る。予測ブロックは、同じ予測が適用されるサンプルの長方形（すなわち、正方形または非正方形）ブロックであり得る。ＣＵの予測ユニット（ＰＵ：prediction unit）は、ルーマサンプルの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、これらの予測ブロックを予測するために使用されるシンタックス構造とを備え得る。モノクロのピクチャまたは３つの別個の色平面を有するピクチャでは、ＰＵは、単一の予測ブロックと、この予測ブロックを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ、Ｃｂ、およびＣｒ予測ブロックについての予測ルーマ、Ｃｂ、およびＣｒブロックを生成し得る。
【００５５】
[0057]  ビデオエンコーダ２０は、ＰＵについての予測ブロックを生成するためにイントラ予測またはインター予測を使用し得る。ビデオエンコーダ２０が、ＰＵの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャの復号されたサンプルに基づいて、ＰＵの予測ブロックを生成し得る。ビデオエンコーダ２０が、ＰＵの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャ以外の１つまたは複数のピクチャの復号されたサンプルに基づいて、ＰＵの予測ブロックを生成し得る。
【００５６】
[0058]  ビデオエンコーダ２０が、ＣＵの１つまたは複数のＰＵについての予測ルーマ、Ｃｂ、およびＣｒブロックを生成した後、ビデオエンコーダ２０は、そのＣＵについてのルーマ残差ブロックを生成し得る。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵの予測ルーマブロックのうちの１つ中のルーマサンプルと、ＣＵの元のルーマコーディングブロック中の対応するサンプルとの間の差分を示す。加えて、ビデオエンコーダ２０は、ＣＵについてのＣｂ残差ブロックを生成し得る。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つ中のＣｂサンプルと、ＣＵの元のＣｂコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ２０はまた、ＣＵについてのＣｒ残差ブロックを生成し得る。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つ中のＣｒサンプルと、ＣＵの元のＣｒコーディングブロック中の対応するサンプルとの間の差分を示し得る。
【００５７】
[0059]  さらに、ビデオエンコーダ２０は、ＣＵのルーマ、Ｃｂ、およびＣｒ残差ブロックを１つまたは複数のルーマ、Ｃｂ、およびＣｒ変換ブロックへと分解するために四分木区分化を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの長方形（例えば、正方形または非正方形）ブロックであり得る。ＣＵの変換ユニット（ＴＵ）は、ルーマサンプルの変換ブロック、クロマサンプルの２つの対応する変換ブロック、およびこれらの変換ブロックのサンプルを変換するために使用されるシンタックス構造を備え得る。よって、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに関連付けられ得る。ＴＵに関連付けられたルーマ変換ブロックは、ＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックは、ＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックは、ＣＵのＣｒ残差ブロックのサブブロックであり得る。モノクロのピクチャまたは３つの別個の色平面を有するピクチャでは、ＴＵは、単一の変換ブロックと、この変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
【００５８】
[0060]  ビデオエンコーダ２０は、ＴＵについてのルーマ係数ブロックを生成するために、ＴＵのルーマ変換ブロックに１つまたは複数の変換を適用し得る。係数ブロックは、変換係数の二次元アレイであり得る。変換係数は、スカラー量であり得る。ビデオエンコーダ２０は、ＴＵについてのＣｂ係数ブロックを生成するために、ＴＵのＣｂ変換ブロックに１つまたは複数の変換を適用し得る。ビデオエンコーダ２０は、ＴＵについてのＣｒ係数ブロックを生成するために、ＴＵのＣｒ変換ブロックに１つまたは複数の変換を適用し得る。
【００５９】
[0061]  係数ブロック（例えば、ルーマ係数ブロック、Ｃｂ係数ブロック、またはＣｒ係数ブロック）を生成した後、ビデオエンコーダ２０は、これらの係数ブロックを量子化し得る。量子化は概して、変換係数を表すために使用されるデータの量をできるだけ低減するために、変換係数が量子化され、さらなる圧縮を提供する処理を指す。ビデオエンコーダ２０が係数ブロックを量子化した後、ビデオエンコーダ２０は、量子化された変換係数を示すシンタックス要素をエントロピー符号化し得る。例えば、ビデオエンコーダ２０は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：Context-Adaptive Binary Arithmetic Coding）を実行し得る。
【００６０】
[0062]  ビデオエンコーダ２０は、コーディングピクチャおよび関連付けられたデータの表現を形成するビットのシーケンスを含むビットストリームを出力することができる。ビットストリームは、ＮＡＬユニットのシーケンスを備え得る。ＮＡＬユニットは、ＮＡＬユニット内のデータのタイプのインジケーション（indication）と、必要に応じてエミュレーション防止ビットが組み入れられているＲＢＳＰの形式でそのデータを包含するバイトとを含むシンタックス構造である。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み、ＲＢＳＰをカプセル化し得る。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって規定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを包含するシンタックス構造であり得る。いくつかの事例では、ＲＢＳＰは０ビットを含む。
【００６１】
[0063]  様々なタイプのＮＡＬユニットは、様々なタイプのＲＢＳＰをカプセル化し得る。例えば、第１のタイプのＮＡＬユニットは、ＰＰＳのためのＲＢＳＰをカプセル化し得、第２のタイプのＮＡＬユニットは、コーディングされたスライスのためのＲＢＳＰをカプセル化し得、第３のタイプのＮＡＬユニットは、ＳＥＩメッセージのためのＲＢＳＰをカプセル化し得る。ビデオコーディングデータのためのＲＢＳＰをカプセル化するＮＡＬユニットは（パラメータセットおよびＳＥＩメッセージのためのＲＢＳＰとは対照的に）、ＶＣＬ ＮＡＬユニットと呼ばれ得る。
【００６２】
[0064]  ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信し得る。加えて、ビデオデコーダ３０は、ビットストリームからシンタックス要素を取得するためにビットストリームを解析し得る。ビデオデコーダ３０は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構成し得る。ビデオデータを再構成するための処理は概して、ビデオエンコーダ２０によって行われる処理の逆であり得る。加えて、ビデオデコーダ３０は、現在のＣＵのＴＵに関連付けられた係数ブロックを逆量子化し得る。ビデオデコーダ３０は、現在のＣＵのＴＵに関連付けられた変換ブロックを再構成するために、係数ブロックに対して逆変換を行い得る。ビデオデコーダ３０は、現在のＣＵのＰＵについての予測ブロックのサンプルを、現在のＣＵのＴＵの変換ブロックの対応するサンプルに加えることで、現在のＣＵのコーディングブロックを再構成し得る。ピクチャの各ＣＵのコーディングブロックを再構成することによって、ビデオデコーダ３０は、ピクチャを再構成し得る。
【００６３】
[0065]  ビデオコーディングの分野では、復号されたビデオ信号の品質を向上させるために、フィルタリングを適用することは一般的である。フィルタは、フィルタリングされたフレームが将来的なフレームの予測のために使用されないポストフィルタとして適用され得るか、または、フィルタリングされたフレームが将来的なフレームを予測するために使用され得るループ内フィルタとして適用されることができる。
【００６４】
[0066]  図３は、本開示で説明される技法を実装し得る、例示的なビデオエンコーダ２０を図示するブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラおよびインターコーディングを行い得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間的予測に依存する。インターコーディングは、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依存する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのうちの任意のものを指し得る。単一方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのうちの任意のものを指す場合がある。
【００６５】
[0067]  図３の例では、ビデオエンコーダ２０は、ビデオデータメモリ３３、区分化ユニット（partitioning unit）３５、予測処理ユニット４１、加算器５０、変換処理ユニット５２、量子化ユニット５４、エントロピー符号化ユニット５６を含む。予測処理ユニット４１は、動き推定ユニット（ＭＥＵ：motion estimation unit）４２、動き補償ユニット（ＭＣＵ：motion compensation unit）４４、およびイントラ予測ユニット４６含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット（inverse quantization unit）５８、逆変換処理ユニット６０、加算器６２、ループ内フィルタリングユニット（in-loop filtering unit）６４、および復号ピクチャバッファ（ＤＰＢ：decoded picture buffer）６６を含む。
【００６６】
[0068]  図３に示されるように、ビデオエンコーダ２０は、ビデオデータを受信し、受信したビデオデータをビデオデータメモリ３３に記憶する。ビデオデータメモリ３３は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ３３内に記憶されたビデオデータは、例えば、ビデオソース１８から取得され得る。ＤＰＢ６６は、例えば、イントラまたはインターコーディングモードで、ビデオエンコーダ２０がビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ３３およびＤＰＢ６６は、同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、磁気ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ（登録商標））を含む、ＤＲＡＭまたは他のタイプのメモリデバイスのなどの、様々なメモリデバイスのうちの任意のものによって形成され得る。ビデオデータメモリ３３およびＤＰＢ６６は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ３３は、ビデオエンコーダ２０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【００６７】
[0069]  区分化ユニット３５は、ビデオデータメモリ３３からビデオデータを取り出し、このビデオデータをビデオブロックへと区分化する。この区分化はまた、例えば、ＬＣＵおよびＣＵの四分木構造に従ったビデオブロック区分化と同様に、スライス、タイルまたは他のより大きなユニットへの区分化を含み得る。ビデオエンコーダ２０は概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を例示する。スライスは、複数のビデオブロック（そして、場合によっては、タイルと呼ばれるビデオブロックのセット）へと分割され得る。予測処理ユニット４１は、誤差結果（例えば、コーディングレートおよび歪みのレベル）に基づいて、現在のビデオブロックに対して、複数のイントラコーディングモードのうちの１つまたは複数のインターコーディングモードのうちの１つなどの、複数の可能なコーディングモードのうちの１つを選択し得る。予測処理ユニット４１は、結果として生じるイントラまたはインターコーディングブロックを、残差ブロックデータを生成するために加算器５０に、参照ピクチャとしての使用のための符号化されたブロックを再構成するために加算器６２に提供し得る。
【００６８】
[0070]  予測処理ユニット４１内のイントラ予測ユニット４６は、空間圧縮を提供するために、コーディングされるべき現在のブロックと同じフレームまたはスライス内の１つまたは複数の隣接ブロックに対して、現在のビデオブロックのイントラ予測コーディングを行い得る。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を提供するために、１つまたは複数の参照ピクチャ内の１つまたは複数の参照ブロックに対して、現在のビデオブロックのインター予測を行う。
【００６９】
[0071]  動き推定ユニット４２は、ビデオシーケンスについてのあらかじめ定められたパターンにしたがって、ビデオスライスに対するインター予測モードを決定するように構成され得る。あらかじめ定められたパターンは、シーケンス内のビデオスライスをＰスライスまたはＢスライスとして指定し得る。動き推定ユニット４２および動き補償ユニット４４は、高度に統合され得るが、概念的な目的のために別個に例示されている。動き推定ユニット４２によって行われる動き推定は、ビデオブロックのための動きを推定する動きベクトルを生成する処理である。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する、現在のビデオフレームまたはピクチャ内でのビデオブロックのＰＵの変位を示し得る。
【００７０】
[0072]  予測ブロックは、絶対値差分の和（ＳＡＤ：sum of absolute difference）、二乗差分の和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分の観点で、コーディングされるべきビデオブロックのＰＵと密接に一致することが分かるブロックである。いくつかの例では、ビデオエンコーダ２０は、ＤＰＢ６６に記憶された参照ピクチャのサブ整数画素位置（sub-integer pixel position）についての値を計算し得る。例えば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置（fractional pixel position）の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置（full pixel position）および分数ピクセル位置に対する動き検索を行い、分数ピクセル精度（fractional pixel precision）を有する動きベクトルを出力し得る。
【００７１】
[0073]  動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングスライス中のビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの各々は、ＤＰＢ６６に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルを、エントロピー符号化ユニット５６および動き補償ユニット４４に送る。
【００７２】
[0074]  動き補償ユニット４４によって行われる動き補償は、動き推定によって決定された動きベクトルに基づいて、予測ブロックをフェッチすることまたは生成することを伴い得、場合によっては、サブ画素精度への補間を行う。現在のビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、参照ピクチャリストのうちの１つにおいて動きベクトルが指す予測ブロックを位置特定し得る。ビデオエンコーダ２０は、コーディングされる現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算することによって、残差ビデオブロックを形成し、ピクセル差分値を形成する。画素差分値は、このブロックについての残差データを形成し、ルーマおよびクロマの両方の差分成分を含み得る。加算器５０は、この減算オペレーションを行う１つまたは複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックおよびビデオスライスに関連付けられたシンタックス要素を生成し得る。
【００７３】
[0075]  予測処理ユニット４１が現在のビデオブロックについての予測ブロックを生成した後、イントラまたはインター予測のいずれかを介して、ビデオエンコーダ２０は、現在のビデオブロックから予測ブロックを減算することで残差ビデオブロックを形成し得る。残差ブロック内の残差ビデオデータは、１つまたは複数のＴＵに含まれ、変換処理ユニット５２に適用され得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ：discrete cosine transform）などの変換または概念的に同様の変換を使用して、残差ビデオデータを残差変換係数へと変換する。変換処理ユニット５２は、残差ビデオデータをピクセル領域から周波数領域のような変換領域にコンバートし得る。
【００７４】
[0076]  変換処理ユニット５２は、結果として生じる変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレート（bit rate）をさらに低減するために、変換係数を量子化する。量子化プロセスは、係数の一部または全てに関連付けられたビット深度（bit depth）を低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化された変換係数を含む行列のスキャンを行い得る。代替的に、エントロピー符号化ユニット５６がスキャンを行い得る。
【００７５】
[0077]  量子化に続いて、エントロピー符号化ユニット５６は、量子化された変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、シンタックスベースのコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率区間区分エントロピー（ＰＩＰＥ：probability interval partitioning entropy）コーディング、または別のエントロピー符号化方法または技法を行い得る。エントロピー符号化ユニット５６によるエントロピー符号化に続いて、符号化されたビットストリームは、ビデオデコーダ３０に送信されるか、ビデオデコーダ３０による後の送信または検索のためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コーディングされる現在のビデオスライスのために他のシンタックス要素および動きベクトルをエントロピー符号化し得る。
【００７６】
[0078]  逆量子化ユニット５８および逆変換処理ユニット６０は、参照ピクチャの参照ブロックとしての後の使用のために、ピクセル領域中で残差ブロックを再構成するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット４４は、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに残差ブロックを加えることで参照ブロックを算出し得る。動き補償ユニット４４はまた、動き推定での使用のためにサブ整数ピクセル値を計算するために、１つまたは複数の補間フィルタを再構成された残差ブロックに適用し得る。加算器６２は、再構成されたブロックを作り出すために、動き補償ユニット４４によって作成された動き補償された予測ブロックに、再構成された残差ブロックを加える。
【００７７】
[0079]  ループ内フィルタリングユニット（In-loop filtering unit）６４は、再構成されたブロック（例えば、加算器６２の出力）をフィルタリングし、参照ブロックとしての使用のために、フィルタリングされた被再構成ブロックをＤＰＢ６６に記憶する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。図３では明示されていないが、ビデオエンコーダ２０は、デブロックフィルタ、サンプル適応オフセット（ＳＡＯ：sample adaptive offset）フィルタ、またはループフィルタの別のタイプのうちの１つまたは複数などのフィルタを含み得る。デブロックフィルタは、例えば、再構成されたビデオからのブロッキネスアーティファクト（blockiness artifact）を除去するために、ブロック境界をフィルタリングするようにデブロッキングフィルタを適用し得る。ＳＡＯフィルタは、全体的なコーディング品質を改善するために、再構成されたピクセル値にオフセットを適用し得る。いくつかの実装では、ＳＡＯは、ＡＬＦフィルタリングの特別なケースまたは特別なモードであり得る。追加のループフィルタ（ループ内またはポストループ）もまた使用され得る。具体的には、ループ内フィルタリングユニット６４は、本開示で説明されるように適用されるバイラテラルフィルタリングを含み得る。１つの実施形態では、ブロックへのバイラテラルフィルタは、適用される場合、デブロックフィルタの後に適用される。
【００７８】
[0080]  図４は、本開示で説明される技法を実現し得る、例示的なビデオデコーダ３０を例示するブロック図である。図４の例では、ビデオデコーダ３０は、ビデオデータメモリ７８、エントロピー復号ユニット８０、予測処理ユニット８１、逆量子化ユニット８６、逆変換処理ユニット８８、加算器９０、および復号ピクチャバッファ（ＤＰＢ）９４を含む。予測処理ユニット８１は、動き補償ユニット８２と、イントラ予測ユニット８４とを含む。ビデオデコーダ３０は、いくつかの例では、図３のビデオエンコーダ２０に関して説明された符号化パスと概して逆の復号パスを行い得る。
【００７９】
[0081]  復号プロセス中、ビデオデコーダ３０は、符号化ビデオスライスのビデオブロックおよび関連付けられたシンタックス要素を表す符号化ビットストリームをビデオエンコーダ２０から受信する。ビデオデコーダ２０は、受信された符号化ビデオビットストリームをビデオデータメモリ７８に記憶する。ビデオデータメモリ７８は、ビデオデコーダ３０の構成要素によって復号されるべき符号化されたビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ７８に記憶されたビデオデータは、例えば、リンク１６を介して、記憶デバイス２６から、またはカメラなどのローカルビデオソースから、または物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ７８は、符号化されたビデオビットストリームからの符号化ビデオデータを記憶する、コーディングピクチャバッファ（ＣＰＢ：coded picture buffer）を形成し得る。ＤＰＢ９４は、例えば、イントラまたはインターコーディングモードで、ビデオデコーダ３０がビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ７８およびＤＰＢ９４は、ＤＲＡＭ、ＳＤＲＡＭ、ＭＲＡＭ、ＲＲＡＭ、または他のタイプのメモリデバイスなどの様々なメモリデバイスのうちの任意のものによって形成され得る。ビデオデータメモリ７８およびＤＰＢ９４は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ７８は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【００８０】
[0082]  ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化された係数、動きベクトル、および他のシンタックス要素を生成するために、ビデオデータメモリ７８に記憶されたビデオデータをエントロピー復号する。エントロピー復号ユニット８０は、動きベクトルおよび他のシンタックス要素を予測処理ユニット８１に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【００８１】
[0083]  ビデオスライスがイントラコーディングされた（Ｉ）スライスとしてコーディングされるとき、予測処理ユニット８１のイントラ予測ユニット８４は、シグナリングされたイントラ予測モードおよびデータに基づいて現在のフレームまたはピクチャの前に復号されたブロックから、現在のビデオスライスのビデオブロックについての予測データを生成し得る。ビデオフレームがインターコーディング（即ち、ＢまたはＰ）スライスとしてコーディングされるとき、予測処理ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信した動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックについての予測ブロックを作成する。予測ブロックは、参照ピクチャリストのうちの１つ中の参照ピクチャのうちの１つから作成され得る。ビデオデコーダ３０は、ＤＰＢ９４に記憶された参照ピクチャに基づいてデフォルト構築技法を使用して、参照フレームリスト、リスト０およびリスト１を構築し得る。
【００８２】
[0084]  動き補償ユニット８２は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在のビデオブロックの予測ブロックを作成するために、その予測情報を使用する。例えば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（例えば、イントラまたはインター予測）と、インター予測スライスタイプ（例えば、ＢスライスまたはＰスライス）と、スライスのための参照ピクチャリストのうちの１つまたは複数についての構築情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコーディングビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちのいくつかを使用する。
【００８３】
[0085]  動き補償ユニット８２はまた、補間フィルタに基づいて補間を行い得る。動き補償ユニット８２は、参照ブロックのサブ整数ピクセルのための補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用される補間フィルタを使用し得る。このケースでは、動き補償ユニット８２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、予測ブロックを作成するために補間フィルタを使用し得る。
【００８４】
[0086]  逆量子化ユニット（Inverse quantization unit）８６は、ビットストリーム内で提供されエントロピー復号ユニット８０によって復号された、量子化された変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセス（inverse quantization process）は、量子化の程度、同様に適用されるべき逆量子化の程度を決定するために、ビデオスライスにおける各ビデオブロックについて、ビデオエンコーダ２０によって算出される量子化パラメータの使用を含み得る。逆変換処理ユニット８８は、ピクセル領域において残差ブロックを作成するために、逆変換、例えば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換処理を変換係数に適用する。
【００８５】
[0087]  予測処理ユニットが、例えば、イントラまたはインター予測を使用して現在のビデオブロックについての予測ブロックを生成した後、ビデオデコーダ３０は、逆変換処理ユニット８８からの残差ブロックを、動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、再構成されたビデオブロックを形成する。加算器９０は、この加算オペレーションを行う１つまたは複数の構成要素を表す。ループ内フィルタリングユニット９２は、例えば、デブロックフィルタ、ＳＡＯフィルタ、またはフィルタの他のタイプのうちの１つまたは複数を使用して、再構成されたビデオブロックをフィルタリングする。（コーディングループ内またはコーディングループ後のいずれかの）他のループフィルタはまた、画素遷移を平滑化するためにまたは別の方法でビデオ品質を改善するために使用され得る。例えば、いくつかの実施形態では、ループ内フィルタリングユニット９５は、本明細書で説明されるようなバイラテラルフィルタリングを含む。１つのこのような実施形態では、ブロックへのバイラテラルフィルタは、適用される場合、デブロックフィルタの後に適用される。所与のフレームまたはピクチャ内の復号されたビデオブロックは次いで、後の動き補償のために使用される参照ピクチャを記憶するＤＰＢ９４に記憶される。ＤＰＢ９４は、図２のディスプレイデバイス３２などのディスプレイデバイス上での後の表現のために、復号されたビデオを記憶する追加のメモリの一部であるかまたはそれとは別個であり得る。
【００８６】
[0088]  図５は、ビデオデータを符号化する方法５００の１つの実施形態を図示するフローチャートである。具体的には、方法５００は、ビデオビットストリーム中で明示的にシグナリングされた（および、非ゼロ変換係数（non-zero transform coefficient）の数によって単に示されるわけではない）フラグに基づいてバイラテラルフィルタリングをイネーブルおよびディセーブルにする方法を図示する。
【００８７】
[0089]  図示されるような方法５００は、ビデオエンコーダ２０が、ビデオブロックをコーディングするためのモードを示すデータをビットストリームから復号する、ブロック５１０から始まる。例えば、モードは、予測方法（例えば、インターまたはイントラ予測）と、（特定の予測モードなどの）他の予測パラメータを示し得る。ブロック５２０において、エンコーダ、例えば、予測処理ユニット４１は、ビデオブロックの予測されたブロックを生成するためのモードにしたがって、ブロックを予測する。次にブロック５２５において、エンコーダは、予測されたブロックに基づいて残差を決定する。残差ブロック（residual block）は、予測されたブロックサンプルと実際のブロックサンプルとの間の差であるように決定される。
【００８８】
[0090]  ブロック５３０に移ると、ビデオエンコーダ２０は、残差ブロックを示すデータを符号化する。残差ブロックを示すデータは、ゼロまたはそれより多い変換係数を備え得る。１つの実施形態では、変換係数は、変換処理ユニット５２によって生成され、量子化ユニット５４を介して量子化され、エントロピー符号化ユニット５６を介してエントロピーコーディングされる。ブロック５４０において、ビデオエンコーダ２０は、予測されたビデオブロックと残差ブロックとに基づいて、ビデオブロックに関連付けられたサンプルを再構成する。
【００８９】
[0091]  ブロック５５０において、ビデオエンコーダは、再構成されたビデオデータにバイラテラルフィルタリングを適用すべきかどうかを示すフラグをビットストリームに符号化する。このフラグは、ビットストリーム中の任意の適切なロケーションに位置し得、ビデオブロックのためのモードの前または後に、およびビデオブロックのための変換係数の前または後に、ビットストリーム中に符号化され得ることが理解されるだろう。任意で、エンコーダは、ビデオブロックを含む変換ユニット、予測ユニット、または最大コーディングユニットのうちの１つまたは複数に関連付けられたシンタックス構造にフラグを符号化する。具体的には、上記のように、複数のフラグは、より低いレベルのフラグがより高いレベルのフラグをオーバーライド（override）するように、異なるレベル（変換、予測、コーディングユニット）において符号化され得る。
【００９０】
[0092]  ブロック５６０に移ると、例えば、ループ内フィルタリングユニット６４を介して、ビデオエンコーダ２０は、フラグの値に基づいて、再構成されたサンプルにおいてバイラテラルフィルタリングを行う。１つの特定の実施形態では、バイラテラルフィルタリングは、再構成されたブロックがデブロックフィルタリング（deblock filtering）された後に、ループ内フィルタリングユニット６４を介して行われる。あるいくつかの実施形態では、フラグの値に基づいてバイラテラルフィルタリングを行うことは、フラグの値に基づいてバイラテラルフィルタリングを行うべきかどうかを決定することを含む。いくつかの実施形態では、フラグの値に基づいてバイラテラルフィルタリングを行うべきかどうかを決定することは、より低いレベルのシンタックス要素を備えるフラグが特定のブロックまたはユニットについてのバイラテラルフィルタリングユニットをイネーブルまたはディセーブルにするためにより高いレベルのシンタックス要素を備えるフラグをオーバーライドし得るように、（例えば、２つ以上のピクチャ、スライス、最大コーディングユニット、コーディングユニット、予測ユニット、または変換ユニットレベルシンタックスなどの）異なるコーディングレベルにおいてシグナリングされた追加のフラグにさらに基づき得る（すなわち、フラグとの組み合わせ）。いくつかの実施形態では、フラグの値に基づいてバイラテラルフィルタリングを行うべきかどうかを決定することは、ビデオブロックに関連付けられたスライスタイプ、ビデオブロックに関連付けられた動き精度、ビデオブロックと予測されたビデオブロックとの間の差分を示す変換係数、ビデオブロックをコーディングするためのモード、またはブロックに関連付けられたデブロックフィルタパラメータ、のうちの少なくとも１つにさらに基づき得る。さらに別の実施形態では、バイラテラルフィルタリングをイネーブル／ディセーブルにするべきかどうかを決定することは、フラグのシグナリングを行うことなく決定され得、代わりに、ビデオブロックに関連付けられたスライスタイプ、ビデオブロックに関連付けられた動き精度、ビデオブロックと予測されたビデオブロックとの間の差分を示す変換係数、ビデオブロックをコーディングするためのモード、またはブロックに関連付けられたデブロックフィルタパラメータ、のうちの少なくとも１つに基づいて推測される。
【００９１】
[0093]  図６は、ビデオデータを復号する方法６００の１つの実施形態を図示するフローチャートである。具体的には、方法６００は、ビデオビットストリーム中で明示的にシグナリングされたフラグに基づいてビデオデコーダ３０においてバイラテラルフィルタリングをイネーブルおよびディセーブルにする（および、非ゼロ変換係数の数によって単に示されるわけではない）方法を図示する。
【００９２】
[0094]  図示されるような方法６００は、ビデオデコーダ３０が、ビデオブロックをコーディングするためのモードを示すデータをビットストリームから復号する、ブロック６１０から始まる。例えば、モードは、予測方法（例えば、インターまたはイントラ予測）と、（特定の予測モードなどの）他の予測パラメータを示し得る。ブロック６２０において、デコーダ３０、例えば、予測処理ユニット８１は、ビデオブロックの予測されたブロックを生成するためのモードにしたがって、ブロックを予測する。
【００９３】
[0095]  ブロック６３０に移ると、ビデオデコーダ３０は、ビデオビットストリームから残差ブロック（residual block）を示すデータを復号する。残差ブロックを示すデータは、ゼロまたはそれより多い変換係数を備え得る。１つの実施形態では、変換係数は、エントロピー復号ユニット８０を介してエントロピー復号され、残差ブロックを生成するために逆量子化ユニット８６を介して逆量子化された後に、逆変換処理ユニット８８によって使用される。ブロック６４０において、ビデオデコーダ３０は、予測されたビデオブロックと残差ブロックとに基づいて、ビデオブロックに関連付けられたサンプルを再構成する。
【００９４】
[0096]  ブロック６５０において、ビデオデコーダ３０は、再構成されたビデオデータにバイラテラルフィルタリングを適用すべきかどうかを示すフラグをビットストリームに復号する。このフラグは、ビットストリーム中の任意の適切なロケーションに位置し得、ビデオブロックのためのモードの前または後に、およびビデオブロックのための変換係数の前または後に、ビットストリーム中で符号化され得ることが理解されるだろう。任意で、デコーダ３０は、ビデオブロックを含む変換ユニット、予測ユニット、または最大コーディングユニットのうちの１つまたは複数に関連付けられたシンタックス構造にフラグを復号する。具体的には、上記のように、複数のフラグは、より低いレベルのフラグがより高いレベルのフラグをオーバーライドするように、異なるレベル（変換、予測、コーディングユニット）において符号化され得る。
【００９５】
[0097]  ブロック６６０に移ると、例えば、ループ内フィルタリングユニット９２を介して、ビデオエンコーダ２０は、フラグの値に基づいて、再構成されたサンプルにおいてバイラテラルフィルタリングを行う。１つの特定の実施形態では、バイラテラルフィルタリングは、再構成されたブロックがデブロックフィルタリングされた後、ループ内フィルタリングユニット９２を介して行われる。
【００９６】
[0098]  本明細書に開示されている実施形態に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、または両方の組み合わせとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に例示するために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、上記では概してそれらの機能に関して説明されている。このような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定のアプリケーションおよび全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定のアプリケーションごとに様々な方法で実装し得るが、このような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈すべきではない。
【００９７】
[0099]  本明細書に説明された技法は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせで実装され得る。このような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、または、ワイヤレス通信デバイスハンドセットおよび他のデバイスにおけるアプリケーションを含む複数の用途を有する集積回路デバイスなどの様々なデバイスのうちの任意のものにおいて実装され得る。モジュールまたは構成要素として説明された任意の特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装された場合、技法は、実行されると、上述される方法のうちの１つまたは複数を行う命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体（computer-readable data storage medium）によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュメモリ、磁気または光学データ記憶媒体などの、メモリまたはデータ記憶媒体を備え得る。技法は、追加または代替として、伝搬信号または電波などの、命令またはデータ構造の形態でプログラムコードを搬送または通信し、コンピュータによってアクセスされ、読み取られ、および／または実行されることができるコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
【００９８】
[00100]  プログラムコードは、１つまたは複数のデジタルシグナルプロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の同等の集積回路またはディスクリート論理回路などの、１つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。このようなプロセッサは、本開示で説明される技法のうちの任意のものを行うように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、前述の構造の任意の組み合わせ、または本明細書で説明された技法の実装に適切な任意の他の構造または装置のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアまたはハードウェアモジュール内に提供され得るか、または複合ビデオエンコーダ−デコーダ（コーデック）に組み込まれ得る。
【００９９】
[00101]  本明細書で説明されたコーディング技法は、例示的なビデオ符号化および復号システムにおける実施形態であり得る。システムは、宛先デバイスによって後で復号されるべき符号化ビデオデータを提供するソースデバイスを含む。具体的には、ソースデバイスは、コンピュータ可読媒体を介してビデオデータを宛先デバイスに提供する。ソースデバイスおよび宛先デバイスは、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレイヤ、ビデオゲーム機、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。いくつかのケースでは、ソースデバイスおよび宛先デバイスは、ワイヤレス通信に対応し得る。
【０１００】
[00102]  宛先デバイスは、コンピュータ可読媒体を介して、復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体は、符号化ビデオデータをソースデバイスから宛先デバイスに移動することが可能な、任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体は、ソースデバイスが符号化ビデオデータを宛先デバイスにリアルタイムで直接送信するのを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格にしたがって変調され、宛先デバイスに送信され得る。通信媒体は、無線周波（ＲＦ）スペクトルあるいは１つまたは複数の物理送信線などの、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのようなグローバルネットワークなどの、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイスから宛先デバイスへの通信を容易にするために有用であり得る、ルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【０１０１】
[00103] いくつかの例では、符号化データは、出力インターフェースから記憶デバイスへ出力され得る。同様に、符号化データは、記憶デバイスから入力インターフェースによってアクセスされ得る。記憶デバイスは、ハードドライブ、Ｂｌｕ−ｒａｙディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは、符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体などの、様々な分散型のまたは局所的にアクセスされるデータ記憶媒体のうちの任意のものを含み得る。さらなる例では、記憶デバイスは、ソースデバイスによって生成された符号化ビデオを記憶することができるファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイスは、ストリーミングまたはダウンロードを介して、記憶デバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶でき、符号化ビデオデータを宛先デバイスに送信できる、任意のタイプのサーバであり得る。例示的なファイルサーバは、例えば、ウェブサイト用の）ウェブサーバ、ＦＴＰサーバ、ネットワークアタッチドストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイスは、インターネット接続を含む任意の標準データ接続を介して、符号化ビデオデータにアクセスし得る。これは、ファイルサーバ上に記憶された符号化ビデオデータにアクセスするのに適した、ワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組み合せを含み得る。記憶デバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組み合わせであり得る。
【０１０２】
[00104]  本開示の技法は、ワイヤレスアプリケーションまたはワイヤレス設定に必ずしも限定されない。技法は、無線テレビ放送、ケーブルテレビ送信、衛星テレビ送信、ＨＴＴＰ（ＤＡＳＨ）上の動的に適用可能なストリーミングなどのインターネットストリーミングビデオ送信、データ記憶媒体上で符号化されたデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他のアプリケーションのなどの、様々なマルチメディアアプリケーションのうちの任意のものをサポートして、ビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および／またはビデオ電話などのアプリケーションをサポートするために一方向または両方向のビデオ送信をサポートするように構成され得る。
【０１０３】
[00105]  一例では、ソースデバイスは、ビデオソース、ビデオエンコーダ、および出力インターフェースを含む。宛先デバイスは、入力インターフェース、ビデオデコーダ、およびディスプレイデバイスを含み得る。ソースデバイスのビデオエンコーダは、本明細書で説明される技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または配列を含み得る。例えば、ソースデバイスは、外部カメラなどの外部のビデオソースからのビデオデータを受信し得る。同様に、宛先デバイスは、統合されたディスプレイデバイスを含むのではなく、外部のディスプレイデバイスとインターフェースし得る。
【０１０４】
[00106]  上記の例示的なシステムは、単に一例に過ぎない。同時にビデオデータを処理するための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって行われ得る。概して、本開示の技法は、ビデオ符号化デバイスによって実行されるが、これらの技法はまた、通常は「コーデック（CODEC）」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。さらに、本開示の技法は、ビデオプリプロセッサによっても実行され得る。ソースデバイスおよび宛先デバイスは、ソースデバイスが、宛先デバイスに送信するためのコーディングされたビデオデータを生成するコーディングデバイスの例に過ぎない。いくつかの例では、ソースおよび宛先デバイスは、デバイスの各々がビデオ符号化および復号構成要素を含むように、実質的に対称的な方法で動作し得る。故に、例示的なシステムは、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオ電話のためのビデオデバイスとの間の一方向または双方向のビデオ送信をサポートし得る。
【０１０５】
[00107]  ビデオソースは、ビデオカメラなどのビデオキャプチャデバイス、前にキャプチャされたビデオを含むビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソースは、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組み合わせを生成し得る。いくつかのケースでは、ビデオソースがビデオカメラである場合、ソースデバイスおよび宛先デバイスは、いわゆるカメラ付き電話またはビデオ付き電話を形成し得る。しかしながら、上記で述べたように、本開示で説明する技法は、一般にビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤードアプリケーションに適用され得る。各ケースでは、キャプチャされたビデオ、前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダによって符号化され得る。次いで、符号化ビデオ情報は、出力インターフェースによってコンピュータ可読媒体上で出力され得る。
【０１０６】
[00108]  記載されるように、コンピュータ可読媒体は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいは、ハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙディスク、または他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、例えば、ネットワーク送信を介して、宛先デバイスに符号化ビデオデータを提供し、ソースデバイスから符号化ビデオデータを受信し得る。同様に、ディスクスタンピング設備などの媒体製造設備のコンピューティングデバイスは、ソースデバイスから符号化ビデオデータを受信し、符号化ビデオデータを含むディスクを製造し得る。したがって、コンピュータ可読媒体は、様々な例において、様々な形態の１つまたは複数のコンピュータ可読媒体を含むことが理解され得る。
【０１０７】
[00109]  宛先デバイスの入力インターフェースは、コンピュータ可読媒体から情報を受信する。コンピュータ可読媒体の情報は、ブロックおよび他のコーディングされたユニット、例えば、ピクチャグループ（ＧＯＰ：group of pictures）の処理および／または特性を説明するシンタックス要素を含む、ビデオエンコーダによって定義されるシンタックス情報（syntax information）を含み得、これは、ビデオデコーダによっても使用される。ディスプレイデバイスは、復号されたビデオデータをユーザに表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのうちの任意のものを備え得る。本発明の様々な実施形態が説明された。
【図１】
2020501434.tif 000006
【図２】
2020501434.tif 000007
【図３】
2020501434.tif 000008
【図４】
2020501434.tif 000009
【図５】
2020501434.tif 000010
【図６】
2020501434.tif 000011
【国際調査報告】
2020501434.tif 000012
2020501434.tif 000013
2020501434.tif 000014
2020501434.tif 000015