JP5833249B2 - ビデオコーディングのための適応的な中心帯域オフセットフィルタ - Google Patents

ビデオコーディングのための適応的な中心帯域オフセットフィルタ Download PDF

Info

Publication number
JP5833249B2
JP5833249B2 JP2014540125A JP2014540125A JP5833249B2 JP 5833249 B2 JP5833249 B2 JP 5833249B2 JP 2014540125 A JP2014540125 A JP 2014540125A JP 2014540125 A JP2014540125 A JP 2014540125A JP 5833249 B2 JP5833249 B2 JP 5833249B2
Authority
JP
Japan
Prior art keywords
band
value
bands
group
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
JP2014540125A
Other languages
English (en)
Other versions
JP2014533048A (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 JP2014533048A publication Critical patent/JP2014533048A/ja
Application granted granted Critical
Publication of JP5833249B2 publication Critical patent/JP5833249B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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)

Description

本出願は、その内容全体が参照により本明細書に組み込まれる、2011年11月4日に出願された米国仮出願第61/556,085号の優先権を主張する。
本開示は全般にビデオコーディングに関し、より具体的には、ビデオコーディングプロセスにおけるサンプル適応オフセット(SAO)フィルタリングに関する。
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part 10、Advanced Video Coding(AVC)、現在開発中のHigh Efficiency Video Coding(HEVC)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法のような、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することにより、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶することができる。
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を実行する。ブロックベースのビデオコーディングでは、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部分)は、ツリーブロック、コーディングユニット(CU)および/またはコーディングノードと呼ばれることもある、ビデオブロックに区分され得る。ピクチャのイントラコーディングされた(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コーディングされたブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコーディングされたブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データが、ピクセル領域から変換領域に変換されてよく、これにより残差変換係数が生じ、その残差変換係数が、次いで量子化され得る。最初は2次元アレイで構成される、量子化された変換係数は、変換係数の1次元ベクトルを生成するために走査されてよく、なお一層の圧縮を達成するためにエントロピーコーディングが適用されてよい。
本開示は全般に、サンプル適応オフセット(SAO)フィルタリングに関する技法を説明し、より具体的には、符号化されたビットストリーム中で、帯域ベースのSAOフィルタリングのために使用される係数をシグナリングするための技法を説明する。本開示は、中心値に基づいて帯域のグルーピングを適応的に決定し、帯域に対するオフセット値をシグナリングするための決定されたグルーピングを使用するための技法を説明する。
一例では、ビデオデータをコーディングするための方法は、ピクセルのセットの中心値を決定することであって、中心値がピクセルの値に基づく、決定することと、中心値に基づいてピクセル値の帯域をグループに分割することと、グループに基づいて帯域に対するオフセット値を決定することとを含む。
別の例では、ビデオコーディングデバイスはビデオコーダを含み、このビデオコーダは、ピクセルのセットの中心値を決定し、このとき中心値がピクセルの値に基づき、さらに、中心値に基づいてピクセル値の帯域をグループに分割し、グループに基づいて帯域に対するオフセット値を決定するように構成される。
別の例では、コンピュータ可読記憶媒体は、1つまたは複数のプロセッサに、ピクセルのセットの中心値を決定させ、このとき中心値がピクセルの値に基づき、さらに、中心値に基づいてピクセル値の帯域をグループへと分割させ、グループに基づいて帯域に対するオフセット値を決定させる命令を記憶する。
別の例では、ビデオデータをコーディングするための装置は、ピクセルのセットの中心値を決定するための手段であって、中心値がピクセルの値に基づく、手段と、中心値に基づいてピクセル値の帯域をグループに分割するための手段と、グループに基づいて帯域に対するオフセット値を決定するための手段とを含む。
本開示で説明されるサンプル適応オフセットフィルタリング技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 エッジベースのサンプル適応オフセットフィルタリングのためのエッジオフセット分類の例を示す図。 帯域ベースのサンプル適応オフセットフィルタリングのための帯域オフセット分類のための帯域の例示的なグルーピングを示す図。 帯域ベースのサンプル適応オフセットフィルタリングのための帯域オフセット分類のための帯域の例示的なグルーピングを示す図。 本開示で説明されるサンプル適応オフセットフィルタリング技法を実施し得る例示的なビデオエンコーダを示すブロック図。 本開示で説明されるサンプル適応オフセットフィルタリング技法を実施し得る例示的なビデオデコーダを示すブロック図。 本開示で説明されるサンプル適応オフセットフィルタリングを示す流れ図。
サンプル適応オフセット(SAO)フィルタリングは、ビデオコーディングにおいて使用されるある種のループフィルタリングである。一般に、いくつかの例では、ビデオフレーム(たとえば、再構成された画像)中のピクセルへのオフセット値の加算により、符号化されたビデオデータを記憶または送信するのに必要なビットオーバーヘッドを大幅に増やすことなく、コーディングを改善することができる。SAOフィルタリングにより得られる可能性のあるコーディングの改善は、たとえば、復号された画像が元の画像によりよく似ているということであり得る。以下でより詳しく説明されるように、SAO技法は、エッジの尺度、帯域の尺度、または他のタイプの尺度のような、ピクセル(またはブロック)分類の尺度に応じて、異なるオフセット値が異なるピクセル(またはピクセルのブロック)に適用されることを可能にする。
以下でより詳しく説明されるように、いくつかの構成では、SAOフィルタユニットは、本開示では一般に帯域オフセットフィルタリングおよびエッジオフセットフィルタリングと呼ばれる、2つのタイプのオフセットフィルタリングを実行するように構成され得る。SAOフィルタユニットはまた、時にはオフセットを適用しないことがあり、このこと自体が、第3のタイプのオフセットフィルタリングであると考えられ得る。SAOフィルタによって適用されるオフセットフィルタリングのタイプは、明示的に、または暗黙的に、ビデオデコーダにシグナリングされ得る。 エッジオフセットフィルタリングを適用する場合、ピクセルは、コーディングユニットのエッジ情報に基づいて分類されてよく、オフセットは、エッジ分類に基づいてピクセルに対して決定され得る。図2を参照して以下でより詳しく説明されるように、通常はエッジベースのSAOに4個のバリエーションがあり、この場合、ピクセルの値は8個の隣接するピクセルのうちの2個と比較される。どの2個のピクセルが比較のために使用されるかは、エッジベースのオフセットのどのバリエーションが使用されるかに依存する。大きさの差に基づいて、オフセットがピクセル値に加算される。
帯域オフセットフィルタリングを適用する場合、ピクセルは、強度値のようなピクセル値に基づいて様々な帯域に分類されてよく、各帯域は関連するオフセットを有する。帯域は、ある範囲のピクセル値を含む。たとえば、0〜255の範囲にわたるピクセル値は、32個の等しい帯域(0〜31と名付けられる)に分割され得るので、ピクセル値0〜7が第1の帯域であり、ピクセル値8〜15が第2の帯域であり、ピクセル値16〜23が第3の帯域であり、すべての32個の帯域に対して以下同様である。どの特定のオフセット値をピクセルまたはピクセルのグループに適用するかを決定するために、帯域が使用され得る。たとえば、ピクセルの値が10である(これは、上の例では第2の帯域、すなわち値8〜15の中にある)場合、第2の帯域と関連付けられるオフセットがピクセル値に加算され得る。
様々な帯域のオフセットをシグナリングし生成する目的で、帯域は、2つ以上のグループへとグルーピングされ得る。帯域オフセットフィルタリングでは、ピクセルは、たとえば、上で説明されたように32個の帯域(帯域0〜31)に分類されてよく、帯域は2つのグループにグルーピングされてよい(たとえば、16個の帯域の2つのグループ、4個の帯域の1つのグループと28個の帯域の1つのグループ、8個の帯域の1つのグループと24個の帯域の1つのグループ、または他のそのようなグルーピング)。帯域のグルーピングは、その帯域に対するオフセット値が符号化されたビデオビットストリーム中でシグナリングされる順序を決定するために使用されてよく、かつ/または、特定の帯域が0以外のオフセット値を有するかどうかを判定するために使用されてよい。帯域に対するオフセットは、現在の値が現在の値と前の値の差としてシグナリングされる、異なるコーディング技法を使用してシグナリングされ得る。いくつかの例では、そのようなコーディング技法を使用することによって達成されるビットの節約の量は、値がシグナリングされる順序に依存し得る。たとえば、値が近いオフセット値が連続してシグナリングされる例では、より多くのビットの節約が達成され得る。いくつかの例では、第2のグループのような特定のグループに対するすべてのオフセット値が、0であると仮定され得る。
いくつかの技法によれば、帯域のグルーピングは静的である。たとえば、ある技法によれば、中間の16個の帯域(帯域8〜23)が常に16個の1つのグループを構成し、一方、一番左側の8個の帯域(帯域0〜7)および一番右側の8個の帯域(帯域24〜31)が16個の帯域の第2のグループを構成する。本開示は、帯域のグルーピングを動的に決定するための技法を説明する。以下でより詳しく説明されるように、ビデオエンコーダまたはビデオデコーダは、ピクセル値に基づいて中心値を動的に決定することによって、帯域のグルーピングを動的に決定することができる。いくつかの構成では、ビデオデコーダがピクセル値に基づいて中心値を決定する必要がなく、代わりに、ビットストリーム中の明示的なシグナリングに基づいて中心値を決定できるように、中心値を示すものが符号化されたビデオビットストリーム中でシグナリングされ得る。中心値は、帯域の第1のグループを決定するために使用されてよく、残りの帯域が帯域の第2のグループを構成し得る。以下の例でより明らかにされるように、本開示で使用される中心値という用語は、一般に、帯域のグループの中心を特定のピクセル値に揃えるために、または概略的に揃えるために使用され得る、任意の値を指す。したがって、本開示で使用されるような中心値は、帯域のグループの中心が揃えられる対象の特定のピクセル値であってよく、または、帯域または帯域のグループの開始ピクセル値または終了ピクセル値のような、何らかの他の値であってよい。いくつかの例では、中心値は、ピクセル値を特定するのではなく、ある特定の帯域を、グループの最初の帯域、グループの最後の帯域として、または、帯域のグループの中心が特定のピクセル値に揃えられ得る際の基準となる何らかの他のそのような特定物として、特定することができる。
いくつかの例では、帯域のグルーピングの動的な決定により、SAOフィルタリングのためのオフセット係数のシグナリングを改善することができるので、ビデオコーディング品質全体を改善することができる。帯域のグルーピングのこの動的な決定はまた、他の帯域に対するオフセット値が0であるという仮定のもとで、どの帯域のグループに対してSAOフィルタリングが最もビデオコーディング品質を向上させるかを判定するために使用され得る。
図1は、本開示で説明される適応SAO技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されるように、システム10は、宛先デバイス14によって後で復号されるべき符号化されたビデオデータを生成するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信に対応し得る。
宛先デバイス14は、リンク16を介して、復号されるべき符号化されたビデオデータを受信し得る。リンク16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、リンク16は、符号化されたビデオデータをソースデバイス12がリアルタイムで宛先デバイス14に直接送信することを可能にするための、通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、高周波(RF)スペクトルあるいは1つまたは複数の物理伝送線路のような、任意のワイヤレスまたは有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークのような、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
代替的に、符号化されたデータは、出力インターフェース22から記憶デバイス32に出力され得る。同様に、符号化されたデータは、入力インターフェースによって記憶デバイス32からアクセスされ得る。記憶デバイス32は、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、種々の分散されたデータ記憶媒体またはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、記憶デバイス32は、ソースデバイス12によって生成された符号化されたビデオを保持し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して、記憶デバイス32から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、その符号化されたビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を通じて、符号化されたビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。記憶デバイス32からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
本開示の技法は、必ずしもワイヤレスの用途または設定に限定されるとは限らない。本技法は、無線を通じたテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の用途など、種々のマルチメディア用途のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話などの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ソースデバイス12において、ビデオソース18は、たとえばビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはビデオ電話を形成し得る。しかしながら、本開示で説明される技法は、一般にビデオコーディングに適用可能であってよく、ワイヤレスおよび/または有線の用途に適用され得る。
キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータにより生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に直接送信され得る。符号化されたビデオデータは、さらに(または代替的に)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのために記憶デバイス32に記憶され得る。
宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。場合によっては、入力インターフェース28は、受信機および/またはモデムを含み得る。宛先デバイス14の入力インターフェース28は、リンク16を通じて符号化されたビデオデータを受信する。リンク16を通じて通信され、または記憶デバイス32上に与えられた符号化されたビデオデータは、ビデオデータを復号する際にビデオデコーダ30のようなビデオデコーダが使用するための、ビデオエンコーダ20によって生成される種々のシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信される、記憶媒体上に記憶される、またはファイルサーバ上に記憶される、符号化されたビデオデータとともに含まれ得る。
ディスプレイデバイス32は、宛先デバイス14と一体化されてよく、またはその外部にあってよい。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含んでよく、また、外部ディスプレイデバイスとインターフェースをとるように構成されてよい。他の例では、宛先デバイス14はディスプレイデバイスであり得る。一般に、ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、種々のディスプレイデバイスのいずれかを備え得る。
ビデオエンコーダ20およびビデオデコーダ30は、現在開発中のHigh Efficiency Video Coding(HEVC)規格のようなビデオ圧縮規格に従って動作することができ、HEVC Test Model(HM)に準拠し得る。「HEVC Working Draft 8」または「WD8」と呼ばれるHEVC規格の最近のドラフトは、文書JCTVC−H1003、Brossら、「High efficiency video coding (HEVC) text specification draft 8」、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のJoint Collaborative Team on Video Coding (JCT−VC)、第10回会合:スウェーデン ストックホルム、2012年7月11〜20日に記載されおり、この文書は、2012年10月2日現在、http://phenix.int−evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC−J1003−v8.zipのリンクからダウンロード可能である。
代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4、Part 10、Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格のような、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例には、MPEG−2およびITU−T H.263がある。
図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、各々オーディオエンコーダおよびデコーダと統合されてよく、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んでよい。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
ビデオエンコーダ20およびビデオデコーダ30は各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せのような、種々の適切なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装される場合、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれてよく、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合されてよい。
JCT−VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の取り組みは、HEVC Test Model(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9個のイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。
一般に、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマとクロマの両方のサンプルを含む一連のツリーブロックまたは最大コーディングユニット(LCU)に分割され得ることを記載する。ツリーブロックは、H.264規格のマクロブロックと同様の目的を有する。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従ってコーディングユニット(CU)に分割され得る。たとえば、4分木のルートノードとしてのツリーブロックは、4つの子ノードに分割されてよく、各子ノードが今度は親ノードとなり、別の4つの子ノードに分割されてよい。4分木のリーフノードとしての、最終的な、分割されていない子ノードは、コーディングノード、すなわち、コーディングされたビデオブロックを備える。コーディングされたビットストリームと関連付けられるシンタックスデータは、ツリーブロックが分割され得る最大回数を定義することができ、コーディングノードの最小サイズも定義することができる。
CUは、コーディングノードと、コーディングノードと関連付けられる予測ユニット(PU)と変換ユニット(TU)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。CUのサイズは、8×8ピクセルから最大で64×64以上のピクセルをもつツリーブロックのサイズにまで及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUと関連付けられるシンタックスデータは、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかによって異なり得る。PUは、形状が非方形になるように区分され得る。CUと関連付けられるシンタックスデータは、たとえば、4分木に従って、CUを1つまたは複数のTUに区分することも記述し得る。TUは、形状が方形または非方形であり得る。
HEVC規格は、CUごとに異なり得る、TUに従う変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズが決定されるが、常にそうであるとは限らない。TUは通常、PUと同じサイズであるかまたはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT)として知られる4分木構造を使用してより小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUと関連付けられるピクセル差分値は、変換係数を生成するように変換されてよく、その変換係数は量子化され得る。
一般に、PUは、予測プロセスに関連するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度または1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルの参照ピクチャリスト(たとえば、リスト0、リスト1、またはリストC)を記述し得る。
一般に、TUは、変換プロセスおよび量子化プロセスのために使用される。1つまたは複数のPUを有する所与のCUは、1つまたは複数の変換ユニット(TU)も含み得る。予測の後に、ビデオエンコーダ20は、PUに対応する残差値を計算し得る。残差値は、エントロピーコーディングのための直列化された変換係数を生成するために、TUを使用して変換係数に変換され、量子化され、走査され得る、ピクセル差分値を備える。本開示では、一般に、CUのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合において、本開示では、コーディングノードとPUとTUとを含む、ツリーブロック、すなわち、LCUまたはCUを指す、「ビデオブロック」という用語も使用し得る。
ビデオシーケンスは通常、一連のビデオフレームまたはピクチャを含む。ピクチャのグループ(GOP)は、一般に、一連の1つまたは複数のビデオピクチャを備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、一定のサイズまたは可変のサイズを有してよく、指定されたコーディング規格に従ってサイズが異なる場合がある。
一例として、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を指す。
本開示では、「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に等しいとは限らない。
CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域においてピクセルデータを備えてよく、TUは、たとえば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、TUを変換して、CUの変換係数を生成し得る。
変換係数を生成するための任意の変換の後に、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を提供するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられてよく、ただし、nはmよりも大きい。
いくつかの例では、ビデオエンコーダ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が使用するための、符号化されたビデオデータと関連付けられるシンタックス要素をエントロピー符号化し得る。
CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が0ではないかどうかに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルに対して可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビットの節約を達成し得る。確率の決定は、シンボルに割り当てられるコンテキストに基づき得る。
一般に、いくつかの例では、ビデオフレーム中のピクセルへのオフセット値の加算により、コーディングを改善することができる。たとえば、オフセット値は、照明の変化、量子化誤差を補償するために、またはより一般的には、再構成されたビデオデータを元のビデオデータにより近くするために、再構成されたビデオブロックのピクセルに適用され得る。SAO技法は、ピクセル(またはブロック)のピクセル値に応じて、異なるオフセット値が異なるピクセル(またはピクセルのブロック)に適用されることを可能にする。ピクセルに適用されるオフセット値は、ピクセルの値に基づいて決定され得る。たとえば、ピクセルが第1の帯域内にある値を有する場合、第1の帯域と関連付けられるオフセットがピクセルに適用され得る。ピクセルが第2の帯域内にある値を有する場合、第2の帯域と関連付けられるオフセットがピクセルに適用されてよく、すべての帯域に対して以下同様である。
あるタイプのSAOの実装形態では、各々の区分(LCUのセットを構成する)は、3つのオフセットタイプ(ピクセル分類とも呼ばれる)のうちの1つを有し得る。3つのオフセットタイプは、オフセットなし、帯域分類ベースのオフセットタイプ0/1、およびエッジ分類ベースのタイプ0/1/2/3である。各帯域分類オフセットタイプは16個の可能なオフセット値を有するが、各エッジ分類ベースタイプは4つの可能なオフセット値を有する。これらのオフセットタイプのうちの1つが、区分に対して使用されるものとして選ばれた場合、対応するオフセットタイプとオフセット値とを示す情報が符号化されたビデオビットストリーム中でシグナリングされ得る。
図2は、SAOフィルタリングのためのある実装形態において使用される、4つの可能なエッジオフセット分類を示す概念図である。図2の例では、エッジオフセットタイプは、エッジ情報に基づいて各ピクセルを分類する。図2に示されるエッジ分類の各々に対して、現在のピクセル(すなわち、コーディングされている特定のピクセル)のエッジタイプが、現在のピクセル(C)の値を隣接ピクセル(1および2)の値と比較することによって計算される。分類0のSAOエッジオフセット(SAO_EO_0)では、現在のピクセルは左および右の隣接ピクセルと比較される。分類1のSAOエッジオフセット(SAO_EO_1)では、現在のピクセルは上および下の隣接ピクセルと比較される。分類2のSAOエッジオフセット(SAO_EO_2)では、現在のピクセルは左上および右下の隣接ピクセルと比較される。分類3のSAOエッジオフセット(SAO_EO_3)では、現在のピクセルは左下および右上の隣接ピクセルと比較される。
最初に、現在のピクセルのエッジタイプは0であると仮定される。現在のピクセルCの値が左と右の隣接ピクセル(1と2)の両方の値に等しい場合、エッジタイプは0のままである。現在のピクセルCの値が隣接ピクセル1の値よりも大きい場合、エッジタイプは1だけ増やされる。現在のピクセルCの値が隣接ピクセル1の値よりも小さい場合、エッジタイプは1だけ減らされる。同様に、現在のピクセルCの値が隣接ピクセル2の値よりも小さい場合、エッジタイプは1だけ増やされ、現在のピクセルCの値が隣接ピクセル2の値よりも小さい場合、エッジタイプは1だけ減らされる。
したがって、現在のピクセルCは、−2、−1、0、1、または2というエッジタイプを有し得る。現在のピクセルCの値が隣接ピクセル1および2の両方の値より小さい場合、エッジタイプは−2である。現在のピクセルCの値が一方の隣接ピクセルより小さいが他方の隣接ピクセルに等しい場合、エッジタイプは−1である。現在のピクセルCの値が両方の隣接ピクセルと同じである場合、または、現在のピクセルCの値が一方の隣接ピクセルより大きいが他方の隣接ピクセルより小さい場合、エッジタイプは0である。現在のピクセルCの値が一方の隣接ピクセルより大きいが他方の隣接ピクセルに等しい場合、エッジタイプは1である。現在のピクセルCの値が隣接ピクセル1と2の両方の値より大きい場合、エッジタイプは2である。各々の0ではないエッジタイプ値に対して、4つのオフセット値が決定され、デコーダによる使用のために符号化されたビデオビットストリーム中でシグナリングされる(すなわち、eoffset-2、eoffset-1、eoffset1、eoffset2)。
上記の説明に鑑みて、各エッジオフセット分類に対して、エッジタイプ値が以下の擬似コードによって計算され得る。
Figure 0005833249
図3Aは、強度値に基づく例示的な帯域を示す概念図である。例として、ピクセル値は0〜255にわたると仮定するが、他の範囲も使用され得る。そのような例では、図3Aに示される最大値は255に等しく、図3Aに示される32個の帯域の各々は8という範囲を有する。一番左側の帯域はピクセル値0〜7であり、次の帯域は8〜15のピクセル値に対するものであり、次の帯域はピクセル値16〜23に対するものであり、ピクセル値248〜255に対するものである一番右側の帯域まで以下同様である。帯域オフセットでは、ピクセルは、強度に基づいて異なる帯域に分類される(すなわち、帯域オフセット分類では、ピクセルは32個の帯域のうちの1つに分類される)。ピクセル値がどの帯域に入るかに基づいて、あるオフセットがピクセルに加算される。たとえば、ピクセルの値が19である場合、ピクセル値は、ピクセル値16から23にわたる第3の帯域に入る。したがって、第3の帯域と関連付けられるオフセットは、19というピクセル値に加算される。
各帯域と関連付けられるオフセット値をシグナリングする目的で、帯域は、2つ以上のグループへとグルーピングされ得る。いくつかの実装形態では、中心にある16個の帯域(帯域8〜23)が1つのグループに分類され、残りの帯域(帯域0〜7および24〜31)が第2のグループに分類される。帯域の各グループに対して、16個のオフセット値(すなわち、boffset0、…、boffset15)が決定され、ビデオデコーダによる使用のために符号化されたビデオビットストリーム中でシグナリングされる。いくつかの実装形態では、第2のグループのようなグループに対するすべてのオフセット値は0であると仮定されてよく、この場合、そのグループに対するオフセット値のシグナリングは、符号化されたビデオビットストリームに含まれなくてよい。
図3Aに示されるように、中間の16個の帯域(帯域8〜23)が帯域の第1のグループを構成し、一方、一番左側の8個の帯域(帯域0〜7)が帯域の第2のグループの第1の部分を構成し、一番右側の8個の帯域(帯域24〜31)が帯域の第2のグループの第2の部分を構成する。現在の技法では、帯域のグルーピングは固定されている。本開示は、帯域のグルーピングを適応的に決定するための技法を説明する。たとえば、本開示は、ピクセルの値に基づいてピクセルのセットの中心値を決定するための技法を説明する。中心値は、たとえば、帯域のグループの決定された中心に基づいて決定されてよく、帯域のグループの中心は、ピクセルのセットの平均値に基づいて、ピクセルのセットの中央値に基づいて、または、ヒストグラムのピークがあるピクセルを決定することによって、決定され得る。
ピクセル値の帯域は、中心値に基づいてグループに分割され得る。たとえば、中心値は、帯域の1つのグループの中心を決定するために使用され得る。再び32個の帯域(帯域0〜31)と2つのグループとを仮定すると、中心の右側の8個の帯域および中心の左側の8個の帯域は、帯域の第1のグループであり得る。残りの16個の帯域は第2のグループであり得る。したがって、1つのグループが常に中間の16個の帯域により構成される従来の技法とは異なり、本開示は、帯域のグルーピングが実際のピクセル値に基づいて決定される中心値に基づいて適応的であり得る、技法を説明する。
図3Bは、本開示の技法に従って使用され得る、多くの可能なグルーピングの1つを示す。図3Bの例では、中心は、帯域18の近くであると決定される。したがって、帯域の第1のグループは、中心の左側の8個の帯域(帯域11〜18)と、中心の右側の8個の帯域(帯域19〜26)とを含む。帯域の第2のグループは残りの帯域を含み、残りの帯域はこの例では帯域0〜4および帯域27〜31である。図3Bもやはり、多くの可能な状況の1つを表す。図3Bの主な目的は、本開示の技法によれば、帯域の第1のグループを決定するための中心が適応的に決定されてよく、図3Aに示される位置または任意の他の位置に固定される必要がないことを示すことである。中心値を決定し帯域のグルーピングを適応的に決定するための技法が、以下でより詳しく説明される。
図4は、本開示で説明されるSAOフィルタリング技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行し得る。イントラコーディングは、空間的予測を利用して、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去する。インターコーディングは、時間的予測を利用して、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
図4の例では、ビデオエンコーダ20は、区分モジュール35と、予測モジュール41と、参照ピクチャメモリ64と、加算器50と、変換モジュール52と、量子化モジュール54と、エントロピー符号化モジュール56とを含む。予測モジュール41は、動き推定モジュール42と、動き補償モジュール44と、イントラ予測モジュール46とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化モジュール58と、逆変換モジュール60と、加算器62とを含む。ブロック境界をフィルタリングして再構成されたビデオからブロッキネスアーティファクトを除去するために、デブロッキングフィルタ72も含まれ得る。図4に示されるように、ビデオエンコーダ20はまた、サンプル適応オフセット(SAO)フィルタ74と適応ループフィルタ(ALF)76とを含む、追加のループフィルタを含む。デブロッキングフィルタ72、SAOフィルタ74、およびALF76は図4ではループ内フィルタとして示されるが、いくつかの構成では、デブロッキングフィルタ72、SAOフィルタ74、およびALF 76は、ループ後フィルタとして実装され得る。
図4に示されるように、ビデオエンコーダ20はビデオデータを受信し、区分モジュール35はデータをビデオブロックに区分する。この区分は、たとえば、LCUおよびCUの4分木構造に従った、スライス、タイル、または他のより大きいユニットへの区分、さらにはビデオブロック区分を含み得る。ビデオエンコーダ20は、符号化されるべきビデオスライス内のビデオブロックを符号化するコンポーネントを全般に示す。スライスは、複数のビデオブロックに(および、場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。予測モジュール41は、誤り結果(たとえば、コーディングレートおよび歪みのレベル)に基づいて、現在ビデオブロックに対して、複数のイントラコーディングモードのうちの1つ、または複数のインターコーディングモードのうちの1つのような、複数の可能なコーディングモードのうちの1つを選択し得る。予測モジュール41は、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器50に与えて、残差ブロックデータを生成し、加算器62に与えて、参照ピクチャとして使用するための符号化されたブロックを再構成することができる。
予測モジュール41内のイントラ予測モジュール46は、コーディングされるべき現在のブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対する、現在のビデオブロックのイントラ予測コーディングを実行して、空間圧縮を行うことができる。予測モジュール41内の動き推定モジュール42および動き補償モジュール44は、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対する、現在のビデオブロックのインター予測コーディングを実行して、時間圧縮を行うことができる。
動き推定モジュール42は、ビデオシーケンスの所定のパターンに従って、ビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスを、予測されたスライス(Pスライス)、双方向予測されたスライス(Bスライス)または、一般化されたP/Bスライス(GPBスライス)と指定し得る。動き推定モジュール42および動き補償モジュール44は、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定モジュール42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。
予測ブロックは、絶対値差分和(SAD)、差分2乗和(SSD)、または他の差分尺度によって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのPUに厳密に一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定モジュール42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
動き推定モジュール42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライス中のビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択されてよく、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定モジュール42は、計算された動きベクトルをエントロピー符号化モジュール56と動き補償モジュール44とに送る。
動き補償モジュール44によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを伴い得る。現在のビデオブロックのPUのための動きベクトルを受信すると、動き補償モジュール44は、参照ピクチャリストのうちの1つにおいて動きベクトルが指す予測ブロックの位置を特定し得る。ビデオエンコーダ20は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器50は、この減算演算を実行する1つまたは複数のコンポーネントを表す。動き補償モジュール44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するための、ビデオブロックおよびビデオスライスと関連付けられるシンタックス要素を生成し得る。
イントラ予測モジュール46は、上で説明されたように、動き推定モジュール42と動き補償モジュール44とによって実行されるインター予測の代替として、現在のブロックに対してイントラ予測を実行し得る。特に、イントラ予測モジュール46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測モジュール46は、たとえば、別々の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測モジュール46(または、いくつかの例では、モード選択モジュール40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択することができる。たとえば、イントラ予測モジュール46は、様々なテストされたイントラ予測モードのためのレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択することができる。レート歪み分析は、一般に、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み(または誤差)の量、ならびに、符号化されたブロックを生成するために使用されたビットレート(すなわち、ビット数)を決定する。イントラ予測モジュール46は、どのイントラ予測モードがブロックに対して最良のレート歪み値を呈するかを決定するために、様々な符号化されたブロックに対する歪みおよびレートから比率を計算することができる。
いずれの場合も、あるブロックに対するイントラ予測モードを選択した後、イントラ予測モジュール46は、エントロピー符号化モジュール56にブロックに対する選択されたイントラ予測モードを示す情報を提供し得る。エントロピー符号化モジュール56は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、送信されるビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最も可能性の高いイントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含み得る、構成データを含み得る。
予測モジュール41が、インター予測またはイントラ予測のいずれかを介して、現在のビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ20は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、1つまたは複数のTU中に含まれ、変換モジュール52に適用され得る。変換モジュール52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換モジュール52は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
変換モジュール52は、得られた変換係数を量子化モジュール54に送り得る。量子化モジュール54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部またはすべてと関連付けられるビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化モジュール54は、次いで、量子化された変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化モジュール56が走査を実行し得る。
量子化の後に、エントロピー符号化モジュール56は、量子化された変換係数をエントロピー符号化する。たとえば、エントロピー符号化モジュール56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディング、あるいは別のエントロピー符号化方法または技法を実行し得る。エントロピー符号化モジュール56によるエントロピー符号化の後に、符号化されたビットストリームは、ビデオデコーダ30に送信されるか、あるいはビデオデコーダ30による後の送信または取り出しのためにアーカイブされ得る。エントロピー符号化モジュール56はまた、コーディングされている現在のビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
逆量子化モジュール58および逆変換モジュール60は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するためにピクセル領域において残差ブロックを再構成する。動き補償モジュール44は、残差ブロックを参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つの予測ブロックに加算することによって、参照ブロックを計算し得る。動き補償モジュール44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを動き補償モジュール44によって生成された動き補償された予測ブロックに加算して、参照ピクチャメモリ64に記憶するための参照ブロックを生成する。
メモリ64への記憶の前に、再構成された残差ブロックは、1つまたは複数のフィルタによってフィルタリングされ得る。必要に応じて、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタ72も適用されて、再構成された残差ブロックをフィルタリングすることができる。ピクセル遷移を平滑化し、または他の方法でビデオ品質を改善するために、(コーディングループ内またはコーディングループ後の)他のループフィルタも使用され得る。これらの他のフィルタの1つの例が、SAOフィルタ74である。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定モジュール42と動き補償モジュール44とによって参照ブロックとして使用され得る。
SAOフィルタ74は、ビデオコーディングの品質を改善するように、SAOフィルタリングのためのオフセット値を決定することができる。ビデオコーディングの品質を改善することは、たとえば、再構成された画像が元の画像とより厳密に一致するようにするオフセット値を決定することを伴い得る。ビデオエンコーダ20は、たとえば、異なるオフセット値を伴う複数のパスを使用してビデオデータをコーディングし、レート歪みの計算に基づいて決定されるような、最良のコーディング品質をもたらすオフセット値を、符号化されたビットストリーム中に含めるために選ぶことができる。
いくつかの構成では、SAOフィルタ74は、上で説明されたように、2つのタイプのオフセット(たとえば、帯域オフセットおよびエッジオフセット)を適用するように構成され得る。SAOフィルタ74はまた、時にはオフセットを適用しないことがあり、このこと自体が、第3のタイプのオフセットであると考えられ得る。SAOフィルタ74によって適用されるオフセットのタイプは、明示的に、または暗黙的に、ビデオデコーダにシグナリングされ得る。エッジオフセットを適用する場合、ピクセルは、図2によるエッジ情報に基づいて分類されてよく、フィルタは、エッジ分類に基づいて決定され得る。帯域オフセットを適用する場合、SAOフィルタ74は、強度値のようなピクセル値に基づいてピクセルを異なる帯域に分類することができ、各帯域は関連するオフセットを有する。
様々な帯域に対するオフセットをシグナリングし生成する目的で、SAOフィルタ74は、図3Aおよび図3Bの例に示されるように、32個の帯域を2つ以上のグループにグルーピングすることができる。SAOフィルタ74は、たとえば、32個の帯域の各々を2つのグループ(すなわち、16個の帯域の2つのグループ)にグルーピングすることができる。本開示は全般に、等しいサイズの2つのグループへの帯域のグルーピングを説明するが、2つより多くのグループおよび等しくないサイズのグループも使用され得る。本開示は、これらのグループがどのように決定されるかを決定するための技法を説明する。
各帯域は、あるピクセル値の範囲にわたり得る。ピクセル値はたとえば、ピクセル強度値であってよく、RGB値、輝度値、クロミナンス値、または任意の他のタイプのピクセル値を表し得る。本開示で説明される技法は、たとえば、ビデオデータのクロマサンプル、ビデオデータのルーマサンプル、またはビデオデータのクロマサンプルとルーマサンプルの両方に適用され得る。
いくつかの実装形態では、帯域の第1のグループは、可能なピクセル値の範囲の中心(すなわち、最大値/2)に中心があり得る。したがって、たとえば、ピクセル値の範囲が0〜255である場合、帯域の第1のグループの中心は、ピクセル値127とピクセル値128の間にあることがあり、第1のグループは値64〜191にわたる。第2のグループの第1の部分はピクセル値0〜63にわたってよく、第2のグループの第2に部分はピクセル値192〜255にわたってよい。第1のグループは16個の帯域を含み、第2のグループは16個の帯域(第1の部分に8個の帯域および第2の部分に8個の帯域)を含む。この例示的なグルーピングが図3Aに示される。本開示の例は全般に、32個の帯域の各帯域のサイズが等しいと仮定するが、いくつかの実装形態では、等しくないサイズの帯域が使用され得る。
本開示の技法によれば、SAOフィルタ74は、帯域の静的なグルーピングを使用する代わりに、第1のグループの中心を適応的に決定することができる。SAOフィルタ74は、たとえば、フレームのある領域におけるピクセルのピクセル値の平均または中央値に基づいて、第1のグループの中心を決定することができる。SAOフィルタ74はまた、ヒストグラムのピークがあるピクセルに基づいて、第1のグループの中心を決定することができる。SAOフィルタ74が第1のグループの中心を決定すると、SAOフィルタ74は次いで、第2のグループを決定することができる。再び、32個の帯域を仮定すると、第1のグループは、中心の左側に概ね8個の帯域を、中心の右側に概ね8個の帯域を含み得る。残りの帯域は第2のグループを形成し得る。
一例として、最小のピクセル値が256であり、SAOフィルタ74が、上で説明された技法のいずれかに基づいて、帯域の第1のグループの中心がピクセル値90にあると決定すると仮定する。そのような場合、図3Aの静的なグルーピングに対して、帯域の第1のグループは左に移動することができ、第2のグループの第1の部分をより小さくしつつ、第2のグループの第2の部分をより大きくする。しかしながら、SAOフィルタ74が、帯域の第1のグループの中心が170にあると決定すると、第1のグループは図3Aの静的なグルーピングに対して右に移動し、第2のグループの第1の部分をより大きくしつつ、第2のグループの第2の部分をより小さくする。SAOフィルタ74は、平均、中央値、またはヒストグラム値のピークを決定するための本開示で説明された技法のいずれかに従って、中心を決定することができ、または、何らかの他の方式で決定され得る。
中心を決定した後で、SAOフィルタ74は、帯域の第1のグループを決定することができる。SAOフィルタ74は、中心の左側の8個の帯域と中心の右側の8個の帯域と特定することによって、帯域の第1のグループを決定することができる。いくつかの例では、決定された中心はある帯域内に入り得る。再び32個の等しい帯域(帯域0〜31)と0〜255のピクセル値とを仮定すると、帯域12は96〜103という値の範囲を有する。たとえば、SAOフィルタ74が99という中心を決定すると、中心は、帯域12によって包含されるピクセル値の範囲内に入る。そのような例では、SAOフィルタ74は、中心の左側の8個の帯域の1つとして帯域12を常に含み、または、中心の右側の8個の帯域の1つとして帯域12を常に含むように構成され得る。SAOフィルタ74が中心の左側の8個の帯域の1つとして帯域12を特定する場合、帯域の第1のグループは帯域5〜20を含み、一方、第2のグループは帯域0〜4と21〜31とを含む。SAOフィルタ74が中心の右側の8個の帯域の1つとして帯域12を特定する場合、帯域の第1のグループは帯域6〜21を含み、一方、第2のグループは帯域0〜5と22〜31とを含む。SAOフィルタ74はまた、帯域内で中心がどこにあるかに基づいて、帯域12を、中心の左側の帯域とともに含めるか、または中心の右側の帯域とともに含めるかを、判定するように構成され得る。99は103よりも96に近いので、SAOフィルタ74は、99という中心を決定したことに応答して、中心の左側の帯域の1つとして帯域12を特定するように構成され得る。しかしながら、96よりも103に近い101という中心を決定したことに応答して、SAOフィルタ74は、中心の右側の帯域の1つとして帯域12を特定するように構成され得る。
本開示の技法は全般に、32個の帯域と16個の帯域の2つのグループとを伴う例を使用して説明されてきたが、本開示の技法は全般に、より多数または少数の帯域とより多数または少数のグループとを使用するSAO方式に適用可能である。多くの可能な例の1つとして、本開示の技法は、4個の帯域の第1のグループと28個の帯域の第2のグループとを決定するために使用されてよく、第2のグループのオフセットはすべてが0という値を有すると仮定される。別の例では、16個の帯域、64個の帯域、または何らかの他の数の帯域が使用され得る。
SAOフィルタ74は、これらのグルーピングに基づいて、帯域のオフセットを生成しシグナリングすることができる。帯域の各グループに対して(やはり16個の帯域のグループを仮定する)、16個のオフセット値が決定され、ビデオデコーダによる使用のために、符号化されたビデオビットストリーム中でシグナリングされ得る。一例では、16個の帯域オフセット値のグループを送信するのに必要なビットの数は、グループ内の帯域オフセット値の相関を利用することによって、減らされ得る。別の例では、隣接する区分の帯域オフセット値は、現在の区分のグループに対する帯域オフセット値を予測するために使用され得る。隣接する区分は、現在の区分の原因である区分であり得る(すなわち、隣接する区分はすでに符号化されている)。隣接する区分の例には、現在の位置の上または左の区分のような空間的に隣接する区分、または、以前に符号化されたフレーム中の区分(たとえば、同じ位置にある区分)のような時間的に隣接する区分がある。
中心を見つけるための技法は、各LCUまたはLCUのグループに適用され得る。技法は、たとえば、上で論じられた4分木区分と同様の方式で決定されるフレームの領域に適用され得る。フレームは4つの領域に区分されてよく、各領域は4つのより小さい領域に区分されてよく、以下同様である。SAOフィルタ74は、LCUのグループまたはフレームの他の領域内のすべてのピクセル値に基づいて、上で説明されたように中心値を決定することができ、または、LCUまたはLCUのグループ中の利用可能なピクセル値のすべてよりも少数のピクセル値を利用する方式で、サブサンプリングピクセルによって中心値を決定することができる。
図4のビデオエンコーダ20は、の値に基づいてピクセルのセットの中心値を決定し、中心値に基づいてピクセル値の帯域をグループに分割し、グループに基づいて帯域に対するオフセット値を決定するように構成される、ビデオエンコーダの例を表す。ビデオエンコーダ20は、ピクセルのセットの平均値を決定し、ピクセルのセットの中央値を決定し、かつ/またはヒストグラムのピクセルがあるピクセルを決定することによって、ピクセルの第1のセットの中心を決定することができる。ビデオエンコーダ20は、第1のグループの第2の帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成することによって、グループに基づいて帯域に対するオフセット値を決定することができる。ビデオエンコーダ20は、隣接する区分に対して決定された帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成することによって、グループに基づいて帯域に対するオフセット値を決定することができる。ビデオエンコーダ20はまた、グループに基づいて、帯域オフセット値をビデオデコーダにシグナリングすることができる。いくつかの実装形態では、ビデオエンコーダ20は、決定された中心値を示すシンタックス要素を、符号化されたビットストリームに含めるために生成することができる。いくつかの例では、シンタックス要素は、帯域のグループに対して決定される中心の明示的な指示であってよいが、シンタックス要素は、必ずしも、決定された中心の明示的な指示である必要はない。たとえば、中心値は、ビデオエンコーダ20によって決定される帯域の同じグルーピングをビデオデコーダが再構成することを可能にするために、特定のグループの最初のまたは最後の帯域を特定することができる。そのような例では、符号化されたビットストリームにおいて中心が明示的にシグナリングされなくても、ビデオデコーダによって再構成される帯域のグルーピングは、ビデオエンコーダによって決定されるグルーピングと同じ中心に揃えられ得る。
図5は、本開示で説明される技法を実装し得る例示的なビデオデコーダ30を示すブロック図である。図5の例では、ビデオデコーダ30は、エントロピー復号モジュール80と、予測モジュール81と、逆量子化モジュール86と、逆変換モジュール88と、加算器90と、参照ピクチャメモリ92とを含む。予測モジュール81は、動き補償モジュール82と、イントラ予測モジュール84とを含む。ビデオデコーダ30は、いくつかの例では、図4のビデオエンコーダ20に関して説明された符号化パスとは全般に逆の復号パスを実行し得る。
復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化されたビデオスライスのビデオブロックと関連するシンタックス要素とを表す、符号化されたビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号モジュール80は、量子化された係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号モジュール80は、予測モジュール81に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
ビデオスライスがイントラコーディングされた(I)スライスとしてコーディングされるとき、予測モジュール81のイントラ予測モジュール84は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの、以前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコーディングされた(たとえば、B、PまたはGPB)スライスとしてコーディングされるとき、予測モジュール81の動き補償モジュール82は、エントロピー復号モジュール80から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ92に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト0とリスト1とを構成し得る。
動き補償モジュール82は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在のビデオブロックの予測ブロックを生成する。たとえば、動き補償モジュール82は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数に対する構成情報と、スライスの各々のインター符号化されたビデオブロックの動きベクトルと、スライスの各々のインターコーディングされたビデオブロックのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
動き補償モジュール82はまた、補間フィルタに基づいて補間を実行し得る。動き補償モジュール82は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間された値を計算し得る。この場合、動き補償モジュール82は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
逆量子化モジュール86は、ビットストリーム中で与えられエントロピー復号モジュール80によって復号された、量子化された変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を判定し、同様に、適用されるべき逆量子化の程度を判定するための、ビデオスライス中の各ビデオブロックに対してビデオエンコーダ20によって計算される量子化パラメータの使用を含み得る。逆変換モジュール88は、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域において残差ブロックを生成する。
動き補償モジュール82が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換モジュール88からの残差ブロックを動き補償モジュール82によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数のコンポーネントを表す。加算器90によって形成された復号されたビデオブロックは次いで、デブロッキングフィルタ93、SAOフィルタ94、および適応ループフィルタ95によってフィルタリングされ得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する、参照ピクチャメモリ92に記憶される。参照ピクチャメモリ92はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での後の表示のために、復号されたビデオを記憶する。
SAOフィルタ94は、上で論じられたSAOフィルタ74と同じフィルタリング(たとえば、エッジオフセットおよび帯域オフセット)を適用するように構成され得る。このようにして、帯域オフセットを実行することの一部として、SAOフィルタ74は、図4を参照して上で説明されたように、帯域の第1のグループに対する中心値を決定することができる。中心値は、たとえば、ピクセル値の平均、ピクセル値の中央値のような尺度に基づいて決定されてよく、または、LCUもしくはLCUのグループに対するヒストグラムのピークがあるピクセルに基づいて決定されてよい。
いくつかの実装形態では、SAOフィルタ94は、ビデオエンコーダによって決定された中心の指示を、ビデオビットストリームにおいて受信することができる。この指示は、ビデオエンコーダによって計算されるような実際の中心値という形態をとってよく、または、第1のグループに対する第1の帯域の特定、第2のグループの第1の部分の最後の帯域の指示、第1のグループに対する中間値、または、ビデオエンコーダによって使用される帯域の同じグルーピングをSAOフィルタ94が決定することを可能にする何らかの他のそのような情報という形態をとってよい。中心値に基づいて決定された第1のグループおよび第2のグループに基づいて、SAOフィルタ94は、符号化されたビットストリーム中で受信された情報に基づいて、オフセット値を生成することができる。第2のグループのようなグループの1つに対して、オフセット値は、すべてが0に等しいと仮定され得る。
LCUのグループに対して、SAOフィルタ94は、LCUのグループに対する平均のピクセル値を決定することによって、中心値を決定することができる。SAOフィルタ94は、LCUのグループ中のピクセルのすべてまたは一部のピクセル値を加算し、値が加算の一部として使用されたピクセルの数によって除算することによって、平均のピクセル値を決定することができ、得られる値は、LCUのグループに対する平均のピクセル値である。SAOフィルタユニット94は次いで、上で説明された方式で、決定された平均のピクセル値を使用して、帯域のグルーピングを決定することができる。
代替的に、LCUのグループに対して、SAOフィルタ94は、LCUのグループに対するピクセル値の中央値を決定することによって、中心値を決定することができる。SAOフィルタ94は、LCUのグループのピクセル値の半分がその値より大きくなり、LCUのグループのピクセル値の半分がその値より小さくなるような値を特定することによって、ピクセル値の中央値を決定することができる。SAOフィルタユニット94は次いで、上で説明された方式で、決定されたピクセル値の中央値を使用して、帯域のグルーピングを決定することができる。
代替的に、LCUのグループに対して、SAOフィルタ94は、LCUまたはLCUのグループに対してヒストグラムのピークがどこにあるかを判定することによって、中心値を決定することができる。ヒストグラムは一般に、LCUのグループに対するピクセル値の分布の統計的な表現であると考えられ得る。したがって、SAOフィルタ94は、LCUのグループ中で最も頻繁に現れる1つまたは複数のピクセル値を特定することによって、ヒストグラムのピークを判定することができる。SAOフィルタユニット94は次いで、上で説明された方式で、ヒストグラム中のピークの判定された値を使用して、帯域のグルーピングを決定することができる。
中心値(たとえば、平均、中央値、ヒストグラムのピーク)をどのように決定するかということの3つの例は、SAOフィルタ74とSAOフィルタ94のいずれか、またはこれらの両方によって実行されてよく、中心値が決定され得る唯一の3つの可能な技法ではない。帯域オフセット値をシグナリングするための帯域のグルーピングを動的に決定することに全般に関連する本開示の技法は、中心値を決定するための他のそのような技法と適合し得ると考えられる。
図5のビデオデコーダ30は、ピクセルの値に基づいてピクセルのセットの中心値を決定し、中心値に基づいてピクセル値の帯域をグループに分割し、グループに基づいて帯域に対するオフセット値を決定するように構成される、ビデオデコーダの例を表す。いくつかの実装形態では、ビデオデコーダ30は、中心値を示すシンタックス要素を受信することによって、中心値を決定することができる。上で説明されたように、シンタックス要素は、中心値の明示的な指示であってもそうではなくてもよい。いくつかの実装形態では、ビデオデコーダ30は、ピクセルのセットの平均値を決定し、ピクセルのセットの中央値を決定し、かつ/またはヒストグラムのピクセルがあるピクセルを決定することによって、中心値を決定することができる。ビデオデコーダ30は、第1のグループの第2の帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成することによって、グループに基づいて帯域に対するオフセット値を決定することができる。ビデオデコーダ30は、隣接する区分に対して決定された帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成することによって、グループに基づいて帯域に対するオフセット値を決定することができる。ビデオデコーダ30はまた、グループに基づいて、ビデオエンコーダからシグナリングされた帯域オフセット値を再構成することができる。
このようにして、図5のビデオデコーダ30は、グループに対するピクセルの値に基づいてピクセルのセットの中心値を決定し、中心値に基づいてピクセル値の帯域をグループに分割し、グループに基づいて帯域に対するオフセット値を決定するように構成される、ビデオデコーダの例を表す。ビデオデコーダ30は、中心値を示すシンタックス要素を受信することによって中心値を決定し、ピクセルのセットの平均値を決定することによって中心値を決定し、ピクセルのセットの中央値を決定することによって中心値を決定することができ、または、中心値を決定することは、ヒストグラムのピークがあるピクセルを決定することを備える。ピクセルのセットは、たとえば、最大コーディングユニット(LCU)のグループを含み得る。ビデオデコーダ30は、第1のグループの第2の帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成することによって、グループに基づいて帯域に対するオフセット値を決定することができる。ビデオデコーダ30は、隣接する区分に対して決定された帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成することによって、グループに基づいて帯域に対するオフセット値を決定することができる。
図6は、本開示で説明されるSAOフィルタリング技法を示す流れ図を示す。図6の技法は、ビデオエンコーダ20またはビデオデコーダ30のような、SAOフィルタリングモジュールを伴うビデオコーダによって実行され得る。図6の技法は、ビデオデコーダ30を参照して説明されるが、図6の技法は、広範囲のビデオコーディングデバイスに適用可能であり、ビデオデコーダのみに限定されないことを理解されたい。
ビデオデコーダ30は、ピクセルの値に基づいて、ピクセルのセットの中心値を決定する(610)。ビデオデコーダ30は、たとえば、ピクセルのセットの平均値を決定し、ピクセルのセットの中央値を決定し、ヒストグラムのピクセルがあるピクセルを決定することによって、中心値を決定することができる。ビデオデコーダ30は、中心値に基づいて、ピクセル値の帯域をグループに分割する(620)。ビデオデコーダ30は、グループに基づいて帯域に対するオフセット値を決定する(630)。ビデオデコーダ30は、第1のグループの第2の帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成することによって、グループに基づいて帯域に対するオフセット値を決定することができる。ビデオデコーダ30はまた、隣接する区分に対して決定された帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成することによって、グループに基づいて帯域に対するオフセット値を決定することができる。
1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。各機能は、ソフトウェアで実装される場合、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されてよく、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は全般に、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コードおよび/またはデータ構造を取り出すために、1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(登録商標)(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明される技法の実装に適切な他の構造のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内で提供されてよく、あるいは複合コーデックに組み込まれてよい。また、本技法は、1つまたは複数の回路または論理要素中で完全に実装され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々なコンポーネント、モジュール、またはユニットが説明されたが、それらのコンポーネント、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上で説明されたように、様々なユニットが、適切なソフトウェアおよび/またはファームウェアとともに、上で説明された1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされてもよく、または相互動作可能なハードウェアユニットの集合によって与えられてもよい。
様々な例が説明されてきた。これらおよび他の例は、以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] ビデオデータをコーディングするための方法であって、
ピクセルのセットの中心値を決定することであって、前記中心値が前記ピクセルの値に基づく、決定することと、
前記中心値に基づいて、ピクセル値の帯域を帯域のグループに分割することと、
前記グループに基づいて、前記帯域に対するオフセット値を決定することとを備える、方法。
[C2] ビデオデコーダによって実行され、前記中心値を決定することがシンタックス要素を受信することを備え、ピクセル値の前記帯域を帯域のグループに分割することが前記シンタックス要素に基づいて帯域の前記グループを決定することを備える、C1に記載の方法であって、前記オフセット値に基づいてサンプル適応オフセット(SAO)フィルタを適用することをさらに備える、方法。
[C3] ビデオエンコーダによって実行される、C1に記載の方法であって、
符号化されたビットストリームに含めるためのシンタックス要素を生成することをさらに備え、前記シンタックス要素が前記中心値を示す、方法。
[C4] 前記中心値を決定することが、ピクセルの前記セットの平均値を決定することを備える、C1に記載の方法。
[C5] 前記中心値を決定することが、ピクセルの前記セットの中央値を決定することを備える、C1に記載の方法。
[C6] 前記中心値を決定することが、ヒストグラムのピークがある前記ピクセルを決定することを備える、C1に記載の方法。
[C7] ピクセルの前記セットが、最大コーディングユニット(LCU)のグループを備える、C1に記載の方法。
[C8] 前記グループに基づいて前記帯域に対するオフセット値を決定することが、第1のグループの第2の帯域オフセットに基づいて、前記第1のグループの帯域に対する帯域オフセット値を生成することを備える、C1に記載の方法。
[C9] 前記グループに基づいて前記帯域に対するオフセット値を決定することが、隣接する区分に対して決定された帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成することを備える、C1に記載の方法。
[C10] ビデオコーダを備えるビデオコーディングデバイスであって、前記ビデオコーダが、
ピクセルのセットの中心値を決定し、このとき前記中心値が前記ピクセルの値に基づき、さらに、前記中心値に基づいてピクセル値の帯域をグループに分割し、前記グループに基づいて前記帯域に対するオフセット値を決定するように構成される、ビデオコーディングデバイス。
[C11] 前記ビデオコーダがビデオデコーダを備え、前記ビデオコーダが、
シンタックス要素を受信することによって前記中心値を決定し、
前記シンタックス要素に基づいて帯域のグループを決定することによって、ピクセル値の前記帯域を帯域の前記グループに分割し、
前記オフセット値に基づいてサンプル適応オフセット(SAO)フィルタを適用するように構成される、C10に記載のビデオコーディングデバイス。
[C12] 前記ビデオコーダがビデオエンコーダを備え、前記ビデオコーダがさらに、符号化されたビットストリーム中に含めるためにシンタックス要素を生成するように構成され、前記シンタックス要素が前記中心値を示す、C10に記載のビデオコーディングデバイス。
[C13] 前記ビデオコーダが、ピクセルの前記セットの平均値に基づいて前記中心値を決定するように構成される、C10に記載のビデオコーディングデバイス。
[C14] 前記ビデオコーダが、ピクセルの前記セットの中央値に基づいて前記中心値を決定するように構成される、C10に記載のビデオコーディングデバイス。
[C15] 前記ビデオコーダが、ヒストグラムのピークがあるピクセルに基づいて前記中心値を決定するように構成される、C10に記載のビデオコーディングデバイス。
[C16] ピクセルの前記セットが、最大コーディングユニット(LCU)のグループを備える、C10に記載のビデオコーディングデバイス。
[C17] 前記ビデオコーダが、第1のグループの第2の帯域オフセットに基づいて、前記第1のグループの帯域に対する帯域オフセット値を生成することによって、前記グループに基づいて前記帯域に対する前記オフセット値を決定するように構成される、C10に記載のビデオコーディングデバイス。
[C18] 前記ビデオコーダが、隣接する区分に対して決定された帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成することによって、前記グループに基づいて前記帯域に対する前記オフセット値を決定するように構成される、C10に記載のビデオコーディングデバイス。
[C19] 集積回路と、
マイクロプロセッサと、
前記ビデオコーダを含むワイヤレス通信デバイスとのうちの少なくとも1つを備える、C10に記載のビデオコーディングデバイス。
[C20] 1つまたは複数のプロセッサに、
ピクセルのセットの中心値を決定させ、このとき前記中心値が前記ピクセルの値に基づき、
前記中心値に基づいて、ピクセル値の帯域をグループへと分割させ、
前記グループに基づいて、前記帯域に対するオフセット値を決定させるように動作可能な命令を記憶する、コンピュータ可読記憶媒体。
[C21] 前記1つまたは複数のプロセッサがビデオデコーダを備え、前記命令が、前記1つまたは複数のプロセッサに、
シンタックス要素を受信することによって前記中心値を決定させ、
前記シンタックス要素に基づいて帯域のグループを決定することによって、ピクセル値の前記帯域を帯域の前記グループへと分割させ、
前記オフセット値に基づいてサンプル適応オフセット(SAO)フィルタを適用させる、C20に記載のコンピュータ可読記憶媒体。
[C22] 前記1つまたは複数のプロセッサがビデオデコーダを備え、前記コンピュータ可読記憶媒体が、前記1つまたは複数のプロセッサに、符号化されたビットストリーム中に含めるためにシンタックス要素を生成させるさらなる命令を記憶し、前記シンタックス要素が前記中心値を示す、C20に記載のコンピュータ可読記憶媒体。
[C23] 前記命令が、前記1つまたは複数のプロセッサに、ピクセルの前記セットの平均値を決定することによって前記中心値を決定させる、C20に記載のコンピュータ可読記憶媒体。
[C24] 前記命令が、前記1つまたは複数のプロセッサに、ピクセルの前記セットの中央値を決定することによって前記中心値を決定させる、C20に記載のコンピュータ可読記憶媒体。
[C25] 前記命令が、前記1つまたは複数のプロセッサに、ヒストグラムのピークがあるピクセルを決定することによって前記中心値を決定させる、C20に記載のコンピュータ可読記憶媒体。
[C26] ピクセルの前記セットが、最大コーディングユニット(LCU)のグループを備える、C20に記載のコンピュータ可読記憶媒体。
[C27] 前記命令が、前記1つまたは複数のプロセッサに、前記第1のグループの第2の帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成することによって、前記グループに基づいて前記帯域に対する前記オフセット値を決定させる、C20に記載のコンピュータ可読記憶媒体。
[C28] 前記命令が、前記1つまたは複数のプロセッサに、隣接する区分に対して決定された帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成することによって、前記グループに基づいて前記帯域に対する前記オフセット値を決定させる、C20に記載のコンピュータ可読記憶媒体。
[C29] ビデオデータをコーディングするための装置であって、
ピクセルのセットの中心値を決定するための手段であって、前記中心値が前記ピクセルの値に基づく、手段と、
前記中心値に基づいて、ピクセル値の帯域をグループに分割するための手段と、
前記グループに基づいて、前記帯域に対するオフセット値を決定するための手段とを備える、装置。
[C30] ビデオデコーダを備え、前記中心値を決定するための前記手段がシンタックス要素を受信するための手段を備え、ピクセル値の前記帯域を帯域のグループに分割するための前記手段が前記シンタックス要素に基づいて帯域の前記グループを決定するための手段を備える、C29に記載の装置であって、前記オフセット値に基づいてサンプル適応オフセット(SAO)フィルタを適用するための手段をさらに備える、装置。
[C31] ビデオエンコーダを備える、C29に記載の装置であって、
符号化されたビットストリームに含めるためのシンタックス要素を生成するための手段をさらに備え、前記シンタックス要素が前記中心値を示す、装置。
[C32] 前記中心値を決定するための前記手段が、ピクセルの前記セットの平均値を決定するための手段を備える、C29に記載の装置。
[C33] 前記中心値を決定するための前記手段が、ピクセルの前記セットの中央値を決定するための手段を備える、C29に記載の装置。
[C34] 前記中心値を決定するための前記手段が、ヒストグラムのピークがある前記ピクセルを決定するための手段を備える、C29に記載の装置。
[C35] ピクセルの前記セットが、最大コーディングユニット(LCU)のグループを備える、C29に記載の装置。
[C36] 前記グループに基づいて前記帯域に対する前記オフセット値を決定するための前記手段が、第1のグループの第2の帯域オフセットに基づいて、前記第1のグループの帯域に対する帯域オフセット値を生成するための手段を備える、C29に記載の装置。
[C37] 前記グループに基づいて前記帯域に対する前記オフセット値を決定するための前記手段が、隣接する区分に対して決定された帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成するための手段を備える、C29に記載の装置。

Claims (33)

  1. ビデオデータを復号するための方法であって、
    ピクセルのセットの中心値を決定することであって、前記中心値が前記ピクセルの値に基づく、決定することと、
    前記中心値に基づいて、ピクセル値の帯域を帯域の2つ以上のグループに分割することであって、ピクセル値の前記帯域の各帯域がピクセル値のある範囲を備え、前記帯域の2つ以上のグループの各グループが1つまたは複数の帯域を備える、分割することと、
    前記帯域の2つ以上のグループに基づいて、前記帯域に対するオフセット値を決定することとを備える、方法。
  2. 記中心値を決定することがシンタックス要素を受信することを備え、ピクセル値の前記帯域を帯域の2つ以上のグループに分割することが前記シンタックス要素に基づいて帯域の前記2つ以上のグループを決定することを備える、請求項1に記載の方法であって、前記オフセット値に基づいてサンプル適応オフセット(SAO)フィルタを適用することをさらに備える、方法。
  3. ビデオデータを符号化するための方法であって、
    ピクセルのセットの中心値を決定することであって、前記中心値が前記ピクセルの値に基づく、決定することと、
    前記中心値に基づいて、ピクセル値の帯域を帯域の2つ以上のグループに分割することであって、ピクセル値の前記帯域の各帯域がピクセル値のある範囲を備え、前記帯域の2つ以上のグループの各グループが1つまたは複数の帯域を備える、分割することと、
    前記帯域の2つ以上のグループに基づいて、前記帯域に対するオフセット値を決定することと、
    符号化されたビットストリームに含めるためのシンタックス要素を生成すること
    を備え、前記シンタックス要素が前記中心値を示す、方法。
  4. 前記中心値を決定することが、ピクセルの前記セットの平均値を決定することを備える、請求項1または3に記載の方法。
  5. 前記中心値を決定することが、ピクセルの前記セットの中央値を決定することを備える、請求項1または3に記載の方法。
  6. ピクセルの前記セットが、最大コーディングユニット(LCU)のグループを備える、請求項1または3に記載の方法。
  7. 前記帯域の2つ以上のグループに基づいて前記帯域に対するオフセット値を決定することが、第1のグループの第2の帯域オフセットに基づいて、前記第1のグループの帯域に対する帯域オフセット値を生成することを備える、請求項1または3に記載の方法。
  8. 前記帯域の2つ以上のグループに基づいて前記帯域に対するオフセット値を決定することが、隣接する区分に対して決定された帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成することを備える、請求項1または3に記載の方法。
  9. デオ復号デバイスであって、前記ビデオ復号デバイスが、
    ビデオデータを記憶するメモリと、
    前記ビデオデータのピクセルのセットの中心値を決定し、このとき前記中心値が前記ピクセルの値に基づき、さらに、前記中心値に基づいてピクセル値の帯域を帯域の2つ以上のグループに分割し、このときピクセル値の前記帯域の各帯域がピクセル値のある範囲を備え、前記帯域の2つ以上のグループの各グループが1つまたは複数の帯域を備え、さらに、前記帯域の2つ以上のグループに基づいて前記帯域に対するオフセット値を決定するように構成された1つまたは複数のプロセッサを備えるビデオデコーダと
    を備える、デバイス。
  10. 1つまたは複数のプロセッサは
    シンタックス要素を受信することによって前記中心値を決定し、
    前記シンタックス要素に基づいて帯域の2つ以上のグループを決定することによって、ピクセル値の前記帯域を帯域の前記2つ以上のグループに分割し、
    前記オフセット値に基づいてサンプル適応オフセット(SAO)フィルタを適用する
    ようにさらに構成される、請求項に記載のデバイス。
  11. ビデオ符号化デバイスであって、
    ビデオデータを記憶するメモリと、
    ピクセルのセットの中心値を決定し、このとき前記中心値が前記ピクセルの値に基づき、さらに、前記中心値に基づいてピクセル値の帯域を帯域の2つ以上のグループに分割し、このときピクセル値の前記帯域の各帯域がピクセル値のある範囲を備え、前記帯域の2つ以上のグループの各グループが1つまたは複数の帯域を備え、さらに、前記帯域の2つ以上のグループに基づいて前記帯域に対するオフセット値を決定し、さらに、符号化されたビットストリーム中に含めるためにシンタックス要素を生成するように構成された1つまたは複数のプロセッサを備えるビデオエンコーダと、
    を備え、前記シンタックス要素が前記中心値を示す、デバイス。
  12. 前記1つまたは複数のプロセッサは、ピクセルの前記セットの平均値に基づいて前記中心値を決定するようにさらに構成される、請求項9または11に記載のデバイス。
  13. 前記1つまたは複数のプロセッサは、ピクセルの前記セットの中央値に基づいて前記中心値を決定するようにさらに構成される、請求項9または11に記載のデバイス。
  14. ピクセルの前記セットが、最大コーディングユニット(LCU)のグループを備える、請求項9または11に記載のデバイス。
  15. 前記1つまたは複数のプロセッサは、第1のグループの第2の帯域オフセットに基づいて、前記第1のグループの帯域に対する帯域オフセット値を生成することによって、前記帯域の2つ以上のグループに基づいて前記帯域に対する前記オフセット値を決定するようにさらに構成される、請求項9または11に記載のデバイス。
  16. 前記1つまたは複数のプロセッサは、隣接する区分に対して決定された帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成することによって、前記帯域の2つ以上のグループに基づいて前記帯域に対する前記オフセット値を決定するようにさらに構成される、請求項9または11に記載のデバイス。
  17. 前記デバイスは、
    集積回路、
    マイクロプロセッサ、または
    イヤレス通信デバイスのうちの少なくとも1つを備える、請求項9または11に記載のデバイス。
  18. 1つまたは複数のプロセッサに、
    ピクセルのセットの中心値を決定させ、このとき前記中心値が前記ピクセルの値に基づき、
    前記中心値に基づいて、ピクセル値の帯域を帯域の2つ以上のグループへと分割させ、このときピクセル値の前記帯域の各帯域がピクセル値のある範囲を備え、前記帯域の2つ以上のグループの各グループが1つまたは複数の帯域を備え、
    前記帯域の2つ以上のグループに基づいて、前記帯域に対するオフセット値を決定させるように動作可能な命令を記憶する、コンピュータ可読記憶媒体。
  19. 前記1つまたは複数のプロセッサがビデオデコーダを備え、前記命令が、前記1つまたは複数のプロセッサに、
    シンタックス要素を受信することによって前記中心値を決定させ、
    前記シンタックス要素に基づいて帯域の2つ以上のグループを決定することによって、ピクセル値の前記帯域を帯域の前記2つ以上のグループへと分割させ、
    前記オフセット値に基づいてサンプル適応オフセット(SAO)フィルタを適用させる、請求項18に記載のコンピュータ可読記憶媒体。
  20. 前記1つまたは複数のプロセッサがビデオデコーダを備え、前記コンピュータ可読記憶媒体が、前記1つまたは複数のプロセッサに、符号化されたビットストリーム中に含めるためにシンタックス要素を生成させるさらなる命令を記憶し、前記シンタックス要素が前記中心値を示す、請求項18に記載のコンピュータ可読記憶媒体。
  21. 前記命令が、前記1つまたは複数のプロセッサに、ピクセルの前記セットの平均値を決定することによって前記中心値を決定させる、請求項18に記載のコンピュータ可読記憶媒体。
  22. 前記命令が、前記1つまたは複数のプロセッサに、ピクセルの前記セットの中央値を決定することによって前記中心値を決定させる、請求項18に記載のコンピュータ可読記憶媒体。
  23. ピクセルの前記セットが、最大コーディングユニット(LCU)のグループを備える、請求項18に記載のコンピュータ可読記憶媒体。
  24. 前記命令が、前記1つまたは複数のプロセッサに、第1のグループの第2の帯域オフセットに基づいて、前記第1のグループの帯域に対する帯域オフセット値を生成することによって、前記帯域の2つ以上のグループに基づいて前記帯域に対する前記オフセット値を決定させる、請求項18に記載のコンピュータ可読記憶媒体。
  25. 前記命令が、前記1つまたは複数のプロセッサに、隣接する区分に対して決定された帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成することによって、前記帯域の2つ以上のグループに基づいて前記帯域に対する前記オフセット値を決定させる、請求項18に記載のコンピュータ可読記憶媒体。
  26. ビデオデータを復号するための装置であって、
    ピクセルのセットの中心値を決定するための手段であって、前記中心値が前記ピクセルの値に基づく、手段と、
    前記中心値に基づいて、ピクセル値の帯域を帯域の2つ以上のグループに分割するための手段であって、ピクセル値の前記帯域の各帯域がピクセル値のある範囲を備え、前記帯域の2つ以上のグループの各グループが1つまたは複数の帯域を備える、手段と、
    前記帯域の2つ以上のグループに基づいて、前記帯域に対するオフセット値を決定するための手段とを備える、装置。
  27. ビデオデコーダを備え、前記中心値を決定するための前記手段がシンタックス要素を受信するための手段を備え、ピクセル値の前記帯域を帯域の2つ以上のグループに分割するための前記手段が前記シンタックス要素に基づいて帯域の前記2つ以上のグループを決定するための手段を備える、請求項26に記載の装置であって、前記オフセット値に基づいてサンプル適応オフセット(SAO)フィルタを適用するための手段をさらに備える、装置。
  28. ビデオデータを符号化するための装置であって、
    ピクセルのセットの中心値を決定するための手段であって、前記中心値が前記ピクセルの値に基づく、手段と、
    前記中心値に基づいて、ピクセル値の帯域を帯域の2つ以上のグループに分割するための手段であって、ピクセル値の前記帯域の各帯域がピクセル値のある範囲を備え、前記帯域の2つ以上のグループの各グループが1つまたは複数の帯域を備える、手段と、
    前記帯域の2つ以上のグループに基づいて、前記帯域に対するオフセット値を決定するための手段と、
    符号化されたビットストリームに含めるためのシンタックス要素を生成するための手段
    を備え、前記シンタックス要素が前記中心値を示す、装置。
  29. 前記中心値を決定するための前記手段が、ピクセルの前記セットの平均値を決定するための手段を備える、請求項26または28に記載の装置。
  30. 前記中心値を決定するための前記手段が、ピクセルの前記セットの中央値を決定するための手段を備える、請求項26または28に記載の装置。
  31. ピクセルの前記セットが、最大コーディングユニット(LCU)のグループを備える、請求項26または28に記載の装置。
  32. 前記帯域の2つ以上のグループに基づいて前記帯域に対する前記オフセット値を決定するための前記手段が、第1のグループの第2の帯域オフセットに基づいて、前記第1のグループの帯域に対する帯域オフセット値を生成するための手段を備える、請求項26または28に記載の装置。
  33. 前記帯域の2つ以上のグループに基づいて前記帯域に対する前記オフセット値を決定するための前記手段が、隣接する区分に対して決定された帯域オフセットに基づいて、第1のグループの帯域に対する帯域オフセット値を生成するための手段を備える、請求項26または28に記載の装置。
JP2014540125A 2011-11-04 2012-11-02 ビデオコーディングのための適応的な中心帯域オフセットフィルタ Active JP5833249B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161556085P 2011-11-04 2011-11-04
US61/556,085 2011-11-04
US13/646,102 US10051289B2 (en) 2011-11-04 2012-10-05 Adaptive center band offset filter for video coding
US13/646,102 2012-10-05
PCT/US2012/063273 WO2013067318A1 (en) 2011-11-04 2012-11-02 Adaptive center band offset filter for video coding

Publications (2)

Publication Number Publication Date
JP2014533048A JP2014533048A (ja) 2014-12-08
JP5833249B2 true JP5833249B2 (ja) 2015-12-16

Family

ID=47291233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014540125A Active JP5833249B2 (ja) 2011-11-04 2012-11-02 ビデオコーディングのための適応的な中心帯域オフセットフィルタ

Country Status (16)

Country Link
US (1) US10051289B2 (ja)
EP (1) EP2774372B1 (ja)
JP (1) JP5833249B2 (ja)
KR (1) KR101622860B1 (ja)
CN (1) CN104012091B (ja)
AU (1) AU2012332318B2 (ja)
BR (1) BR112014010337B1 (ja)
CA (1) CA2853798C (ja)
ES (1) ES2688359T3 (ja)
HU (1) HUE039957T2 (ja)
IL (1) IL232237A (ja)
IN (1) IN2014CN03163A (ja)
MY (1) MY169625A (ja)
SG (1) SG11201401490VA (ja)
WO (1) WO2013067318A1 (ja)
ZA (1) ZA201404050B (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10051289B2 (en) 2011-11-04 2018-08-14 Qualcomm Incorporated Adaptive center band offset filter for video coding
GB201119206D0 (en) * 2011-11-07 2011-12-21 Canon Kk Method and device for providing compensation offsets for a set of reconstructed samples of an image
EP2777259A2 (en) 2011-11-08 2014-09-17 Motorola Mobility LLC Devices and methods for sample adaptive offset coding and/or signaling
US9277194B2 (en) 2011-11-08 2016-03-01 Texas Instruments Incorporated Method and apparatus for image and video coding using hierarchical sample adaptive band offset
WO2013103893A1 (en) 2012-01-05 2013-07-11 General Instrument Corporation Devices and methods for multipass 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
US20130188741A1 (en) * 2012-01-21 2013-07-25 General Instrument Corporation Devices and methods for sample adaptive offset coding and/or selection of band offset parameters
WO2013152356A1 (en) 2012-04-06 2013-10-10 Motorola Mobility Llc Devices and methods for signaling sample adaptive offset (sao) parameters
WO2013175736A1 (ja) 2012-05-25 2013-11-28 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および、動画像符号化復号装置
BR112014000369B1 (pt) 2012-05-25 2023-04-25 Sun Patent Trust Método de decodificação de imagem em movimento, aparelho de decodificação de imagem em movimento, método de codificação de imagem em movimento e aparelho de codificação de imagem em movimento
MX2013014976A (es) 2012-05-25 2014-04-02 Panasonic Corp Metodo de codificacion de imagenes, aparato de codificacion de imagenes, metodo de decodificacion de imagenes, aparato de decodificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
CN107820092B (zh) * 2012-06-04 2020-04-21 太阳专利托管公司 运动图像编码方法及装置、运动图像编解码装置
US10477208B2 (en) * 2012-09-24 2019-11-12 Intel Corporation Histogram segmentation based local adaptive filter for video encoding and decoding
GB2509563A (en) * 2013-01-04 2014-07-09 Canon Kk Encoding or decoding a scalable video sequence using inferred SAO parameters
JP2015076866A (ja) * 2013-10-11 2015-04-20 日本放送協会 画像符号化装置、画像復号装置、及びプログラム
CN105993174B (zh) * 2013-12-12 2020-03-13 三星电子株式会社 用于用信号传送sao参数的视频编码方法和设备以及视频解码方法和设备
CN104980747B (zh) * 2014-04-04 2019-08-09 北京三星通信技术研究有限公司 对像素标识进行处理的方法和装置
US10382754B2 (en) 2014-04-29 2019-08-13 Microsoft Technology Licensing, Llc Encoder-side decisions for sample adaptive offset filtering
CN104506867B (zh) * 2014-12-01 2017-07-21 北京大学 采样点自适应偏移参数估计方法及装置
US10645416B2 (en) * 2015-05-12 2020-05-05 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding an image using a modified distribution of neighboring reference pixels
KR102423880B1 (ko) 2015-10-06 2022-07-21 삼성전자주식회사 인코더의 작동방법과 상기 인코더를 포함하는 시스템 온 칩의 작동 방법
GB2568038B (en) 2017-10-30 2020-12-02 Imagination Tech Ltd Systems and methods for processing a stream of data values
GB2567881B (en) 2017-10-30 2021-02-10 Imagination Tech Ltd Systems and methods for processing a stream of data values
WO2019135294A1 (ja) * 2018-01-05 2019-07-11 株式会社ソシオネクスト 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678411B1 (en) 1999-06-04 2004-01-13 Look Dynamics, Inc. Apparatus and method for characterizing, encoding, storing, and searching images by shape
US6990637B2 (en) 2003-10-23 2006-01-24 Microsoft Corporation Graphical user interface for 3-dimensional view of a data collection based on an attribute of the data
GB2411331A (en) 2004-02-19 2005-08-24 Trigenix Ltd Rendering user interface using actor attributes
DE102004044111B4 (de) 2004-09-08 2015-05-07 Seereal Technologies Gmbh Verfahren und Vorrichtung zum Kodieren und Rekonstruieren von computergenerierten Videohologrammen
CN101783942A (zh) 2005-09-20 2010-07-21 三菱电机株式会社 图像编码装置和图像编码方法
US7668382B2 (en) 2006-02-24 2010-02-23 Microsoft Corporation Block-based fast image compression
KR100846512B1 (ko) 2006-12-28 2008-07-17 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
JP5524063B2 (ja) 2007-09-28 2014-06-18 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ情報処理
KR101489785B1 (ko) 2008-07-22 2015-02-06 에스케이 텔레콤주식회사 웨이블렛 변환 계수 부호화를 위한 적응적 필터 탭 결정장치와 방법, 그것을 이용한 웨이블렛 변환 장치와 방법,및 그를 위한 기록 매체
WO2011003326A1 (en) 2009-07-06 2011-01-13 Mediatek Singapore Pte. Ltd. Single pass adaptive interpolation filter
US20110116545A1 (en) 2009-11-17 2011-05-19 Jinwen Zan Methods and devices for in-loop video deblocking
JP5659160B2 (ja) 2010-03-09 2015-01-28 パナソニックIpマネジメント株式会社 動画像復号装置、動画像符号化装置、動画像復号回路及び動画像復号方法
CN101790092B (zh) 2010-03-15 2013-02-06 河海大学常州校区 基于图像块编码信息的智能滤波器设计方法
KR101529992B1 (ko) 2010-04-05 2015-06-18 삼성전자주식회사 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치
US8861617B2 (en) 2010-10-05 2014-10-14 Mediatek Inc Method and apparatus of region-based adaptive loop filtering
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
US9161041B2 (en) * 2011-01-09 2015-10-13 Mediatek Inc. Apparatus and method of efficient sample adaptive offset
CN102137263B (zh) 2011-05-09 2013-07-03 松日数码发展(深圳)有限公司 基于cnm关键帧分类的分布式视频编码及解码方法
WO2012175195A1 (en) * 2011-06-20 2012-12-27 Panasonic Corporation Simplified pipeline for filtering
US9344743B2 (en) * 2011-08-24 2016-05-17 Texas Instruments Incorporated Flexible region based sample adaptive offset (SAO) and adaptive loop filter (ALF)
US8913656B2 (en) * 2011-10-14 2014-12-16 Mediatek Inc. Method and apparatus for in-loop filtering
US10051289B2 (en) 2011-11-04 2018-08-14 Qualcomm Incorporated Adaptive center band offset filter for video coding

Also Published As

Publication number Publication date
AU2012332318B2 (en) 2015-12-03
CN104012091A (zh) 2014-08-27
US20130114674A1 (en) 2013-05-09
CA2853798C (en) 2017-03-07
HUE039957T2 (hu) 2019-02-28
KR20140088214A (ko) 2014-07-09
IN2014CN03163A (ja) 2015-08-14
US10051289B2 (en) 2018-08-14
JP2014533048A (ja) 2014-12-08
ES2688359T3 (es) 2018-11-02
EP2774372B1 (en) 2018-06-27
RU2014122539A (ru) 2015-12-10
IL232237A0 (en) 2014-06-30
KR101622860B1 (ko) 2016-05-19
WO2013067318A1 (en) 2013-05-10
CA2853798A1 (en) 2013-05-10
CN104012091B (zh) 2017-05-24
IL232237A (en) 2017-01-31
BR112014010337B1 (pt) 2022-05-17
BR112014010337A2 (pt) 2017-04-18
ZA201404050B (en) 2017-08-30
EP2774372A1 (en) 2014-09-10
SG11201401490VA (en) 2014-06-27
MY169625A (en) 2019-04-23
AU2012332318A1 (en) 2014-05-29

Similar Documents

Publication Publication Date Title
JP5833249B2 (ja) ビデオコーディングのための適応的な中心帯域オフセットフィルタ
JP5847958B2 (ja) コンテキスト適応型バイナリ算術コード化のためのコンテキスト削減
JP6162150B2 (ja) ビデオコーディング用の残差4分木(rqt)コーディング
JP6009575B2 (ja) 変換スキップモードにおける有意係数情報のコーディング
JP5922244B2 (ja) ビデオコーディングにおいて適応ループフィルタとマージされたサンプル適応オフセット
RU2584498C2 (ru) Видеокодирование интра-режима
JP6162212B2 (ja) マージシグナリングおよびループフィルタオン/オフシグナリング
JP6151434B2 (ja) 絶対値変換差分和に基づくビデオ符号化のためのイントラレート制御
JP2019515580A (ja) イントラ予測モードのネイバーベースのシグナリング
JP5955955B2 (ja) リーフレベルコード化単位のサブセットについての変換係数のシンタックス要素の信号伝達
JP6301449B2 (ja) ビット深度に基づいたサンプル適応オフセットスケーリング
US20130128974A1 (en) Adaptive overlapped block motion compensation
JP2015516768A (ja) 変換係数コーディング
JP6042526B2 (ja) ビデオコーディングのための最後の位置コーディングのためのコンテキストの導出
JP6199371B2 (ja) ビデオ・コーディングのためのインタ・レイヤ・テクスチャ予測
JP2015511472A (ja) ビデオコード化におけるコードブックを使用したループフィルタパラメータのコード化
JP2015516764A (ja) ビデオコーディングにおけるデブロッキングフィルタのためのベータオフセット制御
JP2017538379A (ja) 動的モード決定分岐に基づく低複雑度コード化
RU2575418C2 (ru) Фильтр адаптивного смещения центральной полосы для видеокодирования

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150901

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: 20150929

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151028

R150 Certificate of patent or registration of utility model

Ref document number: 5833249

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250