JP3682239B2 - Digital filter processor - Google Patents

Digital filter processor Download PDF

Info

Publication number
JP3682239B2
JP3682239B2 JP2001097114A JP2001097114A JP3682239B2 JP 3682239 B2 JP3682239 B2 JP 3682239B2 JP 2001097114 A JP2001097114 A JP 2001097114A JP 2001097114 A JP2001097114 A JP 2001097114A JP 3682239 B2 JP3682239 B2 JP 3682239B2
Authority
JP
Japan
Prior art keywords
memory bank
pixels
output
filter processing
data
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
JP2001097114A
Other languages
Japanese (ja)
Other versions
JP2002300597A (en
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001097114A priority Critical patent/JP3682239B2/en
Publication of JP2002300597A publication Critical patent/JP2002300597A/en
Application granted granted Critical
Publication of JP3682239B2 publication Critical patent/JP3682239B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Input (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Picture Signal Circuits (AREA)
  • Color Television Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はディジタルデータにフィルタ処理を施すディジタルフィルタ装置に係り、特に、処理時間の短縮が可能であって少ないメモリバンク数で複数データ列の連続的処理が可能なディジタルフィルタ処理装置に関する。
【0002】
【従来の技術】
表示装置など多くの装置で用いられるディジタルビデオ信号の入力フォーマットは、色差信号(Cb,Cr)の水平標本化周波数を輝度信号の水平標本化周波数の1/2とするいわゆる4:2:2フォーマットが採用される場合が多い。この場合の輝度信号の水平標本化周波数は例えば13.5MHzである。これに対し画像符号化の国際標準規格であるMPEG2(Moving Picture Experts Group)等の様な圧縮符号化では、色差信号の垂直方向の標本化周波数を輝度信号の垂直方向の標本化周波数の1/2とする4:2:0フォーマットが多く用いられており、この場合の標本化周波数には複数の種類がある。
【0003】
特開平11−150740号公報や特開2000−59817号公報では、4:2:2フォーマットのディジタルビデオ信号に対するフィルタ処理において、色差信号のフィルタ処理と輝度信号のフィルタ処理とを画素多重による時分割処理により同一演算回路で実現する方法が示されている。
【0004】
しかしながら、従来の技術においては、水平方向のフィルタ処理回路と垂直方向のフィルタ処理回路とが別回路となっており、水平方向のフィルタ処理回路からの出力用メモリバンクと垂直方向のフィルタ処理回路への入力用メモリバンクが必要であり、このことが回路規模削減の障害となっていた。また、標本化周波数変換処理を行う場合は、入力フォーマットの標本化周波数に応じて、水平方向フィルタ処理演算量と垂直方向フィルタ処理演算量との比が異なる為、水平方向のフィルタ処理と垂直方向のフィルタ処理の一方の回路に停止期間や無効動作期間が生じ、演算能力の有効活用の障害となっていた。
【0005】
【発明が解決しようとする課題】
本発明は上記事情を考慮してなされたものであり、その目的は、データ列を入出力するためのメモリバンクと途中演算結果を保存するためのメモリバンクとを合わせた総メモリバンク数の少ないディジタルフィルタ処理装置を提供することにある。また、本発明の他の目的は、様々な標本化周波数変換処理においても演算能力の有効活用が可能であって、小回路規模なディジタルフィルタ処理回路を提供することにある。
【0006】
【課題を解決するための手段】
上記課題を解決し目的を達成するために本発明は次のように構成されている。
【0008】
本発明のディジタルフィルタ処理装置は、データ列を入出力するための3つのメモリバンクと、前記3つのメモリバンクの内の1つから読み出したデータ列をディジタルフィルタ処理し、かかるフィルタ処理結果を前記3つのメモリバンクの内のいずれか他の1つに出力するディジタルフィルタ処理手段と、複数の前記データ列に対して偶数回のディジタルフィルタ処理を行う場合に、各データ列の入力に使用するメモリバンクの順序を第1メモリバンク,第2メモリバンクの順とし、第1メモリバンク,及び第2メモリバンクを介して入力されるデータ列のそれぞれに対する奇数回目のディジタルフィルタ処理結果の出力に第3メモリバンクを使用し、該奇数回目のディジタルフィルタ処理結果に対する偶数回目のディジタルフィルタ処理結果の出力に第1メモリバンク及び第2メモリバンクを使用するメモリバンク切替制御手段と、を具備し、前記ディジタルフィルタ処理手段は、画像信号の前記データ列に対する水平方向のフィルタ処理と、垂直方向のフィルタ処理とを同一回路で選択的に行うよう構成されることを特徴とする。
【0009】
本発明のディジタルフィルタ処理装置は、データ列を入出力するための3つのメモリバンクと、前記3つのメモリバンクの内の1つから読み出したデータ列をディジタルフィルタ処理し、かかるフィルタ処理結果を前記3つのメモリバンクの内のいずれか他の1つに出力するディジタルフィルタ処理手段と、各データ列に対して奇数回のディジタルフィルタ処理を行う場合に、各データ列の入力に使用するメモリバンクの順序を第1メモリバンク,第2メモリバンク,第3メモリバンクの順とし、第1メモリバンク,第2メモリバンク,及び第3メモリバンクを介して入力されるデータ列に対する奇数回目のディジタルフィルタ処理結果をそれぞれ第3メモリバンク,第1メモリバンク,及び第2メモリバンクに出力し、偶数回目の処理結果をそれぞれ第1メモリバンク,第2メモリバンク,及び第3メモリバンクに出力するメモリバンク切替制御手段と、を具備し、前記ディジタルフィルタ処理手段は、画像信号の前記データ列に対する水平方向のフィルタ処理と、垂直方向のフィルタ処理とを同一回路で選択的に行うよう構成されることを特徴とする。
【0011】
また、前記ディジタルフィルタ処理手段は、水平方向に連続する2画素以上のM画素を1ワードとするデータ列を記憶した1つの前記メモリバンクから該データ列の一部を読み出し、任意画素位置から水平方向に連続する2画素単位で出力するフィルタ入力回路と、前記フィルタ入力回路から出力される2画素に対してそれぞれ係数を乗じる2個の乗算器と、前記各乗算器出力をそれぞれ累積加算する2個の累積加算回路と、前記2個の累積加算回路出力の和を算出する加算回路と、により構成される。
【0012】
また、前記ディジタルフィルタ処理手段は、水平方向に連続するL画素以上のM画素を1ワードとするデータ列を記憶した1つの前記メモリバンクからデータ列の一部を読み出し、任意画素位置から水平方向に連続するL画素単位で出力するフィルタ入力回路と、前記フィルタ入力回路から出力されるL画素に対してそれぞれ係数を乗じるL個の乗算器と、前記各乗算器出力をそれぞれ累積加算するL個の累積加算回路と、前記L画素の内の奇数番目の画素に対する前記累積加算回路出力の総和を算出する第1の加算回路と、前記L画素の内で偶数番目の画素に対する前記累積加算回路出力の総和を算出する第2の加算回路と、前記第1の加算回路出力及び前記第2の加算回路出力の和を算出する第3の加算回路と、により構成される。
【0013】
また、前記ディジタルフィルタ処理手段は、水平方向に連続する2画素以上のM画素を1ワードとするデータ列を記憶した1つのメモリバンクからデータ列の一部を読み出し、任意画素位置から水平方向に連続する2画素単位で出力するフィルタ入力回路と、前記フィルタ入力回路から出力される2画素に対してそれぞれ係数を乗じる2個の乗算器と、前記各乗算器出力をそれぞれ累積加算する2個の累積加算回路と、により構成され、前記累積加算器の少なくともいずれか一方は、前記2個の乗算器出力の和を累積加算する機能を併せ持つことを特徴とする。
【0014】
また、前記ディジタルフィルタ処理手段は、水平方向に連続する4画素以上のM画素を1ワードとするデータ列を記憶した1つのメモリバンクからデータ列の一部を読み出し、任意画素位置から水平方向に連続する4画素単位で出力するフィルタ入力回路と、前記フィルタ入力回路から出力される4画素に対してそれぞれ係数を乗じる4個の乗算器と、前記各乗算器出力をそれぞれ累積加算する第1乃至第4の4個の累積加算回路と、前記第1及び第2の累積加算器出力を加算する加算回路と、により構成され、前記第1の累積加算器は前記4画素の内で奇数番目の画素に対する乗算結果の和を累積加算する機能を併せ持ち、前記第2の累積加算器は前記4画素の内で偶数番目の画素に対する乗算結果の和を累積加算する機能を併せ持つことを特徴とする。
【0015】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態を説明する。
【0016】
(第1実施形態)
図1は、本発明の第1の実施形態に係るディジタルフィルタ処理装置の構成を示すブロック図である。図1に示す様に、本発明の第1の実施形態に係るディジタルフィルタ処理装置は、データ列を入出力する為の第1乃至第3のメモリバンク(1a,1b,1c)と、第1乃至第3のメモリバンクの内の1つから読み出したデータ列に対してディジタルフィルタ処理を行うとともに、そのフィルタ処理結果を第1乃至第3のメモリバンクの他の1つに出力するフィルタ処理回路2aと、このフィルタ処理回路2aに付随して設けられるフィルタ係数メモリ2bと、制御部2cとにより構成されている。
【0017】
図2乃至図4は、各データ列に対してそれぞれ1回、2回、3回のディジタルフィルタ処理を行う場合の第1実施形態の動作を説明するための図であって、バンク切替の流れを示す図である。
各データ列に対して1回のディジタルフィルタ処理を行う場合は、図2に示す様に、各データ列の入力に使用するメモリバンクの順序を第1メモリバンク1a(バンク1),第2メモリバンク1b(バンク2),第3メモリバンク1c(バンク3)の順とする。また、各データ列に対するディジタルフィルタ処理結果の出力に使用するメモリバンクの順序を第3メモリバンク1c(バンク3),第1メモリバンク1a(バンク1),第2メモリバンク1b(バンク2)の順とする。この場合、フィルタ係数メモリ2bには、アドレスバス3aとデータバス3bを介して、フィルタ処理を行う前に予め所定のフィルタ係数が書き込まれる。
【0018】
先ず、アドレスバス3aとデータバス3bを介して、処理対象のデータ列が第1メモリバンク1aに書き込まれ(S1)、入力端子2c1から制御部2cに第1メモリバンク1aに対する実行コマンドが入力される。その直後に、アドレスバス3aとデータバス3bを介して、次のデータ列が第2メモリバンク1bに書き込まれ(S2)、入力端子2c1から制御部2cに第2メモリバンク1bに対する実行コマンドが入力される。
【0019】
ここで制御部2cは、最初に入力された第1メモリバンク1aに対する実行コマンドに従って、制御信号2c3を出力し、第1メモリバンク1aからデータ列を複数画素単位で読み出す(S3)とともに、使用する係数データ2b1をフィルタ係数メモリ2bから読み出して、フィルタ処理回路2aに供給する。フィルタ処理回路2aは、制御部2cから入力される制御信号2c4により、入力データ2a1の内で第1メモリバンク1aから入力されるデータを選択し、係数データ2b1を用いて所定のフィルタ処理を行ない、処理結果データ2a2を出力する。次に制御部2cは、フィルタ処理回路2aから出力される処理結果データ2a2を、制御信号2c3により、第3メモリバンク1cの所定アドレス位置に書き込む(S4)。
【0020】
この様にして第1メモリバンク1aのデータ列に対するフィルタ処理が完了すると直ぐに、制御部2cは、出力端子2c2から第1メモリバンクに対する実行コマンド終了情報を出力すると共に、次に入力された第2メモリバンク1bに対する実行コマンドに従って、制御信号2c3により、第2メモリバンク1bからデータ列を複数画素単位で読み出し(S5)、使用する係数データ2b1をフィルタ係数メモリ2bから読み出して、フィルタ処理回路2aに供給する。フィルタ処理回路2aは、制御部2cから入力される制御信号2c4により、入力データ2a1の内で第2メモリバンク1bから入力されるデータを選択し、係数データ2b1を用いて所定のフィルタ処理を行って、処理結果データ2a2を出力する。
【0021】
出力端子2c2から出力される前述の第1メモリバンクに対する実行コマンド終了情報に従って、アドレスバス3aとデータバス3bを介して、第3メモリバンク1cから処理結果が読み出されて外部に出力される(S7)。そして次のデータ列が第3メモリバンク1cに入力され(S8)、入力端子2c1から制御部2cに対しこの第3メモリバンク1cに対する実行コマンドが入力される。
【0022】
また制御部2cは、フィルタ処理回路2aから出力される第2メモリバンク1bのデータ列に対する処理結果データ2a2を、制御信号2c3により、第1メモリバンク1aの所定アドレス位置に書き込む(S6)。この様にして第2メモリバンク1bのデータ列に対するフィルタ処理が完了すると直ぐに、制御部2cは、出力端子2c2から第2メモリバンクに対する実行コマンド終了情報を出力すると共に、次に入力された第3メモリバンク1cに対する実行コマンドに従って、制御信号2c3により、第3メモリバンク1cからデータ列を複数画素単位で読み出す(S9)とともに、使用する係数データ2b1をフィルタ係数メモリ2bから読み出して、フィルタ処理回路2aに供給する。以下、同様な処理が繰り返される。
【0023】
また、図3に示す様に、各データ列に対して2回のディジタルフィルタ処理を行う場合は、各データ列の入力に使用するメモリバンクの順序を第1メモリバンク1a(バンク1),第2メモリバンク1b(バンク2)の順とし、第1メモリバンク1a,及び第2メモリバンク1bを介して入力されるデータ列に対する奇数回目のディジタルフィルタ処理結果の出力に使用するメモリバンクを第3メモリバンク1c(バンク3)とし,それらのデータ列に対する偶数回目のディジタルフィルタ処理結果の出力に使用するメモリバンクを第1メモリバンク1a(バンク1),及び第2メモリバンク1b(バンク2)とする。
【0024】
例えば、まずバンク1に入力されたデータ列への1回目のディジタルフィルタ処理結果がバンク3に出力される。同バンク3から1回目のディジタルフィルタ処理結果が読み出されるとともに2回目のディジタルフィルタ処理が行われる。この2回目のディジタルフィルタ処理結果はバンク1に出力される。次に、バンク2に入力されたデータ系列への1回目のディジタルフィルタ処理が行われる。なお、このとき、先のバンク1の処理結果が外部出力される。
【0025】
また、各データ列に対して3回のディジタルフィルタ処理を行う場合は、図4に示す様に、各データ列の入力に使用するメモリバンクの順序を第1メモリバンク1a(バンク1),第2メモリバンク1b(バンク2),第3メモリバンク1c(バンク3)の順とし、第1メモリバンク1a,第2メモリバンク1b,及び第3メモリバンク1cを介して入力されるデータ列に対する奇数回目のディジタルフィルタ処理結果をそれぞれ、第3メモリバンク1c(バンク3),第1メモリバンク1a(バンク1),及び第2メモリバンク1b(バンク2)に出力し、偶数回目の処理結果をそれぞれ、第1メモリバンク1a(バンク1),第2メモリバンク1b(バンク2),及び第3メモリバンク1c(バンク3)に出力する。
【0026】
例えば、まずバンク1に入力されたデータ列への1回目のディジタルフィルタ処理結果はバンク3に出力される。同バンク3から1回目のディジタルフィルタ処理結果が読み出されるとともに2回目のディジタルフィルタ処理が行われる。この2回目のディジタルフィルタ処理結果はバンク1に出力される。次に同バンク1から2回目のディジタルフィルタ処理結果が読み出されるとともに3回目のディジタルフィルタ処理が行われる。この2回目のディジタルフィルタ処理はバンク3に書き込まれ、外部出力される。
【0027】
また、バンク2に入力されたデータ列への1回目のディジタルフィルタ処理結果はバンク1に出力される。同バンク1から1回目のディジタルフィルタ処理結果が読み出されるとともに2回目のディジタルフィルタ処理が行われる。この2回目のディジタルフィルタ処理結果はバンク2に出力される。次に同バンク2から2回目のディジタルフィルタ処理結果が読み出されるとともに3回目のディジタルフィルタ処理が行われる。この2回目のディジタルフィルタ処理はバンク1に書き込まれ、外部出力される。
【0028】
また、バンク3に入力されたデータ列への1回目のディジタルフィルタ処理結果はバンク2に出力される。同バンク2から1回目のディジタルフィルタ処理結果が読み出されるとともに2回目のディジタルフィルタ処理が行われる。この2回目のディジタルフィルタ処理結果はバンク3に出力される。次に同バンク2から2回目のディジタルフィルタ処理結果が読み出されるとともに3回目のディジタルフィルタ処理が行われる。この2回目のディジタルフィルタ処理はバンク2に書き込まれ、外部出力される。
【0029】
以上説明したように第1実施形態のディジタルフィルタ処理装置は、上述の様な規則に従って複数のメモリバンクを効率的に切り替える。具体的には、データ列の外部からの入力、ディジタルフィルタ処理回路へのデータ列の読み出し、ディジタルフィルタ処理回路からのディジタルフィルタ処理結果の書き込み、および同処理結果の外部出力のためのメモリバンクの使用を、衝突(同一時刻に同じメモリバンクが使用されること)なく実現する。このような第1実施形態は最小のメモリバンク数によるフィルタ処理回路の連続的動作を可能にするものであり、回路規模削減、および演算能力の有効活用に寄与する。
【0030】
(第2実施形態)
図5および図6は、本発明の第2の実施形態に係るディジタルフィルタ処理装置の構成を示すブロック図である。
【0031】
図5は、本実施形態のディジタルフィルタ処理装置が備えるフィルタ入力回路2aixを示している。このフィルタ入力回路2aixは、水平方向に連続する4画素を1ワードとするデータ列を記憶した1つのメモリバンクからデータ列の一部を読み出し、任意画素位置から水平方向に連続する2画素単位で出力するものである。また図6に示す様に、本実施形態のディジタルフィルタ処理装置は、図5のフィルタ入力回路2aixから出力される2画素に対して同時に係数を乗じる2個の乗算器(2ama,2amb)と、前記各乗算器出力をそれぞれ累積加算する累算する2個の累積加算回路(2asa,2asb)と、前記2個の累積加算回路(2asa,2asb)の出力の和を算出する加算回路2saoとを備えている。
【0032】
図5において、フィルタ入力回路2aixは、制御部からの制御信号bank_sel[1:0]により、入力データ2a1の内から1つのメモリバンクに記憶された水平方向に連続する4画素のデータを選択し、制御部からの制御信号byte_se1[1:0]により、前記4画素の前半又は後半のいずれか2画素のデータを選択しレジスタDFFにラッチさせる。さらに、1クロック前に入力されて前記レジスタDFFにラッチさている2画素のデータの後に、制御信号byte_ctrl[1]により選択した2画素データの先頭画素データを連続させた3画素データを生成し、制御部からの制御信号byte_ctrl[0]により、この水平方向に連続する3画素データの先頭画素又は2番目の画素から2画素のデータを選択して出力する。
【0033】
なお、当該第2実施形態乃至第6実施形態において制御部、メモリバンク、係数メモリ等は図示しないが、上記第1実施形態の図1に示したものと同様の回路構成が適用される。
【0034】
このフィルタ入力回路2aixから出力される2画素データの先頭画素データは、乗算器2amaにより係数データ2b1の内の乗算器2amaに対応するフィルタ係数との乗算が行われ、2画素目のデータは、乗算器2ambにより係数データ2b1の内の乗算器2ambに対応するフィルタ係数との乗算が行われる。2個の累積加算回路2asa及び2asbは、乗算器2ama及び2mabからレジスタDFFを介して1クロック毎に出力される乗算結果を、制御部からの制御信号acc_ctrlによりタップ数に応じた期間だけ累積加算して出力する。
【0035】
ここで、輝度信号の水平方向フィルタ処理を行う場合、前記入力データ2a1には、2クロック毎に順次水平方向に4画素づつがシフトして入力され、さらにフィルタ入力回路2aixにより1クロック毎に2画素づつ水平方向にシフトして出力される。2個の累積加算回路2asa及び2asbからレジスタDFFを介して出力される2つのデータを加算回路2asoにより加算したものがレジスタDFFを介して出力され、さらに制御部からの制御信号yh_ctrlによりセレクタ2aoxaを介して、四捨五入・最大最小値制限処理回路2araに入力される。四捨五入・最大最小値制限処理回路2araは、標本化周波数の変換倍率が1/2以下か否かを示す制御部からの制御信号updwn_ctr1により、演算精度の有効利用の為に、除算する値として128と64の一方を選択して除算し、四捨五入と最大値制限を行って出力する。四捨五入・最大最小値制限処理回路2araから出力されるデータは、セレクタ2aoxbやレジスタDFFを介して、全て同じ値の4画素データとして出力される。その出力データの内の1画素のデータが、制御部により所定アドレスの所定バイト位置に書き込まれる。
【0036】
また、色差信号の水平方向フィルタ処理を行う場合、前記入力データ2a1には、2種類の色差信号がCb,Cr,Cb,Crのように画素多重された形式で、2クロック毎に順次水平方向に4画素づつシフトして入力され、フィルタ入力回路2aixで1クロック毎に2画素づつ水平方向にシフトして出力される。累積加算回路2asaでは色差信号Cbのみが累積加算され、レジスタDFFを介して、制御部からの制御信号yh_ctrlによりセレクタ2aoxaを介して、四捨五入・最大最小値制限処理回路2araに入力される。また、累積加算回路2asbでは色差信号Crのみが累積加算されて、レジスタDFFを介して、四捨五入・最大最小値制限処理回路2arbに入力される。四捨五入・最大最小値制限処理回路2ara及び2arbは、標本化周波数の変換倍率が1/2以下か否かを示す制御部からの制御信号updwn_ctrlにより、除算する値として128と64の一方を選択して除算し、四捨五入と最大値制限を行って出力する。四捨五入・最大最小値制限処理回路2araから出力されるデータは、レジスタDFFを介して、出力データの1画素目と3画素目に出力され、四捨五入・最大最小値制限処理回路2arbから出力されるデータは、セレクタ2aoxbとレジスタDFFを介して、出力データの2画素目と4画素目に出力される。その出力データの前半又は後半の2画素が、制御部により所定アドレスの所定バイト位置に書き込まれる。
【0037】
また、垂直方向フィルタ処理を行う場合は、乗算器2amaおよび2ambに対する係数は何れも同じ値になっており、前記入力データ2a1には、順次水平方向に連続する4画素のデータがタップ数に従って1クロック毎に垂直方向に1ラインづつシフトされて入力される。累積加算回路2asaでは水平方向の奇数番目の画素位置のデータが累積加算され、レジスタDFFを介して、制御部からの制御信号yh_ctrlによりセレクタ2aoxaを介して、四捨五入・最大最小値制限処理回路2araに入力される。また、累積加算回路2asbでは水平方向の偶数番目の画素位置のデータが累積加算され、レジスタDFFを介して四捨五入・最大最小値制限処理回路2arbに入力される。四捨五入・最大最小値制限処理回路2ara及び2arbは、標本化周波数の変換倍率が1/2以下か否かを示す制御部からの制御信号updwn_ctrlにより、除算する値として128と64のいずれか一方の値を選択して除算し、四捨五入と最大値制限を行ってその結果を出力する。四捨五入・最大最小値制限処理回路2araから出力されるデータは、レジスタDFFを介して、出力データの1画素目と3画素目に出力され、四捨五入・最大最小値制限処理回路2arbから出力されるデータは、セレクタ2aoxbとレジスタDFFを介して、出力データの2画素目と4画素目に出力される。その出力データの前半又は後半の2画素が制御部により所定アドレスの所定バイト位置に書き込まれる。
【0038】
(第3実施形態)
図7及び図8は、本発明の第3の実施形態に係るディジタルフィルタ処理装置の構成を示すブロック図である。図7は、水平方向に連続する4画素を1ワードとするデータ列を記憶した1つのメモリバンクからデータ列の一部を読み出し、任意画素位置から水平方向に連続する4画素単位で出力するフィルタ入力回路を示している。第3の実施形態に係るディジタルフィルタ処理装置は、図7のフィルタ入力回路を備える。また、図8に示す様に、図7のフィルタ入力回路から出力される4画素に対して同時に係数を乗じる4個の乗算器(2ama,2amb,2amc,2amd)と、前記各乗算器出力をそれぞれ累積加算する累算する4個の累積加算回路(2asa,2asb,2asc,2asd)と、前記4画素の内で奇数番目の画素に対する乗算結果の前記累積加算回路(2asa,2asc)の出力の総和を算出する第1の加算回路2aaaと、4画素の内で偶数番目の画素に対する乗算結果の前記累積加算回路(2asb,2asd)の出力の総和を算出する第2の加算回路2aabと、前記第1の加算回路2aaaの出力及び前記第2の加算回路2aabの出力の和を算出する第3の加算回路2saoとを備えている。
【0039】
図7に示すフィルタ入力回路は、制御部からの制御信号bank_sel[1:0]により、入力データ2a1の内から1つのメモリバンクに記憶された水平方向に連続する4画素のデータを選択し、レジスタDFFにラッチさせる。さらに、1クロック前に入力されて前記レジスタDFFにラッチされている4画素のデータの後に、制御信号bank_se1[1:0]により選択した4画素データの先頭画素から3画素のデータを連続させた7画素データを生成し、制御部からの制御信号byte_sel[1:0]により、この水平方向に連続する7画素データの先頭画素,2番目の画素,3番目の画素,又は4番目の画素から4画素のデータを選択して出力する。
【0040】
図8において、図7のフィルタ入力回路から出力される4画素のデータは、先頭画素から順に乗算器2ama,2amb,2amc,2madによって、係数データ2b1の内の各乗算器に対応するフィルタ係数との乗算が行われる。累積加算回路2asa,2asb,2asc,2asdは、それぞれ乗算器2ama,2amb,2amc,2madからレジスタDFFを介して1クロック毎に出力される乗算結果を、制御部からの制御信号acc_ctrlによりタップ数に応じた期間だけ累積加算して出力する。
【0041】
ここで、輝度信号の水平方向フィルタ処理を行う場合、前記入力データ2a1には、1クロック毎に順次水平方向に4画素づつシフトした画素位置の水平方向に連続する4画素のデータが入力される。累積加算回路2asa,2ascからレジスタDFFを介して出力される2つのデータは、加算回路2aaaに入力されて、奇数画素位置に対する積和結果の総和が算出され、累積加算回路2asb,2asdからレジスタDFFを介して出力される2つのデータは、加算回路2aabに入力されて、偶数画素位置に対する積和結果の総和が算出される。加算回路2aaa及び加算回路2aabで算出された奇数画素位置及び偶数画素位置に対する積和結果の総和は、加算回路2asoにより加算されて、レジスタDFFを介して出力され、さらに制御部からの制御信号yc_ctr1によりセレクタ2aox1を介し、制御部からの制御信号hv_ctrlによりセレクタ2aox2を介し、四捨五入・最大最小値制限処理回路2araに入力される。四捨五入・最大最小値制限処理回路2araは、前述と同様に標本化周波数の変換倍率が1/2以下か否かを示す制御部からの制御信号up_ctrlにより、除算する値として128と64の一方を選択して除算し、四捨五入と最大値制限を行って出力する。四捨五入・最大最小値制限処理回路2araから出力されるデータは、セレクタ2aoxb,セレクタ2aox4,セレクタ2aox5やレジスタDFFを介して、全て同じ値の4画素データとして出力され、その出力データの内の1画素のデータが制御部により所定アドレスの所定バイト位置に書き込まれる。
【0042】
また、色差信号の水平方向フィルタ処理を行う場合、前記入力データ2a1には、2種類の色差信号がCb,Cr,Cb,Crのように画素多重された形式で、1クロック毎に順次水平方向に4画素づつシフトした画素位置から水平方向に連続する4画素が入力される。累積加算回路2asa及び2ascでは色差信号Cbのみが累積加算され、累積加算回路2asb及び2asdでは色差信号Crのみが累積加算される。累積加算回路2asa及び2ascで算出された2つのデータは、レジスタDFFを介して加算回路2aaaに入力されて、色差信号Cbに対する積和結果の総和が算出され、累積加算回路2asb,2asdで算出されたデータは、レジスタDFFを介して加算回路2aabに入力されて、色差信号Crに対する積和結果の総和が算出される。加算回路2aaaで算出された色差信号Cbに対する積和結果の総和は、レジスタDFFを介して、制御部からの制御信号yc_ctrlによりセレクタ2aox1を介し、さらに制御部からの制御信号hv_ctrlによりセレクタ2aox2を介し、四捨五入・最大最小値制限処理回路2araに入力される。加算回路2aabで算出された色差信号Cbに対する積和結果の総和は、レジスタDFFを介して、制御部からの制御信号hv_ctr1によりセレクタ2aox3を介し、四捨五入・最大最小値制限処理回路2arbに入力される。前述の様に四捨五入・最大最小値制限処理回路2ara及び2arbは、標本化周波数の変換倍率が1/2以下か否かを示す制御部からの制御信号updwn_ctrlにより、除算する値として128と64の一方を選択して除算し、四捨五入と最大値制限を行って出力する。四捨五入・最大最小値制限処理回路2araから出力されるデータは、セレクタ2aox4やレジスタDFFを介して、出力データの1画素目と3画素目に出力され、四捨五入・最大最小値制限処理回路2arbから出力されるデータは、セレクタ2aoxb,2axo5やレジスタDFFを介して、出力データの2画素目と4画素目に出力され、その出力データの前半又は後半の2画素が制御部により所定アドレスの所定バイト位置に書き込まれる。
【0043】
また、垂直方向フィルタ処理を行う場合、乗算器2ama,2amb,2amc,2amdに対する係数は何れも同じ値になっており、前記入力データ2a1には、順次水平方向に連続する4画素のデータがタップ数に従って1クロック毎に垂直方向に1ラインづつシフトして入力される。累積加算回路2asa,2asb,2asc,2asdでは、それぞれ水平方向の画素位置に対応する乗算結果が累積加算され、レジスタDFFを介して出力される。累積加算回路2asaで算出されたデータは、制御部からの制御信号hv_ctrlによりセレクタ2aox2を介し、四捨五入・最大最小値制限処理回路2araに入力され、累積加算回路2asbで算出されたデータは、制御部からの制御信号hv_ctrlによりセレクタ2aox3を介し、四捨五入・最大最小値制限処理回路2arbに入力される。累積加算回路2ascと2asdで算出されたデータは、それぞれ四捨五入・最大最小値制限処理回路2arcと2ardに入力される。四捨五入・最大最小値制限処理回路2ara,2arb,2arc,2ardは、前述の様に標本化周波数の変換倍率が1/2以下か否かを示す制御部からの制御信号updwn_ctrlにより、除算する値として128と64の一方を選択して除算し、四捨五入と最大値制限を行って出力する。四捨五入・最大最小値制限処理回路2araから出力されるデータは、レジスタDFFを介して出力データの1画素目に出力され、四捨五入・最大最小値制限処理回路2arbから出力されるデータは、セレクタ2aoxbとレジスタDFFを介して出力データの2画素目に出力され、四捨五入・最大最小値制限処理回路2arcから出力されるデータは、セレクタ2aox4とレジスタDFFを介して出力データの3画素目に出力され、四捨五入・最大最小値制限処理回路2ardから出力されるデータは、セレクタ2aox5とレジスタDFFを介して出力データの4画素目に出力される。この4画素の出力データが、制御部により所定アドレスの所定バイト位置に書き込まれる。
【0044】
(第4実施形態)
図9、図10、および図11は、本発明の第4の実施形態に係るディジタルフィルタ処理装置の構成を示すブロック図である。図9は、水平方向に連続する8画素を1ワードとするデータ列を記憶した1つのメモリバンクからデータ列の一部を読み出し、任意画素位置から水平方向に連続する8画素単位で出力するフィルタ入力回路を示している。
【0045】
第4実施形態に係るディジタルフィルタ処理装置は、図9に示したフィルタ入力回路と、図10に示す様に、前記フィルタ入力回路から出力される8画素に対して同時に係数を乗じる8個の乗算器(2ama,2amb,2amc,2amd,2ame,2amf,2amg,2amh)とを備える。また、図11に示す様に、図10の各乗算器出力をそれぞれ累積加算する累算する8個の累積加算回路(2asa,2asb,2asc,2asd,2ase,2asf,2asg,2ash)と、8画素の内で奇数番目の画素に対する乗算結果の前記累積加算回路(2asa,2asc,2ase,2asg)の出力の総和を算出する第1の加算回路2aa2aと、4画素の内で偶数番目の画素に対する乗算結果の前記累積加算回路(2asb,2asd,2asf,2ash)の出力の総和を算出する第2の加算回路2aa2bと、前記第1の加算回路2aa2aの出力及び前記第2の加算回路2aa2bの出力の和を算出する第3の加算回路2saoとを備えている。
【0046】
図9におけるフィルタ入力回路は、制御部からの制御信号bank_se1[1:0]により、入力データ2a1の内から1つのメモリバンクに記憶された水平方向に連続する8画素のデータを選択し、レジスタDFFにラッチさせる。さらに、1クロック前に入力されて前記レジスタDFFにラッチされている8画素のデータの後に、制御信号bank_sel[1:0]により選択した8画素データの先頭画素から7画素のデータを連続させた15画素データを生成し、制御部からの制御信号byte_sel[2:0]により、この水平方向に連続する15画素データの先頭画素目から8画素目の任意画素位置から8画素のデータを選択して出力する。
【0047】
図10および図11に示す回路の詳細な動作は図8の場合と同様であり、輝度信号の水平方向フィルタ処理を行う場合、全て同じ値の8画素データとして出力され、その出力データの内の1画素のデータが制御部により所定アドレスの所定バイト位置に書き込まれる。色差信号の水平方向フィルタ処理を行う場合、8画素データの内で奇数番目画素位置が色差信号Cbのデータ、偶数番目画素位置が色差信号Crのデータとして出力され、その出力データの内の2画素データが制御部により所定アドレスの所定バイト位置に書き込まれる。また垂直方向フィルタ処理を行う場合、8画素の出力データが、制御部により所定アドレスの所定バイト位置に書き込まれる。
【0048】
(第5実施形態)
図12及び図13は、本発明の第5の実施形態に係るディジタルフィルタ処理装置の構成を示すブロック図である。図12及び図13に示す様に、第5実施形態に係るディジタルフィルタ処理装置は、水平方向に連続する4画素を1ワードとするデータ列を記憶した1つのメモリバンクからデータ列の一部を読み出し、任意画素位置から水平方向に連続する2画素単位で出力するフィルタ入力回路2aixと、前記フィルタ入力回路2aixから出力される2画素に対して同時に係数を乗じる2個の乗算器(2ama,2amb)と、前記各乗算器出力をそれぞれ累積加算する累算する2個の累積加算回路(2asla,2asb)とにより構成される。前記累積加算回路2aslaは、前記2個の乗算器(2ama,2amb)の出力の和を累積加算する機能を有する。
【0049】
図12において、フィルタ入力回路2aixの回路構成及び動作は、図5におけるフィルタ入力回路2aixと同一である。このフィルタ入力回路2aixから出力される2画素のデータの先頭画素データは、乗算器2amaにより係数データ2b1の内の乗算器2amaに対応するフィルタ係数との乗算が行われ、2画素目のデータは、乗算器2ambにより係数データ2b1の内の乗算器2ambに対応するフィルタ係数との乗算が行われる。
【0050】
輝度信号の水平方向フィルタ処理を行う場合、前記入力データ2a1には、2クロック毎に順次水平方向に4画素づつがシフトして入力され、さらにフィルタ入力回路2aixにより1クロック毎に2画素づつ水平方向にシフトして出力される。乗算器2ama,2ambで乗算された結果は、レジスタDFFを介して1クロック毎に出力され、累積加算器2aslaに入力されて加算される。さらに、制御部からの制御信号acc_ctrlによりタップ数に応じた期間だけ累積加算され、四捨五入・最大最小値制限処理回路2araに入力される。四捨五入・最大最小値制限処理回路2araは、前述の様に標本化周波数の変換倍率が1/2以下か否かを示す制御部からの制御信号updwn_ctrlにより、除算する値として128と64の一方の値を選択して除算を行うととともに、四捨五入と最大値制限を行って出力する。四捨五入・最大最小値制限処理回路2araから出力されるデータは、セレクタ2aoxbやレジスタDFFを介して、全て同じ値の4画素データとして出力される。その出力データの内の1画素のデータが、制御部により所定アドレスの所定バイト位置に書き込まれる。
【0051】
また、色差信号の水平方向フィルタ処理を行う場合、前記入力データ2a1には、2種類の色差信号がCb,Cr,Cb,Crのように画素多重された形式で、2クロック毎に順次水平方向に4画素づつがシフトして入力され、さらにフィルタ入力回路2aixで1クロック毎に2画素づつ水平方向にシフトして出力される。乗算器2ama,2ambで乗算された結果は、レジスタDFFを介して1クロック毎に出力され、それぞれ累積加算回路2asla,2asbに入力される。さらに、制御部からの制御信号acc_ctrlによりタップ数に応じた期間だけ累積加算され・四捨五入・最大最小値制限処理回路2ara・2arbに入力される。ここで・累積加算回路2aslaは、乗算器2amaと乗算器2ambで乗算された結果の加算を行わず、乗算器2amaの結果のみを累積加算する。これにより、累積加算回路2asaでは色差信号Cbのみが累積加算され、累積加算回路2asbでは色差信号Crのみが累積加算される事になる。四捨五入・最大最小値制限処理回路2ara及び2arbは、前述の様に標本化周波数の変換倍率が1/2以下か否かを示す制御部からの制御信号updwn_ctr1により、除算する値として128と64の一方の値を選択して除算し、四捨五入と最大値制限を行って出力する。四捨五入・最大最小値制限処理回路2araから出力されるデータは、レジスタDFFを介して、出力データの1画素目と3画素目に出力され、四捨五入・最大最小値制限処理回路2arbから出力されるデータは、セレクタ2aoxbとレジスタDFFを介して、出力データの2画素目と4画素目に出力される。その出力データの前半又は後半の2画素が、制御部により所定アドレスの所定バイト位置に書き込まれる。
【0052】
また、垂直方向フィルタ処理を行う場合、乗算器2amaおよび2ambに対する係数は何れも同じ値になっており、前記入力データ2a1には、順次水平方向に連続する4画素のデータをタップ数に従って1クロック毎に垂直方向に1ラインづつシフトして入力される。乗算器2ama,2ambで乗算された結果は、レジスタDFFを介して1クロック毎に出力され、それぞれ累積加算回路2asla,2asbに入力され、制御部からの制御信号acc_ctrlによりタップ数に応じた期間だけ累積加算され・四捨五入・最大最小値制限処理回路2ara,2arbに入力される。ここで、累積加算回路2aslaは、乗算器2amaと乗算器2ambで乗算された結果の加算を行わず、乗算器2amaの結果のみを累積加算する。これにより、累積加算回路2asaでは奇数画素位置データの乗算結果のみが累積加算され、累積加算回路2asbでは偶数画素位置データの乗算結果のみが累積加算される事になる。四捨五入・最大最小値制限処理回路2ara及び2arbは、前述の様に標本化周波数の変換倍率が1/2以下か否かを示す制御部からの制御信号updwn_ctr1により、除算する値として128と64の一方の値を選択して除算を行い、四捨五入と最大値制限を行って出力する。四捨五入・最大最小値制限処理回路2araから出力されるデータは、レジスタDFFを介して、出力データの1画素目と3画素目に出力され、四捨五入・最大最小値制限処理回路2arbから出力されるデータは、セレクタ2aoxbとレジスタDFFを介して、出力データの2画素目と4画素目に出力される。その出力データの前半又は後半の2画素が、制御部により所定アドレスの所定バイト位置に書き込まれる。
【0053】
(第6実施形態)
図14は、本発明の第6の実施形態に係るディジタルフィルタ処理装置の構成を示すブロック図である。第6実施形態に係るディジタルフィルタ処理装置は、図7に示したフィルタ入力回路と、図14に示す様に、前記フィルタ入力回路から出力される4画素に対して同時に係数を乗じる4個の乗算器(2ama,2amb,2amc,2amd)と、前記各乗算器出力をそれぞれ累積加算する累算する4個の累積加算回路(2as2a,2as2b,2asc,2asd)と、累積加算器2as2a及び累積加算器2as2bの出力を加算する加算回路2saoとで構成されている。累積加算器2as2aは前記4画素の内で奇数番目の画素に対する乗算結果の和を累積加算する機能を有し、累積加算器2as2bは前記4画素の内で偶数番目の画素に対する乗算結果の和を累積加算する機能を有する。
【0054】
図7のフィルタ入力回路2aixから出力される4画素の各データは、先頭画素データから順に乗算器2ama,2amb,2amc,2madにより・係数データ2b1の内の各乗算器に対応するフィルタ係数との乗算が行われる。
【0055】
ここで、輝度信号の水平方向フィルタ処理を行う場合、前記入力データ2a1には、1クロック毎に順次水平方向に4画素づつシフトした画素位置の水平方向に連続する4画素のデータが入力される。乗算器2ama,2amcで乗算された結果は、レジスタDFFを介して1クロック毎に出力され、累積加算器2as2aに入力されて加算され、制御部からの制御信号acc_ctrlによりタップ数に応じた期間だけ累積加算され、レジスタDFFを介して出力され、乗算器2amb,2madで乗算された結果は、レジスタDFFを介して1クロック毎に出力され、累積加算器2as2bに入力されて加算され、制御部からの制御信号acc_ctrlによりタップ数に応じた期間だけ累積加算され、それぞれレジスタDFFを介して出力される。累積加算器2as2aにより算出された奇数画素位置に対する乗算結果の総和と、累積加算器2as2bにより算出された偶数画素位置に対する乗算結果の総和は、加算回路2asoにより加算されて、レジスタDFFを介して出力され、さらに制御部からの制御信号yh_ctrlによりセレクタ2aoxaを介し、四捨五入・最大最小値制限処理回路2araに入力される。四捨五入・最大最小値制限処理回路2araは、前述と同様に標本化周波数の変換倍率が1/2以下か否かを示す制御部からの制御信号updwn_ctr1により、除算する値として128と64の一方を選択して除算し、四捨五入と最大値制限を行って出力する。四捨五入・最大最小値制限処理回路2araから出力されるデータは、セレクタ2aoxb,セレクタ2aox4,セレクタ2aox5やレジスタDFFを介して、全て同じ値の4画素データとして出力され、・その出力データの内の1画素のデータが制御部により所定アドレスの所定バイト位置に書き込まれる。
【0056】
また、色差信号の水平方向フィルタ処理を行う場合、前記入力データ2a1には、2種類の色差信号がCb,Cr,Cb,Crと言う様に画素多重された形式で、1クロック毎に順次水平方向に4画素づつシフトした画素位置から水平方向に連続する4画素が入力される。乗算器2ama,2amcで乗算された結果は、レジスタDFFを介して1クロック毎に出力され、累積加算器2as2aに入力されて加算され、制御部からの制御信号acc_ctrlによりタップ数に応じた期間だけ累積加算され、レジスタDFFを介して出力され、乗算器2amb,2madで乗算された結果は、レジスタDFFを介して1クロック毎に出力され、累積加算器2as2bに入力されて加算され、制御部からの制御信号acc_ctrlによりタップ数に応じた期間だけ累積加算され、それぞれレジスタDFFを介して出力される。累積加算器2as2aにより算出された色差信号Cbに対する乗算結果の総和は、制御部からの制御信号yh_ctrlによりセレクタ2aoxaを介し、四捨五入・最大最小値制限処理回路2araに入力され、累積加算器2as2bにより算出された色差信号Crに対する乗算結果の総和は、四捨五入・最大最小値制限処理回路2arbに入力される。前述の様に四捨五入・最大最小値制限処理回路2ara及び2arbは、標本化周波数の変換倍率が1/2以下か否かを示す制御部からの制御信号updwn_ctrlにより、除算する値として128と64の一方を選択して除算し、四捨五入と最大値制限を行って出力する。四捨五入・最大最小値制限処理回路2araから出力されるデータは、セレクタ2aox4やレジスタDFFを介して、出力データの1画素目と3画素目に出力され、四捨五入・最大最小値制限処理回路2arbから出力されるデータは、セレクタ2aoxb,2axo5やレジスタDFFを介して、出力データの2画素目と4画素目に出力され、その出力データの前半又は後半の2画素が制御部により所定アドレスの所定バイト位置に書き込まれる。
【0057】
また、垂直方向フィルタ処理を行う場合、乗算器2ama,2amb,2amc,2amdに対する係数は何れも同じ値になっており、前記入力データ2a1には、順次水平方向に連続する4画素のデータをタップ数に従って1クロック毎に垂直方向に1ラインづつシフトして入力される。累積加算回路2as2a,2as2b,2asc,2asdでは、それぞれ水平方向の画素位置に対応する乗算結果が累積加算され、レジスタDFFを介して出力される。ここで、累積加算回路2as2aは、乗算器2amaと乗算器2amcで乗算された結果の加算を行わず、乗算器2amaの結果のみを累積加算し、累積加算回路2as2bは、乗算器2ambと乗算器2amdで乗算された結果の加算を行わず、乗算器2ambの結果のみを累積加算する。累積加算回路2as2aで算出されたデータは、制御部からの制御信号yh_ctrlによりセレクタ2aoxaを介し、四捨五入・最大最小値制限処理回路2araに入力され、累積加算回路2as2b,2asc,2asdで算出されたデータは、それぞれ四捨五入・最大最小値制限処理回路2arb,2arc,2ardに入力される。四捨五入・最大最小値制限処理回路2ara,2arb,2arc,2ardは、前述の様に標本化周波数の変換倍率が1/2以下か否かを示す制御部からの制御信号updwn_ctrlにより、除算する値として128と64の一方を選択して除算し、四捨五入と最大値制限を行って出力する。四捨五入・最大最小値制限処理回路2araから出力されるデータは、レジスタDFFを介して出力データの1画素目に出力され、四捨五入・最大最小値制限処理回路2arbから出力されるデータは、セレクタ2aoxbとレジスタDFFを介して出力データの2画素目に出力され、四捨五入・最大最小値制限処理回路2arcから出力されるデータは、セレクタ2aox4とレジスタDFFを介して出力データの3画素目に出力され、四捨五入・最大最小値制限処理回路2ardから出力されるデータは、セレクタ2aox5とレジスタDFFを介して出力データの4画素目に出力される。この4画素の出力データが、制御部により所定アドレスの所定バイト位置に書き込まれる。
【0058】
以上のような第2実施形態乃至第6実施形態のディジタルフィルタ処理装置は、水平フィルタ処理機能と垂直フィルタ処理機能とを具備する共通回路構成であり、水平フィルタ処理と垂直フィルタ処理とを同一回路により続けて行えるから、水平フィルタ処理に必要な期間と垂直フィルタ処理に必要な期間を同一にする必要が無く、様々な標本化周波数変換処理においても演算能力の有効活用が可能となる。さらに、水平フィルタ処理と垂直フィルタ処理の内で、標本化周波数の変換倍率が小さな方から先に行う事ができ、必要処理時間の短縮が可能になる。
【0059】
なお、本発明は上述した実施形態に限定されず種々変形して実施可能である。
【0060】
【発明の効果】
以上説明したように本発明によれば、データ列を入出力するためのメモリバンクと途中演算結果を保存するためのメモリバンクを合わせた総メモリバンク数の少ないディジタルフィルタ処理装置を提供することができる。また、様々な標本化周波数変換処理においても演算能力の有効活用が可能であって、小回路規模なディジタルフィルタ処理回路を提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るディジタルフィルタ処理装置の構成を示すブロック図
【図2】各データ列に対して1回のディジタルフィルタ処理を行う場合の第1実施形態の動作の概要を説明するための図であって、バンク切替の流れを示す図
【図3】各データ列に対して2回のディジタルフィルタ処理を行う場合の第1実施形態の動作の概要を説明するための図であって、バンク切替の流れを示す図
【図4】各データ列に対して3回のディジタルフィルタ処理を行う場合の第1実施形態の動作を説明するための図であって、バンク切替の流れを示す図
【図5】本発明の第2の実施形態に係るディジタルフィルタ処理装置が備えるフィルタ入力回路の構成を示すブロック図
【図6】本発明の第2の実施形態に係るディジタルフィルタ処理装置の構成を示すブロック図
【図7】本発明の第3及び第6の実施形態に係るディジタルフィルタ処理装置が備えるフィルタ入力回路の構成を示すブロック図
【図8】本発明の第3の実施形態に係るディジタルフィルタ処理装置の構成を示すブロック図
【図9】本発明の第4の実施形態に係るディジタルフィルタ処理装置が備えるフィルタ入力回路の構成を示すブロック図
【図10】本発明の第4の実施形態に係るディジタルフィルタ処理装置の構成の一部分を示すブロック図
【図11】本発明の第4の実施形態に係るディジタルフィルタ処理装置の構成の他の部分を示すブロック図
【図12】本発明の第5の実施形態に係るディジタルフィルタ処理装置が備えるフィルタ入力回路の構成を示すブロック図
【図13】本発明の第5の実施形態に係るディジタルフィルタ処理装置の構成を示すブロック図
【図14】本発明の第6の実施形態に係るディジタルフィルタ処理装置の構成を示すブロック図
【符号の説明】
1a,1b,1c…メモリバンク
2a…ディジタルフィルタ処理回路
2b…フィルタ係数メモリ
2c…制御部
3a…アドレスバス
3b…データバス
2aiX…フィルタ入力回路
2ama,2amc,2ame,2amg…奇数番目の画素に対する乗算器
2amb,2amd,2amf,2amh…偶数番目の画素に対する乗算器
2asa,2asc,2ase,2asg…奇数番目の画素に対する乗算結果の累積加算器
2asb,2asd,2asf,2ash…偶数番目の画素に対する乗算結果の累積加算器
2asla,2as2a,2as2b…2つの乗算結果の加算機能を備えた累積加算器
2aaa,2aa2a…奇数番目の画素に対する乗算結果の総和を算出する加算器
2aab,2aa2b…偶数番目の画素に対する乗算結果の総和を算出する加算器
2aso…乗算結果の総和を算出する加算器
2ara,2arb,2arc,2ard,2are,2arf,2arg,2arh…四捨五入・最大最小値制限処理回路
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a digital filter device that filters digital data, and more particularly to a digital filter processing device that can reduce processing time and can continuously process a plurality of data strings with a small number of memory banks.
[0002]
[Prior art]
The input format of a digital video signal used in many devices such as a display device is a so-called 4: 2: 2 format in which the horizontal sampling frequency of the color difference signals (Cb, Cr) is ½ of the horizontal sampling frequency of the luminance signal. Is often adopted. In this case, the horizontal sampling frequency of the luminance signal is, for example, 13.5 MHz. On the other hand, in compression coding such as MPEG2 (Moving Picture Experts Group), which is an international standard for image coding, the sampling frequency in the vertical direction of the color difference signal is set to 1 / of the sampling frequency in the vertical direction of the luminance signal. The 4: 2: 0 format, which is 2, is often used. In this case, there are a plurality of types of sampling frequencies.
[0003]
In Japanese Patent Application Laid-Open No. 11-150740 and Japanese Patent Application Laid-Open No. 2000-59817, in filter processing for 4: 2: 2 format digital video signals, color difference signal filter processing and luminance signal filter processing are time-divided by pixel multiplexing. A method for realizing the same arithmetic circuit by processing is shown.
[0004]
However, in the conventional technique, the horizontal filter processing circuit and the vertical filter processing circuit are separate circuits, and the output memory bank and the vertical filter processing circuit from the horizontal filter processing circuit are separated. Input memory banks are necessary, and this is an obstacle to circuit scale reduction. Also, when sampling frequency conversion processing is performed, the ratio of horizontal filtering processing amount and vertical filtering processing amount differs according to the sampling frequency of the input format, so horizontal filtering processing and vertical direction In one filter processing circuit, a stop period and an invalid operation period occur, which hinders effective use of computing power.
[0005]
[Problems to be solved by the invention]
The present invention has been made in consideration of the above circumstances, and its purpose is to reduce the total number of memory banks including a memory bank for inputting / outputting data strings and a memory bank for storing intermediate calculation results. An object of the present invention is to provide a digital filter processing apparatus. Another object of the present invention is to provide a digital filter processing circuit having a small circuit scale that can effectively use the calculation capability even in various sampling frequency conversion processes.
[0006]
[Means for Solving the Problems]
In order to solve the above problems and achieve the object, the present invention is configured as follows.
[0008]
The digital filter processing apparatus of the present invention performs digital filter processing on three memory banks for inputting / outputting data strings, and a data string read from one of the three memory banks, and outputs the filter processing result as described above. Digital filter processing means for outputting to any one of the three memory banks, and a memory used for input of each data string when performing digital filtering for an even number of times for the plurality of data strings The order of the banks is the order of the first memory bank and the second memory bank, and the output of the odd-numbered digital filter processing result for each of the data strings input via the first memory bank and the second memory bank is the third. Using the memory bank, the even-numbered digital filter processing for the odd-numbered digital filter processing result Memory bank switching control means using a first memory bank and a second memory bank for output of the results, wherein the digital filter processing means is adapted to perform a horizontal filtering process on the data string of the image signal, and a vertical direction. The filter processing is selectively performed by the same circuit.
[0009]
The digital filter processing apparatus of the present invention performs digital filter processing on three memory banks for inputting / outputting data strings, and a data string read from one of the three memory banks, and outputs the filter processing result as described above. Digital filter processing means for outputting to any one of the three memory banks, and when performing an odd number of times of digital filter processing on each data string, the memory bank used for input of each data string The order is the order of the first memory bank, the second memory bank, and the third memory bank, and the odd-numbered digital filter processing for the data string input through the first memory bank, the second memory bank, and the third memory bank The result is output to the third memory bank, the first memory bank, and the second memory bank, respectively, and the processing result of the even number of times Memory bank switching control means for outputting to each of the first memory bank, the second memory bank, and the third memory bank, and the digital filter processing means comprises: a horizontal filter process for the data string of the image signal; The vertical filter processing is selectively performed by the same circuit.
[0011]
Further, the digital filter processing means reads a part of the data string from one memory bank storing a data string in which two or more M pixels continuous in the horizontal direction are set as one word, and horizontally reads it from an arbitrary pixel position. A filter input circuit that outputs in units of two pixels that are continuous in the direction, two multipliers that multiply the two pixels that are output from the filter input circuit, respectively, and a cumulative addition of each multiplier output 2 And an adder circuit that calculates the sum of the outputs of the two cumulative adder circuits.
[0012]
Further, the digital filter processing means reads a part of the data string from one memory bank storing a data string in which M words equal to or more than L pixels continuous in the horizontal direction are stored as one word, and starts horizontal from an arbitrary pixel position. A filter input circuit that outputs in units of L pixels, L multipliers that multiply the L pixels output from the filter input circuit by a coefficient, and L multipliers that cumulatively add the multiplier outputs, respectively. A cumulative adder circuit, a first adder circuit for calculating a sum of the cumulative adder circuit outputs for odd-numbered pixels of the L pixels, and an output of the cumulative adder circuit for even-numbered pixels of the L pixels And a third addition circuit for calculating the sum of the output of the first addition circuit and the output of the second addition circuit.
[0013]
The digital filter processing means reads a part of the data string from one memory bank storing a data string in which two or more M pixels continuous in the horizontal direction are set as one word, and starts horizontal from an arbitrary pixel position. A filter input circuit for outputting in units of two continuous pixels, two multipliers for multiplying two pixels output from the filter input circuit, respectively, and two for cumulatively adding the outputs of the multipliers. And at least one of the cumulative adders also has a function of cumulatively adding the sum of the two multiplier outputs.
[0014]
Further, the digital filter processing means reads a part of the data string from one memory bank storing a data string having four words or more M pixels continuous in the horizontal direction as one word, and starts horizontal from an arbitrary pixel position. A filter input circuit for outputting in units of four consecutive pixels, four multipliers for multiplying the four pixels output from the filter input circuit, respectively, and first to thru the respective cumulative outputs of the multiplier outputs A fourth cumulative adder circuit; and an adder circuit for adding the outputs of the first and second cumulative adders, wherein the first cumulative adder is an odd number of the four pixels. The second cumulative adder has a function of cumulatively adding the sum of the multiplication results for the even-numbered pixels among the four pixels. And it features.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0016]
(First embodiment)
FIG. 1 is a block diagram showing the configuration of the digital filter processing apparatus according to the first embodiment of the present invention. As shown in FIG. 1, the digital filter processing apparatus according to the first embodiment of the present invention includes first to third memory banks (1a, 1b, 1c) for inputting / outputting data strings, A filter processing circuit that performs digital filter processing on a data string read from one of the third to third memory banks and outputs the filter processing result to the other one of the first to third memory banks 2a, a filter coefficient memory 2b provided in association with the filter processing circuit 2a, and a control unit 2c.
[0017]
FIGS. 2 to 4 are diagrams for explaining the operation of the first embodiment when the digital filter processing is performed once, twice, and three times for each data string. FIG.
When one digital filter process is performed on each data string, the order of the memory banks used for inputting each data string is set to the first memory bank 1a (bank 1), the second memory as shown in FIG. The order is bank 1b (bank 2) and third memory bank 1c (bank 3). The order of the memory banks used for outputting the digital filter processing result for each data string is the same as that of the third memory bank 1c (bank 3), the first memory bank 1a (bank 1), and the second memory bank 1b (bank 2). In order. In this case, a predetermined filter coefficient is written in advance in the filter coefficient memory 2b through the address bus 3a and the data bus 3b before performing the filtering process.
[0018]
First, a data string to be processed is written to the first memory bank 1a via the address bus 3a and the data bus 3b (S1), and an execution command for the first memory bank 1a is input from the input terminal 2c1 to the control unit 2c. The Immediately thereafter, the next data string is written to the second memory bank 1b via the address bus 3a and the data bus 3b (S2), and an execution command for the second memory bank 1b is input from the input terminal 2c1 to the control unit 2c. Is done.
[0019]
Here, the control unit 2c outputs a control signal 2c3 in accordance with the execution command for the first memory bank 1a input first, and reads out the data string from the first memory bank 1a in units of a plurality of pixels (S3) and uses it. The coefficient data 2b1 is read from the filter coefficient memory 2b and supplied to the filter processing circuit 2a. The filter processing circuit 2a selects data input from the first memory bank 1a among the input data 2a1 by the control signal 2c4 input from the control unit 2c, and performs predetermined filter processing using the coefficient data 2b1. The processing result data 2a2 is output. Next, the control unit 2c writes the processing result data 2a2 output from the filter processing circuit 2a to a predetermined address position in the third memory bank 1c by the control signal 2c3 (S4).
[0020]
As soon as the filtering process for the data string of the first memory bank 1a is completed in this way, the control unit 2c outputs the execution command end information for the first memory bank from the output terminal 2c2, and the second input next. In accordance with the execution command for the memory bank 1b, the control signal 2c3 reads the data string from the second memory bank 1b in units of a plurality of pixels (S5), reads the coefficient data 2b1 to be used from the filter coefficient memory 2b, and sends it to the filter processing circuit 2a. Supply. The filter processing circuit 2a selects data input from the second memory bank 1b from among the input data 2a1 by the control signal 2c4 input from the control unit 2c, and performs predetermined filter processing using the coefficient data 2b1. The processing result data 2a2 is output.
[0021]
In accordance with the execution command end information for the first memory bank output from the output terminal 2c2, the processing result is read from the third memory bank 1c via the address bus 3a and the data bus 3b and output to the outside ( S7). The next data string is input to the third memory bank 1c (S8), and an execution command for the third memory bank 1c is input from the input terminal 2c1 to the control unit 2c.
[0022]
Further, the control unit 2c writes the processing result data 2a2 for the data string of the second memory bank 1b output from the filter processing circuit 2a to the predetermined address position of the first memory bank 1a by the control signal 2c3 (S6). As soon as the filtering process for the data string of the second memory bank 1b is completed in this way, the control unit 2c outputs the execution command end information for the second memory bank from the output terminal 2c2, and the third input next. In accordance with the execution command for the memory bank 1c, the control signal 2c3 reads the data string from the third memory bank 1c in units of a plurality of pixels (S9), and the coefficient data 2b1 to be used is read from the filter coefficient memory 2b, and the filter processing circuit 2a To supply. Thereafter, similar processing is repeated.
[0023]
Further, as shown in FIG. 3, when the digital filter processing is performed twice for each data string, the order of the memory banks used for inputting each data string is set to the first memory bank 1a (bank 1), 2 in the order of 2 memory banks 1b (bank 2), and the memory banks used for the output of the odd-numbered digital filter processing results for the data strings input via the first memory bank 1a and the second memory bank 1b are The memory bank 1c (bank 3) is defined as the first memory bank 1a (bank 1) and the second memory bank 1b (bank 2). To do.
[0024]
For example, the first digital filter processing result for the data string input to bank 1 is output to bank 3 first. The first digital filter processing result is read from the bank 3 and the second digital filter processing is performed. The second digital filter processing result is output to bank 1. Next, the first digital filter processing is performed on the data series input to the bank 2. At this time, the processing result of the previous bank 1 is output to the outside.
[0025]
Further, when the digital filter processing is performed three times for each data string, as shown in FIG. 4, the order of the memory banks used for inputting each data string is set to the first memory bank 1a (bank 1), the first 2 in order of the memory bank 1b (bank 2), the third memory bank 1c (bank 3), and an odd number for the data string input via the first memory bank 1a, the second memory bank 1b, and the third memory bank 1c The digital filter processing results for the first time are output to the third memory bank 1c (bank 3), the first memory bank 1a (bank 1), and the second memory bank 1b (bank 2), respectively. To the first memory bank 1a (bank 1), the second memory bank 1b (bank 2), and the third memory bank 1c (bank 3).
[0026]
For example, the first digital filter processing result for the data string input to bank 1 is output to bank 3 first. The first digital filter processing result is read from the bank 3 and the second digital filter processing is performed. The second digital filter processing result is output to bank 1. Next, the second digital filter processing result is read from the bank 1 and the third digital filter processing is performed. This second digital filter processing is written in the bank 3 and output externally.
[0027]
The first digital filter processing result for the data string input to bank 2 is output to bank 1. The first digital filter processing result is read from the bank 1 and the second digital filter processing is performed. The second digital filter processing result is output to bank 2. Next, the second digital filter processing result is read from the bank 2 and the third digital filter processing is performed. This second digital filter processing is written in bank 1 and output externally.
[0028]
The first digital filter processing result for the data string input to bank 3 is output to bank 2. The first digital filter processing result is read from the bank 2 and the second digital filter processing is performed. This second digital filter processing result is output to bank 3. Next, the second digital filter processing result is read from the bank 2 and the third digital filter processing is performed. This second digital filter processing is written into bank 2 and output externally.
[0029]
As described above, the digital filter processing apparatus according to the first embodiment efficiently switches a plurality of memory banks according to the rules as described above. Specifically, the input of the data string from the outside, the reading of the data string to the digital filter processing circuit, the writing of the digital filter processing result from the digital filter processing circuit, and the memory bank for the external output of the processing result Use is achieved without collision (the same memory bank is used at the same time). Such a first embodiment enables continuous operation of the filter processing circuit with the minimum number of memory banks, and contributes to a reduction in circuit scale and effective use of computing power.
[0030]
(Second Embodiment)
5 and 6 are block diagrams showing the configuration of the digital filter processing apparatus according to the second embodiment of the present invention.
[0031]
FIG. 5 shows a filter input circuit 2aix provided in the digital filter processing apparatus of the present embodiment. This filter input circuit 2aix reads out a part of a data string from one memory bank storing a data string in which four pixels continuous in the horizontal direction are one word, and in units of two pixels continuous in the horizontal direction from an arbitrary pixel position. Output. As shown in FIG. 6, the digital filter processing apparatus of the present embodiment includes two multipliers (2ama, 2amb) for simultaneously multiplying two pixels output from the filter input circuit 2aix of FIG. Two cumulative addition circuits (2asa, 2asb) for accumulating the respective multiplier outputs, and an addition circuit 2sao for calculating the sum of the outputs of the two cumulative addition circuits (2asa, 2asb) I have.
[0032]
In FIG. 5, the filter input circuit 2aix selects four consecutive pixels in the horizontal direction stored in one memory bank from the input data 2a1 by the control signal bank_sel [1: 0] from the control unit. Then, the control signal byte_se1 [1: 0] from the control unit selects the data of any two pixels of the first half or the second half of the four pixels and latches it in the register DFF. Further, after the two pixel data input one clock before and latched in the register DFF, three pixel data in which the first pixel data of the two pixel data selected by the control signal byte_ctrl [1] is continued is generated. Based on the control signal byte_ctrl [0] from the control unit, data of two pixels is selected and output from the first pixel or the second pixel of the three-pixel data continuous in the horizontal direction.
[0033]
In the second to sixth embodiments, although a control unit, a memory bank, a coefficient memory, and the like are not shown, a circuit configuration similar to that shown in FIG. 1 of the first embodiment is applied.
[0034]
The first pixel data of the two-pixel data output from the filter input circuit 2aix is multiplied by the filter coefficient corresponding to the multiplier 2ama in the coefficient data 2b1 by the multiplier 2ama, and the data of the second pixel is Multiplier 2amb performs multiplication with a filter coefficient corresponding to multiplier 2amb in coefficient data 2b1. The two cumulative addition circuits 2asa and 2asb cumulatively add the multiplication results output from the multipliers 2ama and 2mab via the register DFF every clock for the period corresponding to the number of taps by the control signal acc_ctrl from the control unit. And output.
[0035]
Here, when performing the horizontal direction filter processing of the luminance signal, the input data 2a1 is inputted by sequentially shifting 4 pixels in the horizontal direction every 2 clocks, and further 2 by 1 every clock by the filter input circuit 2aix. The output is shifted in the horizontal direction pixel by pixel. Two data output from the two cumulative addition circuits 2asa and 2asb via the register DFF are added by the addition circuit 2aso and output via the register DFF. Further, the selector 2aoxa is controlled by the control signal yh_ctrl from the control unit. To the rounding / maximum / minimum value restriction processing circuit 2ara. The rounding / maximum / minimum value limit processing circuit 2ara uses a control signal updwn_ctr1 from the control unit indicating whether or not the conversion rate of the sampling frequency is ½ or less as a value to be divided as 128 for effective use of calculation accuracy. One of 64 and 64 is selected and divided, and rounded off and the maximum value is limited and output. The data output from the rounding / maximum / minimum value restriction processing circuit 2ara is output as 4-pixel data having the same value through the selector 2aoxb and the register DFF. Data of one pixel in the output data is written at a predetermined byte position of a predetermined address by the control unit.
[0036]
Further, when performing the horizontal direction filter processing of the color difference signal, the input data 2a1 is sequentially horizontal in every two clocks in a format in which two kinds of color difference signals are multiplexed like Cb, Cr, Cb, Cr. Are shifted by 4 pixels and output by the filter input circuit 2aix in the horizontal direction by 2 pixels for each clock. In the cumulative addition circuit 2asa, only the color difference signal Cb is cumulatively added, and is input to the rounding / maximum / minimum value limit processing circuit 2ara via the register 2FFa by the control signal yh_ctrl from the control unit via the register DFF. Further, in the cumulative addition circuit 2asb, only the color difference signal Cr is cumulatively added and input to the rounding / maximum / minimum value restriction processing circuit 2arb via the register DFF. The rounding / maximum / minimum value limit processing circuits 2ara and 2arb select one of 128 and 64 as a value to be divided by the control signal updwn_ctrl from the control unit indicating whether or not the conversion rate of the sampling frequency is 1/2 or less. Divide, round off and limit the maximum value and output. Data output from the rounding / maximum / minimum value restriction processing circuit 2ara is output to the first pixel and the third pixel of the output data via the register DFF, and is output from the rounding / maximum / minimum value restriction processing circuit 2arb. Are output to the second pixel and the fourth pixel of the output data via the selector 2aoxb and the register DFF. Two pixels in the first half or the latter half of the output data are written at a predetermined byte position of a predetermined address by the control unit.
[0037]
When performing the vertical direction filter processing, the coefficients for the multipliers 2ama and 2amb have the same value, and the input data 2a1 includes 4 pixels of data that are successively consecutive in the horizontal direction according to the number of taps. Each clock is input by being shifted by one line in the vertical direction. In the cumulative addition circuit 2asa, the data of the odd-numbered pixel positions in the horizontal direction are cumulatively added, and the value is rounded to the maximum / minimum value limit processing circuit 2ara via the register 2FFa by the control signal yh_ctrl from the control unit via the register DFF. Entered. Further, in the cumulative addition circuit 2asb, the data of even-numbered pixel positions in the horizontal direction are cumulatively added and input to the rounding / maximum / minimum value restriction processing circuit 2arb via the register DFF. The rounding / maximum / minimum value limiting processing circuits 2ara and 2arb are either 128 or 64 as a value to be divided by the control signal updwn_ctrl from the control unit indicating whether or not the conversion rate of the sampling frequency is 1/2 or less. Select and divide the value, round off and limit the maximum value, and output the result. Data output from the rounding / maximum / minimum value restriction processing circuit 2ara is output to the first pixel and the third pixel of the output data via the register DFF, and is output from the rounding / maximum / minimum value restriction processing circuit 2arb. Are output to the second pixel and the fourth pixel of the output data via the selector 2aoxb and the register DFF. The two pixels in the first half or the latter half of the output data are written at a predetermined byte position of a predetermined address by the control unit.
[0038]
(Third embodiment)
7 and 8 are block diagrams showing the configuration of the digital filter processing apparatus according to the third embodiment of the present invention. FIG. 7 shows a filter that reads a part of a data string from one memory bank storing a data string in which four pixels continuous in the horizontal direction are one word and outputs the data in units of four pixels continuous in the horizontal direction from an arbitrary pixel position. An input circuit is shown. The digital filter processing apparatus according to the third embodiment includes the filter input circuit of FIG. Also, as shown in FIG. 8, four multipliers (2ama, 2amb, 2amc, 2amd) for simultaneously multiplying the four pixels output from the filter input circuit of FIG. The four cumulative addition circuits (2asa, 2asb, 2asc, 2asd) for cumulative addition, and the output of the cumulative addition circuit (2asa, 2asc) for multiplication of odd-numbered pixels among the four pixels. A first adder circuit 2aaa for calculating a sum, a second adder circuit 2aab for calculating a sum of outputs of the cumulative adder circuits (2asb, 2asd) of multiplication results for even-numbered pixels among four pixels, A third adder circuit 2sao for calculating the sum of the output of the first adder circuit 2aaa and the output of the second adder circuit 2aab.
[0039]
The filter input circuit shown in FIG. 7 selects, in accordance with a control signal bank_sel [1: 0] from the control unit, data of four pixels continuous in the horizontal direction stored in one memory bank from among the input data 2a1, The register DFF is latched. Further, after the four pixel data input one clock before and latched in the register DFF, the three pixel data from the first pixel of the four pixel data selected by the control signal bank_se1 [1: 0] are made continuous. 7 pixel data is generated, and from the first pixel, the second pixel, the third pixel, or the fourth pixel of the 7 pixel data continuous in the horizontal direction by the control signal byte_sel [1: 0] from the control unit. Select and output 4-pixel data.
[0040]
In FIG. 8, the 4-pixel data output from the filter input circuit of FIG. 7 includes filter coefficients corresponding to each multiplier in the coefficient data 2b1 by the multipliers 2ama, 2amb, 2amc, and 2mad in order from the top pixel. Is multiplied. The cumulative addition circuits 2asa, 2asb, 2asc, and 2asd respectively convert the multiplication results output from the multipliers 2ama, 2amb, 2amc, and 2mad via the register DFF every clock by the control signal acc_ctrl from the control unit. Accumulated and output for the corresponding period.
[0041]
Here, when performing the horizontal direction filtering process of the luminance signal, the input data 2a1 is inputted with the data of four pixels continuous in the horizontal direction at the pixel position shifted by four pixels in the horizontal direction sequentially every clock. . The two data output from the cumulative addition circuits 2asa and 2asc through the register DFF are input to the addition circuit 2aaa to calculate the sum of the product-sum results for the odd pixel positions, and from the cumulative addition circuits 2asb and 2asd to the register DFF. The two data output via the are input to the adder circuit 2aab, and the sum of the product-sum results for the even pixel positions is calculated. The sum of the product sums for the odd pixel positions and the even pixel positions calculated by the adder circuit 2aaa and the adder circuit 2aab is added by the adder circuit 2aso and output via the register DFF. Further, the control signal yc_ctr1 from the control unit Is input to the rounding / maximum / minimum value limit processing circuit 2ara via the selector 2aox1 and the control signal hv_ctrl from the control unit via the selector 2aox2. As described above, the rounding / maximum / minimum value limiting processing circuit 2ara uses one of 128 and 64 as a value to be divided by the control signal up_ctrl from the control unit indicating whether the conversion rate of the sampling frequency is 1/2 or less. Select, divide, output with rounding and maximum limit. The data output from the rounding / maximum / minimum value restriction processing circuit 2ara is output as four pixel data having the same value through the selector 2aoxb, selector 2aox4, selector 2aox5, and register DFF, and one pixel of the output data. Is written in a predetermined byte position of a predetermined address by the control unit.
[0042]
Further, when performing the horizontal direction filter processing of the color difference signal, the input data 2a1 is sequentially horizontal in every clock in a format in which two kinds of color difference signals are multiplexed like Cb, Cr, Cb, Cr. 4 pixels that are continuous in the horizontal direction from the pixel position shifted by 4 pixels at a time. In the cumulative addition circuits 2asa and 2asc, only the color difference signal Cb is cumulatively added, and in the cumulative addition circuits 2asb and 2asd, only the color difference signal Cr is cumulatively added. The two data calculated by the cumulative addition circuits 2asa and 2asc are input to the addition circuit 2aaa via the register DFF, and the sum of the product-sum results for the color difference signal Cb is calculated and calculated by the cumulative addition circuits 2asb and 2asd. The data is input to the adder 2aab via the register DFF, and the sum of the product-sum results for the color difference signal Cr is calculated. The sum of the product-sum results for the color difference signal Cb calculated by the addition circuit 2aaa is sent via the register DFF via the selector 2aox1 by the control signal yc_ctrl from the control unit, and further via the selector 2aox2 by the control signal hv_ctrl from the control unit. Are input to the rounding / maximum / minimum value limit processing circuit 2ara. The sum of the product-sum results for the color difference signal Cb calculated by the adder circuit 2aab is input to the rounding / maximum / minimum value limit processing circuit 2arb via the register DFF and the control signal hv_ctr1 via the selector 2aox3. . As described above, the rounding / maximum / minimum value limiting processing circuits 2ara and 2arb are 128 and 64 as values to be divided by the control signal updwn_ctrl from the control unit indicating whether or not the conversion rate of the sampling frequency is 1/2 or less. Select one and divide, output with rounding and maximum limit. The data output from the rounding / maximum / minimum value restriction processing circuit 2ara is output to the first pixel and the third pixel of the output data via the selector 2aox4 and the register DFF, and output from the rounding / maximum / minimum value restriction processing circuit 2arb. The output data is output to the second pixel and the fourth pixel of the output data via the selectors 2aoxb, 2axo5 and the register DFF, and the first half or the latter half of the output data is set to a predetermined byte position of a predetermined address by the control unit. Is written to.
[0043]
Further, when performing the vertical filter processing, the coefficients for the multipliers 2ama, 2amb, 2amc, and 2amd are all the same value, and the input data 2a1 is tapped with the data of four pixels successively in the horizontal direction. According to the number, it is input by shifting one line in the vertical direction every clock. In the cumulative addition circuits 2asa, 2asb, 2asc, and 2asd, the multiplication results corresponding to the pixel positions in the horizontal direction are cumulatively added and output via the register DFF. The data calculated by the cumulative addition circuit 2asa is input to the rounding / maximum / minimum value limit processing circuit 2ara via the selector 2aox2 by the control signal hv_ctrl from the control unit, and the data calculated by the cumulative addition circuit 2asb is Is input to the rounding / maximum / minimum value limit processing circuit 2arb via the selector 2aox3 in accordance with the control signal hv_ctrl. Data calculated by the cumulative addition circuits 2 asc and 2 asd are input to the rounding / maximum / minimum value restriction processing circuits 2 arc and 2 ard, respectively. As described above, the rounding / maximum / minimum value limiting processing circuits 2ara, 2arb, 2arc, and 2ard are divided by the control signal updwn_ctrl from the control unit indicating whether the conversion rate of the sampling frequency is 1/2 or less. Select and divide one of 128 and 64, perform rounding and maximum value restriction, and output. The data output from the rounding / maximum / minimum value limiting processing circuit 2ara is output to the first pixel of the output data via the register DFF, and the data output from the rounding / maximum / minimum value limiting processing circuit 2arb is the selector 2aoxb. The data output to the second pixel of the output data via the register DFF and output from the rounding / maximum / minimum value limit processing circuit 2arc is output to the third pixel of the output data via the selector 2aox4 and the register DFF, and rounded off. The data output from the maximum / minimum value restriction processing circuit 2ard is output to the fourth pixel of the output data via the selector 2aox5 and the register DFF. The output data of the four pixels is written at a predetermined byte position of a predetermined address by the control unit.
[0044]
(Fourth embodiment)
9, FIG. 10 and FIG. 11 are block diagrams showing the configuration of a digital filter processing apparatus according to the fourth embodiment of the present invention. FIG. 9 shows a filter that reads a part of a data string from one memory bank storing a data string in which eight pixels are arranged in the horizontal direction as one word and outputs the data in units of eight pixels that are arranged in the horizontal direction from an arbitrary pixel position. An input circuit is shown.
[0045]
The digital filter processing apparatus according to the fourth embodiment has eight multiplications for simultaneously multiplying the filter input circuit shown in FIG. 9 and the eight pixels output from the filter input circuit as shown in FIG. (2ama, 2amb, 2amc, 2amd, 2am, 2amf, 2amg, 2amh). Further, as shown in FIG. 11, eight cumulative adder circuits (2asa, 2asb, 2asc, 2asd, 2ase, 2asf, 2asg, 2ash) for accumulating each multiplier output of FIG. A first addition circuit 2aa2a for calculating the sum of outputs of the cumulative addition circuits (2asa, 2asc, 2ase, 2asg) of multiplication results for odd-numbered pixels among the pixels, and for even-numbered pixels among the four pixels A second addition circuit 2aa2b for calculating the sum of the outputs of the cumulative addition circuit (2asb, 2asd, 2asf, 2ash) of the multiplication result, an output of the first addition circuit 2aa2a, and an output of the second addition circuit 2aa2b And a third adder circuit 2sao for calculating the sum of.
[0046]
The filter input circuit in FIG. 9 selects, from the input data 2a1, eight consecutive pixels in the horizontal direction stored in one memory bank from the input data 2a1 by the control signal bank_se1 [1: 0] from the control unit. Latch to DFF. Further, after the 8 pixel data input one clock before and latched in the register DFF, the 7 pixel data from the first pixel of the 8 pixel data selected by the control signal bank_sel [1: 0] is made continuous. 15 pixel data is generated, and data of 8 pixels is selected from an arbitrary pixel position from the first pixel to the eighth pixel of the 15 pixel data continuous in the horizontal direction by the control signal byte_sel [2: 0] from the control unit. Output.
[0047]
The detailed operation of the circuits shown in FIGS. 10 and 11 is the same as that in FIG. 8, and when the luminance signal is subjected to horizontal filter processing, all are output as 8-pixel data of the same value. One pixel data is written by the control unit at a predetermined byte position of a predetermined address. When performing the horizontal direction filter processing of the chrominance signal, the odd-numbered pixel position in the 8 pixel data is output as the chrominance signal Cb data, and the even-numbered pixel position is output as the chrominance signal Cr data. Data is written into a predetermined byte position of a predetermined address by the control unit. When performing the vertical filter processing, the output data of 8 pixels is written at a predetermined byte position of a predetermined address by the control unit.
[0048]
(Fifth embodiment)
12 and 13 are block diagrams showing the configuration of a digital filter processing apparatus according to the fifth embodiment of the present invention. As shown in FIGS. 12 and 13, the digital filter processing apparatus according to the fifth embodiment extracts a part of a data string from one memory bank storing a data string in which four pixels that are continuous in the horizontal direction are one word. A filter input circuit 2aix that reads out and outputs in units of two pixels continuous in the horizontal direction from an arbitrary pixel position, and two multipliers (2ama, 2amb) that simultaneously multiply the two pixels output from the filter input circuit 2aix ) And two cumulative addition circuits (2asla, 2asb) for accumulating the respective multiplier outputs. The cumulative addition circuit 2asla has a function of cumulatively adding the sum of the outputs of the two multipliers (2ama, 2amb).
[0049]
12, the circuit configuration and operation of the filter input circuit 2aix are the same as those of the filter input circuit 2aix in FIG. The first pixel data of the two-pixel data output from the filter input circuit 2aix is multiplied by the filter coefficient corresponding to the multiplier 2ama in the coefficient data 2b1 by the multiplier 2ama, and the data of the second pixel is The multiplier 2amb performs multiplication with a filter coefficient corresponding to the multiplier 2amb in the coefficient data 2b1.
[0050]
When performing the horizontal direction filter processing of the luminance signal, the input data 2a1 is inputted by shifting 4 pixels in the horizontal direction sequentially every 2 clocks, and further horizontally by 2 pixels per clock by the filter input circuit 2aix. Output shifted in the direction. The results multiplied by the multipliers 2ama and 2amb are output every clock through the register DFF, and input to the accumulator 2asla and added. Further, the control signal acc_ctrl from the control unit is cumulatively added for a period corresponding to the number of taps, and is input to the rounding / maximum / minimum value limit processing circuit 2ara. As described above, the rounding / maximum / minimum value limiting processing circuit 2ara uses one of 128 and 64 as a value to be divided by the control signal updwn_ctrl from the control unit indicating whether the conversion rate of the sampling frequency is 1/2 or less. Selects the value, performs division, rounds off and limits the maximum value, and outputs. The data output from the rounding / maximum / minimum value restriction processing circuit 2ara is output as 4-pixel data having the same value through the selector 2aoxb and the register DFF. Data of one pixel in the output data is written at a predetermined byte position of a predetermined address by the control unit.
[0051]
Further, when performing the horizontal direction filter processing of the color difference signal, the input data 2a1 is sequentially horizontal in every two clocks in a format in which two kinds of color difference signals are multiplexed like Cb, Cr, Cb, Cr. 4 pixels are shifted and input, and the filter input circuit 2aix further shifts and outputs 2 pixels in the horizontal direction every clock. The results multiplied by the multipliers 2ama and 2amb are output for each clock through the register DFF and input to the cumulative addition circuits 2asla and 2asb, respectively. Further, it is cumulatively added for a period corresponding to the number of taps by the control signal acc_ctrl from the control unit, and is input to the rounding / maximum / minimum value restriction processing circuits 2ara and 2arb. Here, the cumulative addition circuit 2asla does not add the result of multiplication by the multiplier 2ama and the multiplier 2amb, and cumulatively adds only the result of the multiplier 2ama. Thus, only the color difference signal Cb is cumulatively added in the cumulative addition circuit 2asa, and only the color difference signal Cr is cumulatively added in the cumulative addition circuit 2asb. As described above, the rounding / maximum / minimum value limiting processing circuits 2ara and 2arb are 128 and 64 as values to be divided by the control signal updwn_ctr1 from the control unit indicating whether or not the sampling frequency conversion magnification is 1/2 or less. Select one value, divide, output with rounding and maximum limit. Data output from the rounding / maximum / minimum value restriction processing circuit 2ara is output to the first pixel and the third pixel of the output data via the register DFF, and is output from the rounding / maximum / minimum value restriction processing circuit 2arb. Are output to the second pixel and the fourth pixel of the output data via the selector 2aoxb and the register DFF. Two pixels in the first half or the latter half of the output data are written at a predetermined byte position of a predetermined address by the control unit.
[0052]
When performing the vertical direction filter processing, the coefficients for the multipliers 2ama and 2amb are all the same value, and for the input data 2a1, four pixels of data that are successively consecutive in the horizontal direction are set to one clock according to the number of taps. Each time the input is shifted by one line in the vertical direction. The results multiplied by the multipliers 2ama and 2amb are output for each clock through the register DFF, input to the cumulative addition circuits 2asla and 2asb, respectively, and only for a period corresponding to the number of taps by the control signal acc_ctrl from the control unit. Cumulative addition, rounding, and maximum / minimum value restriction processing circuits 2ara and 2arb are input. Here, the cumulative addition circuit 2asla does not add the result of multiplication by the multiplier 2ama and the multiplier 2amb, and cumulatively adds only the result of the multiplier 2ama. Accordingly, only the multiplication result of the odd pixel position data is cumulatively added in the cumulative addition circuit 2asa, and only the multiplication result of the even pixel position data is cumulatively added in the cumulative addition circuit 2asb. As described above, the rounding / maximum / minimum value limiting processing circuits 2ara and 2arb are 128 and 64 as values to be divided by the control signal updwn_ctr1 from the control unit indicating whether or not the sampling frequency conversion magnification is 1/2 or less. Select one value, perform division, round off and limit the maximum value, and output. Data output from the rounding / maximum / minimum value restriction processing circuit 2ara is output to the first pixel and the third pixel of the output data via the register DFF, and is output from the rounding / maximum / minimum value restriction processing circuit 2arb. Are output to the second pixel and the fourth pixel of the output data via the selector 2aoxb and the register DFF. Two pixels in the first half or the latter half of the output data are written at a predetermined byte position of a predetermined address by the control unit.
[0053]
(Sixth embodiment)
FIG. 14 is a block diagram showing a configuration of a digital filter processing apparatus according to the sixth embodiment of the present invention. The digital filter processing apparatus according to the sixth embodiment includes four multiplications for simultaneously multiplying the filter input circuit shown in FIG. 7 and the four pixels output from the filter input circuit as shown in FIG. Unit (2ama, 2amb, 2amc, 2amd), four cumulative addition circuits (2as2a, 2as2b, 2asc, 2asd) for accumulating and adding the outputs of the multipliers, cumulative adder 2as2a and cumulative adder And an adding circuit 2sao for adding the outputs of 2as2b. The cumulative adder 2as2a has a function of cumulatively adding the sum of the multiplication results for the odd-numbered pixels among the four pixels, and the cumulative adder 2as2b is the sum of the multiplication results for the even-numbered pixels among the four pixels. Has the function of cumulative addition.
[0054]
Each of the four pixel data output from the filter input circuit 2aix in FIG. 7 is obtained from the first pixel data by the multipliers 2ama, 2amb, 2amc, 2mad, and the filter coefficient corresponding to each multiplier in the coefficient data 2b1. Multiplication is performed.
[0055]
Here, when performing the horizontal direction filtering process of the luminance signal, the input data 2a1 is inputted with the data of four pixels continuous in the horizontal direction at the pixel position shifted by four pixels in the horizontal direction sequentially every clock. . The results multiplied by the multipliers 2ama and 2amc are output every clock through the register DFF, input to the cumulative adder 2as2a and added, and only in a period corresponding to the number of taps by the control signal acc_ctrl from the control unit. The cumulative addition is output through the register DFF, and the result of multiplication by the multipliers 2 amb and 2 mad is output at every clock through the register DFF, and is input to the cumulative adder 2 as 2 b for addition. The control signal acc_ctrl is cumulatively added for a period corresponding to the number of taps and is output via the register DFF. The sum of the multiplication results for the odd pixel positions calculated by the cumulative adder 2as2a and the sum of the multiplication results for the even pixel positions calculated by the cumulative adder 2as2b are added by the addition circuit 2aso and output through the register DFF. Further, it is input to the rounding / maximum / minimum value limit processing circuit 2ara via the selector 2aoxa by the control signal yh_ctrl from the control unit. As described above, the rounding / maximum / minimum value limiting processing circuit 2ara uses one of 128 and 64 as a value to be divided by the control signal updwn_ctr1 from the control unit indicating whether or not the sampling frequency conversion magnification is 1/2 or less. Select, divide, output with rounding and maximum limit. The data output from the rounding / maximum / minimum value restriction processing circuit 2ara is output as 4-pixel data having the same value through the selector 2aoxb, selector 2aox4, selector 2aox5, and register DFF, and 1 of the output data Pixel data is written into a predetermined byte position of a predetermined address by the control unit.
[0056]
When performing the horizontal direction filter processing of the color difference signal, the input data 2a1 is sequentially horizontal in every clock in a format in which two types of color difference signals are Cb, Cr, Cb, and Cr. Four consecutive pixels in the horizontal direction are input from the pixel position shifted by four pixels in the direction. The results multiplied by the multipliers 2ama and 2amc are output every clock through the register DFF, input to the cumulative adder 2as2a and added, and only in a period corresponding to the number of taps by the control signal acc_ctrl from the control unit. The cumulative addition is output through the register DFF, and the result of multiplication by the multipliers 2 amb and 2 mad is output at every clock through the register DFF, and is input to the cumulative adder 2 as 2 b for addition. The control signal acc_ctrl is cumulatively added for a period corresponding to the number of taps and is output via the register DFF. The sum of the multiplication results for the color difference signal Cb calculated by the cumulative adder 2as2a is input to the rounding / maximum / minimum value limit processing circuit 2ara via the selector 2aoxa by the control signal yh_ctrl from the control unit, and calculated by the cumulative adder 2as2b. The sum of the multiplication results for the color difference signal Cr is input to the rounding / maximum / minimum value limiting processing circuit 2arb. As described above, the rounding / maximum / minimum value limiting processing circuits 2ara and 2arb are 128 and 64 as values to be divided by the control signal updwn_ctrl from the control unit indicating whether or not the conversion rate of the sampling frequency is 1/2 or less. Select one and divide, output with rounding and maximum limit. The data output from the rounding / maximum / minimum value restriction processing circuit 2ara is output to the first pixel and the third pixel of the output data via the selector 2aox4 and the register DFF, and output from the rounding / maximum / minimum value restriction processing circuit 2arb. The output data is output to the second pixel and the fourth pixel of the output data via the selectors 2aoxb, 2axo5 and the register DFF, and the first half or the latter half of the output data is set to a predetermined byte position of a predetermined address by the control unit. Is written to.
[0057]
When performing the vertical filter processing, the coefficients for the multipliers 2ama, 2amb, 2amc, and 2amd all have the same value, and the input data 2a1 is tapped with data of four pixels successively in the horizontal direction. According to the number, it is input by shifting one line in the vertical direction every clock. In the cumulative addition circuits 2as2a, 2as2b, 2asc, and 2asd, multiplication results corresponding to the pixel positions in the horizontal direction are cumulatively added and output via the register DFF. Here, the cumulative addition circuit 2as2a does not add the results multiplied by the multiplier 2ama and the multiplier 2amc, and cumulatively adds only the results of the multiplier 2ama, and the cumulative addition circuit 2as2b includes the multiplier 2amb and the multiplier. The result of multiplication by 2amd is not added, and only the result of the multiplier 2amb is cumulatively added. The data calculated by the cumulative addition circuit 2as2a is input to the rounding / maximum / minimum value limiting processing circuit 2ara via the selector 2aoxa by the control signal yh_ctrl from the control unit, and the data calculated by the cumulative addition circuits 2as2b, 2asc, 2asd Are input to the rounding / maximum / minimum value limiting processing circuits 2arb, 2arc, and 2ard, respectively. As described above, the rounding / maximum / minimum value limiting processing circuits 2ara, 2arb, 2arc, and 2ard are divided by the control signal updwn_ctrl from the control unit indicating whether the conversion rate of the sampling frequency is ½ or less. Select and divide one of 128 and 64, perform rounding and maximum value restriction, and output. The data output from the rounding / maximum / minimum value limiting processing circuit 2ara is output to the first pixel of the output data via the register DFF, and the data output from the rounding / maximum / minimum value limiting processing circuit 2arb is the selector 2aoxb. The data output to the second pixel of the output data via the register DFF and output from the rounding / maximum / minimum value limit processing circuit 2arc is output to the third pixel of the output data via the selector 2aox4 and the register DFF, and rounded off. The data output from the maximum / minimum value restriction processing circuit 2ard is output to the fourth pixel of the output data via the selector 2aox5 and the register DFF. The output data of the four pixels is written at a predetermined byte position of a predetermined address by the control unit.
[0058]
The digital filter processing devices of the second to sixth embodiments as described above have a common circuit configuration having a horizontal filter processing function and a vertical filter processing function, and the horizontal filter processing and the vertical filter processing are the same circuit. Therefore, it is not necessary to make the period necessary for the horizontal filter process and the period necessary for the vertical filter process the same, and it is possible to effectively use the calculation capability in various sampling frequency conversion processes. Furthermore, in the horizontal filter processing and the vertical filter processing, the sampling frequency conversion magnification can be performed first, and the required processing time can be shortened.
[0059]
The present invention is not limited to the above-described embodiment, and can be implemented with various modifications.
[0060]
【The invention's effect】
As described above, according to the present invention, it is possible to provide a digital filter processing apparatus with a small total number of memory banks, which includes a memory bank for inputting / outputting data strings and a memory bank for storing intermediate calculation results. it can. In addition, it is possible to effectively use the calculation capability in various sampling frequency conversion processes, and it is possible to provide a digital filter processing circuit having a small circuit scale.
[Brief description of the drawings]
FIG. 1 is a block diagram showing the configuration of a digital filter processing apparatus according to a first embodiment of the present invention.
FIG. 2 is a diagram for explaining the outline of the operation of the first embodiment when a digital filter process is performed once for each data string, and shows the flow of bank switching;
FIG. 3 is a diagram for explaining the outline of the operation of the first embodiment when performing digital filter processing twice for each data string, and showing the flow of bank switching;
FIG. 4 is a diagram for explaining the operation of the first embodiment when performing digital filter processing three times for each data string, and showing the flow of bank switching;
FIG. 5 is a block diagram showing a configuration of a filter input circuit included in a digital filter processing apparatus according to a second embodiment of the present invention.
FIG. 6 is a block diagram showing a configuration of a digital filter processing apparatus according to a second embodiment of the present invention.
FIG. 7 is a block diagram showing a configuration of a filter input circuit included in a digital filter processing apparatus according to third and sixth embodiments of the present invention.
FIG. 8 is a block diagram showing a configuration of a digital filter processing apparatus according to a third embodiment of the present invention.
FIG. 9 is a block diagram showing a configuration of a filter input circuit included in a digital filter processing apparatus according to a fourth embodiment of the present invention.
FIG. 10 is a block diagram showing a part of the configuration of a digital filter processing apparatus according to a fourth embodiment of the present invention.
FIG. 11 is a block diagram showing another part of the configuration of the digital filter processing apparatus according to the fourth embodiment of the present invention;
FIG. 12 is a block diagram showing a configuration of a filter input circuit included in a digital filter processing apparatus according to a fifth embodiment of the present invention.
FIG. 13 is a block diagram showing a configuration of a digital filter processing apparatus according to a fifth embodiment of the present invention.
FIG. 14 is a block diagram showing a configuration of a digital filter processing apparatus according to a sixth embodiment of the present invention.
[Explanation of symbols]
1a, 1b, 1c... Memory bank
2a: Digital filter processing circuit
2b: Filter coefficient memory
2c: Control unit
3a ... Address bus
3b ... Data bus
2aiX: Filter input circuit
2 ama,2amc,2ame,2amg ... Multiplier for odd-numbered pixels
2 amb,2amd,2amf,2amh ... multiplier for even-numbered pixels
2asa, 2asc, 2ase, 2asg ... Cumulative adder of multiplication results for odd-numbered pixels
2asb, 2asd, 2asf, 2ash ... Cumulative adder of multiplication results for even-numbered pixels
2asla, 2as2a, 2as2b ... Cumulative adder with addition function of two multiplication results
2aaa, 2aa2a: Adder that calculates the sum of multiplication results for odd-numbered pixels
2aab, 2aa2b ... Adder that calculates the sum of multiplication results for even-numbered pixels
2aso: Adder that calculates the sum of multiplication results
2ara, 2arb, 2arc, 2ard, 2are, 2arf, 2arg, 2arh ... Rounding / Maximum / Minimum Limit Processing Circuit

