JP4465844B2 - Image processing apparatus and method, and recording medium - Google Patents

Image processing apparatus and method, and recording medium Download PDF

Info

Publication number
JP4465844B2
JP4465844B2 JP2000292317A JP2000292317A JP4465844B2 JP 4465844 B2 JP4465844 B2 JP 4465844B2 JP 2000292317 A JP2000292317 A JP 2000292317A JP 2000292317 A JP2000292317 A JP 2000292317A JP 4465844 B2 JP4465844 B2 JP 4465844B2
Authority
JP
Japan
Prior art keywords
interpolation
image
video signal
parameters corresponding
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2000292317A
Other languages
Japanese (ja)
Other versions
JP2002101340A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2000292317A priority Critical patent/JP4465844B2/en
Publication of JP2002101340A publication Critical patent/JP2002101340A/en
Application granted granted Critical
Publication of JP4465844B2 publication Critical patent/JP4465844B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理装置および方法、並びに記録媒体に関し、例えば、画像の形状を任意に変形して表示させる場合に用いて好適な画像処理装置および方法、並びに記録媒体に関する。
【0002】
【従来の技術】
ディジタルストレージ(Digital Strage)の出現は、テレビジョン番組の制作手法の技術的進歩に大きく貢献している。ディジタルストレージのうちのDRAM(Dinamic Random Access Memory)は、その記録容量が1本の走査線、1枚のフィールドの画像、1枚のフレームの画像、さらには一連の複数の画像を記録できるように徐々に増加されてきた。また、その製造コスト、回路規模、消費電力等を考慮した場合においても、経済的に実用可能なものである。
【0003】
DRAMのようなディジタルストレージの適用例としては、テレビジョン番組の制作時などにおいて画像を任意の形状に変形したり、移動させる際に用いる、いわゆるDME(Digital Multi Effects)が挙げられる。
【0004】
DME等においては、DRAM等の画像メモリに映像信号を一旦格納しておき、変形後の画像の形状に対応する読み出しアドレスに従い、格納した映像信号を読み出すことによって、変形させた画像を出力することができる。
【0005】
なお、読み出しアドレスは、変形後の画像の形状に対応して画素単位で生成する必要があるが、通常、演算量を減少させるために、変形後の画像の4端点(4画素)に対応する読み出しアドレスを生成するための演算を実行した後、その演算結果を用いて、4端点以外の位置に対応する読み出しアドレスを生成するための演算結果を補間するようにする。
【0006】
【発明が解決しようとする課題】
ところで、この補間は垂直方向および水平方向にそれぞれ独立して実行する必要がある。しかしながら、垂直方向用の補間回路と水平方向用の補間回路の両方を設けたり、または、垂直方向の補間処理と水平方向の補間処理をソフトウェアにより実行するためにそれぞれ専用のCPU等を設けたりすることは、効率的ではなく、また、装置全体としての規模が大きくなる課題があった。
【0007】
本発明はこのような状況に鑑みてなされたものであり、読み出しアドレスを生成する際の垂直方向の補間処理と水平方向の補間処理を共通の回路で実行することにより、省スペース化および低コスト化を実現できるようにすることを目的とする。
【0008】
【課題を解決するための手段】
本発明の画像処理装置は、入力された画像に対応する映像信号をメモリに記憶させる記憶手段と、画像の変形後の形状を指定する指定手段と、変形後の画像が重畳されるフレームの4端点のそれぞれに対応するパラメータを算出する算出手段と、算出手段が算出した4端点のそれぞれに対応するパラメータのうち、垂直方向に対向する2端点のそれぞれに対応するパラメータを用いて、2組の2端点のそれぞれの間の水平方向に対向する2点のそれぞれに対応するパラメータを補間する垂直方向補間手段と、垂直方向補間手段が補間した水平方向に対向する2点のそれぞれに対応するパラメータを用いて、変形後の画像上の点に対応するパラメータを補間する水平方向補間手段と、水平方向補間手段が補間した変形後の画像上の点に対応するパラメータに基づいて、メモリの読み出しアドレスを生成する生成手段と、生成手段が生成した読み出しアドレスに従ってメモリから映像信号を読み出す読み出し手段とを含み、垂直方向補間手段と水平方向補間手段は、共通の回路から構成される。
【0009】
前記垂直方向補間手段には、水平帰線期間において動作させるようにすることができ、前記水平方向補間手段には、水平走査期間において動作させるようにすることができる。
【0010】
本発明の画像処理方法は、入力された画像に対応する映像信号をメモリに記憶させる記憶ステップと、画像の変形後の形状を指定する指定ステップと、変形後の画像が重畳されるフレームの4端点のそれぞれに対応するパラメータを算出する算出ステップと、算出ステップの処理で算出された4端点のそれぞれに対応するパラメータのうち、垂直方向に対向する2端点のそれぞれに対応するパラメータを用いて、2組の2端点のそれぞれの間の水平方向に対向する2点のそれぞれに対応するパラメータを補間する垂直方向補間ステップと、垂直方向補間ステップの処理で補間された水平方向に対向する2点のそれぞれに対応するパラメータを用いて、変形後の画像上の点に対応するパラメータを補間する水平方向補間ステップと、水平方向補間ステップの処理で補間された変形後の画像上の点に対応するパラメータに基づいて、メモリの読み出しアドレスを生成する生成ステップと、生成ステップの処理で生成された読み出しアドレスに従ってメモリから映像信号を読み出す読み出しステップとを含み、垂直方向補間ステップの処理と水平方向補間ステップの処理は、共通の回路により実行されることを特徴とする。
【0011】
本発明の記録媒体のプログラムは、入力された画像に対応する映像信号をメモリに記憶させる記憶ステップと、画像の変形後の形状を指定する指定ステップと、変形後の画像が重畳されるフレームの4端点のそれぞれに対応するパラメータを算出する算出ステップと、算出ステップの処理で算出された4端点のそれぞれに対応するパラメータのうち、垂直方向に対向する2端点のそれぞれに対応するパラメータを用いて、2組の2端点のそれぞれの間の水平方向に対向する2点のそれぞれに対応するパラメータを補間する垂直方向補間ステップと、垂直方向補間ステップの処理で補間された水平方向に対向する2点のそれぞれに対応するパラメータを用いて、変形後の画像上の点に対応するパラメータを補間する水平方向補間ステップと、水平方向補間ステップの処理で補間された変形後の画像上の点に対応するパラメータに基づいて、メモリの読み出しアドレスを生成する生成ステップと、生成ステップの処理で生成された読み出しアドレスに従ってメモリから映像信号を読み出す読み出しステップとを含み、垂直方向補間ステップの処理と水平方向補間ステップの処理は、共通の回路により実行されることを特徴とする。
【0012】
本発明の画像処理装置および方法、並びに記録媒体のプログラムにおいては、入力された画像に対応する映像信号がメモリに記憶され、画像の変形後の形状が指定される。また、変形後の画像が重畳されるフレームの4端点のそれぞれに対応するパラメータが算出され、算出された4端点のそれぞれに対応するパラメータのうち、垂直方向に対向する2端点のそれぞれに対応するパラメータが用いられて、2組の2端点のそれぞれの間の水平方向に対向する2点のそれぞれに対応するパラメータが補間され、補間された水平方向に対向する2点のそれぞれに対応するパラメータが用いられて、変形後の画像上の点に対応するパラメータが補間され、補間された変形後の画像上の点に対応するパラメータに基づいて、メモリの読み出しアドレスが生成され、生成された読み出しアドレスに従ってメモリから映像信号が読み出される。なお、垂直方向の補間処理と水平方向の補間処理は、共通の回路により実行される。
【0013】
【発明の実施の形態】
本発明を適用した画像合成装置について、図1を参照して説明する。図1は、画像合成装置の構成例を示すブロック図である。この画像合成装置は、例えば、テレビジョン放送番組の制作時などに用いるものであり、変形、移動等のディジタル画像処理を施したビデオ入力Aの映像と、ビデオ入力Bの映像とを合成して出力する。
【0014】
画像合成装置は、ユーザの操作を検知して対応する操作信号を制御回路2に出力するレバーアーム1、ドライブ5を制御して磁気ディスク6(フロッピディスクを含む)、光ディスク7(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク8(MD(Mini Disc)を含む)、または半導体メモリ9に記憶されている制御用プログラムを読み出させ、読み出させた制御用プログラム、レバーアーム1からの操作信号等に基づいて画像合成装置の全体を制御する制御回路2、ビデオ入力Aに対してデジタル画像処理を施して合成回路4に出力するDME3、および、ビデオ入力Bの映像にデジタル画像処理が施されたビデオ入力Aの映像を重畳して後段に出力する合成回路4から構成される。
【0015】
次に、画像合成装置の動作について説明する。ビデオ入力Aの映像は、レバーアーム1に対するユーザの操作に対応するデジタル画像処理がDME3によって施され、合成回路4によってビデオ入力Bの映像に重畳されて出力される。
【0016】
図2は、DME3の構成例を示している。DME3に入力されるビデオ入力Aは、4:2:2:4(Y/U/V/K)のHDフォーマット(例えば、1080i×1920)の映像信号(30ビット幅)、すなわち、10ビット幅の輝度信号Y、それぞれ5ビット幅の色差信号U,V、および10ビット幅のキー信号Kから構成される映像信号を想定している。なお、ビデオ入力Aとしては、HD(High Definition)フォーマットの映像信号の他、SD(Standerd Definition)フォーマットの映像信号(例えば、480i×720)や、他のフォーマットの映像信号を入力することが可能である。
【0017】
なお、図2においては、輝度信号Yを信号Yと表示し、それぞれ5ビット幅の色差信号U,Vを統合して10ビット幅のC信号と表示し、キー信号KをK信号と表示している。
【0018】
DME3のホリゾンタルデフォーカスフィルタ(以下、HDFF(Horizontal Defocus Filter)と記述する)11は、水平走査の順序で入力される輝度信号Yに1次元ローパスフィルタ処理を施すHフィルタ12、水平走査の順序で入力されるキー信号Kに1次元ローパスフィルタ処理を施すHフィルタ13、および、水平走査の順序で入力される色差信号U,Vをそれぞれ補間した後(詳細は図3乃至図6を参照して後述する)、1次元ローパスフィルタ処理を施すHフィルタ14によって構成される。したがって、HDFF11の後段のスキャンコンバータ15には、4:4:4:4の映像信号(40ビット幅)が供給される。
【0019】
スキャンコンバータ15は、HDFF11から水平走査の順序で入力される映像信号を保持し、保持した映像信号を垂直方向に走査して、すなわち、走査方向を水平方向から垂直方向に変換して、バーティカルデフォーカスフィルタ(以下、VDFF(Vertical Defocus Filter)と記述する)16に出力する。
【0020】
また、スキャンコンバータ15は、VDFF16から垂直走査の順序で戻される映像信号(40ビット幅)のうちの色差信号U,Vのビット幅を削減してバッファ20に出力する。
【0021】
さらに、スキャンコンバータ15は、VDFF16から戻される映像信号がSDフォーマットである場合、そのフィールド画像をフレーム画像に変換、補間してバッファ20に出力する。なお、VDFF16から入力される映像信号がHDフォーマットである場合、フィールド画像の状態でバッファ20に出力する。
【0022】
VDFF16は、垂直走査の順序で入力される輝度信号Yに1次元ローパスフィルタ処理を施すVフィルタ17、垂直走査の順序で入力されるキー信号Kに1次元ローパスフィルタ処理を施すVフィルタ18、および、垂直走査の順序で入力される色差信号U,Vに1次元ローパスフィルタ処理を施すVフィルタ19から構成される。VDFF16は、垂直方向の1次元ローパスフィルタ処理を施した4:4:4:4の映像信号(40ビット幅)をスキャンコンバータ15に戻す。
【0023】
バッファ20は、ZBT SRAM(Zero Bus Turnaround Static Random Access Memory)より成り、スキャンコンバータ15から供給される映像信号を、アドレスジェネレータ21から供給されるライトアドレス(write adrs)に従って書き込み、また、アドレスジェネレータ21から供給されるリードアドレス(read adrs)に従って4画素単位で読み出し、補間回路22に出力する。
【0024】
補間回路22は、バッファ20から4画素単位で入力される映像信号を用い、当該4画素の内側の所定の位置に対応する映像信号を補間して合成回路4に出力する。
【0025】
なお、アドレスジェネレータ15および補間回路22は、FPGA(Field Programmable Gate Array)によって構成するようにしてもよい。
【0026】
次に、HDFF11に入力される4:2:2:4の映像信号のうちの色差信号U,VをHフィルタ14によってそれぞれ補間し、4:4:4:4の映像信号に変換する処理について、図3乃至図6を参照して説明する。なお、以下の説明においては、キー信号Kに関する表記を省略して、4:2:2(Y/U/V)の映像信号、または4:4:4の映像信号とも記述する。
【0027】
図3は、色差信号U,Vを補間する処理の概念を示している。
【0028】
図3(A)は、水平走査の順序でHDFF11に入力される映像信号を示している。すなわち、HDFF11には、ある画素(第0番の画素)に対応する輝度信号Y0と、第0番の画素に対応する色差信号U0が同時に入力される。次のクロックにおいて、第0番の右隣に位置する第0.5番の画素に対応する輝度信号Y0.5と、第0番の画素に対応する色差信号V0が同時に入力される。次のクロックにおいて、第0.5番の右隣に位置する第1番の画素に対応する輝度信号Y1と、第1番の画素に対応する色差信号U1が同時に入力される。以下同様に、第N番の画素に対応する輝度信号YNと、第N番の画素に対応する色差信号UNが同時に入力され、次のクロックにおいて、第N番の右隣に位置する第(N+0.5)番の画素に対応する輝度信号YN+0.5と、第N番の画素に対応する色差信号VNが同時に入力される。
【0029】
図3(A)に示したように、第N番の画素に対応する輝度信号YNと色差信号UN,VNが同時に入力されることはなく、また、第(N+0.5)番の画素に対応する色差信号UN+0.5,VN+0.5は存在しない。そこで、輝度信号YNと色差信号UN,VNとの入力タイミングを揃え、かつ、輝度信号と色差信号の空間周波数を統一するために第(N+0.5)番の画素に対応する色差信号UN+0.5,VN+0.5を補間する。
【0030】
第(N+0.5)番の画素に対応する色差信号UN+0.5を補間する場合、図3(B)に示すように、左右に隣接する画素の色差信号、すなわち、第(N−1)番の画素に対応する色差信号UN-1、第N番の画素に対応する色差信号UN、第(N+1)番の画素に対応する色差信号UN+1、および第(N+2)番の画素に対応する色差信号UN+2を用いて補間する。
【0031】
同様に、第(N+0.5)番の画素に対応する色差信号VN+0.5を補間する場合、図3(C)に示すように、左右に隣接する画素の色差信号、すなわち、第(N−1)番の画素に対応する色差信号VN-1、第N番の画素に対応する色差信号VN、第(N+1)番の画素に対応する色差信号VN+1、および第(N+2)番の画素に対応する色差信号VN+2を用いて補間する。
【0032】
次に、図4は、Hフィルタ14の色差信号U,Vを補間する処理に関わる部分の構成例を示している。
【0033】
セレクタ31は、全段から順次入力される色差信号U,Vをクロックに同期して遅延回路(D)32および4点補間回路40に出力する。遅延回路32乃至37,42は、前段から入力される色差信号を1クロック周期だけ遅延して出力する。また、遅延回路33,35,37は、1クロック周期だけ遅延した色差信号を4点補間回路40にも出力する。
【0034】
セレクタ39は、Dフリップフロップ41からの制御信号Sが0である場合、自己のDA端子に入力される遅延回路38の出力をQA端子から遅延回路42に出力し、かつ、自己のDB端子に入力される4点補間回路40の出力をQB端子から出力する。反対に、Dフリップフロップ41からの制御信号Sが1である場合、自己のDA端子に入力される遅延回路38の出力をQB端子から出力し、かつ、自己のDB端子に入力される4点補間回路40の出力をQA端子から遅延回路42に出力する。なお、セレクタ39からは、図3(D)に示すように、色差信号UNと色差信号VN-0.5が同時に出力される。
【0035】
4点補間回路40は、次式を用いて4クロック周期を要するパイプライン処理によって色差信号を補間する。
補間される色差信号の値
=(t0*C0+t1*C1+t2*C2+t3*C3)/(C0+C1+C2+C3
【0036】
ここで、t0とは、遅延回路37から入力される第(N−1)番の画素に対応する色差信号UN-1(またはVN-1)の値であり、t1とは、遅延回路35から入力される第N番の画素に対応する色差信号UN(またはVN)の値であり、t2とは、遅延回路33から入力される第(N+1)番の画素に対応する色差信号UN+1(またはVN+1)の値であり、t3とは、セレクタ31から入力される第(N+2)番の画素に対応する色差信号UN+2(またはVN+2)の値である。ここで、補間係数C0乃至C4は、それぞれ、−163,1187,1187,−163とする。
【0037】
Dフリップフロップ41は、クロック毎に制御信号Sとして0と1を交互にセレクタ39に出力する。
【0038】
図5は、4点補間回路40の構成例を示している。4点補間回路40は、乗算器51乃至54、および加算器55乃至57より構成される。
【0039】
乗算器51は、セレクタ31から入力される第(N−1)番の画素に対応する色差信号UN-1(またはVN-1)の値t0に補間係数C0を乗算した乗算値t0*C0を加算器55に出力する。乗算器52は、遅延回路33から入力される第N番の画素に対応する色差信号UN(またはVN)の値t1に補間係数C1を乗算した乗算値t1*C1を加算器55に出力する。乗算器53は、遅延回路35から入力される第(N+1)番の画素に対応する色差信号UN+1(またはVN+1)の値t2に補間係数C2を乗算した乗算値t2*C2を算器56に出力する。乗算器54は、遅延回路37から入力される第(N+2)番の画素に対応する色差信号UN+2(またはVN+2)の値t3に補間係数C3を乗算した乗算値t3*C3を算器56に出力する。
【0040】
加算器55は、乗算器51からの乗算値t0*C0と、乗算器52からの乗算値t1*C1を加算し、加算値t0*C0+t1*C1を加算器57に出力する。加算器56は、乗算器53からの乗算値t2*C2と、乗算器54からの乗算値t3*C3を加算し、加算値t2*C2+t3*C3を加算器57に出力する。加算器57は、加算器55からの加算値t0*C0+t1*C1と、加算器56からの加算値t2*C2+t3*C3を加算し、補間係数C0乃至C3の総和値で除算し、第(N+0.5)番の画素に対応する色差信号UN+0.5(またはVN+0.5)の値として出力する。
【0041】
次に、色差信号U,Vを補間する処理に関わる当該機能ブロックの動作について説明する。
【0042】
例えば図4に示すように、クロックタイミングt0において、セレクタ31、遅延回路32乃至遅延回路38が、それぞれ、色差信号V4,U4,V3,U3,V2,U2,V1,U1を後段に出力した場合、その後の4クロック周期を要して4点補間回路40により、色差信号V2.5が補間される。従って、クロックタイミングt4において、セレクタ39のDA端子には遅延回路38から色差信号U3が入力され、DB端子には4点補間回路40で補間された色差信号V2.5が入力される。
【0043】
このとき、セレクタ39は、Dフリップフロップ41からの制御信号S=0に対応して、DA端子に入力された色差信号U3をQA端子から遅延回路42に出力し、DB端子に入力された補間された色差信号V2.5をQB端子から出力する。なお、それと同期して遅延回路42からは、1クロック前に補間されて遅延されていた色差信号U2.5が出力される。したがって、Hフィルタ14からは、図3(E)に示すように、第(N+0.5)番の画素に対応する色差信号UN+0.5と色差信号VN+0.5が同時に出力されることになる。
【0044】
以上のように、HDFF11においては、4:2:2の映像信号の高周波成分を除去し、かつ、色差信号を補間して4:4:4の映像信号に変換するので、各画素に対し、輝度信号Yと色差信号U,Vを同じ空間周波数で扱うことが可能となる。これにより、例えば、映像の色操作に関する処理として、色付きスポットライト処理や色変化付きトレイル処理等を施すことが可能となる。
【0045】
次に、図6は、HDFF11から水平走査の順序で入力される4:4:4の映像信号の走査方向を水平方向から垂直方向に変換するスキャンコンバータ15の構成例を示している。スキャンコンバータ15は、FPGAなどよりなるスキャンコンバートIC61、およびSRAM(Synchronous Dynamic Random Access Memory)64−1,64−2から構成される。
【0046】
スキャンコンバートIC61のVスキャンジェネレータ62は、外部から供給されるREF信号が示す水平走査タイミングに基づき、対応する垂直走査タイミングを示す信号を発生してSDRAMコントローラ63およびSRAMコントローラ66に出力する。
【0047】
SDRAMコントローラ63は、HDFF11から入力される4:4:4:4の映像信号をフィールド単位で切り替えてSDRAM64−1,64−2に記録する。SDRAMコントローラ63はまた、SDRAM64−1,64−2に記録した映像信号を所定順序(後述)で読み出してSRAM(Static Random Access Memory)65に出力する。
【0048】
SRAM65は、1ブロック当たりの容量が2ビット*2048であり、20ブロックからなるメモリが4個用いられており、SRAMコントローラ66の制御に基づき、SDRAMコントローラ63から入力される映像信号をキャッシュしてVDFF16に出力する。
【0049】
コンバータ67は、VDFF16から垂直走査の順序で入力される映像信号のうちの色差信号U,Vの情報量を、それぞれ10ビット幅から8ビット幅に削減する(詳細については図18を参照して後述する)。コンバータ67はまた、VDFF16から入力される映像信号がSDフォーマットである場合、そのフィールド画像をフレーム画像に変換する(詳細については図47を参照して後述する)。
【0050】
図7は、フィールド単位で走査方向を垂直に変換する処理の大まかな時間推移を示している。なお、同図以降において、バッファ(buffer)AはSDRAM64−1,64−2のうちの一方に対応し、バッファBは他方に対応するものとする。
【0051】
図8は、フィールド単位で記録した映像信号を垂直走査の順序でバースト(burst)転送するSDRAM64−1,64−2と、バースト転送された映像信号をキャッシュするSRAM65との関係を模式的に示している。すなわち、SRAM65は、SDRAM64−1,64−2に記録されている映像信号を垂直方向に走査しながらキャタピラのように画像の左から右に水平方向に移動するかのように動作して、映像信号をキャッシュする。なお、水平走査の順序でSDRAM64−1,64−2に入力される単位時間当たりの転送量と、垂直走査の順序でSRAM65に出力される単位時間当たりの転送量が等しければ、系は安定した動作を保障される。すなわち、SDRAM64−1,64−2において、読み出しアドレスが書き込みアドレスを追い越すような事態は発生しない。
【0052】
なお、SDRAM64−1,64−2(以下、SDRAM64−1,64−2を個々に区別する必要がない場合、単にSDRAM64と記述する)は、SDRAMの特性として、複数(例えば、2種類)のバンク(bank)に対して適正な幅のバースト転送(auto pre-charge 4word burst)を交互に実施すると、連続のアクセス(read or write)が保障されている。図9は、そのような特性を利用した2種類のバンクに対する交互バーストでの連続アクセス(write burst)のタイミングの一例を示している。
【0053】
具体的には、図10に示すように、SDRAM64に対して水平走査の順序で書き込まれる映像信号は、8ワード単位で、すなわち、各バンクに対して4ワードずつバースト転送される。また、図11に示すように、SDRAM64から垂直走査の順序で読み出される映像信号も、8ワード単位で、すなわち、各バンクから4ワードずつバースト転送される。
【0054】
ここで、1ワードは、1個の画素に対応する輝度信号Y(10ビット)、色差信号U,V(各10ビット)、およびキー信号K(10ビット)を示す40ビットの情報量を示している。
【0055】
このように、8ワード単位(図11における矩形領域2個分)でSRAM65にバースト転送してキャッシュした映像信号を、4回の垂直走査に相当する時間だけ遅延させて、SRAM65から読み出すようにすれば、SRAM65を最小の容量(図11の矩形領域2個分、1フィールドの0.4%に相当する容量)とすることができる。
【0056】
図12は、SDRAM64に対する、HDフォーマット(1080i×1920)の映像信号の2バンク4ワードバーストにおけるアドレスの2次元割り当ての一例を示している。
【0057】
同図に示すように、書き込み時においては、水平走査に合わせたアドレスに書き込まれるようにバースト先頭アドレスが制御される。この場合、読み出し時には、バーストサイズ幅のバンドとしてアクセスされる。
【0058】
SDRAM64に対する書き込みアドレスの生成は、以下の条件を満たす図13に示すような、上位カウンタ(ROW)および下位カウンタ(COLUMN)から成るカウンタ機構による。
【0059】
(1) カウントアップは4ワードバーストを2回に1回で出力するステートマシンによる。後発側のバンクアクセス中に次回のカウントが行われる。
(2) カウンタのリロードおよび2Kアップ(reload and 2K up)は、0x3c0で実施。下位0x3c0回のカウント毎にリロードデータには1kがプラスされる。
(3) 上位カウンタの値が540に達したとき、1フィールドが終了される。
【0060】
図14は、SDRAM64からの連続読み出しの順序を示している。同図に示すように、4ワードバースト2バンクピンポン(4word burst 2bank pingpong)アクセスを利用して、SRAM65への書き込み領域を、図11における矩形領域(4ワード)が540個より成る短冊単位(rect(n):n=1,2,・・・,1df)で、かつ、連続して行わなければならない。
【0061】
SDRAM64からの読み出しアドレスの生成は、以下の条件を満たす図15に示すような、上位カウンタ(ROW)および下位カウンタ(COLUMN)から成るカウンタ機構による。
【0062】
(1) 下位カウンタは毎回リロードされる。リロード値は上位カウンタの値が540に達したとき、4ワードカウントアップされる。
(2) 下位カウンタの値が0x3c0となり、且つ、上位カウンタの値が540に達したとき終了される。
(3) 上位カウンタのリロードおよび2Kアップは、4ワードバーストピンポン毎に実施される。
(4) 上位カウントが540に達したとき、1つの短冊単位(4ワード*540ライン)のリロードが終了される。
【0063】
SDRAM64から短冊単位で読み出された映像信号は、SRAM65にキャッシュされた後にアクセスされる。しかしながら、アクセスの順序は一定であり、完全同期であるので、汎用キャッシュのようなアソシエイティブ(associative)構造ではなく、完全同期予測制御となる。
【0064】
図16は、SRAM65を構成する4個のメモリ(2ビット*2048*20ブロック)を、それぞれ幅40ビット(1ワード)*2048のリングとして用いる概念を示している。実際には、図17(A)に示すように、図16に示したリングを4本重ねて、幅160ビット(4ワード)*2048のキャタピラ(図8(B))を構成して用いる。
【0065】
具体的には、図15に示した順序でSDRAM64から読み出した矩形領域(4ワード)を、図17(B)に示すように、1ワードずつリング0乃至3に順に書き込み、3垂直走査分だけ遅延し、図17(C)に示すようにリングの円周方向に読み出す。
【0066】
以上のような動作により、リアルタイムで映像信号の走査方向を水平方向から垂直方向に変換し、後段のVDFF16に出力することが可能となる。
【0067】
VDFF16に入力された映像信号は、上述したように、垂直方向の1次元ローパスフィルタ処理が施されて、再びスキャンコンバータ15に入力されてコンバータ67に供給される。
【0068】
次に、後段の36ビット幅のZBT SRAMが8個用いられているバッファ20に適合させることを目的として、VDFF16から垂直走査の順序で入力される4:4:4:4の40ビット幅の映像信号を36ビット幅の映像信号に変換するコンバータ67の処理について説明する。
【0069】
コンバータ67は、図18に示すように、VDFF16から垂直走査の順序で入力される4:4:4:4の40ビット幅の映像信号(10ビットの輝度信号Y、10ビットの色差信号U、10ビットの色差信号V、および10ビットのキー信号K)のうち、最終的に空間周波数特性を1/2に戻してしまう色差信号U,Vの値を、例えば、切り捨て演算や四捨五入演算等により、それぞれ8ビットに削減して映像信号(Y/U/V/K)を36ビット幅に変換し、後段のバッファ20に出力する。
【0070】
なお、色差信号U,Vのビット幅の削減は、上述したように、それぞれを8ビット幅とすることに限定するものではなく、例えば、色差信号Uを9ビットに削減し、且つ、色差信号Vを7ビットに削減するなど、その削減幅を適宜変更するようにしてもよい。
【0071】
以上説明したように、コンバータ67においては、映像信号のうちの輝度信号Yと、ディジタルビデオエフェクトにおいて重要なキー信号Kの情報量を損なうことなく(ビット幅を減少させることなく)、映像信号(Y/U/V/K)のビット幅を後段のバッファ20(36ビット幅のZBT SRAM)に適合させることが可能となる。
【0072】
次に、図19は、バッファ20の詳細な構成例を示している。バッファ20は、同時読み出しが可能な4個のユニットU0,U1,L0,L1から成る。ユニットU0の構成例を図20に示す。ユニットU0は、SRAM73−U0−Aより成るAバッファと、SRAM73−U0−Bより成るBバッファとでダブルバッファ構成とされている。これにより、ユニットU0は、2次元読み出しと同時書き込みが実現されている。同様に、ユニットU0乃至L1のそれぞれもダブルバッファ構成とされており、2次元読み出しと同時書き込みが実現されている。なお、SRAM73−U0−A乃至73−L1−Bを個々に区別する必要がない場合、単にSRAM73と記述する。
【0073】
図21は、スキャンコンバータ15から入力される映像信号のユニットU0乃至L1に対する割り付けを示している。すなわち、スキャンコンバータ15が出力するEVENフィールドの映像信号をバッファ20に書き込む際には、同図(A)に示すように、第m(m=0,2,4,・・・)番目の水平走査線上の隣接する2画素と、その真下の第m+2番目の水平走査線上の隣接する2画素から成る4画素を、それぞれ異なるユニットU0乃至L1のAバッファに書き込むようにする。また、スキャンコンバータ15が出力するODDフィールドの映像信号をバッファ20に書き込む際には、同図(B)に示すように、第m+1(m=0,2,4,・・・)番目の水平走査線上の隣接する2画素と、その真下の第m+3番目の水平走査線上の隣接する2画素から成る4画素を、それぞれ異なるユニットU0乃至L1のBバッファに書き込むようにする。
【0074】
このように上下左右に隣接する4画素をそれぞれ異なるユニットU0乃至L1に書き込むことによって、それらを同時に読み出すことができるので、4画素の映像信号を用いて当該4画素の中心に位置する画素を補間する処理を効率的に実行することができる。
【0075】
次に、バッファ20の有効アクセス領域(access area)において、映像信号を書き込んだデータ領域(real image area)の周囲に設定する領域外データバンド(ブラックエリア)について、図22乃至図28を参照して説明する。
【0076】
図22は、バッファ20に設定されるリードアドレス(リニアアドレスとも記述する)の座標系を示しており、図23は、図22のデータ領域(real image area)にEVENフィールドの映像信号が書き込まれている状態を示している。
【0077】
一般に、バッファ20に書き込まれた映像信号が読み出される場合、DME3においてデジタルエフェクトが施された映像信号がディスプレイに表示されるときのディスプレイ上のアドレス(以下、スクリーンアドレスと記述する)に基づいて、バッファ20のリードアドレスが決定される。ただし、スクリーンアドレスとリードアドレスとの関係の詳細については、図29を参照して後述する。
【0078】
リードアドレス[X,Y]が、図24に「×」印で示す位置に決定された場合、リードアドレス[X,Y]の位置の上下左右の4画素の映像信号が読み出されて補間回路22に供給されて、リードアドレス[X,Y]に対応する画素の映像信号が補間される(ただし、4画素を用いる補間処理はHDフォーマットの映像信号に対してであり、SDフォーマットの映像信号には16画素を用いる補間処理が適用される)。
【0079】
ところで、図25に「×」印で示すような位置がリードアドレス[X,Y]とされた場合、その上下左右には4個の画素が存在しないので、4画素を用いる通常の補間処理とは異なる処理が必要となる。したがって、リードアドレス[X,Y]が与えられたとき、当該リードアドレス[X,Y]は通常の補間処理が適用できるか否かを判定する必要があり、その判定を行う専用の回路などが必要となる。そこで、そのような判定用の回路などを省くことを目的として、画像バッファ20に領域外データバンドを設定する。
【0080】
具体的には、図26および図27に示すように、バッファ20の有効アクセス領域(access area)において、映像信号を書き込こむデータ領域(real image area)の上下左右それぞれに2画素分のダミーの映像信号を書き込むことにより、領域外データバンド(ブラックエリア)を設定する。なお、図27は、図26のデータ領域(real image area)にEVENフィールドの映像信号が書き込まれ、その周囲に領域外データバンドが設定されている状態を示している。
【0081】
ここで、バッファ20に、映像信号を書き込こむデータ領域と領域外データバンドを設定することが記憶容量的に可能であることを示す。
【0082】
バッファ20には、図19に示したように8個のSRAM73−U0−A乃至73−L1−Bが設けられており、そのうちの4個でフィールド画像の映像信号を格納するようになされているが、SRAM73の1個の有効アクセス領域は、256kワード=256*1024ワード=262144ワードである。そこに書き込むデータ領域および領域外データバンドは、フィールド画像の映像信号(540×1920)と上下左右それぞれに2画素分のダミーの映像信号との1/4であるので、必要な容量は544*1924/4=261664ワードであり、SRAM73の1個の有効アクセス領域に完全に格納される。よって、バッファ20には、領域外データバンドを設定することが記憶容量的に可能である。
【0083】
このように、バッファ20の有効アクセス領域にデータ領域および領域外データバンドを設定することにより、例えば図28に「×」印で示すような位置がリードアドレス[X,Y]とされた場合においても、その上下左右には4画素が存在するので、4画素を用いる通常の補間処理を適用することが可能となる。したがって、リードアドレス[X,Y]が与えられたときに、当該リードアドレス[X,Y]に対して通常の補間処理が適用できるか否かを判定する必要がなくなり、当該判定を行うための専用の回路などを省くことが可能となる。
【0084】
なお、このとき発生可能なリードアドレス[X,Y]としては、
−960.5<X<960.5
−540.5<Y<540.5
である。
【0085】
次に、バッファ20にリードアドレスを供給するアドレスジェネレータ21について説明するが、その前に、スクリーンアドレスとリードアドレスとの関係の詳細について、図29を参照して説明する。図29(A)は、バッファ20に設定されるリードアドレス(Xm,Ym,T)(上述したリードアドレス[X,Y]と同等のもの)の座標系を示している。リードアドレスの座標系においては原点を画像の中心に設けている。なお、Tは映像に対してライティング(lighting)を付加するときに指定するライティング変調軸(T軸)を示している。図29(B)は、スクリーンアドレス(H,V)の座標系を示している。スクリーンアドレスの座標系においては原点を画像に左上に設けている。リードアドレスの座標系の点a乃至dは、それぞれスクリーンアドレスの座標系の点a’乃至d’に対応している。
【0086】
リードアドレス(Xm,Ym,T)を3行3列の変換行列Aを用いて変換したものがスクリーンアドレス(H,V)であるので、逆に、順次走査するスクリーンアドレス(H,V)に変換行列Aの逆行列A-1を乗算すれば、リードアドレス(Xm,Ym,T)を算出することができる。
【0087】
具体的には、次式に示すようにリードアドレス(Xm,Ym,T)を算出する。
【数1】

Figure 0004465844
なお、エフェクトパラメータa11乃至a33は、次式に示すように逆行列A-1の要素である。
【数2】
Figure 0004465844
また、ライティング変調軸Tの回転係数p,qは、p=cosθ、q=sinθである。
【0088】
このように、リードアドレス(Xm,Ym,T)は、スクリーンアドレス(H,V)をパラメータとする関数値X(H,V),Y(H,V),T(H,V),Z(H,V)を用いて演算される。
【0089】
ところで、リードアドレスは、順次走査するスクリーンアドレスの画素毎(クロック毎)に算出されることになるが、スクリーンアドレスの全ての画素について関数値X(H,V),Y(H,V),T(H,V),Z(H,V)を演算し、リードアドレスを算出していたのでは、その演算量は膨大なものとなり、演算専用の回路が必要となる。
【0090】
そこで、図30に示すように、スクリーンアドレスの4端点、すなわち左上点(0,0)、左下点(0,539)、右上点(1919,0)、および右下点(1919,539)、について、予め関数値X(0,0),Y(0,0),T(0,0),Z(0,0),X(0,539),Y(0,539),T(0,539),Z(0,539),X(1919,0),Y(1919,0),T(1919,0),Z(1919,0),X(1919,539),Y(1919,539),T(1919,539),Z(1919,539)(以下、関数値X(0,0)乃至Z(1919,539)と記述する)を演算するようにし、スクリーンアドレスの他の画素についての関数値X(H,V),Y(H,V),T(H,V),Z(H,V)は、当該4端点について演算した関数値X(0,0)乃至Z(1919,539)を用いて補間し、対応するリードアドレスを算出するようにする。
【0091】
このようにスクリーンアドレスの4端点に対応する関数値X(0,0)乃至Z(1919,539)を用いて、他の画素についての関数値X(H,V),Y(H,V),T(H,V),Z(H,V)を補間する処理を、以下、スーパインタポレーション(Super Interpolation)と称し、特に、左上点(0,0)と左下点(0,539)の垂直方向の補間処理、または右上点(1919,0)と右下点(1919,539)の垂直方向の補間処理をスーパインタポレーション(V)と称し、スーパインタポレーション(V)の結果などの水平走査線上の左右両端点の関数値を用いた水平方向の補間処理をスーパインタポレーション(H)と称する。
【0092】
次に、スーパインタポレーションの処理タイミングについて、図31を参照して説明する。あるフィールド画像についてスーパインタポレーションを施す場合、スクリーンアドレスの4端点のそれぞれについて、当該フィールド画像の1フィールド前までに関数値X(0,0)乃至Z(1919,539)を予め演算して所定のレジスタ(後述)に保持する。そして、タイミング信号VMIXのEnableに同期して水平帰線期間(BLANK(H))の初期においてスーパインタポレーション(V)を実行し、タイミング信号HMIXのEnableに同期してスクリーンアドレスを水平走査する期間(ACTIVE AREA)において、クロック毎にスーパインタポレーション(H)を実行する。
【0093】
このように、スーパインタポレーション(H)とスーパインタポレーション(V)は、実行タイミングが異なる。
【0094】
図32は、アドレスジェネレータ21の構成例を示している。レジスタ演算ブロック91は、スクリーンアドレスの4端点の関数値X(0,0)乃至Z(1919,539)を演算してスーパインタポレーションブロック93に供給する。ミキサ係数ブロック92は、内蔵するレジスタに予め保持されているミキサ係数をスーパインタポレーションブロック93に供給する。
【0095】
スーパインタポレーションブロック93は、レジスタ演算ブロック91から供給されるスクリーンアドレスの4端点の関数値(0,0)乃至Z(1919,539)、および、ミキサ係数ブロック92から供給されるミキサ係数を用いて、スーパインタポレーション(H)およびスーパインタポレーション(V)を実行し、得られるスクリーンアドレス上の4端点以外の画素にそれぞれ対応する関数値X(H,V),Y(H,V),T(H,V),Z(H,V)を補間してリードアドレス演算ブロック94に出力する。
【0096】
リードアドレス演算ブロック94は、スーパインタポレーションブロック93から入力されるスクリーンアドレスの全ての画素にそれぞれ対応する関数値X(H,V),Y(H,V),T(H,V),Z(H,V)を用い、リードアドレスを生成してバッファ20に出力する。
【0097】
図33は、スーパインタポレーションブロック93の構成例を示している。スーパインタポレーションブロック93は、関数値X(H,V)を補間するブロック、関数値Y(H,V)を補間するブロック、関数値T(H,V)を補間するブロック、および関数値Z(H,V)を補間するブロックから構成される。
【0098】
関数値X(H,V)を補間するブロックのREG_V_START_XLレジスタ101−Xは、レジスタ演算ブロック91から供給される左上点(0,0)についての関数値X(0,0)を保持し、セレクタ107−XのA端子に出力する。REG_V_START_XRレジスタ102−Xは、レジスタ演算ブロック91から供給される右上点(1919,0)についての関数値X(1919,0)を保持し、セレクタ107−XのB端子に出力する。FF_H_START_Xレジスタ103−Xは、セレクタ112−XのA端子を介して入力されるミキサ111−Xの出力を保持し、セレクタ108−XのB端子に出力する。FF_H_END_Xレジスタ104−Xは、セレクタ112−XのB端子を介して入力されるミキサ111−Xの出力を保持し、セレクタ110−XのB端子に出力する。REG_V_END_XLレジスタ105−Xは、レジスタ演算ブロック91から供給される左下点(0,539)についての関数値X(0,539)を保持し、セレクタ109−XのB端子に出力する。REG_V_END_XRレジスタ106−Xは、レジスタ演算ブロック91から供給される右下点(1919,539)についての関数値X(1919,539)を保持し、セレクタ109−XのA端子に出力する。
【0099】
セレクタ107−X乃至110−Xは、A端子またはB端子への入力を後段に出力する。セレクタ112−Xは、ミキサ111−Xの出力をFF_H_START_Xレジスタ103−X、またはFF_H_END_Xレジスタ104−Xに出力する。ミキサ111−Xは、A端子に入力されるセレクタ108−Xから出力をAとし、B端子に入力されるセレクタ110−Xから出力をBとし、ミキサ係数ブロック92から供給されるミキサ係数をknとした場合、クロック毎に次式を用いて補間値Cを後段に出力する。
補間値C=A・(1.0−kn)+B・kn
ただし、実際には乗算回数を1回減少させるために次式が用いられる。
補間値C=kn(B−A)+A
【0100】
なお、関数値Y(H,V),T(H,V),Z(H,V)のそれぞれを補間する各ブロックの構成は、関数値X(H,V)を演算するブロックの構成と同様であるので、その説明は省略する。ただし、REG_V_START_XLレジスタ101−X乃至REG_V_END_ZRレジスタ106−Zと、それらに保持させる関数値X(0,0)乃至Z(1919,539)との対応関係は、図34に示すとおりである。
【0101】
図35は、ミキサ係数ブロック92に内蔵されているレジスタと、そこに保持されているミキサ係数との対応関係を示している。
【0102】
次に、スーパインタポレーションブロック93の動作について説明する。なお、REG_V_START_XLレジスタ101−X乃至REG_V_END_ZRレジスタ106−Zには、対応する関数値(0,0)乃至Z(1919,539)がレジスタ演算ブロック91から供給されているとする。
【0103】
始めに、スクリーンアドレスの垂直成分Vが初期化されてV=0とされ、タイミング信号VMIXのEnableに同期してスーパインタポレーション(V)が開始される。まず、スクリーンアドレスの左端点(0,V)のスーパインタポレーション(V)を実行するために、ミキサ111−X乃至111−Zへの関数値の入力元および出力先が、図36に示すとおりとなるように、各ブロックにおいてスイッチング等がなされる。
【0104】
具体的には、例えば関数値X(H,V)を補間するブロックでは、図37に示すように、セレクタ107−X乃至110−X,112−Xがスイッチングされる。これにより、ミキサ111−XのA端子には、REG_V_START_XLレジスタ101−Xに保持されている左上点(0,0)についての関数値X(0,0)が入力され、B端子には、REG_V_END_XLレジスタ105−Xに保持されている左下点(0,539)についての関数値X(0,539)が入力される。ミキサ111−Xにはさらに、ミキサ係数供給ブロック92からミキサ係数が供給される。ミキサ111−Xは、スクリーンアドレスの左端点(0,V)についての関数値X(0,V)を補間する。補間さえた関数値X(0,V)は、セレクタ112−Xを介してFF_H_START_Xレジスタ103−Xにラッチされる。
【0105】
なお、他のブロックにおいても同様の処理がなされ、スクリーンアドレスの左端点(0,V)についての関数値Y(0,V)、関数値T(0,V)、関数値Z(0,V)が、それぞれ対応するFF_H_START_Xレジスタ103−Y乃至103−Zにラッチされる。
【0106】
次に、スクリーンアドレスの右端点(1919,V)のスーパインタポレーション(V)を実行するために、ミキサ111−X乃至111−Zへの関数値の入力元および出力先が、図38に示すとおりとなるように、各ブロックにおいてスイッチング等がなされる。
【0107】
具体的には、例えば関数値X(H,V)を補間するブロックでは、図39に示すように、セレクタ107−X乃至110−X,112−Xがスイッチングされる。これにより、ミキサ111−XのA端子には、REG_V_START_XRレジスタ102−Xに保持されている右上点(1919,539)についての関数値X(1919,539)が入力され、B端子には、REG_V_END_XRレジスタ106−Xに保持されている右下点(1919,539)についての関数値X(1919,539)が入力される。ミキサ111−Xにはさらに、ミキサ係数供給ブロック92からミキサ係数が供給される。ミキサ111−Xは、スクリーンアドレスの右端点(1919,V)についての関数値X(1919,V)を補間する。補間された関数値X(1919,V)は、セレクタ112−Xを介してFF_H_END_X104−Xにラッチされる。
【0108】
なお、他のブロックにおいても同様の処理がなされ、スクリーンアドレスの右端点(1919,V)についての関数値Y(1919,V)、関数値T(1919,V)、関数値Z(1919,V)が、それぞれ対応するFF_H_END_Xレジスタ104−Y乃至104−Zにラッチされる。
【0109】
ここまでの処理は、水平帰線期間において実行される。
【0110】
その後、タイミング信号HMIXのEnableに同期し、スクリーンアドレスの水平成分Hが初期化されてH=0とされ、スーパインタポレーション(H)が開始される。スーパインタポレーション(H)を実行するために、ミキサ111−X乃至111−Zへの関数値の入力元および出力先が、図40に示すとおりとなるように、各ブロックにおいてスイッチング等がなされる。
【0111】
具体的には、例えば関数値X(H,V)を補間するブロックでは、図41に示すように、セレクタ108−X,110−Xがスイッチングされる。これにより、ミキサ111−XのA端子には、FF_H_START_Xレジスタ103−Xに保持されている左端点(0,V)についての関数値X(0,V)が入力され、B端子には、FF_H_END_Xレジスタ104−Xに保持されている右端点(1919,V)についての関数値X(1919,V)が入力される。ミキサ111−Xにはさらに、クロック毎に、ミキサ係数供給ブロック92からミキサ係数が供給される。ミキサ111−Xは、クロック毎に順次、左端点(0,V)から右端点(1919,V)についての関数値X(H,V)を補間してリードアドレス演算ブロック94に供給する。
【0112】
なお、他のブロックにおいても同様の処理がなされ、クロック毎に左端点(0,V)から、順次、右端点(1919,V)までについての関数値Y(H,V)、関数値T(H,V)、関数値Z(H,V)が補間されてリードアドレス演算ブロック94に供給される。
【0113】
スクリーンアドレスの水平成分Hが初期化された後、ここまでの処理は、水平走査期間に実行される。
【0114】
その後、垂直成分Vが1だけインクリメントされ、上述したスーパインタポレーション(V)以降の処理が繰り返される。そして、垂直成分Vが540に達した場合、処理中のフィールドに対するスーパインタポレーションは終了されて、次のフィールドが処理の対象とされる。
【0115】
以上説明のように、水平帰線期間においてスーパインタポレーション(V)を実行し、水平走査期間においてスーパインタポレーション(H)を実行するようにしたので、スーパインタポレーション(V)とスーパインタポレーション(H)を同一の回路(スーパインタポレーションブロック93)を共用して実行することが可能となる。
【0116】
次に、補間回路22について図42を参照して説明する。補間回路22は、バッファ20にバッファリングされている映像信号がHDフォーマットである場合、4画素の映像信号を用いる4点補間処理を動作周波数74.25MHzで実行する。また、バッファ20に、SDフォーマットの映像信号がフィールド・フレーム変換されてバッファリングされている場合、16画素の映像信号を用いる16点補間処理を、動作周波数54MHz(SDフォーマットの映像信号を処理する際の通常の動作周波数13.5MHzの4倍速)で実行する。
【0117】
図42は、補間回路22の構成例を示している。補間回路22は、バッファ20のユニットU0,L0から同時に入力される垂直方向に隣接する2画素の映像信号を比例分配して、当該2画素の間の位置に対応する映像信号の補間値TAを演算する垂直方向比例分配回路121、バッファ20のユニットU1,L1から同時に入力される垂直方向に隣接する2画素の映像信号を比例分配して、当該2画素の間の位置に対応する映像信号の補間値TBを演算する垂直方向比例分配回路122、および、垂直方向比例分配回路121から入力される補間値TAと垂直方向比例分配回路122から入力される補間値TBを比例分配する水平方向比例分配回路123から構成される。
【0118】
図43は、垂直方向比例分配回路121の構成例を示している。垂直方向比例分配回路121には、バッファ20のユニットU0,L0から同時に入力される垂直方向に隣接する2画素の映像信号の他、および、当該2画素の間の補間点の垂直方向の位置を示す4ビットの位置情報r、および、セレクタ143,144を制御するsel信号が入力される。
【0119】
ユニットU0からの映像信号は遅延回路(D)141に入力され、ユニットL0からの映像信号は遅延回路142に入力される。位置情報rは、遅延回路148に入力される。sel信号は、遅延回路152に入力される。
【0120】
遅延回路(D)141は、ユニットU0からの映像信号を所定のクロック周期だけ遅延して、セレクタ143のa端子およびセレクタ144のb端子に出力する。遅延回路142は、ユニットL0からの映像信号を所定のクロック周期だけ遅延して、セレクタ143のb端子およびセレクタ144のa端子に出力する。
【0121】
セレクタ143は、遅延回路152から入力されるsel信号に基づき、a端子に入力されるユニットU0からの映像信号、またはb端子に入力されるユニットL0からの映像信号を乗算器145に出力する。セレクタ144は、NOT回路153から入力される反転されたsel信号に基づき、a端子に入力されるユニットL0からの映像信号、またはb端子に入力されるユニットU0からの映像信号を乗算器146に出力する。したがって、乗算器145,146の一方にはユニットU0からの映像信号が入力され、他方にはユニットL0からの映像信号が入力される。ここで、乗算器145に入力される映像信号の値をAとし、乗算器146に入力される映像信号の値をBとする。
【0122】
乗算器145は、遅延回路151から入力される値(16−r)に、セレクタ143から入力される映像信号の値Aを乗算して演算器147に出力する。乗算器146は、遅延回路149から入力される位置情報の値rに、セレクタ144から入力される映像信号の値Bを乗算して演算器147に出力する。演算器147は、乗算器145の出力と乗算器146の出力を加算して16で除算する。
【0123】
以上説明したように構成される垂直方向比例分配回路121は、次式で示される垂直方向の補間値TAを水平方向比例分配回路123に出力する。
補間値TA=(A*(16−r)+B*r)/16
【0124】
なお、垂直方向比例分配回路122の構成は、垂直方向比例分配回路121と同様であるので、その説明は省略する。
【0125】
図44は、水平方向比例分配回路123の構成例を示している。水平方向比例分配回路123には、垂直方向比例分配回路121からの垂直方向の補間値TA、垂直方向比例分配回路122からの垂直方向の補間値TBの他、補間点の水平方向の位置を示す4ビットの位置情報r’が補間係数供給回路171,172に入力される。
【0126】
乗算器161は、垂直方向比例分配回路121からの垂直方向の補間値TAと、補間係数供給回路171から入力される補間係数Ciを乗算してレジスタ(R0)163に出力する。乗算器162は、垂直方向比例分配回路122からの垂直方向の補間値TBと、補間係数供給回路172から入力される補間係数Ciを乗算してレジスタ(R1)164に出力する。
【0127】
加算器165は、レジスタ(R0)163の出力とレジスタ(R1)164の出力を加算してレジスタ(R2)166に出力する。加算器167は、レジスタ(R2)166の出力と、自身の1クロック周期前の出力を保持しているレジスタ(R3)168の出力を加算して、レジスタ(R3)168および除算器169に出力する。
【0128】
除算器169は、加算器167の出力(所定に期間における加算器165の主力の累算値)を補間係数の総和ΣCiで除算してレジスタ(R4)170に出力する。
【0129】
レジスタ(R0)163,レジスタ(R1)164,レジスタ(R2)166、およびレジスタ(R3)168は、上段からの入力を所定のクロック周期だけ遅延して出力する。レジスタ(R3)168は、RSR_R信号に対応してリセットする。保持している値を初期化する。レジスタ(R4)170は、EN信号に対応して保持している値を出力する。
【0130】
補間係数供給回路171,172は、補間点の水平方向の位置を示す4ビットの位置情報r’に対応する補間係数Ciを、それぞれ乗算器161,162に供給する。
【0131】
以上説明したように構成される水平方向比例分配回路123は、次式で示される水平方向の補間値Xを出力する。
補間値X=Σ(Ci*Ti)/ΣCi
ここでiは、4点補間処理の場合、i=0,1であり、16点補間処理の場合、i=0,1,2,・・・,7である。
【0132】
図45は、フィールド・フレーム変換されたSDフォーマットの映像信号を16点補間処理するときの補間係数Ciの値を示す。
【0133】
次に、補間回路22の動作について説明する。始めに、HDフォーマットの映像信号が、バッファ20にバッファリングされている場合における4点補間処理について説明する。
【0134】
この場合、図21に示したように、HDフォーマットの映像信号は、フィールド画像単位で、かつ、上下左右に隣接する4画素がそれぞれ分かれてバッファ20のユニットU0,U1,L0,L1に格納されているので、例えば、図46(A)に示すEVENフィールドの「×」印で示す補間点に対応する映像信号を補間するとき、補間点の上下左右の4画素の映像信号を1クロック周期で同時に読み出すことができる。
【0135】
ユニットU0,U1,L0,L1から1クロック周期で同時に読み出された映像信号(以下、それぞれを信号U0,U1,L0,L1と記述する)のうち、信号U0,L0は垂直方向比例分配回路121に供給され、信号U1,L1は垂直方向比例分配回路122に供給される。
【0136】
垂直方向比例分配回路121は、補間点の垂直方向の位置情報rに応じて信号U0,L0を比例分配し、得られた垂直方向の補間値TAを水平方向比例分配回路123に出力する。垂直方向比例分配回路122は、補間点の垂直方向の位置情報rに応じて信号U1,L1を比例分配し、得られた垂直方向の補間値TBを水平方向比例分配回路123に出力する。
【0137】
水平方向比例分配回路123は、補間点の水平方向の位置情報r’に応じて、垂直方向の補間値TA,TBを比例分配し、「×」印で示す補間点に対応する補間値を得る。
【0138】
なお、図46(B)に示すODDフィールドの映像信号に対する動作も同様であるので、その説明は省略する。
【0139】
次に、フィールド・フレーム変換されたSDフォーマットの映像信号が、バッファ20に格納されている場合における16点補間処理について説明するが、その前に、格納されているSDフォーマットの映像信号について、480i×720のSDフォーマットの映像信号を一例に図47を参照して説明する。
【0140】
SDフォーマットの映像信号は、バッファ20に入力される前、スキャンコンバータ15のコンバータ67によって、EVENフィールドの画像(図47(A)に○で示される画素から成る)と、ODDフィールドの画像(図47(A)に□で示される画素から成る)が合成されて、図47(A)に示すような480×720のフレーム画像に変換されており、さらに、上下に隣接する○で示される画素と□で示される画素から、その2画素の間に位置する画素(図47(B)に△で示される画素)が補間されて960×720のフレーム画像に変換されている。
【0141】
960×720のフレーム画像に変換されたSDフォーマットの映像信号は、図48に示すように、すなわち、HDフォーマットのフィールド画像がバッファ20に格納される状態(図21)と同様に、上下左右に隣接する4画素のそれぞれがバッファ20のユニットU0,U1,L0,L1に分かれて格納される。
【0142】
補間回路22の16点補間処理の動作の概念について説明する。例えば、図49の「×」印で示す補間点に対応する映像信号を補間する場合、補間点「×」の上段の隣接した8画素と、上段の隣接した8画素から成る16画素(同図に示した水平方向に長い長方形で囲まれた16画素)の映像信号が読み出されて比例分配が行われる。
【0143】
具体的には、図50に示すように、上段の8画素の映像信号と、それらにそれぞれに対応する下段の8画素の映像信号が垂直方向比例分配回路121,122によってそれぞれ比例分配され、垂直方向の補間値T0乃至T7が算出される。垂直方向の補間値T0乃至T7は、水平方向比例分配回路123によって、図51に示すように、補間値T0乃至T7に補間係数C0乃至C7がそれぞれ乗算され、その総和Σ(Ti*Ci)が補間係数Ciの総和ΣCiで除算されて、補間点「×」の補間値が算出される。ただし、いまの場合、i=0,1,2,・・・,7である。
【0144】
次に、動作周波数54MHzで実行される補間回路22の16点補間処理の動作タイミングについて、図52乃至図54を参照して説明する。上述したように、バッファ20のユニットU0,U1,L0,L1は同時読み出しが可能であるので、16点補間処理においては、1クロック周期毎に4画素ずつ順次読み出される。
【0145】
すなわち、図52(A)に示すように、バッファ20のユニットU0,U1,L0,L1に分かれて格納されている補間に用いる16画素の映像信号をa0乃至a15と記述することにすれば、第0番目のタイミング(cycle0)において、同図(B)に示す映像信号a0,a1,a8,a9が読み出され、第2番目のタイミング(cycle1)において、同図(C)に示す映像信号a2,a3,a10,a11が読み出され、第3番目のタイミング(cycle2)において、同図(D)に示す映像信号a4,a5,a12,a13が読み出され、第4番目のタイミング(cycle3)において、同図(E)に示す映像信号a6,a7,a14,a15が読み出される。
【0146】
第0番目のタイミング(cycle0)において読み出された映像信号a0,a8は、垂直方向比例分配回路121に入力され、映像信号a1,a9は、垂直方向比例分配回路122に入力される。第1番目のタイミング(cycle1)において読み出された映像信号a2,a10は、垂直方向比例分配回路121に入力され、映像信号a3,a11は、垂直方向比例分配回路122に入力される。第2番目のタイミング(cycle2)において読み出された映像信号a4,a12は、垂直方向比例分配回路121に入力され、映像信号a5,a13は、垂直方向比例分配回路122に入力される。さらに、第3番目のタイミング(cycle3)において読み出された映像信号a6,a14は、垂直方向比例分配回路121に入力され、映像信号a7,a15は、垂直方向比例分配回路122に入力される。
【0147】
図53(A),(B)は、それぞれ垂直方向比例分配回路121,122の動作タイミングを示している。垂直方向比例分配回路121は、バッファ20のユニットU0,L0からの入力タイミングに4クロック周期だけ遅延したタイミングで、順次、垂直方向の補間値TAを水平方向比例分配回路123に出力する。
【0148】
具体的には、第5番目のタイミング(cycle5)において、映像信号a0,a8を比例分配した補間値Ta0を出力し、第6番目のタイミング(cycle6)において、映像信号a2,a10を比例分配した補間値Ta2を出力し、第7番目のタイミング(cycle7)において、映像信号a4,a12を比例分配した補間値Ta4を出力し、さらに、第8番目のタイミング(cycle8)において、映像信号a6,a14を比例分配した補間値Ta6を出力する。
【0149】
同様に、垂直方向比例分配回路122は、バッファ20のユニットU1,L1からの入力タイミングに4クロック周期だけ遅延したタイミングで、順次、垂直方向の補間値TBを水平方向比例分配回路123に出力する。
【0150】
具体的には、第5番目のタイミング(cycle5)において、映像信号a1,a9を比例分配した補間値Ta1を出力し、第6番目のタイミング(cycle6)において、映像信号a3,a11を比例分配した補間値Ta3を出力し、第7番目のタイミング(cycle7)において、映像信号a5,a13を比例分配した補間値Ta5を出力し、さらに、第8番目のタイミング(cycle8)において、映像信号a7,a15を比例分配した補間値Ta7を出力する。
【0151】
図54は、水平方向比例分配回路123の動作タイミングを示している。垂直方向比例分配回路123は、4クロック周期毎に補間値Xを出力する。
【0152】
具体的には、乗算器161は、第5乃至8番目のタイミングで順次入力された垂直方向の補間値Ta0,Ta2,Ta4,Ta6に、それぞれ補間係数C0,C2,C4,C6を乗算してレジスタ(R0)163に出力する。レジスタ(R0)163は、入力タイミングから3クロック周期だけ遅延した第8乃至11番目のタイミングで、乗算値Ta0*C0,Ta2*C2,Ta4*C4,Ta6*C6を加算器165に順次出力する。
【0153】
同様に、乗算器162は、第5乃至8番目のタイミングで順次入力された垂直方向の補間値Ta1,Ta3,Ta5,Ta7に、それぞれ補間係数C1,C3,C5,C7を乗算してレジスタ(R1)164に出力する。レジスタ(R1)164は、入力タイミングから3クロック周期だけ遅延した第8乃至11番目のタイミングで、乗算値Ta1*C1,Ta3*C3,Ta5*C5,Ta7*C7を加算器165に順次出力する。
【0154】
加算器165は、第8乃至11番目のタイミングで乗算器161,162のそれぞれから順次入力された乗算値Ta0*C0と乗算値Ta1*C1、乗算値Ta2*C2と乗算値Ta3*C3、乗算値Ta4*C4と乗算値Ta5*C5、乗算値Ta6*C6と乗算値Ta7*C7を、それぞれ加算して、レジスタ(R2)166に出力する。レジスタ(R2)166は、入力タイミングから1クロック周期だけ遅延した第9乃至12番目のタイミングで、加算値Ta0*C0+Ta1*C1,Ta2*C2+Ta3*C3,Ta4*C4+Ta5*C5,Ta6*C6+Ta7*C7を、加算器167に順次出力する。
【0155】
加算器167は、第9乃至12番目のタイミングで加算器165から順次入力された加算値と、レジスタ(R3)168から入力される1クロック周期前の加算器167の出力を加算してレジスタ(R3)168および除算器169に出力する。なお、レジスタ(R3)168は、4クロック周期毎に入力されるRST_R信号に同期して初期化される。よって、第13番目のタイミングにおいて、加算器167は、第9乃至12番目のタイミングで加算器165から順次入力された加算値の累計値を出力することになる。
【0156】
除算器169は、加算器167からの累算値を補間係数の総和ΣCiで除算してレジスタ(R4)170に出力する。レジスタ(R4)170は、4クロック周期毎(いまの場合、第13番目のタイミング)に入力されるEN信号に同期して、乗算器169からの除算値、すなわち補間点「×」の補間値Xを出力する。
【0157】
以上説明したように、本実施の形態においては、HDフォーマットの映像信号とSDフォーマットの映像信号を同一の回路、すなわち、補間回路22によって補間することができる。なお、HDフォーマットの映像信号に対しては4点補間処理を実行し、SDフォーマットの映像信号に対しては、4点補間処理ではなく、16点補間処理を実行するようにしたので、従来型SD専用機器と同等品質の補間値を得ることができる。
【0158】
なお、本発明は、映像信号を処理するあらゆる機器に適用することが可能である。
【0159】
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0160】
この記録媒体は、図1に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク6(フロッピディスクを含む)、光ディスク7(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク8(MD(Mini Disc)を含む)、もしくは半導体メモリ9などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMやハードディスクなどで構成される。
【0161】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0162】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0163】
【発明の効果】
以上のように、本発明の画像処理装置および方法、並びに記録媒体のプログラムによれば、入力された画像に対応する映像信号をメモリに記憶させ、変形後の画像が重畳されるフレームの4端点のそれぞれに対応するパラメータを算出し、算出した4端点のそれぞれに対応するパラメータのうち、垂直方向に対向する2端点のそれぞれに対応するパラメータを用いて、2組の2端点のそれぞれの間の水平方向に対向する2点のそれぞれに対応するパラメータを補間し、補間した水平方向に対向する2点のそれぞれに対応するパラメータを用いて、変形後の画像上の点に対応するパラメータを補間し、補間した変形後の画像上の点に対応するパラメータに基づいて、メモリの読み出しアドレスを生成するが、垂直方向の補間処理と水平方向の補間処理を、共通の回路により実行するようにしたので、省スペース化および低コスト化を実現することが可能となる。
【図面の簡単な説明】
【図1】本発明を適用した画像合成装置の構成例を示すブロック図である。
【図2】 DME3の構成例を示すブロック図である。
【図3】Hフィルタ14における色差信号U,Vを補間する処理の概念を説明するための図である。
【図4】Hフィルタ14の色差信号U,Vを補間する処理に関わる部分の構成例を示すブロック図である。
【図5】図4の4点補間回路40の構成例を示すブロック図である。
【図6】スキャンコンバータ15の構成例を示すブロック図である。
【図7】スキャンコンバータ15のフィールド単位で走査方向を垂直に変換する処理の大まかな時間推移を示す図である。
【図8】フィールド単位で記録した映像信号を垂直走査の順序でバースト(burst)転送するSDRAM64−1,64−2と、バースト転送された映像信号をキャッシュするSRAM65との関係を模式的に示す図である。
【図9】 SDRAM64の2種類のバンクに対する交互バーストでの連続アクセスのタイミングの一例を示す図である。
【図10】 SDRAM64への連続アクセス(書き込み)を説明するための図である。
【図11】 SDRAM64への連続アクセス(読み出し)を説明するための図である。
【図12】 SDRAM64に対する、HDフォーマット(1080i×1920)の映像信号の2バンク4ワードバーストにおけるアドレスの2次元割り当ての一例を示す図である。
【図13】 SDRAM64に対する書き込みアドレスを生成するカウンタ機構を説明するための図である。
【図14】 SDRAM64からの連続読み出しの順序を示す図である。
【図15】 SDRAM64に対する読み出しアドレスを生成するカウンタ機構を説明するための図である。
【図16】 SRAM65を構成するメモリをリングとして用いる概念を示する図である。
【図17】 SRAM65を構成する4個のメモリを4重のリングとして用いる概念を示する図である。
【図18】コンバータ67が色差信号U,Vの値を8ビットに削減して映像信号(Y/U/V/K)を36ビット幅に変換する処理を説明するための図である。
【図19】バッファ20の構成例を示すブロック図である。
【図20】バッファ20のユニットU0の構成例を示すブロック図である。
【図21】スキャンコンバータ15から入力されるHDフォーマットの映像信号のユニットU0乃至L1に対する割り付けを示す図である。
【図22】バッファ20に設定されるリードアドレスの座標系を示す図である。
【図23】バッファ20のデータ領域にEVENフィールドの映像信号が書き込まれている状態を示す図である。
【図24】4点補間処理に用いる4個の画素の位置を示す図である。
【図25】4点補間処理に用いる4個の画素が存在しない例を示す図である。
【図26】バッファ20の有効アクセス領域に設ける領域外データバンドを示す図である。
【図27】バッファ20のデータ領域にEVENフィールドの映像信号が書き込まれ、その周囲に領域外データバンドが設定されている状態を示す図である。
【図28】バッファ20に領域外データバンドが設定されたことによって4点補間処理が可能となることを説明するための図である。
【図29】スクリーンアドレスとリードアドレスとの関係を説明するための図である。
【図30】アドレスジェネレータ21によるスーパインタポレーションを説明するための図である。
【図31】スーパインタポレーションの処理タイミングを説明するための図である。
【図32】アドレスジェネレータ21の構成例を示すブロック図である。
【図33】スーパインタポレーションブロック93の構成例を示すブロック図である。
【図34】 REG_V_START_XLレジスタ101−X乃至REG_V_END_ZRレジスタ106−Zに保持させる関数値X(0,0)乃至Z(1919,539)を示す図である。
【図35】ミキサ係数ブロック92に内蔵されているレジスタと、そこに保持されているミキサ係数との対応関係を示す図である。
【図36】ミキサ111−X乃至111−Zへの関数値の入力元および出力先を示す図である。
【図37】図36に対応する関数値X(H,V)を補間するブロックの状態を示す図である。
【図38】ミキサ111−X乃至111−Zへの関数値の入力元および出力先を示す図である。
【図39】図38に対応する関数値X(H,V)を補間するブロックの状態を示す図である。
【図40】ミキサ111−X乃至111−Zへの関数値の入力元および出力先を示す図である。
【図41】図40に対応する関数値X(H,V)を補間するブロックの状態を示す図である。
【図42】補間回路42の構成例を示すブロック図である。
【図43】垂直方向比例分配回路121の構成例を示すブロック図である。
【図44】水平方向比例分配回路123の構成例を示すブロック図である。
【図45】16点補間処理に用いる補間係数C0乃至C7の値を示す図である。
【図46】HDフォーマットの映像信号に対する4点補間処理を説明するための図である。
【図47】スキャンコンバータ15のコンバータ67による、SDフォーマットの映像信号に対するフィールド・フレーム変換を説明するための図である。
【図48】スキャンコンバータ15から入力されるフィールド・フレーム変換されたSDフォーマットの映像信号のユニットU0乃至L1に対する割り付けを示す図である。
【図49】SDフォーマットの映像信号に対する16点補間処理を説明するための図である。
【図50】16点補間処理における垂直方向比例分配回路121,122の動作を説明するための図である。
【図51】16点補間処理における水平方向比例分配回路123の動作を説明するための図である。
【図52】16点補間処理における映像信号の読み出しタイミングを説明するための図である。
【図53】16点補間処理における垂直方向比例分配回路121,122の動作タイミングを説明するための図である。
【図54】16点補間処理における水平方向比例分配回路123の動作タイミングを説明するための図である。
【符号の説明】
1 レバーアーム, 2 制御回路, 3 DME, 4 合成回路, 5 ドライブ, 6 磁気ディスク, 7 光ディスク, 8 光磁気ディスク, 9半導体メモリ, 11 HDFF, 12乃至14 Hフィルタ, 15 スキャンコンバータ, 16 VDFF , 17乃至19 Vフィルタ, 20 バッファ, 21 アドレスジェネレータ, 22 補間回路, 64 SDRAM, 65 SRAM, 67 コンバータ, 73 SRAM, 93 スーパインタポレーションブロック, 121,122 垂直方向比例分配回路, 123 水平方向比例分配回路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus and method, and a recording medium. For example, the present invention relates to an image processing apparatus and method, and a recording medium that are suitable for use in arbitrarily changing the shape of an image for display.
[0002]
[Prior art]
The advent of digital storage has greatly contributed to the technical progress of television program production techniques. DRAM (Dinamic Random Access Memory) in digital storage has a recording capacity of one scanning line, one field image, one frame image, and a series of multiple images. It has been gradually increased. Further, even in consideration of the manufacturing cost, circuit scale, power consumption, etc., it is economically practical.
[0003]
As an application example of digital storage such as DRAM, there is so-called DME (Digital Multi Effects) which is used when an image is deformed or moved to an arbitrary shape when a television program is produced.
[0004]
In a DME or the like, a video signal is temporarily stored in an image memory such as a DRAM, and a deformed image is output by reading out the stored video signal in accordance with a read address corresponding to the shape of the deformed image. Can do.
[0005]
Note that the read address needs to be generated in units of pixels corresponding to the shape of the image after deformation, but usually corresponds to the four end points (4 pixels) of the image after deformation in order to reduce the amount of calculation. After the calculation for generating the read address is executed, the calculation result for generating the read address corresponding to the position other than the four end points is interpolated using the calculation result.
[0006]
[Problems to be solved by the invention]
By the way, this interpolation needs to be executed independently in the vertical and horizontal directions. However, both a vertical direction interpolation circuit and a horizontal direction interpolation circuit are provided, or a dedicated CPU or the like is provided for executing vertical direction interpolation processing and horizontal direction interpolation processing by software. This is not efficient, and there is a problem that the scale of the entire apparatus becomes large.
[0007]
The present invention has been made in view of such a situation. By performing a vertical interpolation process and a horizontal interpolation process when generating a read address with a common circuit, space saving and low cost are achieved. The purpose is to enable realization.
[0008]
[Means for Solving the Problems]
The image processing apparatus according to the present invention includes a storage unit that stores a video signal corresponding to an input image in a memory, a designation unit that designates a deformed shape of the image, and four frames on which the deformed image is superimposed. The calculation means for calculating the parameter corresponding to each of the end points, and among the parameters corresponding to each of the four end points calculated by the calculation means, two sets of parameters are used, corresponding to each of the two end points opposed in the vertical direction. The vertical direction interpolation means for interpolating the parameters corresponding to each of the two points facing each other in the horizontal direction between the two end points, and the parameters corresponding to each of the two points facing each other in the horizontal direction interpolated by the vertical direction interpolation means. The horizontal direction interpolation means for interpolating the parameters corresponding to the points on the transformed image, and the points on the transformed image interpolated by the horizontal direction interpolation means A generation unit that generates a read address of the memory based on the parameters, and a read unit that reads out a video signal from the memory according to the read address generated by the generation unit, and the vertical direction interpolation unit and the horizontal direction interpolation unit have a common circuit Consists of
[0009]
The vertical direction interpolation means can be operated during a horizontal blanking period, and the horizontal direction interpolation means can be operated during a horizontal scanning period.
[0010]
The image processing method of the present invention includes a storage step for storing a video signal corresponding to an input image in a memory, a designation step for designating a deformed shape of the image, and four frames on which the deformed image is superimposed. A calculation step for calculating a parameter corresponding to each of the end points, and a parameter corresponding to each of the two end points opposed in the vertical direction among the parameters corresponding to each of the four end points calculated in the processing of the calculation step, A vertical interpolation step for interpolating parameters corresponding to two horizontally opposed points between each of two sets of two end points, and two horizontally opposed pixels interpolated in the vertical interpolation step processing A horizontal interpolation step for interpolating the parameters corresponding to the points on the transformed image using the corresponding parameters, and the horizontal interpolation Based on the parameters corresponding to the points on the transformed image interpolated in the step processing, a generation step for generating a read address of the memory, and a video signal is read from the memory according to the read address generated in the processing of the generation step A vertical interpolation step processing and a horizontal interpolation step processing are executed by a common circuit.
[0011]
The recording medium program of the present invention includes a storage step for storing a video signal corresponding to an input image in a memory, a designation step for designating a deformed shape of the image, and a frame on which the deformed image is superimposed. A calculation step for calculating a parameter corresponding to each of the four end points, and a parameter corresponding to each of the two end points opposed in the vertical direction among the parameters corresponding to each of the four end points calculated in the processing of the calculation step. A vertical interpolation step for interpolating parameters corresponding to two horizontally opposed points between each of two sets of two end points, and two points opposed to the horizontal direction interpolated in the vertical interpolation step processing A horizontal interpolation step for interpolating parameters corresponding to points on the transformed image using parameters corresponding to A generation step for generating a read address of the memory based on parameters corresponding to points on the transformed image interpolated by the direction interpolation step processing, and a video signal from the memory according to the read address generated by the generation step processing Read out, and the vertical interpolation step processing and the horizontal interpolation step processing are executed by a common circuit.
[0012]
In the image processing apparatus and method and the recording medium program of the present invention, the video signal corresponding to the input image is stored in the memory, and the deformed shape of the image is designated. Further, parameters corresponding to each of the four end points of the frame on which the deformed image is superimposed are calculated, and among the calculated parameters corresponding to each of the four end points, corresponding to each of the two end points facing in the vertical direction. Parameters are used to interpolate the parameters corresponding to each of the two horizontally opposed points between each of the two sets of two end points, and the parameters corresponding to each of the two horizontally opposed points interpolated are Used to interpolate parameters corresponding to the points on the transformed image, and to generate a memory read address based on the interpolated parameters on the transformed image point, and to generate the read address Accordingly, the video signal is read from the memory. The vertical interpolation process and the horizontal interpolation process are executed by a common circuit.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
An image composition apparatus to which the present invention is applied will be described with reference to FIG. FIG. 1 is a block diagram illustrating a configuration example of an image composition apparatus. This image composition device is used, for example, in the production of a television broadcast program, and synthesizes a video input A image and a video input B image that have undergone digital image processing such as deformation and movement. Output.
[0014]
The image synthesizing apparatus detects a user's operation and outputs a corresponding operation signal to the control circuit 2 and controls the drive 5 to control a magnetic disk 6 (including a floppy disk), an optical disk 7 (CD-ROM ( The control program stored in the compact disc-read only memory (DVD) (including digital versatile disc), magneto-optical disk 8 (including MD (mini disc)), or semiconductor memory 9 is read and read. A control circuit 2 for controlling the entire image synthesizing apparatus based on an output control program, an operation signal from the lever arm 1, etc., a DME 3 for performing digital image processing on the video input A and outputting it to the synthesizing circuit 4; The video input A video is superimposed on the video input A video subjected to digital image processing and output to the subsequent stage.
[0015]
Next, the operation of the image composition device will be described. The video of the video input A is subjected to digital image processing corresponding to the user's operation on the lever arm 1 by the DME 3 and is superimposed on the video of the video input B by the synthesis circuit 4 and output.
[0016]
FIG. 2 shows a configuration example of the DME 3. The video input A input to the DME 3 is a 4: 2: 2: 4 (Y / U / V / K) HD format (eg, 1080i × 1920) video signal (30 bits wide), that is, 10 bits wide Image signal composed of a luminance signal Y, color difference signals U and V each having a width of 5 bits, and a key signal K having a width of 10 bits. As the video input A, an HD (High Definition) format video signal, an SD (Standered Definition) format video signal (for example, 480i × 720), and other format video signals can be input. It is.
[0017]
In FIG. 2, the luminance signal Y is displayed as a signal Y, the 5-bit wide color difference signals U and V are integrated and displayed as a 10-bit wide C signal, and the key signal K is displayed as a K signal. ing.
[0018]
A horizontal defocus filter (hereinafter referred to as HDFF (Horizontal Defocus Filter)) 11 of the DME 3 is an H filter 12 that performs one-dimensional low-pass filter processing on the luminance signal Y input in the horizontal scanning order, and in the horizontal scanning order. After interpolating the H filter 13 that performs one-dimensional low-pass filter processing on the input key signal K and the color difference signals U and V input in the order of horizontal scanning (see FIGS. 3 to 6 for details) It is configured by an H filter 14 that performs one-dimensional low-pass filter processing (described later). Therefore, the 4: 4: 4: 4 video signal (40-bit width) is supplied to the scan converter 15 subsequent to the HDFF 11.
[0019]
The scan converter 15 holds video signals input from the HDFF 11 in the order of horizontal scanning, scans the held video signals in the vertical direction, that is, converts the scanning direction from the horizontal direction to the vertical direction, and The image is output to a focus filter (hereinafter referred to as VDFF (Vertical Defocus Filter)) 16.
[0020]
Further, the scan converter 15 reduces the bit width of the color difference signals U and V in the video signal (40-bit width) returned from the VDFF 16 in the order of the vertical scanning and outputs the reduced signal to the buffer 20.
[0021]
Further, when the video signal returned from the VDFF 16 is in the SD format, the scan converter 15 converts the field image into a frame image, interpolates, and outputs the frame image to the buffer 20. When the video signal input from the VDFF 16 is in the HD format, it is output to the buffer 20 in the state of a field image.
[0022]
The VDFF 16 is a V filter 17 that performs one-dimensional low-pass filter processing on the luminance signal Y input in the vertical scanning order, a V filter 18 that performs one-dimensional low-pass filtering processing on the key signal K input in the vertical scanning order, and The color difference signals U and V inputted in the order of vertical scanning are constituted by a V filter 19 which applies a one-dimensional low-pass filter process. The VDFF 16 returns the 4: 4: 4: 4 video signal (40-bit width) subjected to the one-dimensional low-pass filter processing in the vertical direction to the scan converter 15.
[0023]
The buffer 20 is composed of ZBT SRAM (Zero Bus Turnaround Static Random Access Memory), writes the video signal supplied from the scan converter 15 in accordance with the write address supplied from the address generator 21, and the address generator 21. Are read out in units of four pixels in accordance with the read address (read adrs) supplied from, and output to the interpolation circuit 22.
[0024]
The interpolation circuit 22 uses the video signal input from the buffer 20 in units of 4 pixels, interpolates the video signal corresponding to a predetermined position inside the 4 pixels, and outputs it to the synthesis circuit 4.
[0025]
The address generator 15 and the interpolation circuit 22 may be configured by an FPGA (Field Programmable Gate Array).
[0026]
Next, the color difference signals U and V of the 4: 2: 2: 4 video signal input to the HDFF 11 are interpolated by the H filter 14 and converted to a 4: 4: 4: 4 video signal. This will be described with reference to FIGS. In the following description, the notation regarding the key signal K is omitted, and it is also described as a 4: 2: 2 (Y / U / V) video signal or a 4: 4: 4 video signal.
[0027]
FIG. 3 shows a concept of processing for interpolating the color difference signals U and V.
[0028]
FIG. 3A shows a video signal input to the HDFF 11 in the order of horizontal scanning. That is, the HDFF 11 has a luminance signal Y corresponding to a certain pixel (the 0th pixel).0And the color difference signal U corresponding to the 0th pixel0Are input at the same time. In the next clock, the luminance signal Y corresponding to the 0.5th pixel located to the right of 0th0.5And the color difference signal V corresponding to the 0th pixel.0Are input at the same time. In the next clock, the luminance signal Y corresponding to the first pixel located to the right of the 0.5th1And the color difference signal U corresponding to the first pixel1Are input at the same time. Similarly, the luminance signal Y corresponding to the Nth pixelNAnd the color difference signal U corresponding to the Nth pixelNAt the same time, and in the next clock, the luminance signal Y corresponding to the (N + 0.5) th pixel located on the right of the Nth pixelN + 0.5And the color difference signal V corresponding to the Nth pixel.NAre input at the same time.
[0029]
As shown in FIG. 3A, the luminance signal Y corresponding to the Nth pixel.NAnd color difference signal UN, VNAre not simultaneously input, and the color difference signal U corresponding to the (N + 0.5) th pixelN + 0.5, VN + 0.5Does not exist. Therefore, the luminance signal YNAnd color difference signal UN, VNAnd the color difference signal U corresponding to the (N + 0.5) th pixel in order to unify the spatial frequency of the luminance signal and the color difference signal.N + 0.5, VN + 0.5Is interpolated.
[0030]
Color difference signal U corresponding to the (N + 0.5) th pixelN + 0.53B, as shown in FIG. 3B, the color difference signals of the pixels adjacent to the left and right, that is, the color difference signal U corresponding to the (N-1) th pixel.N-1, The color difference signal U corresponding to the Nth pixelN, The color difference signal U corresponding to the (N + 1) th pixelN + 1, And the color difference signal U corresponding to the (N + 2) th pixelN + 2Interpolate using.
[0031]
Similarly, the color difference signal V corresponding to the (N + 0.5) th pixelN + 0.53, as shown in FIG. 3C, the color difference signals of the pixels adjacent to the left and right, that is, the color difference signal V corresponding to the (N−1) th pixel.N-1, The color difference signal V corresponding to the Nth pixelN, The color difference signal V corresponding to the (N + 1) th pixelN + 1, And the color difference signal V corresponding to the (N + 2) th pixelN + 2Interpolate using.
[0032]
Next, FIG. 4 shows a configuration example of a portion related to the process of interpolating the color difference signals U and V of the H filter 14.
[0033]
The selector 31 outputs the color difference signals U and V sequentially input from all stages to the delay circuit (D) 32 and the four-point interpolation circuit 40 in synchronization with the clock. The delay circuits 32 to 37 and 42 delay the color difference signal input from the previous stage by one clock cycle and output it. The delay circuits 33, 35, and 37 also output the color difference signal delayed by one clock cycle to the four-point interpolation circuit 40.
[0034]
When the control signal S from the D flip-flop 41 is 0, the selector 39 outputs the output of the delay circuit 38 input to its own DA terminal from the QA terminal to the delay circuit 42 and also to its own DB terminal. The output of the input 4-point interpolation circuit 40 is output from the QB terminal. On the other hand, when the control signal S from the D flip-flop 41 is 1, the output of the delay circuit 38 input to its own DA terminal is output from the QB terminal and is input to its own DB terminal. The output of the interpolation circuit 40 is output from the QA terminal to the delay circuit 42. The selector 39 receives the color difference signal U as shown in FIG.NAnd color difference signal VN-0.5Are output at the same time.
[0035]
The 4-point interpolation circuit 40 interpolates the color difference signal by pipeline processing that requires 4 clock cycles using the following equation.
Interpolated color difference signal value
= (T0* C0+ T1* C1+ T2* C2+ TThree* CThree) / (C0+ C1+ C2+ CThree)
[0036]
Where t0Is the color difference signal U corresponding to the (N−1) th pixel inputted from the delay circuit 37.N-1(Or VN-1) And t1Is the color difference signal U corresponding to the Nth pixel input from the delay circuit 35.N(Or VN) And t2Is the color difference signal U corresponding to the (N + 1) th pixel input from the delay circuit 33.N + 1(Or VN + 1) And tThreeIs the color difference signal U corresponding to the (N + 2) th pixel input from the selector 31.N + 2(Or VN + 2) Value. Here, the interpolation coefficient C0Thru CFourAre −163, 1187, 1187, and −163, respectively.
[0037]
The D flip-flop 41 alternately outputs 0 and 1 as the control signal S to the selector 39 every clock.
[0038]
FIG. 5 shows a configuration example of the four-point interpolation circuit 40. The four-point interpolation circuit 40 includes multipliers 51 to 54 and adders 55 to 57.
[0039]
The multiplier 51 receives the color difference signal U corresponding to the (N−1) th pixel input from the selector 31.N-1(Or VN-1) Value t0Interpolation coefficient C0Multiplication value t multiplied by0* C0Is output to the adder 55. The multiplier 52 receives the color difference signal U corresponding to the Nth pixel input from the delay circuit 33.N(Or VN) Value t1Interpolation coefficient C1Multiplication value t multiplied by1* C1Is output to the adder 55. The multiplier 53 receives the color difference signal U corresponding to the (N + 1) th pixel input from the delay circuit 35.N + 1(Or VN + 1) Value t2Interpolation coefficient C2Multiplication value t multiplied by2* C2Is output to the calculator 56. The multiplier 54 receives the color difference signal U corresponding to the (N + 2) th pixel input from the delay circuit 37.N + 2(Or VN + 2) Value tThreeInterpolation coefficient CThreeMultiplication value t multiplied byThree* CThreeIs output to the calculator 56.
[0040]
The adder 55 is a multiplication value t from the multiplier 51.0* C0And the multiplication value t from the multiplier 521* C1And the addition value t0* C0+ T1* C1Is output to the adder 57. The adder 56 is a multiplication value t from the multiplier 53.2* C2And the multiplication value t from the multiplier 54Three* CThreeAnd the addition value t2* C2+ TThree* CThreeIs output to the adder 57. The adder 57 adds the added value t from the adder 55.0* C0+ T1* C1And the addition value t from the adder 562* C2+ TThree* CThreeAnd the interpolation coefficient C0Thru CThreeAnd the color difference signal U corresponding to the (N + 0.5) th pixel.N + 0.5(Or VN + 0.5) Value.
[0041]
Next, the operation of the functional block related to the process of interpolating the color difference signals U and V will be described.
[0042]
For example, as shown in FIG. 4, at the clock timing t0, the selector 31, the delay circuit 32 to the delay circuit 38 are respectively connected to the color difference signal V.Four, UFour, VThree, UThree, V2, U2, V1, U1Is output to the subsequent stage, the color difference signal V is obtained by the four-point interpolation circuit 40 in the subsequent four clock cycles.2.5Is interpolated. Therefore, at the clock timing t4, the color difference signal U is sent from the delay circuit 38 to the DA terminal of the selector 39.ThreeThe color difference signal V interpolated by the 4-point interpolation circuit 40 is input to the DB terminal.2.5Is entered.
[0043]
At this time, the selector 39 corresponds to the control signal S = 0 from the D flip-flop 41, and the color difference signal U input to the DA terminal.ThreeFrom the QA terminal to the delay circuit 42 and the interpolated color difference signal V input to the DB terminal.2.5Is output from the QB terminal. In synchronism with this, from the delay circuit 42, the color difference signal U which has been interpolated and delayed by one clock before.2.5Is output. Therefore, from the H filter 14, as shown in FIG. 3E, the color difference signal U corresponding to the (N + 0.5) th pixel.N + 0.5And color difference signal VN + 0.5Will be output at the same time.
[0044]
As described above, the HDFF 11 removes the high-frequency component of the 4: 2: 2 video signal and interpolates the color difference signal to convert it to a 4: 4: 4 video signal. The luminance signal Y and the color difference signals U and V can be handled at the same spatial frequency. Thereby, for example, as a process related to the color operation of the video, it is possible to perform a colored spotlight process, a trail process with a color change, and the like.
[0045]
Next, FIG. 6 shows a configuration example of the scan converter 15 that converts the scanning direction of the 4: 4: 4 video signal input from the HDFF 11 in the order of horizontal scanning from the horizontal direction to the vertical direction. The scan converter 15 includes a scan conversion IC 61 made of an FPGA or the like, and SRAMs (Synchronous Dynamic Random Access Memory) 64-1 and 64-2.
[0046]
The V scan generator 62 of the scan conversion IC 61 generates a signal indicating the corresponding vertical scanning timing based on the horizontal scanning timing indicated by the REF signal supplied from the outside, and outputs the signal to the SDRAM controller 63 and the SRAM controller 66.
[0047]
The SDRAM controller 63 switches the 4: 4: 4: 4 video signal input from the HDFF 11 in units of fields and records them in the SDRAMs 64-1 and 64-2. The SDRAM controller 63 also reads the video signals recorded in the SDRAMs 64-1 and 64-2 in a predetermined order (described later) and outputs them to an SRAM (Static Random Access Memory) 65.
[0048]
The SRAM 65 has a capacity of 2 bits * 2048 per block, and uses four memories of 20 blocks. Based on the control of the SRAM controller 66, the SRAM 65 caches a video signal input from the SDRAM controller 63. Output to VDFF16.
[0049]
The converter 67 reduces the information amount of the color difference signals U and V in the video signal input from the VDFF 16 in the vertical scanning order from 10-bit width to 8-bit width (see FIG. 18 for details). Will be described later). When the video signal input from the VDFF 16 is in the SD format, the converter 67 converts the field image into a frame image (details will be described later with reference to FIG. 47).
[0050]
FIG. 7 shows a rough time transition of the process of converting the scanning direction to vertical in field units. In the following figures, buffer A corresponds to one of SDRAMs 64-1 and 64-2, and buffer B corresponds to the other.
[0051]
FIG. 8 schematically shows the relationship between the SDRAMs 64-1 and 64-2 that burst-transfer video signals recorded in field units in the vertical scanning order, and the SRAM 65 that caches the burst-transferred video signals. ing. That is, the SRAM 65 operates as if moving horizontally from the left to the right of the image like a caterpillar while scanning the video signals recorded in the SDRAMs 64-1 and 64-2 in the vertical direction. Cache the signal. If the transfer amount per unit time input to the SDRAMs 64-1 and 64-2 in the horizontal scanning order is equal to the transfer amount per unit time output to the SRAM 65 in the vertical scanning order, the system is stable. Operation is guaranteed. That is, in the SDRAMs 64-1 and 64-2, a situation where the read address overtakes the write address does not occur.
[0052]
Note that the SDRAMs 64-1 and 64-2 (hereinafter simply referred to as the SDRAM 64 when there is no need to distinguish between the SDRAMs 64-1 and 64-2) have a plurality of (for example, two types) SDRAM characteristics. When burst transfer with an appropriate width (auto pre-charge 4 word burst) is alternately performed on a bank, continuous access (read or write) is guaranteed. FIG. 9 shows an example of the timing of successive access (write burst) in alternating bursts for two types of banks using such characteristics.
[0053]
Specifically, as shown in FIG. 10, the video signal written in the horizontal scanning order to the SDRAM 64 is burst-transferred in units of 8 words, that is, 4 words to each bank. As shown in FIG. 11, the video signal read from the SDRAM 64 in the order of vertical scanning is also burst-transferred in units of 8 words, that is, 4 words from each bank.
[0054]
Here, one word indicates a 40-bit information amount indicating a luminance signal Y (10 bits), color difference signals U and V (10 bits each), and a key signal K (10 bits) corresponding to one pixel. ing.
[0055]
As described above, the video signal cached by burst transfer to the SRAM 65 in units of 8 words (for two rectangular areas in FIG. 11) is read from the SRAM 65 after being delayed by a time corresponding to four vertical scans. For example, the SRAM 65 can have a minimum capacity (capacity corresponding to 0.4% of one field for two rectangular areas in FIG. 11).
[0056]
FIG. 12 shows an example of two-dimensional allocation of addresses in a 2-bank 4-word burst of an HD format (1080i × 1920) video signal to the SDRAM 64.
[0057]
As shown in the figure, at the time of writing, the burst head address is controlled so that writing is performed at an address in accordance with horizontal scanning. In this case, at the time of reading, it is accessed as a band having a burst size width.
[0058]
A write address for the SDRAM 64 is generated by a counter mechanism including an upper counter (ROW) and a lower counter (COLUMN) as shown in FIG.
[0059]
(1) Count-up is performed by a state machine that outputs a 4-word burst once every two times. The next count is performed during the bank access on the late side.
(2) Counter reload and 2K up are performed at 0x3c0. For each lower 0x3c0 count, 1k is added to the reload data.
(3) When the value of the upper counter reaches 540, one field is completed.
[0060]
FIG. 14 shows the order of continuous reading from the SDRAM 64. As shown in the figure, by using 4-word burst 2 bank pingpong access, the writing area to the SRAM 65 is a strip unit (rectangular area (4 words) consisting of 540 rectangles in FIG. 11). (n): n = 1, 2,..., 1df) and must be performed continuously.
[0061]
Generation of a read address from the SDRAM 64 is performed by a counter mechanism including an upper counter (ROW) and a lower counter (COLUMN) as shown in FIG.
[0062]
(1) The lower counter is reloaded every time. The reload value is incremented by 4 words when the value of the upper counter reaches 540.
(2) When the value of the lower counter reaches 0x3c0 and the value of the upper counter reaches 540, the process is terminated.
(3) Reloading of the upper counter and 2K up are performed every 4 word burst ping-pong.
(4) When the upper count reaches 540, the reloading of one strip unit (4 words * 540 lines) is completed.
[0063]
Video signals read from the SDRAM 64 in strip units are accessed after being cached in the SRAM 65. However, since the order of access is constant and complete synchronization, it is not an associative structure like a general-purpose cache, but complete synchronization predictive control.
[0064]
FIG. 16 shows a concept of using four memories (2 bits * 2048 * 20 blocks) constituting the SRAM 65 as a ring having a width of 40 bits (1 word) * 2048. In practice, as shown in FIG. 17A, four rings shown in FIG. 16 are stacked to form a caterpillar (FIG. 8B) having a width of 160 bits (4 words) * 2048.
[0065]
Specifically, the rectangular areas (4 words) read from the SDRAM 64 in the order shown in FIG. 15 are written sequentially into the rings 0 to 3 one by one as shown in FIG. 17B, for only three vertical scans. Delay and read out in the circumferential direction of the ring as shown in FIG.
[0066]
Through the operation as described above, the scanning direction of the video signal can be converted from the horizontal direction to the vertical direction in real time, and can be output to the VDFF 16 at the subsequent stage.
[0067]
As described above, the video signal input to the VDFF 16 is subjected to vertical one-dimensional low-pass filter processing, input to the scan converter 15 again, and supplied to the converter 67.
[0068]
Next, for the purpose of adapting to the buffer 20 in which eight 36-bit ZBT SRAMs in the subsequent stage are used, the 40-bit width of 4: 4: 4: 4 inputted from the VDFF 16 in the order of vertical scanning is used. Processing of the converter 67 that converts the video signal into a 36-bit video signal will be described.
[0069]
As shown in FIG. 18, the converter 67 is a video signal (10-bit luminance signal Y, 10-bit color difference signal U, 10-bit luminance signal Y, 4: 4: 4: 4) that is input from the VDFF 16 in the order of vertical scanning. Among the 10-bit color difference signal V and the 10-bit key signal K), the values of the color difference signals U and V that finally return the spatial frequency characteristics to ½ are obtained by, for example, rounding down or rounding off. The video signal (Y / U / V / K) is converted to a 36-bit width by reducing each to 8 bits and output to the buffer 20 at the subsequent stage.
[0070]
Note that the reduction of the bit widths of the color difference signals U and V is not limited to the 8-bit width as described above. For example, the color difference signal U is reduced to 9 bits and the color difference signal is reduced. The reduction range may be changed as appropriate, for example, V is reduced to 7 bits.
[0071]
As described above, in the converter 67, the video signal (without reducing the bit width) without deteriorating the information amount of the luminance signal Y of the video signal and the key signal K important in the digital video effect. The bit width of (Y / U / V / K) can be adapted to the subsequent buffer 20 (36-bit width ZBT SRAM).
[0072]
Next, FIG. 19 shows a detailed configuration example of the buffer 20. The buffer 20 includes four units U0, U1, L0, and L1 that can be read simultaneously. A configuration example of the unit U0 is shown in FIG. The unit U0 is configured as a double buffer with an A buffer composed of SRAM 73-U0-A and a B buffer composed of SRAM 73-U0-B. Thereby, the unit U0 realizes two-dimensional reading and simultaneous writing. Similarly, each of the units U0 to L1 has a double buffer configuration, and two-dimensional reading and simultaneous writing are realized. Note that SRAM 73-U0-A to 73-L1-B are simply referred to as SRAM 73 when it is not necessary to distinguish them individually.
[0073]
FIG. 21 shows allocation of video signals input from the scan converter 15 to the units U0 to L1. That is, when the video signal of the EVEN field output from the scan converter 15 is written into the buffer 20, as shown in FIG. 4A, the mth (m = 0, 2, 4,...) Horizontal Four pixels composed of two adjacent pixels on the scanning line and two adjacent pixels on the (m + 2) th horizontal scanning line immediately below are written in the A buffers of different units U0 to L1, respectively. When the video signal of the ODD field output from the scan converter 15 is written to the buffer 20, as shown in FIG. 5B, the (m + 1) th (m = 0, 2, 4,...) Horizontal Four pixels composed of two adjacent pixels on the scanning line and two adjacent pixels on the m + 3th horizontal scanning line immediately below are written in the B buffers of different units U0 to L1.
[0074]
In this way, by writing the four pixels adjacent vertically and horizontally to different units U0 to L1, they can be read out simultaneously, so that the pixel located at the center of the four pixels is interpolated using the four-pixel video signal. The processing to be performed can be executed efficiently.
[0075]
Next, in the effective access area (access area) of the buffer 20, the out-of-area data band (black area) set around the data area (real image area) in which the video signal is written will be described with reference to FIGS. I will explain.
[0076]
FIG. 22 shows a coordinate system of read addresses (also described as linear addresses) set in the buffer 20, and FIG. 23 shows the video signal of the EVEN field written in the data area (real image area) of FIG. It shows the state.
[0077]
In general, when a video signal written in the buffer 20 is read, based on an address on the display (hereinafter referred to as a screen address) when the video signal to which the digital effect is applied in the DME 3 is displayed on the display, The read address of the buffer 20 is determined. However, details of the relationship between the screen address and the read address will be described later with reference to FIG.
[0078]
When the read address [X, Y] is determined at the position indicated by “x” in FIG. 24, the video signals of four pixels on the top, bottom, left, and right of the position of the read address [X, Y] are read out and the interpolation circuit 22, the video signal of the pixel corresponding to the read address [X, Y] is interpolated (however, the interpolation process using four pixels is for the HD format video signal, and the SD format video signal Is applied with an interpolation process using 16 pixels).
[0079]
By the way, when the position indicated by the mark “x” in FIG. 25 is the read address [X, Y], there are no four pixels above, below, left, and right. Requires different processing. Therefore, when a read address [X, Y] is given, it is necessary to determine whether the read address [X, Y] can be applied with normal interpolation processing. Necessary. Therefore, an out-of-area data band is set in the image buffer 20 for the purpose of omitting such a determination circuit.
[0080]
Specifically, as shown in FIGS. 26 and 27, in the effective access area (access area) of the buffer 20, dummy for two pixels is provided on each of the upper, lower, left and right sides of the data area (real image area) into which the video signal is written. The out-of-area data band (black area) is set by writing the video signal. FIG. 27 shows a state in which the video signal of the EVEN field is written in the data area (real image area) of FIG. 26 and an out-of-area data band is set around the video signal.
[0081]
Here, it is shown that it is possible to set a data area and an out-of-area data band in which video signals are written in the buffer 20 in terms of storage capacity.
[0082]
The buffer 20 is provided with eight SRAMs 73-U0-A to 73-L1-B as shown in FIG. 19, and four of them store the video signal of the field image. However, one effective access area of the SRAM 73 is 256k words = 256 * 1024 words = 262144 words. Since the data area and the out-of-area data band to be written therein are ¼ of the field image video signal (540 × 1920) and the dummy video signal for two pixels in the upper, lower, left and right directions, the necessary capacity is 544 *. 1924/4 = 261664 words, which are completely stored in one effective access area of the SRAM 73. Therefore, an out-of-area data band can be set in the buffer 20 in terms of storage capacity.
[0083]
In this manner, by setting the data area and the out-of-area data band in the effective access area of the buffer 20, for example, when the position indicated by “x” in FIG. 28 is the read address [X, Y]. However, since there are four pixels on the top, bottom, left, and right, it is possible to apply a normal interpolation process using four pixels. Therefore, when the read address [X, Y] is given, it is not necessary to determine whether or not normal interpolation processing can be applied to the read address [X, Y]. It is possible to omit a dedicated circuit.
[0084]
The read address [X, Y] that can be generated at this time is
-960.5 <X <960.5
-540.5 <Y <540.5
It is.
[0085]
Next, the address generator 21 that supplies the read address to the buffer 20 will be described. Before that, the details of the relationship between the screen address and the read address will be described with reference to FIG. FIG. 29A shows a coordinate system of a read address (Xm, Ym, T) (equivalent to the above-described read address [X, Y]) set in the buffer 20. In the coordinate system of the read address, the origin is provided at the center of the image. T denotes a lighting modulation axis (T axis) designated when lighting is added to the video. FIG. 29B shows the coordinate system of the screen address (H, V). In the screen address coordinate system, the origin is provided at the upper left of the image. The points a to d in the coordinate system of the read address correspond to the points a 'to d' in the coordinate system of the screen address, respectively.
[0086]
Since the screen address (H, V) is obtained by converting the read address (Xm, Ym, T) using the 3 × 3 conversion matrix A, the screen address (H, V) is sequentially scanned. Inverse matrix A of transformation matrix A-1Can be read to calculate the read address (Xm, Ym, T).
[0087]
Specifically, the read address (Xm, Ym, T) is calculated as shown in the following equation.
[Expression 1]
Figure 0004465844
Effect parameter a11Thru a33Is the inverse matrix A as shown in the following equation:-1Elements.
[Expression 2]
Figure 0004465844
The rotation coefficients p and q of the lighting modulation axis T are p = cos θ and q = sin θ.
[0088]
Thus, the read address (Xm, Ym, T) is a function value X (H, V), Y (H, V), T (H, V), Z with the screen address (H, V) as a parameter. Calculated using (H, V).
[0089]
By the way, the read address is calculated for each pixel (clock) of the screen address to be sequentially scanned. For all the pixels of the screen address, the function values X (H, V), Y (H, V), If T (H, V) and Z (H, V) are calculated and the read address is calculated, the amount of calculation becomes enormous, and a circuit dedicated to the calculation is required.
[0090]
Therefore, as shown in FIG. 30, about the four end points of the screen address, that is, the upper left point (0,0), the lower left point (0,539), the upper right point (1919,0), and the lower right point (1919,539), Function values X (0,0), Y (0,0), T (0,0), Z (0,0), X (0,539), Y (0,539), T (0,539), Z (0,539) , X (1919,0), Y (1919,0), T (1919,0), Z (1919,0), X (1919,539), Y (1919,539), T (1919,539), Z (1919,539) (hereinafter referred to as function values X (0,0) to Z (1919,539)) is calculated, and function values X (H, V) for other pixels of the screen address , Y (H, V), T (H, V), Z (H, V) are interpolated using the function values X (0,0) to Z (1919,539) calculated for the four end points, The corresponding read address is calculated.
[0091]
Thus, using function values X (0,0) to Z (1919,539) corresponding to the four end points of the screen address, function values X (H, V) and Y (H, V) for other pixels are used. , T (H, V), Z (H, V) is referred to as Super Interpolation, and the upper left point (0,0) and lower left point (0,539) Interpolation processing of the direction, or vertical interpolation processing of the upper right point (1919,0) and lower right point (1919,539) is called super interpolation (V), and the result of super interpolation (V), etc. The horizontal interpolation process using the function values of the left and right end points on the horizontal scanning line is referred to as super interpolation (H).
[0092]
Next, processing timing of super interpolation will be described with reference to FIG. When super-interpolation is performed for a field image, function values X (0,0) to Z (1919,539) are calculated in advance for each of the four end points of the screen address one field before the field image. It is held in a predetermined register (described later). Then, super-interpolation (V) is executed at the initial stage of the horizontal blanking period (BLANK (H)) in synchronization with the enable of the timing signal VMIX, and the screen address is horizontally scanned in synchronization with the enable of the timing signal HMIX. In the period (ACTIVE AREA), super-interpolation (H) is executed for each clock.
[0093]
As described above, the super interpolation (H) and the super interpolation (V) have different execution timings.
[0094]
FIG. 32 shows a configuration example of the address generator 21. The register calculation block 91 calculates the function values X (0,0) to Z (1919,539) at the four end points of the screen address and supplies them to the super interpolation block 93. The mixer coefficient block 92 supplies the mixer coefficient previously stored in the built-in register to the super interpolation block 93.
[0095]
The super interpolation block 93 receives the function values (0, 0) to Z (1919, 539) of the four end points of the screen address supplied from the register calculation block 91 and the mixer coefficient supplied from the mixer coefficient block 92. Are used to execute super interpolation (H) and super interpolation (V), and function values X (H, V) and Y (H, respectively) corresponding to pixels other than the four end points on the obtained screen address. V), T (H, V), and Z (H, V) are interpolated and output to the read address calculation block 94.
[0096]
The read address calculation block 94 has function values X (H, V), Y (H, V), T (H, V), T (H, V), respectively corresponding to all pixels of the screen address input from the super interpolation block 93. Using Z (H, V), a read address is generated and output to the buffer 20.
[0097]
FIG. 33 shows a configuration example of the super interpolation block 93. The super interpolation block 93 is a block that interpolates a function value X (H, V), a block that interpolates a function value Y (H, V), a block that interpolates a function value T (H, V), and a function value Consists of blocks that interpolate Z (H, V).
[0098]
The REG_V_START_XL register 101-X of the block that interpolates the function value X (H, V) holds the function value X (0,0) for the upper left point (0,0) supplied from the register operation block 91, and the selector Output to the A terminal of 107-X. The REG_V_START_XR register 102 -X holds the function value X (1919,0) for the upper right point (1919,0) supplied from the register operation block 91 and outputs it to the B terminal of the selector 107 -X. The FF_H_START_X register 103-X holds the output of the mixer 111-X input via the A terminal of the selector 112-X and outputs it to the B terminal of the selector 108-X. The FF_H_END_X register 104-X holds the output of the mixer 111-X input via the B terminal of the selector 112-X and outputs it to the B terminal of the selector 110-X. The REG_V_END_XL register 105-X holds the function value X (0,539) for the lower left point (0,539) supplied from the register operation block 91 and outputs it to the B terminal of the selector 109-X. The REG_V_END_XR register 106-X holds the function value X (1919,539) for the lower right point (1919,539) supplied from the register operation block 91 and outputs it to the A terminal of the selector 109-X.
[0099]
The selectors 107-X to 110-X output the input to the A terminal or the B terminal to the subsequent stage. The selector 112-X outputs the output of the mixer 111-X to the FF_H_START_X register 103-X or the FF_H_END_X register 104-X. The mixer 111 -X sets the output from the selector 108 -X input to the A terminal to A, sets the output from the selector 110 -X input to the B terminal to B, and sets the mixer coefficient supplied from the mixer coefficient block 92 to k.nIn this case, the interpolation value C is output to the subsequent stage using the following equation for each clock.
Interpolated value C = A · (1.0−kn) + B ・ kn
However, the following equation is actually used to decrease the number of multiplications by one.
Interpolated value C = kn(B-A) + A
[0100]
The configuration of each block that interpolates each of the function values Y (H, V), T (H, V), and Z (H, V) is the same as the configuration of the block that calculates the function value X (H, V). Since it is the same, the description is abbreviate | omitted. However, the correspondence between the REG_V_START_XL registers 101-X to REG_V_END_ZR registers 106-Z and the function values X (0,0) to Z (1919,539) held by them is as shown in FIG.
[0101]
FIG. 35 shows the correspondence between the registers built in the mixer coefficient block 92 and the mixer coefficients held therein.
[0102]
Next, the operation of the super interpolation block 93 will be described. It is assumed that corresponding function values (0, 0) to Z (1919, 539) are supplied from the register operation block 91 to the REG_V_START_XL registers 101-X to REG_V_END_ZR registers 106-Z.
[0103]
First, the vertical component V of the screen address is initialized to V = 0, and super-interpolation (V) is started in synchronization with Enable of the timing signal VMIX. First, in order to execute super interpolation (V) at the left end point (0, V) of the screen address, input sources and output destinations of function values to the mixers 111-X to 111-Z are shown in FIG. Switching is performed in each block so as to be as described above.
[0104]
Specifically, for example, in a block for interpolating the function value X (H, V), the selectors 107-X to 110-X, 112-X are switched as shown in FIG. As a result, the function value X (0,0) for the upper left point (0,0) held in the REG_V_START_XL register 101-X is input to the A terminal of the mixer 111-X, and the REG_V_END_XL is input to the B terminal. The function value X (0,539) for the lower left point (0,539) held in the register 105-X is input. The mixer coefficient is further supplied from the mixer coefficient supply block 92 to the mixer 111 -X. The mixer 111-X interpolates the function value X (0, V) for the left end point (0, V) of the screen address. The interpolated function value X (0, V) is latched in the FF_H_START_X register 103-X via the selector 112-X.
[0105]
The same processing is performed in the other blocks, and the function value Y (0, V), function value T (0, V), function value Z (0, V) for the left end point (0, V) of the screen address. ) Are latched in the corresponding FF_H_START_X registers 103-Y to 103-Z, respectively.
[0106]
Next, in order to execute the super interpolation (V) of the right end point (1919, V) of the screen address, the input source and output destination of the function values to the mixers 111-X to 111-Z are shown in FIG. As shown, switching and the like are performed in each block.
[0107]
Specifically, for example, in the block for interpolating the function value X (H, V), the selectors 107-X to 110-X, 112-X are switched as shown in FIG. Thus, the function value X (1919,539) for the upper right point (1919,539) held in the REG_V_START_XR register 102-X is input to the A terminal of the mixer 111-X, and the REG_V_END_XR is input to the B terminal. The function value X (1919,539) for the lower right point (1919,539) held in the register 106-X is input. The mixer coefficient is further supplied from the mixer coefficient supply block 92 to the mixer 111 -X. The mixer 111-X interpolates the function value X (1919, V) for the right end point (1919, V) of the screen address. The interpolated function value X (1919, V) is latched into FF_H_END_X 104-X via the selector 112-X.
[0108]
The same processing is performed in the other blocks, and the function value Y (1919, V), function value T (1919, V), function value Z (1919, V) for the right end point (1919, V) of the screen address is performed. ) Are latched in the corresponding FF_H_END_X registers 104-Y to 104-Z, respectively.
[0109]
The processing so far is executed in the horizontal blanking period.
[0110]
Thereafter, in synchronization with the Enable of the timing signal HMIX, the horizontal component H of the screen address is initialized to H = 0, and superinterpolation (H) is started. In order to execute super interpolation (H), switching and the like are performed in each block so that the input source and output destination of the function values to the mixers 111-X to 111-Z are as shown in FIG. The
[0111]
Specifically, for example, in the block that interpolates the function value X (H, V), the selectors 108-X and 110-X are switched as shown in FIG. As a result, the function value X (0, V) for the left end point (0, V) held in the FF_H_START_X register 103-X is input to the A terminal of the mixer 111-X, and FF_H_END_X is input to the B terminal. The function value X (1919, V) for the right end point (1919, V) held in the register 104-X is input. The mixer coefficient is further supplied to the mixer 111-X from the mixer coefficient supply block 92 for each clock. The mixer 111 -X interpolates the function value X (H, V) for the right end point (1919, V) from the left end point (0, V) sequentially for each clock and supplies the result to the read address calculation block 94.
[0112]
The same processing is performed in the other blocks, and the function value Y (H, V) and the function value T (from the left end point (0, V) to the right end point (1919, V) in order for each clock. H, V) and function value Z (H, V) are interpolated and supplied to the read address calculation block 94.
[0113]
After the horizontal component H of the screen address is initialized, the processing so far is executed in the horizontal scanning period.
[0114]
Thereafter, the vertical component V is incremented by 1, and the processing after the super interpolation (V) described above is repeated. When the vertical component V reaches 540, super-interpolation for the field being processed is terminated, and the next field is the target of processing.
[0115]
As described above, since super interpolation (V) is executed in the horizontal blanking period and super interpolation (H) is executed in the horizontal scanning period, super interpolation (V) and super interpolation are executed. It becomes possible to execute the interpolation (H) by sharing the same circuit (super interpolation block 93).
[0116]
Next, the interpolation circuit 22 will be described with reference to FIG. When the video signal buffered in the buffer 20 is in the HD format, the interpolation circuit 22 executes a 4-point interpolation process using a 4-pixel video signal at an operating frequency of 74.25 MHz. Further, when an SD format video signal is field-frame converted and buffered in the buffer 20, a 16-point interpolation process using a 16-pixel video signal is performed at an operating frequency of 54 MHz (an SD format video signal is processed). At a normal operating frequency of 13.5 MHz).
[0117]
FIG. 42 shows a configuration example of the interpolation circuit 22. The interpolation circuit 22 proportionally distributes the video signals of two pixels adjacent in the vertical direction that are simultaneously input from the units U0 and L0 of the buffer 20, and obtains the interpolation value TA of the video signal corresponding to the position between the two pixels. The vertical proportional distribution circuit 121 to be calculated and the video signals of two pixels adjacent in the vertical direction simultaneously input from the units U1 and L1 of the buffer 20 are proportionally distributed, and the video signal corresponding to the position between the two pixels is distributed. A vertical proportional distribution circuit 122 that calculates the interpolation value TB, and a horizontal proportional distribution that proportionally distributes the interpolation value TA input from the vertical proportional distribution circuit 121 and the interpolation value TB input from the vertical proportional distribution circuit 122. The circuit 123 is configured.
[0118]
FIG. 43 shows a configuration example of the vertical proportional distribution circuit 121. In the vertical proportional distribution circuit 121, in addition to the video signals of two pixels adjacent in the vertical direction that are simultaneously input from the units U0 and L0 of the buffer 20, the vertical position of the interpolation point between the two pixels is also displayed. The 4-bit position information r shown and the sel signal for controlling the selectors 143 and 144 are input.
[0119]
The video signal from the unit U0 is input to the delay circuit (D) 141, and the video signal from the unit L0 is input to the delay circuit 142. The position information r is input to the delay circuit 148. The sel signal is input to the delay circuit 152.
[0120]
The delay circuit (D) 141 delays the video signal from the unit U0 by a predetermined clock cycle, and outputs it to the a terminal of the selector 143 and the b terminal of the selector 144. The delay circuit 142 delays the video signal from the unit L0 by a predetermined clock cycle, and outputs it to the b terminal of the selector 143 and the a terminal of the selector 144.
[0121]
Based on the sel signal input from the delay circuit 152, the selector 143 outputs to the multiplier 145 the video signal from the unit U0 input to the a terminal or the video signal from the unit L0 input to the b terminal. Based on the inverted sel signal input from the NOT circuit 153, the selector 144 inputs to the multiplier 146 the video signal from the unit L0 input to the a terminal or the video signal from the unit U0 input to the b terminal. Output. Accordingly, the video signal from the unit U0 is input to one of the multipliers 145 and 146, and the video signal from the unit L0 is input to the other. Here, the value of the video signal input to the multiplier 145 is A, and the value of the video signal input to the multiplier 146 is B.
[0122]
The multiplier 145 multiplies the value (16-r) input from the delay circuit 151 by the value A of the video signal input from the selector 143, and outputs the result to the calculator 147. The multiplier 146 multiplies the position information value r input from the delay circuit 149 by the video signal value B input from the selector 144 and outputs the result to the calculator 147. The arithmetic unit 147 adds the output of the multiplier 145 and the output of the multiplier 146 and divides the result by 16.
[0123]
The vertical proportional distribution circuit 121 configured as described above outputs the vertical interpolation value TA represented by the following equation to the horizontal proportional distribution circuit 123.
Interpolated value TA = (A * (16−r) + B * r) / 16
[0124]
Note that the configuration of the vertical proportional distribution circuit 122 is the same as that of the vertical proportional distribution circuit 121, and a description thereof will be omitted.
[0125]
FIG. 44 shows a configuration example of the horizontal proportional distribution circuit 123. The horizontal proportional distribution circuit 123 indicates the horizontal position of the interpolation point in addition to the vertical interpolation value TA from the vertical proportional distribution circuit 121 and the vertical interpolation value TB from the vertical proportional distribution circuit 122. 4-bit position information r ′ is input to the interpolation coefficient supply circuits 171 and 172.
[0126]
The multiplier 161 multiplies the vertical direction interpolation value TA from the vertical direction proportional distribution circuit 121 by the interpolation coefficient Ci input from the interpolation coefficient supply circuit 171 and outputs the result to the register (R0) 163. The multiplier 162 multiplies the vertical interpolation value TB from the vertical proportional distribution circuit 122 by the interpolation coefficient Ci input from the interpolation coefficient supply circuit 172, and outputs the result to the register (R1) 164.
[0127]
The adder 165 adds the output of the register (R0) 163 and the output of the register (R1) 164 and outputs the result to the register (R2) 166. The adder 167 adds the output of the register (R2) 166 and the output of the register (R3) 168 holding the output of one clock cycle before, and outputs the result to the register (R3) 168 and the divider 169. To do.
[0128]
The divider 169 divides the output of the adder 167 (accumulated value of the main power of the adder 165 in a predetermined period) by the total interpolation coefficient ΣCi and outputs the result to the register (R4) 170.
[0129]
The register (R0) 163, the register (R1) 164, the register (R2) 166, and the register (R3) 168 delay the input from the upper stage by a predetermined clock period and output it. The register (R3) 168 is reset in response to the RSR_R signal. Initialize the stored value. The register (R4) 170 outputs the value held corresponding to the EN signal.
[0130]
The interpolation coefficient supply circuits 171 and 172 supply the interpolation coefficient Ci corresponding to the 4-bit position information r ′ indicating the horizontal position of the interpolation point to the multipliers 161 and 162, respectively.
[0131]
The horizontal proportional distribution circuit 123 configured as described above outputs the horizontal interpolation value X expressed by the following equation.
Interpolated value X = Σ (Ci * Ti) / ΣCi
Here, i = 0, 1 in the case of 4-point interpolation processing, and i = 0, 1, 2,..., 7 in the case of 16-point interpolation processing.
[0132]
FIG. 45 shows the value of the interpolation coefficient Ci when 16-point interpolation processing is performed on a field-frame converted SD format video signal.
[0133]
Next, the operation of the interpolation circuit 22 will be described. First, a four-point interpolation process when an HD format video signal is buffered in the buffer 20 will be described.
[0134]
In this case, as shown in FIG. 21, the HD format video signal is stored in the units U0, U1, L0, and L1 of the buffer 20 in the field image unit, and the four pixels adjacent vertically and horizontally are separated. Therefore, for example, when interpolating the video signal corresponding to the interpolation point indicated by the “x” mark in the EVEN field shown in FIG. 46A, the video signals of the four pixels above, below, left, and right of the interpolation point are generated in one clock cycle. They can be read simultaneously.
[0135]
Of the video signals (hereinafter referred to as signals U0, U1, L0, and L1) read out simultaneously from the units U0, U1, L0, and L1 in one clock cycle, the signals U0 and L0 are vertical proportional distribution circuits. The signals U 1 and L 1 are supplied to the vertical proportional distribution circuit 122.
[0136]
The vertical proportional distribution circuit 121 proportionally distributes the signals U0 and L0 in accordance with the vertical position information r of the interpolation point, and outputs the obtained vertical interpolation value TA to the horizontal proportional distribution circuit 123. The vertical proportional distribution circuit 122 proportionally distributes the signals U1 and L1 according to the vertical position information r of the interpolation point, and outputs the obtained vertical interpolation value TB to the horizontal proportional distribution circuit 123.
[0137]
The horizontal proportional distribution circuit 123 proportionally distributes the interpolation values TA and TB in the vertical direction in accordance with the horizontal position information r ′ of the interpolation point, and obtains an interpolation value corresponding to the interpolation point indicated by “x”. .
[0138]
Since the operation for the video signal in the ODD field shown in FIG. 46B is the same, the description thereof is omitted.
[0139]
Next, the 16-point interpolation process when the field-frame converted SD format video signal is stored in the buffer 20 will be described. Before that, the stored SD format video signal is 480i. An example of a x720 SD format video signal will be described with reference to FIG.
[0140]
Before the SD format video signal is input to the buffer 20, the converter 67 of the scan converter 15 converts the EVEN field image (consisting of pixels indicated by a circle in FIG. 47A) and the ODD field image (see FIG. 47). 47 (A) composed of pixels indicated by □) is synthesized and converted into a frame image of 480 × 720 as shown in FIG. 47A, and pixels indicated by ○ adjacent to the top and bottom From the pixels indicated by □ and □, the pixel located between the two pixels (the pixel indicated by Δ in FIG. 47B) is interpolated and converted into a 960 × 720 frame image.
[0141]
The SD format video signal converted into a 960 × 720 frame image is vertically and horizontally as shown in FIG. 48, that is, in the same manner as when the HD format field image is stored in the buffer 20 (FIG. 21). Each of the four adjacent pixels is stored separately in units U0, U1, L0, and L1 of the buffer 20.
[0142]
The concept of the operation of the 16-point interpolation process of the interpolation circuit 22 will be described. For example, in the case of interpolating a video signal corresponding to the interpolation point indicated by “×” in FIG. 49, 16 pixels (the same figure) including 8 pixels adjacent to the upper stage of the interpolation point “×” and 8 pixels adjacent to the upper stage. (16 pixels surrounded by a long rectangle in the horizontal direction) is read out and proportionally distributed.
[0143]
Specifically, as shown in FIG. 50, the upper 8-pixel video signal and the lower 8-pixel video signal corresponding to them are proportionally distributed by the vertical proportional distribution circuits 121 and 122, respectively, so that the vertical Directional interpolation values T0 to T7 are calculated. As shown in FIG. 51, the interpolation values T0 to T7 in the vertical direction are respectively multiplied by the interpolation coefficients C0 to C7 by the horizontal proportional distribution circuit 123, and the total sum Σ (Ti * Ci) is obtained. The interpolation value of the interpolation point “×” is calculated by dividing by the sum ΣCi of the interpolation coefficients Ci. However, in this case, i = 0, 1, 2,.
[0144]
Next, the operation timing of the 16-point interpolation process of the interpolation circuit 22 executed at the operation frequency of 54 MHz will be described with reference to FIGS. As described above, the units U0, U1, L0, and L1 of the buffer 20 can be read simultaneously, so that in the 16-point interpolation process, 4 pixels are sequentially read every clock cycle.
[0145]
That is, as shown in FIG. 52A, if the 16-pixel video signals used for interpolation stored separately in the units U0, U1, L0, and L1 of the buffer 20 are described as a0 to a15, At the 0th timing (cycle0), the video signals a0, a1, a8, and a9 shown in FIG. 5B are read, and at the second timing (cycle1), the video signals shown in FIG. a2, a3, a10, a11 are read out, and at the third timing (cycle 2), the video signals a4, a5, a12, a13 shown in FIG. ), The video signals a6, a7, a14, and a15 shown in FIG.
[0146]
The video signals a0 and a8 read at the 0th timing (cycle0) are input to the vertical proportional distribution circuit 121, and the video signals a1 and a9 are input to the vertical proportional distribution circuit 122. The video signals a2 and a10 read at the first timing (cycle1) are input to the vertical proportional distribution circuit 121, and the video signals a3 and a11 are input to the vertical proportional distribution circuit 122. The video signals a4 and a12 read at the second timing (cycle2) are input to the vertical proportional distribution circuit 121, and the video signals a5 and a13 are input to the vertical proportional distribution circuit 122. Further, the video signals a6 and a14 read out at the third timing (cycle 3) are input to the vertical proportional distribution circuit 121, and the video signals a7 and a15 are input to the vertical proportional distribution circuit 122.
[0147]
53A and 53B show the operation timings of the vertical proportional distribution circuits 121 and 122, respectively. The vertical proportional distribution circuit 121 sequentially outputs the interpolation value TA in the vertical direction to the horizontal proportional distribution circuit 123 at a timing delayed by 4 clock cycles from the input timing from the units U 0 and L 0 of the buffer 20.
[0148]
Specifically, at the fifth timing (cycle 5), the interpolation value Ta0 obtained by proportionally distributing the video signals a0 and a8 is output, and at the sixth timing (cycle 6), the video signals a2 and a10 are proportionally distributed. The interpolation value Ta2 is output, and at the seventh timing (cycle 7), the interpolation value Ta4 obtained by proportionally distributing the video signals a4 and a12 is output. At the eighth timing (cycle 8), the video signals a6 and a14 are output. Is output in proportion to the interpolated value Ta6.
[0149]
Similarly, the vertical proportional distribution circuit 122 sequentially outputs the interpolation value TB in the vertical direction to the horizontal proportional distribution circuit 123 at a timing delayed by 4 clock cycles from the input timing from the units U 1 and L 1 of the buffer 20. .
[0150]
Specifically, the interpolation value Ta1 obtained by proportionally distributing the video signals a1 and a9 is output at the fifth timing (cycle5), and the video signals a3 and a11 are proportionally distributed at the sixth timing (cycle6). The interpolation value Ta3 is output, and at the seventh timing (cycle 7), the interpolation value Ta5 obtained by proportionally distributing the video signals a5 and a13 is output. At the eighth timing (cycle 8), the video signals a7 and a15 are output. Is output in proportion to the interpolation value Ta7.
[0151]
FIG. 54 shows the operation timing of the horizontal proportional distribution circuit 123. The vertical proportional distribution circuit 123 outputs an interpolation value X every 4 clock cycles.
[0152]
Specifically, the multiplier 161 multiplies the vertical interpolation values Ta0, Ta2, Ta4, and Ta6 sequentially input at the fifth to eighth timings by interpolation coefficients C0, C2, C4, and C6, respectively. The data is output to the register (R0) 163. The register (R0) 163 sequentially outputs the multiplication values Ta0 * C0, Ta2 * C2, Ta4 * C4, Ta6 * C6 to the adder 165 at the eighth to eleventh timings delayed by three clock cycles from the input timing. .
[0153]
Similarly, the multiplier 162 multiplies the interpolation values C1, C3, C5, and C7 in the vertical direction sequentially input at the fifth to eighth timings by interpolation coefficients C1, C3, C5, and C7, respectively. R1) output to 164. The register (R1) 164 sequentially outputs the multiplication values Ta1 * C1, Ta3 * C3, Ta5 * C5, Ta7 * C7 to the adder 165 at the eighth to eleventh timings delayed by three clock cycles from the input timing. .
[0154]
The adder 165 sequentially receives the multiplication value Ta0 * C0 and the multiplication value Ta1 * C1, the multiplication value Ta2 * C2 and the multiplication value Ta3 * C3, which are sequentially input from the multipliers 161 and 162 at the eighth to eleventh timings. The value Ta4 * C4 and the multiplication value Ta5 * C5, the multiplication value Ta6 * C6 and the multiplication value Ta7 * C7 are added together and output to the register (R2) 166. The register (R2) 166 has addition values Ta0 * C0 + Ta1 * C1, Ta2 * C2 + Ta3 * C3, Ta4 * C4 + Ta5 * C5, Ta6 * C6 + Ta7 * C7 at the ninth to twelfth timing delayed by one clock cycle from the input timing. Are sequentially output to the adder 167.
[0155]
The adder 167 adds the addition value sequentially input from the adder 165 at the ninth to twelfth timings and the output of the adder 167 one clock period before input from the register (R3) 168 to add a register ( R3) Output to 168 and divider 169. The register (R3) 168 is initialized in synchronization with the RST_R signal input every four clock cycles. Therefore, at the thirteenth timing, the adder 167 outputs the cumulative value of the addition values sequentially input from the adder 165 at the ninth to twelfth timings.
[0156]
The divider 169 divides the accumulated value from the adder 167 by the total ΣCi of interpolation coefficients and outputs the result to the register (R4) 170. The register (R4) 170 synchronizes with the EN signal input every 4 clock cycles (in this case, the 13th timing), that is, the division value from the multiplier 169, that is, the interpolation value of the interpolation point “×”. X is output.
[0157]
As described above, in the present embodiment, the HD format video signal and the SD format video signal can be interpolated by the same circuit, that is, the interpolation circuit 22. Since the 4-point interpolation processing is executed for the HD format video signal and the 16-point interpolation processing is executed for the SD format video signal instead of the 4-point interpolation processing. Interpolated values with the same quality as the SD dedicated device can be obtained.
[0158]
The present invention can be applied to any device that processes video signals.
[0159]
By the way, the series of processes described above can be executed by hardware, but can also be executed by software. When a series of processing is executed by software, a program constituting the software may execute various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed from a recording medium in a general-purpose personal computer.
[0160]
As shown in FIG. 1, the recording medium is distributed to provide a program to a user separately from a computer, and includes a magnetic disk 6 (including a floppy disk) on which a program is recorded, an optical disk 7 (CD- It is not only composed of package media consisting of ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc)), magneto-optical disc 8 (including MD (Mini Disc)), or semiconductor memory 9 etc. It is configured by a ROM, a hard disk or the like on which a program is recorded, which is provided to the user in a state of being pre-installed in the computer.
[0161]
In the present specification, the step of describing the program recorded in the recording medium is not limited to the processing performed in time series according to the described order, but is not necessarily performed in time series, either in parallel or individually. The process to be executed is also included.
[0162]
Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
[0163]
【The invention's effect】
As described above, according to the image processing apparatus and method and the recording medium program of the present invention, the video signal corresponding to the input image is stored in the memory, and the four end points of the frame on which the deformed image is superimposed. The parameter corresponding to each of the four endpoints is calculated, and the parameter corresponding to each of the two endpoints facing each other in the vertical direction is used among the parameters corresponding to each of the calculated four endpoints. Interpolate the parameters corresponding to each of the two points facing in the horizontal direction, and use the parameters corresponding to each of the two points facing in the horizontal direction to interpolate the parameters corresponding to the points on the transformed image. The memory read address is generated based on the parameters corresponding to the interpolated and deformed points on the image, but the vertical interpolation processing and the horizontal interpolation are performed. Processing, since to be executed by a common circuit, it is possible to realize a space saving and cost reduction.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration example of an image composition apparatus to which the present invention is applied.
FIG. 2 is a block diagram illustrating a configuration example of a DME 3;
3 is a diagram for explaining the concept of processing for interpolating color difference signals U and V in an H filter 14. FIG.
FIG. 4 is a block diagram illustrating a configuration example of a portion related to a process of interpolating color difference signals U and V of an H filter 14;
5 is a block diagram showing a configuration example of a four-point interpolation circuit 40 in FIG.
6 is a block diagram illustrating a configuration example of a scan converter 15. FIG.
FIG. 7 is a diagram showing a rough time transition of processing for converting the scanning direction to vertical in the field unit of the scan converter 15;
FIG. 8 schematically shows the relationship between SDRAMs 64-1 and 64-2 that burst-transfer video signals recorded in field units in the order of vertical scanning, and SRAM 65 that caches burst-transferred video signals. FIG.
FIG. 9 is a diagram illustrating an example of continuous access timing in alternate bursts with respect to two types of banks of the SDRAM 64;
FIG. 10 is a diagram for explaining continuous access (write) to SDRAM 64;
FIG. 11 is a diagram for explaining continuous access (reading) to SDRAM 64;
FIG. 12 is a diagram illustrating an example of two-dimensional allocation of addresses in a 2-bank 4-word burst of an HD format (1080i × 1920) video signal to SDRAM 64;
FIG. 13 is a diagram for explaining a counter mechanism for generating a write address for SDRAM 64;
14 is a diagram showing the order of continuous reading from SDRAM 64. FIG.
FIG. 15 is a diagram for explaining a counter mechanism that generates a read address for SDRAM 64;
FIG. 16 is a diagram showing a concept of using a memory constituting SRAM 65 as a ring.
FIG. 17 is a diagram illustrating a concept of using four memories constituting the SRAM 65 as a quadruple ring.
FIG. 18 is a diagram for explaining processing in which a converter 67 converts the video signal (Y / U / V / K) into a 36-bit width by reducing the values of the color difference signals U and V to 8 bits.
FIG. 19 is a block diagram illustrating a configuration example of a buffer 20;
20 is a block diagram illustrating a configuration example of a unit U0 of the buffer 20. FIG.
FIG. 21 is a diagram illustrating allocation of HD format video signals input from the scan converter 15 to units U0 to L1.
22 is a diagram showing a coordinate system of a read address set in a buffer 20. FIG.
FIG. 23 is a diagram showing a state where an EVEN field video signal is written in the data area of the buffer 20;
FIG. 24 is a diagram illustrating the positions of four pixels used in a four-point interpolation process.
FIG. 25 is a diagram illustrating an example in which there are not four pixels used for the four-point interpolation process.
FIG. 26 is a diagram illustrating an out-of-area data band provided in an effective access area of the buffer 20;
FIG. 27 is a diagram showing a state where an EVEN field video signal is written in the data area of the buffer 20 and an out-of-area data band is set around the video signal.
FIG. 28 is a diagram for explaining that a four-point interpolation process can be performed when an out-of-area data band is set in the buffer 20;
FIG. 29 is a diagram for explaining a relationship between a screen address and a read address.
FIG. 30 is a diagram for explaining super-interpolation by the address generator 21;
FIG. 31 is a diagram for explaining processing timing of super interpolation;
32 is a block diagram illustrating a configuration example of an address generator 21. FIG.
33 is a block diagram showing a configuration example of a super interpolation block 93. FIG.
FIG. 34 is a diagram illustrating function values X (0,0) to Z (1919,539) held in REG_V_START_XL registers 101-X to REG_V_END_ZR registers 106-Z.
FIG. 35 is a diagram illustrating a correspondence relationship between a register built in the mixer coefficient block 92 and a mixer coefficient held therein.
FIG. 36 is a diagram illustrating an input source and an output destination of function values to the mixers 111-X to 111-Z.
FIG. 37 is a diagram illustrating a state of a block for interpolating a function value X (H, V) corresponding to FIG.
FIG. 38 is a diagram illustrating input sources and output destinations of function values to the mixers 111-X to 111-Z.
FIG. 39 is a diagram illustrating a state of a block for interpolating a function value X (H, V) corresponding to FIG.
FIG. 40 is a diagram illustrating an input source and an output destination of function values to the mixers 111-X to 111-Z.
41 is a diagram illustrating a state of a block that interpolates a function value X (H, V) corresponding to FIG. 40. FIG.
42 is a block diagram illustrating a configuration example of an interpolation circuit 42. FIG.
43 is a block diagram illustrating a configuration example of a vertical proportional distribution circuit 121. FIG.
44 is a block diagram showing a configuration example of a horizontal proportional distribution circuit 123. FIG.
FIG. 45 is a diagram illustrating values of interpolation coefficients C0 to C7 used for 16-point interpolation processing.
FIG. 46 is a diagram for describing a four-point interpolation process for an HD format video signal.
47 is a diagram for explaining field / frame conversion for an SD format video signal by the converter 67 of the scan converter 15. FIG.
FIG. 48 is a diagram showing the allocation of field format frame-converted SD format video signals input from the scan converter 15 to the units U0 to L1.
[Fig. 49] Fig. 49 is a diagram for describing 16-point interpolation processing for an SD format video signal.
FIG. 50 is a diagram for explaining the operation of the vertical proportional distribution circuits 121 and 122 in 16-point interpolation processing.
FIG. 51 is a diagram for explaining the operation of the horizontal proportional distribution circuit 123 in 16-point interpolation processing;
FIG. 52 is a diagram for explaining video signal readout timing in 16-point interpolation processing;
FIG. 53 is a diagram for explaining the operation timing of the vertical proportional distribution circuits 121 and 122 in 16-point interpolation processing.
FIG. 54 is a diagram for describing the operation timing of the horizontal proportional distribution circuit 123 in the 16-point interpolation process.
[Explanation of symbols]
1 lever arm, 2 control circuit, 3 DME, 4 synthesis circuit, 5 drive, 6 magnetic disk, 7 optical disk, 8 magneto-optical disk, 9 semiconductor memory, 11 HDFF, 12-14H filter, 15 scan converter, 16 VDFF, 17 to 19 V filter, 20 buffer, 21 address generator, 22 interpolation circuit, 64 SDRAM, 65 SRAM, 67 converter, 73 SRAM, 93 super interpolation block, 121, 122 vertical proportional distribution circuit, 123 horizontal proportional distribution circuit

