JP2009278189A - 解凍ビデオデータ用デリンギングフィルタ - Google Patents

解凍ビデオデータ用デリンギングフィルタ Download PDF

Info

Publication number
JP2009278189A
JP2009278189A JP2008125159A JP2008125159A JP2009278189A JP 2009278189 A JP2009278189 A JP 2009278189A JP 2008125159 A JP2008125159 A JP 2008125159A JP 2008125159 A JP2008125159 A JP 2008125159A JP 2009278189 A JP2009278189 A JP 2009278189A
Authority
JP
Japan
Prior art keywords
pixel
value
pixels
deringing
post
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.)
Withdrawn
Application number
JP2008125159A
Other languages
English (en)
Inventor
Lefan Zhong
ツオン レファン
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.)
Vivante Corp
Original Assignee
Vivante Corp
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 Vivante Corp filed Critical Vivante Corp
Priority to JP2008125159A priority Critical patent/JP2009278189A/ja
Publication of JP2009278189A publication Critical patent/JP2009278189A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】解凍されたビデオデータをフィルタ処理するためのグラフィックスコントローラの後処理装置を提供する。
【解決手段】本装置の実施形態は、バッファとデリンギングフィルタを含む。バッファは、メモリからビデオデータのピクセル線を読み込むように構成される。ピクセル線は、ビデオデータの隣接マクロブロックからのピクセルを含む。デリンギングフィルタはバッファに結合される。デリンギングフィルタは、ピクセル線内のピクセルの隣接対の間の最大ピクセルジャンプを特定し、ピクセルがエッジピクセルではないという判断に応答して、ピクセル線のピクセルサブセット内のピクセルにデリンギングフィルタを適用するように構成される。ピクセルがエッジピクセルではないという判断は、特定された最大ピクセルジャンプに基づく。
【選択図】図1

Description

