画像処理装置及び画像処理方法
【課題】画像処理装置において、フレームメモリのデータ転送帯域幅が比較的限られていても、高度な画像を表現するイメージデータを生成することができない状況の発生を抑制する技術を提供する。
【解決手段】ビデオデータの各フレームデータを順次記憶するメモリと、前記各フレームデータの間に挿入される補間フレームデータを生成し、前記メモリに格納する補間手段と、前記各フレームデータ及び前記補間フレームデータを、前記ビデオデータのフレームレートよりも高いフレームレートで前記メモリから順次読み出す読み出し手段と、前記各フレームデータに合成されるイメージデータを生成し、前記メモリに格納する生成手段と、前記生成手段の出力に応じて、前記補間フレームデータの生成を停止するように前記補間手段を制御すると共に、前記補間フレームデータの代わりに前記各フレームデータを重複して読み出すように前記読み出し手段を制御する制御手段と、を備えることを特徴とする画像処理装置を提供する。
【解決手段】ビデオデータの各フレームデータを順次記憶するメモリと、前記各フレームデータの間に挿入される補間フレームデータを生成し、前記メモリに格納する補間手段と、前記各フレームデータ及び前記補間フレームデータを、前記ビデオデータのフレームレートよりも高いフレームレートで前記メモリから順次読み出す読み出し手段と、前記各フレームデータに合成されるイメージデータを生成し、前記メモリに格納する生成手段と、前記生成手段の出力に応じて、前記補間フレームデータの生成を停止するように前記補間手段を制御すると共に、前記補間フレームデータの代わりに前記各フレームデータを重複して読み出すように前記読み出し手段を制御する制御手段と、を備えることを特徴とする画像処理装置を提供する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオデータのフレームレートを高速化する画像処理装置及び画像処理方法に関する。
【背景技術】
【0002】
現在、ビデオデータのフレームレートを高速化する技術が知られている(特許文献1参照)。特許文献1の技術によれば、フィールド補間により50フレーム/秒の映像信号が100フレーム/秒に変換される。
【0003】
また、メニュー画面などの画像(コンピュータグラフィックス)を映像に合成して表示することも知られており、近年、ますます高度な画像(例えば、高精細なアニメーション画像など)が合成されるようになってきている。特許文献2には、コンピュータグラフィックス信号を発生する回路を備える表示装置が開示されている。
【特許文献1】特開平10−191268号公報
【特許文献2】特開2000−181440号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
フィールド補間などにより補間フレームを生成する際には、大量のデータがフレームメモリから読み出され、また、フレームメモリに対して書き込まれる。
【0005】
また、高度な画像を表現するイメージデータを生成する際にも、大量のデータがフレームメモリから読み出され、また、フレームメモリに対して書き込まれる。
【0006】
従って、フレームレートの高速化と同時に高度な画像を映像に合成するためには、フレームメモリのデータ転送帯域幅を広くすることが求められる。しかしながら、フレームメモリのデータ転送帯域幅を広くすることはコストの上昇を招くため、望むままにデータ転送帯域幅を広くすることは困難である。
【0007】
その結果、データ転送帯域幅がボトルネックとなり、高度な画像を表現するイメージデータを生成することができない場合が発生する。
【0008】
本発明はこのような状況に鑑みてなされたものである。即ち、画像処理装置において、フレームメモリのデータ転送帯域幅が比較的限られていても、高度な画像を表現するイメージデータを生成することができない状況の発生を抑制する技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、第1の本発明によれば、ビデオデータの各フレームデータを順次記憶するメモリと、前記各フレームデータの間に挿入される補間フレームデータを生成し、前記メモリに格納する補間手段と、前記各フレームデータ及び前記補間フレームデータを、前記ビデオデータのフレームレートよりも高いフレームレートで前記メモリから順次読み出す読み出し手段と、前記各フレームデータに合成されるイメージデータを生成し、前記メモリに格納する生成手段と、前記生成手段の出力に応じて、前記補間フレームデータの生成を停止するように前記補間手段を制御すると共に、前記補間フレームデータの代わりに前記各フレームデータを重複して読み出すように前記読み出し手段を制御する制御手段と、を備えることを特徴とする画像処理装置が提供される。
【0010】
また、第2の本発明によれば、ビデオデータの各フレームデータを順次記憶するメモリと、第1のフォーマットの前記各フレームデータを、前記第1のフォーマットよりもデータ量が減少する第2のフォーマットに変換する第1の変換手段と、前記各フレームデータの間に挿入される補間フレームデータを、前記第1のフォーマット、又は前記第2のフォーマットで生成し、前記メモリに格納する補間手段と、前記第2のフォーマットの前記各フレームデータ及び前記補間フレームデータを、前記第1のフォーマットに変換する第2の変換手段と、前記各フレームデータ及び前記補間フレームデータを、前記ビデオデータのフレームレートよりも高いフレームレートで前記メモリから順次読み出す読み出し手段と、前記各フレームデータに合成されるイメージデータを生成し、前記メモリに格納する生成手段と、前記生成手段の出力の応じて、前記各フレームデータを前記第1の変換手段により前記第2のフォーマットに変換してから記憶するように前記記憶手段を制御し、前記第2のフォーマットの補間フレームデータを生成するように前記補間手段を制御し、更に、前記読み出し手段による読み出しの前に前記第2のフォーマットの前記各フレームデータ及び前記補間フレームデータを前記第1のフォーマットに変換するように前記第2の変換手段を制御する制御手段と、を備えることを特徴とする画像処理装置が提供される。
【0011】
また、第3の本発明によれば、ビデオデータの各フレームデータを順次メモリに記憶する記憶工程と、前記各フレームデータの間に挿入される補間フレームデータを生成し、前記メモリに生成する補間工程と、前記各フレームデータ及び前記補間フレームデータを、前記ビデオデータのフレームレートよりも高いフレームレートで前記メモリから順次読み出す読み出し工程と、前記各フレームデータに合成されるイメージデータを生成して前記メモリに格納する生成工程と、前記生成工程での出力に応じて、前記補間フレームデータの生成を停止するように前記補間工程を制御すると共に、前記補間フレームデータの代わりに前記各フレームデータを重複して読み出すように前記読み出し工程を制御する制御工程と、を備えることを特徴とする画像処理方法が提供される。
【0012】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための最良の形態における記載によって更に明らかになるものである。
【発明の効果】
【0013】
以上の構成により、本発明によれば、画像処理装置において、フレームメモリのデータ転送帯域幅が比較的限られていても、高度な画像を表現するイメージデータを生成することができない状況の発生を抑制することが可能となる。
【発明を実施するための最良の形態】
【0014】
以下、添付図面を参照して、本発明の実施形態を説明する。以下で説明される個別の実施形態は、本発明の上位概念から下位概念までの種々の概念を理解するために役立つであろう。
【0015】
なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
【0016】
また、以下の各実施形態において、「ビデオデータ」は、本発明に係る画像処理装置が受信するデータを示し、「イメージデータ」は、この画像処理装置が生成してビデオデータに合成するデータ(即ち、メニュー画面などを表現するデータ)を示す。
【0017】
[第1の実施形態]
<画像処理装置10の構成>
図1は、本発明の技術を適用した、第1の実施形態に係る画像処理装置10の構成を示す図である。
【0018】
画像処理装置10は、生成手段の一例である描画プロセッサ100と、補間手段の一例である補間フレーム生成回路122とを備える。描画プロセッサ100は、ビデオデータ(の各フレームデータ)に合成されるイメージデータを描画(生成)する。補間フレーム生成回路122は、各フレームデータの間に挿入される補間フレームデータを生成する。補間フレームデータは、フレームレートを変換(特に、高速化)するために使用される。補間フレームデータを生成するためには、例えば特許文献1に示されるような任意の知られている技術を利用可能である。
【0019】
101はDRAMであり、ビデオデータのためのフレームメモリや描画プロセッサ100のワークエリアとして使用されるメモリである。
【0020】
102はメモリコントローラであり、103は画像処理装置10におけるデータの転送経路であるバスである。描画プロセッサ100は、イメージデータを描画してDRAM101に格納するプロセッサである。
【0021】
104、105、106、107、108、109、110、及び111はダイレクトメモリアクセスコントローラ(DMAC)であり、DRAM101と各信号処理回路(例えば、合成回路121)との間のデータ転送を制御する。
【0022】
描画プロセッサ100は、DRAM101などにロードされた描画プログラムを実行することにより、イメージデータの描画処理を行う。描画プロセッサ100は、描画プログラムをバス103とメモリコントローラ102とを経由して読み出し、実行する。
【0023】
描画プロセッサ100は、生成したイメージデータをDRAM101に書き込む。描画プロセッサ100がイメージデータをDRAM101に書き込む際に、イメージデータは、バス103とメモリコントローラ102を経由してDRAM101へ転送される。
【0024】
なお、描画プロセッサ100は、例えばユーザの指示などに応答して、メニュー画面や番組表などを表現するイメージデータの描画を行う。
【0025】
125は入力端子であり、ビデオデータ(映像信号)が入力される。126は出力端子であり、ディスプレイなどの表示装置に接続され、ディスプレイに対してビデオデータを出力する。
【0026】
120はIP変換/スケーリング回路であり、インタレースフォーマットのビデオデータをプログレッシブフォーマットに変更し、更に補間や間引き処理を行うことによりビデオデータが表現する映像のサイズを変更する、画像処理を行う。
【0027】
IP変換/スケーリング回路120は、画像処理を行う際にビデオデータをフレーム単位又はフィールド単位でDRAM101に書き込み、読み出すことを必要とする。従って、IP変換/スケーリング回路120は、画像処理を行う際に、DMAC104、バス103、及びメモリコントローラ102を用いて、ビデオデータをDRAM101に転送する。更に、DMAC105、バス103、及びメモリコントローラ102を用いて、DRAM101に記憶されているビデオデータを読み出す。
【0028】
121は合成回路であり、IP変換/スケーリング回路120が処理したビデオデータと、描画プロセッサ100が生成したイメージデータとを合成する。合成回路121は、描画プロセッサ100が生成したイメージデータを、DMAC106を用いて読み出すことができる。合成回路121は、イメージデータをビデオデータに重ね合わせた状態に加工したり、或いは、イメージデータに所定の透明度を持たせてビデオデータに合成したりする。合成回路121は、イメージデータが合成されたビデオデータを、DMAC107、バス103、及びメモリコントローラ102を用いてDRAM101に記録する。
【0029】
補間フレーム生成回路122は、DMAC108及びDMAC109を介してDRAM101から時間的に連続する2つのフレームデータを取得し、フレーム補間処理により、2つのフレームの間に挿入される補間フレームデータを生成する。補間フレーム生成回路122は、生成した補間フレームデータを、DMAC110を介してDRAM101に記録する。
【0030】
124は読み出し手段の一例である出力回路であり、DMAC111を介してDRAM101からフレームデータ及び補間フレームデータを順次読み出し、補正回路127へ出力する。入力端子125から入力されるビデオデータのフレームレートよりも高いフレームレートで出力回路124がフレームデータ及び補間フレームデータを読み出すことにより、フレームレートの高速化が実現される。本実施形態では、出力回路124は、120フレーム/秒又は60フレーム/秒のフレームレートでフレームデータ及び補間フレームデータを出力することが可能であるものとする。
【0031】
補正回路127は、輝度色差信号で表現されるフレームデータ及び補間フレームデータをRGB信号に変換し、更に、各画素の色を補正する。
【0032】
コントローラ123は、描画プロセッサ100の指示に従って補間フレーム生成回路122及び出力回路124を制御する回路である。コントローラ123は、補間フレーム生成回路122による補間フレームデータの生成を制御する。また、DRAM101のアドレスを指定することにより、出力回路124によるフレームデータ及び補間フレームデータの読み出しを制御する。
【0033】
割り込みコントローラ130は、描画プロセッサ100に対して割り込みの通知を行う。タイマ131は、時間を計測し、所定のタイミングで描画プロセッサ100又は割り込みコントローラ130に対して、例えば所定の時間が経過したことなどを通知する。
【0034】
以上説明した画像処理装置10の各構成要素は、必ずしも図1に示すように配置されている必要は無い。例えば、合成回路121は、出力回路124と補正回路127の間に配置されていてもよい。この場合、合成回路121は、出力回路124から出力されたフレームデータ及び補間フレームデータにイメージデータを合成する。
【0035】
また、入力端子125から入力されるビデオデータは、インタレースフォーマットではなく、プログレッシブフォーマットでも構わない。この場合、IP変換/スケーリング回路120は、IP変換を行う必要が無い。
【0036】
また、ビデオデータの入力をIP変換/スケーリング回路120が直接受け付けるのではなく、DRAM101に一度格納してからIP変換/スケーリング回路120に入力するように画像処理装置10を構成してもよい。
【0037】
画像処理装置10の構成がどのようなものであれ、例えばメモリコントローラ102及びバス103などが記憶手段を構成し、記憶手段は、入力端子125から受信中のビデオデータの各フレームデータを順次メモリ(DRAM101)に記憶する。
【0038】
<補間フレームデータ生成処理>
前述の様に、補間フレーム生成回路122は、任意の知られている技術を利用して補間フレームデータを生成することができる。ここでは、図2を参照して、補間フレームデータ生成処理の一例を説明する。
【0039】
図2において、白色のフレームは、画像処理装置10に入力された60fpsのビデオデータのフレーム(「オリジナルフレーム」と呼ぶ)を示す。図2において、網かけされたフレームは、補間フレーム生成回路122によって生成され、各オリジナルフレームの間に挿入される補間フレームを示す。
【0040】
補間フレーム生成回路122は、時間的に連続する2つのオリジナルフレームのフレームデータに基づいて、補間フレームデータを生成する。補間フレーム生成回路122は、補間フレームデータを生成するために、例えば特許文献1の方式や、ブロックごとの動きベクトルを求め、求めた動きベクトルを用いてフレームを生成する方式などの、任意の公知の方式を利用可能である。
【0041】
出力回路124は、オリジナルフレームのデータ、及び補間フレームのデータを、順次(時間順に)DRAM101から読み出す。その結果、フレームレートが2倍に高速化された、120fpsのビデオデータが得られる。
【0042】
<フレームダブリング処理>
補間フレームデータが生成されない場合であっても、出力回路124は、図3を参照して説明するフレームダブリング処理により、ビデオデータのフレームレートを高速化することができる。
【0043】
出力回路124は、補間フレームデータの代わりに、各オリジナルフレームのデータを繰り返し(重複して)読み出す。その結果、フレームレートが2倍に高速化された、120fpsのビデオデータが得られる。
【0044】
なお、補間フレームデータの生成の有無に関わらず、出力回路124が各フレームデータを読み出す回数は、図2及び図3を参照して説明した回数に限られない。例えば、図2に示す場合において、出力回路124が各オリジナルフレームのデータと各補間フレームデータを2回ずつ読み出せば、フレームレートは4倍になる。重要なことは、出力回路124は、補間フレームデータの代わりにオリジナルフレームのデータを繰り返し読み出すことにより、補間フレームデータが生成されない場合であっても、フレームレートの高速化が実現されることである。
【0045】
また、本実施形態を含む以下の各実施形態において、「フレーム間補間方式」とは、補間フレームデータ生成処理を利用したフレームレートの高速化方式を意味する。また、「フレームダブリング方式」とは、フレームダブリング処理を利用したフレームレートの高速化方式を意味する。更に、1つの映像中(表示画面中)に、2つの方式が混在しても構わない。
【0046】
<転送帯域の消費量>
図4及び図5を参照して、出力回路124が補間フレームデータを生成する場合、及び生成しない場合におけるDRAM101の転送帯域の消費量を説明する。
【0047】
図4は、出力回路124が補間フレームデータを生成する場合におけるDRAM101の転送帯域の消費量の概念図である。
【0048】
出力回路124がオリジナルフレームのデータとそれに続く補間フレームデータを読み出す間に、補間フレーム生成回路122は、DRAM101から2つのオリジナルフレームのデータを読み出し、1つの補間フレームデータをDRAM101に書き込む。
【0049】
図5は、出力回路124が補間フレームデータを生成しない場合におけるDRAM101の転送帯域の消費量の概念図である。
【0050】
出力回路124が同一のオリジナルフレームのデータを2回読み出す間、補間フレーム生成回路122によるDRAM101へのアクセスは発生しない(アクセスは不要である)。
【0051】
このように、補間フレーム生成回路122が補間フレームデータを生成しない場合は、DRAM101の転送帯域の消費量が減少する。描画プロセッサ100は、減少分の転送帯域を使用することができるので、より高度な画像を表現するイメージデータをDRAM101内に生成することが可能となる。
【0052】
<補間フレーム生成回路122及び出力回路124の制御>
前述の様に、描画プロセッサ100は、イメージデータを生成する際に、DRAM101にアクセスする(即ち、DRAM101の転送帯域を消費する)。また、補間フレーム生成回路122も、補間フレームデータを生成する際に、DRAM101の転送帯域を消費する。
【0053】
そこで、本実施形態の一態様においては、コントローラ123は、描画プロセッサ100がイメージデータを生成する場合、合成対象のフレームデータに対応する補間フレームデータの生成を停止するように補間フレーム生成回路122を制御する。また、補間フレームの代わりに、オリジナルフレームのデータを繰り返し読み出すことでフレームレートの高速化を実現するように、出力回路124を制御する。
【0054】
これにより、描画プロセッサ100は、DRAM101に対してより多くの転送帯域を使用可能になるため、より高度な画像を表現するイメージデータを生成可能になる。換言すれば、転送帯域の不足が原因で高度な画像を表現するイメージデータを生成することができない状況が発生することが抑制される。
【0055】
なお、コントローラ123は、補間フレームデータの生成を停止する代わりに、DRAM101に対するデータ転送量がより少ない他のアルゴリズムで補間フレームデータを生成するように補間フレーム生成回路122を制御してもよい。その結果、補間フレーム生成回路122によるDRAM101の転送帯域の消費量は0にはならないが減少し、描画プロセッサ100は、その分より多くの転送帯域を使用可能になる。この場合、補間フレームデータの生成を完全に停止する場合に比べて、フレームレートが高速化されたビデオデータの画質が向上するという利点がある。これは、後述する他の各実施形態においても同様である。
【0056】
ところで、描画プロセッサ100がイメージデータを生成する場合であっても、生成するイメージデータが単純なもの(例えば、小さな静止画像データ)である場合は、DRAM101の転送帯域をそれほど多く必要とするわけではない。
【0057】
例えば、図6では、映像の右下に小さな操作メニューが表示されている。この操作メニューは、描画プロセッサ100が生成するイメージデータによって表現される。この操作メニューはサイズが小さいため、イメージデータのデータ量も比較的小さく、描画プロセッサ100はDRAM101の転送帯域をそれほど多くは必要としない。
【0058】
一方、図7では、映像の中央付近に大きな番組表が表示されている。この番組表を表現するイメージデータのデータサイズは比較的大きく、描画プロセッサ100はDRAM101の転送帯域を比較的多く必要とする。
【0059】
そこで、本実施形態の他の態様では、描画プロセッサ100がイメージデータの描画を行う場合であっても、イメージデータの画素数が予め定められた閾値以下の場合は、コントローラ123は、補間フレーム生成回路122に補間フレームデータを生成させる。以下、図8のフローチャートを参照して、詳細に説明する。描画プロセッサ100がイメージデータの描画指示を受けると、図8のフローチャートの処理が開始する。
【0060】
なお、図8に示すフローチャートの開始時において、コントローラ123は、補間フレームデータを生成するように補間フレーム生成回路122を制御する状態(以下、「補間実行モード」と呼ぶ)に設定されているものとする。
【0061】
S1001で、描画プロセッサ100は、描画するイメージデータ(グラフィックデータ)の画素数を算出する。例えば矩形画像を描画する場合は、縦の辺のピクセル数と横の辺のピクセル数を掛ける事によりイメージデータの画素数を求めることが可能である。
【0062】
S1002で、描画プロセッサ100は、S1001で算出した画素数と予め設定され、DRAM101などに格納されている閾値とを比較する。画素数が閾値よりも大きい場合はS1003に進み、そうでない場合はS1003をスキップしてS1004に進む。
【0063】
S1003で、描画プロセッサ100は、コントローラ123の状態を、補間フレームデータを停止するように補間フレーム生成回路122を制御する状態(以下、「補間停止モード」と呼ぶ)に変更する。補間停止モードでは、コントローラ123は、各オリジナルフレームのデータをDRAM101から繰り返し読み出すように出力回路124を制御する。制御方式の切り替えは、垂直同期信号に同期し、ブランキング期間にて実行される。
【0064】
S1001で算出された画素数が閾値以下の場合、S1003がスキップされるので、コントローラ123の状態は補間実行モードのままである。
【0065】
S1004で、描画プロセッサ100はイメージデータを描画し、合成回路121はイメージデータをビデオデータの各フレームデータに合成する。また、既に描画されているイメージデータが存在する場合、描画プロセッサ100は、そのイメージデータを消去する。
【0066】
イメージデータがアニメーション画像である場合、描画プロセッサ100は、イメージデータの描画を所定の間隔毎に繰り返し行う。タイマ131は所定の周期で割り込みコントローラ130を経由して描画プロセッサ100に割り込みの通知を行う。例えば周期が1/15秒であれば、描画プロセッサ100は、15fpsのアニメーション画像を描画することが可能である。
【0067】
S1005で、描画プロセッサ100は、タイマ131に基づく割り込みの通知を受けたか否かを判定し、通知を受けたらS1006に進む。
【0068】
S1006で、描画プロセッサ100は、描画処理を終了するか否かの判断を行う。終了しない場合(例えば、アニメーション画像の描画途中で引き続き描画すべき画像が存在する場合)、S1004に戻り、同様の処理を繰り返す。描画処理を終了する場合、S1007に進む。
【0069】
S1007で、描画プロセッサ100は、コントローラ123の状態を補間実行モードに変更する。補間フレームデータの生成処理には最新のフレームデータとその前のフレームデータが必要なので、補間フレームデータの生成が再開するまでには垂直同期信号を2回待つ必要がある。コントローラ123は、垂直同期信号を参照しながら、補間フレーム生成回路122及び出力回路124の制御方式を変更する。
【0070】
なお、S1002において、閾値を0とすれば、前述の態様(イメージデータ描画時は必ず補間フレームデータの生成が停止する実施形態)になる。
【0071】
本実施形態は、以下のケースに応用することも可能である。
【0072】
ディスプレイにJPEG静止画を表示する場合、システムとしてはJPEG圧縮されたデータをデコードし、得られたデータを描画する。描画プロセッサ100の能力が高いほどJPEGデコード処理と描画の時間は短縮することが可能となるため、描画プロセッサ100には高い処理能力が望まれる。
【0073】
一方で、表示するデータは静止画なので、補間フレームデータを生成しても、結局フレームダブリング処理と同等の画像が得られるだけである。このような場合は補間フレームデータの生成を停止し、描画プロセッサ100が使用可能なDRAM101の転送帯域を増加させることによりJPEGデコードと静止画を表示することに必要な時間を短縮することが可能となる。
【0074】
以上説明したように、本実施形態によれば、描画プロセッサ100がイメージデータを描画する場合は、コントローラ123は補間フレーム生成回路122による補間フレームデータの生成を停止させる。
【0075】
これにより、描画プロセッサ100が使用可能なDRAM101の転送帯域が増加するので、転送帯域の不足が原因で高度な画像を表現するイメージデータを生成することができない状況が発生することが抑制される。
【0076】
また、本実施形態の他の態様によれば、描画プロセッサ100がイメージデータを描画する場合であって、且つイメージデータの画素数が閾値以上の場合に、コントローラ123は補間フレーム生成回路122による補間フレームデータの生成を停止させる。
【0077】
これにより、描画プロセッサ100がそれほど多くの転送帯域を必要としない場合は、補間フレームデータの生成停止に伴うビデオデータの画質低下を抑制される。
【0078】
[第2の実施形態]
第1の実施形態に係る画像処理装置10は、所定の条件が満たされると、補間フレームデータの生成を完全に停止した。
【0079】
ところで、メニュー画面などの合成画像は、静止画像、或いはフレームレートが低いアニメーション画像であることが多い。この場合、オリジナルフレームにおける合成画像の領域に対応する補間フレームデータが生成されても、合成画像の画質はそれほど向上しない。なぜなら、多くの場合、補間フレームデータ生成の基となる2つのオリジナルフレームにおいて合成画像が変化しないからである。
【0080】
そこで、第2の実施形態では、描画プロセッサ100がイメージデータを生成する場合、オリジナルフレームのデータにおいてイメージデータが合成される領域についてのみ、補間フレームデータの生成を停止する。そして、その領域以外の領域については、補間フレームデータの生成を継続する。
【0081】
これにより、補間フレーム生成回路122が消費するDRAM101の転送帯域が減少し、その分描画プロセッサがより多くの転送帯域を使用できる。更に、イメージデータが合成される領域以外の領域については補間フレームデータが生成されるので、描画プロセッサ100がイメージデータを生成する場合のビデオデータの画質が向上する。
【0082】
図9は、第2の実施形態の概念図である。図9では、映像の左下にメニュー画面が表示されている。この場合、メニュー画面に対応する領域は、オリジナルフレームのデータを繰り返し読み出すことによりフレームレートが高速化される。それ以外の領域では、補間フレームデータが生成され、オリジナルフレームのデータと補間フレームデータを順次読み出すことによりフレームレートが高速化される。
【0083】
図10は、第2の実施形態に係る画像処理装置20の構成を示す図である。図10において、第1の実施形態に係る画像処理装置10と同一の構成要素には同一の符号を付し、説明を省略する。
【0084】
200は補間領域制御回路であり、EXAreaレジスタ201を含む。描画プロセッサ100は、フレームデータにおいてイメージデータを合成する領域を算出し、その領域を示す情報をEXAreaレジスタ201に格納する。補間領域制御回路200は、EXAreaレジスタ201に格納された情報に基づき、補間フレームデータの生成を行う際の処理領域のポインタを補間フレーム生成回路122と、DMAC108、109、及び110とにセットする。更には、出力回路124が読み出すデータのポインタを出力回路124及びDMAC111にセットする。
【0085】
DRAM101には、DMAC107を介して書き込まれたオリジナルフレームのデータと、補間フレーム生成回路122が生成した補間フレームデータとが存在する。出力回路124は、補間領域制御回路200の制御に従い、画像の領域に応じて読み出すデータを選択することが可能である。
【0086】
図11は、第2の実施形態における処理の流れを示すフローチャートである。描画プロセッサ100がイメージデータの生成を開始すると、本フローチャートの処理が開始する。
【0087】
なお、図11に示すフローチャートの開始時において、補間領域制御回路200は、フレームの全領域について補間フレームデータを生成するように補間フレーム生成回路122を制御する状態(以下、「全補間モード」と呼ぶ)に設定されているものとする。
【0088】
S2001で、描画プロセッサ100は、描画するイメージデータが合成される領域(合成領域)の座標を算出する。
【0089】
S2002で、描画プロセッサ100は、S2001で算出した座標をEXAreaレジスタ201にセットする。
【0090】
S2003で、描画プロセッサ100は、補間領域制御回路200の状態を、合成領域以外の領域についてのみ補間フレームデータを生成するように補間フレーム生成回路122を制御する状態(以下、「部分補間モード」と呼ぶ)に変更する。部分補間モードでは、補間領域制御回路200は、合成領域については各オリジナルフレームのデータをDRAM101から繰り返し読み出すように出力回路124を制御する。
【0091】
S2004及びS2005では、描画プロセッサ100は、アニメーションが終了するまでイメージデータの描画を実行する。ここでの処理は、図8のS1004乃至S1006と同様なので、詳細な説明は省略する。
【0092】
S2006で、描画プロセッサ100は、補間領域制御回路200の状態を全補間モードに変更する。このとき、補間領域制御回路200はまず補間フレーム生成回路122に指令を送ることによりまず全領域の補間フレームデータの生成を開始する。そして、補間フレームデータが生成された後で出力回路124に指令を送る。出力回路124はこの時点から全領域について補間フレームデータの読み出しを開始する。
【0093】
図12は、フレーム内において領域を指定するための座標の様子を示す図である。ディスプレイに表示されるフレーム(映像)は座標(0,0)、及び(A,B)で示される領域である。
【0094】
イメージデータを合成する領域(合成領域)は(C,D)、及び(E,F)で示される、矩形領域である。合成領域においては、フレームレート変換処理はフレームダブリング方式にて行われ、フレーム内のそれ以外の領域においては、フレームレート変換処理は補間フレーム生成方式にて行われる。
【0095】
図11のS2002及びS2003に示した処理により、描画プロセッサ100はフレームレート変換方式としてフレームダブリング方式を取る領域をEXAreaレジスタに設定する。レジスタ設定値は、図12の例でいえば、(C,D)及び(E,F)である。
【0096】
DMAC108,109,110はEXAreaレジスタ201に設定された座標で囲まれた領域に関してはデータ転送を行わないで、残りの領域のみについてデータ転送を行う。
【0097】
これにより、EXAreaレジスタ201で囲まれる領域については補間フレームデータの生成処理は実行されず、この領域に関するメモリアクセスも発生しないことになる。
【0098】
同時に、出力回路124もEXAreaレジスタを参照して、読み出す画像データを決定する。DRAM101にはDMAC107にて書き込まれた画像データ(オリジナルフレームのデータ)が存在する。
【0099】
また、DRAM101には補間フレーム生成回路122とDMAC110により生成された補間フレームデータも記録される。ただし、このデータはEXAreaレジスタ201で指定された領域については存在しない。
【0100】
DMAC111は、例えば1/120秒毎にオリジナルフレームのデータと補間フレームデータを交互に読み出す。ただし補間フレームデータに関しては、補間フレームデータ生成処理により作られたデータが存在する部分、すなわちEXAreaレジスタ201で指定された領域以外についてのみ補間フレームデータを読み出す。それ以外の領域、すなわちEXAreaレジスタ201で指定された領域はオリジナルフレームのデータを読み出す(図13参照)。
【0101】
出力回路124は、オリジナルフレームのデータと補間フレームデータを交互に出力することにより、例えば、60fpsのビデオデータを120fpsに倍速化して出力する。しかし、上述の処理により、補間フレームデータを出力する際はEXAreaレジスタ201にセットされた座標で囲まれる領域については上記のオリジナルフレームのデータを読み出して出力し、その他の領域については補間フレームデータを出力する。
【0102】
上記動作における、メモリ帯域の状態と描画プロセッサ100の動作を説明する。
【0103】
図14において、250で示した部分は補間フレーム生成方式にてフレームレート変換を行っている。251で示した部分は補間フレームの生成を行わず、これが必要とするメモリアクセスも行わない。従って描画プロセッサ100がDRAM101に対してより多くの転送帯域を使用できる期間である。
【0104】
画面上のAで示す位置におけるメモリアクセスの様子をAAで示し、画面上のBで示す位置におけるメモリアクセスの様子をBBで示す。HSは水平同期信号で、MEMがメモリアクセスの様子である。
【0105】
AA,BBにおいて、bは補間フレーム生成処理にてメモリアクセスが行われる期間を示し、aはそれが行われない期間、すなわち描画プロセッサがメモリにアクセスすることが可能な期間である。
【0106】
領域251にてメモリアクセスを行わないため、Bで示すラインにおいては、aすなわちメモリアクセスが行われない期間が増大する。これにより描画プロセッサ100がメモリアクセスを行う能力が向上し、描画プロセッサ100のパフォーマンスが向上する。251で示す領域が広ければ広いほど、描画プロセッサ100がより多くの転送帯域を使用できる時間は増大する。
【0107】
本実施形態は、以下のケースに応用することも可能である。
【0108】
テレビには1つのディスプレイに対して2つの画面を表示する機能が備えられている場合がある。この場合、図15に示すように、映像が表示される領域とその他の領域が発生する。その他の領域については動画像が表示されるわけではないので補間フレームデータの生成を行う必要は無い。従ってこの部分については補間フレーム生成処理を停止することが可能となる。
【0109】
これによって補間フレーム生成回路122が消費する転送帯域が減少し、その分、描画プロセッサ100がより多くの転送帯域を使用できる。その結果、高精細なアニメーション画像など、より高度な画像を描画することが可能となる。
【0110】
同様に、データ放送受信時、データ放送を表示する部分に関してはフレームレート変換処理をフレームダブリング方式で行うこともできる。
【0111】
以上説明したように、本実施形態によれば、描画プロセッサ100がイメージデータを生成する場合であっても、イメージデータが合成される領域以外の領域については、補間フレームデータが生成される。
【0112】
これにより、描画プロセッサ100がイメージデータを生成する場合のビデオデータの画質が向上する。
【0113】
[第3の実施形態]
第3の実施形態では、各イメージデータがブレンド係数αを持つ。ブレンド係数αは、イメージデータを映像に合成するときの透明度を示すパラメータで、αが小さいほどイメージデータの透明度が高い。本実施形態では、αが閾値以上の場合、即ち、透明度が予め定められた度合い以上でイメージデータが合成される場合、合成領域の補間フレームデータが生成される。反対に、αが閾値未満の場合、補間フレームデータは生成されず、合成領域についてはフレームダブリング方式でフレームレートが高速化される。或いは、αが大きい(透明度が低い)イメージデータから優先して、合成領域のフレームレート変換方式をフレームダブリング方式とする。
【0114】
イメージデータ画像の合成を行う際、画像のブレンド係数αが小さい場合はイメージデータの後ろに映像が見えることになる。この状態で描画領域のフレームレート変換方式を補間フレーム生成方式からフレームダブリング方式に変更したとき、描画領域に関してフレームレート変換方式の差による画質の差が見えてしまう場合がある。
【0115】
一方で描画のパフォーマンスを向上したいので、可能な限り、描画対象領域(合成領域)についてはフレームレート変換方式としてフレームダブリング方式を採用したい。
【0116】
透過度が高いイメージデータは重ね合わされる映像が視聴者に見えやすい。従ってイメージデータの透過度が高いほど、フレームレート変換として高品質な処理を行うべきである。本実施形態は、このような認識に基づくものである。
【0117】
図16は、第3の実施形態に係る画像処理装置30の構成を示す図である。図16において、画像処理装置10と同一の構成要素には同一の符号を付し、説明を省略する。
【0118】
出力回路313は、DMAC308を制御することにより、DRAM101上に存在するビデオデータを読み出し、これをブレンド回路315に対して出力する。出力回路313は、オリジナルフレームと補間フレームを交互に倍速で読み出すことにより、120fpsのビデオデータを出力する。ただし、補間フレームが生成されない領域については、オリジナルフレームを繰り返し読み出す。
【0119】
出力回路314は、描画プロセッサ100によりDRAM101内に描画されたイメージデータを、DMAC307を制御することにより読み出し、これをブレンド回路315に出力する。このときのデータレートは120fpsであり、出力回路314は出力回路313に同期して動作する。
【0120】
ブレンド回路315は、コントローラ312の制御に基づき、出力回路314から入力されるビデオデータと出力回路313から入力されるイメージデータをブレンド係数αの値に従ってブレンド処理する。ブレンド時のビデオデータの比率はαに比例する。例えばα=0の時は映像出力100%、イメージデータ0%で合成が行われ、α=0.3の時は映像出力70%、イメージデータ30%で合成が行われる。
【0121】
αの値と合成領域を示す信号はコントローラ312から出力される。ブレンド回路315はこれを用いて合成領域ごとに変化するαの値に対応しながらブレンド処理を行う。
【0122】
コントローラ312は、補間フレーム生成回路122、出力回路313、出力回路314、及びブレンド回路315を制御する。コントローラ312は、領域指定用のレジスタであるEXAreaレジスタA、EXAreaレジスタB、EXAreaレジスタCを備える。また、それぞれの領域に対応するブレンド係数αを記憶する、A領域αレジスタ、B領域αレジスタ、及びC領域αレジスタを備える。また、背景αレジスタも備える。更にコントローラ312は、補間フレーム生成回路122の制御に使用するαの閾値を記憶するレジスタである、α閾値レジスタを備える。更にコントローラ312は、比較回路を持ち、これにより各イメージデータのα値と閾値とを比較する。
【0123】
図17は、第3の実施形態に係るビデオデータの表示例を示す図である。合成されるイメージデータは、それぞれ透明度が異なる。透明度が低い(αが大きい)場合、合成領域の補間フレームデータを生成しても、オリジナルフレームの画像の視認性は低いので、画質の向上にそれほど寄与しない。そこで、補間フレームデータの生成は停止される。
【0124】
図18は、第3の実施形態における処理の流れを示すフローチャートである。描画プロセッサ100がイメージデータの描画指示を受けると、本フローチャートの処理が開始する。
【0125】
なお、図18に示すフローチャートの開始時において、コントローラ312は、全補間モードに設定されているものとする。
【0126】
S3001で、描画プロセッサ100は、αの閾値をコントローラ312が備えるα閾値レジスタにセットする。この値はこの後セットされる各領域のαを判定する際に用いられる基準の値である。
【0127】
S3002で、描画プロセッサ100は、背景のα値を背景αレジスタにセットする。この値は描画領域として取り扱う矩形領域で指定される領域以外において、映像とイメージデータをブレンドするときの係数である。
【0128】
S3003で、描画プロセッサ100は、コントローラ312を自動選択モードに変更する。自動選択モードでは、前述の様に、補間フレーム生成回路122は、イメージデータの透明度が予め定められた度合い未満の領域については、補間フレームデータの生成を停止する。そして、出力回路313は、補間フレームデータが生成されなかった領域については、補間フレームデータの代わりにオリジナルフレームのデータを繰り返し読み出す。
【0129】
S3004で、描画プロセッサ100は、矩形領域Aの座標をEXAreaレジスタAにセットする。
【0130】
S3005で、描画プロセッサ100は、矩形領域Aに描画するイメージデータに適用するブレンド係数αをA領域αレジスタにセットする。
【0131】
この時点で、コントローラ312は、A領域αレジスタにセットされたα値をα閾値レジスタにセットされた値と比較する。A領域レジスタのα値が閾値より大きい場合(透明度が予め定められた度合い未満の場合)、領域Aに関してはフレームレート変換方式をフレームダブリング方式に変更する。
【0132】
S3006で、描画プロセッサ100は、矩形領域Aのイメージデータを描画(生成)する。
【0133】
S3007乃至S3012では、矩形領域B、及び矩形領域Cに対しても同様の処理が行われる。
【0134】
イメージデータの描画が終了すると、S3013からS3014に進み、描画プロセッサ100は、コントローラ312を全補間モードに変更する。
【0135】
背景の処理について説明する。ここで背景とは、A領域、B領域、C領域で指定される領域以外の領域を示す。コントローラ312は背景αの値を判定する。背景αレジスタにセットされたα値をα閾値レジスタにセットされた値と比較する。α値が基準値以上である場合は背景に関してはフレームレート変換方式をフレームダブリング方式に変更する。すなわち補間フレーム生成回路に対して背景に対しては補間フレーム生成を停止するよう制御を行い、出力回路313に対しても背景に関する出力画像はオリジナルフレームを二度ずつ繰り返し出力するよう制御を行う。
【0136】
以上説明したように、本実施形態によれば、イメージデータが合成される領域であっても、透明度が予め定められた度合い以上の場合は、合成領域についても補間フレームデータの生成が実行される。
【0137】
これにより、描画プロセッサ100がイメージデータを生成する場合のビデオデータの画質が向上する。
【0138】
[第4の実施形態]
図19は、第4の実施形態に係る画像処理装置40の構成を示す図である。画像処理装置40は、画像処理装置30にフォーマット変換回路401乃至403が追加された構成である。
【0139】
フォーマット変換回路401及び402は、2つの動作モードを持つ。モードの1つは、入力されたビデオデータをそのまま出力するスルーモードである。モードのもう1つは、入力される信号のデータ量を減少させる、データ量縮小モードである。
【0140】
データ量縮小モードは、YCbCr各色16bit、4:4:4で表現されたビデオデータを、YCbCr各色8bit、4:2:2のフォーマットに変換する。従って1ピクセルのデータ量は48ビットから16ビットに減少することが可能となる。
【0141】
フォーマット変換回路403は逆にフォーマット変換回路401及び402により変換されたデータフォーマットを元のデータフォーマットに復元する回路である。
【0142】
フォーマット変換回路403も同様に2つの動作モードを持つ。1つのモードは入力をそのまま出力に伝達するスルーモード、もう1つのモードはYCbCr各色8ビットの4:2:2フォーマットで表現されたビデオデータから、YCbCr各色16ビットの4:4:4フォーマットに復元する、復元モードである。
【0143】
描画プロセッサ100がイメージデータの描画を行わない場合は、フォーマット変換回路401、402、及び403の動作モードはスルーモードである。
【0144】
一方、描画プロセッサ100がイメージデータの描画を行う場合、コントローラ312に対してフレームレート変換モードの変更を指示する。これに応じてコントローラ312はフォーマット変換回路401,402、及び403に対して、モードをスルーモードから変換モードあるいは復元モードに変更するよう指令する。
【0145】
これにより、IP変換/スケーリング回路120がDRAM101に書き込むデータのフォーマットが変換され、これに関するDRAM101のメモリ帯域は1/3に減少する。同様に補間フレームデータ生成処理のためのメモリアクセスに関しても、メモリ帯域は1/3に減少する。フォーマット変換回路403は、DMAC307が出力回路314に転送するデータをもとのフォーマットに復元して出力する。
【0146】
描画が終了した場合、描画プロセッサ100はフォーマット変換回路401、402、及び403の動作モードをスルーモードに戻す。
【0147】
この処理により、画像処理装置40は、補間フレームデータ生成処理のために消費される転送帯域を削減し、その分を描画プロセッサ100に割り当てることが可能となる。これにより、描画プロセッサ100はより高度なイメージデータを描画できるようになる。
【0148】
本実施形態は、第1の実施形態で説明した、「DRAM101に対するデータ転送量がより少ない他のアルゴリズム」として活用すると効果的である。
【0149】
[第5の実施形態]
第5の実施形態では、描画プロセッサ100がイメージデータを生成する場合であっても、描画プロセッサ100がDRAM101に対して送受信するデータ量が予め定められた閾値以下の場合、補間フレームデータが生成される。
【0150】
図20は、第5の実施形態に係る画像処理装置50の構成を示す図である。
【0151】
500はコントローラであり、描画領域(合成領域)としてA領域、B領域、C領域の座標を指定する、EXAreaレジスタA、EXAreaレジスタB、EXAreaレジスタCとを備える。また、対応する描画領域に関して、描画に関してフレームメモリに対するデータ転送の必要量を数値化して設定する、A領域Qレジスタ、B領域Qレジスタ、C領域Qレジスタとを備える。また、Qレジスタの値を比較する閾値を設定する、Q閾値レジスタと、各領域のQレジスタに設定された値をQ閾値レジスタの値を比較する比較回路を備える。
【0152】
コントローラ500はそれぞれの領域に関して、フレームレート変換方式の自動変更を行うか否かを決定するレジスタを備える。これらは、A領域に関してはEN(イネーブル)_Aレジスタ、B領域に関してはEN_Bレジスタ、C領域に関してはEN_Cレジスタとする。
【0153】
他の構成要素は第3の実施形態と同じなので説明を省略する。
【0154】
描画するイメージデータのデータの特性によって、描画に関してフレームメモリに対するデータ転送の必要量は異なる。例えばアニメーションであれば、フレームレートが高いほうが多くのメモリアクセスを必要とするので、必要とされるデータ転送能力は高くなる。
【0155】
また、描画プロセッサがデータをメモリに記憶する際に、データを圧縮するような場合、圧縮率が低いデータのほうがメモリに転送するデータの量が大きくなるので、必要とされるデータ転送能力は高くなる。この場合、例えばグラデーション画像を描画するケースとベタ塗りつぶし画像を描画するケースで比較すると、グラデーションを描画するケースのほうが必要とされるデータ転送能力は高くなる。
【0156】
また、バースト転送を前提に設計されたシステムにおいて、バースト長が短いデータアクセスを多数行う場合、データ転送間のオーバーヘッドが多く発生するため、データ転送効率が低下する。このような場合もフレームメモリに対するデータ転送の必要数は高く設定する必要が生ずる。
【0157】
画像処理装置50は、予め描画オブジェクト毎にフレームメモリに対するデータ転送の必要量を求め、これを数値化する。そしてこれをプログラムに書き込む形で記憶してある。
【0158】
図21、図22を用いて描画処理の動作を説明する。
【0159】
本実施例はオペレーティングシステムを用いてマルチタスクを実現したシステムである。よってそれぞれのタスクについて説明を行う。
【0160】
図21は初期化処理の流れを示すフローチャートである。
【0161】
描画プロセッサ100は、S5001でEN_Aレジスタに、S5002でEN_Bレジスタに、S5003でEN_Cレジスタに、フレーム間補間方式を示すパラメータをセットする。これにより、画像処理装置50は、この時点ではフレームレート変換をフレーム間補間方式で行う。
【0162】
次に描画プロセッサ100はS5004でQ閾値をQ閾値レジスタにセットする。Q閾値の値は、事前に本処理のプログラムに設定されたパラメータである。
【0163】
図22は、描画プロセッサ100がイメージデータを描画する場合の処理の流れを示すフローチャートである。
【0164】
描画処理は領域A、B、Cのいずれかが代入されるnと描画領域を示す座標とその領域に関するQ値を引数とする処理で、リエントラントに呼び出すことが可能であり、それぞれの領域に対する描画処理を、マルチタスクにより同時進行させる。
【0165】
描画処理が呼び出されると、本フローチャートの処理が開始する。
【0166】
S5101で、描画プロセッサ100は、矩形領域n(nは引数で与えられた値でA、B、Cのいずれか)とnに対応する領域の座標をEXAreaレジスタn(nは引数で与えられた値でA、B、Cのいずれか)にセットする。
【0167】
S5102で、描画プロセッサ100は、その領域に関するデータ転送の必要量を数値化した値をn領域Qレジスタ(nは引数で与えられた値でA、B、Cのいずれか)にセットする。
【0168】
S5103で、描画プロセッサ100は、EN_nレジスタ(nは引数で与えられた値でA、B、Cのいずれか)に対して、フレームレート変換方式として自動変更を示すパラメータをセットする。
【0169】
この時点で、コントローラ500はそれぞれの領域について、設定されたQ値をQ閾値と比較する。Q閾値と比較して高いQ値を持つ領域を認識し、この領域に関しては補間フレーム生成回路と出力回路314を制御することにより、フレームレート変換方式をフレームダブリング方式に変更する。
【0170】
S5104で、描画プロセッサ100は、領域n(nは引数で与えられた値でA、B、Cのいずれか)に関する描画処理を開始する。アニメーション画像である場合はS5105にて描画処理を終了するか否かを判定し、まだアニメーションの描画を続ける場合はS5014に戻り、描画を終了する場合はS5106に進む。
【0171】
S5106で、描画プロセッサ100は、EN_nレジスタ(nは引数で与えられた値でA、B、Cのいずれか)に対して、フレームレート変換方式とフレーム間補間方式を示すパラメータをセットする。
【0172】
以上説明したように、本実施形態によれば、描画プロセッサ100がイメージデータを生成する場合であっても、描画プロセッサ100がDRAM101に対して送受信するデータ量が予め定められた閾値以下の場合、補間フレームデータが生成される。
【0173】
これにより、描画プロセッサ100がDRAM101に対してそれほど多くの転送帯域を必要としない場合、ビデオデータの画質が向上する。
【0174】
[第6の実施形態]
第6の実施形態では、描画プロセッサ100がイメージデータを描画する際に、画像処理装置ではなく、表示装置のコントローラがダブリング方式によるフレームレートの高速化を行うことにより、描画プロセッサ100が使用可能な転送帯域を増加させる。
【0175】
図23は、第6の実施形態に係る画像処理装置60、及び表示装置コントローラ65の構成を示す図である。図6において、画像処理装置10と同一の構成要素には同一の符号を付し、説明を省略する。
【0176】
600は集積回路であり、表示装置(ディスプレイパネル)を制御すると共にビデオデータの補正処理を行う。601はDRAM、602はメモリコントローラ、603はバス、604及び605はダイレクトメモリアクセスコントローラ(DMAC)である。
【0177】
623はコントローラであり、集積回路600に制御信号を出力する。624は出力回路であり、DRAM101から120fpsあるいは60fpsでビデオデータを読み出して出力する。
【0178】
610は出力ポートであり、ディスプレイパネルの駆動回路に接続される。
【0179】
描画プロセッサ100がイメージデータの描画を行わない場合、DMAC107はビデオデータをオリジナルフレームのデータとしてDRAM101に書き込み転送する。補間フレーム生成回路122はDRAM101からオリジナルフレームのデータを読み出し、これから補間フレームデータを生成してDRAM101に書き込み転送する。出力回路624はDRAM101からオリジナルフレームのデータと補間フレームデータを順次読み出し、120fpsのフレームレートで補正回路127に出力する。補正回路127の出力は集積回路600に入力される。
【0180】
DMAC604は受け取ったビデオデータをバス603を経由してメモリコントローラ602に転送し、メモリコントローラ602はビデオデータをDRAM601に記録する。DMAC605はメモリコントローラ602とバス603を経由してDRAM601から120fpsのフレームレートで読み出し、出力回路606に出力する。出力回路606が出力するビデオデータは補正回路607で補正処理され出力ポート610から出力される。
【0181】
一方、描画プロセッサ100がイメージデータの描画を行う場合、DMAC107はビデオデータをオリジナルフレームのデータとしてDRAM101に書き込み転送する。コントローラ623は補間フレームデータの生成を停止するように補間フレーム生成回路122を制御する。また、ビデオデータのフレームレート(例えば、60fps)でオリジナルフレームのデータをDRAM101から読み出すように出力回路624を制御する。更に、ビデオデータのフレームレートよりも高速(例えば、120fps)にオリジナルのフレームデータを繰り返しDRAM601から読み出すように出力回路606を制御する。
【0182】
このように、本実施形態では、描画プロセッサ100がイメージデータを描画する際には、出力回路606がDRAM601を利用してフレームダブリング処理を行う。そして、出力回路624はフレームダブリング処理を行わない。そのため、第1の実施形態と比べて、出力回路624が消費するDRAM101の転送帯域が半分になる。
【0183】
従って、描画プロセッサ100が使用可能なDRAM101の転送帯域が増加し、転送帯域の不足が原因で高度な画像を表現するイメージデータを生成することができない状況が発生することが抑制される。
【0184】
[その他の実施形態]
上述した各実施形態の機能を実現するためには、各機能を具現化したソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供してもよい。そして、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによって、上述した各実施形態の機能が実現される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した各実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスクなどを用いることができる。或いは、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることもできる。
【0185】
また、上述した各実施形態の機能を実現するための構成は、コンピュータが読み出したプログラムコードを実行することだけには限られない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって上述した各実施形態の機能が実現される場合も含まれている。
【0186】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれてもよい。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって上述した各実施形態の機能が実現される場合も含むものである。
【図面の簡単な説明】
【0187】
【図1】本発明の技術を適用した、第1の実施形態に係る画像処理装置の構成を示す図である。
【図2】補間フレームデータ生成処理の一例を示す図である。
【図3】フレームダブリング処理の概念図である。
【図4】出力回路が補間フレームデータを生成する場合におけるDRAMの転送帯域の消費量の概念図である。
【図5】出力回路が補間フレームデータを生成しない場合におけるDRAMの転送帯域の消費量の概念図である。
【図6】映像の右下に小さな操作メニューが表示された様子を示す図である。
【図7】映像の中央付近に大きな番組表が表示された様子を示す図である。
【図8】第1の実施形態の一態様における処理の流れを示すフローチャートである。
【図9】第2の実施形態の概念図である。
【図10】第2の実施形態に係る画像処理装置の構成を示す図である。
【図11】第2の実施形態における処理の流れを示すフローチャートである。
【図12】第2の実施形態においてフレーム内において領域を指定するための座標の様子を示す図である。
【図13】第2の実施形態において出力回路がDRAMからデータを読み出す様子を示す図である。
【図14】第2の実施形態における、メモリ帯域の状態と描画プロセッサの動作を説明する図である。
【図15】第2の実施形態の他の態様を示す概念図である。
【図16】第3の実施形態に係る画像処理装置の構成を示す図である。
【図17】第3の実施形態に係るビデオデータの表示例を示す図である。
【図18】第3の実施形態における処理の流れを示すフローチャートである。
【図19】第4の実施形態に係る画像処理装置の構成を示す図である。
【図20】第5の実施形態に係る画像処理装置の構成を示す図である。
【図21】第5の実施形態に係る初期化処理の流れを示すフローチャートである。
【図22】第5の実施形態において描画プロセッサがイメージデータを描画する場合の処理の流れを示すフローチャートである。
【図23】第6の実施形態に係る画像処理装置60、及び表示装置コントローラ65の構成を示す図である。
【技術分野】
【0001】
本発明は、ビデオデータのフレームレートを高速化する画像処理装置及び画像処理方法に関する。
【背景技術】
【0002】
現在、ビデオデータのフレームレートを高速化する技術が知られている(特許文献1参照)。特許文献1の技術によれば、フィールド補間により50フレーム/秒の映像信号が100フレーム/秒に変換される。
【0003】
また、メニュー画面などの画像(コンピュータグラフィックス)を映像に合成して表示することも知られており、近年、ますます高度な画像(例えば、高精細なアニメーション画像など)が合成されるようになってきている。特許文献2には、コンピュータグラフィックス信号を発生する回路を備える表示装置が開示されている。
【特許文献1】特開平10−191268号公報
【特許文献2】特開2000−181440号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
フィールド補間などにより補間フレームを生成する際には、大量のデータがフレームメモリから読み出され、また、フレームメモリに対して書き込まれる。
【0005】
また、高度な画像を表現するイメージデータを生成する際にも、大量のデータがフレームメモリから読み出され、また、フレームメモリに対して書き込まれる。
【0006】
従って、フレームレートの高速化と同時に高度な画像を映像に合成するためには、フレームメモリのデータ転送帯域幅を広くすることが求められる。しかしながら、フレームメモリのデータ転送帯域幅を広くすることはコストの上昇を招くため、望むままにデータ転送帯域幅を広くすることは困難である。
【0007】
その結果、データ転送帯域幅がボトルネックとなり、高度な画像を表現するイメージデータを生成することができない場合が発生する。
【0008】
本発明はこのような状況に鑑みてなされたものである。即ち、画像処理装置において、フレームメモリのデータ転送帯域幅が比較的限られていても、高度な画像を表現するイメージデータを生成することができない状況の発生を抑制する技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、第1の本発明によれば、ビデオデータの各フレームデータを順次記憶するメモリと、前記各フレームデータの間に挿入される補間フレームデータを生成し、前記メモリに格納する補間手段と、前記各フレームデータ及び前記補間フレームデータを、前記ビデオデータのフレームレートよりも高いフレームレートで前記メモリから順次読み出す読み出し手段と、前記各フレームデータに合成されるイメージデータを生成し、前記メモリに格納する生成手段と、前記生成手段の出力に応じて、前記補間フレームデータの生成を停止するように前記補間手段を制御すると共に、前記補間フレームデータの代わりに前記各フレームデータを重複して読み出すように前記読み出し手段を制御する制御手段と、を備えることを特徴とする画像処理装置が提供される。
【0010】
また、第2の本発明によれば、ビデオデータの各フレームデータを順次記憶するメモリと、第1のフォーマットの前記各フレームデータを、前記第1のフォーマットよりもデータ量が減少する第2のフォーマットに変換する第1の変換手段と、前記各フレームデータの間に挿入される補間フレームデータを、前記第1のフォーマット、又は前記第2のフォーマットで生成し、前記メモリに格納する補間手段と、前記第2のフォーマットの前記各フレームデータ及び前記補間フレームデータを、前記第1のフォーマットに変換する第2の変換手段と、前記各フレームデータ及び前記補間フレームデータを、前記ビデオデータのフレームレートよりも高いフレームレートで前記メモリから順次読み出す読み出し手段と、前記各フレームデータに合成されるイメージデータを生成し、前記メモリに格納する生成手段と、前記生成手段の出力の応じて、前記各フレームデータを前記第1の変換手段により前記第2のフォーマットに変換してから記憶するように前記記憶手段を制御し、前記第2のフォーマットの補間フレームデータを生成するように前記補間手段を制御し、更に、前記読み出し手段による読み出しの前に前記第2のフォーマットの前記各フレームデータ及び前記補間フレームデータを前記第1のフォーマットに変換するように前記第2の変換手段を制御する制御手段と、を備えることを特徴とする画像処理装置が提供される。
【0011】
また、第3の本発明によれば、ビデオデータの各フレームデータを順次メモリに記憶する記憶工程と、前記各フレームデータの間に挿入される補間フレームデータを生成し、前記メモリに生成する補間工程と、前記各フレームデータ及び前記補間フレームデータを、前記ビデオデータのフレームレートよりも高いフレームレートで前記メモリから順次読み出す読み出し工程と、前記各フレームデータに合成されるイメージデータを生成して前記メモリに格納する生成工程と、前記生成工程での出力に応じて、前記補間フレームデータの生成を停止するように前記補間工程を制御すると共に、前記補間フレームデータの代わりに前記各フレームデータを重複して読み出すように前記読み出し工程を制御する制御工程と、を備えることを特徴とする画像処理方法が提供される。
【0012】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための最良の形態における記載によって更に明らかになるものである。
【発明の効果】
【0013】
以上の構成により、本発明によれば、画像処理装置において、フレームメモリのデータ転送帯域幅が比較的限られていても、高度な画像を表現するイメージデータを生成することができない状況の発生を抑制することが可能となる。
【発明を実施するための最良の形態】
【0014】
以下、添付図面を参照して、本発明の実施形態を説明する。以下で説明される個別の実施形態は、本発明の上位概念から下位概念までの種々の概念を理解するために役立つであろう。
【0015】
なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
【0016】
また、以下の各実施形態において、「ビデオデータ」は、本発明に係る画像処理装置が受信するデータを示し、「イメージデータ」は、この画像処理装置が生成してビデオデータに合成するデータ(即ち、メニュー画面などを表現するデータ)を示す。
【0017】
[第1の実施形態]
<画像処理装置10の構成>
図1は、本発明の技術を適用した、第1の実施形態に係る画像処理装置10の構成を示す図である。
【0018】
画像処理装置10は、生成手段の一例である描画プロセッサ100と、補間手段の一例である補間フレーム生成回路122とを備える。描画プロセッサ100は、ビデオデータ(の各フレームデータ)に合成されるイメージデータを描画(生成)する。補間フレーム生成回路122は、各フレームデータの間に挿入される補間フレームデータを生成する。補間フレームデータは、フレームレートを変換(特に、高速化)するために使用される。補間フレームデータを生成するためには、例えば特許文献1に示されるような任意の知られている技術を利用可能である。
【0019】
101はDRAMであり、ビデオデータのためのフレームメモリや描画プロセッサ100のワークエリアとして使用されるメモリである。
【0020】
102はメモリコントローラであり、103は画像処理装置10におけるデータの転送経路であるバスである。描画プロセッサ100は、イメージデータを描画してDRAM101に格納するプロセッサである。
【0021】
104、105、106、107、108、109、110、及び111はダイレクトメモリアクセスコントローラ(DMAC)であり、DRAM101と各信号処理回路(例えば、合成回路121)との間のデータ転送を制御する。
【0022】
描画プロセッサ100は、DRAM101などにロードされた描画プログラムを実行することにより、イメージデータの描画処理を行う。描画プロセッサ100は、描画プログラムをバス103とメモリコントローラ102とを経由して読み出し、実行する。
【0023】
描画プロセッサ100は、生成したイメージデータをDRAM101に書き込む。描画プロセッサ100がイメージデータをDRAM101に書き込む際に、イメージデータは、バス103とメモリコントローラ102を経由してDRAM101へ転送される。
【0024】
なお、描画プロセッサ100は、例えばユーザの指示などに応答して、メニュー画面や番組表などを表現するイメージデータの描画を行う。
【0025】
125は入力端子であり、ビデオデータ(映像信号)が入力される。126は出力端子であり、ディスプレイなどの表示装置に接続され、ディスプレイに対してビデオデータを出力する。
【0026】
120はIP変換/スケーリング回路であり、インタレースフォーマットのビデオデータをプログレッシブフォーマットに変更し、更に補間や間引き処理を行うことによりビデオデータが表現する映像のサイズを変更する、画像処理を行う。
【0027】
IP変換/スケーリング回路120は、画像処理を行う際にビデオデータをフレーム単位又はフィールド単位でDRAM101に書き込み、読み出すことを必要とする。従って、IP変換/スケーリング回路120は、画像処理を行う際に、DMAC104、バス103、及びメモリコントローラ102を用いて、ビデオデータをDRAM101に転送する。更に、DMAC105、バス103、及びメモリコントローラ102を用いて、DRAM101に記憶されているビデオデータを読み出す。
【0028】
121は合成回路であり、IP変換/スケーリング回路120が処理したビデオデータと、描画プロセッサ100が生成したイメージデータとを合成する。合成回路121は、描画プロセッサ100が生成したイメージデータを、DMAC106を用いて読み出すことができる。合成回路121は、イメージデータをビデオデータに重ね合わせた状態に加工したり、或いは、イメージデータに所定の透明度を持たせてビデオデータに合成したりする。合成回路121は、イメージデータが合成されたビデオデータを、DMAC107、バス103、及びメモリコントローラ102を用いてDRAM101に記録する。
【0029】
補間フレーム生成回路122は、DMAC108及びDMAC109を介してDRAM101から時間的に連続する2つのフレームデータを取得し、フレーム補間処理により、2つのフレームの間に挿入される補間フレームデータを生成する。補間フレーム生成回路122は、生成した補間フレームデータを、DMAC110を介してDRAM101に記録する。
【0030】
124は読み出し手段の一例である出力回路であり、DMAC111を介してDRAM101からフレームデータ及び補間フレームデータを順次読み出し、補正回路127へ出力する。入力端子125から入力されるビデオデータのフレームレートよりも高いフレームレートで出力回路124がフレームデータ及び補間フレームデータを読み出すことにより、フレームレートの高速化が実現される。本実施形態では、出力回路124は、120フレーム/秒又は60フレーム/秒のフレームレートでフレームデータ及び補間フレームデータを出力することが可能であるものとする。
【0031】
補正回路127は、輝度色差信号で表現されるフレームデータ及び補間フレームデータをRGB信号に変換し、更に、各画素の色を補正する。
【0032】
コントローラ123は、描画プロセッサ100の指示に従って補間フレーム生成回路122及び出力回路124を制御する回路である。コントローラ123は、補間フレーム生成回路122による補間フレームデータの生成を制御する。また、DRAM101のアドレスを指定することにより、出力回路124によるフレームデータ及び補間フレームデータの読み出しを制御する。
【0033】
割り込みコントローラ130は、描画プロセッサ100に対して割り込みの通知を行う。タイマ131は、時間を計測し、所定のタイミングで描画プロセッサ100又は割り込みコントローラ130に対して、例えば所定の時間が経過したことなどを通知する。
【0034】
以上説明した画像処理装置10の各構成要素は、必ずしも図1に示すように配置されている必要は無い。例えば、合成回路121は、出力回路124と補正回路127の間に配置されていてもよい。この場合、合成回路121は、出力回路124から出力されたフレームデータ及び補間フレームデータにイメージデータを合成する。
【0035】
また、入力端子125から入力されるビデオデータは、インタレースフォーマットではなく、プログレッシブフォーマットでも構わない。この場合、IP変換/スケーリング回路120は、IP変換を行う必要が無い。
【0036】
また、ビデオデータの入力をIP変換/スケーリング回路120が直接受け付けるのではなく、DRAM101に一度格納してからIP変換/スケーリング回路120に入力するように画像処理装置10を構成してもよい。
【0037】
画像処理装置10の構成がどのようなものであれ、例えばメモリコントローラ102及びバス103などが記憶手段を構成し、記憶手段は、入力端子125から受信中のビデオデータの各フレームデータを順次メモリ(DRAM101)に記憶する。
【0038】
<補間フレームデータ生成処理>
前述の様に、補間フレーム生成回路122は、任意の知られている技術を利用して補間フレームデータを生成することができる。ここでは、図2を参照して、補間フレームデータ生成処理の一例を説明する。
【0039】
図2において、白色のフレームは、画像処理装置10に入力された60fpsのビデオデータのフレーム(「オリジナルフレーム」と呼ぶ)を示す。図2において、網かけされたフレームは、補間フレーム生成回路122によって生成され、各オリジナルフレームの間に挿入される補間フレームを示す。
【0040】
補間フレーム生成回路122は、時間的に連続する2つのオリジナルフレームのフレームデータに基づいて、補間フレームデータを生成する。補間フレーム生成回路122は、補間フレームデータを生成するために、例えば特許文献1の方式や、ブロックごとの動きベクトルを求め、求めた動きベクトルを用いてフレームを生成する方式などの、任意の公知の方式を利用可能である。
【0041】
出力回路124は、オリジナルフレームのデータ、及び補間フレームのデータを、順次(時間順に)DRAM101から読み出す。その結果、フレームレートが2倍に高速化された、120fpsのビデオデータが得られる。
【0042】
<フレームダブリング処理>
補間フレームデータが生成されない場合であっても、出力回路124は、図3を参照して説明するフレームダブリング処理により、ビデオデータのフレームレートを高速化することができる。
【0043】
出力回路124は、補間フレームデータの代わりに、各オリジナルフレームのデータを繰り返し(重複して)読み出す。その結果、フレームレートが2倍に高速化された、120fpsのビデオデータが得られる。
【0044】
なお、補間フレームデータの生成の有無に関わらず、出力回路124が各フレームデータを読み出す回数は、図2及び図3を参照して説明した回数に限られない。例えば、図2に示す場合において、出力回路124が各オリジナルフレームのデータと各補間フレームデータを2回ずつ読み出せば、フレームレートは4倍になる。重要なことは、出力回路124は、補間フレームデータの代わりにオリジナルフレームのデータを繰り返し読み出すことにより、補間フレームデータが生成されない場合であっても、フレームレートの高速化が実現されることである。
【0045】
また、本実施形態を含む以下の各実施形態において、「フレーム間補間方式」とは、補間フレームデータ生成処理を利用したフレームレートの高速化方式を意味する。また、「フレームダブリング方式」とは、フレームダブリング処理を利用したフレームレートの高速化方式を意味する。更に、1つの映像中(表示画面中)に、2つの方式が混在しても構わない。
【0046】
<転送帯域の消費量>
図4及び図5を参照して、出力回路124が補間フレームデータを生成する場合、及び生成しない場合におけるDRAM101の転送帯域の消費量を説明する。
【0047】
図4は、出力回路124が補間フレームデータを生成する場合におけるDRAM101の転送帯域の消費量の概念図である。
【0048】
出力回路124がオリジナルフレームのデータとそれに続く補間フレームデータを読み出す間に、補間フレーム生成回路122は、DRAM101から2つのオリジナルフレームのデータを読み出し、1つの補間フレームデータをDRAM101に書き込む。
【0049】
図5は、出力回路124が補間フレームデータを生成しない場合におけるDRAM101の転送帯域の消費量の概念図である。
【0050】
出力回路124が同一のオリジナルフレームのデータを2回読み出す間、補間フレーム生成回路122によるDRAM101へのアクセスは発生しない(アクセスは不要である)。
【0051】
このように、補間フレーム生成回路122が補間フレームデータを生成しない場合は、DRAM101の転送帯域の消費量が減少する。描画プロセッサ100は、減少分の転送帯域を使用することができるので、より高度な画像を表現するイメージデータをDRAM101内に生成することが可能となる。
【0052】
<補間フレーム生成回路122及び出力回路124の制御>
前述の様に、描画プロセッサ100は、イメージデータを生成する際に、DRAM101にアクセスする(即ち、DRAM101の転送帯域を消費する)。また、補間フレーム生成回路122も、補間フレームデータを生成する際に、DRAM101の転送帯域を消費する。
【0053】
そこで、本実施形態の一態様においては、コントローラ123は、描画プロセッサ100がイメージデータを生成する場合、合成対象のフレームデータに対応する補間フレームデータの生成を停止するように補間フレーム生成回路122を制御する。また、補間フレームの代わりに、オリジナルフレームのデータを繰り返し読み出すことでフレームレートの高速化を実現するように、出力回路124を制御する。
【0054】
これにより、描画プロセッサ100は、DRAM101に対してより多くの転送帯域を使用可能になるため、より高度な画像を表現するイメージデータを生成可能になる。換言すれば、転送帯域の不足が原因で高度な画像を表現するイメージデータを生成することができない状況が発生することが抑制される。
【0055】
なお、コントローラ123は、補間フレームデータの生成を停止する代わりに、DRAM101に対するデータ転送量がより少ない他のアルゴリズムで補間フレームデータを生成するように補間フレーム生成回路122を制御してもよい。その結果、補間フレーム生成回路122によるDRAM101の転送帯域の消費量は0にはならないが減少し、描画プロセッサ100は、その分より多くの転送帯域を使用可能になる。この場合、補間フレームデータの生成を完全に停止する場合に比べて、フレームレートが高速化されたビデオデータの画質が向上するという利点がある。これは、後述する他の各実施形態においても同様である。
【0056】
ところで、描画プロセッサ100がイメージデータを生成する場合であっても、生成するイメージデータが単純なもの(例えば、小さな静止画像データ)である場合は、DRAM101の転送帯域をそれほど多く必要とするわけではない。
【0057】
例えば、図6では、映像の右下に小さな操作メニューが表示されている。この操作メニューは、描画プロセッサ100が生成するイメージデータによって表現される。この操作メニューはサイズが小さいため、イメージデータのデータ量も比較的小さく、描画プロセッサ100はDRAM101の転送帯域をそれほど多くは必要としない。
【0058】
一方、図7では、映像の中央付近に大きな番組表が表示されている。この番組表を表現するイメージデータのデータサイズは比較的大きく、描画プロセッサ100はDRAM101の転送帯域を比較的多く必要とする。
【0059】
そこで、本実施形態の他の態様では、描画プロセッサ100がイメージデータの描画を行う場合であっても、イメージデータの画素数が予め定められた閾値以下の場合は、コントローラ123は、補間フレーム生成回路122に補間フレームデータを生成させる。以下、図8のフローチャートを参照して、詳細に説明する。描画プロセッサ100がイメージデータの描画指示を受けると、図8のフローチャートの処理が開始する。
【0060】
なお、図8に示すフローチャートの開始時において、コントローラ123は、補間フレームデータを生成するように補間フレーム生成回路122を制御する状態(以下、「補間実行モード」と呼ぶ)に設定されているものとする。
【0061】
S1001で、描画プロセッサ100は、描画するイメージデータ(グラフィックデータ)の画素数を算出する。例えば矩形画像を描画する場合は、縦の辺のピクセル数と横の辺のピクセル数を掛ける事によりイメージデータの画素数を求めることが可能である。
【0062】
S1002で、描画プロセッサ100は、S1001で算出した画素数と予め設定され、DRAM101などに格納されている閾値とを比較する。画素数が閾値よりも大きい場合はS1003に進み、そうでない場合はS1003をスキップしてS1004に進む。
【0063】
S1003で、描画プロセッサ100は、コントローラ123の状態を、補間フレームデータを停止するように補間フレーム生成回路122を制御する状態(以下、「補間停止モード」と呼ぶ)に変更する。補間停止モードでは、コントローラ123は、各オリジナルフレームのデータをDRAM101から繰り返し読み出すように出力回路124を制御する。制御方式の切り替えは、垂直同期信号に同期し、ブランキング期間にて実行される。
【0064】
S1001で算出された画素数が閾値以下の場合、S1003がスキップされるので、コントローラ123の状態は補間実行モードのままである。
【0065】
S1004で、描画プロセッサ100はイメージデータを描画し、合成回路121はイメージデータをビデオデータの各フレームデータに合成する。また、既に描画されているイメージデータが存在する場合、描画プロセッサ100は、そのイメージデータを消去する。
【0066】
イメージデータがアニメーション画像である場合、描画プロセッサ100は、イメージデータの描画を所定の間隔毎に繰り返し行う。タイマ131は所定の周期で割り込みコントローラ130を経由して描画プロセッサ100に割り込みの通知を行う。例えば周期が1/15秒であれば、描画プロセッサ100は、15fpsのアニメーション画像を描画することが可能である。
【0067】
S1005で、描画プロセッサ100は、タイマ131に基づく割り込みの通知を受けたか否かを判定し、通知を受けたらS1006に進む。
【0068】
S1006で、描画プロセッサ100は、描画処理を終了するか否かの判断を行う。終了しない場合(例えば、アニメーション画像の描画途中で引き続き描画すべき画像が存在する場合)、S1004に戻り、同様の処理を繰り返す。描画処理を終了する場合、S1007に進む。
【0069】
S1007で、描画プロセッサ100は、コントローラ123の状態を補間実行モードに変更する。補間フレームデータの生成処理には最新のフレームデータとその前のフレームデータが必要なので、補間フレームデータの生成が再開するまでには垂直同期信号を2回待つ必要がある。コントローラ123は、垂直同期信号を参照しながら、補間フレーム生成回路122及び出力回路124の制御方式を変更する。
【0070】
なお、S1002において、閾値を0とすれば、前述の態様(イメージデータ描画時は必ず補間フレームデータの生成が停止する実施形態)になる。
【0071】
本実施形態は、以下のケースに応用することも可能である。
【0072】
ディスプレイにJPEG静止画を表示する場合、システムとしてはJPEG圧縮されたデータをデコードし、得られたデータを描画する。描画プロセッサ100の能力が高いほどJPEGデコード処理と描画の時間は短縮することが可能となるため、描画プロセッサ100には高い処理能力が望まれる。
【0073】
一方で、表示するデータは静止画なので、補間フレームデータを生成しても、結局フレームダブリング処理と同等の画像が得られるだけである。このような場合は補間フレームデータの生成を停止し、描画プロセッサ100が使用可能なDRAM101の転送帯域を増加させることによりJPEGデコードと静止画を表示することに必要な時間を短縮することが可能となる。
【0074】
以上説明したように、本実施形態によれば、描画プロセッサ100がイメージデータを描画する場合は、コントローラ123は補間フレーム生成回路122による補間フレームデータの生成を停止させる。
【0075】
これにより、描画プロセッサ100が使用可能なDRAM101の転送帯域が増加するので、転送帯域の不足が原因で高度な画像を表現するイメージデータを生成することができない状況が発生することが抑制される。
【0076】
また、本実施形態の他の態様によれば、描画プロセッサ100がイメージデータを描画する場合であって、且つイメージデータの画素数が閾値以上の場合に、コントローラ123は補間フレーム生成回路122による補間フレームデータの生成を停止させる。
【0077】
これにより、描画プロセッサ100がそれほど多くの転送帯域を必要としない場合は、補間フレームデータの生成停止に伴うビデオデータの画質低下を抑制される。
【0078】
[第2の実施形態]
第1の実施形態に係る画像処理装置10は、所定の条件が満たされると、補間フレームデータの生成を完全に停止した。
【0079】
ところで、メニュー画面などの合成画像は、静止画像、或いはフレームレートが低いアニメーション画像であることが多い。この場合、オリジナルフレームにおける合成画像の領域に対応する補間フレームデータが生成されても、合成画像の画質はそれほど向上しない。なぜなら、多くの場合、補間フレームデータ生成の基となる2つのオリジナルフレームにおいて合成画像が変化しないからである。
【0080】
そこで、第2の実施形態では、描画プロセッサ100がイメージデータを生成する場合、オリジナルフレームのデータにおいてイメージデータが合成される領域についてのみ、補間フレームデータの生成を停止する。そして、その領域以外の領域については、補間フレームデータの生成を継続する。
【0081】
これにより、補間フレーム生成回路122が消費するDRAM101の転送帯域が減少し、その分描画プロセッサがより多くの転送帯域を使用できる。更に、イメージデータが合成される領域以外の領域については補間フレームデータが生成されるので、描画プロセッサ100がイメージデータを生成する場合のビデオデータの画質が向上する。
【0082】
図9は、第2の実施形態の概念図である。図9では、映像の左下にメニュー画面が表示されている。この場合、メニュー画面に対応する領域は、オリジナルフレームのデータを繰り返し読み出すことによりフレームレートが高速化される。それ以外の領域では、補間フレームデータが生成され、オリジナルフレームのデータと補間フレームデータを順次読み出すことによりフレームレートが高速化される。
【0083】
図10は、第2の実施形態に係る画像処理装置20の構成を示す図である。図10において、第1の実施形態に係る画像処理装置10と同一の構成要素には同一の符号を付し、説明を省略する。
【0084】
200は補間領域制御回路であり、EXAreaレジスタ201を含む。描画プロセッサ100は、フレームデータにおいてイメージデータを合成する領域を算出し、その領域を示す情報をEXAreaレジスタ201に格納する。補間領域制御回路200は、EXAreaレジスタ201に格納された情報に基づき、補間フレームデータの生成を行う際の処理領域のポインタを補間フレーム生成回路122と、DMAC108、109、及び110とにセットする。更には、出力回路124が読み出すデータのポインタを出力回路124及びDMAC111にセットする。
【0085】
DRAM101には、DMAC107を介して書き込まれたオリジナルフレームのデータと、補間フレーム生成回路122が生成した補間フレームデータとが存在する。出力回路124は、補間領域制御回路200の制御に従い、画像の領域に応じて読み出すデータを選択することが可能である。
【0086】
図11は、第2の実施形態における処理の流れを示すフローチャートである。描画プロセッサ100がイメージデータの生成を開始すると、本フローチャートの処理が開始する。
【0087】
なお、図11に示すフローチャートの開始時において、補間領域制御回路200は、フレームの全領域について補間フレームデータを生成するように補間フレーム生成回路122を制御する状態(以下、「全補間モード」と呼ぶ)に設定されているものとする。
【0088】
S2001で、描画プロセッサ100は、描画するイメージデータが合成される領域(合成領域)の座標を算出する。
【0089】
S2002で、描画プロセッサ100は、S2001で算出した座標をEXAreaレジスタ201にセットする。
【0090】
S2003で、描画プロセッサ100は、補間領域制御回路200の状態を、合成領域以外の領域についてのみ補間フレームデータを生成するように補間フレーム生成回路122を制御する状態(以下、「部分補間モード」と呼ぶ)に変更する。部分補間モードでは、補間領域制御回路200は、合成領域については各オリジナルフレームのデータをDRAM101から繰り返し読み出すように出力回路124を制御する。
【0091】
S2004及びS2005では、描画プロセッサ100は、アニメーションが終了するまでイメージデータの描画を実行する。ここでの処理は、図8のS1004乃至S1006と同様なので、詳細な説明は省略する。
【0092】
S2006で、描画プロセッサ100は、補間領域制御回路200の状態を全補間モードに変更する。このとき、補間領域制御回路200はまず補間フレーム生成回路122に指令を送ることによりまず全領域の補間フレームデータの生成を開始する。そして、補間フレームデータが生成された後で出力回路124に指令を送る。出力回路124はこの時点から全領域について補間フレームデータの読み出しを開始する。
【0093】
図12は、フレーム内において領域を指定するための座標の様子を示す図である。ディスプレイに表示されるフレーム(映像)は座標(0,0)、及び(A,B)で示される領域である。
【0094】
イメージデータを合成する領域(合成領域)は(C,D)、及び(E,F)で示される、矩形領域である。合成領域においては、フレームレート変換処理はフレームダブリング方式にて行われ、フレーム内のそれ以外の領域においては、フレームレート変換処理は補間フレーム生成方式にて行われる。
【0095】
図11のS2002及びS2003に示した処理により、描画プロセッサ100はフレームレート変換方式としてフレームダブリング方式を取る領域をEXAreaレジスタに設定する。レジスタ設定値は、図12の例でいえば、(C,D)及び(E,F)である。
【0096】
DMAC108,109,110はEXAreaレジスタ201に設定された座標で囲まれた領域に関してはデータ転送を行わないで、残りの領域のみについてデータ転送を行う。
【0097】
これにより、EXAreaレジスタ201で囲まれる領域については補間フレームデータの生成処理は実行されず、この領域に関するメモリアクセスも発生しないことになる。
【0098】
同時に、出力回路124もEXAreaレジスタを参照して、読み出す画像データを決定する。DRAM101にはDMAC107にて書き込まれた画像データ(オリジナルフレームのデータ)が存在する。
【0099】
また、DRAM101には補間フレーム生成回路122とDMAC110により生成された補間フレームデータも記録される。ただし、このデータはEXAreaレジスタ201で指定された領域については存在しない。
【0100】
DMAC111は、例えば1/120秒毎にオリジナルフレームのデータと補間フレームデータを交互に読み出す。ただし補間フレームデータに関しては、補間フレームデータ生成処理により作られたデータが存在する部分、すなわちEXAreaレジスタ201で指定された領域以外についてのみ補間フレームデータを読み出す。それ以外の領域、すなわちEXAreaレジスタ201で指定された領域はオリジナルフレームのデータを読み出す(図13参照)。
【0101】
出力回路124は、オリジナルフレームのデータと補間フレームデータを交互に出力することにより、例えば、60fpsのビデオデータを120fpsに倍速化して出力する。しかし、上述の処理により、補間フレームデータを出力する際はEXAreaレジスタ201にセットされた座標で囲まれる領域については上記のオリジナルフレームのデータを読み出して出力し、その他の領域については補間フレームデータを出力する。
【0102】
上記動作における、メモリ帯域の状態と描画プロセッサ100の動作を説明する。
【0103】
図14において、250で示した部分は補間フレーム生成方式にてフレームレート変換を行っている。251で示した部分は補間フレームの生成を行わず、これが必要とするメモリアクセスも行わない。従って描画プロセッサ100がDRAM101に対してより多くの転送帯域を使用できる期間である。
【0104】
画面上のAで示す位置におけるメモリアクセスの様子をAAで示し、画面上のBで示す位置におけるメモリアクセスの様子をBBで示す。HSは水平同期信号で、MEMがメモリアクセスの様子である。
【0105】
AA,BBにおいて、bは補間フレーム生成処理にてメモリアクセスが行われる期間を示し、aはそれが行われない期間、すなわち描画プロセッサがメモリにアクセスすることが可能な期間である。
【0106】
領域251にてメモリアクセスを行わないため、Bで示すラインにおいては、aすなわちメモリアクセスが行われない期間が増大する。これにより描画プロセッサ100がメモリアクセスを行う能力が向上し、描画プロセッサ100のパフォーマンスが向上する。251で示す領域が広ければ広いほど、描画プロセッサ100がより多くの転送帯域を使用できる時間は増大する。
【0107】
本実施形態は、以下のケースに応用することも可能である。
【0108】
テレビには1つのディスプレイに対して2つの画面を表示する機能が備えられている場合がある。この場合、図15に示すように、映像が表示される領域とその他の領域が発生する。その他の領域については動画像が表示されるわけではないので補間フレームデータの生成を行う必要は無い。従ってこの部分については補間フレーム生成処理を停止することが可能となる。
【0109】
これによって補間フレーム生成回路122が消費する転送帯域が減少し、その分、描画プロセッサ100がより多くの転送帯域を使用できる。その結果、高精細なアニメーション画像など、より高度な画像を描画することが可能となる。
【0110】
同様に、データ放送受信時、データ放送を表示する部分に関してはフレームレート変換処理をフレームダブリング方式で行うこともできる。
【0111】
以上説明したように、本実施形態によれば、描画プロセッサ100がイメージデータを生成する場合であっても、イメージデータが合成される領域以外の領域については、補間フレームデータが生成される。
【0112】
これにより、描画プロセッサ100がイメージデータを生成する場合のビデオデータの画質が向上する。
【0113】
[第3の実施形態]
第3の実施形態では、各イメージデータがブレンド係数αを持つ。ブレンド係数αは、イメージデータを映像に合成するときの透明度を示すパラメータで、αが小さいほどイメージデータの透明度が高い。本実施形態では、αが閾値以上の場合、即ち、透明度が予め定められた度合い以上でイメージデータが合成される場合、合成領域の補間フレームデータが生成される。反対に、αが閾値未満の場合、補間フレームデータは生成されず、合成領域についてはフレームダブリング方式でフレームレートが高速化される。或いは、αが大きい(透明度が低い)イメージデータから優先して、合成領域のフレームレート変換方式をフレームダブリング方式とする。
【0114】
イメージデータ画像の合成を行う際、画像のブレンド係数αが小さい場合はイメージデータの後ろに映像が見えることになる。この状態で描画領域のフレームレート変換方式を補間フレーム生成方式からフレームダブリング方式に変更したとき、描画領域に関してフレームレート変換方式の差による画質の差が見えてしまう場合がある。
【0115】
一方で描画のパフォーマンスを向上したいので、可能な限り、描画対象領域(合成領域)についてはフレームレート変換方式としてフレームダブリング方式を採用したい。
【0116】
透過度が高いイメージデータは重ね合わされる映像が視聴者に見えやすい。従ってイメージデータの透過度が高いほど、フレームレート変換として高品質な処理を行うべきである。本実施形態は、このような認識に基づくものである。
【0117】
図16は、第3の実施形態に係る画像処理装置30の構成を示す図である。図16において、画像処理装置10と同一の構成要素には同一の符号を付し、説明を省略する。
【0118】
出力回路313は、DMAC308を制御することにより、DRAM101上に存在するビデオデータを読み出し、これをブレンド回路315に対して出力する。出力回路313は、オリジナルフレームと補間フレームを交互に倍速で読み出すことにより、120fpsのビデオデータを出力する。ただし、補間フレームが生成されない領域については、オリジナルフレームを繰り返し読み出す。
【0119】
出力回路314は、描画プロセッサ100によりDRAM101内に描画されたイメージデータを、DMAC307を制御することにより読み出し、これをブレンド回路315に出力する。このときのデータレートは120fpsであり、出力回路314は出力回路313に同期して動作する。
【0120】
ブレンド回路315は、コントローラ312の制御に基づき、出力回路314から入力されるビデオデータと出力回路313から入力されるイメージデータをブレンド係数αの値に従ってブレンド処理する。ブレンド時のビデオデータの比率はαに比例する。例えばα=0の時は映像出力100%、イメージデータ0%で合成が行われ、α=0.3の時は映像出力70%、イメージデータ30%で合成が行われる。
【0121】
αの値と合成領域を示す信号はコントローラ312から出力される。ブレンド回路315はこれを用いて合成領域ごとに変化するαの値に対応しながらブレンド処理を行う。
【0122】
コントローラ312は、補間フレーム生成回路122、出力回路313、出力回路314、及びブレンド回路315を制御する。コントローラ312は、領域指定用のレジスタであるEXAreaレジスタA、EXAreaレジスタB、EXAreaレジスタCを備える。また、それぞれの領域に対応するブレンド係数αを記憶する、A領域αレジスタ、B領域αレジスタ、及びC領域αレジスタを備える。また、背景αレジスタも備える。更にコントローラ312は、補間フレーム生成回路122の制御に使用するαの閾値を記憶するレジスタである、α閾値レジスタを備える。更にコントローラ312は、比較回路を持ち、これにより各イメージデータのα値と閾値とを比較する。
【0123】
図17は、第3の実施形態に係るビデオデータの表示例を示す図である。合成されるイメージデータは、それぞれ透明度が異なる。透明度が低い(αが大きい)場合、合成領域の補間フレームデータを生成しても、オリジナルフレームの画像の視認性は低いので、画質の向上にそれほど寄与しない。そこで、補間フレームデータの生成は停止される。
【0124】
図18は、第3の実施形態における処理の流れを示すフローチャートである。描画プロセッサ100がイメージデータの描画指示を受けると、本フローチャートの処理が開始する。
【0125】
なお、図18に示すフローチャートの開始時において、コントローラ312は、全補間モードに設定されているものとする。
【0126】
S3001で、描画プロセッサ100は、αの閾値をコントローラ312が備えるα閾値レジスタにセットする。この値はこの後セットされる各領域のαを判定する際に用いられる基準の値である。
【0127】
S3002で、描画プロセッサ100は、背景のα値を背景αレジスタにセットする。この値は描画領域として取り扱う矩形領域で指定される領域以外において、映像とイメージデータをブレンドするときの係数である。
【0128】
S3003で、描画プロセッサ100は、コントローラ312を自動選択モードに変更する。自動選択モードでは、前述の様に、補間フレーム生成回路122は、イメージデータの透明度が予め定められた度合い未満の領域については、補間フレームデータの生成を停止する。そして、出力回路313は、補間フレームデータが生成されなかった領域については、補間フレームデータの代わりにオリジナルフレームのデータを繰り返し読み出す。
【0129】
S3004で、描画プロセッサ100は、矩形領域Aの座標をEXAreaレジスタAにセットする。
【0130】
S3005で、描画プロセッサ100は、矩形領域Aに描画するイメージデータに適用するブレンド係数αをA領域αレジスタにセットする。
【0131】
この時点で、コントローラ312は、A領域αレジスタにセットされたα値をα閾値レジスタにセットされた値と比較する。A領域レジスタのα値が閾値より大きい場合(透明度が予め定められた度合い未満の場合)、領域Aに関してはフレームレート変換方式をフレームダブリング方式に変更する。
【0132】
S3006で、描画プロセッサ100は、矩形領域Aのイメージデータを描画(生成)する。
【0133】
S3007乃至S3012では、矩形領域B、及び矩形領域Cに対しても同様の処理が行われる。
【0134】
イメージデータの描画が終了すると、S3013からS3014に進み、描画プロセッサ100は、コントローラ312を全補間モードに変更する。
【0135】
背景の処理について説明する。ここで背景とは、A領域、B領域、C領域で指定される領域以外の領域を示す。コントローラ312は背景αの値を判定する。背景αレジスタにセットされたα値をα閾値レジスタにセットされた値と比較する。α値が基準値以上である場合は背景に関してはフレームレート変換方式をフレームダブリング方式に変更する。すなわち補間フレーム生成回路に対して背景に対しては補間フレーム生成を停止するよう制御を行い、出力回路313に対しても背景に関する出力画像はオリジナルフレームを二度ずつ繰り返し出力するよう制御を行う。
【0136】
以上説明したように、本実施形態によれば、イメージデータが合成される領域であっても、透明度が予め定められた度合い以上の場合は、合成領域についても補間フレームデータの生成が実行される。
【0137】
これにより、描画プロセッサ100がイメージデータを生成する場合のビデオデータの画質が向上する。
【0138】
[第4の実施形態]
図19は、第4の実施形態に係る画像処理装置40の構成を示す図である。画像処理装置40は、画像処理装置30にフォーマット変換回路401乃至403が追加された構成である。
【0139】
フォーマット変換回路401及び402は、2つの動作モードを持つ。モードの1つは、入力されたビデオデータをそのまま出力するスルーモードである。モードのもう1つは、入力される信号のデータ量を減少させる、データ量縮小モードである。
【0140】
データ量縮小モードは、YCbCr各色16bit、4:4:4で表現されたビデオデータを、YCbCr各色8bit、4:2:2のフォーマットに変換する。従って1ピクセルのデータ量は48ビットから16ビットに減少することが可能となる。
【0141】
フォーマット変換回路403は逆にフォーマット変換回路401及び402により変換されたデータフォーマットを元のデータフォーマットに復元する回路である。
【0142】
フォーマット変換回路403も同様に2つの動作モードを持つ。1つのモードは入力をそのまま出力に伝達するスルーモード、もう1つのモードはYCbCr各色8ビットの4:2:2フォーマットで表現されたビデオデータから、YCbCr各色16ビットの4:4:4フォーマットに復元する、復元モードである。
【0143】
描画プロセッサ100がイメージデータの描画を行わない場合は、フォーマット変換回路401、402、及び403の動作モードはスルーモードである。
【0144】
一方、描画プロセッサ100がイメージデータの描画を行う場合、コントローラ312に対してフレームレート変換モードの変更を指示する。これに応じてコントローラ312はフォーマット変換回路401,402、及び403に対して、モードをスルーモードから変換モードあるいは復元モードに変更するよう指令する。
【0145】
これにより、IP変換/スケーリング回路120がDRAM101に書き込むデータのフォーマットが変換され、これに関するDRAM101のメモリ帯域は1/3に減少する。同様に補間フレームデータ生成処理のためのメモリアクセスに関しても、メモリ帯域は1/3に減少する。フォーマット変換回路403は、DMAC307が出力回路314に転送するデータをもとのフォーマットに復元して出力する。
【0146】
描画が終了した場合、描画プロセッサ100はフォーマット変換回路401、402、及び403の動作モードをスルーモードに戻す。
【0147】
この処理により、画像処理装置40は、補間フレームデータ生成処理のために消費される転送帯域を削減し、その分を描画プロセッサ100に割り当てることが可能となる。これにより、描画プロセッサ100はより高度なイメージデータを描画できるようになる。
【0148】
本実施形態は、第1の実施形態で説明した、「DRAM101に対するデータ転送量がより少ない他のアルゴリズム」として活用すると効果的である。
【0149】
[第5の実施形態]
第5の実施形態では、描画プロセッサ100がイメージデータを生成する場合であっても、描画プロセッサ100がDRAM101に対して送受信するデータ量が予め定められた閾値以下の場合、補間フレームデータが生成される。
【0150】
図20は、第5の実施形態に係る画像処理装置50の構成を示す図である。
【0151】
500はコントローラであり、描画領域(合成領域)としてA領域、B領域、C領域の座標を指定する、EXAreaレジスタA、EXAreaレジスタB、EXAreaレジスタCとを備える。また、対応する描画領域に関して、描画に関してフレームメモリに対するデータ転送の必要量を数値化して設定する、A領域Qレジスタ、B領域Qレジスタ、C領域Qレジスタとを備える。また、Qレジスタの値を比較する閾値を設定する、Q閾値レジスタと、各領域のQレジスタに設定された値をQ閾値レジスタの値を比較する比較回路を備える。
【0152】
コントローラ500はそれぞれの領域に関して、フレームレート変換方式の自動変更を行うか否かを決定するレジスタを備える。これらは、A領域に関してはEN(イネーブル)_Aレジスタ、B領域に関してはEN_Bレジスタ、C領域に関してはEN_Cレジスタとする。
【0153】
他の構成要素は第3の実施形態と同じなので説明を省略する。
【0154】
描画するイメージデータのデータの特性によって、描画に関してフレームメモリに対するデータ転送の必要量は異なる。例えばアニメーションであれば、フレームレートが高いほうが多くのメモリアクセスを必要とするので、必要とされるデータ転送能力は高くなる。
【0155】
また、描画プロセッサがデータをメモリに記憶する際に、データを圧縮するような場合、圧縮率が低いデータのほうがメモリに転送するデータの量が大きくなるので、必要とされるデータ転送能力は高くなる。この場合、例えばグラデーション画像を描画するケースとベタ塗りつぶし画像を描画するケースで比較すると、グラデーションを描画するケースのほうが必要とされるデータ転送能力は高くなる。
【0156】
また、バースト転送を前提に設計されたシステムにおいて、バースト長が短いデータアクセスを多数行う場合、データ転送間のオーバーヘッドが多く発生するため、データ転送効率が低下する。このような場合もフレームメモリに対するデータ転送の必要数は高く設定する必要が生ずる。
【0157】
画像処理装置50は、予め描画オブジェクト毎にフレームメモリに対するデータ転送の必要量を求め、これを数値化する。そしてこれをプログラムに書き込む形で記憶してある。
【0158】
図21、図22を用いて描画処理の動作を説明する。
【0159】
本実施例はオペレーティングシステムを用いてマルチタスクを実現したシステムである。よってそれぞれのタスクについて説明を行う。
【0160】
図21は初期化処理の流れを示すフローチャートである。
【0161】
描画プロセッサ100は、S5001でEN_Aレジスタに、S5002でEN_Bレジスタに、S5003でEN_Cレジスタに、フレーム間補間方式を示すパラメータをセットする。これにより、画像処理装置50は、この時点ではフレームレート変換をフレーム間補間方式で行う。
【0162】
次に描画プロセッサ100はS5004でQ閾値をQ閾値レジスタにセットする。Q閾値の値は、事前に本処理のプログラムに設定されたパラメータである。
【0163】
図22は、描画プロセッサ100がイメージデータを描画する場合の処理の流れを示すフローチャートである。
【0164】
描画処理は領域A、B、Cのいずれかが代入されるnと描画領域を示す座標とその領域に関するQ値を引数とする処理で、リエントラントに呼び出すことが可能であり、それぞれの領域に対する描画処理を、マルチタスクにより同時進行させる。
【0165】
描画処理が呼び出されると、本フローチャートの処理が開始する。
【0166】
S5101で、描画プロセッサ100は、矩形領域n(nは引数で与えられた値でA、B、Cのいずれか)とnに対応する領域の座標をEXAreaレジスタn(nは引数で与えられた値でA、B、Cのいずれか)にセットする。
【0167】
S5102で、描画プロセッサ100は、その領域に関するデータ転送の必要量を数値化した値をn領域Qレジスタ(nは引数で与えられた値でA、B、Cのいずれか)にセットする。
【0168】
S5103で、描画プロセッサ100は、EN_nレジスタ(nは引数で与えられた値でA、B、Cのいずれか)に対して、フレームレート変換方式として自動変更を示すパラメータをセットする。
【0169】
この時点で、コントローラ500はそれぞれの領域について、設定されたQ値をQ閾値と比較する。Q閾値と比較して高いQ値を持つ領域を認識し、この領域に関しては補間フレーム生成回路と出力回路314を制御することにより、フレームレート変換方式をフレームダブリング方式に変更する。
【0170】
S5104で、描画プロセッサ100は、領域n(nは引数で与えられた値でA、B、Cのいずれか)に関する描画処理を開始する。アニメーション画像である場合はS5105にて描画処理を終了するか否かを判定し、まだアニメーションの描画を続ける場合はS5014に戻り、描画を終了する場合はS5106に進む。
【0171】
S5106で、描画プロセッサ100は、EN_nレジスタ(nは引数で与えられた値でA、B、Cのいずれか)に対して、フレームレート変換方式とフレーム間補間方式を示すパラメータをセットする。
【0172】
以上説明したように、本実施形態によれば、描画プロセッサ100がイメージデータを生成する場合であっても、描画プロセッサ100がDRAM101に対して送受信するデータ量が予め定められた閾値以下の場合、補間フレームデータが生成される。
【0173】
これにより、描画プロセッサ100がDRAM101に対してそれほど多くの転送帯域を必要としない場合、ビデオデータの画質が向上する。
【0174】
[第6の実施形態]
第6の実施形態では、描画プロセッサ100がイメージデータを描画する際に、画像処理装置ではなく、表示装置のコントローラがダブリング方式によるフレームレートの高速化を行うことにより、描画プロセッサ100が使用可能な転送帯域を増加させる。
【0175】
図23は、第6の実施形態に係る画像処理装置60、及び表示装置コントローラ65の構成を示す図である。図6において、画像処理装置10と同一の構成要素には同一の符号を付し、説明を省略する。
【0176】
600は集積回路であり、表示装置(ディスプレイパネル)を制御すると共にビデオデータの補正処理を行う。601はDRAM、602はメモリコントローラ、603はバス、604及び605はダイレクトメモリアクセスコントローラ(DMAC)である。
【0177】
623はコントローラであり、集積回路600に制御信号を出力する。624は出力回路であり、DRAM101から120fpsあるいは60fpsでビデオデータを読み出して出力する。
【0178】
610は出力ポートであり、ディスプレイパネルの駆動回路に接続される。
【0179】
描画プロセッサ100がイメージデータの描画を行わない場合、DMAC107はビデオデータをオリジナルフレームのデータとしてDRAM101に書き込み転送する。補間フレーム生成回路122はDRAM101からオリジナルフレームのデータを読み出し、これから補間フレームデータを生成してDRAM101に書き込み転送する。出力回路624はDRAM101からオリジナルフレームのデータと補間フレームデータを順次読み出し、120fpsのフレームレートで補正回路127に出力する。補正回路127の出力は集積回路600に入力される。
【0180】
DMAC604は受け取ったビデオデータをバス603を経由してメモリコントローラ602に転送し、メモリコントローラ602はビデオデータをDRAM601に記録する。DMAC605はメモリコントローラ602とバス603を経由してDRAM601から120fpsのフレームレートで読み出し、出力回路606に出力する。出力回路606が出力するビデオデータは補正回路607で補正処理され出力ポート610から出力される。
【0181】
一方、描画プロセッサ100がイメージデータの描画を行う場合、DMAC107はビデオデータをオリジナルフレームのデータとしてDRAM101に書き込み転送する。コントローラ623は補間フレームデータの生成を停止するように補間フレーム生成回路122を制御する。また、ビデオデータのフレームレート(例えば、60fps)でオリジナルフレームのデータをDRAM101から読み出すように出力回路624を制御する。更に、ビデオデータのフレームレートよりも高速(例えば、120fps)にオリジナルのフレームデータを繰り返しDRAM601から読み出すように出力回路606を制御する。
【0182】
このように、本実施形態では、描画プロセッサ100がイメージデータを描画する際には、出力回路606がDRAM601を利用してフレームダブリング処理を行う。そして、出力回路624はフレームダブリング処理を行わない。そのため、第1の実施形態と比べて、出力回路624が消費するDRAM101の転送帯域が半分になる。
【0183】
従って、描画プロセッサ100が使用可能なDRAM101の転送帯域が増加し、転送帯域の不足が原因で高度な画像を表現するイメージデータを生成することができない状況が発生することが抑制される。
【0184】
[その他の実施形態]
上述した各実施形態の機能を実現するためには、各機能を具現化したソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供してもよい。そして、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによって、上述した各実施形態の機能が実現される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した各実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスクなどを用いることができる。或いは、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることもできる。
【0185】
また、上述した各実施形態の機能を実現するための構成は、コンピュータが読み出したプログラムコードを実行することだけには限られない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって上述した各実施形態の機能が実現される場合も含まれている。
【0186】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれてもよい。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって上述した各実施形態の機能が実現される場合も含むものである。
【図面の簡単な説明】
【0187】
【図1】本発明の技術を適用した、第1の実施形態に係る画像処理装置の構成を示す図である。
【図2】補間フレームデータ生成処理の一例を示す図である。
【図3】フレームダブリング処理の概念図である。
【図4】出力回路が補間フレームデータを生成する場合におけるDRAMの転送帯域の消費量の概念図である。
【図5】出力回路が補間フレームデータを生成しない場合におけるDRAMの転送帯域の消費量の概念図である。
【図6】映像の右下に小さな操作メニューが表示された様子を示す図である。
【図7】映像の中央付近に大きな番組表が表示された様子を示す図である。
【図8】第1の実施形態の一態様における処理の流れを示すフローチャートである。
【図9】第2の実施形態の概念図である。
【図10】第2の実施形態に係る画像処理装置の構成を示す図である。
【図11】第2の実施形態における処理の流れを示すフローチャートである。
【図12】第2の実施形態においてフレーム内において領域を指定するための座標の様子を示す図である。
【図13】第2の実施形態において出力回路がDRAMからデータを読み出す様子を示す図である。
【図14】第2の実施形態における、メモリ帯域の状態と描画プロセッサの動作を説明する図である。
【図15】第2の実施形態の他の態様を示す概念図である。
【図16】第3の実施形態に係る画像処理装置の構成を示す図である。
【図17】第3の実施形態に係るビデオデータの表示例を示す図である。
【図18】第3の実施形態における処理の流れを示すフローチャートである。
【図19】第4の実施形態に係る画像処理装置の構成を示す図である。
【図20】第5の実施形態に係る画像処理装置の構成を示す図である。
【図21】第5の実施形態に係る初期化処理の流れを示すフローチャートである。
【図22】第5の実施形態において描画プロセッサがイメージデータを描画する場合の処理の流れを示すフローチャートである。
【図23】第6の実施形態に係る画像処理装置60、及び表示装置コントローラ65の構成を示す図である。
【特許請求の範囲】
【請求項1】
ビデオデータの各フレームデータを順次記憶するメモリと、
前記各フレームデータの間に挿入される補間フレームデータを生成し、前記メモリに格納する補間手段と、
前記各フレームデータ及び前記補間フレームデータを、前記ビデオデータのフレームレートよりも高いフレームレートで前記メモリから順次読み出す読み出し手段と、
前記各フレームデータに合成されるイメージデータを生成し、前記メモリに格納する生成手段と、
前記生成手段の出力に応じて、前記補間フレームデータの生成を停止するように前記補間手段を制御すると共に、前記補間フレームデータの代わりに前記各フレームデータを重複して読み出すように前記読み出し手段を制御する制御手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記制御手段は、前記イメージデータの画素数が予め定められた閾値以下の場合、前記補間フレームデータの生成を実行するように前記補間手段を制御する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記制御手段は、前記各フレームデータにおいて前記イメージデータが合成される領域以外の領域については、前記補間フレームデータの生成を実行するように前記補間手段を制御すると共に、前記各フレームデータにおいて前記イメージデータが合成される領域については、前記補間フレームデータの代わりに前記各フレームデータを重複して読み出すように前記読み出し手段を制御する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記制御手段は、前記各フレームデータにおいて前記イメージデータが合成される領域以外の領域、及び合成された前記イメージデータの透明度が予め定められた度合い以上の領域については、前記補間フレームデータの生成を実行するように前記補間手段を制御すると共に、合成された前記イメージデータの透明度が前記予め定められた度合い未満の領域については、前記補間フレームデータの代わりに前記各フレームデータを重複して読み出すように前記読み出し手段を制御する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記制御手段は、前記生成手段が前記メモリに対して送受信するデータ量が予め定められた閾値以下の場合、前記補間フレームデータの生成を実行するように前記補間手段を制御する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記制御手段は、前記補間フレームデータの生成を停止する代わりに、前記メモリに対するデータ転送量がより少ない他のアルゴリズムで前記補間フレームデータを生成するように前記補間手段を制御する
ことを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
ビデオデータの各フレームデータを順次記憶するメモリと、
第1のフォーマットの前記各フレームデータを、前記第1のフォーマットよりもデータ量が減少する第2のフォーマットに変換する第1の変換手段と、
前記各フレームデータの間に挿入される補間フレームデータを、前記第1のフォーマット、又は前記第2のフォーマットで生成し、前記メモリに格納する補間手段と、
前記第2のフォーマットの前記各フレームデータ及び前記補間フレームデータを、前記第1のフォーマットに変換する第2の変換手段と、
前記各フレームデータ及び前記補間フレームデータを、前記ビデオデータのフレームレートよりも高いフレームレートで前記メモリから順次読み出す読み出し手段と、
前記各フレームデータに合成されるイメージデータを生成し、前記メモリに格納する生成手段と、
前記生成手段の出力の応じて、前記各フレームデータを前記第1の変換手段により前記第2のフォーマットに変換してから記憶するように前記記憶手段を制御し、前記第2のフォーマットの補間フレームデータを生成するように前記補間手段を制御し、更に、前記読み出し手段による読み出しの前に前記第2のフォーマットの前記各フレームデータ及び前記補間フレームデータを前記第1のフォーマットに変換するように前記第2の変換手段を制御する制御手段と、
を備えることを特徴とする画像処理装置。
【請求項8】
前記イメージデータの画素数が予め定められた閾値以下の場合は、前記制御手段による制御は実行されないことを特徴とする請求項7に記載の画像処理装置。
【請求項9】
ビデオデータの各フレームデータを順次メモリに記憶する記憶工程と、
前記各フレームデータの間に挿入される補間フレームデータを生成し、前記メモリに生成する補間工程と、
前記各フレームデータ及び前記補間フレームデータを、前記ビデオデータのフレームレートよりも高いフレームレートで前記メモリから順次読み出す読み出し工程と、
前記各フレームデータに合成されるイメージデータを生成して前記メモリに格納する生成工程と、
前記生成工程での出力に応じて、前記補間フレームデータの生成を停止するように前記補間工程を制御すると共に、前記補間フレームデータの代わりに前記各フレームデータを重複して読み出すように前記読み出し工程を制御する制御工程と、
を備えることを特徴とする画像処理方法。
【請求項1】
ビデオデータの各フレームデータを順次記憶するメモリと、
前記各フレームデータの間に挿入される補間フレームデータを生成し、前記メモリに格納する補間手段と、
前記各フレームデータ及び前記補間フレームデータを、前記ビデオデータのフレームレートよりも高いフレームレートで前記メモリから順次読み出す読み出し手段と、
前記各フレームデータに合成されるイメージデータを生成し、前記メモリに格納する生成手段と、
前記生成手段の出力に応じて、前記補間フレームデータの生成を停止するように前記補間手段を制御すると共に、前記補間フレームデータの代わりに前記各フレームデータを重複して読み出すように前記読み出し手段を制御する制御手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記制御手段は、前記イメージデータの画素数が予め定められた閾値以下の場合、前記補間フレームデータの生成を実行するように前記補間手段を制御する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記制御手段は、前記各フレームデータにおいて前記イメージデータが合成される領域以外の領域については、前記補間フレームデータの生成を実行するように前記補間手段を制御すると共に、前記各フレームデータにおいて前記イメージデータが合成される領域については、前記補間フレームデータの代わりに前記各フレームデータを重複して読み出すように前記読み出し手段を制御する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記制御手段は、前記各フレームデータにおいて前記イメージデータが合成される領域以外の領域、及び合成された前記イメージデータの透明度が予め定められた度合い以上の領域については、前記補間フレームデータの生成を実行するように前記補間手段を制御すると共に、合成された前記イメージデータの透明度が前記予め定められた度合い未満の領域については、前記補間フレームデータの代わりに前記各フレームデータを重複して読み出すように前記読み出し手段を制御する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記制御手段は、前記生成手段が前記メモリに対して送受信するデータ量が予め定められた閾値以下の場合、前記補間フレームデータの生成を実行するように前記補間手段を制御する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記制御手段は、前記補間フレームデータの生成を停止する代わりに、前記メモリに対するデータ転送量がより少ない他のアルゴリズムで前記補間フレームデータを生成するように前記補間手段を制御する
ことを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
ビデオデータの各フレームデータを順次記憶するメモリと、
第1のフォーマットの前記各フレームデータを、前記第1のフォーマットよりもデータ量が減少する第2のフォーマットに変換する第1の変換手段と、
前記各フレームデータの間に挿入される補間フレームデータを、前記第1のフォーマット、又は前記第2のフォーマットで生成し、前記メモリに格納する補間手段と、
前記第2のフォーマットの前記各フレームデータ及び前記補間フレームデータを、前記第1のフォーマットに変換する第2の変換手段と、
前記各フレームデータ及び前記補間フレームデータを、前記ビデオデータのフレームレートよりも高いフレームレートで前記メモリから順次読み出す読み出し手段と、
前記各フレームデータに合成されるイメージデータを生成し、前記メモリに格納する生成手段と、
前記生成手段の出力の応じて、前記各フレームデータを前記第1の変換手段により前記第2のフォーマットに変換してから記憶するように前記記憶手段を制御し、前記第2のフォーマットの補間フレームデータを生成するように前記補間手段を制御し、更に、前記読み出し手段による読み出しの前に前記第2のフォーマットの前記各フレームデータ及び前記補間フレームデータを前記第1のフォーマットに変換するように前記第2の変換手段を制御する制御手段と、
を備えることを特徴とする画像処理装置。
【請求項8】
前記イメージデータの画素数が予め定められた閾値以下の場合は、前記制御手段による制御は実行されないことを特徴とする請求項7に記載の画像処理装置。
【請求項9】
ビデオデータの各フレームデータを順次メモリに記憶する記憶工程と、
前記各フレームデータの間に挿入される補間フレームデータを生成し、前記メモリに生成する補間工程と、
前記各フレームデータ及び前記補間フレームデータを、前記ビデオデータのフレームレートよりも高いフレームレートで前記メモリから順次読み出す読み出し工程と、
前記各フレームデータに合成されるイメージデータを生成して前記メモリに格納する生成工程と、
前記生成工程での出力に応じて、前記補間フレームデータの生成を停止するように前記補間工程を制御すると共に、前記補間フレームデータの代わりに前記各フレームデータを重複して読み出すように前記読み出し工程を制御する制御工程と、
を備えることを特徴とする画像処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2008−228233(P2008−228233A)
【公開日】平成20年9月25日(2008.9.25)
【国際特許分類】
【出願番号】特願2007−67596(P2007−67596)
【出願日】平成19年3月15日(2007.3.15)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成20年9月25日(2008.9.25)
【国際特許分類】
【出願日】平成19年3月15日(2007.3.15)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]