JP6301449B2 - ビット深度に基づいたサンプル適応オフセットスケーリング - Google Patents

ビット深度に基づいたサンプル適応オフセットスケーリング Download PDF

Info

Publication number
JP6301449B2
JP6301449B2 JP2016506619A JP2016506619A JP6301449B2 JP 6301449 B2 JP6301449 B2 JP 6301449B2 JP 2016506619 A JP2016506619 A JP 2016506619A JP 2016506619 A JP2016506619 A JP 2016506619A JP 6301449 B2 JP6301449 B2 JP 6301449B2
Authority
JP
Japan
Prior art keywords
offset value
video data
video
scaled
offset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016506619A
Other languages
English (en)
Other versions
JP2016518770A (ja
JP2016518770A5 (ja
Inventor
キム、ウォ−シク
ソル・ロジャルス、ジョエル
ジョシ、ラジャン・ラクスマン
カークゼウィックズ、マルタ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2016518770A publication Critical patent/JP2016518770A/ja
Publication of JP2016518770A5 publication Critical patent/JP2016518770A5/ja
Application granted granted Critical
Publication of JP6301449B2 publication Critical patent/JP6301449B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Spectrometry And Color Measurement (AREA)

Description

[0001]本開示は一般にビデオコーディングに関し、より詳細には、高効率ビデオコーディング(HEVC)などのビデオコーディング処理におけるサンプル適応オフセット(SAO)フィルタリングに関する。
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part 10,Advanced Video Coding(AVC)、現在開発中の高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
[0003]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部分)が、ツリーブロック、コーディングユニット(CU)および/またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコーディングされた(I)スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0004]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は2次元アレイで構成され、変換係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
[0005]本開示のシステム、方法、およびデバイスは、いくつかの革新的な態様をそれぞれ有し、それらの態様は、1つとして、本明細書で開示する望ましい属性を単独で担うものではない。本開示の一態様は、ビデオコーディングのための装置および方法を提供する。装置は、ビデオデータを記憶するように構成されたメモリユニットを備える。装置は、メモリユニットに動作可能に結合されたプロセッサをさらに備える。プロセッサは、ビデオデータ中の信号振幅の再構成を改善するためにビデオデータに適用されたサンプル適応オフセット(SAO)フィルタのオフセット値を決定するように構成され得る。プロセッサは、ビット深度を示す第1の値と、ビデオデータのスケールファクタを示す第2の値とを決定するようにさらに構成され得る。プロセッサは、スケールファクタをオフセット値に適用することに基づいて、スケーリングされたオフセット値を与え、スケーリングされたオフセット値に従って、ビデオデータの少なくとも1つの色成分をスケーリングするようにさらに構成され得る。
[0006]関係する態様では、プロセッサは、デブロックフィルタをビデオデータの少なくとも1つのブロックに適用することに基づいて、ビデオデータ中の少なくとも1つのブロックに関連付けられたブロックエッジを平滑化するように構成され得る。プロセッサは、オフセット値に適用されたスケールファクタに少なくとも部分的に基づいて、少なくとも1つのブロックの隣接ピクセル値のグループをスケーリングするようにさらに構成され得る。プロセッサは、スケーリングされたグループのエッジ形状に少なくとも部分的に基づいて、エッジオフセットカテゴリを識別し、識別されたエッジオフセットカテゴリに基づいて、SAOフィルタを調整するようにさらに構成され得る。さらなる関係する態様では、装置の機能を実行するための方法も提供される。
[0007]本開示で説明するサンプル適応オフセットフィルタリング技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 [0008]本開示で説明するサンプル適応オフセットフィルタリング技法を実装し得る例示的なビデオエンコーダを示すブロック図。 [0009]本開示で説明するサンプル適応オフセットフィルタリング技法を実装し得る例示的なビデオデコーダを示すブロック図。 [0010]本開示で説明するサンプル適応オフセットフィルタリング技法を実装し得る別の例示的なビデオエンコーダを示すブロック図。 [0011]本開示で説明するサンプル適応オフセットフィルタリング技法を実装し得る別の例示的なビデオデコーダを示すブロック図。 [0012]本開示の1つまたは複数の態様による、様々なマッピング方法に従ってコード化オフセット値とスケーリングされたオフセット値との間の例示的なマッピング曲線を示す図。 [0013]エッジカテゴリの4つの例を示す図。 [0014]本開示の1つまたは複数の態様に従って、ピクセルスケーラを有するビデオエンコーダの一例を示すブロック図。 [0015]本開示の1つまたは複数の態様に従って、ピクセルスケーラを有するビデオデコーダの一例を示すブロック図。 [0016]本開示の1つまたは複数の態様による、SAOスケーリングのための例示的な方法を示すフローチャート。 [0017]本開示の1つまたは複数の態様による、エッジオフセットカテゴリ化のためのピクセル値スケーリングのための例示的な方法を示すフローチャート。
[0018]添付の図面に関して以下に記載する詳細な説明は、本発明の例示的な実施形態を説明するものであり、本発明が実施され得る唯一の実施形態を表すものではない。この説明全体にわたって使用する「例示的」という用語は、「例、事例、または例示の働きをすること」を意味し、必ずしも他の例示的な実施形態よりも好ましいまたは有利であると解釈すべきではない。詳細な説明は、本発明の例示的な実施形態の完全な理解を与える目的で具体的な詳細を含む。いくつかの事例では、いくつかのデバイスはブロック図の形態で示される。
[0019]説明を簡単にするために、方法を一連の行為として図示および説明するが、いくつかの行為は、1つまたは複数の態様によれば、本明細書で図示および説明した順序とは異なる順序で、および/または他の行為と同時に行われ得るので、方法は行為の順序によって限定されないことを理解し、諒解されたい。たとえば、方法は、状態図など、一連の相互に関係する状態またはイベントとして代替的に表現され得ることを、当業者は理解し、諒解するであろう。さらに、1つまたは複数の態様による方法を実装するために、示されたすべての行為が必要とされるとは限らない。
[0020]高効率ビデオコーディング(HEVC)は、ITU−T WP3/16とISO/IEC JTC 1/SC 29/WG 11とのJoint Collaborative Team on Video Coding(JCT−VC)によって最近開発されたビデオコーディングの国際規格である。HEVCは、サンプル適応オフセット(SAO)として知られているループ内フィルタを使用し、それはデブロッキングフィルタの後に適用される。SAOでは、オフセット値は、SAOタイプおよびカテゴリに従って各ピクセルに加算される。タイプとオフセット値とを含むSAOパラメータは、各最大コーディングユニット(LCU)またはコーディングツリーユニット(CTU)についてシグナリングされ得る。SAOタイプはルーマ(luma)およびクロマ(chroma)について別個にシグナリングされ、クロマSAOタイプはCb成分およびCr成分について共有される。LCUまたはCTU内の各色成分について、4つのオフセットがシグナリングされ得る。
[0021]HEVCのための1つの手法では、コード化オフセット値範囲はビット深度に依存し得る。コード化オフセット値範囲は[0,(1<<(Min(bitDepth,10)−5))−1]であり、サイン値は別個にコーディングされる。たとえば、範囲は、8ビットビデオの場合は[0,7]、9ビットビデオの場合は[0,15]、10およびそれ以上のビット深度の場合は[0,31]である。
[0022]一実装形態では、以下に示すように、復号オフセット値は、10よりも大きいビット深度の場合は線形スケーリングされ得る。
offset_scaled=offset_coded<<(bitDepth−10)
[0023]たとえば、ビット深度が12であるとき、各復号オフセット値は、各ピクセルに加算される前に4で乗算される。
[0024]よりビット深度が低いビデオがよりビット深度が高いビデオから生成されるとき、トーンマッピングが使用され、それは線形または非線形のいずれかであり得る。各色成分は、異なるトーンマッピングを有し得る。ただし、いくつかの実装形態では、すべての色成分について、各色成分のビット深度に従って、線形スケーリングのみが適用される。これはSAO性能を制限し、特に10ビットよりも大きいビット深度を有するビデオの場合、コーディング効率損失を引き起こす可能性がある。したがって、入力シーケンス特性に従って変更され得るオフセットスケーリング方法/技法を開発することが望ましい。これにより、SAOはそのコーディング性能を改善する効率を完全に発揮することができる。
[0025]問題を軽減または解決するために、本開示は、復号オフセット値がスケーリングパラメータのセットに従ってスケーリングされ得るオフセットマッピング処理について説明する。スケーリングパラメータは、線形スケーリングと非線形スケーリング(その処理は「非線形スケーリングする」と呼ばれることがある)とを含むあらかじめ定義されたマッピング方法の中から選択するスケーリング技法と、マッピングステップサイズを制御するスケーリングファクタとを含み得る。各色成分(または色成分のグループ)は、独立したスケーリング技法とスケーリングファクタとを有し得る。この技法の利点は、エントロピーコーディング/復号部分を変更する必要がないということであり、このことは、既存のHEVC技法などの上にこの技法を実装することを容易にし得る。
[0026]図1は、本開示で説明するSAO技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを生成するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0027]宛先デバイス14は、リンク16を介して復号されるべき符号化ビデオデータを受信し得る。リンク16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動させることができる任意のタイプの媒体またはデバイスを備え得る。一例では、リンク16は、ソースデバイス12が、符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
[0028]代替的に、符号化データは、出力インターフェース22からストレージデバイス31に出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイス31からアクセスされ得る。ストレージデバイス31は、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス31は、ソースデバイス12によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージデバイス31から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ストレージデバイス31からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
[0029]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例などの、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0030]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ソースデバイス12において、ビデオソース18は、たとえばビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、またはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。
[0031]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に直接送信され得る。符号化ビデオデータは、さらに(または代替的に)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのためにストレージデバイス31上に記憶され得る。
[0032]宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。場合によっては、入力インターフェース28は、受信機および/またはモデムを含み得る。宛先デバイス14の入力インターフェース28は、リンク16を介して符号化ビデオデータを受信する。リンク16を介して通信され、またはストレージデバイス31上に提供された符号化ビデオデータは、ビデオデータを復号する際にビデオデコーダ30などのビデオデコーダが使用するための、ビデオエンコーダ20によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信され、記憶媒体上に記憶される符号化ビデオデータとともに含まれ得、またはファイルサーバを記憶した。
[0033]ディスプレイデバイス32は、宛先デバイス14と一体であってよく、またはその外部にあり得る。いくつかの例では、宛先デバイス14は、一体化されたディスプレイデバイスを含むことができ、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14はディスプレイデバイスであり得る。概して、ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0034]ビデオエンコーダ20およびビデオデコーダ30は、HVECなどを含む他のビデオ圧縮規格に従って動作し得る。「HEVC Working Draft 9」、またはWD9は、Brossら、「High Efficiency Video Coding (HEVC) text specification draft 9」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on Video Coding(JCT−VC)、第11回会合:上海、中国、2012年10月に記載されており、http://phenix.int−evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC−K1003−v8.zipから依然としてダウンロード可能であり、その内容全体は参照により本明細書に組み込まれる。しかしながら、本開示の技法は、いかなる特定のコーディング規格またはコーディング技法にも限定されない。
[0035]代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4,Part 10,Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、特定のコーディング規格に限定されない。ビデオ圧縮規格の他の例としては、MPEG−2およびITU−T H.263がある。
[0036]図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。いくつかの例では、適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0037]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
[0038]JCT−VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。
[0039]概して、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む、最大コーディングユニット(LCU)とも呼ばれる一連のコーディングツリーユニット(CTU)に分割され得ることを記述する。ツリーブロックは、H.264規格のマクロブロックと同様の目的を有する。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従って、コーディングユニット(CU)に分割され得る。たとえば、4分木のルートノードとしてのツリーブロックは、4つの子ノードに分割される場合があり、各子ノードは、今度は親ノードとなり、別の4つの子ノードに分割される場合がある。4分木のリーフノードとしての、最終的な、分割されていない子ノードは、コーディングノード、すなわち、コード化ビデオブロックを備える。コード化ビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。
[0040]CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU:prediction unit)および変換ユニット(TU:transform unit)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が方形である。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルを有するツリーブロックのサイズまでに及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUに関連するシンタックスデータは、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化もしくはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかによって異なり得る。PUは、形状が非方形になるように区分され得る。CUに関連するシンタックスデータは、たとえば、4分木に従って、CUを1つまたは複数のTUに区分することも記述し得る。TUは、形状が方形または非方形であり得る。
[0041]HEVC規格は、TUに従う変換を可能にし、それはCUごとに異なり得る。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、一般にPUと同じサイズであるかまたはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差クワッドツリー」(RQT:residual quad tree)として知られるクワッドツリー構造を使用して、より小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、変換係数を生成するために変換され得、量子化され得る。
[0042]概して、PUは、予測処理に関係するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUは、PUについてのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUのための動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度または1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルの参照ピクチャリスト(たとえば、リスト0、リスト1、またはリストC)を記述し得る。
[0043]概して、TUは、変換処理と量子化処理とのために使用される。1つまたは複数のPUを有する所与のCUは、1つまたは複数の変換ユニット(TU)をも含み得る。予測の後に、ビデオエンコーダ20は、PUに対応する残差値を計算し得る。残差値は、エントロピーコーディングのためのシリアル化変換係数(serialized transform coefficient)を生成するために、TUを使用して変換係数に変換され、量子化され、走査され得るピクセル差分値を備える。本開示では、一般に、CUのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合には、本開示ではまたツリーブロック、すなわち、LCUまたはCUを指すために「ビデオブロック」という用語を使用し得、それはコーディングノードならびにPUおよびTUを含む。
[0044]ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP)は、概して、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
[0045]一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための非対称区分をサポートする。非対称区分では、CUの一方向は区分されないが、他の方向は25%と75%とに区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示によって示される。したがって、たとえば、「2N×nU」は、上部の2N×0.5N PUと下部の2N×1.5N PUとで水平方向に区分された2N×2N CUを指す。
[0046]本開示では、「N×N(NxN)」および「N×N(N by N)」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、16×16(16x16)ピクセルまたは16×16(16 by 16)ピクセルを指すために互換的に使用され得る。概して、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、概して、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ただし、Nは非負整数値を表す。ブロック中のピクセルは行と列で構成され得る。さらに、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはN×Mピクセルを備え得、ただし、Mは必ずしもNに等しいとは限らない。
[0047]CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域においてピクセルデータを備え得、TUは、変換、たとえば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、TUを変換して、CUの変換係数を生成し得る。
[0048]変換係数を生成するための任意の変換の後に、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられ得、ただし、nはmよりも大きい。
[0049]いくつかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ20は適応型走査を実行し得る。量子化変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、たとえば、コンテキスト適応型可変長コーディング(CAVLC:context-adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context-adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
[0050]CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非0であるか否かに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
[0051]概して、いくつかの事例では、LCUまたは他のコーディングユニット中のピクセルへのオフセット値の加算は、コーディングを改善し得る。たとえば、オフセット値は、照明の変化、量子化誤差を補償するために、またはより一般的には、復号ビデオデータを元のビデオデータによりよく似たものにするために、再構成ビデオブロックのピクセルに適用され得る。SAO技法は、ピクセル(またはブロック)のピクセル値に応じて、異なるオフセット値が異なるピクセル(またはピクセルのブロック)に適用されることを可能にする。ピクセルに適用されるオフセット値は、ピクセルの値に基づいて決定され得る。たとえば、ピクセルが第1の帯域内にある値を有する場合、第1の帯域に関連付けられたオフセットがピクセルに適用され得る。ピクセルが第2の帯域内にある値を有する場合、第2の帯域に関連付けられたオフセットがピクセルに適用され得、すべての帯域について以下同様である。
[0052]1つのタイプのSAO実装形態では、各区分(LCUのセットからなる)は、3つのオフセットタイプ(ピクセル分類とも呼ばれる)のうちの1つを有し得る。3つのオフセットタイプは、オフセットなし、帯域分類ベースのオフセットタイプ0/1、およびエッジ分類ベースのタイプEO0/EO1/EO2/EO3である。EO0分類SAOは、現在ピクセルの右および左に配置された周囲ピクセル(本明細書では「水平方向周囲」ピクセルとも呼ばれる)を使用して、現在ピクセルのエッジインデックス値、またはその成分を決定することを含み得る。EO1分類SAOは、現在ピクセルの上および下に配置された周囲ピクセル(本明細書では「垂直方向周囲」ピクセルとも呼ばれる)を使用して、現在ピクセルのエッジインデックス値、またはその成分を決定することを含み得る。EO2分類SAOは、現在ピクセルの左上および右下に配置された周囲ピクセル(本明細書では、現在ピクセルに対してマイナス45度に配置される、とも呼ばれる)を使用して、現在ピクセルのエッジインデックス値、またはその成分を決定することを含み得る。EO3分類SAOは、現在ピクセルの右上および左下に配置された周囲ピクセル(本明細書では、現在ピクセルに対して45度に配置される、とも呼ばれる)を使用して、現在ピクセルのエッジインデックス値、またはその成分を決定することを含み得る。
[0053]以下でより詳細に説明するように、本開示の態様は一般に、復号オフセット値がスケーリングパラメータのセットに従ってスケーリングされるオフセットマッピング処理に関する。本開示の技法は、ビデオエンコーダ20またはビデオデコーダ30によって実行され得る。
[0054]図2は、本開示で説明するSAOシグナリング技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
[0055]図2の例では、ビデオエンコーダ20は、区分ユニット35と、予測処理ユニット41と、参照ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測処理ユニット41は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測処理ユニット46とを含む。ビデオブロックの再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。ブロック境界をフィルタ処理して再構成ビデオからブロッキネスアーティファクトを除去するために、デブロッキングフィルタ72も含まれ得る。図2に示すように、ビデオエンコーダ20はまた、SAOフィルタ74と任意選択の適応ループフィルタ(ALF)76とを含む、追加のループフィルタを含む。デブロッキングフィルタ72およびSAOフィルタ74、ならびに任意選択のALF76は、図2ではループ内フィルタであるものとして示されるが、いくつかの構成では、デブロッキングフィルタ72、SAOフィルタ74、および任意選択のALF76は、ループ後フィルタとして実装され得る。加えて、本開示の技法のいくつかの実装形態では、デブロッキングフィルタ72および任意選択のALF76のうちの1つまたは複数が省略され得る。特に、ALF76はHEVC中に存在しないので、HEVCの実装形態では、ALF76が省略される。
[0056]図2に示すように、ビデオエンコーダ20はビデオデータを受信し、区分ユニット35はデータをビデオブロックに区分する。この区分はまた、たとえば、LCUおよびCUの4分木構造に従う、ビデオブロック区分と同様に、スライス、タイル、または他のより大きいユニットへの区分を含み得る。ビデオエンコーダ20は、一般に、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(および、場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。予測処理ユニット41は、誤差結果(たとえばコーディングレートおよびひずみレベル)に基づいて現在ビデオブロックについて、複数のイントラコーディングモードのうちの1つ、または複数のインターコーディングモードのうちの1つなど、区分サイズを含み得る複数の可能なコーディングモードのうちの1つを選択し得る。予測処理ユニット41は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器50に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器62に与え得る。
[0057]予測処理ユニット41内のイントラ予測処理ユニット46は、空間的圧縮を行うために、コーディングすべき現在ブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して現在ビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対する現在ビデオブロックのインター予測コーディングを実行する。
[0058]動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスを、予測されたスライス(Pスライス)、双方向予測されたスライス(Bスライス)、または一般化されたP/Bスライス(GPBスライス)と指定し得る。動き推定ユニット42および動き補償ユニット44は、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット42によって実行される動き推定は、動きベクトルを生成するプロセスであり、それはビデオブロックの動きを推定する。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。
[0059]予測ブロックは、ピクセル差分に関してコーディングされるべきビデオブロックのPUに厳密に一致すと認められるブロックであり、それは絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって決定され得る。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
[0060]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0061]動き補償ユニット44によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを含み得る。現在のビデオブロックのPUについての動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ20は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
[0062]イントラ予測処理ユニット46は、上記で説明したように、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測処理ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット46は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、予測処理ユニット41は、テストされたモードから使用するのに適切なイントラ予測モードまたはインター予測モードを選択し得る。たとえば、イントラ予測処理ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測処理ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。
[0063]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、予測処理ユニット41は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に提供し得る。エントロピー符号化ユニット56は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、送信ビットストリーム中に構成データを含み得、それは複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る。
[0064]予測処理ユニット41が、インター予測またはイントラ予測のいずれかを介して、現在ビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ20は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、1つまたは複数のTU中に含まれ、変換処理ユニット52に適用され得る。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
[0065]変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。
[0066]量子化の後、エントロピー符号化ユニット56は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングもしくは別のエントロピー符号化方法または技法を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化の後、符号化ビットストリームは、ビデオデコーダ30に送信されるか、またはビデオデコーダ30が後で送信するかまたは取り出すためにアーカイブされ得る。エントロピー符号化ユニット56はまた、コーディングされている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
[0067]逆量子化ユニット58および逆変換処理ユニット60は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット44は、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数(sub-integer)ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための参照ブロックを生成する。
[0068]メモリ64への記憶の前に、再構成残差ブロックは、1つまたは複数のフィルタによってフィルタ処理され得る。所望される場合、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタ72も、再構成残差ブロックをフィルタ処理するために適用され得る。ピクセル遷移を平滑化し、または他の方法でビデオ品質を改善するために、(コーディングループ内でまたはコーディングループ後のいずれかで)他のループフィルタも使用され得る。そのようなループフィルタの一例が、SAOフィルタ74である。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット42と動き補償ユニット44とによって参照ブロックとして使用され得る。
[0069]SAOフィルタ74は、ビデオコーディングの品質を改善するように、SAOフィルタリングのためのオフセット値を決定することができる。ビデオコーディングの品質を改善することは、たとえば、再構成画像が元の画像とより厳密に一致するようにするオフセット値を決定することを含み得る。ビデオエンコーダ20は、たとえば、異なるオフセット値を有する複数のパスを使用してビデオデータをコーディングし、たとえば、レートひずみの計算に基づいて決定されるような、望ましいコーディング品質をもたらすオフセット値を、符号化ビットストリーム中に含めるために選択し得る。
[0070]いくつかの構成では、SAOフィルタ74は、上記で説明したエッジオフセットなどの、1つまたは複数のタイプのオフセットを適用するように構成され得る。SAOフィルタ74はまた、時にはオフセットを適用しないことがあり、このこと自体が、第3のタイプのオフセットであると考えられ得る。SAOフィルタ74によって適用されるオフセットのタイプは、明示的にまたは暗黙的にいずれかで、ビデオデコーダにシグナリングされ得る。エッジオフセットを適用するとき、ピクセルはエッジ情報に基づいて分類され得る。
[0071]いくつかの例では、以下の図4に関してより詳細に説明するように、ビデオエンコーダ20は、復号オフセット値がスケーリングパラメータのセットに従ってスケーリングされるオフセットマッピング処理を実行し得る。
[0072]図2のビデオエンコーダ20は、第1のエッジインデックスを決定し、ここにおいて、第1のエッジインデックスは、第1の周囲ピクセルのルーマ成分のためのエッジインデックスを備える、第2のエッジインデックスを決定すること、ここにおいて、第2のエッジインデックスは、第2の周囲ピクセルのルーマ成分のためのエッジインデックスを備える、と、第1のエッジインデックスおよび第2のエッジインデックスに基づいて第3のエッジインデックスを決定すること、ここにおいて、第3のエッジインデックスは、現在ピクセルのクロマ成分のためのエッジインデックスを備える、と、第3のエッジインデックスに基づいてオフセットを選択することと、オフセットを現在ピクセルのクロマ成分に適用することと、を行うように構成されたビデオエンコーダの一例を表す。
[0073]図3は、本開示で説明するSAO技法を実装し得る例示的なビデオデコーダ30を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット80と、予測処理ユニット81と、逆量子化ユニット86と、逆変換ユニット88と、加算器90と、参照ピクチャメモリ92とを含む。予測処理ユニット81は、インター予測復号のための動き補償ユニット82と、イントラ予測復号のためのイントラ予測処理ユニット84とを含む。ビデオデコーダ30は、いくつかの例では、図2のビデオエンコーダ20に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
[0074]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット80は、量子化係数、動きベクトルおよび他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット80は、動きベクトルと他の予測シンタックス要素とを予測処理ユニット81に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
[0075]ビデオスライスがイントラコード化(I)スライスとしてコーディングされるとき、予測処理ユニット81のイントラ予測処理ユニット84は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化(たとえば、B、PまたはGPB)スライスとしてコーディングされるとき、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ92に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト0およびリスト1を構成し得る。
[0076]動き補償ユニット82は、動きベクトルと他のシンタックス要素とをパースすることによって現在のビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット82は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
[0077]動き補償ユニット82はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット82は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット82は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
[0078]逆量子化ユニット86は、ビットストリームにおいて与えられ、エントロピー復号ユニット80によって復号された量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにビデオエンコーダ20によって計算される量子化パラメータの使用を含み得る。逆変換処理ユニット88は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
[0079]予測処理ユニット81が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ30は、逆変換処理ユニット88からの残差ブロックを動き補償ユニット82によって生成された対応する予測ブロックに加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数の構成要素を表す。加算器90によって形成された復号ビデオブロックは次いで、デブロッキングフィルタ93、SAOフィルタ94、および任意選択のALF95によってフィルタ処理され得る。任意選択のALF95は、いくつかの実装形態から除外され得る任意選択のフィルタを表す。ALF95はHEVC中に存在しないので、HEVCの実装形態では、ALF95が省略されることに留意されたい。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、参照ピクチャメモリ92に記憶され、それはその後の動き補償のために使用される参照ピクチャを記憶する。参照ピクチャメモリ92はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での後の表示のための、復号されたビデオを記憶する。
[0080]関係する態様では、SAOフィルタ94は、上記で説明したSAOフィルタ74と同じフィルタリング(たとえば、エッジオフセットおよび帯域オフセット)の1つまたは複数を適用するように構成され得る。
[0081]図3のビデオデコーダ30は、第1のエッジインデックスを決定すること、ここにおいて、第1のエッジインデックスは、第1の周囲ピクセルのルーマ成分のためのエッジインデックスを備える、と、第2のエッジインデックスを決定すること、ここにおいて、第2のエッジインデックスは、第2の周囲ピクセルのルーマ成分のためのエッジインデックスを備える、と、第1のエッジインデックスおよび第2のエッジインデックスに基づいて第3のエッジインデックスを決定すること、ここにおいて、第3のエッジインデックスは、現在ピクセルのクロマ成分のためのエッジインデックスを備える、と、第3のエッジインデックスに基づいてオフセットを選択することと、オフセットを現在ピクセルのクロマ成分に適用することと、を行うように構成されたビデオデコーダの一例を表す。
[0082]本開示の1つまたは複数の態様によれば、図4および図5は、それぞれ、ビット深度適応SAOオフセットスケーラを有するエンコーダおよびデコーダのブロック図を示す。図4および図5に示す例示的なエンコーダ400およびデコーダ500は、上記で説明した図2のビデオエンコーダ20または図3のビデオデコーダ30の代わりに、またはそれとともに実装され得る。
[0083]図4を参照すると、エンコーダ400は、画像/ビデオデータを受信する予測処理ユニット410などの様々な構成要素を含み得る。図示のように、予測処理ユニット410は変換/量子化ユニット412に動作可能に結合され得、変換/量子化ユニット412はエントロピーエンコーダ414と逆量子化/逆変換ユニット416の両方に動作可能に結合される。エントロピーエンコーダ414は、符号化ビデオビットストリームを与え得る。逆変換ユニット416は予測補償器418に動作可能に結合され得、予測補償器418はデブロックフィルタ420に動作可能に結合され、デブロックフィルタ420はSAOフィルタ428とSAOパラメータ推定器422の両方に動作可能に結合される。SAOパラメータ推定器422はオフセットダウンスケーラ424に動作可能に結合され得、オフセットダウンスケーラ424はエントロピーエンコーダ414とオフセットアップスケーラ426の両方に結合される。オフセットアップスケーラ426はSAOフィルタ428に動作可能に結合され得、SAOフィルタ428は参照ピクチャメモリ430に動作可能であり、参照ピクチャメモリ430は予測処理ユニット410に動作可能に結合される。
[0084]エンコーダ400の構成要素の多くは、図2に関して上記で説明したエンコーダ20の構成要素に対応することに留意されたい。ただし、図4のエンコーダ400の例では、SAOパラメータ推定器422は、推定されたオフセット値を各ピクセルに適用する前に、デコーダ(たとえば、図5のデコーダ500)との不整合を回避するために、推定されたオフセット値をスケールダウンし、次いで推定されたオフセット値をスケールアップするようにオフセットダウンスケーラ424およびオフセットアップスケーラ426と連携して働く。
[0085]図5を参照すると、デコーダ500は、符号化ビデオビットストリームを受信するエントロピー復号ユニット510などの様々な構成要素を含み得る。エントロピー復号ユニット510はオフセットアップスケーラ512と逆量子化/逆変換ユニット514とに動作可能に結合され得る。オフセットアップスケーラ512はSAOフィルタ520に動作可能に結合され得る。図示のように、逆変換ユニット514は予測補償ユニット516に結合され得、予測補償ユニット516はデブロックフィルタ518に動作可能に結合され、デブロックフィルタ518はSAOフィルタ520に動作可能に結合される。図示のように、SAOフィルタ520は復号画像/ビデオデータを与え得、メモリユニット522に動作可能に結合され得、メモリユニット522は予測補償ユニット516に動作可能に結合される。
[0086]デコーダ500の構成要素の多くは図3に関して上記で説明したデコーダ30の構成要素に対応するが、隣接構成要素に対する配置および構成は異なる。さらに、図5のデコーダ500の例では、SAOフィルタ520と通信しているオフセットアップスケーラ512が含まれている。図4および図5に示す例では、エンコーダ400側において、推定されたオフセット値は、各ピクセルに適用される前に、デコーダ500との不整合を回避するために、最初にスケールダウンされ、次いでスケールアップされることに再度留意されたい。ビット深度に基づいたオフセットスケーリングの例が以下で与えられる。
[0087]一例では、各色成分に対する柔軟なスケーリングファクタを用いた線形スケーリングは、エンコーダおよび/またはデコーダ(たとえば、図4のエンコーダ400のSAOパラメータ推定器422、オフセットダウンスケーラ424、およびオフセットアップスケーラ426、ならびに/または図5のオフセットアップスケーラ512)によって実行され得る。たとえば、コード化/復号オフセット値はHEVCの場合と同様に線形スケーリングされるが、以下のような指定されたスケールファクタを用いる。スケールファクタは、各色成分(または色成分のグループ、すなわち、ルーマ用の1つのグループおよびクロマ用の別のグループ)ごとに異なり得る。
offset_scaled=offset_coded<<scale_factor
[0088]別の実施形態では、HEVC関数
offset_scaled=offset_coded<<(bitDepth−Min(bitDepth,10))
はクロマ成分に適用されるが、別個のscale_factorはルーマ成分に使用され、ここで、scale_factorは明示的にシグナリングされ得るか、または所与のビット深度に対して固定であり得るかのいずれかである。
[0089]別の例では、各色成分に対する柔軟なスケーリングファクタを用いた非線形スケーリングは、エンコーダおよび/またはデコーダによって実行され得る。コード化/復号オフセット値は非線形にスケーリングされる。以下のC型のコードは、この非線形マッピングがどのように実装され得るかを示す。
offset_scaled=0;
for(Int i=0;i<offset_coded;i++)

offset_scaled+=1<<((i>>3)+(scale_factor−1));

ここで、<<および>>はそれぞれ、左ビットシフト演算子および右ビットシフト演算子である。
[0090]上記の例におけるループは「offset_coded」のエントロピー復号手順と組み合わせられ得、このことは計算的複雑さをさらに低減し得ることに留意されたい。以下の表1は、scale_factor=2であるときのこの例に従ってコード化/復号オフセット値およびスケーリングされたオフセット値を示す。
[0091]上記に示すように、また、図6を参照すると、非線形マッピングは単純なシフトおよび加算演算を使用して実行され得る。トーンマッピング特性を完全に反映するために、テーブルマッピングを使用し得、そこにおいてテーブルがコード化/復号オフセット値およびスケーリングされたオフセット値の1対1マッピングを含む。他の非線形マッピングも実装され得る。
[0092]たとえば、図6に示すように、マッピングの各部分が異なる傾きを有する線形である、区分的線形マッピングが使用され得る。たとえば、「offset_coded」が8未満(図6のトレース100)であるときに1のscale_factorを用いた線形方程式が使用され得、そうでない場合に2のscale_factor(図6のトレース104)が使用され得る。
[0093]別の例では、線形スケーリングおよび非線形スケーリングの組合せがエンコーダおよび/またはデコーダによって実行され得る。たとえば、所与のビット深度および所与の色成分のための特定のスケーリング技法およびケーリングファクタを選択することが可能である。たとえば、ビット深度が10よりも大きいとき、上記で指定された非線形スケーリング手法は2のスケーリングファクタを用いてルーマ成分に適用され得るが、線形スケーリングは2のスケーリングファクタを用いてクロマ成分に適用され得る。
[0094]各色成分(または色成分のグループ)のためのスケーリング技法およびスケーリングファクタは明示的にシグナリングされ得る。たとえば、これらのパラメータはシーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダまたはLCU/CTUのレベルでシグナリングされ得る。HEVCワーキングドラフトバージョン1との後方互換性のために、一例では、そのような手法はビット深度が10より大きいときに適用され得る。
[0095]いくつかの事例では、非スケーリングが実行され得る。たとえば、上記で説明したスケールファクタ0を用いた線形スケーリング技法は非スケーリングを意味し得る。そのような場合、コード化/復号オフセット値の値は各ピクセルに適用されたオフセット値とまったく同じであり得る。一例では、オフセット値範囲は変化しない場合がある。別の例では、オフセット値範囲は、強度が大きいオフセット値(たとえば、定義されたまたはしきい値強度値を超えるオフセット値)をカバーするために増大し得る。いくつかの事例では、非スケーリングはルーマ成分のみに適用され得るが、(たとえば、HEVCなどで指定されるような)線形スケーリングはクロマ成分に適用され得る。他の事例では、非スケーリングはルーマ成分とクロマ成分の両方に適用され得る。
[0096]いくつかの例では、エッジオフセットカテゴリ化のためのピクセル値スケーリングが実行され得る。そのような手法では、SAOオフセットは上記で説明した例のうちの1つに従ってスケーリングされ得、加えて、デブロックフィルタの後のピクセル値はエッジオフセットカテゴリを決定するためにSAOオフセットと同様にスケーリングされ得る。
[0097]HEVCでは、5つのエッジカテゴリはエッジ形状に従って定義され得る。図7はエッジカテゴリの4つ(すなわち、上部ライン上の4つのエッジ形状)を示すが、これらの4つのカテゴリのうちの1つに当てはまらない他のエッジ形状(たとえば、下部ライン上の2つのエッジ形状)は「他の」カテゴリ(カテゴリ0)に分類され得る。
[0098]エッジカテゴリを決定するために、隣接ピクセルはエッジ形状をチェックまたは決定するために比較され得る。一例として、決定されたエッジ形状が正確であるかどうかをチェックするために、隣接ピクセルは互いにまたは現在ピクセルと比較され得る。そのような手法では、現在ピクセルおよび隣接ピクセルはSAOオフセットのスケーリングと同様にスケーリングされ得る。たとえば、ビット深度が10より大きいとき、現在ピクセルおよび隣接ピクセルは
p’=p>>(bitDepth−Min(bitDepth,10))
として線形にダウンスケーリングされ得、ここでpはデブロックフィルタリングの後のピクセル値である。p’はエッジオフセットカテゴリを決定するために使用され、オフセット値はpに加算されることに留意されたい。非線形スケーリングが実装されるとき、(1つまたは複数の)同様の動作が実行され得る。
[0099]図8に示す例示的なビデオエンコーダ800および図9に示すビデオデコーダ900は、上記で説明したピクセルスケーリング動作を実行するために使用され得る。図8は、本開示の態様に従って、ピクセルスケーラ822を有するビデオエンコーダ800の一例を示すブロック図を与える。一実装形態では、図示のように、ピクセルスケーラ822はデブロックフィルタ820とSAOフィルタ830とに動作可能に結合され得る。図8に示すピクセルスケーラ822以外のエンコーダ800の構成要素は、図4のエンコーダ400の構成要素と同じであることに留意されたい。エンコーダ800の(1つまたは複数の)構成要素はわずかに異なって配置され得、ピクセルスケーラ822はエンコーダ800の(1つまたは複数の)他の構成要素と直接通信または間接通信し得ることにさらに留意されたい。
[0100]図9は、本開示の態様に従って、ピクセルスケーラ920を有するビデオデコーダ900の一例を示すブロック図を与える。一実装形態では、図示のように、ピクセルスケーラ920はデブロックフィルタ918とSAOフィルタ922とに動作可能に結合され得る。図9に示すピクセルスケーラ920以外のデコーダ900の構成要素は、図5のデコーダ500の構成要素と同じであることに留意されたい。デコーダ900の(1つまたは複数の)構成要素はわずかに異なって配置され得、ピクセルスケーラ918はデコーダ900の(1つまたは複数の)他の構成要素と直接通信または間接通信し得ることにさらに留意されたい。
[0101]いくつかの事例では、図8および図9に示すビデオエンコーダ800およびビデオデコーダ900はそれぞれ、またはそれらの変形形態は、本開示で説明する他の例示的なエンコーダ/デコーダ、またはそれらの構成要素とともに、またはその代わりに使用され得る。たとえば、図9に示すビデオエンコーダの構成要素(たとえば、ピクセルスケーラ822、SAOパラメータ推定器824、オフセットダウンスケーラ826、およびオフセットアップスケーラ828)は、本開示の技法を実行するために図2のビデオエンコーダ20とともに実装され得る。同様に、図9に示すビデオデコーダの1つまたは複数の構成要素(たとえば、ピクセルスケーラ920およびオフセットアップスケーラ912)は、本開示の技法を実行するために図3のビデオデコーダ30とともに使用され得る。
[0102]本開示で説明するように、「ビデオコーディング」はビデオ符号化および/またはビデオ復号を指し得る。さらに、「ビデオコーダ」は、適用可能な場合、ビデオエンコーダ(ビデオエンコーダ20、400、800、またはそれらの変形形態など)またはビデオデコーダ(ビデオデコーダ30、500、900、またはそれらの変形形態など)を指し得る。
[0103]図10は、本開示の1つまたは複数の態様に従って、SAOスケーリングのための方法1000を示すフローチャートである。図10に示すステップは、ビデオコーダ、たとえば、ビデオエンコーダ(たとえば、図4のエンコーダ400または図8のエンコーダ800)、ビデオデコーダ(たとえば、図5のデコーダ500または図9のデコーダ900)など、またはそれらの(1つまたは複数の)構成要素によって実行され得る。
[0104]1つの手法では、方法1000は、ブロック1010において、ビデオデータ中の信号振幅の再構成を改善するためにビデオデータに適用されたSAOフィルタのオフセット値を決定することを含み得る。ブロック1010は、CTUなどのレベルでシグナリングされたオフセット値を受信することを含み得る。
[0105]方法1000は、ブロック1020において、ビット深度を示す第1の値と、ビデオデータのスケールファクタを示す第2の値とを決定することをさらに含み得る。ブロック1020は、ビデオデータの少なくとも1つのピクチャに関連付けられたスケールファクタを示す第2の値を受信すること、第2の値はPPSなどのレベルでシグナリングされる、を含み得る。代替として、または加えて、ブロック1020は、ビデオデータのピクチャのシーケンスに関連付けられたビット深度を示す第1の値を受信することを含み得る。
[0106]方法1000は、ブロック1030において、スケールファクタをオフセット値に適用することに基づいて、スケーリングされたオフセット値を与えることをさらに含み得る。ブロック1030は、スケールファクタに少なくとも部分的に基づいて、オフセット値を非線形スケーリングすることによって、スケーリングされたオフセット値を与えることを含み得る。代替として、または加えて、ブロック1030は、少なくとも1つの色成分に関連付けられた所与のビット深度に少なくとも部分的に基づいて、少なくとも1つの色成分を線形または非線形のいずれかでスケーリングするかどうかを決定することを含み得る。
[0107]一例では、ブロック1030は、それぞれ第1のグループと第2のグループとに関連付けられた第1のビット深度および第2のビット深度に基づいて、線形または非線形のいずれかで色成分の第1のグループと第2のグループとをスケーリングするかどうかを決定することを含み得る。ブロック1030は、第1のスケーリングされたオフセット値に従ってビデオデータの成分の第1のグループを線形スケーリングし、第2のスケーリングされたオフセット値に従ってビデオデータの色成分の第2のグループを非線形スケーリングすることによって、少なくとも1つの色成分をスケーリングすることをさらに含み得る。
[0108]方法1000は、ブロック1040において、スケーリングされたオフセット値に従って、ビデオデータの少なくとも1つの色成分をスケーリングすることをさらに含み得る。ブロック1040は、ビデオデータのブロックに関連付けられたルーマ値または少なくとも1つのクロマ値のうちの1つを備える少なくとも1つの色成分をスケーリングすることを含み得る。
[0109]方法1000がビデオデコーダによって実行される一実施形態では、ブロック1010、1020、および/または1030は図5のデコーダ500のエントロピー復号ユニット510(または図9のデコーダ900のエントロピー復号ユニット910)によって実行され得る。エントロピー復号ユニット510は、デコーダ500の(1つまたは複数の)他の構成要素、たとえば、予測補償ユニット516、デブロックフィルタ518、および/もしくはSAOフィルタ520、またはそれらの(1つまたは複数の)サブ構成要素などとともに動作することによって、ブロック1010、1020、および/または1030を実行するように構成され得る。ブロック1040は、オフセットアップスケーラ512などによって、単独でまたはデコーダ500の(1つまたは複数の)他の構成要素、たとえば、デブロックフィルタ518、エントロピー復号ユニット510、および/もしくはSAOフィルタ520、またはそれらの(1つまたは複数の)サブ構成要素とともに実行され得る。
[0110]たとえば、エントロピー復号ユニット510は、ビデオデータ中の信号振幅などの再構成を改善するためにビデオデータに適用されたSAOフィルタ520の符号化オフセット値を受信することによって、ブロック1010を実行するように構成され得る。エントロピー復号ユニット510は、ビット深度を示す第1の値と、ビデオデータのスケールファクタを示す第2の値とを決定することによって、また、符号化オフセット値をエントロピー復号することに基づいて、復号オフセット値を与えることによって、ブロック1020を実行するように構成され得る。エントロピー復号ユニット510は、スケールファクタを復号オフセット値に適用することに基づいて、スケーリングされたオフセット値などを与えることによって、ブロック1030を実行するように構成され得る。オフセットアップスケーラ512は、スケーリングされたオフセット値またはその変形形態に従って、ビデオデータの少なくとも1つの色成分をスケーリングすることによって、ブロック1040を実行するように構成され得る。
[0111]方法1000がビデオエンコーダによって実行される別の実施形態では、ブロック1010、1020、および/または1030は図4のエンコーダ400のSAOパラメータ推定器422(または図8のエンコーダ800のSAOパラメータ推定器824)によって実行され得る。SAOパラメータ推定器422は、エンコーダ400の(1つまたは複数の)他の構成要素、たとえば、エントロピーコーダ414、デブロックフィルタ420、予測補償器418、および/もしくはSAOフィルタ428、またはそれらの(1つまたは複数の)サブ構成要素などとともに動作することによって、ブロック1010、1020、および/または1030を実行するように構成され得る。ブロック1040は、オフセットダウンスケーラ424およびオフセットアップスケーラ426によって実行され得る。オフセットダウンスケーラ424および/またはオフセットアップスケーラ426は、エンコーダ400の(1つまたは複数の)他の構成要素、たとえば、エントロピーコーダ414、デブロックフィルタ420、SAOパラメータ推定器422および/もしくはSAOフィルタ428、またはそれらの(1つまたは複数の)サブ構成要素などとともに動作することによって、ブロック1040を実行するように構成され得る。
[0112]たとえば、SAOパラメータ推定器422は、ビデオデータ中の信号振幅などの再構成を改善するためにビデオデータに適用されたSAOフィルタ428のオフセット値を決定することによって、ブロック1010を実行するように構成され得る。SAOパラメータ推定器422は、ビット深度を示す第1の値と、ビデオデータのスケールファクタを示す第2の値とを生成することによって、また、オフセット値をエントロピー符号化することに基づいて、符号化オフセット値を与えることによって、ブロック1020を実行するように構成され得る。SAOパラメータ推定器422は、スケールファクタを符号化オフセット値に適用することに基づいて、スケーリングされたオフセット値などを与えることによって、ブロック1030を実行するように構成され得る。オフセットダウンスケーラ424およびオフセットアップスケーラ426は、スケーリングされたオフセット値またはその変形形態に従って、ビデオデータの少なくとも1つの色成分をスケーリングすることによって、ブロック1040を実行するように構成され得る。
[0113]図11は、本開示の1つまたは複数の態様に従って、方法1100とともにまたはそれとは無関係に実行され得るエッジオフセットカテゴリ化のためのピクセル値スケーリングのための方法1100を示すフローチャートを与える。図11に示すステップは、ビデオコーダ、たとえば、ビデオエンコーダ(たとえば、図8のエンコーダ800)、ビデオデコーダ(たとえば、図9のデコーダ900)など、またはそれらの(1つまたは複数の)構成要素によって実行され得る。
[0114]1つの手法では、方法1100は、ブロック1110において、デブロックフィルタをビデオデータの少なくとも1つのブロックに適用することに基づいて、ビデオデータ中の少なくとも1つのブロックに関連付けられたブロックエッジを平滑化することを含み得る。方法1100は、ブロック1120において、オフセット値に適用されたスケールファクタに少なくとも部分的に基づいて、少なくとも1つのブロックの隣接ピクセル値のグループをスケーリングすることをさらに含み得る。方法1100は、ブロック1130において、スケーリングされたグループのエッジ形状に少なくとも部分的に基づいて、エッジオフセットカテゴリを識別することをさらに含み得る。方法1100は、ブロック1140において、識別されたエッジオフセットカテゴリに基づいて、SAOフィルタを調整することをさらに含み得る。
[0115]関係する態様では、ビデオデータを記憶するように構成されたメモリユニットを含む、ビデオコーディングのための装置が提供される。装置は、メモリと通信している少なくとも1つのプロセッサを含み得る、ここにおいて、少なくとも1つのプロセッサは、図10のブロック1010、1020、1030、および/または1040を実行するように構成され得る。代替として、または加えて、少なくとも1つのプロセッサは、図11のブロック1110、1120、1130、および/または1140を実行するように構成され得る。
[0116]さらなる関係する態様では、装置の少なくとも1つのプロセッサは、ビデオデコーダ(たとえば、デコーダ500または900)および/またはビデオエンコーダ(たとえば、エンコーダ400または800)の1つまたは複数の構成要素内に含まれるスタンドアロンプロセッサおよび/または(1つまたは複数の)サブ構成要素プロセッサを含み得る。装置のメモリユニットは、ビデオデータを処理するために特に構成され得る。たとえば、メモリユニットは、ビデオコーディング処理を遅らせることなしに、ビデオデータの処理、記憶、取出しを行うのに十分なサイズおよび速度の1つまたは複数のソリッドステートドライブ(SSD)および/または(1つまたは複数の)フラッシュメモリ構成要素を含み得る。一実装形態では、メモリユニットは、メモリユニットによってビデオデータの処理を促進するためのメモリ多重化構成要素、2次元キャッシュユニットなどを含み得る。
[0117]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0118]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[0119]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価な集積回路もしくはディスクリート論理回路などの1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用ハードウェアおよび/もしくはソフトウェアモジュール内に与えられ得、または複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素において十分に実装され得る。
[0120]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオコーディングのための装置であって、前記装置は下記を備える、
ビデオデータを記憶するように構成されたメモリユニットと、
前記メモリユニットと通信しているプロセッサであって、
前記ビデオデータ中の信号振幅の再構成を改善するために前記ビデオデータに適用されたサンプル適応オフセット(SAO)フィルタのオフセット値を決定し、
ビット深度を示す第1の値と、前記ビデオデータのスケールファクタを示す第2の値とを決定し、
前記スケールファクタを前記オフセット値に適用することに基づいて、スケーリングされたオフセット値を与え、
前記スケーリングされたオフセット値に従って、前記ビデオデータの少なくとも1つの色成分をスケーリングする、
ように構成される前記プロセッサ。
[C2]
前記プロセッサが、コーディングツリーユニット(CTU)のレベルでシグナリングされた前記オフセット値を受信するようにさらに構成される、C1に記載の装置。
[C3]
前記プロセッサが、前記ビデオデータの少なくとも1つのピクチャに関連付けられた前記スケールファクタを示す前記第2の値を受信するようにさらに構成され、前記第2の値がピクチャパラメータセット(PPS)のレベルでシグナリングされる、C1に記載の装置。
[C4]
前記プロセッサが、前記ビデオデータのピクチャのシーケンスに関連付けられた前記ビット深度を示す前記第1の値を受信するようにさらに構成される、C1に記載の装置。
[C5]
前記プロセッサが、前記ビデオデータのブロックに関連付けられたルーマ値または少なくとも1つのクロマ値のうちの1つを備える前記少なくとも1つの色成分をスケーリングするようにさらに構成される、C1に記載の装置。
[C6]
前記プロセッサが、前記スケールファクタに少なくとも部分的に基づいて前記オフセット値を線形スケーリングすることに基づいて、前記スケーリングされたオフセット値を与えるようにさらに構成される、C1に記載の装置。
[C7]
前記プロセッサが、前記スケールファクタに少なくとも部分的に基づいて前記オフセット値を非線形スケーリングすることに基づいて、前記スケーリングされたオフセット値を与えるようにさらに構成される、C1に記載の装置。
[C8]
前記プロセッサが、前記少なくとも1つの色成分に関連付けられた所与のビット深度に少なくとも部分的に基づいて、前記少なくとも1つの色成分を線形または非線形のいずれかでスケーリングするかどうかを決定するようにさらに構成される、C1に記載の装置。
[C9]
前記プロセッサが、それぞれ第1のグループと第2のグループとに関連付けられた第1のビット深度および第2のビット深度に基づいて、色成分の前記第1のグループと前記第2のグループとを線形または非線形のいずれかでスケーリングするかどうかを決定するようにさらに構成される、C1に記載の装置。
[C10]
前記プロセッサが、
第1のスケーリングされたオフセット値に従って、前記ビデオデータの色成分の第1のグループを線形スケーリングすることと、
第2のスケーリングされたオフセット値に従って、前記ビデオデータの色成分の第2のグループを非線形スケーリングすることと、
に基づいて、前記少なくとも1つの色成分をスケーリングするようにさらに構成される、C9に記載の装置。
[C11]
前記プロセッサが、
デブロックフィルタを前記ビデオデータの少なくとも1つのブロックに適用することに基づいて、前記ビデオデータ中の前記少なくとも1つのブロックに関連付けられたブロックエッジを平滑化し、
前記オフセット値に適用された前記スケールファクタに少なくとも部分的に基づいて、前記少なくとも1つのブロックの隣接ピクセル値のグループをスケーリングし、
前記スケーリングされたグループのエッジ形状に少なくとも部分的に基づいて、エッジオフセットカテゴリを識別し、
前記識別されたエッジオフセットカテゴリに基づいて、前記SAOフィルタを調整する、
ようにさらに構成される、C1に記載の装置。
[C12]
前記装置がデコーダを備え、
前記プロセッサが、
前記オフセット値をエントロピー復号することに基づいて、復号オフセット値を与え、
前記スケールファクタを前記復号オフセット値に適用することに基づいて、前記スケーリングされたオフセット値を与える、
ようにさらに構成される、C1に記載の装置。
[C13]
前記装置がエンコーダを備え、
前記プロセッサが、
前記オフセット値をエントロピー符号化することに基づいて、符号化オフセット値を与え、
前記スケールファクタを前記符号化オフセット値に適用することに基づいて、前記スケーリングされたオフセット値を与える、
ようにさらに構成される、C1に記載の装置。
[C14]
ビデオデータを復号する方法であって、前記方法は下記を備える、
前記ビデオデータ中の信号振幅の再構成を改善するために前記ビデオデータに適用されたサンプル適応オフセット(SAO)フィルタの符号化オフセット値を受信することと、
ビット深度を示す第1の値と、前記ビデオデータのスケールファクタを示す第2の値とを決定することと、
前記符号化オフセット値をエントロピー復号することに基づいて、復号オフセット値を与えることと、
前記スケールファクタを前記復号オフセット値に適用することに基づいて、スケーリングされたオフセット値を与えることと、
前記スケーリングされたオフセット値に従って、前記ビデオデータの少なくとも1つの色成分をスケーリングすること。
[C15]
コーディングツリーユニット(CTU)のレベルでシグナリングされた前記オフセット値を受信することをさらに備える、C14に記載の方法。
[C16]
前記ビデオデータの少なくとも1つのピクチャに関連付けられた前記スケールファクタを示す前記第2の値を受信することをさらに備える、前記第2の値がピクチャパラメータセット(PPS)のレベルでシグナリングされる、C14に記載の方法。
[C17]
前記スケーリングされたオフセット値を与えることが、前記スケールファクタに少なくとも部分的に基づいて、前記オフセット値を線形スケーリングすることを備える、C14に記載の方法。
[C18]
前記スケーリングされたオフセット値を与えることが、前記スケールファクタに少なくとも部分的に基づいて、前記オフセット値を非線形スケーリングすることを備える、C14に記載の方法。
[C19]
デブロックフィルタを前記ビデオデータの少なくとも1つのブロックに適用することに基づいて、前記ビデオデータ中の前記少なくとも1つのブロックに関連付けられたブロックエッジを平滑化することと、
前記オフセット値に適用された前記スケールファクタに少なくとも部分的に基づいて、前記少なくとも1つのブロックの隣接ピクセル値のグループをスケーリングすることと、
前記スケーリングされたグループのエッジ形状に少なくとも部分的に基づいて、エッジオフセットカテゴリを識別することと、
前記識別されたエッジオフセットカテゴリに基づいて、前記SAOフィルタを調整することと、
をさらに備える、C14に記載の方法。
[C20]
ビデオデータを符号化する方法であって、前記方法は下記を備える、
前記ビデオデータ中の信号振幅の再構成を改善するために前記ビデオデータに適用されたサンプル適応オフセット(SAO)フィルタのオフセット値を決定することと、
ビット深度を示す第1の値と、前記ビデオデータのスケールファクタを示す第2の値とを生成することと、
前記オフセット値をエントロピー符号化することに基づいて、符号化オフセット値を与えることと、
前記スケールファクタを前記符号化オフセット値に適用することに基づいて、スケーリングされたオフセット値を与えることと、
前記スケーリングされたオフセット値に従って、前記ビデオデータの少なくとも1つの色成分をスケーリングすること。
[C21]
コーディングツリーユニット(CTU)のレベルでシグナリングされた前記オフセット値を受信することをさらに備える、C20に記載の方法。
[C22]
前記ビデオデータの少なくとも1つのピクチャに関連付けられた前記スケールファクタを示す前記第2の値を受信することをさらに備える、前記第2の値がピクチャパラメータセット(PPS)のレベルでシグナリングされる、C20に記載の方法。
[C23]
デブロックフィルタを前記ビデオデータの少なくとも1つのブロックに適用することに基づいて、前記ビデオデータ中の前記少なくとも1つのブロックに関連付けられたブロックエッジを平滑化することと、
前記オフセット値に適用された前記スケールファクタに少なくとも部分的に基づいて、前記少なくとも1つのブロックの隣接ピクセル値のグループをスケーリングすることと、
前記スケーリングされたグループのエッジ形状に少なくとも部分的に基づいて、エッジオフセットカテゴリを識別することと、
前記識別されたエッジオフセットカテゴリに基づいて、前記SAOフィルタを調整することと、
をさらに備える、C20に記載の方法。
[C24]
ビデオコーディングのための装置であって、前記装置は下記を備える、
ビデオデータ中の信号振幅の再構成を改善するために前記ビデオデータに適用されたサンプル適応オフセット(SAO)フィルタのオフセット値を決定するための手段と、
ビット深度を示す第1の値と、前記ビデオデータのスケールファクタを示す第2の値とを決定するための手段と、
前記スケールファクタを前記オフセット値に適用することに基づいて、スケーリングされたオフセット値を与えるための手段と、
前記スケーリングされたオフセット値に従って、前記ビデオデータの少なくとも1つの色成分をスケーリングするための手段。
[C25]
コーディングツリーユニット(CTU)のレベルでシグナリングされた前記オフセット値を受信するための手段をさらに備える、C24に記載の装置。
[C26]
前記ビデオデータの少なくとも1つのピクチャに関連付けられた前記スケールファクタを示す前記第2の値を受信するための手段をさらに備え、前記第2の値がピクチャパラメータセット(PPS)のレベルでシグナリングされる、C24に記載の装置。
[C27]
デブロックフィルタを前記ビデオデータの少なくとも1つのブロックに適用することに基づいて、前記ビデオデータ中の前記少なくとも1つのブロックに関連付けられたブロックエッジを平滑化するための手段と、
前記オフセット値に適用された前記スケールファクタに少なくとも部分的に基づいて、前記少なくとも1つのブロックの隣接ピクセル値のグループをスケーリングするための手段と、
前記スケーリングされたグループのエッジ形状に少なくとも部分的に基づいて、エッジオフセットカテゴリを識別するための手段と、
前記識別されたエッジオフセットカテゴリに基づいて、前記SAOフィルタを調整するための手段と、
をさらに備える、C24に記載の装置。
[C28]
実行されると、装置に、
ビデオデータ中の信号振幅の再構成を改善するために前記ビデオデータに適用されたサンプル適応オフセット(SAO)フィルタのオフセット値を決定することと、
ビット深度を示す第1の値と、前記ビデオデータのスケールファクタを示す第2の値とを決定することと、
前記スケールファクタを前記オフセット値に適用することに基づいて、スケーリングされたオフセット値を与えることと、
前記スケーリングされたオフセット値に従って、前記ビデオデータの少なくとも1つの色成分をスケーリングすることと、
を備える処理を実行させるコードを備える非一時的コンピュータ可読媒体。

