(57)【特許請求の範囲】
【請求項１】
ビデオ復号のための装置であって、前記装置は下記を備える、
複数の色成分を含む前記再構成されたビデオデータに適用されたサンプル適応オフセット（ＳＡＯ）フィルタのオフセット値を、符号化ビデオビットストリームにおいて、受信するための手段と、
前記再構成されたビデオデータの第１の色成分の第１のスケールファクタを示す第１の値および第２のスケールファクタを示す第２の値を、前記ビデオデータのビット深度が１０ビットよりも大きい場合、前記符号化ビデオビットストリームのピクチャパラメータセット（ＰＰＳ）において、受信するための手段、ここで、前記第１のスケールファクタは、前記再構成されたビデオデータの第２の色成分の前記第２のスケールファクタとは異なる、と、
前記第１のスケールファクタを前記オフセット値に適用することに基づいて、スケーリングされたオフセット値を与えるための手段と、
前記ビデオデータの前記第１の色成分に前記スケーリングされたオフセット値を加算することでスケーリングされた色成分を生成するための手段と、
前記スケーリングされた色成分に従って、前記再構成されたビデオデータを復号するための手段。
【請求項２】
ビデオ符号化のための装置であって、前記装置は下記を備える、
複数の色成分を含む前記再構成されたビデオデータに適用されたサンプル適応オフセット（ＳＡＯ）フィルタのオフセット値を、符号化ビデオビットストリームにおいて、シグナリングするための手段と、
前記再構成されたビデオデータの第１の色成分の第１のスケールファクタを示す第１の値および第２のスケールファクタを示す第２の値を、前記ビデオデータのビット深度が１０ビットよりも大きい場合、前記符号化ビデオビットストリームのピクチャパラメータセット（ＰＰＳ）において、シグナリングするための手段、ここで、前記第１のスケールファクタは、前記再構成されたビデオデータの第２の色成分の前記第２のスケールファクタとは異なる、と、
前記第１のスケールファクタを前記オフセット値に適用することに基づいて、スケーリングされたオフセット値を与えるための手段と、
前記ビデオデータの前記第１の色成分に前記スケーリングされたオフセット値を加算することでスケーリングされた色成分を生成するための手段と、
前記スケーリングされた色成分に従って、前記再構成されたビデオデータを符号化するための手段。
【請求項３】
コーディングツリーユニット（ＣＴＵ）のレベルでシグナリングされた前記オフセット値を受信するようにさらに構成される、請求項１または２に記載の装置。
【請求項４】
前記ビデオデータのピクチャのシーケンスに関連付けられたビット深度を示す第３の値を受信するようにさらに構成される、請求項１に記載の装置、または前記ビデオデータのピクチャのシーケンスに関連付けられたビット深度を示す第３の値をシグナリングするようにさらに構成される、請求項２に記載の装置。
【請求項５】
前記第１の色成分が、前記ビデオデータのブロックに関連付けられたルーマ値または少なくとも１つのクロマ値のうちの１つを備える、請求項１または２に記載の装置。
【請求項６】
前記第１のスケールファクタに少なくとも部分的に基づいて前記オフセット値を線形スケーリングすることに基づいて、前記スケーリングされたオフセット値を与えるようにさらに構成される、および／または、前記第１のスケールファクタに少なくとも部分的に基づいて前記オフセット値を非線形スケーリングすることに基づいて、前記スケーリングされたオフセット値を与えるようにさらに構成される、ここにおいて、前記装置は、好ましくは、前記第１の色成分に関連付けられた所与のビット深度に少なくとも部分的に基づいて、前記オフセット値を線形または非線形のいずれかでスケーリングするかどうかを決定するようにさらに構成される、請求項１または２に記載の装置。
【請求項７】
それぞれ第１のグループと第２のグループとに関連付けられた第１のビット深度および第２のビット深度に基づいて、色成分の前記第１のグループと前記第２のグループとのオフセット値を線形または非線形のいずれかでスケーリングするかどうかを決定するようにさらに構成される、請求項１または２に記載の装置。
【請求項８】
第３のスケールファクタに従って、前記ビデオデータの色成分の第１のグループの第１のオフセット値を線形スケーリングすることと、
第４のスケールファクタに従って、前記ビデオデータの色成分の第２のグループの第２のオフセット値を非線形スケーリングすることと、に基づいて、複数のスケーリングされた色成分を生成するようにさらに構成される、請求項７に記載の装置。
【請求項９】
デブロックフィルタを前記ビデオデータの少なくとも１つのブロックに適用することに基づいて、前記ビデオデータ中の前記少なくとも１つのブロックに関連付けられたブロックエッジを平滑化し、
前記オフセット値に適用された前記スケールファクタに少なくとも部分的に基づいて、前記少なくとも１つのブロックの隣接ピクセル値のグループをスケーリングし、
前記スケーリングされたグループのエッジ形状に少なくとも部分的に基づいて、エッジオフセットカテゴリを識別し、
前記識別されたエッジオフセットカテゴリに基づいて、前記ＳＡＯフィルタを調整する、ようにさらに構成される、請求項１または２に記載の装置。
【請求項１０】
前記オフセット値をエントロピー復号することに基づいて、復号オフセット値を与え、
前記スケールファクタを前記復号オフセット値に適用することに基づいて、前記スケーリングされたオフセット値を与える、
ようにさらに構成される、請求項１に記載の装置、または
前記オフセット値をエントロピー復号することに基づいて、符号化オフセット値を与え、
前記スケールファクタを前記符号化オフセット値に適用することに基づいて、前記スケーリングされたオフセット値を与える、
ようにさらに構成される、請求項２に記載の装置。
【請求項１１】
複数の色成分を含むビデオデータを復号する方法であって、前記方法は下記を備える、
符号化ビデオビットストリームに基づいて再構成されたビデオデータに適用されたサンプル適応オフセット（ＳＡＯ）フィルタの符号化オフセット値を、前記符号化ビデオビットストリームにおいて、受信することと、
前記ビデオデータのビット深度が１０ビットよりも大きい場合、前記再構成されたビデオデータの第１の色成分の第１のスケールファクタを示す第１の値および第２のスケールファクタを示す第２の値を、前記符号化ビデオビットストリームのピクチャパラメータセット（ＰＰＳ）において、受信することと、前記第１のスケールファクタは、前記再構成されたビデオデータの第２の色成分の前記第２のスケールファクタとは異なる、
前記符号化オフセット値をエントロピー復号することに基づいて、復号オフセット値を与えることと、
前記第１のスケールファクタを前記復号オフセット値に適用することに基づいて、スケーリングされたオフセット値を与えることと、
前記ビデオデータの前記第１の色成分に前記スケーリングされたオフセット値を加算することでスケーリングされた色成分を生成することと、
前記スケーリングされた色成分に従って、前記再構成されたビデオデータを復号すること。
【請求項１２】
複数の色成分を含むビデオデータを符号化する方法であって、前記方法は下記を備える、
符号化ビデオビットストリームに基づいて再構成されたビデオデータに適用されたサンプル適応オフセット（ＳＡＯ）フィルタの符号化オフセット値を、前記符号化ビデオビットストリームにおいて、シグナリングすることと、
前記ビデオデータのビット深度が１０ビットよりも大きい場合、前記再構成されたビデオデータの第１の色成分の第１のスケールファクタを示す第１の値および第２のスケールファクタを示す第２の値を、前記符号化ビデオビットストリームのピクチャパラメータセット（ＰＰＳ）において、シグナリングすること、ここで、前記第１のスケールファクタは、前記再構成されたビデオデータの第２の色成分の前記第２のスケールファクタとは異なる、と、
前記符号化オフセット値をエントロピー符号化することに基づいて、符号化オフセット値を与えることと、
前記第１のスケールファクタを前記符号化オフセット値に適用することに基づいて、スケーリングされたオフセット値を与えることと、
前記ビデオデータの前記第１の色成分に前記スケーリングされたオフセット値を加算することでスケーリングされた色成分を生成することと、
前記スケーリングされた色成分に従って、前記再構成されたビデオデータを符号化すること。
【請求項１３】
前記スケーリングされたオフセット値を与えることが、前記第１のスケールファクタに少なくとも部分的に基づいて、前記オフセット値を線形スケーリングすることを備える、および／または、前記スケーリングされたオフセット値を与えることが、前記第１のスケールファクタに少なくとも部分的に基づいて、前記オフセット値を非線形スケーリングすることを備える、請求項１１または１２に記載の方法。
【請求項１４】
デブロックフィルタを前記ビデオデータの少なくとも１つのブロックに適用することに基づいて、前記ビデオデータ中の前記少なくとも１つのブロックに関連付けられたブロックエッジを平滑化することと、
前記オフセット値に適用された前記第１のスケールファクタに少なくとも部分的に基づいて、前記少なくとも１つのブロックの隣接ピクセル値のグループに前記スケーリングされたオフセット値を加算することと、
前記スケーリングされたグループのエッジ形状に少なくとも部分的に基づいて、エッジオフセットカテゴリを識別することと、
前記識別されたエッジオフセットカテゴリに基づいて、前記ＳＡＯフィルタを調整することと、をさらに備える、請求項１１または１２に記載の方法。
【請求項１５】
実行されると、装置に、請求項１１乃至１４のうちのいずれか１項に記載の方法を実行させるコードを備える非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は一般にビデオコーディングに関し、より詳細には、高効率ビデオコーディング（ＨＥＶＣ）などのビデオコーディング処理におけるサンプル適応オフセット（ＳＡＯ）フィルタリングに関する。
【背景技術】
【０００２】
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ  １０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００３】
[0003]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部分）が、ツリーブロック、コーディングユニット（ＣＵ）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコーディングされた（Ｉ）スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００４】
[0004]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は２次元アレイで構成され、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
【発明の概要】
【０００５】
[0005]本開示のシステム、方法、およびデバイスは、いくつかの革新的な態様をそれぞれ有し、それらの態様は、１つとして、本明細書で開示する望ましい属性を単独で担うものではない。本開示の一態様は、ビデオコーディングのための装置および方法を提供する。装置は、ビデオデータを記憶するように構成されたメモリユニットを備える。装置は、メモリユニットに動作可能に結合されたプロセッサをさらに備える。プロセッサは、ビデオデータ中の信号振幅の再構成を改善するためにビデオデータに適用されたサンプル適応オフセット（ＳＡＯ）フィルタのオフセット値を決定するように構成され得る。プロセッサは、ビット深度を示す第１の値と、ビデオデータのスケールファクタを示す第２の値とを決定するようにさらに構成され得る。プロセッサは、スケールファクタをオフセット値に適用することに基づいて、スケーリングされたオフセット値を与え、スケーリングされたオフセット値に従って、ビデオデータの少なくとも１つの色成分をスケーリングするようにさらに構成され得る。
【０００６】
[0006]関係する態様では、プロセッサは、デブロックフィルタをビデオデータの少なくとも１つのブロックに適用することに基づいて、ビデオデータ中の少なくとも１つのブロックに関連付けられたブロックエッジを平滑化するように構成され得る。プロセッサは、オフセット値に適用されたスケールファクタに少なくとも部分的に基づいて、少なくとも１つのブロックの隣接ピクセル値のグループをスケーリングするようにさらに構成され得る。プロセッサは、スケーリングされたグループのエッジ形状に少なくとも部分的に基づいて、エッジオフセットカテゴリを識別し、識別されたエッジオフセットカテゴリに基づいて、ＳＡＯフィルタを調整するようにさらに構成され得る。さらなる関係する態様では、装置の機能を実行するための方法も提供される。
【図面の簡単な説明】
【０００７】
【図１】[0007]本開示で説明するサンプル適応オフセットフィルタリング技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0008]本開示で説明するサンプル適応オフセットフィルタリング技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図３】[0009]本開示で説明するサンプル適応オフセットフィルタリング技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図４】[0010]本開示で説明するサンプル適応オフセットフィルタリング技法を実装し得る別の例示的なビデオエンコーダを示すブロック図。
【図５】[0011]本開示で説明するサンプル適応オフセットフィルタリング技法を実装し得る別の例示的なビデオデコーダを示すブロック図。
【図６】[0012]本開示の１つまたは複数の態様による、様々なマッピング方法に従ってコード化オフセット値とスケーリングされたオフセット値との間の例示的なマッピング曲線を示す図。
【図７】[0013]エッジカテゴリの４つの例を示す図。
【図８】[0014]本開示の１つまたは複数の態様に従って、ピクセルスケーラを有するビデオエンコーダの一例を示すブロック図。
【図９】[0015]本開示の１つまたは複数の態様に従って、ピクセルスケーラを有するビデオデコーダの一例を示すブロック図。
【図１０】[0016]本開示の１つまたは複数の態様による、ＳＡＯスケーリングのための例示的な方法を示すフローチャート。
【図１１】[0017]本開示の１つまたは複数の態様による、エッジオフセットカテゴリ化のためのピクセル値スケーリングのための例示的な方法を示すフローチャート。
【発明を実施するための形態】
【０００８】
[0018]添付の図面に関して以下に記載する詳細な説明は、本発明の例示的な実施形態を説明するものであり、本発明が実施され得る唯一の実施形態を表すものではない。この説明全体にわたって使用する「例示的」という用語は、「例、事例、または例示の働きをすること」を意味し、必ずしも他の例示的な実施形態よりも好ましいまたは有利であると解釈すべきではない。詳細な説明は、本発明の例示的な実施形態の完全な理解を与える目的で具体的な詳細を含む。いくつかの事例では、いくつかのデバイスはブロック図の形態で示される。
【０００９】
[0019]説明を簡単にするために、方法を一連の行為として図示および説明するが、いくつかの行為は、１つまたは複数の態様によれば、本明細書で図示および説明した順序とは異なる順序で、および／または他の行為と同時に行われ得るので、方法は行為の順序によって限定されないことを理解し、諒解されたい。たとえば、方法は、状態図など、一連の相互に関係する状態またはイベントとして代替的に表現され得ることを、当業者は理解し、諒解するであろう。さらに、１つまたは複数の態様による方法を実装するために、示されたすべての行為が必要とされるとは限らない。
【００１０】
[0020]高効率ビデオコーディング（ＨＥＶＣ）は、ＩＴＵ−Ｔ  ＷＰ３／１６とＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１とのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって最近開発されたビデオコーディングの国際規格である。ＨＥＶＣは、サンプル適応オフセット（ＳＡＯ）として知られているループ内フィルタを使用し、それはデブロッキングフィルタの後に適用される。ＳＡＯでは、オフセット値は、ＳＡＯタイプおよびカテゴリに従って各ピクセルに加算される。タイプとオフセット値とを含むＳＡＯパラメータは、各最大コーディングユニット（ＬＣＵ）またはコーディングツリーユニット（ＣＴＵ）についてシグナリングされ得る。ＳＡＯタイプはルーマ（luma）およびクロマ（chroma）について別個にシグナリングされ、クロマＳＡＯタイプはＣｂ成分およびＣｒ成分について共有される。ＬＣＵまたはＣＴＵ内の各色成分について、４つのオフセットがシグナリングされ得る。
【００１１】
[0021]ＨＥＶＣのための１つの手法では、コード化オフセット値範囲はビット深度に依存し得る。コード化オフセット値範囲は［０，（１＜＜（Ｍｉｎ（ｂｉｔＤｅｐｔｈ，１０）−５））−１］であり、サイン値は別個にコーディングされる。たとえば、範囲は、８ビットビデオの場合は［０，７］、９ビットビデオの場合は［０，１５］、１０およびそれ以上のビット深度の場合は［０，３１］である。
【００１２】
[0022]一実装形態では、以下に示すように、復号オフセット値は、１０よりも大きいビット深度の場合は線形スケーリングされ得る。
【００１３】
ｏｆｆｓｅｔ＿ｓｃａｌｅｄ＝ｏｆｆｓｅｔ＿ｃｏｄｅｄ＜＜（ｂｉｔＤｅｐｔｈ−１０）
[0023]たとえば、ビット深度が１２であるとき、各復号オフセット値は、各ピクセルに加算される前に４で乗算される。
【００１４】
[0024]よりビット深度が低いビデオがよりビット深度が高いビデオから生成されるとき、トーンマッピングが使用され、それは線形または非線形のいずれかであり得る。各色成分は、異なるトーンマッピングを有し得る。ただし、いくつかの実装形態では、すべての色成分について、各色成分のビット深度に従って、線形スケーリングのみが適用される。これはＳＡＯ性能を制限し、特に１０ビットよりも大きいビット深度を有するビデオの場合、コーディング効率損失を引き起こす可能性がある。したがって、入力シーケンス特性に従って変更され得るオフセットスケーリング方法／技法を開発することが望ましい。これにより、ＳＡＯはそのコーディング性能を改善する効率を完全に発揮することができる。
【００１５】
[0025]問題を軽減または解決するために、本開示は、復号オフセット値がスケーリングパラメータのセットに従ってスケーリングされ得るオフセットマッピング処理について説明する。スケーリングパラメータは、線形スケーリングと非線形スケーリング（その処理は「非線形スケーリングする」と呼ばれることがある）とを含むあらかじめ定義されたマッピング方法の中から選択するスケーリング技法と、マッピングステップサイズを制御するスケーリングファクタとを含み得る。各色成分（または色成分のグループ）は、独立したスケーリング技法とスケーリングファクタとを有し得る。この技法の利点は、エントロピーコーディング／復号部分を変更する必要がないということであり、このことは、既存のＨＥＶＣ技法などの上にこの技法を実装することを容易にし得る。
【００１６】
[0026]図１は、本開示で説明するＳＡＯ技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを生成するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００１７】
[0027]宛先デバイス１４は、リンク１６を介して復号されるべき符号化ビデオデータを受信し得る。リンク１６は、ソースデバイス１２から宛先デバイス１４に符号化されたビデオデータを移動させることができる任意のタイプの媒体またはデバイスを備え得る。一例では、リンク１６は、ソースデバイス１２が、符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００１８】
[0028]代替的に、符号化データは、出力インターフェース２２からストレージデバイス３１に出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイス３１からアクセスされ得る。ストレージデバイス３１は、ハードドライブ、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス３１は、ソースデバイス１２によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介してストレージデバイス３１から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。ストレージデバイス３１からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【００１９】
[0029]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例などの、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００２０】
[0030]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ソースデバイス１２において、ビデオソース１８は、たとえばビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、またはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。
【００２１】
[0031]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオデータは、ソースデバイス１２の出力インターフェース２２を介して宛先デバイス１４に直接送信され得る。符号化ビデオデータは、さらに（または代替的に）、復号および／または再生のための宛先デバイス１４または他のデバイスによる後のアクセスのためにストレージデバイス３１上に記憶され得る。
【００２２】
[0032]宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。場合によっては、入力インターフェース２８は、受信機および／またはモデムを含み得る。宛先デバイス１４の入力インターフェース２８は、リンク１６を介して符号化ビデオデータを受信する。リンク１６を介して通信され、またはストレージデバイス３１上に提供された符号化ビデオデータは、ビデオデータを復号する際にビデオデコーダ３０などのビデオデコーダが使用するための、ビデオエンコーダ２０によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信され、記憶媒体上に記憶される符号化ビデオデータとともに含まれ得、またはファイルサーバを記憶した。
【００２３】
[0033]ディスプレイデバイス３２は、宛先デバイス１４と一体であってよく、またはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体化されたディスプレイデバイスを含むことができ、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００２４】
[0034]ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＶＥＣなどを含む他のビデオ圧縮規格に従って動作し得る。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ９」、またはＷＤ９は、Ｂｒｏｓｓら、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＨＥＶＣ）  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  ９」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）、第１１回会合：上海、中国、２０１２年１０月に記載されており、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１１＿Ｓｈａｎｇｈａｉ／ｗｇ１１／ＪＣＴＶＣ−Ｋ１００３−ｖ８．ｚｉｐから依然としてダウンロード可能であり、その内容全体は参照により本明細書に組み込まれる。しかしながら、本開示の技法は、いかなる特定のコーディング規格またはコーディング技法にも限定されない。
【００２５】
[0035]代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ  １０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、特定のコーディング規格に限定されない。ビデオ圧縮規格の他の例としては、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。
【００２６】
[0036]図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。いくつかの例では、適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００２７】
[0037]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００２８】
[0038]ＪＣＴ−ＶＣは、ＨＥＶＣ規格の開発に取り組んでいる。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供し得る。
【００２９】
[0039]概して、ＨＭの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む、最大コーディングユニット（ＬＣＵ）とも呼ばれる一連のコーディングツリーユニット（ＣＴＵ）に分割され得ることを記述する。ツリーブロックは、Ｈ．２６４規格のマクロブロックと同様の目的を有する。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分され得る。各ツリーブロックは、４分木に従って、コーディングユニット（ＣＵ）に分割され得る。たとえば、４分木のルートノードとしてのツリーブロックは、４つの子ノードに分割される場合があり、各子ノードは、今度は親ノードとなり、別の４つの子ノードに分割される場合がある。４分木のリーフノードとしての、最終的な、分割されていない子ノードは、コーディングノード、すなわち、コード化ビデオブロックを備える。コード化ビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。
【００３０】
[0040]ＣＵは、コーディングノードと、コーディングノードに関連する予測ユニット（ＰＵ：prediction unit）および変換ユニット（ＴＵ：transform unit）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が方形である。ＣＵのサイズは、８×８ピクセルから最大６４×６４以上のピクセルを有するツリーブロックのサイズまでに及び得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。ＣＵに関連するシンタックスデータは、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化もしくはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかによって異なり得る。ＰＵは、形状が非方形になるように区分され得る。ＣＵに関連するシンタックスデータは、たとえば、４分木に従って、ＣＵを１つまたは複数のＴＵに区分することも記述し得る。ＴＵは、形状が方形または非方形であり得る。
【００３１】
[0041]ＨＥＶＣ規格は、ＴＵに従う変換を可能にし、それはＣＵごとに異なり得る。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、一般にＰＵと同じサイズであるかまたはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差クワッドツリー」（ＲＱＴ：residual quad tree）として知られるクワッドツリー構造を使用して、より小さいユニットに再分割され得る。ＲＱＴのリーフノードは変換ユニット（ＴＵ）と呼ばれることがある。ＴＵに関連するピクセル差分値は、変換係数を生成するために変換され得、量子化され得る。
【００３２】
[0042]概して、ＰＵは、予測処理に関係するデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵについてのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための動きベクトルを定義するデータを含み得る。ＰＵの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００３３】
[0043]概して、ＴＵは、変換処理と量子化処理とのために使用される。１つまたは複数のＰＵを有する所与のＣＵは、１つまたは複数の変換ユニット（ＴＵ）をも含み得る。予測の後に、ビデオエンコーダ２０は、ＰＵに対応する残差値を計算し得る。残差値は、エントロピーコーディングのためのシリアル化変換係数（serialized transform coefficient）を生成するために、ＴＵを使用して変換係数に変換され、量子化され、走査され得るピクセル差分値を備える。本開示では、一般に、ＣＵのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合には、本開示ではまたツリーブロック、すなわち、ＬＣＵまたはＣＵを指すために「ビデオブロック」という用語を使用し得、それはコーディングノードならびにＰＵおよびＴＵを含む。
【００３４】
[0044]ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ（ＧＯＰ）は、概して、ビデオピクチャのうちの一連の１つまたは複数を備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、ＣＵ内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
【００３５】
[0045]一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という表示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分された２Ｎ×２Ｎ  ＣＵを指す。
【００３６】
[0046]本開示では、「Ｎ×Ｎ（NxN）」および「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、１６×１６（16x16）ピクセルまたは１６×１６（16 by 16）ピクセルを指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、ただし、Ｎは非負整数値を表す。ブロック中のピクセルは行と列で構成され得る。さらに、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはＮ×Ｍピクセルを備え得、ただし、Ｍは必ずしもＮに等しいとは限らない。
【００３７】
[0047]ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域においてピクセルデータを備え得、ＴＵは、変換、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＴＵを変換して、ＣＵの変換係数を生成し得る。
【００３８】
[0048]変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、ただし、ｎはｍよりも大きい。
【００３９】
[0049]いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応型走査を実行し得る。量子化変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング、または別のエントロピー符号化方法に従って１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００４０】
[0050]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非０であるか否かに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルのための可変長コードを選択し得る。ＶＬＣにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【００４１】
[0051]概して、いくつかの事例では、ＬＣＵまたは他のコーディングユニット中のピクセルへのオフセット値の加算は、コーディングを改善し得る。たとえば、オフセット値は、照明の変化、量子化誤差を補償するために、またはより一般的には、復号ビデオデータを元のビデオデータによりよく似たものにするために、再構成ビデオブロックのピクセルに適用され得る。ＳＡＯ技法は、ピクセル（またはブロック）のピクセル値に応じて、異なるオフセット値が異なるピクセル（またはピクセルのブロック）に適用されることを可能にする。ピクセルに適用されるオフセット値は、ピクセルの値に基づいて決定され得る。たとえば、ピクセルが第１の帯域内にある値を有する場合、第１の帯域に関連付けられたオフセットがピクセルに適用され得る。ピクセルが第２の帯域内にある値を有する場合、第２の帯域に関連付けられたオフセットがピクセルに適用され得、すべての帯域について以下同様である。
【００４２】
[0052]１つのタイプのＳＡＯ実装形態では、各区分（ＬＣＵのセットからなる）は、３つのオフセットタイプ（ピクセル分類とも呼ばれる）のうちの１つを有し得る。３つのオフセットタイプは、オフセットなし、帯域分類ベースのオフセットタイプ０／１、およびエッジ分類ベースのタイプＥＯ０／ＥＯ１／ＥＯ２／ＥＯ３である。ＥＯ０分類ＳＡＯは、現在ピクセルの右および左に配置された周囲ピクセル（本明細書では「水平方向周囲」ピクセルとも呼ばれる）を使用して、現在ピクセルのエッジインデックス値、またはその成分を決定することを含み得る。ＥＯ１分類ＳＡＯは、現在ピクセルの上および下に配置された周囲ピクセル（本明細書では「垂直方向周囲」ピクセルとも呼ばれる）を使用して、現在ピクセルのエッジインデックス値、またはその成分を決定することを含み得る。ＥＯ２分類ＳＡＯは、現在ピクセルの左上および右下に配置された周囲ピクセル（本明細書では、現在ピクセルに対してマイナス４５度に配置される、とも呼ばれる）を使用して、現在ピクセルのエッジインデックス値、またはその成分を決定することを含み得る。ＥＯ３分類ＳＡＯは、現在ピクセルの右上および左下に配置された周囲ピクセル（本明細書では、現在ピクセルに対して４５度に配置される、とも呼ばれる）を使用して、現在ピクセルのエッジインデックス値、またはその成分を決定することを含み得る。
【００４３】
[0053]以下でより詳細に説明するように、本開示の態様は一般に、復号オフセット値がスケーリングパラメータのセットに従ってスケーリングされるオフセットマッピング処理に関する。本開示の技法は、ビデオエンコーダ２０またはビデオデコーダ３０によって実行され得る。
【００４４】
[0054]図２は、本開示で説明するＳＡＯシグナリング技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
【００４５】
[0055]図２の例では、ビデオエンコーダ２０は、区分ユニット３５と、予測処理ユニット４１と、参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測処理ユニット４１は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測処理ユニット４６とを含む。ビデオブロックの再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。ブロック境界をフィルタ処理して再構成ビデオからブロッキネスアーティファクトを除去するために、デブロッキングフィルタ７２も含まれ得る。図２に示すように、ビデオエンコーダ２０はまた、ＳＡＯフィルタ７４と任意選択の適応ループフィルタ（ＡＬＦ）７６とを含む、追加のループフィルタを含む。デブロッキングフィルタ７２およびＳＡＯフィルタ７４、ならびに任意選択のＡＬＦ７６は、図２ではループ内フィルタであるものとして示されるが、いくつかの構成では、デブロッキングフィルタ７２、ＳＡＯフィルタ７４、および任意選択のＡＬＦ７６は、ループ後フィルタとして実装され得る。加えて、本開示の技法のいくつかの実装形態では、デブロッキングフィルタ７２および任意選択のＡＬＦ７６のうちの１つまたは複数が省略され得る。特に、ＡＬＦ７６はＨＥＶＣ中に存在しないので、ＨＥＶＣの実装形態では、ＡＬＦ７６が省略される。
【００４６】
[0056]図２に示すように、ビデオエンコーダ２０はビデオデータを受信し、区分ユニット３５はデータをビデオブロックに区分する。この区分はまた、たとえば、ＬＣＵおよびＣＵの４分木構造に従う、ビデオブロック区分と同様に、スライス、タイル、または他のより大きいユニットへの区分を含み得る。ビデオエンコーダ２０は、一般に、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（および、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測処理ユニット４１は、誤差結果（たとえばコーディングレートおよびひずみレベル）に基づいて現在ビデオブロックについて、複数のイントラコーディングモードのうちの１つ、または複数のインターコーディングモードのうちの１つなど、区分サイズを含み得る複数の可能なコーディングモードのうちの１つを選択し得る。予測処理ユニット４１は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器６２に与え得る。
【００４７】
[0057]予測処理ユニット４１内のイントラ予測処理ユニット４６は、空間的圧縮を行うために、コーディングすべき現在ブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して現在ビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対する現在ビデオブロックのインター予測コーディングを実行する。
【００４８】
[0058]動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスを、予測されたスライス（Ｐスライス）、双方向予測されたスライス（Ｂスライス）、または一般化されたＰ／Ｂスライス（ＧＰＢスライス）と指定し得る。動き推定ユニット４２および動き補償ユニット４４は、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実行される動き推定は、動きベクトルを生成するプロセスであり、それはビデオブロックの動きを推定する。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。
【００４９】
[0059]予測ブロックは、ピクセル差分に関してコーディングされるべきビデオブロックのＰＵに厳密に一致すと認められるブロックであり、それは絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得る。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【００５０】
[0060]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【００５１】
[0061]動き補償ユニット４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを含み得る。現在のビデオブロックのＰＵについての動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ２０は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【００５２】
[0062]イントラ予測処理ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測処理ユニット４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、予測処理ユニット４１は、テストされたモードから使用するのに適切なイントラ予測モードまたはインター予測モードを選択し得る。たとえば、イントラ予測処理ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測処理ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。
【００５３】
[0063]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、予測処理ユニット４１は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に提供し得る。エントロピー符号化ユニット５６は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信ビットストリーム中に構成データを含み得、それは複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る。
【００５４】
[0064]予測処理ユニット４１が、インター予測またはイントラ予測のいずれかを介して、現在ビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵ中に含まれ、変換処理ユニット５２に適用され得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【００５５】
[0065]変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【００５６】
[0066]量子化の後、エントロピー符号化ユニット５６は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングもしくは別のエントロピー符号化方法または技法を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後、符号化ビットストリームは、ビデオデコーダ３０に送信されるか、またはビデオデコーダ３０が後で送信するかまたは取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コーディングされている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【００５７】
[0067]逆量子化ユニット５８および逆変換処理ユニット６０は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット４４は、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数（sub-integer）ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための参照ブロックを生成する。
【００５８】
[0068]メモリ６４への記憶の前に、再構成残差ブロックは、１つまたは複数のフィルタによってフィルタ処理され得る。所望される場合、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタ７２も、再構成残差ブロックをフィルタ処理するために適用され得る。ピクセル遷移を平滑化し、または他の方法でビデオ品質を改善するために、（コーディングループ内でまたはコーディングループ後のいずれかで）他のループフィルタも使用され得る。そのようなループフィルタの一例が、ＳＡＯフィルタ７４である。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット４２と動き補償ユニット４４とによって参照ブロックとして使用され得る。
【００５９】
[0069]ＳＡＯフィルタ７４は、ビデオコーディングの品質を改善するように、ＳＡＯフィルタリングのためのオフセット値を決定することができる。ビデオコーディングの品質を改善することは、たとえば、再構成画像が元の画像とより厳密に一致するようにするオフセット値を決定することを含み得る。ビデオエンコーダ２０は、たとえば、異なるオフセット値を有する複数のパスを使用してビデオデータをコーディングし、たとえば、レートひずみの計算に基づいて決定されるような、望ましいコーディング品質をもたらすオフセット値を、符号化ビットストリーム中に含めるために選択し得る。
【００６０】
[0070]いくつかの構成では、ＳＡＯフィルタ７４は、上記で説明したエッジオフセットなどの、１つまたは複数のタイプのオフセットを適用するように構成され得る。ＳＡＯフィルタ７４はまた、時にはオフセットを適用しないことがあり、このこと自体が、第３のタイプのオフセットであると考えられ得る。ＳＡＯフィルタ７４によって適用されるオフセットのタイプは、明示的にまたは暗黙的にいずれかで、ビデオデコーダにシグナリングされ得る。エッジオフセットを適用するとき、ピクセルはエッジ情報に基づいて分類され得る。
【００６１】
[0071]いくつかの例では、以下の図４に関してより詳細に説明するように、ビデオエンコーダ２０は、復号オフセット値がスケーリングパラメータのセットに従ってスケーリングされるオフセットマッピング処理を実行し得る。
【００６２】
[0072]図２のビデオエンコーダ２０は、第１のエッジインデックスを決定し、ここにおいて、第１のエッジインデックスは、第１の周囲ピクセルのルーマ成分のためのエッジインデックスを備える、第２のエッジインデックスを決定すること、ここにおいて、第２のエッジインデックスは、第２の周囲ピクセルのルーマ成分のためのエッジインデックスを備える、と、第１のエッジインデックスおよび第２のエッジインデックスに基づいて第３のエッジインデックスを決定すること、ここにおいて、第３のエッジインデックスは、現在ピクセルのクロマ成分のためのエッジインデックスを備える、と、第３のエッジインデックスに基づいてオフセットを選択することと、オフセットを現在ピクセルのクロマ成分に適用することと、を行うように構成されたビデオエンコーダの一例を表す。
【００６３】
[0073]図３は、本開示で説明するＳＡＯ技法を実装し得る例示的なビデオデコーダ３０を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット８０と、予測処理ユニット８１と、逆量子化ユニット８６と、逆変換ユニット８８と、加算器９０と、参照ピクチャメモリ９２とを含む。予測処理ユニット８１は、インター予測復号のための動き補償ユニット８２と、イントラ予測復号のためのイントラ予測処理ユニット８４とを含む。ビデオデコーダ３０は、いくつかの例では、図２のビデオエンコーダ２０に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
【００６４】
[0074]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化係数、動きベクトルおよび他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、動きベクトルと他の予測シンタックス要素とを予測処理ユニット８１に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【００６５】
[0075]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、予測処理ユニット８１のイントラ予測処理ユニット８４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（たとえば、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされるとき、予測処理ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ９２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０およびリスト１を構成し得る。
【００６６】
[0076]動き補償ユニット８２は、動きベクトルと他のシンタックス要素とをパースすることによって現在のビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
【００６７】
[0077]動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット８２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット８２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【００６８】
[0078]逆量子化ユニット８６は、ビットストリームにおいて与えられ、エントロピー復号ユニット８０によって復号された量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにビデオエンコーダ２０によって計算される量子化パラメータの使用を含み得る。逆変換処理ユニット８８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【００６９】
[0079]予測処理ユニット８１が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ３０は、逆変換処理ユニット８８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックに加算することによって、復号されたビデオブロックを形成する。加算器９０は、この加算演算を実行する１つまたは複数の構成要素を表す。加算器９０によって形成された復号ビデオブロックは次いで、デブロッキングフィルタ９３、ＳＡＯフィルタ９４、および任意選択のＡＬＦ９５によってフィルタ処理され得る。任意選択のＡＬＦ９５は、いくつかの実装形態から除外され得る任意選択のフィルタを表す。ＡＬＦ９５はＨＥＶＣ中に存在しないので、ＨＥＶＣの実装形態では、ＡＬＦ９５が省略されることに留意されたい。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、参照ピクチャメモリ９２に記憶され、それはその後の動き補償のために使用される参照ピクチャを記憶する。参照ピクチャメモリ９２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上での後の表示のための、復号されたビデオを記憶する。
【００７０】
[0080]関係する態様では、ＳＡＯフィルタ９４は、上記で説明したＳＡＯフィルタ７４と同じフィルタリング（たとえば、エッジオフセットおよび帯域オフセット）の１つまたは複数を適用するように構成され得る。
【００７１】
[0081]図３のビデオデコーダ３０は、第１のエッジインデックスを決定すること、ここにおいて、第１のエッジインデックスは、第１の周囲ピクセルのルーマ成分のためのエッジインデックスを備える、と、第２のエッジインデックスを決定すること、ここにおいて、第２のエッジインデックスは、第２の周囲ピクセルのルーマ成分のためのエッジインデックスを備える、と、第１のエッジインデックスおよび第２のエッジインデックスに基づいて第３のエッジインデックスを決定すること、ここにおいて、第３のエッジインデックスは、現在ピクセルのクロマ成分のためのエッジインデックスを備える、と、第３のエッジインデックスに基づいてオフセットを選択することと、オフセットを現在ピクセルのクロマ成分に適用することと、を行うように構成されたビデオデコーダの一例を表す。
【００７２】
[0082]本開示の１つまたは複数の態様によれば、図４および図５は、それぞれ、ビット深度適応ＳＡＯオフセットスケーラを有するエンコーダおよびデコーダのブロック図を示す。図４および図５に示す例示的なエンコーダ４００およびデコーダ５００は、上記で説明した図２のビデオエンコーダ２０または図３のビデオデコーダ３０の代わりに、またはそれとともに実装され得る。
【００７３】
[0083]図４を参照すると、エンコーダ４００は、画像／ビデオデータを受信する予測処理ユニット４１０などの様々な構成要素を含み得る。図示のように、予測処理ユニット４１０は変換／量子化ユニット４１２に動作可能に結合され得、変換／量子化ユニット４１２はエントロピーエンコーダ４１４と逆量子化／逆変換ユニット４１６の両方に動作可能に結合される。エントロピーエンコーダ４１４は、符号化ビデオビットストリームを与え得る。逆変換ユニット４１６は予測補償器４１８に動作可能に結合され得、予測補償器４１８はデブロックフィルタ４２０に動作可能に結合され、デブロックフィルタ４２０はＳＡＯフィルタ４２８とＳＡＯパラメータ推定器４２２の両方に動作可能に結合される。ＳＡＯパラメータ推定器４２２はオフセットダウンスケーラ４２４に動作可能に結合され得、オフセットダウンスケーラ４２４はエントロピーエンコーダ４１４とオフセットアップスケーラ４２６の両方に結合される。オフセットアップスケーラ４２６はＳＡＯフィルタ４２８に動作可能に結合され得、ＳＡＯフィルタ４２８は参照ピクチャメモリ４３０に動作可能であり、参照ピクチャメモリ４３０は予測処理ユニット４１０に動作可能に結合される。
【００７４】
[0084]エンコーダ４００の構成要素の多くは、図２に関して上記で説明したエンコーダ２０の構成要素に対応することに留意されたい。ただし、図４のエンコーダ４００の例では、ＳＡＯパラメータ推定器４２２は、推定されたオフセット値を各ピクセルに適用する前に、デコーダ（たとえば、図５のデコーダ５００）との不整合を回避するために、推定されたオフセット値をスケールダウンし、次いで推定されたオフセット値をスケールアップするようにオフセットダウンスケーラ４２４およびオフセットアップスケーラ４２６と連携して働く。
【００７５】
[0085]図５を参照すると、デコーダ５００は、符号化ビデオビットストリームを受信するエントロピー復号ユニット５１０などの様々な構成要素を含み得る。エントロピー復号ユニット５１０はオフセットアップスケーラ５１２と逆量子化／逆変換ユニット５１４とに動作可能に結合され得る。オフセットアップスケーラ５１２はＳＡＯフィルタ５２０に動作可能に結合され得る。図示のように、逆変換ユニット５１４は予測補償ユニット５１６に結合され得、予測補償ユニット５１６はデブロックフィルタ５１８に動作可能に結合され、デブロックフィルタ５１８はＳＡＯフィルタ５２０に動作可能に結合される。図示のように、ＳＡＯフィルタ５２０は復号画像／ビデオデータを与え得、メモリユニット５２２に動作可能に結合され得、メモリユニット５２２は予測補償ユニット５１６に動作可能に結合される。
【００７６】
[0086]デコーダ５００の構成要素の多くは図３に関して上記で説明したデコーダ３０の構成要素に対応するが、隣接構成要素に対する配置および構成は異なる。さらに、図５のデコーダ５００の例では、ＳＡＯフィルタ５２０と通信しているオフセットアップスケーラ５１２が含まれている。図４および図５に示す例では、エンコーダ４００側において、推定されたオフセット値は、各ピクセルに適用される前に、デコーダ５００との不整合を回避するために、最初にスケールダウンされ、次いでスケールアップされることに再度留意されたい。ビット深度に基づいたオフセットスケーリングの例が以下で与えられる。
【００７７】
[0087]一例では、各色成分に対する柔軟なスケーリングファクタを用いた線形スケーリングは、エンコーダおよび／またはデコーダ（たとえば、図４のエンコーダ４００のＳＡＯパラメータ推定器４２２、オフセットダウンスケーラ４２４、およびオフセットアップスケーラ４２６、ならびに／または図５のオフセットアップスケーラ５１２）によって実行され得る。たとえば、コード化／復号オフセット値はＨＥＶＣの場合と同様に線形スケーリングされるが、以下のような指定されたスケールファクタを用いる。スケールファクタは、各色成分（または色成分のグループ、すなわち、ルーマ用の１つのグループおよびクロマ用の別のグループ）ごとに異なり得る。
【００７８】
ｏｆｆｓｅｔ＿ｓｃａｌｅｄ＝ｏｆｆｓｅｔ＿ｃｏｄｅｄ＜＜ｓｃａｌｅ＿ｆａｃｔｏｒ
[0088]別の実施形態では、ＨＥＶＣ関数
ｏｆｆｓｅｔ＿ｓｃａｌｅｄ＝ｏｆｆｓｅｔ＿ｃｏｄｅｄ＜＜（ｂｉｔＤｅｐｔｈ−Ｍｉｎ（ｂｉｔＤｅｐｔｈ，１０））
はクロマ成分に適用されるが、別個のｓｃａｌｅ＿ｆａｃｔｏｒはルーマ成分に使用され、ここで、ｓｃａｌｅ＿ｆａｃｔｏｒは明示的にシグナリングされ得るか、または所与のビット深度に対して固定であり得るかのいずれかである。
【００７９】
[0089]別の例では、各色成分に対する柔軟なスケーリングファクタを用いた非線形スケーリングは、エンコーダおよび／またはデコーダによって実行され得る。コード化／復号オフセット値は非線形にスケーリングされる。以下のＣ型のコードは、この非線形マッピングがどのように実装され得るかを示す。
【００８０】
ｏｆｆｓｅｔ＿ｓｃａｌｅｄ＝０；
ｆｏｒ（Ｉｎｔ  ｉ＝０；ｉ＜ｏｆｆｓｅｔ＿ｃｏｄｅｄ；ｉ＋＋）
｛
ｏｆｆｓｅｔ＿ｓｃａｌｅｄ＋＝１＜＜（（ｉ＞＞３）＋（ｓｃａｌｅ＿ｆａｃｔｏｒ−１））；
｝
ここで、＜＜および＞＞はそれぞれ、左ビットシフト演算子および右ビットシフト演算子である。
【００８１】
[0090]上記の例におけるループは「ｏｆｆｓｅｔ＿ｃｏｄｅｄ」のエントロピー復号手順と組み合わせられ得、このことは計算的複雑さをさらに低減し得ることに留意されたい。以下の表１は、ｓｃａｌｅ＿ｆａｃｔｏｒ＝２であるときのこの例に従ってコード化／復号オフセット値およびスケーリングされたオフセット値を示す。
【００８２】
【表１】
0006301449.tif 000002
【００８３】
[0091]上記に示すように、また、図６を参照すると、非線形マッピングは単純なシフトおよび加算演算を使用して実行され得る。トーンマッピング特性を完全に反映するために、テーブルマッピングを使用し得、そこにおいてテーブルがコード化／復号オフセット値およびスケーリングされたオフセット値の１対１マッピングを含む。他の非線形マッピングも実装され得る。
【００８４】
[0092]たとえば、図６に示すように、マッピングの各部分が異なる傾きを有する線形である、区分的線形マッピングが使用され得る。たとえば、「ｏｆｆｓｅｔ＿ｃｏｄｅｄ」が８未満（図６のトレース１００）であるときに１のｓｃａｌｅ＿ｆａｃｔｏｒを用いた線形方程式が使用され得、そうでない場合に２のｓｃａｌｅ＿ｆａｃｔｏｒ（図６のトレース１０４）が使用され得る。
【００８５】
[0093]別の例では、線形スケーリングおよび非線形スケーリングの組合せがエンコーダおよび／またはデコーダによって実行され得る。たとえば、所与のビット深度および所与の色成分のための特定のスケーリング技法およびケーリングファクタを選択することが可能である。たとえば、ビット深度が１０よりも大きいとき、上記で指定された非線形スケーリング手法は２のスケーリングファクタを用いてルーマ成分に適用され得るが、線形スケーリングは２のスケーリングファクタを用いてクロマ成分に適用され得る。
【００８６】
[0094]各色成分（または色成分のグループ）のためのスケーリング技法およびスケーリングファクタは明示的にシグナリングされ得る。たとえば、これらのパラメータはシーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダまたはＬＣＵ／ＣＴＵのレベルでシグナリングされ得る。ＨＥＶＣワーキングドラフトバージョン１との後方互換性のために、一例では、そのような手法はビット深度が１０より大きいときに適用され得る。
【００８７】
[0095]いくつかの事例では、非スケーリングが実行され得る。たとえば、上記で説明したスケールファクタ０を用いた線形スケーリング技法は非スケーリングを意味し得る。そのような場合、コード化／復号オフセット値の値は各ピクセルに適用されたオフセット値とまったく同じであり得る。一例では、オフセット値範囲は変化しない場合がある。別の例では、オフセット値範囲は、強度が大きいオフセット値（たとえば、定義されたまたはしきい値強度値を超えるオフセット値）をカバーするために増大し得る。いくつかの事例では、非スケーリングはルーマ成分のみに適用され得るが、（たとえば、ＨＥＶＣなどで指定されるような）線形スケーリングはクロマ成分に適用され得る。他の事例では、非スケーリングはルーマ成分とクロマ成分の両方に適用され得る。
【００８８】
[0096]いくつかの例では、エッジオフセットカテゴリ化のためのピクセル値スケーリングが実行され得る。そのような手法では、ＳＡＯオフセットは上記で説明した例のうちの１つに従ってスケーリングされ得、加えて、デブロックフィルタの後のピクセル値はエッジオフセットカテゴリを決定するためにＳＡＯオフセットと同様にスケーリングされ得る。
【００８９】
[0097]ＨＥＶＣでは、５つのエッジカテゴリはエッジ形状に従って定義され得る。図７はエッジカテゴリの４つ（すなわち、上部ライン上の４つのエッジ形状）を示すが、これらの４つのカテゴリのうちの１つに当てはまらない他のエッジ形状（たとえば、下部ライン上の２つのエッジ形状）は「他の」カテゴリ（カテゴリ０）に分類され得る。
【００９０】
[0098]エッジカテゴリを決定するために、隣接ピクセルはエッジ形状をチェックまたは決定するために比較され得る。一例として、決定されたエッジ形状が正確であるかどうかをチェックするために、隣接ピクセルは互いにまたは現在ピクセルと比較され得る。そのような手法では、現在ピクセルおよび隣接ピクセルはＳＡＯオフセットのスケーリングと同様にスケーリングされ得る。たとえば、ビット深度が１０より大きいとき、現在ピクセルおよび隣接ピクセルは
ｐ’＝ｐ＞＞（ｂｉｔＤｅｐｔｈ−Ｍｉｎ（ｂｉｔＤｅｐｔｈ，１０））
として線形にダウンスケーリングされ得、ここでｐはデブロックフィルタリングの後のピクセル値である。ｐ’はエッジオフセットカテゴリを決定するために使用され、オフセット値はｐに加算されることに留意されたい。非線形スケーリングが実装されるとき、（１つまたは複数の）同様の動作が実行され得る。
【００９１】
[0099]図８に示す例示的なビデオエンコーダ８００および図９に示すビデオデコーダ９００は、上記で説明したピクセルスケーリング動作を実行するために使用され得る。図８は、本開示の態様に従って、ピクセルスケーラ８２２を有するビデオエンコーダ８００の一例を示すブロック図を与える。一実装形態では、図示のように、ピクセルスケーラ８２２はデブロックフィルタ８２０とＳＡＯフィルタ８３０とに動作可能に結合され得る。図８に示すピクセルスケーラ８２２以外のエンコーダ８００の構成要素は、図４のエンコーダ４００の構成要素と同じであることに留意されたい。エンコーダ８００の（１つまたは複数の）構成要素はわずかに異なって配置され得、ピクセルスケーラ８２２はエンコーダ８００の（１つまたは複数の）他の構成要素と直接通信または間接通信し得ることにさらに留意されたい。
【００９２】
[0100]図９は、本開示の態様に従って、ピクセルスケーラ９２０を有するビデオデコーダ９００の一例を示すブロック図を与える。一実装形態では、図示のように、ピクセルスケーラ９２０はデブロックフィルタ９１８とＳＡＯフィルタ９２２とに動作可能に結合され得る。図９に示すピクセルスケーラ９２０以外のデコーダ９００の構成要素は、図５のデコーダ５００の構成要素と同じであることに留意されたい。デコーダ９００の（１つまたは複数の）構成要素はわずかに異なって配置され得、ピクセルスケーラ９１８はデコーダ９００の（１つまたは複数の）他の構成要素と直接通信または間接通信し得ることにさらに留意されたい。
【００９３】
[0101]いくつかの事例では、図８および図９に示すビデオエンコーダ８００およびビデオデコーダ９００はそれぞれ、またはそれらの変形形態は、本開示で説明する他の例示的なエンコーダ／デコーダ、またはそれらの構成要素とともに、またはその代わりに使用され得る。たとえば、図９に示すビデオエンコーダの構成要素（たとえば、ピクセルスケーラ８２２、ＳＡＯパラメータ推定器８２４、オフセットダウンスケーラ８２６、およびオフセットアップスケーラ８２８）は、本開示の技法を実行するために図２のビデオエンコーダ２０とともに実装され得る。同様に、図９に示すビデオデコーダの１つまたは複数の構成要素（たとえば、ピクセルスケーラ９２０およびオフセットアップスケーラ９１２）は、本開示の技法を実行するために図３のビデオデコーダ３０とともに使用され得る。
【００９４】
[0102]本開示で説明するように、「ビデオコーディング」はビデオ符号化および／またはビデオ復号を指し得る。さらに、「ビデオコーダ」は、適用可能な場合、ビデオエンコーダ（ビデオエンコーダ２０、４００、８００、またはそれらの変形形態など）またはビデオデコーダ（ビデオデコーダ３０、５００、９００、またはそれらの変形形態など）を指し得る。
【００９５】
[0103]図１０は、本開示の１つまたは複数の態様に従って、ＳＡＯスケーリングのための方法１０００を示すフローチャートである。図１０に示すステップは、ビデオコーダ、たとえば、ビデオエンコーダ（たとえば、図４のエンコーダ４００または図８のエンコーダ８００）、ビデオデコーダ（たとえば、図５のデコーダ５００または図９のデコーダ９００）など、またはそれらの（１つまたは複数の）構成要素によって実行され得る。
【００９６】
[0104]１つの手法では、方法１０００は、ブロック１０１０において、ビデオデータ中の信号振幅の再構成を改善するためにビデオデータに適用されたＳＡＯフィルタのオフセット値を決定することを含み得る。ブロック１０１０は、ＣＴＵなどのレベルでシグナリングされたオフセット値を受信することを含み得る。
【００９７】
[0105]方法１０００は、ブロック１０２０において、ビット深度を示す第１の値と、ビデオデータのスケールファクタを示す第２の値とを決定することをさらに含み得る。ブロック１０２０は、ビデオデータの少なくとも１つのピクチャに関連付けられたスケールファクタを示す第２の値を受信すること、第２の値はＰＰＳなどのレベルでシグナリングされる、を含み得る。代替として、または加えて、ブロック１０２０は、ビデオデータのピクチャのシーケンスに関連付けられたビット深度を示す第１の値を受信することを含み得る。
【００９８】
[0106]方法１０００は、ブロック１０３０において、スケールファクタをオフセット値に適用することに基づいて、スケーリングされたオフセット値を与えることをさらに含み得る。ブロック１０３０は、スケールファクタに少なくとも部分的に基づいて、オフセット値を非線形スケーリングすることによって、スケーリングされたオフセット値を与えることを含み得る。代替として、または加えて、ブロック１０３０は、少なくとも１つの色成分に関連付けられた所与のビット深度に少なくとも部分的に基づいて、少なくとも１つの色成分を線形または非線形のいずれかでスケーリングするかどうかを決定することを含み得る。
【００９９】
[0107]一例では、ブロック１０３０は、それぞれ第１のグループと第２のグループとに関連付けられた第１のビット深度および第２のビット深度に基づいて、線形または非線形のいずれかで色成分の第１のグループと第２のグループとをスケーリングするかどうかを決定することを含み得る。ブロック１０３０は、第１のスケーリングされたオフセット値に従ってビデオデータの成分の第１のグループを線形スケーリングし、第２のスケーリングされたオフセット値に従ってビデオデータの色成分の第２のグループを非線形スケーリングすることによって、少なくとも１つの色成分をスケーリングすることをさらに含み得る。
【０１００】
[0108]方法１０００は、ブロック１０４０において、スケーリングされたオフセット値に従って、ビデオデータの少なくとも１つの色成分をスケーリングすることをさらに含み得る。ブロック１０４０は、ビデオデータのブロックに関連付けられたルーマ値または少なくとも１つのクロマ値のうちの１つを備える少なくとも１つの色成分をスケーリングすることを含み得る。
【０１０１】
[0109]方法１０００がビデオデコーダによって実行される一実施形態では、ブロック１０１０、１０２０、および／または１０３０は図５のデコーダ５００のエントロピー復号ユニット５１０（または図９のデコーダ９００のエントロピー復号ユニット９１０）によって実行され得る。エントロピー復号ユニット５１０は、デコーダ５００の（１つまたは複数の）他の構成要素、たとえば、予測補償ユニット５１６、デブロックフィルタ５１８、および／もしくはＳＡＯフィルタ５２０、またはそれらの（１つまたは複数の）サブ構成要素などとともに動作することによって、ブロック１０１０、１０２０、および／または１０３０を実行するように構成され得る。ブロック１０４０は、オフセットアップスケーラ５１２などによって、単独でまたはデコーダ５００の（１つまたは複数の）他の構成要素、たとえば、デブロックフィルタ５１８、エントロピー復号ユニット５１０、および／もしくはＳＡＯフィルタ５２０、またはそれらの（１つまたは複数の）サブ構成要素とともに実行され得る。
【０１０２】
[0110]たとえば、エントロピー復号ユニット５１０は、ビデオデータ中の信号振幅などの再構成を改善するためにビデオデータに適用されたＳＡＯフィルタ５２０の符号化オフセット値を受信することによって、ブロック１０１０を実行するように構成され得る。エントロピー復号ユニット５１０は、ビット深度を示す第１の値と、ビデオデータのスケールファクタを示す第２の値とを決定することによって、また、符号化オフセット値をエントロピー復号することに基づいて、復号オフセット値を与えることによって、ブロック１０２０を実行するように構成され得る。エントロピー復号ユニット５１０は、スケールファクタを復号オフセット値に適用することに基づいて、スケーリングされたオフセット値などを与えることによって、ブロック１０３０を実行するように構成され得る。オフセットアップスケーラ５１２は、スケーリングされたオフセット値またはその変形形態に従って、ビデオデータの少なくとも１つの色成分をスケーリングすることによって、ブロック１０４０を実行するように構成され得る。
【０１０３】
[0111]方法１０００がビデオエンコーダによって実行される別の実施形態では、ブロック１０１０、１０２０、および／または１０３０は図４のエンコーダ４００のＳＡＯパラメータ推定器４２２（または図８のエンコーダ８００のＳＡＯパラメータ推定器８２４）によって実行され得る。ＳＡＯパラメータ推定器４２２は、エンコーダ４００の（１つまたは複数の）他の構成要素、たとえば、エントロピーコーダ４１４、デブロックフィルタ４２０、予測補償器４１８、および／もしくはＳＡＯフィルタ４２８、またはそれらの（１つまたは複数の）サブ構成要素などとともに動作することによって、ブロック１０１０、１０２０、および／または１０３０を実行するように構成され得る。ブロック１０４０は、オフセットダウンスケーラ４２４およびオフセットアップスケーラ４２６によって実行され得る。オフセットダウンスケーラ４２４および／またはオフセットアップスケーラ４２６は、エンコーダ４００の（１つまたは複数の）他の構成要素、たとえば、エントロピーコーダ４１４、デブロックフィルタ４２０、ＳＡＯパラメータ推定器４２２および／もしくはＳＡＯフィルタ４２８、またはそれらの（１つまたは複数の）サブ構成要素などとともに動作することによって、ブロック１０４０を実行するように構成され得る。
【０１０４】
[0112]たとえば、ＳＡＯパラメータ推定器４２２は、ビデオデータ中の信号振幅などの再構成を改善するためにビデオデータに適用されたＳＡＯフィルタ４２８のオフセット値を決定することによって、ブロック１０１０を実行するように構成され得る。ＳＡＯパラメータ推定器４２２は、ビット深度を示す第１の値と、ビデオデータのスケールファクタを示す第２の値とを生成することによって、また、オフセット値をエントロピー符号化することに基づいて、符号化オフセット値を与えることによって、ブロック１０２０を実行するように構成され得る。ＳＡＯパラメータ推定器４２２は、スケールファクタを符号化オフセット値に適用することに基づいて、スケーリングされたオフセット値などを与えることによって、ブロック１０３０を実行するように構成され得る。オフセットダウンスケーラ４２４およびオフセットアップスケーラ４２６は、スケーリングされたオフセット値またはその変形形態に従って、ビデオデータの少なくとも１つの色成分をスケーリングすることによって、ブロック１０４０を実行するように構成され得る。
【０１０５】
[0113]図１１は、本開示の１つまたは複数の態様に従って、方法１１００とともにまたはそれとは無関係に実行され得るエッジオフセットカテゴリ化のためのピクセル値スケーリングのための方法１１００を示すフローチャートを与える。図１１に示すステップは、ビデオコーダ、たとえば、ビデオエンコーダ（たとえば、図８のエンコーダ８００）、ビデオデコーダ（たとえば、図９のデコーダ９００）など、またはそれらの（１つまたは複数の）構成要素によって実行され得る。
【０１０６】
[0114]１つの手法では、方法１１００は、ブロック１１１０において、デブロックフィルタをビデオデータの少なくとも１つのブロックに適用することに基づいて、ビデオデータ中の少なくとも１つのブロックに関連付けられたブロックエッジを平滑化することを含み得る。方法１１００は、ブロック１１２０において、オフセット値に適用されたスケールファクタに少なくとも部分的に基づいて、少なくとも１つのブロックの隣接ピクセル値のグループをスケーリングすることをさらに含み得る。方法１１００は、ブロック１１３０において、スケーリングされたグループのエッジ形状に少なくとも部分的に基づいて、エッジオフセットカテゴリを識別することをさらに含み得る。方法１１００は、ブロック１１４０において、識別されたエッジオフセットカテゴリに基づいて、ＳＡＯフィルタを調整することをさらに含み得る。
【０１０７】
[0115]関係する態様では、ビデオデータを記憶するように構成されたメモリユニットを含む、ビデオコーディングのための装置が提供される。装置は、メモリと通信している少なくとも１つのプロセッサを含み得る、ここにおいて、少なくとも１つのプロセッサは、図１０のブロック１０１０、１０２０、１０３０、および／または１０４０を実行するように構成され得る。代替として、または加えて、少なくとも１つのプロセッサは、図１１のブロック１１１０、１１２０、１１３０、および／または１１４０を実行するように構成され得る。
【０１０８】
[0116]さらなる関係する態様では、装置の少なくとも１つのプロセッサは、ビデオデコーダ（たとえば、デコーダ５００または９００）および／またはビデオエンコーダ（たとえば、エンコーダ４００または８００）の１つまたは複数の構成要素内に含まれるスタンドアロンプロセッサおよび／または（１つまたは複数の）サブ構成要素プロセッサを含み得る。装置のメモリユニットは、ビデオデータを処理するために特に構成され得る。たとえば、メモリユニットは、ビデオコーディング処理を遅らせることなしに、ビデオデータの処理、記憶、取出しを行うのに十分なサイズおよび速度の１つまたは複数のソリッドステートドライブ（ＳＳＤ）および／または（１つまたは複数の）フラッシュメモリ構成要素を含み得る。一実装形態では、メモリユニットは、メモリユニットによってビデオデータの処理を促進するためのメモリ多重化構成要素、２次元キャッシュユニットなどを含み得る。
【０１０９】
[0117]１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、または（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つもしくは複数のコンピュータまたは１つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１１０】
[0118]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１１１】
[0119]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路もしくはディスクリート論理回路などの１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用ハードウェアおよび／もしくはソフトウェアモジュール内に与えられ得、または複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素において十分に実装され得る。
【０１１２】
[0120]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオコーディングのための装置であって、前記装置は下記を備える、
ビデオデータを記憶するように構成されたメモリユニットと、
前記メモリユニットと通信しているプロセッサであって、
前記ビデオデータ中の信号振幅の再構成を改善するために前記ビデオデータに適用されたサンプル適応オフセット（ＳＡＯ）フィルタのオフセット値を決定し、
ビット深度を示す第１の値と、前記ビデオデータのスケールファクタを示す第２の値とを決定し、
前記スケールファクタを前記オフセット値に適用することに基づいて、スケーリングされたオフセット値を与え、
前記スケーリングされたオフセット値に従って、前記ビデオデータの少なくとも１つの色成分をスケーリングする、
ように構成される前記プロセッサ。
［Ｃ２］
前記プロセッサが、コーディングツリーユニット（ＣＴＵ）のレベルでシグナリングされた前記オフセット値を受信するようにさらに構成される、Ｃ１に記載の装置。
［Ｃ３］
前記プロセッサが、前記ビデオデータの少なくとも１つのピクチャに関連付けられた前記スケールファクタを示す前記第２の値を受信するようにさらに構成され、前記第２の値がピクチャパラメータセット（ＰＰＳ）のレベルでシグナリングされる、Ｃ１に記載の装置。
［Ｃ４］
前記プロセッサが、前記ビデオデータのピクチャのシーケンスに関連付けられた前記ビット深度を示す前記第１の値を受信するようにさらに構成される、Ｃ１に記載の装置。
［Ｃ５］
前記プロセッサが、前記ビデオデータのブロックに関連付けられたルーマ値または少なくとも１つのクロマ値のうちの１つを備える前記少なくとも１つの色成分をスケーリングするようにさらに構成される、Ｃ１に記載の装置。
［Ｃ６］
前記プロセッサが、前記スケールファクタに少なくとも部分的に基づいて前記オフセット値を線形スケーリングすることに基づいて、前記スケーリングされたオフセット値を与えるようにさらに構成される、Ｃ１に記載の装置。
［Ｃ７］
前記プロセッサが、前記スケールファクタに少なくとも部分的に基づいて前記オフセット値を非線形スケーリングすることに基づいて、前記スケーリングされたオフセット値を与えるようにさらに構成される、Ｃ１に記載の装置。
［Ｃ８］
前記プロセッサが、前記少なくとも１つの色成分に関連付けられた所与のビット深度に少なくとも部分的に基づいて、前記少なくとも１つの色成分を線形または非線形のいずれかでスケーリングするかどうかを決定するようにさらに構成される、Ｃ１に記載の装置。
［Ｃ９］
前記プロセッサが、それぞれ第１のグループと第２のグループとに関連付けられた第１のビット深度および第２のビット深度に基づいて、色成分の前記第１のグループと前記第２のグループとを線形または非線形のいずれかでスケーリングするかどうかを決定するようにさらに構成される、Ｃ１に記載の装置。
［Ｃ１０］
前記プロセッサが、
第１のスケーリングされたオフセット値に従って、前記ビデオデータの色成分の第１のグループを線形スケーリングすることと、
第２のスケーリングされたオフセット値に従って、前記ビデオデータの色成分の第２のグループを非線形スケーリングすることと、
に基づいて、前記少なくとも１つの色成分をスケーリングするようにさらに構成される、Ｃ９に記載の装置。
［Ｃ１１］
前記プロセッサが、
デブロックフィルタを前記ビデオデータの少なくとも１つのブロックに適用することに基づいて、前記ビデオデータ中の前記少なくとも１つのブロックに関連付けられたブロックエッジを平滑化し、
前記オフセット値に適用された前記スケールファクタに少なくとも部分的に基づいて、前記少なくとも１つのブロックの隣接ピクセル値のグループをスケーリングし、
前記スケーリングされたグループのエッジ形状に少なくとも部分的に基づいて、エッジオフセットカテゴリを識別し、
前記識別されたエッジオフセットカテゴリに基づいて、前記ＳＡＯフィルタを調整する、
ようにさらに構成される、Ｃ１に記載の装置。
［Ｃ１２］
前記装置がデコーダを備え、
前記プロセッサが、
前記オフセット値をエントロピー復号することに基づいて、復号オフセット値を与え、
前記スケールファクタを前記復号オフセット値に適用することに基づいて、前記スケーリングされたオフセット値を与える、
ようにさらに構成される、Ｃ１に記載の装置。
［Ｃ１３］
前記装置がエンコーダを備え、
前記プロセッサが、
前記オフセット値をエントロピー符号化することに基づいて、符号化オフセット値を与え、
前記スケールファクタを前記符号化オフセット値に適用することに基づいて、前記スケーリングされたオフセット値を与える、
ようにさらに構成される、Ｃ１に記載の装置。
［Ｃ１４］
ビデオデータを復号する方法であって、前記方法は下記を備える、
前記ビデオデータ中の信号振幅の再構成を改善するために前記ビデオデータに適用されたサンプル適応オフセット（ＳＡＯ）フィルタの符号化オフセット値を受信することと、
ビット深度を示す第１の値と、前記ビデオデータのスケールファクタを示す第２の値とを決定することと、
前記符号化オフセット値をエントロピー復号することに基づいて、復号オフセット値を与えることと、
前記スケールファクタを前記復号オフセット値に適用することに基づいて、スケーリングされたオフセット値を与えることと、
前記スケーリングされたオフセット値に従って、前記ビデオデータの少なくとも１つの色成分をスケーリングすること。
［Ｃ１５］
コーディングツリーユニット（ＣＴＵ）のレベルでシグナリングされた前記オフセット値を受信することをさらに備える、Ｃ１４に記載の方法。
［Ｃ１６］
前記ビデオデータの少なくとも１つのピクチャに関連付けられた前記スケールファクタを示す前記第２の値を受信することをさらに備える、前記第２の値がピクチャパラメータセット（ＰＰＳ）のレベルでシグナリングされる、Ｃ１４に記載の方法。
［Ｃ１７］
前記スケーリングされたオフセット値を与えることが、前記スケールファクタに少なくとも部分的に基づいて、前記オフセット値を線形スケーリングすることを備える、Ｃ１４に記載の方法。
［Ｃ１８］
前記スケーリングされたオフセット値を与えることが、前記スケールファクタに少なくとも部分的に基づいて、前記オフセット値を非線形スケーリングすることを備える、Ｃ１４に記載の方法。
［Ｃ１９］
デブロックフィルタを前記ビデオデータの少なくとも１つのブロックに適用することに基づいて、前記ビデオデータ中の前記少なくとも１つのブロックに関連付けられたブロックエッジを平滑化することと、
前記オフセット値に適用された前記スケールファクタに少なくとも部分的に基づいて、前記少なくとも１つのブロックの隣接ピクセル値のグループをスケーリングすることと、
前記スケーリングされたグループのエッジ形状に少なくとも部分的に基づいて、エッジオフセットカテゴリを識別することと、
前記識別されたエッジオフセットカテゴリに基づいて、前記ＳＡＯフィルタを調整することと、
をさらに備える、Ｃ１４に記載の方法。
［Ｃ２０］
ビデオデータを符号化する方法であって、前記方法は下記を備える、
前記ビデオデータ中の信号振幅の再構成を改善するために前記ビデオデータに適用されたサンプル適応オフセット（ＳＡＯ）フィルタのオフセット値を決定することと、
ビット深度を示す第１の値と、前記ビデオデータのスケールファクタを示す第２の値とを生成することと、
前記オフセット値をエントロピー符号化することに基づいて、符号化オフセット値を与えることと、
前記スケールファクタを前記符号化オフセット値に適用することに基づいて、スケーリングされたオフセット値を与えることと、
前記スケーリングされたオフセット値に従って、前記ビデオデータの少なくとも１つの色成分をスケーリングすること。
［Ｃ２１］
コーディングツリーユニット（ＣＴＵ）のレベルでシグナリングされた前記オフセット値を受信することをさらに備える、Ｃ２０に記載の方法。
［Ｃ２２］
前記ビデオデータの少なくとも１つのピクチャに関連付けられた前記スケールファクタを示す前記第２の値を受信することをさらに備える、前記第２の値がピクチャパラメータセット（ＰＰＳ）のレベルでシグナリングされる、Ｃ２０に記載の方法。
［Ｃ２３］
デブロックフィルタを前記ビデオデータの少なくとも１つのブロックに適用することに基づいて、前記ビデオデータ中の前記少なくとも１つのブロックに関連付けられたブロックエッジを平滑化することと、
前記オフセット値に適用された前記スケールファクタに少なくとも部分的に基づいて、前記少なくとも１つのブロックの隣接ピクセル値のグループをスケーリングすることと、
前記スケーリングされたグループのエッジ形状に少なくとも部分的に基づいて、エッジオフセットカテゴリを識別することと、
前記識別されたエッジオフセットカテゴリに基づいて、前記ＳＡＯフィルタを調整することと、
をさらに備える、Ｃ２０に記載の方法。
［Ｃ２４］
ビデオコーディングのための装置であって、前記装置は下記を備える、
ビデオデータ中の信号振幅の再構成を改善するために前記ビデオデータに適用されたサンプル適応オフセット（ＳＡＯ）フィルタのオフセット値を決定するための手段と、
ビット深度を示す第１の値と、前記ビデオデータのスケールファクタを示す第２の値とを決定するための手段と、
前記スケールファクタを前記オフセット値に適用することに基づいて、スケーリングされたオフセット値を与えるための手段と、
前記スケーリングされたオフセット値に従って、前記ビデオデータの少なくとも１つの色成分をスケーリングするための手段。
［Ｃ２５］
コーディングツリーユニット（ＣＴＵ）のレベルでシグナリングされた前記オフセット値を受信するための手段をさらに備える、Ｃ２４に記載の装置。
［Ｃ２６］
前記ビデオデータの少なくとも１つのピクチャに関連付けられた前記スケールファクタを示す前記第２の値を受信するための手段をさらに備え、前記第２の値がピクチャパラメータセット（ＰＰＳ）のレベルでシグナリングされる、Ｃ２４に記載の装置。
［Ｃ２７］
デブロックフィルタを前記ビデオデータの少なくとも１つのブロックに適用することに基づいて、前記ビデオデータ中の前記少なくとも１つのブロックに関連付けられたブロックエッジを平滑化するための手段と、
前記オフセット値に適用された前記スケールファクタに少なくとも部分的に基づいて、前記少なくとも１つのブロックの隣接ピクセル値のグループをスケーリングするための手段と、
前記スケーリングされたグループのエッジ形状に少なくとも部分的に基づいて、エッジオフセットカテゴリを識別するための手段と、
前記識別されたエッジオフセットカテゴリに基づいて、前記ＳＡＯフィルタを調整するための手段と、
をさらに備える、Ｃ２４に記載の装置。
［Ｃ２８］
実行されると、装置に、
ビデオデータ中の信号振幅の再構成を改善するために前記ビデオデータに適用されたサンプル適応オフセット（ＳＡＯ）フィルタのオフセット値を決定することと、
ビット深度を示す第１の値と、前記ビデオデータのスケールファクタを示す第２の値とを決定することと、
前記スケールファクタを前記オフセット値に適用することに基づいて、スケーリングされたオフセット値を与えることと、
前記スケーリングされたオフセット値に従って、前記ビデオデータの少なくとも１つの色成分をスケーリングすることと、
を備える処理を実行させるコードを備える非一時的コンピュータ可読媒体。
【図１】
0006301449.tif 000003
【図２】
0006301449.tif 000004
【図３】
0006301449.tif 000005
【図４】
0006301449.tif 000006
【図５】
0006301449.tif 000007
【図６】
0006301449.tif 000008
【図７】
0006301449.tif 000009
【図８】
0006301449.tif 000010
【図９】
0006301449.tif 000011
【図１０】
0006301449.tif 000012
【図１１】
0006301449.tif 000013