Nothing Special   »   [go: up one dir, main page]

JP2011188051A - プロジェクターおよび射影変換処理装置 - Google Patents

プロジェクターおよび射影変換処理装置 Download PDF

Info

Publication number
JP2011188051A
JP2011188051A JP2010048643A JP2010048643A JP2011188051A JP 2011188051 A JP2011188051 A JP 2011188051A JP 2010048643 A JP2010048643 A JP 2010048643A JP 2010048643 A JP2010048643 A JP 2010048643A JP 2011188051 A JP2011188051 A JP 2011188051A
Authority
JP
Japan
Prior art keywords
block
storage unit
unit
video
video data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010048643A
Other languages
English (en)
Other versions
JP5348022B2 (ja
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 JP2010048643A priority Critical patent/JP5348022B2/ja
Priority to US13/039,652 priority patent/US8885964B2/en
Priority to CN201110057931.1A priority patent/CN102196223B/zh
Publication of JP2011188051A publication Critical patent/JP2011188051A/ja
Application granted granted Critical
Publication of JP5348022B2 publication Critical patent/JP5348022B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3179Video signal processing therefor
    • H04N9/3185Geometric adjustment, e.g. keystone or convergence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Signal Processing (AREA)
  • Transforming Electric Information Into Light Information (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Projection Apparatus (AREA)
  • Image Processing (AREA)

Abstract

【課題】台形歪み補正処理の高速化を図る。
【解決手段】プロジェクターに入力される入力映像データを複数のラインで構成されるフレーム映像として記憶するフレーム映像記憶部と、フレーム映像記憶部に記憶されたフレーム映像の入力映像データにおけるライン方向およびピクセル方向にそれぞれN×M(N,M≧2)個の画素から成るブロック映像データ毎に記憶するブロック映像記憶部と、被投写面上に投写される映像の歪みを補正する補正処理行う補正処理部であって、ブロック映像記憶部に記憶されたブロック映像データに基づいて、補正後の映像データである補正後映像データを生成する補正処理部と、補正処理部において所定の画素についての補正処理が行われる際に、その後に処理が行われる画素についての補正処理に用いられるブロック映像データを予測するブロック映像予測部とを備えるプロジェクター。
【選択図】図5

Description

この発明は、被投写面に映像を表示するプロジェクターに関する。
プロジェクターを用いてスクリーンなどの投写面に矩形の映像(以下、元映像ともいう)を表示させるとき、プロジェクターと投写面との相対的な位置関係によって、投写面に表示された映像(以下、投影映像ともいう)が台形、平行四辺形、それ以外の四角形等に歪む場合がある。このような台形歪み以外の射影歪みも含めて、本明細書では「台形歪み」と称する。このように投写映像に台形歪みが生じる場合には、射影変換の手法を利用して、投写映像が矩形に表示されるように補正する台形歪み補正の技術が用いられている。
特開2002−278507号公報 特開2003−29714号公報
液晶パネルを利用して映像を表す映像光を生成するプロジェクターでは、台形歪み補正の際に、投射面上の投影映像に対し逆方向に歪ませた映像(以下、補正後映像ともいう)を、液晶パネル上で生成する。補正後映像の画素値は、元映像の画素値に基づいて、画素補間を行なうことによって求められる。補正後映像の1画素の画素値を求める場合には、例えば、補正後映像の画素に相当する元映像の座標を算出し、その周囲16画素を用いて画素補間を行う。すなわち、台形歪み補正処理では、大量の処理を行うため、その処理の高速化が望まれている。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
[適用例1] 被投写面上に映像を投写して表示するプロジェクターであって、
前記映像を表す映像光を生成して出力する映像光出力部と、
前記プロジェクターに入力される入力映像データを複数のラインで構成されるフレーム映像として記憶するフレーム映像記憶部と、
前記フレーム映像記憶部よりも小容量かつ高速な記憶部であって、前記フレーム映像記憶部に記憶されたフレーム映像の入力映像データにおけるライン方向およびこれに交叉するピクセル方向にそれぞれM×N(M,N≧2)個の画素から成るブロック映像データを単位として、前記フレーム映像の入力映像データの一部を記憶するブロック映像記憶部と、
前記被投写面上に投写される映像の歪みを補正する補正処理を行う補正処理部であって、射影変換の変換手法を利用するとともに、前記ブロック映像記憶部に記憶された前記ブロック映像データに基づいて、補正後の映像データである補正後映像データを生成し、前記被投写面上に投写される映像を表す映像データとして、前記映像光出力部に出力する補正処理部と、
前記補正処理部において所定の画素についての補正処理が行われる際に、その後に処理が行われる画素についての前記補正処理に用いられる前記ブロック映像データを予測し、予測されたブロック映像データが前記ブロック映像記憶部に記憶されていない場合には、前記フレーム映像記憶部から前記予測されたブロック映像データを読み出して、前記ブロック映像記憶部に記憶させるブロック映像予測部と、
を備えるプロジェクター。
この構成によれば、ブロック映像予測部を備えるため、予め、ブロック映像記憶部に画素補間に必要なブロック映像が記憶されるため、画素補間を行う際に改めて必要なブロック映像を読み出して記憶させる時間を短縮することができ、台形歪み補正処理の高速化を図ることができる。
[適用例2] 適用例1記載のプロジェクターにおいて、さらに、
前記ブロック映像記憶部において1つの前記ブロック映像データを記憶するブロック領域に関する情報であって、前記ブロック領域に記憶される前記入力映像データの前記ライン方向の座標であるx座標および前記ピクセル方向の座標であるy座標のうち少なくともいずれか一方を表す座標情報を含むタグ情報を記憶するタグ情報記憶部を備え、
前記ブロック映像予測部は、前記タグ情報記憶部に記憶された前記タグ情報と、前記補正処理の処理方向とに基づいて、前記ブロック映像データの予測を行う、プロジェクター。
この構成によれば、タグ情報を利用するため、容易にブロック映像データの予測を行うことができる。
[適用例3] 適用例2記載のプロジェクターにおいて、
前記タグ情報記憶部は、前記ブロック映像記憶部に記憶されている全てのブロック映像データに対応するタグ情報を、前記入力映像データの前記x座標の順に記憶する、プロジェクター。
この構成によれば、x座標の検索を簡略化でき、ブロック映像データの予測を高速化することができる。
[適用例4] 適用例1ないし3のいずれか一つに記載のプロジェクターにおいて、さらに、
前記補正処理部において所定の画素についての補正処理が行われる際に、当該画素の補正処理に用いられる前記ブロック映像データが前記ブロック映像記憶部に記憶されているか否かを判定し、当該ブロック映像データが前記ブロック映像記憶部に記憶されていない場合には、前記フレーム映像記憶部から当該ブロック映像データを読み出して、前記ブロック映像記憶部に記憶させる判定部を、
備えるプロジェクター。
この構成によれば、ブロック映像データの予測を行っていても、画素補間時に必要なブロック映像データがブロック映像記憶部に記憶されていない場合に、必要なブロック映像データをブロック映像記憶部に記憶させることができる。
[適用例5] 適用例4記載のプロジェクターにおいて、
前記判定部は、前記タグ情報記憶部に記憶された前記タグ情報を利用して、前記判定を行う、プロジェクター。
この構成によれば、タグ情報を利用して、容易に判定を行うことができる。
なお、本発明は、種々の態様で実現することが可能である。例えば、射影変換処理装置、射影変換処理方法等の態様で実現することができる。
台形歪み補正を概念的に示す説明図である。 補正後映像データの作成方法を概念的に示す説明図である。 画素補間の方法を概念的に示す図である。 本発明の一実施例としてのプロジェクターの構成を概略的に示すブロック図である。 台形歪み補正部120の構成を示す機能ブロック図である。 補正後映像データ生成処理の流れを模式的に示す工程図である。 補正後映像の1画素の画素値の算出における各処理のタイミングを示すタイミング図である。 フレームバッファー150とキャッシュブロック記憶部122との関係を模式的に示す図である。 キャッシュブロック記憶部122とキャッシュブロック用タグ情報記憶部123との関係を概念的に示す図である。 キャッシュブロックと補間ブロックとの関係を示す図である。 先読みリクエスト発行部132における先読み判定を概念的に示す図である。 先読みによりキャッシュブロック記憶部122に格納されるキャッシュブロックの変化を示す図である。 キャッシュブロック記憶部122に格納されているキャッシュブロックの一例を示す説明図である。 タグ情報を用いたヒット判定の例を示す説明図である。 ヒット判定処理の工程を模式的に示す工程図である。 ヒット判定処理の工程を模式的に示す工程図である。
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.実施例:
A−1.台形歪み補正:
A−2.プロジェクターの構成:
A−3.台形歪み補正部:
A−4.先読み判定:
A−5.ヒット判定:
A−6.実施例の効果
B.変形例:
A.実施例:
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)に基づいて、近傍の16画素(以下、「補間ブロック」と称する)を読み出し、フィルター係数を用いて画素補間を行う。これにより、補正後映像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を介して互いに接続されている。
映像入力部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の構成を示す機能ブロック図である。キャッシュブロック制御部121と、キャッシュブロック記憶部122と、キャッシュブロック用タグ情報記憶部123と、補間ブロック読み出し部124と、画素補間部125と、FIFO部126と、レジスター部127と、制御部128と、座標変換部129と、フィルター係数算出部130と、ヒット判定部131と、先読みリクエスト発行部132と、を中心に構成される。
キャッシュブロック制御部121は、フレームバッファー150に格納されている補正前映像データを、8×8画素からなるキャッシュブロック単位で取得してキャッシュブロック記憶部122に格納する。また、キャッシュブロック制御部121は、キャッシュブロック用タグ情報記憶部123に格納されているタグ情報を更新する。キャッシュブロック制御部121が取得するキャッシュブロックは、後述するように、ヒット判定部131または先読みリクエスト発行部132によって指定される。
キャッシュブロック記憶部122は、フレームバッファー150に格納されている1フレーム分の補正前映像データの一部のデータが、8×8画素からなるキャッシュブロック単位で格納できる。キャッシュブロック記憶部122は、1つのキャッシュブロック(8×8画素からなる映像データ)を格納できるブロック領域を複数備える。本実施例では、後に詳述するように、キャッシュブロック記憶部122は240列×4行のブロック領域を備える。本実施例において、キャッシュブロック記憶部122は、小容量で高速なSRAM(Static Random Access Memory)で構成される。本実施例におけるキャッシュブロック記憶部122が請求項におけるブロック映像記憶部に相当する。
キャッシュブロック用タグ情報記憶部123は、キャッシュブロック記憶部122をブロック領域単位で管理する際の管理情報であるタグ情報を格納する。本実施例におけるキャッシュブロック用タグ情報記憶部123が請求項におけるタグ情報記憶部に相当する。
補間ブロック読み出し部124は、画素補間部125における画素補間に必要な4×4画素からなる補間ブロックを、キャッシュブロック記憶部122から読み出して、画素補間部125に供給する。
画素補間部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 2011188051
本実施例では、補正後映像データの生成処理が開始される前に、台形歪み補正前にスクリーン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 2011188051
Figure 2011188051
上記(式2)、(式3)中の係数A〜Hは、レジスター部127に記憶されている。
フィルター係数算出部130は、座標変換部129から供給される小数部に基づいて、画素補間処理を実行する際に用いられるフィルター係数を、フィルター係数テーブルより選択して、選択されたフィルター係数を画素補間部125に供給する。フィルター係数テーブルは、図3に示す補間画素と既知画素との距離とフィルター係数との関係を示すテーブルであり、予め算出された結果がフィルター係数算出部130の備えるメモリに格納されている。本実施例における画素補間部125、座標変換部129、フィルター係数算出部130が請求項における補正処理部に相当する。
ヒット判定部131は、座標変換部129から供給された補正前座標の整数部に基づいて、画素補間部125における画素補間に用いられる座標の画素値がキャッシュブロック記憶部122に格納されているか否かを判定する。以下、この判定を「ヒット判定」と称する。ヒット判定の結果、キャッシュブロック記憶部122に画素補間に必要な画素値が格納されていない場合には、キャッシュブロック制御部121に対して、必要なキャッシュブロックの取得要求を出す。ヒット判定の結果、キャッシュブロック記憶部122に画素補間に必要な画素値が格納されている場合には、補間ブロック読み出し部124に対してキャッシュブロック記憶部122における読み出し位置を供給する。ヒット判定の処理の流れについては、後述する。本実施例におけるヒット判定部131が請求項における判定部に相当する。
先読みリクエスト発行部132は、座標変換部129に供給された補正前座標の整数部に基づいて、その後の画素補間処理に必要になるキャッシュブロックを予測して、そのキャッシュブロックを、キャッシュブロック記憶部122に格納させる。具体的な処理については、後述する。なお、上記したキャッシュブロックの予測を、「先読み判定」とも称する。本実施例における先読みリクエスト発行部132が請求項におけるブロック映像予測部に相当する。
図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における先読み判定についての説明に先立って、本実施例におけるキャッシュブロック記憶部122およびキャッシュブロック用タグ情報記憶部123の構成と、キャッシュブロックと、補間ブロックについて詳細に説明する。
図8は、フレームバッファー150とキャッシュブロック記憶部122との関係を模式的に示す図である。図9では、フレームバッファー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個のタグ情報が格納されている。
具体的には、タグ情報として以下の3つの情報が格納されている。(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)において、有効とは、フレームバッファー150の該当するY_ADRのブロックの画素値データがキャッシュブロックに格納されており、ヒット判定可能な状態を示していること、無効とは、キャッシュブロックに無効な画素値データが格納されており、ヒット判定不可能な状態であることを示す。本実施例において、台形歪み補正処理開始の際に、(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列のタグを抽出する。なお、x座標が8の整数倍でない場合には、x座標を8で割った結果の整数部が該当する列の列番号になる。
図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[0]によれば、補正前映像のy座標=40のブロックが先読み中であり、しばらく待てば読み出し可能であることがわかる。
TAG[2]は、WRITING=0,VALID=1,Y_ADR=2である。WRITING=0は、先読み中でないということ,VALID=0はデータが有効であるということを、それぞれ示している。また、Y_ADR=6を補正前映像のy座標に変換すると、2×8=16である。すなわち、TAG[0]によれば、補正前映像のy座標=16のブロックがキャッシュブロック記憶部122に存在することがわかる。
TAG[3]は、WRITING=0,VALID=1,Y_ADR=3である。WRITING=0は、先読み中でないということ,VALID=1はデータが有効であるということを、それぞれ示している。また、Y_ADR=3を補正前映像のy座標に変換すると、3×8=24である。すなわち、TAG[0]によれば、補正前映像の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かつVARID=1になるまで、タグ情報の読み出しと判定を繰り返す。ステップS210,S220,S230,S240においてVALID=1である場合には、目的の座標の画素値が含まれるキャッシュブロックがキャッシュブロック記憶部122に存在する(ヒットした)といえるため、ヒットしたタグに該当するキャッシュブロックの座標(列,行)を算出する。
A−6.実施例の効果:
以上説明したように、本実施例におけるプロジェクター100によれば、先読みリクエスト発行部132を備えるため、n番目の画素の画素値を求める画素補間を行う際に、n+1番目以降の画素の画素値を求めるために必要なキャッシュブロックを前もって読み出して(先読みして)、キャッシュブロック記憶部122に格納することができる。したがって、n+1番目以降の画素の画素値を求める際に、改めて必要なキャッシュブロックをキャッシュブロック記憶部122に格納しなくてもよい。すなわち、図6に示すブロックライト待ちの時間を短縮することができる。したがって、台形歪み補正処理の高速化を図ることができる。
また、本実施例では、キャッシュブロック用タグ情報記憶部123において、タグ情報が、キャッシュブロック記憶部122が備える全てのブロック領域に対応して、ブロック領域の並びと同一の並びで格納されている。そして、キャッシュブロックは、キャッシュブロックの列番号と同一の列番号のブロック領域に格納されている。したがって、ヒット判定を行う際に、ヒット判定を行う対象の座標について、まず、タグ情報の列を抽出して、その列について、順次ヒット判定を行うため、x座標の検索を簡略化でき、ヒット判定を高速化することができる。
また、本実施例では、1次バッファとして大容量かつ低速なフレームバッファー(DRAM)を用い、2次バッファとして小容量かつ高速なキャッシュメモリ(SRAM)を用いているため、コスト低減を図ることができる。
B.変形例
なお、本発明は上記した実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
(1)上記した本実施例では、台形歪み補正処理が開始される際に、フレームバッファー150から(0,0)〜(239,3)のキャッシュブロックが読み出され、キャッシュブロック記憶部122に格納される例を示したが、台形歪み補正処理が開始される際には、キャッシュブロック記憶部122にはキャッシュブロックが格納されておらず、キャッシュブロック制御部121に対してキャッシュブロックの読み出し要求が入力されるたびに、キャッシュブロック記憶部122に順次キャッシュブロックが格納される構成にしてもよい。この場合、キャッシュブロックが格納されていないブロック領域に対応するタグ情報は、VALID=0になっている。
(2)上記した実施例では、ヒット判定部131を備える構成を例示しているが、ヒット判定部131を備えない構成にしてもよい。ヒット判定部131を備えない構成にする場合には、例えば、先読みリクエスト発行部132が補間ブロック読み出し部124に対して読み出し位置を供給する構成にすればよい。このような構成にしても、先読みリクエストを行うことにより、画素補間に必要な補間ブロックを含むキャッシュブロックを読み出してキャッシュブロック記憶部122に格納することができる。
(3)1フレームの画素数、キャッシュブロックの画素数、および補間ブロックの画素数(画素補間に用いる画素数)は、上記した実施例に限定されない。
(4)上記した実施例におけるフレームバッファー150と台形歪み補正部120を備える射影変換処理装置として構成してもよい。例えば、射影変換処理装置にて変換処理を施した映像データに基づいて、液晶パネル、有機EL(Electro-Luminescence:エレクトロルミネッセンス)パネル等の映像表示部に映像を表示させる構成の映像表示装置を構成することができる。また、射影変換処理装置と、液晶パネル等の映像表示部を備えるデジタルカメラを構成してもよい。この場合、射影変換処理装置は、カメラのセンサーが、被写体に対して平行でない場合に生じる歪み(パースペクティブの歪み)を補正して、映像表示部に出力することによって、カメラのセンサーが被写体に対して平行になるように撮影した映像が、映像表示部に表示される。また、例えば、射影変換処理装置にて変換処理を施した映像データを、プリンタに出力したり、ハードディスクに書き込む等、種々の出力装置に出力する構成にしてもよい。このような場合も、上記した先読みリクエスト発行部132を備えることによって、台形歪み補正処理の高速化を図ることができる。
(5)上記した実施例において、プロジェクター100は、透過型の液晶パネル部192を用いて、照明光学系152からの光を変調しているが、透過型の液晶パネル部192に限定されず、例えば、デジタル・マイクロミラー・デバイス(DMD(登録商標):Digital Micro−Mirror Device)や、反射型の液晶パネル(LCOS(登録商標):Liquid Crystal on Silicon)等を用いて、照明光学系152からの光を変調する構成にしてもよい。また、小型CRT(陰極線管)上の映像を被投写面に投写するCRTプロジェクターでもよい。
(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…キャッシュブロック記憶部
123…キャッシュブロック用タグ情報記憶部
124…補間ブロック読み出し部
125…画素補間部
126…FIFO部
127…レジスター部
128…制御部
129…座標変換部
130…フィルター係数算出部
131…ヒット判定部
132…先読みリクエスト発行部
140…液晶パネル駆動部
150…フレームバッファー
152…照明光学系
160…高速バス制御部
162…低速バス制御部
170…プロセッサー部
180…撮像部
182…センサー部
190…照明光学系
192…液晶パネル部
194…投写光学系

Claims (6)

  1. 被投写面上に映像を投写して表示するプロジェクターであって、
    前記映像を表す映像光を生成して出力する映像光出力部と、
    前記プロジェクターに入力される入力映像データを複数のラインで構成されるフレーム映像として記憶するフレーム映像記憶部と、
    前記フレーム映像記憶部よりも小容量かつ高速な記憶部であって、前記フレーム映像記憶部に記憶されたフレーム映像の入力映像データにおけるライン方向およびこれに交叉するピクセル方向にそれぞれM×N(M,N≧2)個の画素から成るブロック映像データを単位として、前記フレーム映像の入力映像データの一部を記憶するブロック映像記憶部と、
    前記被投写面上に投写される映像の歪みを補正する補正処理を行う補正処理部であって、射影変換の変換手法を利用するとともに、前記ブロック映像記憶部に記憶された前記ブロック映像データに基づいて、補正後の映像データである補正後映像データを生成し、前記被投写面上に投写される映像を表す映像データとして、前記映像光出力部に出力する補正処理部と、
    前記補正処理部において所定の画素についての補正処理が行われる際に、その後に処理が行われる画素についての前記補正処理に用いられる前記ブロック映像データを予測し、予測されたブロック映像データが前記ブロック映像記憶部に記憶されていない場合には、前記フレーム映像記憶部から前記予測されたブロック映像データを読み出して、前記ブロック映像記憶部に記憶させるブロック映像予測部と、
    を備えるプロジェクター。
  2. 請求項1記載のプロジェクターにおいて、さらに、
    前記ブロック映像記憶部において1つの前記ブロック映像データを記憶するブロック領域に関する情報であって、前記ブロック領域に記憶される前記入力映像データの前記ライン方向の座標であるx座標および前記ピクセル方向の座標であるy座標のうち少なくともいずれか一方を表す座標情報を含むタグ情報を記憶するタグ情報記憶部を備え、
    前記ブロック映像予測部は、前記タグ情報記憶部に記憶された前記タグ情報と、前記補正処理の処理方向とに基づいて、前記ブロック映像データの予測を行う、プロジェクター。
  3. 請求項2記載のプロジェクターにおいて、
    前記タグ情報記憶部は、前記ブロック映像記憶部に記憶されている全てのブロック映像データに対応するタグ情報を、前記入力映像データの前記x座標の順に記憶する、プロジェクター。
  4. 請求項1ないし3のいずれか一つに記載のプロジェクターにおいて、さらに、
    前記補正処理部において所定の画素についての補正処理が行われる際に、当該画素の補正処理に用いられる前記ブロック映像データが前記ブロック映像記憶部に記憶されているか否かを判定し、当該ブロック映像データが前記ブロック映像記憶部に記憶されていない場合には、前記フレーム映像記憶部から当該ブロック映像データを読み出して、前記ブロック映像記憶部に記憶させる判定部を、
    備えるプロジェクター。
  5. 請求項4記載のプロジェクターにおいて、
    前記判定部は、前記タグ情報記憶部に記憶された前記タグ情報を利用して、前記判定を行う、プロジェクター。
  6. 入力された入力映像データに対して射影変換の変換手法を利用して変換処理を行う射影変換処理装置であって、
    前記入力映像データを複数のラインで構成されるフレーム映像として記憶するフレーム映像記憶部と、
    前記フレーム映像記憶部よりも小容量かつ高速な記憶部であって、前記フレーム映像記憶部に記憶されたフレーム映像の入力映像データにおけるライン方向およびこれに交叉するピクセル方向にそれぞれM×N(M,N≧2)個の画素から成るブロック映像データを単位として、前記フレーム映像の入力映像データの一部を記憶するブロック映像記憶部と、
    前記ブロック映像記憶部に記憶された前記ブロック映像データに基づいて、前記変換処理を行って、前記変換処理後の映像を表す変換後映像データを生成する変換処理部と、
    前記変換処理部において所定の画素についての変換処理が行われる際に、次に処理が行われる画素についての前記変換処理に用いられる前記ブロック映像データを予測し、予測されたブロック映像データが前記ブロック映像記憶部に記憶されていない場合には、前記フレーム映像記憶部から前記予測されたブロック映像データを読み出して、前記ブロック映像記憶部に記憶させるブロック映像予測部と、
    を備える射影変換処理装置。
JP2010048643A 2010-03-05 2010-03-05 プロジェクターおよび射影変換処理装置 Expired - Fee Related JP5348022B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010048643A JP5348022B2 (ja) 2010-03-05 2010-03-05 プロジェクターおよび射影変換処理装置
US13/039,652 US8885964B2 (en) 2010-03-05 2011-03-03 Projector, projection transform processing device, and image processing method in projector
CN201110057931.1A CN102196223B (zh) 2010-03-05 2011-03-04 投影仪、投影变换处理装置及投影仪中的图像处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010048643A JP5348022B2 (ja) 2010-03-05 2010-03-05 プロジェクターおよび射影変換処理装置

Publications (2)

Publication Number Publication Date
JP2011188051A true JP2011188051A (ja) 2011-09-22
JP5348022B2 JP5348022B2 (ja) 2013-11-20

Family

ID=44531398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010048643A Expired - Fee Related JP5348022B2 (ja) 2010-03-05 2010-03-05 プロジェクターおよび射影変換処理装置

Country Status (3)

Country Link
US (1) US8885964B2 (ja)
JP (1) JP5348022B2 (ja)
CN (1) CN102196223B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10349024B2 (en) 2015-03-02 2019-07-09 Seiko Epson Corporation Image processing device, image processing method, and display device

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013024540A1 (ja) * 2011-08-18 2013-02-21 Necディスプレイソリューションズ株式会社 画像処理装置および画像処理方法
CN102508397A (zh) * 2011-10-27 2012-06-20 王悦 一种图像比边缘融合投影方法
GB2499635B (en) * 2012-02-23 2014-05-14 Canon Kk Image processing for projection on a projection screen
US9607363B2 (en) 2012-06-19 2017-03-28 Ricoh Company, Ltd. Projector, trapezoidal distortion correction method, and storage medium storing trapezoidal distortion correction program
US20150193915A1 (en) * 2014-01-06 2015-07-09 Nvidia Corporation Technique for projecting an image onto a surface with a mobile device
JP6657570B2 (ja) * 2015-03-02 2020-03-04 セイコーエプソン株式会社 画像処理装置、表示装置、及び、画像処理装置の制御方法
JP7151126B2 (ja) * 2018-03-29 2022-10-12 セイコーエプソン株式会社 プロジェクター、及び、プロジェクターの制御方法
JP2019220887A (ja) * 2018-06-21 2019-12-26 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
CN114449234B (zh) * 2020-10-30 2024-01-09 扬智科技股份有限公司 投影装置与其投影画面校正方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278507A (ja) * 2001-03-19 2002-09-27 Ricoh Co Ltd 画像処理装置および画像表示装置
JP2003029714A (ja) * 2001-07-12 2003-01-31 Ricoh Co Ltd 投射型表示装置の画像補正方法
JP2005057492A (ja) * 2003-08-04 2005-03-03 Casio Comput Co Ltd プロジェクタ及びその投影像補正方法
JP2007150531A (ja) * 2005-11-25 2007-06-14 Seiko Epson Corp 画像処理装置および画像処理方法
JP2009225226A (ja) * 2008-03-18 2009-10-01 Seiko Epson Corp プロジェクタ、電子機器、および、プロジェクタの制御方法
JP2010026870A (ja) * 2008-07-22 2010-02-04 Seiko Epson Corp 画像処理装置、画像表示装置および画像データ生成方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832297A (en) * 1995-04-12 1998-11-03 Advanced Micro Devices, Inc. Superscalar microprocessor load/store unit employing a unified buffer and separate pointers for load and store operations
US5721957A (en) * 1996-06-03 1998-02-24 International Business Machines Corporation Method and system for storing data in cache and retrieving data from cache in a selected one of multiple data formats
US5787889A (en) * 1996-12-18 1998-08-04 University Of Washington Ultrasound imaging with real time 3D image reconstruction and visualization
US6590579B1 (en) * 2000-09-18 2003-07-08 S3 Graphics Co., Ltd. System for low miss rate replacement of texture cache lines
JP3692989B2 (ja) * 2000-11-13 2005-09-07 セイコーエプソン株式会社 画像表示システム、プロジェクタ、画像処理方法、プログラムおよび情報記憶媒体
JP4228854B2 (ja) * 2003-09-18 2009-02-25 セイコーエプソン株式会社 プロジェクタ
CN1797173A (zh) * 2004-12-30 2006-07-05 明基电通股份有限公司 投影机与其图像产生方法
JP4247641B2 (ja) * 2006-09-29 2009-04-02 セイコーエプソン株式会社 プロジェクタおよび補正方法
CN101483742A (zh) * 2009-01-23 2009-07-15 华南理工大学 组合式大屏幕前向投影显示方法及控制装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278507A (ja) * 2001-03-19 2002-09-27 Ricoh Co Ltd 画像処理装置および画像表示装置
JP2003029714A (ja) * 2001-07-12 2003-01-31 Ricoh Co Ltd 投射型表示装置の画像補正方法
JP2005057492A (ja) * 2003-08-04 2005-03-03 Casio Comput Co Ltd プロジェクタ及びその投影像補正方法
JP2007150531A (ja) * 2005-11-25 2007-06-14 Seiko Epson Corp 画像処理装置および画像処理方法
JP2009225226A (ja) * 2008-03-18 2009-10-01 Seiko Epson Corp プロジェクタ、電子機器、および、プロジェクタの制御方法
JP2010026870A (ja) * 2008-07-22 2010-02-04 Seiko Epson Corp 画像処理装置、画像表示装置および画像データ生成方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10349024B2 (en) 2015-03-02 2019-07-09 Seiko Epson Corporation Image processing device, image processing method, and display device

Also Published As

Publication number Publication date
CN102196223B (zh) 2016-08-10
CN102196223A (zh) 2011-09-21
JP5348022B2 (ja) 2013-11-20
US20110216983A1 (en) 2011-09-08
US8885964B2 (en) 2014-11-11

Similar Documents

Publication Publication Date Title
JP5348022B2 (ja) プロジェクターおよび射影変換処理装置
US8300978B2 (en) Projector, electronic apparatus, and method of controlling projector
JP5098869B2 (ja) 画像処理装置、画像表示装置および画像データ生成方法
JP5997882B2 (ja) プロジェクター及びプロジェクターの制御方法
JP5348035B2 (ja) プロジェクター
CN114449234B (zh) 投影装置与其投影画面校正方法
JP2011193332A (ja) プロジェクターおよび映像の投写方法
JP4706458B2 (ja) 画像処理装置および画像処理方法
JP5533109B2 (ja) 画像表示装置、プロジェクター、および、画像表示装置におけるデータの取得方法
US9336565B2 (en) Image processing device, display apparatus, and image processing method
CN114449236B (zh) 投影装置与其投影画面校正方法
JP2011211274A (ja) 画像表示装置、プロジェクター、および、画像表示装置におけるデータの取得方法
JP5387558B2 (ja) 画像処理装置および画像処理方法
JP5353772B2 (ja) プロジェクター
US9761160B2 (en) Image processing device, display apparatus, image processing method, and program
JP6418010B2 (ja) 画像処理装置、画像処理方法及び表示装置
JP5413265B2 (ja) 画像表示装置およびプロジェクター
JP2011199463A (ja) プロジェクター
JP5531701B2 (ja) プロジェクター
JP2009288713A (ja) 表示装置
JP5407928B2 (ja) 投写型表示装置および表示方法
JP2020061662A (ja) 映像処理装置、映像処理方法、及びプログラム
JP2021040256A (ja) 幾何学歪補正装置、幾何学歪補正方法、プログラム及びプロジェクタ
JP2006238436A (ja) 投射型映像表示装置、投射映像の形状を補正する方法、プログラムおよび記録媒体
JP2011176389A (ja) 投写型表示装置および表示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130805

R150 Certificate of patent or registration of utility model

Ref document number: 5348022

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees