JP2014511615A - 複数メトリックフィルタ処理 - Google Patents

複数メトリックフィルタ処理 Download PDF

Info

Publication number
JP2014511615A
JP2014511615A JP2013555530A JP2013555530A JP2014511615A JP 2014511615 A JP2014511615 A JP 2014511615A JP 2013555530 A JP2013555530 A JP 2013555530A JP 2013555530 A JP2013555530 A JP 2013555530A JP 2014511615 A JP2014511615 A JP 2014511615A
Authority
JP
Japan
Prior art keywords
pixels
filter
block
metric
video
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.)
Granted
Application number
JP2013555530A
Other languages
English (en)
Other versions
JP5815756B2 (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 JP2014511615A publication Critical patent/JP2014511615A/ja
Application granted granted Critical
Publication of JP5815756B2 publication Critical patent/JP5815756B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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
    • 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/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)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Error Detection And Correction (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Picture Signal Circuits (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

ビデオエンコーダまたはビデオデコーダのフィルタユニットは、ブロック中のピクセルのサブセットとブロック中の他のピクセルとの比較に基づいてピクセルのブロック内のピクセルのグループのための第1のメトリックを判断することと、第1のメトリックに基づいてフィルタを判断することと、ピクセルのグループにフィルタを適用することによってフィルタ処理済み画像を生成することができる。ピクセルのサブセットは、ピクセルのブロックの境界上のピクセルを含まないように選択されることができる。
【選択図】図7

Description

関連出願
本出願は、各々の内容全体が参照により本明細書に組み込まれる、
2011年2月23日に出願された米国仮出願第61/445,967号、
2011年3月3日に出願された米国仮出願第61/448,771号、
2011年4月8日に出願された米国仮出願第61/473,713号、
2011年4月16日に出願された米国仮出願第61/476,260号、
2011年4月22日に出願された米国仮出願第61/478,287号、
2011年6月30日に出願された米国仮出願第61/503,426号、
2011年6月30日に出願された米国仮出願第61/503,434号、
2011年6月30日に出願された米国仮出願第61/503,440号、
2011年8月25日に出願された米国仮出願第61/527,463号、
2011年9月6日に出願された米国仮出願第61/531,571号
の優先権を主張する。
本開示は、ビデオデータを圧縮するために使用されるブロックベースのデジタルビデオコーディングに関し、より詳細には、ビデオブロックのフィルタ処理のための技法に関する。
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、無線電話ハンドセットなどのワイヤレス通信デバイス、ワイヤレスブロードキャストシステム、携帯情報端末(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)によって開発されている高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格など、新しいビデオ規格が出現し、発展し続けている。この新しいHEVC規格はH.265と呼ばれることもある。
ブロックベースのビデオ圧縮技法は、空間的予測および/または時間的予測を実行し得る。イントラコーディングは、ビデオフレーム、ビデオフレームのスライスなどを備え得る、コード化ビデオの所与のユニット内のビデオブロック間の空間的冗長性を低減または除去するために空間的予測に依拠する。対照的に、インターコーディングは、ビデオシーケンスの連続するコーディングユニットのビデオブロック間の時間的冗長性を低減または除去するために時間的予測に依拠する。イントラコーディングの場合、ビデオエンコーダは、コード化ビデオの同じユニット内の他のデータに基づいて、データを圧縮するために空間的予測を実行する。インターコーディングの場合、ビデオエンコーダは、コード化ビデオの2つ以上の隣接するユニットの対応するビデオブロックの移動を追跡するために動き推定および動き補償を実行する。
コード化ビデオブロックは、予測ブロックを生成または識別するために使用され得る予測情報と、コーディングされているブロックと予測ブロックとの間の差を示すデータの残差ブロックとによって表され得る。インターコーディングの場合、1つまたは複数の動きベクトルを使用して、前または後続のコーディングユニットからデータの予測ブロックを識別するが、イントラコーディングの場合、予測モードを使用して、コーディングされているビデオブロックに関連するCU内のデータに基づいて予測ブロックを生成することができる。イントラコーディングとインターコーディングの両方は、コーディングにおいて使用される異なるブロックサイズおよび/または予測技法を定義し得る、いくつかの異なる予測モードを定義し得る。また、コーディングプロセスにおいて使用されるコーディング技法またはパラメータを制御または定義するために、追加のタイプのシンタックス要素が、符号化ビデオデータの一部として含まれ得る。
ブロックベースの予測コーディングの後に、ビデオエンコーダは、残差ブロックの通信に関連するビットレートをさらに低減するために、変換、量子化およびエントロピーコーディングプロセスを適用し得る。変換技法は、離散コサイン変換(DCT)、あるいはウェーブレット変換、整数変換、または他のタイプの変換など、概念的に同様のプロセスを備え得る。離散コサイン変換プロセスでは、一例として、変換プロセスは、ピクセル差分値のセットを、周波数領域におけるピクセル値のエネルギーを表し得る変換係数に変換する。量子化は、変換係数に適用され、概して、所与の変換係数に関連するビット数を制限するプロセスを伴う。エントロピーコーディングは、一連の量子化変換係数をまとめて圧縮する1つまたは複数のプロセスを備える。
ビデオブロックのフィルタ処理は、符号化ループおよび復号ループの一部として、または再構成ビデオブロックに対するポストフィルタ処理プロセスの一部として適用され得る。フィルタ処理は、通常、たとえば、ブロックベースのビデオコーディングに共通のブロッキネスまたは他のアーティファクトを低減するために使用される。ブロッキネスを低減し、および/または他の方法でビデオ品質を改善することができる、望ましいレベルのビデオブロックフィルタ処理を促進するために、(フィルタタップと呼ばれることがある)フィルタ係数が定義または選択され得る。フィルタ係数のセットは、たとえば、ビデオブロックのエッジまたはビデオブロック内の他のロケーションに沿ってフィルタ処理がどのように適用されるかを定義し得る。異なるフィルタ係数は、ビデオブロックの異なるピクセルに対する異なるレベルのフィルタ処理を生じ得る。フィルタ処理は、たとえば、不要なアーティファクトをなくすのを助けるために、隣接ピクセル値の強度の差を平滑化またはシャープ化し得る。
本開示では、ビデオ符号化および/またはビデオ復号プロセスにおけるビデオデータのフィルタ処理に関連する技法について説明する。本開示によれば、エンコーダにおいてフィルタ処理が適用され、エンコーダにおいて適用されたフィルタ処理をデコーダが識別することを可能にするためのフィルタ情報がビットストリーム中で符号化される。デコーダは、フィルタ情報を含む符号化ビデオデータを受信し、ビデオデータを復号し、フィルタ処理情報に基づいてフィルタ処理を適用する。このようにして、デコーダは、エンコーダにおいて適用されたのと同じフィルタ処理を適用する。本開示の技法によれば、フレームごとに、スライスごとに、またはLCUごとに、エンコーダは、フィルタの1つまたは複数のセットを選択し得、コード化ユニットごとに、エンコーダは、フィルタ処理を適用すべきか否かを判断し得る。フィルタ処理されるべきコード化ユニット(CU:coded unit)について、エンコーダは、ピクセルごとにまたはグループごとにフィルタ処理を実行することができ、その場合、グループは、たとえば、ピクセルの2×2ブロックまたはピクセルの4×4ブロックであり得る。
1つの例では、ビデオコーディングの方法は、ピクセルのブロックのための第1のメトリックを判断することと、ここで、第1のメトリックは、ブロック中のピクセルのサブセットとブロック中の他のピクセルとの比較に基づいて判断される、第1のメトリックに基づいて、ピクセルのブロックのためのフィルタを判断することと、ピクセルのブロックにフィルタを適用することによってフィルタ処理済み画像を生成することとを含む。
別の例では、ビデオコーディングデバイスは、ピクセルのブロックのための第1のメトリックを判断することと、ここで、第1のメトリックは、ブロック中のピクセルのサブセットとブロック中の他のピクセルとの比較に基づいて判断される、第1のメトリックに基づいてピクセルのブロックのためのフィルタを判断することと、ピクセルのブロックにフィルタを適用することによってフィルタ処理済み画像を生成することとを行うように構成されたフィルタユニットと、フィルタユニットのフィルタ処理済み結果を記憶するように構成されたメモリとを含む。
別の例では、ビデオコーディング装置は、ピクセルのブロックのための第1のメトリックを判断するための手段と、ここで、第1のメトリックは、ブロック中のピクセルのサブセットとブロック中の他のピクセルとの比較に基づいて判断される、第1のメトリックに基づいてピクセルのブロックのためのフィルタを判断するための手段と、ピクセルのブロックにフィルタを適用することによってフィルタ処理済み画像を生成するための手段とを含む。
別の例では、コンピュータ可読記憶媒体は、実行されたとき、1つまたは複数のプロセッサに、ピクセルのブロックのための第1のメトリックを判断することと、ここで、第1のメトリックは、ブロック中のピクセルのサブセットとブロック中の他のピクセルとの比較に基づいて判断される、第1のメトリックに基づいてピクセルのブロックのためのフィルタを判断することと、ピクセルのブロックにフィルタを適用することによってフィルタ処理済み画像を生成することとを行わせる、命令を記憶する。
1つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
例示的なビデオ符号化および復号システムを示すブロック図。 最大コーディングユニット(LCU:largest coding unit)に適用される4分木区分の一例を示す概念図。 最大コーディングユニット(LCU)に適用される4分木区分の一例を示す概念図。 図2Aおよび図2Bの例示的な4分木区分に対応する一連のビデオブロックのためのフィルタマップの一例を示す概念図。 図2Aおよび図2Bの例示的な4分木区分に対応する一連のビデオブロックのためのフィルタマップの一例を示す概念図。 本開示に一致する例示的なビデオエンコーダを示すブロック図。 2つのメトリックのための範囲とフィルタとのマッピングを示す概念図。 アクティビティメトリックおよび方向メトリックのための範囲とフィルタとのマッピングを示す概念図。 本開示に一致する例示的なビデオデコーダを示すブロック図。 ピクセルの4×4ブロックの概念図。 ピクセルの4×4ブロックの概念図。 ピクセルの4×4ブロックの概念図。 本開示に一致するコーディング技法を示すフローチャート。 本開示に一致するコーディング技法を示すフローチャート。 本開示に一致するコーディング技法を示すフローチャート。 本開示に一致するコーディング技法を示すフローチャート。 本開示に一致するコーディング技法を示すフローチャート。 本開示に一致するコーディング技法を示すフローチャート。 本開示に一致するコーディング技法を示すフローチャート。
本開示では、ビデオ符号化および/またはビデオ復号プロセスにおけるビデオデータのフィルタ処理に関連する技法について説明する。本開示によれば、エンコーダにおいてフィルタ処理が適用され、エンコーダにおいて適用されたフィルタ処理をデコーダが識別することを可能にするためのフィルタ情報がビットストリーム中で符号化される。デコーダは、フィルタ情報を含む符号化ビデオデータを受信し、ビデオデータを復号し、フィルタ処理情報に基づいてフィルタ処理を適用する。このようにして、デコーダは、エンコーダにおいて適用されたのと同じフィルタ処理を適用する。本開示の技法によれば、フレームごとに、スライスごとに、またはLCUごとに、エンコーダは、フィルタの1つまたは複数のセットを選択し得、コード化ユニットごとに、エンコーダは、フィルタ処理を適用すべきか否かを判断し得る。フィルタ処理されるべきコード化ユニット(CU)について、エンコーダは、ピクセルごとにまたはグループごとにフィルタ処理を実行することができ、その場合、グループは、たとえば、ピクセルの2×2ブロックまたはピクセルの4×4ブロックであり得る。
本開示の技法によれば、ビデオデータは、コード化ユニット(CU)と呼ばれるユニットでコーディングされ得る。CUは、4分木区分スキームを使用して、より小さいCU、またはサブユニットに区分され得る。特定のCUのための4分木区分スキームを識別するシンタックスがエンコーダからデコーダに送信され得る。符号化ビデオデータを復号し、再構成するプロセス中に、所与のCUの各サブユニットに関連する複数の入力がフィルタ処理され得る。本開示の技法によれば、フィルタ記述シンタックスは、何個のフィルタがフィルタのセット中にあるか、またはフィルタがどんな形状をとるかなど、フィルタのセットを記述することができる。デコーダによって受信されたビットストリーム中の追加のシンタックスは、特定のサブユニットのためにエンコーダにおいて使用されたフィルタ(すなわちフィルタ係数)を識別することができる。特定の入力のために使用されるフィルタは、2つ以上のメトリックに基づいて選択され得、その場合、2つ以上のメトリックのための値のいくつかの組合せが、フィルタのセット内の特定のフィルタにインデックス付けされる。他の事例では、単一のメトリックを形成するために2つ以上のメトリックが組み合わせられ得る。また、フィルタとメトリックとのマッピングは、ビットストリーム中でシグナリングされ得る。
ビデオデータのために判断された2つ以上のメトリックに基づいて、異なるタイプのフィルタ処理がピクセルまたはピクセルのブロックに適用され得る。特定のピクセルのために使用されるフィルタは、アクティビティメトリックと方向メトリックとの何らかの組合せなど、2つ以上のメトリックに基づいて選択され得る。アクティビティメトリックは、たとえば、ビデオデータ内のピクセルの1つまたは複数のブロックに関連するアクティビティを定量化し得る。アクティビティメトリックは、ピクセルのセット内のピクセル分散を示す分散メトリックを備え得る。アクティビティメトリックは方向固有または非方向固有のいずれかであり得る。たとえば、以下でより詳細に説明するように、非方向固有アクティビティメトリックは和修正ラプラシアン値を含み得る。
方向固有アクティビティメトリックの例は、水平アクティビティメトリック、垂直アクティビティメトリック、45度アクティビティメトリック、および135度アクティビティメトリックを含む。方向メトリックは、ピクセルのブロックについて、ピクセルまたはピクセルのグループの、水平アクティビティ、垂直アクティビティ、または対角アクティビティのいずれかを定量化し得、あるいは、方向メトリックは、水平アクティビティ、垂直アクティビティ、および/または対角アクティビティの比較を含み得、その場合、水平アクティビティは、概して、水平方向のピクセル値の変化を指し、垂直アクティビティは、概して、垂直方向のピクセル値の変化を指し、対角アクティビティは、概して、対角方向のピクセル値の変化を指す。
本開示の技法によれば、ピクセルのブロックのためのフィルタを判断するとき、符号化および復号の複雑さを低減するためにそのブロック内のピクセルのサブセットが使用され得る。たとえば、ピクセルの4×4ブロックのためのフィルタを判断するとき、4×4ブロックのすべての16個のピクセルを使用することが必要でないことがある。さらに、本開示の技法によれば、コーディングされている現在ブロック内からのピクセルのサブセットは、隣接ブロックのピクセル値ではなく、現在ブロックのピクセル値のみを使用してメトリックが計算されるように、選択され得る。たとえば、評価されているピクセルのためのメトリックは、そのピクセルを近接ピクセルと比較することに基づいて計算され得る。いくつかの事例では、評価されているピクセルに対する近接ピクセルのうちの1つまたは複数が、評価されているピクセルとは異なるブロック中にあり得る。しかしながら、他の事例では、上記ピクセルに対する近接ピクセルのうちの1つまたは複数が、上記ピクセルと同じブロック中にあり得る。本開示の技法によれば、ピクセルのサブセットは、隣接ブロック中の近接ピクセルを有しないピクセルを含むように選択され得る。追加または代替として、ピクセルのサブセットは、隣接ブロック中の近接ピクセルを有するピクセルを含み得るが、隣接ブロック中のそれらの近接ピクセルは、メトリックを判断するときに使用されないことがある。隣接ブロックのピクセルにではなく、現在ブロック内のピクセルに基づいて、特定のメトリックの判断を行うことによって、エンコーダおよび/またはデコーダにおけるバッファの必要は、いくつかの事例では、低減されるか、さらにはなくなり得る。
いくつかの事例では、本開示の技法によれば、コーディングされている現在ブロック内からのピクセルのサブセットは、上の隣接ブロックまたは下の隣接ブロックのピクセル値ではなく、現在ブロックと左および右の隣接ブロックとのピクセル値のみを使用してメトリックが計算されるように、選択され得る。ビデオブロックをコーディングするときに使用されるラスタ走査順序の結果として、上および下の隣接ブロックのためのラインバッファは、左および右の隣接ブロックのピクセル値を記憶するためのラインバッファよりもはるかに多くのピクセル値を記憶する必要がある傾向がある。
本開示の技法によれば、適応ループ内(in loop)フィルタなどのフィルタユニットは、複数メトリックフィルタマッピングに基づいて複数のフィルタを利用するように構成され得る。それらの複数のフィルタは、単一の入力または複数の入力と併せて使用され得る。以下でより詳細に説明するように、本開示で説明する複数の入力は、概して、符号化および復号プロセス中に生成される中間ビデオブロックデータまたは画像データを指す。所与のビデオブロックに関連する複数の入力は、たとえば、再構成ブロックまたは画像(RI:reconstructed image)、デブロック前再構成ブロックまたは画像(pRI:pre-deblocked reconstructed image)、予測ブロックまたは画像(PI:prediction image)、および/あるいは量子化予測誤差画像(EI:error image)を含むことができる。単一入力スキームでは、フィルタは、RIなど、上記の入力のうちの1つにのみ適用され得る。また、以下でより詳細に説明するように、本開示のフィルタ処理技法は、4分木区分スキームを使用して、様々なサイズのCUに適用され得る。4分木区分スキームを使用して区分されたCUのための複数メトリックフィルタマッピングとともに複数のフィルタを利用することによって、圧縮レートと再構成ビデオ品質の一方または両方によって測定されるビデオコーディング性能が改善され得る。
上記で説明した複数メトリックフィルタ処理技法を実装するために、エンコーダは、生成、更新、記憶、または他の手段によって、範囲の組合せとフィルタとのマッピングを維持する。一例として、第1のメトリックのための第1の範囲と第2のメトリックのための第1の範囲との組合せが、第1のフィルタにマッピングし得る。また、第1のメトリックのための第1の範囲と第2のメトリックのための第2の範囲との組合せが、第1のフィルタにマッピングし得るかまたは第2のフィルタにマッピングし得る。たとえば、第1のメトリックが8つの範囲を有し、第2のメトリックが4つの範囲を有する場合、第1および第2のメトリックは範囲の32個の組合せを有することができ、32個の組合せの各々がフィルタにマッピングされ得る。ただし、各組合せは、必ずしもユニークなフィルタにマッピングされるとは限らない。したがって、32個の組合せは、4つのフィルタ、8つのフィルタ、10個のフィルタ、または何らかの他の数のフィルタにマッピングし得る。エンコーダと同じフィルタを適用するために、デコーダも範囲組合せとフィルタとの同じマッピングを維持し得る。
本開示では、符号化ビットストリーム中で、エンコーダからデコーダに範囲組合せとフィルタとのマッピングをシグナリングするための技法について説明する。そのマッピングは、たとえば、各範囲組合せをフィルタ識別情報(ID)に関連付け得る。このマッピングをシグナリングするための1つの単純な方法は、フィルタIDごとに1つのコードワードを使用し、次いで、範囲の組合せごとに、対応するフィルタIDのコードワードを送ることである。しかしながら、この技法は一般に非効率的である。本開示の技法は、差分コーディング方法を使用することによって上記マッピング内の相関関係を活用し得る。共通の範囲を共有する範囲の組合せは、時々、同じフィルタを使用する。一例として、第1のメトリックのための第1の範囲と第2のメトリックのための第1の範囲との組合せ、および第1のメトリックのための第1の範囲と第2のメトリックのための第2の範囲との組合せは、共通の範囲(第1のメトリックの第1の範囲)を共有する。したがって、これらの2つの組合せは、いくつかの事例では、同じフィルタIDにマッピングし得る。この相関関係を活用することによって、本開示の技法は、エンコーダからデコーダに範囲組合せとフィルタIDとのマッピングをシグナリングするために必要とされるビット数を低減し得る。
範囲組合せとフィルタIDとのマッピングをシグナリングすることに加えて、本開示では、符号化ビットストリーム中で、フィルタのためのフィルタ係数をシグナリングするための技法についても説明する。本開示の技法は、エンコーダからデコーダにフィルタ係数をシグナリングするために差分コーディング方法を使用することを含む。このようにして、第2のフィルタのためのフィルタ係数が差分情報としてデコーダに通信され得、その場合、差分情報は、第2のフィルタのフィルタ係数を生成するようにして第1のフィルタのフィルタ係数をどのように修正すべきかを記述する。差分コーディング技法は、第1のフィルタのフィルタ係数と第2のフィルタのフィルタ係数とがあまり類似していないときと比較して、第1のフィルタのフィルタ係数と第2のフィルタのフィルタ係数とがより類似しているとき、より効果的であり得る(すなわちビットがより多く節約され得る)。本開示の技法は、フィルタのためのフィルタ係数をシグナリングすべき順番を判断することを含む。本開示で説明する技法を使用して判断された順序付けにより、フィルタ係数の差分コーディングが改善され得、したがって、いくつかの事例では、フィルタ係数をシグナリングするときにビットが節約され得る。
本開示の技法について、時々、ループ内フィルタ処理に関して説明することがあるが、本技法は、ループ内フィルタ処理、ループ後(post-loop)フィルタ処理、およびスイッチフィルタ処理などの他のフィルタ処理スキームに適用され得る。ループ内フィルタ処理は、概して、フィルタ処理済みデータが予測イントラコーディングまたはインターコーディングのために使用されるように、フィルタ処理済みデータが符号化ループおよび復号ループの一部であるフィルタ処理を指す。ループ後フィルタ処理は、符号化ループの後に再構成ビデオデータに適用されるフィルタ処理を指す。ループ後フィルタ処理では、フィルタ処理済みデータとは対照的に、非フィルタ処理済みデータが予測イントラコーディングまたはインターコーディングのために使用される。いくつかの実装形態では、フィルタ処理のタイプは、たとえば、フレームごとに、スライスごとに、または他のそのようなベースで、ループ後フィルタ処理とループ内フィルタ処理との間でスイッチし得、ループ後フィルタ処理を使用すべきなのかループ内フィルタ処理を使用すべきなのかの決定は、各フレーム、スライスなどのために、エンコーダからデコーダにシグナリングされ得る。本開示の技法は、ループ内フィルタ処理またはポストフィルタ処理に限定されず、ビデオコーディング中に適用される広範囲のフィルタ処理に適用され得る。
本開示では、「コーディング」という用語は符号化または復号を指す。同様に、「コーダ」という用語は、概して、任意のビデオエンコーダ、ビデオデコーダ、または複合エンコーダ/デコーダ(コーデック)を指す。したがって、「コーダ」という用語は、本明細書では、ビデオ符号化またはビデオ復号を実行する専用コンピュータデバイスまたは装置を指すために使用される。
さらに、本開示では、「フィルタ」という用語は、概してフィルタ係数のセットを指す。たとえば、3×3フィルタは9つのフィルタ係数のセットによって定義され得、5×5フィルタは25個のフィルタ係数のセットによって定義され得、9×5フィルタは45個のフィルタ係数のセットによって定義され得るなどである。「フィルタのセット」という用語は、概して、2つ以上のフィルタのグループを指す。たとえば、2つの3×3フィルタのセットは、9つのフィルタ係数の第1のセットと9つのフィルタ係数の第2のセットとを含むことができる。本開示で説明する技法によれば、フレーム、スライス、または最大コーディングユニット(LCU)など、一連のビデオブロックのために、フィルタのセットを識別する情報が一連のビデオブロックのヘッダ中でエンコーダからデコーダにシグナリングされる。「フィルタサポート」と呼ばれることがある、「形状」という用語は、概して、特定のフィルタのためのフィルタ係数の行の数とフィルタ係数の列の数とを指す。たとえば、9×9は第1の形状の一例であり、9×5は第2の形状の一例であり、5×9は第3の形状の一例である。いくつかの事例では、フィルタは、ダイヤモンド形状、ダイヤモンド様形状、円形形状、円形様形状、六角形形状、八角形形状、十字形状、X字形状、T字形状、他の幾何学的形状を含む、非矩形形状、あるいは多数の他の形状または構成をとり得る。
図1は、本開示の技法を実装し得る例示的なビデオ符号化および復号システム110を示すブロック図である。図1に示すように、システム110は、通信チャネル115を介して符号化ビデオデータを宛先デバイス116に送信するソースデバイス112を含む。ソースデバイス112および宛先デバイス116は、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス112および宛先デバイス116は、いわゆるセルラー無線電話または衛星無線電話などのワイヤレス通信デバイスハンドセットを備え得る。ただし、より一般的にビデオデータのフィルタ処理に適用される本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らず、ビデオ符号化および/または復号機能を含む非ワイヤレスデバイスに適用され得る。
図1の例では、ソースデバイス112は、ビデオソース120と、ビデオエンコーダ122と、変調器/復調器(モデム)123と、送信機124とを含む。宛先デバイス116は、受信機126と、モデム127と、ビデオデコーダ128と、ディスプレイデバイス130とを含む。本開示によれば、ソースデバイス112のビデオエンコーダ122は、ビデオブロックフィルタ処理プロセスにおいて複数の入力のためのフィルタ係数の1つまたは複数のセットを選択し、次いで、フィルタ係数の選択された1つまたは複数のセットを符号化するように構成され得る。フィルタ係数の1つまたは複数のセットからの特定のフィルタが、1つまたは複数の入力のための1つまたは複数のメトリックに基づいて選択され得、フィルタ係数は、1つまたは複数の入力をフィルタ処理するために使用され得る。本開示のフィルタ処理技法は、概して、符号化ビットストリーム中でフィルタ係数をコーディングまたはシグナリングするためのどんな技法とも相性が良い。
本開示の技法によれば、ビデオエンコーダ122を含むデバイスが、ビデオデコーダ128を含むデバイスに、フレームまたはスライスなど、一連のビデオブロックのためのフィルタ係数の1つまたは複数のセットをシグナリングすることができる。一連のビデオブロックのために、ビデオエンコーダ122は、たとえば、すべての入力とともに使用されるべきフィルタの1つのセットをシグナリングし得るか、または複数の入力とともに使用されるべきフィルタの複数のセット(たとえば、入力ごとに1つのセット)をシグナリングし得る。一連のビデオブロック内の各ビデオブロックまたはCUは、さらに、そのビデオブロックの各入力に対してフィルタのセットのどの1つまたは複数のフィルタが使用されるべきかを識別するための追加のシンタックスを含むことができ、あるいは本開示の技法によれば、フィルタのセットのどの1つまたは複数のフィルタが使用されるべきかは、入力の1つまたは複数に関連する2つ以上のメトリックに基づいて判断され得る。
より詳細には、ソースデバイス112のビデオエンコーダ122は、一連のビデオブロックのためにフィルタの1つまたは複数のセットを選択し、符号化プロセス中に(1つまたは複数の)セットからのフィルタを一連のビデオブロックのCUに関連する入力のピクセルまたはピクセルのグループに適用し、次いで、宛先デバイス116のビデオデコーダ128に通信するためにフィルタのセット(すなわち、フィルタ係数のセット)を符号化し得る。ビデオエンコーダ122は、コーディングされるCUのためのピクセルまたはピクセルのグループとともにフィルタの(1つまたは複数の)セットからのどの(1つまたは複数の)フィルタを使用すべきかを選択するために、その特定のCUの入力に関連する1つまたは複数のメトリックを判断し得る。ビデオエンコーダ122はまた、コード化ビットストリームの一部として、ビデオデコーダ128に範囲の組合せとフィルタのセット内のフィルタとのマッピングをシグナリングし得る。
デコーダ側で、ビデオデコーダ128は、ビットストリームシンタックス中で受信されたフィルタ情報に基づいてフィルタ係数を判断し得る。ビデオデコーダ128は、ビットストリームシンタックスの一部としてシグナリングされ得る、フィルタ係数を符号化した方法に応じて、直接復号または予測復号に基づいてフィルタ係数を復号し得る。さらに、ビットストリームは、フィルタのセットについてフィルタを記述するためのフィルタ記述シンタックス情報を含み得る。フィルタ記述シンタックスに基づいて、デコーダ128は、エンコーダ122から受信された追加情報に基づいてフィルタ係数を再構成することができる。図1の図示のシステム110は例にすぎない。本開示のフィルタ処理技法は、任意の符号化デバイスまたは復号デバイスによって実行され得る。ソースデバイス112および宛先デバイス116は、そのような技法をサポートすることができるコーディングデバイスの例にすぎない。また、ビデオデコーダ128は、ビットストリームシンタックス中で受信されたフィルタ情報に基づいて範囲の組合せとフィルタとのマッピングを判断し得る。
ソースデバイス112のビデオエンコーダ122は、本開示の技法を使用して、ビデオソース120から受信されたビデオデータを符号化し得る。ビデオソース120は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィードを備え得る。さらなる代替として、ビデオソース120は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース120がビデオカメラである場合、ソースデバイス112および宛先デバイス116は、いわゆるカメラフォンまたはビデオフォンを形成し得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオはビデオエンコーダ122によって符号化され得る。
ビデオデータがビデオエンコーダ122によって符号化されると、符号化されたビデオ情報は、次いで、たとえば、符号分割多元接続(CDMA)、周波数分割多元接続(FDMA)、直交周波数分割多重化(OFDM)などの通信規格、あるいは任意の他の通信規格または技法に従ってモデム123によって変調され、送信機124を介して宛先デバイス116に送信され得る。モデム123は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機124は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
宛先デバイス116の受信機126はチャネル115を介して情報を受信し、モデム127はその情報を復調する。ビデオデコーダ128によって実行されるビデオ復号プロセスは、たとえば、ループ内復号の一部としてまたは復号ループに続くポストフィルタ処理ステップとしてフィルタ処理を含み得る。いずれにしても、特定のスライスまたはフレームに対してビデオデコーダ128によって適用されるフィルタのセットは、本開示の技法を使用して復号され得る。復号されたフィルタ情報は、コード化ビットストリーム中のフィルタ記述シンタックスを識別することを含み得る。たとえば、フィルタ係数のために予測コーディングが使用される場合、チャネル115を介して搬送される情報の量を低減するために、異なるフィルタ係数間の類似性が活用され得る。詳細には、フィルタ(すなわち、フィルタ係数のセット)は、異なるフィルタに関連するフィルタ係数の別のセットに対する差分値として予測コーディングされ得る。異なるフィルタは、たとえば、異なるスライスまたはフレームに関連し得る。そのような場合、ビデオデコーダ128は、ビデオブロックとフィルタ情報とを備える符号化ビットストリームを受信し得、フィルタ情報は、異なるフィルタが関連する異なるフレームまたはスライスを識別する。フィルタ情報はまた、異なるCUのフィルタに対する現在のフィルタを定義する差分値を含む。詳細には、差分値は、異なるCUのために使用される異なるフィルタのフィルタ係数に対する現在のフィルタのためのフィルタ係数を定義するフィルタ係数差分値を備え得る。
ビデオデコーダ128は、ビデオブロックを復号し、フィルタ係数を生成し、生成されたフィルタ係数に基づいて、復号されたビデオブロックをフィルタ処理する。ビデオデコーダ128は、ビットストリームから取り出されたフィルタ記述シンタックスに基づいてフィルタ係数を生成することができる。復号され、フィルタ処理されたビデオブロックをビデオフレームにアセンブルして、復号されたビデオデータを形成することができる。ディスプレイデバイス128は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
通信チャネル115は、無線周波数(RF)スペクトルまたは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル115は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル115は、概して、ビデオデータをソースデバイス112から宛先デバイス116に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。ここでも、図1は例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間のデータ通信を必ずしも含むとは限らないビデオコーディング設定(たとえば、ビデオ符号化またはビデオ復号)に適用され得る。他の例では、データが、ローカルメモリから取り出されるか、ネットワークを介してストリーミングされる、などであり得る。
代替的に、符号化データは、ビデオエンコーダ122からストレージデバイス132に出力され得る。同様に、符号化データは、ビデオデコーダ128によってストレージデバイス132からアクセスされ得る。ストレージデバイス132は、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散したまたはローカルでアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス132は、ソースデバイス112によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス116は、ストリーミングまたはダウンロードを介して、ストレージデバイス132から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、その符号化ビデオデータを宛先デバイス116に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含むいずれかの標準データ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ストレージデバイス132からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム110は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
ビデオエンコーダ122およびビデオデコーダ128は、説明のために本開示の一部において使用される、代替的にMPEG−4,Part10,Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格など、ビデオ圧縮規格に従って動作し得る。ただし、本開示の技法の多くは、新生のHEVC規格を含む様々な他のビデオコーディング規格のいずれにも容易に適用され得る。概して、エンコーダおよびデコーダにおいてフィルタ処理を可能にする規格は、本開示の教示の様々な態様から恩恵を受け得る。
図1には示されていないが、いくつかの態様では、ビデオエンコーダ122およびビデオデコーダ128は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
ビデオエンコーダ122およびビデオデコーダ128はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ122およびビデオデコーダ128の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合エンコーダ/デコーダ(コーデック)の一部としてそれぞれのモバイルデバイス、加入者デバイス、ブロードキャストデバイス、サーバなどに統合され得る。
場合によっては、デバイス112、116は、実質的に対称的に動作し得る。たとえば、デバイス112、116の各々は、ビデオ符号化構成要素とビデオ復号構成要素とを含み得る。したがって、システム110は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオテレフォニーのためのビデオデバイス112とビデオデバイス116との間の一方向または双方向のビデオ送信をサポートし得る。
符号化プロセス中に、ビデオエンコーダ122は、いくつかのコーディング技法またはステップを実行し得る。概して、ビデオエンコーダ122は、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。一例では、ビデオブロックは、マクロブロックまたはマクロブロックのパーティションに対応し得る。マクロブロックは、ITU H.264規格および他の規格によって定義されているビデオブロックの1つのタイプである。マクロブロックという用語は、一般的に、N×NまたはN×Mサイズの任意のビデオブロックを指すために使用されることもあるが、マクロブロックは一般にデータの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、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「N×N」は、垂直寸法および水平寸法に関するブロックのピクセル寸法、たとえば、16×16ピクセルを指す。一般に、16×16ブロックは、垂直方向に16ピクセルを有し、水平方向に16ピクセルを有する。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、Nは、正の整数値を表す。ブロック中のピクセルは行と列に構成され得る。
新生のHEVC規格は、ビデオブロックのための新しい用語を定義している。特に、ビデオブロック(またはそのパーティション)は「コーディングユニット」(またはCU)と呼ばれることがある。HEVC規格では、最大コード化ユニット(LCU:largest coded unit)は、4分木区分スキームに従ってより小さいCUに分割され得、そのスキームにおいて定義されている様々なCUは、さらに、いわゆる予測ユニット(PU:prediction unit)に区分され得る。LCU、CU、およびPUは、すべて、本開示の意味内のビデオブロックである。HEVC規格または他のビデオコーディング規格に一致する他のタイプのビデオブロックも使用され得る。したがって、「ビデオブロック」という句は、任意のサイズのビデオブロックを指す。所与のピクセルのルーマ成分のために個別のCUが含まれ、クロマ成分のためにスケーリングされたサイズが含まれ得るが、他の色空間も使用され得る。
ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のビデオブロックを含み得、それらのビデオブロックは、サブブロックとも呼ばれるパーティションに構成され得る。上記で参照し、以下でより詳細に説明する4分木区分スキームによれば、N/2×N/2の第1のCUは、N×N LCUのサブブロックを備え得、N/4×N/4の第2のCUは、同じく、第1のCUのサブブロックを備え得る。N/8×N/8 PUは第2のCUのサブブロックを備え得る。同様に、さらなる例として、16×16よりも小さいブロックサイズは、16×16ビデオブロックのパーティションまたは16×16ビデオブロックのサブブロックと呼ばれることがある。同様に、N×Nブロックについては、N×Nよりも小さいブロックサイズはN×Nブロックのパーティションまたはサブブロックと呼ばれることがある。ビデオブロックは、ピクセル領域中のピクセルデータのブロックを備え得、あるいは、たとえば、コード化ビデオブロックと予測ビデオブロックとの間のピクセル差分を表す残差ビデオブロックデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後の、変換領域中の変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備え得る。
ビットストリーム内のシンタックスデータは、フレームまたはスライスのピクセルの数に関して最大のコーディングユニットである、そのフレームまたはスライスのLCUを定義し得る。概して、LCUまたはCUは、LCUおよびCUが特定のサイズの差異を有しないことを除いて、H.264に従ってコーディングされるマクロブロックと同様の目的を有する。代わりに、LCUサイズは、フレームごとにまたはスライスごとに定義され得、LCUはCUに分割され得る。概して、本開示におけるCUへの言及は、ピクチャのLCUまたはLCUのサブCUを指すことがある。LCUはサブCUに分割され得、各サブCUはサブCUに分割され得る。ビットストリームのシンタックスデータは、CU深さと呼ばれる、LCUが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コーディングユニット(SCU:smallest coding unit)をも定義し得る。本開示ではまた、LCU、CU、PU、SCU、またはTUのいずれかを指すために、「ブロック」および「ビデオブロック」という用語を使用する。
上記で紹介したように、LCUは4分木データ構造に関連付けられ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはLCUに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。たとえば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。
分割されないCUは、1つまたは複数の予測ユニット(PU)を含み得る。概して、PUは、対応するCUの全部または一部分を表し、そのPUの参照サンプルを取り出すためのデータを含む。たとえば、PUがイントラモード符号化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルが指す参照フレーム、および/または動きベクトルの参照リスト(たとえば、リスト0もしくはリスト1)を記述し得る。(1つまたは複数の)PUを定義するCUのデータはまた、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUがコーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかの間で異なり得る。
1つまたは複数のPUを有するCUはまた、1つまたは複数の変換ユニット(TU:transform unit)を含み得る。TUは、一般に量子化される残差変換係数を含むデータ構造を備える。特に、PUを使用した予測の後に、ビデオエンコーダは、PUに対応するCUの部分の残差値を計算し得る。残差値は、変換され、量子化され、走査され、TUに記憶され得、TUは、実行された変換のサイズに対応する可変サイズを有し得る。したがって、TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUは、同じCUの対応するPUよりも大きいことも小さいこともある。いくつかの例では、TUの最大サイズは、対応するCUのサイズであり得る。この場合も、TUは、所与のCUに関連する残差変換係数を含むデータ構造を備え得る。
図2Aおよび図2Bは、例示的な4分木250と、対応するLCU272とを示す概念図である。図2Aは、階層式に構成されたノードを含む、例示的な4分木250を示している。4分木250など、4分木中の各ノードは、子をもたないリーフノードであるか、または4つの子ノードを有し得る。図2Aの例では、4分木250はルートノード252を含む。ルートノード252は、リーフノード256A〜256C(リーフノード256)とノード254とを含む、4つの子ノードを有する。ノード254はリーフノードでないので、ノード254は、この例ではリーフノード258A〜258D(リーフノード258)である、4つの子ノードを含む。
4分木250は、この例ではLCU272など、対応するLCUの特性を記述するデータを含み得る。たとえば、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に対応する。
4分木250のノードのデータは、ノードに対応するCUが分割されるかどうかを記述し得る。CUが分割される場合、4分木250中に4つの追加のノードが存在し得る。いくつかの例では、4分木のノードは以下の擬似コードと同様に実装され得る。
split_flag値は、現在のノードに対応するCUが分割されるかどうかを表す1ビット値であり得る。CUが分割されない場合、split_flag値は「0」であり得るが、CUが分割される場合、split_flag値は「1」であり得る。4分木250の例に関して、分割フラグ値の配列は101000000であり得る。
いくつかの例では、サブCU276およびサブCU278の各々は、同じイントラ予測モードを使用してイントラ予測符号化され得る。したがって、ビデオエンコーダ122は、ルートノード252においてイントラ予測モードの指示を与え得る。その上、サブCUのいくつかのサイズは、特定のイントラ予測モードのために複数の可能な変換を有し得る。ビデオエンコーダ122は、ルートノード252においてそのようなサブCUのために使用すべき変換の指示を与え得る。たとえば、サイズN/2×N/2のサブCUでは複数の可能な変換が利用可能であり得る。ビデオエンコーダ122は、ルートノード252において使用すべき変換をシグナリングし得る。したがって、ビデオデコーダ128は、ルートノード252においてシグナリングされたイントラ予測モードと、ルートノード252においてシグナリングされた変換とに基づいてサブCU278に適用すべき変換を判断し得る。
したがって、ビデオエンコーダ122は、本開示の技法によれば、リーフノード256およびリーフノード258においてサブCU276およびサブCU278に適用すべき変換をシグナリングする必要はないが、代わりに、単に、ルートノード252において、イントラ予測モードと、いくつかの例では、いくつかのサイズのサブCUに適用すべき変換とをシグナリングし得る。このようにして、これらの技法は、LCU272など、LCUのサブCUごとに変換機能をシグナリングするオーバーヘッドコストを低減し得る。
いくつかの例では、サブCU276および/またはサブCU278のイントラ予測モードは、LCU272のイントラ予測モードとは異なり得る。ビデオエンコーダ122およびビデオデコーダ130は、ルートノード252においてシグナリングされるイントラ予測モードを、サブCU276および/またはサブCU278のために利用可能なイントラ予測モードにマッピングする機能を用いて構成され得る。この機能は、LCU272のために利用可能なイントラ予測モードとサブCU276および/またはサブCU278のイントラ予測モードとの多対1のマッピングを与え得る。
スライスはビデオブロック(またはLCU)に分割され得、各ビデオブロックは、図2A〜図2Bに関して説明した4分木構造に従って区分され得る。さらに、図2Cに示すように、「オン」によって示される4分木サブブロックは、本明細書で説明するループフィルタによってフィルタ処理され得るが、「オフ」によって示される4分木サブブロックはフィルタ処理されないことがある。所与のブロックまたはサブブロックをフィルタ処理すべきか否かの決定は、コーディングされている元のブロックに対するフィルタ処理済み結果と非フィルタ処理済み結果とを比較することによってエンコーダにおいて判断され得る。図2Dは、図2Cに示す4分木区分を生じる区分決定を表す決定木である。「オン」ブロックについてどのピクセルにも適用される実際のフィルタ処理は、本明細書で説明するメトリックに基づいて判断され得る。
詳細には、図2Cは、4分木分割スキームに従って、様々なサイズのより小さいビデオブロックに区分された比較的大きいビデオブロックを表し得る。図2Cの各ビデオブロックは、そのビデオブロックに対してフィルタ処理が適用されるべきかまたは回避されるべきかを示すために、(オンまたはオフと)標示されている。ビデオエンコーダは、各ビデオブロックのフィルタ処理済みバージョンと非フィルタ処理済みバージョンとをコーディングされている元のビデオブロックと比較することによって、このフィルタマップを定義し得る。
再び、図2Dは、図2Cに示す4分木区分を生じる区分決定に対応する決定木である。図2Dにおいて、各円はCUに対応し得る。円が「1」フラグを含む場合、そのCUは、もう4つのCUにさらに区分されるが、円が「0」フラグを含む場合、そのCUはそれ以上区分されない。(たとえば、CUに対応する)各円はまた、関連するひし形を含む。所与のCUのひし形中のフラグが1に設定された場合、そのCUに対するフィルタ処理は「オン」になるが、所与のCUのひし形中のフラグが0に設定された場合、フィルタ処理はオフになる。このようにして、図2Cと図2Dとは、個々にまたはまとめてフィルタマップと見なされ得、フィルタマップは、各区分されたビデオブロック(たとえば、LCU内の各CU)にフィルタ処理を適用すべきか否かにかかわらず、所与のビデオブロック(たとえば、LCU)のための4分木区分のレベルを通信するために、エンコーダにおいて生成され、符号化ビデオデータのスライスごとに少なくとも1回デコーダに通信され得る。
小さいビデオブロックほど、より良い解像度が得られ、高い詳細レベルを含むビデオフレームのロケーションのために使用され得る。大きいビデオブロックほど、より高いコーディング効率が得られ、低い詳細レベルを含むビデオフレームのロケーションのために使用され得る。スライスは、複数のビデオブロックおよび/またはサブブロックであると見なされ得る。各スライスは、ビデオフレームの単独で復号可能な一連のビデオブロックであり得る。代替的に、フレーム自体が復号可能な一連のビデオブロックであり得るか、またはフレームの他の部分が復号可能な一連のビデオブロックとして定義され得る。「一連のビデオブロック」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャのグループ(GOP)など、ビデオフレームの任意の単独で復号可能な部分、または適用可能なコーディング技法に従って定義される別の単独で復号可能なユニットを指すことがある。本開示の態様についてフレームまたはスライスに関して説明し得るが、そのような言及は例にすぎない。概して、任意の一連のビデオブロックがフレームまたはスライスの代わりに使用され得ることを理解されたい。
シンタックスデータは、各CUが関連するシンタックスデータを含むように、コード化ユニットごとに定義され得る。本明細書で説明するフィルタ情報は、CUのためのそのようなシンタックスの一部であり得るが、CUのためではなく、フレーム、スライス、GOP、LCU、またはビデオフレームのシーケンスなど、一連のビデオブロックのためのシンタックスの一部である可能性が高いことがある。シンタックスデータは、スライスまたはフレームのCUとともに使用されるべきフィルタの1つまたは複数のセットを示すことができる。さらに、必ずしもすべてのフィルタ情報が、共通の一連のビデオブロックのヘッダ中に含まれなければならないとは限らない。たとえば、フィルタ記述シンタックスはフレームヘッダ中で送信され得、他のフィルタ情報はLCUのためのヘッダ中でシグナリングされる。
ビデオエンコーダ122は、コーディングされているビデオブロックが、予測ブロックを識別するために予測フレーム(または他のCU)と比較される、予測コーディングを実行し得る。コーディングされている現在のビデオブロックと予測ブロックとの間の差は残差ブロックとしてコーディングされ、予測ブロックを識別するために予測シンタックスが使用される。残差ブロックは、変換され、量子化され得る。変換技法は、DCTプロセスまたは概念的に同様のプロセス、整数変換、ウェーブレット変換、または他のタイプの変換を備え得る。DCTプロセスでは、一例として、変換プロセスは、ピクセル値のセットを、周波数領域におけるピクセル値のエネルギーを表し得る変換係数に変換する。量子化は、一般に変換係数に適用され、概して、所与の変換係数に関連するビット数を制限するプロセスを伴う。
変換および量子化の後に、量子化および変換された残差ビデオブロックに対してエントロピーコーディングが実行され得る。符号化中に定義されるフィルタ情報および予測ベクトルなど、シンタックス要素も、各CUのためのエントロピーコード化ビットストリーム中に含まれ得る。概して、エントロピーコーディングは、一連の量子化変換係数および/または他のシンタックス情報をまとめて圧縮する、1つまたは複数のプロセスを備える。2次元ビデオブロックから係数の1つまたは複数のシリアル化1次元ベクトルを定義するために、たとえば、エントロピーコーディングプロセスの一部として、量子化変換係数に対してジグザグ走査技法などの走査技法が実行される。他の走査順序または適応走査を含む、他の走査技法も使用され、場合によっては、符号化ビットストリーム中でシグナリングされ得る。いずれの場合も、走査された係数は、次いで、たとえば、コンテンツ適応型可変長コーディング(CAVLC:content adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context adaptive binary arithmetic coding)、または別のエントロピーコーディングプロセスを介してシンタックス情報とともにエントロピーコーディングされる。
符号化プロセスの一部として、符号化ビデオブロックは、後続のビデオブロックの後続の予測ベースコーディングのために使用されるビデオデータを生成するために復号され得る。この段階で、ビデオ品質を改善し、たとえば、復号されたビデオからブロッキネスアーティファクトを除去するために、フィルタ処理が実行され得る。フィルタ処理済みデータは他のビデオブロックの予測のために使用され得、その場合、フィルタ処理は「ループ内」フィルタ処理と呼ばれる。代替的に、他のビデオブロックの予測は非フィルタ処理済みデータに基づき得、その場合、フィルタ処理は「ポストフィルタ処理」と呼ばれる。
フレームごとに、スライスごとに、またはLCUごとに、ビデオエンコーダ122は、フィルタの1つまたは複数のセットを選択し得、コード化ユニットごとに、エンコーダは、フィルタ処理を適用すべきか否かを判断し得る。フィルタ処理されるべきCUについて、エンコーダは、ピクセルごとにまたはグループごとにフィルタ処理を実行することができ、その場合、グループは、たとえば、ピクセルの2×2ブロックまたはピクセルの4×4ブロックであり得る。これらの選択は、ビデオ品質を促進するように行われ得る。フィルタのそのようなセットは、フィルタのあらかじめ定義されたセットから選択され得るか、またはビデオ品質を促進するように適応的に定義され得る。一例として、ビデオエンコーダ122は、所与のフレームまたはスライスのCUの異なるピクセルまたはピクセルのグループのために異なるフィルタが使用されるように、そのフレームまたはスライスのためにフィルタのいくつかのセットを選択または定義し得る。詳細には、CUに関連する各入力のために、フィルタ係数のいくつかのセットが定義され得、CUのピクセルに関連する2つ以上のメトリックを使用して、そのようなピクセルまたはピクセルのグループとともにフィルタのセットからのどのフィルタを使用すべきかが判断され得る。
場合によっては、ビデオエンコーダ122は、フィルタ係数のいくつかのセットを適用し、コード化ブロックと元のブロックとの間のひずみの量に関する最高品質のビデオ、および/または最高レベルの圧縮を生成する、1つまたは複数のセットを選択し得る。いずれの場合も、選択されると、各CUに対してビデオエンコーダ122によって適用されるフィルタ係数のセットは、ビデオデコーダ128が、所与の各CUに対して符号化プロセス中に適用されたのと同じフィルタ処理を適用することができるように、符号化され、宛先デバイス118のビデオデコーダ128に通信され得る。
CUのための特定の入力とともにどのフィルタを使用すべきかを判断するために2つ以上のメトリックが使用されるとき、その特定のCUのためのフィルタの選択は、必ずしもビデオデコーダ128に通信される必要があるとは限らない。代わりに、ビデオデコーダ128はまた、2つ以上のメトリックを計算し、ビデオエンコーダ122によって前に与えられたフィルタ情報に基づいて、2つ以上のメトリックの組合せを特定のフィルタに一致させることができる。
図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はまた、選択されたフィルタが、復号演算中に使用されるべき別のデバイスへのフィルタ情報として効率的に通信され得るように、選択されたフィルタを識別するフィルタ情報を生成し得る。
符号化プロセス中に、ビデオエンコーダ350が、コーディングされるべきLCUなどのビデオブロックを受信し、予測モジュール332がビデオブロックに対して予測コーディング技法を実行する。上記で説明した4分木区分スキームを使用して、予測モジュール332はビデオブロックを区分し、異なるサイズのCUに対して予測コーディング技法を実行することができる。インターコーディングの場合、予測モジュール332は、予測ブロックを定義するために、ビデオブロックのサブブロックを含む符号化されるべきビデオブロックを、1つまたは複数のビデオ参照フレームまたはスライス中の様々なブロックと比較する。イントラコーディングの場合、予測モジュール332は、同じCU内の隣接するデータに基づいて予測ブロックを生成する。予測モジュール332は予測ブロックを出力し、加算器348は、残差ブロックを生成するために、コーディングされているビデオブロックから予測ブロックを減算する。
インターコーディングの場合、予測モジュール332は、予測ブロックを指す動きベクトルを識別し、動きベクトルに基づいて予測ブロックを生成する、動き推定および動き補償ユニットを備え得る。一般に、動き推定は、動きを推定する、動きベクトルを生成するプロセスと考えられる。たとえば、動きベクトルは、現在のフレーム内のコーディングされている現在のブロックに対する予測フレーム内の予測ブロックの変位を示し得る。動き補償は、一般に、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成するプロセスと考えられる。イントラコーディングの場合、予測モジュール332は、同じCU内の隣接するデータに基づいて予測ブロックを生成する。1つまたは複数のイントラ予測モードは、イントラ予測ブロックがどのように定義され得るかを定義し得る。
予測モジュール332が予測ブロックを出力し、加算器348が、残差ブロックを生成するために、コーディングされているビデオブロックから予測ブロックを減算した後に、変換ユニット338が残差ブロックに変換を適用する。変換は、離散コサイン変換(DCT)、またはHEVC規格などのコーディング規格によって定義された変換など、概念的に同様の変換を備え得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換ユニット338は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル領域から周波数領域に変換し得る。
次いで、量子化ユニット340が、ビットレートをさらに低減するために残差変換係数を量子化する。量子化ユニット340は、たとえば、係数の各々をコーディングするために使用されるビット数を制限し得る。量子化後に、エントロピー符号化ユニット346は、量子化係数ブロックを2次元表現から1つまたは複数のシリアル化1次元ベクトルに走査する。走査順序は、(ジグザグ走査、水平方向走査、垂直方向走査、組合せ、または別のあらかじめ定義された順序などの)定義された順序で行われるように事前プログラムされ得るか、または場合によっては、前のコーディング統計値に基づいて適応的に定義され得る。
この走査プロセスの後に、エントロピー符号化ユニット346が、データをさらに圧縮するために、CAVLCまたはCABACなどのエントロピーコーディング方法に従って(シンタックス要素とともに)量子化変換係数を符号化する。エントロピーコード化ビットストリーム中に含まれるシンタックス要素は、インターコーディングのための動きベクトルまたはイントラコーディングのための予測モードなど、予測モジュール332からの予測シンタックスを含み得る。エントロピーコード化ビットストリーム中に含まれるシンタックス要素は、本明細書で説明する方法で符号化され得るフィルタユニット349からのフィルタ情報をも含み得る。
CAVLCは、エントロピー符号化ユニット346によってベクトル化ベースで適用され得る、ITU H.264/MPEG4,AVC規格によってサポートされる1つのタイプのエントロピー符号化技法である。CAVLCは、変換係数および/またはシンタックス要素のシリアル化「ラン」を効果的に圧縮するように可変長コーディング(VLC)テーブルを使用する。CABACは、エントロピー符号化ユニット346によってベクトル化ベースで適用され得る、ITU H.264/MPEG4,AVC規格によってサポートされる別のタイプのエントロピーコーディング技法である。CABACは、2値化、コンテキストモデル選択、およびバイナリ算術コーディングを含む、いくつかの段を伴う。この場合、エントロピー符号化ユニット346は、CABACに従って変換係数とシンタックス要素とをコーディングする。ITU H.264/MPEG4,AVC規格のように、新生のHEVC規格も、CAVLCエントロピーコーディングとCABACエントロピーコーディングの両方をサポートし得る。さらに、多くの他のタイプのエントロピーコーディング技法も存在し、新しいエントロピーコーディング技法が将来出現する可能性がある。本開示は、いかなる特定のエントロピーコーディング技法にも限定されない。
エントロピー符号化ユニット346によるエントロピーコーディングの後に、符号化されたビデオは、別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。この場合も、符号化されたビデオは、復号プロセスを適切に構成するためにデコーダによって使用され得るエントロピーコード化ベクトルと様々なシンタックスとを備え得る。逆量子化ユニット342および逆変換ユニット344が、それぞれ逆量子化および逆変換を適用して、ピクセル領域において残差ブロックを再構成する。加算器351が、デブロック前再構成画像と呼ばれることがあるデブロック前再構成ビデオブロックを生成するために、再構成残差ブロックを、予測モジュール332によって生成された予測ブロックに加算する。デブロッキングフィルタ347が、ブロッキネスまたは他のアーティファクトを除去することによってビデオ品質を改善するために、デブロック前再構成ビデオブロックにフィルタ処理を適用し得る。デブロッキングフィルタ347の出力は、デブロック後ビデオブロック、再構成ビデオブロック、または再構成画像と呼ばれることがある。
フィルタユニット349は、単一の入力または複数の入力を受信するように構成され得る。図3の例では、フィルタユニット349は、デブロック後再構成画像(RI)と、デブロック前再構成画像(pRI)と、予測画像(PI)と、再構成残差ブロック(EI)とを入力として受信する。フィルタユニット349は、これらの入力のいずれかを個々にまたは組み合わせて使用して、再構成画像を生成してメモリ334に記憶することができる。さらに、以下でより詳細に説明するように、2つ以上のメトリックに基づいて、(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は、単一の入力を受信するようにも構成され得る。たとえば、図3は、PI、EI、pRI、およびRIがフィルタユニット349に入力されることを示しているが、いくつかの実装形態では、RIが、フィルタユニット349によって受信される唯一の入力であり得る。そのような実装形態では、フィルタユニット349は、RIのフィルタ処理済みバージョンがRIの非フィルタ処理済みバージョンよりも元の画像に類似しているように、RIにフィルタを適用し得る。他の実装形態では、フィルタユニット349とデブロッキングフィルタ347とは、組み合わせられて、pRIにフィルタ処理を適用する単一のフィルタ処理ユニットになり得る。一般に複数メトリックベースのフィルタマッピングに関する、本開示の技法は、複数のフィルタを利用する単一入力フィルタ処理スキームと複数入力フィルタ処理スキームとの両方に適合する。
フィルタユニット349によるフィルタ処理は、非フィルタ処理済み予測ビデオブロックよりも、コーディングされているビデオブロックに厳密に一致する予測ビデオブロックを生成することによって圧縮を改善し得る。フィルタ処理後に、再構成ビデオブロックは、後続のビデオフレームまたは他のCU中のブロックをインターコーディングするために予測モジュール332によって参照ブロックとして使用され得る。フィルタユニット349は「ループ内」に示されているが、本開示の技法はまた、ポストフィルタとともに使用され得、その場合、(フィルタ処理済みデータではなく)非フィルタ処理済みデータが、後続のCU中のデータを予測するために使用されるであろう。
スライスまたはフレームなど、一連のビデオブロックのために、フィルタユニット349は、ビデオ品質を促進するように各入力のためのフィルタのセットを選択し得る。たとえば、フィルタユニット349は、係数のあらかじめ定義されたセットからフィルタのセットを選択し得るか、あるいはビデオ品質または改善された圧縮を促進するために、フィルタを適応的に定義し得る。フィルタユニット349は、フィルタの(1つまたは複数の)同じセットが、所与のCUの異なるビデオブロックのピクセルのために使用されるように、そのCUのためにフィルタの1つまたは複数のセットを選択または定義し得る。フィルタユニット349は、フィルタのいくつかのセットを複数の入力に適用し得、FSU353は、最高品質のビデオまたは最高レベルの圧縮を生成するセットを選択し得る。代替的に、FSU353は、複数の入力と元の画像との間の自己相関と相互相関とを分析することによって新しいフィルタをトレーニングし得る。フィルタの新しいセットは、たとえば、自己相関と相互相関とに基づいて、Wienter−Hopt式を解くことによって判断され得る。フィルタの新しいセットがトレーニングされるかまたはフィルタの既存のセットが選択されるかにかかわらず、フィルタユニット349は、特定のフレームまたはスライスのために使用されるべきフィルタの1つまたは複数のセットをデコーダが同じく識別することを可能にする、ビットストリーム中に含めるためのシンタックスを生成する。
本開示によれば、一連のビデオブロック内のCUの各ピクセルのために、フィルタユニット349は、CU内のピクセルの1つまたは複数のセットに関連する性質を定量化する2つ以上のメトリックに基づいて、フィルタのセットからのどのフィルタが使用されるべきかを選択し得る。このようにして、FSU353は、フレームまたはスライスなど、上位レベルのコード化ユニットのためのフィルタのセットを判断し得るが、フィルタユニット349は、下位レベルのコード化ユニットのピクセルに関連する2つ以上のメトリックに基づいて、(1つまたは複数の)セットからのどの(1つまたは複数の)フィルタが、その下位レベルのコード化ユニットの特定のピクセルのために使用されるべきかを判断する。
各入力のためにM個のフィルタのセットが使用され得る。設計上の選好に応じて、Mは、たとえば、わずか2でも、または16程度でも、さらにはより大きくてもよい。入力当たりの多数のフィルタはビデオ品質を改善し得るが、また、フィルタのセットをエンコーダからデコーダにシグナリングすることに関連するオーバーヘッドを増加させ得る。M個のフィルタのセットは、上記で説明したようにFSU353によって判断され、各フレームまたはスライスのためにデコーダにシグナリングされ得る。CUがどのようにセグメント化されるかと、CUの特定のサブユニットがフィルタ処理されるべきか否かとを示すために、セグメンテーションマップが使用され得る。セグメンテーションマップは、たとえば、CUについて、上記で説明した分割フラグの配列を含み得、ならびに各サブCUがフィルタ処理されるべきかどうかをシグナリングする追加のビットを含み得る。フィルタ処理されるべきCUのピクセルに関連する各入力のために、フィルタのセットからの特定のフィルタが2つ以上のメトリックに基づいて選定され得る。2つ以上のメトリックのための値の組合せが、M個のフィルタのセットからの特定のフィルタにインデックス付けされ得る。
図4Aは、フィルタのセットからのフィルタにインデックス付けされた2つのメトリックのための値の範囲を示す概念図である。図4Aの特定の例は、8つのフィルタ(すなわちフィルタ1、フィルタ2...フィルタ8)を示しているが、より多いまたはより少ないフィルタが同様に使用され得る。図4Aは、本開示の技法に従ってフィルタを選択するために使用され得る2つのメトリックを示している。2つのメトリックは、たとえば、非方向固有アクティビティ(たとえば和修正ラプラシアン値)および方向、方向固有アクティビティおよびエッジ検出、方向メトリックおよびエッジメトリック、水平アクティビティメトリックおよび垂直アクティビティメトリック、または2つの他のそのようなメトリックに関係するピクセルデータの性質を定量化し得る。いくつかの事例では、3つ以上のメトリックが使用され得、その場合、図4Aの概念図は、メトリックの範囲をフィルタのセットからのフィルタにマッピングするための第3の次元を含むであろう。
図4Aの例では、第1のメトリック(メトリック1)が4つの範囲(範囲1−1、1−2、1−3、および1−4)を有し、第2のメトリック(メトリック2)も4つの範囲(範囲2−1、2−2、2−3、および2−4)を有する。したがって、図4Aの例は、メトリック1のための範囲とメトリック2のための範囲との16個の組合せを有する。ただし、図4Aからわかるように、各組合せは必ずしもユニークなフィルタに関連付けられるとは限らない。図4Aの例では、範囲1−1と範囲2−1との組合せ、ならびに1−1と2−2との組合せ、および1−1と2−3との組合せが、たとえば、すべてフィルタ1にマッピングされる。フィルタ4は、対照的に、1つの組合せ(1−1と2−4)にのみマッピングされる。図4Aの範囲は比較的等しいものとして示されているが、範囲のサイズは変動し得る。たとえば、いくつかの実装形態では、範囲1−1は、範囲1−2よりも大きい範囲の値を包含し得る。さらに、図4Aは、メトリック1とメトリック2とを同数の範囲を有するものとして示しているが、第1のメトリックのための範囲の数と第2のメトリックのための範囲の数とは、必ずしも等しい必要があるとは限らない。たとえば、メトリック1が分散メトリックであり、メトリック2が方向メトリックである場合、メトリック1は8つの範囲を使用し得、メトリック2は3つの範囲を使用する。
いくつかの例では、メトリック1およびメトリック2の範囲は値の連続スペクトルを表し得る。たとえば、メトリック1が和修正ラプラシアン値である場合、範囲1−2は、範囲1−1よりも多いアクティビティだが範囲1−3よりも少ないアクティビティに対応し得、範囲1−4は、範囲1−3よりも多いアクティビティに対応し得る。ある範囲内で、特定のピクセルまたはピクセルのグループについて判断されるアクティビティの量は、メトリック1の軸に沿って同様に増加し得る。他の例では、メトリック1およびメトリック2の範囲は、実際の範囲を表さないことがあり、代わりに個別判断を表すことがある。たとえば、メトリック2が方向メトリックである場合、範囲1−1は方向なしの判断に対応し得、範囲2−2は水平方向の判断に対応し得、範囲2−3は垂直方向の判断に対応し得、範囲2−4は対角方向の判断を表し得る。以下でより詳細に説明するように、方向なし、水平方向、垂直方向、および対角方向は個別判断であり得、したがって、メトリック2のための範囲は、メトリック1の範囲が値の連続スペクトルを表すのと同様に値の連続スペクトルを表さないことがある。
図4Bは、アクティビティメトリックおよび方向メトリックのための値の範囲を示す概念図である。図4Bの例では、方向メトリックは3つの個別判断(方向なし、水平、および垂直)を含む。方向なし、水平、および垂直を判断するための技法、ならびにアクティビティを判断するための技法については、以下でさらに詳細に説明する。図4Bの特定の例は、6つのフィルタ(すなわちフィルタ1、フィルタ2...フィルタ6)を示しているが、より多いまたはより少ないフィルタが同様に使用され得る。図4Bからわかるように、2つのメトリック(アクティビティおよび方向)は、組合せ421〜435として識別される、15個の組合せを作成する。ただし、いくつかの事例では、図4Bに明示的に示されていない追加の組合せも使用され得る。たとえば、アクティビティなしに対応する組合せが、対応するフィルタを同じく有する第16の組合せであり得る。
フィルタユニット349は、図4Aおよび図4Bの例示的なマッピングなど、フィルタと2つ以上のメトリックの範囲の組合せとのマッピングを記憶し、そのマッピングを使用して、CU中の特定のピクセルまたはピクセルのグループにフィルタのセットからのどのフィルタを適用すべきかを判断することができる。フィルタと2つ以上のメトリックの範囲の組合せとのマッピングは、たとえば、上記で説明したフィルタ選択プロセスの一部としてフィルタユニット349によって判断され得る。マッピングがどのように判断されるかにかかわらず、フィルタユニット349は、デコーダがマッピングを再構成することを可能にする情報を生成することができる。この情報は、範囲の組合せとフィルタとのマッピングをシグナリングするためにコード化ビットストリーム中に含まれ得る。シグナリングされる組合せと範囲とのマッピングは、範囲組合せをフィルタ識別IDにマッピングし得る。特定のフィルタのための実際の係数は別個にシグナリングされ得る。
この情報を生成するために、フィルタユニット349は最初に組合せのための送信順序を判断する。送信順序は、概して、範囲の組合せのためにフィルタがシグナリングされることになる順序を指す。一例として図4Aを使用すると、フィルタユニット349は、左から右へ、上から下への送信順序を使用し得、その場合、組合せ401のためのフィルタが最初にシグナリングされ、組合せ402のためのフィルタが第2にシグナリングされ、残りの組合せは、403=>404=>405=>406=>407=>408=>409=>410=>411=>412=>413=>414=>415=>416の順序でシグナリングされる。フィルタユニット349は、上から下へ、ジグザグの送信順序をも使用し得、その場合、組合せのためのフィルタは、401=>402=>403=>404=>408=>407=>406=>405=>409=>410=>411=>412=>416=>415=>414=>413の順序でシグナリングされる。フィルタユニット349は、上から下へ、左から右への送信順序をも使用し得、その場合、組合せのためのフィルタは、401=>405=>409=>413=>402=>406=>410=>414=>403=>407=>411=>415=>404=>408=>412=>416の順序でシグナリングされる。フィルタユニット349は、左から右へ、ジグザグの送信順序をも使用し得、その場合、組合せのためのフィルタは、401=>405=>409=>413=>414=>410=>406=>402=>403=>407=>411=>415=>416=>412=>408=>404の順序でシグナリングされる。図4Bを参照すると、フィルタユニット349は、送信順序が421=>422=>423=>424=>425=>426=>427=>428=>429=>430=>431=>432=>433=>434=>435であるように、左から右へ、下から上への送信順序を使用し得る。想像され得るように、これらは、可能である多くの送信順序のうちのわずか数個である。
本開示の技法によれば、フィルタユニット349は、デコーダにマッピングをシグナリングするために一連のコードワードを使用することができる。たとえば、フィルタユニット349は、復号されている現在の組合せが、第1のメトリックのための同じ範囲を共有する直近に復号された組合せと同じフィルタにマッピングするかどうかを示すための、第1のコードワードを生成することができる。復号されている現在の組合せが、第2のメトリックのための同じ範囲を共有する直近に復号された組合せと同じフィルタにマッピングする場合、フィルタユニット349は、第1のコードワードの代わりに第2のコードワードを生成することができる。復号されている現在の組合せが、これらの直近に復号された組合せのいずれかと同じフィルタにマッピングしない場合、フィルタユニット349は、第1のコードワードまたは第2のコードワードの代わりに、復号されている現在の組合せに対応するフィルタを示す第3のコードワードを生成することができる。本例の第1および第2のコードワードは、第3のコードワードと比較して比較的短いことがある。たとえば、第1のコードワードおよび第2のコードワードはそれぞれ2ビット(たとえばそれぞれ00および01)であり得、第3のコードワードはより多くのビット(1の第1のビット、+追加のビット)である。この特定のコンテキストでは、復号されている現在の組合せまたは復号されている前の組合せは、フィルタと範囲組合せとのマッピングがエンコーダによってシグナリングされているかまたはデコーダによって構成されている、符号化および復号プロセスの部分を指し、必ずしも組合せ自体の送信または復号を指すとは限らない。
次に、図4Aと、上から下へ、左から右への送信順序とを参照しながら、上記で説明した技法の例を与える。たとえば、組合せ407が、現在復号されている組合せである場合、組合せ406は、メトリック1のための同じ範囲を共有する直近に復号された組合せであり、組合せ403は、メトリック2のための同じ範囲を共有する直近に復号された組合せである。組合せ407が、第2のメトリックのための同じ範囲(すなわちメトリック2のための範囲2−3)を共有する直近に復号された組合せと同じフィルタ(図4A中のフィルタ7)にマッピングする場合、フィルタユニット349は、復号されている現在の組合せ(組合せ407)が、第2のメトリックのための同じ範囲を共有する直近に復号された組合せ(組合せ403)と同じフィルタにマッピングすることを示すための、第2のコードワード(たとえば01)を送信することができる。
たとえば、組合せ410が、復号されている現在の組合せである場合、組合せ409は、メトリック1のための同じ範囲を共有する直近に復号された組合せであり、組合せ406は、メトリック2のための同じ範囲を共有する直近に復号された組合せである。組合せ410が、第1のメトリックのための同じ範囲(すなわちメトリック1のための範囲1−2)を共有する直近に復号された組合せと同じフィルタ(図4A中のフィルタ2)にマッピングする場合、フィルタユニット349は、復号されている現在の組合せ(組合せ410)が、第1のメトリックのための同じ範囲を共有する直近に復号された組合せ(組合せ409)と同じフィルタ(フィルタ2)にマッピングすることを示すための、第1のコードワード(たとえば00)を送信することができる。
たとえば、組合せ411が、復号されている現在の組合せである場合、組合せ410は、メトリック1のための同じ範囲を共有する直近に復号された組合せであり、組合せ407は、メトリック2のための同じ範囲を共有する直近に復号された組合せである。組合せ411が、組合せ410または組合せ407のいずれかと同じフィルタにマッピングしない場合、フィルタユニット349は、復号されている現在の組合せ(組合せ411)が、メトリック1のための同じ範囲を共有する直近に復号された組合せとメトリック2のための同じ範囲を共有する直近に復号された組合せとの両方とは異なるフィルタ(フィルタ3)にマッピングすることを示すための、第3のコードワード(たとえば1+追加のビット)を送信することができる。
メトリック1のための同じ範囲を共有する組合せまたはメトリック2のための同じ範囲を共有する組合せがまだ復号されていない、現在の組合せの場合、それらのオプションは、利用不可能であると見なされ得るかまたは異なる組合せによって置き換えられ得る。たとえば、組合せ409が、復号されるべき現在の組合せである場合、組合せ405は、メトリック2のための同じ範囲を共有する直近に復号された組合せであるが、メトリック1のための範囲を共有する組合せはまだ復号されていない。そのような場合、メトリック1のための範囲を共有する直近に復号された組合せは、復号されている現在の組合せと同じフィルタにマッピングしないと仮定され得る。したがって、この場合、第1のコードワードは組合せ409のために使用されないことになる。代替的に、メトリック1のための範囲を共有する組合せは、直近に復号された組合せまたは異なる前に復号された組合せなど、別の組合せによって置き換えられ得る。そのような場合、組合せ409の前の直近に復号された組合せは、組合せ408であろう。したがって、組合せ408が組合せ409と同じフィルタにマッピングする場合、フィルタユニット349は第1のコードワードを生成することができる。メトリック1のための共通の範囲を共有する、前の組合せがまだ復号されていない、組合せのために、類似する技法が使用され得る。
メトリック1のための同じ範囲を共有する組合せもメトリック2のための同じ範囲を共有する組合せも復号されていない、送信順序における第1の組合せ(たとえば図4Aの例では組合せ401)の場合、フィルタユニット349は、第1の組合せにマッピングするフィルタを示すコードワードを生成することができる。そのフィルタは、たとえば、第3のコードワードを使用してシグナリングされ得るか、または異なる技法を使用してシグナリングされ得、その場合、本開示で説明する技法は、送信順序における第2の組合せまたはその後の組合せから始まり得る。
本開示の別の技法によれば、フィルタユニット349は、デコーダにマッピングをシグナリングするために一連のコードワードを使用することができる。いくつかの実装形態では、フィルタユニット349は、復号されている現在の組合せが、第1のメトリックのための同じ範囲を共有する直近に復号された組合せと同じフィルタにマッピングするかどうかを示すための、第1のコードワードを生成することができる。復号されている現在の組合せが、第1のメトリックのためのその範囲を共有する直近に復号された組合せと同じフィルタにマッピングしない場合、フィルタユニット349は、第1のコードワードの代わりに、復号されている現在の組合せにマッピングするフィルタを示す第2のコードワードを生成することができる。この例では、第1のコードワードは、第2のコードワードと比較して比較的短いことがある。たとえば、第1のコードワードは1ビット(たとえば0)であり得、第2のコードワードはより多くのビット(たとえば、1の第1のビット、+追加のビット)である。現在の組合せが、メトリック1またはメトリック2のいずれかのための同じ範囲を共有する、前に復号された組合せと同じフィルタにマッピングする場合、短いコードワードが生成され得る、前の技法とは異なり、本技法は、現在の組合せが、メトリック1のための同じ範囲を共有する、前に復号された組合せと同じフィルタにマッピングする場合、短いコードワードを生成することのみを含む。したがって、現在の組合せが、メトリック2のための同じ範囲を共有する、前に復号された組合せと同じフィルタにマッピングする場合でも、フィルタユニット349は、依然として第2のコードワード(たとえば1+追加のビット)を生成する。本開示では説明のためにメトリック1を使用しているが、メトリック2のみを使用して同じ技法が適用されることもある。
本開示のさらに別の技法によれば、フィルタユニット349は、デコーダにマッピングをシグナリングするために異なる一連のコードワードを使用することができる。たとえば、フィルタユニット349は、復号されている現在の組合せが、もしあれば、前に復号された組合せと共通してどの範囲を有するかにかかわらず、現在の組合せが、直近に復号された組合せと同じフィルタにマッピングするかどうかを示すための、第1のコードワードを生成することができる。復号されている現在の組合せが、直近に復号された組合せと同じフィルタにマッピングしない場合、フィルタユニット349は、現在の組合せにマッピングするフィルタを識別する第2のコードワードを生成することができる。この特定の実装形態では、第1のコードワードは、第2のコードワードと比較して比較的短いことがある。たとえば、第1のコードワードは1ビット(たとえば0)であり得、第2のコードワードはより多くのビット(たとえば、1の第1のビット、+追加のビット)である。
再び、図4Aと、上から下へ、左から右への送信順序との例を使用すると、組合せ401は、組合せ402が現在復号されている場合、直近に復号された組合せとなり、組合せ402は、組合せ403が現在の組合せである場合、直近に復号された組合せとなり、以下同様である。404は、組合せ405が復号されている現在の組合せである場合、直近に復号された組合せとなる。したがって、フィルタユニット349は、組合せ402が組合せ401と同じフィルタにマッピングする場合、組合せ403が組合せ402と同じフィルタにマッピングする場合など、第1のコードワードを生成することができる。他の場合、フィルタユニット349は、現在の組合せにマッピングするフィルタを識別する第2のコードワードを生成することができる。
本開示のさらに別の技法によれば、フィルタユニット349は、フィルタと組合せとのマッピングをシグナリングするために2つのコードワードを使用することができる。現在の組合せが前の組合せと同じフィルタを使用することをシグナリングするために、「0」などの第1のコードワードが使用され得る。現在の組合せが前の組合せとは異なるフィルタを有することをシグナリングするために、「1」などの第2のコードワードが使用され得る。ただし、第2のコードワードは新しいフィルタを識別する必要がない。代わりに、新しいフィルタは、クラスのための送信順序とフィルタ係数が送信される順序とに基づいて判断され得る。一例として、図4Bについて上記で説明した、左から右へ、下から上への送信順序を使用すると、コードワードはそれに応じて、421(0)=>422(0)=>423(1)=>424(0)=>425(0)=>426(0)=>427(0)=>428(1)=>429(0)=>430(0)=>431(0)=>432(1)=>433(0)=>434(0)=>435(0)、のように送信され得、丸括弧中の番号はその組合せのためのコードワードを表す。この例では、組合せ421〜422は第1のフィルタにマッピングされることになり、組合せ423〜427は第2のフィルタにマッピングされることになり、組合せ428〜431は第3のフィルタにマッピングされることになり、組合せ432〜435は第4のフィルタにマッピングされることになる。第1のフィルタ、第2のフィルタ、第3のフィルタ、および第4のフィルタのための係数は、フィルタ係数のセットがシグナリングされる順序に対応することができ、その場合、シグナリングされるフィルタ係数の第1のセットは第1のフィルタに対応し、シグナリングされるフィルタ係数の第2のセットは第2のフィルタに対応し、以下同様である。フィルタ係数のセットを送信するための順序を判断することについて、以下でより詳細に説明する。
フィルタと範囲の組合せとのマッピングをシグナリングするための、本開示で説明する様々な技法は、相互排他的な代替形態でなく、むしろ、互いと併せて使用され得る。たとえば、いくつかの実装形態では、いくつかの組合せは第1の技法を使用してシグナリングされ得、他の組合せは第2の技法を使用してシグナリングされる。一例として、メトリック1のための同じ範囲を共有する組合せまたはメトリック2のための同じ範囲を共有する組合せのうちの一方がまだ復号されていない場合(たとえば組合せ402、403、404、405、409、および413)、フィルタユニット349は第1の技法を使用し得る。メトリック1のための同じ範囲を共有する組合せとメトリック2のための同じ範囲を共有する組合せとの両方が復号されている場合(たとえば組合せ406、407、408、410、411、412、414、415、および416)、第2の技法が使用され得る。さらに、上記で説明した第1、第2、および第3のコードワードのいずれかのために使用されるコードワードは、固定長コードワード、可変長コードワード、またはコンテキスト適応型可変長コードワードのいずれかであり得る。
デコーダがフィルタと範囲の組合せとのマッピングを再構成することを可能にする情報を生成することに加えて、フィルタユニット349は、デコーダがフィルタ自体を再構成することを可能にする情報をも生成する。フィルタを再構成することは、フィルタのフィルタ係数を再構成することを含む。以下でより詳細に説明するように、フィルタユニット349は、フィルタ係数をシグナリングするために差分コーディング技法を使用することができる。差分コーディング技法を使用するために、フィルタユニット349は、フィルタ係数のセットをシグナリングすべき順序を判断する。
その順序を判断することの一部として、フィルタユニット349は、範囲の各組合せのための連続値を表す組合せ識別情報(ID)を判断する。一例として図4Aを使用すると、組合せは、左から右へ、上から下への順序で連続値を表す組合せIDを割り当てられ得、その場合、組合せ401は第1の連続値を割り当てられることになり、組合せ402は第2の連続値を割り当てられことになり、残りの組合せは、403=>404=>405=>406=>407=>408=>409=>410=>411=>412=>413=>414=>415=>416の順序での連続値を割り当てられることになる。フィルタユニット349は、上から下へ、ジグザグの順序をも使用して組合せIDを割り当て得、その場合、組合せは、401=>402=>403=>404=>408=>407=>406=>405=>409=>410=>411=>412=>416=>415=>414=>413の順序である連続値をもつ組合せIDを割り当てられることになる。フィルタユニット349は、上から下へ、左から右への順序をも使用して組合せIDを割り当て得、その場合、組合せは、401=>405=>409=>413=>402=>406=>410=>414=>403=>407=>411=>415=>404=>408=>412=>416の順序である連続値をもつ組合せIDを割り当てられる。フィルタユニット349は、左から右へ、ジグザグの順序をも使用し得、その場合、組合せは、401=>405=>409=>413=>414=>410=>406=>402=>403=>407=>411=>415=>416=>412=>408=>404の順序での連続値をもつ組合せIDを割り当てられる。想像され得るように、これらは、使用され得る多くの順序のうちのわずか数個である。さらに、説明した順序のいずれも、最低から最高へ、または最高から最低へのいずれかであり得る。
フィルタユニット349がフィルタと範囲組合せとのマッピングを判断した後、フィルタユニット349は、同じフィルタにマッピングされた範囲組合せのグルーピングを識別することができる。一例として図4Aを使用すると、グルーピングは以下のようなグルーピングであろう。
フィルタ1のグループ:組合せ413、414、および415
フィルタ2のグループ:組合せ409、410
フィルタ3のグループ:組合せ411および412
フィルタ4のグループ:組合せ416
フィルタ5のグループ:組合せ401および405
フィルタ6のグループ:組合せ402および406
フィルタ7のグループ:組合せ403および407
フィルタ8のグループ:組合せ404および408。
フィルタユニット349は次いで各グループにグループIDを割り当てることができ、グループIDは連続値を表すことができる。グループIDは、そのグループを備える組合せに関連する連続値に基づいてグループに割り当てられ得る。たとえば、組合せIDに基づく最低の関連する連続値をもつ組合せを有するグループは、最低連続値をもつグループIDを割り当てられ得る。残りのグループのうち、最低の関連する連続値をもつ組合せを有する残りのグループは、次の最低連続値をもつグループIDを割り当てられ得る。このプロセスは、すべてのグループがグループIDを割り当てられるまで繰り返すことができる。いくつかの実装形態では、グループIDは、最低ではなく最高の関連する連続値をもつ組合せに基づいて割り当てられ得る。いくつかの実装形態では、組合せIDに基づく最低の関連する連続値をもつ組合せを有するグループは、最高連続値をもつグループIDを割り当てられ得、またはその逆も同様である。
再び、一例として図4Aを使用すると、および組合せ401〜416が、左から右へ、上から下への順序での連続値をもつ組合せIDを割り当てられると仮定すると、フィルタユニット349は、以下で表1に示すように、フィルタグループにグループIDを割り当てることができる。
表1に示す図4Aの例では、フィルタユニット349は、フィルタ5のグループが、最低連続値をもつ範囲組合せ(すなわち、組合せ401)を含むので、フィルタ5のグループに最低連続値をもつグループIDを割り当てる。フィルタユニット349は、残りのフィルタグループ(すなわちフィルタ5のグループを除くすべてのグループ)のうち、フィルタ6のグループが、第2の最低連続値をもつ範囲組合せ(すなわち、組合せ402)を含むので、フィルタ6のグループに第2の最低連続値をもつグループIDを割り当てる。フィルタユニット349は、残りのフィルタグループ(すなわちフィルタ5のグループとフィルタ6のグループとを除くすべてのフィルタグループ)のうち、フィルタ7のグループが、最低連続値をもつ範囲組合せ(すなわち、組合せ403)を含むので、フィルタ7のグループに第3の最低連続値をもつグループIDを割り当てる。フィルタユニット349は、残りのフィルタグループ(すなわちフィルタ5のグループと、フィルタ6のグループと、フィルタ7のグループとを除くすべてのフィルタグループ)のうち、フィルタ8のグループが、第4の最低連続値をもつ範囲組合せ(組合せ404)を含むので、フィルタ8のグループに第4の最低連続値をもつグループIDを割り当てる。フィルタユニット349は、残りのフィルタグループのうち(すなわちフィルタ5のグループと、フィルタ6のグループと、フィルタ7のグループと、フィルタ8のグループとを除いて)、フィルタ2のグループが、最低連続値をもつ範囲組合せ(組合せ409)を含むので、フィルタ2のグループに第5の最低連続値をもつグループIDを割り当てる。フィルタユニット349は、残りのフィルタグループのうち(すなわちフィルタ5のグループと、フィルタ6のグループと、フィルタ7のグループと、フィルタ8のグループと、フィルタ2のグループとを除いて)、フィルタ3のグループが、最低連続値をもつ範囲組合せ(組合せ411)を含むので、フィルタ3のグループに第6の最低連続値をもつグループIDを割り当てる。フィルタユニット349は、残りのフィルタグループのうち(すなわちフィルタ5のグループと、フィルタ6のグループと、フィルタ7のグループと、フィルタ8のグループと、フィルタ2のグループと、フィルタ3のグループとを除いて)、フィルタ1のグループが、最低連続値をもつ範囲組合せ(組合せ413)を含むので、フィルタ1のグループに第7の最低連続値をもつグループIDを割り当てる。最後に、フィルタユニット349は、最後の残りのフィルタグループであるフィルタ4のグループに、最高連続値をもつグループID(この特定の例では8)を割り当てる。
フィルタグループIDに基づいて、フィルタユニット349は、フィルタのフィルタ係数をシグナリングすべき順序を判断する。再び、図4Aと表1との例を使用すると、フィルタユニット349は、最初にフィルタ5のための係数をシグナリングし、次いでフィルタ6のための係数をシグナリングし、次いでフィルタ7のための係数をシグナリングし、次いでフィルタ8のための係数をシグナリングし、次いでフィルタ2のための係数をシグナリングし、次いでフィルタ3のための係数をシグナリングし、次いでフィルタ1のための係数をシグナリングし、最後にフィルタ4のための係数をシグナリングする。本開示で説明する、差分コーディング技法を使用して、フィルタユニット349は、グループIDの順番に基づいて、フィルタ5のフィルタ係数に対する差分情報としてフィルタ6のための係数をコーディングし、フィルタ6のためのフィルタ係数に対する差分情報としてフィルタ7のための係数をコーディングし得、以下同様である。
入力のための2つ以上のメトリックとフィルタとのマッピングは複数の方法で実装され得る。たとえば、いくつかの実装形態では、各入力はフィルタのユニークなセットを有し得るが、いくつかの実装形態では、入力はフィルタの共通のセットを共有する。さらに、いくつかの実装形態では、各入力のための2つ以上のメトリックが、各入力のための特定のフィルタを識別するために使用され得る。しかしながら、他の実装形態では、単一の入力のための2つ以上のメトリックが、すべての入力のためのフィルタを識別するために使用され得る。さらに他の実装形態では、第1の入力のための2つ以上のメトリックが、第2の異なる入力のためのフィルタを識別するために使用され得る。
本開示によれば、フィルタユニット349は、フィルタ情報を符号化し、それをエンコーダ350から別のデバイスに搬送するために必要とされるデータの量を低減し得る、フィルタ情報に関するコーディング技法を実行し得る。この場合も、各フレームまたはスライスのために、フィルタユニット349は、そのフレームまたはスライスのCUのピクセルに適用されるべきフィルタ係数の1つまたは複数のセットを定義または選択し得る。フィルタユニット349は、フィルタ係数を適用して、メモリ334に記憶される再構成ビデオフレームのビデオブロックをフィルタ処理し、それらのビデオブロックは、ループ内フィルタ処理に従って予測コーディングのために使用され得る。フィルタユニット349は、フィルタ係数をフィルタ情報として符号化することができ、フィルタ情報は、符号化ビットストリーム中に含めるためにエントロピー符号化ユニット346にフォワーディングされる。
さらに、本開示の技法は、FSU353によって定義または選択されるフィルタ係数の一部が、別のフレームまたはスライスのCUのピクセルに対して適用される他のフィルタ係数に極めて類似していることがあることを活用し得る。同じタイプのフィルタ(たとえば、同じフィルタサポート)が異なるフレームまたはスライスに対して適用され得るが、フィルタは、フィルタサポートの異なるインデックスに関連するフィルタ係数値に関して異なり得る。したがって、そのようなフィルタ係数を搬送するために必要とされるデータの量を低減するために、フィルタユニット349は、フィルタ係数間の類似性を潜在的に活用して、別のCUのフィルタ係数に基づいて、フィルタ処理のために使用されるべき1つまたは複数のフィルタ係数を予測的に符号化し得る。しかしながら、場合によっては、たとえば、予測を使用せずに、フィルタ係数を直接符号化することがより望ましいことがある。予測コーディング技法を使用してフィルタ係数を符号化すべきときと、予測コーディングなしにフィルタ係数を直接符号化すべきときとを定義するためにアクティビティメトリックの使用を活用する技法など、様々な技法がフィルタ係数をデコーダに効率的に通信するために使用され得る。さらに、係数の完全セット(たとえば、5,−2,10,10,−2,5)を定義するために、デコーダによって知られている係数のサブセット(たとえば、5,−2,10)が使用され得るように、対称性も課され得る。対称性は、直接コーディングシナリオと予測コーディングシナリオの両方において課され得る。
上記で説明したように、ビデオエンコーダ350は、ピクセルのブロック内のピクセルのグループのための第1のメトリックを判断することと、ピクセルのグループのための第2のメトリックを判断することと、第1のメトリックと第2のメトリックとに基づいてフィルタを判断することと、ピクセルのグループにフィルタを適用することによってフィルタ処理済み画像を生成することとを行うように構成されたビデオエンコーダの一例を表す。ビデオエンコーダ350はまた、ピクセルのブロックのための第1のメトリックを判断することであって、第1のメトリックが、ブロック中のピクセルのサブセットとブロック中の他のピクセルとの比較に基づいて判断される、第1のメトリックを判断することと、ピクセルのブロックのための第2のメトリックを判断することと、第1のメトリックと第2のメトリックとに基づいてフィルタを判断することと、ピクセルのブロックにフィルタを適用することによってフィルタ処理済み画像を生成することとを行うように構成されたビデオエンコーダの一例を表す。
上記で説明したように、ビデオエンコーダ350はまた、範囲組合せとフィルタとのマッピングを判断することであって、範囲組合せが、第1のメトリックのための範囲と第2のメトリックのための範囲とを備え、各範囲組合せが、ユニークな範囲組合せ識別情報(ID)を有し、各ユニークな範囲組合せIDが、範囲組合せのための連続値に対応する、判断することと、範囲組合せのための連続値に基づいて範囲組合せのグループにユニークなグループIDを割り当てることであって、各ユニークなグループIDが、グループのための連続値に対応する、割り当てることと、ユニークなグループIDに基づいてフィルタに対応するフィルタ係数のセットをコーディングすることとを行うように構成されたビデオエンコーダの一例を表す。ビデオエンコーダ350は、ユニークなグループIDの連続値に基づいて選択された順序で、コード化ビットストリーム中でフィルタ係数のセットをシグナリングすることによって、フィルタ係数のセットをコーディングすることができる。ビデオエンコーダ350は、差分コーディング技法を使用してフィルタ係数のセットをシグナリングすることができる。
上記で説明したように、ビデオエンコーダ350はまた、範囲組合せとフィルタとのマッピングを判断することであって、範囲組合せが、第1のメトリックのための値の範囲と第2のメトリックのための値の範囲とを備える、判断することと、現在の範囲組合せが、第1のメトリックのための値の同じ範囲を備える、前の範囲組合せと同じフィルタにマッピングされる場合、第1のコードワードを生成することと、現在の範囲組合せが、第2のメトリックのための値の同じ範囲を備える、前の範囲組合せと同じフィルタにマッピングされる場合、第2のコードワードを生成することと、現在の範囲組合せが、第1のメトリックのための値の同じ範囲を備える、前の範囲組合せ、および第2のメトリックのための値の同じ範囲を備える、前の範囲組合せとは異なるフィルタにマッピングされる場合、第3のコードワードを生成することとを行うように構成されたビデオエンコーダの一例を表す。ビデオエンコーダ350はまた、範囲組合せとフィルタとのマッピングを判断することであって、範囲組合せが、第1のメトリックのための範囲と第2のメトリックのための範囲とを備える、判断することと、現在の範囲組合せが前の範囲組合せと同じフィルタにマッピングされる場合、第1のコードワードを生成することと、現在の範囲組合せが前の範囲組合せとは異なるフィルタにマッピングされる場合、第2のコードワードを生成することであって、第2のコードワードが、現在の範囲組合せにマッピングされたフィルタを識別する、第2のコードワードを生成することとを行うように構成されたビデオエンコーダの一例を表す。
図5は、本明細書で説明する方法で符号化されたビデオシーケンスを復号するビデオデコーダ560の一例を示すブロック図である。受信されたビデオシーケンスは、画像フレームの符号化されたセット、フレームスライスのセット、一般にコード化されたピクチャのグループ(GOP)を備え得、または符号化ビデオブロックと、そのようなビデオブロックを復号する方法を定義するためのシンタックスとを含む、多種多様なタイプの一連のビデオブロックを備え得る。
ビデオデコーダ560は、図3のエントロピー符号化ユニット346によって実行される符号化の逆の復号機能を実行するエントロピー復号ユニット552を含む。詳細には、エントロピー復号ユニット552は、CAVLCまたはCABAC復号、あるいはビデオエンコーダ350によって使用された他のタイプのエントロピー復号を実行し得る。1次元シリアル化フォーマットのエントロピー復号されたビデオブロックは、係数の1つまたは複数の1次元ベクトルを変換して2次元ブロックフォーマットに戻すために逆走査され得る。ベクトルの数およびサイズ、ならびにビデオブロックのために定義された走査順序は、2次元ブロックがどのように再構成されるかを定義し得る。エントロピー復号された予測シンタックスは、エントロピー復号ユニット552から予測モジュール554に送られ得、エントロピー復号されたフィルタ情報は、エントロピー復号ユニット552からフィルタユニット559に送られ得る。
ビデオデコーダ560はまた、予測モジュール554と、逆量子化ユニット556と、逆変換ユニット558と、メモリと、加算器564とを含む。さらに、ビデオデコーダ560は、加算器564の出力をフィルタ処理するデブロッキングフィルタ557をも含む。本開示に従って、フィルタユニット559は、1つまたは複数の入力に適用されるべき1つまたは複数のフィルタを含むエントロピー復号されたフィルタ情報を受信し得る。図5には示されていないが、デブロッキングフィルタ557も、適用されるべき1つまたは複数のフィルタを含むエントロピー復号されたフィルタ情報を受信し得る。
フィルタユニット559によって適用されるフィルタは、フィルタ係数のセットによって定義され得る。フィルタユニット559は、エントロピー復号ユニット552から受信されたフィルタ情報に基づいてフィルタ係数のセットを生成するように構成され得る。フィルタ情報は、たとえば、フィルタのセット中のフィルタの最大数および/またはフィルタのセット中のフィルタの形状を識別する、フィルタ記述シンタックスを含み得る。フィルタ記述シンタックスは、一連のビデオブロックのヘッダ、たとえば、LCUヘッダ、フレームヘッダ、スライスヘッダ、GOPヘッダ、シーケンスヘッダなどの中に含まれ得る。他の例では、フィルタ記述シンタックスは、フッタまたは他のデータ構造中に含まれ得る。フィルタ記述シンタックスに基づいて、フィルタユニット559は、エンコーダにおいて使用されたフィルタのセットを再構成することができる。
フィルタ情報は、係数の所与のセットのために使用された符号化の方法をデコーダにシグナリングする追加のシグナリングシンタックスをも含み得る。いくつかの実装形態では、フィルタ情報は、たとえば、係数の所与のセットが使用されるべき2つ以上のメトリックのための範囲をも含み得る。フィルタの復号の後に、フィルタユニット559は、フィルタ係数の1つまたは複数のセットと、フィルタ係数の異なるセットが使用されるべき範囲を含むシグナリングシンタックスとに基づいて、復号されたビデオブロックのピクセル値をフィルタ処理することができる。
フィルタユニット559は、各フレームまたはスライスのためのフィルタのセットを示す1つまたは複数のシンタックス要素、ならびにフィルタと2つ以上のメトリックとのマッピングを、ビットストリーム中で受信し得る。たとえば、エンコーダが、図4Aに示したメトリックのための範囲とフィルタとのマッピングを使用する場合、エンコーダは、このマッピングをシグナリングするか、またはフィルタユニット559がこのマッピングを再構成することを可能にするためのデータを送信することになる。このマッピングが明示的にシグナリングされるか否かにかかわらず、フィルタユニット559は、エンコーダによって使用されたのと同じ、フィルタと範囲の組合せとのマッピングを維持することができる。
上述のように、フィルタユニット559は、ビットストリーム中でシグナリングされたフィルタ情報に基づいてマッピングを生成する。このマッピングに基づいて、フィルタユニット559は、フィルタユニット349に関して上記で説明したのと同じ方法でグループを判断し、それらのグループにグループIDを割り当てることができる。これらのグループIDを使用して、フィルタユニット559は、受信されたフィルタ係数を関連付けることができる。
フレームまたはスライス内の各CUについて、フィルタユニット559は、(1つまたは複数の)セットのどの(1つまたは複数の)フィルタを各入力に適用すべきかを判断するために、複数の入力(すなわち、PI、EI、pRI、およびRI)のためのCUの復号されたピクセルに関連する1つまたは複数のメトリックを計算することができる。代替的に、フィルタユニット559は、pRIまたはRIなど、単一の入力のための1つまたは複数のメトリックを計算し得る。フィルタユニット559は、特定のピクセルまたはピクセルのグループについて判断されたメトリックに基づいてどのフィルタを適用すべきかを判断する。メトリック1とメトリック2とについての例として和修正ラプラシアン値と方向とを使用すると、および一例として図4Aに示したマッピングを使用すると、フィルタユニット559が、ピクセルまたはピクセルのグループが範囲1−2中の和修正ラプラシアン値と範囲2−3に対応する方向とを有すると判断した場合、フィルタユニット559は、そのピクセルまたはピクセルのグループにフィルタ2を適用することができる。フィルタユニット559が、ピクセルまたはピクセルのグループが範囲1−4中の和修正ラプラシアン値と範囲2−2に対応する方向とを有すると判断した場合、フィルタユニット559は、そのピクセルまたはピクセルのグループにフィルタ6を適用することができる、などである。フィルタは、概して、任意のタイプのフィルタサポート形状または構成をとり得る。フィルタサポートは、フィルタ処理されている所与のピクセルに関するフィルタの形状を指し、フィルタ係数は、フィルタサポートに従って隣接ピクセル値に適用される重み付けを定義し得る。本開示の技法によれば、シンタックスデータは、フィルタを符号化した方法(たとえば、フィルタ係数を符号化した方法)、ならびに異なるフィルタが使用されるべきアクティビティメトリックの範囲をデコーダにシグナリングするために、ビットストリーム中に含まれ得る。
フレームまたはスライス内の各CUについて、フィルタユニット559は、(1つまたは複数の)セットのどの(1つまたは複数の)フィルタを各入力に適用すべきかを判断するために、複数の入力(すなわち、PI、EI、pRI、およびRI)のためのCUの復号されたピクセルに関連する1つまたは複数のメトリックを計算することができる。代替的に、フィルタユニット559は、pRIまたはRIなど、単一の入力のための1つまたは複数のメトリックを計算し得る。フィルタユニット559は、特定のピクセルまたはピクセルのグループについて判断されたメトリックに基づいてどのフィルタを適用すべきかを判断する。メトリック1とメトリック2とについての例として和修正ラプラシアン値と方向とを使用すると、および一例として図4Aに示したマッピングを使用すると、フィルタユニット559が、ピクセルまたはピクセルのグループが範囲1−2中の和修正ラプラシアン値と範囲2−3に対応する方向とを有すると判断した場合、フィルタユニット559は、そのピクセルまたはピクセルのグループにフィルタ2を適用することができる。フィルタユニット559が、ピクセルまたはピクセルのグループが範囲1−4中の和修正ラプラシアン値と範囲2−2に対応する方向とを有すると判断した場合、フィルタユニット559は、そのピクセルまたはピクセルのグループにフィルタ6を適用することができる、などである。フィルタは、概して、任意のタイプのフィルタサポート形状または構成をとり得る。フィルタサポートは、フィルタ処理されている所与のピクセルに関するフィルタの形状を指し、フィルタ係数は、フィルタサポートに従って隣接ピクセル値に適用される重み付けを定義し得る。本開示の技法によれば、シンタックスデータは、フィルタを符号化した方法(たとえば、フィルタ係数を符号化した方法)、ならびに異なるフィルタが使用されるべきアクティビティメトリックの範囲をデコーダにシグナリングするために、ビットストリーム中に含まれ得る。
予測モジュール554は、エントロピー復号ユニット552から(動きベクトルなどの)予測シンタックスを受信する。予測シンタックスを使用して、予測モジュール554は、ビデオブロックをコーディングするために使用された予測ブロックを生成する。逆量子化ユニット556は逆量子化を実行し、逆変換ユニット558は、逆変換を実行して、残差ビデオブロックの係数をピクセル領域に戻す。加算器564は、ビデオブロックを再構成するために、各予測ブロックを、逆変換ユニット558によって出力された対応する残差ブロックと結合する。
フィルタユニット559は、CUの各入力に対して適用されるべきフィルタ係数を生成し、次いで、そのようなフィルタ係数を適用して、そのCUの再構成ビデオブロックをフィルタ処理する。フィルタ処理は、たとえば、エッジを平滑化し、および/またはビデオブロックに関連するアーティファクトをなくす追加のデブロックフィルタ処理、量子化雑音を低減するための雑音除去フィルタ処理、あるいはコーディング品質を改善することができる他のタイプのフィルタ処理を備え得る。フィルタ処理済みビデオブロックは、ビデオ情報の復号されたフレーム(または他の復号可能なユニット)を再構成するためにメモリ562に蓄積される。復号されたユニットは、ユーザへのプレゼンテーションのためにビデオデコーダ560から出力され得るが、また、後続の予測復号において使用するために記憶され得る。
ビデオコーディングの分野では、復号されたビデオ信号の品質を向上させるために、エンコーダおよびデコーダにおいてフィルタ処理を適用することが通例である。フィルタ処理はポストフィルタを介して適用され得、その場合、フィルタ処理済みフレームは将来のフレームの予測のためには使用されない。代替的に、フィルタ処理は「ループ内」で適用され得、その場合、フィルタ処理済みフレームは、将来のフレームを予測するために使用され得る。望ましいフィルタは、原信号と復号されたフィルタ処理済み信号との間の誤差を最小限に抑えることによって設計され得る。一般に、そのようなフィルタ処理は、再構成画像に対して1つまたは複数のフィルタを適用することに基づいている。たとえば、再構成画像がメモリに記憶されるより前にその画像にデブロッキングフィルタが適用され得るか、または再構成画像がメモリに記憶されるより前にその画像にデブロッキングフィルタと1つの追加のフィルタとが適用され得る。
変換係数の量子化と同様の方法で、フィルタh(k,l)の係数も量子化され得、k=−K,...,Kであり、l=−L,...,Lである。KおよびLは、整数値を表し得る。フィルタh(k,l)の係数は、次のように量子化され得る。
上式で、normFactは正規化ファクタであり、roundは、所望のビット深度への量子化を達成するために実行される丸め演算である。フィルタ係数の量子化は、符号化中に図3のフィルタユニット349によって実行され得、逆量子化(de-quantization)または逆量子化(inverse quantization)は、図5のフィルタユニット559によって、復号されたフィルタ係数に対して実行され得る。フィルタh(k,l)は、任意のフィルタを一般的に表すものとする。たとえば、フィルタh(k,l)は、複数の入力のうちのいずれか1つに適用され得る。いくつかの事例では、ビデオブロックに関連する複数の入力は異なるフィルタを利用し、その場合、h(k,l)と同様の複数のフィルタが、上記で説明したように量子化および逆量子化され得る。
量子化されたフィルタ係数は符号化され、符号化ビットストリームの一部として、エンコーダ350に関連するソースデバイスからデコーダ560に関連する宛先デバイスに送られる。上記の例では、normFactの値は通常2nに等しいが、他の値が使用され得る。normFactの値が大きいほど、量子化は正確になり、量子化されたフィルタ係数f(k,l)はより良好な性能を与えることになる。しかしながら、normFactのより大きい値は、デコーダにシグナリングするためにより多くのビットを必要とする係数f(k,l)を生成し得る。
デコーダ560において、復号されたフィルタ係数f(k,l)が適切な入力に適用され得る。たとえば、復号されたフィルタ係数がRIに適用されるべき場合、フィルタ係数は、以下のようにデブロック後再構成画像RI(i,j)に適用され得、i=0,...,Mであり、j=0,..,Nである。
変数M、N、KおよびLは、整数を表し得る。KおよびLは、−KからKまでおよび−LからLまでの2つの次元にわたるピクセルのブロックを定義し得る。他の入力に適用されるフィルタは、類似する方法で適用され得る。
本開示の技法は、ポストフィルタまたはループ内フィルタの性能を改善し得、また、フィルタ係数f(k,l)をシグナリングするために必要とされるビット数を低減し得る。場合によっては、各一連のビデオブロックのための、たとえば、各フレーム、スライス、フレームの部分、フレームのグループ(GOP)などのための、いくつかの異なるポストフィルタまたはループ内フィルタがデコーダにシグナリングされる。各フィルタについて、所与のフィルタが適用されるべきCU、マクロブロックおよび/またはピクセルを識別するための追加情報がビットストリーム中に含められる。
フレームは、フレーム番号および/またはフレームタイプ(たとえば、Iフレーム、PフレームまたはBフレーム)によって識別され得る。Iフレームは、イントラ予測されるイントラフレームを指す。Pフレームは、データの1つのリスト(たとえば、1つの前のフレーム)に基づいて予測されるビデオブロックを有する予測フレームを指す。Bフレームは、データの2つのリスト(たとえば、前および後続のフレーム)に基づいて予測される双方向予測フレームを指す。マクロブロックは、マクロブロックタイプ、および/またはマクロブロックを再構成するために使用される量子化パラメータ(QP)値の範囲をリストすることによって識別され得る。
入力のためのフィルタ係数f(k,l)は、前のCUのためにシグナリングされた係数からの予測を使用してコーディングされ得る。CU m(たとえば、各フレーム、スライスまたはGOP)の各入力のために、エンコーダは、以下のM個のフィルタのセットを符号化し、送信し得る。
各フィルタについて、フィルタが使用されるべき2つ以上のメトリックのための範囲の組合せを識別するためにビットストリームも符号化され得る。
フィルタ係数は、前のCUにおいて使用された再構成フィルタ係数を使用して予測され得る。前のフィルタ係数は、次のように表され得る。
この場合、CUの番号nは、現在のフィルタの予測のために使用される1つまたは複数のフィルタを識別するために使用され得、番号nは、符号化ビットストリームの一部としてデコーダに送られ得る。さらに、予測コーディングが使用される2つ以上のメトリックのための範囲の組合せを識別するための情報が符号化され、デコーダに送信され得る。
フィルタ係数g(k,l)の振幅は、k値とl値とに依存する。通常、最大振幅をもつ係数は、係数g(0,0)である。大きい振幅を有することが予想される他の係数は、kまたはlの値が0に等しい係数である。この現象は、係数をシグナリングするために必要とされるビットの量をさらに低減するために利用され得る。インデックス値kおよびlは、既知のフィルタサポート内のロケーションを定義し得る。
各フレームmのための係数
は、パラメータpに従って定義されるゴロムコードまたは指数ゴロムコードなどのパラメータ化可変長コードを使用してコーディングされ得る。パラメータ化可変長コードを定義するパラメータpの値を変更することによって、これらのコードを使用して、広範囲のソース分布を効率的に表すことができる。係数g(k,l)の分布(すなわち、大きい値または小さい値を有するそれらの可能性)は、kとlの値に依存する。したがって、コーディング効率を高めるために、各フレームmのために、各ペア(k,l)のパラメータpの値が送信される。パラメータpは、以下の係数を符号化するときにパラメータ化可変長コーディングのために使用され得る。
上記で説明したように、ビデオデコーダ560は、ピクセルのブロック内のピクセルのグループのための第1のメトリックを判断することと、ピクセルのグループのための第2のメトリックを判断することと、第1のメトリックと第2のメトリックとに基づいてフィルタを判断することと、ピクセルのグループにフィルタを適用することによってフィルタ処理済み画像を生成することとを行うように構成されたビデオデコーダの一例を表す。ビデオデコーダ560はまた、ピクセルのブロックのための第1のメトリックを判断することであって、第1のメトリックが、ブロック中のピクセルのサブセットとブロック中の他のピクセルとの比較に基づいて判断される、第1のメトリックを判断することと、ピクセルのブロックのための第2のメトリックを判断することと、第1のメトリックと第2のメトリックとに基づいてフィルタを判断することと、ピクセルのブロックにフィルタを適用することによってフィルタ処理済み画像を生成することとを行うように構成されたビデオエンコーダの一例を表す。
上記で説明したように、ビデオデコーダ560はまた、範囲組合せとフィルタとのマッピングを判断することであって、範囲組合せが、第1のメトリックのための範囲と第2のメトリックのための範囲とを備え、各範囲組合せが、ユニークな範囲組合せ識別情報(ID)を有し、各ユニークな範囲組合せIDが、範囲組合せのための連続値に対応する、判断することと、範囲組合せのための連続値に基づいて範囲組合せのグループにユニークなグループIDを割り当てることであって、各ユニークなグループIDが、グループのための連続値に対応する、割り当てることと、ユニークなグループIDに基づいてフィルタに対応するフィルタ係数のセットをコーディングすることとを行うように構成されたビデオデコーダの一例を表す。ビデオデコーダ560は、コード化ビットストリーム中で受信された情報に基づいてフィルタ係数のセットを生成することによってフィルタ係数のセットをコーディングすることができる。ビデオデコーダ560は、差分コーディング技法を使用してフィルタ係数のセットを生成することができる。
ビデオデコーダ560はまた、第1の範囲組合せを第1のフィルタにマッピングすることであって、第1の範囲組合せが、第1のメトリックのための値の第1の範囲と第2のメトリックのための値の第1の範囲とを備える、マッピングすることと、第2の範囲組合せを第2のフィルタにマッピングすることであって、第2の範囲組合せが、第1のメトリックのための値の第2の範囲と第2のメトリックのための値の第2の範囲とを備える、マッピングすることと、現在の範囲組合せをフィルタにマッピングすることであって、現在の範囲組合せが、第1のメトリックの値の第1の範囲と第2のメトリックのための値の第2の範囲とを備える、マッピングすることとを行うように構成されたビデオデコーダの一例を表す。現在の範囲組合せをフィルタにマッピングすることは、現在の範囲組合せが第1の範囲組合せと同じフィルタにマッピングされることを示す第1のコードワードを受信したことに応答して、現在の範囲組合せを第1のフィルタにマッピングすることと、現在の範囲組合せが第2の組合せと同じフィルタにマッピングされることを示す第2のコードワードを受信したことに応答して、現在の範囲組合せを第2のフィルタにマッピングすることと、第3のフィルタを識別する第3のコードワードを受信したことに応答して、現在の範囲組合せをその第3のフィルタにマッピングすることとを含むことができる。ビデオデコーダ560はまた、範囲組合せとフィルタとのマッピングを生成することであって、範囲組合せが、第1のメトリックのための範囲と第2のメトリックのための範囲とを備える、生成することと、現在の範囲組合せが前の範囲組合せと同じフィルタにマッピングされることをシグナリングする第1のコードワードを受信したことに応答して、現在の範囲組合せを前の範囲組合せと同じフィルタにマッピングすることと、現在の範囲組合せが前の範囲組合せとは異なるフィルタにマッピングされることをシグナリングする第2のコードワードを受信したことに応答して、現在の範囲組合せを第2のコードワードによって識別されるフィルタにマッピングすることとを行うように構成されたビデオデコーダの一例を表す。
上記で紹介したように、本開示で説明する複数メトリックフィルタ処理技法と併せて、いくつかの異なるタイプのメトリックが使用され得る。これらのメトリックの一部は、ビデオデータ内のピクセルの1つまたは複数のブロックに関連するアクティビティを定量化するアクティビティメトリックである。アクティビティメトリックは、ピクセルのセット内のピクセル分散を示す分散メトリックを備えることができる。後述するように、これらのアクティビティメトリックの一部は方向固有である。たとえば、水平アクティビティメトリックは水平軸に沿ったアクティビティを定量化し、垂直アクティビティメトリックは垂直軸に沿ったアクティビティを定量化し、対角アクティビティメトリックは対角軸に沿ったアクティビティを定量化する、などである。
一部のアクティビティメトリックは方向固有でない。たとえば、和修正ラプラシアン値は、現在のピクセルまたはピクセルの現在のグループを囲むピクセルの2次元ウィンドウに基づくアクティビティメトリックである。現在のピクセル(i,j)について、和修正ラプラシアン値は以下のように計算され得る。
上式で、−KからKまでおよび−LからLまでにわたる2次元ウィンドウについて、kは、−KからKまでのピクセル値の総和の値を表し、lは、−LからLまでの総和の値を表し、iおよびjは、ピクセルデータのピクセル座標を表し、RI(i,j)は、座標iおよびjにおける所与のピクセル値を表し、var(i,j)はアクティビティメトリック(すなわち和修正ラプラシアン値)である。
また、本開示の技法は、水平アクティビティと、垂直アクティビティと、対角アクティビティとのための方向固有メトリックを使用して実装され得る。式2および式3に、現在のピクセル(x,y)の、強度などのピクセル値(Rec)を、隣接ピクセルのピクセル値と比較することによって、現在のピクセルについて水平アクティビティおよび垂直アクティビティがどのように計算され得るかの例を示す。
式2によって示すように、水平アクティビティを判断するとき、現在のピクセル(x,y)は、左のネイバー(x−1,y)および右のネイバー(x+1,y)と比較され得る。式3によって示すように、垂直アクティビティを判断するとき、現在のピクセルは、上のネイバー(x,y+1)および下のネイバー(x,y−1)と比較され得る。
式4および式5に、現在のピクセル(x,y)のピクセル値(Rec)を隣接ピクセルのピクセル値と比較することによって、現在のピクセルについて対角アクティビティがどのように計算され得るかの例を示す。
式4によって示すように、対角アクティビティは、たとえば、現在のピクセル(x,y)を右上のネイバー(x+1,y+1)および左下のネイバー(x−1,y−1)と比較することによって45度の方向において、計算され得る。式5によって示すように、対角アクティビティは、現在のピクセル(x,y)を左上のネイバー(x−1,y+1)および右下のネイバー(x+1,y−1)と比較することによって135度の方向においても計算され得る。
上記の式2〜式5は、水平アクティビティ、垂直アクティビティ、および対角アクティビティがピクセルごとにどのように判断され得るかを示しているが、いくつかの実装形態では、水平アクティビティ、垂直アクティビティ、および対角アクティビティはグループごとに判断され得、その場合、ピクセルのグループは、ピクセルの2×2、4×4、またはM×Nブロックである。そのような実装形態では、水平アクティビティは、たとえば、式2に類似する方法で、現在のグループのピクセル値を左のグループおよび右のグループのピクセル値と比較することによって判断され得、垂直アクティビティは、式3に類似する方法で、現在のグループを上のグループおよび下のグループと比較することによって判断され得る。同様に、45度対角アクティビティは、式4に類似する方法で、ピクセルの現在のグループを右上の隣接グループおよび左下の隣接グループと比較することによって判断され得、135度対角アクティビティは、式5に類似する方法で、ピクセルの現在のグループを左上の隣接グループおよび右下の隣接グループと比較することによって判断され得る。
いくつかの実装形態では、水平アクティビティ、垂直アクティビティ、45度対角アクティビティ、および135度対角アクティビティは、現在のピクセルまたはピクセルのグループをただ1つの方向における隣接ピクセルまたはピクセルのグループと比較することによって判断され得る。たとえば、現在のピクセルを左のネイバーおよび右のネイバーと比較することに基づいて水平アクティビティを判断する代わりに、水平アクティビティは、左のネイバーのみまたは右のネイバーのみに基づいて判断され得る。さらに、いくつかの実装形態では、水平アクティビティ、垂直アクティビティ、45度対角アクティビティ、および135度対角アクティビティは、単一の隣接ピクセルまたはピクセルの単一のグループの代わりに、隣接ピクセルのエリアの平均または重み付き平均を使用して判断され得る。
式2〜式5から得られる値は、2、4、8、または他の有限数など、有限数の範囲に分割され得、各範囲は範囲識別情報を割り当てられ得る。再び図4Aを参照すると、たとえば、範囲1−1、範囲1−2、範囲2−1などは、すべて範囲識別情報の例である。一例として、水平アクティビティ値は4つの範囲に分割され得、それらの範囲は、IDの範囲1−1、範囲1−2、範囲1−3、および範囲1−4を割り当てられ得る。水平しきい値(すなわち、ThH1、...、ThHP-1)は、範囲がどこで開始し、終了するかを判断することができる。以下の表2に、水平IDがP個の範囲にどのように割り当てられ得るかの一般的な場合を示す。
表2の例を使用すると、現在のピクセルが、ThH2よりも小さいがThH1よりも大きい水平アクティビティ値を有する場合、現在のピクセルはメトリック2のための範囲2−2中にある。現在のピクセルは、水平範囲と水平IDとについて表2において上記で説明したのと同様の方法で、垂直IDをもつ垂直範囲、45度対角IDをもつ45度対角範囲、および135度対角IDをもつ135度対角範囲に割り当てられ得る。
水平アクティビティ、垂直アクティビティ、45度対角アクティビティ、および135度対角アクティビティのいずれも、本開示で説明する複数メトリックフィルタのフィルタ処理技法によるメトリックとして使用され得る。たとえば、再び図4Aを参照すると、メトリック1は垂直アクティビティの測定値であり得、メトリック2は水平アクティビティの測定値であり得る。そのような例では、図4Aのフィルタユニット349または図5のフィルタ559など、フィルタユニットは、ピクセルまたはピクセルのグループの水平アクティビティとピクセルまたはピクセルのグループの垂直アクティビティとに基づいて、ピクセルまたはピクセルのグループのためのフィルタを判断することができる。たとえば、現在のピクセルが、範囲2−3に入る水平アクティビティメトリックと範囲1−3に入る垂直アクティビティメトリックとを有する場合、フィルタユニットは、フィルタ4を使用してそのピクセルをフィルタ処理する。同様にして、45度対角アクティビティと135度対角アクティビティとの組合せ、45度対角アクティビティと水平アクティビティとの組合せ、45度対角アクティビティと垂直アクティビティとの組合せ、135度対角アクティビティと水平アクティビティとの組合せ、または135度対角アクティビティと垂直アクティビティとの組合せも、ピクセルまたはピクセルのグループのためのフィルタを選択するためにフィルタユニットによって使用され得る。いくつかの実装形態では、水平アクティビティ、垂直アクティビティ、45度対角アクティビティ、および135度対角アクティビティのうちの3つまたは4つ全部が、ピクセルまたはピクセルのグループのフィルタを選択するためにフィルタユニットによって使用され得る。
上記で説明した実装形態では、水平アクティビティ、垂直アクティビティ、45度対角アクティビティ、および135度対角アクティビティは、すべてメトリックとして、たとえば、図4A中のメトリック1および/またはメトリック2として、使用され得る。しかしながら、いくつかの実装形態では、水平アクティビティ、垂直アクティビティ、45度対角アクティビティ、および135度対角アクティビティは、それら自体メトリックでないことがあり、代わりに、全体的な方向メトリックを判断するための中間判断として使用されることがある。方向メトリックは、概して、どの方向において(たとえば方向なし、水平、垂直、45度対角、または135度対角)ピクセルが最も変化しているかを記述する。
一例では、式2および式3において説明した水平アクティビティおよび垂直アクティビティのみを使用して、ピクセルのための方向が以下の条件に基づいて判断され得る。
定数k1およびk2は、水平アクティビティが垂直アクティビティよりも実質的に大きいかまたは垂直アクティビティが水平アクティビティよりも実質的に大きい場合、方向が方向1または方向2であるとしか見なされないように、選択され得る。水平アクティビティと垂直アクティビティとが等しいまたはほぼ等しい場合、方向は方向0である。方向1は、概して、ピクセル値が垂直方向においてよりも水平方向において多く変化していることを示し、方向2は、ピクセル値が水平方向においてよりも垂直方向において多く変化していることを示す。方向0は、水平方向におけるピクセル値の変化が垂直方向におけるピクセル値の変化にほぼ等しいことを示す。
判断された方向メトリック(たとえば方向0、方向1、方向2)は、本開示で説明する複数メトリックフィルタ処理技法におけるメトリックとして使用され得る。再び図4Aの例を使用すると、メトリック1は、和修正ラプラシアン値などの分散メトリックであり得、メトリック2は、上記で説明したように方向判断であり得る。図4Aに関して説明したように、方向1、方向2、および方向0は、値のスペクトルの代わりに有限の判断を表すが、方向1、方向2、および方向0の各々は、メトリック2の範囲に関連付けられ得る。
上記で説明したように水平アクティビティおよび垂直アクティビティのみを使用することに加えて、本開示の技法は、以下の条件に基づいて、方向を判断するために、式4および式5において説明したように、45度対角アクティビティおよび135度対角アクティビティを使用することをも含む。
45度対角アクティビティおよび135度対角アクティビティに基づく方向判断は、上記で説明したように、和修正ラプラシアン値などの別のメトリックとともにメトリックとして使用され得る。
さらに、方向メトリックは、以下の条件にも基づいて判断され得る。
上記で説明したように、k1〜k12は、ある方向が選択されるために、水平アクティビティ、垂直アクティビティ、45度アクティビティ、および135度アクティビティのうちの1つが、他のアクティビティと比較してどれだけ大きい必要があるかを判断するように選択される、定数である。水平アクティビティ、垂直アクティビティ、45度対角アクティビティ、および135度対角アクティビティに基づく方向判断は、上記で説明したように、和修正ラプラシアン値などの別のメトリックとともにメトリックとして使用され得る。
本開示の技法とともに使用され得る別のメトリックはエッジメトリックを含む。エッジメトリックは、概して、ピクセルのブロック中のエッジの存在を示し得るアクティビティを定量化する。エッジは、たとえば、ピクセルのブロックが画像内の物体の境界を含んでいる場合にピクセルのそのブロック中で、発生し得る。エッジ検出の一例は、現在のピクセルの4つの隣接ピクセル(たとえば、左、右、上、下)を使用すること、または現在のピクセルの8つの隣接ピクセル(左、右、上、下、右上、左上、右下、左下)を使用することを含む。さらに、エッジタイプ検出は、上および下、左および右、左上および右下、または右上および左下など、2つの隣接ピクセルを使用することを含み得る。
以下の擬似コードに、現在のピクセル(x,y)の、強度などのピクセル値(Rec)を、それらの隣接ピクセル(すなわち、4つ/8つのピクセル)のピクセル値と比較することによって、現在のピクセルについてエッジ情報がどのように計算され得るかの例を示す。
EdgeType変数は、開始されると0になる。文が真であるたびに、EdgeType変数は、(擬似コードでEdgeType++によって示すように)1だけ増分されるかまたは(擬似コードでEdgeType−−によって示すように)1だけ減分される。Rec[x][y]は、(x,y)にあるピクセルの、ピクセル強度などのピクセル値を指す。「if」文の第1のグルーピングは、現在のピクセルを上、下、左、および右のネイバーと比較するためのものである。「if」文の第2のグルーピングは、現在のピクセルを左上、右上、左下、および右下のネイバーと比較するためのものである。本開示の技法は、いずれかのグループまたは両方のグループを使用して実装され得る。
現在のピクセルが極大値である場合、そのピクセルのピクセル値は、すべてのそれのネイバーよりも大きいことになり、4つのネイバーを使用する場合は4のエッジタイプを、または8つのネイバーを使用する場合は8のエッジタイプを、有することになる。現在のピクセルが極小値である場合、そのピクセルのピクセル値は、すべてのそれのネイバーよりも小さいことになり、4つのネイバーを使用する場合は−4のエッジタイプを、または8つのネイバーを使用する場合は−8のエッジタイプを、有することになる。したがって、−4から4または−8から8の間でエッジタイプを判断するために上記で説明した例示的な技法を使用することが、フィルタを判断する際に使用され得る。エッジタイプについて判断された値(すなわち−4〜4の値または−8〜8の値)は、図4Aのメトリック1またはメトリック2など、メトリックの範囲にマッピングされ得る。いくつかの実装形態では、−3および3のエッジタイプが、たとえば、同じフィルタにマッピングすることになるように、エッジタイプ判断の絶対値が範囲にマッピングされ得る。
本開示で説明する様々なメトリックの計算は、例にすぎないものであり、網羅的ではない。たとえば、それらのメトリックは、本開示で説明するよりも多くの隣接ピクセルを含む、ピクセルのウィンドウまたはラインを使用して判断され得る。
さらに、いくつかの実装形態では、本開示で説明するメトリックは、特定のラインまたはウィンドウにおけるピクセルのサブサンプリングを使用して計算され得る。たとえば、ピクセルの4×4ブロックのためのブロックアクティビティメトリックを計算するために、アクティビティと方向とのためのメトリックは以下のように計算され得る。
・方向メトリック
・アクティビティメトリック
・メトリック
・アクティビティと方向との組合せ(たとえば図4Bの例において上記で説明したように15個または16個の組合せ)
Hor_act(i,j)は、概して、現在のピクセル(i,j)の水平アクティビティを指し、Vert_act(i,j)は、概して、現在のピクセル(i,j)の垂直アクティビティを指す。X(i,j)は、概して、ピクセル(i,j)のピクセル値を指す。HBは、4×4ブロックの水平アクティビティを指し、これは、この例では、ピクセル(0,0)、(0,2)、(2,0)、および(2,2)のための水平アクティビティの和に基づいて判断される。VBは、4×4ブロックの垂直アクティビティを指し、これは、この例では、ピクセル(0,0)、(0,2)、(2,0)、および(2,2)のための垂直アクティビティの和に基づいて判断される。「<<1」は、2での乗算の演算を表す。上記で説明したように、HBおよびVBの値に基づいて、方向が判断され得る。上記の例を使用すると、HBの値がVBの値のk倍よりも大きい場合、方向は、垂直アクティビティよりも多くの水平アクティビティに対応し得る、方向1(すなわち水平)であると判断され得る。VBの値がHBの値のk倍よりも大きい場合、方向は、水平アクティビティよりも多くの垂直アクティビティに対応し得る、方向2(すなわち垂直)であると判断され得る。他の場合、方向は、水平アクティビティも垂直アクティビティも支配的でないことを意味する、方向0(すなわち方向なし)であると判断され得る。他の標示と比も使用され得るので、様々な方向のための標示と、それらの方向を判断するために使用された比とは、一例を構成するにすぎない。
4×4ブロックのためのアクティビティ(LB)は、水平アクティビティと垂直アクティビティとの和として判断され得る。LBの値は、上記で説明したように、範囲に分類され得る。この特定の例は5つの範囲を示しているが、より多いまたはより少ない範囲が同様に使用され得る。アクティビティと方向との組合せに基づいて、ピクセルの4×4ブロックのためのフィルタが選択され得る。上記で説明したように、フィルタは、図4Aおよび図4Bに関して説明したように、アクティビティおよび方向とフィルタとの2次元マッピングに基づいて選択され得るか、またはアクティビティと方向とが組み合わせられて単一のメトリックになり得、その単一のメトリックが使用されてフィルタが選択され得る。
図6Aは、ピクセルの4×4ブロックを表す。上記で説明したサブサンプリング技法を使用して、16個のピクセルのうちの4つのみが使用される。4つのピクセルは、ピクセル601と標示されたピクセル(0,0)、ピクセル602と標示されたピクセル(2,0)、ピクセル603と標示されたピクセル(0,2)、およびピクセル604と標示されたピクセル(2,2)である。ピクセル601の水平アクティビティ(すなわちhor_act(0,0))は、たとえば、左の隣接ピクセルと右の隣接ピクセルとに基づいて判断される。右の隣接ピクセルは、ピクセル605と標示されている。左の隣接ピクセルは、4×4ブロックとは異なるブロック中にあり、図6A上には示されていない。ピクセル602の垂直アクティビティ(すなわちver_act(2,0))は、たとえば、上の隣接ピクセルと下の隣接ピクセルとに基づいて判断される。下の隣接ピクセルは、ピクセル606と標示されており、上の隣接ピクセルは、4×4ブロックとは異なるブロック中にあり、図6Aには示されていない。
概して、上記で説明したのと同じ技法を使用して、ブロックアクティビティメトリックは、以下のようにピクセルの異なるサブセットをも使用して計算され得る。
・方向メトリック
・アクティビティメトリック
・メトリック
・アクティビティと方向との組合せ(たとえば図4Bの例において上記で説明したように15個または16個の組合せ)
BとVBとを計算するためのピクセルのこの異なるサブセットは、図6B上でそれぞれピクセル611、612、613、および614として示される、ピクセル(1,1)、(2,1)、(1,2)、および(2,2)を含む。図6Bからわかるように、ピクセル611、612、613、および614のための、上の隣接ピクセル、下の隣接ピクセル、右の隣接ピクセル、および左の隣接ピクセルのすべてが、4×4ブロック内にある。図6Bの例では、ピクセル611、612、613、および614は、すべて、ブロック境界上にあるのとは対照的に、ブロックの内部にある。図6A中のピクセル601、602、603、および605、ならびに図6C中のピクセル621、624、625、および628は、ブロック境界上にあるピクセルの例である。他の実装形態では、ピクセルの追加の異なるサブセットが選定され得る。たとえば、サブセットは、サブセットのピクセルのための上および下の隣接ピクセルは4×4ブロック内にあるが、いくつかの左および右の隣接ピクセルは隣接ブロック中にあるように、選択され得る。サブセットは、サブセットのピクセルのための左および右の隣接ピクセルは4×4ブロック内にあるが、いくつかの上および下の隣接ピクセルは隣接ブロック中にあるようにも、選択され得る。
概して、上記で説明したのと同じ技法を使用して、ブロックアクティビティメトリックは、以下のように8つのピクセルのサブセットをも使用して計算され得る。
・方向メトリック
・アクティビティメトリック
・メトリック
・アクティビティと方向との組合せ(たとえば図4Bの例において上記で説明したように15個または16個の組合せ)
BとVBとを計算するための8つのピクセルのこの異なるサブセットは、図6C上でそれぞれピクセル621、622、623、および624、625、626、627、および628として示される、ピクセル(0,1)、(1,1)、(2,1)、(3,1)、(0,2)、(1,2)、(2,2)、および(3,2)を含む。図6Cからわかるように、ピクセル621、622、623、および624、625、626、627、および628のための、上の隣接ピクセルおよび下の隣接ピクセルのすべてが、4×4ブロック内にあるが、ピクセル621および625は、それぞれ左の隣接ブロック中の左の隣接ピクセルを有し、ピクセル624および628は、それぞれ右の隣接ブロック中の右の隣接ピクセルを有する。ピクセルのこの特定の選択は、上および/または下の隣接ブロックのピクセル値を記憶するためのラインバッファの必要を回避することによって、エンコーダおよび/またはデコーダの複雑さを低減し得る。左から右へ、上から下へのラスタ走査順序により、上および下の隣接ブロックのピクセル値のためのラインバッファは、しばしば、上または下のライン全体のためのピクセル値を記憶する必要があり、これは、たとえば、1080Pビデオの場合、1920ピクセルであり得る。しかしながら、左および右の隣接ブロックのためのラインバッファは、しばしば、1つのLCUまたは2つのLCUのためのピクセル値を記憶する必要があるにすぎず、これは、たとえば、64または128ピクセルのみであり得る。したがって、上および下の隣接ブロックのピクセル値のためのラインバッファは、左および右の隣接ブロックのピクセル値のために使用されるラインバッファよりも著しく大きい必要があり得る。図6Cに示すピクセルの選択は、上および下の隣接ブロックのピクセル値のためのラインバッファの使用を回避することが可能であり、したがってコーディング複雑さを低減し得る。
図6A〜図6Cの例は、本開示の紹介された技法にすぎない。これらの技法がわずか4×4以外のブロックに拡張され得ることと、ピクセルの異なるサブセットが選択され得ることとが、企図される。
ブロックアクティビティメトリックを計算するとき、加算演算などの演算の複雑さを低減するために、元のピクセルの代わりに、量子化されたピクセル(すなわち、X(i,j)>>N)が使用され得る。さらに、計算は、ラプラシアンベースの代わりに絶対差ベースであり得る。たとえば、Hor_act(i,j)またはVer_act(i,j)を計算するとき、以下のように、ラプラシアン値の代わりに絶対差が使用され得る。
・方向メトリック
・アクティビティメトリック
・メトリック
・アクティビティ+方向(たとえば図4Bの例において上記で説明したように15個または16個の組合せ)
本開示では、特定のメトリックの限られたグループを参照しながらサブサンプリング技法について説明した。ただし、これらのサブサンプリング技法は、概して、フィルタを判断するために使用され得る、本開示で説明する他のメトリックなど、他のメトリックに適用可能であることが企図される。さらに、ピクセルの4×4ブロックを参照しながら本開示のサブサンプリング技法について説明したが、それらの技法は他のサイズのブロックにも適用可能であり得る。
図7は、本開示に一致するビデオコーディング技法を示すフローチャートである。図7において説明する技法は、ビデオエンコーダ350のフィルタユニット349またはビデオデコーダ560のフィルタユニット559など、ビデオエンコーダまたはビデオデコーダのフィルタユニットによって実行され得る。フィルタユニットは、ピクセルのブロック内のピクセルのグループのための第1のメトリックを判断する(710)。第1のメトリックは、たとえば、和修正ラプラシアン値などのアクティビティメトリックであり得、または第1のメトリックは方向メトリックであり得る。第1のメトリックは、たとえば、ブロック中のピクセルのセットとブロック中の他のピクセルとの比較に基づいて、またはブロック中のピクセルのサブセットとブロック中の他のピクセルとの比較に基づいて、判断され得る。フィルタユニットは、さらにブロックのための第2のメトリックを判断する(720)。第2のメトリックは、たとえば、水平アクティビティの測定値を垂直アクティビティの測定値と比較することに基づいて判断された方向メトリックであり得る。第1のメトリックと第2のメトリックとに基づいて、フィルタユニットはフィルタを判断する(730)。フィルタユニットは、ブロックにフィルタを適用することによってフィルタ処理済み画像を生成する(740)。上記で説明したように、いくつかの実装形態では、ブロックは、第1のメトリックまたは第2のメトリックを判断するために使用される、ピクセルの2×2、4×4、またはM×Nブロックであり得る。いくつかの実装形態では、第1のメトリックは水平アクティビティメトリックであり得、第2のメトリックは垂直アクティビティメトリックであり、または第1のメトリックはエッジメトリックであり得、第2のメトリックは方向メトリックである。
図8Aは、本開示に一致するビデオコーディング技法を示すフローチャートである。図8Aにおいて説明する技法は、ビデオデコーダ560のフィルタユニット559など、ビデオデコーダのフィルタユニットによって実行され得る。フィルタユニット559は、第1の範囲組合せを第1のフィルタにマッピングする(810A)。第1の範囲組合せは、第1のメトリックのための値の第1の範囲と第2のメトリックのための値の第1の範囲との組合せである。第1のメトリックは、たとえば、和修正ラプラシアン値であり得、第2のメトリックは方向メトリックであり得るが、他のメトリックも使用され得る。フィルタユニット559は、第2の範囲組合せを第2のフィルタにマッピングする(820A)。第2の範囲組合せは、第1のメトリックのための値の第2の範囲と第2のメトリックのための値の第2の範囲との組合せである。フィルタユニット559は、次いで、受信されたコードワードに基づいて現在の範囲組合せをフィルタにマッピングする。現在の範囲組合せは、第1のメトリックの値の第1の範囲と第2のメトリックのための値の第2の範囲とを含む。コードワードが第1のコードワードである場合(830A、はい)、フィルタユニット559は、現在の範囲組合せを第1のフィルタにマッピングする(840A)。第1のコードワードは、現在の範囲組合せが第1の範囲組合せと同じフィルタにマッピングされることを示す。コードワードが第2のコードワードである場合(850A、はい)、フィルタユニット559は、現在の範囲組合せを第2のフィルタにマッピングする(860A)。第2のコードワードは、現在の範囲組合せが第2の組合せと同じフィルタにマッピングされることを示す。コードワードが第1のコードワードでも第2のコードワードでもない場合(850A、いいえ)、フィルタユニット559は、現在の範囲組合せを第3のフィルタにマッピングする(870A)。第3のコードワードを受信したことに応答する場合、第3のコードワードはその第3のフィルタを識別する。図8Aの例では、第1のコードワードおよび第2のコードワードは、それぞれ第3のコードワードよりも少ないビットを含み得る。
図8Bは、本開示に一致するビデオコーディング技法を示すフローチャートである。図8Bにおいて説明する技法は、ビデオデコーダ560のフィルタユニット559など、ビデオデコーダのフィルタユニットによって実行され得る。フィルタユニット559は、範囲組合せとフィルタとのマッピングを生成する(810B)。各範囲組合せは、たとえば、第1のメトリックのための範囲と第2のメトリックのための範囲とを含むことができる。現在の範囲組合せが前の範囲組合せと同じフィルタにマッピングされることをシグナリングする第1のコードワードを受信したことに応答して(820B、はい)、フィルタユニット559は、現在の範囲組合せを前の範囲組合せと同じフィルタにマッピングする(830B)。現在の範囲組合せが前の範囲組合せとは異なるフィルタにマッピングされることをシグナリングする第2のコードワードを受信したことに応答して(820B、いいえ)、フィルタユニット559は、現在の範囲組合せを新しいフィルタにマッピングする(840B)。上記で説明したように、現在の範囲組合せは、知られている送信順序に基づいて判断され得る。いくつかの例では、新しいフィルタは第2のコードワードに基づいて識別され得、他の例では、新しいフィルタは、フィルタ係数がシグナリングされる順序に基づいて判断され得る。
図9Aは、本開示に一致するビデオコーディング技法を示すフローチャートである。図9Aにおいて説明する技法は、ビデオエンコーダ350のフィルタユニット349など、ビデオエンコーダのフィルタユニットによって実行され得る。フィルタユニット349は、範囲組合せとフィルタとのマッピングを判断する(910A)。各範囲組合せは、第1のメトリックのための値の範囲と第2のメトリックのための値の範囲とを含む。現在の範囲組合せについて、現在の範囲組合せが、第1のメトリックのための値の同じ範囲を備える、前の範囲組合せと同じフィルタにマッピングされる場合(920A、はい)、フィルタユニット349は第1のコードワードを生成する(930A)。現在の範囲組合せが、第2のメトリックのための値の同じ範囲を備える、前の範囲組合せと同じフィルタにマッピングされる場合(940A、はい)、フィルタユニット349は第2のコードワードを生成する(950A)。現在の範囲組合せが、第1のメトリックのための値の同じ範囲を備える、前の範囲組合せ、または第2のメトリックのための値の同じ範囲を備える、前の範囲組合せのいずれかにマッピングされない場合(950A、いいえ)、フィルタユニット349は第3のコードワードを生成する(960A)。第3のコードワードは、現在の範囲組合せにマッピングされたフィルタを識別することができる。
図9Bは、本開示に一致するビデオコーディング技法を示すフローチャートである。図9Bにおいて説明する技法は、ビデオエンコーダ350のフィルタユニット349など、ビデオエンコーダのフィルタユニットによって実行され得る。フィルタユニット349は、範囲組合せとフィルタとのマッピングを判断する(910B)。各範囲組合せは、たとえば、第1のメトリックのための範囲と第2のメトリックのための範囲とを含むことができる。コーディングされている現在の範囲組合せが、前にコーディングされた範囲組合せと同じフィルタを有するとき(920B、はい)、フィルタユニット349は、現在の範囲組合せが前の範囲組合せと同じフィルタにマッピングされることをシグナリングするための、第1のコードワードを生成する(930B)。コーディングされている現在の範囲組合せが、前にコーディングされた範囲組合せと同じフィルタを有しないとき(920B、いいえ)、フィルタユニット349は第2のコードワードを生成する(940B)。第2のコードワードは、現在の範囲組合せにマッピングされたフィルタを識別することができる。上記で説明したように、現在の範囲組合せは、知られている送信順序に基づいて判断され得る。図9Bの例では、第1のコードワードは、第2のコードワードよりも少ないビットを含み得る。
図8Aおよび図8Bならびに図9Aおよび図9Bの例では、「第1のコードワード」、「第2のコードワード」、および「第3のコードワード」という用語は、異なるコードワード間で区別するために使用されており、コードワードの順番を暗示するものではない。
図10は、本開示に一致するビデオコーディング技法を示すフローチャートである。図10において説明する技法は、ビデオエンコーダ350のフィルタユニット349など、ビデオエンコーダのフィルタユニット、またはフィルタユニット559など、ビデオデコーダのフィルタユニットによって実行され得る。フィルタユニットは、範囲組合せとフィルタとのマッピングを判断する(1010)。範囲組合せは、第1のメトリックのための範囲と第2のメトリックのための範囲とを含む。フィルタユニットは、各範囲組合せのためのユニークな範囲組合せ識別情報(ID)を判断する(1020)。ユニークな範囲組合せIDは連続値に対応する。フィルタユニットは、範囲組合せの第1のグループ中の少なくとも1つの範囲組合せの範囲組合せIDの連続値に基づいて、範囲組合せの第1のグループに第1のユニークなグループIDを割り当てる(1030)。範囲組合せのグループは、同じフィルタにマッピングされた範囲組合せを含み、ユニークなグループIDは、連続値のセットに対応する。フィルタユニットは、第1のユニークなフィルタIDの連続値に基づいて、同じフィルタに対応するフィルタ係数の第1のセットをコーディングする(1040)。ビデオエンコーダの場合、フィルタ係数の第1のセットをコーディングすることは、たとえば、差分コーディング技法を使用して符号化ビットストリーム中でフィルタ係数をシグナリングすることを含むことができる。ビデオデコーダの場合、フィルタ係数の第1のセットをコーディングすることは、符号化ビットストリーム中で受信された情報に基づいてフィルタ係数を再構成することを含むことができる。
図11は、本開示に一致するビデオコーディング技法を示すフローチャートである。図11において説明する技法は、ビデオエンコーダ350のフィルタユニット349など、ビデオエンコーダのフィルタユニット、またはフィルタユニット559など、ビデオデコーダのフィルタユニットによって実行され得る。フィルタユニットは、範囲組合せとフィルタとのマッピングを判断する(1110)。範囲組合せは、第1のメトリックのための範囲と第2のメトリックのための範囲とを含むことができる。各範囲組合せは、ユニークな範囲組合せ識別情報(ID)を有することができ、各ユニークな範囲組合せIDは、範囲組合せのための連続値に対応することができる。フィルタユニットは、範囲組合せの各グループにユニークなグループIDを割り当てる(1120)。フィルタユニットは、たとえば、範囲組合せの連続値に基づいて、ユニークなグループIDを割り当てることができる。範囲組合せのグループは、共通のフィルタにマッピングされた範囲組合せを含むことができ、ユニークなグループIDは、連続値のセットに対応することができる。フィルタユニットは、ユニークなグループIDに基づいてフィルタのためのフィルタ係数のセットをコーディングする(1140)。
図11の例では、フィルタユニットは、たとえば、範囲組合せIDの最低連続値に対応する範囲組合せIDをもつ範囲組合せを備える範囲組合せのグループに、ユニークなグループIDの最低連続値に対応するユニークなグループIDを割り当てることによって、ユニークなグループIDを割り当てることができる。別の例では、フィルタユニットは、範囲組合せIDの最高連続値に対応する範囲組合せIDをもつ範囲組合せを備える範囲組合せのグループに、ユニークなグループIDの最高連続値に対応するユニークなグループIDを割り当てることができる。
フィルタユニットがビデオデコーダの一部である事例では、フィルタユニットは、コード化ビットストリーム中で受信された情報に基づいてフィルタ係数のセットを生成することによって、フィルタ係数のセットをコーディングすることができる。フィルタユニットは、たとえば、差分コーディング技法を使用してフィルタ係数のセットを生成することができる。フィルタユニットがビデオエンコーダの一部である事例では、フィルタユニットは、ユニークなグループIDの連続値に基づいて選択された順序で、コード化ビットストリーム中でフィルタ係数のセットをシグナリングすることによって、フィルタ係数のセットをコーディングすることができる。フィルタユニットは、たとえば、差分コーディング技法を使用してフィルタ係数のセットをシグナリングすることができる。
上記の開示は、詳細を伝えるために、ある程度まで簡略化してある。たとえば、本開示では、概して、フィルタのセットがフレームごとにまたはスライスごとにシグナリングされることについて説明したが、フィルタのセットは、シーケンスごとに、ピクチャのグループごとに、スライスのグループごとに、CUごとに、LCUごとに、または他のそのようなベースでもシグナリングされ得る。概して、フィルタは、1つまたは複数のCUの任意のグルーピングのためにシグナリングされ得る。さらに、実装において、CUごとの入力当たりの多数のフィルタと、フィルタ当たりの多数の係数と、フィルタの各々が分散の異なる範囲のために定義される、分散の多数の異なるレベルとがあり得る。たとえば、場合によっては、CUの各入力のために定義された16個以上のフィルタと、各フィルタに対応する分散の16個の異なる範囲とがあり得る。さらに、本開示でフィルタ情報を送信することについて説明するとき、すべてのフィルタ情報が同じコーディングレベルにおいて送信されると仮定されるべきでない。たとえば、いくつかの実装形態では、フィルタ記述シンタックスなどの一部のフィルタ情報は、フレームごとにまたはスライスごとにシグナリングされ得、フィルタ係数などの他のフィルタ情報は、LCUごとにシグナリングされる。そのようなフィルタ情報の一部または全部を搬送するために、シーケンスレベル、GOPレベル、または他のレベルなど、コーディング階層の他のレベルにおけるシンタックスも定義され得る。
各入力のためのフィルタの各々は多くの係数を含み得る。一例では、フィルタは、2つの次元にわたるフィルタサポートのために定義された81個の異なる係数をもつ2次元フィルタを備える。しかしながら、各フィルタのためにシグナリングされるフィルタ係数の数は、場合によっては81よりも少ないことがある。たとえば、1つの次元または象限におけるフィルタ係数が、他の次元または象限における係数に対する反転値または対称値に対応し得るように、係数対称性が課され得る。係数対称性により、81個の異なる係数をより少ない係数によって表すことが可能になり得、その場合、エンコーダおよびデコーダは、係数の反転値または鏡像値が他の係数を定義すると仮定し得る。たとえば、係数(5,−2,10,10,−2,5)は、係数のサブセット(5,−2,10)として符号化され、シグナリングされ得る。この場合、デコーダは、これらの3つの係数が、係数のより大きい対称セット(5,−2,10,10,−2,5)を定義することを知り得る。
本開示の技法は、ワイヤレスハンドセット、および集積回路(IC)またはICのセット(すなわち、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。機能的態様を強調するために任意の構成要素、モジュールまたはユニットについて説明し、与えたが、それらの任意の構成要素、モジュールまたはユニットは、異なるハードウェアユニットによる実現を必ずしも必要とするとは限らない。
したがって、本明細書で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ハードウェアで実装される場合、モジュール、ユニットまたは構成要素として説明した特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装される場合、これらの技法は、プロセッサで実行されたとき、上記で説明した方法のうちの1つまたは複数を実行する、命令を備えるコンピュータ可読媒体によって少なくとも部分的に実現され得る。コンピュータ可読媒体は、コンピュータ可読記憶媒体を備え得、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読記憶媒体は、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリ、磁気または光学データ記憶媒体などを備え得る。本技法は、追加または代替として、命令またはデータ構造の形態でコードを搬送または通信し、コンピュータによってアクセスされ、読み取られ、および/または実行され得るコンピュータ可読通信媒体によって少なくとも部分的に実現され得る。
コードは、1つまたは複数のデジタル信号プロセッサ(DSP)など、1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に提供されるか、あるいは複合ビデオコーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
本開示の様々な態様について説明した。これらおよび他の態様は以下の特許請求の範囲内に入る。
本開示の様々な態様について説明した。これらおよび他の態様は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオコーディングの方法であって、
ピクセルのブロックのための第1のメトリックを判断することと、ここで、前記第1のメトリックは、前記ブロック中の前記ピクセルのサブセットと前記ブロック中の他のピクセルとの比較に基づいて判断される、
前記第1のメトリックに基づいて、前記ピクセルのブロックのためのフィルタを判断することと、
前記ピクセルのブロックに前記フィルタを適用することによってフィルタ処理済み画像を生成することと
を備える、方法。
[C2]
前記第1のメトリックを判断することは、水平アクティビティの測定値を垂直アクティビティの測定値と比較することを備える、
[C1]に記載の方法。
[C3]
前記水平アクティビティは、前記サブセット中の少なくとも1つのピクセルのピクセル値を左の隣接ピクセルのピクセル値および右の隣接ピクセルのピクセル値と比較することに基づいて判断され、前記左の隣接ピクセルおよび前記右の隣接ピクセルは、両方とも前記ピクセルのブロック中にある、
[C2]に記載の方法。
[C4]
前記垂直アクティビティは、前記サブセット中の少なくとも1つのピクセルのピクセル値を上の隣接ピクセルのピクセル値および下の隣接ピクセルのピクセル値と比較することに基づいて判断され、前記上の隣接ピクセルおよび前記下の隣接ピクセルは、両方とも前記ピクセルのブロック中にある、
[C2]に記載の方法。
[C5]
前記ピクセルのブロックは、ピクセルのM×Nブロックであり、ピクセルの前記サブセットは、前記M×Nブロックの境界上にないピクセルを備える、
[C1]に記載の方法。
[C6]
前記ピクセルのブロックは、16個のピクセルを含むピクセルの4×4ブロックであり、ピクセルの前記サブセットは、4つのピクセルを含む、
[C1]に記載の方法。
[C7]
前記ピクセルのブロックのための第2のメトリックを判断することと、
前記第1のメトリックと前記第2のメトリックとに基づいて、前記ピクセルのブロックのためのフィルタを判断することと
をさらに備える、
[C1]に記載の方法。
[C8]
前記第2のメトリックは、アクティビティメトリックを備える、
[C1]に記載の方法。
[C9]
前記ビデオコーディングの方法は、複数のフィルタを用いた4分木ベース適応ループフィルタ(QALF)スキームを実装する、
[C1]に記載の方法。
[C10]
前記方法は、ビデオエンコーダを備えるビデオコーディングデバイスによって実行される、
[C1]に記載の方法。
[C11]
前記方法は、ビデオデコーダを備えるビデオコーディングデバイスによって実行される、
[C1]に記載の方法。
[C12]
ピクセルのブロックのための第1のメトリックを判断することと、ここで、前記第1のメトリックは、前記ブロック中の前記ピクセルのサブセットと前記ブロック中の他のピクセルとの比較に基づいて判断される、
前記第1のメトリックに基づいて前記ピクセルのブロックのためのフィルタを判断することと、
前記ピクセルのブロックに前記フィルタを適用することによってフィルタ処理済み画像を生成することと
を行うように構成されたフィルタユニットと、
前記フィルタユニットのフィルタ処理済み結果を記憶するように構成されたメモリと
を備えるビデオコーディングデバイス。
[C13]
前記第1のメトリックを判断することは、水平アクティビティの測定値を垂直アクティビティの測定値と比較することを備える、
[C12]に記載のビデオコーディングデバイス。
[C14]
前記水平アクティビティは、前記サブセット中の少なくとも1つのピクセルのピクセル値を左の隣接ピクセルのピクセル値および右の隣接ピクセルのピクセル値と比較することに基づいて判断され、前記左の隣接ピクセルおよび前記右の隣接ピクセルは、両方とも前記ピクセルのブロック中にある、
[C13]に記載のビデオコーディングデバイス。
[C15]
前記垂直アクティビティは、前記サブセット中の少なくとも1つのピクセルのピクセル値を上の隣接ピクセルのピクセル値および下の隣接ピクセルのピクセル値と比較することに基づいて判断され、前記上の隣接ピクセルおよび前記下の隣接ピクセルは、両方とも前記ピクセルのブロック中にある、
[C13]に記載のビデオコーディングデバイス。
[C16]
前記ピクセルのブロックは、ピクセルのM×Nブロックであり、ピクセルの前記サブセットは、前記M×Nブロックの前記境界上にないピクセルを備える、
[C12]に記載のビデオコーディングデバイス。
[C17]
前記ピクセルのブロックは、16個のピクセルを含むピクセルの4×4ブロックであり、ピクセルの前記サブセットは、4つのピクセルを含む、
[C12]に記載のビデオコーディングデバイス。
[C18]
前記フィルタユニットは、
前記ピクセルのブロックのための第2のメトリックを判断することと、
前記第1のメトリックと前記第2のメトリックとに基づいて前記ピクセルのブロックのためのフィルタを判断することと
を行うようにさらに構成された、
[C12]に記載のビデオコーディングデバイス。
[C19]
前記第2のメトリックは、アクティビティメトリックを備える、
[C18]に記載のビデオコーディングデバイス。
[C20]
前記フィルタユニットは、複数のフィルタを用いた4分木ベース適応ループフィルタ(QALF)スキームを実装する、
[C12]に記載のビデオコーディングデバイス。
[C21]
前記ビデオコーディングデバイスは、ビデオエンコーダを備える、
[C12]に記載のビデオコーディングデバイス。
[C22]
前記ビデオコーディングデバイスは、ビデオデコーダを備える、
[C12]に記載のビデオコーディングデバイス。
[C23]
ピクセルのブロックのための第1のメトリックを判断するための手段と、ここで、前記第1のメトリックは、前記ブロック中の前記ピクセルのサブセットと前記ブロック中の他のピクセルとの比較に基づいて判断される、
前記第1のメトリックに基づいて前記ピクセルのブロックのためのフィルタを判断するための手段と、
前記ピクセルのブロックに前記フィルタを適用することによってフィルタ処理済み画像を生成するための手段と
を備える、装置。
[C24]
前記第1のメトリックを判断することは、水平アクティビティの測定値を垂直アクティビティの測定値と比較することを備える、
[C23]に記載の装置。
[C25]
前記水平アクティビティは、前記サブセット中の少なくとも1つのピクセルのピクセル値を左の隣接ピクセルのピクセル値および右の隣接ピクセルのピクセル値と比較することに基づいて判断され、前記左の隣接ピクセルおよび前記右の隣接ピクセルは、両方とも前記ピクセルのブロック中にある、
[C24]に記載の装置。
[C26]
前記垂直アクティビティは、前記サブセット中の少なくとも1つのピクセルのピクセル値を上の隣接ピクセルのピクセル値および下の隣接ピクセルのピクセル値と比較することに基づいて判断され、前記上の隣接ピクセルおよび前記下の隣接ピクセルは、両方とも前記ピクセルのブロック中にある、
[C24]に記載の装置。
[C27]
前記ピクセルのブロックは、ピクセルのM×Nブロックであり、ピクセルの前記サブセットは、前記M×Nブロックの境界上にないピクセルを備える、
[C23]に記載の装置。
[C28]
前記ピクセルのブロックは、16個のピクセルを含むピクセルの4×4ブロックであり、ピクセルの前記サブセットは、4つのピクセルを含む、
[C23]に記載の装置。
[C29]
前記ピクセルのブロックのための第2のメトリックを判断するための手段と、
前記第1のメトリックと前記第2のメトリックとに基づいて前記ピクセルのブロックのためのフィルタを判断するための手段と
をさらに備える、[C23]に記載の装置。
[C30]
前記第2のメトリックは、アクティビティメトリックを備える、
[C29]に記載の装置。
[C31]
前記装置は、複数のフィルタを用いた4分木ベース適応ループフィルタ(QALF)スキームを実装する、
[C23]に記載の装置。
[C32]
前記装置は、ビデオエンコーダを備える、
[C23]に記載の装置。
[C33]
前記装置は、ビデオデコーダを備える、
[C23]に記載の装置。
[C34]
実行されたとき、1つまたは複数のプロセッサに、
ピクセルのブロックのための第1のメトリックを判断することと、ここで、前記第1のメトリックは、前記ブロック中の前記ピクセルのサブセットと前記ブロック中の他のピクセルとの比較に基づいて判断される、
前記第1のメトリックに基づいて前記ピクセルのブロックのためのフィルタを判断することと、
前記ピクセルのブロックに前記フィルタを適用することによってフィルタ処理済み画像を生成することと
を行わせる、命令を記憶したコンピュータ可読記憶媒体。
[C35]
前記第1のメトリックを判断することは、水平アクティビティの測定値を垂直アクティビティの測定値と比較することを備える、[C34]に記載のコンピュータ可読記憶媒体。
[C36]
前記水平アクティビティは、前記サブセット中の少なくとも1つのピクセルのピクセル値を左の隣接ピクセルのピクセル値および右の隣接ピクセルのピクセル値と比較することに基づいて判断され、前記左の隣接ピクセルおよび前記右の隣接ピクセルは、両方とも前記ピクセルのブロック中にある、
[C35]に記載のコンピュータ可読記憶媒体。
[C37]
前記垂直アクティビティは、前記サブセット中の少なくとも1つのピクセルのピクセル値を上の隣接ピクセルのピクセル値および下の隣接ピクセルのピクセル値と比較することに基づいて判断され、前記上の隣接ピクセルおよび前記下の隣接ピクセルは、両方とも前記ピクセルのブロック中にある、
[C35]に記載のコンピュータ可読記憶媒体。
[C38]
前記ピクセルのブロックは、ピクセルのM×Nブロックであり、前記ピクセルのサブセットは、前記M×Nブロックの境界上にないピクセルを備える、
[C34]に記載のコンピュータ可読記憶媒体。
[C39]
前記ピクセルのブロックは、16個のピクセルを含むピクセルの4×4ブロックであり、ピクセルの前記サブセットは、4つのピクセルを含む、
[C34]に記載のコンピュータ可読記憶媒体。
[C40]
前記ピクセルのブロックのための第2のメトリックを判断することと、
前記第1のメトリックと前記第2のメトリックとに基づいて、前記ピクセルのブロックのためのフィルタを判断することと
をさらに備える、
[C34]に記載のコンピュータ可読記憶媒体。
[C41]
前記第2のメトリックは、アクティビティメトリックを備える、
[C34]に記載のコンピュータ可読記憶媒体。
[C42]
前記1つまたは複数のプロセッサは、複数のフィルタを用いた4分木ベース適応ループフィルタ(QALF)スキームを実装する、
[C34]に記載のコンピュータ可読記憶媒体。
[C43]
前記1つまたは複数のプロセッサは、ビデオ符号化を実行する、
[C34]に記載のコンピュータ可読記憶媒体。
[C44]
前記1つまたは複数のプロセッサは、ビデオ復号を実行する、
[C34]に記載のコンピュータ可読記憶媒体。

Claims (44)

  1. ビデオコーディングの方法であって、
    ピクセルのブロックのための第1のメトリックを判断することと、ここで、前記第1のメトリックは、前記ブロック中の前記ピクセルのサブセットと前記ブロック中の他のピクセルとの比較に基づいて判断される、
    前記第1のメトリックに基づいて、前記ピクセルのブロックのためのフィルタを判断することと、
    前記ピクセルのブロックに前記フィルタを適用することによってフィルタ処理済み画像を生成することと
    を備える、方法。
  2. 前記第1のメトリックを判断することは、水平アクティビティの測定値を垂直アクティビティの測定値と比較することを備える、
    請求項1に記載の方法。
  3. 前記水平アクティビティは、前記サブセット中の少なくとも1つのピクセルのピクセル値を左の隣接ピクセルのピクセル値および右の隣接ピクセルのピクセル値と比較することに基づいて判断され、前記左の隣接ピクセルおよび前記右の隣接ピクセルは、両方とも前記ピクセルのブロック中にある、
    請求項2に記載の方法。
  4. 前記垂直アクティビティは、前記サブセット中の少なくとも1つのピクセルのピクセル値を上の隣接ピクセルのピクセル値および下の隣接ピクセルのピクセル値と比較することに基づいて判断され、前記上の隣接ピクセルおよび前記下の隣接ピクセルは、両方とも前記ピクセルのブロック中にある、
    請求項2に記載の方法。
  5. 前記ピクセルのブロックは、ピクセルのM×Nブロックであり、ピクセルの前記サブセットは、前記M×Nブロックの境界上にないピクセルを備える、
    請求項1に記載の方法。
  6. 前記ピクセルのブロックは、16個のピクセルを含むピクセルの4×4ブロックであり、ピクセルの前記サブセットは、4つのピクセルを含む、
    請求項1に記載の方法。
  7. 前記ピクセルのブロックのための第2のメトリックを判断することと、
    前記第1のメトリックと前記第2のメトリックとに基づいて、前記ピクセルのブロックのためのフィルタを判断することと
    をさらに備える、
    請求項1に記載の方法。
  8. 前記第2のメトリックは、アクティビティメトリックを備える、
    請求項1に記載の方法。
  9. 前記ビデオコーディングの方法は、複数のフィルタを用いた4分木ベース適応ループフィルタ(QALF)スキームを実装する、
    請求項1に記載の方法。
  10. 前記方法は、ビデオエンコーダを備えるビデオコーディングデバイスによって実行される、
    請求項1に記載の方法。
  11. 前記方法は、ビデオデコーダを備えるビデオコーディングデバイスによって実行される、
    請求項1に記載の方法。
  12. ピクセルのブロックのための第1のメトリックを判断することと、ここで、前記第1のメトリックは、前記ブロック中の前記ピクセルのサブセットと前記ブロック中の他のピクセルとの比較に基づいて判断される、
    前記第1のメトリックに基づいて前記ピクセルのブロックのためのフィルタを判断することと、
    前記ピクセルのブロックに前記フィルタを適用することによってフィルタ処理済み画像を生成することと
    を行うように構成されたフィルタユニットと、
    前記フィルタユニットのフィルタ処理済み結果を記憶するように構成されたメモリと
    を備えるビデオコーディングデバイス。
  13. 前記第1のメトリックを判断することは、水平アクティビティの測定値を垂直アクティビティの測定値と比較することを備える、
    請求項12に記載のビデオコーディングデバイス。
  14. 前記水平アクティビティは、前記サブセット中の少なくとも1つのピクセルのピクセル値を左の隣接ピクセルのピクセル値および右の隣接ピクセルのピクセル値と比較することに基づいて判断され、前記左の隣接ピクセルおよび前記右の隣接ピクセルは、両方とも前記ピクセルのブロック中にある、
    請求項13に記載のビデオコーディングデバイス。
  15. 前記垂直アクティビティは、前記サブセット中の少なくとも1つのピクセルのピクセル値を上の隣接ピクセルのピクセル値および下の隣接ピクセルのピクセル値と比較することに基づいて判断され、前記上の隣接ピクセルおよび前記下の隣接ピクセルは、両方とも前記ピクセルのブロック中にある、
    請求項13に記載のビデオコーディングデバイス。
  16. 前記ピクセルのブロックは、ピクセルのM×Nブロックであり、ピクセルの前記サブセットは、前記M×Nブロックの前記境界上にないピクセルを備える、
    請求項12に記載のビデオコーディングデバイス。
  17. 前記ピクセルのブロックは、16個のピクセルを含むピクセルの4×4ブロックであり、ピクセルの前記サブセットは、4つのピクセルを含む、
    請求項12に記載のビデオコーディングデバイス。
  18. 前記フィルタユニットは、
    前記ピクセルのブロックのための第2のメトリックを判断することと、
    前記第1のメトリックと前記第2のメトリックとに基づいて前記ピクセルのブロックのためのフィルタを判断することと
    を行うようにさらに構成された、
    請求項12に記載のビデオコーディングデバイス。
  19. 前記第2のメトリックは、アクティビティメトリックを備える、
    請求項18に記載のビデオコーディングデバイス。
  20. 前記フィルタユニットは、複数のフィルタを用いた4分木ベース適応ループフィルタ(QALF)スキームを実装する、
    請求項12に記載のビデオコーディングデバイス。
  21. 前記ビデオコーディングデバイスは、ビデオエンコーダを備える、
    請求項12に記載のビデオコーディングデバイス。
  22. 前記ビデオコーディングデバイスは、ビデオデコーダを備える、
    請求項12に記載のビデオコーディングデバイス。
  23. ピクセルのブロックのための第1のメトリックを判断するための手段と、ここで、前記第1のメトリックは、前記ブロック中の前記ピクセルのサブセットと前記ブロック中の他のピクセルとの比較に基づいて判断される、
    前記第1のメトリックに基づいて前記ピクセルのブロックのためのフィルタを判断するための手段と、
    前記ピクセルのブロックに前記フィルタを適用することによってフィルタ処理済み画像を生成するための手段と
    を備える、装置。
  24. 前記第1のメトリックを判断することは、水平アクティビティの測定値を垂直アクティビティの測定値と比較することを備える、
    請求項23に記載の装置。
  25. 前記水平アクティビティは、前記サブセット中の少なくとも1つのピクセルのピクセル値を左の隣接ピクセルのピクセル値および右の隣接ピクセルのピクセル値と比較することに基づいて判断され、前記左の隣接ピクセルおよび前記右の隣接ピクセルは、両方とも前記ピクセルのブロック中にある、
    請求項24に記載の装置。
  26. 前記垂直アクティビティは、前記サブセット中の少なくとも1つのピクセルのピクセル値を上の隣接ピクセルのピクセル値および下の隣接ピクセルのピクセル値と比較することに基づいて判断され、前記上の隣接ピクセルおよび前記下の隣接ピクセルは、両方とも前記ピクセルのブロック中にある、
    請求項24に記載の装置。
  27. 前記ピクセルのブロックは、ピクセルのM×Nブロックであり、ピクセルの前記サブセットは、前記M×Nブロックの境界上にないピクセルを備える、
    請求項23に記載の装置。
  28. 前記ピクセルのブロックは、16個のピクセルを含むピクセルの4×4ブロックであり、ピクセルの前記サブセットは、4つのピクセルを含む、
    請求項23に記載の装置。
  29. 前記ピクセルのブロックのための第2のメトリックを判断するための手段と、
    前記第1のメトリックと前記第2のメトリックとに基づいて前記ピクセルのブロックのためのフィルタを判断するための手段と
    をさらに備える、請求項23に記載の装置。
  30. 前記第2のメトリックは、アクティビティメトリックを備える、
    請求項29に記載の装置。
  31. 前記装置は、複数のフィルタを用いた4分木ベース適応ループフィルタ(QALF)スキームを実装する、
    請求項23に記載の装置。
  32. 前記装置は、ビデオエンコーダを備える、
    請求項23に記載の装置。
  33. 前記装置は、ビデオデコーダを備える、
    請求項23に記載の装置。
  34. 実行されたとき、1つまたは複数のプロセッサに、
    ピクセルのブロックのための第1のメトリックを判断することと、ここで、前記第1のメトリックは、前記ブロック中の前記ピクセルのサブセットと前記ブロック中の他のピクセルとの比較に基づいて判断される、
    前記第1のメトリックに基づいて前記ピクセルのブロックのためのフィルタを判断することと、
    前記ピクセルのブロックに前記フィルタを適用することによってフィルタ処理済み画像を生成することと
    を行わせる、命令を記憶したコンピュータ可読記憶媒体。
  35. 前記第1のメトリックを判断することは、水平アクティビティの測定値を垂直アクティビティの測定値と比較することを備える、請求項34に記載のコンピュータ可読記憶媒体。
  36. 前記水平アクティビティは、前記サブセット中の少なくとも1つのピクセルのピクセル値を左の隣接ピクセルのピクセル値および右の隣接ピクセルのピクセル値と比較することに基づいて判断され、前記左の隣接ピクセルおよび前記右の隣接ピクセルは、両方とも前記ピクセルのブロック中にある、
    請求項35に記載のコンピュータ可読記憶媒体。
  37. 前記垂直アクティビティは、前記サブセット中の少なくとも1つのピクセルのピクセル値を上の隣接ピクセルのピクセル値および下の隣接ピクセルのピクセル値と比較することに基づいて判断され、前記上の隣接ピクセルおよび前記下の隣接ピクセルは、両方とも前記ピクセルのブロック中にある、
    請求項35に記載のコンピュータ可読記憶媒体。
  38. 前記ピクセルのブロックは、ピクセルのM×Nブロックであり、前記ピクセルのサブセットは、前記M×Nブロックの境界上にないピクセルを備える、
    請求項34に記載のコンピュータ可読記憶媒体。
  39. 前記ピクセルのブロックは、16個のピクセルを含むピクセルの4×4ブロックであり、ピクセルの前記サブセットは、4つのピクセルを含む、
    請求項34に記載のコンピュータ可読記憶媒体。
  40. 前記ピクセルのブロックのための第2のメトリックを判断することと、
    前記第1のメトリックと前記第2のメトリックとに基づいて、前記ピクセルのブロックのためのフィルタを判断することと
    をさらに備える、
    請求項34に記載のコンピュータ可読記憶媒体。
  41. 前記第2のメトリックは、アクティビティメトリックを備える、
    請求項34に記載のコンピュータ可読記憶媒体。
  42. 前記1つまたは複数のプロセッサは、複数のフィルタを用いた4分木ベース適応ループフィルタ(QALF)スキームを実装する、
    請求項34に記載のコンピュータ可読記憶媒体。
  43. 前記1つまたは複数のプロセッサは、ビデオ符号化を実行する、
    請求項34に記載のコンピュータ可読記憶媒体。
  44. 前記1つまたは複数のプロセッサは、ビデオ復号を実行する、
    請求項34に記載のコンピュータ可読記憶媒体。
JP2013555530A 2011-02-23 2012-02-22 複数メトリックフィルタ処理 Active JP5815756B2 (ja)

Applications Claiming Priority (23)

Application Number Priority Date Filing Date Title
US201161445967P 2011-02-23 2011-02-23
US61/445,967 2011-02-23
US201161448771P 2011-03-03 2011-03-03
US61/448,771 2011-03-03
US201161473713P 2011-04-08 2011-04-08
US61/473,713 2011-04-08
US201161476260P 2011-04-16 2011-04-16
US61/476,260 2011-04-16
US201161478287P 2011-04-22 2011-04-22
US61/478,287 2011-04-22
US201161503426P 2011-06-30 2011-06-30
US201161503440P 2011-06-30 2011-06-30
US201161503434P 2011-06-30 2011-06-30
US61/503,440 2011-06-30
US61/503,426 2011-06-30
US61/503,434 2011-06-30
US201161527463P 2011-08-25 2011-08-25
US61/527,463 2011-08-25
US201161531571P 2011-09-06 2011-09-06
US61/531,571 2011-09-06
US13/401,685 2012-02-21
US13/401,685 US8964853B2 (en) 2011-02-23 2012-02-21 Multi-metric filtering
PCT/US2012/026166 WO2012116095A1 (en) 2011-02-23 2012-02-22 Multi-metric filtering

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015187236A Division JP6105011B2 (ja) 2011-02-23 2015-09-24 複数メトリックフィルタ処理

Publications (2)

Publication Number Publication Date
JP2014511615A true JP2014511615A (ja) 2014-05-15
JP5815756B2 JP5815756B2 (ja) 2015-11-17

Family

ID=46652728

Family Applications (7)

Application Number Title Priority Date Filing Date
JP2013555528A Active JP5752812B2 (ja) 2011-02-23 2012-02-22 複数メトリックフィルタ処理
JP2013555527A Active JP5815755B2 (ja) 2011-02-23 2012-02-22 複数メトリックフィルタ処理
JP2013555530A Active JP5815756B2 (ja) 2011-02-23 2012-02-22 複数メトリックフィルタ処理
JP2013555529A Active JP5897609B2 (ja) 2011-02-23 2012-02-22 複数メトリックフィルタ処理
JP2015148880A Active JP6141917B2 (ja) 2011-02-23 2015-07-28 複数メトリックフィルタ処理
JP2015187236A Active JP6105011B2 (ja) 2011-02-23 2015-09-24 複数メトリックフィルタ処理
JP2017092448A Active JP6370960B2 (ja) 2011-02-23 2017-05-08 複数メトリックフィルタ処理

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2013555528A Active JP5752812B2 (ja) 2011-02-23 2012-02-22 複数メトリックフィルタ処理
JP2013555527A Active JP5815755B2 (ja) 2011-02-23 2012-02-22 複数メトリックフィルタ処理

Family Applications After (4)

Application Number Title Priority Date Filing Date
JP2013555529A Active JP5897609B2 (ja) 2011-02-23 2012-02-22 複数メトリックフィルタ処理
JP2015148880A Active JP6141917B2 (ja) 2011-02-23 2015-07-28 複数メトリックフィルタ処理
JP2015187236A Active JP6105011B2 (ja) 2011-02-23 2015-09-24 複数メトリックフィルタ処理
JP2017092448A Active JP6370960B2 (ja) 2011-02-23 2017-05-08 複数メトリックフィルタ処理

Country Status (23)

Country Link
US (7) US8982960B2 (ja)
EP (8) EP2679008B1 (ja)
JP (7) JP5752812B2 (ja)
KR (6) KR101788948B1 (ja)
CN (6) CN103392339B (ja)
AU (2) AU2012220639B2 (ja)
BR (2) BR112013021617A2 (ja)
CA (2) CA2830381C (ja)
DK (2) DK2679009T3 (ja)
ES (3) ES2824831T3 (ja)
HU (2) HUE051435T2 (ja)
IL (1) IL227636A (ja)
MX (1) MX2013009722A (ja)
MY (2) MY166573A (ja)
PL (2) PL3796653T3 (ja)
PT (1) PT2679009T (ja)
RU (2) RU2579688C2 (ja)
SG (2) SG192743A1 (ja)
SI (1) SI2679009T1 (ja)
TW (1) TWI499267B (ja)
UA (1) UA110637C2 (ja)
WO (4) WO2012116090A1 (ja)
ZA (2) ZA201307111B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021503862A (ja) * 2017-11-01 2021-02-12 ヴィド スケール インコーポレイテッド ビデオコーディングにおける適応ループフィルタを簡略化する方法
JP2022520946A (ja) * 2019-06-24 2022-04-04 テンセント・アメリカ・エルエルシー ループ・フィルタリング制御のための仮想境界の効率的な信号伝達のための方法、システム、コンピュータ・プログラム

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2009007274A (es) 2007-01-05 2009-07-10 Lg Electronics Inc Metodo para mapeo de estrato y metodo de transmision de datos para sistema de entrada multiple salida multiple.
US10123050B2 (en) 2008-07-11 2018-11-06 Qualcomm Incorporated Filtering video data using a plurality of filters
US9143803B2 (en) 2009-01-15 2015-09-22 Qualcomm Incorporated Filter prediction based on activity metrics in video coding
US8982960B2 (en) 2011-02-23 2015-03-17 Qualcomm Incorporated Multi-metric 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
US9344742B2 (en) * 2012-08-10 2016-05-17 Google Inc. Transform-domain intra prediction
US20140056363A1 (en) * 2012-08-23 2014-02-27 Yedong He Method and system for deblock filtering coded macroblocks
CN104704827B (zh) 2012-11-13 2019-04-12 英特尔公司 用于下一代视频的内容自适应变换译码
FR3011429A1 (fr) * 2013-09-27 2015-04-03 Orange Codage et decodage video par heritage d'un champ de vecteurs de mouvement
KR20150037371A (ko) * 2013-09-30 2015-04-08 삼성전자주식회사 다이렉트 메모리 액세스(dma)를 이용하여 영상 신호를 처리하는 방법 및 장치.
US9628822B2 (en) * 2014-01-30 2017-04-18 Qualcomm Incorporated Low complexity sample adaptive offset encoding
JP2017513312A (ja) * 2014-03-14 2017-05-25 シャープ株式会社 色空間スケーラビリティを用いたビデオ圧縮
CN104023241B (zh) * 2014-05-29 2017-08-04 华为技术有限公司 帧内预测编码的视频编码方法及视频编码装置
US10057574B2 (en) 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
CN104918057B (zh) * 2015-05-08 2018-07-13 上海交通大学 一种利用邻域运动信息的运动矢量后处理系统
RU2684193C1 (ru) * 2015-05-21 2019-04-04 Хуавэй Текнолоджиз Ко., Лтд. Устройство и способ для компенсации движения в видеоизображении
CN115134607A (zh) * 2015-06-11 2022-09-30 杜比实验室特许公司 使用自适应去块滤波编码和解码图像的方法及其装置
CN107750459B (zh) * 2015-06-18 2020-09-15 Lg电子株式会社 图像编码系统中的基于图像特性的自适应滤波方法和装置
US10750170B2 (en) * 2015-06-18 2020-08-18 Lg Electronics Inc. Image filtering method and device in image coding system
CN105049846B (zh) * 2015-08-14 2019-05-21 广东中星微电子有限公司 图像和视频编解码的方法和设备
CN106470341B (zh) 2015-08-17 2020-10-02 恩智浦美国有限公司 媒体显示系统
US9883183B2 (en) * 2015-11-23 2018-01-30 Qualcomm Incorporated Determining neighborhood video attribute values for video data
KR101788183B1 (ko) * 2015-12-28 2017-10-20 현대자동차주식회사 차량 및 그 제어방법
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
US10419755B2 (en) * 2016-05-16 2019-09-17 Qualcomm Incorporated Confusion of multiple filters in adaptive loop filtering in video coding
EP3520402A4 (en) * 2016-10-03 2019-09-18 Sharp Kabushiki Kaisha SYSTEMS AND METHOD FOR APPLYING DEFLECTION FILTERS IN RECONSTRUCTED VIDEO DATA
US10572978B2 (en) * 2016-12-05 2020-02-25 Kennesaw State University Research And Service Foundation, Inc. Moran's / for impulse noise detection and removal in color images
JP2018182444A (ja) * 2017-04-07 2018-11-15 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム
CN108737841B (zh) * 2017-04-21 2020-11-24 腾讯科技(深圳)有限公司 编码单元深度确定方法及装置
US10225578B2 (en) 2017-05-09 2019-03-05 Google Llc Intra-prediction edge filtering
US10992939B2 (en) 2017-10-23 2021-04-27 Google Llc Directional intra-prediction coding
WO2019065261A1 (ja) * 2017-09-27 2019-04-04 ソニー株式会社 符号化装置、符号化方法、復号装置、及び、復号方法
US20190116359A1 (en) * 2017-10-12 2019-04-18 Qualcomm Incorporated Guided filter for video coding and processing
CN108122268B (zh) * 2017-12-19 2021-07-23 网易(杭州)网络有限公司 贴图处理方法和装置
US20190297603A1 (en) * 2018-03-23 2019-09-26 Samsung Electronics Co., Ltd. Method and apparatus for beam management for multi-stream transmission
US11889070B2 (en) * 2018-03-23 2024-01-30 Sharp Kabushiki Kaisha Image filtering apparatus, image decoding apparatus, and image coding apparatus
US11451773B2 (en) 2018-06-01 2022-09-20 Qualcomm Incorporated Block-based adaptive loop filter (ALF) design and signaling
CN112272951B (zh) * 2018-06-13 2024-08-09 华为技术有限公司 用于视频编码的帧内锐化滤波器和/或去振铃滤波器
CN111107358B (zh) * 2018-10-26 2024-07-30 北京字节跳动网络技术有限公司 块分割中的冗余降低
KR102622950B1 (ko) 2018-11-12 2024-01-10 삼성전자주식회사 디스플레이장치, 그 제어방법 및 기록매체
CN113632467B (zh) * 2018-11-14 2024-10-25 夏普株式会社 用于将解块滤波器应用于重构视频数据的系统和方法
US11051017B2 (en) 2018-12-20 2021-06-29 Qualcomm Incorporated Adaptive loop filter (ALF) index signaling
RU2737343C2 (ru) * 2019-01-10 2020-11-27 Федеральное государственное казенное военное образовательное учреждение высшего образования "Военный учебно-научный центр Военно-воздушных сил "Военно-воздушная академия имени профессора Н.Е. Жуковского и Ю.А. Гагарина" (г. Воронеж) Министерства обороны Российской Федерации Способ определения характера движения объекта на кадрах видеопоследовательности
CN113727116B (zh) * 2021-07-21 2024-04-23 天津津航计算技术研究所 基于过滤机制的视频解码方法
CN113747171B (zh) * 2021-08-06 2024-04-19 天津津航计算技术研究所 一种自恢复的视频解码方法
CN114598902B (zh) * 2022-03-09 2023-12-22 安徽文香科技股份有限公司 一种视频帧处理方法、装置及电子设备
CN116260973B (zh) * 2023-03-31 2024-03-19 北京百度网讯科技有限公司 一种时域滤波方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010083438A2 (en) * 2009-01-15 2010-07-22 Qualcomn Incorporated Filter prediction based on activity metrics in video coding

Family Cites Families (85)

* 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
US20040247190A1 (en) 2001-09-18 2004-12-09 Makoto Hagai Image encoding method and image decoding method
US6983079B2 (en) 2001-09-20 2006-01-03 Seiko Epson Corporation Reducing blocking and ringing artifacts in low-bit-rate coding
ATE419713T1 (de) * 2001-11-29 2009-01-15 Panasonic Corp Verfahren zur beseitigung von kodierungsverzerrung und verfahren zur videokodierung und -dekodierung
KR100418437B1 (ko) 2001-12-24 2004-02-14 (주)씨앤에스 테크놀로지 멀티미디어 신호처리를 위한 영상복원 프로세서
WO2003058945A2 (en) 2002-01-14 2003-07-17 Nokia Corporation Coding dynamic filters
EP1333681A3 (en) 2002-01-31 2004-12-08 Samsung Electronics Co., Ltd. Filtering method and apparatus for reducing block artifacts or ringing noise
JP4102973B2 (ja) 2002-04-24 2008-06-18 日本電気株式会社 動画像の符号化方法および復号化方法、これを用いた装置とプログラム
DK1467491T3 (da) 2002-05-02 2007-03-19 Fraunhofer Ges Forschung Arithmetical coding of transform coefficients
AU2003246185A1 (en) 2002-06-25 2004-01-06 Matsushita Electric Industrial Co., Ltd. Motion detection device and noise reduction device using that
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
EP1603338A4 (en) 2003-03-10 2007-12-05 Mitsubishi Electric Corp APPARATUS AND METHOD FOR VIDEO SIGNAL CODING
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
US7599438B2 (en) 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
WO2005034517A1 (en) 2003-09-17 2005-04-14 Thomson Licensing S.A. Adaptive reference picture generation
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
EP1772017A2 (en) 2004-07-20 2007-04-11 Qualcomm Incorporated 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
EP1886502A2 (en) 2005-04-13 2008-02-13 Universität Hannover Method and apparatus for enhanced video coding
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
CN101491101B (zh) 2006-07-18 2011-11-16 汤姆森许可贸易公司 用于自适应参考滤波的方法和装置
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
KR100900294B1 (ko) 2006-11-09 2009-05-29 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
RU2461977C2 (ru) 2006-12-18 2012-09-20 Конинклейке Филипс Электроникс Н.В. Сжатие и снятие сжатия изображения
EP2127391A2 (en) 2007-01-09 2009-12-02 Nokia Corporation Adaptive interpolation filters for video coding
KR100856551B1 (ko) * 2007-05-31 2008-09-04 한국과학기술원 H.264/avc에서의 디블록 필터 및 필터링 방법
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
US7965900B2 (en) * 2007-09-26 2011-06-21 Hewlett-Packard Development Company, L.P. Processing an input image to reduce compression-related artifacts
JP5427785B2 (ja) 2007-09-28 2014-02-26 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ圧縮技法及びビデオ伝達技法
EP2048886A1 (en) 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients
CN101184221A (zh) * 2007-12-06 2008-05-21 上海大学 基于视觉关注度的视频编码方法
CN101971632B (zh) * 2008-01-08 2013-10-16 艾利森电话股份有限公司 自适应滤波
KR20100103822A (ko) * 2008-01-14 2010-09-28 톰슨 라이센싱 다중 격자 성김-기반의 필터링을 사용하는 아티팩트 제거 필터링 방법 및 장치
US8831086B2 (en) 2008-04-10 2014-09-09 Qualcomm Incorporated Prediction techniques for interpolation in video coding
WO2009131508A2 (en) 2008-04-23 2009-10-29 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
CN101854540B (zh) * 2009-04-01 2014-07-02 辉达公司 用于应用h.264视频编码标准的帧内预测方法及装置
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
CN101945281B (zh) * 2010-09-10 2014-09-10 中兴通讯股份有限公司 视频编码的滤波方法及装置
US8982960B2 (en) 2011-02-23 2015-03-17 Qualcomm Incorporated Multi-metric filtering
JP5818755B2 (ja) 2012-08-23 2015-11-18 有限会社イザキ 焼却灰保管方法およびこれに用いる焼却灰保管容器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010083438A2 (en) * 2009-01-15 2010-07-22 Qualcomn Incorporated Filter prediction based on activity metrics in video coding

Non-Patent Citations (11)

* Cited by examiner, † Cited by third party
Title
CSNC201318001222; Ikai,T. et al: 'Region-based adaptive loop filter using two-dimensional feature[online]' JCTVC-D116 , 20110114, <URL:http://phenix.it-sudparis.eu/jct/doc_end_use *
CSNC201318001228; Chen,C.Y. et al: 'CE8 Subset2: A Joint Proposal on Improving the Adaptive Loop Filter in TMuC0.9 by MediaTek, Qualcomm' JCTVC-D119 , 20110123, <URL:http://phenix.it-sudparis.eu/jct/doc_end_use *
JPN6014034667; Chen,C.Y. et al: 'CE8 Subset2: A Joint Proposal on Improving the Adaptive Loop Filter in TMuC0.9 by MediaTek, Qualcomm' JCTVC-D119 , 20110123, <URL:http://phenix.it-sudparis.eu/jct/doc_end_use *
JPN6014034670; Ikai,T. et al: 'Region-based adaptive loop filter using two-dimensional feature[online]' JCTVC-D116 , 20110114, <URL:http://phenix.it-sudparis.eu/jct/doc_end_use *
JPN6015016038; Tomohiro Ikai and Yukinobu Yasugi: 'Region-based adaptive loop filter using two-dimensional feature' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-D116, 201101, pp.1-12, 4th Meeting: Daegu, KR *
JPN6015016040; PoLin Lai (Wang L. Lai) and Felix C. Fernandes: 'Loop filter with directional similarity mapping (DSM)' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-D221_r3, 201101, pp.1-9, 4th Meeting: Daegu, KR *
JPN6015016042; Ching-Yeh Chen et al.: 'CE8 Subset2: A Joint Proposal on Improving the Adaptive Loop Filter in TMuC0.9 by MediaTek, Qualcomm' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-D119_r3, 201101, pp.1-18, 4th Meeting: D *
JPN6015016045; Tomohiro Ikai and Takanori Yamazaki: 'CE8.2: Region-based adaptive loop filter using two-dimensional feature' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-E141, 201103, pp.1-7, 5th Meeting: Geneva, Switzerland *
JPN6015016047; I. S. Chong et al.: 'CE8 Subtest 2: Block based adaptive loop filter (ALF)' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-E323_r3, 201103, pp.1-5, 5th Meeting: Geneva, CH *
JPN6015016051; Wang (PoLin) Lai et al.: 'CE8 Subtest 1: Block-based filter adaptation with features on subset of pixels' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-F301_r4, 201107, pp.1-5, 6th Meeting: Torino, Italy *
JPN6015016055; Tomohiro Ikai et al.: 'CE8.1:Block based Adaptive Loop Filter with flexible syntax and additional BA mode by Sharp and Qual' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-F384r2, 201107, pp.1-6, 6th Meeting: Tor&#xFF49 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021503862A (ja) * 2017-11-01 2021-02-12 ヴィド スケール インコーポレイテッド ビデオコーディングにおける適応ループフィルタを簡略化する方法
US11641488B2 (en) 2017-11-01 2023-05-02 Vid Scale, Inc. Methods for simplifying adaptive loop filter in video coding
JP7390300B2 (ja) 2017-11-01 2023-12-01 ヴィド スケール インコーポレイテッド ビデオコーディングにおける適応ループフィルタを簡略化する方法
JP2022520946A (ja) * 2019-06-24 2022-04-04 テンセント・アメリカ・エルエルシー ループ・フィルタリング制御のための仮想境界の効率的な信号伝達のための方法、システム、コンピュータ・プログラム

Also Published As

Publication number Publication date
JP6141917B2 (ja) 2017-06-07
ES2816423T3 (es) 2021-04-05
US20120213271A1 (en) 2012-08-23
ZA201307110B (en) 2018-12-19
IL227636A (en) 2017-05-29
ES2824831T3 (es) 2021-05-13
US20120213292A1 (en) 2012-08-23
JP2014511614A (ja) 2014-05-15
JP2014511613A (ja) 2014-05-15
MY166573A (en) 2018-07-17
EP2679008B1 (en) 2020-07-08
US9819936B2 (en) 2017-11-14
CA2830381A1 (en) 2012-08-30
CA2828406C (en) 2016-07-19
JP2016006985A (ja) 2016-01-14
MY167114A (en) 2018-08-10
SG192743A1 (en) 2013-09-30
KR20150056663A (ko) 2015-05-26
US9258563B2 (en) 2016-02-09
KR101788948B1 (ko) 2017-10-20
MX2013009722A (es) 2013-09-16
KR101552032B1 (ko) 2015-09-09
JP5815755B2 (ja) 2015-11-17
DK2679008T3 (da) 2020-08-03
JP2017175640A (ja) 2017-09-28
JP5752812B2 (ja) 2015-07-22
US20160156906A1 (en) 2016-06-02
WO2012116088A1 (en) 2012-08-30
ZA201307111B (en) 2018-12-19
ES2966390T3 (es) 2024-04-22
KR20150058528A (ko) 2015-05-28
EP3796653B1 (en) 2023-11-15
JP5815756B2 (ja) 2015-11-17
EP3687170A1 (en) 2020-07-29
AU2012220639B2 (en) 2015-11-19
EP2679007A1 (en) 2014-01-01
KR20130129439A (ko) 2013-11-28
RU2013142925A (ru) 2015-03-27
JP6370960B2 (ja) 2018-08-08
US9877023B2 (en) 2018-01-23
WO2012116095A1 (en) 2012-08-30
DK2679009T3 (da) 2020-08-03
US8989261B2 (en) 2015-03-24
EP2679010A1 (en) 2014-01-01
JP5897609B2 (ja) 2016-03-30
WO2012116090A1 (en) 2012-08-30
CN107277525A (zh) 2017-10-20
EP3687171A1 (en) 2020-07-29
WO2012116094A1 (en) 2012-08-30
CN103404142B (zh) 2018-06-01
CA2828406A1 (en) 2012-08-30
EP2679008A1 (en) 2014-01-01
US20150117555A1 (en) 2015-04-30
KR20130129441A (ko) 2013-11-28
CN107277525B (zh) 2020-05-01
RU2579688C2 (ru) 2016-04-10
EP2679009B1 (en) 2020-07-08
CN103380621B (zh) 2017-05-10
CN107396114A (zh) 2017-11-24
KR20130129442A (ko) 2013-11-28
CN103477639B (zh) 2017-09-22
UA110637C2 (uk) 2016-01-25
EP3700203A1 (en) 2020-08-26
EP2679009A1 (en) 2014-01-01
US20120213293A1 (en) 2012-08-23
KR101578986B1 (ko) 2015-12-18
TWI499267B (zh) 2015-09-01
US20150117554A1 (en) 2015-04-30
US8964852B2 (en) 2015-02-24
PL2679009T3 (pl) 2020-12-28
CN103380621A (zh) 2013-10-30
IL227636A0 (en) 2013-09-30
PL3796653T3 (pl) 2024-03-25
CN103477639A (zh) 2013-12-25
RU2584961C2 (ru) 2016-05-20
TW201242374A (en) 2012-10-16
CA2830381C (en) 2016-05-17
US8982960B2 (en) 2015-03-17
HUE051435T2 (hu) 2021-03-01
CN103392339A (zh) 2013-11-13
BR112013021617A2 (pt) 2020-09-29
JP2016026449A (ja) 2016-02-12
EP3796653A1 (en) 2021-03-24
CN103392339B (zh) 2016-08-24
EP3796653C0 (en) 2023-11-15
KR101552031B1 (ko) 2015-09-09
BR112013021476A2 (pt) 2016-10-11
US8964853B2 (en) 2015-02-24
AU2012220632B2 (en) 2015-09-10
KR20130129440A (ko) 2013-11-28
AU2012220632A1 (en) 2013-09-05
RU2013143011A (ru) 2015-03-27
US20120213291A1 (en) 2012-08-23
HUE051433T2 (hu) 2021-03-01
KR101581098B1 (ko) 2015-12-29
AU2012220639A1 (en) 2013-10-03
JP6105011B2 (ja) 2017-03-29
SG192123A1 (en) 2013-08-30
CN103404142A (zh) 2013-11-20
SI2679009T1 (sl) 2020-11-30
PT2679009T (pt) 2020-08-31
JP2014508473A (ja) 2014-04-03
CN107396114B (zh) 2020-09-22

Similar Documents

Publication Publication Date Title
JP6370960B2 (ja) 複数メトリックフィルタ処理
IL227994A (en) Multi-metric filtering

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150728

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150924

R150 Certificate of patent or registration of utility model

Ref document number: 5815756

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