(57)【要約】  サンプル適応オフセット（ＳＡＯ）はビデオをコード化する際にアーティファクトを減らすために使用することができる。サンプルの統計に基づいてＳＡＯ内のカテゴリを設計することはＳＡＯの効率を改善し得る。一実施形態では、ＢＯ又はＥＯのカテゴリを例えばＨＥＶＣ内で規定されているように最初に決定することができる。非ゼロオフセットを有すると判定されるカテゴリについて、最大数のサンプルを有するカテゴリを２つのサブカテゴリに分割することができ、サブカテゴリのそれぞれについてオフセットが符号化される。加えて、最小数のサンプルを有するカテゴリはゼロオフセットを使用し得る。別の実施形態では、それぞれの新たなカテゴリがほぼ同数のサンプルを有するように、初期カテゴリを均質化して新たなカテゴリを形成することができる。ＢＯ又はＥＯそれぞれのカテゴリを調節するために、サンプル数又は勾配ベースの値の数に基づくヒストグラムを使用することができる。
2019528648.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを処理するための方法（１０００、１２００）であって、
ピクチャの領域内のサンプルのサブセットにアクセスすることであって、前記ピクチャの前記領域はサンプルの２つ以上のカテゴリを含み、第１のカテゴリが前記サンプルのサブセットに対応する、アクセスすること、
第１のサブカテゴリ内のサンプル数が条件を満たすように、前記サンプルのサブセット内のサンプル値の統計を使用して前記サンプルのサブセットを少なくとも前記第１のサブカテゴリと第２のサブカテゴリとに分割すること（１０５０、１２４０）、及び
前記第１のサブカテゴリ内のサンプルの値を第１のオフセットに基づいて調節し（１０６０）、前記第２のサブカテゴリ内のサンプルの値を第２のオフセットに基づいて調節すること
を含む、方法（１０００、１２００）。
【請求項２】
前記第１のサブカテゴリ及び前記第２のサブカテゴリが、１組のサンプル値の中で最大のサンプル値である第１のサンプル値において分割され、前記１組のサンプル値のそれぞれＮ１は第１の条件を満たし、前記条件とはつまり、その値がＮ１未満のサンプル数が前記サブセット内のサンプル数の第１のパーセンテージ未満であり、前記第１のサンプル値を下回る前記サブセット内のサンプルが前記第１のサブカテゴリ内にあることである、請求項１に記載の方法。
【請求項３】
前記第１のサブカテゴリ及び前記第２のサブカテゴリが、１組のサンプル値の中で最小のサンプル値である第２のサンプル値において分割され、前記１組のサンプル値のそれぞれＮ２は第２の条件を満たし、前記条件とはつまり、その値がＮ２未満のサンプル数が前記サブセット内のサンプル数の第２のパーセンテージを超え、前記第２のサンプル値を下回る前記サブセット内のサンプルが前記第１のサブカテゴリ内にある、請求項１に記載の方法。
【請求項４】
前記第１のサブカテゴリが前記第２のサブカテゴリとほぼ同数のサンプルを有する、請求項１に記載の方法。
【請求項５】
前記第１のカテゴリは前記２つ以上のカテゴリの中で最大数のサンプルを有し、第２のカテゴリは前記２つ以上のカテゴリの中で最小数のサンプルを有し、
前記第１のカテゴリを除外した後に前記２つ以上のカテゴリ内に残るカテゴリ内のサンプルの値を調節すること（１０６０）
を更に含む、請求項１に記載の方法。
【請求項６】
前記残りのカテゴリが前記第２のカテゴリを更に除外する、請求項５に記載の方法。
【請求項７】
前記第１のカテゴリがサンプル値の第１のバンドを有するサンプルを含み、前記第２のカテゴリがサンプル値の第２のバンドを有するサンプルを含み、前記第１のバンド及び前記第２のバンドがサンプル値の同じ範囲を有する、請求項２乃至６の何れか一項に記載の方法。
【請求項８】
前記第１のサブカテゴリ内のサンプル数及び前記第２のサブカテゴリ内のサンプル数の少なくとも１つを比較すること、及び
前記第２のカテゴリ内のサンプル数に基づいて前記分割を行うかどうかを決定すること
を更に含む、請求項２乃至７の何れか一項に記載の方法。
【請求項９】
第１のサブカテゴリ内のサンプル数及び前記第２のサブカテゴリ内のサンプル数の両方が前記第２のカテゴリ内のサンプル数よりも多い場合、前記分割を明確なシグナリングなしに行う、請求項８に記載の方法。
【請求項１０】
前記第１のサブカテゴリがサンプル値の第１の範囲に関連し、前記第２のサブカテゴリがサンプル値の第２の範囲に関連する、請求項１乃至９の何れか一項に記載の方法。
【請求項１１】
前記第１のサブカテゴリが勾配ベースの値の第１の範囲に関連し、前記第２のサブカテゴリが勾配ベースの値の第２の範囲に関連する、請求項１に記載の方法。
【請求項１２】
前記第１のオフセット及び前記第２のオフセットをビットストリーム内に符号化すること（１２６０）、及び
前記第１のオフセット及び前記第２のオフセットを前記ビットストリームから復号すること（１０１０、１２６０）
の１つを更に含む、請求項１乃至１１の何れか一項に記載の方法。
【請求項１３】
前記分割することがサンプル値のヒストグラムに基づく、請求項１乃至１０の何れか一項に記載の方法。
【請求項１４】
少なくとも１つのメモリ及び１個又は複数個のプロセッサを含む、ビデオデータを処理するための機器（１４００）であって、前記１個又は複数個のプロセッサが、
ピクチャの領域内のサンプルのサブセットにアクセスすることであって、前記ピクチャの前記領域はサンプルの２つ以上のカテゴリを含み、第１のカテゴリが前記サンプルのサブセットに対応する、アクセスすること、
第１のサブカテゴリ内のサンプル数が条件を満たすように、前記サンプルのサブセット内のサンプル値の統計を使用して前記サンプルのサブセットを少なくとも前記第１のサブカテゴリと第２のサブカテゴリとに分割すること、及び
前記第１のサブカテゴリ内のサンプルの値を第１のオフセットに基づいて調節し、前記第２のサブカテゴリ内のサンプルの値を第２のオフセットに基づいて調節すること
を行うように構成される、機器（１４００）。
【請求項１５】
前記第１のサブカテゴリ及び前記第２のサブカテゴリが、１組のサンプル値の中で最大のサンプル値である第１のサンプル値において分割され、前記１組のサンプル値のそれぞれＮ１は第１の条件を満たし、前記条件とはつまり、その値がＮ１未満のサンプル数が前記サブセット内のサンプル数の第１のパーセンテージ未満であり、前記第１のサンプル値を下回る前記サブセット内のサンプルが前記第１のサブカテゴリ内にあることである、請求項１４に記載の機器。
【請求項１６】
前記第１のサブカテゴリ及び前記第２のサブカテゴリが、１組のサンプル値の中で最小のサンプル値である第２のサンプル値において分割され、前記１組のサンプル値のそれぞれＮ２は第２の条件を満たし、前記条件とはつまり、その値がＮ２未満のサンプル数が前記サブセット内のサンプル数の第２のパーセンテージを超え、前記第２のサンプル値を下回る前記サブセット内のサンプルが前記第１のサブカテゴリ内にある、請求項１４に記載の機器。
【請求項１７】
前記第１のサブカテゴリが前記第２のサブカテゴリとほぼ同数のサンプルを有する、請求項１４に記載の機器。
【請求項１８】
前記第１のカテゴリは前記２つ以上のカテゴリの中で最大数のサンプルを有し、第２のカテゴリは前記２つ以上のカテゴリの中で最小数のサンプルを有し、
前記第１のカテゴリを除外した後に前記２つ以上のカテゴリ内に残るカテゴリ内のサンプルの値を調節すること（１０６０）
を更に含む、請求項１４に記載の機器。
【請求項１９】
前記残りのカテゴリが前記第２のカテゴリを更に除外する、請求項１８に記載の機器。
【請求項２０】
前記第１のカテゴリがサンプル値の第１のバンドを有するサンプルを含み、前記第２のカテゴリがサンプル値の第２のバンドを有するサンプルを含み、前記第１のバンド及び前記第２のバンドがサンプル値の同じ範囲を有する、請求項１５乃至１８の何れか一項に記載の機器。
【請求項２１】
前記１個又は複数個のプロセッサが
前記第１のサブカテゴリ内のサンプル数及び前記第２のサブカテゴリ内のサンプル数の少なくとも１つを比較すること、及び
前記第２のカテゴリ内のサンプル数に基づいて前記分割を行うかどうかを決定すること
を行うように更に構成される、請求項１５乃至２０の何れか一項に記載の機器。
【請求項２２】
第１のサブカテゴリ内のサンプル数及び前記第２のサブカテゴリ内のサンプル数の両方が前記第２のカテゴリ内のサンプル数よりも多い場合、前記分割を明確なシグナリングなしに行う、請求項２１に記載の機器。
【請求項２３】
前記第１のサブカテゴリがサンプル値の第１の範囲に関連し、前記第２のサブカテゴリがサンプル値の第２の範囲に関連する、請求項１４乃至２２の何れか一項に記載の機器。
【請求項２４】
前記第１のサブカテゴリが勾配ベースの値の第１の範囲に関連し、前記第２のサブカテゴリが勾配ベースの値の第２の範囲に関連する、請求項１４に記載の機器。
【請求項２５】
前記１個又は複数個のプロセッサが
前記第１のオフセット及び前記第２のオフセットをビットストリーム内に符号化すること、及び
前記第１のオフセット及び前記第２のオフセットを前記ビットストリームから復号すること
の１つを行うように更に構成される、請求項１４乃至２４の何れか一項に記載の機器。
【請求項２６】
前記分割することがサンプル値のヒストグラムに基づく、請求項１４乃至２３の何れか一項に記載の機器。
【請求項２７】
ピクチャの領域内のサンプルのサブセットの符号化であって、前記ピクチャの前記領域はサンプルの２つ以上のカテゴリを含み、第１のカテゴリが前記サンプルのサブセットに対応し、
前記サンプルのサブセットが少なくとも第１のサブカテゴリ及び第２のサブカテゴリを含み、
前記第１のサブカテゴリ内のサンプル数が条件を満たす、符号化と、
前記第１のサブカテゴリ内のサンプルの値を調節するために使用される第１のオフセットと、
前記第２のサブカテゴリ内のサンプルの値を調節するために使用される第２のオフセットと
を含むようにフォーマットされるビデオ信号。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
[1]  本実施形態は、一般にビデオの符号化及び復号のための方法及び機器に関し、より具体的にはサンプル適応オフセット（ＳＡＯ）を用いたビデオの符号化及び復号のための方法及び機器に関する。
【背景技術】
【０００２】
背景
[2]  高い圧縮効率を実現するために、画像及びビデオのコード化方式は通常、予測及び変換を使用してビデオコンテンツ内の空間的及び時間的な冗長性を活用する。概して、フレーム内の又はフレーム間の相関を利用するためにイントラ予測又はインタ予測が使用され、その後、予測誤差又は予測残差として示されることが多い元の画像と予測画像との差が変換され、量子化され、エントロピ符号化される。ビデオを再構築するために、その予測、変換、量子化、及びエントロピ符号化に対応する逆のプロセスによって圧縮データが復号される。
【０００３】
[3]  ビデオを符号化又は復号する際、コード化ブロックを再構築した後にインループフィルタリングを適用することができる。必要であれば出力するために及び予測を行うために、フィルタにかけた再構築済みピクチャを復号済みピクチャバッファ内に記憶することができる。
【０００４】
[4]  様々なインループフィルタを使用することができる。例えば高効率ビデオコーディング（ＨＥＶＣ）では、連続する２つのインループフィルタが規定される。まず、濃淡のむらがある可視アーティファクトの量を減らすためにデブロッキングフィルタをブロックエッジに適用する。加えてＳＡＯフィルタリングを適用する。ＳＡＯは、再構築サンプルを様々なカテゴリに分類し、カテゴリごとにオフセットを取得し、カテゴリの各サンプルにオフセットを加える。ＳＡＯフィルタリングはコード化アーティファクトを更に減らすことができる。
【発明の概要】
【０００５】
概要
[5]  本原理の全般的な態様によれば、ビデオの符号化又は復号の際にビデオデータを処理するための方法を提示し、この方法は、ピクチャの領域内のサンプルのサブセットにアクセスすること、第１のサブカテゴリ内のサンプル数が所定の条件を満たすように、サンプルのサブセット内のサンプル値の統計を使用してサンプルのサブセットを少なくとも第１のサブカテゴリと第２のサブカテゴリとに分割すること、及び第１のサブカテゴリ内のサンプルの値を第１のオフセットに基づいて調節し、第２のサブカテゴリ内のサンプルの値を第２のオフセットに基づいて調節することを含む。
【０００６】
[6]  第１のサブカテゴリ及び第２のサブカテゴリは、１組のサンプル値の中で最大のサンプル値である第１のサンプル値において分割することができ、１組のサンプル値のそれぞれＮ１は第１の条件を満たし、その条件とはつまり、その値がＮ１未満のサンプル数がサブセット内のサンプル数の第１のパーセンテージ未満であり、第１のサンプル値を下回るサブセット内のサンプルが第１のサブカテゴリ内にあることである。
【０００７】
[7]  第１のサブカテゴリ及び第２のサブカテゴリは、１組のサンプル値の中で最小のサンプル値である第２のサンプル値において分割することもでき、１組のサンプル値のそれぞれＮ２は第２の条件を満たし、その条件とはつまり、その値がＮ２未満のサンプル数がサブセット内のサンプル数の第２のパーセンテージを超え、第２のサンプル値を下回るサブセット内のサンプルが第１のサブカテゴリ内にあることである。
【０００８】
[8]  分割した後、第１のサブカテゴリが第２のサブカテゴリとほぼ同数のサンプルを有し得る。
【０００９】
[9]  本原理の別の全般的な態様によれば、ピクチャの領域内のサンプルのサブセットの符号化であって、サンプルのサブセットは少なくとも第１のサブカテゴリ及び第２のサブカテゴリを含み、第１のサブカテゴリ内のサンプル数が所定の条件を満たす、符号化と、第２のサブカテゴリ内のサンプルの値を調節するために使用される第２のオフセットとを含むようにビデオ信号がフォーマットされる。
【００１０】
[10]  ピクチャの領域はコード化ツリーブロック、スライス、又は別のコード化単位であり得る。分割することはサンプル値のヒストグラムに基づき得る。この方法は、符号化又は復号のためのインループフィルタリングに使用することができる。符号化に使用する場合、第１のオフセット及び第２のオフセットをビットストリーム内に更に符号化することができ、復号に使用する場合、第１のオフセット及び第２のオフセットをビットストリームから復号することができる。
【００１１】
[11]  一実施形態によれば、ピクチャの領域は２つ以上のサンプルのカテゴリを含み、第１のカテゴリは２つ以上のカテゴリの中で最大数のサンプルを有し、第２のカテゴリは２つ以上のカテゴリの中で最小数のサンプルを有し、第１のカテゴリはサンプルのサブセットに対応し、この方法は、第１のカテゴリを除外した後に２つ以上のカテゴリ内に残るカテゴリ内のサンプルの値を調節することを更に含む。残りのカテゴリは第２のカテゴリを更に除外することができる。
【００１２】
[12]  第１のカテゴリはサンプル値の第１のバンドとすることができ、第２のカテゴリはサンプル値の第２のバンドとすることができ、第１のバンド及び第２のバンドはサンプル値の同じ範囲を有し得る。
【００１３】
[13]  分割を行うかどうかを判定するために、第１のサブカテゴリ内のサンプル数及び第２のサブカテゴリ内のサンプル数の少なくとも１つを第２のカテゴリ内のサンプル数と比較することができる。第１のサブカテゴリ内のサンプル数及び第２のサブカテゴリ内のサンプル数の両方が第２のカテゴリ内のサンプル数よりも多い場合、分割を明確なシグナリングなしに行うことができる。さもなければ、明確なシグナリングなしに分割を無効にすることができる。分割は、明確なシグナリングに基づいて実行し又は無効にすることもできる。
【００１４】
[14]  一実施形態によれば、第１のサブカテゴリがサンプル値の第１の範囲に関連し、第２のサブカテゴリがサンプル値の第２の範囲に関連する。
【００１５】
[15]  別の実施形態によれば、第１のサブカテゴリが勾配ベースの値の第１の範囲に関連し、第２のサブカテゴリが勾配ベースの値の第２の範囲に関連する。勾配ベースの値は、勾配の絶対値の平均、勾配の絶対値の差、勾配の絶対値の最小値、又は勾配の絶対値の最大値として計算することができる。
【００１６】
[16]  一実施形態によれば、サンプルの第１のサブカテゴリ及び第２のサブカテゴリが符号の明確なシグナリングなしに正のオフセットによって調節される。別の実施形態によれば、サンプルの第１のサブカテゴリ及び第２のサブカテゴリが符号の明確なシグナリングなしに負のオフセットによって調節される。
【００１７】
[17]  本実施形態は、上記の方法に従ってビデオデータを符号化し又は復号するための機器も提供する。
【００１８】
[18]  本実施形態は、上記の方法に従ってビデオデータを符号化し又は復号するための命令を記憶しているコンピュータ可読記憶媒体も提供する。
【００１９】
[19]  本実施形態は、上記の方法に従って生成されるビットストリームを記憶しているコンピュータ可読記憶媒体も提供する。
【００２０】
[20]  本実施形態は、上記の方法に従って生成されるビデオ信号を伝送するための機器も提供する。
【図面の簡単な説明】
【００２１】
図面の簡単な説明
【図１】[21]例示的なＨＥＶＣビデオ符号器のブロック図を示す。
【図２】[22]例示的なＨＥＶＣビデオ復号器のブロック図を示す。
【図３】[23]ＥＯ（エッジオフセット）サンプル分類のための４つの１Ｄ方向性パターンを示す図の一例である。
【図４】[24]カテゴリ１及びカテゴリ２に正のオフセットを使用し、カテゴリ３及びカテゴリ４に負のオフセットを使用することを示す図の一例である。
【図５Ａ】[25]関連する開始バンド位置及び４個の連続したバンドのオフセットを有するＢＯ（バンドオフセット）を示す図の一例である。
【図５Ｂ】[25]非連続バンドを有するＢＯを示す図の一例である。
【図６】[26]ＳＡＯを使用してビットストリームを復号するための例示的方法を示す。
【図７Ａ】[27]コード化ツリーブロック（ＣＴＢ）を含むピクチャの一部を示す図の一例である。
【図７Ｂ】[27]ＳＡＯパラメータを得るための例示的方法を示す。
【図８】[28]現在のＣＴＢのルマ成分についてＳＡＯパラメータを復号するための例示的方法を示す。
【図９】[29]例示的なＣＴＢ及び関連する３２個のバンドのヒストグラムを示す。
【図１０Ａ】[30]本原理の一実施形態による、復号器においてＢＯカテゴリを調節するための例示的方法を示す。
【図１０Ｂ】[30]本原理の一実施形態による、カテゴリを再定義する一例を示す。
【図１０Ｃ】[30]本原理の一実施形態による、バンドを２つのサブバンドに分割する一例を示す。
【図１１】[31]本原理の一実施形態による、カテゴリを均質化する一例を示す。
【図１２Ａ】[32]本原理の一実施形態による、ＥＯカテゴリを調節するための例示的方法を示す。
【図１２Ｂ】[32]本原理の一実施形態による、カテゴリを調節する一例を示す。
【図１３】[33]例示的な修正済みのＥＯの分類を示す。
【図１４】[34]本原理の例示的実施形態の様々な側面を実装することができる例示的システムのブロック図を示す。
【発明を実施するための形態】
【００２２】
詳細な説明
[35]  図１は例示的なＨＥＶＣ符号器１００を示す。１つ又は複数のピクチャを有するビデオシーケンスを符号化するためにピクチャが１つ又は複数のスライスに分割され、各スライスは１つ又は複数のスライスセグメントを含み得る。スライスセグメントは、コード化単位、予測単位、及び変換単位で構成される。
【００２３】
[36]  本願では「再構築する」という用語と「復号する」という用語とを区別なく使用する場合がある。必ずではないが通常、「再構築する」という用語は符号器側で使用するのに対し、「復号する」は復号器側で使用する。
【００２４】
[37]  ＨＥＶＣ仕様は「ブロック」と「単位」とを区別し、「ブロック」はサンプルアレイ内の特定の領域（例えばルマ、Ｙ）を扱い、「単位」は全ての符号化済み色成分（Ｙ、Ｃｂ、Ｃｒ、又はモノクロ）、構文要素、及びブロックに関連する予測データ（例えば動きベクトル）のコロケーテッドブロックを含む。
【００２５】
[38]  コード化するために、構成可能なサイズを有する正方形のコード化ツリーブロック（ＣＴＢ）へとピクチャが分割され、１組の連続したコード化ツリーブロックがスライスへとグループ化される。コード化ツリー単位（ＣＴＵ）は符号化済みの色成分のＣＴＢを含む。ＣＴＢはコード化ブロック（ＣＢ）への４分木分割の根であり、コード化ブロックは１つ又は複数の予測ブロック（ＰＢ）へと分割され、変換ブロック（ＴＢ）への４分木分割の根を形成する。コード化ブロック、予測ブロック、及び変換ブロックに対応して、コード化単位（ＣＵ）は予測単位（ＰＵ）及び１組の木構造の変換単位（ＴＵ）を含み、ＰＵは全ての色成分に関する予測情報を含み、ＴＵは色成分ごとの残差コード化構文構造を含む。ルマ成分のＣＢ、ＰＢ、及びＴＢのサイズは対応するＣＵ、ＰＵ、及びＴＵに当てはまる。本願では、「ブロック」という用語はＣＴＵ、ＣＵ、ＰＵ、ＴＵ、ＣＢ、ＰＢ、及びＴＢの何れかを指すために使用され得る。加えて「ブロック」は、Ｈ．２６４／ＡＶＣ又は他のビデオコード化規格内で規定されるマクロブロック、パーティション、及びサブブロックを指すために、より広くは様々なサイズのデータのアレイを指すために使用することもできる。
【００２６】
[39]  例示的な符号器１００では、以下で説明するようにピクチャが符号器の要素によって符号化される。符号化されるピクチャはＣＵの単位で処理される。各ＣＵはイントラモード又はインタモードを使用して符号化される。ＣＵがイントラモードを使用して符号化される場合、符号器はイントラ予測（１６０）を行う。インタモードでは、動き推定（１７５）及び動き補償（１７０）が行われる。符号器は、ＣＵを符号化するためにイントラモード又はインタモードのどちらを使用するのかを決定し（１０５）、イントラ／インタの決定を予測モードフラグによって示す。元の画像ブロックから予測済みブロックを減算すること（１１０）によって予測残差を計算する。
【００２７】
[40]  イントラモードでのＣＵは、同じスライス内の再構築済みの隣接サンプルから予測される。ＨＥＶＣでは、ＤＣ、planar、及び３３個のangular予測モードを含む３５個のイントラ予測モードの組を利用することができる。現在のブロックに隣接する行及び列からイントラ予測の参照が再構築される。過去に再構築されたブロックからの使用可能なサンプルを使用し、この参照は水平方向及び垂直方向にブロックサイズの２倍に及ぶ。イントラ予測にangular予測モードが使用される場合、angular予測モードによって示される方向に沿って参照サンプルを複製することができる。
【００２８】
[41]  現在のブロックに関する適用可能なルマイントラ予測モードは２つの異なる選択肢を使用してコード化することができる。適用可能なモードが３つの最確モード（ＭＰＭ）の構築リスト内に含まれる場合、モードはＭＰＭリスト内のインデックスによってシグナリングされる。さもなければ、モードはモードインデックスの固定長の２値化によってシグナリングされる。３つの最確モードは上の隣接ブロック及び左の隣接ブロックのイントラ予測モードから導出される。
【００２９】
[42]  インタＣＵでは、対応するコード化ブロックが１つ又は複数の予測ブロックに更に分割される。インタ予測はＰＢレベルで行われ、対応するＰＵはインタ予測がどのように行われるのかに関する情報を含む。
【００３０】
[43]  動き情報（即ち動きベクトル及び参照ピクチャインデックス）は２つの方法、つまり「マージモード」及び「高度動きベクトル予測（ＡＭＶＰ）」によってシグナリングすることができる。
【００３１】
[44]  マージモードでは、ビデオ符号器又は復号器が既にコード化されたブロックに基づいて候補リストをアセンブルし、候補リスト内の候補の１つに関するインデックスをビデオ符号器がシグナリングする。復号器側では、シグナリングされる候補に基づいて動きベクトル（ＭＶ）及び参照ピクチャインデックスが再構築される。
【００３２】
[45]  ＡＭＶＰでは、ビデオ符号器又は復号器が既にコード化されたブロックから決定される動きベクトルに基づいて候補リストをアセンブルする。次いでビデオ符号器が、動きベクトル予測因子（ＭＶＰ）を識別するための候補リスト内のインデックスをシグナリングし、動きベクトル差（ＭＶＤ）をシグナリングする。復号器側で、動きベクトル（ＭＶ）がＭＶＰ＋ＭＶＤとして再構築される。
【００３３】
[46]  ＨＥＶＣでは、動き補償のための動き情報の精度はルマ成分では４分の１サンプル（４分の１ｐｅｌ又は１／４ｐｅｌとも呼ばれる）であり、クロマ成分では８分の１サンプル（１／８ｐｅｌとも呼ばれる）である。分数サンプル位置を補間するために７タップ又は８タップ補間フィルタが使用され、即ちルマに関して水平方向及び垂直方向の両方で最大サンプル位置の１／４、１／２、及び３／４を扱うことができる。
【００３４】
[47]  次いで予測残差を変換し（１２５）、量子化する（１３０）。量子化した変換係数、並びに動きベクトル及び他の構文要素をエントロピ符号化して（１４５）ビットストリームを出力する。符号器は変換をスキップし、非変換残差信号に対して４ｘ４ＴＵベースで量子化を直接適用することもできる。符号器は変換及び量子化の両方をバイパスすることもでき、即ち変換プロセス又は量子化プロセスを適用することなしに残差が直接コード化される。直接のＰＣＭコード化では予測が適用されず、コード化単位サンプルがビットストリーム内に直接コード化される。
【００３５】
[48]  符号器は符号化済みブロックを復号して更なる予測のための参照を提供する。予測残差を復号するために量子化済みの変換係数を逆量子化し（１４０）、逆変換する（１５０）。復号済みの予測残差と予測済みブロックとを結合し（１５５）、画像ブロックを再構築する。例えばデブロッキング／ＳＡＯフィルタリングを実行して符号化アーティファクトを減らすために、再構築したピクチャにインループフィルタ（１６５）を適用する。フィルタ済みの画像を参照ピクチャバッファ（１８０）に記憶する。
【００３６】
[49]  図２は、例示的なＨＥＶＣビデオ復号器２００のブロック図を示す。例示的な復号器２００では、以下で説明するようにビットストリームが復号器の要素によって復号される。ビデオ復号器２００は、ビデオデータを符号化する一環としてビデオの復号を行う図１に示した符号化経路と逆の復号経路を概して実行する。
【００３７】
[50]  具体的には、復号器の入力はビデオ符号器１００によって生成され得るビデオビットストリームを含む。変換係数、動きベクトル、及び他のコード化情報を得るためにこのビットストリームを最初にエントロピ復号する（２３０）。予測残差を復号するために変換係数を逆量子化し（２４０）、逆変換する（２５０）。復号した予測残差と予測済みブロックとを結合し（２５５）、画像ブロックを再構築する。予測済みブロックはイントラ予測（２６０）又は動き補償予測（即ちインタ予測）（２７５）から得ることができる（２７０）。上記のように、参照ブロックのサブ整数サンプルのための補間値を計算するために補間フィルタを使用する場合がある動き補償のための動きベクトルを導出するために、ＡＭＶＰ及びマージモード技法が使用され得る。再構築した画像にインループフィルタ（２６５）を適用する。フィルタ済みの画像を参照ピクチャバッファ（２８０）に記憶する。
【００３８】
[51]  ＨＥＶＣでは、ＳＡＯはＣＴＵに基づくサンプルベースフィルタリング操作である。ＳＡＯは、活性化される場合デブロッキングフィルタの直後に適用される。ＳＡＯはＣＴＵごとに非活性化することができる。２つのＳＡＯモード、つまりエッジオフセット（ＥＯ）及びバンドオフセット（ＢＯ）が規定される。ＥＯでは、サンプルの分類がフィルタリングされるピクチャ内の局所的な方向性構造に基づく。ＢＯでは、サンプルの分類がサンプル値に基づく。ＥＯ又はＢＯのパラメータは明確にコード化する、又は近傍から導出することができる。ＳＡＯはルマ成分及びクロマ成分に適用することができ、ＳＡＯモードはＣｂ成分及びＣｒ成分について同じである。ＳＡＯパラメータは色成分ごとに個々に構成される。
【００３９】
[52]エッジオフセット
[53]  図３に示すように、ＥＯはサンプルを分類するために４つの１Ｄ方向性パターン、つまり水平、垂直、斜め１３５°、及び斜め４５°を使用し、ラベル「ｐｃ」は現在のサンプルを表し、ラベル「ｐ０」及び「ｐ１」は隣接する２つのサンプルを表す。４つのＥＯクラスが方向に基づいて規定され、各ＥＯクラスは１つの方向に対応する。選択されるＥＯクラスはサイド情報としてビットストリーム内でシグナリングされる。
【００４０】
【表１】
2019528648.tif 000003
【００４１】
[54]  所与のＥＯクラスについて、ＣＴＢ内の各サンプルが局所勾配に基づいて５つ（ＮＣ＝５）のカテゴリのうちの１つに分類される。とりわけ「ｐｃ」とラベル付けした現在のサンプル値を、選択された１Ｄ方向に沿うｐｃの２つの近傍と比較する。サンプルに関するカテゴリ化の規則を表１に要約した。図４にも示すように、カテゴリ１及びカテゴリ４は選択された１Ｄパターンに沿う局所的な谷及び局所的なピークにそれぞれ関連し、カテゴリ２及びカテゴリ３は選択された１Ｄパターンに沿う凹角及び凸角にそれぞれ関連する。現在のサンプル値がカテゴリ１〜４に属さない（即ち現在のサンプル値が現在のサンプル値の２つの近傍と同じである、又はｐ０＜ｐｃ＜ｐ１若しくはｐ０＞ｐｃ＞ｐ１が成立する）場合、現在のサンプル値はカテゴリ０内にあり、ＳＡＯは適用されない（即ちオフセットは０である）。カテゴリ１〜４ではオフセットが符号化される。表記を簡略化するために、オフセットが符号化されるカテゴリを「シグナルドカテゴリ」と呼ぶ場合がある。
【００４２】
[55]バンドオフセット
[56]  図５Ａに示すように、ＢＯではサンプル値の範囲（例えば８ビットでは０〜２５５）を３２個のバンドに均等に分割し、オフセットｏｆｆ（ｎ）、ｎ＝１，．．．，４を加えることにより（ＮＣ−１）＝４個の連続したバンドに属するサンプル値を修正する。４個の連続したバンドのオフセット及び開始バンド位置だけが復号器にシグナリングされる。開始バンド位置は、符号化されたオフセットを伴う最初のバンドの位置を示す。（ＮＣ−１）バンドのそれぞれについて１つのオフセットがコード化され、残りのバンドはゼロに等しいオフセットを有する。バンドは循環バッファとして管理されるので、開始バンド位置が最後のバンド位置と近い場合、図５Ｂの例に示すようにオフセット値が非連続バンドに対応する場合がある。ＢＯでは、シグナリングされるそれらの４つのバンドを４つのカテゴリと見なすことができ、残りのバンドは別のカテゴリと見なすことができることに留意されたい。本願では「バンド」という用語と「カテゴリ」という用語とを区別なく使用する。
【００４３】
[57]  図６は、ＳＡＯを使用してビットストリームを復号するための例示的方法６００を示す。ビットストリームを復号（６１０）した後、ＳＡＯを使用して再構築済みのサンプルを更にフィルタリングする。「復号する」又は「再構築する」という用語はビットストリームを部分的に「復号する」こと、例えば信号をデブロッキングフィルタの後だがＳＡＯフィルタリングの前に得ることを意味する場合があり、再構築されるサンプルは表示に使用される最終的な復号済み出力と異なり得ることに留意すべきである。
【００４４】
[58]  ＳＡＯがスライスについて活性化される場合、復号器は現在のＣＴＢについてＳＡＯが活性化されているかどうかを確認する（６２０）。ＳＡＯが活性化されている場合、復号器はＣＴＢ内のサンプルをＮＣ＝５個のカテゴリへとカテゴリ化する（６３０）。カテゴリごとのオフセット値ｏｆｆ（ｎ）を得ることができる（６４０）。ステップ６５０で、カテゴリｃ（ｓ）を有するサンプルｓについてサンプルをｓ＝ｓ＋ｏｆｆ（ｃ（ｓ））に調節することができる。上記で論じたようにサンプルオフセットは０とすることができ、対応するサンプルは調節されない。復号器の最終的な出力として、フィルタにかけた再構築済みサンプルを使用する。
【００４５】
[59]  符号器は方法６００と同様のプロセスを実行することができる。符号器側では、再構築済みサンプルを得るためにステップ６１０を実装し、例えばＳＡＯフィルタリングプロセスはデブロッキングフィルタからの再構築済みサンプルを入力として使用する。オフセット値がビットストリーム内に符号化される。フィルタにかけた再構築済みサンプルは他のピクチャのための参照として使用することができる。
【００４６】
[60]  図７Ａは、位置（ｒｘ，ｒｙ）におけるＣＴＢ、位置（ｒｘ−１，ｒｙ）における隣接する左のＣＴＢ、及び位置（ｒｘ，ｒｙ−１）における隣接する上のＣＴＢを含むピクチャの一部を示す。ＨＥＶＣ規格によれば、ＳＡＯパラメータはビットストリーム内に明確に符号化され、又は過去の符号化された隣接する左のＣＴＵ若しくは上のＣＴＵから導出される（マージモード）。図７ＢはＳＡＯパラメータを得るための例示的方法７００を示す。
【００４７】
[61]  現在のＣＴＢを復号するために、ビットストリームから構文要素ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇを復号することができる（７１０）。ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇが１に等しい場合（７２０）、隣接する左のＣＴＢのＳＡＯパラメータを現在のＣＴＢに使用し（７６０）、次のＣＴＢに復号を進める。ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇが０に等しい場合、ビットストリームから構文要素ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇを復号することができる（７３０）。ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇが１に等しい場合（７４０）、隣接する上のＣＴＢのＳＡＯパラメータを現在のＣＴＢに使用し（７７０）、次のＣＴＢに復号を進める。構文要素ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇもｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇも１に等しくない場合、ビットストリームから現在のＣＴＢのためのＳＡＯパラメータを復号する（７５０）。
【００４８】
[62]  図８は、位置（ｒｘ，ｒｙ）における現在のＣＴＢのルマ成分のためのＳＡＯパラメータを復号するための例示的方法８００を示す。クロマ成分のためのＳＡＯパラメータも同様に復号することができる。方法８００は、方法７００内のステップ７５０を実行するために使用することができる。
【００４９】
[63]  ルマ成分のオフセットの種類を規定する構文要素ｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿ｌｕｍａをビットストリームから復号することができ（８１０）、変数ｓａｏＴｙｐｅＩｄｘ［０］［ｒｘ］［ｒｙ］がｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿ｌｕｍａと等しく設定される。ｓａｏＴｙｐｅＩｄｘ［０］［ｒｘ］［ｒｙ］が０に等しい場合（８２０）、ＳＡＯは適用しない。ｓａｏＴｙｐｅＩｄｘ［０］［ｒｘ］［ｒｙ］が０に等しくない場合、復号器は４つのＳＡＯオフセット絶対値ｓａｏ＿ｏｆｆｓｅｔ＿ａｂｓ［０］［ｒｘ］［ｒｙ］［ｉ］、ｉ＝０．．３をビットストリームから復号することができる（８３０）。
【００５０】
[64]  ｓａｏＴｙｐｅＩｄｘ［０］［ｒｘ］［ｒｙ］が１に等しい場合（８４０）はＢＯを適用し、復号器は非ゼロオフセット値のための４つまでのオフセット符号（ｓａｏ＿ｏｆｆｓｅｔ＿ｓｉｇｎ［０］［ｒｘ］［ｒｙ］［ｉ］）、及び開始バンド位置（ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ［０］［ｒｘ］［ｒｙ］）を復号する（８６０、８７０）。ｓａｏＴｙｐｅＩｄｘ［０］［ｒｘ］［ｒｙ］が１に等しくない場合（８４０）はＥＯを適用し、ＳＡＯのＥＯクラス（ｓａｏ＿ｅｏ＿ｃｌａｓｓ＿ｌｕｍａ）を復号する（８５０）。ＥＯでは、現在のサンプルとＥＯクラスに基づいて選択される隣接する２つのサンプルとの間の関係に基づいて表１に示すようにカテゴリを決定することができ、先に説明したようにオフセットの符号をカテゴリから推論することができる。
【００５１】
[65]カテゴリの再定義
[66]  本原理は、ビデオの符号化及び復号の際のＳＡＯを対象とする。一実施形態では、再構築済みサンプルの統計に応じてＳＡＯカテゴリを再定義することができる。
【００５２】
[67]  図９は、例示的なＣＴＢ及び関連する３２個のＳＡＯバンドのヒストグラムを示し、ヒストグラム内の縦棒はバンド内のサンプル数を数える。オフセットをシグナリングするための開始バンド位置も図９に示す。
【００５３】
[68]  この例では、４つのバンドｃ１、ｃ２、ｃ３、及びｃ４に関してオフセットが符号化される。オフセットが符号化される場合、オフセット値を符号化することに関連する符号化コストがある。他方で、オフセット値を符号化することによって対応するカテゴリ内のサンプル値を訂正することができ、従ってアーティファクトを減らすことができる。概して、ＳＡＯの効率はオフセット値の符号化コストとサンプル値を訂正することによってもたらされるアーティファクトの低減との間のトレードオフである。１つのカテゴリ内により多くのサンプルがある場合、より多くのサンプルを訂正することができ、より多くのアーティファクトの低減をもたらす。従って、１つのカテゴリ内により多くのサンプルがある場合はＳＡＯが一層効率的であり得る。
【００５４】
[69]  図９の例では、バンドｃ３が少数のサンプルを有する。表記を簡略化するために、これらの４つのシグナリングされるバンドの中で最大数のサンプルを有するバンドをＣＡＴ−ｈｉｇｈと呼び、最小数のサンプルを有するバンドをＣＡＴ−ｌｏｗと呼ぶ。
【００５５】
[70]  一実施形態では、再構築済みサンプルの統計に応じてシグナルドカテゴリを再定義することを提案する。符号化コストとアーティファクトの低減との間のトレードオフを調節することによってＳＡＯの効率を改善することができる。カテゴリを再定義することはバンドに適用されるオフセットの精度を改善し得るので、カテゴリを再定義する方法を「高精度」プロセスとも呼ぶ。
【００５６】
[71]  図１０Ａは、本原理の一実施形態による、復号器においてＢＯカテゴリを調節するための例示的方法１０００を示す。ステップ１０１０で、復号器は開始バンド位置及び（ＮＣ−１）のオフセットを復号することができる。ステップ１０２０で、復号器がｓａｏ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎフラグを復号し、このフラグは提案する高精度プロセスが適用されるかどうか（１０３０）を復号器に知らせる。フラグが真の場合、これらの（ＮＣ−１）のバンドについて復号器がバンド内のサンプル数をカウントし（１０４０）、最大数のサンプルを有するバンドをＣＡＴ−ｈｉｇｈとして決定し、最小数のサンプルを有するバンドをＣＡＴ−ｌｏｗとして決定する。
【００５７】
[72]  バンドＣＡＴ−ｈｉｇｈ内のサンプルの統計を分析して（１０５０）バンドを２つのサブバンド、ＣＡＴ−ｈｉｇｈ１及びＣＡＴ−ｈｉｇｈ２に分割する。一例では、バンドＣＡＴ−ｈｉｇｈ内のサンプルのヒストグラムを生成することができ、ヒストグラム内のビンは１つのサンプル値に対応する。ヒストグラムに基づいて、ほぼ等しい数のサンプルを有する２つのサブバンドにバンドＣＡＴ−ｈｉｇｈを分割することができる。
【００５８】
[73]  例えば累積ヒストグラムを使用し、その累積ヒストグラム値が５０％に最も近いサンプル値においてＣＡＴ−ｈｉｇｈを分割することができる。分割した後、バンドＣＡＴ−ｈｉｇｈが２つのサブバンドになり、バンドＣＡＴ−ｌｏｗを除去し（即ちオフセットはゼロであり）、従って非ゼロオフセットを有するカテゴリの総数は（ＮＣ−１）のままである。ステップ１０５０で、再定義したカテゴリのサンプル値を受信オフセットによって調節する。
【００５９】
[74]  改変形態ではステップ１０２０及びステップ１０３０を飛ばすことができ、高精度プロセスを常に適用する。別の改変形態ではステップ１０２０及びステップ１０３０を飛ばし、復号器がＣＡＴ−ｌｏｗとＣＡＴ−ｈｉｇｈ１（又はＣＡＴ−ｈｉｇｈ２）との比較に基づいて高精度プロセスを実行するかどうかを決定する。例えばＣＡＴ−ｈｉｇｈ１又はＣＡＴ−ｈｉｇｈ２内のサンプル数がＣＡＴ−ｌｏｗ内のサンプル数よりも少なく（即ちｍｉｎ（ｎＣＡＴ−ｈｉｇｈ１，ｎＣＡＴ−ｈｉｇｈ２）＜ｎＣＡＴ−ｌｏｗが成立し）、ｎＣＡＴ−ｈｉｇｈ１、ｎＣＡＴ−ｈｉｇｈ２、及びｎＣＡＴ−ｌｏｗがＣＡＴ−ｈｉｇｈ１、ＣＡＴ−ｈｉｇｈ２、及びＣＡＴ−ｌｏｗそれぞれの中のサンプル数である場合は高精度プロセスを無効にし、さもなければ高精度プロセスを有効にする。この例では同じプロセス、つまりｎＣＡＴ−ｈｉｇｈ１及びｎＣＡＴ−ｈｉｇｈ２をｎＣＡＴ−ｌｏｗと比較することを符号器及び復号器の両方において実行することができ、高精度プロセスを使用するかどうかを示すために明確なシグナリングは必要ない。
【００６０】
[75]  図１０Ｂは、本原理の一実施形態による、ＢＯに関するカテゴリを再定義する一例を示す。ここではｃ１がＣＡＴ−ｈｉｇｈであり、ｃ３がＣＡＴ−ｌｏｗである。ＣＡＴ−ｈｉｇｈは、２つのサブバンドｃ１１及びｃ１２に分割される。受信される４つのオフセットをサブバンド（ｃ１１及びｃ１２）及びバンド（ｃ２及びｃ４）にそれぞれ適用する。図１０Ｂから分かるように、ＣＡＴ−ｈｉｇｈヒストグラムの左側の部分の方が大きい値（即ちＣＡＴ−ｈｉｇｈの下方範囲において一層密なサンプル値）を有する。ＣＡＴ−ｈｉｇｈを分割した後、左側のサブバンド（ｃ１１）の方が右側のサブバンド（ｃ１２）よりも狭い。従って、サンプルが密に分布すればするほどバンドが狭くなる。小範囲のサンプル値にオフセットを関連付けることにより、オフセットをより正確に決定することができ、サンプルの訂正がより効果的になり得る。
【００６１】
[76]  ＣＡＴ−ｈｉｇｈの分割を行う閾値を決定するために累積ヒストグラムを分析することができる。一実装では、図１０Ｃに示すようにｃｕｍｕｌ（ｔｈ）≦５０％を満たす最大「ｔｈ」値として閾値を決定し、ｃｕｍｕｌ（ｘ）はｘにおける累積ヒストグラム値である。この例では、サンプルの３７．５％がＣＡＴ−ｈｉｇｈ１に含まれ、サンプルの６２．５％がＣＡＴ−ｈｉｇｈ２に含まれる。従ってこの再定義方法はバンドＣＡＴ−ｈｉｇｈを等しい数のサンプルを有する２つのサブバンドに分割しようと試みるが、サンプル数の離散的性質により２つのサブバンド内のサンプル数は必ずしも全く同じとは限らない場合がある。
【００６２】
[77]  幾つかのシーケンスに対して異なる試験条件において実験を行った。或るシーケンスでは、ＣＡＴ−ｈｉｇｈ１内のサンプル比率が、ルマ成分ではＱＰ＝２２、２７、３２、及び３７のそれぞれで３７．７４％、３４．３３％、３８．２８％、及び４１．９２％であり、Ｃｂクロマ成分ではＱＰ＝２２、２７、３２、及び３７のそれぞれで３９．７８％、４１．７１％、４２．７３％、及び４１．１１％であり、Ｃｒクロマ成分ではＱＰ＝２２、２７、３２、及び３７のそれぞれで３９．６２％、４１．５１％、４２．３８％、及び４２．４８％である。
【００６３】
[78]  ヒストグラムのビンがより細かい（例えばビンが２つのサンプルではなく１つのサンプルを表す）場合、２つのサブバンド内のサンプル数がより近づく（即ちより等しくなる）可能性がある。
【００６４】
[79]  他の実施形態では、ｃｕｍｕｌ（ｔｈ）≧５０％を満たす最小値として「ｔｈ」を選択することができる。より広くは、分割閾値の選択は一定の条件を満たす値、例えばｃｕｍｕｌ（ｔｈ）≦ｃｕｍ＿ｔｈ％を満たす最大「ｔｈ」値や、ｃｕｍｕｌ（ｔｈ）≧ｃｕｍ＿ｔｈ％を満たす最小値と見なすことができ、ｃｕｍ＿ｔｈは上記のように５０に等しくても良く又は他の値として設定され得る。
【００６５】
[80]  図１０Ａ及び図１０Ｂではカテゴリの再定義をＢＯに関して説明する。ＥＯでは、ＣＡＴ−ｈｉｇｈ及びＣＡＴ−ｌｏｗは各カテゴリ内のサンプル数に基づいて依然として決定することができるが、カテゴリＣＡＴ−ｈｉｇｈを分割するのに使用する統計は個々のカテゴリ内の勾配に基づいて収集され得る。例えば符号器又は復号器は以下の１つ又は複数を使用し、勾配から導出される値Ｃの累積ヒストグラムを分析することができる：
−勾配の絶対値の平均：Ｃ＝ＡＶＧ（ａｂｓ（ｐｃ−ｐ０），ａｂｓ（ｐｃ−ｐ１））
−勾配の絶対値の差：Ｃ＝ａｂｓ（ａｂｓ（ｐｃ−ｐ０）−ａｂｓ（ｐｃ−ｐ１））
−勾配の絶対値の最小値：Ｃ＝ＭＩＮ（ａｂｓ（ｐｃ−ｐ０），ａｂｓ（ｐｃ−ｐ１））
−勾配の絶対値の最大値：Ｃ＝ＭＡＸ（ａｂｓ（ｐｃ−ｐ０），ａｂｓ（ｐｃ−ｐ１））
−ＣＡＴ＿Ｈａｌｆ＿Ｖａｌｌｅｙ（ＥＯカテゴリ２）及びＣＡＴ＿Ｈａｌｆ＿Ｐｅａｋ（ＥＯカテゴリ３）では基準としてＣ＝ＭＡＸ（ａｂｓ（ｐｃ−ｐ０），ａｂｓ（ｐｃ−ｐ１））を使用し、他のカテゴリでは基準としてＣ＝ＭＩＮ（ａｂｓ（ｐｃ−ｐ０），ａｂｓ（ｐｃ−ｐ１））を使用する。
−サンプル値自体：Ｃ＝ｐｃ
【００６６】
[81]  ＣＡＴ−ｈｉｇｈを２つのサブカテゴリに分割するとき、カテゴリＣＡＴ−ｈｉｇｈのヒストグラムは値Ｃに基づくことができ、ヒストグラム内のビンは特定の値Ｃ又は勾配ベースの値Ｃの範囲を有するサンプル数を表す。ＣＡＴ−ｈｉｇｈを勾配に基づいて分割することにより、より小さいサブカテゴリ内により有力な（即ちより高い確率を有する）勾配を含めることができ、従ってそのサブカテゴリについてオフセットをより正確に設計することができる。ＥＯでは、復号器がオフセット値を復号し、オフセットの符号を推論し、再定義されたカテゴリにオフセットを適用する。
【００６７】
[82]  符号器側では、カテゴリが復号器と一貫して再定義されるべきである。一例として方法１０００を使用し、復号器と整合するようにステップ１０２０〜１０５０を符号器内で実行する。ステップ１０１０は使用せず、代わりに開始バンド位置及び（ＮＣ−１）のオフセットを符号化する。ＲＤＯ（レート歪み最適化）に基づいてｓａｏ＿ｈｉｇｈ＿ｐｒｅｃｉｓｉｏｎ＿ｆｌａｇの値を求めることができる。復号器側に関して上記で論じたように、フラグは飛ばすことができ、符号器は高精度プロセスを常に実行することができ、又は高精度プロセスを実行するかどうかをｎＣＡＴ−ｈｉｇｈ１、ｎＣＡＴ−ｈｉｇｈ２、及びｎＣＡＴ−ｌｏｗ間の比較に基づいて決定することができる。
【００６８】
[83]  上記の解説ではカテゴリＣＡＴ−ｈｉｇｈを２つのサブカテゴリに分割し、カテゴリＣＡＴ−ｌｏｗを除去した。改変形態ではカテゴリＣＡＴ−ｌｏｗを保つことができる。この場合はカテゴリ数が増え、追加のオフセットが符号化される。
【００６９】
[84]  ＪＶＥＴとは２０１５年１０月に創設されたＩＴＵ−Ｔ  ＶＣＥＧ及びＩＳＯ／ＩＥＣ  ＭＰＥＧのFuture Video codingに関するJoint Video Exploration Teamである。ＪＶＥＴグループの参照ソフトウェアはＪＥＭ（Joint Exploration Model）と名付けられている。提案する方法を試験するために、ＪＥＭ２．０内で方法１０００及び改変形態（ＣＡＴ−ｌｏｗの除去なし）に対応する符号化方法を典型的な試験条件下で適用した。本方法は３つの色成分の全てに適用した。符号化又は復号実行時間の僅かな増加を伴う約０．３０％のビットレートの低減があった。従って本実施形態は、非常に小さい計算の複雑性のコストをもって圧縮効率を改善することができる。
【００７０】
[85]カテゴリの均質化
[86]  別の実施形態では、ＢＯの効率を改善するために、サンプル数が４つのバンド内でより均等に分布するようにバンドを選択することができる。図１１の例に示すように、サンプルのヒストグラム及び累積ヒストグラムを使用し、元の等長バンド（ｃ１、ｃ２、ｃ３、及びｃ４）が可変長バンド（ｃ１’、ｃ２’、ｃ３’、及びｃ４’）になる。この例では、ヒストグラム及び累積ヒストグラムがこれらの４つのバンド内のサンプル数を使用して構築され、ヒストグラムのビンが１つのサンプル値に対応する。これらの４つのカテゴリ内のサンプルを均質化するために、累積ヒストグラムから、その対応するヒストグラム値が２５％、５０％、及び７５％にそれぞれ最も近いサンプル値を使用してバンドを分割する。ＢＯ内のカテゴリを洗練させることに関して上記で論じたように、累積ヒストグラムから４つのバンドを決定するために様々な技法を使用することができる。更に、サンプル数の離散的性質が原因で均質化後のパーセンテージは必ずしも厳密に２５％、５０％、及び７５％とは限らない場合がある。
【００７１】
[87]  図１２Ａは、本原理の一実施形態による、ＥＯに関するカテゴリを均質化するための例示的方法１２００を示す。ステップ１２１０で、符号器又は復号器が表１に従って再構築済みサンプルを５つのカテゴリにカテゴリ化する。
【００７２】
[88]  「プレーン」としてカテゴリ化されないサンプルについて、値Ｃを以下のように計算する（１２２０）ことができる：
−サンプルがカテゴリ１又は２の場合：Ｃ＝−ＭＩＮ（ａｂｓ（ｐｃ−ｐ０），ａｂｓ（ｐｃ−ｐ１））
−サンプルがカテゴリ３又は４の場合：Ｃ＝＋ＭＩＮ（ａｂｓ（ｐｃ−ｐ０），ａｂｓ（ｐｃ−ｐ１））
先に論じたように、値Ｃは異なる方法を使用して勾配に基づいて計算することもできる。カテゴリ１及び２の値「Ｃ」の累積ヒストグラム、並びにカテゴリ３及び４の値「Ｃ」の累積ヒストグラムを構築し（１２３０）、２つの閾値ＴＨ１及びＴＨ２をそれぞれ明らかにするために使用することができる。具体的には、（カテゴリ１及び２について）その累積ヒストグラム値が５０％に最も近い値ＣをＴＨ１として使用し（１２４０）、（カテゴリ３及び４について）その累積ヒストグラム値が５０％に最も近い値ＣをＴＨ２として使用する（１２４０）。
【００７３】
[89]  組み合わさったカテゴリ１及び２を「正のオフセット」カテゴリと見なし、組み合わさったカテゴリ３及び４を「負のオフセット」カテゴリと見なすことができることに留意されたい。均質化した後、勾配に基づいて「正のオフセット」カテゴリを正のオフセットに関連する２つのサブカテゴリに分割する。同様に、図１２Ｂの一例に示すように勾配に基づいて「負のオフセット」カテゴリを負のオフセットに関連する別の２つのサブカテゴリに分割する。従って、ＨＥＶＣではＥＯについてオフセットの符号を伝送する必要がない。
【００７４】
[90]  次いで、これらの４つの（サンプル数に関して）均質化されたカテゴリ内にサンプルを再び割り当てる（１２５０）。これらの（ＮＣ−１）カテゴリのそれぞれについてオフセットを符号化／復号し（１２６０）、対応するカテゴリ内のサンプル値を調節するためにオフセットを使用する。
【００７５】
[91]  図１１及び図１２では、カテゴリの範囲（即ちＢＯの４つのシグナリングされるバンド、及びＥＯのカテゴリ１〜４）を均質化する。この範囲はＨＥＶＣにあるように決定し又はシグナリングすることができ、例えばＢＯではこの範囲は（１＜＜（ビット深度−３））サンプル含むことができ、開始バンド位置として下限を決定する。或いは符号器又は復号器において事前に知られている異なる値を使用して範囲を設定することができ、例えばＥＯでは値Ｃの範囲を［１−（１＜＜ビット深度），（１＜＜ビット深度）−１］とすることができる。加えて、ＥＯのカテゴリをＨＥＶＣにあるのと異なるように定めることができる。
【００７６】
[92]修正済みのＥＯのカテゴリ化
[93]  図１３にも示すように、表２は所与のクラスに関するＥＯの異なるカテゴリ化を示す。表１のＥＯのカテゴリ化を修正することを可能にする閾値「ｔｈ」を導入することに留意されたい。例えばｐ０とｐｃとの差が「ｔｈ」を上回り且つｐ１とｐｃとの差が「ｔｈ」を上回る場合、サンプルｐ０に「カテゴリ１」を割り当てる。ｔｈ＝０の場合、表２にあるＥＯのカテゴリ化は表１にあるものと同じである。「プレーン」としてカテゴリ化されるサンプルはゼロであると推定されるオフセットを有する（図１３の「オフセットなし」カテゴリ参照）。
【００７７】
【表２】
2019528648.tif 000004
【００７８】
[94]  高ビット深度を有するビデオコンテンツ、例えば１０ビットや１２ビットのビデオでは、ピクチャ内の雑音が増加する可能性があるので、隣接する２つのサンプルがＨＥＶＣで定められるカテゴリ２及びカテゴリ３について同じ値を有する確率は低下する傾向がある。従って、閾値を導入することは高ビット深度ビデオにおけるランダム雑音の影響に対処することができ、カテゴリ２又はカテゴリ３内にカテゴリ化されるサンプル数を増やすことができる。加えて、例えば先に論じたようにカテゴリを再定義し又は均質化するために勾配ベースの値Ｃを計算する間、閾値「ｔｈ」を導入することはカテゴリ２及びカテゴリ３についてＣの非ゼロ値を得ることを可能にする。
【００７９】
[95]  閾値「ｔｈ」の選択はコンテンツに依存することができ、又は符号器若しくは復号器に事前に知られている場合がある。例えば値「ｔｈ」はビデオデータのビット深度に依存し得る。先に論じたように、値「ｔｈ」は事前に知られているビット深度の関数であり得る。例えばビット深度が８以下の場合は「ｔｈ」を０に設定し、ビット深度が８を上回る場合は１＜＜（ビット深度−９）に設定してランダム雑音によって引き起こされる揺らぎを打ち消す。
【００８０】
[96]  ＪＶＥＴ内で使用されるビデオシーケンスの共通の試験セットの統計は、クラス「ＥＯ＿４５」及び「ＥＯ＿１３５」がクラス「ＥＯ＿０」及び「ＥＯ＿９０」よりも少ない半切れのピーク及び半切れの谷を含むことを示す。実際、「ＥＯ＿４５」及び「ＥＯ＿１３５」内の隣接するサンプルｐ０（又はｐ１）と現在のサンプルｐｃとの間の距離は、「ＥＯ＿０」及び「ＥＯ＿９０」における距離よりも長い。従って「ＥＯ＿４５」及び「ＥＯ＿１３５」では隣接するサンプル（ｐ０及びｐ１）が現在のサンプルｐｃとより相関しておらず、厳密な一致が見つかる確率はより低い。クラスに依存する閾値を導入することは、現在の領域に関する分類及び最良方向の選択を改善することができる。例えば、クラス「ＥＯ＿１３５」及び「ＥＯ＿４５」で他のクラスよりも大きい「ｔｈ」を設定することは方向性クラス内のカテゴリを均質化し、より優れた統計をもたらす場合がある。更に、「ｔｈ」の値はビットストリーム内に、例えばＰＰＳ（ピクチャパラメータセット）やスライスヘッダ内に符号化することもできる。
【００８１】
[97]  修正済みのＥＯのカテゴリ化は、ＨＥＶＣのＥＯを置換するために使用することができる。図６を参照し、修正済みのＥＯのカテゴリごとにオフセットを符号化し又は復号することができ、オフセット値の符号は推論される。方法６００では、修正済みのカテゴリ化を使用してサンプルをカテゴリ化することができる。加えて、修正済みのＥＯのカテゴリ化は上記の再定義方法又は均質化方法と共に使用することができる。例えば、ＥＯに関する修正済みのカテゴリ化を使用するために方法１０００又は方法１２００を調節することができる。
【００８２】
[98]  先に論じたように、ＥＯのカテゴリ化は統合することができる。例えば、表２に示すカテゴリ１及びカテゴリ２を含む「正のオフセット」の第１のカテゴリと、表２に示すカテゴリ３及びカテゴリ４を含む「負のオフセット」の第２のカテゴリと、「オフセットなし」の第３のカテゴリとがあり得る。これらのカテゴリは独立に又は再定義方法若しくは均質化方法と組み合わせて使用することができる。
【００８３】
[99]  ＪＥＭ２．０内で、ＢＯに関して図１１に示す符号化方法及びＥＯに関する修正済みのカテゴリ化（ｔｈ＝１）を伴う方法１２００に対応する符号化方法を典型的な試験条件下で適用した。本方法は３つの色成分の全てに適用した。符号化又は復号実行時間の僅かな増加を伴う約０．４０％のビットレートの低減が認められた。
【００８４】
[100]  別の実施形態では、ＥＯのカテゴリ化がＨＥＶＣ内で定められる「古典的な」カテゴリを保ち、１つ又は複数の余分のカテゴリを追加する。例えば表１に示すように、隣接するサンプルの厳密な等しさを伴って半切れのピーク及び半切れの谷は変更されないままだが、表３に示すように閾値「ｔｈ」に応じて追加のクラス、つまり「ほぼ半切れのピーク」及び「ほぼ半切れの谷」を追加することができる。
【００８５】
[101]  表３に示すＥＯのカテゴリ化は７個のカテゴリを含み、カテゴリ１及びカテゴリ６は表１に示すカテゴリ１及びカテゴリ４にそれぞれ対応し、カテゴリ２及びカテゴリ３は表２に示すカテゴリ２に組み合わさって対応し、カテゴリ４及びカテゴリ５は表２に示すカテゴリ２に組み合わさって対応する。２つの追加のカテゴリを含め、従って２つの追加のオフセットを送信するコストを導入することにより、このカテゴリ化はＳＡＯプロセスが新たなカテゴリについてより正確なオフセットを導出することを可能にし得る。更に、ＳＡＯについて検討する領域が新たなコード化方式で更に大きくなると、追加のカテゴリは追加の構文を用いてさえ符号器がより優れたレート歪みの妥協点を見つけ出すことを可能にする。
【００８６】
【表３】
2019528648.tif 000005
【００８７】
[102]  本願では様々な数値、例えば分類に使用される閾値、ヒストグラム内のビンに使用されるサンプル数、カテゴリの数（即ちＮＣ＝５）、又はカテゴリを再定義し若しくは均質化するために使用される累積ヒストグラム値が使用される。具体的な値は例示目的であり、本原理はそれらの具体的な値に限定されないことに留意すべきである。例えば３２個のバンドがあることを示すための例として又はシグナリングされるオフセットと共に４つのカテゴリがあることを示す例として上記の解説が８ビットのＹＵＶビデオを使用する場合、本原理は他のビット深度、色空間、様々な数のバンド又はカテゴリにおいて別のビデオ形式にも適用することができる。
【００８８】
[103]  上記では、ＳＡＯパラメータの符号化をＣＴＵレベルで行った。本原理はＳＡＯの符号化が別のレベル、例えばこれだけに限定されないがスライスレベルやピクチャレベルにおいて行われる場合にも適用することができる。
【００８９】
[104]  上記では様々な実施形態をＨＥＶＣ規格に関して説明した。例えば図１及び図２に示すＨＥＶＣ符号器及び復号器のインループフィルタリングモジュール（１６５、２６５）を修正するために、ＳＡＯのカテゴリを決定するための上記の様々な方法を使用することができる。但し本原理はＨＥＶＣに限定されず、他の規格、勧告、及びその拡張に適用することができる。本原理によるＳＡＯフィルタリングは、例えば画像の雑音を除去する際の全般的な画像処理方法としても適用することができる。上記の様々な実施形態は個々に又は組み合わせて使用することができる。例えばＢＯはバンドを２つのサブバンドに分割することを使用することに決めることができる一方、ＥＯはカテゴリの均質化を使用することに決めることができる。
【００９０】
[105]  図１４は、本原理の例示的実施形態の様々な側面を実装することができる例示的システムのブロック図を示す。システム１４００は、以下に記載の様々なコンポーネントを含む装置として実装することができ、上記のプロセスを実行するように構成される。かかる装置の例は、これだけに限定されないが、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受信機、パーソナルビデオ録画システム、接続された家庭用電化製品、及びサーバを含む。上記の例示的ビデオシステムを実装するために、システム１４００は図１４に示し且つ当業者によって知られている通信チャネルを介して他の同様のシステム及びディスプレイに通信可能に結合され得る。
【００９１】
[106]  システム１４００は、上記の様々なプロセスを実施するために自らの中にロードされた命令を実行するように構成される少なくとも１個のプロセッサ１４１０を含み得る。プロセッサ１４１０は、埋込メモリ、入出力インタフェース、及び当技術分野で知られている他の様々な回路を含み得る。システム１４００は、少なくとも１つのメモリ１４２０（例えは揮発性メモリ装置や不揮発性メモリ装置）も含み得る。システム１４００は、これだけに限定されないが、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュ、磁気ディスクドライブ、及び／又は光ディスクドライブを含む不揮発性メモリを含み得る記憶装置１４４０を追加で含むことができる。記憶装置１４４０は、非限定的な例として内蔵記憶装置、付加記憶装置、及び／又はネットワークアクセス可能記憶装置を含み得る。システム１４００は、符号化済みビデオ又は復号済みビデオを提供するためにデータを処理するように構成される符号器／復号器モジュール１４３０も含み得る。
【００９２】
[107]  符号器／復号器モジュール１４３０は、符号化及び／又は復号機能を実行するために装置内に含まれ得るモジュールを表す。符号器／復号器モジュール１４３０内では符号器１００及び復号器２００が使用され得る。知られているように、装置は符号化モジュール及び復号モジュールの一方又は両方を含み得る。加えて、符号器／復号器モジュール１４３０はシステム１４００の別個の要素として実装することができ、又は当業者に知られているようにハードウェアとソフトウェアとの組合せとしてプロセッサ１４１０内に組み込まれても良い。
【００９３】
[108]  上記の様々なプロセスを実行するためにプロセッサ１４１０上にロードされるプログラムコードは記憶装置１４４０内に記憶され、その後プロセッサ１４１０によって実行するためにメモリ１４２０上にロードされ得る。本原理の例示的実施形態によれば、プロセッサ１４１０、メモリ１４２０、記憶装置１４４０、及び符号器／復号器モジュール１４３０の１つ又は複数が、上記で論じたプロセスの実行中にこれだけに限定されないが入力ビデオ、ビットストリーム、等式、公式、行列、変数、演算、及び演算ロジックを含む様々なアイテムの１つ又は複数を記憶し得る。
【００９４】
[109]  システム１４００は、通信チャネル１４６０を介して他の装置と通信することを可能にする通信インタフェース１４５０も含み得る。通信インタフェース１４５０は、これだけに限定されないが、通信チャネル１４６０からのデータを送受信するように構成されるトランシーバを含み得る。通信インタフェースは、これだけに限定されないがモデム又はネットワークカードを含むことができ、通信チャネルは有線媒体及び／又は無線媒体内に実装することができる。システム１４００の様々なコンポーネントは、これだけに限定されないが内部バス、配線、及びプリント回路基板を含む様々な適切な接続を使用して接続し又は通信可能に結合することができる。
【００９５】
[110]  本原理による例示的実施形態は、プロセッサ１４１０により実装されるコンピュータソフトウェアによって、ハードウェアによって、又はハードウェアとソフトウェアとの組合せによって実行することができる。非限定的な例として、本原理による例示的実施形態は１つ又は複数の集積回路によって実装され得る。メモリ１４２０は技術的環境に適した任意の種類のものとすることができ、非限定的な例として光メモリ装置、磁気メモリ装置、半導体ベースのメモリ装置、固定メモリ、脱着可能メモリ等、任意の適切なデータ記憶技術を使用して実装することができる。プロセッサ１４１０は技術的環境に適した任意の種類のものとすることができ、非限定的な例としてマイクロプロセッサ、汎用コンピュータ、専用コンピュータ、及びマルチコアアーキテクチャに基づくプロセッサのうちの１つ又は複数を包含し得る。
【００９６】
[111]  上記では様々な方法を記載し、それらの方法のそれぞれは記載した方法を実現するための１つ又は複数のステップ又はアクションを含む。方法が適切に動作するためにステップ又はアクションの特定の順序が必要でない限り、特定のステップ及び／又はアクションの順序及び／又は使用を修正し若しくは組み合わせることができる。
【００９７】
[112]  本明細書に記載した実装は、例えば方法やプロセス、機器、ソフトウェアプログラム、データストリーム、又は信号によって実装することができる。単一形式の実装の脈絡でしか論じられていなくても（例えば方法としてしか論じられていなくても）、論じられた特徴の実装は他の形式（例えば機器やプログラム）でも実装することができる。機器は例えば適切なハードウェア、ソフトウェア、及びファームウェアによって実装することができる。方法は例えばプロセッサ等の機器によって実装することができ、プロセッサは例えばコンピュータ、マイクロプロセッサ、集積回路、プログラム可能論理装置を含む処理装置全般を指す。プロセッサは、例えばコンピュータ、携帯電話、ポータブル／携帯情報端末（「ＰＤＡ」）、エンドユーザ間の情報の通信を助ける他の装置等の通信装置も含む。
【００９８】
[113]  本原理の「一実施形態」、「或る実施形態」、「一実装」、又は「或る実装」並びにそれらの他の異体に言及することは、実施形態に関連して記載される特定の特徴、構造、特性等が本原理の少なくとも１つの実施形態に含まれることを意味する。従って、本明細書の全体を通して様々な場所に登場する「一実施形態では」、「或る実施形態では」、「一実装では」、又は「或る実装では」という語句並びに他の任意の異体の登場は必ずしも全て同じ実施形態を指すものではない。
【００９９】
[114]  加えて本願又は本願の特許請求の範囲は、様々な情報片を「決定すること」に言及する場合がある。情報を決定することは、例えば情報を推定すること、情報を計算すること、情報を予測すること、又は情報をメモリから取り出すことの１つ又は複数を含み得る。
【０１００】
[115]  更に本願又は本願の特許請求の範囲は、様々な情報片に「アクセスすること」に言及する場合がある。情報にアクセスすることは、例えば情報を受信すること、（例えばメモリから）情報を取り出すこと、情報を記憶すること、情報を処理すること、情報を伝送すること、情報を移動すること、情報を複製すること、情報を消去すること、情報を計算すること、情報を決定すること、情報を予測すること、又は情報を推定することの１つ又は複数を含み得る。
【０１０１】
[116]  加えて本願又は本願の特許請求の範囲は、様々な情報片を「受信すること」に言及する場合がある。受信することは「アクセスすること」と同様に広義語であることを意図する。情報を受信することは、例えば情報にアクセスすること、又は情報を（例えばメモリから）取り出すことの１つ又は複数を含み得る。更に、「受信すること」は、典型的には例えば情報を記憶する操作、情報を処理する操作、情報を伝送する操作、情報を移動する操作、情報を複製する操作、情報を消去する操作、情報を計算する操作、情報を決定する操作、情報を予測する操作、情報を推定する操作等の操作中に何らかの形で関与する。
【０１０２】
[117]  当業者に明らかなように、実装は例えば記憶され又は伝送され得る情報を運ぶようにフォーマットされる多岐にわたる信号を作り出し得る。かかる情報は、例えば方法を実行するための命令や、記載した実装の１つによって作り出されるデータを含み得る。例えば信号は、記載した実施形態のビットストリームを運ぶようにフォーマットされ得る。かかる信号は、例えば電磁波として（例えばスペクトルの無線周波数部分を用いて）、又はベースバンド信号としてフォーマットされ得る。フォーマットすることは、例えばデータストリームを符号化し、符号化データストリームで搬送波を変調することを含み得る。信号が運ぶ情報は、例えばアナログ情報又はデジタル情報とすることができる。信号は、知られているように様々な異なる有線リンク又は無線リンク上で伝送され得る。信号はプロセッサ可読媒体上に記憶され得る。
【図１】
2019528648.tif 000006
【図２】
2019528648.tif 000007
【図３】
2019528648.tif 000008
【図４】
2019528648.tif 000009
【図５Ａ】
2019528648.tif 000010
【図５Ｂ】
2019528648.tif 000011
【図６】
2019528648.tif 000012
【図７Ａ】
2019528648.tif 000013
【図７Ｂ】
2019528648.tif 000014
【図８】
2019528648.tif 000015
【図９】
2019528648.tif 000016
【図１０Ａ】
2019528648.tif 000017
【図１０Ｂ】
2019528648.tif 000018
【図１０Ｃ】
2019528648.tif 000019
【図１１】
2019528648.tif 000020
【図１２Ａ】
2019528648.tif 000021
【図１２Ｂ】
2019528648.tif 000022
【図１３】
2019528648.tif 000023
【図１４】
2019528648.tif 000024
【国際調査報告】
2019528648.tif 000025
2019528648.tif 000026
2019528648.tif 000027