JP5405596B2 - ビデオのコーディングの際の、アクティビティメトリックに基づくフィルタ予測 - Google Patents

ビデオのコーディングの際の、アクティビティメトリックに基づくフィルタ予測 Download PDF

Info

Publication number
JP5405596B2
JP5405596B2 JP2011546398A JP2011546398A JP5405596B2 JP 5405596 B2 JP5405596 B2 JP 5405596B2 JP 2011546398 A JP2011546398 A JP 2011546398A JP 2011546398 A JP2011546398 A JP 2011546398A JP 5405596 B2 JP5405596 B2 JP 5405596B2
Authority
JP
Japan
Prior art keywords
filter
video
encoding
information
encoded
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
JP2011546398A
Other languages
English (en)
Other versions
JP2012515514A (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 JP2012515514A publication Critical patent/JP2012515514A/ja
Application granted granted Critical
Publication of JP5405596B2 publication Critical patent/JP5405596B2/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/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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/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
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

関連出願
本出願は、2009年1月15日に出願された米国仮出願番号第61/144,873号と、2009年5月14日に出願された米国仮出願番号第61/178,346号の利益を主張し、これらの全体的な内容は、参照によりここに組み込まれている。
本開示は、ビデオデータを圧縮するために使用する、ブロックベースのデジタルビデオコーディングに関連する。さらに詳細には、本開示は、ビデオブロックのフィルタリングに関係するフィルタ係数をコード化する技術に関連する。
背景
デジタルテレビや、デジタルダイレクトブロードキャストシステムや、無線電話機ハンドセットのようなワイヤレス通信デバイスや、ワイヤレスブロードキャストシステムや、パーソナルデジタルアシスタント(PDA)や、ラップトップまたはデスクトップコンピュータや、デジタルカメラや、デジタル記録デバイスや、ビデオゲーミングデバイスや、ビデオゲームコンソールや、これらに類するもののようなものを含む幅広いデバイスに、デジタルビデオ能力を組み込むことができる。デジタルビデオデバイスは、デジタルビデオをより効率的に送信および受信するための、MPEG−2、MPEG−4、またはITU−T H.264/MPEG−4,Part10、高度ビデオコーディング(AVC)のようなビデオ圧縮技術を実現する。ビデオ圧縮技術は、ビデオシーケンス固有の冗長性を減少または除去するために、空間的および時間的な予測を実行する。
ブロックベースのビデオ圧縮技術は、空間的予測および/または時間的予測を実行する。イントラコーディングは、空間的予測に依存して、所定のコード化ユニット内のビデオブロック間の空間的冗長性を減少または除去する。所定のコード化ユニットは、ビデオフレーム、ビデオフレームのスライス、またはこれらに類するものを含んでいてもよい。これに対して、インターコーディングは、時間的予測に依存して、ビデオシーケンスの連続的なコード化ユニットのビデオブロック間の時間的冗長性を減少または除去する。イントラコーディングに対しては、同じコード化ユニット内の他のデータに基づいてデータを圧縮するために、ビデオエンコーダが空間的予測を実行する。インターコーディングに対しては、2つ以上の近接するコード化ユニットの対応するビデオブロックの動きを追跡するために、ビデオエンコーダが、動き推定と動き補償とを実行する。
予測ブロックを生成または識別するために使用できる予測情報と、コード化されているブロックと予測ブロックとの間の差分を示すデータの残差ブロックとによって、コード化ビデオブロックを表すことができる。インターコーディングのケースでは、前のまたは後続するコード化ユニットから、データの予測ブロックを識別するために、1つ以上の動きベクトルを使用する一方で、イントラコーディングのケースでは、コード化されているビデオブロックに関係するコード化ユニット内のデータに基づいて予測ブロックを発生させるために、予測モードを使用することができる。イントラコーディングおよびインターコーディングの双方とも、異なるいくつかの予測モードを規定してもよく、このいくつかの異なる予測モードは、コーディングの際に使用される、異なるブロックサイズおよび/または予測技術を規定してもよい。コーディングプロセスの際に使用されるコーディング技術またはパラメータを制御または規定するために、さらなるタイプのシンタックスエレメントが、エンコードされたビデオデータの一部としても含まれていてもよい。
ブロックベースの予測コーディングの後に、ビデオエンコーダが、変換プロセスと、量子化プロセスと、エントロピーコーディングプロセスとを適用し、残差ブロックの通信に関係するビットレートをさらに低下させることができる。変換技術は、離散コサイン変換(DCT)、あるいは、ウェーブレット変換、整数変換、または他のタイプの変換のような概念的に類似したプロセスを含んでいてもよい。離散コサイン変換プロセスでは、例として、変換プロセスにより、1セットの画素値を変換係数にコンバートする。変換係数は、周波数ドメイン中の画素値のエネルギーを表してもよい。量子化が、変換係数に適用され、一般的に、任意の所定の変換係数に関係するビット数を制限するプロセスを伴う。エントロピーコーディングは、量子化された変換係数のシーケンスを集約的に圧縮する1つ以上のプロセスを含む。
エンコーディングループおよびデコーディングループの一部として、あるいは、再構成されたビデオブロック上でのポストフィルタリングプロセスの一部として、ビデオブロックのフィルタリングを適用してもよい。例えば、ブロックベースのビデオコーディングに共通する、ブロックノイズまたは他のアーティファクトを減少させるために、一般的に、フィルタリングを使用する。ブロックノイズを減少させることができる、および/または、ビデオ品質を他の方法で向上させることができる、好ましいレベルのビデオブロックフィルタリングを促進するために、(ときにはフィルタタップと呼ばれる)フィルタ係数を規定または選択してもよい。例えば、ビデオブロックの端にまたはビデオブロック内の他の位置に沿ってどのようにフィルタリングが適用されるかを、1セットのフィルタ係数が規定してもよい。異なるフィルタ係数は、ビデオブロックの異なる画素に対して異なるレベルのフィルタリングを生じさせることがある。望まれていないアーティファクトをなくすのを助けるために、フィルタリングは、例えば、近接する画素の輝度値の差分を平滑化または鮮明にすることができる。
概要
本開示は、ビデオエンコーディングおよび/またはデコーディングプロセスの際の、ビデオデータのフィルタリングに関係する技術を記述する。本開示にしたがうと、1つ以上のフィルタがエンコーダにおいて適用され、そしてエンコーダにおいて適用されたフィルタを識別するために、フィルタ情報が、ビットストリーム中にエンコードされる。デコーダは、フィルタ情報を含む、エンコードされたビデオデータを受け取り、ビデオデータをデコードし、ビットストリーム中にエンコードされたフィルタリング情報に基づいて1つ以上のフィルタを適用する。ビデオデータに対して決定されたアクティビティメトリックに基づいて、異なるタイプのフィルタを適用してもよい。さらに、本開示にしたがった、フィルタ情報をビットストリーム中にエンコードする方法は、アクティビティメトリックに依存していてもよい。
例えば、コード化ユニットの画素に関係するアクティビティメトリックの異なる値に基づいて、コード化ユニットに対して、異なるフィルタを規定してもよい。アクティビティメトリックの異なる範囲に入る画素データに異なるフィルタを適用してもよい。さらに、フィルタのエンコーディングも、アクティビティメトリックに依存している。アクティビティメトリックの第1の範囲に対して、1つ以上のフィルタは、フィルタ情報中に直接的にコード化される。このケースでは、例えば、何ら予測エンコーディング技術を使用せずに、フィルタ係数の値をビットストリーム中にエンコードしてもよい。しかしながら、アクティビティメトリックの第2の範囲に対して、1つ以上のフィルタは、フィルタ情報中に予測的にコード化される。このケースでは、別のコード化ユニットに対して規定されたフィルタ係数に関する残差値または差分によって、フィルタ係数の値を規定してもよい。アクティビティメトリックの第1の範囲に対して、何ら予測しない直接エンコーディングを使用して、1つ以上のフィルタをエンコードすることと、アクティビティメトリックの第2の範囲に対して、予測エンコーディングを使用して、1つ以上のフィルタをエンコードすることとによって、改善されたデータ圧縮を実現できる。異なるフィルタが異なるフィルタ係数を使用すること以外は、異なるフィルタは同一であってもよい。代替的に、異なるフィルタは、異なる数の係数を含んでいてもよく、または、異なるフィルタサポートを規定してもよい。
1つの例では、本開示は、ビデオデータをコード化する方法を記述する。方法は、ビデオデータのコード化ユニットの画素データをコード化することと、画素データ上のフィルタリングプロセスに関係するフィルタ情報をコード化することとを含み、フィルタ情報は、アクティビティメトリックの異なる値に基づいて、コード化ユニットに対して規定される異なるフィルタを含み、アクティビティメトリックの第1の範囲に対して、フィルタのうちの1つ以上は、フィルタ情報中に直接的にエンコードされ、アクティビティメトリックの第2の範囲に対して、フィルタのうちの1つ以上が、フィルタ情報中に予測的にエンコードされる。本開示では、「コーディング」という用語は、エンコーディングまたはデコーディングのいずれかを意味する。
別の例では、本開示は、ビデオデータをコード化(例えば、エンコードまたはデコード)する装置を記述する。装置は、ビデオデータのコード化ユニットの画素データをコード化し、画素データ上のフィルタリングプロセスに関係するフィルタ情報をコード化するビデオコーダを具備し、フィルタ情報は、アクティビティメトリックの異なる値に基づいて、コード化ユニットに対して規定される異なるフィルタを含み、アクティビティメトリックの第1の範囲に対して、フィルタのうちの1つ以上は、フィルタ情報中に直接的にエンコードされ、アクティビティメトリックの第2の範囲に対して、フィルタのうちの1つ以上が、フィルタ情報中に予測的にエンコードされる。
別の例では、本開示は、ビデオデータをコード化するデバイスを記述し、デバイスは、ビデオデータのコード化ユニットの画素データをコード化する手段と、画素データ上のフィルタリングプロセスに関係するフィルタ情報をコード化する手段とを具備し、フィルタ情報は、アクティビティメトリックの異なる値に基づいて、コード化ユニットに対して規定される異なるフィルタを含み、アクティビティメトリックの第1の範囲に対して、フィルタのうちの1つ以上は、フィルタ情報中に直接的にエンコードされ、アクティビティメトリックの第2の範囲に対して、フィルタのうちの1つ以上が、フィルタ情報中に予測的にエンコードされる。
他の開示において記述した技術は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意のものを組み合わせたもので実現してもよい。ハードウェアで実現した場合、装置は、集積回路、プロセッサ、ディスクリート論理、またはこれらを任意に組み合わせたものとして実現してもよい。ソフトウェアで実現した場合、ソフトウェアは、それぞれ、マイクロプロセッサや、特定用途向け集積回路(ASIC)や、フィールドプログラマブルゲートアレイ(FPGA)や、またはデジタルシグナルプロセッサ(DSP)のような、1つ以上のプロセッサで実行してもよい。技術を実行するソフトウェアは、最初にコンピュータ読み取り可能媒体中に記憶させてもよく、プロセッサ中でロードおよび実行してもよい。
したがって、本開示は、プロセッサにおける実行のときに、ビデオデータのコード化ユニットの画素データをプロセッサにコード化させる命令と、画素データ上のフィルタリングプロセスに関係するフィルタ情報をプロセッサにコード化させる命令とを含むコンピュータ読み取り可能記憶媒体も企図している。フィルタ情報は、アクティビティメトリックの異なる値に基づいて、コード化ユニットに対して規定される異なるフィルタを含み、アクティビティメトリックの第1の範囲に対して、フィルタのうちの1つ以上は、フィルタ情報中に直接的にエンコードされ、アクティビティメトリックの第2の範囲に対して、フィルタのうちの1つ以上が、フィルタ情報中に予測的にエンコードされる。
図面および以下の説明では、開示の1つ以上の態様の詳細について述べた。本開示で記述した技術の他の特徴、目的、および効果は、記述、図面から、そして特許請求の範囲から明らかになるだろう。
図1は、例示的なビデオエンコーディングおよびデコーディングシステムを図示している例示的なブロック図である。 図2は、本開示と一致した、例示的なビデオエンコーダを図示しているブロック図である。 図3は、本開示と一致した、例示的なビデオデコーダを図示しているブロック図である。 図4は、アクティビティメトリックに対する値の範囲を図示している概念図である。 図5は、本開示と一致した、エンコーディング技術を図示しているフロー図である。 図6は、本開示と一致した、デコーディング技術を図示しているフロー図である。
詳細な説明
本開示は、ビデオエンコーディングおよび/またはビデオデコーディングプロセスにおける、ビデオデータのフィルタリングに関係する技術を記述している。本開示にしたがって、エンコーダにおいてフィルタリングを適用し、フィルタ情報をビットストリーム中にエンコードして、エンコーダにおいて適用したフィルタリングを識別する。デコーダは、フィルタ情報を含むエンコードされたビデオデータを受け取り、ビデオデータをデコードし、フィルタリング情報に基づいたフィルタリングを適用する。この方法では、デコーダは、エンコーダにおいて適用されたのと同じフィルタリングを適用する。
ビデオデータに対して決定されたアクティビティメトリックに基づいて、異なるタイプのフィルタリングを適用してもよい。アクティビティメトリックは、ビデオデータ内の画素の1つ以上のブロックに関係するアクティビティを定量化できる。アクティビティメトリックは、1セットの画素内の画素分散を示す分散メトリックを含んでいてもよい。例えば、アクティビティメトリックは、以下でより詳細に説明するような、合計修正ラプラシアン関数値を含んでいてもよい。いずれのケースにおいても、本開示にしたがって、フィルタ情報をエンコード(およびデコード)する方法は、アクティビティメトリックに依存している。例えば、本開示にしたがうと、コード化ユニットの画素に関係するアクティビティメトリックの異なる値に基づいて、コード化ユニットに対して、異なるフィルタが規定される。
アクティビティメトリックの第1の範囲に対して、1つ以上のフィルタをフィルタ情報中に直接的にコード化する。このケースでは、例えば、何ら予測エンコーディング技術を使用せずに、直接的にフィルタ係数の値をビットストリーム中にエンコードする。しかしながら、アクティビティメトリックの第2の範囲に対しては、1つ以上のフィルタをフィルタ情報中に予測的にコード化する。このケースでは、別のコード化ユニットに対して規定されたフィルタ係数に関する残差値または差分によって、フィルタ係数の値を規定してもよい。予測的にコード化されるフィルタ情報は、例えば、異なるコード化ユニットを識別することによって、異なるエンコードされたフィルタを識別する第1のデータを含んでいてもよい。さらに、予測的にコード化されるフィルタ情報は、コード化されている現在のフィルタ係数と、第1のデータによって識別される異なるフィルタのフィルタ係数との間の差分を表す第2のデータも含んでいてもよい。
アクティビティメトリックの第1の範囲に対して、何ら予測しない直接エンコーディングを使用して、1つ以上のフィルタをエンコードすることと、アクティビティメトリックの第2の範囲に対して、予測エンコーディングを使用して、1つ以上のフィルタをエンコードすることとによって、改善されたデータ圧縮を達成することができる。このケースでは、フィルタをエンコードおよびデコードする方法は、アクティブメトリックに依存して実行される。さらには、フィルタ選択自体も、アクティビティメトリックに依存していることがある。したがって、アクティビティメトリックが、コード化ユニットの画素に適用されるフィルタリングを決定することができ、また、アクティビティメトリックは、フィルタ情報をビットストリーム中にエンコードし、この情報をビットストリームからデコードする方法を規定でき、または、この方法に影響を与えることができる。
本開示の技術は、インループフィルタリングまたはポストフィルタリングに適用できる。インループフィルタリングは、予測イントラコーディングまたは予測インターコーディングに対して、フィルタリングされたデータが使用されるように、フィルタリングされたデータがエンコーディングループおよびデコーディングループの一部であるフィルタリングのことを指す。ポストフィルタリングは、エンコーディングループの後に、再構成されたビデオデータに適用されるフィルタリングのことを意味する。ポストフィルタリングでは、予測イントラコーディングまたは予測インターコーディングに対して、フィルタリングされていないデータが使用される。本開示の技術は、インループフィルタリングまたはポストフィルタリングに限定されず、ビデオコーディングの間に適用される、幅広いフィルタリングに適用してもよい。
本開示では、用語「コーディング」は、エンコーディングまたはデコーディングを意味する。同様に、用語「コーダ」は、一般的に、任意のビデオエンコーダ、ビデオデコーダ、または組み合わせたエンコーダ/デコーダ(コーデック)を意味する。したがって、ビデオエンコーディングまたはビデオデコーディングを実行する、専用コンピュータデバイスまたは装置のことを指すために、ここでは、用語「コーダ」を使用する。
図1は、本開示の技術を実現できる、例示的なビデオエンコーディングおよびデコーディングシステム10を図示しているブロック図である。図1中に示したように、システム10は、送信元デバイス12を備えており、送信元デバイス12は、通信チャネル15を通して、エンコードされたビデオを宛先デバイス16に送信する。送信元デバイス12および宛先デバイス16は、幅広いデバイスのうちの任意のものを備えていてもよい。いくつかのケースでは、送信元デバイス12および宛先デバイス16は、例えば、いわゆるセルラまたは衛星無線電話機のような、ワイヤレス通信デバイスハンドセットを含んでいてもよい。しかしながら、さらに一般的に、ビデオデータのフィルタリングとフィルタ情報のコーディングとに適用する本開示の技術は、必ずしも、ワイヤレスアプリケーションまたはセッティングに限定されず、ビデオエンコーディングおよび/またはデコーディング能力を備える非ワイヤレスデバイスに適用してもよい。
図1の例では、送信元デバイス12は、ビデオソース20と、ビデオエンコーダ22と、変調器/復調器(モデム)23と、送信機24とを備えている。宛先デバイス16は、受信機26と、モデム27と、ビデオデコーダ28と、ディスプレイデバイス30とを備えている。本開示にしたがった、送信元デバイス12のビデオエンコーダ22は、ビデオブロックの画素に関係するアクティビティメトリックに基づいて、ビデオブロックフィルタリングプロセスのためのフィルタ係数を選択して、選択したフィルタ係数を、アクティビティメトリックに基づいてエンコードするように構成されていてもよい。特に、アクティビティメトリックの第1の範囲に対して、フィルタ係数を直接的にエンコードして、アクティビティメトリックの第2の範囲に対しては、フィルタ係数を予測的にコード化する。
エンコードされたビットストリームは、各所定のセットのフィルタ係数が予測的にエンコードされる否か、あるいは、直接的にエンコードされるか否かを規定するための、シグナリングシンクタックスエレメントを含んでいてもよい。エンコーダにおいて考慮されるアクティビティメトリックのそれぞれの範囲に対して、例えば、ビットストリームは、その範囲において使用されることになるフィルタ係数をエンコードするために、直接コーディングまたは予測コーディングが使用されたか否かを示す対応するビットを含んでいてもよい。したがって、デコーダは、シグナリングシンタックスエレメントによって規定されるように、予測デコーディングまたは直接デコーディングを適用することによって、フィルタ係数を適切にデコードすることができる。さらに、デコーダは、デコードされた画素値に基づいてもアクティビティメトリックを計算でき、これにより、アクティビティメトリックが第1の範囲または第2の範囲中にあるか否かを決定できる。この方法では、デコーダは、アクティビティメトリックに基づいて、どのフィルタを異なる画素データに適用するかを決定することができる。
さらに詳細には、送信元デバイス12のビデオエンコーダ22が、フィルタ係数を選択し、エンコーディングプロセスの間にこのようなフィルタ係数を適用して、宛先デバイス16のビデオデコーダ28への通信のためにフィルタ係数をエンコードしてもよい。フィルタ係数を選択するためと、フィルタ係数をどのようにエンコードするかを決定するためとの双方のために、ビデオエンコーダ22は、コード化されている画素に関係するアクティビティメトリックを決定できる。デコーダ側では、宛先デバイス16のビデオデコーダ28が、画素データに適用するフィルタ係数を決定することができるように、ビデオデコーダ28も、画素に関係するアクティビティメトリックを決定する。フィルタ係数がどのようにエンコードされたかに応じて、ビデオデコーダ28は、直接デコーディングまたは予測デコーディングに基づいてフィルタ係数をデコードしてもよく、このフィルタ係数は、ビットストリームシンタックスの一部として信号送信されてもよい。図1の図示したシステム10は、単なる例である。本開示のフィルタリング技術は、任意のエンコーディングまたはデコーディングデバイスによって実行してもよい。送信元デバイス12および宛先デバイス16は、このような技術をサポートすることができる、コーディングデバイスの単なる例である。
送信元デバイス12のビデオエンコーダ22は、本開示の技術を使用して、ビデオソース20から受け取ったビデオデータをエンコードする。ビデオソース20は、ビデオカメラ、以前に取り込んだビデオを含むビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィードのようなビデオ取り込みデバイスを含んでいてもよい。さらなる代替実施形態として、ビデオソース20は、コンピュータグラフィックベースデータをソースビデオとして、または、ライブビデオと、アーカイブされたビデオと、コンピュータにより発生されるビデオとを組み合わせたものを発生させてもよい。いくつかのケースにおいて、ビデオソース20がビデオカメラである場合には、送信元デバイス12および宛先デバイス16は、いわゆるカメラ電話機またはテレビ電話機を形成していてもよい。それぞれのケースでは、取り込まれたビデオ、以前取り込まれたビデオ、またはコンピュータにより発生されるビデオは、ビデオエンコーダ22によってエンコードされてもよい。
いったん、ビデオエンコーダ22によってビデオデータがエンコードされると、例えば、コード分割多元接続(CDMA)、あるいは別の通信標準規格または技術のような通信標準規格にしたがって、エンコードされたビデオ情報をモデム23によって変調し、送信機24を通して宛先デバイス16に送信してもよい。モデム23は、さまざまな、ミキサ、フィルタ、増幅器、または、信号変調のために設計されている他のコンポーネントを含んでいてもよい。送信機24は、データを送信するために設計されている回路を備えていてもよく、この回路は、増幅器と、フィルタと、1つ以上のアンテナとを備えている。
宛先デバイス16の受信機26が、チャネル15を通して情報を受け取り、モデム27が情報を復調する。ビデオデコーダ28によって実行されるビデオデコーディングプロセスは、例えば、インループデコーディングの一部として、または、デコーディングループに続くポストフィルタリングステップとして、フィルタリングを含んでいてもよい。どちらにしても、本開示の技術を使用して、ビデオデコーダ28によって適用されるフィルタ係数をデコードすることができる。フィルタ係数に対して予測コーディングが使用されたとき、チャネル15を通して伝えられる情報量を減少させるために、異なるフィルタ係数間の類似性を活用することができる。特に、異なるコード化ユニットに関係する別のセットのフィルタ係数に関して、1セットのフィルタ係数を差分値として予測的にコード化することができる。このケースでは、ビデオデコーダ28が、異なるコード化ユニットを識別する(関係するフィルタを識別するための)フィルタ情報とビデオブロックとを含むエンコードされたビットストリームを受け取る。フィルタ情報は、異なるコード化ユニットのフィルタに関して現在のフィルタを規定する差分値も含む。特に、差分値は、フィルタ係数の差分値を含んでいてもよく、フィルタ係数の差分値は、異なるコード化ユニットに対して使用される異なるフィルタのフィルタ係数に関して現在のフィルタに対するフィルタ係数を規定する。
ビデオデコーダ28は、ビデオブロックをデコードし、フィルタ係数を発生させ、発生させたフィルタ係数に基づいて、デコードしたビデオブロックをフィルタリングする。デコードしてフィルタリングしたビデオブロックをビデオフレームにアセンブルして、デコードしたビデオデータを形成することができる。ディスプレイデバイス30は、デコードされたビデオデータをユーザに表示し、ディスプレイデバイス30は、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイのような、さまざまなディスプレイデバイスのうちの任意のものを含んでいてもよい。
通信チャネル15は、無線周波数(RF)スペクトラムまたは1つ以上の物理送信線のような、任意のワイヤレス通信媒体またはワイヤード通信媒体、あるいはワイヤレス媒体およびワイヤード媒体の任意の組み合わせを含んでいてもよい。通信チャネル15は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのようなグローバルネットワークのような、パケットベースネットワークの一部を形成してもよい。通信チャネル15は、一般的に、ビデオデータを送信元デバイス12から宛先デバイス16に送信するための、任意の適切な通信媒体、または異なる通信媒体の集合体を表している。
ビデオエンコーダ22およびビデオデコーダ28は、ITU−T H.264標準規格のようなビデオ圧縮規格にしたがって動作してもよい。ITU−T H.264標準規格は、代わりに、MPEG−4,Part10、高度ビデオコーディング(AVC)とも呼ばれる。しかしながら、本開示の技術は、さまざまな他のビデオコーディング標準規格のうちの任意のものに容易に適用することができる。特に、エンコーダおよびデコーダにおけるフィルタリングを可能にする任意の標準規格は、エンコーダからデコーダにフィルタ情報を通信するのに必要とされるデータ量を減少させることによる、本開示の教示から利益を得ることができる。
図1には示していないが、いくつかの態様では、ビデオエンコーダ22およびビデオデコーダ28は、それぞれ、オーディオエンコーダおよびデコーダと一体化されてもよく、そして共通のデータストリームまたは別個のデータストリーム中で、オーディオおよびビデオの両方のエンコーディングを取り扱うための、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んでいてもよい。適用可能な場合に、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)のような他のプロトコルに準拠していてもよい。
ビデオエンコーダ22およびビデオデコーダ28は、それぞれ、1つ以上のマイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはこれらを組み合わせたものとして実現してもよい。ビデオエンコーダ22およびビデオエンコーダ28のそれぞれは、1つ以上のエンコーダまたはデコーダ中に備えられていてもよく、これらのいずれかは、各移動体デバイス、加入者デバイス、ブロードキャストデバイス、サーバ、またはこれらに類するもの中で、組み合わせられたエンコーダ/デコーダ(コーデック)の一部として一体化してもよい。
いくつかのケースにおいて、デバイス12、16は、実質的に対称的な方法で動作することができる。例えば、デバイス12、16のそれぞれが、ビデオエンコーディングコンポーネントと、ビデオデコーディングコンポーネントとを備えていることがある。それゆえ、システム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはテレビ電話通信のために、ビデオデバイス12、16間の、一方向または双方向のビデオ送信をサポートすることができる。
エンコーディングプロセスの間に、ビデオエンコーダ22は、多数のコーディング技術またはステップを実行することができる。一般的に、ビデオブロックをエンコードするために、ビデオエンコーダ22が、個々のビデオフレーム(または、スライスのような、他の独立的にコード化されるユニット)内のビデオブロック上で動作する。フレーム、スライス、フレームの部分、ピクチャのグループ(GOP)、または他のデータ構成を、複数のビデオブロックを含む独立的にデコード可能なユニットとして規定してもよい。いくつかのケースでは、それぞれのビデオフレームは、一連の独立的にデコード可能なスライスを含んでいてもよく、それぞれのスライスは、偶数のより小さいブロック中に配列できる一連のマクロブロックを含んでいてもよい。「コード化ユニット」という用語は、フレーム、スライス、フレームの部分、ピクチャのグループ(GOP)、または独立的にデコード可能である他のデータ構造を意味する。コード化ユニット内のビデオブロックは、固定サイズまたは可変サイズを有していてもよく、指定されたコーディング標準規格にしたがってサイズが異なっていてもよい。それぞれのコード化ユニットが、関係するシンタックスデータを含むように、シンタックスデータはコード化ユニット当たりのベースで規定されてもよい。ここで記述するフィルタ情報は、コード化ユニットに対するこのようなシンタックスの一部であってもよく、コード化ユニットに対するフィルタ係数を、または場合によっては、コード化ユニットの画素データをフィルタリングするために使用されたフィルタの他の特性(例えば、フィルタタイプ)を示すことができる。例えば、フィルタタイプは、線形、双1次、2次元、双3次であってもよく、あるいは、一般的に、フィルタサポートの任意の形状を規定してもよい。ときには、フィルタタイプは、エンコーダおよびデコーダによって予測されることもあり、このケースでは、フィルタタイプはビットストリーム中には含まれていないが、他のケースでは、フィルタタイプは、ここで記述したようなフィルタ係数情報ともにエンコードされていてもよい。どのようにフィルタがエンコードされたか(例えば、どのようにフィルタ係数がエンコードされたか)とともに、異なるフィルタが使用されるべきアクティビティメトリックの範囲について、シンタックスデータは、デコーダにも信号送信されてもよい。予測デコーディングまたは直接デコーディングが使用されるべきか否かを規定するために、アクティビティメトリックの範囲に対してビットが含まれていてもよい。
マクロブロックは、典型的に、16×16ブロックのデータのことを指す。ITU−T H.264標準規格は、ルミナンス成分に対して16×16、8×8、または4×4であり、クロマ成分に対しては8×8のような、さまざまなブロックサイズでのイントラ予測ととともに、ルミナンス成分に対して16×16、16×8、8×16、8×8、8×4、4×8、および4×4であり、クロマ成分に対しては、対応するスケーリングされたサイズのような、さまざまなブロックサイズでのインター予測をサポートしている。本開示において、「ビデオブロック」というフレーズは、任意のサイズのビデオブロックを意味する。さらに、ビデオブロックは、画素ドメイン中のビデオデータのブロックを、あるいは、離散コサイン変換(DCT)ドメイン、DCTに類似するドメイン、ウェーブレットドメイン、またはこれらに類するような変換ドメイン中のデータのブロックを意味することもある。
ビデオエンコーダ22が予測コーディングを実行してもよく、予測コーディングでは、予測ブロックを識別するために、コード化されているビデオブロックを予測フレーム(または他のコード化ユニット)と比較する。コード化されている現在のビデオブロックと予測ブロックとの間の差分を残差ブロックとしてコード化し、予測ブロックを識別するために予測シンタックスを使用する。残差ブロックは、変換および量子化してもよい。変換技術は、DCTプロセスまたは概念的に類似しているプロセス、整数変換、ウェーブレット変換、または他のタイプの変換を含んでいてもよい。DCTプロセスでは、例として、変換プロセスにより、1セットの画素値を変換係数にコンバートし、変換係数は、周波数ドメイン中の画素値のエネルギーを表してもよい。量子化は、典型的に、変換係数に適用され、そして一般的に、任意の所定の変換係数に関係するビット数を制限するプロセスを伴う。
変換および量子化に続いて、量子化および変換された残差ビデオブロック上で、エントロピーコーディングを実行してもよい。エンコーディングの間に規定されたフィルタ情報および予測ベクトルのようなシンタックスエレメントも、それぞれのコード化ユニットに対するエントロピーコード化されたビットストリーム中に含めてもよい。一般的に、エントロピーコーディングは、量子化された変換係数のシーケンスおよび/または他のシンタックス情報を集約的に圧縮する1つ以上のプロセスを含む。1つ以上のシリアル化された1次元のベクトルの係数を2次元のビデオブロックから規定するために、ジグザグスキャニング技術のようなスキャニング技術を、例えば、エントロピーコーディングプロセスの一部として、量子化された変換係数上で実行する。その後、例えば、コンテンツ適応可変長コーディング(CAVLC)、コンテキスト適応バイナリ算術コーディング(CABAC)、または別のエントロピーコーディングプロセスを通して、スキャンされた係数を、任意のシンタックス情報とともにエントロピーコード化する。
後続するビデオブロックの後続する予測ベースのコーディングのために使用するビデオデータを発生させるために、エンコーディングプロセスの一部として、エンコードされたビデオブロックをデコードしてもよい。この段階において、ビデオの品質を向上させるために、例えば、デコードされたビデオからブロックノイズのアーティファクトを除去するために、フィルタリングを用いることができる。他のビデオブロックの予測のために、フィルタリングされたデータを使用してもよく、このケースでは、このフィルタリングを、「インループ」フィルタリングと呼ぶ。代替的に、他のビデオブロックの予測は、フィルタリングされていないデータに基づいていてもよく、このケースでは、このフィルタリングを、「ポストフィルタリング」と呼ぶ。
エンコーダが、ビデオ品質を向上させる方法でフィルタ係数を選択してもよい。このようなフィルタ係数は、予め規定されたセットの係数から選択してもよく、あるいは、ビデオ品質を向上させるように適応的に規定してもよい。例として、そのコード化ユニットのビデオブロックの異なる画素に対して、異なるセットのフィルタ係数が使用されるように、ビデオエンコーダ22が、所定のコード化ユニットに対するいくつかのセットのフィルタ係数を選択または規定してもよい。特に、それぞれのコード化ユニットに対して、いくつかのセットのフィルタ係数を規定してもよく、コード化ユニットの画素に関係するアクティビティが、このような画素を使用するためのフィルタ係数を規定してもよい。いくつかのケースにおいて、ビデオエンコーダ22が、いくつかのセットのフィルタ係数を適用して、そして、コード化されたブロックとオリジナルブロックとの間の歪みの量の面で最高品質のビデオを生じさせる、および/または、最高レベルの圧縮を生じさせる1つ以上のセットを選択してもよい。いずれのケースにおいても、いったん選択されると、それぞれのコード化ユニットに対する、ビデオエンコーダ22によって適用されたフィルタ係数のセットが、エンコードされ、宛先デバイス18のビデオデコーダ28に通信され得る。これにより、ビデオデコーダ28は、それぞれの所定のコード化ユニットに対するエンコードプロセスの間に適用されたのと同じフィルタリングを適用することができる。
本開示の技術は、特に、フィルタ係数の選択およびエンコーディングに適用する。特に、述べたように、アクティビティメトリックを使用して、フィルタ係数とともに、フィルタ係数を(例えば、直接的または予測的のいずれかで)エンコードする方法も規定できる。コード化ユニットに対してアクティビティメトリックを規定してもよく、またはコード化ユニット内の異なる部分(例えば、サブブロックの画素)に対して、異なるアクティビティメトリックを規定してもよい。例示的なアクティビティメトリックのさらなる詳細な説明を以下でより詳細に述べる。
図2は、本開示と一致した、ビデオエンコーダ50を図示しているブロック図である。ビデオエンコーダ50は、デバイス20のビデオエンコーダ22に対応していてもよく、または異なるデバイスのビデオエンコーダに対応していてもよい。図2中に示したように、ビデオエンコーダ50は、予測ユニット32と、加算器48および51と、メモリ34とを備えている。ビデオエンコーダ50はまた、変換ユニット38と量子化ユニット40とともに、逆量子化ユニット42と、逆変換ユニット44も備えている。ビデオエンコーダ50はまた、スキャンユニット45と、エントロピーコーディングユニット46とを備えている。ビデオエンコーダ50のフィルタユニット47は、フィルタリングを実行し、フィルタ情報を効率的に別のデバイスに通信することができるように、本開示にしたがって、フィルタ情報をエンコードできる。
エンコーディングプロセスの間に、ビデオエンコーダ50は、コード化されることになるビデオブロックを受け取り、予測ユニット32が、予測コーディング技術を実行する。インターコーディングに対しては、予測ユニット32は、予測ブロックを規定するために、エンコードされることになるビデオブロックを、1つ以上のビデオ参照フレームまたはスライス中のさまざまなブロックと比較する。イントラコーディングに対しては、予測ユニット32は、同じコード化ユニット内の隣接データに基づいて予測ブロックを発生させる。予測ユニット32は、予測ブロックを出力し、加算器48が、残差予測ブロックを発生させるために、コード化されているビデオブロックから予測ブロックを減算する。
インターコーディングに対しては、予測ユニット32は、予測ブロックを指し示す動きベクトルを識別して、動きベクトルに基づいて予測ブロックを発生させる、動き推定ユニットと動き補償ユニットとを備えている。典型的に、動き推定は、動きを推定する動きベクトルを発生させるプロセスであると考えられる。例えば、現在のフレーム内でコード化されている現在のブロックに関する、予測フレーム内の予測ブロックの変位を、動きベクトルは示すことができる。動き補償は、典型的に、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは発生させるプロセスであると考えられる。イントラコーディングに対しては、予測ユニット32は、同じコード化ユニット内の隣接するデータに基づいて予測ブロックを発生させる。1つ以上のイントラ予測モードが、どのようにイントラ予測ブロックを規定できるかを規定してもよい。
予測ユニット32が予測ブロックを出力し、加算器48が、残差ブロックを発生させるために、予測ブロックをコード化されているビデオブロックから減算した後に、変換ユニユニット38が、残差ブロックに変換を適用する。変換は、離散コサイン変換(DCT)、または、H.264標準規格によって規定されているような概念的に類似している変換を含んでいてもよい。ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換も使用することができる。いずれのケースにおいても、変換ユニット38は、残差ブロックに変換を適用して、残差変換係数のブロックを生成させる。変換は、画素ドメインから周波数ドメインに残差情報をコンバートしてもよい。
その後、量子化ユニット40が、残差変換係数を量子化して、ビットレートをさらに低下させる。例えば、量子化ユニット40は、係数のそれぞれをコード化するために使用するビット数を制限してもよい。量子化の後、エントロピーコーディングユニット46が、量子化された係数ブロックをスキャンして、2次元的表現から、1つ以上のシリアル化された1次元ベクトルにする。スキャン順序は(ジグザグスキャニングまたは別の予め規定した順序のような)規定した順序で行われるように予めプログラミングされていてもよく、またはおそらくは以前のコーディング統計に基づいて適応的に規定してもよい。
このスキャニングプロセスに続いて、エントロピーエンコーディングユニット46が、CAVLCまたはCABACのようなエントロピーコーディング方法論にしたがって、(任意のシンタックスエレメントとともに)量子化された変換係数をエンコードして、データをさらに圧縮する。エントロピーコード化されたビットストリーム中に含まれているシンタックスエレメントは、インターコーディングのための動きベクトルまたはイントラコーディングのための予測モードのような、予測ユニット32からの予測シンタックスを含んでいてもよい。エントロピーコード化されたビットストリーム中に含まれているシンタックスエレメントは、フィルタユニット47からのフィルタ情報も含んでいてもよく、このフィルタ情報は、ここで記述した方法でエンコードすることができる。
CAVLCは、エントロピーコーディングユニット46によってベクトル化ベースで適用され得るITU H.264/MPEG4、AVC標準規格によってサポートされている、1つのタイプのエントロピーコーディング技術である。CAVLCは、変換係数および/またはシンタックスエレメントのシリアル化された「ラン」を効率的に圧縮する方法で、可変長コーディング(VLC)テーブルを使用する。CABACは、エントロピーコーディングユニット46によってベクトル化ベースで適用され得るITU H.264/MPEG4、AVC標準規格によってサポートされている、別のタイプのエントロピーコーディング技術である。CABACは、バイナリ化と、コンテキストモデル選択と、バイナリコーディングとを含むいくつかの段階を伴っていてもよい。このケースでは、エントロピーコーディングユニット46は、CABACにしたがって、変換係数とシンタックスエレメントとをコード化する。他の多くのタイプのエントロピーコーディング技術も存在しているが、おそらく、将来、新しいエントロピーコーディング技術が登場するだろう。本開示は、何ら特定のエントロピーコーディング技術に限定されない。
エントロピーエンコーディングユニット46によるエントロピーコーディングに続いて、エンコードされたビデオは、別のデバイスに送信しても、または、後の送信または検索のためにアーカイブしてもよい。再度説明すると、エンコードされたビデオは、デコーディングプロセスを適切に構成しているデコーダによって使用できる、エントロピーコード化されたベクトルとさまざまなシンタックスとを含んでいてもよい。逆量子化ユニット42および逆変換ユニット44は、画素ドメイン中で残差ブロックを再構成するように、それぞれ、逆量子化および逆変換を適用する。加算器51が、再構成された残差ブロックを、予測ユニット32によって生成された予測ブロックに加算し、メモリ34中への記憶のために、再構成されたビデオブロックを生成させる。しかしながら、このような記憶の前に、ビデオ品質を向上させるために、フィルタユニット47が、ビデオブロック上でフィルタリングを適用してもよい。フィルタユニット47によるこのようなフィルタリングにより、ブロックノイズまたは他のアーティファクトを減少させることができる。いくつかのケースにおいて、フィルタユニット47を、デブロッキングフィルタユニットと呼ぶことがある。さらに、フィルタリングされていない予測ビデオブロックよりも、コーディングされているビデオブロックに、さらによく一致する予測ビデオブロックを発生させることによって、フィルタリングは圧縮を改善させることができる。フィルタリングの後、再構成されたビデオブロックを基準ブロックとして予測ユニット32によって使用して、後続するビデオフレームまたは他のコード化ユニット中のブロックをインターコード化してもよい。フィルタユニット47が「インループ」で示されているが、また、本開示の技術は、ポストフィルタとともに使用でき、このケースでは、後続するコード化ユニット中でデータを予測する目的のために、(フィルタリングされたデータよりむしろ)フィルタリングされていないデータを使用するだろう。
フィルタユニット47が、ビデオ品質を向上させる方法でフィルタ係数選択を実行してもよい。例えば、フィルタユニット47は、ビデオ品質を向上させる、または、改善した圧縮を促進させるために、フィルタ係数を、予め規定されたセットの係数から選択してもよく、または、フィルタ係数を適応的に規定してもよい。そのコード化ユニットの異なるビデオブロックの画素に対して同じセットのフィルタ係数が使用されるように、フィルタユニット47は、所定のコード化ユニットに対して、1つ以上のセットのフィルタ係数を選択または規定してもよい。いくつかのケースにおいて、フィルタユニット47が、いくつかのセットのフィルタ係数を適用し、最高品質のビデオまたは最高レベルの圧縮を生じさせるセットを選択することができる。いずれのケースにおいても、いったん選択されると、それぞれのコード化ユニットに対して、フィルタユニット47によって適用されたフィルタ係数のセット(または複数のセット)は、エンコードして、デコーディングデバイスに通信する必要がある。
本開示にしたがうと、フィルタユニット47が、アクティビティメトリックに基づいてフィルタ係数を選択してもよい。アクティビティメトリックは、コード化ユニット内の画素の1つ以上のセットに関係するアクティビティを定量化する。この方法では、フィルタユニット47によって適用されるフィルタリングは、コード化ユニット内の画素に関係するアクティビティによって規定される。コード化ユニット内の画素値の分散の観点から、アクティビティを示すことができる。コード化ユニットにおける、画素値のより大きい分散は、より高いレベルの画素アクティビティを示す一方で、コード化ユニット中の、画素値のより小さい分散は、より低いレベルの画素アクティビティを示す。異なるフィルタ係数は、画素分散のレベル、すなわちアクティビティに応じて、結果的に、よりよいフィルタリング(例えば、より高い画像品質)をもたらすことができる。画素分散は、アクティビティメトリックによって定量化してもよい。アクティビティメトリックは、以下でより詳細に説明するような、合計修正ラプラシアン値を含んでいてもよい。しかしながら、他のタイプのアクティビティメトリックも使用できる。
本開示にしたがうと、フィルタユニット47は、フィルタ情報に関するコーディング技術を実行する。このコーディング技術は、フィルタ情報をエンコードして、エンコーダ50から別のデバイスに伝えるのに必要とされるデータ量を減少させることができる。再度説明すると、それぞれの(フレーム、ピクチャのグループ(GOP)、スライス、または他のコード化ユニットのような)コード化ユニットに対して、フィルタユニット47が、そのコード化ユニットの画素に適用されることになるフィルタ係数の1つ以上のセットを規定または選択してもよい。メモリ34中に記憶されている再構成されたビデオフレームのビデオブロックをフィルタリングするために、フィルタユニット47は、フィルタ係数を適用する。このビデオブロックは、インループフィルタリングと一致する予測コーディングのために使用してもよい。フィルタユニット47は、フィルタ係数をフィルタ情報としてエンコードできる。このフィルタ情報は、エンコードされたビットストリーム中に含めるためにエントロピーコーディングユニット46に転送される。
フィルタユニット47によって規定または選択されたフィルタ係数のうちのいくつかが、別のコード化ユニットの画素に対して適用された他のフィルタ係数に非常によく類似し得るという事実を、本開示の技術は認識および活用している。異なるコーディングユニットに対して、同じタイプのフィルタを適用(例えば、同じフィルタサポート)してもよいが、フィルタは、フィルタサポートの異なるインデックスに関係するフィルタ係数値の点で異なっていることがある。したがって、このようなフィルタ係数を伝えるのに必要とされるデータ量を減少させるために、フィルタユニット47は、フィルタ係数間の何らかの類似性を活用して、別のコード化ユニットのフィルタ係数に基づいて、フィルタリングするために使用することになる1つ以上のフィルタ係数を予測的にエンコードしてもよい。しかしながら、いくつかのケースでは、例えば、何ら予測を使用せずに、直接的にフィルタ係数をエンコードすることが、より好ましいことがある。予測コーディング技術を使用してフィルタ係数をエンコードするときを、そして、何ら予測コーディングせずに、直接的にフィルタ係数をエンコードするときを規定するために、本開示は、アクティブメトリックの使用を活用する。
アクティビティメトリックの第1の範囲に対して、フィルタユニット47は、1つ以上のフィルタをフィルタ情報中に直接的にエンコードする。このケースでは、例えば、何ら予測エンコーディング技術を使用せずに、直接的にフィルタ係数の値をビットストリーム中にエンコードしてもよい。しかしながら、アクティビティメトリックの第2の範囲に対しては、フィルタユニット47は、1つ以上のフィルタをフィルタ情報中に予測的にエンコードする。このケースでは、別のコード化ユニットに対して規定されたフィルタ係数に関して、残差値、または、差分によって、フィルタ係数の値が規定してもよい。先に述べたように、予測的にコード化されたフィルタ情報は、例えば、異なるコード化ユニットを識別することによって、異なるエンコードされたフィルタを識別する第1のデータを含んでいてもよく、予測的にコード化されたフィルタ情報は、コード化されている現在のフィルタ係数と、第1のデータによって識別される異なるフィルタのフィルタ係数との差分を表す第2のデータも含んでいてもよい。
例えば、1セットのフィルタ係数が、垂直または水平次元のいずれかでの6エレメントのフィルタサポートのための(5、−2、10、10、−2、5)を含む場合には、これらのフィルタ係数の直接エンコーディングにより、それぞれの値、例えば、5、−2、10、10、−2、および5をエンコードするだろう。しかしながら、予測コーディングに対しては、フィルタユニット47は、例えば、前のセットのフィルタ係数(6、−2、12、12、−2、6)を規定した、前のコード化ユニットを識別するかもしれない。このケースでは、前のセットのフィルタ係数(6、−2、12、12、−2、6)を識別することによって、現在のセットのフィルタ係数(5、−2、10、10、−2、5)を、差分値(1、0、2、2、0、1)としてエンコードしてもよい。この方法では、予測コーディングにより、フィルタ係数を伝えるのに必要とされるデータ量を減少させることができる。この例では、1次元における3つの隣接している画素が、それぞれ、係数10、−2、および5に基づいてフィルタリングされるように、そして、他の次元における3つの画素も、それぞれ、係数10、−2、および5に基づいてフィルタリングされるように、係数のセット(5、−2、10、10、−2、5)は、対称フィルタタップを含んでいてもよい。このケースでは、現在の画素に対してすぐに近接している画素に対しては係数10および10を使用し、現在の画素から2整数位置である次の画素に対しては係数−2および−2を使用し、現在の画素から3整数位置である次の画素に対しては係数5および5を使用する。
完全なセット(5、−2、10、10、−2、5)を規定するために、デコーダによって係数のサブセット(例えば、5、−2、10)が把握されるように、対称性も課してもよい。直接コーディングシナリオと予測コーディングの両方に対称性を課してもよい。
アクティビティメトリックの第1の範囲に対して、何ら予測しない直接エンコーディングを使用して、1つ以上のフィルタをエンコードすることと、アクティビティメトリックの第2の範囲に対して、予測エンコーディングを使用して、1つ以上のフィルタをエンコードすることとによって、改善したデータ圧縮を達成することができる。このケースでは、フィルタをエンコードおよびデコードする方法は、アクティビティメトリックに基づいて行われる。さらに、述べたように、フィルタ選択自体も、アクティビティメトリックに基づいていてもよい。したがって、アクティビティメトリックは、コード化ユニットの画素に適用されるフィルタリングを決定でき、フィルタ情報をビットストリーム中にエンコードしたり、フィルタ情報をビットストリームからデコードしたりする方法を規定でき、または、これに影響を与えることもできる。エンコードされたフィルタ情報は、任意の所定のセットの係数に対して使用されるエンコードする方法とともに、任意の所定のセットの係数が使用されるべきアクティビティメトリック範囲をデコーダに信号送信するシグナリングシンタックスを含んでいてもよい。デコーダは、このシグナリングシンタックスにしたがったフィルタ係数をデコードして適用してもよい。
図3は、ここで記述した方法でエンコードされたビデオシーケンスをデコードする、ビデオデコーダ60の例を図示しているブロック図である。受信されたビデオシーケンスは、エンコードされたセットの画像フレーム、1セットのフレームスライス、共通にコード化された、ピクチャのグループ(GOP)、または、幅広いさまざまなコード化ビデオユニットを含んでいてもよく、これらは、エンコードされたビデオブロックと、このようなビデオブロックをどのようにデコードするかを規定するためのシンタックスとを含んでいる。いくつかのケースにおいて、例えば、マクロブロックが、別個にデコード可能なユニットとしてエンコードされた場合には、マクロブロックまたは他のビデオブロックでさえ、コード化されるユニットとすることができる。
ビデオデコーダ60は、エントロピーデコーディングユニット52を備えており、エントロピーデコーディングユニット52は、図2のエントロピーエンコーディングユニット46によって実行されたエンコーディングの逆のデコーディング機能を実行する。特に、エントロピーデコーディングユニット52は、ビデオエンコーダ50によって使用された、CAVLCまたはCABACデコーディングあるいは他の何らかのタイプのエントロピーデコーディングを実行してもよい。1次元シリアル化されたフォーマットのエントロピーデコードされたビデオブロックを逆スキャンして、1つ以上の1次元ベクトルの係数をコンバートして、2次元ブロックフォーマットに戻してもよい。ベクトルの数およびサイズとともに、ビデオブロックに対して規定されたスキャン順序が、どのように2次元ブロックを再構成するかを規定してもよい。エントロピーデコードされた予測シンタックスは、エントロピーデコーディングユニット52から予測ユニット54に送られてもよく、エントロピーデコードされたフィルタ情報は、エントロピーデコーディングユニット52からフィルタユニット57に送られてもよい。
ビデオデコーダ60はまた、予測ユニット54と、逆量子化ユニット56と、逆変換ユニット58と、メモリと、加算器64とを備えている。さらに、ビデオデコーダ60は、加算器64の出力をフィルタリングするフィルタユニット57も備えている。本開示と一致して、フィルタユニット57は、適用されることになる1つ以上のフィルタを含む、エントロピーデコードされたフィルタ情報を受け取ってもよい。フィルタは、フィルタ係数のセットによって規定されてもよい。フィルタユニット57は、フィルタ情報に基づいてフィルタ係数を発生させるように構成されていてもよい。フィルタ情報は、任意の所定のセットの係数に対して使用されるエンコーディングの方法とともに、任意の所定のセットの係数が使用されるべきアクティビティメトリック範囲をデコーダに信号送信するシグナリングシンタックスを含んでいてもよい。フィルタのデコーディングに続いて、1つ以上のセットのフィルタ係数と、異なるセットのフィルタ係数が使用されるべきアクティビティメトリック範囲を含むシグナリングシンタックスとに基づいて、フィルタユニット57は、デコードされたビデオブロックの画素値をフィルタリングすることができる。使用されるエンコーディングのタイプ(例えば、予測または直接)を規定するために使用するアクティビティメトリックの範囲を規定する1セットのアクティビティ値によって、アクティビティメトリック範囲は規定されてもよい。
フィルタをどのように適用するかを決定するために、フィルタユニット57は、コード化ユニットのデコードされる画素(例えば、加算器51の出力)に関係する1つ以上のアクティビティメトリックを計算してもよい。アクティビティメトリックの第1の範囲に対して、フィルタユニット57は、フィルタ情報中に直接的にエンコードされた1つ以上のフィルタを適用する。このケースでは、フィルタ係数の値は、例えば、何ら予測エンコーディング技術を使用せずに、直接的に、ビットストリーム中にエンコードされていただろう。しかしながら、アクティビティメトリックの第2の範囲に対しては、フィルタユニット57は、フィルタ情報中に予測的にエンコードされた1つ以上のフィルタを適用する。このケースでは、フィルタ係数の値は、別のコード化ユニットに対して規定されたフィルタ係数に関して、残差値または差分によって規定されていてもよい。これらの係数に対しては、現在のコード化ユニットに適用されることになる1つ以上の新しいフィルタを発生させるために、フィルタユニット57は、フィルタ情報に基づいて、異なるコード化ユニットの異なるフィルタを識別して、フィルタ情報に基づいて残差値を決定し、残差値を、異なるコード化ユニットの1つ以上の異なるフィルタと組み合わせてもよい。フィルタユニット57によって計算されるアクティビティメトリックは、デコーディングプロセスの際にどのフィルタを適用するかを規定する。フィルタユニット57による、フィルタ係数の実際のデコーディング(例えば、直接デコーディングまたは予測デコーディング)は、フィルタがどのようにエンコードされたかを規定するエンコードされたフィルタ情報中のシグナリングシンタックスに基づいて実行されてもよい。
フィルタは、一般的に、任意のタイプのフィルタサポートの形または配置を仮定できる。フィルタサポートは、フィルタリングされている所定の画素に対するフィルタの形を意味し、フィルタ係数は、フィルタサポートにしたがって、隣接する画素値に適用される重み付けを規定してもよい。ときには、フィルタタイプは、エンコーダおよびデコーダによって推定されることもあり、このケースでは、フィルタタイプはビットストリーム中に含まれていないが、他のケースでは、フィルタタイプは、ここで記述したように、フィルタ係数情報とともにエンコードされてもよい。シンタックスデータは、フィルタがどのようにエンコードされたか(例えば、フィルタ係数がどのようにエンコードされたか)とともに、異なるフィルタが使用されるべきアクティビティメトリックの範囲も、デコーダに信号送信してもよい。
予測ユニット54が、(動きベクトルのような)予測シンタックスをエントロピーデコーディングユニット52から受け取る。予測シンタックスを使用して、予測ユニット54は、ビデオブロックをコード化するために使用した予測ブロックを発生させる。逆量子化ユニット56が逆量子化を実行し、逆変換ユニット58が、残差ビデオブロックの係数を変えて画素ドメインに戻すように逆変換を実行する。加算器64は、ビデオブロックを再構成するために、それぞれの予測ブロックを、逆変換ユニット58により出力された対応する残差ブロックと組み合わせる。
そのコード化ユニットの再構成されたビデオブロックをフィルタリングするために、フィルタユニット57は、それぞれのコード化ユニットに対して適用されることになるフィルタ係数を発生させて、このようなフィルタ係数を適用してもよい。例えば、フィルタリングは、端を平滑化する、および/または、ビデオブロックに関係するアーティファクトをなくす、デブロックフィルタリングを含んでいてもよい。ビデオ情報のデコードされたフレーム(または他のデコード可能なユニット)を再構成するために、フィルタリングされたビデオブロックはメモリ62中に累積される。デコードされたユニットは、ユーザへの提示のために、ビデオデコーダ60から出力されてもよいが、後続する予測デコーディングにおける使用のために記憶させてもよい。
ビデオコーディングの分野では、デコードされたビデオ信号の品質を向上させるために、エンコーダおよびデコーダにおいてフィルタリングを適用するのが一般的である。フィルタリングは、ポストフィルタを通して適用することができるが、このケースでは、フィルタリングされたフレームは、将来のフレームの予測のために使用されない。代替的に、フィルタリングは、「インループ」で適用することができるが、このケースでは、将来のフレームを予測するために、フィルタリングされたフレームが使用されるかもしれない。オリジナル信号とデコードされフィルタリングされた信号との間のエラーを最小限にすることによって、好ましいフィルタを設計することができる。
変換係数の量子化に類似した方法で、k=−K,...,Kであり、l=−L,...,Lである、フィルタの係数h(k,l)も量子化されてもよい。KおよびLは、整数値を表してもよい。フィルタの係数h(k,l)は、
Figure 0005405596
として量子化されてもよい。ここで、normFactは正規化ファクタであり、roundは、所望のビット深度に対する量子化を達成するために実行される丸め込み演算である。フィルタ係数の量子化は、エンコーディングの間にフィルタユニット47(図2)によって実行されてもよく、デクオンタイゼーション、すなわち逆量子化は、フィルタユニット57(図3)によって、デコードされたフィルタ係数上で実行されてもよい。
量子化されたフィルタ係数は、エンコードされ、エンコードされたビットストリームの一部として、エンコーダ60に関係する送信元デバイスから、デコーダ60に関係する宛先デバイスに送られてもよい。先の例では、normFactの値は、通常、2に等しいが、他の値を使用することもできる。量子化されたフィルタ係数f(k,l)がよりよい性能を提供するので、normFactのより大きい値は、より正確な量子化につながる。しかしながら、normFactのより大きい値は、デコーダに送信するためにより多くのビットを必要とする係数f(k,l)を生じさせることもある。
デコーダ60において、デコードされたフィルタ係数f(k,l)は、以下:
Figure 0005405596
のように再構成された画像R(i,j)に適用されてもよい。ここで、i=0,...,Mであり、j=0,...,Nである。変数M、N、K、およびLは、整数を表してもよい。KおよびLは、−KからKまでと、−LからLまでの2次元にわたる画素のブロックを規定してもよい。
本開示の技術により、ポストフィルタまたはインループフィルタの性能を向上させることができ、また、フィルタ係数f(k,l)を送信するために必要とされるビット数を減少させることもできる。いくつかのケースでは、それぞれのコード化ユニットに対して、例えば、それぞれのフレーム、スライス、フレームの部分、フレームのグループ(GOP)、またはこれら類するものに対して、多数の異なるポストフィルタまたはインループフィルタがデコーダに送信される。所定のフィルタが適用されるべき、コード化ユニット、マクロブロック、および/または画素を識別するために、それぞれのフィルタに対して、付加的な情報が、ビットストリーム中に含まれる。
フレームは、フレーム番号および/またはフレームのタイプ(例えば、Iフレーム、Pフレーム、またはBフレーム)によって識別できる。Iフレームは、イントラ予測されるイントラフレームを意味する。Pフレームは、1つのリストのデータ(例えば、1つの前のフレーム)に基づいて予測されるビデオブロックを有する予測フレームを意味する。B−フレームは、2つのリストのデータ(例えば、前および後続フレーム)に基づいて予測される双方向の予測フレームを意味する。マクロブロックを再構成するために使用される、マクロブロックタイプおよび/または量子化パラメータ(QP)値の範囲をリストアップすることによって、マクロブロックは識別することができる。
指定された範囲内に、アクティビティメトリックと呼ばれる、画像の局所特性の所定の尺度の値がある画素だけが特定のフィルタでフィルタリングされるべきであることも、フィルタ情報は示すことができる。例えば、画素(i,j)に対して、アクティビティメトリックは、以下:
Figure 0005405596
のように計算される、合計修正ラプラシアン値を含んでいてもよい。ここで、kは、−KからKまでの画素値の合計の値を表し、lは、−KからKまでにわたり、−LからLまでにわたる2次元ウィンドウに対する−LからLまでの合計の値を表し、iおよびjは、画素データの画素座標を表し、R(i,j)は、座標iおよびjにおける所定の画素値を表し、var(i,j)は、アクティビティメトリックである。
前のコード化ユニットのために送信された係数からの予測を使用して、フィルタ係数f(k,l)をコード化してもよい。それぞれのコード化ユニットm(例えば、それぞれのフレーム、スライス、またはGOP)に対して、エンコーダが、1セットのMフィルタ:gi mをエンコードして、送信してもよい。ここで、i=0,...,M−1である。フィルタが使用されるべき、アクティビティメトリック値varの値の範囲を識別するために、それぞれのフィルタに対して、ビットストリームをエンコードしてもよい。
例えば、アクティビティメトリック値varが、間隔[0,var0)、すなわち、var≧0であり、var<var0内にある画素に対して、フィルタgo mが使用されるべきであることを、エンコーダ50のフィルタユニット47が示してもよい。さらに、アクティビティメトリック値varが、間隔[vari-1,vari)内にある画素に対して、フィルタ:gi mが使用されるべきことを、エンコーダ50のフィルタユニット47は示してもよい。ここで、i=1,..,M−2である。さらには、アクティビティメトリックvarがvar>varM-2である画素に対して、フィルタ:gM-1 mを使用すべきことを、エンコーダ50のフィルタユニット47は示すことができる。
前のコード化ユニットにおいて使用された、再構成されたフィルタ係数を使用して、フィルタ係数を予測できる。前のフィルタ係数を、fi nと表すことができる。ここで、i=0,....,N−1である。このケースでは、現在のフィルタの予測のために使用する1つ以上のフィルタを識別するために、コード化ユニットの数nを使用してもよく、数nは、エンコードされたビットストリームの一部としてデコーダに送られてもよい。さらには、予測コーディングが使用されるアクティビティメトリックvarの値を識別するために、情報をエンコードして、デコーダに送信できる。
例えば、現在コード化されているフレームmについて、アクティビティメトリック値[varr-1,varr)に対して係数:gr mが送信されると仮定する。フレームmのフィルタ係数は、フレームnのフィルタ係数から予測される。アクティビティメトリックが間隔[vars-1,vars)内にある画素に対して、フィルタfs nがフレームn中で使用されると仮定する。ここで、vars-1==varr-1であり、vars>varrである。このケースでは、間隔[varr-1,varr)は、間隔[vars-1,vars)内に含まれている。さらに、アクティビティ値[vart,vart+1)に対してでなく、アクティビティ値[vart-1,vart)に対して、フィルタ係数の予測が使用されるべきことを示している情報をデコーダに送信してもよい。ここで、vart-1==varr-1であり、vart+1==varrである。
図4では、間隔[varr-1−1,varr)と、[vars-1,vars)と、[vart-1,vart)と、[vart,vart+1)との間の関係を図示している。このケースでは、間隔[vart-1,vart)中のアクティビティメトリックを有する画素をフィルタリングするために使用される、フィルタ係数:ft mの最終値は、係数:fs nおよびgr mの合計に等しい。
したがって、
Figure 0005405596
である。さらに、アクティビティメトリック[vart,vart+1)を有する画素に対して使用されるフィルタ係数:ft+1 mは、フィルタ係数:gl mに等しい。したがって:
Figure 0005405596
フィルタ係数g(k,l)の大きさは、K値とl値とに依存する。通常、大きさが最大である係数は、係数g(0,0)である。大きな大きさを持つことが予想される他の係数は、kまたはlの値が0に等しい係数である。この現象を利用して、係数を送信するのに必要とされるビット量をさらに減少させることができる。インデックス値kおよびlは、既知のフィルタサポート内の位置を規定できる。
パラメータpにしたがって規定された、ゴロムコードまたは指数ゴロムコードのようなパラメータ化された可変長コードを使用して、それぞれのフレームmに対する係数:gi m(k,l)をコード化してもよい。ここで、i=0,...,M−1である。パラメータ化された可変長コードを規定する、パラメータpの値を変えることによって、幅広い範囲のソース分布を効率的に表すために、これらのコードを使用することができる。係数g(k,l)の分布(すなわち、大きい値または小さい値を持つ可能性)は、kおよびlの値に依存する。したがって、コーディング効率を向上させるために、それぞれのフレームmに対して、パラメータpの値がそれぞれの対(k,l)のために送信される。エンコーディング係数:gi m(k,l)であるときに、パラメータ化された可変長コーディングのために、パラメータpを使用することができる。ここで、k=−K,...,Kであり、l=−L,...,Lである。
図5は、本開示と一致したエンコーディング技術を図示しているフロー図である。図5中に示したように、ビデオエンコーダ50が、コード化ユニットの画素データをエンコードする(101)。コード化ユニットは、フレーム、スライス、ピクチャのグループ(GOP)、または別の独立的にデコード可能なユニットを含んでいてもよい。画素データは、ビデオブロック中で配置されていてもよく、ビデオエンコーダ50は、ITU−T H.264または類似したブロックベースのビデオコーディング標準規格のような、ビデオエンコーディング標準規格にしたがって、ビデオブロックをエンコードすることによって、画素データをエンコードしてもよい。
ビデオエンコーディングプロセスの一部として、ビデオエンコーダ50のフィルタユニット47が、コード化ユニットの画素データをフィルタリングする1つ以上のフィルタを選択する(102)。このフィルタリングを使用して、異なるブロック間の端を平滑化することによって、ブロックノイズのアーティファクトを除去することができる。フィルタユニット47をインループであるとして示しており、これは、後のビデオブロックの予測エンコーディングのために、フィルタリングされたデータを使用することを意味する。しかしながら、代替的に、フィルタユニット47は、ポストフィルタリングを適用できるが、このケースでは、後のビデオブロックの予測エンコーディングのために、フィルタリングされていないデータが使用されるだろう。
フィルタユニット47が、先に説明した、合計修正ラプラシアン値のようなアクティビティメトリックの異なる値に基づいてフィルタをエンコードする(103)。これを実行する際に、フィルタユニット47は、アクティビティメトリックの第1の範囲において適用されるフィルタに対しては直接エンコーディングを使用し、アクティビティメトリックの第2の範囲において適用されるフィルタに対しては予測エンコーディングを使用する(103)。この方法では、フィルタユニット47によって、アクティビティメトリックの異なる範囲に対して、異なるフィルタが適用されてもよく、アクティビティメトリックに基づいて異なるフィルタをエンコードするために、異なるタイプのエンコーディング(直接または予測)がフィルタユニット47によって使用されてもよい。ビデオエンコーダ50が、コード化ユニットに対する、エンコードされたビットストリームを出力する(104)。エンコードされたビットストリームは、エンコードされた画素データと、エンコードされたフィルタとを含む。エンコードされた画素データは、エントロピーコード化され、量子化され、変換された値として表してもよく、この値は、画素値を発生させるためにデコーダにおいてデコードされ得る。エンコードされたフィルタは、エントロピーコード化されたシンタックスによって表してもよく、シンタックスは、直接的にエンコードされたフィルタおよび/または予測的にコード化されたフィルタを含む。エンコードされたフィルタはまた、フィルタがどのようにエンコードされたかと、異なるフィルタが適用されるべきアクティビティメトリックの範囲とを識別するシグナリングシンタックスを含んでいてもよい。
2次元のフィルタサポートのサイズを変えるために適用される異なるセットのフィルタ係数によって、異なるフィルタを規定してもよい。アクティビティメトリックの第1の範囲に対して、セットのフィルタ係数のうちの1つ以上をフィルタ情報中に直接的にコード化し、アクティビティメトリックの第2の範囲に対して、セットのフィルタ係数のうちの1つ以上をフィルタ情報中に予測的にコード化する。代替的に、所定のフィルタに対して、異なるフィルタタイプおよび異なるセットのフィルタ係数を規定してもよい。ここで、アクティビティメトリックの第1の範囲に対して、フィルタ係数のセットのうちの1つ以上をフィルタ情報中に直接的にコード化してもよく、アクティビティメトリックの第2の範囲に対して、フィルタ係数のセットのうちの1つ以上をフィルタ情報中に予測的にコード化する。いくつかのケースでは、異なるフィルタは、類似した数のフィルタ係数を有することがある。しかしながら、他の例では、異なるフィルタは、異なる数のフィルタ係数と、異なるフィルタサポートとを規定するまったく異なるフィルタを含むこともある。
エンコードされたフィルタ情報は、特定のフィルタに関係するフレーム番号を識別する情報、特定のフィルタに関係するフレームタイプを識別する情報、特定のフィルタに関係するビデオブロックタイプを識別する情報、および/または特定のフィルタに関係する量子化パラメータを識別する情報を含んでいてもよい。特に、フィルタに対して予測コーディングを使用するときに、ビットストリーム中のフィルタを識別するために、これらのメカニズムまたはエレメント、あるいは、他のメカニズムまたはエレメントを使用してもよい。また、エンコードされたフィルタ情報は、どのようにフィルタがエンコードされたかと、異なるフィルタが適用されるべきアクティビティメトリックの範囲とを識別するシグナリングシンタックスも含んでいてもよい。
アクティビティメトリックの第2の範囲に対して、フィルタ情報は、予測的にコード化されているフィルタのうちの1つ以上を予測するために使用する基準データを識別する情報を含んでいてもよい。この基準データは、例えば、前のコード化ユニットまたは後続するコード化ユニットを識別する情報のような、ビットストリーム中の、前のフィルタまたは後続するフィルタを識別する情報であってもよい。このケースでは、前のコード化ユニットまたは後続するコード化ユニットを識別することによって、フィルタ情報は、前のコード化ユニットまたは後続するコード化ユニットに対して使用されるフィルタが、現在のフィルタの予測コーディングに使用されたことを意味する。したがって、フィルタ情報は、現在のフィルタと、前のコード化ユニットまたは後続するコード化ユニットのフィルタとの間の差分を示す差分値をさらに含んでいてもよい。現在のコード化ユニットに対する現在のフィルタ係数を発生させるために、基準データによって規定されているフィルタ係数に差分値を加算してもよい。フィルタの圧縮をさらに改善させるために、先に述べたように、パラメータ化された可変長コードを使用して、フィルタ係数をコード化してもよい。
図6は、本開示と一致した、デコーディング技術を図示しているフロー図である。図6中に示したように、ビデオデコーダ60が、コード化ユニットに対する、エンコードされたビデオデータとエンコードされたフィルタとを含むエンコードされたビットストリームを受け取る(111)。ビデオデコーダ60が、ビデオデータをデコードして、画素データを発生させる(112)。特に、ビデオデコーダ60は、ITU−T H.264ビデオ標準規格、または類似したブロックベースのビデオコーディング標準規格と一致した、ブロックベースのビデオ再構成を実行してもよい。
本開示にしたがうと、ビデオデコーダ60が、直接デコーディングまたは予測デコーディングを使用してフィルタをデコードする(113)。特に、エントロピーデコーディングユニット52によるエントロピーデコーディングに続いて、エンコードされたフィルタ情報がフィルタユニット57に送られてもよい。フィルタユニット57は、直接デコーディングまたは予測デコーディングのいずれかを使用してフィルタをデコードしてもよく、ビットストリームは、直接エンコーディングまたは予測デコーディングのいずれかを使用して、フィルタをどのように適切にデコードするかを(例えば、シンタックス情報を通して)フィルタユニット57に知らせてもよい。その後、フィルタユニット57が、デコードされた画素データに関係するアクティビティメトリックに基づいて、フィルタを選択的に適用する(114)。特に、アクティビティメトリックの第1の範囲に対しては、ビットストリーム中に直接的にエンコードされたフィルタが、フィルタユニット57によって使用されてもよいのに対して、アクティビティメトリックの第2の範囲に対しては、ビットストリーム中に予測的にエンコードされたフィルタが、フィルタユニット57によって使用されてもよい。
この方法では、画素のアクティビティメトリックに基づいてビデオエンコーダ50によって適用されたフィルタは、アクティビティメトリックの、第1の範囲または第2の範囲に対してこのようなフィルタを使用するか否かに基づいて、直接エンコーディングまたは予測エンコーディングを使用して、ビットストリーム中にエンコードできる。その後、デコーダにおいて再構成されたデータが、エンコーダにおいて再構成されたデータと一致するように、ビデオデコーダ60によって同じフィルタを適用してもよい。先に説明したように、アクティビティメトリックの、第1の範囲または第2の範囲に対してこのようなフィルタを使用するか否かに基づいて、フィルタに対して、異なるタイプのエンコーディングを使用することによって、改善したデータ圧縮を達成することができる。
詳細な説明を伝えるために、先述の開示は、ある程度、簡略化している。しかしながら、インプリメンテーションでは、コード化ユニット当たり多数のフィルタや、フィルタ当たり多数の係数や、フィルタのそれぞれが異なる範囲の分散に対して規定される多数の異なるレベルの分散が存在していることがある。例えば、いくつかのケースでは、それぞれのコード化ユニットに対して規定された16以上のフィルタと、それぞれのフィルタに対応している16の異なる範囲の分散とが存在していることがある。このケースでは、フィルタに対して、直接エンコーディングまたは予測エンコーディングが使用されるか否かを規定する、(アクティビティメトリックによって規定される)2つのより広い範囲の分散がさらに存在しているかもしれない。代替的に、または、これに加えて、アクティビティメトリックのそれぞれの分散の範囲は、直接または予測エンコーディングが使用されたか否かをデコーダに知らせる、ビットストリーム中の対応ビットを規定してもよい。
フィルタのそれぞれは、多くの係数を含んでいてもよい。1つの例示では、フィルタは、2次元に広がるフィルタサポートのために規定された81個の異なる係数を持つ2次元のフィルタを含む。しかしながら、いくつかのケースにおいて、それぞれのフィルタに対して送信されるフィルタ係数の数は、81個よりも少ないことがある。1次元または象限におけるフィルタ係数が、他の次元または象限における係数に関して、逆にされた値または対称値に対応し得るように、例えば、係数の対称性を課してもよい。係数の対象性により、81個の異なる係数をより少ない係数によって表すことができるが、このケースでは、エンコーダおよびデコーダは、係数の、逆にされた値またはミラー値の係数が他の係数を規定すると仮定する。例えば、係数(5,−2,10,10,−2,5)をエンコードして、係数のサブセット(5,−2,10)として送信してもよい。このケースでは、これらの3つの係数が、係数のより大きい対称セット(5,−2,10,10,−2,5)を規定していることを、デコーダは把握していてもよい。
本開示の技術は、ワイヤレスハンドセットや、集積回路(IC)または1セットのIC(すなわち、チップセット)を含む、幅広いさまざまなデバイスまたは装置で実現してもよい。機能的態様を強調するために、任意のコンポーネント、モジュール、またはユニットについて記述したが、異なるハードウェアユニットによる実現に必ずしも必要ではない。
したがって、ここで記述した技術は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせで実現してもよい。ハードウェアで実現する場合、モジュール、ユニット、またはコンポーネントとして記述した、あらゆる機能は、集積ロジックデバイスにおいて一緒に実現してもよく、または、ディスクリートではあるが相互運用可能ロジックデバイスとして別々に実現してもよい。ソフトウェアで実現する場合、技術は、プロセッサにおいて実行されたときに、先に記述した方法のうちの1つ以上のものを実行する命令を含むコンピュータ読み取り可能媒体によって、少なくとも部分的に実現してもよい。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能記憶媒体を含んでいてもよく、コンピュータプログラムプロダクトの一部を形成していてもよく、コンピュータプログラムプロダクトは、パッケージングマテリアルを含んでいてもよい。コンピュータ読み取り可能記憶媒体は、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)のようなランダムアクセスメモリ(RAM)や、リードオンリーメモリ(ROM)や、不揮発性ランダムアクセスメモリ(NVRAM)や、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)や、フラッシュメモリや、磁気記憶媒体または光データ記憶媒体や、これらに類するものを含んでいてもよい。さらに、または、代替的に、技術は、コンピュータ読み取り可能通信媒体によって少なくとも部分的に実現してもよく、コンピュータ読み取り可能通信媒体は、コードを命令またはデータ構造の形態で伝える、または、通信し、そして、コンピュータによってアクセス、読み取り、および/または実行することとができる。
コードは、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の均等な集積回路またはディスクリートロジック回路のような、1つ以上のプロセッサによって実行されてもよい。したがって、ここで使用した「プロセッサ」という用語は、ここで記述した技術のインプリメンテーションに適した、先述した構造または他の何らかの構造のうちの任意のものを意味してもよい。さらに、いくつかの様態では、ここで記述した機能性は、エンコーディングおよびデコーディングのために構成されている、専用ソフトウェアモジュールまたはハードウェアモジュール内で提供してもよく、あるいは組み合わされたビデオコーデックに組み込んでもよい。また、技術は、1つ以上の回路または論理素子で完全に実現することができる。
本開示のさまざまな様態を記述した。これらの様態および他の様態は、特許請求の範囲の範囲内のものである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する
[1]ビデオデータをコード化する方法において、
前記ビデオデータのコード化ユニットの画素データをコード化することと、
前記画素データ上のフィルタリングプロセスに関係するフィルタ情報をコード化することとを含み、
前記フィルタ情報は、アクティビティメトリックの異なる値に基づいて、前記コード化ユニットに対して規定される異なるフィルタを含み、前記アクティビティメトリックの第1の範囲に対して、前記フィルタのうちの1つ以上は、前記フィルタ情報中に直接的にエンコードされ、前記アクティビティメトリックの第2の範囲に対して、前記フィルタのうちの1つ以上が、前記フィルタ情報中に予測的にエンコードされる方法。
[2]前記異なるフィルタは、異なるセットのフィルタ係数によって規定され、前記アクティビティメトリックの第1の範囲に対して、フィルタ係数の前記セットのうちの1つ以上は、前記フィルタ情報中に直接的にコード化され、前記アクティビティメトリックの第2の範囲に対して、フィルタ係数の前記セットのうちの1つ以上は、前記フィルタ情報中に予測的にコード化される[1]記載の方法。
[3]前記ビデオデータをコード化することは、前記ビデオデータをエンコードすることを含み、前記画素データをコード化することは、エンコードされたビットストリーム中に前記画素データをエンコードすることを含み、前記フィルタ情報をコード化することは、前記フィルタ情報をエンコードすることを含み、前記方法は、前記エンコードされたビットストリームの一部として前記フィルタ情報を出力することをさらに含む[1]記載の方法。
[4]前記ビデオデータをコード化することは、前記ビデオデータをデコードすることを含み、前記画素データをコード化することは、前記画素データをエンコードされたビットストリームからデコードすることを含み、前記フィルタ情報をコード化することは、前記フィルタ情報をデコードすることを含み、前記方法は、前記エンコードされたビットストリームの一部として前記フィルタ情報を受信することをさらに含む[1]記載の方法。
[5]前記フィルタ情報は、
特定のフィルタに関係するフレーム番号を識別する情報と、
特定のフィルタに関係するフレームタイプを識別する情報と、
特定のフィルタに関係するビデオブロックタイプを識別する情報と、
特定のフィルタに関係する量子化パラメータを識別する情報とのうちの1つ以上をさらに含む[1]記載の方法。
[6]前記アクティビティメトリックの第2の範囲に対して、前記フィルタ情報は、予測的にコード化される前記フィルタのうちの前記1つ以上を予測するために使用される基準データを識別する情報を含む[1]記載の方法。
[7]前記アクティビティメトリックは、合計修正ラプラシアン値を含む[1]記載の方法。
[8]前記合計修正ラプラシアン値は、以下の式:
Figure 0005405596
にしたがって近似的に規定されているvar(i,j)を含み、ここで、kは、−KからKまでの合計の値を表し、lは、−KからKまでにわたり、−LからLまでにわたる2次元ウィンドウに対する−LからLまでの合計の値を表し、iおよびjは、前記画素データの画素座標を表し、R(i,j)は、座標iおよびjにおける所定の画素値を表し、var(i,j)は、前記アクティビティメトリックである[7]記載の方法。
[9]前記異なるフィルタは、異なるセットのフィルタ係数によって規定され、前記方法は、パラメータ化された可変長コードを使用して、前記フィルタ係数をコード化することをさらに含む[1]記載の方法。
[10]前記コード化ユニットは、
ビデオフレームと、
ビデオフレームの部分と、
ピクチャのグループ(GOP)とのうちの1つを含む[1]記載の方法。
[11]ビデオデータをコード化する装置において、
前記ビデオデータのコード化ユニットの画素データをコード化し、
前記画素データ上のフィルタリングプロセスに関係するフィルタ情報をコード化するビデオコーダを具備し、
前記フィルタ情報は、アクティビティメトリックの異なる値に基づいて、前記コード化ユニットに対して規定される異なるフィルタを含み、前記アクティビティメトリックの第1の範囲に対して、前記フィルタのうちの1つ以上は、前記フィルタ情報中に直接的にエンコードされ、前記アクティビティメトリックの第2の範囲に対して、前記フィルタのうちの1つ以上が、前記フィルタ情報中に予測的にエンコードされる装置。
[12]前記異なるフィルタは、異なるセットのフィルタ係数によって規定され、前記アクティビティメトリックの第1の範囲に対して、フィルタ係数の前記セットのうちの1つ以上は、前記フィルタ情報中に直接的にコード化され、前記アクティビティメトリックの第2の範囲に対して、フィルタ係数の前記セットのうちの1つ以上は、前記フィルタ情報中に予測的にコード化される[11]記載の装置。
[13]前記装置は、前記ビデオデータをエンコードし、前記ビデオコーダは、エンコードされたビットストリーム中に前記画素データをエンコードし、前記フィルタ情報をエンコードし、前記エンコードされたビットストリームの一部として前記フィルタ情報を出力するエンコーダを備える[11]記載の装置。
[14]前記装置は、前記ビデオデータをデコードし、前記ビデオコーダは、エンコードされたビットストリームの一部として前記フィルタ情報を受信し、前記画素データを前記エンコードされたビットストリームからデコードし、前記フィルタ情報を前記エンコードされたビットストリームからデコードするデコーダを備える[11]記載の装置。
[15]前記フィルタ情報は、
特定のフィルタに関係するフレーム番号を識別する情報と、
特定のフィルタに関係するフレームタイプを識別する情報と、
特定のフィルタに関係するビデオブロックタイプを識別する情報と、
特定のフィルタに関係する量子化パラメータを識別する情報とのうちの1つ以上をさらに含む[11]記載の装置。
[16]前記アクティビティメトリックの第2の範囲に対して、前記フィルタ情報は、予測的にコード化される前記フィルタのうちの前記1つ以上を予測するために使用される基準データを識別する情報を含む[11]記載の装置。
[17]前記アクティビティメトリックは、合計修正ラプラシアン値を含む[11]記載の装置。
[18]前記合計修正ラプラシアン値は、以下の式:
Figure 0005405596
にしたがって近似的に規定されているvar(i,j)を含み、ここで、kは、−KからKまでの合計の値を表し、lは、−KからKまでにわたり、−LからLまでにわたる2次元ウィンドウに対する−LからLまでの合計の値を表し、iおよびjは、前記画素データの画素座標を表し、R(i,j)は、座標iおよびjにおける所定の画素値を表し、var(i,j)は、前記アクティビティメトリックである[17]記載の装置。
[19]前記異なるフィルタは、異なるセットのフィルタ係数によって規定され、前記ビデオコーダは、パラメータ化された可変長コードを使用して、前記フィルタ係数をコード化する[11]記載の装置。
[20]前記コード化ユニットは、
ビデオフレームと、
ビデオフレームの部分と、
ピクチャのグループ(GOP)とのうちの1つを含む[11]記載の装置。
[21]前記ビデオコーダは、集積回路を備える[11]記載の装置。
[22]前記ビデオコーダは、マイクロプロセッサを備える[11]記載の装置。
[23]前記装置は、前記ビデオコーダを備えるワイヤレス通信デバイスを具備する[11]記載の装置。
[24]ビデオデータをコード化するデバイスにおいて、
前記ビデオデータのコード化ユニットの画素データをコード化する手段と、
前記画素データ上のフィルタリングプロセスに関係するフィルタ情報をコード化する手段とを具備し、
前記フィルタ情報は、アクティビティメトリックの異なる値に基づいて、前記コード化ユニットに対して規定される異なるフィルタを含み、前記アクティビティメトリックの第1の範囲に対して、前記フィルタのうちの1つ以上は、前記フィルタ情報中に直接的にエンコードされ、前記アクティビティメトリックの第2の範囲に対して、前記フィルタのうちの1つ以上が、前記フィルタ情報中に予測的にエンコードされるデバイス。
[25]前記異なるフィルタは、異なるセットのフィルタ係数によって規定され、前記アクティビティメトリックの第1の範囲に対して、フィルタ係数の前記セットのうちの1つ以上は、前記フィルタ情報中に直接的にコード化され、前記アクティビティメトリックの第2の範囲に対して、フィルタ係数の前記セットのうちの1つ以上は、前記フィルタ情報中に予測的にコード化される[24]記載のデバイス。
[26]前記ビデオデータをコード化する手段は、前記ビデオデータをエンコードする手段を備え、前記画素データをコード化する手段は、エンコードされたビットストリーム中に前記画素データをエンコードする手段を備え、前記フィルタ情報をコード化する手段は、前記フィルタ情報をエンコードする手段を備え、前記デバイスは、前記エンコードされたビットストリームの一部として前記フィルタ情報を出力する手段をさらに具備する[24]記載のデバイス。
[27]前記ビデオデータをコード化する手段は、前記ビデオデータをデコードする手段を備え、前記画素データをコード化する手段は、前記画素データをエンコードされたビットストリームからデコードする手段を備え、前記フィルタ情報をコード化する手段は、前記フィルタ情報をデコードする手段を備え、前記デバイスは、前記エンコードされたビットストリームの一部として前記フィルタ情報を受信する手段をさらに具備する[24]記載のデバイス。
[28]前記フィルタ情報は、
特定のフィルタに関係するフレーム番号を識別する情報と、
特定のフィルタに関係するフレームタイプを識別する情報と、
特定のフィルタに関係するビデオブロックタイプを識別する情報と、
特定のフィルタに関係する量子化パラメータを識別する情報とのうちの1つ以上をさらに含む[24]記載のデバイス。
[29]前記アクティビティメトリックの第2の範囲に対して、前記フィルタ情報は、予測的にコード化される前記フィルタのうちの前記1つ以上を予測するために使用される基準データを識別する情報を含む[24]記載のデバイス。
[30]前記アクティビティメトリックは、合計修正ラプラシアン値を含む[24]記載のデバイス。
[31]前記合計修正ラプラシアン値は、以下の式:
Figure 0005405596
にしたがって近似的に規定されているvar(i,j)を含み、ここで、kは、−KからKまでの合計の値を表し、lは、−KからKまでにわたり、−LからLまでにわたる2次元ウィンドウに対する−LからLまでの合計の値を表し、iおよびjは、前記画素データの画素座標を表し、R(i,j)は、座標iおよびjにおける所定の画素値を表し、var(i,j)は、前記アクティビティメトリックである[30]記載のデバイス。
[32]
前記異なるフィルタは、異なるセットのフィルタ係数によって規定され、前記デバイスは、パラメータ化された可変長コードを使用して、前記フィルタ係数をコード化する手段をさらに具備する[24]記載のデバイス。
[33]前記コード化ユニットは、
ビデオフレームと、
ビデオフレームの部分と、
ピクチャのグループ(GOP)とのうちの1つを含む[24]記載のデバイス。
[34]命令を含むコンピュータ読み取り可能記憶媒体において、
前記命令は、プロセッサにおける実行のときに、
ビデオデータのコード化ユニットの画素データを前記プロセッサにコード化させる命令と、
前記画素データ上のフィルタリングプロセスに関係するフィルタ情報を前記プロセッサにコード化させる命令とを含み、
前記フィルタ情報は、アクティビティメトリックの異なる値に基づいて、前記コード化ユニットに対して規定される異なるフィルタを含み、前記アクティビティメトリックの第1の範囲に対して、前記フィルタのうちの1つ以上は、前記フィルタ情報中に直接的にエンコードされ、前記アクティビティメトリックの第2の範囲に対して、前記フィルタのうちの1つ以上が、前記フィルタ情報中に予測的にエンコードされるコンピュータ読み取り可能記憶媒体。
[35]前記異なるフィルタは、異なるセットのフィルタ係数によって規定され、前記アクティビティメトリックの第1の範囲に対して、フィルタ係数の前記セットのうちの1つ以上は、前記フィルタ情報中に直接的にコード化され、前記アクティビティメトリックの第2の範囲に対して、フィルタ係数の前記セットのうちの1つ以上は、前記フィルタ情報中に予測的にコード化される[34]記載のコンピュータ読み取り可能記憶媒体。
[36]前記命令は、前記デバイスに、エンコードされたビットストリーム中に前記画素データをエンコードさせ、前記フィルタ情報をエンコードさせ、前記エンコードされたビットストリームの一部として前記フィルタ情報を出力させる[34]記載のコンピュータ読み取り可能記憶媒体。
[37]前記命令は、前記デバイスに、前記画素データをエンコードされたビットストリームからデコードさせ、前記エンコードされたビットストリームの一部として前記フィルタ情報を受信するときに、前記フィルタ情報をデコードさせる[34]記載のコンピュータ読み取り可能記憶媒体。
[38]前記フィルタ情報は、
特定のフィルタに関係するフレーム番号を識別する情報と、
特定のフィルタに関係するフレームタイプを識別する情報と、
特定のフィルタに関係するビデオブロックタイプを識別する情報と、
特定のフィルタに関係する量子化パラメータを識別する情報とのうちの1つ以上をさらに含む[34]記載のコンピュータ読み取り可能記憶媒体。
[39]前記アクティビティメトリックの第2の範囲に対して、前記フィルタ情報は、予測的にコード化される前記フィルタのうちの前記1つ以上を予測するために使用される基準データを識別する情報を含む[34]記載のコンピュータ読み取り可能記憶媒体。
[40]前記アクティビティメトリックは、合計修正ラプラシアン値を含む[34]記載のコンピュータ読み取り可能記憶媒体。
[41]前記合計修正ラプラシアン値は、以下の式:
Figure 0005405596
にしたがって近似的に規定されているvar(i,j)を含み、ここで、kは、−KからKまでの合計の値を表し、lは、−KからKまでにわたり、−LからLまでにわたる2次元ウィンドウに対する−LからLまでの合計の値を表し、iおよびjは、前記画素データの画素座標を表し、R(i,j)は、座標iおよびjにおける所定の画素値を表し、var(i,j)は、前記アクティビティメトリックである[40]記載のコンピュータ読み取り可能記憶媒体。
[42]前記異なるフィルタは、異なるセットのフィルタ係数によって規定され、前記命令は、パラメータ化された可変長コードを使用して、前記フィルタ係数を前記プロセッサにコード化させる[34]記載のコンピュータ読み取り可能記憶媒体。
[43]前記コード化ユニットは、
ビデオフレームと、
ビデオフレームの部分と、
ピクチャのグループ(GOP)とのうちの1つを含む[34]記載のコンピュータ読み取り可能記憶媒体。

Claims (35)

  1. ビデオデータをコード化する方法において、
    前記ビデオデータのコード化ユニットの画素データをコード化することと、
    前記画素データ上のフィルタリングプロセスに関係するフィルタ情報をコード化することとを含み、
    前記コード化することはフィルタリングプロセスを含み、
    前記フィルタリングプロセスは、前記画素データ内の画素分散を示す分散メトリックを含むアクティビティメトリックの異なる値に基づいて、異なるフィルタを使用することを含み、前記アクティビティメトリックの第1の範囲に対して、前記フィルタのうちの1つ以上は、前記フィルタ情報中に直接的にエンコードされ、前記アクティビティメトリックの第2の範囲に対して、前記フィルタのうちの1つ以上が、前のコード化ユニットに対して送信された係数からの予測を使用して、前記フィルタ情報中に予測的にエンコードされ、前記アクティビティメトリックは以下の式にしたがって規定される合計修正ラプラシアン値var(i,j)を含み、
    Figure 0005405596
    ここで、kは、−KからKまでの合計の値を表し、lは、−KからKまでにわたり、−LからLまでにわたる2次元ウィンドウに対する−LからLまでの合計の値を表し、iおよびjは、前記画素データの画素座標を表し、R(i,j)は、座標iおよびjにおける所定の画素値を表し、var(i,j)は、前記アクティビティメトリックである方法。
  2. 前記異なるフィルタは、異なるセットのフィルタ係数によって規定され、前記アクティビティメトリックの第1の範囲に対して、フィルタ係数の前記セットのうちの1つ以上は、前記フィルタ情報中に直接的にコード化され、前記アクティビティメトリックの第2の範囲に対して、フィルタ係数の前記セットのうちの1つ以上は、前記フィルタ情報中に予測的にコード化される請求項1記載の方法。
  3. 前記ビデオデータをコード化することは、前記ビデオデータをエンコードすることを含み、前記画素データをコード化することは、エンコードされたビットストリーム中に前記画素データをエンコードすることを含み、前記フィルタ情報をコード化することは、前記フィルタ情報をエンコードすることを含み、前記方法は、前記エンコードされたビットストリームの一部として前記フィルタ情報を出力することをさらに含む請求項1記載の方法。
  4. 前記ビデオデータをコード化することは、前記ビデオデータをデコードすることを含み、前記画素データをコード化することは、前記画素データをエンコードされたビットストリームからデコードすることを含み、前記フィルタ情報をコード化することは、前記フィルタ情報をデコードすることを含み、前記方法は、前記エンコードされたビットストリームの一部として前記フィルタ情報を受信することをさらに含む請求項1記載の方法。
  5. 前記フィルタ情報は、
    特定のフィルタに関係するフレーム番号を識別する情報と、
    特定のフィルタに関係するフレームタイプを識別する情報と、
    特定のフィルタに関係するビデオブロックタイプを識別する情報と、
    特定のフィルタに関係する量子化パラメータを識別する情報とのうちの1つ以上をさらに含む請求項1記載の方法。
  6. 前記アクティビティメトリックの第2の範囲に対して、前記フィルタ情報は、予測的にコード化される前記フィルタのうちの前記1つ以上を予測するために使用される基準データを識別する情報を含む請求項1記載の方法。
  7. 前記異なるフィルタは、異なるセットのフィルタ係数によって規定され、前記方法は、パラメータ化された可変長コードを使用して、前記フィルタ係数をコード化することをさらに含む請求項1記載の方法。
  8. 前記コード化ユニットは、
    ビデオフレームと、
    ビデオフレームの部分と、
    ピクチャのグループ(GOP)とのうちの1つを含む請求項1記載の方法。
  9. ビデオデータをコード化する装置において、
    前記ビデオデータのコード化ユニットの画素データをコード化し、
    前記画素データ上のフィルタリングプロセスに関係するフィルタ情報をコード化するビデオコーダを具備し、
    前記コード化はフィルタリングプロセスを含み、
    前記フィルタリングプロセスは、前記画素データ内の画素分散を示す分散メトリックを含むアクティビティメトリックの異なる値に基づいて、異なるフィルタを使用することを含み、前記アクティビティメトリックの第1の範囲に対して、前記フィルタのうちの1つ以上は、前記フィルタ情報中に直接的にエンコードされ、前記アクティビティメトリックの第2の範囲に対して、前記フィルタのうちの1つ以上が、前のコード化ユニットに対して送信された係数からの予測を使用して、前記フィルタ情報中に予測的にエンコードされ、前記アクティビティメトリックは以下の式にしたがって規定される合計修正ラプラシアン値var(i,j)を含み、
    Figure 0005405596
    ここで、kは、−KからKまでの合計の値を表し、lは、−KからKまでにわたり、−LからLまでにわたる2次元ウィンドウに対する−LからLまでの合計の値を表し、iおよびjは、前記画素データの画素座標を表し、R(i,j)は、座標iおよびjにおける所定の画素値を表し、var(i,j)は、前記アクティビティメトリックである装置。
  10. 前記異なるフィルタは、異なるセットのフィルタ係数によって規定され、前記アクティビティメトリックの第1の範囲に対して、フィルタ係数の前記セットのうちの1つ以上は、前記フィルタ情報中に直接的にコード化され、前記アクティビティメトリックの第2の範囲に対して、フィルタ係数の前記セットのうちの1つ以上は、前記フィルタ情報中に予測的にコード化される請求項記載の装置。
  11. 前記装置は、前記ビデオデータをエンコードし、前記ビデオコーダは、エンコードされたビットストリーム中に前記画素データをエンコードし、前記フィルタ情報をエンコードし、前記エンコードされたビットストリームの一部として前記フィルタ情報を出力するエンコーダを備える請求項記載の装置。
  12. 前記装置は、前記ビデオデータをデコードし、前記ビデオコーダは、エンコードされたビットストリームの一部として前記フィルタ情報を受信し、前記画素データを前記エンコードされたビットストリームからデコードし、前記フィルタ情報を前記エンコードされたビットストリームからデコードするデコーダを備える請求項記載の装置。
  13. 前記フィルタ情報は、
    特定のフィルタに関係するフレーム番号を識別する情報と、
    特定のフィルタに関係するフレームタイプを識別する情報と、
    特定のフィルタに関係するビデオブロックタイプを識別する情報と、
    特定のフィルタに関係する量子化パラメータを識別する情報とのうちの1つ以上をさらに含む請求項記載の装置。
  14. 前記アクティビティメトリックの第2の範囲に対して、前記フィルタ情報は、予測的にコード化される前記フィルタのうちの前記1つ以上を予測するために使用される基準データを識別する情報を含む請求項記載の装置。
  15. 前記異なるフィルタは、異なるセットのフィルタ係数によって規定され、前記ビデオコーダは、パラメータ化された可変長コードを使用して、前記フィルタ係数をコード化する請求項記載の装置。
  16. 前記コード化ユニットは、
    ビデオフレームと、
    ビデオフレームの部分と、
    ピクチャのグループ(GOP)とのうちの1つを含む請求項記載の装置。
  17. 前記ビデオコーダは、集積回路を備える請求項記載の装置。
  18. 前記ビデオコーダは、マイクロプロセッサを備える請求項記載の装置。
  19. 前記装置は、前記ビデオコーダを備えるワイヤレス通信デバイスを具備する請求項記載の装置。
  20. ビデオデータをコード化するデバイスにおいて、
    前記ビデオデータのコード化ユニットの画素データをコード化する手段と、
    前記画素データ上のフィルタリングプロセスに関係するフィルタ情報をコード化する手段とを具備し、
    前記コード化することはフィルタリングプロセスを含み、
    前記フィルタリングプロセスは、前記画素データ内の画素分散を示す分散メトリックを含むアクティビティメトリックの異なる値に基づいて、異なるフィルタを使用することを含み、前記アクティビティメトリックの第1の範囲に対して、前記フィルタのうちの1つ以上は、前記フィルタ情報中に直接的にエンコードされ、前記アクティビティメトリックの第2の範囲に対して、前記フィルタのうちの1つ以上が、前のコード化ユニットに対して送信された係数からの予測を使用して、前記フィルタ情報中に予測的にエンコードされ、前記アクティビティメトリックは以下の式にしたがって規定される合計修正ラプラシアン値var(i,j)を含み、
    Figure 0005405596
    ここで、kは、−KからKまでの合計の値を表し、lは、−KからKまでにわたり、−LからLまでにわたる2次元ウィンドウに対する−LからLまでの合計の値を表し、iおよびjは、前記画素データの画素座標を表し、R(i,j)は、座標iおよびjにおける所定の画素値を表し、var(i,j)は、前記アクティビティメトリックであるデバイス。
  21. 前記異なるフィルタは、異なるセットのフィルタ係数によって規定され、前記アクティビティメトリックの第1の範囲に対して、フィルタ係数の前記セットのうちの1つ以上は、前記フィルタ情報中に直接的にコード化され、前記アクティビティメトリックの第2の範囲に対して、フィルタ係数の前記セットのうちの1つ以上は、前記フィルタ情報中に予測的にコード化される請求項20記載のデバイス。
  22. 前記ビデオデータをコード化する手段は、前記ビデオデータをエンコードする手段を備え、前記画素データをコード化する手段は、エンコードされたビットストリーム中に前記画素データをエンコードする手段を備え、前記フィルタ情報をコード化する手段は、前記フィルタ情報をエンコードする手段を備え、前記デバイスは、前記エンコードされたビットストリームの一部として前記フィルタ情報を出力する手段をさらに具備する請求項20記載のデバイス。
  23. 前記ビデオデータをコード化する手段は、前記ビデオデータをデコードする手段を備え、前記画素データをコード化する手段は、前記画素データをエンコードされたビットストリームからデコードする手段を備え、前記フィルタ情報をコード化する手段は、前記フィルタ情報をデコードする手段を備え、前記デバイスは、前記エンコードされたビットストリームの一部として前記フィルタ情報を受信する手段をさらに具備する請求項20記載のデバイス。
  24. 前記フィルタ情報は、
    特定のフィルタに関係するフレーム番号を識別する情報と、
    特定のフィルタに関係するフレームタイプを識別する情報と、
    特定のフィルタに関係するビデオブロックタイプを識別する情報と、
    特定のフィルタに関係する量子化パラメータを識別する情報とのうちの1つ以上をさらに含む請求項20記載のデバイス。
  25. 前記アクティビティメトリックの第2の範囲に対して、前記フィルタ情報は、予測的にコード化される前記フィルタのうちの前記1つ以上を予測するために使用される基準データを識別する情報を含む請求項20記載のデバイス。
  26. 前記異なるフィルタは、異なるセットのフィルタ係数によって規定され、前記デバイスは、パラメータ化された可変長コードを使用して、前記フィルタ係数をコード化する手段をさらに具備する請求項20記載のデバイス。
  27. 前記コード化ユニットは、
    ビデオフレームと、
    ビデオフレームの部分と、
    ピクチャのグループ(GOP)とのうちの1つを含む請求項20記載のデバイス。
  28. 命令を含むコンピュータ読み取り可能記憶媒体において、
    前記命令は、プロセッサにおける実行のときに、
    ビデオデータのコード化ユニットの画素データを前記プロセッサにコード化させる命令と、
    前記画素データ上のフィルタリングプロセスに関係するフィルタ情報を前記プロセッサにコード化させる命令とを含み、
    前記コード化させることはフィルタリングプロセスを含み、
    前記フィルタリングプロセスは、前記画素データ内の画素分散を示す分散メトリックを含むアクティビティメトリックの異なる値に基づいて、異なるフィルタを使用することを含み、前記アクティビティメトリックの第1の範囲に対して、前記フィルタのうちの1つ以上は、前記フィルタ情報中に直接的にエンコードされ、前記アクティビティメトリックの第2の範囲に対して、前記フィルタのうちの1つ以上が、前のコード化ユニットに対して送信された係数からの予測を使用して、前記フィルタ情報中に予測的にエンコードされ、前記アクティビティメトリックは以下の式にしたがって規定される合計修正ラプラシアン値var(i,j)を含み、
    Figure 0005405596
    ここで、kは、−KからKまでの合計の値を表し、lは、−KからKまでにわたり、−LからLまでにわたる2次元ウィンドウに対する−LからLまでの合計の値を表し、iおよびjは、前記画素データの画素座標を表し、R(i,j)は、座標iおよびjにおける所定の画素値を表し、var(i,j)は、前記アクティビティメトリックであるコンピュータ読み取り可能記憶媒体。
  29. 前記異なるフィルタは、異なるセットのフィルタ係数によって規定され、前記アクティビティメトリックの第1の範囲に対して、フィルタ係数の前記セットのうちの1つ以上は、前記フィルタ情報中に直接的にコード化され、前記アクティビティメトリックの第2の範囲に対して、フィルタ係数の前記セットのうちの1つ以上は、前記フィルタ情報中に予測的にコード化される請求項28記載のコンピュータ読み取り可能記憶媒体。
  30. 前記命令は、前記デバイスに、エンコードされたビットストリーム中に前記画素データをエンコードさせ、前記フィルタ情報をエンコードさせ、前記エンコードされたビットストリームの一部として前記フィルタ情報を出力させる請求項28記載のコンピュータ読み取り可能記憶媒体。
  31. 前記命令は、前記デバイスに、前記画素データをエンコードされたビットストリームからデコードさせ、前記エンコードされたビットストリームの一部として前記フィルタ情報を受信するときに、前記フィルタ情報をデコードさせる請求項28記載のコンピュータ読み取り可能記憶媒体。
  32. 前記フィルタ情報は、
    特定のフィルタに関係するフレーム番号を識別する情報と、
    特定のフィルタに関係するフレームタイプを識別する情報と、
    特定のフィルタに関係するビデオブロックタイプを識別する情報と、
    特定のフィルタに関係する量子化パラメータを識別する情報とのうちの1つ以上をさらに含む請求項28記載のコンピュータ読み取り可能記憶媒体。
  33. 前記アクティビティメトリックの第2の範囲に対して、前記フィルタ情報は、予測的にコード化される前記フィルタのうちの前記1つ以上を予測するために使用される基準データを識別する情報を含む請求項28記載のコンピュータ読み取り可能記憶媒体。
  34. 前記異なるフィルタは、異なるセットのフィルタ係数によって規定され、前記命令は、パラメータ化された可変長コードを使用して、前記フィルタ係数を前記プロセッサにコード化させる請求項28記載のコンピュータ読み取り可能記憶媒体。
  35. 前記コード化ユニットは、
    ビデオフレームと、
    ビデオフレームの部分と、
    ピクチャのグループ(GOP)とのうちの1つを含む請求項28記載のコンピュータ読み取り可能記憶媒体。