Claims (6)

データ列を入出力するための3つのメモリバンクと、
前記3つのメモリバンクの内の1つから読み出したデータ列をディジタルフィルタ処理し、かかるフィルタ処理結果を前記3つのメモリバンクの内のいずれか他の1つに出力するディジタルフィルタ処理手段と、
複数の前記データ列に対して偶数回のディジタルフィルタ処理を行う場合に、各データ列の入力に使用するメモリバンクの順序を第1メモリバンク,第2メモリバンクの順とし、第1メモリバンク,及び第2メモリバンクを介して入力されるデータ列のそれぞれに対する奇数回目のディジタルフィルタ処理結果の出力に第3メモリバンクを使用し、該奇数回目のディジタルフィルタ処理結果に対する偶数回目のディジタルフィルタ処理結果の出力に第1メモリバンク及び第2メモリバンクを使用するメモリバンク切替制御手段と、を具備し、前記ディジタルフィルタ処理手段は、画像信号の前記データ列に対する水平方向のフィルタ処理と、垂直方向のフィルタ処理とを同一回路で選択的に行うよう構成されることを特徴とするディジタルフィルタ処理装置。
Three memory banks for inputting and outputting data strings;
A digital filter processing means for digitally filtering a data string read from one of the three memory banks, and outputting the filter processing result to any one of the three memory banks;
When performing an even number of times of digital filtering on the plurality of data strings, the order of the memory banks used for inputting each data string is the order of the first memory bank, the second memory bank, and the first memory bank, And the third memory bank is used to output the odd-numbered digital filter processing result for each of the data strings input via the second memory bank, and the even-numbered digital filter processing result for the odd-numbered digital filter processing result Memory bank switching control means using the first memory bank and the second memory bank for the output of the image data, and the digital filter processing means comprises: a horizontal filter process for the data string of the image signal; The digital circuit is configured to selectively perform filtering with the same circuit. Filter processing equipment.
データ列を入出力するための3つのメモリバンクと、
前記3つのメモリバンクの内の1つから読み出したデータ列をディジタルフィルタ処理し、かかるフィルタ処理結果を前記3つのメモリバンクの内のいずれか他の1つに出力するディジタルフィルタ処理手段と、
各データ列に対して奇数回のディジタルフィルタ処理を行う場合に、各データ列の入力に使用するメモリバンクの順序を第1メモリバンク,第2メモリバンク,第3メモリバンクの順とし、第1メモリバンク,第2メモリバンク,及び第3メモリバンクを介して入力されるデータ列に対する奇数回目のディジタルフィルタ処理結果をそれぞれ第3メモリバンク,第1メモリバンク,及び第2メモリバンクに出力し、偶数回目の処理結果をそれぞれ第1メモリバンク,第2メモリバンク,及び第3メモリバンクに出力するメモリバンク切替制御手段と、を具備し、前記ディジタルフィルタ処理手段は、画像信号の前記データ列に対する水平方向のフィルタ処理と、垂直方向のフィルタ処理とを同一回路で選択的に行うよう構成されることを特徴とするディジタルフィルタ処理装置。
Three memory banks for inputting and outputting data strings;
A digital filter processing means for digitally filtering a data string read from one of the three memory banks, and outputting the filter processing result to any one of the three memory banks;
When performing an odd number of digital filter processes on each data string, the order of the memory banks used for input of each data string is the order of the first memory bank, the second memory bank, and the third memory bank. The odd-numbered digital filter processing results for the data strings input via the memory bank, the second memory bank, and the third memory bank are output to the third memory bank, the first memory bank, and the second memory bank, respectively. Memory bank switching control means for outputting the processing results of the even number of times to the first memory bank, the second memory bank, and the third memory bank, respectively, wherein the digital filter processing means It is configured to selectively perform horizontal filter processing and vertical filter processing in the same circuit. Digital filtering apparatus.
前記ディジタルフィルタ処理手段は、水平方向に連続する2画素以上のM画素を1ワードとするデータ列を記憶した1つの前記メモリバンクから該データ列の一部を読み出し、任意画素位置から水平方向に連続する2画素単位で出力するフィルタ入力回路と、
前記フィルタ入力回路から出力される2画素に対してそれぞれ係数を乗じる2個の乗算器と、前記各乗算器出力をそれぞれ累積加算する2個の累積加算回路と、前記2個の累積加算回路出力の和を算出する加算回路と、により構成されることを特徴とする請求項1又は2記載のディジタルフィルタ処理装置。
The digital filter processing means reads a part of the data string from one memory bank storing a data string in which two or more M pixels continuous in the horizontal direction are defined as one word, and starts horizontal from an arbitrary pixel position. A filter input circuit that outputs in units of two consecutive pixels;
Two multipliers for multiplying the two pixels output from the filter input circuit by a coefficient, two cumulative addition circuits for cumulatively adding the respective multiplier outputs, and outputs of the two cumulative addition circuits The digital filter processing apparatus according to claim 1, further comprising: an adding circuit that calculates a sum of the two.
前記ディジタルフィルタ処理手段は、水平方向に連続するL画素以上のM画素を1ワードとするデータ列を記憶した1つの前記メモリバンクからデータ列の一部を読み出し、任意画素位置から水平方向に連続するL画素単位で出力するフィルタ入力回路と、前記フィルタ入力回路から出力されるL画素に対してそれぞれ係数を乗じるL個の乗算器と、前記各乗算器出力をそれぞれ累積加算するL個の累積加算回路と、前記L画素の内の奇数番目の画素に対する前記累積加算回路出力の総和を算出する第1の加算回路と、前記L画素の内で偶数番目の画素に対する前記累積加算回路出力の総和を算出する第2の加算回路と、前記第1の加算回路出力及び前記第2の加算回路出力の和を算出する第3の加算回路と、により構成されることを特徴とする請求項1又は2記載のディジタルフィルタ処理装置。  The digital filter processing means reads a part of the data string from one memory bank storing a data string in which M words equal to or more than L pixels continuous in the horizontal direction are stored as one word, and continues in the horizontal direction from an arbitrary pixel position. A filter input circuit that outputs in units of L pixels, L multipliers that respectively multiply the L pixels output from the filter input circuit by a coefficient, and L accumulations that accumulatively add the respective multiplier outputs. A summing circuit; a first summing circuit that calculates a sum of the cumulative summing circuit outputs for odd-numbered pixels among the L pixels; and a summing sum of the cumulative summing circuit outputs for even-numbered pixels among the L pixels. And a third addition circuit for calculating the sum of the output of the first addition circuit and the output of the second addition circuit. Digital filtering apparatus according to claim 1 or 2, wherein that. 前記ディジタルフィルタ処理手段は、水平方向に連続する2画素以上のM画素を1ワードとするデータ列を記憶した1つのメモリバンクからデータ列の一部を読み出し、任意画素位置から水平方向に連続する2画素単位で出力するフィルタ入力回路と、前記フィルタ入力回路から出力される2画素に対してそれぞれ係数を乗じる2個の乗算器と、前記各乗算器出力をそれぞれ累積加算する2個の累積加算回路と、により構成され、前記累積加算器の少なくともいずれか一方は、前記2個の乗算器出力の和を累積加算する機能を併せ持つことを特徴とする請求項1又は2記載のディジタルフィルタ処理装置。  The digital filter processing means reads a part of a data string from one memory bank storing a data string in which two or more M pixels continuous in the horizontal direction are one word, and continues in the horizontal direction from an arbitrary pixel position. A filter input circuit that outputs in units of two pixels, two multipliers that multiply the two pixels that are output from the filter input circuit, respectively, and two cumulative additions that cumulatively add the respective multiplier outputs 3. The digital filter processing apparatus according to claim 1, wherein at least one of the cumulative adders has a function of cumulatively adding a sum of the two multiplier outputs. . 前記ディジタルフィルタ処理手段は、水平方向に連続する4画素以上のM画素を1ワードとするデータ列を記憶した1つのメモリバンクからデータ列の一部を読み出し、任意画素位置から水平方向に連続する4画素単位で出力するフィルタ入力回路と、前記フィルタ入力回路から出力される4画素に対してそれぞれ係数を乗じる4個の乗算器と、前記各乗算器出力をそれぞれ累積加算する第1乃至第4の4個の累積加算回路と、前記第1及び第2の累積加算器出力を加算する加算回路と、により構成され、前記第1の累積加算器は前記4画素の内で奇数番目の画素に対する乗算結果の和を累積加算する機能を併せ持ち、前記第2の累積加算器は前記4画素の内で偶数番目の画素に対する乗算結果の和を累積加算する機能を併せ持つことを特徴とする請求項1又は2記載のディジタルフィルタ処理装置。  The digital filter processing means reads a part of a data string from one memory bank storing a data string in which M words of four or more pixels continuous in the horizontal direction are set as one word, and continues in the horizontal direction from an arbitrary pixel position. A filter input circuit that outputs in units of four pixels, four multipliers that multiply the four pixels that are output from the filter input circuit, respectively, and first to fourth that cumulatively add the outputs of the multipliers. The four cumulative addition circuits and an addition circuit for adding the outputs of the first and second cumulative adders, the first cumulative adder for the odd-numbered pixels among the four pixels. The second cumulative adder also has a function of cumulatively adding the sum of multiplication results for even-numbered pixels among the four pixels. Digital filtering apparatus according to claim 1 or 2, wherein.
JP2001097114A 2001-03-29 2001-03-29 Digital filter processor Expired - Fee Related JP3682239B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001097114A JP3682239B2 (en) 2001-03-29 2001-03-29 Digital filter processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001097114A JP3682239B2 (en) 2001-03-29 2001-03-29 Digital filter processor

