JP2011199463A - プロジェクター - Google Patents

プロジェクター Download PDF

Info

Publication number
JP2011199463A
JP2011199463A JP2010062236A JP2010062236A JP2011199463A JP 2011199463 A JP2011199463 A JP 2011199463A JP 2010062236 A JP2010062236 A JP 2010062236A JP 2010062236 A JP2010062236 A JP 2010062236A JP 2011199463 A JP2011199463 A JP 2011199463A
Authority
JP
Japan
Prior art keywords
block
storage unit
main set
cache block
unit
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.)
Pending
Application number
JP2010062236A
Other languages
English (en)
Inventor
Akihiko Tamura
明彦 田村
Takashi Shindo
貴志 進藤
Makoto Eguchi
誠 江口
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2010062236A priority Critical patent/JP2011199463A/ja
Publication of JP2011199463A publication Critical patent/JP2011199463A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Projection Apparatus (AREA)
  • Liquid Crystal Display Device Control (AREA)
  • Transforming Electric Information Into Light Information (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

【課題】台形歪み補正処理の高速化を図る。
【解決手段】フレーム映像の入力映像データにおけるライン方向およびこれに交叉するピクセル方向にそれぞれM×N(M,N≧2)個の画素から成るブロック映像データを単位として、フレーム映像の入力映像データの一部を記憶するブロック映像記憶部を備えるプロジェクターであって、ブロック映像記憶部は、それぞれアドレス指定が可能であって、1画素分の入力映像データを記憶可能な独立メモリをK×L個含むサブセットを複数備え、補間ブロック映像データが、隣接するサブセットに跨って記憶されている場合に、補間ブロック映像データが記憶されている独立メモリの独立メモリ識別番号が重ならないように、サブセットを構成する独立メモリが配列される。
【選択図】図23

Description

この発明は、被投写面に映像を表示するプロジェクターに関する。
プロジェクターを用いてスクリーンなどの投写面に矩形の映像(以下、元映像ともいう)を表示させるとき、プロジェクターと投写面との相対的な位置関係によって、投写面に表示された映像(以下、投影映像ともいう)が台形、平行四辺形、それ以外の四角形等に歪む場合がある。このような台形歪み以外の射影歪みも含めて、本明細書では「台形歪み」と称する。このように投写映像に台形歪みが生じる場合には、射影変換の手法を利用して、投写映像が矩形に表示されるように補正する台形歪み補正の技術が用いられている。
特開2002−278507号公報 特開2003−29714号公報 特表2008−507028号公報
液晶パネルを利用して映像を表す映像光を生成するプロジェクターでは、台形歪み補正の際に、投写面上の投影映像に対し逆方向に歪ませた映像(以下、補正後映像ともいう)を、液晶パネル上で生成する。補正後映像の画素値は、元映像の画素値に基づいて、画素補間を行なうことによって求められる。補正後映像の1画素の画素値を求める場合には、例えば、補正後映像の画素に相当する元映像の座標を算出し、その周囲16画素を用いて画素補間を行う。すなわち、台形歪み補正処理では、大量の処理を行うため、その処理の高速化が望まれている。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
[適用例1] 被投写面上に映像を投写して表示するプロジェクターであって、
前記映像を表す映像光を生成して出力する映像光出力部と、
前記プロジェクターに入力される入力映像データを複数のラインで構成されるフレーム映像として記憶するフレーム映像記憶部と、
前記フレーム映像記憶部よりも小容量かつ高速な記憶部であって、前記フレーム映像記憶部に記憶されたフレーム映像の入力映像データにおけるライン方向およびこれに交叉するピクセル方向にそれぞれM×N(M,N≧2)個の画素から成るブロック映像データを単位として、前記フレーム映像の入力映像データの一部を記憶するブロック映像記憶部と、
前記被投写面上に投写される映像の歪みを補正する補正処理を、前記映像光出力部にて映像光を形成する1画素ごとに順次行う補正処理部であって、射影変換の変換手法を利用するとともに、前記ブロック映像記憶部に記憶された前記入力映像データに含まれる、前記ライン方向および前記ピクセル方向にK×L(2≦K≦M,2≦L≦N)個の画素から成る補間ブロック映像データに基づいて、補正後の映像データである補正後映像データを生成し、前記被投写面上に投写される映像を表す映像データとして、前記映像光出力部に出力する補正処理部と、
を備え、
前記ブロック映像記憶部は、
それぞれアドレス指定が可能であって、前記1画素分の前記入力映像データを記憶可能な複数の独立メモリを前記ライン方向および前記ピクセル方向に前記M×N個含むメインセットを単位として前記ライン方向および前記ピクセル方向にI×J(I,J≧2)個備え、
前記メインセットは、
前記独立メモリを前記ライン方向および前記ピクセル方向に前記K×L個含むサブセットを(M×N)/(K×L)個備え、
前記独立メモリのアドレス指定は、前記独立メモリを識別可能な独立メモリ識別番号と、前記サブセットを識別可能なサブセット識別番号とに基づいて行われ、
前記サブセットを構成する独立メモリは、それぞれ異なる独立メモリ識別番号を有し、
前記ピクセル方向に配置されるメインセットは、互いに異なる独立メモリ識別番号の組み合わせを有し、
前記補間ブロック映像データが、隣接するサブセットに跨って記憶されている場合に、前記補間ブロック映像データが記憶されている独立メモリの独立メモリ識別番号が重ならないように、前記サブセットを構成する独立メモリが配列され、
同一の独立メモリ識別番号を有する独立メモリは、前記サブセット識別番号により識別される、プロジェクター。
この構成によれば、ピクセル方向に配置されるメインセットは、互いに異なる独立メモリ識別番号の組み合わせを有するため、所定のメインセットからの補間ブロック映像データの読み出しと同時に、補間ブロック映像データが読み出されているメインセットと異なるメインセットにブロック映像データを書き込むことができる。また、補間ブロック映像データが、隣接するサブセットに跨って記憶されている場合に、前記補間ブロック映像データが記憶されている独立メモリの独立メモリ識別番号が重ならないように、前記サブセットを構成する独立メモリが配列されているため、K×L個の画素から成る補間ブロック映像データを同時に読み出すことができる。したがって、台形歪み補正処理の高速化を図ることができる。
[適用例2] 適用例1記載のプロジェクターにおいて、
前記メインセットが前記サブセットを2以上含む場合に、前記メインセットを構成する各サブセットは、独立メモリ識別番号の配列が同一の構成を有するとともに、互いに異なるサブセット識別番号を備えるプロジェクター。
このようにすると、上記適用例1と同様の効果を得ることができるブロック映像記憶部を、容易に構成することができる。
[適用例3] 適用例2記載のプロジェクターにおいて、
前記ブロック映像記憶部は、
前記ライン方向に隣接する2列のメインセット群を単位として、前記メインセット群を前記ライン方向にI/2個配列して構成され、
前記メインセット群に含まれる各メインセットは、互いに異なる独立メモリ識別番号の組み合わせを有し、
各メインセット群は、異なるサブセット識別番号を有するプロジェクター。
この構成によれば、補間ブロック映像データがメインセットのいかなる位置に配置されていても、所定のメインセットからの補間ブロック映像データの読み出しと同時に、補間ブロック映像データが読み出されているメインセットと異なるメインセットにブロック映像データを書き込むことができる。
[適用例4] 適用例2に記載のプロジェクターにおいて、
前記ブロック映像記憶部は、
前記ピクセル方向に隣接する1列のメインセットを含むメインセット群を単位として、前記メインセット群をライン方向にI個配列して構成され、
前記メインセット群に含まれる各メインセットは、互いに異なる独立メモリ識別番号の組み合わせを有し、
各メインセット群は、異なるサブセット識別番号を有するプロジェクター。
このようにしても、所定のメインセットからの補間ブロック映像データの読み出しと同時に、補間ブロック映像データが読み出されているメインセットと異なるメインセットにブロック映像データを書き込むことができる。
なお、本発明は、種々の態様で実現することが可能である。例えば、ブロック映像記憶装置を用いた射影変換処理装置、画像処理装置等の態様で実現することができる。
台形歪み補正を概念的に示す説明図である。 補正後映像データの作成方法を概念的に示す説明図である。 画素補間の方法を概念的に示す図である。 本発明の一実施例としてのプロジェクターの構成を概略的に示すブロック図である。 台形歪み補正部120の構成を示す機能ブロック図である。 補正後映像データ生成処理の流れを模式的に示す工程図である。 補正後映像の1画素の画素値の算出における各処理のタイミングを示すタイミング図である。 フレームバッファー150とキャッシュブロック記憶部122との関係を模式的に示す図である。 キャッシュブロック記憶部122とキャッシュブロック用タグ情報記憶部123との関係を概念的に示す図である。 キャッシュブロックと補間ブロックとの関係を示す図である。 先読みリクエスト発行部132における先読み判定を概念的に示す図である。 先読みによりキャッシュブロック記憶部122に格納されるキャッシュブロックの変化を示す図である。 キャッシュブロック記憶部122に格納されているキャッシュブロックの一例を示す説明図である。 タグ情報を用いたヒット判定の例を示す説明図である。 ヒット判定処理の工程を模式的に示す工程図である。 ヒット判定処理の工程を模式的に示す工程図である。 キャッシュブロック記憶部122の構成を模式的に示す模式図である。 メインセットP0の構成を模式的に示す模式図である。 メインセットQ0の構成を模式的に示す模式図である。 メインセットP1の構成を模式的に示す模式図である。 メインセットQ1の構成を模式的に示す模式図である。 キャッシュブロック記憶部122のRAM構成と読み出される補間ブロックとの関係を示す説明図である。 キャッシュブロック記憶部122のメインセット群0のRAM構成と読み出し中の補間ブロックhとの関係を示す説明図である。 第2の実施例におけるキャッシュブロック記憶部122Aの構成を模式的に示す模式図である。 キャッシュブロック記憶部122Aのメインセット群0のRAM構成と読み出し中の補間ブロックhとの関係を示す説明図である。 第1の実施例のキャッシュブロック記憶部122のメインセット群0,1のRAM構成と読み出し中の補間ブロックhとの関係を示す説明図である。 第3の実施例のキャッシュブロック記憶部122BのRAM構成と読み出される補間ブロックとの関係を示す説明図である。 キャッシュブロック記憶部122Bのメインセット群0,1のRAM構成と読み出し中の補間ブロックhとの関係を示す説明図である。
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1の実施例:
A−1.台形歪み補正:
A−2.プロジェクターの構成:
A−3.台形歪み補正部:
A−4.先読み判定:
A−5.ヒット判定:
A−6.キャッシュブロック記憶部の構成
A−7.実施例の効果:
B.第2の実施例:
C.第3の実施例:
D.変形例:
A.第1の実施例:
A−1.台形歪み補正:
本発明の一実施例としてのプロジェクター100は、映像を表す映像光を投写して、スクリーンSCなどの被投写面上に映像を表示させる。プロジェクター100は、矩形の映像が入力された場合に、スクリーンSC上に表示される映像の台形歪みを補正して、矩形の映像を表示させることが可能なプロジェクターである。プロジェクター100の構成の説明に先立って、本実施例のプロジェクター100における台形歪み補正について、簡単に説明する。
図1は、台形歪み補正を概念的に示す説明図である。図示するように、プロジェクター100が、スクリーンSCに対して、水平方向(左右方向)および垂直方向(上下方向)に、それぞれ傾きを有して配置された場合、液晶パネル部192に表示されている映像(補正前映像IG0)は矩形であるのに対し、スクリーンSCに投写される映像PIG0は、水平方向および垂直方向のそれぞれに台形歪みを生じる。なお、図1では、説明の便を図って、プロジェクター100内に含まれる液晶パネル部192を、プロジェクター100外に出して表示している。
そこで、射影変換の手法を利用して、スクリーンSCに投写される映像と逆方向に歪ませた映像(補正後映像IG1)を液晶パネル部192上に形成させると、スクリーンSC上に矩形の映像PIG1が表示される(図1)。このように、台形歪みを生じた映像を、矩形(本来表示されるべき映像の形状)に見せるための補正を、台形歪み補正という。本実施例における台形歪み補正処理が、請求項における補正処理に相当する。
図2は、補正後映像データの作成方法を概念的に示す説明図である。図2(a)は、補正前映像IG0を、(b)は、補正後映像IG1を示している。図2(b)における破線は、補正前映像IG0の外形を示している。補正前映像IG0は、液晶パネル部192のフレーム一杯に表示されるように映像処理を施されているため、図2(b)における破線は、すなわち、液晶パネル部192のフレームを示している。
本実施例において、補正前映像IG0、補正後映像IG1の座標とは、補正前映像IG0、補正後映像IG1が液晶パネル部192に表示された場合の、画素座標をいう。以下、補正後映像IG1が表示されている場合の液晶パネル部192の画素座標を、補正後座標という。なお、液晶パネル部192の画素座標のうち、補正後映像IG1が表示されていない領域の画素座標も、補正後座標を用いて呼ぶ。補正後座標を、逆射影変換により補正前映像IG0における座標位置(液晶パネルの画素座標)に変換した座標を、補正前座標という。
補正後映像IG1を表す補正後映像データの作成方法の概要について、図2に基づいて説明する。補正後映像データを作成するには、補正後映像IG1を構成する全ての画素座標の画素値(R,G,Bの各値)を、補正前映像IG0の画素値に基づいて求める。例えば、図2に示す補正後映像IG1の真ん中の四角で囲まれた座標P1(X,Y)の画素値を求める方法について説明する。
まず、画素値を求めたい補正後座標P1(X,Y)を補正前座標P0(x,y)に変換する。補正前映像IG0と補正後映像IG1とは、整数倍の対応関係とはなっていないため、算出された補正前座標P0(x,y)は、小数を含んでいる。そのため、補正後座標P1(X,Y)の画素値を求めるには、補正前座標P0(x,y)の近傍の16座標の画素値を用いて、補正前座標P0(x,y)の画素値を推定する。これを、画素補間という。したがって、変換された補正前座標P0(x,y)に基づいて、近傍の画素ブロックを読み出し、フィルター係数を用いて画素補間を行う。これにより、補正後映像IG1の座標P1(X,Y)の画素値が求められる。すなわち、補正後映像IG1を表す補正後映像データは、補正後映像IG1を構成する全ての画素(座標)の画素値を、1画素ごとに、上記の画素補間を行うことによって作成される。
図3は、画素補間の方法を概念的に示す図である。図3では、上記した補正後座標P1(X,Y)を変換した補正前座標P0(x,y)の画素値を画素補間により求める方法を例示している。図中、補正前座標P0(x,y)を、ハッチングを付した丸印で示し、その周辺16座標を白丸印で示している。補正前座標P0(x,y)の画素値は画素補間によって求められるため、補正前座標P0(x,y)の画素値を「補間画素」、周辺16座標の画素値は、補正前映像データであり既知であるため「既知画素」とも称する。
図3では、既知画素である16画素の画素値を、DATA[m][n](m=0,1,2,3(x方向);n=0,1,2,3(y方向))と示している。補間画素は、この16画素の画素値とフィルター係数との畳み込み演算により求められる。フィルター係数は、補間画素と既知画素との距離(例えば、DATA[1][1]の既知画素と補間画素との距離は、x方向にdx、y方向にdyである)による影響を考慮した係数であり、既知画素ごとに定められる。図3では、フィルター係数は、COEF[m][n](m=0,1,2,3(x方向);n=0,1,2,3(y方向))と示している。なお、本実施例において、2次元のフィルター係数を用いているが、フィルター係数を1次元に分解してもよい。
A−2.プロジェクターの構成:
図4は、本発明の一実施例としてのプロジェクターの構成を概略的に示すブロック図である。図示するように、プロジェクター100は、映像入力部110と、IP変換部112と、解像度変換部114と、映像合成部116と、台形歪み補正部120と、液晶パネル駆動部140と、フレームバッファー150と、高速バス制御部160と、低速バス制御部162と、プロセッサー部170と、撮像部180と、センサー部182と、照明光学系190と、液晶パネル部192と、投写光学系194と、を中心に構成されている。上記した構成要素のうち、照明光学系190、液晶パネル部192、投写光学系194を除く各構成要素は、高速バス102または低速バス104を介して互いに接続されている。本実施例における台形歪み補正部120が請求項における台形歪み補正装置に相当する。
映像入力部110は、図示しないDVDプレーヤーやパーソナルコンピューターなどからケーブルを介して入力された入力映像信号に対して、必要によりA/D変換を行い、デジタル映像信号をIP変換部112に供給する。
IP変換部112は、映像入力部110から供給された映像データのフォーマットを、インタレース方式からプログレッシブ方式に変換する処理を実行し、得られた映像データを解像度変換部114に供給する。
解像度変換部114は、IP変換部112から供給された映像データに対して、サイズの拡大処理または縮小処理(すなわち、解像度変換処理)を施し、得られた映像データを、映像合成部116に供給する。
映像合成部116は、解像度変換部114から供給された映像データとメニュー画面などのOSD(On Screen Display)とを合成して、フレームバッファー150に、補正前映像データとして書き込む。
フレームバッファー150は、1フレームまたは複数フレームのデータを格納できる。本実施例では、フレームバッファー150として、安価で大容量なDRAM(Dynamic Random Access Memory)を用いている。本実施例におけるフレームバッファー150が請求項におけるフレーム映像記憶部に相当する。
台形歪み補正部120は、スクリーンSCに対してプロジェクター100の投写軸を傾けた状態で投写した場合に生じる台形歪みを補正する。具体的には、フレームバッファー150に格納されている補正前映像データが表す補正前映像を、台形歪みを補償する形状で液晶パネル部192に表示させるため、補正前映像データに対して補正処理を施し、補正後映像データとして、液晶パネル駆動部140に供給する。台形歪み補正部120については、後に詳述する。
液晶パネル駆動部140は、台形歪み補正部120を経て入力されたデジタル映像信号に基づいて、液晶パネル部192を駆動する。液晶パネル部192は、複数の画素をマトリクス状に配置した透過型液晶パネルにより構成される。液晶パネル部192は、液晶パネル駆動部140によって駆動され、マトリクス状に配置された各画素における光の透過率を変化させることにより、照明光学系152から照射された照明光を、映像を表す有効な映像光へと変調するための映像を形成する。本実施例において、液晶パネル部192のモードはWUXGAであり、解像度は1920×1200ドットである。本実施例では、液晶パネル画素座標を、x=0〜1919、y=0〜1199と規定している。なお、液晶パネル部192は、本実施例と異なる解像度のものを用いてもよい。
照明光学系152は、例えば、高圧水銀ランプ、超高圧水銀ランプ等のランプ類や、その他の発光体を備えて構成される。投写光学系194は、プロジェクター100の筐体の前面に取り付けられており、液晶パネル部192によって映像光へと変調された光を拡大して、スクリーンSCに投写する。投写光学系194はズームレンズ(図示せず)を備え、液晶パネル部192を透過した光を投写する際の拡大の程度(ズーム状態)を変化させることができる。本実施例における液晶パネル駆動部140、液晶パネル部192、照明光学系190、投写光学系194が、請求項における映像光出力部に相当する。
プロセッサー部170は、記憶部(図示しない)に記憶された制御プログラムを読み出して実行することにより、プロジェクター100内の各部の動作を制御する。また、撮像部180により撮像された撮影画像や、センサー部182により検出されるプロジェクター100の傾きや、ユーザからの指示に基づいて、後述する補正後座標(X0〜X3、Y0〜Y3)(図2参照)、座標変換行列の変換係数(後に詳述する)を算出し、台形歪み補正部120に出力する。なお、本実施例において、プロセッサー部170は、ユーザからの指示をプロジェクター100本体に設けられた操作パネル(図示しない)を通じて受け取る構成にしているが、例えば、リモコンを通じたユーザからの指示をリモコン制御部が受信して、低速バス104を介してプロセッサー部170がユーザからの指示を受信する構成にしてもよい。
撮像部180は、CCDカメラを有しており、撮影映像を生成する。撮像部180により生成された撮影映像は、図示せざる撮影映像メモリ内に格納される。なお、撮像部180は、CCDカメラの代わりに他の撮像デバイスを有することも可能である。
センサー部182は、プロジェクター100の鉛直方向からの傾きを検出することにより、撮像部180のCCD光軸が水平面となす傾き角度を検出することができる。
A−3.台形歪み補正部:
台形歪み補正部120は、上記したように、フレームバッファー150に格納されている補正前映像データが表す補正前映像を、台形歪みを補償する形状に補正した補正後映像データを生成する。図5は、台形歪み補正部120の構成を示す機能ブロック図である。台形歪み補正部120は、キャッシュブロック制御部121と、キャッシュブロック記憶部122と、キャッシュブロック用タグ情報記憶部123と、補間ブロック読み出し部124と、画素補間部125と、FIFO部126と、レジスター部127と、制御部128と、座標変換部129と、フィルター係数算出部130と、ヒット判定部131と、先読みリクエスト発行部132と、を中心に構成される。
キャッシュブロック制御部121は、フレームバッファー150に格納されている補正前映像データを、8×8画素からなる画素ブロック単位で取得してキャッシュブロック記憶部122に格納する。なお、以下の説明では、この8×8画素からなる画素のブロックを「キャッシュブロック」と称する。また、キャッシュブロック制御部121は、キャッシュブロック用タグ情報記憶部123に格納されているタグ情報を更新する。キャッシュブロック制御部121が取得するキャッシュブロックは、後述するように、ヒット判定部131またはリクエスト発行部132によって指定される。
キャッシュブロック記憶部122は、フレームバッファー150に格納されている1フレーム分の補正前映像データの一部のデータが、8×8画素からなるキャッシュブロック単位で格納できる。キャッシュブロック記憶部122は、1つのキャッシュブロック(8×8画素からなる映像データ)を格納できるブロック領域を複数備える。本実施例では、後に詳述するように、キャッシュブロック記憶部122は240列×4行のブロック領域を備える。本実施例において、キャッシュブロック記憶部122は、小容量で高速なSRAM(Static Random Access Memory)で構成され、当該SRAMは、後に詳述するように、1ポートのRAMを用いて、読み出しと書き込みとを同時に行うことができる構成を実現している。本実施例におけるキャッシュブロック記憶部122が請求項におけるブロック映像記憶部に相当する。また、本実施例における8×8画素からなるキャッシュブロックが、請求項におけるM×N(M,N≧2)個の画素から成るブロック映像データに相当する。すなわち、本実施例において、M=8,N=8である。
キャッシュブロック用タグ情報記憶部123は、キャッシュブロック記憶部122をブロック領域単位で管理する際の管理情報であるタグ情報を格納する。
補間ブロック読み出し部124は、画素補間部125における画素補間に必要な4×4画素からなる補間ブロックを、キャッシュブロック記憶部122から読み出して、画素補間部125に供給する。本実施例における4×4画素からなる補間ブロックが、請求項におけるK×L(2≦K≦M,2≦L≦N)個の画素から成る補間ブロック映像データに相当する。すなわち、本実施例において、K=4,L=4である。
画素補間部125は、補間ブロック読み出し部124から供給される補間ブロックと、フィルター係数算出部130から供給されるフィルター係数とに基づいて画素補間処理を実行し、補間画素(補正後映像の画素)の値を求めて、FIFO部126を介して液晶パネル駆動部140(図4)に出力する。
レジスター部127は、プロセッサー部170から供給されるパラメーターを格納する。具体的には、レジスター部127には、補正前映像の1フレームのフレーム幅、フレーム高さ、座標変換行列の変換係数A〜Hなどのパラメーターが格納される。変換係数A〜Hは、プロセッサー部170において、下記の射影変換の行列式(式1)を用いて算出される。具体的には、プロセッサー部170は、補正前座標(x0〜x3、y0〜y3)(図2参照)が射影変換により、補正後座標(X0〜X3、Y0〜Y3)(図2参照)に変換されたものとして、その補正後映像IG1の4つの座標(X0〜X3、Y0〜Y3)を、行列式(式1)に入力して、係数A〜Hを導出する。
Figure 2011199463
本実施例では、補正後映像データの生成処理が開始される前に、台形歪み補正前にスクリーンSCに表示されている映像PIG0を、撮像部180で撮像する。プロセッサー部170(図4)は、撮像した映像に基づいて、台形歪み補正後の補正後映像IG1における4つの頂点の座標(X0〜X3、Y0〜Y3)(図2(b))を求めている。
なお、センサー部182によって、プロジェクター100の鉛直方向からの傾きを検出して、検出された角度に基づいて、補正後座標(X0〜X3、Y0〜Y3)を求めるようにしてもよい。また、ユーザがリモコンを操作して、手動で台形歪み補正を行うようにしてもよい。そのような場合には、プロセッサー部170は、リモコン制御部を介して受け取った、ユーザからの指示に基づいて、補正後座標(X0〜X3、Y0〜Y3)を求める。
制御部128は、台形歪み補正部120全般の制御を行う。例えば、制御部128に入力される同期信号に従って、フレームの始まりを示すフレームスタート信号を座標変換部129に対して出力する。同期信号は、例えば、1秒間に60フレーム表示される場合には、1/60秒毎に入力される。
座標変換部129は、レジスター部127から供給される座標変換係数A〜Hと、以下の(式2)、(式3)を用いて、台形歪み補正を行った後の補正後映像IG1の座標値(補正後座標)を、補正前映像IG0(矩形の映像)の座標値(補正前座標)に変換する。補正前映像IG0と補正後映像IG1とは、整数倍の対応関係とはなっていないため、座標変換部129にて算出された補正前座標は、小数を含んでいる。座標変換部129は、補正前座標を、整数部と小数部に分けて、整数部をヒット判定部131および先読みリクエスト発行部132に供給し、小数部をフィルター係数算出部130に供給する。
ここで、上記した補正前座標の算出方法について説明する。補正後映像IG1は、補正前映像IG0を射影変換することにより得られた映像であると考えられるため、補正前座標は、補正後座標について、下記の(式2)、(式3)に基づいて、逆射影変換することによって算出される。補正前座標(x,y)が射影変換により補正後座標(X,Y)に変換されたものとする。
Figure 2011199463
Figure 2011199463
上記(式2)、(式3)中の係数A〜Hは、レジスター部127に記憶されている。
フィルター係数算出部130は、座標変換部129から供給される小数部に基づいて、画素補間処理を実行する際に用いられるフィルター係数を、フィルター係数テーブルより選択して、選択されたフィルター係数を画素補間部125に供給する。フィルター係数テーブルは、図3に示す補間画素と既知画素との距離とフィルター係数との関係を示すテーブルであり、予め算出された結果がフィルター係数算出部130の備えるメモリに格納されている。本実施例における画素補間部125、座標変換部129、フィルター係数算出部130が請求項における補正処理部に相当する。
ヒット判定部131は、座標変換部129から供給された補正前座標の整数部に基づいて、画素補間部125における画素補間に用いられる座標の画素値がキャッシュブロック記憶部122に格納されているか否かを判定する。以下、この判定を「ヒット判定」と称する。ヒット判定の結果、キャッシュブロック記憶部122に画素補間に必要な画素値が格納されていない場合には、キャッシュブロック制御部121に対して、必要なキャッシュブロックの取得要求を出す。ヒット判定の結果、キャッシュブロック記憶部122に画素補間に必要な画素値が格納されている場合には、補間ブロック読み出し部124に対してキャッシュブロック記憶部122における読み出し位置を供給する。ヒット判定の処理の流れについては、後述する。
先読みリクエスト発行部132は、座標変換部129に供給された補正前座標の整数部に基づいて、その後の画素補間処理に必要になるキャッシュブロックを予測して、そのキャッシュブロックを、フレームバッファー150から読み込んでキャッシュブロック記憶部122に格納させる。具体的な処理については、後述する。なお、上記したキャッシュブロックの予測を、「先読み判定」とも称する。
図6は、補正後映像データ生成処理の流れを模式的に示す工程図である。座標変換部129(図5)はフレームスタート信号が入力されたか否かを判断する(ステップS102)。座標変換部129は、フレームスタート信号が入力されるまでは待機して(ステップS102においてNO)、フレームスタート信号が入力されると (ステップS102においてYES)、上記したように、補正後映像の座標(補正後座標)を座標変換して補正前座標を求める(ステップS104)。
座標変換部129が算出した補正前座標の整数部に基づいて、ヒット判定部131(図5)が補間ブロックの読み出し位置を補間ブロック読み出し部124に供給すると、補間ブロック読み出し部124(図5)は、供給された読み出し位置に基づいて補間ブロックをキャッシュブロック記憶部122から読み出す(ステップS106)。一方、フィルター係数算出部130(図5)は、ステップS104で求められた補正前座標の小数部に基づいて、フィルター係数テーブルからフィルター係数を選択する。ヒット判定部131および補間ブロック読み出し部124におけるブロックリード処理と、フィルター係数算出部130におけるフィルター係数算出処理とは並列に行われ、両処理が終了すると、ステップS110の処理に進む。
画素補間部125(図5)は、補間ブロック読み出し部124から補間ブロックが供給され、フィルター係数算出部130からフィルター係数が供給されると、供給された補間ブロックとフィルター係数とを用いて、畳み込み演算により、補正後座標の画素値を算出する(ステップS110)。
以上のステップS104〜ステップS110を、補正後座標(X,Y)=(0,0)〜(フレーム幅−1,フレーム高さ−1)まで繰り返して行うことにより、補正後映像データが生成される。本実施例では、フレーム幅1920、フレーム高さ1200であるため、補正後座標(X,Y)=(0,0)〜(1919,1199)まで、ステップS104〜ステップS110を繰り返して行う。なお、フレーム幅、フレーム高さが本実施例と異なる場合には、ステップS104〜ステップS110を、補正後座標(X,Y)=(0,0)〜(フレーム幅−1,フレーム高さ−1)まで繰り返して行うことにより、補正後映像データが生成される。
図7は、補正後映像の1画素の画素値の算出における各処理のタイミングを示すタイミング図である。制御部128がフレームスタート信号を出力して座標変換部129が受信すると、座標変換部129は、座標変換処理を開始する。座標変換部129における座標変換処理が終了する(補正前座標が算出される)と、フィルター係数算出部130がフィルター係数の算出処理を開始するとともに、ヒット判定部131がヒット判定のためのタグ情報の読み出し処理を開始する。
ヒット判定部131におけるヒット判定の結果、読み出されるべき補間ブロックがキャッシュブロック記憶部122に格納されていない場合には、ヒット判定部は目的の補間ブロックを含むキャッシュブロックがキャッシュブロック記憶部122に格納されるのを待つ(以下、「ブロックライト待ち」と称する)。
また、フィルター係数算出処理およびタグ情報の読み出し処理と同時に、先読みリクエスト発行部132が、先読みリクエストの要否を判定し、必要であれば、先読みリクエストを発行する。キャッシュブロック制御部121は、ヒット判定部131または先読みリクエスト発行部132からキャッシュブロックの読み出し要求が発行されたら、フレームバッファー150からキャッシュブロックを読み出して、キャッシュブロック記憶部122に格納する。目的の補間ブロックを含むキャッシュブロックがキャッシュブロック記憶部122に格納され、ヒット判定部131によりヒット判定がなされると、補間ブロック読み出し部124は補間ブロックを読み出す。
フィルター係数算出部130におけるフィルター係数の算出および補間ブロックの読み出しが終了すると、画素補間部125は画素補間を開始する。図7において、実線の枠は処理時間が固定、破線の枠は処理時間が可変であることを表す。なお、図7における枠の長さは処理の長さを表すものではない。本実施例では、先読みリクエストを行うことにより、ヒット判定部におけるブロックライト待ちの時間を短くしている。
A−4.先読み判定:
先読みリクエスト発行部132における先読み判定についての説明に先立って、本実施例におけるフレームバッファー150、キャッシュブロック記憶部122およびキャッシュブロック用タグ情報記憶部123の関係と、キャッシュブロックと補間ブロックとの関係について詳細に説明する。
図8は、フレームバッファー150とキャッシュブロック記憶部122との関係を模式的に示す図である。図8では、フレームバッファー150に格納されている1フレーム分の補正前映像データを、8×8画素からなるキャッシュブロック単位に分割した状態を示している。本実施例において、フレームバッファー150に格納されている補正前映像データは、1920×1200画素によって構成されており、このような補正前映像データが240×150個のキャッシュブロックに分割されている。各キャッシュブロック内に記載されている文字列(x,y)は、そのキャッシュブロックのx方向およびy方向の位置(列番号,行番号)を示している。本実施例において、列が並んでいる方向をx方向、行方向行が並んでいる方向をy方向としている。本実施例におけるx方向が請求項におけるライン方向、y方向が請求項におけるピクセル方向に、それぞれ相当する。
キャッシュブロック記憶部122は、1つのキャッシュブロックを格納できるブロック領域を、240列×4行個備える。図8では、各ブロック領域を識別するために、(列(0〜239),行(0〜3))の番号を付している。キャッシュブロック記憶部122には、フレームバッファー150に格納されている1フレーム分の補正前映像データの一部のデータが、240×4個格納できる。
本実施例では、台形歪み補正処理が開始される際に、フレームバッファー150から(0,0)〜(239,3)のキャッシュブロックが読み出され、キャッシュブロック記憶部122に格納される。キャッシュブロックは、キャッシュブロック記憶部122において、各キャッシュブロックの列番号と同一の列番号のブロック領域に格納される。したがって、台形歪み補正処理が開始される際には、キャッシュブロック記憶部122の各ブロック領域には、ブロック領域の列番号、行番号と同一の列番号、行番号を有するキャッシュブロックが格納される(図8)。すなわち、キャッシュブロック記憶部122の幅はフレームバッファー150の幅と同じであり、キャッシュブロック記憶部122の高さは、4キャッシュブロック分であり、キャッシュブロック記憶部122には、1フレームの32ライン(4キャッシュブロック×8px)分の画素データが格納されている。キャッシュブロック記憶部122において、キャッシュブロックがフレームバッファー150の列番号の順に、順次格納されているため、後述するx方向のヒット判定検索を高速に行うことができる。
キャッシュブロック用タグ情報記憶部123は、キャッシュブロック記憶部122をブロック領域単位で管理する際の管理情報であるタグ情報を格納する。図9は、キャッシュブロック記憶部122とキャッシュブロック用タグ情報記憶部123との関係を概念的に示す図である。図示するように、キャッシュブロック用タグ情報記憶部123には、キャッシュブロック記憶部122の240×4個のブロック領域に対応させて240×4個のタグ情報が格納されている。
具体的には、タグ情報として、(1)フレームバッファー150からキャッシュブロック記憶部122への書き込み待ちか否かを示す情報(書き込み待ちの場合WRITING=1)、(2)ブロック領域のデータが有効か無効かを示す情報(有効の場合VALID=1、無効の場合VALID=0)、及び(3)ブロック領域に格納されているキャッシュブロックがフレームバッファー150のどの位置のブロックかを示す座標Y_ADRが格納されている。(1)の座標Y_ADRは、キャッシュブロックの左上端の画素のフレームバッファー150におけるy座標を1/8にした情報を保持する。本実施例では、図8に示す行番号を座標Y_ADRとする。(2)において、有効とは、座標Y_ADRのキャッシュブロックがキャッシュブロック記憶部122に格納されていること、無効とは座標Y_ADRのキャッシュブロックがキャッシュブロック記憶部122に格納されていないことを示す。本実施例において、台形歪み補正処理開始の際に、(0,0)〜(239,3)のキャッシュブロックがキャッシュブロック記憶部122に格納される前は、すべのタグ情報において、「無効(VALID=0」となっている。
図10は、キャッシュブロックと補間ブロックとの関係を示す図である。図10において、補間ブロックを斜線ハッチングを付して図示している。本実施例において、キャッシュブロックは8×8画素からなり、補間ブロックは4×4画素からなるため、補間ブロックは、キャッシュブロックの一部となる。
補間ブロックは、(1)1つのキャッシュブロックに含まれる場合、(2)y方向に隣接する2つのキャッシュブロックに跨る場合、(3)x方向に隣接する2つのキャッシュブロックに跨る場合、(4)2行×2列の4つのキャッシュブロックに跨る場合がある。図10では、(4)2行×2列の4つのキャッシュブロックに跨る場合が例示されている。
後述するように、キャッシュブロック記憶部122に格納されるキャッシュブロックは、台形歪み補正処理の進行にしたがって、更新される。したがって、台形歪み補正処理の途中では、図10に示すように、キャッシュブロック記憶部122に格納されるキャッシュブロックが、フレームバッファー150の図示したような位置のキャッシュブロックになっている。画素補間に必要な補間ブロックは、後述するように、ヒット判定部131から供給される位置情報に基づいて読み出される。
図11は、先読みリクエスト発行部132における先読み判定を概念的に示す図である。図11において、補正前映像データのキャッシュブロック(n,m),キャッシュブロック(n,m+1),キャッシュブロック(n,m+2),キャッシュブロック(n,m+3)が、キャッシュブロック記憶部122のブロック領域(n,0),ブロック領域(n,1),ブロック領域(n,2),ブロック領域(n,3)に格納されているものとする。
先読みリクエストの条件は、先読みリクエスト発行部132に入力された補正前座標の整数部Int(x,y)が、キャッシュブロック記憶部122に格納されている同一列のキャッシュブロックのうち、行番号が一番大きいキャッシュブロックに入ったことである。先読みリクエストが発行されると、当該行番号が一番大きいキャッシュブロックより1つ行番号が大きいキャッシュブロックが読み出され、キャッシュブロック記憶部122に格納されているキャッシュブロックのうち、行番号が一番小さいキャッシュブロックが格納されている領域に上書きされる。
例えば、図11の例の場合、先読みリクエスト発行部132に入力された補正前座標の整数部Int(x、y)は、キャッシュブロック(n,m+3)に入っている。キャッシュブロック記憶部122に格納されているn列のキャッシュブロックのうち、キャッシュブロック(n,m+3)は行番号が一番大きいキャッシュブロックであるため、次のキャッシュブロック(n,m+4)が読み出される(先読みされる)。そして、キャッシュブロック記憶部122に格納されているn列のキャッシュブロックのうち行番号が一番小さいキャッシュブロック(n,m)が格納されているブロック領域(n,0)に、先読みしたキャッシュブロック(n,m+4)が上書きされる。
上記の通り先読みリクエストの条件を定めたのは、以下の理由による。通常、台形歪み補正において、補正後座標を補正前座標に変換する座標変換では、回転、反転等がない場合には、図2に示すように、補正前映像の上方から下方へと画素補間に必要な補間ブロックは移動する。すなわち、x座標を固定してみると、y座標が小さい補間ブロックからy座標が大きい補間ブロックへと移動する。そのため、座標変換部129から先読みリクエスト発行部132に供給された補正前座標の整数部が、キャッシュブロック記憶部122に格納されているキャッシュブロックのうち、行番号が一番大きいブロックに入った場合には、次に先読みリクエスト発行部132に供給される補正前座標の整数部が入るブロックがない可能性がある。したがって、そのような場合には、その次のキャッシュブロックを読み出してキャッシュブロック記憶部122に格納することにより、その問題が解消されるからである。
ただし、キャッシュブロック記憶部122には、同一列について4ブロックしか格納できないため、その後の画素補間に使用される可能性の一番低い、行番号が一番小さいキャッシュブロックが格納されている領域に、先読みしたキャッシュブロックを格納する。
先読みリクエストの条件を満たす場合、リクエスト発行部132は、先読みリクエストを、キャッシュブロック制御部121に対して発行する。先読みリクエストは、先読みをするブロックのフレームバッファー150における座標、すなわちキャッシュブロックの行番号と列番号、およびキャッシュブロックを保存するキャッシュブロック記憶部122の座標位置、すなわちブロック領域の行番号と列番号を含む。また、先読みリクエスト発行部132は、先読みリクエストを発行するとともに、指定したブロック領域に対応するタグ情報を更新する。具体的には、WRITING=1とし、Y_ADRを先読みするキャッシュブロックの座標(行番号)に設定する。
キャッシュブロック制御部121は、先読みリクエストに基づいて、フレームバッファー150から、指定された座標位置(列,行)のキャッシュブロックを読み出し、指定されたブロック領域(列,行)に読み出したキャッシュブロックを格納させる。キャッシュブロック記憶部122に指定されたキャッシュブロックが格納されると、先読みリクエスト発行部132は、キャッシュブロック用タグ情報記憶部123の該当するタグ情報を、VALID=1、WRITING=0に更新する。
図12は、先読みによりキャッシュブロック記憶部122に格納されるキャッシュブロックの変化を示す図である。図12では、キャッシュブロック記憶部122における第2列に格納されているキャッシュブロックを例示している。図12では、先読みリクエスト発行部132に入力された補正前座標の整数部Int(x,y)との関係の理解を考慮して、キャッシュブロックを、左上端の画素の補正前映像における座標を用いて識別する。例えば、左上端の画素の補正前映像における座標が(16,0)のキャッシュブロックを、キャッシュブロック(16,0)と称する。
図12(a)では、台形歪み補正処理開始時に格納されたキャッシュブロックが図示されている。すなわち、ブロック領域(2,0)にはキャッシュブロック(16,0)、ブロック領域(2,1)にはキャッシュブロック(16,8)、ブロック領域(2,2)にはキャッシュブロック(16,16)、ブロック領域(2,3)にはキャッシュブロック(16,24)が格納されている。先読みリクエスト発行部132に入力された補正前座標の整数部Int(x、y)が、キャッシュブロック(16,24)に入った場合、すなわち、入力されたy座標の整数部が24〜31だった場合、先読みリクエストが発行されて、キャッシュブロック(16,32)が読み出される。そして、キャッシュブロック記憶部122の第2列に格納されているキャッシュブロックのうち、y座標が一番小さいキャッシュブロック(16,0)が格納されているブロック領域(2,0)に、読み出されたキャッシュブロック(16,32)が上書きされる(図12(a),(b))。
その後、先読みリクエスト発行部132に入力された補正前座標の整数部Int(x,y)が、キャッシュブロック(16,32)に入った場合、すなわち、入力されたy座標の整数部が32〜39だった場合、先読みリクエストが発行されて、キャッシュブロック(16,40)が読み出される。そして、キャッシュブロック記憶部122の第2列に格納されているキャッシュブロックのうち、y座標が一番小さいキャッシュブロック(16,8)が格納されているブロック領域(2,1)に、読み出されたキャッシュブロック(16,40)が上書きされる(図12(b),(c))。
図13は、キャッシュブロック記憶部122に格納されているキャッシュブロックの一例を示す説明図である。図13では、キャッシュブロック記憶部122に格納されているキャッシュブロックのうち、一例として、第2列に格納されているキャッシュブロックとフレームバッファー150の座標との関係を示している。キャッシュブロック記憶部122を示す図において、0,8,16,32,・・・,1896,1904,1912と記載されている番号は、キャッシュブロック記憶部122に格納されているキャッシュブロックの左上端の画素の補正前映像におけるx座標、すなわち、フレームバッファー150におけるx座標を示す。
図13では、図12における(b)から(c)への移行途中が図示されている。ブロック領域(2,0)にはキャッシュブロック(16,32)のデータが格納され、ブロック領域(2,1)にはキャッシュブロック(16,40)のデータが書き込み中であり、ブロック領域(2,2)にはキャッシュブロック(16,16)が格納され、ブロック領域(2,3)にはキャッシュブロック(16,24)が格納されている。
以上説明した先読み判定は、1フレームごとに行う構成にしてもよいし、1フレーム分先読み判定を行った結果を利用して(学習して)、後のフレームについて先読みリクエストを行う構成にしてもよい。さらに、台形歪補正量(角度等)と先読みとの関係を予めシミュレーションして記憶させておき、シミュレーションにしたがって先読みを行う構成にしてもよい。
A−5.ヒット判定:
図14は、タグ情報を用いたヒット判定の例を示す説明図である。図14では、図13に示したキャッシュブロック記憶部122に格納されているキャッシュブロックに対応するタグ情報が例示されている。すなわち、キャッシュブロック用タグ情報記憶部123の2列0行には、キャッシュブロック記憶部122におけるブロック領域(2,0)に関するタグ情報が格納されている。画素補間に用いる16画素を、(x[0],y[0]),(x[1],y[1]),(x[2],y[2]),・・・,(x[15],y[15])とした場合に、ヒット判定は、(x[0],y[0])から順に、1画素ずつ行う。例えば、(x[0],y[0])=(16,40)である場合のヒット判定について、図14に基づいて説明する。
(x[0],y[0])=(16,40)が含まれるキャッシュブロックがキャッシュブロック記憶部122に格納されているか否か判定する場合、まず、ヒット判定部131は、キャッシュブロック用タグ情報記憶部123から該当する列のタグを抽出する。1つのキャッシュブロックは、8×8画素から成るため、画素補間に用いる画素のx座標を8で割ることにより、該当する列がわかる。(x[0],y[0])=(16,40)は第2列に該当するため、第2列のタグを抽出する。
図14において、抽出されたタグの情報が、紙面右側に記載されている。タグの行番号が小さい順にヒット判定を行う。以下、タグ情報を、TAG[行番号]で表す。TAG[0]は、WRITING=0,VALID=1,Y_ADR=4である。WRITING=0は、先読み中でないということ,VALID=1はデータが有効であるということをそれぞれ示している。また、Y_ADR=4を補正前映像のy座標に変換すると、4×8=32である。すなわち、TAG[0]によれば、補正前映像のy座標=32のブロックがキャッシュブロック記憶部122に存在することがわかる。
TAG[1]は、WRITING=1,VALID=0,Y_ADR=5である。WRITING=1は、先読み中であるということ,VALID=0はデータが無効であるということをそれぞれ示している。また、Y_ADR=5を補正前映像のy座標に変換すると、5×8=40である。すなわち、TAG[1]によれば、補正前映像のy座標=40のブロックが先読み中であり、しばらく待てば読み出し可能であることがわかる。
TAG[2]は、WRITING=0,VALID=1,Y_ADR=2である。WRITING=0は、先読み中でないということ,VALID=1はデータが有効であるということをそれぞれ示している。また、Y_ADR=2を補正前映像のy座標に変換すると、2×8=16である。すなわち、TAG[2]によれば、補正前映像のy座標=16のブロックがキャッシュブロック記憶部122に存在することがわかる。
TAG[3]は、WRITING=0,VALID=1,Y_ADR=3である。WRITING=0は、先読み中でないということ,VALID=1はデータが有効であるということをそれぞれ示している。また、Y_ADR=3を補正前映像のy座標に変換すると、3×8=24である。すなわち、TAG[3]によれば、補正前映像のy座標=24のブロックがキャッシュブロック記憶部122に存在することがわかる。
すなわち、(x[0],y[0])=(16,40)が含まれるキャッシュブロックがキャッシュブロック記憶部122に格納されているか否か判定した結果、(x[0],y[0])=(16,40)が含まれるキャッシュブロックは先読み中であり、しばらく待てば、読み出し可能であると判定される。
図15、16は、ヒット判定部131(図5)におけるヒット判定処理の工程を模式的に示す工程図である。座標変換部129からヒット判定部131に対して補正前座標の整数部Int(x,y)が入力されると、ヒット判定部131におけるヒット判定処理が開始される。ヒット判定部131は、座標変換部129から入力された補正前座標の整数部Int(x,y)に基づいて、その周辺16画素の座標(x[0],y[0]),(x[1],y[1]),(x[2],y[2]),・・・,(x[15],y[15])を算出する(ステップS202)。この後の処理は、座標(x[0],y[0]),(x[1],y[1]),(x[2],y[2]),・・・,(x[15],y[15])について、並列に行う。
ヒット判定部131は、周辺16画素の座標の算出が終了すると、タグ情報(TAG[0],[1],[2],[3])をキャッシュブロック用タグ情報記憶部123から読み出し(ステップS204)、TAG[0]のY_ADR(すなわち、キャッシュブロックの行番号)が、y[0]/キャッシュブロックの高さ(8px)と同一か否かを判断する(ステップS206)。同一であった場合(ステップS206においてYES)、ヒット判定部131はTAG[0]のWRITING=1か否かを判断する(ステップS208)。一方、同一でない場合は(ステップS206においてNO)、ステップS216に進む。
ステップS208においてWRITING=1であった場合、ステップS204に戻り、WRITING=0であった場合は、ヒット判定部131はTAG[0]のVALID=1か否かを判断する(ステップS210)。VALID=1であった場合、ヒット判定部131は、ヒットしたタグに該当するキャッシュブロックの座標(列,行)を算出する(ステップS212)。一方、VALID=0であった場合は、ヒット判定部131は、キャッシュブロック(x[0]/キャッシュブロックの幅(8px),y[0]/キャッシュブロックの高さ(8px))の読み出し要求を、キャッシュブロック制御部121へ出力する(ステップS214)。
ステップS216,S226,S236では、それぞれ、TAG[1],TAG[2],TAG[3]についてステップS206と同様の処理を行う。ステップS218,S228,S238では、それぞれ、TAG[1],TAG[2],TAG[3]についてステップS208と同様の処理を行う。ステップS220,S230,S240では、それぞれ、TAG[1],TAG[2],TAG[3]についてステップS210と同様の処理を行う。
すなわち、タグ情報に含まれるキャッシュブロックの行番号が、y[0]/8と同一でなければ、次のタグ情報について同様の処理を行うというように、第0行のタグ情報から、第1行、第2行、第3行と順にタグ情報を判定していく。ステップS208,S218,S228,S238において、WRITING=1ということは、当該タグ情報に対応するブロック領域にキャッシュブロックが書き込み中であるということであるため、書き込みが終了するまで、すなわちWRITING=0になるまで、タグ情報の読み出しと判定を繰り返す。ステップS210,S220,S230,S240においてVALID=1である場合には、目的の座標の画素値が含まれるキャッシュブロックがキャッシュブロック記憶部122に存在する(ヒットした)といえるため、ヒットしたタグに該当するキャッシュブロックの座標(列,行)を算出する。
A−6.キャッシュブロック記憶部の構成:
図17は、キャッシュブロック記憶部122の構成を模式的に示す模式図である。本実施例におけるキャッシュブロック記憶部122は、1画素分の映像データを記憶可能な1ポートのRAMを複数備える。具体的には、キャッシュブロック記憶部122は、8×8個の画素を記憶可能なRAMで構成されるメインセットを単位として、メインセットを240(列)×4(行)個備える。すなわち、上記したブロック領域は、1つのメインセットで構成されており、1つのメインセットに、キャッシュブロックが1つ格納される。後に詳述するように、メインセットは、4×4個のRAMで構成されるサブセットを単位として、2×2個のサブセットを備える。本実施例における「メインセットを240(列)×4(行)個備えるキャッシュブロック記憶部122」が、請求項における「メインセットを前記ライン方向および前記ピクセル方向にI×J(I,J≧2)個備えるブロック映像記憶部」に相当する。すなわち、本実施例では、I=240,J=4である。
本実施例において、RAMのアドレス指定は、各RAMを識別可能な「RAM番号」と、サブセットを識別可能な「ワード番号」との組み合わせによって行われる。本実施例では、キャッシュブロック記憶部122を1ポートのRAMで構成しており、同一のRAM番号を有するRAMには、同一のアドレスバスおよびデータバスが接続されているため、あるRAM番号のRAMから映像データを読み出している際に、同時に、同一のRAM番号を有する異なるRAMに映像データを書き込むことはできない。そこで、本実施例では、以下に説明するようなRAMの構成にすることにより、キャッシュブロック記憶部122内の同一列のブロック領域(メインセット)において、補間ブロックの読み出しとキャッシュブロックの書き込みとを同時に行えるキャッシュブロック記憶部122の構成を実現している。本実施例における「RAM番号」及び「ワード番号」が、請求項における「独立メモリ識別番号」、及び「サブセット識別番号」にそれぞれ相当する。
本実施例において、RAM番号の個数であるRAM個数は下記の(式4)、ワード番号の個数であるワード数は下記の(式5)、メインセットのグループ(後述するP,Q,R,D等)の個数であるグループ数は下記の(式6)によって決定される。同一のグループのメインセットは、同一のRAM番号の組み合わせを有し、各グループは、互いに異なるRAM番号の組み合わせを有する。
Figure 2011199463
Figure 2011199463
Figure 2011199463
(式6)中の「キャッシュブロック記憶部のライン数」は、キャッシュブロック記憶部122に格納される映像データのライン数である。すなわち、キャッシュブロック記憶部122に格納される映像データのy方向の画素数に相当する。本実施例では、(式6)中の「n」は、1か2程度が適当である。グループ数が増加すると、RAM個数が増加し、アドレスバスやデータバス等の配線が増加するため、LSI(Large Scale Integration:大規模集積回路)に実装することが困難になるからである。もとより、RAM個数の制限のない場合等には、nを3以上とすることも可能である。本実施例では、少ないRAM個数で読み出しと書き込みを同時にできるRAM構成を実現している。図17では、n=1、グループ数=4の場合のキャッシュブロック記憶部122の構成を例示している。
図示するように、第1行のブロック領域はメインセットP、第2行のブロック領域はメインセットQ、第3行のブロック領域はメインセットR、第4行のブロック領域はメインセットSで構成されている。メインセットP,Q,R,Sは、互いに異なるRAM番号のRAMを備える。すなわち、キャッシュブロック記憶部122を構成するブロック領域は、同一行では同一のRAM番号の組み合わせを有し、行ごとに、RAM番号の組み合わせが異なる。
本実施例におけるキャッシュブロック記憶部122は、1列に配置されるメインセットP,Q,R,Sを1つのメインセット群として、240個のメインセット群を備える構成を有する。以後、メインセット群は、列番号を用いて識別する。例えば、第0列のメインセット群を「メインセット群0」、メインセット群0に含まれるメインセットを、それぞれ、「メインセットP0」,「メインセットQ0」,「メインセットR0」,「メインセットS0」と称する。各メインセットが備えるRAMのRAM番号は、P,Q,R,Sの順に大きくなり、各メインセットが備えるサブセットのワード番号は、列番号が大きくなるに従って大きくなる。
メインセットの具体的なRAM構成について、メインセットP0,Q0,P1,Q1を例に挙げて、図18〜21に基づいて説明する。図18は、メインセットP0の構成を模式的に示す模式図である。図18(A)は、メインセットP0を構成するRAMのRAM番号の配列を示し、(B)はメインセットP0に含まれるサブセットのワード番号を示す。メインセットP0は、4×4個のRAMで構成されるサブセットを、2×2個備える(図18(A))。各サブセットは、4×4画素で構成される補間ブロックと同一の4×4画素分の映像データを格納できる。
メインセットP0に含まれる4個のサブセットは、それぞれ、0,1,2,3のワード番号を有し、互いに識別可能である(図18(B))。以下、サブセットを、メインセットのグループを識別するアルファベット(小文字)とワード番号とを用いて識別する。例えば、メインセットPに含まれるサブセットであって、ワード番号が「0」のサブセットを、「サブセットp0」と称する。
サブセットp0を構成する4×4個のRAMは、互いに異なるRAM番号を有し、そのRAM番号は0〜15である(図18(A))。サブセットp1,p2,p3も同様に、それぞれを構成するRAMのRAM番号は0〜15であり、その配列もサブセットp0と同一である。すなわち、メインセットP0を構成する4個のサブセットは、RAM番号の配列が同一である。各サブセットは異なるワード番号を有するため、RAM番号とワード番号とを用いてRAMのアドレス指定を行うことにより、同一のRAM番号を有するRAMを一意に識別することができる。
続いて、図19〜21を用いて、メインセットQ0,P1,Q1の構成を説明する。図19〜21は、図18と同様に(A)にてメインセットを構成するRAMのRAM番号の配列を示し、(B)にてメインセットに含まれるサブセットのワード番号を示す。
図19は、メインセットQ0の構成を模式的に示す模式図である。メインセットQ0は、メインセットP0と異なるグループであるため、メインセットP0と異なるRAM番号のRAMで構成され、メインセットP0と同一のメインセット群であるため、メインセットP0と同一のワード番号を有する。具体的には、メインセットQ0に含まれるサブセットを構成する4×4個のRAMのRAM番号はメインセットP0のRAM番号に続く連番である16〜31である(図19(A))。メインセットQ0を構成するサブセットのワード番号は、メインセットP0と同様に0〜3である(図19(B))。
図20は、メインセットP1の構成を模式的に示す模式図である。メインセットP1は、メインセットP0と同一のグループであるため、メインセットP0と同一のRAM番号のRAMで構成され、メインセットP0と異なるメインセット群であるため、メインセットP0と異なるワード番号を有する。具体的には、メインセットP1に含まれるサブセットを構成する4×4個のRAMのRAM番号はメインセットP0と同一の0〜15である(図20(A))。メインセットP1を構成するサブセットのワード番号は、メインセットP0のワード番号に続く連番である4〜7である(図20(B))。
図21は、メインセットQ1の構成を模式的に示す模式図である。メインセットQ1は、メインセットQ0と同一のグループであるため、メインセットQ0と同一のRAM番号のRAMで構成され、メインセットP1と同一のメインセット群であるため、メインセットP1と同一のワード番号を有する。メインセットQ1に含まれるサブセットを構成する4×4個のRAMのRAM番号はメインセットQ0と同一の16〜31である(図21(A))。メインセットQ1を構成するサブセットのワード番号は、メインセットP1と同一の4〜7である(図21(B))。
以上、メインセットP0,Q0,P1,Q1を例に挙げて、メインセットのRAMの構成について説明したが、メインセットR,Sについても同様の規則に基づいたRAM番号およびワード番号を有する。具体的には、メインセットRはRAM番号32〜47,メインセットSはRAM番号48〜63を有する。また、ワード番号は、1列(1メインセット群)に対して連続する4つの番号が与えられ、列番号が大きくなると、列番号が4つずつ増加する。具体的には、列番号2のメインセット群(メインセットP2,Q2,R2,S2)はワード番号8〜11,列番号3のメインセット群(メインセットP3,Q3,R3,S3)はワード番号12〜15,・・・・,列番号239のメインセット群(メインセットP239,Q239,R239,S239)はワード番号956〜959である。
本実施例におけるRAM番号とワード番号は、例えば、キャッシュブロック記憶部122の設計者によって任意に設定可能である。したがって、RAM番号およびワード番号は、本実施例に限定されず、例えば、偶数のみ、奇数のみの番号を用いてもよいし、無秩序な番号であってもよい。サブセットを構成するRAMがそれぞれ異なるRAM番号であって、同一のメインセット群に属するメインセットが互いに異なるRAM番号の組み合わせを有し、ワード番号によって同一のRAM番号を有するRAMを識別することが可能であればよい。また、RAM番号の配列も本実施例に限定されない。これは、後述する第2、第3の実施例においても同様である。
キャッシュブロック記憶部122から補間ブロックを読み出す場合における、キャッシュブロック記憶部122のRAM構成と読み出される補間ブロックとの関係を図22、23に基づいて説明する。図22は、キャッシュブロック記憶部122のRAM構成と読み出される補間ブロックとの関係を示す説明図である。図22では、キャッシュブロック記憶部122のうちのメインセットP0,Q0,P1,Q1を抜き出して図示し、その他のメインセットの図示を省略している。すなわち、読み出される補間ブロックが、メインセットP0,Q0,P1,Q1のいずれかに含まれる場合を例示している。
上記したように、補間ブロックは、(1)1つのキャッシュブロックに含まれる場合、(2)y方向に隣接する2つのキャッシュブロックに跨る場合、(3)x方向に隣接する2つのキャッシュブロックに跨る場合、(4)2行×2列の4つのキャッシュブロックに跨る場合がある。図22では、読み出される補間ブロック(4×4画素)が格納されているRAMを、斜線ハッチングを付して示している。補間ブロックh1,h2は、(1)1つのキャッシュブロックに含まれる場合、補間ブロックh3は、(2)y方向に隣接する2つのキャッシュブロックに跨る場合、補間ブロックh4は、(3)x方向に隣接する2つのキャッシュブロックに跨る場合、補間ブロックh5は、(4)2行×2列の4つのキャッシュブロックに跨る場合をそれぞれ例示している。
本実施例において、メインセットP0に含まれるサブセットp0〜p3は、サブセットを構成するRAMのRAM番号が互いに異なっており、かつ各サブセット内のRAMの配列は同一である。そのため、メインセットP0内において、行方向、列方向ともに、RAM4個ごとに同一のRAM番号のRAMが配置されている。キャッシュブロック記憶部122のRAM構成がこのような構成であるとともに、補間ブロックhが4×4画素から成るため、補間ブロックhがメインセットP0内のどの位置に格納されていても、すなわち、補間ブロックが2つのサブセットに跨って格納されていても(例えば、補間ブロックh1)、4つのサブブロックに跨って格納されていても、補間ブロックhが格納されているRAMのRAM番号が重ならない。メインセットP1,Q0,Q1も同様に、それぞれの内のどの位置に補間ブロックhが格納されていても、補間ブロックhが格納されているRAMのRAM番号が重ならない(例えば、補間ブロックh2)。
また、メインセットP0,P1は同一のグループであり、同一のRAM番号の配列を有する。したがって、メインセットP0とメインセットP1を合わせても、行方向に、RAM4個ごとに同一のRAM番号のRAMが配置されている。また、メインセットQ0,Q1は同一のグループであり、同一のRAM番号の配列を有するため、同様に、メインセットQ0とメインセットQ1を合わせても、行方向に、RAM4個ごとに同一のRAM番号のRAMが配置されている。そのため、補間ブロックhがキャッシュブロック記憶部122内のどの位置に格納されていても、すなわち、補間ブロックhが2つのメインセットに跨って格納されていても(例えば、補間ブロックh3、h4)、4つのメインブロックに跨って格納されていても(例えば、補間ブロックh5)、補間ブロックhが格納されているRAMのRAM番号が重ならない。したがって、補間ブロックhがキャッシュブロック記憶部122内のどの位置に格納されていても、補間ブロックhに含まれる16画素の映像データを1サイクルで(同時に)読み出すことができる。
図23は、キャッシュブロック記憶部122のメインセット群0のRAM構成と読み出し中の補間ブロックhとの関係を示す説明図である。図23に示すように、読み出し中の補間ブロックhが格納されているRAMのRAM番号は40〜55(メインセットR0,S1に跨る)である。本実施例のキャッシュブロック記憶部122は、1ポートのRAMで構成され、読み出し中のRAMのRAM番号と異なるRAM番号を有するRAMについては書き込みが可能である。すなわち、補間ブロックhの読み出し中であっても、RAM番号40〜55のRAMを含まないメインセットP0,Q0には書き込みが可能である。したがって、例えば、補間ブロックhの読み出し中に、同時に、先読みしたキャッシュブロックをメインセットP0に書き込むことができる。その結果、座標変換部129によって算出された所定の1画素の補正前座標に基づいて、同一サイクルで(同時に)補間ブロックの読み出しと先読みによるキャッシュブロックの書き込みを行うことができる。
A−7.実施例の効果:
上記したように、補間ブロックは、(1)1つのキャッシュブロックに含まれる場合、(2)y方向に隣接する2つのキャッシュブロックに跨る場合、(3)x方向に隣接する2つのキャッシュブロックに跨る場合、(4)2行×2列の4つのキャッシュブロックに跨る場合がある。本実施例のキャッシュブロック記憶部122によれば、読み出される補間ブロックが上記(1)〜(4)のどのような場合であっても、補間ブロック(16画素)を1サイクルで(同時に)読み出すことができる。
また、本実施例のキャッシュブロック記憶部122によれば、補間ブロックの読み出しと同時に、読み出し中の補間ブロックが格納されていない他のメインセットに、キャッシュブロックを書き込むことができる。すなわち、補間ブロックの読み出しと同時に先読みしたキャッシュブロックの書き込みを行うことができる。
その結果、本実施例のプロジェクター100によれば、台形歪み補正部120の処理クロックを高くすることができない場合であっても、同一サイクルでデータの読み出しと書き込みを行い、計算処理をパイプライン化することにより、1サイクルで1画素の計算を行うことが可能となるため、台形歪み補正処理の高速化を図ることができる。したがって、例えば、WUXGA(1920×1200ドット)のような高解像度の動画像映像を表示する場合に、スムーズに表示することができる。
また、本実施例のキャッシュブロック記憶部122では、1ポートのRAMを用いて読み出しと書き込みとを同時にできる構成を実現しているため、2ポートのRAMを用いる場合と比べて、小型化およびコスト低減を図ることができる。
また、サブセットを補間ブロックの画素数と同じRAM個数で構成するとともに、メインセットを同一のサブセットを複数用いて構成することにより、キャッシュブロック記憶部122を少ないRAM個数で構成することができる。したがって、配線を減らすことができ、容易にLSIに実装することが可能となる。また、コスト低減に資することができる。
上記効果に加えて、本実施例におけるプロジェクター100によれば、先読みリクエスト発行部132を備えるため、n番目の画素の画素値を求める画素補間を行う際に、n+1番目以降の画素の画素値を求めるために必要なキャッシュブロックを前もって読み出して(先読みして)、キャッシュブロック記憶部122に格納することができる。したがって、n+1番目以降の画素の画素値を求める際に、改めて必要なキャッシュブロックをキャッシュブロック記憶部122に格納しなくてもよい。すなわち、図7に示すブロックライト待ちの時間を短縮することができる。したがって、台形歪み補正処理の高速化を図ることができる。
また、本実施例では、キャッシュブロック用タグ情報記憶部123において、タグ情報が、キャッシュブロック記憶部122が備える全てのブロック領域に対応して、ブロック領域の並びと同一の並びで格納されている。そして、キャッシュブロックは、キャッシュブロックの列番号と同一の列番号のブロック領域に格納されている。したがって、ヒット判定を行う際に、ヒット判定を行う対象の座標について、まず、タグ情報の列を抽出して、その列について、順次ヒット判定を行うため、x座標の検索を簡略化でき、ヒット判定を高速化することができる。
また、本実施例では、1次バッファとして安価であるが大容量かつ低速なフレームバッファ(DRAM)を用い、2次バッファとして高価であるが小容量かつ高速なキャッシュメモリ(SRAM)を用いているため、コスト低減を図ることができる。
B.第2の実施例:
本実施例におけるキャッシュブロック記憶部122Aは、第1の実施例におけるキャッシュブロック記憶部122とRAM構成が異なる。キャッシュブロック記憶部122Aは、n=2、グループ数=8のRAM構成を有する。本実施例のキャッシュブロック記憶部122Aは、第1の実施例のキャッシュブロック記憶部122と、グループ数が異なるものの、122Aを構成するメインセットの数、メインセットを構成するサブセットの数、サブセットを構成するRAMの数は第1の実施例と同一であるので、その説明は省略する。
図24は、第2の実施例におけるキャッシュブロック記憶部122Aの構成を模式的に示す模式図である。本実施例のキャッシュブロック記憶部122Aは、メインセットP,Q,R,S,T,U,V,Wの8グループのメインセットで構成される(グループ数=8)。キャッシュブロック記憶部122Aは、2列に配置されるメインセットP,Q,R,S,T,U,V,Wを1つのメインセット群として、120個のメインセット群を備える構成を有する。メインセットを構成するRAMのRAM番号は、P<Q<R<S<T<U<V<Wの順に大きい。同一のメインセット群内の各メインセットは、同一のワード番号の組み合わせを有し、メインセット群の列番号が大きくなるに従って、ワード番号が大きくなる。本実施例において、メインセット群は、メインセット群を構成する2列のメインセットの列番号のうち小さい列番号を用いて識別する。すなわち、第0列、第1列のメインセットで構成されるメインセット群を「メインセット群0」、第2列、第3列のメインセットで構成されるメインセット群を「メインセット群2」と称する。
図25は、キャッシュブロック記憶部122Aのメインセット群0のRAM構成と読み出し中の補間ブロックhとの関係を示す説明図である。図示するように、メインセットP0を構成するRAMのRAM番号は0〜15、メインセットQ0を構成するRAMのRAM番号は16〜31、メインセットR0を構成するRAMのRAM番号は32〜47、メインセットS0を構成するRAMのRAM番号は48〜63、メインセットT0を構成するRAMのRAM番号は64〜79、メインセットU0を構成するRAMのRAM番号は80〜95、メインセットV0を構成するRAMのRAM番号は96〜111、メインセットW0を構成するRAMのRAM番号は112〜127である。
第1の実施例において説明したように、キャッシュブロック記憶部122に格納されるキャッシュブロックは、台形歪み補正処理の進行にしたがって、更新される。したがって、台形歪み補正処理の途中では、キャッシュブロック記憶部122Aに格納されるキャッシュブロックが、フレームバッファー150の図10に図示したような位置のキャッシュブロックになっている場合がある。図25では、読み出し中の補間ブロックhが連続した4×4画素に表示されるように、第0列のメインセットと第1列のメインセットとのy方向の位置をずらして示している。
本実施例のキャッシュブロック記憶部122Aでは、補間ブロックhがキャッシュブロック記憶部122A内のいかなる位置に格納されていても、読み出しと同時に書き込みが可能なRAMの構成を実現している。図25に示す例では、読み出し中の補間ブロックhはメインセットR0,S0,T0,U0に跨って格納されている。具体的には、補間ブロックhは42,43,46,47,50,51,54,55,72,73,76,77,80,81,84,85に格納されている。したがって、補間ブロックhの読み出し中に、同時にRAM番号42,43,46,47,50,51,54,55,72,73,76,77,80,81,84,85のRAMにデータを書き込むことはできない。図25に、書き込み不可のRAMをハッチングを付して表示している。図示するように、書き込み不可のRAMは、メインセットR0,S0,T0,U0に含まれるものの、メインセットP0,Q0,V0,W0には含まれない。したがって、補間ブロックhの読み出し中に、同時にメインセットP0,Q0,V0,W0にキャッシュブロックを書き込むことができる。台形歪み補正処理では、ある座標の画素を生成(画素補間)する前後の時間では、一定回数メインセットR0,S0,T0,U0を使って補間ブロックをリードする。それと同時に、メインセットR0,S0,T0,U0より離れたメインセットP0,Q0,V0,W0のブロックを更新(書き込み)するため、図7のブロックライト待ち時間を極力少なくできる。このような効果が得られるのは、キャッシュブロック記憶部122A内の隣接するメインセット(x,y方向ともに)が、互いに異なるRAM番号の組み合わせを有するためである。
上記した第1の実施例では、図23に示したように、読み出される補間ブロックhが同一列内に格納されている限りはいかなる位置に格納されていようとも、補間ブロックhの読み出しと同時にキャッシュブロックの書き込みを行うことができる。しかしながら、以下に説明するように、読み出し中の補間ブロックhが2列のメインセットに跨る場合には、読み出しと書き込みが同時に行えない場合がある(行える場合もある)。図26は、第1の実施例のキャッシュブロック記憶部122のメインセット群0,1のRAM構成と読み出し中の補間ブロックhとの関係を示す説明図である。図26でも図25と同様に、読み出し中の補間ブロックhが連続した4×4画素に表示されるように、第0列のメインセットと第1列のメインセットとのy方向の位置をずらして示している。
図26に示す例では、読み出し中の補間ブロックhはメインセットR0,S0,P1,Q1に跨って格納されている。具体的には、補間ブロックhはRAM番号8,9,12,13,16,17,20,21,42,43,46,47,50,51,54,55に格納されている。したがって、補間ブロックhの読み出し中に、同時にRAM番号8,9,12,13,16,17,20,21,42,43,46,47,50,51,54,55のRAMにデータを書き込むことはできない。図26に、書き込み不可のRAMをハッチングを付して表示している。図示するように、書き込み不可のRAMは、メインセットP0,Q0,R0,S0,P1,Q1,R1,S1の全てに含まれる。メインセットR0,S0,P1,Q1は、読み出し中の補間ブロックhが含まれるメインセットであるため、キャッシュブロックを書き込む必要はなく、書き込み不可のRAMが含まれていても問題ないものの、メインセットP0,Q0,R1,S1は、キャッシュブロックを書き込む可能性があるにもかかわらず、書き込み不可である。このように、第1の実施例におけるキャッシュブロック記憶部122では、読み出し中の補間ブロックhが2列のメインセットに跨る場合には、読み出しと書き込みが同時に行えない場合があるものの、読み出される補間ブロックhが同一列内に格納されている限りはいかなる位置に格納されていようとも、補間ブロックhの読み出しと同時にキャッシュブロックの書き込みを行うことができるため、台形歪み補正処理の高速化を図ることできる。また、第1の実施例のキャッシュブロック記憶部122は、第2の実施例のキャッシュブロック記憶部122AよりもRAM個数が少ないため、第2の実施例のキャッシュブロック記憶部122AよりもLSIの構成を簡易化することができコスト低減を図ることができるという効果もある。
C.第3の実施例:
本実施例におけるキャッシュブロック記憶部122Bは、第1の実施例におけるキャッシュブロック記憶部122と構成が異なる。本実施例において、キャッシュブロック記憶部122Bは、フレームバッファー150に格納されている1フレーム分の補正前映像データの一部のデータが、4×4画素からなるキャッシュブロック単位で格納できる。キャッシュブロック記憶部122Bは、1つのキャッシュブロック(4×4画素からなる映像データ)を格納できるブロック領域を480列×4行備える。補間ブロック読み出し部は、画素補間に必要な2×2画素からなる補間ブロックを、キャッシュブロック記憶部122から読み出す。本実施例のキャッシュブロック記憶部122Bは、第1の実施例と同様に、n=1、グループ数4である。
図27は、第3の実施例のキャッシュブロック記憶部122BのRAM構成と読み出される補間ブロックとの関係を示す説明図である。図27(A)は、キャッシュブロック記憶部122BのRAM構成と読み出される補間ブロックとの関係を示し、(B)はメインセットP0に含まれるサブセットのワード番号を示す。図27では、キャッシュブロック記憶部122BのうちのメインセットP0,Q0,R0,S0,P1,Q1,R1,S1を抜き出して図示し、その他のメインセットの図示を省略している。すなわち、読み出される補間ブロックが、メインセットP0,Q0,R0,S0,P1,Q1,R1,S1のいずれかに含まれる場合を例示している。本実施例でも、第1の実施例と同様に、サブセットを、メインセットのグループを識別するアルファベット(小文字)とワード番号とを用いて識別する(図27(B))。
図示するように、メインセットP0を構成するRAMのRAM番号は0〜3である。本実施例のキャッシュブロック記憶部122Bは、第1の実施例のキャッシュブロック記憶部122と異なり、メインセットに含まれるサブセットを構成するRAM番号の組み合わせは同一であるものの、その配列がx方向に隣接するサブセットで互いに異なる。具体的には、サブセットp0,p2が同一の配列を有し、サブセットp1,p3が同一の配列を有する。
本実施例のキャッシュブロック記憶部122Bでは、サブセットを構成するRAM番号の配列がx方向に隣接するサブセットで互いに異なるものの、x方向ではRAM4個ごとに同一のRAM番号が配置される。また、メインセット内では、y方向にRAM2個ごとに同一のRAM番号が配置されている。キャッシュブロック記憶部122BのRAM構成がこのような構成であるとともに、補間ブロックhが2×2画素から成るため、補間ブロックhがキャッシュブロック記憶部122B内のどの位置に格納されていても、すなわち、補間ブロックが2つのサブセットに跨って格納されていても(補間ブロックh1)、4つのサブブロックに跨って格納されていても(補間ブロックh3)、2つのメインセットに跨って格納されていても(補間ブロックh2,h4)、2つのメインセットに跨って格納されていても(補間ブロックh5)、補間ブロックhが格納されているRAMのRAM番号が重ならない。したがって、補間ブロックhがキャッシュブロック記憶部122B内のどの位置に格納されていても、補間ブロックhに含まれる4画素の映像データを1サイクルで(同時に)読み出すことができる。
図28は、キャッシュブロック記憶部122Bのメインセット群0,1のRAM構成と読み出し中の補間ブロックhとの関係を示す説明図である。図28に示すように、読み出し中の補間ブロックhが格納されているRAMのRAM番号は9,10,12,15(メインセットR0,S0,R1,S1に跨る)である。本実施例のキャッシュブロック記憶部122は、1ポートのRAMで構成され、読み出し中のRAMのRAM番号と異なるRAM番号を有するRAMについては書き込みが可能である。すなわち、補間ブロックhの読み出し中であっても、RAM番号9,10,12,15のRAMを含まないメインセットP0,Q0,P1,Q1には書き込みが可能である。したがって、例えば、補間ブロックhの読み出し中に、同時に、先読みしたキャッシュブロックをメインセットP0に書き込むことができる。したがって、本実施例におけるキャッシュブロック記憶部122Bにおいても、第1の実施例と同様に、補間ブロックの読み出しと先読みによるキャッシュブロックの書き込みを1サイクルで(同時に)行うことができる。
D.変形例
なお、本発明は上記した実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
(1)上記した本実施例では、台形歪み補正処理が開始される際に、フレームバッファー150から(0,0)〜(239,3)のキャッシュブロックが読み出され、キャッシュブロック記憶部122に格納される例を示したが、台形歪み補正処理が開始される際には、キャッシュブロック記憶部122にはキャッシュブロックが格納されておらず、キャッシュブロック制御部121に対してキャッシュブロックの読み出し要求が入力されるたびに、キャッシュブロック記憶部122に順次キャッシュブロックが格納される構成にしてもよい。この場合、キャッシュブロックが格納されていないブロック領域に対応するタグ情報は、VALID=0になっている。
(2)上記した実施例では、ヒット判定部131を備える構成を例示しているが、ヒット判定部131を備えない構成にしてもよい。ヒット判定部131を備えない構成にする場合には、例えば、先読みリクエスト発行部132が補間ブロック読み出し部124に対して読み出し位置を供給する構成にすればよい。このような構成にしても、先読みリクエストを行うことにより、画素補間に必要な補間ブロックを含むキャッシュブロックを読み出してキャッシュブロック記憶部122に格納することができる。
(3)1フレームの画素数、キャッシュブロックの画素数、および補間ブロックの画素数(画素補間に用いる画素数)は、上記した実施例に限定されない。
(4)上記した実施例におけるキャッシュブロック記憶部122をキャッシュブロック記憶装置として構成してもよい。例えば、本実施例のフレームバッファー150と台形歪み補正部120(キャッシュブロック記憶装置を含む)を備える射影変換処理装置を構成することができる。そうすると、例えば、射影変換処理装置にて変換処理を施した映像データに基づいて、液晶パネル、有機EL(Electro-Luminescence:エレクトロルミネッセンス)パネル等の映像表示部に映像を表示させる構成の映像表示装置を構成することができる。また、射影変換処理装置と、液晶パネル等の映像表示部を備えるデジタルカメラを構成してもよい。この場合、射影変換処理装置は、カメラのセンサーが、被写体に対して平行でない場合に生じる歪み(パースペクティブの歪み)を補正して、映像表示部に出力することによって、カメラのセンサーが被写体に対して平行になるように撮影した映像が、映像表示部に表示される。また、例えば、射影変換処理装置にて変換処理を施した映像データを、プリンタに出力したり、ハードディスクに書き込む等、種々の出力装置に出力する構成にしてもよい。このような場合も、上記した先読みリクエスト発行部132やキャッシュブロック記憶部122(キャッシュブロック記憶装置)を備えることによって、台形歪み補正処理の高速化を図ることができる。
(5)上記した実施例において、プロジェクター100は、透過型の液晶パネル部192を用いて、照明光学系152からの光を変調しているが、透過型の液晶パネル部192に限定されず、例えば、デジタル・マイクロミラー・デバイス(DMD(登録商標):Digital Micro−Mirror Device)や、反射型の液晶パネル(LCOS(登録商標):Liquid Crystal on Silicon)等を用いて、照明光学系152からの光を変調する構成にしてもよい。また、小型CRT(陰極線管)上の映像を被投写面に投写するCRTプロジェクターでもよいし、有機ELを用いて映像光を生成する構成にしてもよい。
(6)上記実施例においてソフトウェアで実現されている機能の一部をハードウェアで実現してもよく、あるいは、ハードウェアで実現されている機能の一部をソフトウェアで実現してもよい。
(7)上記実施例では、先読みリクエストの条件として、先読みリクエスト発行部132に入力された補正前座標の整数部Int(x,y)が、キャッシュブロック記憶部122に格納されている同一列のキャッシュブロックのうち、行番号が一番大きいキャッシュブロックに入ったこととしているが、先読みリクエストの条件は、上記実施例に限定されない。例えば、キャッシュブロック記憶部122に記憶されている1つのキャッシュブロックが、所定の回数以上使用されたことを先読みリクエストの条件としてもよい。
(8)上記実施例において、キャッシュブロック記憶部122は、1フレームのフレーム幅と同じ幅を有しており、キャッシュブロックは、キャッシュブロックの列番号と同一の列番号のブロック領域に格納されているが、キャッシュブロック記憶部122の幅は1フレームのフレーム幅と同一でなくてもよい。また、キャッシュブロックは、キャッシュブロックの列番号と同一の列番号のブロック領域に格納されていなくてもよい。このようにしても、タグ情報が、x座標とy座標の両方の情報を備えることにより、タグ情報を用いて先読み判定やヒット判定を行うことができる。
100…プロジェクター
102…高速バス
104…低速バス
110…映像入力部
112…IP変換部
114…解像度変換部
116…映像合成部
120…台形歪み補正部
121…キャッシュブロック制御部
122、122A、122B…キャッシュブロック記憶部
123…キャッシュブロック用タグ情報記憶部
124…補間ブロック読み出し部
125…画素補間部
126…FIFO部
127…レジスター部
128…制御部
129…座標変換部
130…フィルター係数算出部
131…ヒット判定部
132…先読みリクエスト発行部
140…液晶パネル駆動部
150…フレームバッファー
152…照明光学系
160…高速バス制御部
162…低速バス制御部
170…プロセッサー部
180…撮像部
182…センサー部
190…照明光学系
192…液晶パネル部
194…投写光学系

Claims (4)

  1. 被投写面上に映像を投写して表示するプロジェクターであって、
    前記映像を表す映像光を生成して出力する映像光出力部と、
    前記プロジェクターに入力される入力映像データを複数のラインで構成されるフレーム映像として記憶するフレーム映像記憶部と、
    前記フレーム映像記憶部よりも小容量かつ高速な記憶部であって、前記フレーム映像記憶部に記憶されたフレーム映像の入力映像データにおけるライン方向およびこれに交叉するピクセル方向にそれぞれM×N(M,N≧2)個の画素から成るブロック映像データを単位として、前記フレーム映像の入力映像データの一部を記憶するブロック映像記憶部と、
    前記被投写面上に投写される映像の歪みを補正する補正処理を行う補正処理部であって、前記ブロック映像記憶部に記憶された前記入力映像データに含まれる、前記ライン方向および前記ピクセル方向にK×L(2≦K≦M,2≦L≦N)個の画素から成る補間ブロック映像データに基づいて、補正後の映像データである補正後映像データを生成し、前記被投写面上に投写される映像を表す映像データとして、前記映像光出力部に出力する補正処理部と、
    を備え、
    前記ブロック映像記憶部は、
    それぞれアドレス指定が可能であって、前記1画素分の前記入力映像データを記憶可能な複数の独立メモリを前記ライン方向および前記ピクセル方向に前記M×N個含むメインセットを前記ライン方向および前記ピクセル方向にI×J(I,J≧2)個備え、
    前記メインセットは、
    前記独立メモリを前記ライン方向および前記ピクセル方向に前記K×L個含むサブセットを(M×N)/(K×L)個備え、
    前記独立メモリのアドレス指定は、前記独立メモリを識別可能な独立メモリ識別番号と、前記サブセットを識別可能なサブセット識別番号とに基づいて行われ、
    前記サブセットを構成する独立メモリは、それぞれ異なる独立メモリ識別番号を有し、
    前記ピクセル方向に配置されるメインセットは、互いに異なる独立メモリ識別番号の組み合わせを有し、
    前記補間ブロック映像データが、隣接するサブセットに跨って記憶されている場合に、前記補間ブロック映像データが記憶されている独立メモリの独立メモリ識別番号が重ならないように、前記サブセットを構成する独立メモリが配列され、
    同一の独立メモリ識別番号を有する独立メモリは、前記サブセット識別番号により識別される、プロジェクター。
  2. 請求項1に記載のプロジェクターにおいて、
    前記メインセットが前記サブセットを2以上含む場合に、前記メインセットを構成する各サブセットは、独立メモリ識別番号の配列が同一の構成を有するとともに、互いに異なるサブセット識別番号を備えるプロジェクター。
  3. 請求項2に記載のプロジェクターにおいて、
    前記ブロック映像記憶部は、
    前記ライン方向に隣接する2列のメインセット群を単位として、前記メインセット群を前記ライン方向にI/2個配列して構成され、
    前記メインセット群に含まれる各メインセットは、互いに異なる独立メモリ識別番号の組み合わせを有し、
    各メインセット群は、異なるサブセット識別番号を有するプロジェクター。
  4. 請求項2に記載のプロジェクターにおいて、
    前記ブロック映像記憶部は、
    前記ピクセル方向に隣接する1列のメインセットを含むメインセット群を単位として、前記メインセット群をライン方向にI個配列して構成され、
    前記メインセット群に含まれる各メインセットは、互いに異なる独立メモリ識別番号の組み合わせを有し、
    各メインセット群は、異なるサブセット識別番号を有するプロジェクター。
JP2010062236A 2010-03-18 2010-03-18 プロジェクター Pending JP2011199463A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010062236A JP2011199463A (ja) 2010-03-18 2010-03-18 プロジェクター

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010062236A JP2011199463A (ja) 2010-03-18 2010-03-18 プロジェクター

Publications (1)

Publication Number Publication Date
JP2011199463A true JP2011199463A (ja) 2011-10-06

Family

ID=44877139

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010062236A Pending JP2011199463A (ja) 2010-03-18 2010-03-18 プロジェクター

Country Status (1)

Country Link
JP (1) JP2011199463A (ja)

Similar Documents

Publication Publication Date Title
JP5348022B2 (ja) プロジェクターおよび射影変換処理装置
US8300978B2 (en) Projector, electronic apparatus, and method of controlling projector
JP4706458B2 (ja) 画像処理装置および画像処理方法
JP5997882B2 (ja) プロジェクター及びプロジェクターの制御方法
JP2007006175A (ja) 車両用画像生成装置および方法
CN114449234B (zh) 投影装置与其投影画面校正方法
JP2009015248A (ja) 画像生成装置、画像生成方法および画像生成プログラム
JP5348035B2 (ja) プロジェクター
US9336565B2 (en) Image processing device, display apparatus, and image processing method
JP5533109B2 (ja) 画像表示装置、プロジェクター、および、画像表示装置におけるデータの取得方法
JP2006065869A (ja) 元の画像から拡大画像を作成することにより表示用に画像データを拡張する画像処理方法、表示用に画像データを拡張する画像処理装置、及び表示用に画像データを拡張するためのコンピュータ・システム
JP2010081024A (ja) 画像補間処理装置
JP2011193332A (ja) プロジェクターおよび映像の投写方法
US9761160B2 (en) Image processing device, display apparatus, image processing method, and program
JP2011211274A (ja) 画像表示装置、プロジェクター、および、画像表示装置におけるデータの取得方法
JP6418010B2 (ja) 画像処理装置、画像処理方法及び表示装置
JPH10333669A (ja) 画像メモリ制御装置
JP5353772B2 (ja) プロジェクター
JP5387558B2 (ja) 画像処理装置および画像処理方法
JP5413265B2 (ja) 画像表示装置およびプロジェクター
JP2011199463A (ja) プロジェクター
JP2019193144A (ja) 投影装置およびその制御方法
JP2005208413A (ja) 画像処理装置及び画像表示装置
JP5407928B2 (ja) 投写型表示装置および表示方法
JP2012019315A (ja) 画像処理装置及び画像処理方法