Claims (4)

画像の形状を変形させる画像処理装置において、
入力された前記画像に対応する映像信号をメモリに記憶させる記憶手段と、
前記画像の変形後の形状を指定する指定手段と、
変形後の画像が重畳されるフレームの4端点のそれぞれに対応するパラメータを算出する算出手段と、
前記算出手段が算出した前記4端点のそれぞれに対応するパラメータのうち、垂直方向に対向する2端点のそれぞれに対応する前記パラメータを用いて、2組の前記2端点のそれぞれの間の水平方向に対向する2点のそれぞれに対応するパラメータを補間する垂直方向補間手段と、
前記垂直方向補間手段が補間した前記水平方向に対向する2点のそれぞれに対応する前記パラメータを用いて、前記変形後の前記画像上の点に対応するパラメータを補間する水平方向補間手段と、
前記水平方向補間手段が補間した前記変形後の前記画像上の点に対応する前記パラメータに基づいて、前記メモリの読み出しアドレスを生成する生成手段と、
前記生成手段が生成した前記読み出しアドレスに従って前記メモリから前記映像信号を読み出す読み出し手段とを含み、
前記垂直方向補間手段と前記水平方向補間手段は、共通の回路から構成される
ことを特徴とする画像処理装置。
In an image processing apparatus that changes the shape of an image,
Storage means for storing a video signal corresponding to the input image in a memory;
Designating means for designating the deformed shape of the image;
Calculating means for calculating a parameter corresponding to each of the four end points of the frame on which the transformed image is superimposed;
Of the parameters corresponding to each of the four end points calculated by the calculating means, using the parameters corresponding to the two opposite end points in the vertical direction, the horizontal direction between each of the two sets of the two end points. Vertical direction interpolation means for interpolating parameters corresponding to each of two opposing points;
Horizontal interpolation means for interpolating parameters corresponding to points on the image after deformation, using the parameters corresponding to the two points facing the horizontal direction interpolated by the vertical direction interpolation means;
Generating means for generating a read address of the memory based on the parameter corresponding to the point on the image after the transformation interpolated by the horizontal direction interpolation means;
Reading means for reading out the video signal from the memory according to the read address generated by the generating means,
The image processing apparatus according to claim 1, wherein the vertical direction interpolation unit and the horizontal direction interpolation unit are configured by a common circuit.
前記垂直方向補間手段は、水平帰線期間において動作し、
前記水平方向補間手段は、水平走査期間において動作する
ことを特徴とする請求項1に記載の画像処理装置。
The vertical interpolation means operates in a horizontal blanking period;
The image processing apparatus according to claim 1, wherein the horizontal direction interpolation unit operates during a horizontal scanning period.
画像の形状を変形させる画像処理装置の画像処理方法において、
入力された前記画像に対応する映像信号をメモリに記憶させる記憶ステップと、
前記画像の変形後の形状を指定する指定ステップと、
変形後の画像が重畳されるフレームの4端点のそれぞれに対応するパラメータを算出する算出ステップと、
前記算出ステップの処理で算出された前記4端点のそれぞれに対応するパラメータのうち、垂直方向に対向する2端点のそれぞれに対応する前記パラメータを用いて、2組の前記2端点のそれぞれの間の水平方向に対向する2点のそれぞれに対応するパラメータを補間する垂直方向補間ステップと、
前記垂直方向補間ステップの処理で補間された前記水平方向に対向する2点のそれぞれに対応する前記パラメータを用いて、前記変形後の前記画像上の点に対応するパラメータを補間する水平方向補間ステップと、
前記水平方向補間ステップの処理で補間された前記変形後の前記画像上の点に対応する前記パラメータに基づいて、前記メモリの読み出しアドレスを生成する生成ステップと、
前記生成ステップの処理で生成された前記読み出しアドレスに従って前記メモリから前記映像信号を読み出す読み出しステップとを含み、
前記垂直方向補間ステップの処理と前記水平方向補間ステップの処理は、共通の回路により実行される
ことを特徴とする画像処理方法。
In the image processing method of the image processing apparatus for deforming the shape of the image,
Storing a video signal corresponding to the input image in a memory;
A designating step of designating a deformed shape of the image;
A calculation step for calculating parameters corresponding to each of the four end points of the frame on which the transformed image is superimposed;
Among the parameters corresponding to each of the four end points calculated in the processing of the calculating step, using the parameters corresponding to each of the two end points opposed in the vertical direction, between the two sets of the two end points. A vertical interpolation step for interpolating parameters corresponding to each of two points facing in the horizontal direction;
Horizontal interpolation step of interpolating parameters corresponding to points on the image after the deformation using the parameters corresponding to the two points facing the horizontal direction interpolated in the processing of the vertical direction interpolation step When,
A generation step of generating a read address of the memory based on the parameter corresponding to the point on the image after the transformation interpolated in the process of the horizontal direction interpolation step;
A step of reading out the video signal from the memory according to the read address generated in the process of the generation step,
The image processing method according to claim 1, wherein the vertical direction interpolation step and the horizontal direction interpolation step are executed by a common circuit.
画像の形状を変形させる画像処理用のプログラムであって、
入力された前記画像に対応する映像信号をメモリに記憶させる記憶ステップと、
前記画像の変形後の形状を指定する指定ステップと、
変形後の画像が重畳されるフレームの4端点のそれぞれに対応するパラメータを算出する算出ステップと、
前記算出ステップの処理で算出された前記4端点のそれぞれに対応するパラメータのうち、垂直方向に対向する2端点のそれぞれに対応する前記パラメータを用いて、2組の前記2端点のそれぞれの間の水平方向に対向する2点のそれぞれに対応するパラメータを補間する垂直方向補間ステップと、
前記垂直方向補間ステップの処理で補間された前記水平方向に対向する2点のそれぞれに対応する前記パラメータを用いて、前記変形後の前記画像上の点に対応するパラメータを補間する水平方向補間ステップと、
前記水平方向補間ステップの処理で補間された前記変形後の前記画像上の点に対応する前記パラメータに基づいて、前記メモリの読み出しアドレスを生成する生成ステップと、
前記生成ステップの処理で生成された前記読み出しアドレスに従って前記メモリから前記映像信号を読み出す読み出しステップとを含み、
前記垂直方向補間ステップの処理と前記水平方向補間ステップの処理は、共通の回路により実行される
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
An image processing program for changing the shape of an image,
Storing a video signal corresponding to the input image in a memory;
A designating step of designating a deformed shape of the image;
A calculation step for calculating parameters corresponding to each of the four end points of the frame on which the transformed image is superimposed;
Among the parameters corresponding to each of the four end points calculated in the processing of the calculating step, using the parameters corresponding to each of the two end points opposed in the vertical direction, between the two sets of the two end points. A vertical interpolation step for interpolating parameters corresponding to each of two points facing in the horizontal direction;
Horizontal interpolation step of interpolating parameters corresponding to points on the image after the deformation using the parameters corresponding to the two points facing the horizontal direction interpolated in the processing of the vertical direction interpolation step When,
A generation step of generating a read address of the memory based on the parameter corresponding to the point on the image after the transformation interpolated in the process of the horizontal direction interpolation step;
A step of reading out the video signal from the memory according to the read address generated in the process of the generation step,
A recording medium on which a computer-readable program is recorded, wherein the vertical interpolation step processing and the horizontal interpolation step processing are executed by a common circuit.
JP2000292317A 2000-09-26 2000-09-26 Image processing apparatus and method, and recording medium Expired - Lifetime JP4465844B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000292317A JP4465844B2 (en) 2000-09-26 2000-09-26 Image processing apparatus and method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000292317A JP4465844B2 (en) 2000-09-26 2000-09-26 Image processing apparatus and method, and recording medium