Publications (2)

Publication Number Publication Date
JP2002300597A JP2002300597A (en) 2002-10-11
JP3682239B2 true JP3682239B2 (en) 2005-08-10

Family

ID=18950937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001097114A Expired - Fee Related JP3682239B2 (en) 2001-03-29 2001-03-29 Digital filter processor

Country Status (1)

Country Link
JP (1) JP3682239B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293538A (en) * 2005-04-07 2006-10-26 Renesas Technology Corp Calculation system
WO2006129518A1 (en) * 2005-05-30 2006-12-07 Megachips Corporation Memory access method
JP4821410B2 (en) * 2006-04-04 2011-11-24 富士ゼロックス株式会社 MEMORY CONTROL METHOD, MEMORY CONTROL DEVICE, IMAGE PROCESSING DEVICE, AND PROGRAM
JP5823729B2 (en) * 2011-05-09 2015-11-25 シナプティクス・ディスプレイ・デバイス合同会社 Semiconductor device and data processing system

Also Published As

Publication number Publication date
JP2002300597A (en) 2002-10-11

Similar Documents

Publication Publication Date Title
JP2646778B2 (en) Digital signal processor
KR100190796B1 (en) Picture element number converter
US6996593B2 (en) Filter processing apparatus and its control method, program, and storage medium
US4817025A (en) Digital filter
JPS61241877A (en) Space product sum arithmetic unit
JPH11225334A (en) Dispersion value calculation accelerator for mpeg-2 image decoder
JP4361991B2 (en) Image processing device
JP3682239B2 (en) Digital filter processor
US7728743B2 (en) Device and method for polyphase resampling
KR100202151B1 (en) Signal processing apparatus
US5671169A (en) Apparatus for two-dimensional inverse discrete cosine transform
JPH07327230A (en) Picture element matrix filter and method for processing picture element matrix
US6668087B1 (en) Filter arithmetic device
KR100225690B1 (en) Correlation degree arithmetic unit parallel correlation degree arithmetic unit, correlation degree arithmetic method
US20050114419A1 (en) Discrete cosine transformation apparatus, inverse discrete cosine transformation apparatus, and orthogonal transformation apparatus
JP4682380B2 (en) Image processing apparatus and image processing method
JPH1127563A (en) Image filter circuit
JP4217408B2 (en) Filter processing device
JPH0686075A (en) Image processing circuit
KR100206949B1 (en) Display filter for digital picture
JP2002152045A (en) Filter processing apparatus for image data and its control method
JP3194980B2 (en) CIF conversion circuit
JP4171319B2 (en) Image / audio processor
JPH08223407A (en) Image processing unit
KR100350943B1 (en) Fast Discrete Cosine Transform Processors using Distributed Arithmetic

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050520

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

Free format text: PAYMENT UNTIL: 20090527

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090527

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100527

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110527

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees