JP4451693B2 - データをフィルタリングする方法 - Google Patents

データをフィルタリングする方法 Download PDF

Info

Publication number
JP4451693B2
JP4451693B2 JP2004091679A JP2004091679A JP4451693B2 JP 4451693 B2 JP4451693 B2 JP 4451693B2 JP 2004091679 A JP2004091679 A JP 2004091679A JP 2004091679 A JP2004091679 A JP 2004091679A JP 4451693 B2 JP4451693 B2 JP 4451693B2
Authority
JP
Japan
Prior art keywords
input data
data
average
computer program
filter coefficient
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.)
Expired - Lifetime
Application number
JP2004091679A
Other languages
English (en)
Other versions
JP2004297811A (ja
Inventor
マシュー カーペンター ポール
ヒューゴ シメス ドミニク
Original Assignee
エイアールエム リミテッド
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 エイアールエム リミテッド filed Critical エイアールエム リミテッド
Publication of JP2004297811A publication Critical patent/JP2004297811A/ja
Application granted granted Critical
Publication of JP4451693B2 publication Critical patent/JP4451693B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Picture Signal Circuits (AREA)

Description

本発明はデータのフィルタリングの分野に関するものであり、特に、ある好ましい実施例ではビデオデコーダにおけるデブロッキング・フィルタの分野に関するものである。
ビデオデコーダの分野、たとえばMPEGデコーダの分野では、画像を改良するのにデブロッキング・フィルタを使うことが知られている。このことはたとえば移動電話機にビデオデータを送るときのように、低いビットレートがある場合に特に重要である。
デブロッキング・フィルタはいくつかの判断ロジックから成り、どこにブロックの境界があるかを判断する、すなわち水平ラインとまたは垂直ラインを検出して、そのラインが画像の一部であるかそれとも単に除去すべきブロックの境界であるかを判断するのに使われる。この判断ロジックに続いて、ローパス・フィルタをブロックの境界に適用することができる。
MPEG−4標準に使われているデブロッキング・フィルタの例を説明する。このフィルタのマトリクス表記を図1に示す。
このフィルタのインパルス応答は以下の通りである。
(1,1,2,2,4,2,2,1,1)/16
これが適用されると、フィルタは10ピクセル(X0からX9)の入力配列に演算を施して、中の8ピクセル(y1からy8)を更新する。フィルタが入力データ以外のピクセルにアクセスするときはいつでも、適当な境界ピクセルが代用される。このフィルタのマトリクス表記を図1に示す。図1はMPEGデコーダにおけるデブロッキング・フィルタとして働くローパス・フィルタのマトリクス表記である。
このフィルタをデコードされたデータに適用する際のひとつの欠点は、高価であるということと、MPEG−4デコーダ自体の2倍のサイクル数が必要になる場合があるということである。
本発明が提供する第1の態様はデータのフィルタリング方法であって、一連の平均計算を行うことによって、複数m個のフィルタ係数を複数m個の入力データ項目に適用して出力データ項目を作るステップを含む。各フィルタ係数は2のマイナス累乗またはゼロという値を有し、それらの和は1である。該一連の平均計算は、その各々に最も小さいフィルタ係数が適用される入力データ項目を平均して第1の平均データを得るステップと、該第1の平均データと、他の平均入力データまたはより大きいフィルタ係数が適用される入力データ項目とを平均するステップとを含む。一連の平均計算によって該複数m個のフィルタ係数が該複数m個の入力データ項目に適用され、計算されたデータのデータ幅が平均された該入力データのデータ幅を超えないようになっている。
本発明はフィルタ係数が一般的に2のマイナス累乗であって、それらの和が1になるというフィルタの性質を認識して、一連の平均計算を使用することにより、これらの性質を利用して入力データとフィルタ係数とを結合するものである。2個の数の平均は2個の数の和を2で割ったものであるから、適当な一連の平均演算によって、2のマイナス累乗というフィルタ係数を入力データに適用することができる。一連の平均計算を用いてデータを操作する利点は、2個の数の平均のデータ幅が大きい方の数のデータ幅より決して大きくならないということである。したがって、もし入力データが一連の8ビットの数であれば、フィルタ係数を入力データに適用したとき、8ビット幅よりも大きいレジスタを使う必要がなくて、フィルタリングされた出力データ項目が得られるであろう。このことによりフィルタ計算を行うのに必要なレジスタの数をかなり減らすことができるので、いくつかの計算を並列に行うことが可能になり、計算速度をかなり上げることができる。
ある実施例における平均計算は、最も小さいフィルタ係数が適用される4個以上のデータ項目を一緒に平均するステップを含む。好ましくは、一連の平均計算は最も小さいフィルタ係数が適用される2個の入力データ項目を平均して第1の平均データを作るステップと、該第1の平均データと他の第1の平均データ、または適用される最小のフィルタ係数の2倍のフィルタ係数が適用される入力データ項目とを平均するステップとを含む。
好ましい実施例では、前記一連の平均計算は更に続いて平均計算を行うステップを含む。その計算ステップでは、入力データの組間で平均し、該入力データの組は平均化された入力データまたは個々の入力データ項目を含み、入力データの各組に適用されるフィルタ係数の和が等しくなる入力データ組間でのみ平均をとる。
一連の平均計算はフィルタ係数が適切に入力データに適用されるように行われる。この規則は前述の通りであり、この規則に従って平均する例を以下に示すが、より小さいフィルタ係数が適用される一対の平均化入力データ項目とより小さいフィルタ係数の2倍のフィルタ係数が適用される入力データ項目とを平均するような平均化ステップを含む。あるいはより小さいフィルタ係数が適用される二対の平均化された入力データ項目と、より小さいフィルタ係数の4倍のフィルタ係数が適用される入力データ項目とを平均するか、それともより小さいフィルタ係数の2倍のフィルタ係数が適用される一対の平均化された入力データ項目とを平均するかのいずれかのステップを含む。
フィルタ係数は複数個の入力データ項目に適用される1行の係数を含み、1個の出力データ項目をつくるが、好ましい実施例では、本発明の第1の実施態様のステップをくりかえし実行し、m x n個のフィルタ係数の配列を複数m個の入力データ項目に適用して、n個の出力データ項目をつくる。
好ましい実施例では、一連の平均計算を実行するステップは、入力データのうち2個が共通のフィルタ係数を適用される頻度に依存して平均する入力データを選択するステップを含む。このステップにおいて、計算された入力データの平均を再び使うことができるように、複数回共通のフィルタ係数が適用される2個のデータを平均するように選択する。
この計算方法は共通のフィルタ係数が適用される場合、ある入力データ項目の平均が種々の出力データ項目の計算に使うことができることを意味する。ある規則が守られれば、平均されるデータ項目を選択することができる。したがって、フィルタの性能を改良する方法は、いくつかの計算においてその平均が必要とされるデータ項目を平均して、その結果を再使用するように平均化するデータを選択することである。
ある実施例では、フィルタ係数は2のマイナス累乗であって和が1になるという性質を有するが、そうでない場合もある。しかしながらこのことは本発明がそのような環境で使うことができないということを必ずしも意味するものではない。ある実施例では、複数個のフィルタ係数を入力データに適用するのに先立って、係数がすべて2のマイナス累乗であって、それらの和が1になるように係数を調整するステップを更に含む。
好ましくは、各係数の値が2のマイナス累乗であるように調整するフィルタ係数の調整ステップは、この性質を持たないフィルタ係数を要素の和に分割し、該各要素が2のマイナス累乗の値を持つようにする。
したがって、前述したMPEG−4フィルタの例では、フィルタ係数の隅に見える6は4+2に分割されて、それから入力データに適用することができる。それからデータは適当な平均計算を使って組み合わされる。
本方法は複数の種々のフィルタに適用することができるが、特にローパス・フィルタ、好ましくはデブロッキング・フィルタに関連している場合に適用可能である。
好ましい実施例では、入力データはピクセルの配列に関連している。本発明の実施例のフィルタは特にビデオデータをフィルタリングするのが得意である。入力データが10ピクセルの配列を含み、出力データが8ピクセルの配列を含むようにフィルタ係数が調整されている場合に有利に使うことができる。したがって、フィルタは10ピクセルの入力配列に作用して、中の8ピクセルを更新する。
本発明が提供する別の態様は、複数m個の入力データ項目に複数m個のフィルタ係数を適用するコンピュータ・プログラム製品であって、プロセッサが一連の平均計算を行うのを制御することによって、フィルタ係数を複数m個の入力データ項目と組み合わせて出力データ項目を作るように該プロセッサを制御することができるフィルタリング・ロジックを含む。各フィルタ係数は2のマイナス累乗という値を有し、フィルタ係数の和は1である。該一連の平均計算は、最も小さいフィルタ係数が適用される入力データ項目を平均して第1の平均データを得るステップと、該第1の平均データと、他の平均入力データまたはより大きいフィルタ係数が適用される入力データ項目とを平均するステップとを含む。一連の平均計算によって該複数m個のフィルタ係数が入力データ項目に適用され、計算されたデータのデータ幅が該入力データのデータ幅を超えないようになっている。
入力データ項目はある実施例では任意のサイズでもよいが、各入力データ項目は8ビットから成る。このことは多くのふつうのプロセッサにより処理するのに特に適している。
フィルタリング・ロジックは多くの種々の形式を含むことが可能であるが、好ましい実施例では、複数個のSIMD命令を含む。この命令形式はこれらの計算を行うのに特に適している。
8ビットのデータを処理するのにSIMDを使うことは、32ビットのレジスタを有するプロセッサを使う場合に、4個の入力データを並列に処理することができることを意味する。このことにより、計算の処理速度をかなり高めることになる。
好ましくは、フィルタリング・ロジックは、フィルタリングされた出力データを記憶するかそれとも捨てるかを指示するのに、けた上げフラグをセットするようになっている。
本発明の実施例の特徴は、計算がすべて平均計算なので、けた上げフラグが全く必要でないこと、そのためデータを記憶すべきかそれとも捨ててよいかというような他のことを指示するのにけた上げフラグを使うことができることである。このことはある実施例では特に重要であり、その場合、フィルタリングをするか否かの判断が並列に計算中の個々の入力データ項目に対してなされて、ある結果は記憶する必要があり、またある結果は捨ててよいということになる。
本発明が提供する更に別の態様は、入力データをフィルタリングするプロセッサを含むデータ処理装置であって、該プロセッサが一連の平均計算を行うのを制御することによって、複数m個のフィルタ係数を複数m個の入力データ項目に適用してフィルタリングされた出力データ項目をつくるように該プロセッサを制御することができるフィルタリング・ロジックを含む。各フィルタ係数は2のマイナス累乗という値を有し、フィルタ係数の和は1である。該一連の平均計算は、最も小さいフィルタ係数が適用される入力データ項目を平均して第1の平均データを得るステップと、該第1の平均データと、他の平均入力データまたはより大きいフィルタ係数が適用される入力データ項目とを平均するステップとを含む。一連の平均計算によって該複数m個のフィルタ係数が入力データ項目に適用され、計算されたデータのデータ幅が該入力データのデータ幅を超えないようになっている。
次に本発明について、図面を参照しながら実施例を詳細に説明することにより、本発明の上記目的、他の目的、特徴および利点を明らかにする。
図2はデブロッキングに先だって、MPEG−4でエンコードされ、それからデコードされたデータから構成された画像を模式図で示す。見てわかるように、画像はデータのブロックから成る。AとBはブロックの境界をまたいでいるピクセルのラインから成る。画像から「ブロック」効果を除去するために、デブロッキング・フィルタによりフィルタリングするのが必要なのはこれらのラインである。
データのデブロッキング・フィルタリングはデコーディングの後で行う。MPEGデコーディングはあるデータのフィードバックを含むので、フィードバックの過程で誤差が拡大しないように計算を正確に行うことが重要である。フィードバックループの後でデブロッキング・フィルタリングを行うので、計算されたデータが厳密に正確でないとしてもさほど重要ではない。
デブロッキング・フィルタはある判断ロジックを含む、このことはここでは関係ないが、その後に続いてローパスフィルタがブロック境界(AとB)に適用される。
デブロッキングの中で使われるローパス・フィルタは一般に、そのフィルタ係数が2分の1であって和が1になるということが注目されてきた。フィルタ係数のこの性質を利用すれば、一連の平均演算を使って出力データを計算することができるであろうと注目された。このことは作業用データが計算中に固定ビット数で表されるという利点を有するであろう。種々の平均化段階でデータの丸め(rounding)がいくらか行われるので、このようにして出力データを計算することは完全に正確にはならないであろうということに注意すべきである。しかし上述のように、このことはプロセスのこの時点では重要でない。
始めの方で10ピクセルの入力配列に操作を加えて中の8ピクセルを更新するというデブロッキング・フィルタを示したが(図1参照)、この例を用いて図3Aと3Bに示すように、平均のシーケンスとしてy5を計算することができる。
y5を計算するために入力データを平均する方法がいくつか可能である。図3Aに一連の平均としてy5を計算する一例を示し、図3Bには別の方法を示す。これら二つの方法はツリー表記を用いた一連の平均操作として示してある。このやり方はハフマンツリーを作るのとよく似ている。デブロッキング・フィルタに関してハフマンツリーを使うことは以前から考えられていたものではないし、ハフマンツリーが一般的に使われる別の分野でそうすることが自明であるというわけでも決してないということに現時点で注目すべきである。マトリクスの各行に対して適当なツリーを選ぶことができる。
図3Aと3Bからわかるように、y5を計算する方法はいくつか可能であり、各々は平均する入力値にいくらか相違がある。異なる入力値を平均しても同じ答になるという可能性があるので、計算を実行するのにいくつかのやり方を選ぶことができる。いくつかの異なる計算において適用される同じフィルタ係数を有する入力値を選んで一緒に平均することができるので、この平均の結果は後の計算で再利用することができる。たとえば、x6とx7の平均はまたy3とy8の計算にも使うことができよう。同様に、x8とx9の平均はy6の計算にも使うことができよう。
したがって、マトリクスの各行に対して適当なツリーが選ばれる。利用可能なCPUのレジスタ数によるが、ツリーを最適に選択すればマトリクス行間で最大数の共通の副表記(Sub expressions)が得られる。
ツリーの形成を助けるために、元のフィルタをインパルス応答付きのフィルタの積に因数分解することがしばしば可能である。図1に示したフィルタはインパルス応答を有する2個のフィルタ(1,1,1,0,1)/4と(1,0,1,1,1)/4の積に因数分解することができる。これは最良のツリー構成をほのめかすが、改良することができる。
ハフマンツリーの分布に従って平均され、この結果、入力データの組の間で平均だけがとられることに注目すべきである。この場合、平均をとった入力データ項目の数とそれらに適用すべきフィルタ係数との積は等しい。すなわち、x8,x9,x1,x2の各々に適用されるフィルタ係数は1であるから、これらが最初に平均される。もしも4個すべての平均が使われたならば、これらは4というフィルタ係数を適用されるデータ入力項目(x5)か、あるいは2というフィルタ係数を適用される2つのデータ入力項目の平均(x3,x4,x6またはx7のうちの2個の平均)等々のいずれかと平均されなければならない。
見てわかるように各データポイントは一般に一度だけ使われる。しかし、フィルタ係数が2のマイナス累乗でないという場合もある。たとえば、図1に示したマトクスの隅の6をごらんいただきたい。これらは2+4の和に分割することによって処理される。このような係数の分割は一般にプログラマによってなされるのであって、プロセッサが行うのではない。もっともプロセッサがこうした演算を行うようにプログラムされる場合もあろうが。このようにして修正分割された係数はプロセッサに入力される。図4はy8を計算するときにどのようにこのことが適用されるかを示す。
本発明の一実施例において、この方法はARMv6(Advanced RISC Machines of Cambridge England)の8ビットのSIMD命令を使って実行される。このことはデブロッキング・フィルタが8ビットのSIMDの中で実行され、4個の入力値が並列に計算できることを意味する。このことによって、速度が16ビットSIMDの2倍改良される。一般にデブロッキング・フィルタはMPEG−4デコーダの2倍高価であるという事実を考慮すると、非常に魅力的である。
本発明の実施例の更なる利点は、計算中にデータ幅が決して増えないので、けた上げフラグが決して必要とされないということである。したがってこれらは他の情報を持つのに使うことができる。本発明の一実施例によるデブロッキング・フィルタにおいて、フィルタリングするか否かの判断が各境界のピクセルにおいてなされる。4個のピクセルを並列に処理するとき、それらすべてが必要とされるわけではない。4個のピクセルの組をフレームバッファに書き込む前に、SEL命令が更新されたピクセルおよび/または元のピクセルの適当な組み合わせを選択する。これらはけた上げフラグが持っている情報によって指示される。
以上本発明の特定の実施例について説明したが、本発明はそれに限定されるものではなく、本発明の範囲内で多くの修正や追加が可能であることは明らかであろう。たとえば、本発明の範囲を逸脱することなく、独立請求項の特徴の種々組み合わせを従属請求項の特徴によって作ることができよう。
付図を参照しながら本発明の実施例を説明したが、本発明はこれらの実施例に正確に限定されるものではなく、当業者なら請求の範囲に記載された本発明の範囲内で種々の変更や修正をなし得ることを理解されたい。
MPEGデコーダにおけるデブロッキング・フィルタとして働く既知のローパス・フィルタのマトリクス表記である。 デブロッキング・フィルタリング前のデコードされたMPEG−4画像のブロックを模式図で示す。 一連の入力ピクセルの平均として計算され、フィルタリングされたピクセルを示す。 一連の入力ピクセルの平均として計算され、フィルタリングされたピクセルを示す。 はじめは2のマイナス累乗でないフィルタ係数の適用を示す。
符号の説明
A、B ピクセルのライン

Claims (41)

  1. データのフィルタリング方法であって,
    一連の平均計算を行うことによって,複数m個のフィルタ係数を複数m個の入力データ項目に適用してフィルタリングされた出力データ項目を得るステップを含み,各フィルタ係数は2のマイナス累乗またはゼロという値を有し,それらの和は1であって,該一連の平均計算は,
    その各々に最も小さいフィルタ係数が適用される入力データ項目を平均して第1の平均データを得るステップと,
    該第1の平均データと,他の平均入力データまたはより大きいフィルタ係数が適用される入力データ項目とを平均するステップとを含み,
    一連の平均計算によって該複数m個のフィルタ係数が該複数m個の入力データ項目に適用され,計算されたデータのデータ幅が平均される該入力データのデータ幅を超えないようになっている,データのフィルタリング方法。
  2. 請求項1記載の方法において,前記一連の平均計算は,最も小さいフィルタ係数が適用される2個の入力データ項目を平均して第1の平均データを作るステップと,該第1の平均データと他の第1の平均データまたは最小のフィルタ係数の2倍のフィルタ係数が適用される入力データ項目とを平均するステップとを含む,データのフィルタリング方法。
  3. 請求項1記載の方法において,前記一連の平均計算は更に続いて平均計算を行うステップを含み,その計算ステップにおいて,入力データ組間で平均し,該入力データ組は平均化された入力データまたは個々の入力データ項目を含み,入力データの各組に適用されるフィルタ係数の和が等しくなる入力データ組間の平均のみがとられる,データのフィルタリング方法。
  4. 請求項1記載の方法において,m x n個のフィルタ係数の配列が複数m個の入力データ項目に適用されて,複数n個の出力データ項目をつくるステップを繰り返す,データのフィルタリング方法。
  5. 請求項4記載の方法において,前記一連の平均計算を実行するステップは,入力データのうち2個が共通のフィルタ係数を適用される頻度に依存して平均する入力データを選択するステップを含み,このステップにおいて,計算された入力データの平均を再び使うことができるように,複数回共通のフィルタ係数を適用される2個のデータを平均するように選択する,データのフィルタリング方法。
  6. 請求項1記載の方法において,前記複数個のフィルタ係数を前記入力データに適用するのに先立って,前記係数がすべて2のマイナス累乗であって,それらの和が1になるように前記係数を調整するステップを更に含む,データのフィルタリング方法。
  7. 請求項6記載の方法において,前記各係数の値が2のマイナス累乗であるように前記フィルタ係数を調整するステップは,この性質を持たないフィルタ係数を要素の和に分割し,該各要素は2のマイナス累乗の値を持つようにする,データのフィルタリング方法。
  8. 請求項1記載の方法において,前記フィルタ係数はローパス・フィルタに関連している,データのフィルタリング方法。
  9. 請求項8記載の方法において,前記フィルタ係数はデブロッキング・フィルタに関連している,データのフィルタリング方法。
  10. 請求項1記載の方法において,前記入力データはピクセルの配列に関連している,データのフィルタリング方法。
  11. 請求項10記載の方法において,前記入力データは10ピクセルの配列を含み,前記フィルタ係数は出力データが8ピクセルの配列を含むようになっている,データのフィルタリング方法。
  12. 複数m個の入力データ項目に複数m個のフィルタ係数を適用する処理をコンピュータに実行させるためのコンピュータ・プログラムであって,
    プロセッサが一連の平均計算を行うのを制御することによって,フィルタ係数を複数m個の入力データ項目と組み合わせてフィルタリングされた出力データ項目を作るように該プロセッサを制御することができるフィルタリング・ロジックを含み,各フィルタ係数は2のマイナス累乗という値を有し,フィルタ係数の和は1であって,該一連の平均計算は,
    最も小さいフィルタ係数が適用される入力データ項目を平均して第1の平均データを得るステップと,
    該第1の平均データと他の平均入力データまたはより大きいフィルタ係数が適用される入力データ項目とを平均するステップとを含み,
    一連の平均計算によって該複数m個のフィルタ係数が該複数m個の入力データ項目に適用され,計算されたデータのデータ幅が該入力データのデータ幅を超えないようになっている,コンピュータ・プログラム
  13. 請求項12記載のコンピュータ・プログラムにおいて,前記一連の平均計算は,最も小さいフィルタ係数が適用される2個の入力データ項目を平均して第1の平均データを作るステップと,該第1の平均データと他の第1の平均データまたは該最小のフィルタ係数の2倍のフィルタ係数が適用される入力データ項目とを平均するステップとを含む,コンピュータ・プログラム
  14. 請求項12記載のコンピュータ・プログラムにおいて,前記一連の平均計算は更に続いて平均計算を行うステップを含み,その計算ステップにおいて,入力データ組間で平均し,該入力データ組は平均化された入力データまたは個々の入力データ項目を含み,入力データの各組に適用されるフィルタ係数の和が等しくなる入力データ組間の平均のみがとられる,コンピュータ・プログラム
  15. 請求項12記載のコンピュータ・プログラムにおいて,前記フィルタリング・ロジックは前記プロセッサを制御して前記一連の平均計算を繰り返し,m x n個のフィルタ係数の配列を複数m個の入力データ項目に適用して,複数n個の出力データ項目をつくるようになっている,コンピュータ・プログラム
  16. 請求項15記載のコンピュータ・プログラムにおいて,前記フィルタリング・ロジックは更に該プロセッサを制御して,入力データ項目の対が共通のフィルタ係数を適用される頻度に依存して平均される入力データ対を選択するステップを含み,このステップにおいて,計算された入力データの平均を再び使うことができるように,複数回共通のフィルタ係数を適用される2個のデータを平均するように選択する,コンピュータ・プログラム
  17. 請求項12記載のコンピュータ・プログラムにおいて,前記フィルタリング・ロジックの前段に係数調整ロジックを更に含み,該係数調整ロジックはプロセッサを制御して,前記係数が各々2のマイナス累乗であって,それらの和が1になるように前記フィルタ係数を調整する,コンピュータ・プログラム
  18. 請求項17記載のコンピュータ・プログラムにおいて,前記係数調整ロジックはプロセッサを制御して,2のマイナス累乗の値を持たないフィルタ係数を要素の和に分割し,各要素が2のマイナス累乗の値を持つようにする,コンピュータ・プログラム
  19. 請求項12記載のコンピュータ・プログラムにおいて,前記フィルタリング・ロジックはローパス・フィルタを含む,コンピュータ・プログラム
  20. 請求項19記載のコンピュータ・プログラムにおいて,前記ローパス・フィルタはデブロッキング・フィルタを含む,コンピュータ・プログラム
  21. 請求項12記載のコンピュータ・プログラムにおいて,前記入力データはピクセルの配列に関連している,コンピュータ・プログラム
  22. 請求項21記載のコンピュータ・プログラムにおいて,前記入力データは10ピクセルの配列を含み,前記フィルタ係数はフィルタリングされたデータが8ピクセルの配列を含むようになっている,コンピュータ・プログラム
  23. 請求項12記載のコンピュータ・プログラムにおいて,前記入力データ項目は8ビットから成る,コンピュータ・プログラム
  24. 請求項12記載のコンピュータ・プログラムにおいて,前記フィルタリング・ロジックは複数個のSIMD命令を含む,コンピュータ・プログラム
  25. 請求項24記載のコンピュータ・プログラムにおいて,請求項23に従属するときには,前記フィルタリング・ロジックは4個の入力データ項目を並列に処理する,コンピュータ・プログラム
  26. 請求項24記載のコンピュータ・プログラムにおいて,前記フィルタリング・ロジックは,前記フィルタリングされた出力データを記憶するかそれとも捨てるかを指示するのに,けた上げフラグをセットする,コンピュータ・プログラム
  27. 入力データをフィルタリングするプロセッサを含むデータ処理装置であって,
    該プロセッサが一連の平均計算を行うのを制御することによって,複数m個のフィルタ係数を複数m個の入力データ項目に適用してフィルタリングされた出力データ項目をつくるように該プロセッサを制御するフィルタリング・ロジックを含み,各フィルタ係数は2のマイナス累乗という値を有し,フィルタ係数の和は1であって,該一連の平均計算は,
    最も小さいフィルタ係数が適用される入力データ項目を平均して第1の平均データを得るステップと,
    該第1の平均データと,他の平均入力データまたはより大きいフィルタ係数が適用される入力データ項目とを平均するステップとを含み,
    一連の平均計算によって該複数m個のフィルタ係数が該複数m個の入力データ項目に適用され,計算されたデータのデータ幅が該入力データのデータ幅を超えないようになっている,データ処理装置。
  28. 請求項27記載のデータ処理装置において,前記一連の平均計算は,最も小さいフィルタ係数が適用される2個の入力データ項目を平均して第1の平均データを作るステップと,該第1の平均データと他の第1の平均データまたは前記最小のフィルタ係数の2倍のフィルタ係数が適用される入力データ項目とを平均するステップとを含む,データ処理装置。
  29. 請求項27記載のデータ処理装置において,前記一連の平均計算は更に続いて平均計算を行うステップを含み,その計算ステップにおいて,入力データ組間で平均し,該入力データ組は平均化された入力データまたは個々の入力データ項目を含み,入力データの各組に適用されるフィルタ係数の和が等しくなる入力データ組間の平均のみがとられる,データ処理装置。
  30. 請求項27記載のデータ処理装置において,前記フィルタリング・ロジックは前記プロセッサを制御して前記一連の平均計算を繰り返し,m x n個のフィルタ係数の配列を複数m個の入力データ項目に適用して,複数n個の出力データ項目をつくる,データ処理装置。
  31. 請求項30記載のデータ処理装置において,前記フィルタリング・ロジックは更に該プロセッサを制御して,入力データ項目のうちの2個が共通のフィルタ係数を適用される頻度に依存して平均される入力データを選択するステップを含み,このステップにおいて,計算された入力データの平均を再び使うことができるように,複数回共通のフィルタ係数を適用される2個のデータを平均するように選択する,データ処理装置。
  32. 請求項27記載のデータ処理装置において,前記フィルタリング・ロジックの前段に係数調整ロジックを更に含み,該係数調整ロジックはプロセッサを制御して,前記フィルタ係数が各々2のマイナス累乗であって,それらの和が1になるように前記フィルタ係数を調整する,データ処理装置。
  33. 請求項32記載のデータ処理装置において,前記係数調整ロジックはプロセッサを制御して,2のマイナス累乗の値を持たないフィルタ係数を要素の和に分割し,各要素が2のマイナス累乗の値を持つようにする,データ処理装置。
  34. 請求項27記載のデータ処理装置において,前記フィルタリング・ロジックはローパス・フィルタを含む,データ処理装置。
  35. 請求項27記載のデータ処理装置において,前記入力データはピクセルの配列に関連している,データ処理装置。
  36. 請求項35記載のデータ処理装置において,前記入力データは10ピクセルの配列を含み,前記フィルタ係数はフィルタリングされたデータが8ピクセルの配列を含むようになっている,データ処理装置。
  37. 請求項27記載のデータ処理装置において,前記各入力データ項目は8ビットから成る,データ処理装置。
  38. 請求項27記載のデータ処理装置において,前記フィルタリング・ロジックは複数個のSIMD命令を含む,データ処理装置。
  39. 請求項38記載のデータ処理装置において,請求項37に従属するときには,前記プロセッサは4個の入力データ項目を並列に処理することができる32ビットのレジスタを含む,データ処理装置。
  40. 請求項38記載のデータ処理装置において,前記プロセッサは更に少なくとも1個のけた上げフラグを含み,前記フィルタリング・ロジックは前記フィルタリングされた出力データを記憶するかそれとも捨てるかを指示するのにけた上げフラグをセットする,データ処理装置。
  41. 複数m個の入力データ項目に複数m個のフィルタ係数を適用する処理をコンピュータに実行させるためのコンピュータ・プログラムを記録したコンピュータ読み取り可能な記録媒体であって,前記コンピュータ・プログラムは,
    プロセッサが一連の平均計算を行うのを制御することによって,フィルタ係数を複数m個の入力データ項目と組み合わせてフィルタリングされた出力データ項目を作るように該プロセッサを制御することができるフィルタリング・ロジックを含み,各フィルタ係数は2のマイナス累乗という値を有し,フィルタ係数の和は1であって,該一連の平均計算は,
    最も小さいフィルタ係数が適用される入力データ項目を平均して第1の平均データを得るステップと,
    該第1の平均データと他の平均入力データまたはより大きいフィルタ係数が適用される入力データ項目とを平均するステップとを含み,
    一連の平均計算によって該複数m個のフィルタ係数が該複数m個の入力データ項目に適用され,計算されたデータのデータ幅が該入力データのデータ幅を超えないようになっている,コンピュータ読み取り可能な記録媒体
JP2004091679A 2003-03-27 2004-03-26 データをフィルタリングする方法 Expired - Lifetime JP4451693B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0307107A GB2399962B (en) 2003-03-27 2003-03-27 Data filtering

Publications (2)

Publication Number Publication Date
JP2004297811A JP2004297811A (ja) 2004-10-21
JP4451693B2 true JP4451693B2 (ja) 2010-04-14

Family

ID=9955677

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004091679A Expired - Lifetime JP4451693B2 (ja) 2003-03-27 2004-03-26 データをフィルタリングする方法

Country Status (3)

Country Link
US (1) US7315875B2 (ja)
JP (1) JP4451693B2 (ja)
GB (1) GB2399962B (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3979701A (en) * 1975-06-17 1976-09-07 Communications Satellite Corporation (Comsat) Non-recursive digital filter employing simple coefficients
GB2087191B (en) * 1980-11-10 1984-10-31 Ampex A filter and system incorporating the filter for processing discrete of composite signals
US6487190B1 (en) * 1996-06-27 2002-11-26 Interdigital Technology Corporation Efficient multichannel filtering for CDMA modems
KR100242636B1 (ko) * 1996-03-23 2000-02-01 윤종용 블록화효과 및 링잉노이즈 감소를 위한 신호적응후처리시스템
EP1469680B1 (en) * 1996-05-14 2008-06-18 Daewoo Electronics Corporation Method and apparatus for removing blocking effects in a motion picture decoder
US6374279B1 (en) * 1999-02-22 2002-04-16 Nvidia U.S. Investment Company System and method for increasing dual FIR filter efficiency

Also Published As

Publication number Publication date
US20040190634A1 (en) 2004-09-30
GB0307107D0 (en) 2003-04-30
GB2399962A (en) 2004-09-29
JP2004297811A (ja) 2004-10-21
GB2399962B (en) 2005-12-21
US7315875B2 (en) 2008-01-01

Similar Documents

Publication Publication Date Title
KR101137753B1 (ko) 고속의 메모리 효율적인 변환 구현 방법
CN109670575B (zh) 用于同时执行激活和卷积运算的方法和装置及其学习方法和学习装置
US8369419B2 (en) Systems and methods of video compression deblocking
CN109670574B (zh) 用于同时执行激活和卷积运算的方法和装置及其学习方法和学习装置
JP4288461B2 (ja) 対称型画像フィルタ処理装置、プログラム、及びその方法
JPH05502534A (ja) ディジタル画像のノイズ除去システムおよび方法
CN104995908A (zh) 图像处理装置、图像处理方法、图像处理程序及记录介质
JP6208993B2 (ja) 画像復号装置及び画像復号装置の復号処理方法
WO2016095541A1 (zh) 一种图像处理方法、装置、系统和计算机存储介质
JPWO2019082859A1 (ja) 推論装置、畳み込み演算実行方法及びプログラム
CN108171662A (zh) 读取图像压缩数据的方法及包含该方法的反畸变方法
US6895056B2 (en) Data processing apparatus and method for performing an adaptive filter operation on an input data sample
JP4451693B2 (ja) データをフィルタリングする方法
JP4621944B2 (ja) 画像フィルタ装置、方法およびコンピュータプログラム
US9083912B2 (en) Method and apparatus for enabling parallel processing of pixels in an image
CN107079129A (zh) 投影装置、图像处理装置及图像处理方法
CN110580880B (zh) 一种基于rgb三角亚像素布局式的亚像素渲染方法、系统以及显示装置
US9947114B2 (en) Modifying gradation in an image frame including applying a weighting to a previously processed portion of the image frame
JP2005529416A (ja) 累積ヒストグラムの計算方法
CN108805846B (zh) 二值图像处理优化的方法及其系统
KR20080053935A (ko) 비디오 시퀀스에서 가변 외형 움직임 추정
CN110324620B (zh) 帧内预测方法、装置、电子设备及机器可读存储介质
CN112702515B (zh) 相机系统中的图像处理方法、系统和计算机可读介质
JP2004007399A (ja) モスキートノイズ除去方法
KR101742765B1 (ko) 인터폴레이터 및 인터폴레이터 픽셀 생성 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060412

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091215

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100128

R150 Certificate of patent or registration of utility model

Ref document number: 4451693

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130205

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130205

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140205

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

EXPY Cancellation because of completion of term