Publications (2)

Publication Number Publication Date
JP2002101340A JP2002101340A (en) 2002-04-05
JP4465844B2 true JP4465844B2 (en) 2010-05-26

Family

ID=18775275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000292317A Expired - Lifetime JP4465844B2 (en) 2000-09-26 2000-09-26 Image processing apparatus and method, and recording medium

Country Status (1)

Country Link
JP (1) JP4465844B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007159045A (en) * 2005-12-08 2007-06-21 Nagasaki Univ Method and apparatus for processing image data
DE102008025749A1 (en) * 2008-05-30 2010-02-04 Hella Kgaa Hueck & Co. Method and device for classifying an object detected in at least one image of an image of an area in front of a vehicle
JP5939893B2 (en) * 2012-06-06 2016-06-22 キヤノン株式会社 Image processing apparatus and image processing method

Also Published As

Publication number Publication date
JP2002101340A (en) 2002-04-05

Similar Documents

Publication Publication Date Title
US9280810B2 (en) Method and system for correcting a distorted input image
EP2446413B1 (en) Apparatus and method for displaying a warped version of a source image
US6647150B2 (en) Parallel pipeline processing system
US4694407A (en) Fractal generation, as for video graphic displays
US7783129B2 (en) Image processing apparatus, image processing system and image processing method
US6002407A (en) Cache memory and method for use in generating computer graphics texture
US5202670A (en) Image processing apparatus
JP2004234379A (en) Image processing method, image processor, and imaging device and display device to which image processing method is applied
JP2005044098A (en) Image processor and image processing method
JPS58105374A (en) Digital type two dimensional interpolation apparatus and method
JP3747523B2 (en) Image processing apparatus and processing method
JP4487959B2 (en) Image processing apparatus, image processing method, and program
JP4465844B2 (en) Image processing apparatus and method, and recording medium
JP4465570B2 (en) Image processing apparatus and method, and recording medium
JP4465843B2 (en) Image processing apparatus and method, and recording medium
JP2002101426A (en) Image processing unit and method, and recording medium
JP4100110B2 (en) Resolution conversion circuit, digital still camera and digital video camera using the same
JP2002101424A (en) Image processing unit and method, and recording medium
JP2002101339A (en) Image processing unit and method, and recording medium
JP2007249791A (en) Image processor, image processing method and program
Yang et al. FPGA Implementation of Image Super-Resolution Based on Bicubic Interpolation and CNN
US20230022878A1 (en) Cache-based warp engine
JP6465669B2 (en) Image processing apparatus and image processing method
WO1999030276A1 (en) Digital signal processor and digital signal processing method
JPS59100975A (en) Output device of interpolated picture

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070223

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100215

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

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 3