ビデオ圧縮は、長編ムービーのようなビデオデータファイルを、格納(例えば、光学格納媒体へ)、処理、および伝送のために比較的管理し易くするために使用される。一般的には、ビデオ圧縮は、冗長および重要でない情報を削除することにより達成される。ビデオ画像は通常は画面全体に対して滑らかな色領域から構成されているので、ビデオ情報は通常は時間および空間にわたりそれほど大きくは変化しない。そのため、画像におけるビデオ情報のかなりの部分は予測可能で、そのため冗長性がある。従って、ビデオ圧縮を使用して、冗長な情報を除去し、予測できない情報のみを残す。
重要でないビデオ画像情報は、ある合理的な視聴条件においては人間の目では見ることができない情報である。例えば、人間の目は、高い空間周波数のノイズ(低空間周波数のノイズと比較して)、または場面変化の直前および直後の詳細の消失を容易には感知できない。従って、ビデオ圧縮は、重要でない情報を除去するためにも使用される。冗長な情報の除去と、重要でない情報の除去の組合せにより、ビデオデータファイルに対して、比較的高い圧縮比を容易にする。
動画像圧縮伸張標準方式(MPEG)は、デジタル圧縮フォーマットにおける視聴覚情報に対する一群の標準である。MPEGは、国際標準化機構(ISO)により認定された標準である。MPEG圧縮は、種々の従来技術を組み込んで、冗長および重要でない情報をビデオデータファイルから除去するビデオ圧縮の1つのタイプである。これらの従来技術のいくつかには、動き補償予測(motion-compensated prediction)、離散コサイン変換(DCT)、量子化、および可変長符号化(VLC)が含まれる。DCTは、ピクセルデータを、関連付けられた係数を有する空間周波数のセットに変換するアルゴリズムである。DCT係数の非均一分布(画像の非ゼロDCT係数のほとんどは、一般的な領域に位置する傾向がある)により、この分布特性を利用して、非ゼロDCT係数とゼロDCT係数を区別するためにVLCが通常は使用される。そうすることにより、冗長/予測可能情報は除去できる。更に、DCTにより、ビデオ画像を空間周波数に分解したことは、それらの関連するDCT係数を介して、より高い周波数が、それらの関連するDCT係数を介する、より低い周波数よりも低い精度でコード化できることを意味している。これにより、重要でない情報は除去されることになる。従って、量子化は、人間の目がそれぞれの空間周波数において許容できるノイズ量に基づいてDCT係数を重み付けし、係数の減少されたセットが生成できる演算として一般化できる。
しかし、高圧縮されたビデオデータが解凍されるときは、ノイズアーティファクトを伴う画像の劣化が解凍ビデオ画像に起こり得る。一般的には、2つのタイプの劣化ノイズアーティファクトがある。それはブロッキングアーティファクトとリンギングアーティファクトである。ブロッキングアーティファクトは、典型的には、隣接ビデオ・ピクセル・データ・ブロック間の不連続性として現れる。ブロッキングアーティファクトは、ビデオピクセルブロックのDCT係数が、隣接ブロック間のピクセル相関を考慮しないで独立して量子化され処理されるときに作成される。リンギングアーティファクトは、典型的には、エッジ近傍のローカルフリッカリングとして現れる。リンギングアーティファクトは、高周波数DCT係数が粗い量子化の結果として切り捨てられるときに作成される。
従来のデリンギングフィルタ技術は、MPEG標準でも参照される。しかし、従来のデリンギングフィルタ技術は、比較的複雑な、二次元(2D)非線形フィルタを実践する。更に、従来の2D非線形フィルタは、実践するために3回の走査を行う。
装置の実施形態を説明する。1つの実施形態において、装置は、解凍ビデオデータをフィルタ処理するためのグラフィックスコントローラの後処理装置である。後処理装置の実施形態は、バッファとデリンギングフィルタを含む。バッファは、メモリから、ビデオデータのピクセル線を読み込むように構成される。ピクセル線は、ビデオデータの隣接マクロブロックからのピクセルを含む。デリンギングフィルタは、バッファに結合される。デリンギングフィルタは、ピクセル線における隣接ピクセル対の間の最大ピクセルジャンプを特定し、ピクセルがエッジピクセルでないという判断に応答して、ピクセル線のピクセルサブセット内のピクセルにデリンギングフィルタを適用するように構成される。ピクセルがエッジピクセルではないという判断は、特定された最大ピクセルジャンプに基づいている。装置の他の実施の形態も説明する。
方法の実施形態もまた説明する。1つの実施形態において、本方法は、解凍ビデオをフィルタ処理して、リンギングアーティファクトを補償する方法である。本方法は、ビデオデータのピクセル線を読み込む工程を含む。ピクセル線は、ビデオデータの隣接マクロブロックからのピクセルを含む。本方法はまた、ピクセル線における隣接ピクセル対の間の最大ピクセルジャンプを特定する工程も含む。本方法はまた、ピクセルがエッジピクセルでないという判断に応答して、ピクセル線のピクセルサブセット内のピクセルにデリンギングフィルタを適用する工程も含む。ピクセルがエッジピクセルでないという判断は、特定された最大ピクセルジャンプに基づいている。本方法の他の実施形態もまた説明する。
ここで使用されるように、結合された構成要素またはエンティティは、物理的に接続された構成要素を広く含むように意図されており、物理的に接続されていないが、通信可能、または種々の手段により信号または情報を送信できるエンティティもまた含む。本発明の実施形態の、他の形態および利点は、本発明の原理の例により示された、付随する図面と連係する下記の詳細な説明により明白になるであろう。
下記の詳細な説明においては、いくつもの具体的な詳細が、本発明の実施形態の完全な理解のために記述される。しかし、当業者には、本発明はこれらの具体的な詳細がなくても実行できるということは明白であろう。他の例においては、よく知られた方法、手順、構成要素、および回路は、簡潔および明確性のために詳細には記述されていないが、これは、記述される実施形態の形態を不必要に不明瞭にしないためである。更に、下記の詳細な記述は、ビデオ画像データを圧縮するMPEG標準を参照するが、いくつかの実施形態はまた、他のビデオ圧縮方式にも適用できる。
図1は、後処理アーキテクチャ100の1つの実施形態の模式ブロック図を示している。1つの実施形態において、後処理アーキテクチャ100は、「パイプライン」フィルタ処理を実践する。図示されている後処理アーキテクチャ100は、メモリ装置102と、フィルタバッファ104と、デブロッキングフィルタ106と、デリンギングフィルタ108を含む。後処理アーキテクチャ100の物理的実装は変わるが、示されているメモリ装置102と、フィルタバッファ104と、デブロッキングフィルタ106と、デリンギングフィルタ108は結合されて、メモリ102とバッファ104の間、バッファ104とデブロッキングフィルタ106の間、バッファ104とデリンギングフィルタ108の間、そしてデブロッキングフィルタ106とデリンギングフィルタ108の間のデータ転送を可能にする。そのようなデータ転送は、種々の構成要素部品間で直接または間接的に達成される。更に、データ転送は、1つまたは複数のデータ転送プロトコルを使用してシリアルまたはパラレル通信チャネルにおいて実践できる。1つの実施形態において、後処理アーキテクチャ100の構成要素部品はお互いにシリアルに接続されて、追加的にメモリにアクセスする必要がなく、解凍ビデオ画像を、まずデブロッキングフィルタ106へブロッキングアーティファクトを除去するために提供し、そして、デリンギングフィルタ108へリンギングアーティファクトを除去するために提供することを可能にする。他の実施形態は他のシリアルまたはパラレル構成を実践できる。
1つの実施形態において、メモリ102は解凍(つまり、処理済)ビデオ画像データを格納する。デブロッキングフィルタ106とデリンギングフィルタ108は、バッファ104からの解凍ビデオ画像データにアクセスする。または、デリンギングフィルタ108はデブロッキングフィルタ106からの解凍ビデオ画像データに直接アクセスできる。1つの実施形態において、デブロッキングフィルタ106とデリンギングフィルタ108は一次元(1D)フィルタである。代替実施形態においては、二次元(2D)フィルタまたは1Dおよび2Dフィルタの組合せを実践できる。デブロッキングフィルタ106とデリンギングフィルタ108の詳細をさらに下記に示す。
図2は、ピクセル116の、水平方向に隣接するマクロブロック112と114の対110の1つの実施形態の模式図を示している。示されているマクロブロック112と114のそれぞれは、ピクセル116の16×16アレイ、つまり合計256個のピクセル116のアレイを含む。類似のマクロブロックの命名法は、表示装置上のピクセル116のすべてをグループ化するために使用できる。この命名法により、種々のピクセル116に対応するビデオデータの処理を容易にする。このようにして、ビデオデータを、マクロブロック112と114のようなブロックにおいて処理できる。描かれたマクロブロック112と114はピクセル116の16×16アレイとして示されているが、マクロブロック112と114の他の実装は、より少ない、またはより多いピクセル116を含むことができる。例えば、マクロブロックはピクセル116の8×8アレイを有するように実装できる。
説明を容易にするために、左側のマクロブロック112を強調表示して(つまり、外形を目立たせて)、左側のマクロブロック112が、特定の処理または表示工程の対象である現在のマクロブロック、または現在のビデオデータのブロックとして指定されていることを示す。1つの実施形態において、表示装置上のマクロブロック112と114のそれぞれは、特定の処理工程の対象の現在のブロックとして個々に指定できる。これにより、ビデオデータをブロックで処理することが可能になり、従って、処理および表示工程を簡単にできる。
更に、隣接するマクロブロック112と114内のピクセル116はピクセル線118として指定できる。水平方向に隣接するマクロブロック112と114の場合は、ピクセル線118はまたピクセル行とも称することができる。マクロブロック112と114のそれぞれは各行に16個のピクセル116を有しているので、ピクセル線118は32個のピクセル116を含むことになる。または、ピクセル線118はピクセル行におけるピクセル116のすべてよりも少ないピクセル116を含むことができる。例えば、1つの実施形態において、ピクセル線118はマクロブロック112と114のそれぞれから、16個のピクセル116すべてではなく中間の8個のピクセル116を含むことができる。ピクセル線118は下記に記載するように使用される。
図3は、ピクセル116の垂直方向に隣接するマクロブロック122と124の対120の1つの実施形態の模式図を示している。1つの実施形態において、上側マクロブロック122は現在のマクロブロックとして指定される。垂直方向に隣接するマクロブロック122と124は、図2に示されている水平方向に隣接するマクロブロック112と114と実質的に類似している。マクロブロック122と124のそれぞれはピクセル116の16×16アレイを含む。更に、マクロブロック122と124はピクセル線128を含むことができる。ピクセル線128は垂直方向に向いているので(マクロブロック122と124の空間的関係のため)、ピクセル線128はまたピクセル列とも称される。多くの形態において、ピクセル線118とピクセル線128は、その向きを除いて実質的に類似している。
図4は、デブロッキングアーキテクチャ130の1つの実施形態の模式ブロック図を示している。一般的に、図示されているデブロッキングアーキテクチャ130は、マクロブロック112と114、およびマクロブロック122と124のような隣接するマクロブロックの境界を滑らかにすることを容易にする。1つの実施形態において、デブロッキングアーキテクチャ130の出力は表示の目的で使用されるが、基準フレームとしては使用されない。更に1つの実施形態において、デブロッキングアーキテクチャ130は完全なフレームがデコードされた後に使用される。
図示されているデブロッキングアーキテクチャ130は、入力ピクセル線132の10個のピクセル116(例えば、典型的なピクセル線118における32個のピクセル116のうちの10個)を示している。ピクセル116はP0〜P4およびQ0〜Q4として指定されている。1つの実施形態において、ピクセルP0〜P4は1つのマクロブロック112に属し、ピクセルQ0〜Q4は別の隣接するマクロブロック114に属する。ピクセルP0とQ0間の境界は、2つの隣接するマクロブロック112と114の間の境界を表わしている。添字の数が増大すると(0から4へ)、対応するピクセル116は、隣接するマクロブロック112と114の間の境界から遠くなる。
1つの実施形態において、入力ピクセル線132の10個のピクセル116はデブロッキングフィルタ106に入力される。デブロッキングフィルタは入力ピクセル線132に対して、2つのマクロブロック112と114の間の境界を滑らかにするデブロッキング処理を実践する。その結果、デブロッキングフィルタ106は、例えば、出力ピクセル線134の8個の新しい値P0’〜P3’とQ0’〜Q3’を出力して、入力ピクセル線132のピクセル116の対応する元々の入力値P0〜P3とQ0〜Q3と置き換える。1つの実施形態において、出力ピクセル線134のピクセル116のグレースケールまたはカラースケール値は、入力ピクセル線132のピクセル116の値とは異なり、それにより、マクロブロック112と114の間のブロッキングアーティファクトが削減される。
図5は、デリンギングアーキテクチャ140の1つの実施形態の模式ブロック図を示している。一般的に、図示されているデリンギングアーキテクチャ140は、マクロブロック112と114、およびマクロブロック122と124のような隣接するマクロブロックの境界近くのエッジに対するリンギングアーティファクトの除去を容易にする。1つの実施形態において、デリンギングアーキテクチャ140は低ビットレートビデオに対しては特に有効である。
図示されているデリンギングアーキテクチャ140は、入力ピクセル線142の16個のピクセル116(例えば、典型的なピクセル線118における32個のピクセル116のうちの16個)を示している。ピクセル116は、P0’〜P3’、P4〜P7、Q0’〜Q3’、およびQ4〜Q7として指定されている。1つの実施形態において、ピクセルP0’〜P3’とピクセルQ0’〜Q3’は、上記のデブロッキングアーキテクチャ130からの出力ピクセル線134のピクセル116と同じである。言い換えれば、デリンギングアーキテクチャ140は、デブロッキングアーキテクチャ130の出力ピクセル線134をデリンギングアーキテクチャ140の入力ピクセル線142の一部として使用して、隣接するマクロブロックからのリンギングアーティファクトを除去できる。
1つの実施形態において、入力ピクセル線142の16個のピクセル116は、デリンギングフィルタ108に入力される。デリンギングフィルタ108はデリンギング処理を実践して、入力ピクセル線142に対する2つのマクロブロック112と114からのリンギングアーティファクトを除去する。その結果、デリンギングフィルタ108は、例えば、出力ピクセル線144の8個の新しい値P0”〜P3”とQ0”〜Q3”を出力して、入力ピクセル線142のピクセル116の対応する元々の入力値P0’〜P3’とQ0’〜Q3’と置き換える。1つの実施形態において、出力ピクセル線144のピクセル116の新しいグレースケールまたはカラースケール値は、入力ピクセル線142のピクセル116の値とは異なっており、それにより、マクロブロック112と114のリンギングアーティファクトが削減される。
1つの実施形態において、デリンギングフィルタ108は、リンギングアーティファクトの除去を容易にする種々のアルゴリズム、関数、および演算を実践できる。デリンギングフィルタ108の少なくとも1つの実践はデリンギングフィルタの従来の実践よりも遥かに簡単である。下記の説明は、一次元(1D)デリンギングフィルタの例としての関数的実施形態を示すが、他の実施形態は類似の設計基準および考察を使用して他のデリンギングフィルタを実践できる。
更に、下記の説明は、量子化スケールと、1つまたは複数の量子化ファクタまたは量子化スケール値に言及する。量子化スケールの使用は、この技術においてはよく知られており、MPEG規格においてかなり詳細に記述されている。従って、ここでは量子化のより詳細な説明はしない。いくつかの実施形態においては、使用される量子化スケール値は特定のマクロブロック112または114に対応する。量子化スケール値が、異なるマクロブロック112と114からのピクセル116を伴う計算に使用される他の実施形態においては、量子化スケール値は個々のマクロブロック112と114に対する量子化スケール値の組合せ(例えば、平均)である。他の実施形態は、1つまたは複数のマクロブロックに対する量子化スケール値の他の導出値も使用できる。
図6は、解凍ビデオデータをフィルタ処理する後処理方法150の1つの実施形態の模式フローチャート図を示している。後処理方法150のいくつかの実施形態は、図1の後処理アーキテクチャ100により実践できる。後処理方法150の他の実施形態は、他の後処理アーキテクチャにより実践できる。
1つの実施形態において、デリンギングフィルタ108は、デリンギングフィルタ処理が動作可能かを判断する。この判断を行うために、デリンギングフィルタ108は量子化スケール値をフィルタ閾値と比較する(152)。量子化スケール値は、マクロブロック112と114の対110のマクロブロック112のような現在のマクロブロックに対応する。デリンギングフィルタ108は特に、量子化スケール値がフィルタ閾値を超えるかを判断する(154)。量子化スケール値がフィルタ閾値を超えていない場合は、デリンギングフィルタ108は動作可能ではなく、デリンギングフィルタ処理を解凍ビデオデータに対して行わない(156)。しかし、量子化スケール値が、フィルタ閾値を超えている場合は、デリンギングフィルタ108は動作可能である。
デリンギングフィルタ108が動作可能になると、デリンギングフィルタ108は量子化スケール値を調整できる(158)。量子化スケール値を調整すると画像品質に柔軟性がもたらされる。例えば、量子化スケール値を増大すると、画像からより多くのノイズが除去され、結果としての画像はよりソフトになる。または、量子化スケール値を減少すると、画像からはより少ないノイズしか除去されず、画像はより高い周波数を有するようになる。1つの実施形態において量子化スケール値は、下記の、
’=Q×M×w
ここにおいて、Q’は新しい量子化スケール値を、Qは元々の量子化スケール値を、Mは後デリンギングファクタを、そしてwは後デリンギング重み付けファクタを示している式に従って調整される。いくつかの実施形態においては、デリンギング重み付けファクタは3である。別の実施形態においては、後デリンギング重み付けファクタは1/16(これは、浮動小数点乗算ではなく整数除算を使用して実践できる)であり、後デリンギングファクタは、約3と64の間である。
代替の実施形態において、上記に示した方程式は、後デリンギング重み付けファクタwを含まないように変形できる。しかし、後デリンギング重み付けファクタを使用すると、浮動小数点計算を回避するためのハードウェア実装を容易にする。後デリンギング重み付けファクタが含まれない場合は、デリンギング重み付けファクタは約0.25と4の間、または他の値であってよい。他の実施形態においては、量子化スケール値調整の他の変形例が実践できる。
量子化スケール値の調整後、デリンギングフィルタ108は、デリンギングフィルタ108に入力された入力ピクセル線142に対する最大隣接ピクセルジャンプを求める(160)。言い換えれば、デリンギングフィルタ108は、ピクセル116と隣接ピクセル116の間のグレースケールまたはカラースケール値の最大の差を求める。1つの実施形態において、最大隣接ピクセルジャンプは、入力ピクセル線142内の隣接するピクセル116の各対間の差を求めることにより求まる。例としては、デリンギングフィルタ108は、P0とP1、P1とP2、P3とP4、P4とP5、P5とP6、およびP6とP7の間の差の絶対値を決定できる。デリンギングフィルタ108はまた、Q0とQ1、Q1とQ2、Q2とQ3、Q3とQ4、Q4とQ5、Q5とQ6、およびQ6とQ7の間の差の絶対値も決定できる。更にデリンギングフィルタ108は、P0とQ0の間の差の絶対値を決定できる。そして、デリンギングフィルタ108は、隣接ピクセル間の差のすべてからその最大の差を求めることができる。最大の差は、入力ピクセル線142に対する最大隣接ピクセルジャンプとして指定される。これはまた、下記の、
Figure 2009278189
ここにおいて、Pは第1マクロブロック112内のピクセル116の値を表わし、Pi+1は同じマクロブロック112内の隣接するピクセル116の値を表わし、Qは隣接マクロブロック114内のピクセル116の値を表わし、Qi+1は隣接マクロブロック114内の隣接ピクセル116の値を表わしている式のように書くことができる。ピクセルジャンプ工程160のさらなる詳細は図7を参照して説明する。
デリンギングフィルタ108が入力ピクセル線142の最大隣接ピクセルジャンプを求めた後、デリンギングフィルタ108はピクセル値を変更して(162)、出力ピクセル線144内のピクセル値のいくつかまたはすべてを出力する(164)。1つの実施形態において、デリンギングフィルタ108は変更されていてもいなくてもすべてのピクセル値を出力する。別の実施形態においては、デリンギングフィルタ108は変更されたピクセル値は出力するが、変更されていないピクセル値は出力しない。いくつかの実施形態ではピクセル値のいくつかを変更できるが、他の実施形態はピクセル値をできてもほんの少ししか変更できない。1つの実施形態において、ピクセル値が変更されるかどうかは、少なくとも部分的には対応するピクセルがエッジピクセルであると判断されるかどうかに依存する。ピクセル変更工程162のさらなる詳細は、図8を参照して説明する。
図7は、図6の後処理方法150のピクセルジャンプ工程160のより詳細な実施形態の模式フローチャート図を示している。ピクセルジャンプ工程160に関連していくつかの工程が記述されているが、デリンギングフィルタ108のいくつかの実施形態はピクセルジャンプ工程160を実践するために、より少ないまたはより多い工程を使用することができる。
ピクセルジャンプ工程160を実践するために、デリンギングフィルタ108は入力ピクセル線142の隣接ピクセル116のピクセル対を選択する(172)。例えば、デリンギングフィルタ108は、ピクセルP0とP1を選択できる。そして、デリンギングフィルタ108は、選択されたピクセル116の対に対してピクセルジャンプを決定する(174)。例えば、デリンギングフィルタ108は、ピクセルP0とP1の間のグレースケールまたはカラースケールの差を決定する。そして、デリンギングフィルタ108は、選択されたピクセル対に対するピクセルジャンプを格納する(176)。デリンギングフィルタ108は更にピクセル対があるかどうかを判断し(178)、もしあれば入力ピクセル線142内のピクセル対のそれぞれに対して同じ工程を繰り返す。デリンギングフィルタ108が、入力ピクセル線142内のピクセル対のすべてに対してピクセルジャンプを決定した後、ピクセルジャンプ工程160は終了する。別の実施形態においては、デリンギングフィルタ108は入力ピクセル線142内のピクセル対のサブセットに対してピクセルジャンプを決定できる。
図8は、図6の後処理方法150のピクセル変更工程162のより詳細な実施形態の模式フローチャート図を示している。ピクセル変更工程162に関連していくつかの工程が記述されているが、デリンギングフィルタ108のいくつかの実施形態は、ピクセル変更工程162を実践するために、より少ないまたはより多い工程を使用できる。
ピクセル変更工程162を実践するために、デリンギングフィルタ108は入力ピクセル線142のピクセル116を選択する(182)。1つの実施形態において、デリンギングフィルタ108は入力ピクセル線142内の中間の8個のピクセル116(例えば、ピクセルP0〜P3およびQ0〜Q3)のようなピクセルのサブセットから、ピクセル116を選択するのみである。そして、デリンギングフィルタ108は、選択されたピクセル116が、エッジピクセルであるかどうかを判断する(184)。1つの実施形態において、デリンギングフィルタ108は選択されたピクセル116がエッジピクセルであるかどうかを、下記の、
|P−Pi−1|<Pmax×wと、|P−Pi+1|<Pmax×w
ここにおいて、Pは選択されたピクセル116の現在の値を表わし、Pi−1は第1隣接ピクセル116の値を表わし、Pi+1は第2隣接ピクセル116の値を表わし、Pmaxは特定された最大ピクセルジャンプを表わし、wはエッジ重み付けファクタを表わしている式に従って決定する。言い換えれば、デリンギングフィルタ108は、現在のピクセルから、隣接するピクセルのそれぞれへのピクセルジャンプが、エッジ重み付けファクタと、ピクセル116の2つの対に対する最大隣接ピクセルジャンプに依存する閾値未満であるかどうかを判断する。1つの実施形態において、エッジ重み付けファクタは約0.75である。または、エッジ重み付けファクタは0.65から0.85の範囲内であってよい。別の実施形態においては、エッジ重み付けファクタは0.5から0.95の範囲内であってよい。
値が閾値以上である場合は、選択されたピクセル116はエッジピクセルとして指定される。選択されたピクセル116がエッジピクセルの場合(つまり、選択されたピクセル116に対する値が閾値以上である場合)は、デリンギングフィルタ108は選択されたピクセル116に適用されない(186)。これ以外で、値が閾値未満の場合は、選択されたピクセル116はエッジピクセルではない。選択されたピクセル116がエッジピクセルでない場合は、デリンギングフィルタ108は、選択されたピクセル116に対して新しいピクセル値を計算する(188)。1つの実施形態において、選択されたピクセル116に対する新しい値は、下記の、
Figure 2009278189
ここにおいて、Pnewは選択されたピクセル116の新しい値を表わし、wはピクセル重み付けファクタを表わし、Pは選択されたピクセル116の現在の値を表わし、Pi−1は第1隣接ピクセルの値を表わし、Pi+1は第2隣接ピクセルの値を表わし、Pbiasは前もって定義されたバイアスファクタを表わしている式に従って計算される。1つの実施形態において、ピクセル重み付け値は約2.0であり、バイアスファクタは約2.0である。しかし、いくつかの実施形態では、ピクセル重み付けファクタとバイアスファクタに対して異なる値を使用できる。
更に、選択されたピクセル116の新しい値を計算することにより、新しいピクセル値を、下記の、
clamp=(P+Q,P−Q
ここにおいて、Pclampはクランプ範囲を表わし、Pは現在のピクセル値を表わし、Qは量子化スケール値を表わしている式に従ってクランプ範囲内にクランプできる。1つの実施形態において、元々の量子化スケール値Qを使用することができる。または、変更された量子化スケール値Q’を使用できる。
デリンギングフィルタ108は、選択されたピクセル116に対して新しいピクセル値を計算した後、入力ピクセル線142に更にピクセル116(またはピクセル116の指定されたサブセットに)があるかを判断する。更にピクセル116がある場合は、デリンギングフィルタ108は選択された他のピクセル116に引き続き同じ工程を行う。選択されたピクセル116のすべてが処理された後、示されているピクセル変更工程162は終了する。
図9は、隣接するマクロブロック112と114にわたり延伸しているピクセル線118のピクセル116に対するピクセルマップ200の1つの実施形態の模式図を示している。ピクセルマップ200の横軸はピクセルの記号表示を示しており、ピクセルマップ200の縦軸は各ピクセル116に対する近似のグレースケールまたはカラースケール値を示している。
示されているピクセルマップ200は、隣接するピクセルP2とP3間の最大ピクセルジャンプを示している。1つの実施形態において、最大隣接ピクセルジャンプは上記の工程により求まる。ピクセルP2とP3間のピクセルジャンプは最大ピクセルジャンプであり、P1とP2間のピクセルジャンプは最大ピクセルジャンプよりも少し小さいので、ピクセルP2は、エッジ重み付けファクタの値に従ってエッジピクセルであると指定される。同様に、ピクセルQ0とP0の間とQ0とQ1の間のピクセルジャンプは、最大隣接ピクセルジャンプに比較的に近いので、ピクセルQ0はエッジピクセルとして指定できる。そのため、上記の後処理方法160を使用すると、P2とQ0がエッジピクセルとして指定されているので、新しいピクセル値はそれらに対しては計算されない可能性がある。言い換えると、デリンギングフィルタ108はピクセルP2とQ0には適用されない。しかし、デリンギングフィルタ108はP3、P1、P0、およびQ1〜Q3がエッジピクセルではないので、それらに対しては適用される可能性がある。従って、デリンギングフィルタ108は入力ピクセル線142の8個の中間ピクセル116のうちの6個に適用される。
隣接マクロブロック112と114の対110におけるピクセル線118のそれぞれに対する処理の順番は変更できるということに留意されたい。例えば、ピクセル線118は、左から右へ、右から左へ、上から下へ、または下から上への順番で処理できる。または、ピクセル線118は別の順序で処理できる。更に、ビデオデータのフレームに対するマクロブロックの組合せは任意の順序で処理できる。1つの実施形態において、マクロブロックの組合せは、右側にマクロブロックがある場合は現在のマクロブロックを指定し、次に右側に隣接するマクロブロックがある現在のマクロブロックを処理することにより処理される。これに続いて、現在のマクロブロックの上側にマクロブロックがある場合は、現在のマクロブロックは現在のマクロブロックの上側の隣接マクロブロックと共に処理される。このようにして、すべてのマクロブロックは、最上左端のマクロブロックから開始して右側に移動して処理できる。そして、下側の次の行のマクロブロックが左から右へ処理される。この処理は最下位の最右端のマクロブロックが処理されるまで続けられる。後処理アーキテクチャ100の他の実施形態は、デブロッキングフィルタ106とデリンギングフィルタ108を適用するために他の処理順序を実践できる。
図10は、図1の後処理アーキテクチャ100を実装するコンピュータシステム210の1つの実施形態の模式ブロック図を示している。図10に示されるように、コンピュータシステム210は、集積プロセッサ回路212と、メモリ214と、表示モニタ216を含む高度集積システムである。1つの実施形態において、メモリ214はリードオンリメモリ(ROM)とランダムアクセスメモリ(RAM)を含む。高度集積アーキテクチャにより電力が節約される。他の実施形態は、周辺コントローラのような他の構成要素を含むことができる。
示されている集積プロセッサ回路212は、メモリ管理ユニット(MMU)220と1つまたは複数の命令および/またはデータキャッシュ222を含む処理ユニット(CPU)218を含む。集積プロセッサ回路212はまた、メモリ214とのインタフェースを取るメモリインタフェース224も含む。集積プロセッサ回路212はまた、バス228を介して処理ユニット218とメモリインタフェース224に結合されるグラフィックスコントローラ226も含む。
直接メモリアクセス(DMA)コントローラ230はまた、バス228に結合される。DMAコントローラ230はバス228をインタフェース(I/F)バス232に結合し、I/Fバス232には、エンコーダ/デコーダ(CODEC)インタフェース、パラレルインタフェース、シリアルインタフェース、および入力装置インタフェースのような、他のコア論理関数構成要素(図示せず)を結合できる。1つの実施形態において、DMAコントローラ230は、メモリインタフェース224を介してメモリ214に格納されているデータにアクセスし、I/Fバス232に接続された周辺装置にデータを提供する。DMAコントローラ230はまたメモリインタフェース224を介してデータを周辺装置からメモリに送る。
1つの実施形態において、グラフィックスコントローラ226は、メモリインタフェース224を介してメモリ214からのビデオ/グラフィックスデータを要求しアクセスする。そして、グラフィックスコントローラ226は、データを処理し、処理データをフォーマットし、フォーマットされたデータを表示装置216に送る。いくつかの実施形態においては、表示装置216は、液晶ディスプレイ(LCD)、陰極線管(CRT)、またはテレビ(TV)モニタであってよい。
図11は、図10のコンピュータシステム210のグラフィックスコントローラ226の1つの実施形態の模式ブロック図を示している。後処理アーキテクチャ100のいくつかの実施形態はグラフィックスコントローラ226の一部として実装される。一般的には、グラフィックスコントローラ226は、グラフィックスコントローラ226のメメインバス244を上記の集積プロセッサ回路212のメインバス228に結合するCPUインタフェース242を含む。グラフィックスコントローラ226はまた、静的ランダムアクセスメモリ(SRAM)246(または別のメモリ装置)と、ビデオデコーダ248と、グラフィックスエンジン250と、後処理装置252と、メモリインタフェースユニット254と、ピクセル処理ロジック256と、デジタルインタフェース258と、アナログインタフェース260とを含む。デジタルインタフェース258はデジタル信号をデジタルディスプレイ262に供給する。同様に、アナログインタフェース260はアナログ信号をアナログディスプレイ264に供給する。1つの実施形態において、アナログインタフェース260はデジタル/アナログ変換器(DAC)を含む。
CPUインタフェース242はCPU218とDMAコントローラ230へのインタフェースを提供する。従って、CPUインタフェース242は、CPU218から受信した要求とビデオ/画像データを適切な目的地に送る。特に、CPUインタフェース242は、ホストCPU218とDMAコントローラ230からのレジスタリード/ライト要求と、メモリリード/ライト要求を、グラフィックスコントローラ226内の適切なモジュールに送る。例えば、メモリリード/ライト要求はメモリインタフェースユニット254に送られ、その結果メモリインタフェースユニット254はデータをSRAM246内のフレームバッファから読み込みまたはそこに書き込む。CPUインタフェース242はまたDMAコントローラ230との連絡部としても機能し、システムメモリ214からデータをフェッチしそのデータをグラフィックスエンジン250とメモリインタフェースユニット254に提供する。更なる実施形態においては、CPUインタフェース242はCPU218によりプログラムされ後処理工程を制御する多数の制御レジスタを含む。例えば、制御レジスタのいくつかの内容はビデオデコーダ248を構成するために使用できる。1つの実施形態において、ビデオデコーダ248はMPEG−4デコーダである。CPUインタフェース242はまた、圧縮ビデオ/画像ビットストリームをビデオデコーダ248に渡し画像構築および/または解凍を実行する。
SRAM246内のフレームバッファは、表示装置216上に表示される画像のピクスマップ(つまり、フレームバッファにマッピングされたピクセルパタ−ン)を格納するために使用され、種々の目的のための一時的バッファとして作動できる。更に、SRAM246は、ビデオバッファとトランザクションレジスタ用のメモリ空間を割り当てることができる。トランザクションレジスタは、ビデオ画像ピクセルデータの各ブロックに対する量子化ファクタ、または量子化スケール値を格納するために使用できる。グラフィックスコントローラ226が図示されているようにビデオデコーダ248を含む場合は、トランザクションレジスタは、代替としてビデオデコーダ248内で実践でき、量子化ファクタ、または量子化スケール値は、ビデオデコーダ248に格納できる。
1つの実施形態において、グラフィックスエンジン250は、グラフィック/ビデオ画像データを処理し、そしてそれは、ホストCPU218により発行されるコマンドに基づいて、SRAM246内のバッファに格納される。グラフィックスエンジン250はまた、グラフィックス演算(例えば、BitBLTおよびROP、領域塗りつぶし、直線描画)も実行し、クリッピング、透明、回転、およびカラー拡張のためのハードウェアサポートを提供する。いくつかの実施形態においては、グラフィックスエンジン250はまた、ビデオ画像拡張、順次走査変換、YcbCr(Yuv)から赤、緑、および青(RGB)カラー空間への変換、および、内蔵のStretch Block Transfer (STRBLT)関数を介して他の類似関数も実行する。一般的には、グラフィックスエンジン250は、CPU218をビデオ/画像表示描画関数の多くまたはすべてから開放する。これによりCPU218がタイムクリティカルな、またはリアルタイムな演算を行うことができる。
1つの実施形態において、メモリインタフェースユニット254は、SRAM246におけるフレームバッファ、ビデオバッファ、およびトランザクションレジスタからの、およびそこへの読み込み及び書き込みトランザクションのすべてを制御する。そのようなリード/ライト要求は、CPUインタフェース242を介してホストCPU218から、グラフィックスエンジン250から、ピクセル処理ロジック256から、デジタルインタフェース258などから、来る可能性がある。更に、メモリインタフェースユニット254は、メモリアドレス指定、メモリタイミングコントロールに関連するタスク、および他の関連タスクを実行する。
1つの実施形態において、後処理装置252は、解凍ビデオ画像データからブロッキングおよびリンギングアーティファクトを除去して解凍ビデオデータの品質を向上する。解凍MPEGビデオ画像データを、例えば、シリアルインタフェースを介して光学媒体プレーヤから、またはビデオデコーダ248から受信できる。そして、フィルタ処理されたビデオ画像データはSRAM246に送られる。
1つの実施形態において、ピクセル処理ロジック256は、メモリインタフェースユニット254を介して、SRAM246におけるバッファからビデオおよび画像データを取り出す。そしてピクセル処理ロジック256は、画像データを順番に並べてピクセル116にして、ピクセル116を、デジタルインタフェース258および/またはアナログインタフェース260に出力する前に、所定のフォーマットにフォーマットする。従って、ピクセル処理ロジック256は、水平および垂直表示タイミング信号と、メモリアドレスと、リード要求と、SRAM246内に格納された画像データにアクセスするための制御信号を生成する。デジタル表示装置262が、例えば、LCDの場合は、ピクセル処理ロジック256からのピクセルデータは、LCD上に渡される前にデジタルインタフェース258に送られる。1つの実施形態において、デジタルインタフェース258は、表示に異なる色相またはグレーシェイドを加えることによりデータを更に処理する。更に、薄膜トランジスタ(TFT)LCD(アクティブマトリックスLCDとしても知られている)、またはスーパーツイステッドネマチック(STN)LCD(パッシブマトリックスLCDとしても知られている)が使用されているかに従って、デジタルインタフェース258は、データを表示タイプに適合するようにフォーマットできる。更に、デジタルインタフェース258は、カラーデータがモノクロLCDで使用されるときはモノクロに変換できる。更に、アナログ表示装置264が陰極線管(CRT)の場合は、ピクセルデータはCRTに送られる前にアナログインタフェース260に提供される。1つの実施形態において、アナログインタフェース260は、ピクセル処理ロジック256からのデジタルピクセルデータをCRTモニタ上に表示されるRGB信号のようなアナログ信号に変換する。
図12は、図11のグラフィックスコントローラ226の後処理装置252の1つの実施形態の模式ブロック図を示している。示されている後処理装置252は、後処理コントローラ270と、バッファ104(SRAM246内のバッファと同じまたは類似の機能を実行する)と、デブロッキングフィルタ106と、デリンギングフィルタ108を含む。1つの実施形態において、後処理装置252は、メモリインタフェースユニット254と、SRAM246と、グラフィックスエンジン250と、およびCPUインタフェース242に外部的に接続される。
いくつかの実施形態においては、デブロッキングフィルタ106とデリンギングフィルタ108は、一次元(1D)フィルタである。しかし、他の実施形態は、二次元(2D)フィルタ、または1Dと2Dフィルタの組合せを使用できる。更に、デブロッキングフィルタ106がグラフィックスパイプラインにおいてデリンギングフィルタ108に先行して使用されるいくつかの実施形態を記述したが、他の実施形態は最初にデブロッキングフィルタ106を使用せずにデリンギングフィルタ108を使用できる。
ビデオ画像ファイルの後処理の間、後処理コントローラ270は、CPUインタフェース242のレジスタにおいてプログラムされた指令を読み込み、SRAM246のバッファに格納されているビデオ画像ファイルからの解凍ビデオフレームの後処理を開始する。1つの実施形態において、ビデオ画像ファイルはYuv4:2:0のカラー空間フォーマットを有する。上記に説明したように、ビデオフレームは、16×16または8×8マクロブロック、またはピクセルブロックに分割され、各マクロブロックはY(輝度)、u、およびv成分データのためのより小さなセクションに更に再分割される。他の実施形態は、他のカラー空間フォーマットを使用できる。
1つの実施形態において、CPUインタフェース242内のレジスタはまた後処理コントローラ270に制御情報を提供する。制御情報は、例えば、デブロッキングフィルタ106、デリンギングフィルタ108、または両者がグラフィックスパイプラインで使用されているかを示す。制御情報はまた、1Dか2Dのどちらのフィルタが使用されているか、水平か垂直方向のどちらのアーティファクトが最初に除去されるか、デブロッキング処理がデリンギング処理の前に行われるか、入力データと出力データのメモリアドレスを示す。プログラムされた命令に応答して、後処理コントローラ270はメモリインタフェースユニット254と通信して、SRAM246から対応する量子化ファクタまたは量子化スケール値と共にビデオデータのセットを取り出す。または、対応する量子化ファクタまたは量子化スケール値は、ビデオデコーダ248内のトランザクションレジスタから取り出すことができる。後処理コントローラ270からの要求に応答して、メモリインタフェースユニット254はSRAM246に指令して、ビデオデータのセット(例えば、各セットは10ピクセルのデータを含んでよい)をバッファに送らせ、対応する量子化ファクタまたは量子化スケール値を、それらがSRAM246に格納されていればそれらもまたバッファに送らせる。量子化ファクタまたは量子化スケール値がビデオデコーダ248に格納されていれば、後処理コントローラ270はビデオデコーダ248に要求を出す。後処理コントローラ270はまたその情報をCPUインタフェース242内のプログラムされたレジスタからバッファへ転送する。
そして、後処理コントローラ270は、上記のようにデブロッキングおよびデリンギング処理を開始する。デブロッキングおよびデリンギング処理が実行されたあと、後処理コントローラ270は処理されたデータをSRAM246内のバッファに格納されたメモリアドレスにおける場所に送る。1つの実施形態において、後処理コントローラ270は、ビデオフレーム内の残りのビデオデータを監視して上記の処理を実行する。ビデオデータ後処理の監視を支援するために、ビデオデータセットに関する情報(例えば、ビデオデータフレームにおけるビデオデータセットの位置を特定する情報、フレーム内に残るビデオデータセットの順番に対しての、ビデオデータセットの順番を指定する情報など)は、ビデオデータセットが上記の後処理パイプラインに沿って移動するときに、例えば、そのヘッダ情報の一部として、ビデオデータセットと共に送られる。
後処理方法150と後処理アーキテクチャ100の実施形態は、ソフトウェア、ファームウェア、ハードウェア、またはその何らかの組合せにおいて実装されることに留意されたい。更に、後処理方法150と後処理アーキテクチャ100のいくつかの実施形態は、上記の演算および機能に関連する1つまたは複数のアルゴリズムのハードウェアまたはソフトウェア表現を使用して実装できる。
本発明の実施形態はまた、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、またはマイクロプロセッサのような、コンピュータプロセッサにより実行される多数の機能も含むことができる。マイクロプロセッサは、特定のタスクを定義するマシン可読ソフトウェアコードを実行することにより、特定のタスクを実行するように構成された、特殊または専用マイクロプロセッサであってよい。マイクロプロセッサはまた、直接メモリアクセスモジュール、メモリ格納装置、インターネット関連ハードウェア、およびデータ送信に関連する他の装置のような、他の装置を作動およびそれらと通信するようにも構成できる。ソフトウェアコードは、Java(登録商標)、C++、XML(拡張マークアップ言語)、および、ここで記載されたことに関連する関数演算を実行することを要求される装置の演算に関連する機能を定義するために使用できる他の言語のような、ソフトウェアのフォーマットを使用して構成できる。コードは、異なる形式およびスタイルで書くことができ、その多くは、当業者には知られている。異なるコードフォーマット、コード構成、ソフトウェアプログラムのスタイルおよび形式、およびコードを構成して、マイクロプロセッサの演算を定義する他の手段を実装できる。
本発明を利用する、コンピュータサーバーのような、異なるタイプのコンピュータにおいては、ここで記載した機能のいくつか、またはすべてを実行する間に、情報を格納および取り出す、異なるタイプのメモリ装置が存在する。いくつかの実施形態においては、データが格納されるメモリ/格納装置は、プロセッサの外側にある別個の装置であってもよく、または、単一の基板上に接続された構成要素のように、メモリまたは格納装置が、同じ集積回路上に位置する、モノリシックな装置に構成されてもよい。キャッシュメモリ装置は、頻繁に格納および取り出される情報に対する便利な格納位置としてCPUまたはGPUによる使用のために、コンピュータに含まれることもよくある。同様に、永続的メモリもまた、中央処理ユニットにより頻繁に取り出される情報を維持するために、そのようなコンピュータでよく使用されるが、キャッシュメモリとは異なり、永続的メモリ内では、情報はあまり変更されない。メインメモリもまた、中央処理ユニットにより実行される、ある機能を実行するように構成されたデータおよびソフトウェアアプリケーションのような、より大きな量の情報を格納および取り出すために普通は含まれる。これらのメモリ装置は、ランダムアクセスメモリ(RAM)、静的ランダムアクセスメモリ(SRAM)、動的ランダムアクセスメモリ(DRAM)、フラッシュメモリ、および中央処理ユニットが情報を格納および取り出すためにアクセスできる他のメモリ格納装置として構成できる。実施形態は、普通に使用される、これらのメモリ装置それぞれに情報を格納、またはそれぞれから情報を取り出すためのプロトコルと同様に、種々のメモリおよび格納装置により実践できる。
ここでの方法の工程は、特定の順序で示され、説明されたが、各方法の工程の順序は変更することができ、それにより、ある工程は、逆の順序で実行でき、または、ある工程は、少なくとも部分的には、他の工程と同時に実行できる。別の実施形態において、指令または個々の工程のサブ工程は、間欠的および/または交互の方法で実践できる。
本発明の具体的な実施形態が説明され、示されてきたが、本発明は、この説明され、示された部分の特定の形式または装置に制限されない。本発明の範囲は、ここに付随する請求項と、その等価物により定義される。
説明を通して、類似の参照番号が、類似の要素を特定するために使用されている。
後処理アーキテクチャの1つの実施形態の模式ブロック図を示している。 水平方向に隣接するピクセルマクロブロック対の1つの実施形態の模式図を示している。 垂直方向に隣接するピクセルマクロブロック対の1つの実施形態の模式図を示している。 デブロッキングアーキテクチャの1つの実施形態の模式ブロック図を示している。 デリンギングアーキテクチャの1つの実施形態の模式ブロック図を示している。 解凍ビデオデータをフィルタ処理する後処理方法の1つの実施形態の模式フローチャート図を示している。 図6の後処理方法のピクセルジャンプ工程の、より詳細な実施形態の模式フローチャート図を示している。 図6の後処理方法のピクセル変更工程の、より詳細な実施形態の模式フローチャート図を示している。 隣接ピクセルマクロブロックにわたり延伸するピクセル線に対するピクセルマップの1つの実施形態の模式図を示している。 図1の後処理アーキテクチャを実践するためのコンピュータシステムの1つの実施形態の模式ブロック図を示している。 図10コンピュータシステムのグラフィックスコントローラの1つの実施形態の模式ブロック図を示している。 図11のグラフィックスコントローラの後処理装置の1つの実施形態の模式ブロック図を示している。
符号の説明
102 メモリ
104 バッファ
106 デブロッキングフィルタ
108 デリンギングフィルタ
212 プロセッサ回路
214 メモリ
216 表示モニタ
222 キャッシュ
224 メモリインタフェース
226 グラフィックスコントローラ
228 バス
230 DMAコントローラ
242 CPUインタフェース
244 バス
248 ビデオデコーダ
250 グラフィックスエンジン
252 後処理装置
254 メモリインタフェースユニット
256 ピクセル処理ユニット
258 デジタルインタフェース
260 アナログインタフェース(DAC)
262 デジタルディスプレイ
264 アナログディスプレイ
270 後処理コントローラ

Claims (23)

  1. 解凍ビデオデータをフィルタ処理するグラフィックスコントローラの後処理装置であって、
    ビデオデータのピクセル線であって、前記ビデオデータの隣接するマクロブロックからのピクセルを含む前記ピクセル線をメモリから読み込むように構成されるバッファと、
    前記バッファと連通するように構成され、前記ピクセル線における隣接するピクセル対の間の最大ピクセルジャンプを特定し、前記特定された最大ピクセルジャンプに基づく、ピクセルはエッジピクセルではないという判断に応答して、前記ピクセル線のピクセルサブセット内の前記ピクセルにデリンギングフィルタを適用するように構成されるデリンギングフィルタと、を備える後処理装置。
  2. 前記デリンギングフィルタは、前記ピクセルと、隣接するピクセルの間の差を、エッジ閾値と比較するように更に構成され、前記エッジ閾値は、前記特定された最大ピクセルジャンプとエッジ重み付けファクタに依存する請求項1に記載の後処理装置。
  3. 前記デリンギングフィルタは、下記の式を比較するように更に構成され、
    |P−Pi−1|<Pmax×wと、|P−Pi+1|<Pmax×w
    これらの式において、Pは前記ピクセルの現在値を表わし、Pi−1は、第1隣接ピクセルの値を表わし、Pi+1は、第2隣接ピクセルの値を表わし、Pmaxは、前記特定された最大ピクセルジャンプを表わし、wは前記エッジ重み付けファクタを表わす請求項1に記載の後処理装置。
  4. 前記デリンギングフィルタは、前記ピクセルに対して、新しい値を計算するように更に構成され、前記ピクセルに対する前記新しい値は、前記ピクセルの現在値と、前記ピクセル線における隣接ピクセルの現在値に依存する請求項1に記載の後処理装置。
  5. 前記デリンギングフィルタは、前記ピクセルに対する前記新しい値を、下記の式に従って計算するように更に構成され、
    Figure 2009278189
    この式においてPnewは前記ピクセルの前記新しい値を表わし、wはピクセル重み付けファクタを表わし、Pは前記ピクセルの前記現在値を表わし、Pi−1は、第1隣接ピクセルの値を表わし、Pi+1は第2隣接ピクセルの値を表わし、Pbiasは予め定義されたバイアスファクタを表わす請求項4に記載の後処理装置。
  6. 前記デリンギングフィルタは、前記新しいピクセル値を、クランプ範囲内にクランプするように更に構成され、前記クランプ範囲は、下記の式に従って計算され、
    clamp=(P+Q,P−Q
    この式において、Pclampはクランプ範囲を表わし、Qは量子化スケール値を表わす請求項5に記載の後処理装置。
  7. 前記バッファと前記デリンギングフィルタに結合され、前記隣接マクロブロックからブロッキングアーティファクトを除去するように構成されるデブロッキングフィルタを更に備える請求項1に記載の後処理装置。
  8. 請求項1に記載の前記後処理装置を備えるシステムであって、前記システムは、前記後処理装置に結合されたビデオデコーダを備え、前記ビデオデコーダは、前記隣接マクロブロックの現在のマクロブロックに対する量子化スケール値を生成し、前記デリンギングフィルタは、前記量子化スケール値を、デリンギング閾値と比較して、前記デリンギングフィルタが動作可能かを判断するように更に構成されるシステム。
  9. 前記デリンギングフィルタは、下記の式に従って、前記量子化スケール値を調整するように更に構成され、
    ’=Q×M×w
    この式において、Q’は新しい量子化スケール値を表わし、Qは元々の量子化スケール値を表わし、Mは後デリンギングファクタを表わし、wは後デリンギング重み付けファクタを表わす請求項8に記載のシステム。
  10. 解凍ビデオをフィルタ処理して、リンギングアーティファクトを補償する方法であって
    ビデオデータのピクセル線であって、前記ビデオデータの隣接マクロブロックからのピクセルを備える前記ピクセル線を読み込む工程と、
    前記ピクセル線における隣接ピクセル対間の最大ピクセルジャンプを特定する工程と、
    前記特定された最大ピクセルジャンプに基づく、ピクセルはエッジピクセルではないという判断に応答して、前記ピクセル線のピクセルサブセット内の前記ピクセルに対してデリンギングフィルタを適用する工程と、を備える方法。
  11. 前記ピクセルはエッジピクセルではないと判断することは、前記ピクセルと、隣接ピクセルの間の差をエッジ閾値と比較することを含み、前記エッジ閾値は、前記特定された最大ピクセルジャンプとエッジ重み付けファクタに依存する請求項10に記載の方法。
  12. 前記ピクセルと、前記隣接ピクセルの間の前記差をエッジ閾値と比較することは、下記の式に従って比較を行うことを更に含み、
    |P−Pi−1|<Pmax×wと、|P−Pi+1|<Pmax×w
    この式において、Pは前記ピクセルの現在値を表わし、Pi−1は第1隣接ピクセルの値を表わし、Pi+1は第2隣接ピクセルの値を表わし、Pmaxは前記特定された最大ピクセルジャンプを表わし、wは前記エッジ重み付けファクタを表わす請求項11に記載の方法。
  13. 前記ピクセル線は、第1ピクセルマクロブロックから8個のピクセルと、第2ピクセルマクロブロックから8個のピクセルを備え、前記ピクセルサブセットは、前記第1および第2マクロブロックからそれぞれ4個の合計8個のピクセルを備える請求項11に記載の方法。
  14. 前記デリンギングフィルタを前記ピクセルに適用する工程は、前記ピクセルに対する新しい値を計算する工程を備え、前記ピクセルに対する前記新しい値は、前記ピクセルの現在値と、前記ピクセル線内の隣接ピクセルの現在値に依存する請求項10に記載の方法。
  15. 下記の式に従って前記ピクセルに対する前記新しい値を計算する工程を更に備え、
    Figure 2009278189
    この式で、Pnewは前記ピクセルの前記新しい値を表わし、wはピクセル重み付けファクタを表わし、Pは前記ピクセルの前記現在値を表わし、Pi−1は第1隣接ピクセルの値を表わし、Pi+1は第2隣接ピクセルの値を表わし、Pbiasは予め定義されたバイアスファクタを表わす請求項14に記載の方法。
  16. 前記ピクセルに対する前記新しい値を計算する工程は、クランプ範囲内に前記新しいピクセル値をクランプする工程を更に備え、前記クランプ範囲は、下記の式に従って計算され、
    clamp=(P+Q,P−Q
    この式において、Pclampは前記クランプ範囲を表わし、Qは量子化スケール値を表わす請求項15に記載の方法。
  17. デブロッキングフィルタから、前記ピクセル線の前記ピクセルの少なくともいくつかを受け取る工程を更に備える請求項10に記載の方法。
  18. 前記隣接マクロブロックの現在のマクロブロックに対する量子化スケール値を、デリンギング閾値と比較して、前記デリンギングフィルタが動作可能かを判断する工程を更に備える請求項10に記載の方法。
  19. 前記量子化スケール値を、下記の式に従って調整する工程を更に備え、
    ’=Q×M×w
    この式において、Q’は新しい量子化スケール値を表わし、Qは元々の量子化スケール値を表わし、Mは後デリンギングファクタを表わし、wは後デリンギング重み付けファクタを表わす請求項18に記載の方法。
  20. デジタルプロセッサにより実行可能な、マシン可読命令のプログラムを具現化して、エッジのデリンギングを容易にする工程を行うコンピュータ可読格納媒体であって、前記工程は、
    ビデオデータのピクセル線であって、前記ビデオデータの隣接マクロブロックからのピクセルを備える前記ピクセル線を読み込む工程と、
    前記ピクセル線における隣接ピクセル対間の最大ピクセルジャンプを特定する工程と、
    前記特定された最大ピクセルジャンプに基づく、ピクセルはエッジピクセルではないという判断に応答して、前記ピクセル線のピクセルサブセット内の前記ピクセルに対してデリンギングフィルタを適用する工程と、を備える方法。
  21. 前記工程は、前記ピクセルと隣接ピクセルの間の差を、エッジ閾値と比較する工程を更に備え、前記エッジ閾値は、前記特定された最大ピクセルジャンプとエッジ重み付けファクタに依存する請求項20に記載のコンピュータ可読格納媒体。
  22. 前記工程は、前記ピクセルに対する新しい値を計算する工程を更に備え、前記ピクセルに対する前記新しい値は、前記ピクセルの現在値と、前記ピクセル線における隣接ピクセルの現在値に依存する請求項20に記載のコンピュータ可読格納媒体。
  23. 前記工程は、前記隣接マクロブロックの現在のマクロブロックに対する量子化スケール値の、デリンギング閾値との比較に応答して、前記デリンギングフィルタを動作可能にする工程を更に備える請求項20に記載のコンピュータ可読格納媒体。
JP2008125159A 2008-05-12 2008-05-12 解凍ビデオデータ用デリンギングフィルタ Withdrawn JP2009278189A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008125159A JP2009278189A (ja) 2008-05-12 2008-05-12 解凍ビデオデータ用デリンギングフィルタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008125159A JP2009278189A (ja) 2008-05-12 2008-05-12 解凍ビデオデータ用デリンギングフィルタ

Publications (1)

Publication Number Publication Date
JP2009278189A true JP2009278189A (ja) 2009-11-26

Family

ID=41443240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008125159A Withdrawn JP2009278189A (ja) 2008-05-12 2008-05-12 解凍ビデオデータ用デリンギングフィルタ

Country Status (1)

Country Link
JP (1) JP2009278189A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114401410A (zh) * 2021-12-29 2022-04-26 中星电子股份有限公司 非线性滤波信息处理方法、装置、电子设备和可读介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114401410A (zh) * 2021-12-29 2022-04-26 中星电子股份有限公司 非线性滤波信息处理方法、装置、电子设备和可读介质
CN114401410B (zh) * 2021-12-29 2023-06-27 中星电子股份有限公司 非线性滤波信息处理方法、装置、电子设备和可读介质

Similar Documents

Publication Publication Date Title
US7792194B2 (en) MPEG artifacts post-processed filtering architecture
US10897633B2 (en) System and method for real-time processing of compressed videos
US7215823B2 (en) Deblocking and deringing apparatus, program and method
EP1631884B1 (en) Mpeg motion estimation based on dual start points
US8576924B2 (en) Piecewise processing of overlap smoothing and in-loop deblocking
US7792385B2 (en) Scratch pad for storing intermediate loop filter data
US7929602B2 (en) Apparatus and method for performing dynamic capacitance compensation (DCC) in liquid crystal display (LCD)
CN113994691A (zh) 用于对图像执行人工智能编码和人工智能解码的设备和方法
CN109345490B (zh) 一种移动播放端实时视频画质增强方法及系统
US20080001975A1 (en) Image processing apparatus and image processing method
JP4641784B2 (ja) 階調変換処理装置、階調変換処理方法、画像表示装置、テレビジョン、携帯情報端末、カメラ、集積回路および画像処理プログラム
JP4649178B2 (ja) Mpeg−4データパーティションモードのための動的パケットサイズ制御
JP2003517796A (ja) 「ムラのあるピクチャ」効果を減らす方法
US8073276B2 (en) De-ringing filter for decompressed video data
US20080013849A1 (en) Video Processor Comprising a Sharpness Enhancer
US8116584B2 (en) Adaptively de-blocking circuit and associated method
JP2008278185A (ja) データ処理装置およびデータ処理方法、並びにプログラム
US20100053166A1 (en) Information processing apparatus, and super-resolution achievement method and program
JP2009278189A (ja) 解凍ビデオデータ用デリンギングフィルタ
JP2007180723A (ja) 画像処理装置及び画像処理方法
KR20050099256A (ko) 디블록킹을 이용한 영상처리 장치와 영상처리 방법
KR101452495B1 (ko) 복원된 비디오 데이터를 위한 디링잉 필터
EP2117233B1 (en) De-ringing filter for decompressed video data
JP3715273B2 (ja) 画像データの平滑化処理装置、平滑化処理方法及び平滑化処理プログラム
US20080152227A1 (en) Image processing apparatus and image processing method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110802