JP2011546398A 2009-01-15 2010-01-15 ビデオのコーディングの際の、アクティビティメトリックに基づくフィルタ予測 Active JP5405596B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US14487309P 2009-01-15 2009-01-15
US61/144,873 2009-01-15
US17834609P 2009-05-14 2009-05-14
US61/178,346 2009-05-14
US12/687,487 US9143803B2 (en) 2009-01-15 2010-01-14 Filter prediction based on activity metrics in video coding
US12/687,487 2010-01-14
PCT/US2010/021239 WO2010083438A2 (en) 2009-01-15 2010-01-15 Filter prediction based on activity metrics in video coding

Publications (2)

Publication Number Publication Date
JP2012515514A JP2012515514A (ja) 2012-07-05
JP5405596B2 true JP5405596B2 (ja) 2014-02-05

Family

ID=42319083

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011546398A Active JP5405596B2 (ja) 2009-01-15 2010-01-15 ビデオのコーディングの際の、アクティビティメトリックに基づくフィルタ予測

Country Status (8)

Country Link
US (1) US9143803B2 (ja)
EP (1) EP2387851B1 (ja)
JP (1) JP5405596B2 (ja)
KR (1) KR101323546B1 (ja)
CN (1) CN102369731B (ja)
BR (1) BRPI1007143A2 (ja)
TW (1) TWI413416B (ja)
WO (1) WO2010083438A2 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10123050B2 (en) 2008-07-11 2018-11-06 Qualcomm Incorporated Filtering video data using a plurality of filters
CN102265611A (zh) * 2010-03-15 2011-11-30 联发科技(新加坡)私人有限公司 在混合视频编码中具有多个滤波器的本地环路内滤波
KR20110123651A (ko) 2010-05-07 2011-11-15 한국전자통신연구원 생략 부호화를 이용한 영상 부호화 및 복호화 장치 및 그 방법
CN106060546A (zh) * 2010-06-17 2016-10-26 夏普株式会社 解码装置及编码装置
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
US9247265B2 (en) 2010-09-01 2016-01-26 Qualcomm Incorporated Multi-input adaptive filter based on combination of sum-modified Laplacian filter indexing and quadtree partitioning
US9813738B2 (en) * 2010-10-05 2017-11-07 Hfi Innovation Inc. Method and apparatus of adaptive loop filtering
US9681132B2 (en) 2010-11-24 2017-06-13 Thomson Licensing Dtv Methods and apparatus for adaptive loop filtering in video encoders and decoders
US8958478B2 (en) * 2010-12-03 2015-02-17 Technische Universitaet Berlin Method and device for processing pixels contained in a video sequence
US9445126B2 (en) * 2011-01-05 2016-09-13 Qualcomm Incorporated Video filtering using a combination of one-dimensional switched filter and one-dimensional adaptive filter
US20120183078A1 (en) * 2011-01-14 2012-07-19 Samsung Electronics Co., Ltd. Filter adaptation with directional features for video/image coding
US20120189064A1 (en) * 2011-01-14 2012-07-26 Ebrisk Video Inc. Adaptive loop filtering using multiple filter shapes
US8964852B2 (en) * 2011-02-23 2015-02-24 Qualcomm Incorporated Multi-metric filtering
JP2012213128A (ja) * 2011-03-24 2012-11-01 Sony Corp 画像処理装置および方法
KR20120118782A (ko) * 2011-04-19 2012-10-29 삼성전자주식회사 적응적 필터링을 이용한 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
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
KR102229157B1 (ko) * 2011-06-24 2021-03-17 엘지전자 주식회사 영상 정보 부호화 및 복호화 방법
NO335667B1 (no) * 2011-06-29 2015-01-19 Cisco Systems Int Sarl Metode for videokomprimering
JP5882450B2 (ja) * 2011-08-31 2016-03-09 メディアテック インコーポレイテッド 制約付きフィルタ係数を有する適応ループフィルタの方法及び装置
US9167269B2 (en) * 2011-10-25 2015-10-20 Qualcomm Incorporated Determining boundary strength values for deblocking filtering for video coding
US9635359B2 (en) * 2011-11-28 2017-04-25 Canon Kabushiki Kaisha Method and apparatus for determining deblocking filter intensity
JP2014197723A (ja) * 2012-01-06 2014-10-16 ソニー株式会社 画像処理装置および方法
US9445088B2 (en) * 2012-04-09 2016-09-13 Qualcomm Incorporated LCU-based adaptive loop filtering for video coding
JP6159225B2 (ja) * 2013-10-29 2017-07-05 日本電信電話株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム
US9584395B1 (en) 2013-11-13 2017-02-28 Netflix, Inc. Adaptive metric collection, storage, and alert thresholds
US10142636B2 (en) * 2014-06-09 2018-11-27 Sony Corporation Communication system with coding mechanism and method of operation thereof
US10057574B2 (en) * 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
KR20180019547A (ko) * 2015-06-18 2018-02-26 엘지전자 주식회사 영상 코딩 시스템에서 필터 뱅크를 이용한 영상 필터링 방법 및 장치
JP6715467B2 (ja) * 2015-07-01 2020-07-01 パナソニックIpマネジメント株式会社 符号化方法、復号方法、符号化装置、復号装置および符号化復号装置
CN105049846B (zh) * 2015-08-14 2019-05-21 广东中星微电子有限公司 图像和视频编解码的方法和设备
AU2018252853A1 (en) 2017-04-13 2019-12-05 Lg Electronics Inc. Image encoding/decoding method and device therefor
GB2572595B (en) * 2018-04-04 2023-03-22 British Broadcasting Corp Video encoding and decoding

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS612482A (ja) 1984-06-15 1986-01-08 Mitsubishi Electric Corp サブナイキスト標本化フイルタ
CA1270322A (en) 1983-12-22 1990-06-12 Kotaro Asai Adaptive comb filter
JP2673778B2 (ja) 1994-02-22 1997-11-05 国際電信電話株式会社 動画像の復号化における雑音低減装置
JPH0970044A (ja) 1995-08-31 1997-03-11 Sony Corp 画像信号処理装置および方法
US5798795A (en) 1996-03-01 1998-08-25 Florida Atlantic University Method and apparatus for encoding and decoding video signals
US5844613A (en) 1997-03-17 1998-12-01 Microsoft Corporation Global motion estimator for motion video signal encoding
KR100265722B1 (ko) 1997-04-10 2000-09-15 백준기 블럭기반영상처리방법및장치
CN1288641A (zh) 1998-09-22 2001-03-21 松下电器产业株式会社 视频信号编码方法、视频信号编码装置及程序记录媒体
US6421720B2 (en) 1998-10-28 2002-07-16 Cisco Technology, Inc. Codec-independent technique for modulating bandwidth in packet network
US6529638B1 (en) 1999-02-01 2003-03-04 Sharp Laboratories Of America, Inc. Block boundary artifact reduction for block-based image compression
US7003038B2 (en) 1999-09-27 2006-02-21 Mitsubishi Electric Research Labs., Inc. Activity descriptor for video sequences
FI117533B (fi) 2000-01-20 2006-11-15 Nokia Corp Menetelmä digitaalisten videokuvien suodattamiseksi
US7203234B1 (en) 2000-03-31 2007-04-10 Sharp Laboratories Of America, Inc. Method of directional filtering for post-processing compressed video
US7289154B2 (en) 2000-05-10 2007-10-30 Eastman Kodak Company Digital image processing method and apparatus for brightness adjustment of digital images
US6504872B1 (en) 2000-07-28 2003-01-07 Zenith Electronics Corporation Down-conversion decoder for interlaced video
US20030026495A1 (en) 2001-03-07 2003-02-06 Gondek Jay Stephen Parameterized sharpening and smoothing method and apparatus
DE10120395A1 (de) 2001-04-25 2002-10-31 Bosch Gmbh Robert Einrichtung zur Interpolation von Abtastwerten sowie Bildencoder und Bilddecoder
US7266150B2 (en) 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
KR100747958B1 (ko) 2001-09-18 2007-08-08 마쯔시다덴기산교 가부시키가이샤 화상 부호화 방법 및 화상 복호화 방법
US6983079B2 (en) 2001-09-20 2006-01-03 Seiko Epson Corporation Reducing blocking and ringing artifacts in low-bit-rate coding
KR100418437B1 (ko) * 2001-12-24 2004-02-14 (주)씨앤에스 테크놀로지 멀티미디어 신호처리를 위한 영상복원 프로세서
MXPA04006814A (es) 2002-01-14 2004-12-06 Nokia Corp Filtros dinamicos de codificacion.
JP4102973B2 (ja) 2002-04-24 2008-06-18 日本電気株式会社 動画像の符号化方法および復号化方法、これを用いた装置とプログラム
ES2277174T3 (es) 2002-05-02 2007-07-01 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Codificacion aritmetica de coeficientes de transformacion.
EP1515544A4 (en) 2002-06-25 2008-03-12 Matsushita Electric Ind Co Ltd MOTION DETECTION DEVICE AND NOISE REDUCTION DEVICE THEREWITH
WO2004008773A1 (ja) 2002-07-11 2004-01-22 Matsushita Electric Industrial Co., Ltd. フィルタリング強度の決定方法、動画像符号化方法、および動画像復号化方法
US7391812B2 (en) 2002-07-14 2008-06-24 Apple Inc. Adaptively post filtering encoded video
US8094715B2 (en) 2003-03-10 2012-01-10 Mitsubishi Denki Kabushiki Kaisha Video signal encoding device and video signal encoding method
US7430335B2 (en) 2003-08-13 2008-09-30 Apple Inc Pre-processing method and system for data reduction of video sequences and bit rate reduction of compressed video sequences using spatial filtering
US8625680B2 (en) 2003-09-07 2014-01-07 Microsoft Corporation Bitstream-controlled post-processing filtering
JP5330647B2 (ja) 2003-09-17 2013-10-30 トムソン ライセンシング 適応参照画像の発生
US7822286B2 (en) 2003-11-07 2010-10-26 Mitsubishi Electric Research Laboratories, Inc. Filtering artifacts in images with 3D spatio-temporal fuzzy filters
US7437013B2 (en) 2003-12-23 2008-10-14 General Instrument Corporation Directional spatial video noise reduction
US7453938B2 (en) 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder
US8165389B2 (en) 2004-03-15 2012-04-24 Microsoft Corp. Adaptive interpolation with artifact reduction of images
JP4468734B2 (ja) 2004-04-27 2010-05-26 オリンパス株式会社 映像信号処理装置と映像信号処理プログラム
US7460596B2 (en) 2004-04-29 2008-12-02 Mediatek Incorporation Adaptive de-blocking filtering apparatus and method for MPEG video decoder
US20070230565A1 (en) 2004-06-18 2007-10-04 Tourapis Alexandros M Method and Apparatus for Video Encoding Optimization
TW200625964A (en) 2004-07-20 2006-07-16 Qualcomm Inc Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression
US20060028562A1 (en) 2004-08-09 2006-02-09 Martin Schmitz Fast area-selected filtering for pixel-noise and analog artifacts reduction
US7370126B2 (en) 2004-11-03 2008-05-06 Cisco Technology, Inc. System and method for implementing a demand paging jitter buffer algorithm
US7634148B2 (en) 2005-01-07 2009-12-15 Ntt Docomo, Inc. Image signal transforming and inverse-transforming method and computer program product with pre-encoding filtering features
US8149926B2 (en) * 2005-04-11 2012-04-03 Intel Corporation Generating edge masks for a deblocking filter
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
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US20060285597A1 (en) 2005-06-20 2006-12-21 Flextronics International Usa, Inc. Reusing interpolated values in advanced video encoders
US8208564B2 (en) 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
US7778169B2 (en) 2005-09-02 2010-08-17 Cisco Technology, Inc. Packetizing media for a time slotted communication system
US7894522B2 (en) 2005-09-16 2011-02-22 Sony Corporation Classified filtering for temporal prediction
JP4455487B2 (ja) 2005-12-16 2010-04-21 株式会社東芝 復号化装置及び復号化方法及びプログラム
EP2001239B1 (en) 2006-03-27 2017-09-13 Sun Patent Trust Picture coding apparatus and picture decoding apparatus
BRPI0714233A2 (pt) 2006-07-18 2013-01-15 Thomson Licensing mÉtodos e aparelho para filtragem de referÊncia adaptativa
US8253752B2 (en) 2006-07-20 2012-08-28 Qualcomm Incorporated Method and apparatus for encoder assisted pre-processing
US8731064B2 (en) 2006-09-11 2014-05-20 Apple Inc. Post-processing for decoder complexity scalability
US20080075165A1 (en) 2006-09-26 2008-03-27 Nokia Corporation Adaptive interpolation filters for video coding
US8582666B2 (en) 2006-12-18 2013-11-12 Koninklijke Philips N.V. Image compression and decompression
US8509316B2 (en) 2007-01-09 2013-08-13 Core Wireless Licensing, S.a.r.l. Adaptive interpolation filters for video coding
WO2008148272A1 (en) 2007-06-04 2008-12-11 France Telecom Research & Development Beijing Company Limited Method and apparatus for sub-pixel motion-compensated video coding
JP5427785B2 (ja) 2007-09-28 2014-02-26 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ圧縮技法及びビデオ伝達技法
EP2048886A1 (en) 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients
EP2232874B1 (en) 2008-01-08 2012-12-05 Telefonaktiebolaget L M Ericsson (publ) Adaptive filtering
US8831086B2 (en) 2008-04-10 2014-09-09 Qualcomm Incorporated Prediction techniques for interpolation in video coding
EP2266321B1 (en) 2008-04-23 2017-12-13 Telefonaktiebolaget LM Ericsson (publ) Template-based pixel block processing
US10123050B2 (en) 2008-07-11 2018-11-06 Qualcomm Incorporated Filtering video data using a plurality of filters
US8290782B2 (en) 2008-07-24 2012-10-16 Dts, Inc. Compression of audio scale-factors by two-dimensional transformation
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
US8761538B2 (en) 2008-12-10 2014-06-24 Nvidia Corporation Measurement-based and scalable deblock filtering of image data
WO2010102935A1 (en) 2009-03-09 2010-09-16 Thomson Licensing Estimation of the prediction mode for the intra coding mode
EP2262267A1 (en) 2009-06-10 2010-12-15 Panasonic Corporation Filter coefficient coding scheme for video coding
WO2011126759A1 (en) 2010-04-09 2011-10-13 Sony Corporation Optimal separable adaptive loop filter
US9094658B2 (en) 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
US8964852B2 (en) 2011-02-23 2015-02-24 Qualcomm Incorporated Multi-metric filtering