Claims (15)

  1. ビデオ復号のための装置であって、前記装置は下記を備える、
    複数の色成分を含む前記再構成されたビデオデータに適用されたサンプル適応オフセット(SAO)フィルタのオフセット値を、符号化ビデオビットストリームにおいて、受信するための手段と
    前記再構成されたビデオデータの第1の色成分の第1のスケールファクタを示す第1の値および第2のスケールファクタを示す第2の値を、前記ビデオデータのビット深度が10ビットよりも大きい場合、前記符号化ビデオビットストリームのピクチャパラメータセット(PPS)において、受信するための手段、ここで、前記第1のスケールファクタは、前記再構成されたビデオデータの第2の色成分の前記第2のスケールファクタとは異なる、と、
    前記第1のスケールファクタを前記オフセット値に適用することに基づいて、スケーリングされたオフセット値を与えるための手段と
    前記ビデオデータの前記第1の色成分に前記スケーリングされたオフセット値を加算することでスケーリングされた色成分を生成するための手段と
    前記スケーリングされた色成分に従って、前記再構成されたビデオデータを復号するための手段。
  2. ビデオ符号化のための装置であって、前記装置は下記を備える、
    複数の色成分を含む前記再構成されたビデオデータに適用されたサンプル適応オフセット(SAO)フィルタのオフセット値を、符号化ビデオビットストリームにおいて、シグナリングするための手段と、
    前記再構成されたビデオデータの第1の色成分の第1のスケールファクタを示す第1の値および第2のスケールファクタを示す第2の値を、前記ビデオデータのビット深度が10ビットよりも大きい場合、前記符号化ビデオビットストリームのピクチャパラメータセット(PPS)において、シグナリングするための手段、ここで、前記第1のスケールファクタは、前記再構成されたビデオデータの第2の色成分の前記第2のスケールファクタとは異なる、と、
    前記第1のスケールファクタを前記オフセット値に適用することに基づいて、スケーリングされたオフセット値を与えるための手段と、
    前記ビデオデータの前記第1の色成分に前記スケーリングされたオフセット値を加算することでスケーリングされた色成分を生成するための手段と、
    前記スケーリングされた色成分に従って、前記再構成されたビデオデータを符号化するための手段。
  3. ーディングツリーユニット(CTU)のレベルでシグナリングされた前記オフセット値を受信するようにさらに構成される、請求項1または2に記載の装置。
  4. 記ビデオデータのピクチャのシーケンスに関連付けられたビット深度を示す第3の値を受信するようにさらに構成される、請求項1に記載の装置、または前記ビデオデータのピクチャのシーケンスに関連付けられたビット深度を示す第3の値をシグナリングするようにさらに構成される、請求項2に記載の装置
  5. 前記第1の色成分が、前記ビデオデータのブロックに関連付けられたルーマ値または少なくとも1つのクロマ値のうちの1つを備える、請求項1または2に記載の装置。
  6. 前記第1のスケールファクタに少なくとも部分的に基づいて前記オフセット値を線形スケーリングすることに基づいて、前記スケーリングされたオフセット値を与えるようにさらに構成される、および/または、前記第1のスケールファクタに少なくとも部分的に基づいて前記オフセット値を非線形スケーリングすることに基づいて、前記スケーリングされたオフセット値を与えるようにさらに構成される、ここにおいて、前記装置は、好ましくは、前記第1の色成分に関連付けられた所与のビット深度に少なくとも部分的に基づいて、前記オフセット値を線形または非線形のいずれかでスケーリングするかどうかを決定するようにさらに構成される、請求項1または2に記載の装置。
  7. れぞれ第1のグループと第2のグループとに関連付けられた第1のビット深度および第2のビット深度に基づいて、色成分の前記第1のグループと前記第2のグループとのオフセット値を線形または非線形のいずれかでスケーリングするかどうかを決定するようにさらに構成される、請求項1または2に記載の装置。
  8. 第3のスケールファクタに従って、前記ビデオデータの色成分の第1のグループの第1のオフセット値を線形スケーリングすることと、
    第4のスケールファクタに従って、前記ビデオデータの色成分の第2のグループの第2のオフセット値を非線形スケーリングすることと、に基づいて、複数のスケーリングされた色成分を生成するようにさらに構成される、請求項に記載の装置。
  9. デブロックフィルタを前記ビデオデータの少なくとも1つのブロックに適用することに基づいて、前記ビデオデータ中の前記少なくとも1つのブロックに関連付けられたブロックエッジを平滑化し、
    前記オフセット値に適用された前記スケールファクタに少なくとも部分的に基づいて、前記少なくとも1つのブロックの隣接ピクセル値のグループをスケーリングし、
    前記スケーリングされたグループのエッジ形状に少なくとも部分的に基づいて、エッジオフセットカテゴリを識別し、
    前記識別されたエッジオフセットカテゴリに基づいて、前記SAOフィルタを調整する、ようにさらに構成される、請求項1または2に記載の装置。
  10. 前記オフセット値をエントロピー復号することに基づいて、復号オフセット値を与え、
    前記スケールファクタを前記復号オフセット値に適用することに基づいて、前記スケーリングされたオフセット値を与える、
    ようにさらに構成される、請求項1に記載の装置、または
    前記オフセット値をエントロピー復号することに基づいて、符号化オフセット値を与え、
    前記スケールファクタを前記符号化オフセット値に適用することに基づいて、前記スケーリングされたオフセット値を与える、
    ようにさらに構成される、請求項2に記載の装置
  11. 複数の色成分を含むビデオデータを復号する方法であって、前記方法は下記を備える、
    符号化ビデオビットストリームに基づいて再構成されたビデオデータに適用されたサンプル適応オフセット(SAO)フィルタの符号化オフセット値を、前記符号化ビデオビットストリームにおいて、受信することと、
    前記ビデオデータのビット深度が10ビットよりも大きい場合、前記再構成されたビデオデータの第1の色成分の第1のスケールファクタを示す第1の値および第2のスケールファクタを示す第2の値を、前記符号化ビデオビットストリームのピクチャパラメータセット(PPS)において、受信することと、前記第1のスケールファクタは、前記再構成されたビデオデータの第2の色成分の前記第2のスケールファクタとは異なる、
    前記符号化オフセット値をエントロピー復号することに基づいて、復号オフセット値を与えることと、
    前記第1のスケールファクタを前記復号オフセット値に適用することに基づいて、スケーリングされたオフセット値を与えることと、
    前記ビデオデータの前記第1の色成分に前記スケーリングされたオフセット値を加算することでスケーリングされた色成分を生成することと、
    前記スケーリングされた色成分に従って、前記再構成されたビデオデータを復号すること。
  12. 複数の色成分を含むビデオデータを符号化する方法であって、前記方法は下記を備える、
    符号化ビデオビットストリームに基づいて再構成されたビデオデータに適用されたサンプル適応オフセット(SAO)フィルタの符号化オフセット値を、前記符号化ビデオビットストリームにおいて、シグナリングすることと、
    前記ビデオデータのビット深度が10ビットよりも大きい場合、前記再構成されたビデオデータの第1の色成分の第1のスケールファクタを示す第1の値および第2のスケールファクタを示す第2の値を、前記符号化ビデオビットストリームのピクチャパラメータセット(PPS)において、シグナリングすること、ここで、前記第1のスケールファクタは、前記再構成されたビデオデータの第2の色成分の前記第2のスケールファクタとは異なる、と、
    前記符号化オフセット値をエントロピー符号化することに基づいて、符号化オフセット値を与えることと、
    前記第1のスケールファクタを前記符号化オフセット値に適用することに基づいて、スケーリングされたオフセット値を与えることと、
    前記ビデオデータの前記第1の色成分に前記スケーリングされたオフセット値を加算することでスケーリングされた色成分を生成することと、
    前記スケーリングされた色成分に従って、前記再構成されたビデオデータを符号化すること。
  13. 前記スケーリングされたオフセット値を与えることが、前記第1のスケールファクタに少なくとも部分的に基づいて、前記オフセット値を線形スケーリングすることを備える、および/または、前記スケーリングされたオフセット値を与えることが、前記第1のスケールファクタに少なくとも部分的に基づいて、前記オフセット値を非線形スケーリングすることを備える、請求項11または12に記載の方法。
  14. デブロックフィルタを前記ビデオデータの少なくとも1つのブロックに適用することに基づいて、前記ビデオデータ中の前記少なくとも1つのブロックに関連付けられたブロックエッジを平滑化することと、
    前記オフセット値に適用された前記第1のスケールファクタに少なくとも部分的に基づいて、前記少なくとも1つのブロックの隣接ピクセル値のグループに前記スケーリングされたオフセット値を加算することと、
    前記スケーリングされたグループのエッジ形状に少なくとも部分的に基づいて、エッジオフセットカテゴリを識別することと、
    前記識別されたエッジオフセットカテゴリに基づいて、前記SAOフィルタを調整することと、をさらに備える、請求項11または12に記載の方法。
  15. 実行されると、装置に、請求項11乃至14のうちのいずれか1項に記載の方法を実行させるコードを備える非一時的コンピュータ可読媒体。
