[go: up one dir, main page]

JP4290608B2 - 画像処理回路,及び画像処理方法 - Google Patents

画像処理回路,及び画像処理方法 Download PDF

Info

Publication number
JP4290608B2
JP4290608B2 JP2004172735A JP2004172735A JP4290608B2 JP 4290608 B2 JP4290608 B2 JP 4290608B2 JP 2004172735 A JP2004172735 A JP 2004172735A JP 2004172735 A JP2004172735 A JP 2004172735A JP 4290608 B2 JP4290608 B2 JP 4290608B2
Authority
JP
Japan
Prior art keywords
pixel data
image processing
difference
processing circuit
absolute value
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 - Fee Related
Application number
JP2004172735A
Other languages
English (en)
Other versions
JP2005354381A (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.)
NEC Electronics Corp
Original Assignee
NEC Electronics 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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2004172735A priority Critical patent/JP4290608B2/ja
Priority to US11/148,177 priority patent/US20050278401A1/en
Publication of JP2005354381A publication Critical patent/JP2005354381A/ja
Application granted granted Critical
Publication of JP4290608B2 publication Critical patent/JP4290608B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/238Analysis of motion using block-matching using non-full search, e.g. three-step search
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は,画像処理回路に関し,特に,動画像の圧縮及び伸長を行うための画像処理回路に関する。
動画像の圧縮及び伸長には,様々な演算処理が関係している。例えば,標準勧告書(H.261)に対応した動画像の圧縮及び伸長には,一般に,DCT(離散コサイン変換),量子化,逆量子化,逆DCT,及び動き補償が関係している(非特許文献1参照)。また,MPEGに準拠する動画像の圧縮及び伸長では,これらの演算処理に加えて可変長符号化が行われる。
動きベクトルの探索は,動画像の圧縮において行われる重要な演算処理の一つである。動きベクトルとは,概略的には,あるフレームの特定の領域の画像が次のフレームにおいてどの位置に移動したかを示すベクトルであり,動き補償に密接な関連がある。MPEGに準拠する動画像の圧縮及び伸長では,動きベクトルの探索は,16×16画素で構成されるブロック毎に行われる。
図1を参照して,あるブロックの動きベクトルの探索は,典型的には,動きベクトルの探索空間内のベクトルそれぞれについてSAD(Sum of Absolute Difference)を算出することによって行われる。SADとは,入力ブロックの画素の画素データと参照ブロックの対応する画素の画素データとの差分の絶対値の,入力ブロックの全ての画素についての和である;入力ブロックとは,処理の対象の画像(入力画像)のSADの算出の対象であるブロックであり,参照ブロックとは,参照画像のSADの算出の対象であるブロックである。例えば,入力画像の座標(i,j)に位置する画素の画素データをA(i,j),参照画像の座標(i’,j’)の画素の画素データをB(i’,j’)とすると,ある入力ブロックのベクトルV(mvx,mvy)についてのSADは,下記式(1):
Figure 0004290608
によって算出される。ここで,Σは,入力ブロックに含まれる画素の全てについての和を算出することを意味している。例えば,左上の座標が(0,0),右下の座標が(15,15)である入力ブロックの,ベクトル(1,0)についてのSADは,下記式(1’):
Figure 0004290608
で与えられる。ある入力ブロックの動きベクトルは,式(1)によって算出されるSADを最小にするベクトルVであると決定される。
一方,伸長された動画像の画質を向上させる有力な演算処理の一つが,ポストフィルタリングである。ポストフィルタリングとは,ブロックひずみを緩和するための処理である。動画像の圧縮及び伸長に関連する演算処理がブロックごとに行われることに起因して,伸長された動画像には,しばしば,ブロックの境界において不連続的な変化が発生する。この不連続的な変化は,ブロックひずみとよばれ,動画像の画質を劣化させる原因の一つである。ポストフィルタリングは,ブロックの境界における画像のスムーズさを向上し,動画像の画質を有効に向上させる。
ポストフィルタリングは,対象画素と,その近傍の画素の画素データの重み付け平均(weighted average)を算出することによって行われる。図2は,水平方向のポストフィルタリングを説明する図である。処理される画像の対象画素の座標を(x,y)とし,ポストフィルタリング前の座標(i,j)に位置する画素の画素データをC(i,j)とすると,水平方向のポストフィルタリング後の対象画素の画素データC’(x,y)は,典型的には,対象画素の水平方向において隣接する画素の画素データを用いて,下記式(2):
Figure 0004290608
によって算出される。重み付け係数cは,一般には,iがxに一致する場合に最大値を取り,iがxから離れるほど小さい値をとる。(m+n+1)個の画素の画素データを使用する式(2)のポストフィルタリングは,(m+n+1)タップのポストフィルタリングと呼ばれる。例えば,9タップのポストフィルタリングは,下記式(2’):
C’(x,y)={C(x−4,y)+2C(x−3,y)+4C(x−2,y)
+8C(x−1,y)+16C(x,y)+8C(x+1,y)
+4C(x+2,y)+2C(x+3,y)+C(x+4,y)/46,
・・・(2’)
によって対象画素の画素データC’(x,y)を算出することによって行われる。垂直方向のポストフィルタリングも同様にして行われる。
動きベクトル探索,及びポストフィルタリングを行う上での一つの問題は,これらの処理が多くのハードウェア資源を必要とすることである。動きベクトル探索は,近年の動画像の圧縮及び伸長を行うコーデック(codec)のハードウェア資源の30〜40%を占めるといわれている。加えて,ポストフィルタリングは,コーデックのハードウェア資源の10〜20%を占めるといわれている。
このような背景から,動きベクトル探索,及びポストフィルタリングの処理に必要なハードウェア資源を削減するための技術の提供が望まれている。
藤原 洋監修,マルチメディア通信研究会編,「ポイント図解式 最新MPEG教科書」,初版,アスキー出版局,1994年8月1日,p.74−75
本発明の目的は,概略的には,動画像の圧縮及び伸長を,より少ないハードウェア資源で実行するための技術を提供することにある。
より具体的には,本発明の目的は,動画像の圧縮における動きベクトル探索と,伸長におけるポストフィルタリングとをより少ないハードウェア資源で実行するための技術を提供することにある。
上記の目的を達成するために,本発明は,以下に述べられる手段を採用する。その手段に含まれる技術的事項の記述には,[特許請求の範囲]の記載と[発明を実施するための最良の形態]の記載との対応関係を明らかにするために,[発明を実施するための最良の形態]で使用される番号・符号が付加されている。但し,付加された番号・符号は,[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明の画像処理回路は,画素データをそれぞれに保持する複数のレジスタ(11−1116)と,複数の差分絶対値演算/加算器(31−38)と,それぞれが,前記複数のレジスタ(11−1116)の一つと複数の差分絶対値演算/加算器(31−38)の一つとの間に介設された,少なくとも一の選択乗算器(22−28)と,複数の差分絶対値演算/加算器の出力の和を算出する加算部(4)とを備えている。選択乗算器(22−28)のそれぞれは,対応するレジスタ(11−11)に保持されている前記画素データを,対応する前記差分絶対値演算/加算器(31−34)の入力にそのまま出力する動作と,対応するレジスタ(11−11)に保持されている画素データと所定の係数との積を,対応する前記差分絶対値演算/加算器(31−34)の入力に出力する動作とを選択的に行うことができるように構成されている。一方,複数の差分絶対値演算/加算器(31−38)のそれぞれは,その2つの入力に入力される前記画素データの差分の絶対値を出力する動作と,前記2つの入力に入力される前記画素データの和を出力する動作とを選択的に行うことができるように構成されている。
このような構成の画像処理回路は,共通のハードウェア資源により,動きベクトル推定及びポストフィルタリングの演算の主要部分を実行することができる。具体的には,動きベクトル推定及びポストフィルタリングの演算は,以下のようにして行われ得る。
当該画像処理回路が動きベクトル推定が行われる第1モードに設定されると,選択乗算器(22−28)のそれぞれは,対応するレジスタ(11−11)に保持されている画素データを,対応する前記差分絶対値演算/加算器(31−34)の入力にそのまま出力するように設定され,複数の差分絶対値演算/加算器(31−38)のそれぞれは,その2つの入力に入力される前記画素データの差分の絶対値を出力するように設定される。この場合,加算部(4)によって算出された複数の差分絶対値演算/加算器(31−38)の出力の和から動きベクトルを推定することができる。
一方,当該画像処理回路がポストフィルタリングが行われる第2モードに設定されると,選択乗算器(22−28)のそれぞれは,対応するレジスタ(11−11)に保持されている画素データと所定の係数との積を,対応する差分絶対値演算/加算器(31−34)の入力に出力するように設定され,複数の差分絶対値演算/加算器(31−38)のそれぞれは,その2つの入力に入力されるデータの和を出力するように設定される。この場合,前記複数の差分絶対値演算/加算器の出力の和から,前記画素データに対応する画素のうちの対象画素の,ポストフィルタリング後の画素データが算出される。
好適には,選択乗算器(22−28)は,対応するレジスタ(11−11)に保持されている画素データと,対応するレジスタ(11−11)に保持されている画素データがnビット(n:整数)だけシフトされたデータであるシフトデータとを選択的に出力するマルチプレクサ(22a)で構成されることが好適である。マルチプレクサ(22a)は,当該画像処理回路が第1モードに設定されると,対応するレジスタ(11−11)に保持されている画素データを出力し,当該画像処理回路が第2モードに設定されると,前記シフトデータを出力するように構成される。
当該画像処理回路は,更に,当該画像処理回路が前記第2モードに設定されると,前記複数のレジスタのうちの一部をリセットするリセット手段を備えることが好適である。これにより,ポストフィルタリングに使用されないレジスタをリセットし,ポストフィルタリング後の画素データを正しく算出することが可能になる。
本発明による画像処理回路の動作方法は,
(A1) 動きベクトル推定の対象である画素の画素データの,少なくともその一部を選択乗算器(22−28)に供給し,選択乗算器(22−28)に供給されない画素データを直接に差分絶対値演算/加算器(31−38)の入力に供給するステップと,
(A2) 選択乗算器(22−28)が,それに供給された画素データをそのまま差分絶対値演算/加算器(31−38)の入力に供給するステップと,
(A3) 前記差分絶対値演算/加算器(31−38)が,その2つの入力に供給されたデータの差分の絶対値を算出するステップと,
(A4) 前記差分の絶対値の和を算出するステップと,
(A5) 前記前記差分の絶対値の和を用いて,前記ブロックの動きベクトルを推定するステップと,
(B1) ポストフィルタリングの対象である対象画素及びその周辺の画素の画素データの,少なくともその一部を選択乗算器(22−28)に,前記選択乗算器(22−28)に供給されない画素データを直接に差分絶対値演算/加算器(31−38)の入力に供給するステップと,
(B2)選択乗算器(22−28)が,画素データと所定の係数との積を前記差分絶対値演算/加算器(31−38)の入力に供給するステップと,
(B3) 差分絶対値演算/加算器(31−38)が,その2つの入力に供給されたデータの和を算出するステップと,
(B4) 前記差分絶対値演算/加算器(31−38)の出力の和から,前記対象画素のポストフィルタリング後の画素データを算出するステップ
とを備えている。このような画像処理回路の動作方法によれば,共通のハードウェア資源により,動きベクトル推定及びポストフィルタリングの演算の主要部分を実行することができる。
本発明により,動画像の圧縮における動きベクトル探索と,伸長におけるポストフィルタリングとをより少ないハードウェア資源で実行することが可能になる。
第1 画像処理回路の構成
図3は,本発明の一実施形態の画像処理回路10の構成を示すブロック図である。画像処理回路10は,シフトレジスタ部1と,乗算部2と,差分絶対値演算/加算部3と,加算部4と,演算部5とを備えている。画像処理回路10は,これらの回路によって動きベクトル探索とポストフィルタリングとの両方を行うことができるように構成されている。
シフトレジスタ部1は,レジスタ11〜1116と,セレクタ12〜1216とを備えている。シフトレジスタ部1は,概略的には,第1入力端子13,第2入力端子14に供給される画素データを,レジスタ11〜1116の所望のレジスタに転送し,当該画素データを転送先のレジスタで保持するように構成されている。セレクタ12〜1216は,画像処理回路10の用途に応じて画素データを転送する経路を切り替えるために使用される。動きベクトル探索が行われる場合,セレクタ12〜1216は,第1入力端子13に順次に入力される画素データが奇数番目のレジスタ11,11,・・・1115に順次に転送され,第2入力端子14に順次に入力される画素データが偶数番目のレジスタ11,11,・・・1116に順次に転送されるように,レジスタ11〜1116を接続する。一方,ポストフィルタリングが行われる場合,セレクタ12〜1216は,第1入力端子13に順次に入力される画素データが,レジスタ11,レジスタ11,・・・に順次に転送されるようにレジスタ11〜1116を接続する。以下では,レジスタ11〜1116が保持する画素データは,それぞれ,画素データD〜D16と記載される。
セレクタ12〜1216の一部は,レジスタに”0”を供給可能に構成されている。具体的には,レジスタ1110〜1116の入力に接続されているセレクタ12〜1215は,その一の入力に“0”が供給されている。セレクタ12〜1215からレジスタ1110〜1116に“0”を供給することにより,レジスタ1110〜1116を“0”にリセットすることができる。
乗算部2は,それぞれレジスタ11〜11に接続されている7つのシフタ22〜28を含んで構成されている。シフタ22〜28は,それぞれ,レジスタ11〜11から画素データD〜Dを受け取り,当該画素データD〜Dに対して必要に応じて左方向へのビットシフトを行うことができるように構成されている。“必要に応じて”とは,シフタ22〜28は,常にビットシフトを行うとは限らないことを意味している。具体的には,シフタ22〜28は,動きベクトル探索が行われる場合には,受け取った画素データをそのまま出力し,ポストフィルタリングが行われる場合には,受け取った画素データに対して左方向のビットシフトを行う。
シフタ22〜28が左方向へのビットシフトを行うビットの数は,以下のように設定されている;両端のシフタ22,28は,1ビットシフトを実行可能に構成され,端から2番目のシフタ23,27は,2ビットの左シフトを実行可能に構成されている。端から3番目のシフタ24,26は,3ビットの左シフトを実行可能に構成され,中央のシフタ25は,4ビットの左シフトを実行可能に構成されている。
あるデータをnビットだけ左方向にシフトすることは,当該データに値2を乗じることと等価であるから,シフタ22は,画素データDと,画素データDの2倍の値とのうちの一方を選択的に出力可能な乗算器として機能する。同様に,シフタ23は,画素データDと,画素データDの4倍の値とを選択的に出力可能な乗算器として機能し,シフタ24は,画素データDと,画素データDの8倍の値とを選択的に出力可能な乗算器として機能する。更に,シフタ25は,画素データDと,画素データDの16倍の値とを選択的に出力可能な乗算器として機能し,シフタ26は,画素データDと,画素データDの8倍の値とを選択的に出力可能な乗算器として機能する。最後に,シフタ27は,画素データDと,画素データDの4倍の値とを選択的に出力可能な乗算器として機能し,シフタ28は,画素データDと,画素データDの2倍の値とを選択的に出力可能な乗算器として機能する。
図4に示されているように,シフタ22は,好適には,画素データDと,1ビットの左シフトが行われた画素データDとの一方を選択的に出力するマルチプレクサ22aで構成される。マルチプレクサ22aの第1入力INには,画素データDが入力され,第2入力INには,1ビットの左シフトが行われた画素データDが入力される。より具体的には,マルチプレクサ22aの第1入力INの最上位ビットには,“0”が入力され,上位から2番目のビットから最下位ビットには,それぞれ,レジスタ11の画素データDの最上位ビットから最下位ビットが入力される。一方,マルチプレクサ22aの第2入力INの最上位ビットから下位から2番目のビットには,それぞれ,レジスタ11の画素データDの最上位ビットから最下位ビットが入力され,最下位ビットには,“0”が入力される。第1入力INが選択されると,マルチプレクサ22aは,画素データDをそのまま出力し,第2入力INが選択されると,マルチプレクサ22aは,1ビットの左シフトが行われた画素データD,即ち,画素データDの2倍の値を出力する。このように,シフタ22をマルチプレクサで構成することは,回路構成をシンプルにできるため好適である。
他のシフタ22〜28も同様にしてマルチプレクサによって実現可能である。シフタ23は,画素データDと,2ビットの左シフトが行われた画素データDとの一方を選択的に出力可能に構成され,シフタ24は,画素データDと,3ビットの左シフトが行われた画素データDとの一方を選択的に出力可能に構成される。シフタ25は,画素データDと,4ビットの左シフトが行われた画素データDとの一方を選択的に出力可能に構成され,シフタ26は,画素データDと,3ビットの左シフトが行われた画素データDとの一方を選択的に出力可能に構成される。更に,シフタ27は,画素データDと,2ビットの左シフトが行われた画素データDとの一方を選択的に出力可能に構成され,シフタ28は,画素データDと,1ビットの左シフトが行われた画素データDとの一方を選択的に出力可能に構成される。
差分絶対値演算/加算部3は,2入力の差分絶対値演算/加算器31〜38を含んで構成されている。差分絶対値演算/加算器31〜38のそれぞれは,外部から供給される制御信号に応答して,差分絶対値演算と加算とを選択的に実行可能な演算器である。差分絶対値演算/加算器31〜38の入力は,レジスタ11〜1116の出力に,直接に又はシフタ22〜28を介して接続されている。具体的には,差分絶対値演算/加算器31の第1入力はレジスタ11に直接に接続され,第2入力はシフタ22の出力に接続されている。差分絶対値演算/加算器31は,レジスタ11に保持されている画素データDと,シフタ22から供給されるデータとに対して差分絶対値演算又は加算を行い,その演算結果を出力する。シフタ22から供給されるデータは,画素データDそのもの,又は,画素データDの2倍の値であることに留意されたい。同様に,差分絶対値演算/加算器32〜34は,それぞれ,シフタ23とシフタ24とから供給されるデータ,シフタ25とシフタ26とから供給されるデータ,及びシフタ27とシフタ28とから供給されるデータに対して差分絶対値演算又は加算を行い,その演算結果を出力する。一方,差分絶対値演算/加算器35〜38は,レジスタ11〜1116の,それぞれが対応する2つのレジスタから供給される画素データに対して差分絶対値演算又は加算を行い,その演算結果を出力する。
加算部4は,差分絶対値演算/加算器31〜38の出力の和を算出するためのものであり,2入力の加算器41〜47,及びレジスタ48を含んで構成される。加算器41の入力は,差分絶対値演算/加算器31,32の出力に接続され,加算器42の入力は,差分絶対値演算/加算器33,34の出力に接続されている。加算器43の入力は,差分絶対値演算/加算器35,36の出力に接続され,加算器44の入力は,差分絶対値演算/加算器37,38の出力に接続されている。加算器45の入力は,加算器41,42の出力に接続され,加算器46の入力は,加算器43,44の出力に接続されている。加算器47の入力は,加算器45,46の出力に接続され,レジスタ48の入力は,加算器47の出力に接続されている。
演算部5は,加算部4のレジスタ48の出力(即ち,差分絶対値演算/加算器31〜38の出力の和)から動きベクトルの推定を行い,更に,ポストフィルタリングの結果を算出する機能を有している。後述されるように,画像処理回路10によって動きベクトルの推定が行われる場合,レジスタ48の出力は,ある入力ブロックとある参照ブロックとについて算出されるSADの一部の項の和である。演算部5は,レジスタ48の出力からSADを逐次に算出し,動きベクトルを推定する。一方,ポストフィルタリングが行われる場合,レジスタ48の出力は,対象画素及びその近傍の画素の画素データの重み付き和(weighted sum)となる。演算部5は,レジスタ48の出力からポストフィルタリング後の対象画素の画素データを算出する。
第2 本実施の形態の画像処理回路の動作
本実施の形態の画像処理回路10は,シフタ22〜28の動作,及び,差分絶対値演算/加算器31〜38の動作を適切に設定することにより,動きベクトル推定,及びポストフィルタリングの両方の演算の主要部分を実行することができる。具体的には,画像処理回路10が動きベクトル推定を行う動作モードに設定されると,シフタ22〜28は,それらが受け取った画素データをそのまま出力するように設定され,差分絶対値演算/加算器31〜38を,差分絶対値演算を行うように設定される。これにより,動きベクトル推定で使用されるSADを算出することができる。一方,画像処理回路10がポストフィルタリングを行う動作モードに設定されると,シフタ22〜28は,それらが受け取った画素データと所定値との積を出力するように設定され,差分絶対値演算/加算器31〜38が加算を行うように設定される。これにより,ポストフィルタリングの,対象画素の画素データを算出することができる。このような動作を行う画像処理回路10は,動きベクトル推定とポストフィルタリングの演算の主要部分を共通のハードウェア資源で実行可能であり,ハードウェア資源の削減に有効である。以下では,画像処理回路10を用いて動きベクトル推定とポストフィルタリングとを行う手順が詳細に説明される。
1.動きベクトル推定の手順
ある入力ブロックの動きベクトルの推定は,下記の手順で行われる。以下の説明において,入力ブロックの左上の座標は(0,0),右下の座標は(15,15)であると仮定される。入力ブロックの座標(i,j)に位置する画素の画素データはA(i,j)と記載される。
まず,動きベクトルの探索空間内の一のベクトルが選択される。入力ブロックと,そのベクトルから,参照画像の参照ブロックが定まる。例えば,選択されたベクトルVが(1,0)である場合には,参照ブロックの左上の座標は(1,0),右下の座標は(16,15)である。以下では,参照ブロックの座標(i,j)に位置する画素の画素データはB(i,j)と記載される。
続いて,入力ブロックの画素データA(0,0)〜A(7,0)が第1入力端子13に順次に供給され,それに対応する参照ブロックの画素データB(1,0)〜B(8,0)が第2入力端子14に順次に供給される。画素データA(0,0)〜A(7,0)は,それぞれ,セレクタ奇数番目のレジスタ11,11,11,11,・・・1115に転送されて保存される。一方,参照ブロックの画素データB(1,0)〜B(8,0)は,それぞれ,偶数番目のレジスタ11,11,11,11,・・・1116に転送されて保存される。
シフタ22〜28は,レジスタ11〜11が出力する画素データD〜Dをそのまま差分絶対値演算/加算器31〜34に出力するように設定され,差分絶対値演算/加算器31〜38は,それぞれが受け取った一組のデータの差分絶対値を算出するように設定される。言い換えれば,乗算部2と差分絶対値演算/加算部3とは,差分絶対値演算/加算器31〜38が,それぞれ,絶対値|D−D|,|D−D|,|D−D|,・・・,|D15−D16|を出力するように設定される。Dは,レジスタ11に保持されている画素データであるから,差分絶対値演算/加算器31〜38は,それぞれ,絶対値|A(0,0)−B(1,0)|,|A(1,0)−B(2,0)|,・・・,|A(7,0)−B(8,0)|を出力することになる。
続いて,加算部4により,差分絶対値演算/加算器31〜38の出力の和が算出される。この結果,加算部4は,下記式(3)で表される出力DOUTを生成することになる。
Figure 0004290608
式(3)に示されている加算部4の出力DOUTが,式(1’)のSADの一部の項についての和であることに留意されたい。演算部5は,加算部4の出力DOUTを受け取って保存する。
続いて,入力ブロックの他の8つの画素について同様の演算が行われる。奇数番目のレジスタ11,11,11,11,・・・1115に,入力ブロックの画素データA(8,0)〜A(15,0)がそれぞれ転送され,偶数番目のレジスタ11,11,11,11,・・・1116に,それに対応する参照ブロックの画素データB(9,0)〜B(16,0)がそれぞれ転送される。続いて,差分絶対値演算/加算器31〜38によって絶対値|A(8,0)−B(9,0)|,|A(9,0)−B(10,0)|,・・・,|A(15,0)−B(16,0)|が算出され,これらの絶対値の和が,加算器4によって算出される。
演算部5は,画素データA(0,0)〜A(7,0)について得られた加算部4の出力DOUTと,画素データA(8,0)〜A(15,0)について得られた加算部4の出力DOUTとの和を算出し,算出された和を保存する。
残りの画素についても,同様の処理が行われる。入力ブロックの更に他の8つの画素の画素データが,奇数番目のレジスタ11,11,11,11,・・・1115に転送され,参照ブロックの対応する8つの画素の画素データがレジスタ11,11,11,11,・・・1116に転送される。画素データの転送の後,上記の演算が行われ,加算部4の出力DOUTが生成される。入力ブロックの全ての画素について上記の演算が行われ,当該入力ブロックについて得られた加算部4の出力DOUTの和が算出される。算出された出力DOUTの和が,求めるべきSADである。
同様の過程により,動きベクトルの探索空間の全てのベクトルについて,SADが算出される。SADが最小であるベクトルが,求めるべき動きベクトルである。
2.ポストフィルタリング
伸長された画像についてのポストフィルタリングは,以下の手順で行われる。以下の説明において,対象画素の座標は(x,y)と記述され,座標(i,j)に位置する画素のポストフィルタリング前の画素データはC(i,j)と記述されることに留意されたい。
まず,ポストフィルタリングが行われる対象画像のうちから対象画素が選択される。対象画素とは,ポストフィルタリングによって画素データが算出される対象の画素である。
対象画素は,ブロックの境界の近傍の画素から選択される。
続いて,対象画素,及びその周辺に位置する8つの画素の画素データが,順次に第1入力端子13に入力され,レジスタ12〜12を用いてレジスタ11〜11に転送される。具体的には,水平方向のポストフィルタリングが行われる場合,対象画素の画素データC(x,y)はレジスタ11に転送される。更に,対象画素に隣接する画素の画素データC(x−1,y),C(x+1,y)が,それぞれ,レジスタ11,レジスタ11に転送され,対象画素から水平方向において2番目に位置する画素の画素データC(x−2,y),C(x+2,y)が,それぞれレジスタ11,レジスタ11に転送される。加えて,対象画素から水平方向において3番目に位置する画素の画素データC(x−3,y),C(x+3,y)が,それぞれレジスタ11,レジスタ11に転送され,4番目に位置する画素の画素データC(x−4,y),C(x+4,y)が,レジスタ11,11に転送される。
残りのレジスタ1110〜1116には,セレクタ12〜1215から”0”が供給され,”0”にリセットされる。
シフタ22〜28は,それぞれに定められた所定のビット数だけレジスタ11〜11が出力する画素データD〜Dをシフトして差分絶対値演算/加算器31〜34に出力するように設定され,差分絶対値演算/加算器31〜38は,それぞれが受け取った一組のデータの和を算出するように設定される。このような設定がなされることにより,差分絶対値演算/加算器31〜35は,それぞれ,D+2D,4D+8D,16D+8D,4D+2D,Dを出力する。Dは,レジスタ11に保持されている画素データであるから,差分絶対値演算/加算器31〜35は,それぞれ,C(x−4,y)+2C(x−3,y),4C(x−2,y)+8C(x−1,y),16C(x,y)+8C(x+1,y),4C(x+2,y)+2C(x+3,y),C(x+4,y)を出力することになる。残りの差分絶対値演算/加算器36〜38は,レジスタ1111〜1116から”0”を受け取るから,その出力はいずれも”0”である。
続いて,加算部4により,差分絶対値演算/加算器31〜38の出力の和が算出される。加算部4は,下記式(4)で表される出力DOUT(x,y)を生成することになる:
OUT(x,y)=C(x−4,y)+2C(x−3,y)+4C(x−2,y)
+8C(x−1,y)+16C(x,y)+8C(x+1,y)
+4C(x+2,y)+2C(x+3,y)+C(x+4,y),
・・・(4)
式(4)に示されている出力DOUT(x,y)は,画素データC(x−4,y)〜C(x+4,y)の重み付け和であり,その全体に1/46が掛けられていない点を除いて上記の式(2’)と同一の形式を有していることに留意されたい。
演算部5は,加算部4の出力DOUT(x,y)を,式(4)の各項の係数の和(即ち,46)で割ることにより,対象画素のポストフィルタリング後の画素データC’(x,y)を算出する。
他の対象画像の他の所望の画素についても同様の演算が行われる。所望の全ての画素について上記の演算が行われることにより,ポストフィルタリングが完了する。
第3 まとめ及び補足
以上に述べられているように,本実施の形態の画像演算装置は,動きベクトル推定及びポストフィルタリングの両方の演算の主要部分を共通のハードウェア資源を用いて実行することができる。これは,動きベクトル推定及びポストフィルタリングに必要なハードウェア資源の量を有効に抑制する。
本発明は,その趣旨に反しない限り,本実施形態の画像演算装置の構成に限定されないことに留意されるべきである。例えば,本実施形態の画像演算装置の構成は,ポストフィルタリングにおける重み付け平均の算出方法に応じて適宜に変更可能である。重み付け平均の算出に用いられる重み付け係数として,2の累乗でない値が用いられる場合には,シフタ22〜28の代わりに,画素データ,又は,該画素データと係数との積を選択的に出力するように構成された乗算器が使用され得る。加えて,重み付け平均の算出に用いられる画素データの数が変更される場合には,レジスタ11〜1116と差分絶対値演算/加算器31〜38の間に介設されるシフタ(又は乗算器)の数,及びそれらに設定される重み付け係数も,画素データの数に合わせて変更される。
加えて、本実施の形態において,乗算部2のシフタは,左シフトではなく,右シフトを行うように構成されることも可能である。あるデータをnビットだけ右シフトすることは,当該データを2−n倍することに相当することを考慮すれば,本実施の形態の画像演算処理装置は,例えば,図5のように構成され得る。図5の画像演算処理装置では,乗算部2が,シフタ21’〜24’,及びシフタ26’〜29’を含んで構成される。シフタ21’〜24’は,レジスタ11〜11から画素データD〜Dを受け取り,当該画素データD〜Dに対して必要に応じて右方向へのビットシフトを行うことができるように構成されている。同様に,シフタ26’〜29’は,レジスタ11〜11から画素データD〜Dを受け取り,当該画素データD〜Dに対して必要に応じて右方向へのビットシフトを行うことができるように構成されている。シフタ21’〜24’,26’〜29が右方向へのビットシフトを行うビットの数は,以下のように設定されている;両端のシフタ21’,29’は,4ビットの右シフトを実行可能に構成され,端から2番目のシフタ22’,28’は,3ビットの右シフトを実行可能に構成されている。端から3番目のシフタ23’,27’は,2ビットの右シフトを実行可能に構成され,端から4番目のシフタ22’,26’は,1ビットの右シフトを実行可能に構成されている。これにより,図5の画像演算処理装置は,上述の実施形態とは異なる重み付け係数を用いた重み付け和の算出が可能である。具体的には,図5の画像演算処理装置は,下記式(4)’:
OUT(x,y)=(1/16)C(x−4,y)+(1/8)C(x−3,y)
+(1/4)C(x−2,y)+(1/2)C(x−1,y)
+C(x,y)
+(1/2)C(x+1,y)+(1/4)C(x+2,y)
+(1/8)C(x+3,y)+(1/16)C(x+4,y),
・・・(4)’
によって重み付け和を算出する。式(4)’が,上述の式(4)と等価であることは,当業者であれば容易に理解されよう。
図1は,動きベクトル推定を説明する概念図である。 図2は,ポストフィルタリングを説明する概念図である。 図3は,本発明の一実施形態における画像処理回路の構成を示すブロック図である。 図4は,本発明の一実施形態におけるシフタの構成を示すブロック図である。 図5は,本発明の他の実施形態における画像処理回路の構成を示すブロック図である。
符号の説明
1:シフトレジスタ部
2:乗算部
3:差分絶対値演算/加算部
4:加算部
5:演算部
10:画像処理回路
11〜1116:レジスタ
12〜1216:セレクタ
13:第1入力端子
14:第2入力端子
22〜28:シフタ
31〜38:差分絶対値演算/加算器
41〜47:加算器
48:レジスタ

Claims (6)

  1. 画素データをそれぞれに保持する複数のレジスタと,
    複数の差分絶対値演算/加算器と,
    それぞれが,前記複数のレジスタの一と前記複数の差分絶対値演算/加算器の一との間に介設された,少なくとも一の選択乗算器と,
    前記複数の差分絶対値演算/加算器の出力の和を算出する加算部
    とを備え,
    前記選択乗算器のそれぞれは,対応する前記レジスタに保持されている前記画素データを,対応する前記差分絶対値演算/加算器の入力にそのまま出力する動作と,対応する前記レジスタに保持されている前記画素データと所定の係数との積を,対応する前記差分絶対値演算/加算器の入力に出力する動作とを選択的に行うことができるように構成されており,
    前記複数の差分絶対値演算/加算器のそれぞれは,その2つの入力に入力される前記画素データの差分の絶対値を出力する動作と,前記2つの入力に入力される前記画素データの和を出力する動作とを選択的に行うことができるように構成されている
    画像処理回路。
  2. 請求項1に記載の画像処理回路であって,
    当該画像処理回路が第1モードに設定されると,前記選択乗算器のそれぞれは,対応する前記レジスタに保持されている前記画素データを,対応する前記差分絶対値演算/加算器の入力にそのまま出力し,且つ,前記複数の差分絶対値演算/加算器のそれぞれは,その2つの入力に入力される前記画素データの差分の絶対値を出力し,
    当該画像処理回路が第2モードに設定されると,前記選択乗算器のそれぞれは,対応する前記レジスタに保持されている前記画素データと所定の係数との積を,対応する前記差分絶対値演算/加算器の入力に出力し,且つ,前記複数の差分絶対値演算/加算器のそれぞれは,前記2つの入力に入力されるデータの和を出力する
    画像処理回路。
  3. 請求項2に記載の画像処理回路であって,
    更に,
    当該画像処理回路が前記第1モードに設定されたとき,前記加算部によって算出された前記複数の差分絶対値演算/加算器の出力の和から動きベクトルを推定し,当該画像処理回路が前記第2モードに設定されたとき,前記複数の差分絶対値演算/加算器の出力の和から,前記画素データに対応する画素のうちの対象画素の,ポストフィルタリング後の画素データを算出する演算部
    を備える
    画像処理回路。
  4. 請求項2に記載の画像処理回路であって,
    更に,
    当該画像処理回路が前記第2モードに設定されると,前記複数のレジスタのうちの一部をリセットするリセット手段
    を備える
    画像処理回路。
  5. 請求項1に記載の画像処理回路であって,
    前記選択乗算器は,対応する前記レジスタに保持されている前記画素データと,対応する前記レジスタに保持されている前記画素データがnビット(n:整数)だけシフトされたデータであるシフトデータとを選択的に出力するマルチプレクサを含む
    画像処理回路。
  6. (A1) 動きベクトル推定の対象である画素の画素データの,少なくともその一部を選択乗算器に供給し,前記選択乗算器に供給されない画素データを直接に差分絶対値演算/加算器の入力に供給するステップと,
    (A2) 前記選択乗算器が,それに供給された前記画素データをそのまま前記差分絶対値演算/加算器の入力に供給するステップと,
    (A3) 前記差分絶対値演算/加算器が,その2つの入力に供給されたデータの差分の絶対値を算出するステップと,
    (A4) 前記差分の絶対値の和を算出するステップと,
    (A5) 前記前記差分の絶対値の和を用いて,前記ブロックの動きベクトルを推定するステップと,
    (B1) ポストフィルタリングの対象である対象画素及びその周辺の画素の画素データの,少なくともその一部を前記選択乗算器に,前記選択乗算器に供給されない画素データを直接に差分絶対値演算/加算器の入力に供給するステップと,
    (B2)前記選択乗算器が,前記画素データと所定の係数との積を前記差分絶対値演算/加算器の入力に供給するステップと,
    (B3) 前記差分絶対値演算/加算器が,その2つの入力に供給されたデータの和を算出するステップと,
    (B4) 前記差分絶対値演算/加算器の出力の和から,前記対象画素のポストフィルタリング後の画素データを算出するステップ
    とを備える
    画像処理回路の動作方法。
JP2004172735A 2004-06-10 2004-06-10 画像処理回路,及び画像処理方法 Expired - Fee Related JP4290608B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004172735A JP4290608B2 (ja) 2004-06-10 2004-06-10 画像処理回路,及び画像処理方法
US11/148,177 US20050278401A1 (en) 2004-06-10 2005-06-09 Apparatus and method for motion vector search and post filtering with reduced hardware resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004172735A JP4290608B2 (ja) 2004-06-10 2004-06-10 画像処理回路,及び画像処理方法

Publications (2)

Publication Number Publication Date
JP2005354381A JP2005354381A (ja) 2005-12-22
JP4290608B2 true JP4290608B2 (ja) 2009-07-08

Family

ID=35461789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004172735A Expired - Fee Related JP4290608B2 (ja) 2004-06-10 2004-06-10 画像処理回路,及び画像処理方法

Country Status (2)

Country Link
US (1) US20050278401A1 (ja)
JP (1) JP4290608B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6763156B2 (ja) * 2016-03-10 2020-09-30 日本電気株式会社 誤差演算装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05300494A (ja) * 1992-01-30 1993-11-12 Nec Corp 動画像符号化器とその制御方式
US5610850A (en) * 1992-06-01 1997-03-11 Sharp Kabushiki Kaisha Absolute difference accumulator circuit
TW284869B (ja) * 1994-05-27 1996-09-01 Hitachi Ltd
US5754455A (en) * 1996-04-10 1998-05-19 Motorola, Inc. Method and apparatus for setting a bit-serial filter to an all-zero state
US6226410B1 (en) * 1997-06-30 2001-05-01 Intel Corporation Method and apparatus for providing image and video coding with iterative post-processing using transmitted step size information
US6335990B1 (en) * 1997-07-03 2002-01-01 Cisco Technology, Inc. System and method for spatial temporal-filtering for improving compressed digital video
US6526430B1 (en) * 1999-10-04 2003-02-25 Texas Instruments Incorporated Reconfigurable SIMD coprocessor architecture for sum of absolute differences and symmetric filtering (scalable MAC engine for image processing)
JP2004120439A (ja) * 2002-09-26 2004-04-15 Nec Electronics Corp 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
JP2005354381A (ja) 2005-12-22
US20050278401A1 (en) 2005-12-15

Similar Documents

Publication Publication Date Title
CN103167218B (zh) 一种基于非局部性的超分辨率重建方法和设备
US6690730B2 (en) Motion estimator
US20060002471A1 (en) Motion estimation unit
JPH06292178A (ja) 適応形ビデオ信号演算処理装置
JPH04294469A (ja) 相関装置
US20040151392A1 (en) Image encoding of moving pictures
JPH04128982A (ja) プロセッサエレメント、プロセッシングユニット、プロセッサ、及びその演算処理方法
KR20090105365A (ko) 움직임 추정 장치 및 이를 구비하는 동영상 부호화 장치
JP4290608B2 (ja) 画像処理回路,及び画像処理方法
JP4963220B2 (ja) フィルタ演算器及び動き補償装置
JP5086675B2 (ja) フィルタ演算器及び動き補償装置
JP2004120439A (ja) 画像処理装置及び画像処理方法
CN106296614B (zh) 图像处理装置及图像处理方法
JP4516051B2 (ja) フィルタ処理装置、乗算器及び動き補償処理装置
JP2007096431A (ja) 任意の変換比率を有するデジタル・ビデオ・フォーマット下方変換装置及び方法
CN114612295A (zh) 一种图像超分辨率处理方法和计算机设备
CN108805846B (zh) 二值图像处理优化的方法及其系统
JP2960328B2 (ja) シストリックアーキテクチャ内に配置される「n+1」個の演算子にオペランドを供給するための装置
US20130329780A1 (en) Inverse transform method for ultra-high resolution video codec
JP2008532335A (ja) 画像内挿方法及び画素内挿装置
JP2790911B2 (ja) 直交変換演算装置
JP4155102B2 (ja) 画素値演算装置、動画像符号化装置及び動画像復号化装置
KR101383515B1 (ko) 영상의 역변환 장치
JP4963194B2 (ja) フィルタ処理装置、乗算器及び動き補償処理装置
JP2007043224A (ja) 動画像復号化装置、デブロッキング/デリンギング処理回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070516

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090227

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees