(57)【特許請求の範囲】
【請求項１】
入力されるデジタル映像データをキャプチャし、第一の周期でキャプチャした画像データを、三以上の画像記憶領域に対して、前記三以上の画像記憶領域を巡回して順次書き込む画像書込手段と、
前記三以上の画像記憶領域から、前記三以上の画像記憶領域を巡回して順次第二の周期で画像データを読み出す画像読出手段と、
前記画像書込手段が前記三以上の画像記憶領域の一つへ書き込みを終了した時点で、前記画像書込手段が次に書き込むべき前記三以上の画像記憶領域の他の一つが前記画像読出手段により読み出し中であるかを判定する判定手段と
を具備し、
前記画像記憶領域が前記画像読出手段により読み出し中であると前記判定手段が判定した場合に、前記画像書込手段は、前記デジタル映像データのキャプチャを中止し、次の第一の周期において前記画像記憶領域への画像データの書き込みをせず、
前記判定手段は、更に、前記画像読出手段が前記画像記憶領域から読み出しを終了した時点で、前記画像読出手段が次に読み出すべき前記画像記憶領域が前記画像書込手段により書き込み中であるかを判定し、
前記画像読出手段が次に読み出すべき前記画像記憶領域が前記画像書込手段により書き込み中であると前記判定手段が判定した場合に、前記画像読出手段は、次の第二の周期において、直前に読み出した前記画像記憶領域から再び画像データを読み出す、画像処理装置。
【請求項２】
前記画像書込手段は、入力されるインタレース方式の映像データをフレーム単位でキャプチャして前記画像記憶領域に書き込む際に、フィールド毎に該画像記憶領域内の別々の領域に記憶するか、該画像記憶領域内の一の領域にラインごと交互に記憶するかを選択可能であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
入力されるデジタル映像データをキャプチャし、第一の周期でキャプチャした画像データを、三以上の画像記憶領域に対して、前記三以上の画像記憶領域を巡回して順次書き込む画像書込手順と、
前記三以上の画像記憶領域から、前記三以上の画像記憶領域を巡回して順次第二の周期で画像データを読み出す画像読出手順と、
前記画像書込手順で前記三以上の画像記憶領域の一つへ書き込みを終了した時点で、前記画像書込手順で次に書き込むべき前記三以上の画像記憶領域の他の一つが前記画像読出手順により読み出し中であるかを判定する判定手順と
を具備し、
前記画像記憶領域が前記画像読出手順により読み出し中であると前記判定手順で判定した場合に、前記画像書込手順は、前記デジタル映像データのキャプチャを中止し、次の第一の周期において前記画像記憶領域への画像データの書き込みをせず、
前記判定手順は、更に、前記画像読出手順で前記画像記憶領域から読み出しを終了した時点で、前記画像読出手順で次に読み出すべき前記画像記憶領域が前記画像書込手順により書き込み中であるかを判定し、
前記画像読出手順で次に読み出すべき前記画像記憶領域が前記画像書込手順により書き込み中であると前記判定手順で判定した場合に、前記画像読出手順は、次の第二の周期において、直前に読み出した前記画像記憶領域から再び画像データを読み出す、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャプチャ映像と異なる周期で表示映像を出力する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
映像の走査方式には画面を構成する全走査線１本おきに２つのフィールドに分割して走査を行うインタレース方式と、一度に全走査線を走査するプログレッシブ方式とが知られている。また、同じインタレース方式においても、６０Ｈｚのフィールド周期であるＮＴＳＣ（National Television Standards Committee）形式や５０Ｈｚのフィールド周期であるＰＡＬ（Phase Alternation by Line）方式など、表示周期の異なる映像が用いられている。
【０００３】
従来の画像処理装置においては、走査方式や表示周期の異なる映像に変換する機能を備えているものが知られているが、映像をキャプチャする周期と映像を表示させる周期とが異なると、ビデオメモリへの書き込みと読み出しがそれぞれ独立したタイミングで行われる。
【特許文献１】特開２００４−１４７２８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このため、従来の画像処理装置では、１フレーム又は１フィールドの画像データをビデオメモリから読み出している最中に、該ビデオメモリにキャプチャされた画像データが書き込まれるという現象が発生し、異なる時刻にキャプチャされた画像データが同一の表示画面に混在するティアリングが起きる。
本発明は上記事情を考慮してなされたもので、その目的は、ティアリングを発生させることなく、キャプチャ映像と異なる周期で表示映像を出力することが可能な画像処理装置を提供することにある。
【課題を解決するための手段】
【０００５】
本発明は上記の課題を解決するためになされたもので、本発明による画像処理装置は、入力されるデジタル映像データをキャプチャし、第一の周期でキャプチャした画像データを、三以上の画像記憶領域に対して、前記三以上の画像記憶領域を巡回して順次書き込む画像書込手段と、前記三以上の画像記憶領域から、前記三以上の画像記憶領域を巡回して順次第二の周期で画像データを読み出す画像読出手段と、前記画像書込手段が前記三以上の画像記憶領域の一つへ書き込みを終了した時点で、前記画像書込手段が次に書き込むべき前記三以上の画像記憶領域の他の一つが前記画像読出手段により読み出し中であるかを判定する判定手段とを具備し、前記画像記憶領域が前記画像読出手段により読み出し中であると前記判定手段が判定した場合に、前記画像書込手段は、前記デジタル映像データのキャプチャを中止し、次の第一の周期において前記画像記憶領域への画像データの書き込みをしない、画像処理装置である。
【０００６】
上記画像処理装置において、上記判定手段は、更に、前記画像読出手段が前記画像記憶領域から読み出しを終了した時点で、前記画像読出手段が次に読み出すべき前記画像記憶領域が前記画像書込手段により書き込み中であるかを判定し、前記画像読出手段が次に読み出すべき前記画像記憶領域が前記画像書込手段により書き込み中であると前記判定手段が判定した場合に、前記画像読出手段は、次の第二の周期において、直前に読み出した前記画像記憶領域から再び画像データを読み出す。
【０００７】
また、上記画像処理装置において、前記画像書込手段は、入力されるインタレース方式の映像データをフレーム単位でキャプチャして前記画像記憶領域に書き込む際に、フィールド毎に該画像記憶領域内の別々の領域に記憶するか、該画像記憶領域内の一の領域にラインごと交互に記憶するかを選択可能であることを特徴とする。
【０００８】
本発明による画像処理方法は、入力されるデジタル映像データをキャプチャし、第一の周期でキャプチャした画像データを、三以上の画像記憶領域に対して、前記三以上の画像記憶領域を巡回して順次書き込む画像書込手順と、前記三以上の画像記憶領域から、前記三以上の画像記憶領域を巡回して順次第二の周期で画像データを読み出す画像読出手順と、前記画像書込手順で前記三以上の画像記憶領域の一つへ書き込みを終了した時点で、前記画像書込手順で次に書き込むべき前記三以上の画像記憶領域の他の一つが前記画像読出手順により読み出し中であるかを判定する判定手順とを具備し、前記画像記憶領域が前記画像読出手順により読み出し中であると前記判定手順で判定した場合に、前記画像書込手順は、前記デジタル映像データのキャプチャを中止し、次の第一の周期において前記画像記憶領域への画像データの書き込みをしない、画像処理方法である。
【０００９】
また、上記画像処理方法において、上記判定手順は、更に、前記画像読出手順で前記画像記憶領域から読み出しを終了した時点で、前記画像読出手順で次に読み出すべき前記画像記憶領域が前記画像書込手順により書き込み中であるかを判定し、前記画像読出手順で次に読み出すべき前記画像記憶領域が前記画像書込手順により書き込み中であると前記判定手順で判定した場合に、前記画像読出手順は、次の第二の周期において、直前に読み出した前記画像記憶領域から再び画像データを読み出す。
【発明の効果】
【００１０】
本発明によれば、三以上の画像記憶領域にキャプチャした画像データを画像書き込み手段で順次書き込み、画像データを画像読み出し手段で順次読み出す構成とし、画像書き込み手段による書き込み処理が画像読み出し手段による読み出し処理に追いついた場合にはキャプチャを１周期停止し、逆に画像読み出し手段による読み出し処理が画像書き込み手段による書き込み処理に追いついた場合には同じ記憶領域を続けて読み出すようにすることで、画像読み出し手段による画像記憶領域からの読み出し処理中に、画像書き込み手段が該画像記憶領域に書き込みを行うことがなくなり、ティアリングを防止することができる。
【００１１】
さらに、画像記憶領域への記憶方法として、フィールド毎に別の領域に記憶する方法と、１つの領域にライン毎交互に記憶する方法の何れかを選択可能であるため、表示画像に合わせて適切な方法を選択することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本発明の一実施形態に係るＶＤＰ（Video Display Processor：画像処理装置）の構成を示す構成図である。図１において、ＶＤＰ１は映像入力信号をキャプチャし、画像データとしてビデオメモリ３に書き込んだ後に表示解像度に合わせてモニタ（図示せず）に表示させるものである。また、ＶＤＰ１はＣＰＵ（Central Processing Unit）２から描画コマンドを入力し映像入力に対するＯＳＤ(On Screen Display)表示を行う機能を備える。
【００１３】
なお、描画コマンドとして、例えば、ＬＩＮＥコマンド、ＦＩＬＬコマンド、ＣＯＰＹコマンドがある。ＬＩＮＥコマンドは始点と終点を指定して直線の描画を行うためのコマンドであり、ＦＩＬＬコマンドは矩形領域を指定して塗りつぶしを行うためのコマンドである。ＣＯＰＹコマンドは、転送元のアドレスと転送先のアドレスとを指定してビデオメモリ空間内でデータのコピーを行うためのコマンドである。さらに、ＣＯＰＹコマンドにはフォーマット変換を指定する情報と透明色制御及びαブレンディングの設定情報も含まれる。ただし、描画コマンドはこれらに限定されない。
【００１４】
本実施形態では、ＶＤＰ１はビデオメモリ３内に３つの記憶領域（以下では、トリプルバッファと呼ぶ。）を確保し、キャプチャした画像データを記憶させる。ＶＤＰ１はトリプルバッファのそれぞれにキャプチャした画像データを順次書き込み、その後ＣＰＣ１０５は表示タイミングに合わせてトリプルバッファから順次読み出す。
【００１５】
ＶＤＰ１内のＣＰＵインターフェースモジュール１０１は、ＣＰＵ２との間の通信を司るものであり、ＣＰＵ２から入力した描画コマンドをＤＰＵ１０６に出力する機能や、ＣＰＵ２からビデオメモリ３へのアクセスを制御する機能を備える。ＶＲＡＭインターフェースモジュール１０２は、ＶＤＰ１内の各部からビデオメモリ３へのアクセスを制御するものである。
【００１６】
ＶＤＵ（Video Decoder Unit）１０３は、アナログ映像信号を入力し、デジタル映像データへと変換するものである。ＶＣＣ（Video Capture Controller）１０４は、ＶＤＣ１０３から出力されるデジタル映像データ又は外部から直接デジタルデータとして入力される映像データのキャプチャを行い、画像データとしてビデオメモリ３に書き込むものである（画像書き込み手段）。なお、ＶＤＣ１０２のデコーダ回路及びＶＣＣ１０４のキャプチャ回路はそれぞれ２回路ずつ備えており、２チャネルの映像入力を同時にキャプチャすることができる。
【００１７】
ＣＰＣ（Capture Plane Controller）１０５は、ビデオメモリ３から画像データを読み出し（画像読み出し手段）、ＰＤＣ１０８へと出力するものである。ＤＰＵ（Drawing Processor Unit）１０６は、ＣＰＵインターフェースモジュール１０１から入力した描画コマンドを解釈し、ビデオメモリ３内に直線や矩形を描画したり、描画したデータに対して所定の処理を行うものである。なお、ＣＰＵ２は、描画コマンドを使わずに直接ビデオメモリ３内に描画することもできる。
【００１８】
ＯＳＤプレーンコントローラ１０７は、ＯＳＤ画像として表示させるデータをビデオメモリ３から読み出し、ＰＤＣ１０８へ出力するものである。ＰＤＣ（Pixel Data Controller）１０８は、外部から入力されたデジタル映像と、ＶＤＵ１０３でデコード後のデジタル映像と、ＣＰＣ１０５から出力されるキャプチャ映像と、ＯＳＤプレーンコントローラ１０７から出力されるＯＳＤ画像とを入力し、各プレーンのフォーマットを統一し、表示の優先順位及びαブレンディングの設定等に基づいて合成処理を行うものである。
【００１９】
なお、「表示プレーン」の用語は、１つの矩形状表示データを外部表示装置の所定の場所に、所定のサイズで表示するために必要な全ての構成を包括したものを示すとともに、外部表示装置に供給される表示データそのものも示している。
【００２０】
ＶＤＰ１では、外部から入力された映像を表示するバックドロップ面と、キャプチャ映像を表示する２つの表示プレーンと、ＯＳＤ画像を表示する２つの表示プレーンによる階層表示が可能であり、ＰＤＣ１０８は合計４つの上記表示プレーンとバックドロップ面の合成処理を行う。
【００２１】
ＰＤＣ１０８は、合成後のデジタル画像をそのまま外部に出力すると同時に、ＤＡＣ（Digital-to-Analog Converter）１０９を介してアナログ映像信号を出力する。ＣＲＴコントローラ１１０は、モニタで表示する際のタイミング信号を出力し、また、モニタ表示に関する情報をＶＤＰ１内の各部へ出力する。クロックジェネレータ１１１は、ＶＤＰ１内の各部で使用するクロックを生成するものである。
【００２２】
次に、上述した実施形態の動作を、図２から図１４を参照して説明する。
図２は、ＶＤＰ１におけるキャプチャ及び表示のモードとトリプルバッファのインクリメントとの対応関係を示す図であり、図３は図２で示した各描画モードの機能を示す図であり、図４は図２で示した各モードにおいて、ビデオメモリ３内におけるキャプチャされた画像データの記憶領域を示す図である。
【００２３】
図２において、ＶＣＣ１０４がプログレッシブ方式でキャプチャを行う場合、描画モードC*DM[1:0]の指定は行わない。このとき、図４（ａ）に示すように、ビデオメモリ３内においては１フレームのキャプチャ画像データがトリプルバッファの１つに記憶される。
【００２４】
なお、図４（ａ）においては、トリプルバッファとして１つのビデオメモリ領域のみを表示しているが、実際にはアドレス空間（即ち描画領域）の異なる３つのビデオメモリ領域がビデオメモリ３内に存在する。図４（ｂ）〜（ｄ）に関しても同様である。
【００２５】
ＶＣＣ１０４がプログレッシブ方式でキャプチャを行い、ＣＰＣ１０５がプログレッシブ方式で表示を行う場合（図２の設定１）、ＣＰＣ１０５は表示のフレーム単位でインクリメントを行い、ビデオメモリ３から画像データを読み出すトリプルバッファのアドレスを切り替える。
【００２６】
ＶＣＣ１０４がプログレッシブ方式でキャプチャを行い、ＣＰＣ１０５がインタレース方式で表示を行う場合（図２の設定２）、ＣＰＣ１０５は表示のフィールド単位でインクリメントを行い、ビデオメモリ３から画像データを読み出すトリプルバッファのアドレスを切り替える。
【００２７】
一方、ＶＣＣ１０４がインタレース方式でキャプチャを行う場合、ビデオメモリへの記憶方法によって３種類の描画モードC*DM[1:0]を選択する。描画モードとしてC*DM[1:0]=2’b0*を選択した場合、ＶＣＣ１０４はフィールド単位でキャプチャを行い、図４（ｂ）に示すように、１ｓｔフィールドの画像データと２ｎｄフィールドの画像データとをビデオメモリ３内の同一領域に格納する。
【００２８】
描画モードとしてC*DM[1:0]=2’b10を選択した場合、ＶＣＣ１０４はフレーム単位でキャプチャを行い、図４（ｃ）に示すように、１ｓｔフィールドの画像データと２ｎｄフィールドの画像データとをビデオメモリ３内の別領域に格納する。
【００２９】
描画モードとしてC*DM[1:0]=2’b11を選択した場合、ＶＣＣ１０４はフレーム単位でキャプチャを行い、図４（ｄ）に示すように、１ｓｔフィールドの画像データと２ｎｄフィールドの画像データとをビデオメモリ３内の領域にライン毎に交互に格納する。
【００３０】
ＶＤＰ１において、図２に示したどの設定を使用するかはＣＰＵ２からコマンドを入力することで指定され、ＶＣＣ１０４は指定された設定にしたがって画像データのキャプチャを行う。また、ＶＣＣ１０４は、ＣＲＴコントローラ１１０から表示映像の周期に関するタイミング情報を入力し、キャプチャを行うタイミングと表示を行うタイミングの管理を行う。
【００３１】
一方、ＣＰＣ１０５は、ＶＣＣ１０４からどのトリプルバッファから画像データを読み出すかの指示を入力し、ＣＰＵ２から指定された設定にしたがって画像データを読み出す。
【００３２】
続いて、ＶＣＣ１０４がビデオメモリ３内のトリプルバッファにキャプチャした画像データを書き込む際の処理について図５のフローチャートを参照して説明する。
以下では、トリプルバッファを構成する３つの描画領域（画像記憶領域）を描画領域＿０、描画領域＿１、描画領域＿２とし、ＶＣＣ１０４は描画領域＿０、描画領域＿１、描画領域＿２、描画領域＿０、…の順序で３つの描画領域に順次キャプチャした画像データを書き込む。
【００３３】
本実施形態では、変数ｎを用いて、描画領域＿０、描画領域＿１、描画領域＿２を「描画領域＿ｎ」と表す。ここで、変数ｎは、０、１、２の何れかの値をとり、後述する各描画領域をアクセスする過程で変数ｎをインクリメントすることにより、ｎの値は、０、１、２、０、１、２、０…というように０から２の間を巡回する。そこで、説明の便宜上、ｎ＝２のときにｎ＋１は０を表し、ｎ＝０のときにｎ−１は２を表すものと定義する。即ち、上記巡回数値列において、ｎ＝２のときに変数ｎをインクリメントすると変数ｎは０になり、ｎ＝０のときに変数ｎをデクリメントすると変数ｎは２になる。
なお、本実施形態では、三つの描画領域＿０、描画領域＿１、描画領域＿２を例としているが、これに限定されず、必要に応じて描画領域の数を増やしてもよい。その場合、描画領域の数に応じてビデオメモリ３内のバッファの数も増やせばよい。
【００３４】
ＶＣＣ１０４がビデオメモリ３内のトリプルバッファに画像データを書き込む場合、即ちトリプルバッファの描画領域＿ｎ（描画領域＿０、描画領域＿１、描画領域＿２のうちの任意の１つ）に画像データを書き込む場合、図５において、ＶＣＣ１０４は、ＣＲＴコントローラ１１０から入力する表示映像の周期に関するタイミング情報に基づいてＣＰＣ１０５が描画領域＿ｎを読み出し中かどうかを判断する（ステップＳ５０１）。
【００３５】
ＣＰＣ１０５で描画領域＿ｎから画像データが読み出されていると判断した場合は（ステップＳ５０１：Ｙｅｓ）、ＶＣＣ１０４はキャプチャ映像の次の周期におけるキャプチャを中止し、トリプルバッファへの書き込みを行わない（ステップＳ５０３）。
【００３６】
その後、ＶＣＣ１０４はｎをインクリメントせず、１フレーム（又は１フィールド）の書き込みが終了したか否かを判断する（ステップＳ５０５）。ここで、書き込み終了でない場合は（ステップＳ５０５：Ｎｏ）、再びステップＳ５０１に戻って同じ描画領域から画像データが読み出し中かどうかを再び判断する。
【００３７】
一方、ＣＰＣ１０５で描画領域＿ｎからは画像データが読み出されていないと判断した場合は（ステップＳ５０１：Ｎｏ）、ＶＣＣ１０４はキャプチャした画像データを描画領域＿ｎに書き込む（ステップＳ５０２）。そして、ＶＣＣ１０４はｎのインクリメントを行い（ステップＳ５０４）、再びステップＳ５０１に戻って次の描画領域が読み出し中かどうかを判断し、同様の処理を実行する。
【００３８】
以後、書き込み終了でない間は（ステップＳ５０５：Ｎｏ）、ステップＳ５０１〜Ｓ５０５を繰り返し実行し、ＶＣＣ１０４は描画領域＿０〜描画領域＿２に順次キャプチャした画像データの書き込みを行い、描画領域＿２の書き込みが終了すると、再び描画領域＿０に戻って同様の書き込みを繰り返す。
【００３９】
上述の一連のループ処理において、ステップＳ５０５において書き込み終了と判断されると（ステップＳ５０５：Ｙｅｓ）、１フレーム（又は１フィールド）分の画像の書き込みが完了するが、その後、次のフレーム（又はフィールド）の画像を書き込むために同様の処理が繰り返される。なお、ステップＳ５０４におけるインクリメントでは、前述のように、ｎ＝２のインクリメントはｎ=０とし、インクリメントの操作によりｎ＝０、１、２、０、…の順に変化する。
【００４０】
以上述べたように、ＶＣＣ１０４は、キャプチャした画像データのトリプルバッファへの書き込みが終了した時点で、次に書き込むべきトリプルバッファがＣＰＣ１０５により読み出されている場合には次のキャプチャを中止する。なお、特許請求の範囲に記載の第一の判定手段とは、ステップＳ５０１において、ＶＣＣ１０４が描画領域＿ｎから画像データが読み出されていないかを判定する機能を指す。
【００４１】
続いて、ＣＰＣ１０５がビデオメモリ３内のトリプルバッファから画像データを読み出す際の処理について図６のフローチャートを参照して説明する。
図５と同様に、トリプルバッファを構成する３つの描画領域を描画領域＿０、描画領域＿１、描画領域＿２とし、ＣＰＣ１０５は描画領域＿０、描画領域＿１、描画領域＿２、描画領域＿０、…の順序で３つの描画領域から順次画像データを読み出す。変数ｎの定義についても同様とする。
【００４２】
ＣＰＣ１０５がビデオメモリ３内のトリプルバッファから画像データを読み出す場合、即ちトリプルバッファの描画領域＿ｎ（描画領域＿０、描画領域＿１、描画領域＿２のうちの任意の１つ）から画像データを読み出す場合、図６において、ＶＣＣ１０４が描画領域＿ｎに書き込み中かどうかを判断し（ステップＳ６０１）、その描画領域＿ｎに書き込み中である場合は（ステップＳ６０１：Ｙｅｓ）、ＣＰＣ１０５が同じ描画領域＿ｎから読み出しを行うとティアリングが発生するため、ＶＣＣ１０４はＣＰＣ１０５に対して描画領域＿ｎ−１を読み出すよう指示する。ＣＰＣ１０５がＶＣＣ１０４からの指示を入力すると、描画領域＿ｎ−１で記憶された画像データを再度読み出す（ステップＳ６０３）。即ち、前回の読み出し時に読み出しの対象となっていた描画領域＿ｎ−１と同じ描画領域の画像データが続けて読み出される。
【００４３】
その後、ＣＰＣ１０５はｎをインクリメントせず、１フレーム（又は１フィールド）の読み出しが終了したかどうかを判断する（ステップＳ６０５）。ここで、読み出し終了でない場合は（ステップＳ６０５：Ｎｏ）、再びステップＳ６０１に戻って次の描画領域が書き込み中かどうかを判断し、同様の処理を実行する。
【００４４】
一方、ＶＣＣ１０４が描画領域＿ｎに書き込みを行っていない場合は（ステップＳ６０１：Ｎｏ）、ＣＰＣ１０５が画像データを描画領域＿ｎから読み出す（ステップＳ６０２）。そして、ＣＰＣ１０５はｎのインクリメントを行い（ステップＳ６０４）、再びステップＳ６０１に戻って次の描画領域へ書き込み中かどうかを判断し、同様の処理を実行する。
【００４５】
以後、読み出し終了でない間は（ステップＳ６０５：Ｎｏ）、ステップＳ６０１〜Ｓ６０５を繰り返し実行し、ＣＰＣ１０５は描画領域＿０〜描画領域＿２から順次画像データの読み出しを行う。上述の一連のループ処理において、読み出し終了と判断されると（ステップＳ６０５：Ｙｅｓ）、１フレーム（又は１フィールド）分の画像の読み出しが完了するが、その後、次のフレーム（又はフィールド）の画像を読み出すために同様の処理が繰り返される。
【００４６】
以上述べたように、ＣＰＣ１０５は、トリプルバッファから画像データの読み出しが終了した時点で、次に読み出すべきトリプルバッファがＶＣＣ１０４により書き込まれている場合には前回と再び同じトリプルバッファの画像データの読み出しを行う。なお、特許請求の範囲に記載の第二の判定手段とは、ステップＳ６０２において、ＣＰＣ１０５がＶＣＣ１０４からの入力に基づいて、描画領域＿ｎに画像データが書き込まれていないかを判定する機能を指す。
また、上述の図５及び図６のフローは、１フレーム（またはフィールド）分の画像処理のフローを表すものとしたが、これに限定されない。
【００４７】
次に、図５及び図６で述べたＶＣＣ１０４及びＣＰＣ１０５における処理を図７から図１４を参照して具体的に説明する。
図７は、図２の設定１におけるキャプチャ及び表示のタイミングを示す図であり、キャプチャ映像フレーム周期が表示フレーム周期より短い場合の例である。
【００４８】
図７において、時刻ｔ１０１〜ｔ１０３で、ＣＰＣ１０５は描画領域＿０の画像データを読み出して表示させる。一方、時刻ｔ１０２〜ｔ１０３で、ＶＣＣ１０４は描画領域＿２にキャプチャした画像データを書き込む。
【００４９】
時刻ｔ１０３の時点ではＶＣＣ１０４が次に書き込むべき描画領域＿０はＣＰＣ１０５により読み出されていないため、図５のステップＳ５０２における判定はＮｏであり、時刻ｔ１０３〜ｔ１０４で、ＶＣＣ１０４は描画領域＿０にキャプチャした画像データを書き込む。
【００５０】
同じ時刻ｔ１０３の時点ではＣＰＣ１０５が次に読み出すべき描画領域＿１はＶＣＣ１０４により書き込まれていないため、図６のステップＳ６０２における判定はＮｏであり、時刻ｔ１０３〜ｔ１０５で、ＣＰＣ１０５は描画領域＿１から画像データを読み出す。
【００５１】
時刻ｔ１０４の時点ではＶＣＣ１０４が次に書き込むべき描画領域＿１はＣＰＣ１０５により読み出されているため、図５のステップＳ５０２における判定はＹｅｓであり、ＶＣＣ１０４は次の１周期（時刻ｔ１０４〜ｔ１０６）におけるキャプチャは行わない。ＶＣＣ１０４は、その次のフレーム周期のタイミング（ｔ１０６〜ｔ１０８）で描画領域＿１にキャプチャした画像データを書き込む。
【００５２】
このように、キャプチャ映像フレーム周期が表示フレーム周期より短い場合には、ＶＣＣ１０４の書き込み処理がＣＰＣ１０５の読み出し処理に追いついた段階で、ＶＣＣ１０４はその次の１周期におけるキャプチャを中止する。
【００５３】
図８は、図２の設定１におけるキャプチャ及び表示のタイミングを示す図であり、キャプチャ映像フレーム周期が表示フレーム周期より長い場合の例である。
【００５４】
図８において、時刻ｔ２０１〜ｔ２０３で、ＶＣＣ１０４は描画領域＿０にキャプチャした画像データ書き込む。一方、時刻ｔ２０２〜ｔ２０３で、ＣＰＣ１０５は描画領域＿２から画像データを読み出す。
【００５５】
時刻ｔ２０３の時点ではＣＰＣ１０５が次に読み出すべき描画領域＿０はＶＣＣ１０４により書き込まれていないため、図６のステップＳ６０２における判定はＮｏであり、時刻ｔ２０３〜ｔ２０４で、ＣＰＣ１０５は描画領域＿０から画像データを読み出す。
【００５６】
同じ時刻ｔ２０３の時点ではＶＣＣ１０４が次に書き込むべき描画領域＿１はＣＰＣ１０５により読み出されていないため、図５のステップＳ５０２における判定はＮｏであり、時刻ｔ２０３〜ｔ２０５で、ＶＣＣ１０４は描画領域＿１にキャプチャした画像データを書き込む。
【００５７】
時刻ｔ２０４の時点ではＣＰＣ１０５が次に読み出すべき描画領域＿１はＶＣＣ１０４により書き込まれているため、図６のステップＳ６０２における判定はＹｅｓであり、ＣＰＣ１０５は次の１周期（時刻ｔ２０４〜ｔ２０６）で再び描画領域＿０から画像データを読み出す。ＣＰＣ１０５は、その次のフレーム周期のタイミング（ｔ２０６〜ｔ２０８）で描画領域＿１から画像データを読み出す。
【００５８】
このように、キャプチャ映像フレーム周期が表示フレーム周期より長い場合には、ＣＰＣ１０５の読み出し処理がＶＣＣ１０４の書き込み処理に追いついた段階で、ＣＰＣ１０５はその次の１周期では前の周期と同じトリプルバッファから画像データを読み出す。
【００５９】
図９は、図２の設定２におけるキャプチャ及び表示のタイミングを示す図であり、キャプチャ映像フレーム周期が表示フィールド周期より短い場合の例である。図９は、プログレッシブ方式からインタレース方式に変換する処理であり、例えば６０Ｈｚのプログレッシブ映像信号を５０ＨｚのＰＡＬ形式の映像信号に変換する場合の処理である。
【００６０】
図９において、ＶＣＣ１０４は、時刻ｔ３０１〜ｔ３０３では描画領域＿０に、時刻ｔ３０３〜ｔ３０５では描画領域＿１に、時刻ｔ３０５〜ｔ３０７では描画領域＿２に、時刻ｔ３０７〜ｔ３０８では描画領域＿０にキャプチャした画像データを書き込む。
【００６１】
一方、ＣＰＣ１０５は、時刻ｔ３０４〜ｔ３０６では描画領域＿０から１ｓｔフィールドのデータとして、時刻ｔ３０６〜ｔ３０９では描画領域＿１から２ｎｄフィールドのデータとして画像データを読み出す。
【００６２】
時刻ｔ３０８の時点ではＶＣＣ１０４が次に書き込むべき描画領域＿１はＣＰＣ１０５により読み出されているため、ＶＣＣ１０４は次の１周期（時刻ｔ３０８〜ｔ３１０）におけるキャプチャは行わない。ＶＣＣ１０４は、その次のフレーム周期のタイミング（ｔ３１０〜ｔ３１２）で描画領域＿１にキャプチャした画像データを書き込む。
【００６３】
図９においても、図７と同様に、ＶＣＣ１０４の書き込み処理がＣＰＣ１０５の読み出し処理に追いついた段階で、ＶＣＣ１０４はその次の１周期におけるキャプチャを中止する。
【００６４】
図１０は、図２の設定３におけるキャプチャ及び表示のタイミングを示す図であり、キャプチャフィールド周期が表示フレーム周期より長い場合の例である。図１０は、インタレース方式からプログレッシブ方式に変換する処理であり、例えば５０ＨｚのＰＡＬ形式の映像信号を６０Ｈｚのプログレッシブ映像信号に変換する場合の処理である。
【００６５】
図１０において、ＶＣＣ１０４は、時刻ｔ４０１〜ｔ４０３では描画領域＿０に１ｓｔフィールドの画像データを、時刻ｔ４０３〜ｔ４０５では描画領域＿１に２ｎｄフィールドの画像データを、時刻ｔ４０５〜ｔ４０８では描画領域＿２に１ｓｔフィールドの画像データをキャプチャして書き込む。
【００６６】
一方、ＣＰＣ１０５は、時刻ｔ４０２〜ｔ４０４では描画領域＿２から、時刻ｔ４０４〜ｔ４０６では描画領域＿０から、時刻ｔ４０６〜ｔ４０７では描画領域＿１から画像データを読み出す。
【００６７】
時刻ｔ４０７の時点ではＣＰＣ１０５が次に読み出すべき描画領域＿２はＶＣＣ１０４により書き込まれているため、ＣＰＣ１０５は次の１周期（時刻ｔ４０７〜ｔ４０９）で再び描画領域＿１から画像データを読み出す。ＣＰＣ１０５は、その次のフレーム周期のタイミング（ｔ４０９〜ｔ４１１）で描画領域＿２から画像データを読み出す。
【００６８】
図１０においても、図８と同様に、ＣＰＣ１０５の読み出し処理がＶＣＣ１０４の書き込み処理に追いついた段階で、ＣＰＣ１０５はその次の１周期では前の周期と同じトリプルバッファから画像データを読み出す。
【００６９】
図１１は、図２の設定４におけるキャプチャ及び表示のタイミングを示す図であり、キャプチャフィールド周期が表示フィールド周期より短い場合の例である。図１１は、インタレース方式の映像形式を変換する処理であり、例えば６０ＨｚのＮＴＳＣ形式の映像信号を５０ＨｚのＰＡＬ形式の映像信号に変換する場合の処理である。
【００７０】
図１１において、ＶＣＣ１０４は、時刻ｔ５０１〜ｔ５０３では描画領域＿０に１ｓｔフィールドの画像データを、時刻ｔ５０３〜ｔ５０５では描画領域＿１に２ｎｄフィールドの画像データを、時刻ｔ５０５〜ｔ５０７では描画領域＿２に１ｓｔフィールドの画像データを、時刻ｔ５０７〜ｔ５０８では描画領域＿１に２ｎｄフィールドの画像データをキャプチャして書き込む。
【００７１】
一方、ＣＰＣ１０５は、時刻ｔ５０４〜ｔ５０６では描画領域＿０から１ｓｔフィールドのデータとして、時刻ｔ５０６〜ｔ５０９では描画領域＿１から２ｎｄフィールドのデータとして画像データを読み出す。
【００７２】
時刻ｔ５０８の時点ではＶＣＣ１０４が次に書き込むべき描画領域＿１はＣＰＣ１０５により読み出されているため、ＶＣＣ１０４は次の１周期（時刻ｔ５０８〜ｔ５１０）におけるキャプチャは行わない。ＶＣＣ１０４は、その次のフィールド周期のタイミング（ｔ５１０〜ｔ５１２）で描画領域＿１にキャプチャした画像データを書き込む。
【００７３】
時刻ｔ５１０以降、再びキャプチャが停止する時刻ｔ５１９までにＶＣＣ１０４によりキャプチャされた画像データは、ＣＰＣ１０５が読み出す時には１ｓｔフィールドと２ｎｄフィールドが逆転する。また、ＶＣＣ１０４におけるキャプチャの停止は１フィールド単位となり、２フィールド連続してキャプチャが停止することはない。
【００７４】
図１１においても、図７と同様に、ＶＣＣ１０４の書き込み処理がＣＰＣ１０５の読み出し処理に追いついた段階で、ＶＣＣ１０４はその次の１周期におけるキャプチャを中止する。
【００７５】
図１２は、図２の設定６又は８におけるキャプチャ及び表示のタイミングを示す図であり、キャプチャ映像フレーム周期が表示フレーム周期より短い場合の例である。図１２は、インタレース方式の映像形式を変換する処理であり、例えば６０ＨｚのＮＴＳＣ形式の映像信号を５０ＨｚのＰＡＬ形式の映像信号に変換する場合の処理である。
【００７６】
図１２において、ＶＣＣ１０４は、時刻ｔ６０１〜ｔ６０３では描画領域＿０に１ｓｔフィールド及び２ｎｄフィールドの画像データを連続してキャプチャし、時刻ｔ６０３〜ｔ６０４では描画領域＿１に１ｓｔフィールド及び２ｎｄフィールドの画像データを連続してキャプチャする。一方、ＣＰＣ１０５は、時刻ｔ６０２〜ｔ６０５で描画領域＿２から１ｓｔフィールド及び２ｎｄフィールドの画像データを連続して読み出す。
【００７７】
時刻ｔ６０４の時点ではＶＣＣ１０４が次に書き込むべき描画領域＿２はＣＰＣ１０５により読み出されているため、ＶＣＣ１０４は次の１周期（時刻ｔ６０４〜ｔ６０６）におけるキャプチャは行わない。ＶＣＣ１０４は、その次のフレーム周期のタイミング（ｔ６０６〜ｔ６０８）で描画領域＿２にキャプチャした画像データを書き込む。
【００７８】
図１１に示した場合と異なり、図１２ではフレーム単位でトリプルバッファへの書き込み・読み出しを行うため、ＶＣＣ１０４によりキャプチャされた画像データは、ＣＰＣ１０５が読み出す時に１ｓｔフィールドと２ｎｄフィールドが逆転することはない。また、ＶＣＣ１０４におけるキャプチャの停止は２フィールド単位となり、１フレーム連続してキャプチャが停止する。
【００７９】
図１２においても、図７と同様に、ＶＣＣ１０４の書き込み処理がＣＰＣ１０５の読み出し処理に追いついた段階で、ＶＣＣ１０４はその次の１周期におけるキャプチャを中止する。
【００８０】
なお、図２の設定６又は８の何れを選択した場合においても、キャプチャ及び表示のタイミングは同じであるが、設定８ではビデオメモリ３上で１ｓｔフィールドと２ｎｄフィールドとを交互に配置して１つの画像として記憶するため、特に静止画像を表示させる場合において、設定６を用いる場合より解像度を高くすることができる。
【００８１】
一方、設定６ではビデオメモリ３上で１ｓｔフィールドと２ｎｄフィールドとを別々に記憶するため、動きの激しい動画像を表示する際に適している。本実施形態ではビデオメモリ３への記憶方法として、フィールド毎に別の領域に記憶する方法と、１つの領域にライン毎交互に記憶する方法の何れかを選択可能であるため、表示画像に合わせて適切な方法を選択することができる。
【００８２】
図１３は、図２の設定４におけるキャプチャ及び表示のタイミングを示す図であり、キャプチャフィールド周期が表示フィールド周期より長い場合の例である。図１３は、インタレース方式の映像形式を変換する処理であり、例えば５０ＨｚのＰＡＬ形式の映像信号を６０ＨｚのＮＴＳＣ形式の映像信号に変換する場合の処理である。
【００８３】
図１３において、ＶＣＣ１０４は、時刻ｔ７０１〜ｔ７０３では描画領域＿０に１ｓｔフィールドの画像データを、時刻ｔ７０３〜ｔ７０５では描画領域＿１に２ｎｄフィールドの画像データを、時刻ｔ７０５〜ｔ７０８では描画領域＿２に１ｓｔフィールドの画像データをキャプチャして書き込む。
【００８４】
一方、ＣＰＣ１０５は、時刻ｔ７０２〜ｔ７０４では描画領域＿２から２ｎｄフィールドのデータとして、時刻ｔ７０４〜ｔ７０６では描画領域＿０から１ｓｔフィールドのデータとして、時刻ｔ７０６〜ｔ７０７では描画領域＿１から２ｎｄフィールドのデータとして画像データを読み出す。
【００８５】
時刻ｔ７０７の時点ではＣＰＣ１０５が次に読み出すべき描画領域＿２はＶＣＣ１０４により書き込まれているため、ＣＰＣ１０５は次の１周期（時刻ｔ７０７〜ｔ７０９）で再び描画領域＿１から１ｓｔフィールドのデータとして画像データを読み出す。ＣＰＣ１０５は、その次のフィールド周期のタイミング（ｔ７０９〜ｔ７１１）で描画領域＿２から２ｎｄフィールドのデータとして画像データを読み出す。
【００８６】
時刻ｔ７０７以降、再び連続して同じトリプルバッファを読み出す時刻ｔ７１８までにＣＰＣ１０５により読み出された画像データは、ＶＣＣ１０４がキャプチャした画像から１ｓｔフィールドと２ｎｄフィールドが逆転したものとなる。
【００８７】
図１３においても、図８と同様に、ＣＰＣ１０５の読み出し処理がＶＣＣ１０４の書き込み処理に追いついた段階で、ＣＰＣ１０５はその次の１周期では前の周期と同じトリプルバッファから画像データを読み出す。
【００８８】
図１４は、図２の設定６又は８におけるキャプチャ及び表示のタイミングを示す図であり、キャプチャ映像フレーム周期が表示フレーム周期より長い場合の例である。図１４は、インタレース方式の映像形式を変換する処理であり、例えば５０ＨｚのＰＡＬ形式の映像信号を６０ＨｚのＮＴＳＣ形式の映像信号に変換する場合の処理である。
【００８９】
図１４において、ＶＣＣ１０４は、時刻ｔ８０１〜ｔ８０３では描画領域＿０に１ｓｔフィールド及び２ｎｄフィールドの画像データを、時刻ｔ８０３〜ｔ８０５では描画領域＿１に１ｓｔフィールド及び２ｎｄフィールドの画像データを、時刻ｔ８０５〜ｔ８０７では描画領域＿２に１ｓｔフィールド及び２ｎｄフィールドの画像データを、時刻ｔ８０７〜ｔ８１０では描画領域＿０に１ｓｔフィールド及び２ｎｄフィールドの画像データを連続してキャプチャする。
【００９０】
一方、ＣＰＣ１０５は、時刻ｔ８０２〜ｔ８０４では描画領域＿２から１ｓｔフィールド及び２ｎｄフィールドの画像データを、時刻ｔ８０４〜ｔ８０６では描画領域＿０から１ｓｔフィールド及び２ｎｄフィールドの画像データを、時刻ｔ８０６〜ｔ８０８では描画領域＿１から１ｓｔフィールド及び２ｎｄフィールドの画像データを、時刻ｔ８０８〜ｔ８０９では描画領域＿２から１ｓｔフィールド及び２ｎｄフィールドの画像データを、連続して読み出す。
【００９１】
時刻ｔ８０９の時点ではＣＰＣ１０５が次に読み出すべき描画領域＿０はＶＣＣ１０４により書き込まれているため、ＣＰＣ１０５は次の１周期（時刻ｔ８０９〜ｔ８１１）で再び描画領域＿２から１ｓｔフィールド及び２ｎｄフィールドの画像データを連続して読み出す。ＣＰＣ１０５は、その次のフレーム周期のタイミング（ｔ８１１〜ｔ８１３）で描画領域＿０から１ｓｔフィールド及び２ｎｄフィールドの画像データを連続して読み出す。
【００９２】
図１４においても、図８と同様に、ＣＰＣ１０５の読み出し処理がＶＣＣ１０４の書き込み処理に追いついた段階で、ＣＰＣ１０５はその次の１周期では前の周期と同じトリプルバッファから画像データを読み出す。
【００９３】
このように、本実施形態ではビデオメモリ３上に構成した３つの描画領域（トリプルバッファ）にＶＣＣ１０４がキャプチャした画像データを順次書き込み、ＣＰＣ１０５が画像データを順次読み出す構成とし、ＶＣＣ１０４による書き込み処理がＣＰＣ１０５による読み出し処理に追いついた場合にはキャプチャを１周期停止し、逆にＣＰＣ１０５による読み出し処理がＶＣＣ１０４による書き込み処理に追いついた場合には同じ描画領域を続けて読み出すようにすることで、ＣＰＣ１０５による描画領域からの読み出し処理中に、ＶＣＣ１０４が該描画領域に書き込みを行うことがなくなり、ティアリングを防止することができる。
【００９４】
上述した図７〜図１４の処理において、プログレッシブ方式からインタレース方式への変換、インタレース方式からプログレッシブ方式への変換、ＮＴＳＣ形式からＰＡＬ形式への変換、ＰＡＬ形式からＮＴＳＣ形式への変換においては、画像の拡大縮小の操作が発生する。
【００９５】
このため、図１５に示すように、ＣＰＣ１０５は表示プレーン領域に表示する座標（Ｘ，Ｙ）から表示データの座標（ｘ，ｙ）を算出し、ＣＰＣ１０５はこの座標（ｘ，ｙ）の位置の画像データをトリプルバッファから読み出す必要がある。
【００９６】
ＳｘをＸ方向の拡大縮小補正係数、ＳｙをＹ方向拡大縮小補正係数とおくと、ＣＰＣ１０５は、以下の（１）式及び（２）式の演算を行い、表示データの座標（ｘ，ｙ）を求める。
ｘ＝Ｘ×Ｓｘ  …  （１）
ｙ＝Ｙ×Ｓｙ  …  （２）
【００９７】
しかし、キャプチャされた画像がインタレース方式の２ｎｄフィールドの画像である場合は、その画像の原点は１フレームの元画像の原点とは異なるため、２ｎｄフィールドの画像の原点を基準として拡大縮小の処理を行うと本来読み出すべき座標とは異なる座標の画像データがＣＰＣ１０５から読み出される。
【００９８】
同様に、表示する画像がインタレース方式の２ｎｄフィールドの画像である場合においても、その画像の原点は１フレームの表示画像の原点とは異なるため、２ｎｄフィールドの画像の原点を基準として拡大縮小の処理を行うと本来読み出すべき座標とは異なる座標の画像データがＣＰＣ１０５から読み出される。
【００９９】
さらに、図１１及び図１３で前述したように、キャプチャした１ｓｔフィールドの画像を２ｎｄフィールドとして表示する場合、またはキャプチャした２ｎｄフィールドの画像を１ｓｔフィールドとして表示する場合においても、１ｓｔフィールドの画像の原点と２ｎｄフィールドの画像の原点が異なるために、本来読み出すべき座標とは異なる座標の画像データがＣＰＣ１０５から読み出される。
【０１００】
以下では、キャプチャする画像又は表示する画像がインタレース方式の２ｎｄフィールドの画像である場合においても、拡大縮小後の座標が本来表示すべき座標となるように補正する方法に関して、図１６及び図１７を参照して説明する。
【０１０１】
図１６（ａ）において、ＶＣＣ１０４がインタレース方式の画像をフィールド単位でキャプチャし、ビデオメモリ３上のトリプルバッファに書き込むと、フィールド単位で書き込まれた画像のｙ軸方向のサイズは元画像の１／２となる。
【０１０２】
このとき、元画像の原点のｙ座標ｙ０は、１ｓｔフィールドの画像の原点と一致するが、２ｎｄフィールドの画像の原点とは一致しない。２ｎｄフィールドの座標の原点を０とおくと、ｙ０は−０．５の位置となる。すなわち、元画像の原点ｙ０を基準とする座標ｙ´は、ｙ´＝ｙ＋０．５により求められる。
【０１０３】
したがって、（２）式において、ｙをｙ´に置き換えることで元画像の原点ｙ０を基準として拡大縮小を行う計算式となる。
ｙ´＝Ｙ×Ｓｙ  …  （３）
ここで、ｙ´＝ｙ＋０．５を（３）式に代入すると（４）式となり、ＣＰＣ１０５は（２）式による演算結果から−０．５を加算する補正を行うことで元画像の原点ｙ０を基準として拡大縮小を行うことができる。
ｙ＝Ｙ×Ｓｙ−０．５  …  （４）
【０１０４】
（４）式は、例えば、図１０の時刻ｔ４０３〜ｔ４０５でキャプチャした２ｎｄフィールドの画像データを時刻ｔ４０６〜ｔ４０７で表示する際に、ＣＰＣ１０５が描画領域＿１から画像データを読み出すアドレス（ｘ，ｙ）を算出するのに用いる。
【０１０５】
一方、図１６（ｂ）において、ＣＰＣ１０５がインタレース方式の画像を表示する場合、フィールド毎の表示画像のＹ軸方向のサイズは１フレームの表示画像の１／２となる。
【０１０６】
このとき、１フレームの表示画像の原点のＹ座標Ｙ０は、１ｓｔフィールドの画像の原点と一致するが、２ｎｄフィールドの画像の原点とは一致しない。２ｎｄフィールドの座標の原点を０とおくと、Ｙ０は−０．５の位置となる。すなわち、１フレームの表示画像の原点Ｙ０を基準とする座標Ｙ´は、Ｙ´＝Ｙ＋０．５により求められる。
【０１０７】
したがって、（２）式において、ＹをＹ´に置き換えることで１フレームの表示画像の原点Ｙ０を基準として拡大縮小を行う計算式となる。
ｙ＝Ｙ´×Ｓｙ  …  （５）
ここで、Ｙ´＝Ｙ＋０．５を（５）式に代入すると（６）式となり、ＣＰＣ１０５は（２）式による演算においてＹ座標に０．５を加算する補正を行うことで１フレームの表示画像の原点Ｙ０を基準として拡大縮小を行うことができる。
ｙ＝（Ｙ＋０．５）×Ｓｙ  …  （６）
【０１０８】
（６）式は、例えば、図９の時刻ｔ３０３〜ｔ３０５でキャプチャした画像データを時刻ｔ３０６〜ｔ３０９で２ｎｄフィールドの画像データとして表示する際に、ＣＰＣ１０５が描画領域＿１から画像データを読み出すアドレス（ｘ，ｙ）を算出するのに用いる。
【０１０９】
なお、ＶＣＣ１０４がキャプチャした２ｎｄフィールドの画像をＣＰＣ１０５が２ｎｄフィールドの画像として読み出し表示させる場合は、ＣＰＣ１０５は（４）式のｙ座標に関する補正と（６）式のＹ座標に関する補正の双方を行い、拡大縮小の変換を（７）式で行う。
ｙ＝（Ｙ＋０．５）×Ｓｙ−０．５  …  （７）
【０１１０】
（７）式は、例えば、図１１の時刻ｔ５０３〜ｔ５０５でキャプチャした２ｎｄフィールドの画像データを時刻ｔ５０６〜ｔ５０９で２ｎｄフィールドの画像データとして表示する際に、ＣＰＣ１０５が描画領域＿１から画像データを読み出すアドレス（ｘ，ｙ）を算出するのに用いる。
【０１１１】
図１７は、ＣＰＣ１０５で拡大縮小の座標変換を行う際の機能を示す機能構成図である。図１７において、符号１１はＸ座標からｘ座標を求めるための座標変換を行うｘ座標変換部であり、具体的には（１）式の演算を行う。
【０１１２】
符号１２はＹ座標に対してｏｆｆｓｅｔ＿１を加算する第１のオフセット補正部であり、表示画像がインタレース方式で且つ２ｎｄフィールドを表示する場合のみｏｆｆｓｅｔ＿１＝＋０．５となり、その他の場合はｏｆｆｓｅｔ＿１＝０となる。第１のオフセット補正部１２による補正は、（６）式で行った補正に相当する。
【０１１３】
なお、第１のオフセット補正部１２は、ＣＲＴコントローラ１１０から表示画像がプログレッシブ方式、インタレース方式の１ｓｔフィールド、インタレース方式の２ｎｄフィールドの何れの画像であるかを判定する。
【０１１４】
符号１３はＹ座標からｙ座標を求めるための座標変換を行うｙ座標変換部であり、具体的には（２）式の演算を行う。符号１４はｙ座標変換部の演算結果に対してｏｆｆｓｅｔ＿２を加算する第２のオフセット補正部であり、キャプチャ画像がインタレース方式で且つ２ｎｄフィールドの画像である場合のみｏｆｆｓｅｔ＿２＝−０．５となり、その他の場合はｏｆｆｓｅｔ＿２＝０となる。第２のオフセット補正部１４による補正は、（４）式で行った補正に相当する。
【０１１５】
なお、第２のオフセット補正部１２は、ＶＣＣ１０４からキャプチャした画像がプログレッシブ方式、インタレース方式の１ｓｔフィールド、インタレース方式の２ｎｄフィールドの何れの画像であるかを判定する。
【０１１６】
以上が、ＣＰＣ１０５で行う座標の補正方法を説明したが、上記補正方法は拡大縮小の処理を行う場合だけでなく、傾き補正や歪曲補正など他の座標変換を行う際にも用いることが可能である。
【０１１７】
表示プレーン領域に表示する座標Ｘから表示データの座標ｘを求める際の関数をＦｘ、表示プレーン領域に表示する座標Ｙから表示データの座標ｙを求める際の関数をＦｙとおくと、ＣＰＣ１０５で行う座標変換は一般に（８）式及び（９）式で表される。
ｘ＝Ｆｘ（Ｘ，Ｙ）  …  （８）
ｙ＝Ｆｙ（Ｘ，Ｙ）  …  （９）
【０１１８】
（８）式及び（９）式に対して、ｏｆｆｓｅｔ＿１及びｏｆｆｓｅｔ＿２を用いた補正を行うと、（１０）式および（１１）式となる。
ｘ＝Ｆｘ（Ｘ，Ｙ＋ｏｆｆｓｅｔ＿１）  …  （１０）
ｙ＝Ｆｙ（Ｘ，Ｙ＋ｏｆｆｓｅｔ＿１）＋ｏｆｆｓｅｔ＿２  …  （１１）
上述した拡大縮小の処理では、Ｆｘ（Ｘ，Ｙ）＝Ｘ×Ｓｘ、Ｆｙ（Ｘ，Ｙ）＝Ｙ×Ｓｙである。
【０１１９】
本実施形態では、キャプチャ画像又は表示画像がインタレース方式の２ｎｄフィールドの画像である場合にＣＰＣ１０５がｏｆｆｓｅｔ＿１又はｏｆｆｓｅｔ＿２によるオフセット補正を行うことで、元の１フレームの画像を基準とした座標変換を行うことが可能となり、本来表示すべき正確な座標の画像データを表示することができる。
【０１２０】
以上、本発明の実施形態を詳述してきたが、具体的な構成は本実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、本実施形態では、ビデオメモリ領域にトリプルバッファとして３つの描画領域を設けたが、４つ以上の描画領域を設けてキャプチャした画像データを順次書き込み、順次読み出す形態としてもよい。
【産業上の利用可能性】
【０１２１】
本発明は、キャプチャ映像と異なる周期で表示映像を出力する画像処理装置に用いて好適である。
【図面の簡単な説明】
【０１２２】
【図１】本発明の一実施形態に係る画像処理装置の構成を示す構成図である。
【図２】図１のＶＤＰ１におけるキャプチャ及び表示のモードとトリプルバッファのインクリメントとの対応関係を示す図である。
【図３】図２で示した各描画モードの機能を示す図である。
【図４】図２で示した各モードにおいて、ビデオメモリ３内におけるキャプチャ映像の記憶領域を示す図である。
【図５】ＶＣＣ１０４がビデオメモリ３内のトリプルバッファにキャプチャした画像データを書き込む際の処理を示すフローチャートである。
【図６】ＣＰＣ１０５がビデオメモリ３内のトリプルバッファから画像データを読み出す際の処理を示すフローチャートである。
【図７】図２の設定１におけるキャプチャ及び表示のタイミングを示す図であり、キャプチャ映像フレーム周期が表示フレーム周期より短い場合の例である。
【図８】図２の設定１におけるキャプチャ及び表示のタイミングを示す図であり、キャプチャ映像フレーム周期が表示フレーム周期より長い場合の例である。
【図９】図２の設定２におけるキャプチャ及び表示のタイミングを示す図であり、キャプチャ映像フレーム周期が表示フィールド周期より短い場合の例である。
【図１０】図２の設定３におけるキャプチャ及び表示のタイミングを示す図であり、キャプチャフィールド周期が表示フレーム周期より長い場合の例である。
【図１１】図２の設定４におけるキャプチャ及び表示のタイミングを示す図であり、キャプチャフィールド周期が表示フィールド周期より短い場合の例である。
【図１２】図２の設定６又は８におけるキャプチャ及び表示のタイミングを示す図であり、キャプチャ映像フレーム周期が表示フレーム周期より短い場合の例である。
【図１３】図２の設定４におけるキャプチャ及び表示のタイミングを示す図であり、キャプチャフィールド周期が表示フィールド周期より長い場合の例である。
【図１４】図２の設定６又は８におけるキャプチャ及び表示のタイミングを示す図であり、キャプチャ映像フレーム周期が表示フレーム周期より長い場合の例である。
【図１５】ＣＰＣ１０５で行う座標変換を示す図である。
【図１６】１フレームの画像と、インタレース方式における１ｓｔフィールド及び２ｎｄフィールドの画像の原点の位置関係を示す図である。
【図１７】ＣＰＣ１０５で拡大縮小の座標変換を行う際の機能を示す機能構成図である。
【符号の説明】
【０１２３】
１…ＶＤＰ（画像処理装置）、２…ＣＰＵ、３…ビデオメモリ、１１…ｘ座標変換部、１２…第１のオフセット補正部、１３…ｙ座標変換部、１４…第２のオフセット補正部、１０１…ＣＰＵインターフェースモジュール、１０２…ＶＲＡＭインターフェースモジュール、１０３…ＶＤＵ、１０４…ＶＣＣ（画像書き込み手段）、１０５…ＣＰＣ（画像読み出し手段）、１０６…ＤＰＵ、１０７…ＯＳＤプレーンコントローラ、１０８…ＰＤＣ、１０９…ＤＡＣ、１１０…ＣＲＴコントローラ、１１１…クロックジェネレータ。
【図１】
0005140942.tif 000002
【図２】
0005140942.tif 000003
【図３】
0005140942.tif 000004
【図４】
0005140942.tif 000005
【図５】
0005140942.tif 000006
【図６】
0005140942.tif 000007
【図７】
0005140942.tif 000008
【図８】
0005140942.tif 000009
【図９】
0005140942.tif 000010
【図１０】
0005140942.tif 000011
【図１１】
0005140942.tif 000012
【図１２】
0005140942.tif 000013
【図１３】
0005140942.tif 000014
【図１４】
0005140942.tif 000015
【図１５】
0005140942.tif 000016
【図１６】
0005140942.tif 000017
【図１７】
0005140942.tif 000018