JP2016506619A 2013-04-08 2014-04-03 ビット深度に基づいたサンプル適応オフセットスケーリング Active JP6301449B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361809852P 2013-04-08 2013-04-08
US61/809,852 2013-04-08
US14/243,707 US10334253B2 (en) 2013-04-08 2014-04-02 Sample adaptive offset scaling based on bit-depth
US14/243,707 2014-04-02
PCT/US2014/032839 WO2014168812A1 (en) 2013-04-08 2014-04-03 Sample adaptive offset scaling based on bit-depth

Publications (3)

Publication Number Publication Date
JP2016518770A JP2016518770A (ja) 2016-06-23
JP2016518770A5 JP2016518770A5 (ja) 2017-04-13
JP6301449B2 true JP6301449B2 (ja) 2018-03-28

Family

ID=51654432

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016506619A Active JP6301449B2 (ja) 2013-04-08 2014-04-03 ビット深度に基づいたサンプル適応オフセットスケーリング

Country Status (8)

Country Link
US (1) US10334253B2 (ja)
EP (1) EP2984827B1 (ja)
JP (1) JP6301449B2 (ja)
KR (1) KR102318175B1 (ja)
CN (1) CN105165010B (ja)
BR (1) BR112015025642A2 (ja)
TW (1) TWI554081B (ja)
WO (1) WO2014168812A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10708588B2 (en) * 2013-06-19 2020-07-07 Apple Inc. Sample adaptive offset control
EP3026908A1 (en) * 2014-11-26 2016-06-01 Thomson Licensing Method and device for quantizing and de-quantizing a picture using scaling factors for chrominance based on luminance
WO2017201139A1 (en) * 2016-05-19 2017-11-23 Dolby Laboratories Licensing Corporation Chroma reshaping for high dynamic range images
WO2017208549A1 (ja) * 2016-06-01 2017-12-07 ソニー株式会社 画像処理装置及び画像処理方法
US10623737B2 (en) * 2016-10-04 2020-04-14 Qualcomm Incorporated Peak sample adaptive offset
JP6814029B2 (ja) * 2016-11-22 2021-01-13 日本放送協会 ループフィルタ、符号化装置、復号装置、及びプログラム
EP3364656A1 (en) * 2017-02-15 2018-08-22 Thomson Licensing Method for sample adaptive offset coding
KR101985833B1 (ko) * 2017-03-22 2019-06-04 국방과학연구소 인루프 필터에 관한 영상 부호화 및 복호화 장치 및 방법
WO2018237146A1 (en) * 2017-06-21 2018-12-27 Vid Scale, Inc. ADAPTIVE QUANTIFICATION FOR 360-DEGREE VIDEO CODING
KR102432486B1 (ko) * 2017-11-22 2022-08-12 삼성전자주식회사 비디오 복호화 장치 및 이를 포함하는 컴퓨팅 시스템 및 비디오 복호화 방법
EP3935847A4 (en) * 2019-03-04 2022-12-07 Alibaba Group Holding Limited METHOD AND SYSTEM FOR PROCESSING VIDEO CONTENT
CA3132744A1 (en) * 2019-03-15 2020-09-24 Mediatek, Inc. Method and apparatus of latency reduction for chroma residue scaling
WO2021093801A1 (en) * 2019-11-14 2021-05-20 Beijing Bytedance Network Technology Co., Ltd. Coding of low bit-depth visual media data
KR102611423B1 (ko) * 2022-07-01 2023-12-07 주식회사 네패스 이미지 스케일링 장치 및 이미지 스케일링 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204333B2 (en) * 2007-10-15 2012-06-19 Intel Corporation Converting video and image signal bit depths
US9338475B2 (en) * 2008-04-16 2016-05-10 Intel Corporation Tone mapping for bit-depth scalable video codec
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
US20120294353A1 (en) * 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components
ES2699974T3 (es) * 2011-06-23 2019-02-13 Huawei Tech Co Ltd Dispositivo de decodificación de desplazamiento, dispositivo de codificación de desplazamiento, dispositivo de filtro de imagen y estructura de datos
CN102857746B (zh) 2011-06-28 2017-03-29 中兴通讯股份有限公司 环路滤波编解码方法及装置
AU2012276410A1 (en) 2011-06-28 2014-02-06 Samsung Electronics Co., Ltd. Prediction method and apparatus for chroma component of image using luma component of image
US9231616B2 (en) 2011-08-05 2016-01-05 Broadcom Corporation Unified binarization for CABAC/CAVLC entropy coding
US20130083844A1 (en) * 2011-09-30 2013-04-04 In Suk Chong Coefficient coding for sample adaptive offset and adaptive loop filter
US9955153B2 (en) * 2012-01-05 2018-04-24 Google Technology Holdings LLC Devices and methods for sample adaptive offset coding
WO2013103892A1 (en) * 2012-01-05 2013-07-11 General Instrument Corporation Devices and methods for sample adaptive offset coding and/or selection of edge offset parameters
WO2015163046A1 (ja) * 2014-04-23 2015-10-29 ソニー株式会社 画像処理装置及び画像処理方法
US10142642B2 (en) * 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding

Also Published As

Publication number Publication date
EP2984827A1 (en) 2016-02-17
TW201505421A (zh) 2015-02-01
TWI554081B (zh) 2016-10-11
EP2984827B1 (en) 2021-07-14
KR20150140729A (ko) 2015-12-16
US10334253B2 (en) 2019-06-25
WO2014168812A1 (en) 2014-10-16
JP2016518770A (ja) 2016-06-23
CN105165010A (zh) 2015-12-16
US20140301438A1 (en) 2014-10-09
BR112015025642A2 (pt) 2017-07-18
CN105165010B (zh) 2019-05-31
KR102318175B1 (ko) 2021-10-26

Similar Documents

Publication Publication Date Title
JP6301449B2 (ja) ビット深度に基づいたサンプル適応オフセットスケーリング
JP5833249B2 (ja) ビデオコーディングのための適応的な中心帯域オフセットフィルタ
US9883203B2 (en) Adaptive overlapped block motion compensation
JP6151277B2 (ja) ビデオコーディングにおけるデブロッキングフィルタパラメータのシグナリング
JP6165840B2 (ja) クロマスライスレベルqpオフセットおよびデブロッキング
JP5823623B2 (ja) ビデオコーディングのための動きベクトル予測子候補クリッピング削除
JP5964448B2 (ja) コンテキスト適応型バイナリ算術コード化のためのコンテキスト削減
JP5855759B2 (ja) 最後有効係数の位置のプログレッシブコーディング
JP6162212B2 (ja) マージシグナリングおよびループフィルタオン/オフシグナリング
JP6151446B2 (ja) ビデオコーディングのための高精度明示的重み付け予測
JP6345694B2 (ja) 大きなhevcブロックアーティファクト用のブロッキネスメトリック
JP2018530246A (ja) ビデオコーディングのために位置依存の予測組合せを使用する改善されたビデオイントラ予測
JP2015516768A (ja) 変換係数コーディング
JP6042526B2 (ja) ビデオコーディングのための最後の位置コーディングのためのコンテキストの導出
JP2017513311A (ja) 残差差分パルス符号変調のための量子化プロセス
CA2913797A1 (en) Rice parameter initialization for coefficient level coding in video coding process
JP2015516770A (ja) ビデオコーディングにおける量子化行列のための均一粒度
CN107113433B (zh) 基于动态模式决策分支化的低复杂性译码
JP2018507625A (ja) パレットモードコード化のためのエスケープ画素をコード化すること
JP2015516764A (ja) ビデオコーディングにおけるデブロッキングフィルタのためのベータオフセット制御
US9706210B2 (en) Low complexity coding based on dynamic mode decision branching for largest coding units

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180228

R150 Certificate of patent or registration of utility model

Ref document number: 6301449

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250