Also Published As

Publication number Publication date
CN102369731B (zh) 2015-03-18
US9143803B2 (en) 2015-09-22
TWI413416B (zh) 2013-10-21
CN102369731A (zh) 2012-03-07
JP2012515514A (ja) 2012-07-05
EP2387851B1 (en) 2013-11-27
BRPI1007143A2 (pt) 2018-03-13
WO2010083438A2 (en) 2010-07-22
WO2010083438A3 (en) 2010-11-11
WO2010083438A8 (en) 2011-11-17
US20100177822A1 (en) 2010-07-15
EP2387851A2 (en) 2011-11-23
TW201119398A (en) 2011-06-01
KR101323546B1 (ko) 2013-10-29
KR20110111476A (ko) 2011-10-11

Similar Documents

Publication Publication Date Title
JP5405596B2 (ja) ビデオのコーディングの際の、アクティビティメトリックに基づくフィルタ予測
US8638852B2 (en) Video coding of filter coefficients based on horizontal and vertical symmetry
JP5415546B2 (ja) ベクトル化エントロピーコーディングに基づく加重予測
EP2380351B1 (en) Combined scheme for interpolation filtering, in-loop filtering and post-loop filtering in video coding
JP5897698B2 (ja) ビデオコーディングにおける単予測ネイバーに基づく双予測マージモード
JP5792319B2 (ja) ビデオデータのブロック係数のモード依存型スキャニング
JP5755808B2 (ja) ルーマおよびクロマブロックのためのvlc係数コーディング
US8665959B2 (en) Block and partition signaling techniques for video coding
JP5813783B2 (ja) 1次元スイッチ式フィルタと1次元適応フィルタとの組合せを使用したビデオフィルタリング
US20120051425A1 (en) Multi-input adaptive filter based on combination of sum-modified laplacian filter indexing and quadtree partitioning
JP2013515448A (ja) キャッシュヒットを向上させるための復号器内での時間的及び空間的ビデオブロックの再順序付け
JP2016054493A (ja) Vlcコードワードを使用したシンタックス要素のコーディング

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130301

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130308

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130507

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130523

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131030

R150 Certificate of patent or registration of utility model

Ref document number: 5405596

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250