JP5755744B2 - 和修正ラプラシアンフィルタ索引付けと4分木区分との組合せに基づくマルチ入力適応フィルタ - Google Patents

和修正ラプラシアンフィルタ索引付けと4分木区分との組合せに基づくマルチ入力適応フィルタ Download PDF

Info

Publication number
JP5755744B2
JP5755744B2 JP2013527074A JP2013527074A JP5755744B2 JP 5755744 B2 JP5755744 B2 JP 5755744B2 JP 2013527074 A JP2013527074 A JP 2013527074A JP 2013527074 A JP2013527074 A JP 2013527074A JP 5755744 B2 JP5755744 B2 JP 5755744B2
Authority
JP
Japan
Prior art keywords
filter
value
video
syntax element
filters
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
JP2013527074A
Other languages
English (en)
Other versions
JP2013539287A (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 JP2013539287A publication Critical patent/JP2013539287A/ja
Application granted granted Critical
Publication of JP5755744B2 publication Critical patent/JP5755744B2/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/439Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using cascaded computational arrangements for performing a single operation, e.g. filtering
    • 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
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/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
    • 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
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

[0001] 本開示は、ビデオデータを圧縮するために使用されるブロックベースのデジタルビデオコーディングに関し、より詳細には、ビデオブロックのフィルタ処理において使用するフィルタを決定するための技法に関する。
[0002] デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、無線電話ハンドセットなどのワイヤレス通信デバイス、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲームデバイス、ビデオゲームコンソールなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオをより効率的に送信および受信するために、MPEG−2、MPEG−4、またはITU−T H.264/MPEG−4、Part10、Advanced Video Coding(AVC)などのビデオ圧縮技法を実装する。ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および時間的予測を実行する。MPEGとITU−Tとのコラボレーションである「Joint Collaborative Team−Video Coding」(JCTVC)によって開発されているHigh Efficiency Video Coding(HEVC)規格など、新しいビデオ規格が出現し、発展し続けている。この新しいHEVC規格はH.265と呼ばれることもある。
[0003] ブロックベースのビデオ圧縮技法は、空間的予測および/または時間的予測を実行し得る。イントラコーディングは、ビデオフレーム、ビデオフレームのスライスなどを備え得る、コード化ビデオの所与のユニット内のビデオブロック間の空間的冗長性を低減または除去するために空間的予測に依拠する。対照的に、インターコーディングは、ビデオシーケンスの連続するコード化ユニットのビデオブロック間の時間冗長性を低減または除去するために時間的予測に依拠する。イントラコーディングの場合、ビデオエンコーダは、コード化ビデオの同じユニット内の他のデータに基づいて、データを圧縮するために空間的予測を実行する。インターコーディングの場合、ビデオエンコーダは、コード化ビデオの2つ以上の隣接するユニットの対応するビデオブロックの移動を追跡するために動き推定および動き補償を実行する。
[0004] コード化ビデオブロックは、予測ブロックを生成または識別するために使用され得る予測情報と、コーディングされているブロックと予測ブロックとの間の差を示す残差データブロックとによって表され得る。インターコーディングの場合、1つまたは複数の動きベクトルを使用して、前または後続のコード化ユニットから予測データブロックを識別するが、イントラコーディングの場合、予測モードを使用して、コーディングされているビデオブロックに関連するコード化ユニット内のデータに基づいて予測ブロックを生成することができる。イントラコーディングとインターコーディングの両方は、コーディングにおいて使用される異なるブロックサイズおよび/または予測技法を定義し得る、いくつかの異なる予測モードを定義し得る。また、コーディングプロセスにおいて使用されるコーディング技法またはパラメータを制御または定義するために、追加のタイプのシンタックス要素が、符号化されたビデオデータの一部として含まれ得る。
[0005] ブロックベースの予測コーディングの後に、ビデオエンコーダは、残差ブロックの通信に関連するビットレートをさらに低減するために、変換、量子化およびエントロピーコーディングプロセスを適用し得る。変換技法は、離散コサイン変換(DCT)、あるいはウェーブレット変換、整数変換、または他のタイプの変換など、概念的に同様のプロセスを備え得る。離散コサイン変換プロセスでは、一例として、変換プロセスは、ピクセル値のセットを、周波数領域におけるピクセル値のエネルギーを表し得る変換係数(transform coefficients)に変換する。量子化は、変換係数に適用され、概して、所与の変換係数に関連するビット数を制限するプロセスを伴う。エントロピーコーディングは、一連の量子化された変換係数をまとめて圧縮する1つまたは複数のプロセスを備える。
[0006] ビデオブロックのフィルタ処理は、符号化ループおよび復号ループの一部として、または再構成ビデオブロックに対するポストフィルタ処理プロセスの一部として適用され得る。フィルタ処理は、通常、たとえば、ブロックベースのビデオコーディングに共通のブロッキネス(blockiness)または他のアーティファクト(artifacts)を低減するために使用される。ブロッキネスを低減し、および/または他の方法でビデオ品質を改善することができる、望ましいレベルのビデオブロックフィルタ処理を向上させるために、(フィルタタップと呼ばれることがある)フィルタ係数(filter coefficients)が定義または選択され得る。フィルタ係数のセットは、たとえば、ビデオブロックのエッジまたはビデオブロック内の他のロケーションに沿ってフィルタ処理がどのように適用されるかを定義し得る。異なるフィルタ係数は、ビデオブロックの異なるピクセルに対する異なるレベルのフィルタ処理を生じ得る。フィルタ処理は、たとえば、不要なアーティファクトをなくすのを助けるために、隣接するピクセル値の強度(intensity)の差を平滑化またはシャープ化し得る。
[0007] 本開示では、ビデオ符号化および/またはビデオ復号プロセスにおけるビデオデータのフィルタ処理に関連する技法について説明する。本開示によれば、エンコーダにおいてフィルタ処理が適用され、エンコーダにおいて適用されたフィルタ処理をデコーダが識別することを可能にするためのフィルタ情報がビットストリーム中で符号化される。デコーダは、フィルタ情報を含む符号化されたビデオデータを受信し、ビデオデータを復号し、フィルタ処理情報に基づいてフィルタ処理を適用する。このようにして、デコーダは、エンコーダにおいて適用されたのと同じフィルタ処理を適用する。
[0008] 本開示の技法によれば、ビデオデータは、コード化ユニット(CU:coded unit)と呼ばれるユニットでコーディングされ得る。コード化ユニットは、4分木区分方式(quadtree partitioning scheme)を使用して、より小さいコード化ユニット、またはサブユニットに区分され得る。特定のコード化ユニットのための4分木区分方式を識別するシンタックスがエンコーダからデコーダに送信され得る。符号化されたビデオデータを復号し、再構成するプロセス中に、各サブユニットに関連する複数の入力がフィルタ処理され得る。デコーダによって受信されたビットストリーム中のシンタックスは、特定のサブユニットのためにエンコーダにおいて使用されたフィルタを識別することができる。特定の入力のために使用されるフィルタは、アクティビティメトリック(activity metric)いくつかの値がフィルタのセット内の特定のフィルタに索引付けされる、アクティビティメトリックフィルタ索引付けに基づいて選択され得る。アクティビティメトリックが和修正ラプラシアン(sum-modified Laplacian)値を使用して決定される場合、アクティビティメトリックフィルタ索引付け(activity-metric filter indexing)は和修正ラプラシアン索引付けまたは単にラプラシアン索引付けと呼ばれることがある。
[0009] ビデオデータのために決定されたアクティビティメトリックに基づいて、異なるタイプのフィルタ処理が適用され得る。アクティビティメトリックは、ビデオデータ内の1つまたは複数のピクセルブロックに関連するアクティビティを定量化し得る。アクティビティメトリックは、ピクセルのセット内のピクセル分散(pixel variance)を示す分散メトリックを備え得る。たとえば、以下でより詳細に説明するように、アクティビティメトリックは和修正ラプラシアン関数値を含み得る。本開示の技法によれば、適応ループ内フィルタ(adaptive-in loop filter)などのフィルタユニットは、和修正ラプラシアンフィルタ索引付けに基づいて、複数の入力に対して複数のフィルタを利用するように構成され得る。以下でより詳細に説明するように、本開示で説明する複数の入力は、概して、符号化および復号プロセス中に生成される中間ビデオブロックデータまたは画像データを指す。複数の入力は、たとえば、再構成ブロックまたは画像(reconstructed block or image)(RI)、デブロック前再構成ブロックまたは画像(pre-deblocked reconstructed block or image)(pRI)、予測ブロックまたは画像(prediction block or image)(PI)、および/または量子化予測誤差画像(quantized prediction error image)(EI)を含むことができる。また、以下でより詳細に説明するように、本開示のフィルタ処理技法は、4分木区分方式を使用して、様々なサイズのコード化ユニットに適用され得る。4分木区分方式を使用して区分されたコード化ユニットのための複数の入力に対してラプラシアンフィルタ索引付け(Laplacian filter indexing)をもつ複数のフィルタを利用することによって、圧縮レート(compression rate)と再構成ビデオ品質(reconstructed video quality)の一方または両方によって測定されるビデオコーディング性能が改善され得る。
[0010] 本開示で企図するマルチ入力マルチフィルタ手法は多数のフィルタを生じ、したがって多数のフィルタ係数がエンコーダからデコーダに転送される必要があり得る。しかしながら、いくつかのフィルタでは、すべての係数が0であり得る。たとえば、4入力シナリオでは、エンコーダは、4つの入力のうちの3つのみを使用することによって最良の画像が取得されると決定し得る。デコーダにおいて、4つの入力のうちの3つのみに基づいて画像を再構成することは、第4の入力にオール0のフィルタを適用することによって達成され得る。したがって、オール0の係数をもつフィルタの使用は、シングル入力フィルタ処理方式よりもマルチ入力フィルタ処理方式においてより頻繁に行われ得る。しかしながら、オール0のフィルタを送信することは多数のビットを必要とし得る。エンコーダからデコーダにフィルタ係数を転送するために必要とされるコード化ビットの数を低減するために、本開示の態様は、フレーム、スライス、最大コード化ユニット、コード化ユニット、または他の一連のビデオブロックのヘッダ中の1ビットシンタックス要素であり得る、0フラグの使用を含む。特定のフィルタのすべての係数が0である場合、エンコーダは、第1の値に設定された0フラグをデコーダに送信することができる。第1の値に設定された0フラグを受信すると、デコーダは、すべての0係数を識別するデータをエンコーダから実際に受信することなしに、フィルタを再構成することができる。特定のフィルタの係数が少なくとも1つの非0の係数(non-zero coefficient)を含む場合、エンコーダは、第2の値に設定された0フラグをデコーダに送信することができる。第2の値に設定された0フラグを受信すると、デコーダは、エンコーダからその後受信される係数に基づいてフィルタを再構成する。したがって、フィルタを再構成するために、エンコーダは、少なくとも1つのフィルタ係数が非0である場合のみ、デコーダにフィルタ係数を送信する必要があり得る。
[0011] 一例では、ビデオデータをコーディングする方法は、第1のフィルタ処理済み結果(filtered result)を生成するために、アクティビティメトリックに基づいて、フィルタのセットからの第1のフィルタを第1の入力に適用することと、第2のフィルタ処理済み結果を生成するために、第2のフィルタを第2の入力に適用することであって、第2の入力が第1の入力とは異なる、適用することと、第1のフィルタ処理済み結果と第2のフィルタ処理済み結果とに基づいてフィルタ処理済み画像(filtered image)を生成することとを含む。
[0012] 別の例では、コーディングデバイスは、第1のフィルタ処理済み結果を生成するために、アクティビティメトリックに基づいて、フィルタのセットからの第1のフィルタを第1の入力に適用することと、第2のフィルタ処理済み結果を生成するために、第2のフィルタを第2の入力に適用することであって、第2の入力が第1の入力とは異なる、適用することとを行うように構成されたフィルタユニットと、第1のフィルタ処理済み結果と第2のフィルタ処理済み結果とに基づいてフィルタ処理済み画像を記憶するように構成されたメモリとを含む。
[0013] 別の例では、装置は、第1のフィルタ処理済み結果を生成するために、アクティビティメトリックに基づいて、フィルタのセットからの第1のフィルタを第1の入力に適用するための手段と、第2のフィルタ処理済み結果を生成するために、第2のフィルタを第2の入力に適用するための手段であって、第2の入力が第1の入力とは異なる、適用するための手段と、第1のフィルタ処理済み結果と第2のフィルタ処理済み結果とに基づいてフィルタ処理済み画像を生成するための手段とを含む。
[0014] 本開示で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ハードウェアで実装する場合、装置は、集積回路、プロセッサ、ディスクリート論理、またはそれらの任意の組合せとして実現され得る。ソフトウェアで実装する場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、またはデジタル信号プロセッサ(DSP)など、1つまたは複数のプロセッサで実行され得る。本技法を実行するソフトウェアは、最初にコンピュータ可読媒体に記憶され、プロセッサにロードされ、実行され得る。
[0015] したがって、本開示はまた、1つまたは複数のプロセッサによって実行されたとき、第1のフィルタ処理済み結果を生成するために、アクティビティメトリックに基づいて、フィルタのセットからの第1のフィルタを第1の入力に適用することと、第2のフィルタ処理済み結果を生成するために、第2のフィルタを第2の入力に適用することであって、第2の入力が第1の入力とは異なる、適用することと、第1のフィルタ処理済み結果と第2のフィルタ処理済み結果とに基づいてフィルタ処理済み画像を生成することとを1つまたは複数のプロセッサに行わせる、1つまたは複数の命令を有形(tangibly)に記憶する非一時的(non-transitory,)コンピュータ可読記憶媒体を企図する。
[0016] 例示的なビデオ符号化および復号システムを示すブロック図。 [0017] 最大コーディングユニット(LCU:largest coding unit)に適用される4分木区分の一例を示す概念図。 最大コーディングユニット(LCU)に適用される4分木区分の一例を示す概念図。 一連のビデオブロックのためのフィルタマップの一例を示す概念図。 一連のビデオブロックのためのフィルタマップの一例を示す概念図。 [0018] 本開示に一致する例示的なビデオエンコーダを示すブロック図。 [0019] 本開示に一致する例示的なビデオデコーダを示すブロック図。 [0020] アクティビティメトリックの値の範囲を示す概念図。 [0021] 本開示に一致する例示的なフィルタユニットを示すブロック図。 [0022] 本開示に一致する符号化技法を示す流れ図。 [0023] 本開示に一致する復号技法を示す流れ図。 [0024] 本開示に一致する符号化技法を示す流れ図。 [0025] 本開示に一致する復号技法を示す流れ図。
[0026] 本開示では、ビデオ符号化および/またはビデオ復号プロセスにおけるビデオデータのフィルタ処理に関連する技法について説明する。本開示によれば、エンコーダにおいてフィルタ処理が適用され、エンコーダにおいて適用されたフィルタ処理をデコーダが識別することを可能にするためのフィルタ情報がビットストリーム中で符号化される。デコーダは、フィルタ情報を含む符号化されたビデオデータを受信し、ビデオデータを復号し、フィルタ処理情報に基づいてフィルタ処理を適用する。このようにして、デコーダは、エンコーダにおいて適用されたのと同じフィルタ処理を適用する。
[0027] 本開示の技法によれば、ビデオデータは、コード化ユニット(CU:coded units)と呼ばれるユニットでコーディングされ得る。コード化ユニットは、4分木区分方式を使用して、より小さいコード化ユニット、またはサブユニットに区分され得る。特定のコード化ユニットのための4分木区分方式を識別するシンタックス(syntax)がエンコーダからデコーダに送信され得る。符号化されたビデオデータを復号し、再構成するプロセス中に、各サブユニットに関連する複数の入力がフィルタ処理され得る。デコーダによって受信されたビットストリーム中のシンタックスは、特定のサブユニットのためにエンコーダにおいて使用されたフィルタを識別することができる。特定の入力のために使用されるフィルタは、アクティビティメトリックのいくつかの値がフィルタのセット内の特定のフィルタに索引付けされる、アクティビティメトリックフィルタ索引付けに基づいて選択され得る。アクティビティメトリックが和修正ラプラシアン値を使用して決定される場合、アクティビティメトリックフィルタ索引付けは和修正ラプラシアン索引付けまたは単にラプラシアン索引付けと呼ばれることがある。
[0028] ビデオデータのために決定されたアクティビティメトリックに基づいて、異なるタイプのフィルタ処理が適用され得る。アクティビティメトリックは、ビデオデータ内の1つまたは複数のピクセルブロックに関連するアクティビティを定量化し得る。アクティビティメトリックは、ピクセルのセット内のピクセル分散を示す分散メトリックを備え得る。たとえば、以下でより詳細に説明するように、アクティビティメトリックは和修正ラプラシアン関数値を含み得る。本開示の技法によれば、適応ループ内フィルタなどのフィルタユニットは、和修正ラプラシアンフィルタ索引付けに基づいて、複数の入力に対して複数のフィルタを利用するように構成され得る。以下でより詳細に説明するように、本開示で説明する複数の入力は、概して、符号化および復号プロセス中に生成される中間ビデオブロックデータまたは画像データを指す。複数の入力は、たとえば、再構成ブロックまたは画像(RI)、デブロック前再構成ブロックまたは画像(pRI)、予測ブロックまたは画像(PI)、および/または量子化予測誤差画像(EI)を含むことができる。また、以下でより詳細に説明するように、本開示のフィルタ処理技法は、4分木区分方式を使用して、様々なサイズのコード化ユニットに適用され得る。4分木区分方式を使用して区分されたコード化ユニットのための複数の入力に対してラプラシアンフィルタ索引付けをもつ複数のフィルタを利用することによって、圧縮レートと再構成ビデオ品質の一方または両方によって測定されるビデオコーディング性能が改善され得る。
[0029] 本開示で企図するマルチ入力マルチフィルタ手法は多数のフィルタを生じ、したがって多数のフィルタ係数がエンコーダからデコーダに転送される必要があり得る。しかしながら、いくつかのフィルタでは、すべての係数が0であり得る。たとえば、4入力シナリオでは、エンコーダは、4つの入力のうちの3つのみを使用することによって最良の画像が取得されると決定し得る。デコーダにおいて、4つの入力のうちの3つのみに基づいて画像を再構成することは、第4の入力にオール0のフィルタを適用することによって達成され得る。したがって、オール0の係数をもつフィルタの使用は、シングル入力フィルタ処理方式よりもマルチ入力フィルタ処理方式においてより頻繁に行われ得る。しかしながら、オール0のフィルタを送信することは多数のビットを必要とし得る。たとえば、各フィルタ係数が5ビットを使用して送信される9×9フィルタの場合、フィルタのすべての係数をエンコーダからデコーダに送信することは、400ビットを上回るビットを必要とし得る。
[0030] エンコーダからデコーダにフィルタ係数を転送するために必要とされるコード化ビットの数を低減するために、本開示の態様は、フレーム、スライス、最大コード化ユニット、コード化ユニット、または他の一連のビデオブロックのヘッダ中の1ビットシンタックス要素(one-bit syntax element)であり得る、0フラグの使用を含む。特定のフィルタのすべての係数が0である場合、エンコーダは、第1の値に設定された0フラグをデコーダに送信することができる。第1の値に設定された0フラグを受信すると、デコーダは、すべての0係数を識別するデータをエンコーダから実際に受信することなしに、フィルタを再構成することができる。特定のフィルタの係数が少なくとも1つの非0の係数を含む場合、エンコーダは、第2の値に設定された0フラグをデコーダに送信することができる。第2の値に設定された0フラグを受信すると、デコーダは、エンコーダからその後受信される係数に基づいてフィルタを再構成する。したがって、フィルタを再構成するために、エンコーダは、少なくとも1つのフィルタ係数が非0である場合のみ、デコーダにフィルタ係数を送信する必要があり得る。
[0031] エンコーダによって送信される0フラグは、たとえば、スライスヘッダ、ピクチャグループヘッダ、シーケンスヘッダ、または他のヘッダなど、一連のビデオブロックのヘッダ中に含まれ得る。本開示では、説明のために、概して、0フラグがヘッダ中に含まれるものとして説明するが、0フラグは、代替的に、フッタ中、またはシンタックスが含まれ得る他のデータ構造中に含まれ得る。ヘッダは、入力ごとにフィルタ当たり1つの0フラグを含み得る。一例として、fm(l,n)が、m番目の入力のl番目のフィルタの、n番目の係数のフィルタ係数に等しいと仮定する。4つの入力(すなわち、m=0〜3)と、入力ごとの4つのフィルタ(すなわち、l=0〜3)とを仮定すると、コード化ユニットは、16個のフィルタの各々に1つずつ、合計16個の0フラグを含み得る。m番目の入力のl番目のフィルタのすべての係数が0に等しいことを示すzero_flagm(l)=1である場合、そのフィルタの係数はエンコーダからデコーダに送られる必要はない。m番目の入力のl番目のフィルタの少なくとも1つの係数が0に等しくないことを示すzero_flagm(l)=0である場合、m番目の入力のl番目のフィルタの係数を識別する追加のデータがエンコーダからデコーダに送信される。以下でより詳細に説明するように、追加のデータは、フィルタ係数の一部または全部の実際の値(actual values)を含み得るか、または追加のデータと、デコーダにすでに知られている他の情報との組合せに基づいて、デコーダがフィルタを再構成することを可能にする、差分情報(difference information)などの情報を含み得る。
[0032] 本開示の技法について、概して、ループ内フィルタ処理(in-loop filtering)に関して説明するが、本技法は、ループ内フィルタ処理、ループ後フィルタ処理(post-loop filtering)、およびスイッチフィルタ処理(switched filtering)などの他のフィルタ処理方式に適用され得る。ループ内フィルタ処理は、フィルタ処理済みデータが予測イントラコーディングまたはインターコーディング(predictive intra- or inter-coding)のために使用されるように、フィルタ処理済みデータが符号化ループおよび復号ループの一部であるフィルタ処理を指す。ループ後フィルタ処理は、符号化ループの後に再構成ビデオデータに適用されるフィルタ処理を指す。ポストフィルタ処理では、非フィルタ処理済みデータが予測イントラコーディングまたはインターコーディングのために使用される。本開示の技法は、ループ内フィルタ処理またはポストフィルタ処理に限定されず、ビデオコーディング中に適用される広範囲のフィルタ処理に適用し得る。
[0033] 本開示では、「コーディング(coding)」という用語は符号化または復号を指す。同様に、「コーダ(coder)」という用語は、概して、任意のビデオエンコーダ、ビデオデコーダ、または複合エンコーダ/デコーダ(コーデック)を指す。したがって、「コーダ」という用語は、本明細書では、ビデオ符号化またはビデオ復号を実行する専用コンピュータデバイスまたは装置を指すために使用される。
[0034] さらに、本開示では、「フィルタ(filter)」という用語は、概してフィルタ係数のセットを指す。たとえば、3×3フィルタは9つのフィルタ係数のセットによって定義され、5×5フィルタは25個のフィルタ係数のセットによって定義されるなどである。したがって、フィルタを符号化することは、概して、デコーダがフィルタ係数のセットを決定または再構成することを可能にする情報をビットストリーム中で符号化することを指す。フィルタを符号化することは、フィルタ係数の完全セットを直接符号化することを含み得るが、それは、フィルタ係数の部分セットのみを直接符号化すること、あるいはフィルタ係数をまったく符号化せず、むしろ、デコーダに知られているかまたは到達可能な他の情報に基づいて、デコーダがフィルタ係数を再構成することを可能にする情報を符号化することをも含み得る。たとえば、エンコーダは、フィルタ係数の新しいセットを生成するために既存のフィルタ係数のセットをどのように改変すべきかを記述する情報を符号化することができる。
[0035] 「フィルタのセット(set of filters)」という用語は、概して、2つ以上のフィルタのグループを指す。たとえば、2つの3×3フィルタのセットは、9つのフィルタ係数の第1のセットと9つのフィルタ係数の第2のセットとを含むことができる。本開示で説明する技法によれば、フレーム、スライス、または最大コーディングユニットなど、一連のビデオブロックのために、フィルタのセットを識別する情報が一連のビデオブロックのヘッダ中でエンコーダからデコーダに送信される。フィルタのセットの各フィルタは、フィルタがオール0の係数を含んでいるか、または少なくとも1つの非0の係数を含んでいるかを示すための対応する0フラグをヘッダ中に有し得る。
[0036] 図1は、本開示の技法を実装し得る例示的なビデオ符号化および復号システム110を示すブロック図である。図1に示すように、システム110は、通信チャネル115を介して符号化されたビデオデータを宛先デバイス116に送信するソースデバイス112を含む。ソースデバイス112および宛先デバイス116は、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス112および宛先デバイス116は、いわゆるセルラー無線電話または衛星無線電話などのワイヤレス通信デバイスハンドセットを備え得る。ただし、より一般的に、ビデオデータのフィルタ処理に適用する本開示の技法は、必ずしもワイヤレスアプリケーションまたは設定に限定されるとは限らず、ビデオ符号化および/または復号機能を含む非ワイヤレスデバイスに適用され得る。
[0037] 図1の例では、ソースデバイス112は、ビデオソース120と、ビデオエンコーダ122と、変調器/復調器(モデム)123と、送信機124とを含む。宛先デバイス116は、受信機126と、モデム127と、ビデオデコーダ128と、ディスプレイデバイス130とを含む。本開示によれば、ソースデバイス112のビデオエンコーダ122は、ビデオブロックフィルタ処理プロセスにおいて複数の入力のためのフィルタ係数の1つまたは複数のセットを選択し、次いで、フィルタ係数の選択された1つまたは複数のセットを符号化するように構成され得る。フィルタ係数の1つまたは複数のセットからの特定のフィルタが、1つまたは複数の入力のアクティビティメトリックに基づいて選択され得、フィルタ係数は、1つまたは複数の入力をフィルタ処理するために使用され得る。本開示のフィルタ処理技法は、概して、フィルタ係数をコーディングするための、またはフィルタ係数をエンコーダからデコーダにシグナリングするためのどんな技法とも相性が良い。
[0038] 本開示の技法によれば、ビデオエンコーダ122は、フレームまたはスライスのためのフィルタ係数の1つまたは複数のセットをビデオデコーダ128に送信することができる。フレームまたはスライスのために、ビデオエンコーダ122は、たとえば、すべての入力とともに使用されるべきフィルタの1つのセットを送信し得るか、または複数の入力とともに使用されるべきフィルタの複数のセット(たとえば、入力ごとに1つのセット)を送信し得る。そのフレームまたはスライス内の各ビデオブロックまたはコード化ユニットは、さらに、そのビデオブロックの各入力に対してフィルタのセットのどの1つまたは複数のフィルタが使用されるべきかを識別するための追加のシンタックスを含むことができるか、またはフィルタのセットのどの1つまたは複数のフィルタが使用されるべきかは、入力の1つまたは複数に関連するアクティビティメトリックに基づいて決定され得る。
[0039] より詳細には、ソースデバイス112のビデオエンコーダ122は、フレームまたはスライスのためにフィルタの1つまたは複数のセットを選択し、符号化プロセス中に(1つまたは複数の)セットからのフィルタをスライスまたはフレームのコード化ユニットに関連する入力に適用し、次いで、宛先デバイス116のビデオデコーダ128に通信するためにフィルタのセット(すなわち、フィルタ係数のセット)を符号化する。ビデオエンコーダ122は、コーディングされるコード化ユニットとともにフィルタの(1つまたは複数の)セットからのどの(1つまたは複数の)フィルタを使用すべきかを選択するために、その特定のコード化ユニットの入力に関連するアクティビティメトリックを決定し得る。デコーダ側で、宛先デバイス116のビデオデコーダ128は、同じく、ビデオデコーダ128がフィルタの(1つまたは複数の)セットからのどの(1つまたは複数の)フィルタをピクセルデータに適用すべきかを決定することができるように、コード化ユニットに関連する1つまたは複数の入力のアクティビティメトリックを決定し得るか、またはいくつかの事例では、ビデオデコーダ128は、ビットストリームシンタックス中で受信されたフィルタ情報からフィルタ係数を直接決定し得る。ビデオデコーダ128は、ビットストリームシンタックスの一部としてシグナリングされ得る、フィルタ係数を符号化した方法に応じて、直接復号(direct decoding)または予測復号(predictive decoding)に基づいてフィルタ係数を復号し得る。さらに、ビットストリームは、フィルタが非0フィルタ係数(non-zero filter coefficients)を有するかどうかを示すための0フラグをフィルタごとに含み得る。フィルタが非0係数を有しないことを0フラグが示す場合、デコーダ128は、ソースデバイス112からさらなるシンタックスを受信することなしに、オール0係数のフィルタを再構成することができる。図1の図示のシステム110は例にすぎない。本開示のフィルタ処理技法は、任意の符号化デバイスまたは復号デバイスによって実行され得る。ソースデバイス112および宛先デバイス116は、そのような技法をサポートすることができるコーディングデバイスの例にすぎない。
[0040] ソースデバイス112のビデオエンコーダ122は、本開示の技法を使用して、ビデオソース120から受信されたビデオデータを符号化し得る。ビデオソース120は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィードを備え得る。さらなる代替として、ビデオソース120は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース120がビデオカメラである場合、ソースデバイス112および宛先デバイス116は、いわゆるカメラ付き携帯電話またはビデオ電話を形成し得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオまたはコンピュータ生成ビデオは、ビデオエンコーダ122によって符号化され得る。
[0041] ビデオデータがビデオエンコーダ122によって符号化されると、符号化されたビデオ情報は、次いで、たとえば、符号分割多元接続(CDMA)あるいは別の通信規格または技法などの通信規格に従ってモデム123によって変調され、送信機124を介して宛先デバイス116に送信され得る。モデム123は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機124は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
[0042] 宛先デバイス116の受信機126はチャネル115を介して情報を受信し、モデム127はその情報を復調する。ビデオデコーダ128によって実行されるビデオ復号プロセスは、たとえば、ループ内復号の一部としてまたは復号ループに続くポストフィルタ処理ステップとしてフィルタ処理を含み得る。いずれにしても、特定のスライスまたはフレームに対してビデオデコーダ128によって適用されるフィルタのセットは、本開示の技法を使用して復号され得る。たとえば、フィルタが非0係数を含むことを0フラグが示し、フィルタ係数のために予測コーディングが使用される場合、チャネル115を介して搬送される情報の量を低減するために、異なるフィルタ係数間の類似性が活用され得る。詳細には、フィルタ(すなわち、フィルタ係数のセット)は、異なるフィルタに関連するフィルタ係数の別のセットに対する差分値として予測コーディングされ得る。異なるフィルタは、たとえば、異なるスライスまたはフレームに関連し得る。そのような場合、ビデオデコーダ128は、ビデオブロックとフィルタ情報とを備える符号化されたビットストリームを受信し得、フィルタ情報は、異なるフィルタが関連するフィルタである、異なるフレームまたはスライスを識別する。フィルタ情報はまた、異なるコード化ユニットのフィルタに対する現在のフィルタを定義する差分値を含む。詳細には、差分値は、異なるコード化ユニットのために使用される異なるフィルタのフィルタ係数に対する現在のフィルタのフィルタ係数を定義するフィルタ係数差分値を備え得る。
[0043] ビデオデコーダ128は、ビデオブロックを復号し、フィルタ係数を生成し、生成されたフィルタ係数に基づいて、復号されたビデオブロックをフィルタ処理する。復号され、フィルタ処理されたビデオブロックをビデオフレームにアセンブルして、復号されたビデオデータを形成することができる。ディスプレイデバイス128は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0044] 通信チャネル115は、無線周波数(RF)スペクトルまたは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル115は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル115は、概して、ビデオデータをソースデバイス112から宛先デバイス116に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。
[0045] ビデオエンコーダ122およびビデオデコーダ128は、説明のために本開示の一部において使用される、代替的にMPEG−4、Part10、Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格など、ビデオ圧縮規格に従って動作し得る。ただし、本開示の技法の多くは、新生HEVC規格を含む様々な他のビデオコーディング規格のいずれにも容易に適用され得る。概して、エンコーダおよびデコーダにおいてフィルタ処理を可能にする規格は、本開示の教示の様々な態様から恩恵を受け得る。
[0046] 図1には示されていないが、いくつかの態様では、ビデオエンコーダ122およびビデオデコーダ128は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、また、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0047] ビデオエンコーダ122およびビデオデコーダ128はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ122およびビデオデコーダ128の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ/デコーダ(コーデック)の一部としてそれぞれのモバイルデバイス、加入者デバイス、ブロードキャストデバイス、サーバなどに統合され得る。
[0048] 場合によっては、デバイス112、116は、実質的に対称的に動作し得る。たとえば、デバイス112、116の各々は、ビデオ符号化構成要素とビデオ復号構成要素とを含み得る。したがって、システム110は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオテレフォニーのためのビデオデバイス112とビデオデバイス116との間の一方向または双方向のビデオ送信をサポートし得る。
[0049] 符号化プロセス中に、ビデオエンコーダ122は、いくつかのコーディング技法またはステップを実行し得る。概して、ビデオエンコーダ122は、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。一例では、ビデオブロックは、マクロブロックまたはマクロブロックのパーティションに対応し得る。マクロブロックは、ITU H.264規格および他の規格によって定義されているビデオブロックの1つのタイプである。マクロブロックという用語は、一般的に、N×Nサイズの任意のビデオブロックを指すために使用されることもあるが、マクロブロックは一般に16×16データブロックを指す。ITU−T H.264規格は、ルーマ成分(luma components)については16×16、8×8、または4×4、およびクロマ成分(chroma components)については8×8など、様々なブロックサイズのイントラ予測(intra prediction)をサポートし、ならびにルーマ成分については16×16、16×8、8×16、8×8、8×4、4×8および4×4、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測(inter prediction)をサポートする。本開示では、「N×N」は、垂直寸法および水平寸法に関するブロックのピクセル寸法、たとえば、16×16ピクセルを指す。一般に、16×16ブロックは、垂直方向に16ピクセルを有し、水平方向に16ピクセルを有する。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、Nは、正の整数値を表す。ブロック中のピクセルは行と列に構成され得る。
[0050] 新生HEVC規格は、ビデオブロックのための新しい用語を定義している。特に、ビデオブロック(またはそのパーティション)は「コード化ユニット(coded units)」(またはCU)と呼ばれることがある。HEVC規格では、最大コード化ユニット(LCU:largest coded units)は、4分木区分方式に従ってより小さいCUに分割され得、その方式において定義されている様々なCUは、さらに、いわゆる予測ユニット(PU:prediction unit)に区分され得る。LCU、CU、およびPUは、すべて、本開示の意味内のビデオブロックである。HEVC規格または他のビデオコーディング規格に一致する他のタイプのビデオブロックも使用され得る。したがって、「ビデオブロック(video blocks)」という句は、任意のサイズのビデオブロックを指す。所与のピクセルのルーマ成分のために個別のCUが含まれ、クロマ成分のためにスケーリングされたサイズが含まれ得るが、他の色空間も使用され得る。
[0051] ビデオブロックは、固定サイズまたは可変サイズを有し得る、指定のコーディング規格に応じてサイズが異なり得る。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のビデオブロックを含み得る、それらのマクロブロックは、サブブロックとも呼ばれるパーティションに構成され得る。上記で参照し、以下でより詳細に説明する4分木区分方式によれば、第1のN/2×N/2 CUは、N×N LCUのサブブロックを備え得、第2のN/4×N/4 CUは、同じく、第1のCUのサブブロックを備え得る。N/8×N/8 PUは第2のCUのサブブロックを備え得る。同様に、さらなる例として、16×16よりも小さいブロックサイズは、16×16ビデオブロックのパーティションまたは16×16ビデオブロックのサブブロックと呼ばれることがある。同様に、N×Nブロックについては、N×Nよりも小さいブロックサイズはN×Nブロックのパーティションまたはサブブロックと呼ばれることがある。ビデオブロックは、ピクセル領域中のピクセルデータのブロックを備え得る、あるいは、たとえば、コード化ビデオブロックと予測ビデオブロックとのピクセル差分を表す残差ビデオブロックデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後の、変換領域中の変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備え得る。
[0052] ビットストリーム内のシンタックスデータは、フレームまたはスライスのピクセルの数に関して最大のコーディングユニットである、そのフレームまたはスライスのLCUを定義し得る。概して、LCUまたはCUは、LCUおよびCUが特定のサイズの差異を有しないことを除いて、H.264に従ってコーディングされるマクロブロックと同様の目的を有する。代わりに、LCUサイズは、フレームごとにまたはスライスごとに定義され、LCUはCUに分割され得る。概して、本開示におけるCUへの言及は、ピクチャの最大コード化ユニットまたはLCUのサブCUを指すことがある。LCUはサブCUに分割され得、各サブCUはサブCUに分割され得る。ビットストリームのシンタックスデータは、CU深さ(CU depth)と呼ばれる、LCUが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コーディングユニット(SCU:smallest coding unit)をも定義し得る。本開示ではまた、LCU、CU、PU、SCU、またはTUのいずれかを指すために、「ブロック(block)」および「ビデオブロック(video block)」という用語を使用する。
[0053] 上記で紹介したように、LCUは4分木データ構造に関連付けられ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはLCUに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。たとえば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。
[0054] 分割されないCUは、1つまたは複数の予測ユニット(PU)を含み得る。概して、PUは、対応するCUの全部または一部分を表し、そのPUの参照サンプルを取り出すためのデータを含む。たとえば、PUがイントラモード符号化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルが指す参照フレーム、および/または動きベクトルの参照リスト(たとえば、リスト0もしくはリスト1)を記述し得る。(1つまたは複数の)PUを定義するCUのデータはまた、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モード(Partitioning modes)は、CUがコーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかとの間で異なり得る。
[0055] 1つまたは複数のPUを有するCUは、1つまたは複数の変換ユニット(TU:transform unit)をも含み得る。PUを使用した予測の後に、ビデオエンコーダは、PUに対応するCUの部分の残差値(residual value)を計算し得る。残差値は変換され、量子化され、走査され得る。TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUは、同じCUの対応するPUよりも大きいことも小さいこともある。いくつかの例では、TUの最大サイズは、対応するCUのサイズであり得る。TUは、所与のCUに関連する残差変換係数(residual transform coefficients)を含むデータ構造を備え得る。
[0056] 図2Aおよび図2Bは、例示的な4分木(quadtree)250と、対応する最大コーディングユニット272とを示す概念図である。図2Aは、階層式に構成されたノードを含む、例示的な4分木250を示している。4分木250など、4分木中の各ノードは、子をもたないリーフノード(leaf node)であるか、または4つの子ノード(child nodes)を有し得る。図2Aの例では、4分木250はルートノード(root node)252を含む。ルートノード252は、リーフノード256A〜256C(リーフノード256)とノード254とを含む、4つの子ノードを有する。ノード254はリーフノードでないので、ノード254は、この例ではリーフノード258A〜258D(リーフノード258)である、4つの子ノードを含む。
[0057] 4分木250は、この例ではLCU272など、対応する最大コーディングユニット(LCU:largest coding unit)の特性を記述するデータを含み得る。たとえば、4分木250は、それの構造により、サブCUへのLCUの分割を記述し得る。LCU272は2N×2Nのサイズを有すると仮定する。LCU272は、この例では、4つのサブCU276A〜276C(サブCU276)および274を有し、各々はN×Nサイズである。サブCU274はさらに4つのサブCU278A〜278D(サブCU278)に分割され、各々はサイズN/2×N/2である。この例では、4分木250の構造はLCU272の分割に対応する。すなわち、ルートノード252はLCU272に対応し、リーフノード256はサブCU276に対応し、ノード254はサブCU274に対応し、リーフノード258はサブCU278に対応する。
[0058] 4分木250のノードのデータは、ノードに対応するCUが分割されるかどうかを記述し得る。CUが分割される場合、4分木250中に4つの追加のノードが存在し得る。いくつかの例では、4分木のノードは以下の擬似コード(pseudocode)と同様に実装され得る。
Figure 0005755744
split_flag値は、現在のノードに対応するCUが分割されるかどうかを表す1ビット値であり得る。CUが分割されない場合、split_flag値は「0」であり得るが、CUが分割される場合、split_flag値は「1」であり得る。4分木250の例に関して、分割フラグ値の配列は101000000であり得る。
[0059] いくつかの例では、サブCU276およびサブCU278の各々は、同じイントラ予測モードを使用してイントラ予測符号化され得る。したがって、ビデオエンコーダ122は、ルートノード252においてイントラ予測モードの指示を与え得る。その上、サブCUのいくつかのサイズは、特定のイントラ予測モードのために複数の可能な変換を有し得る。本開示の技法によれば、ビデオエンコーダ122は、ルートノード252においてそのようなサブCUのために使用すべき変換の指示を与え得る。たとえば、サイズN/2×N/2のサブCUでは複数の可能な変換が利用可能であり得る。ビデオエンコーダ122は、ルートノード252において使用すべき変換をシグナリングし得る。したがって、ビデオデコーダ128は、ルートノード252においてシグナリングされたイントラ予測モードと、ルートノード252においてシグナリングされた変換とに基づいて、サブCU278に適用すべき変換を決定し得る。
[0060] したがって、ビデオエンコーダ122は、本開示の技法によれば、リーフノード256およびリーフノード258においてサブCU276およびサブCU278に適用すべき変換をシグナリングする必要はないが、代わりに、単に、ルートノード252において、イントラ予測モードと、いくつかの例では、いくつかのサイズのサブCUに適用すべき変換とをシグナリングし得る。このようにして、これらの技法は、LCU272など、LCUのサブCUごとに変換機能をシグナリングするオーバーヘッドコストを低減し得る。
[0061] いくつかの例では、サブCU276および/またはサブCU278のイントラ予測モードは、LCU272のイントラ予測モードとは異なり得る。ビデオエンコーダ122およびビデオデコーダ128は、ルートノード252においてシグナリングされるイントラ予測モードを、サブCU276および/またはサブCU278のために利用可能なイントラ予測モードにマッピングする機能を用いて構成され得る。この機能は、LCU272のために利用可能なイントラ予測モードの、サブCU276および/またはサブCU278のイントラ予測モードへの多対1のマッピングを与え得る。
[0062] スライスはビデオブロック(またはLCU)に分割され得、各ビデオブロックは、図2A〜図2Bに関して説明した4分木構造に従って区分され得る。さらに、図2Cに示すように、「オン」によって示される4分木サブブロックは、本明細書で説明するループフィルタによってフィルタ処理され得るが、「オフ」によって示される4分木サブブロックはフィルタ処理され得ない。所与のブロックまたはサブブロックをフィルタ処理するか否かの決定は、コーディングされている元のブロックに対するフィルタ処理済み結果と非フィルタ処理済み結果とを比較することによってエンコーダにおいて決定され得る。図2Dは、図2Cに示す4分木区分を生じる区分決定を表す決定木である。
[0063] 詳細には、図2Cは、4分木分割方式に従って、様々なサイズのより小さいビデオブロックに区分された比較的大きいビデオブロックを表し得る。図2Cの各ビデオブロックは、そのビデオブロックに対してフィルタ処理が適用されるべきかまたは回避されるべきかを示すために、(オンまたはオフに)標示されている。ビデオエンコーダ122は、コーディングされている元のビデオブロックに対する各ビデオブロックのフィルタ処理済みバージョンと非フィルタ処理済みバージョンとを比較することによって、このフィルタマップを定義し得る。
[0064] 再び、図2Dは、図2Cに示す4分木区分を生じる区分決定に対応する決定木である。図2Dにおいて、各円はCUに対応し得る。円が「1」フラグを含む場合、そのCUは、さらに、もう4つのCUに区分されるが、円が「0」フラグを含む場合、そのCUはそれ以上区分されない。(たとえば、CUに対応する)各円はまた、関連する三角形を含む。所与のCUの三角形中のフラグが1に設定された場合、そのCUに対するフィルタ処理は「オン」になるが、所与のCUの三角形中のフラグが0に設定された場合、フィルタ処理はオフになる。このようにして、図2Cと図2Dとは、個々にまたはまとめてフィルタマップと見なされ得、フィルタマップは、各区分されたビデオブロック(たとえば、LCU内の各CU)にフィルタ処理を適用すべきか否かの、所与のビデオブロック(たとえば、LCU)のための4分木区分のレベルを通信するために、エンコーダにおいて生成され、符号化されたビデオデータのスライスごとに少なくとも1回デコーダに通信され得る。
[0065] 小さいビデオブロックほど、より良い解像度が得られ、高い詳細レベルを含むビデオフレームのロケーションのために使用され得る。大きいビデオブロックほど、より高いコーディング効率が得られ、低い詳細レベルを含むビデオフレームのロケーションのために使用され得る。スライスは、複数のビデオブロックおよび/またはサブブロックであると見なされ得る。各スライスは、ビデオフレームの単独で復号可能な一連のビデオブロックであり得る。代替的に、フレーム自体が復号可能な一連のビデオブロックであり得るか、またはフレームの他の部分が復号可能な一連のビデオブロックとして定義され得る。「一連のビデオブロック(series of video blocks)」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャグループ(GOP:group of pictures)など、ビデオフレームの単独で復号可能な任意の部分、または適用可能なコーディング技法に従って定義される別の単独で復号可能なユニットを指すことがある。本発明の態様についてフレームまたはスライスに関して説明し得るが、そのような言及は例にすぎない。概して、任意の一連のビデオブロックがフレームまたはスライスの代わりに使用され得ることを理解されたい。
[0066] シンタックスデータ(syntax data)は、各コード化ユニットが関連するシンタックスデータを含むように、コード化ユニットごとに定義され得る。本明細書で説明するフィルタ情報は、コード化ユニットのためのそのようなシンタックスの一部であり得るが、コード化ユニットのためではなく、フレーム、スライス、GOP、または一連のビデオフレームなど、一連のビデオブロックのためのシンタックスの一部である可能性が高いことがある。シンタックスデータは、スライスまたはフレームのコード化ユニットとともに使用されるべきフィルタの1つまたは複数のセットを示すことができる。シンタックスは、さらに、スライスまたはフレームのコード化ユニットをフィルタ処理するために使用されたフィルタの他の特性(たとえば、フィルタタイプ)を記述し得る。フィルタタイプは、たとえば、線形(linear)、双1次(bilinear)、2次元(two-dimensional)、双3次(bicubic)であり得るか、または概して、任意の形状のフィルタサポートを定義し得る。時々、フィルタタイプは、エンコーダおよびデコーダによって推定され得、その場合には、フィルタタイプはビットストリーム中に含まれないが、他の場合には、フィルタタイプは、本明細書で説明するフィルタ係数情報とともに符号化され得る。シンタックスデータはまた、フィルタを符号化した方法(たとえば、フィルタ係数を符号化した方法)、ならびに異なるフィルタが使用されるべきアクティビティメトリックの範囲をデコーダにシグナリングし得る。
[0067] いくつかの事例では、フィルタのセット中の各フィルタのために、シンタックスデータは、フィルタが非0係数(non-zero coefficients)を有するかどうかを示す0フラグを含むことができる。0フラグが第1の値に設定された場合、デコーダは、エンコーダからさらなる情報を受信することなしに、オール0のフィルタを再構成することができる。0フラグが第2の値に設定された場合、デコーダは、フィルタを再構成するための追加のシンタックスを受信することができる。0フラグは、たとえば、シングルビットであり得、0は、フィルタが0フィルタ係数のみを含んでいることを示し、1は、フィルタが少なくとも1つの非0フィルタ係数を含んでいることを示す。
[0068] フィルタが少なくとも1つの非0フィルタ係数を含んでいることを0フラグが示す場合、追加のシンタックスは、たとえば、スライスまたはフレームのコード化ユニットをフィルタ処理するために使用されたフィルタの他の特性(たとえば、フィルタタイプ)を記述し、ならびにデコーダがフィルタの係数を再構成することを可能にする情報を含み得る。フィルタタイプは、たとえば、線形、双1次、2次元、双3次であり得るか、または概して、任意の形状のフィルタサポートを定義し得る。時々、フィルタタイプは、エンコーダおよびデコーダによって推定され得、その場合には、フィルタタイプはビットストリーム中に含まれないが、他の場合には、フィルタタイプは、本明細書で説明するフィルタ係数情報とともに符号化され得る。シンタックスデータはまた、フィルタを符号化した方法(たとえば、フィルタ係数を符号化した方法)、ならびに異なるフィルタが使用されるべきアクティビティメトリックの範囲をデコーダにシグナリングし得る。
[0069] ビデオエンコーダ122は、コーディングされているビデオブロックが、予測ブロックを識別するために予測フレーム(または他のコード化ユニット)と比較される、予測コーディングを実行し得る。コーディングされている現在のビデオブロックと予測ブロックとの間の差は残差ブロックとしてコーディングされ、予測ブロックを識別するために予測シンタックスが使用される。残差ブロックは変換され、量子化され得る。変換技法は、DCTプロセスまたは概念的に同様のプロセス、整数変換、ウェーブレット変換、または他のタイプの変換を備え得る。DCTプロセスでは、一例として、変換プロセスは、ピクセル値のセットを、周波数領域におけるピクセル値のエネルギーを表し得る変換係数に変換する。量子化は、一般に変換係数に適用され、概して、所与の変換係数に関連するビットの数を制限するプロセスを伴う。
[0070] 変換および量子化の後に、量子化および変換された残差ビデオブロックに対してエントロピーコーディングが実行され得る。符号化中に定義されるフィルタ情報および予測ベクトルなど、シンタックス要素も、各コード化ユニットのためのエントロピーコード化ビットストリーム中に含まれ得る。概して、エントロピーコーディングは、一連の量子化された変換係数および/または他のシンタックス情報をまとめて圧縮する1つまたは複数のプロセスを備える。2次元ビデオブロックから係数の1つまたは複数のシリアル化1次元ベクトルを定義するために、たとえば、エントロピーコーディングプロセスの一部として、量子化された変換係数に対してジグザグ走査技法などの走査技法が実行される。他の走査順序または適応走査を含む、他の走査技法も使用され、場合によっては、符号化されたビットストリーム中でシグナリングされ得る。いずれの場合も、走査された係数は、次いで、たとえば、コンテンツ適応型可変長コーディング(CAVLC:content adaptive variable length coding)、コンテキスト適応型2値算術コーディング(CABAC:context adaptive binary arithmetic coding)、または別のエントロピーコーディングプロセスを介してシンタックス情報とともにエントロピーコーディングされる。
[0071] 符号化プロセスの一部として、符号化されたビデオブロックは、後続のビデオブロックの後続の予測ベースコーディングのために使用されるビデオデータを生成するために復号され得る。この段階で、ビデオ品質を改善し、たとえば、復号されたビデオからブロッキネスアーティファクト(blockiness artifacts)を除去するために、フィルタ処理が採用され得る。フィルタ処理済みデータは他のビデオブロックの予測のために使用され得、その場合、フィルタ処理は「ループ内(in-loop)」フィルタ処理と呼ばれる。代替的に、他のビデオブロックの予測は非フィルタ処理データに基づき得、その場合、フィルタ処理は「ポストフィルタ処理(post filtering)」と呼ばれる。
[0072] フレームごとに、スライスごとに、またはLCUごとに、エンコーダは、フィルタの1つまたは複数のセットを選択し得、コード化ユニットごとに(1つまたは複数の)セットから1つまたは複数のフィルタを選択し得る。いくつかの事例では、フィルタはまた、ピクセルごとに、または4×4ブロックごとになど、サブCUごとに選択され得る。フィルタのセットの選択と、そのセットからどのフィルタを適用すべきかの選択の両方は、ビデオ品質を向上させるように行われ得る。フィルタのそのようなセットは、フィルタのあらかじめ定義されたセットから選択され得るか、またはビデオ品質を向上させるように適応的に定義され得る。一例として、ビデオエンコーダ122は、所与のフレームまたはスライスのコード化ユニットの異なるピクセルのために異なるフィルタが使用されるように、そのフレームまたはスライスのためにフィルタのいくつかのセットを選択または定義し得る。詳細には、コード化ユニットに関連する各入力のために、フィルタ係数のいくつかのセットが定義され得、コード化ユニットのピクセルに関連するアクティビティメトリックを使用して、そのようなピクセルとともにフィルタのセットからのどのフィルタを使用すべきかが決定され得る。場合によっては、ビデオエンコーダ122は、フィルタ係数のいくつかのセットを適用し、コード化ブロックと元のブロックとの間のひずみの量に関する最高品質のビデオ、および/または最高レベルの圧縮を生成する、1つまたは複数のセットを選択し得る。いずれの場合も、選択されると、各コード化ユニットに対してビデオエンコーダ122によって適用されるフィルタ係数のセットは、ビデオデコーダ128が、所与の各コード化ユニットに対して符号化プロセス中に適用されたのと同じフィルタ処理を適用することができるように、符号化され、宛先デバイス118のビデオデコーダ128に通信され得る。
[0073] 本開示で説明するように、オール0係数を含んでいるフィルタを再構成するために必要とされるビット数を低減するために0フラグが使用され得る。コード化ユニットのための特定の入力とともにどのフィルタを使用すべきかを決定するためにアクティビティメトリックが使用されるとき、その特定のコード化ユニットのためのフィルタの選択は、必ずしもビデオデコーダ128に通信される必要があるとは限らない。代わりに、ビデオデコーダ128はまた、コード化ユニットのアクティビティメトリックを計算し、ビデオエンコーダ122によって前に与えられたフィルタ情報に基づいて、アクティビティメトリックを特定のフィルタに一致させることができる。
[0074] 図3は、本開示に一致するビデオエンコーダ350を示すブロック図である。ビデオエンコーダ350は、デバイス120のビデオエンコーダ122、または異なるデバイスのビデオエンコーダに対応し得る。図3に示すように、ビデオエンコーダ350は、予測ユニット332と、加算器348および351と、メモリ334とを含む。ビデオエンコーダ350は、変換ユニット338および量子化ユニット340、ならびに逆量子化ユニット342および逆変換ユニット344をも含む。ビデオエンコーダ350は、デブロッキングフィルタ347と適応フィルタユニット349をも含む。ビデオエンコーダ350はエントロピー符号化ユニット346をも含む。ビデオエンコーダ350のフィルタユニット349はフィルタ処理演算を実行し得る、また、復号のために使用されるべき最適または好適なフィルタまたはフィルタのセットを識別するためのフィルタ選択ユニット(FSU:filter selection unit)353を含み得る。フィルタユニット349はまた、選択されたフィルタが、復号演算中に使用されるべきフィルタ情報として別のデバイスに効率的に通信され得るように、選択されたフィルタを識別するフィルタ情報を生成し得る。
[0075] 符号化プロセス中に、ビデオエンコーダ350が、コーディングされるべきLCUなどのビデオブロックを受信し、予測ユニット332がビデオブロックに対して予測コーディング技法を実行する。上記で説明した4分木区分方式を使用して、予測ユニット332はビデオブロックを区分し、異なるサイズのコーディングユニットに対して予測コーディング技法を実行することができる。インターコーディングの場合、予測ユニット332は、予測ブロックを定義するために、ビデオブロックのサブブロックを含む符号化されるべきビデオブロックを、1つまたは複数のビデオ参照フレームまたはスライス中の様々なブロックと比較する。イントラコーディングの場合、予測ユニット332は、同じコード化ユニット内の隣接するデータに基づいて予測ブロックを生成する。予測ユニット332は予測ブロックを出力し、加算器348は、残差ブロックを生成するために、コーディングされているビデオブロックから予測ブロックを減算する。
[0076] インターコーディングの場合、予測ユニット332は、予測ブロックを指す動きベクトルを識別し、動きベクトルに基づいて予測ブロックを生成する、動き推定および動き補償ユニットを備え得る。一般に、動き推定は、動きを推定する、動きベクトルを生成するプロセスと考えられる。たとえば、動きベクトルは、現在のフレーム内のコーディングされている現在のブロックに対する予測フレーム内の予測ブロックの変位を示し得る。動き補償は、一般に、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成するプロセスと考えられる。イントラコーディングの場合、予測ユニット332は、同じコード化ユニット内の隣接するデータに基づいて予測ブロックを生成する。1つまたは複数のイントラ予測モードは、イントラ予測ブロックがどのように定義され得るかを定義し得る。
[0077] 予測ユニット332が予測ブロックを出力し、加算器348が、残差ブロックを生成するために、コーディングされているビデオブロックから予測ブロックを減算した後に、変換ユニット338が残差ブロックに変換を適用する。変換は、離散コサイン変換(DCT)、またはHEVC規格などのコーディング規格によって定義された変換など、概念的に同様の変換を備え得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換ユニット338は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル領域から周波数領域に変換し得る。
[0078] 次いで、量子化ユニット340が、ビットレートをさらに低減するために残差変換係数を量子化する。量子化ユニット340は、たとえば、係数の各々をコーディングするために使用されるビット数を制限し得る。量子化後に、エントロピー符号化ユニット346は、量子化係数ブロックを2次元表現から1つまたは複数のシリアル化1次元ベクトルに走査する。走査順序は、(ジグザグ走査、水平方向走査、垂直方向走査、組合せ、または別のあらかじめ定義された順序などの)定義された順序で行われるように事前プログラムされ得るか、または場合によっては、前のコーディング統計値に基づいて適応的に定義され得る。
[0079] この走査プロセスの後に、エントロピー符号化ユニット346が、データをさらに圧縮するために、CAVLCまたはCABACなどのエントロピーコーディング方法に従って(シンタックス要素とともに)量子化変換係数を符号化する。エントロピーコード化ビットストリーム中に含まれるシンタックス要素は、インターコーディングのための動きベクトルまたはイントラコーディングのための予測モードなど、予測ユニット332からの予測シンタックスを含み得る。エントロピーコード化ビットストリーム中に含まれるシンタックス要素は、本明細書で説明する方法で符号化され得るフィルタユニット349からのフィルタ情報をも含み得る。
[0080] CAVLCは、エントロピー符号化ユニット346によってベクトル化ベースで適用され得る、ITU H.264/MPEG4、AVC規格によってサポートされる1つのタイプのエントロピーコーディング技法である。CAVLCは、変換係数および/またはシンタックス要素のシリアル化「ラン(run)」を効果的に圧縮するように可変長コーディング(VLC:variable length coding)テーブルを使用する。CABACは、エントロピー符号化ユニット346によってベクトル化ベースで適用され得る、ITU H.264/MPEG4、AVC規格によってサポートされる別のタイプのエントロピーコーディング技法である。CABACは、2値化、コンテキストモデル選択、および2値算術コーディングを含む、いくつかの段を伴う。この場合、エントロピー符号化ユニット346は、CABACに従って変換係数とシンタックス要素とをコーディングする。ITU H.264/MPEG4、AVC規格のように、新生HEVC規格も、CAVLCエントロピーコーディングとCABACエントロピーコーディングの両方をサポートし得る。さらに、多くの他のタイプのエントロピーコーディング技法も存在し、新しいエントロピーコーディング技法が将来出現する可能性がある。本開示は、いかなる特定のエントロピーコーディング技法にも限定されない。
[0081] エントロピー符号化ユニット346によるエントロピーコーディングの後に、符号化されたビデオは、別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。この場合も、符号化されたビデオは、復号プロセスを適切に構成するためにデコーダによって使用され得るエントロピーコード化ベクトルと様々なシンタックスとを備え得る。逆量子化ユニット342および逆変換ユニット344が、それぞれ逆量子化および逆変換を適用して、ピクセル領域において残差ブロックを再構成する。加算器351が、デブロック前再構成画像(pre-deblocked reconstructed image)と呼ばれることがあるデブロック前再構成ビデオブロック(pre-deblocked reconstructed video block)を生成するために、再構成された残差ブロックを、予測ユニット332によって生成された予測ブロックに加算する。デブロッキングフィルタ347が、ブロッキネスまたは他のアーティファクトを除去することによってビデオ品質を改善するために、デブロック前再構成ビデオブロックにフィルタ処理を適用し得る。デブロッキングフィルタ347の出力は、デブロック後ビデオブロック(post-deblocked video block)、再構成ビデオブロック(reconstructed video block)、または再構成画像(reconstructed image)と呼ばれることがある。
[0082] フィルタユニット349は、複数の入力を受信するように構成され得る。図3の例では、フィルタユニット349は、デブロック後再構成画像(RI)と、デブロック前再構成画像(pRI)と、予測画像(PI)と、再構成残差ブロック(EI)とを入力として受信する。フィルタユニット349は、これらの入力のいずれかを個々にまたは組み合わせて使用して、再構成画像を生成してメモリ334に記憶することができる。さらに、以下でより詳細に論じるように、アクティビティメトリックに基づいて、(1つまたは複数の)入力に適用されるべき1つまたは複数のフィルタが選択され得る。一例では、フィルタユニット349の出力は、RIに適用される1つの追加のフィルタであり得る。別の例では、フィルタユニット349の出力は、pRIに適用される1つの追加のフィルタであり得る。しかしながら、他の例では、フィルタユニット349の出力は複数の入力に基づき得る。たとえば、フィルタユニット349は、第1のフィルタをpRIに適用し、次いで、EIおよびPIのフィルタ処理済みバージョンとともにpRIのフィルタ処理済みバージョンを使用して、再構成画像を生成し得る。フィルタユニット349の出力が、シングル入力に適用されている1つの追加のフィルタの積である事例では、フィルタユニット349は、事実上、フィルタを他の入力に適用し得るが、それらのフィルタはオール0係数を有し得る。同様に、フィルタユニット349の出力が、3つのフィルタを3つの入力に適用する積である場合、フィルタユニット349は、事実上、フィルタを第4の入力に適用し得るが、そのフィルタはオール0の係数を有し得る。以下でより詳細に論じるように、フィルタユニット349が、フィルタ処理されるべきすべてのコード化ユニットのための複数の入力にフィルタの同じシーケンスを適用する技法は、デバイスにおいてフィルタユニット349を実装することの複雑さを低減することができる。オール0係数を有するフィルタの適用は、フィルタユニット349が複数の入力を処理することができる可能な方法の数を増加させることができ、したがって、コーディング品質を潜在的に(potentially)改善することができる。
[0083] フィルタユニット349によるフィルタ処理は、非フィルタ処理済み予測ビデオブロックよりも、コーディングされているビデオブロックに厳密に一致する予測ビデオブロックを生成することによって圧縮を改善し得る。フィルタ処理後に、再構成されたビデオブロックは、後続のビデオフレームまたは他のコード化ユニット中のブロックをインターコーディングするために予測ユニット332によって参照ブロックとして使用され得る。フィルタユニット349は「ループ内(in-loop)」に示されているが、本開示の技法はまた、ポストフィルタとともに使用され得、その場合、(フィルタ処理済みデータではなく)非フィルタ処理済みデータ(non-filtered data)が、後続のコード化ユニット中のデータを予測するために使用されるであろう。
[0084] スライスまたはフレームのために、フィルタユニット349は、ビデオ品質を向上させるように各入力のためのフィルタのセットを選択し得る。たとえば、フィルタユニット349は、係数のあらかじめ定義されたセットからフィルタのセットを選択し得るか、またはビデオ品質または改善された圧縮を向上させるために、フィルタを適応的に定義し得る。各セットのフィルタのうちの1つまたは複数は、オール0の係数を有するフィルタであり得る。フィルタユニット349は、フィルタの(1つまたは複数の)同じセットが、所与のコード化ユニットの異なるビデオブロックのピクセルのために使用されるように、そのコード化ユニットのためにフィルタの1つまたは複数のセットを選択または定義し得る。フィルタユニット349は、フィルタのいくつかのセットを複数の入力に適用し得、FSU353は、最高品質のビデオまたは最高レベルの圧縮を生成するセットを選択し得る。代替的に、FSU353は、複数の入力と元の画像との間の自己相関と相互相関とを分析することによって新しいフィルタをトレーニングし得る。フィルタの新しいセットは、たとえば、自己相関と相互相関とに基づいて、Wienter−Hopt式を解くことによって決定され得る。フィルタの新しいセットがトレーニングされるかまたはフィルタの既存のセットが選択されるかにかかわらず、フィルタユニット349は、特定のフレームまたはスライスのために使用されるべきフィルタの1つまたは複数のセットをデコーダが同じく識別することを可能にする、ビットストリームに含めるためのシンタックスを生成する。
[0085] 本開示によれば、フレームまたはスライス内のコード化ユニットの各ピクセルのために、フィルタユニット349は、コード化ユニット内のピクセルの1つまたは複数のセットに関連するアクティビティを定量化するアクティビティメトリック(activity metric)に基づいて、フィルタのセットからのどのフィルタが使用されるべきかを選択し得る。このようにして、FSU353は、フレームまたはスライスなど、上位レベルのコード化ユニットのためのフィルタのセットを決定し得るが、フィルタユニット349は、下位レベルのコード化ユニットのピクセルに関連するアクティビティに基づいて、(1つまたは複数の)セットからのどの(1つまたは複数の)フィルタが、その下位レベルのコード化ユニットの特定のピクセルのために使用されるべきかを決定する。アクティビティは、コード化ユニット内のピクセル値分散に関して示され得る。コード化ユニット中のピクセル値のより多い分散は、より高いレベルのピクセルアクティビティを示し得、ピクセル値のより少ない分散は、より低いレベルのピクセルアクティビティを示し得る。様々なフィルタ(すなわち様々なフィルタ係数)は、ピクセル分散のレベル、すなわち、アクティビティに応じて、より良いフィルタ処理(たとえば、より高い画像品質)を生じ得る。ピクセル分散は、以下でより詳細に説明するように、和修正ラプラシアン値(sum-modified Laplacian value)を備え得るアクティビティメトリックによって定量化され得る。しかしながら、他のタイプのアクティビティメトリックも使用され得る。
[0086] 各入力のためのシングルフィルタの代わりに、M個のフィルタのセットが各入力のために使用され得る。設計上の選好に応じて、Mは、たとえば、わずか2でも、または16程度でも、さらにはより大きくてもよい。入力当たりの多数のフィルタはビデオ品質を改善し得るが、また、フィルタのセットをエンコーダからデコーダにシグナリングすることに関連するオーバーヘッドを増加させ得る。M個のフィルタのセットが、上記で説明したようにFSU353によって決定され、各フレームまたはスライスのためにデコーダに送信され得る。コード化ユニットがどのようにセグメント化されるかと、コード化ユニットの特定のサブユニットがフィルタ処理されるべきか否かとを示すために、セグメンテーションマップ(segmentation map)が使用され得る。セグメンテーションマップは、たとえば、上記で説明した分割フラグの配列、ならびに各サブコード化ユニットがフィルタ処理されるべきかどうかをシグナリングする追加のビットをコード化ユニットのために含み得る。フィルタ処理されるべきコード化ユニットのピクセルに関連する各入力のために、フィルタのセットからの特定のフィルタがアクティビティメトリックに基づいて選定され得る。アクティビティメトリックは、以下のように、ピクセル(i,j)について和修正ラプラシアンを使用して計算され得る。
Figure 0005755744
一例として、7×7(K,L=3)グループの周囲ピクセルが和修正ラプラシアン値の計算のために使用され得る。また、和修正ラプラシアン値の特定の範囲のために使用されるべきM個のフィルタのセットからの特定のフィルタが、M個のフィルタのセットとともにデコーダに送られ得る。フィルタ係数は、前のフレームのために送信された係数からの予測または他の技法を使用してコーディングされ得る。ダイヤモンド形サポートまたは正方形サポートをもつ、たとえば、1×1、3×3、5×5、7×7、および9×9フィルタを含む様々な形状およびサイズのフィルタが使用され得る。
[0087] フィルタへの、入力の和修正ラプラシアン値の索引付けは、複数の方法で実装され得る。たとえば、いくつかの実装形態では、各入力はフィルタの一意のセットを有し得るが、いくつかの実装形態では、入力はフィルタの共通のセットを共有する。さらに、いくつかの実装形態では、各入力の和修正ラプラシアン値が、各入力のための特定のフィルタを識別するために使用され得る。しかしながら、他の実装形態では、シングル入力の和修正ラプラシアン値が、すべての入力のためのフィルタを識別するために使用され得る。さらに他の実装形態では、第1の入力の和修正ラプラシアン値が、第2の異なる入力のためのフィルタを識別するために使用され得る。
[0088] 本開示によれば、フィルタユニット349は、フィルタ情報を符号化し、それをエンコーダ350から別のデバイスに搬送するために必要とされるデータの量を低減し得る、フィルタ情報に関するコーディング技法を実行する。この場合も、各フレームまたはスライスのために、フィルタユニット349は、そのフレームまたはスライスのコード化ユニットのピクセルに適用されるべきフィルタ係数の1つまたは複数のセットを定義または選択し得る。フィルタユニット349は、フィルタ係数を適用して、メモリ334に記憶される再構成ビデオフレームのビデオブロックをフィルタ処理し、それらのビデオブロックは、ループ内フィルタ処理に従って予測コーディングのために使用され得る。フィルタユニット349は、フィルタ係数をフィルタ情報として符号化することができ、フィルタ情報は、符号化されたビットストリーム中に含めるためにエントロピー符号化ユニット346にフォワーディングされる。
[0089] フィルタ情報は、ビデオエンコーダ350からデコーダにフィルタ係数を転送するために必要とされるコード化ビットの数を低減するために、各フィルタのための0フラグを含むことができる。0フラグは、フレーム、スライス、最大コード化ユニット、コード化ユニット、または他の一連のビデオブロックのヘッダ中の1ビットシンタックス要素(one-bit syntax element)であり得る。特定のフィルタのすべての係数が0である場合、ビデオエンコーダ350は、第1の値に設定された0フラグをデコーダに送信することができる。第1の値に設定された0フラグを受信すると、デコーダは、すべての0係数を識別するデータをエンコーダから実際に受信することなしに、フィルタを再構成することができる。特定のフィルタの係数が少なくとも1つの非0係数を含む場合、ビデオエンコーダ350は、第2の値に設定された0フラグをデコーダに送信することができる。第2の値に設定された0フラグを受信すると、デコーダは、エンコーダからその後受信される係数に基づいてフィルタを再構成する。したがって、フィルタのセットのフィルタのすべての係数を再構成するために、ビデオエンコーダ350は、少なくとも1つのフィルタ係数が非0である場合のみ、デコーダにフィルタ係数を送信する必要があり得る。
[0090] さらに、非0係数を含んでいるフィルタでは、本開示の技法はまた、FSU353によって定義または選択されるフィルタ係数の一部が、別のフレームまたはスライスのコード化ユニットのピクセルに対して適用される他のフィルタ係数とまったく同様であり得ることを活用し得る。同じタイプのフィルタ(たとえば、同じフィルタサポート)が異なるフレームまたはスライスに対して適用され得るが、フィルタは、フィルタサポートの異なる索引に関連するフィルタ係数値に関して異なり得る。したがって、そのようなフィルタ係数を搬送するために必要とされるデータの量を低減するために、フィルタユニット349は、フィルタ係数間の類似性を活用して、別のコード化ユニットのフィルタ係数に基づいて、フィルタ処理のために使用されるべき1つまたは複数のフィルタ係数を予測的に符号化し得る。しかしながら、場合によっては、たとえば、予測を使用せずに、フィルタ係数を直接符号化することがより望ましいことがある。予測コーディング技法を使用してフィルタ係数を符号化すべきときと、予測コーディングなしにフィルタ係数を直接符号化すべきときとを定義するためにアクティビティメトリックの使用を活用する技法など、様々な技法がフィルタ係数をデコーダに効率的に通信するために使用され得る。さらに、係数の完全セット(たとえば、5,−2,10,10,−2,5)を定義するために、デコーダによって知られている係数のサブセット(たとえば、5,−2,10)が使用され得るように、対称性も課され得る。対称性は、直接コーディングシナリオと予測コーディングシナリオの両方において課され(impose)得る。
[0091] 図4は、本明細書で説明する方法で符号化されたビデオシーケンスを復号するビデオデコーダ460の一例を示すブロック図である。受信されたビデオシーケンスは、画像フレームの符号化されたセット、フレームスライスのセット、一般的コード化ピクチャグループ(commonly coded group of pictures)(GOP)、または符号化されたビデオブロックと、そのようなビデオブロックを復号する方法を定義するためのシンタックスとを含む、多種多様なタイプの一連のビデオブロックを備え得る。
[0092] ビデオデコーダ460は、図3のエントロピー符号化ユニット346によって実行される符号化の相互復号機能(reciprocal decoding function)を実行するエントロピー復号ユニット452を含む。詳細には、エントロピー復号ユニット452は、CAVLCまたはCABAC復号、あるいはビデオエンコーダ350によって使用された他のタイプのエントロピー復号を実行し得る。1次元シリアル化フォーマットのエントロピー復号されたビデオブロックは、係数の1つまたは複数の1次元ベクトルを変換して2次元ブロックフォーマットに戻すために逆走査され得る。ベクトルの数およびサイズ、ならびにビデオブロックのために定義された走査順序は、2次元ブロックがどのように再構成されるかを定義し得る。エントロピー復号された予測シンタックスは、エントロピー復号ユニット452から予測ユニット454に送られ得、エントロピー復号されたフィルタ情報は、エントロピー復号ユニット452からフィルタユニット459に送られ得る。
[0093] ビデオデコーダ460はまた、予測ユニット454と、逆量子化ユニット456と、逆変換ユニット458と、メモリと、加算器464とを含む。さらに、ビデオデコーダ460は、加算器464の出力をフィルタ処理するデブロッキングフィルタ457をも含む。本開示に従って、フィルタユニット459は、1つまたは複数の入力に適用されるべき1つまたは複数のフィルタを含むエントロピー復号されたフィルタ情報を受信し得る。図4には示されていないが、デブロッキングフィルタ(de-blocking filter)457は、適用されるべき1つまたは複数のフィルタを含むエントロピー復号されたフィルタ情報をも受信し得る。
[0094] フィルタユニット459によって適用されるフィルタは、フィルタ係数のセットによって定義され得る。フィルタユニット459は、エントロピー復号ユニット452から受信されたフィルタ情報に基づいてフィルタ係数のセットを生成するように構成され得る。フィルタのセット中の各フィルタについて、フィルタ情報は、一連のビデオブロック、たとえば、LCUヘッダ、フレームヘッダ、スライスヘッダ、GOPヘッダ、シーケンスヘッダなどのヘッダ中の1ビットシンタックス要素であり得る0フラグを含み得る。他の例では、フィルタ情報を定義するシンタックス要素はまた、フッタまたは他のデータ構造中に含まれ得る。フィルタが非0係数を含んでいないことを示す第1の値に設定された0フラグをフィルタユニット459が受信した場合、フィルタユニット459は、すべての0係数を識別するデータをエンコーダから実際に受信することなしに、フィルタを再構成することができる。特定のフィルタの係数が少なくとも1つの非0係数を含むことを示す第2の値の0フラグをフィルタユニット459が受信した場合、フィルタユニット459は、後続のフィルタ情報に基づいてフィルタを再構成することができる。したがって、フィルタを再構成するために、エンコーダは、少なくとも1つのフィルタ係数が非0である場合のみ、ビデオデコーダ460にフィルタ係数を送信する必要があり得る。
[0095] フィルタ情報は、係数の所与のセットのために使用された符号化の方法をデコーダにシグナリングする追加のシグナリングシンタックスを含み得る。いくつかの実装形態では、フィルタ情報は、たとえば、所与の係数のセットが使用されるべきアクティビティメトリック範囲(activity metric ranges)をも含み得る。フィルタの復号の後に、フィルタユニット459は、フィルタ係数の1つまたは複数のセットと、フィルタ係数の異なるセットが使用されるべきアクティビティメトリック範囲を含むシグナリングシンタックスとに基づいて、復号されたビデオブロックのピクセル値をフィルタ処理することができる。アクティビティメトリック範囲は、使用される符号化のタイプ(たとえば、予測または直接)を定義するために使用されるアクティビティメトリックの範囲を定義するアクティビティ値のセットによって定義され得る。
[0096] フィルタユニット459は、各フレームまたはスライスのためのフィルタのセットをビットストリーム中で受信し得る。フレームまたはスライス内の各コード化ユニットについて、フィルタユニット459は、(1つまたは複数の)セットのどの(1つまたは複数の)フィルタを各入力に適用すべきかを決定するために、複数の入力(すなわち、PI、EI、pRI、およびRI)のためのコード化ユニットの復号されたピクセルに関連する1つまたは複数のアクティビティメトリックを計算することができる。アクティビティメトリックの第1の範囲に対して、フィルタユニット459は第1のフィルタを適用し得、アクティビティメトリックの第2の範囲に対して、フィルタユニット459は第2のフィルタを適用し得るなどである。いくつかの実装形態では、4つの範囲が4つの異なるフィルタにマッピングし得るが、任意の数の範囲およびフィルタが使用され得る。フィルタは、概して、任意のタイプのフィルタサポート形状または構成を仮定し得る。フィルタサポートは、フィルタ処理されている所与のピクセルに関するフィルタの形状を指し、フィルタ係数は、フィルタサポートに従って、隣接するピクセル値に適用される重み付けを定義し得る。時々、フィルタタイプは、エンコーダおよびデコーダによって推定され得る、その場合には、フィルタタイプはビットストリーム中に含まれないが、他の場合には、フィルタタイプは、本明細書で説明するフィルタ係数情報とともに符号化され得る。シンタックスデータは、また、フィルタを符号化した方法(たとえば、フィルタ係数を符号化した方法)、ならびに異なるフィルタが使用されるべきアクティビティメトリックの範囲をデコーダにシグナリングし得る。
[0097] 予測ユニット454は、エントロピー復号ユニット452から(動きベクトルなどの)予測シンタックスを受信する。予測シンタックスを使用して、予測ユニット454は、ビデオブロックをコーディングするために使用された予測ブロックを生成する。逆量子化ユニット456は逆量子化を実行し、逆変換ユニット458は、逆変換を実行して、残差ビデオブロックの係数をピクセル領域に戻す。加算器464は、ビデオブロックを再構成するために、各予測ブロックを、逆変換ユニット458によって出力された対応する残差ブロックと結合する。
[0098] フィルタユニット459は、コード化ユニットの各入力に対して適用されるべきフィルタ係数を生成し、次いで、そのようなフィルタ係数を適用して、そのコード化ユニットの再構成されたビデオブロックをフィルタ処理する。フィルタ処理は、たとえば、エッジを平滑化し、および/またはビデオブロックに関連するアーティファクトをなくす追加のデブロックフィルタ処理、量子化雑音を低減するための雑音除去フィルタ処理、あるいはコーディング品質を改善することができる他のタイプのフィルタ処理を備え得る。フィルタ処理済みビデオブロックは、ビデオ情報の復号されたフレーム(または他の復号可能なユニット)を再構成するためにメモリ462に蓄積される。復号されたユニットは、ユーザへのプレゼンテーションのためにビデオデコーダ460から出力され得るが、また、後続の予測復号において使用するために記憶され得る。
[0099] ビデオコーディングの分野では、復号されたビデオ信号の品質を向上させるために、エンコーダおよびデコーダにおいてフィルタ処理を適用することが通例である。フィルタ処理はポストフィルタを介して適用され得、その場合、フィルタ処理済みフレームは将来のフレームの予測のためには使用されない。代替的に、フィルタ処理は「ループ内(in-loop)」で適用され得、その場合、フィルタ処理済みフレームは、将来のフレームを予測するために使用され得る。望ましいフィルタは、原信号と復号されたフィルタ処理済み信号との間の誤差を最小限に抑えることによって設計され得る。一般に、そのようなフィルタ処理は、再構成画像に対して1つまたは複数のフィルタを適用することに基づいている。たとえば、再構成画像がメモリに記憶されるより前にその画像にデブロッキングフィルタが適用され得るか、または再構成画像がメモリに記憶されるより前にその画像にデブロッキングフィルタと1つの追加のフィルタとが適用され得る。本開示の技法は、再構成画像以外の他の入力へのフィルタの適用を含む。さらに、以下でさらに論じるように、それらの複数の入力のためのフィルタは、ラプラシアンフィルタ索引付け(Laplacian filter indexing)に基づいて選択され得る。
[0100] 変換係数の量子化と同様の方法で、フィルタh(k,l)の係数も量子化され得、k=−K,...,Kであり、l=−L,...,Lである。KおよびLは、整数値を表し得る。フィルタh(k,l)の係数は、次のように量子化され得る。
Figure 0005755744
上式で、normFactは正規化ファクタであり、roundは、所望のビット深度への量子化を達成するために実行される丸め演算である。フィルタ係数の量子化は、符号化中に図3のフィルタユニット349によって実行され得、逆量子化(de-quantization)または逆量子化(inverse quantization)は、図4のフィルタユニット459によって、復号されたフィルタ係数に対して実行され得る。フィルタh(k,l)は、任意のフィルタを一般的に表すものとする。たとえば、フィルタh(k,l)は、複数の入力のうちのいずれか1つに適用され得る。いくつかの事例では、ビデオブロックに関連する複数の入力は異なるフィルタを利用し、その場合、h(k,l)と同様の複数のフィルタが、上記で説明したように量子化および逆量子化され得る。
[0101] 量子化されたフィルタ係数は符号化され、符号化されたビットストリームの一部として、エンコーダ350に関連するソースデバイスからデコーダ460に関連する宛先デバイスに送られる。上記の例では、normFactの値は通常2nに等しいが、他の値が使用され得る。normFactの値が大きいほど、量子化は正確になり、量子化されたフィルタ係数f(k,l)はより良好な性能を与えることになる。しかしながら、normFactのより大きい値は、デコーダに送信するためにより多くのビットを必要とする係数f(k,l)を生成し得る。
[0102] デコーダ460において、復号されたフィルタ係数f(k,l)が適切な入力に適用され得る。たとえば、復号されたフィルタ係数がRIに適用されるべき場合、フィルタ係数は、以下のようにデブロック後再構成画像(post-deblocked reconstructed image)RI(i,j)に適用され得て、i=0,...,Mであり、j=0,..,Nである。
Figure 0005755744
変数M、N、KおよびLは、整数を表し得る。KおよびLは、−KからKまでおよび−LからLまでの2つの次元にわたるピクセルのブロックを定義し得る。他の入力に適用されるフィルタは、類似する方法で適用され得る。
[0103] 本開示の技法は、ポストフィルタまたはループ内フィルタの性能を改善し得、また、フィルタ係数f(k,l)を送信するために必要とされるビット数を低減し得る。場合によっては、各一連のビデオブロックのための、たとえば、各フレーム、スライス、フレームの部分、フレームのグループ(GOP)などのための、いくつかの異なるポストフィルタまたはループ内フィルタがデコーダに送信される。各フィルタについて、所与のフィルタが適用されるべきコード化ユニット、マクロブロックおよび/またはピクセルを識別するための追加情報がビットストリーム中に含められる。
[0104] フレームは、フレーム番号および/またはフレームタイプ(たとえば、Iフレーム、PフレームまたはBフレーム)によって識別され得る。Iフレームは、イントラ予測されるイントラフレームを指す。Pフレームは、データの1つのリスト(たとえば、1つの前のフレーム)に基づいて予測されるビデオブロックを有する予測フレームを指す。Bフレームは、データの2つのリスト(たとえば、前および後続のフレーム)に基づいて予測される双方向予測フレームを指す。マクロブロックは、マクロブロックタイプ、および/またはマクロブロックを再構成するために使用される量子化パラメータ(QP:quantization parameter)値の範囲をリストすることによって識別され得る。
[0105] フィルタ情報はまた、アクティビティメトリックと呼ばれる、画像のローカル特性の所与の測度(measure)の値が、特定のフィルタを用いてフィルタ処理されるべき指定された範囲内にあるピクセルのみを示し得る。たとえば、ピクセル(i,j)について、アクティビティメトリックは、以下のように計算される和修正ラプラシアン値(sum-modified Laplacian value)を備え得る。
Figure 0005755744
上式で、−KからKまでおよび−LからLまでにわたる2次元ウィンドウに関して、kは−KからKまでのピクセル値の合計の値を表し、lは−LからLまでの合計の値を表し、iおよびjは、ピクセルデータのピクセル座標を表し、RI(i,j)は、座標iおよびjにおける所与のピクセル値を表し、var(i,j)はアクティビティメトリックである。pRI(i,j)、PI(i,j)、およびEI(i,j)のアクティビティメトリックは同様に求められ得る。
[0106] 入力のためのフィルタ係数f(k,l)は、前のコード化ユニットのために送信された係数からの予測を使用してコーディングされ得る。コード化ユニットmの各入力(たとえば、各フレーム、スライスまたはGOP)のために、エンコーダは、M個のフィルタのセット
Figure 0005755744
を符号化し、送信し得る。各フィルタについて、フィルタが使用されるべきアクティビティメトリック値varの値の範囲を識別するためにビットストリームが符号化され得る。
[0107] たとえば、エンコーダ350のフィルタユニット349は、アクティビティメトリック値varが間隔[0,var0)内にある、すなわち、var≧0であり、var<var0であるピクセルに対してフィルタ
Figure 0005755744
が使用されるべきであることを示し得る。さらに、エンコーダ350のフィルタユニット349は、アクティビティメトリック値varが間隔[vari-1,vari)内にあるピクセルに対してフィルタ
Figure 0005755744
が使用されるべきであることを示し得る。さらに、エンコーダ350のフィルタユニット349は、アクティビティメトリック値varがvar>varM-2であるピクセルに対してフィルタ
Figure 0005755744
が使用されるべきであることを示し得る。上記で説明したように、フィルタユニット349は、すべての入力に対してフィルタの1つのセットを使用し得るか、または代替的に、各入力に対してフィルタの一意のセットを使用し得る。
[0108] フィルタ係数は、前のコード化ユニットにおいて使用された再構成フィルタ係数を使用して予測され得る。前のフィルタ係数は、次のように表され得る。
Figure 0005755744
この場合、コード化ユニットの番号nは、現在のフィルタの予測のために使用される1つまたは複数のフィルタを識別するために使用され得、番号nは、符号化されたビットストリームの一部としてデコーダに送られ得る。さらに、予測コーディングが使用されるアクティビティメトリックの値varを識別するための情報が符号化され、デコーダに送信され得る。
[0109] たとえば、現在コーディングされているフレームmについて、アクティビティメトリック値[varr-1,varr)の場合、係数
Figure 0005755744
が送信されると仮定する。フレームmのフィルタ係数は、フレームnのフィルタ係数から予測される。アクティビティメトリックが間隔[vars-1,vars)内にあるピクセルのためにフレームnにおいてフィルタ
Figure 0005755744
が使用されると仮定し、vars-1==varr-1であり、vars>varrである。この場合、間隔[varr-1,varr)は間隔[vars-1,vars)内に含まれている。さらに、フィルタ係数の予測がアクティビティ値[vart-1,vart)に対しては使用されるべきであるが、アクティビティ値[vart,vart+1)に対しては使用されるべきでないことを示す情報がデコーダに送信され得、vart-1==varr-1であり、vart+1==varrである。
[0110] 間隔[varr-1−1,varr)と、[vars-1,vars)と、[vart-1,vart)と、[vart,vart+1)との間の関係が図5に示されている。この場合、間隔[vart-1,vart)にあるアクティビティメトリックをもつピクセルをフィルタ処理するために使用されるフィルタ係数の最終値
Figure 0005755744
は、係数の和
Figure 0005755744
に等しい。
[0111] したがって、以下の通りである。
Figure 0005755744
さらに、アクティビティメトリック[vart,vart+1)をもつピクセルのために使用されるフィルタ係数
Figure 0005755744
は、フィルタ係数
Figure 0005755744
に等しい。したがって、以下の通りである。
Figure 0005755744
[0112] フィルタ係数g(k,l)の振幅は、k値とl値とに依存する。通常、最大振幅をもつ係数は、係数g(0,0)である。大きい振幅を有することが予想される他の係数は、kまたはlの値が0に等しい係数である。この現象は、係数を送信するために必要とされるビットの量をさらに低減するために利用され得る。索引値(index values)kおよびlは、既知のフィルタサポート内のロケーションを定義し得る。
[0113] 各フレームmのための係数
Figure 0005755744
は、パラメータpに従って定義されるゴロム(Golomb)コードまたは指数ゴロム(exp-Golomb)コードなどのパラメータ化可変長コード(parameterized variable length codes)を使用してコーディングされ得る。パラメータ化可変長コードを定義するパラメータpの値を変更することによって、これらのコードを使用して、広範囲のソース分布を効率的に表すことができる。係数g(k,l)の分布(すなわち、大きい値または小さい値を有するそれらの尤度(likelihood))は、kとlの値に依存する。したがって、コーディング効率を高めるために、各フレームmのために、各ペア(k,l)のパラメータpの値が送信される。パラメータpは、係数
Figure 0005755744
を符号化するときにパラメータ化可変長コーディングのために使用され得る。
[0114] 図6に、本開示の技法を実装するように構成されたフィルタユニット600の一例を示す。フィルタユニット600の機能は、たとえば、図3のフィルタユニット349または図4のフィルタユニット459に組み込まれ得る。フィルタユニット600は、複数のフィルタモジュール610A〜C(総称して「フィルタモジュール610」)を含む。各フィルタモジュールは、1つまたは複数の入力を受信するように構成され得る。この特定の例では、フィルタモジュール610Aは入力pRIを受信し、フィルタを適用して、図6にpRI’として示されているpRIのフィルタ処理済みバージョンを生成する。フィルタモジュール610Bは、pRI’とPIとEIとを入力として受信する。これらの3つの入力を使用して、フィルタモジュール610Bは、以下のように次の3つのフィルタを適用することによって、図6にR’として示されている出力を生成することができる。
Figure 0005755744
フィルタモジュール610Cは、以下のように2つのフィルタを適用することによって、出力(R”)を生成することができる。
Figure 0005755744
[0115] オール0のフィルタを適用することによって、様々な出力が達成され得る。たとえば、フィルタモジュール610AがpRIにオール0のフィルタを適用し、フィルタモジュール610BがPIおよびEIにオール0のフィルタを適用する場合、フィルタモジュール610Bの出力は同様に0になり、これは、フィルタモジュール610Cの出力が単にRIのフィルタ処理済みバージョンになることを意味する。別の実装形態では、様々な入力に適用されるフィルタのすべてが、ラプラシアンフィルタ索引付けを介してなど、アクティビティメトリックに基づいてフィルタのセットから選定され得る。前述のように、フィルタへの、入力の和修正ラプラシアン値の索引付けは、複数の方法で実装され得る。たとえば、いくつかの実装形態では、各入力はフィルタの一意のセットを有し得るが、いくつかの実装形態では、入力はフィルタの共通のセットを共有する。さらに、いくつかの実装形態では、各入力の和修正ラプラシアン値が、各入力のための特定のフィルタを識別するために使用され得る。しかしながら、他の実装形態では、シングル入力の和修正ラプラシアン値が、すべての入力のためのフィルタを識別するために使用され得る。さらに他の実装形態では、第1の入力の和修正ラプラシアン値が、第2の異なる入力のためのフィルタを識別するために使用され得る。
[0116] 図7は、本開示に一致する符号化技法を示す流れ図である。図3に示すように、ビデオエンコーダ350が一連のビデオブロックのピクセルデータを符号化する。一連のビデオブロックは、フレーム、スライス、ピクチャグループ(GOP)、または別の単独で復号可能なユニットを備え得る。ピクセルデータはコード化ユニットに構成され得、ビデオエンコーダ350は、HEVC規格などのビデオ符号化規格に従ってコード化ユニットを符号化することによってピクセルデータを符号化し得る。フレームまたはスライスのために、FSU353は、フレームまたはスライスに対して使用されるべきフィルタのセットを識別する(710)。FSU353は、すべての入力のためにフィルタの1つのセットを識別し得るか、または各入力のためにフィルタのセットを識別し得る。
[0117] ビデオ符号化プロセスの一部として、予測ユニット332が予測ベースコーディングを実行し、特定のコード化ユニットのための4分木ベース区分方式を決定する(720)。さらに、ビデオ符号化プロセスの一部として、ビデオエンコーダ350のフィルタユニット349が、ラプラシアンフィルタ索引付けに基づいて、フレーム、スライス、またはLCUの特定のコード化ユニットのサブコード化ユニットのために使用されるべきフィルタのセットからの1つまたは複数のフィルタを選択する(730)。上記で説明したように、1つまたは複数のフィルタが1つまたは複数の入力に適用され得る。このフィルタ処理は、概して、復号された画像を元の画像により類似させることによってビデオコーディングを改善するために使用され得る。フィルタユニット349はループ内にあるものとして示されており、これは、フィルタ処理済みデータが後のビデオブロックの予測符号化のために使用されることを意味する。しかしながら、フィルタユニット349は、代替的にポストフィルタ処理を適用し得、その場合、非フィルタ処理済みデータが後のビデオブロックの予測符号化のために使用されるであろう。
[0118] ビデオエンコーダ350は、符号化されたピクセルデータと符号化されたフィルタデータとを含む、コード化ユニットの符号化されたビットストリームを出力する(740)。符号化されたフィルタデータは、使用されるべきフィルタのセットを識別するためのシグナリング情報を含み得、また、フィルタを符号化した方法と、異なるフィルタが適用されるべきアクティビティメトリックの範囲とを識別するシグナリング情報を含み得る。符号化されたピクセルデータは、他のタイプのデータの中でも、特定のコード化ユニットのためのセグメンテーションマップを含み得る。
[0119] 図8は、本開示に一致する復号技法を示す流れ図である。図8に示すように、ビデオデコーダ460が、符号化されたビデオデータと符号化されたフィルタデータとを含む符号化されたビットストリームを受信する(810)。ビデオデコーダ460は、フィルタデータを復号して、フィルタの1つまたは複数のセット、ならびにフィルタのセットからの特定のフィルタをいつ適用すべきかを決定するためのアクティビティメトリックの範囲を再構成する(820)。上記で説明したように、フィルタデータは、すべての入力とともに使用されるフィルタのセットを含み得るか、または各入力のためのフィルタのセットを含み得る。図4に関して上記で説明したように、再構成プロセスは、フィルタユニット459のための複数の入力(すなわち、RI、pRI、PI、およびEI)を生成することができる。ビデオデコーダ460は、ビデオデータを復号して、ピクセルデータのブロックを生成する(830)。ピクセルデータは、他のタイプのデータの中でも、セグメンテーションマップを含み得る。詳細には、ビデオデコーダ460は、新生HEVC規格または同様のブロックベースのビデオコーディング規格などのビデオ規格に従ってブロックベースのビデオ再構成を実行することによってピクセルデータを生成し得る。
[0120] コード化ユニットのためのセグメンテーションマップに基づいて、ビデオデコーダ460は、コード化ユニットのサブコード化ユニットがフィルタユニット459によってフィルタ処理されるべきかどうかを決定することができる。サブユニットがフィルタ処理されるべき場合、フィルタユニット459は、サブコード化ユニットの1つまたは複数の和修正ラプラシアン値を決定し、ラプラシアンフィルタ索引付けに基づいて、サブコード化ユニットの1つまたは複数の入力とともに使用されるべき1つまたは複数のフィルタを識別する(840)。
[0121] 図9は、本開示に一致する符号化技法を示す流れ図である。図3に示すように、ビデオエンコーダ350が一連のビデオブロックのピクセルデータを符号化する。一連のビデオブロックは、フレーム、スライス、ピクチャグループ(GOP)、ビデオデータの全シーケンス、またはビデオデータの別の復号可能なセットを備え得る。ピクセルデータはコード化ユニットに構成され得、ビデオエンコーダ350は、HEVC規格などのビデオ符号化規格に従ってコード化ユニットを符号化することによってピクセルデータを符号化し得る。フレームまたはスライスのために、FSU353は、フレームまたはスライスに対して使用されるべきフィルタのセットを識別する(910)。FSU353は、すべての入力のためにフィルタの1つのセットを識別し得るか、または各入力のためにフィルタのセットを識別し得る。いくつかの事例では、フィルタのうちの1つまたは複数はオール0の係数を含み得る。
[0122] ビデオ符号化プロセスの一部として、予測ユニット332が予測ベースコーディングを実行し、特定のコード化ユニットのための4分木ベース区分方式を決定する(920)。さらに、ビデオ符号化プロセスの一部として、ビデオエンコーダ350のフィルタユニット349が、ラプラシアンフィルタ索引付けに基づいて、フレーム、スライス、またはLCUの特定のコード化ユニットのサブコード化ユニットのために使用されるべきフィルタのセットからの1つまたは複数のフィルタを選択する(930)。上記で説明したように、1つまたは複数のフィルタが1つまたは複数の入力に適用され得る。このフィルタ処理は、概して、復号された画像を元の画像により類似させることによってビデオコーディングを改善するために使用され得る。フィルタユニット349はループ内にあるものとして示されており、これは、フィルタ処理済みデータが後のビデオブロックの予測符号化のために使用されることを意味する。しかしながら、フィルタユニット349は、代替的にポストフィルタ処理を適用し得、その場合、非フィルタ処理済みデータが後のビデオブロックの予測符号化のために使用されるであろう。
[0123] ビデオエンコーダ350は、符号化されたピクセルデータと、1つまたは複数の0フラグをもつ符号化されたフィルタデータとを含む、コード化ユニットの符号化されたビットストリームを出力する(940)。符号化されたフィルタデータは、各フィルタのための0フラグを含む使用されるべきフィルタのセットを識別するためのシグナリング情報を含み得、また、フィルタを符号化した方法と、異なるフィルタが適用されるべきアクティビティメトリックの範囲とを識別するシグナリング情報を含み得る。符号化されたピクセルデータは、他のタイプのデータの中でも、特定のコード化ユニットのためのセグメンテーションマップを含み得る。
[0124] 図10は、本開示に一致する復号技法を示す流れ図である。図10に示すように、ビデオデコーダ460が、符号化されたビデオデータと、1つまたは複数の0フラグをもつ符号化されたフィルタデータとを含む符号化されたビットストリームを受信する(1010)。ビデオデコーダ460は、フィルタデータを復号して、フィルタの1つまたは複数のセット、ならびにフィルタのセットからの特定のフィルタをいつ適用すべきかを決定するためのアクティビティメトリックの範囲を再構成する(1020)。上記で説明したように、フィルタデータは、すべての入力とともに使用されるフィルタのセットを含み得るか、または各入力のためのフィルタのセットを含み得る。図4に関して上記で説明したように、再構成プロセスは、フィルタユニット459のための複数の入力(すなわち、RI、pRI、PI、およびEI)を生成することができる。ビデオデコーダ460は、ビデオデータを復号して、ピクセルデータのブロックを生成する(1030)。ピクセルデータは、他のタイプのデータの中でも、セグメンテーションマップを含み得る。詳細には、ビデオデコーダ460は、新生HEVC規格または同様のブロックベースのビデオコーディング規格などのビデオ規格に従ってブロックベースのビデオ再構成を実行することによってピクセルデータを生成し得る。
[0125] コード化ユニットのためのセグメンテーションマップに基づいて、ビデオデコーダ460は、コード化ユニットのサブコード化ユニットがフィルタユニット459によってフィルタ処理されるべきかどうかを決定することができる。サブユニットがフィルタ処理されるべき場合、フィルタユニット459は、サブコード化ユニットの1つまたは複数の和修正ラプラシアン値を決定し、ラプラシアンフィルタ索引付けに基づいて、サブコード化ユニットの1つまたは複数の入力とともに使用されるべき1つまたは複数のフィルタを識別する(1040)。
[0126] 上記の開示は、詳細を伝えるために、ある程度まで簡略化してある。たとえば、本開示では、概して、フィルタのセットがフレームごとにまたはスライスごとに送信されるものとして説明したが、フィルタのセットは、シーケンスごとに、ピクチャグループごとに、スライスグループごとに、CUごとに、LCUごとに、または他のそのようなベースで送信され得る。概して、フィルタは、1つまたは複数のコード化ユニットの任意のグルーピングのために送信され得る。さらに、実装形態では、コード化ユニットごとの入力当たりの多数のフィルタと、フィルタ当たりの多数の係数と、フィルタの各々が分散の異なる範囲のために定義される、分散の多数の異なるレベルとがあり得る。たとえば、場合によっては、コード化ユニットの各入力のために定義された16個以上のフィルタと、各フィルタに対応する分散の16個の異なる範囲とがあり得る。
[0127] 各入力のためのフィルタの各々は多くの係数を含み得る。一例では、フィルタは、2つの次元にわたるフィルタサポートのために定義された81個の異なる係数をもつ2次元フィルタを備える。しかしながら、各フィルタのために送信されるフィルタ係数の数は、場合によっては81よりも少ないことがある。たとえば、1つの次元または象限におけるフィルタ係数が、他の次元または象限における係数に対する反転値または対称値に対応し得るように、係数対称性が課され得る。係数対称性により、81個の異なる係数をより少ない係数によって表すことが可能になり得て、その場合、エンコーダおよびデコーダは、係数の反転値または鏡像値が他の係数を定義すると仮定し得る。たとえば、係数(5,−2,10,10,−2,5)は、係数のサブセット(5,−2,10)として符号化され、送信され得る。この場合、デコーダは、これらの3つの係数が、係数のより大きい対称セット(5,−2,10,10,−2,5)を定義することを知り得る。
[0128] 本開示の技法は、ワイヤレスハンドセット、および集積回路(IC)またはICのセット(すなわち、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。機能的態様を強調するために与えられた任意の構成要素、モジュールまたはユニットについて説明したが、異なるハードウェアユニットによる実現を必ずしも必要とするとは限らない。
[0129] したがって、本明細書で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ハードウェアで実装する場合、モジュール、ユニットまたは構成要素として説明した特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装する場合、これらの技法は、プロセッサで実行されると、上記で説明した方法の1つまたは複数を実行する命令を備えるコンピュータ可読媒体によって、少なくとも部分的に実現され得る。コンピュータ可読媒体は、コンピュータ可読記憶媒体を備え得、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読記憶媒体は、同期型ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリ、磁気または光学データ記憶媒体などを備え得る。本技法は、追加または代替として、命令またはデータ構造の形態でコードを搬送または通信し、コンピュータによってアクセス、読取り、および/または実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
[0130] コードは、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供され得、あるいは複合ビデオコーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
なお、以下に、出願当初の特許請求の範囲に記載された発明を付記する。
[C1]ビデオデータをコーディングする方法であって、前記方法が、
第1のフィルタ処理済み結果を生成するために、アクティビティメトリックに基づいて、フィルタのセットからの第1のフィルタを第1の入力に適用することと、
第2のフィルタ処理済み結果を生成するために、第2のフィルタを第2の入力に適用することであって、前記第2の入力が前記第1の入力とは異なる、適用することと、
前記第1のフィルタ処理済み結果と前記第2のフィルタ処理済み結果とに基づいてフィルタ処理済み画像を生成することと
を備える、方法。
[C2]前記第1の入力が、デブロック前画像、予測画像、量子化予測誤差画像、および再構成画像のうちの1つである、C1に記載の方法。
[C3]前記アクティビティメトリックが和修正ラプラシアン値を備える、C1に記載の方法。
[C4]前記和修正ラプラシアン値が、以下の式
Figure 0005755744
に従って近似的に定義されるvar(i,j)を備え、−KからKまでおよび−LからLまでにわたる2次元ウィンドウの、kは−KからKまでの合計の値を表し、lは−LからLまでの合計の値を表し、iおよびjは、ピクセルデータのピクセル座標を表し、R(i,j)は、座標iおよびjにおける所与のピクセル値を表し、var(i,j)は前記アクティビティメトリックである、C3に記載の方法。
[C5]前記アクティビティメトリックが前記第1の入力のアクティビティメトリックである、C1に記載の方法。
[C6]アクティビティメトリックの値の第1の範囲が、前記第1のフィルタに索引付けされ、前記アクティビティの値の異なる範囲が、フィルタの前記セットの異なるフィルタに索引付けされる、C1に記載の方法。
[C7]前記アクティビティメトリックが第1のアクティビティメトリックであり、前記第2のフィルタを決定することが、第2のアクティビティメトリックに基づいている、C1に記載の方法。
[C8]前記第2のフィルタが、フィルタの前記セットからのフィルタである、C1に記載の方法。
[C9]前記第2のフィルタが、フィルタの第2のセットからのフィルタである、C1に記載の方法。
[C10]前記第1のフィルタおよび前記第2のフィルタのうちの1つが、オール0の係数を備える、C1に記載の方法。
[C11]前記方法がビデオ符号化デバイスによって実行され、前記方法が、
フィルタシンタックス要素を生成することであって、前記フィルタシンタックス要素の第1の値は、フィルタの係数が少なくとも1つの非0の係数を備えないことを示し、前記フィルタシンタックス要素の第2の値は、フィルタの前記係数が少なくとも1つの非0の係数を備えることを示す、生成することと、
前記フィルタシンタックス要素が前記第1の値に設定されたことに応答して、前記フィルタシンタックス要素と、前記フィルタの前記係数を識別する追加情報とをビデオデコーダに送信することと、
前記フィルタシンタックス要素が前記第2の値に設定されたことに応答して、前記フィルタシンタックス要素を前記ビデオデコーダに送信することと
をさらに備える、C1に記載の方法。
[C12]前記方法がビデオ復号デバイスによって実行され、前記方法が、
シンタックス要素を受信することであって、前記シンタックス要素の第1の値は、フィルタの係数が少なくとも1つの非0の係数を備えることを示し、前記シンタックス要素の第2の値は、前記フィルタの前記係数が少なくとも1つの非0の係数を備えないことを示す、受信することと、
前記シンタックス要素の値が前記第1の値に設定されたことに応答して、オール0の係数をもつ前記フィルタを再構成することと、
前記シンタックス要素の前記値が前記第2の値に設定されたことに応答して、ビデオエンコーダから受信された追加情報に基づいて前記フィルタの前記係数を再構成することとをさらに備える、C1に記載の方法。
[C13]前記シンタックス要素がシングルビットである、C12に記載の方法。
[C14]前記シンタックス要素が、一連のビデオブロックのヘッダの一部である、C12に記載の方法。
[C15]第1のフィルタ処理済み結果を生成するために、アクティビティメトリックに基づいて、フィルタのセットからの第1のフィルタを第1の入力に適用することと、
第2のフィルタ処理済み結果を生成するために、第2のフィルタを第2の入力に適用することであって、前記第2の入力が前記第1の入力とは異なる、適用することと
を行うように構成されたフィルタユニットと、
前記第1のフィルタ処理済み結果と前記第2のフィルタ処理済み結果とに基づいてフィルタ処理済み画像を記憶するように構成されたメモリと
を備える、コーディングデバイス。
[C16]前記第1の入力が、デブロック前画像、予測画像、量子化予測誤差画像、および再構成画像のうちの1つである、C15に記載のデバイス。
[C17]前記アクティビティメトリックが和修正ラプラシアン値を備える、C15に記載のデバイス。
[C18]前記和修正ラプラシアン値が、以下の式
Figure 0005755744
に従って近似的に定義されるvar(i,j)を備え、−KからKまで、および−LからLまでにわたる2次元ウィンドウの、kは−KからKまでの合計の値を表し、lは−LからLまでの合計の値を表し、iおよびjは、ピクセルデータのピクセル座標を表し、R(i,j)は、座標iおよびjにおける所与のピクセル値を表し、var(i,j)は前記アクティビティメトリックである、C17に記載のデバイス。
[C19]前記第1のアクティビティメトリックが前記第1の入力のアクティビティメトリックである、C15に記載のデバイス。
[C20]アクティビティメトリックの値の第1の範囲が前記第1のフィルタに索引付けされ、前記アクティビティの値の異なる範囲が、フィルタの前記セットの異なるフィルタに索引付けされる、C15に記載のデバイス。
[C21]前記アクティビティメトリックが第1のアクティビティメトリックであり、前記第2のフィルタを決定することが、第2のアクティビティメトリックに基づいている、C15に記載のデバイス。
[C22]前記第2のフィルタが、フィルタの前記セットからのフィルタである、C15に記載のデバイス。
[C23]前記第2のフィルタが、フィルタの第2のセットからのフィルタである、C15に記載のデバイス。
[C24]前記第1のフィルタおよび前記第2のフィルタのうちの1つが、オール0の係数を備える、C15に記載のデバイス。
[C25]前記コーディングデバイスがビデオ符号化デバイスであり、
前記フィルタユニットが、フィルタシンタックス要素の値を生成するように構成され、前記フィルタシンタックス要素の第1の値は、フィルタの係数が少なくとも1つの非0の係数を備えないことを示し、前記フィルタシンタックス要素の第2の値は、フィルタの前記係数が少なくとも1つの非0の係数を備えることを示し、
前記ビデオ符号化デバイスが、
前記フィルタシンタックス要素が前記第1の値に設定されたことに応答して、前記フィルタシンタックス要素と、前記フィルタの前記係数を識別する追加情報とをビデオデコーダに送信することと、
前記フィルタシンタックス要素の値が前記第2の値に設定されたことに応答して、前記フィルタシンタックス要素をビデオデコーダに送信することと
を行うように構成された送信ユニット
をさらに備える、C15に記載のデバイス。
[C26]前記コーディングデバイスがビデオ復号デバイスであり、前記フィルタユニットが、
シンタックス要素を受信することであって、前記シンタックス要素の第1の値は、フィルタの係数が少なくとも1つの非0の係数を備えることを示し、前記シンタックス要素の第2の値は、前記フィルタの前記係数が少なくとも1つの非0係数を備えないことを示す、受信することと、
前記シンタックス要素の値が前記第1の値に設定されたことに応答して、オール0の係数をもつ前記フィルタを再構成することと、
前記シンタックス要素の値が前記第2の値に設定されたことに応答して、ビデオエンコーダから受信された追加情報に基づいて前記フィルタの前記係数を再構成することと
を行うようにさらに構成された、C15に記載のデバイス。
[C27]前記シンタックス要素がシングルビットである、C26に記載のデバイス。
[C28]前記シンタックス要素が、一連のビデオブロックのヘッダの一部である、C26に記載のデバイス。
[C29]第1のフィルタ処理済み結果を生成するために、アクティビティメトリックに基づいて、フィルタのセットからの第1のフィルタを第1の入力に適用するための手段と、
第2のフィルタ処理済み結果を生成するために、第2のフィルタを第2の入力に適用することであって、前記第2の入力が前記第1の入力とは異なる、適用するための手段と、
前記第1のフィルタ処理済み結果と前記第2のフィルタ処理済み結果とに基づいてフィルタ処理済み画像を生成するための手段と
を備える、装置。
[C30]前記第1の入力が、デブロック前画像、予測画像、量子化予測誤差画像、および再構成画像のうちの1つである、C29に記載の装置。
[C31]前記アクティビティメトリックが和修正ラプラシアン値を備える、C29に記載の装置。
[C32]前記和修正ラプラシアン値が、以下の式
Figure 0005755744
に従って近似的に定義されるvar(i,j)を備え、−KからKまで、および−LからLまでにわたる2次元ウィンドウの、kは、−KからKまでの合計の値を表し、lは、−LからLまでの合計の値を表し、iおよびjは、ピクセルデータのピクセル座標を表し、R(i,j)は、座標iおよびjにおける所与のピクセル値を表し、var(i,j)は前記アクティビティメトリックである、C31に記載の装置。
[C33]前記アクティビティメトリックが前記第1の入力のアクティビティメトリックである、C29に記載の装置。
[C34]アクティビティメトリックの値の第1の範囲が前記第1のフィルタに索引付けされ、前記アクティビティの値の異なる範囲が、フィルタの前記セットの異なるフィルタに索引付けされる、C29に記載の装置。
[C35]前記アクティビティメトリックが第1のアクティビティメトリックであり、前記第2のフィルタを決定することが、第2のアクティビティメトリックに基づいている、C29に記載の装置。
[C36]前記第2のフィルタが、フィルタの前記セットからのフィルタである、C29に記載の装置。
[C37]前記第2のフィルタが、フィルタの第2のセットからのフィルタである、C29に記載の装置。
[C38]前記第1のフィルタおよび前記第2のフィルタのうちの1つが、オール0の係数を備える、C29に記載の装置。
[C39]前記装置がビデオ符号化デバイスであり、前記装置が、
フィルタシンタックス要素を生成するための手段であって、前記フィルタシンタックス要素の第1の値は、フィルタの係数が少なくとも1つの非0の係数を備えないことを示し、前記フィルタシンタックス要素の第2の値は、フィルタの前記係数が少なくとも1つの非0の係数を備えることを示す、生成するための手段と、
前記フィルタシンタックス要素が前記第1の値に設定されたことに応答して、前記フィルタシンタックス要素と、前記フィルタの前記係数を識別する追加情報とをビデオデコーダに送信するための手段と、
前記フィルタシンタックス要素が前記第2の値に設定されたことに応答して、前記フィルタシンタックス要素を前記ビデオデコーダに送信するための手段と
をさらに備える、C29に記載の装置。
[C40]前記装置がビデオ復号デバイスであり、前記装置が、
シンタックス要素を受信するための手段であって、前記シンタックス要素の第1の値は、フィルタの係数が少なくとも1つの非0の係数を備えることを示し、前記シンタックス要素の第2の値は、前記フィルタの前記係数が少なくとも1つの非0の係数を備えないことを示す、受信するための手段と、
前記シンタックス要素の値が前記第1の値に設定されたことに応答して、オール0の係数をもつ前記フィルタを再構成するための手段と、
前記シンタックス要素の値が前記第2の値に設定されたことに応答して、ビデオエンコーダから受信された追加情報に基づいて前記フィルタの前記係数を再構成するための手段と
をさらに備える、C29に記載の装置。
[C41]前記シンタックス要素がシングルビットである、C40に記載の装置。
[C42]前記シンタックス要素が、一連のビデオブロックのヘッダの一部である、C40に記載の装置。
[C43]1つまたは複数のプロセッサによって実行されたとき、
第1のフィルタ処理済み結果を生成するために、アクティビティメトリックに基づいて、フィルタのセットからの第1のフィルタを第1の入力に適用することと、
第2のフィルタ処理済み結果を生成するために、第2のフィルタを第2の入力に適用することであって、前記第2の入力が前記第1の入力とは異なる、適用することと、
前記第1のフィルタ処理済み結果と前記第2のフィルタ処理済み結果とに基づいてフィルタ処理済み画像を生成することと
を前記1つまたは複数のプロセッサに行わせる、1つまたは複数の命令を有形に記憶する非一時的コンピュータ可読記憶媒体。
[C44]前記第1の入力が、デブロック前画像、予測画像、量子化予測誤差画像、および再構成画像のうちの1つである、C43に記載のコンピュータ可読記憶媒体。
[C45]前記アクティビティメトリックが和修正ラプラシアン値を備える、C43に記載のコンピュータ可読記憶媒体。
[C46]前記和修正ラプラシアン値が、以下の式
Figure 0005755744
に従って近似的に定義されるvar(i,j)を備え、−KからKまで、および−LからLまでにわたる2次元ウィンドウの、kは−KからKまでの合計の値を表し、lは−LからLまでの合計の値を表し、iおよびjは、ピクセルデータのピクセル座標を表し、R(i,j)は、座標iおよびjにおける所与のピクセル値を表し、var(i,j)は前記アクティビティメトリックである、C45に記載のコンピュータ可読記憶媒体。
[C47]前記アクティビティメトリックが前記第1の入力のアクティビティメトリックである、C43に記載のコンピュータ可読記憶媒体。
[C48]アクティビティメトリックの値の第1の範囲が前記第1のフィルタに索引付けされ、前記アクティビティの値の異なる範囲が、フィルタの前記セットの異なるフィルタに索引付けされる、C43に記載のコンピュータ可読記憶媒体。
[C49]前記アクティビティメトリックが第1のアクティビティメトリックであり、前記第2のフィルタを決定することが、第2のアクティビティメトリックに基づいている、C43に記載のコンピュータ可読記憶媒体。
[C50]前記第2のフィルタが、フィルタの前記セットからのフィルタである、C43に記載のコンピュータ可読記憶媒体。
[C51]前記第2のフィルタが、フィルタの第2のセットからのフィルタである、C43に記載のコンピュータ可読記憶媒体。
[C52]前記第1のフィルタおよび前記第2のフィルタのうちの1つが、オール0の係数を備える、C43に記載のコンピュータ可読記憶媒体。
[C53]前記コンピュータ可読記憶媒体がビデオ符号化デバイスの一部であり、前記コンピュータ可読記憶媒体が、前記1つまたは複数のプロセッサによって実行されたとき、
フィルタシンタックス要素を生成することであって、前記フィルタシンタックス要素の第1の値は、フィルタの係数が少なくとも1つの非0の係数を備えないことを示し、前記フィルタシンタックス要素の第2の値は、フィルタの前記係数が少なくとも1つの非0の係数を備えることを示す、生成することと、
前記フィルタシンタックス要素が前記第1の値に設定されたことに応答して、前記フィルタシンタックス要素と、前記フィルタの前記係数を識別する追加情報とをビデオデコーダに送信することと、
前記フィルタシンタックス要素が前記第2の値に設定されたことに応答して、前記フィルタシンタックス要素を前記ビデオデコーダに送信することと
を前記1つまたは複数のプロセッサに行わせる追加の命令を備える、C43に記載のコンピュータ可読記憶媒体。
[C54]前記コンピュータ可読記憶媒体がビデオ復号デバイスの一部であり、前記コンピュータ可読記憶媒体が、前記1つまたは複数のプロセッサによって実行されたとき、
シンタックス要素を受信することであって、前記シンタックス要素の第1の値は、フィルタの係数が少なくとも1つの非0の係数を備えることを示し、前記シンタックス要素の第2の値は、前記フィルタの前記係数が少なくとも1つの非0の係数を備えないことを示す、受信することと、
前記シンタックス要素の値が前記第1の値に設定されたことに応答して、オール0の係数をもつ前記フィルタを再構成することと、
前記シンタックス要素の前記値が前記第2の値に設定されたことに応答して、ビデオエンコーダから受信された追加情報に基づいて前記フィルタの前記係数を再構成することとを前記1つまたは複数のプロセッサに行わせる追加の命令を備える、C43に記載のコンピュータ可読記憶媒体。
[C55]前記シンタックス要素がシングルビットである、C54に記載のコンピュータ可読記憶媒体。
[C56]前記シンタックス要素が、一連のビデオブロックのヘッダの一部である、C54に記載のコンピュータ可読記憶媒体。

Claims (44)

  1. ビデオデータをコーディングする方法であって、
    第1のフィルタ処理済み結果を生成するために、第1のアクティビティメトリックに基づいて、フィルタの第1のセットからの第1のフィルタを第1の入力に適用することであって、前記第1の入力は、ビデオソースから受信されたビデオデータに基づいてビデオコーディングプロセスの途中に生成される中間ビデオブロックデータに対応するところのデブロック後再構成画像を備える、適用することと、
    第2のフィルタ処理済み結果を生成するために、第2のアクティビティメトリックに基づいて、第2のフィルタを第2の入力に適用することであって、前記第2のフィルタは、前記第1のフィルタとは異なり、前記第2の入力は、前記ビデオコーディングプロセスの途中に生成される中間ビデオブロックデータに対応するところの、デブロック前画像、予測画像、および量子化予測誤差画像のうちの1つを備える、適用することと、
    前記第1のフィルタ処理済み結果と前記第2のフィルタ処理済み結果とに基づいてフィルタ処理済み画像を生成することと
    を備え、
    前記第1のアクティビティメトリックが、前記デブロック後再構成画像のアクティビティメトリックであり、前記第2のアクティビティメトリックが、前記第2の入力のアクティビティメトリックである、方法。
  2. 前記第1のアクティビティメトリックが、和修正ラプラシアン値を備える、請求項1に記載の方法。
  3. 前記和修正ラプラシアン値が、以下の式
    Figure 0005755744
    に従って近似的に定義されるvar(i,j)を備え、−KからKまでおよび−LからLまでにわたる2次元ウィンドウの、kは、−KからKまでの合計の値を表し、lは、−LからLまでの合計の値を表し、iおよびjは、ピクセルデータのピクセル座標を表し、R(i,j)は、座標iおよびjにおける所与のピクセル値を表し、var(i,j)は、前記第1のアクティビティメトリックである、請求項2に記載の方法。
  4. 前記第1のアクティビティメトリックに関する値の第1の範囲が、前記第1のフィルタに索引付けされ、前記第1のアクティビティメトリックに関する値の異なる範囲が、フィルタの前記第1のセットの異なるフィルタに索引付けされる、請求項1に記載の方法。
  5. 前記第2のフィルタが、フィルタの前記第1のセットからのフィルタである、請求項1に記載の方法。
  6. 前記第2のフィルタが、フィルタの第2のセットからのフィルタである、請求項1に記載の方法。
  7. 前記第1のフィルタおよび前記第2のフィルタのうちの1つが、オール0の係数を備える、請求項1に記載の方法。
  8. 前記方法がビデオ符号化デバイスによって実行され、前記方法が、
    フィルタシンタックス要素を生成することであって、前記フィルタシンタックス要素の第1の値は、フィルタの係数が少なくとも1つの非0の係数を備えることを示し、前記フィルタシンタックス要素の第2の値は、フィルタの前記係数が少なくとも1つの非0の係数を備えないことを示す、生成することと、
    前記フィルタシンタックス要素が前記第1の値に設定されたことに応答して、前記フィルタシンタックス要素と、前記フィルタの前記係数を識別する追加情報とを、符号化されたビットストリームに含むために生成することと、
    前記フィルタシンタックス要素が前記第2の値に設定されたことに応答して、前記フィルタシンタックス要素を、前記フィルタの前記係数を識別する追加情報なしで、前記符号化されたビットストリームに含むために生成することと
    をさらに備える、請求項1に記載の方法。
  9. 前記方法がビデオ復号デバイスによって実行され、前記方法が、
    シンタックス要素を受信することであって、前記シンタックス要素の第1の値は、フィルタの係数が少なくとも1つの非0の係数を備えることを示し、前記シンタックス要素の第2の値は、前記フィルタの前記係数が少なくとも1つの非0の係数を備えないことを示す、受信することと、
    前記シンタックス要素の値が前記第の値に設定されたことに応答して、オール0の係数を用いて前記フィルタを再構成することと、
    前記シンタックス要素の値が前記第の値に設定されたことに応答して、ビデオエンコーダから受信された追加情報に基づいて前記フィルタの前記係数を再構成することであって、前記受信された追加情報は、前記フィルタの前記係数を識別する、再構成することと
    をさらに備える、請求項1に記載の方法。
  10. 前記シンタックス要素がシングルビットである、請求項9に記載の方法。
  11. 前記シンタックス要素が、一連のビデオブロックのヘッダの一部である、請求項9に記載の方法。
  12. コーディングデバイスであって、
    第1のフィルタ処理済み結果を生成するために、第1のアクティビティメトリックに基づいて、フィルタの第1のセットからの第1のフィルタを第1の入力に適用し、前記第1の入力は、ビデオソースから受信されたビデオデータに基づいてビデオコーディングプロセスの途中に生成される中間ビデオブロックデータに対応するところのデブロック後再構成画像を備え、
    第2のフィルタ処理済み結果を生成するために、第2のアクティビティメトリックに基づいて、第2のフィルタを第2の入力に適用し、前記第2のフィルタは、前記第1のフィルタとは異なり、前記第2の入力は、前記ビデオコーディングプロセスの途中に生成される中間ビデオブロックデータに対応するところの、デブロック前画像、予測画像、および量子化予測誤差画像のうちの1つを備える、
    ように構成されたフィルタユニットと、
    前記第1のフィルタ処理済み結果と前記第2のフィルタ処理済み結果とに基づいたフィルタ処理済み画像を記憶するように構成されたメモリと
    を備え、
    前記第1のアクティビティメトリックが、前記デブロック後再構成画像のアクティビティメトリックであり、前記第2のアクティビティメトリックが、前記第2の入力のアクティビティメトリックである、コーディングデバイス。
  13. 前記第1のアクティビティメトリックが和修正ラプラシアン値を備える、請求項12に記載のデバイス。
  14. 前記和修正ラプラシアン値が、以下の式
    Figure 0005755744
    に従って近似的に定義されるvar(i,j)を備え、−KからKまでおよび−LからLまでにわたる2次元ウィンドウの、kは、−KからKまでの合計の値を表し、lは、−LからLまでの合計の値を表し、iおよびjは、ピクセルデータのピクセル座標を表し、R(i,j)は、座標iおよびjにおける所与のピクセル値を表し、var(i,j)は、前記第1のアクティビティメトリックである、請求項13に記載のデバイス。
  15. 前記第1のアクティビティメトリックに関する値の第1の範囲が前記第1のフィルタに索引付けされ、前記第1のアクティビティメトリックに関する値の異なる範囲が、フィルタの前記第1のセットの異なるフィルタに索引付けされる、請求項12に記載のデバイス。
  16. 前記第2のフィルタが、フィルタの前記第1のセットからのフィルタである、請求項12に記載のデバイス。
  17. 前記第2のフィルタが、フィルタの第2のセットからのフィルタである、請求項12に記載のデバイス。
  18. 前記第1のフィルタおよび前記第2のフィルタのうちの1つが、オール0の係数を備える、請求項12に記載のデバイス。
  19. 前記コーディングデバイスがビデオ符号化デバイスであり、
    前記フィルタユニットが、フィルタシンタックス要素の値を生成するように構成され、前記フィルタシンタックス要素の第1の値は、フィルタの係数が少なくとも1つの非0の係数を備えることを示し、前記フィルタシンタックス要素の第2の値は、フィルタの前記係数が少なくとも1つの非0の係数を備えないことを示し、
    前記ビデオ符号化デバイスが送信ユニットをさらに備え、前記送信ユニットが、
    前記フィルタシンタックス要素が前記第1の値に設定されたことに応答して、前記フィルタシンタックス要素と、前記フィルタの前記係数を識別する追加情報とを、符号化されたビットストリームに含むために生成し、
    前記フィルタシンタックス要素の値が前記第2の値に設定されたことに応答して、前記フィルタシンタックス要素を、前記フィルタの前記係数を識別する追加情報なしで、前記符号化されたビットストリームに含むために生成する
    ように構成された、請求項12に記載のデバイス。
  20. 前記コーディングデバイスがビデオ復号デバイスであり、前記フィルタユニットが、
    シンタックス要素を受信し、前記シンタックス要素の第1の値は、フィルタの係数が少なくとも1つの非0の係数を備えることを示し、前記シンタックス要素の第2の値は、前記フィルタの前記係数が少なくとも1つの非0の係数を備えないことを示し、
    前記シンタックス要素の値が前記第の値に設定されたことに応答して、オール0の係数を用いて前記フィルタを再構成し、
    前記シンタックス要素の値が前記第の値に設定されたことに応答して、ビデオエンコーダから受信された追加情報に基づいて前記フィルタの前記係数を再構成し、前記受信された追加情報は、前記フィルタの前記係数を識別する
    ようにさらに構成された、請求項12に記載のデバイス。
  21. 前記シンタックス要素がシングルビットである、請求項20に記載のデバイス。
  22. 前記シンタックス要素が、一連のビデオブロックのヘッダの一部である、請求項20に記載のデバイス。
  23. 第1のフィルタ処理済み結果を生成するために、第1のアクティビティメトリックに基づいて、フィルタの第1のセットからの第1のフィルタを第1の入力に適用するための手段であって、前記第1の入力は、ビデオソースから受信されたビデオデータに基づいてビデオコーディングプロセスの途中に生成される中間ビデオブロックデータに対応するところのデブロック後再構成画像を備える、適用するための手段と、
    第2のフィルタ処理済み結果を生成するために、第2のアクティビティメトリックに基づいて、第2のフィルタを第2の入力に適用するための手段であって、前記第2のフィルタは、前記第1のフィルタとは異なり、前記第2の入力は、前記ビデオコーディングプロセスの途中に生成される中間ビデオブロックデータに対応するところの、デブロック前画像、予測画像、および量子化予測誤差画像のうちの1つを備える、適用するための手段と、
    前記第1のフィルタ処理済み結果と前記第2のフィルタ処理済み結果とに基づいてフィルタ処理済み画像を生成するための手段と
    を備え、
    前記第1のアクティビティメトリックが、前記デブロック後再構成画像のアクティビティメトリックであり、前記第2のアクティビティメトリックが、前記第2の入力のアクティビティメトリックである、装置。
  24. 前記第1のアクティビティメトリックが和修正ラプラシアン値を備える、請求項23に記載の装置。
  25. 前記和修正ラプラシアン値が、以下の式
    Figure 0005755744
    に従って近似的に定義されるvar(i,j)を備え、−KからKまでおよび−LからLまでにわたる2次元ウィンドウの、kは、−KからKまでの合計の値を表し、lは、−LからLまでの合計の値を表し、iおよびjは、ピクセルデータのピクセル座標を表し、R(i,j)は、座標iおよびjにおける所与のピクセル値を表し、var(i,j)は、前記第1のアクティビティメトリックである、請求項24に記載の装置。
  26. 前記第1のアクティビティメトリックに関する値の第1の範囲が前記第1のフィルタに索引付けされ、前記第1のアクティビティメトリックに関する値の異なる範囲が、フィルタの前記第1のセットの異なるフィルタに索引付けされる、請求項23に記載の装置。
  27. 前記第2のフィルタが、フィルタの前記第1のセットからのフィルタである、請求項23に記載の装置。
  28. 前記第2のフィルタが、フィルタの第2のセットからのフィルタである、請求項23に記載の装置。
  29. 前記第1のフィルタおよび前記第2のフィルタのうちの1つが、オール0の係数を備える、請求項23に記載の装置。
  30. 前記装置がビデオ符号化デバイスであり、前記装置が、
    フィルタシンタックス要素を生成するための手段であって、前記フィルタシンタックス要素の第1の値は、フィルタの係数が少なくとも1つの非0の係数を備えることを示し、前記フィルタシンタックス要素の第2の値は、フィルタの前記係数が少なくとも1つの非0の係数を備えないことを示す、生成するための手段と、
    前記フィルタシンタックス要素が前記第1の値に設定されたことに応答して、前記フィルタシンタックス要素と、前記フィルタの前記係数を識別する追加情報とを、符号化されたビットストリームに含むために生成するための手段と、
    前記フィルタシンタックス要素が前記第2の値に設定されたことに応答して、前記フィルタシンタックス要素を、前記フィルタの前記係数を識別する追加情報なしで含むために生成するための手段と
    をさらに備える、請求項23に記載の装置。
  31. 前記装置がビデオ復号デバイスであり、前記装置が、
    シンタックス要素を受信するための手段であって、前記シンタックス要素の第1の値は、フィルタの係数が少なくとも1つの非0の係数を備えることを示し、前記シンタックス要素の第2の値は、前記フィルタの前記係数が少なくとも1つの非0の係数を備えないことを示す、受信するための手段と、
    前記シンタックス要素の値が前記第の値に設定されたことに応答して、オール0の係数を用いて前記フィルタを再構成するための手段と、
    前記シンタックス要素の値が前記第の値に設定されたことに応答して、ビデオエンコーダから受信された追加情報に基づいて前記フィルタの前記係数を再構成するための手段であって、前記受信された追加情報は、前記フィルタの前記係数を識別する、再構成するための手段と
    をさらに備える、請求項23に記載の装置。
  32. 前記シンタックス要素がシングルビットである、請求項31に記載の装置。
  33. 前記シンタックス要素が、一連のビデオブロックのヘッダの一部である、請求項31に記載の装置。
  34. 1つ以上の命令を有形に記憶した非一時的コンピュータ可読記憶媒体であって、前記1つ以上の命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
    第1のフィルタ処理済み結果を生成するために、第1のアクティビティメトリックに基づいて、フィルタの第1のセットからの第1のフィルタを第1の入力に適用することであって、前記第1の入力は、ビデオソースから受信されたビデオデータに基づいてビデオコーディングプロセスの途中に生成される中間ビデオブロックデータに対応するところのデブロック後再構成画像を備える、適用することと、
    第2のフィルタ処理済み結果を生成するために、第2のアクティビティメトリックに基づいて、第2のフィルタを第2の入力に適用することであって、前記第2のフィルタは、前記第1のフィルタとは異なり、前記第2の入力は、前記ビデオコーディングプロセスの途中に生成される中間ビデオブロックデータに対応するところの、デブロック前画像、予測画像、および量子化予測誤差画像のうちの1つを備える、適用することと、
    前記第1のフィルタ処理済み結果と前記第2のフィルタ処理済み結果とに基づいてフィルタ処理済み画像を生成することと
    をさせ、
    前記第1のアクティビティメトリックが、前記デブロック後再構成画像のアクティビティメトリックであり、前記第2のアクティビティメトリックが、前記第2の入力のアクティビティメトリックである、非一時的コンピュータ可読記憶媒体。
  35. 前記第1のアクティビティメトリックが和修正ラプラシアン値を備える、請求項34に記載のコンピュータ可読記憶媒体。
  36. 前記和修正ラプラシアン値が、以下の式
    Figure 0005755744
    に従って近似的に定義されるvar(i,j)を備え、−KからKまでおよび−LからLまでにわたる2次元ウィンドウの、kは、−KからKまでの合計の値を表し、lは、−LからLまでの合計の値を表し、iおよびjは、ピクセルデータのピクセル座標を表し、R(i,j)は、座標iおよびjにおける所与のピクセル値を表し、var(i,j)は、前記第1のアクティビティメトリックである、請求項35に記載のコンピュータ可読記憶媒体。
  37. 前記第1のアクティビティメトリックに関する値の第1の範囲が前記第1のフィルタに索引付けされ、前記第1のアクティビティメトリックに関する値の異なる範囲が、フィルタの前記第1のセットの異なるフィルタに索引付けされる、請求項34に記載のコンピュータ可読記憶媒体。
  38. 前記第2のフィルタが、フィルタの前記第1のセットからのフィルタである、請求項34に記載のコンピュータ可読記憶媒体。
  39. 前記第2のフィルタが、フィルタの第2のセットからのフィルタである、請求項34に記載のコンピュータ可読記憶媒体。
  40. 前記第1のフィルタおよび前記第2のフィルタのうちの1つが、オール0の係数を備える、請求項34に記載のコンピュータ可読記憶媒体。
  41. 前記コンピュータ可読記憶媒体がビデオ符号化デバイスの一部であり、前記コンピュータ可読記憶媒体が追加の命令を備え、前記追加の命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
    フィルタシンタックス要素を生成することであって、前記フィルタシンタックス要素の第1の値は、フィルタの係数が少なくとも1つの非0の係数を備えることを示し、前記フィルタシンタックス要素の第2の値は、フィルタの前記係数が少なくとも1つの非0の係数を備えないことを示す、生成することと、
    前記フィルタシンタックス要素が前記第1の値に設定されたことに応答して、前記フィルタシンタックス要素と、前記フィルタの前記係数を識別する追加情報とを、符号化されたビットストリームに含むために生成することと、
    前記フィルタシンタックス要素が前記第2の値に設定されたことに応答して、前記フィルタシンタックス要素を、前記フィルタの前記係数を識別する追加情報なしで、前記符号化されたビットストリームに含むために生成することと
    をさせる、請求項34に記載のコンピュータ可読記憶媒体。
  42. 前記コンピュータ可読記憶媒体がビデオ復号デバイスの一部であり、前記コンピュータ可読記憶媒体が追加の命令を備え、前記追加の命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
    シンタックス要素を受信することであって、前記シンタックス要素の第1の値は、フィルタの係数が少なくとも1つの非0の係数を備えることを示し、前記シンタックス要素の第2の値は、前記フィルタの前記係数が少なくとも1つの非0の係数を備えないことを示す、受信することと、
    前記シンタックス要素の値が前記第の値に設定されたことに応答して、オール0の係数を用いて前記フィルタを再構成することと、
    前記シンタックス要素の値が前記第の値に設定されたことに応答して、ビデオエンコーダから受信された追加情報に基づいて前記フィルタの前記係数を再構成することであって、前記受信された追加情報は、前記フィルタの前記係数を識別する、再構成することと
    をさせる、請求項34に記載のコンピュータ可読記憶媒体。
  43. 前記シンタックス要素がシングルビットである、請求項42に記載のコンピュータ可読記憶媒体。
  44. 前記シンタックス要素が、一連のビデオブロックのヘッダの一部である、請求項42に記載のコンピュータ可読記憶媒体。
JP2013527074A 2010-09-01 2011-07-08 和修正ラプラシアンフィルタ索引付けと4分木区分との組合せに基づくマルチ入力適応フィルタ Active JP5755744B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US37925510P 2010-09-01 2010-09-01
US37925310P 2010-09-01 2010-09-01
US61/379,255 2010-09-01
US61/379,253 2010-09-01
US201161487231P 2011-05-17 2011-05-17
US61/487,231 2011-05-17
US13/178,399 US9247265B2 (en) 2010-09-01 2011-07-07 Multi-input adaptive filter based on combination of sum-modified Laplacian filter indexing and quadtree partitioning
US13/178,399 2011-07-07
PCT/US2011/043445 WO2012030433A1 (en) 2010-09-01 2011-07-08 Multi-input adaptive filter based on combination of sum-modified laplacian filter indexing and quadtree partitioning

Publications (2)

Publication Number Publication Date
JP2013539287A JP2013539287A (ja) 2013-10-17
JP5755744B2 true JP5755744B2 (ja) 2015-07-29

Family

ID=45697236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013527074A Active JP5755744B2 (ja) 2010-09-01 2011-07-08 和修正ラプラシアンフィルタ索引付けと4分木区分との組合せに基づくマルチ入力適応フィルタ

Country Status (8)

Country Link
US (1) US9247265B2 (ja)
EP (2) EP3754984A1 (ja)
JP (1) JP5755744B2 (ja)
CN (1) CN103222263B (ja)
DK (1) DK2612497T3 (ja)
ES (1) ES2824828T3 (ja)
HU (1) HUE050358T2 (ja)
WO (1) WO2012030433A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9819966B2 (en) 2010-09-01 2017-11-14 Qualcomm Incorporated Filter description signaling for multi-filter adaptive filtering
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
US9131163B2 (en) * 2012-02-07 2015-09-08 Stmicroelectronics S.R.L. Efficient compact descriptors in visual search systems
KR101749297B1 (ko) * 2012-04-12 2017-06-21 미디어텍 싱가폴 피티이. 엘티디. 크로마 서브샘플링 포맷들의 블록 파티션을 위한 방법 및 장치
KR102192991B1 (ko) 2014-04-23 2020-12-18 삼성전자주식회사 가변적인 디지털 필터를 포함하는 아날로그-디지털 컨버터 및 이를 포함하는 이미지 센서
KR20180009048A (ko) * 2015-06-16 2018-01-25 엘지전자 주식회사 영상의 부호화/복호화 방법 및 이를 위한 장치
CN105049846B (zh) * 2015-08-14 2019-05-21 广东中星微电子有限公司 图像和视频编解码的方法和设备
US9883183B2 (en) * 2015-11-23 2018-01-30 Qualcomm Incorporated Determining neighborhood video attribute values for video data
US11563938B2 (en) 2016-02-15 2023-01-24 Qualcomm Incorporated Geometric transforms for filters for video coding
US10382766B2 (en) * 2016-05-09 2019-08-13 Qualcomm Incorporated Signalling of filtering information
US20180343449A1 (en) * 2017-05-26 2018-11-29 Ati Technologies Ulc Application specific filters for high-quality video playback
EP3711301A1 (en) 2017-11-13 2020-09-23 Huawei Technologies Co., Ltd. In-loop filter apparatus and method for video coding
US10958928B2 (en) * 2018-04-10 2021-03-23 Qualcomm Incorporated Decoder-side motion vector derivation for video coding
CN114173116A (zh) * 2021-11-26 2022-03-11 中山大学 一种基于拉普拉斯滤波器的自适应量化方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI103003B (fi) * 1997-06-13 1999-03-31 Nokia Corp Suodatusmenetelmä, suodatin ja kannettava päätelaite
AU717480B2 (en) * 1998-08-01 2000-03-30 Korea Advanced Institute Of Science And Technology Loop-filtering method for image data and apparatus therefor
US6847684B1 (en) 2000-06-01 2005-01-25 Hewlett-Packard Development Company, L.P. Zero-block encoding
US20020172431A1 (en) * 2001-03-07 2002-11-21 Atkins C. Brian Digital image appearance enhancement and compressibility improvement method and system
WO2004008773A1 (ja) 2002-07-11 2004-01-22 Matsushita Electric Industrial Co., Ltd. フィルタリング強度の決定方法、動画像符号化方法、および動画像復号化方法
US7366238B2 (en) * 2004-05-07 2008-04-29 Micronas Usa, Inc. Noise filter for video processing
KR100647295B1 (ko) * 2004-11-10 2006-11-23 삼성전자주식회사 비디오 디코더에서의 인접 정보 처리 장치 및 방법과 그방법을 수행하기 위한 프로그램이 저장된 기록 매체
JP2008536414A (ja) * 2005-04-13 2008-09-04 ゴットフリート・ヴィルヘルム・ライプニッツ・ウニヴェルジテート・ハノーヴァー ビデオの拡張された符号化方法及び装置
US7680355B2 (en) * 2005-05-02 2010-03-16 Intel Corporation Detection of artifacts resulting from image signal decompression
FR2889778A1 (fr) 2005-08-12 2007-02-16 Thomson Licensing Sas Procede de codage et de decodage d'images video avec echelonnabilite spatiale
EP1841230A1 (en) * 2006-03-27 2007-10-03 Matsushita Electric Industrial Co., Ltd. Adaptive wiener filter for video coding
US20080084932A1 (en) 2006-10-06 2008-04-10 Microsoft Corporation Controlling loop filtering for interlaced video frames
US9014280B2 (en) 2006-10-13 2015-04-21 Qualcomm Incorporated Video coding with adaptive filtering for motion compensated prediction
CN105392005A (zh) 2006-11-08 2016-03-09 汤姆逊许可证公司 用于环内去伪影滤波的方法和设备
US8942505B2 (en) * 2007-01-09 2015-01-27 Telefonaktiebolaget L M Ericsson (Publ) Adaptive filter representation
US8107571B2 (en) * 2007-03-20 2012-01-31 Microsoft Corporation Parameterized filters and signaling techniques
DE102007037857A1 (de) * 2007-08-10 2009-02-12 Micronas Gmbh Verfahren zur Reduktion von Bildartefakten
EP2048886A1 (en) 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients
BRPI0907242A2 (pt) 2008-01-07 2015-07-14 Thomson Licensing Métodos e aparelho para codificação e decodificação utilizando-se filtragem paramétrica
US8638852B2 (en) * 2008-01-08 2014-01-28 Qualcomm Incorporated Video coding of filter coefficients based on horizontal and vertical symmetry
EP2141927A1 (en) * 2008-07-03 2010-01-06 Panasonic Corporation Filters for video coding
US8736751B2 (en) * 2008-08-26 2014-05-27 Empire Technology Development Llc Digital presenter for displaying image captured by camera with illumination system
US8150191B2 (en) * 2008-10-14 2012-04-03 Interra Systems Inc. Method and system for calculating blur artifacts in videos using user perception threshold
US8792564B2 (en) * 2008-10-28 2014-07-29 Sony Corporation Adaptive preprocessing method using feature-extracted video maps
US8774541B2 (en) * 2008-11-05 2014-07-08 Sony Corporation Intra prediction with adaptive interpolation filtering for image compression
US8761538B2 (en) * 2008-12-10 2014-06-24 Nvidia Corporation Measurement-based and scalable deblock filtering of image data
US8611435B2 (en) 2008-12-22 2013-12-17 Qualcomm, Incorporated Combined scheme for interpolation filtering, in-loop filtering and post-loop filtering in video coding
US9143803B2 (en) 2009-01-15 2015-09-22 Qualcomm Incorporated Filter prediction based on activity metrics in video coding
US8761268B2 (en) 2009-04-06 2014-06-24 Intel Corporation Selective local adaptive wiener filter for video coding and decoding
US20100329361A1 (en) * 2009-06-30 2010-12-30 Samsung Electronics Co., Ltd. Apparatus and method for in-loop filtering of image data and apparatus for encoding/decoding image data using the same
JP5233897B2 (ja) * 2009-07-31 2013-07-10 ソニー株式会社 画像処理装置および方法
EP2559238B1 (en) 2010-04-13 2015-06-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Adaptive image filtering method and apparatus
US20120044992A1 (en) 2010-08-17 2012-02-23 Qualcomm Incorporated Low complexity adaptive filter
US9819966B2 (en) 2010-09-01 2017-11-14 Qualcomm Incorporated Filter description signaling for multi-filter adaptive filtering
US9008180B2 (en) 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering

Also Published As

Publication number Publication date
US20120051425A1 (en) 2012-03-01
EP2612497B1 (en) 2020-08-19
HUE050358T2 (hu) 2020-12-28
DK2612497T3 (da) 2020-09-14
EP2612497A1 (en) 2013-07-10
EP3754984A1 (en) 2020-12-23
WO2012030433A1 (en) 2012-03-08
US9247265B2 (en) 2016-01-26
JP2013539287A (ja) 2013-10-17
CN103222263B (zh) 2016-06-01
CN103222263A (zh) 2013-07-24
ES2824828T3 (es) 2021-05-13

Similar Documents

Publication Publication Date Title
JP5755744B2 (ja) 和修正ラプラシアンフィルタ索引付けと4分木区分との組合せに基づくマルチ入力適応フィルタ
JP6370960B2 (ja) 複数メトリックフィルタ処理
KR101529800B1 (ko) 다중-필터 적응형 필터링을 위한 필터 디스크립션 시그널링
KR101323546B1 (ko) 비디오 코딩시 액티비티 메트릭들에 기초한 필터 예측
JP5897698B2 (ja) ビデオコーディングにおける単予測ネイバーに基づく双予測マージモード
JP6133330B2 (ja) ビデオ・コーディングのための色データのデブロッキング
JP5813783B2 (ja) 1次元スイッチ式フィルタと1次元適応フィルタとの組合せを使用したビデオフィルタリング
US20120044986A1 (en) Low complexity adaptive filter
JP2014525169A (ja) ルーマおよびクロマブロックのためのvlc係数コーディング

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130723

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150402

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150527

R150 Certificate of patent or registration of utility model

Ref document number: 5755744

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250