JP5348035B2 - projector - Google Patents

projector Download PDF

Info

Publication number
JP5348035B2
JP5348035B2 JP2010064551A JP2010064551A JP5348035B2 JP 5348035 B2 JP5348035 B2 JP 5348035B2 JP 2010064551 A JP2010064551 A JP 2010064551A JP 2010064551 A JP2010064551 A JP 2010064551A JP 5348035 B2 JP5348035 B2 JP 5348035B2
Authority
JP
Japan
Prior art keywords
correction
unit
video
storage unit
cache block
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.)
Active
Application number
JP2010064551A
Other languages
Japanese (ja)
Other versions
JP2011199626A (en
Inventor
誠 江口
明彦 田村
貴志 進藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2010064551A priority Critical patent/JP5348035B2/en
Publication of JP2011199626A publication Critical patent/JP2011199626A/en
Application granted granted Critical
Publication of JP5348035B2 publication Critical patent/JP5348035B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

この発明は、被投写面に映像を表示するプロジェクターに関する。   The present invention relates to a projector that displays an image on a projection surface.

プロジェクターを用いてスクリーンなどの投写面に矩形の映像(以下、元映像ともいう)を表示させるとき、プロジェクターと投写面との相対的な位置関係によって、投写面に表示された映像(以下、投写映像ともいう)が台形、平行四辺形、それ以外の四角形等に歪む場合がある。このような台形歪み以外の射影歪みも含めて、本明細書では「台形歪み」と称する。このように投写映像に台形歪みが生じる場合には、射影変換の手法を利用して、投写映像が矩形に表示されるように補正する台形歪み補正の技術が用いられている。   When displaying a rectangular image (hereinafter also referred to as an original image) on a projection surface such as a screen using a projector, the image displayed on the projection surface (hereinafter referred to as a projection image) depending on the relative positional relationship between the projector and the projection surface. (Also referred to as an image) may be distorted into a trapezoid, a parallelogram, or other quadrangle. Including the projection distortion other than the trapezoidal distortion, it is referred to as “trapezoidal distortion” in this specification. In this way, when trapezoidal distortion occurs in the projected image, a technique for correcting trapezoidal distortion that corrects the projected image to be displayed in a rectangular shape by using a projective transformation technique is used.

特開2007−150531号公報JP 2007-150531 A

液晶パネルを利用して映像を表す映像光を生成するプロジェクターでは、台形歪み補正の際に、投写面上の投写映像に対し逆方向に歪ませた映像(以下、補正後映像ともいう)を、液晶パネル上で生成する。補正後映像の画素値は、元映像の画素値に基づいて、画素補間を行なうことによって求められる。補正後映像の1画素の画素値を求める場合には、例えば、補正後映像の画素に相当する元映像の座標を算出し、その周囲の複数の画素(例えば周囲16画素)を用いて画素補間を行う。すなわち、台形歪み補正処理では、大量の処理を行うため、その処理の高速化が望まれている。   In a projector that generates image light representing an image using a liquid crystal panel, an image distorted in the opposite direction to the projected image on the projection surface (hereinafter also referred to as a corrected image) when correcting keystone distortion, Produced on a liquid crystal panel. The pixel value of the corrected video is obtained by performing pixel interpolation based on the pixel value of the original video. When obtaining the pixel value of one pixel of the corrected image, for example, the coordinates of the original image corresponding to the pixel of the corrected image are calculated, and pixel interpolation is performed using a plurality of surrounding pixels (for example, surrounding 16 pixels). I do. That is, in the trapezoidal distortion correction processing, since a large amount of processing is performed, it is desired to increase the processing speed.

本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。   SUMMARY An advantage of some aspects of the invention is to solve at least a part of the problems described above, and the invention can be implemented as the following forms or application examples.

[適用例1] 被投写面上に映像を投写して表示するプロジェクターであって、
前記映像を表す映像光を生成して出力する映像光出力部と、
前記プロジェクターに入力される入力映像データを複数のラインで構成されるフレーム映像として記憶するフレーム映像記憶部と、
前記フレーム映像記憶部よりも小容量かつ高速な記憶部であって、前記フレーム映像記憶部に記憶されたフレーム映像の入力映像データにおけるライン方向およびこれに交叉するピクセル方向にそれぞれN×M(N,M≧2)個の画素から成るブロック映像データを単位として、前記フレーム映像の入力映像データの一部を記憶するブロック映像記憶部と、
前記被投写面上に投写される映像の歪みを補正する補正処理を行う補正処理部であって、前記ブロック映像記憶部に記憶された前記ブロック映像データに基づいて、補正処理後の映像データである補正後映像データを生成し、前記被投写面上に投写される映像を表す映像データとして、前記映像光出力部に出力する補正処理部と、
を備え、
前記補正処理部は、1フレーム分のフレーム映像に対する前記補正処理の開始時に前記ブロック映像記憶部に格納されるブロック映像データである初期化ブロック映像データが全て格納されるのに先立って、前記補正処理を開始するプロジェクター。
Application Example 1 A projector that projects and displays an image on a projection surface,
An image light output unit for generating and outputting image light representing the image;
A frame video storage unit for storing input video data input to the projector as a frame video composed of a plurality of lines;
A storage unit having a smaller capacity and a higher speed than the frame image storage unit, and N × M (N in the line direction and the pixel direction intersecting with the input image data of the frame image stored in the frame image storage unit, respectively. , M ≧ 2) a block video storage unit for storing a part of the input video data of the frame video in units of block video data composed of pixels;
A correction processing unit that performs a correction process for correcting distortion of an image projected on the projection surface, and is based on the block video data stored in the block video storage unit. A correction processing unit that generates corrected video data and outputs the video data representing the image projected on the projection surface to the video light output unit;
With
The correction processing unit corrects the correction prior to storing all of the initialization block video data, which is block video data stored in the block video storage unit at the start of the correction processing on a frame video for one frame. Projector to start processing.

この構成によれば、補正処理が、キャッシュブロック記憶部の初期化が完了されるのを待たずに行われるため、キャッシュブロック記憶部の初期化が完了してから補正処理を開始する場合に比べて、キャッシュブロック記憶部の初期化開始から1フレーム分の補正処理が完了するまでの処理時間を短縮することができる。   According to this configuration, since the correction process is performed without waiting for the initialization of the cache block storage unit to be completed, compared with the case where the correction process is started after the initialization of the cache block storage unit is completed. Thus, the processing time from the start of initialization of the cache block storage unit to the completion of correction processing for one frame can be shortened.

[適用例2] 適用例1記載のプロジェクターにおいて、
前記初期化ブロック映像データは、前記補正処理に用いられる補正パラメーターに基づいて決定されるプロジェクター。
[Application Example 2] In the projector described in Application Example 1,
The initialization block video data is determined based on a correction parameter used for the correction process.

このようにすると、補正処理において必要とされるブロック映像データを初期化ブロック映像データとすることができる。   In this way, the block video data required in the correction process can be used as the initialization block video data.

[適用例3] 適用例2記載のプロジェクターにおいて、
前記補正パラメーターは、前記補正後映像データの座標を補正前の映像データの座標に変換する際のパラメーターであるプロジェクター。
[Application Example 3] In the projector described in Application Example 2,
The correction parameter is a projector for converting the coordinates of the corrected video data into the coordinates of the video data before correction.

この構成によれば、例えば、プロジェクターを逆吊りにして使用する場合にも、適切なブロック映像データを初期化ブロック映像データとすることができる。   According to this configuration, for example, even when the projector is used while being suspended, appropriate block video data can be used as the initialization block video data.

[適用例4] 適用例2に記載のプロジェクターにおいて、
前記補正処理後の映像が前記補正処理前の映像をクリッピングして表示する映像である場合に、
前記補正パラメーターは、前記補正処理前の映像のうち表示される領域の前記ピクセル方向の最小座標であるプロジェクター。
[Application Example 4] In the projector described in Application Example 2,
When the video after the correction processing is a video that clips and displays the video before the correction processing,
The projector, wherein the correction parameter is a minimum coordinate in the pixel direction of an area to be displayed in an image before the correction process.

この構成によれば、クリッピングして投写する場合にも、適切なブロック映像データを初期化ブロック映像データとすることができる。   According to this configuration, even when clipping and projecting, appropriate block video data can be used as initialized block video data.

なお、本発明は、種々の態様で実現することが可能である。例えば、ブロック映像記憶装置を用いた射影変換処理装置、画像処理装置、画像処理方法等の態様で実現することができる。   Note that the present invention can be realized in various modes. For example, it can be realized in a form such as a projective transformation processing device, an image processing device, and an image processing method using a block video storage device.

台形歪み補正を概念的に示す説明図である。It is explanatory drawing which shows a trapezoid distortion correction | amendment notionally. 補正後映像データの作成方法を概念的に示す説明図である。It is explanatory drawing which shows notionally the production method of the image data after correction | amendment. 画素補間の方法を概念的に示す図である。It is a figure which shows notionally the method of pixel interpolation. 本発明の一実施例としてのプロジェクターの構成を概略的に示すブロック図である。1 is a block diagram schematically showing a configuration of a projector as an embodiment of the present invention. 台形歪み補正部120の構成を示す機能ブロック図である。3 is a functional block diagram illustrating a configuration of a trapezoidal distortion correction unit 120. FIG. フレームバッファー150とキャッシュブロック記憶部122との関係を模式的に示す図である。3 is a diagram schematically showing a relationship between a frame buffer 150 and a cache block storage unit 122. FIG. キャッシュブロック記憶部122に格納されるキャッシュブロックの一例を示す図である。4 is a diagram illustrating an example of a cache block stored in a cache block storage unit 122. FIG. キャッシュブロック記憶部122とキャッシュブロック用タグ情報記憶部123との関係を概念的に示す図である。It is a figure which shows notionally the relationship between the cache block memory | storage part 122 and the tag information storage part 123 for cache blocks. タグ情報を用いたヒット判定の例を示す説明図である。It is explanatory drawing which shows the example of the hit determination using tag information. 補正後映像データ生成処理の流れを模式的に示す工程図である。It is process drawing which shows typically the flow of the image data generation process after correction | amendment. 補正後映像IG1の一例を模式的に示す模式図である。It is a schematic diagram which shows typically an example of the image | video IG1 after correction | amendment. 補正後映像IG1の他の例を模式的に示す模式図である。It is a schematic diagram which shows typically the other example of the image | video IG1 after correction | amendment. プロジェクター100の傾き角を示す図である。FIG. 3 is a diagram showing an inclination angle of the projector 100. 比較例の補正後映像データ生成処理の流れを模式的に示す工程図である。It is process drawing which shows typically the flow of the image data generation process after correction | amendment of a comparative example.

次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1の実施例:
A−1.台形歪み補正の概要:
A−2.プロジェクターの構成:
A−3.台形歪み補正部:
A−4.キャッシュブロック記憶部の構成:
A−5.キャッシュブロック用タグ情報記憶部の構成:
A−6.ヒット判定:
A−7.台形歪み補正処理の流れ:
A−8.実施例の効果:
B.変形例:
Next, embodiments of the present invention will be described in the following order based on examples.
A. First embodiment:
A-1. Overview of keystone correction:
A-2. Projector configuration:
A-3. Keystone distortion correction section:
A-4. Cache block storage configuration:
A-5. Configuration of tag information storage unit for cache block:
A-6. Hit judgment:
A-7. Keystone distortion correction process:
A-8. Effects of the embodiment:
B. Variations:

A.実施例:
A−1.台形歪み補正の概要:
本発明の一実施例としてのプロジェクター100は、映像を表す映像光を投写して、スクリーンSCなどの被投写面上に映像を表示させる。プロジェクター100は、矩形の映像が入力された場合に、スクリーンSC上に表示される映像の台形歪みを補正して、矩形の映像を表示させることが可能なプロジェクターである。プロジェクター100の構成の説明に先立って、本実施例のプロジェクター100における台形歪み補正の概要について、簡単に説明する。
A. Example:
A-1. Overview of keystone correction:
The projector 100 as one embodiment of the present invention projects image light representing an image and displays the image on a projection surface such as a screen SC. The projector 100 is a projector capable of correcting a trapezoidal distortion of a video displayed on the screen SC and displaying a rectangular video when a rectangular video is input. Prior to the description of the configuration of the projector 100, an outline of trapezoidal distortion correction in the projector 100 of the present embodiment will be briefly described.

図1は、台形歪み補正を概念的に示す説明図である。図示するように、プロジェクター100が、スクリーンSCに対して、水平方向(左右方向)および垂直方向(上下方向)に、それぞれ傾きを有して配置された場合、液晶パネル部192に表示されている映像(補正前映像IG0)は矩形であるのに対し、スクリーンSCに投写される映像PIG0は、水平方向および垂直方向のそれぞれに台形歪みを生じる。なお、図1では、説明の便を図って、プロジェクター100内に含まれる液晶パネル部192を、プロジェクター100外に出して表示している。   FIG. 1 is an explanatory diagram conceptually showing trapezoidal distortion correction. As shown in the figure, when the projector 100 is arranged with an inclination in the horizontal direction (left-right direction) and the vertical direction (up-down direction) with respect to the screen SC, it is displayed on the liquid crystal panel unit 192. The video (pre-correction video IG0) is rectangular, whereas the video PIG0 projected on the screen SC has a trapezoidal distortion in each of the horizontal and vertical directions. In FIG. 1, for convenience of explanation, the liquid crystal panel unit 192 included in the projector 100 is displayed outside the projector 100.

そこで、射影変換の手法を利用して、スクリーンSCに投写される映像と逆方向に歪ませた映像(補正後映像IG1)を液晶パネル部192上に形成させると、スクリーンSC上に矩形の映像PIG1が表示される(図1)。このように、台形歪みを生じた映像を、矩形(本来表示されるべき映像の形状)に見せるための補正を、台形歪み補正という。   Therefore, when a projected image (corrected image IG1) distorted in the opposite direction to the image projected on the screen SC is formed on the liquid crystal panel unit 192 using a projective transformation technique, a rectangular image is displayed on the screen SC. PIG1 is displayed (FIG. 1). In this way, correction for making a video having a trapezoidal distortion appear rectangular (the shape of the video that should be originally displayed) is called a trapezoidal distortion correction.

図2は、補正後映像データの作成方法を概念的に示す説明図である。図2(a)は、補正前映像IG0を、(b)は、補正後映像IG1を示している。図2(b)における破線は、補正前映像IG0の外形を示している。補正前映像IG0は、液晶パネル部192のフレーム一杯に表示されるように映像処理を施されているため、図2(b)における破線は、すなわち、液晶パネル部192のフレームを示している。   FIG. 2 is an explanatory diagram conceptually showing a method of creating corrected video data. FIG. 2A shows a pre-correction video IG0, and FIG. 2B shows a post-correction video IG1. A broken line in FIG. 2B indicates the outer shape of the image IG0 before correction. Since the pre-correction video IG0 has been subjected to video processing so as to be displayed on the full frame of the liquid crystal panel unit 192, the broken line in FIG. 2B indicates the frame of the liquid crystal panel unit 192.

本実施例において、補正前映像IG0、補正後映像IG1の座標とは、補正前映像IG0、補正後映像IG1が液晶パネル部192に表示された場合の、画素座標をいう。以下、補正後映像IG1が表示されている場合の液晶パネル部192の画素座標を、補正後座標という。なお、液晶パネル部192の画素座標のうち、補正後映像IG1が表示されていない領域の画素座標も、補正後座標を用いて呼ぶ。補正後座標を、逆射影変換により補正前映像IG0における座標位置(液晶パネルの画素座標)に変換した座標を、補正前座標という。   In the present embodiment, the coordinates of the pre-correction video IG0 and the post-correction video IG1 are pixel coordinates when the pre-correction video IG0 and the post-correction video IG1 are displayed on the liquid crystal panel unit 192. Hereinafter, the pixel coordinates of the liquid crystal panel unit 192 when the corrected image IG1 is displayed are referred to as corrected coordinates. Of the pixel coordinates of the liquid crystal panel unit 192, the pixel coordinates of the area where the corrected image IG1 is not displayed are also referred to using the corrected coordinates. The coordinates obtained by converting the corrected coordinates to the coordinate positions (pixel coordinates of the liquid crystal panel) in the pre-correction video IG0 by reverse projection conversion are referred to as pre-correction coordinates.

補正後映像IG1を表す補正後映像データの作成方法の概要について、図2に基づいて説明する。補正後映像データを作成するには、補正後映像IG1を構成する全ての画素座標の画素値(R,G,Bの各値)を、補正前映像IG0の画素値に基づいて求める。例えば、図2に示す補正後映像IG1の真ん中の四角で囲まれた座標P1(X,Y)の画素値を求める方法について説明する。   An outline of a method of creating corrected video data representing the corrected video IG1 will be described with reference to FIG. In order to create the corrected video data, the pixel values (R, G, B values) of all the pixel coordinates constituting the corrected video IG1 are obtained based on the pixel values of the uncorrected video IG0. For example, a method of obtaining the pixel value of the coordinate P1 (X, Y) surrounded by the middle square of the corrected image IG1 shown in FIG.

まず、画素値を求めたい補正後座標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画素ごとに、上記の画素補間を行うことによって作成される。   First, the corrected coordinates P1 (X, Y) for which the pixel value is to be obtained are converted to the uncorrected coordinates P0 (x, y). Since the pre-correction video IG0 and the post-correction video IG1 do not have an integer multiple correspondence, the calculated pre-correction coordinates P0 (x, y) include decimals. Therefore, in order to obtain the pixel value of the post-correction coordinates P1 (X, Y), the pixel values of 16 coordinates near the pre-correction coordinates P0 (x, y) are used to calculate the coordinates of the pre-correction coordinates P0 (x, y). Estimate the pixel value. This is called pixel interpolation. Accordingly, based on the converted pre-correction coordinates P0 (x, y), neighboring pixel blocks are read out, and pixel interpolation is performed using the filter coefficients. Thereby, the pixel value of the coordinate P1 (X, Y) of the corrected image IG1 is obtained. That is, post-correction video data representing the post-correction video IG1 is created by performing pixel interpolation on the pixel values of all pixels (coordinates) constituting the post-correction video IG1 for each pixel.

図3は、画素補間の方法を概念的に示す図である。図3では、上記した補正後座標P1(X,Y)を変換した補正前座標P0(x,y)の画素値を画素補間により求める方法を例示している。図中、補正前座標P0(x,y)を、ハッチングを付した丸印で示し、その周辺16座標を白丸印で示している。補正前座標P0(x,y)の画素値は画素補間によって求められるため、補正前座標P0(x,y)の画素値を「補間画素」、周辺16座標の画素値は、補正前映像データであり既知であるため「既知画素」とも称する。   FIG. 3 is a diagram conceptually illustrating a pixel interpolation method. FIG. 3 illustrates a method of obtaining the pixel value of the uncorrected coordinate P0 (x, y) obtained by converting the corrected coordinate P1 (X, Y) by pixel interpolation. In the figure, the pre-correction coordinates P0 (x, y) are indicated by hatched circles, and the surrounding 16 coordinates are indicated by white circles. Since the pixel value of the pre-correction coordinate P0 (x, y) is obtained by pixel interpolation, the pixel value of the pre-correction coordinate P0 (x, y) is “interpolated pixel”, and the pixel values of the surrounding 16 coordinates are the pre-correction video data. Since it is known, it is also called “known pixel”.

図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次元に分解してもよい。   In FIG. 3, pixel values of 16 pixels that are known pixels are represented by DATA [m] [n] (m = 0, 1, 2, 3 (x direction); n = 0, 1, 2, 3 (y direction). ). The interpolation pixel is obtained by a convolution operation of the pixel value of 16 pixels and the filter coefficient. The filter coefficient takes into account the influence of the distance between the interpolation pixel and the known pixel (for example, the distance between the known pixel of DATA [1] [1] and the interpolation pixel is dx in the x direction and dy in the y direction). It is a coefficient and is determined for each known pixel. In FIG. 3, the filter coefficients are indicated as COEF [m] [n] (m = 0, 1, 2, 3 (x direction); n = 0, 1, 2, 3 (y direction)). In this embodiment, a two-dimensional filter coefficient is used, but the filter coefficient may be decomposed into one dimension.

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を介して互いに接続されている。
A-2. Projector configuration:
FIG. 4 is a block diagram schematically showing a configuration of a projector as an embodiment of the present invention. As illustrated, the projector 100 includes a video input unit 110, an IP conversion unit 112, a resolution conversion unit 114, a video synthesis unit 116, a trapezoidal distortion correction unit 120, a liquid crystal panel drive unit 140, and a frame buffer 150. A high-speed bus control unit 160, a low-speed bus control unit 162, a processor unit 170, an imaging unit 180, a sensor unit 182, an illumination optical system 190, a liquid crystal panel unit 192, and a projection optical system 194. It is structured in the center. Among the components described above, the components other than the illumination optical system 190, the liquid crystal panel unit 192, and the projection optical system 194 are connected to each other via the high-speed bus 102 or the low-speed bus 104.

映像入力部110は、図示しないDVDプレーヤーやパーソナルコンピューターなどからケーブルを介して入力された入力映像信号に対して、必要によりA/D変換を行い、デジタル映像信号をIP変換部112に供給する。   The video input unit 110 performs A / D conversion on an input video signal input from a DVD player or personal computer (not shown) via a cable, if necessary, and supplies the digital video signal to the IP conversion unit 112.

IP変換部112は、映像入力部110から供給された映像データのフォーマットを、インタレース方式からプログレッシブ方式に変換する処理を実行し、得られた映像データを解像度変換部114に供給する。   The IP conversion unit 112 executes processing for converting the format of the video data supplied from the video input unit 110 from the interlace method to the progressive method, and supplies the obtained video data to the resolution conversion unit 114.

解像度変換部114は、IP変換部112から供給された映像データに対して、サイズの拡大処理または縮小処理(すなわち、解像度変換処理)を施し、得られた映像データを、映像合成部116に供給する。   The resolution conversion unit 114 performs a size enlargement process or a reduction process (that is, resolution conversion process) on the video data supplied from the IP conversion unit 112, and supplies the obtained video data to the video synthesis unit 116. To do.

映像合成部116は、解像度変換部114から供給された映像データとメニュー画面などのOSD(On Screen Display)とを合成して、フレームバッファー150に、補正前映像データとして書き込む。   The video composition unit 116 synthesizes the video data supplied from the resolution conversion unit 114 and an OSD (On Screen Display) such as a menu screen, and writes the resultant data in the frame buffer 150 as pre-correction video data.

フレームバッファー150は、1フレームまたは複数フレームのデータを格納できる。本実施例では、フレームバッファー150として、安価で大容量なDRAM(Dynamic Random Access Memory)を用いている。本実施例におけるフレームバッファー150が請求項におけるフレーム映像記憶部に相当する。   The frame buffer 150 can store data of one frame or a plurality of frames. In this embodiment, an inexpensive and large-capacity DRAM (Dynamic Random Access Memory) is used as the frame buffer 150. The frame buffer 150 in this embodiment corresponds to a frame video storage unit in the claims.

台形歪み補正部120は、スクリーンSCに対してプロジェクター100の投写軸を傾けた状態で投写した場合に生じる台形歪みを補正する。具体的には、フレームバッファー150に格納されている補正前映像データが表す補正前映像を、台形歪みを補償する形状で液晶パネル部192に表示させるため、補正前映像データに対して補正処理を施し、補正後映像データとして、液晶パネル駆動部140に供給する。台形歪み補正部120については、後に詳述する。   The trapezoidal distortion correction unit 120 corrects trapezoidal distortion that occurs when projection is performed with the projection axis of the projector 100 tilted with respect to the screen SC. Specifically, in order to display the pre-correction video represented by the pre-correction video data stored in the frame buffer 150 on the liquid crystal panel unit 192 in a shape that compensates for trapezoidal distortion, the correction processing is performed on the pre-correction video data. The corrected video data is supplied to the liquid crystal panel driving unit 140. The trapezoidal distortion correction unit 120 will be described in detail later.

液晶パネル駆動部140は、台形歪み補正部120を経て入力されたデジタル映像信号に基づいて、液晶パネル部192を駆動する。液晶パネル部192は、複数の画素をマトリクス状に配置した透過型液晶パネルにより構成される。液晶パネル部192は、液晶パネル駆動部140によって駆動され、マトリクス状に配置された各画素における光の透過率を変化させることにより、照明光学系190から照射された照明光を、映像を表す有効な映像光へと変調するための映像を形成する。本実施例において、液晶パネル部192のモードはWUXGAであり、解像度は1920×1200ドットである。本実施例では、液晶パネル画素座標を、x=0〜1919、y=0〜1199と規定している。なお、液晶パネル部192は、本実施例と異なる解像度のものを用いてもよい。   The liquid crystal panel drive unit 140 drives the liquid crystal panel unit 192 based on the digital video signal input through the trapezoidal distortion correction unit 120. The liquid crystal panel unit 192 includes a transmissive liquid crystal panel in which a plurality of pixels are arranged in a matrix. The liquid crystal panel unit 192 is driven by the liquid crystal panel driving unit 140, and changes the light transmittance in each pixel arranged in a matrix, thereby changing the illumination light emitted from the illumination optical system 190 to an effective image. An image for modulation into a new image light is formed. In this embodiment, the mode of the liquid crystal panel unit 192 is WUXGA, and the resolution is 1920 × 1200 dots. In this embodiment, the liquid crystal panel pixel coordinates are defined as x = 0 to 1919 and y = 0 to 1199. The liquid crystal panel unit 192 may have a resolution different from that of this embodiment.

照明光学系190は、例えば、高圧水銀ランプ、超高圧水銀ランプ等のランプ類や、その他の発光体を備えて構成される。投写光学系194は、プロジェクター100の筐体の前面に取り付けられており、液晶パネル部192によって映像光へと変調された光を拡大して、スクリーンSCに投写する。投写光学系194はズームレンズ(図示せず)を備え、液晶パネル部192を透過した光を投写する際の拡大の程度(ズーム状態)を変化させることができる。本実施例における液晶パネル駆動部140、液晶パネル部192、照明光学系190、投写光学系194が、請求項における映像光出力部に相当する。   The illumination optical system 190 includes, for example, lamps such as a high pressure mercury lamp and an ultrahigh pressure mercury lamp, and other light emitters. The projection optical system 194 is attached to the front surface of the housing of the projector 100, expands the light modulated into the image light by the liquid crystal panel unit 192, and projects it onto the screen SC. The projection optical system 194 includes a zoom lens (not shown), and can change the degree of enlargement (zoom state) when projecting light transmitted through the liquid crystal panel unit 192. The liquid crystal panel driving unit 140, the liquid crystal panel unit 192, the illumination optical system 190, and the projection optical system 194 in this embodiment correspond to the image light output unit in the claims.

プロセッサー部170は、記憶部(図示しない)に記憶された制御プログラムを読み出して実行することにより、プロジェクター100内の各部の動作を制御する。また、撮像部180により撮像された撮影画像や、センサー部182により検出されるプロジェクター100の傾きや、ユーザからの指示に基づいて、後述する補正後座標(X0〜X3、Y0〜Y3)(図2参照)、座標変換行列の座標変換係数(後に詳述する)を算出し、台形歪み補正部120に出力する。なお、本実施例において、プロセッサー部170は、ユーザからの指示をプロジェクター100本体に設けられた操作パネル(図示しない)を通じて受け取る構成にしているが、例えば、リモコンを通じたユーザからの指示をリモコン制御部が受信して、低速バス104を介してプロセッサー部170がユーザからの指示を受信する構成にしてもよい。   The processor unit 170 controls the operation of each unit in the projector 100 by reading and executing a control program stored in a storage unit (not shown). Further, corrected coordinates (X0 to X3, Y0 to Y3) described later based on the captured image captured by the imaging unit 180, the tilt of the projector 100 detected by the sensor unit 182 and the instruction from the user (FIG. 2), a coordinate conversion coefficient (described in detail later) of the coordinate conversion matrix is calculated and output to the trapezoidal distortion correction unit 120. In this embodiment, the processor unit 170 is configured to receive an instruction from the user through an operation panel (not shown) provided in the main body of the projector 100. For example, the instruction from the user through a remote control is controlled by the remote controller. The processor unit 170 may receive the instruction from the user via the low-speed bus 104.

撮像部180は、CCDカメラを有しており、撮影映像を生成する。撮像部180により生成された撮影映像は、図示せざる撮影映像メモリ内に格納される。なお、撮像部180は、CCDカメラの代わりに他の撮像デバイスを有することも可能である。   The imaging unit 180 has a CCD camera and generates a captured video. The captured video generated by the imaging unit 180 is stored in a captured video memory (not shown). Note that the imaging unit 180 may have another imaging device instead of the CCD camera.

センサー部182は、プロジェクター100の鉛直方向からの傾きを検出することにより、撮像部180のCCD光軸が水平面となす傾き角度を検出することができる。   The sensor unit 182 can detect the tilt angle formed by the CCD optical axis of the imaging unit 180 and the horizontal plane by detecting the tilt of the projector 100 from the vertical direction.

A−3.台形歪み補正部:
台形歪み補正部120は、上記したように、フレームバッファー150に格納されている補正前映像データが表す補正前映像を、台形歪みを補償する形状に補正した補正後映像データを生成する。図5は、台形歪み補正部120の構成を示す機能ブロック図である。台形歪み補正部120は、キャッシュブロック制御部121と、キャッシュブロック記憶部122と、キャッシュブロック用タグ情報記憶部123と、補間ブロック読み出し部124と、画素補間部125と、FIFO部126と、レジスター部127と、制御部128と、座標変換部129と、フィルター係数算出部130と、ヒット判定部131と、を中心に構成される。
A-3. Keystone distortion correction section:
As described above, the trapezoidal distortion correction unit 120 generates post-correction video data in which the pre-correction video represented by the pre-correction video data stored in the frame buffer 150 is corrected to a shape that compensates for trapezoidal distortion. FIG. 5 is a functional block diagram illustrating a configuration of the trapezoidal distortion correction unit 120. The trapezoidal distortion correction unit 120 includes a cache block control unit 121, a cache block storage unit 122, a cache block tag information storage unit 123, an interpolation block reading unit 124, a pixel interpolation unit 125, a FIFO unit 126, and a register. The unit 127, the control unit 128, the coordinate conversion unit 129, the filter coefficient calculation unit 130, and the hit determination unit 131 are mainly configured.

キャッシュブロック制御部121は、フレームバッファー150に格納されている補正前映像データを、8×8画素からなる画素ブロック単位で取得してキャッシュブロック記憶部122に格納する。なお、以下の説明では、この8×8画素からなる画素のブロックを「キャッシュブロック」と称する。また、キャッシュブロック制御部121は、キャッシュブロック用タグ情報記憶部123に格納されているタグ情報を更新する。キャッシュブロック制御部121が取得するキャッシュブロックは、後述するように、キャッシュブロック記憶部122を初期化する場合には、予め定められており、初期化が完了した後は、ヒット判定部131によって指定される。本実施例において、1フレームの台形歪み補正処理を開始する際に、フレームバッファー150から最初に格納されるべきキャッシュブロック(以下、「初期化ブロック」とも称する)を読み出してキャッシュブロック記憶部122に書き込むことを「キャッシュブロック記憶部122の初期化」と称する。   The cache block control unit 121 acquires the pre-correction video data stored in the frame buffer 150 for each pixel block composed of 8 × 8 pixels and stores it in the cache block storage unit 122. In the following description, a block of pixels composed of 8 × 8 pixels is referred to as a “cache block”. Further, the cache block control unit 121 updates the tag information stored in the cache block tag information storage unit 123. As will be described later, the cache block acquired by the cache block control unit 121 is predetermined when the cache block storage unit 122 is initialized, and is designated by the hit determination unit 131 after the initialization is completed. Is done. In this embodiment, when the trapezoidal distortion correction process for one frame is started, a cache block to be stored first (hereinafter also referred to as “initialization block”) is read from the frame buffer 150 and stored in the cache block storage unit 122. Writing is referred to as “initialization of the cache block storage unit 122”.

キャッシュブロック記憶部122は、フレームバッファー150に格納されている1フレーム分の補正前映像データの一部のデータが、8×8画素からなるキャッシュブロック単位で格納できる。キャッシュブロック記憶部122は、1つのキャッシュブロック(8×8画素からなる映像データ)を格納できるブロック領域を複数備える。本実施例では、後に詳述するように、キャッシュブロック記憶部122は240列×4行のブロック領域を備える。本実施例において、キャッシュブロック記憶部122は、小容量で高速なSRAM(Static Random Access Memory)で構成されている。本実施例におけるキャッシュブロック記憶部122が請求項におけるブロック映像記憶部に相当する。   The cache block storage unit 122 can store a part of the pre-correction video data for one frame stored in the frame buffer 150 in units of cache blocks including 8 × 8 pixels. The cache block storage unit 122 includes a plurality of block areas in which one cache block (video data composed of 8 × 8 pixels) can be stored. In this embodiment, as will be described in detail later, the cache block storage unit 122 includes a block area of 240 columns × 4 rows. In this embodiment, the cache block storage unit 122 is configured by a small capacity and high speed SRAM (Static Random Access Memory). The cache block storage unit 122 in this embodiment corresponds to the block video storage unit in the claims.

キャッシュブロック用タグ情報記憶部123は、キャッシュブロック記憶部122をブロック領域単位で管理する際の管理情報であるタグ情報を格納する。   The cache block tag information storage unit 123 stores tag information that is management information when the cache block storage unit 122 is managed in units of block areas.

補間ブロック読み出し部124は、画素補間部125における画素補間に必要な4×4画素からなる補間ブロックを、キャッシュブロック記憶部122から読み出して、画素補間部125に供給する。後に詳述するように、ヒット判定部131において、補正前座標が補正前映像データ外、すなわち、図2に示す補正前映像IG0の範囲外となった場合には、レジスター部127から供給される背景色データを補間ブロックとして、画素補間部125に供給する。   The interpolation block reading unit 124 reads out an interpolation block composed of 4 × 4 pixels necessary for pixel interpolation in the pixel interpolation unit 125 from the cache block storage unit 122 and supplies it to the pixel interpolation unit 125. As will be described in detail later, when the pre-correction coordinates are outside the pre-correction video data, that is, outside the range of the pre-correction video IG0 shown in FIG. The background color data is supplied to the pixel interpolation unit 125 as an interpolation block.

画素補間部125は、補間ブロック読み出し部124から供給される補間ブロックと、フィルター係数算出部130から供給されるフィルター係数とに基づいて画素補間処理を実行し、補間画素(補正後映像の画素)の値を求めて、FIFO部126を介して液晶パネル駆動部140(図4)に出力する。   The pixel interpolation unit 125 executes pixel interpolation processing based on the interpolation block supplied from the interpolation block reading unit 124 and the filter coefficient supplied from the filter coefficient calculation unit 130, and performs interpolation pixel (corrected video pixel). Is obtained and output to the liquid crystal panel driving unit 140 (FIG. 4) via the FIFO unit 126.

レジスター部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を導出する。本実施例における座標変換係数A〜Hが、請求項における補正パラメーターに相当する。   The register unit 127 stores parameters supplied from the processor unit 170. Specifically, the register unit 127 includes parameters such as the frame width and frame height of the pre-correction video, the coordinate conversion coefficients A to H of the coordinate conversion matrix, and background colors (for example, black, gray, blue). Etc.) is stored as background color data. The coordinate conversion coefficients A to H are calculated by the processor unit 170 using the following determinant (formula 1) of projective transformation. Specifically, the processor unit 170 converts the uncorrected coordinates (x0 to x3, y0 to y3) (see FIG. 2) into the corrected coordinates (X0 to X3, Y0 to Y3) (see FIG. 2) by projective transformation. As converted, the four coordinates (X0 to X3, Y0 to Y3) of the corrected image IG1 are input to the determinant (Formula 1) to derive the coordinate conversion coefficients A to H. The coordinate conversion coefficients A to H in the present embodiment correspond to correction parameters in claims.

Figure 0005348035
Figure 0005348035

本実施例では、補正後映像データの生成処理が開始される前に、台形歪み補正前にスクリーンSCに表示されている映像PIG0を、撮像部180で撮像する。プロセッサー部170(図4)は、撮像した映像に基づいて、台形歪み補正後の補正後映像IG1における4つの頂点の座標(X0〜X3、Y0〜Y3)(図2(b))を求めている。   In this embodiment, before the correction image data generation process is started, the image PIG0 displayed on the screen SC before the trapezoidal distortion correction is imaged by the imaging unit 180. The processor unit 170 (FIG. 4) obtains the coordinates (X0 to X3, Y0 to Y3) (FIG. 2B) of the four vertices in the corrected image IG1 after the trapezoidal distortion correction based on the captured image. Yes.

なお、センサー部182によって、プロジェクター100の鉛直方向からの傾きを検出して、検出された角度に基づいて、補正後座標(X0〜X3、Y0〜Y3)を求めるようにしてもよい。また、ユーザがリモコンを操作して、手動で台形歪み補正を行うようにしてもよい。そのような場合には、プロセッサー部170は、リモコン制御部を介して受け取った、ユーザからの指示に基づいて、補正後座標(X0〜X3、Y0〜Y3)を求める。   Note that the sensor unit 182 may detect the inclination of the projector 100 from the vertical direction, and obtain corrected coordinates (X0 to X3, Y0 to Y3) based on the detected angle. Also, the keystone distortion correction may be performed manually by the user operating the remote controller. In such a case, the processor unit 170 obtains corrected coordinates (X0 to X3, Y0 to Y3) based on an instruction from the user received via the remote control unit.

制御部128は、台形歪み補正部120全般の制御を行う。例えば、制御部128に入力される同期信号に従って、フレームの始まりを示すフレームスタート信号を全てのブロックに対して出力する。同期信号は、例えば、1秒間に60フレーム表示される場合には、1/60秒毎に入力される。なお、図5では、キャッシュブロック制御部121と座標変換部129以外のブロックに対するフレームスタート信号の出力を示す矢印は、図の見易さを考慮して図示を省略している。   The control unit 128 controls the trapezoidal distortion correction unit 120 in general. For example, a frame start signal indicating the start of a frame is output to all blocks in accordance with the synchronization signal input to the control unit 128. For example, when 60 frames are displayed per second, the synchronization signal is input every 1/60 seconds. In FIG. 5, the arrow indicating the output of the frame start signal for the blocks other than the cache block control unit 121 and the coordinate conversion unit 129 is omitted for the sake of easy viewing.

座標変換部129は、レジスター部127から供給される座標変換係数A〜Hと、以下の(式2)、(式3)を用いて、台形歪み補正を行った後の補正後映像IG1の座標値(補正後座標)を、補正前映像IG0(矩形の映像)の座標値(補正前座標)に変換する。補正前映像IG0と補正後映像IG1とは、整数倍の対応関係とはなっていないため、座標変換部129にて算出された補正前座標は、小数を含んでいる。座標変換部129は、補正前座標を、整数部と小数部に分けて、整数部をヒット判定部131に供給し、小数部をフィルター係数算出部130に供給する。   The coordinate conversion unit 129 uses the coordinate conversion coefficients A to H supplied from the register unit 127 and the following (Expression 2) and (Expression 3) to correct the coordinates of the corrected image IG1 after performing the trapezoidal distortion correction. The value (coordinate after correction) is converted into the coordinate value (coordinate before correction) of the pre-correction video IG0 (rectangular video). Since the pre-correction video IG0 and the post-correction video IG1 do not have an integer multiple correspondence, the pre-correction coordinates calculated by the coordinate conversion unit 129 include decimals. The coordinate conversion unit 129 divides the uncorrected coordinates into an integer part and a decimal part, supplies the integer part to the hit determination unit 131, and supplies the decimal part to the filter coefficient calculation unit 130.

ここで、上記した補正前座標の算出方法について説明する。補正後映像IG1は、補正前映像IG0を射影変換することにより得られた映像であると考えられるため、補正前座標は、補正後座標について、下記の(式2)、(式3)に基づいて、逆射影変換することによって算出される。補正前座標(x,y)が射影変換により補正後座標(X,Y)に変換されたものとする。   Here, the above-described calculation method of the pre-correction coordinates will be described. Since the corrected image IG1 is considered to be an image obtained by projective transformation of the uncorrected image IG0, the uncorrected coordinates are based on the following (Expression 2) and (Expression 3) with respect to the corrected coordinates. Then, it is calculated by reverse projective transformation. It is assumed that the uncorrected coordinates (x, y) are converted to corrected coordinates (X, Y) by projective transformation.

Figure 0005348035
Figure 0005348035
上記(式2)、(式3)中の係数A〜Hは、レジスター部127に記憶されている。
Figure 0005348035
Figure 0005348035
The coefficients A to H in the above (Expression 2) and (Expression 3) are stored in the register unit 127.

フィルター係数算出部130は、座標変換部129から供給される小数部に基づいて、画素補間処理を実行する際に用いられるフィルター係数を、フィルター係数テーブルより選択して、選択されたフィルター係数を画素補間部125に供給する。フィルター係数テーブルは、図3に示す補間画素と既知画素との距離とフィルター係数との関係を示すテーブルであり、予め算出された結果がフィルター係数算出部130の備えるメモリに格納されている。   Based on the decimal part supplied from the coordinate conversion unit 129, the filter coefficient calculation unit 130 selects a filter coefficient used when executing the pixel interpolation process from the filter coefficient table, and selects the selected filter coefficient as a pixel. This is supplied to the interpolation unit 125. The filter coefficient table is a table showing the relationship between the distance between the interpolation pixel and the known pixel shown in FIG. 3 and the filter coefficient, and a result calculated in advance is stored in a memory included in the filter coefficient calculation unit 130.

ヒット判定部131は、座標変換部129から供給された補正前座標の整数部に基づいて、まず、補正前座標が背景か否か判定する。背景でないと判定された場合は、ヒット判定部131は、座標変換部129から供給された補正前座標の整数部に基づいて、画素補間部125における画素補間に用いられる座標の画素値がキャッシュブロック記憶部122に格納されているか否かを判定する。以下、この判定を「ヒット判定」と称する。ヒット判定の結果、キャッシュブロック記憶部122に画素補間に必要な画素値が格納されていない場合には、キャッシュブロック制御部121に対して、必要なキャッシュブロックの取得要求を出す。ヒット判定の結果、キャッシュブロック記憶部122に画素補間に必要な画素値が格納されている場合には、補間ブロック読み出し部124に対してキャッシュブロック記憶部122における読み出し位置を供給する。ヒット判定の処理の流れについては、後述する。   The hit determination unit 131 first determines whether or not the pre-correction coordinates are the background, based on the integer part of the pre-correction coordinates supplied from the coordinate conversion unit 129. If it is determined that it is not the background, the hit determination unit 131 determines that the pixel value of the coordinates used for pixel interpolation in the pixel interpolation unit 125 is based on the integer part of the coordinates before correction supplied from the coordinate conversion unit 129. It is determined whether it is stored in the storage unit 122. Hereinafter, this determination is referred to as “hit determination”. As a result of the hit determination, when a pixel value necessary for pixel interpolation is not stored in the cache block storage unit 122, a request for acquiring a necessary cache block is issued to the cache block control unit 121. As a result of the hit determination, when a pixel value necessary for pixel interpolation is stored in the cache block storage unit 122, the read position in the cache block storage unit 122 is supplied to the interpolation block reading unit 124. The flow of the hit determination process will be described later.

A−4.キャッシュブロック記憶部の構成:
図6は、フレームバッファー150とキャッシュブロック記憶部122との関係を模式的に示す図である。図6では、フレームバッファー150に格納されている1フレーム分の補正前映像データを、8×8画素からなるキャッシュブロック単位に分割した状態を示している。本実施例において、フレームバッファー150に格納されている補正前映像データは、1920×1200画素によって構成されており、このような補正前映像データが240×150個のキャッシュブロックに分割されている。各キャッシュブロック内に記載されている文字列(x,y)は、そのキャッシュブロックのx方向およびy方向の位置(列番号,行番号)を示している。本実施例において、列が並んでいる方向をx方向、行方向行が並んでいる方向をy方向としている。本実施例におけるx方向が請求項におけるライン方向、y方向が請求項におけるピクセル方向に、それぞれ相当する。
A-4. Cache block storage configuration:
FIG. 6 is a diagram schematically illustrating the relationship between the frame buffer 150 and the cache block storage unit 122. FIG. 6 shows a state where the pre-correction video data for one frame stored in the frame buffer 150 is divided into cache block units each consisting of 8 × 8 pixels. In this embodiment, the pre-correction video data stored in the frame buffer 150 is composed of 1920 × 1200 pixels, and such pre-correction video data is divided into 240 × 150 cache blocks. The character string (x, y) described in each cache block indicates the position (column number, line number) in the x direction and y direction of the cache block. In this embodiment, the direction in which the columns are arranged is the x direction, and the direction in which the row direction rows are arranged is the y direction. The x direction in this embodiment corresponds to the line direction in the claims, and the y direction corresponds to the pixel direction in the claims.

キャッシュブロック記憶部122は、1つのキャッシュブロックを格納できるブロック領域を、240列×4行個備える。図6では、各ブロック領域を識別するために、(列(0〜239),行(0〜3))の番号を付している。キャッシュブロック記憶部122には、フレームバッファー150に格納されている1フレーム分の補正前映像データの一部のデータが、240×4個格納できる。   The cache block storage unit 122 includes 240 × 4 rows of block areas that can store one cache block. In FIG. 6, in order to identify each block area, numbers (column (0-239), row (0-3)) are given. The cache block storage unit 122 can store a portion of 240 × 4 pieces of pre-correction video data for one frame stored in the frame buffer 150.

本実施例では、フレームスタート信号がキャッシュブロック制御部121に入力されると、フレームバッファー150から(0,0)〜(239,3)のキャッシュブロックが読み出され、キャッシュブロック記憶部122に格納される(キャッシュブロック記憶部122の初期化)。キャッシュブロックは、キャッシュブロック記憶部122において、各キャッシュブロックの列番号と同一の列番号のブロック領域に格納される。したがって、台形歪み補正処理が開始される際には、キャッシュブロック記憶部122の各ブロック領域には、ブロック領域の列番号、行番号と同一の列番号、行番号を有するキャッシュブロックが格納される(図6)。すなわち、キャッシュブロック記憶部122の幅はフレームバッファー150の幅と同じであり、キャッシュブロック記憶部122の高さは、4キャッシュブロック分であり、キャッシュブロック記憶部122には、1フレームの32ライン(4キャッシュブロック×8px)分の画素データが格納されている。   In this embodiment, when a frame start signal is input to the cache block control unit 121, the cache blocks (0, 0) to (239, 3) are read from the frame buffer 150 and stored in the cache block storage unit 122. (Initialization of the cache block storage unit 122). The cache block is stored in the block area having the same column number as the column number of each cache block in the cache block storage unit 122. Therefore, when the trapezoidal distortion correction process is started, each block area of the cache block storage unit 122 stores a cache block having the same column number and row number as the column number and row number of the block area. (FIG. 6). That is, the width of the cache block storage unit 122 is the same as the width of the frame buffer 150, the height of the cache block storage unit 122 is 4 cache blocks, and the cache block storage unit 122 includes 32 lines of 1 frame. Pixel data for (4 cache blocks × 8 px) is stored.

図7は、キャッシュブロック記憶部122に格納されるキャッシュブロックの一例を示す図である。キャッシュブロック記憶部122に格納されるキャッシュブロックは、台形歪み補正処理の進行にしたがって、更新される。キャッシュブロック制御部121は、ヒット判定部131からキャッシュブロックの読み出し要求(キャッシュブロックリクエスト)が入力されると、キャッシュブロックリクエストに基づいて、フレームバッファー150から、指定された座標位置(列,行)のキャッシュブロックを読み出し、キャッシュブロック記憶部122の指定されたブロック領域(列,行)に、読み出したキャッシュブロックを格納させる。したがって、台形歪み補正処理の途中では、図7に示すように、キャッシュブロック記憶部122に格納されるキャッシュブロックが、フレームバッファー150の図示したような位置のキャッシュブロックになっている。   FIG. 7 is a diagram illustrating an example of a cache block stored in the cache block storage unit 122. The cache block stored in the cache block storage unit 122 is updated as the trapezoidal distortion correction process proceeds. When a cache block read request (cache block request) is input from the hit determination unit 131, the cache block control unit 121 receives a specified coordinate position (column, row) from the frame buffer 150 based on the cache block request. The cache block is read out, and the read cache block is stored in the designated block area (column, row) of the cache block storage unit 122. Therefore, during the trapezoidal distortion correction process, as shown in FIG. 7, the cache block stored in the cache block storage unit 122 is a cache block at a position as illustrated in the frame buffer 150.

補間ブロックは、図7において斜線ハッチングを付して図示している。本実施例において、キャッシュブロックは8×8画素からなり、補間ブロックは4×4画素からなるため、補間ブロックは、キャッシュブロックの一部となる。後述するように、画素補間に必要な補間ブロックは、ヒット判定部131から供給される位置情報に基づいて読み出される。   The interpolation block is shown by hatching in FIG. In this embodiment, since the cache block is composed of 8 × 8 pixels and the interpolation block is composed of 4 × 4 pixels, the interpolation block becomes a part of the cache block. As will be described later, an interpolation block necessary for pixel interpolation is read based on position information supplied from the hit determination unit 131.

補間ブロックは、(1)1つのキャッシュブロックに含まれる場合、(2)y方向に隣接する2つのキャッシュブロックに跨る場合、(3)x方向に隣接する2つのキャッシュブロックに跨る場合、(4)2行×2列の4つのキャッシュブロックに跨る場合がある。図7では、(4)2行×2列の4つのキャッシュブロックに跨る場合が例示されている。   The interpolation block is included in (1) one cache block, (2) straddling two cache blocks adjacent in the y direction, (3) straddling two cache blocks adjacent in the x direction, (4 ) There are cases where it extends over four cache blocks of 2 rows × 2 columns. In FIG. 7, (4) the case of straddling four cache blocks of 2 rows × 2 columns is illustrated.

A−5.キャッシュブロック用タグ情報記憶部の構成:
キャッシュブロック用タグ情報記憶部123は、キャッシュブロック記憶部122をブロック領域単位で管理する際の管理情報であるタグ情報を格納する。図8は、キャッシュブロック記憶部122とキャッシュブロック用タグ情報記憶部123との関係を概念的に示す図である。図示するように、キャッシュブロック用タグ情報記憶部123には、キャッシュブロック記憶部122の240×4個のブロック領域に対応させて240×4個のタグ情報が格納されている。
A-5. Configuration of tag information storage unit for cache block:
The cache block tag information storage unit 123 stores tag information that is management information when the cache block storage unit 122 is managed in units of block areas. FIG. 8 is a diagram conceptually showing the relationship between the cache block storage unit 122 and the cache block tag information storage unit 123. As shown in the figure, the cache block tag information storage unit 123 stores 240 × 4 tag information corresponding to the 240 × 4 block areas of the cache block storage unit 122.

具体的には、タグ情報として、(1)フレームバッファー150からキャッシュブロック記憶部122への書き込み待ちか否かを示す情報(書き込み待ちの場合WRITING=1)、(2)ブロック領域のデータが有効か無効かを示す情報(有効の場合VALID=1、無効の場合VALID=0)、及び(3)ブロック領域に格納されているキャッシュブロックがフレームバッファー150のどの位置のブロックかを示す座標Y_ADRが格納されている。(3)の座標Y_ADRは、キャッシュブロックの左上端の画素のフレームバッファー150におけるy座標を1/8にした情報を保持する。本実施例では、図6に示す行番号を座標Y_ADRとする。(2)において、有効とは、座標Y_ADRのキャッシュブロックがキャッシュブロック記憶部122に格納されていること、無効とは座標Y_ADRのキャッシュブロックがキャッシュブロック記憶部122に格納されていないことを示す。上記したように、キャッシュブロック記憶部122に、ヒット判定部131によって指定されたキャッシュブロックや、初期化ブロックが格納されると、キャッシュブロック制御部121は、キャッシュブロック用タグ情報記憶部123の該当するタグ情報を、VALID=1、WRITING=0に更新する。   Specifically, as tag information, (1) information indicating whether or not to wait for writing from the frame buffer 150 to the cache block storage unit 122 (WRITING = 1 in the case of waiting for writing), and (2) data in the block area is valid. (Valid = 1 when valid, valid = 0 when invalid), and (3) a coordinate Y_ADR indicating where in the frame buffer 150 the cache block stored in the block area is located Stored. The coordinate Y_ADR in (3) holds information in which the y coordinate in the frame buffer 150 of the upper left pixel of the cache block is 1/8. In this embodiment, the line number shown in FIG. 6 is set as the coordinate Y_ADR. In (2), “valid” indicates that the cache block at the coordinate Y_ADR is stored in the cache block storage unit 122, and “invalid” indicates that the cache block at the coordinate Y_ADR is not stored in the cache block storage unit 122. As described above, when the cache block specified by the hit determination unit 131 or the initialization block is stored in the cache block storage unit 122, the cache block control unit 121 corresponds to the cache block tag information storage unit 123. The tag information to be updated is updated to VALID = 1 and WRITEING = 0.

A−6.ヒット判定:
図9は、タグ情報を用いたヒット判定の例を示す説明図である。図9では、キャッシュブロック記憶部122の初期化の途中であり、キャッシュブロック記憶部122のブロック領域(0,0)〜(239,1)に、キャッシュブロック(0,0)〜(239,1)が格納されている状態のタグ情報が例示されている。すなわち、キャッシュブロック用タグ情報記憶部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,16)である場合のヒット判定について、図14に基づいて説明する。
A-6. Hit judgment:
FIG. 9 is an explanatory diagram illustrating an example of hit determination using tag information. In FIG. 9, the cache block storage unit 122 is being initialized, and the cache blocks (0, 0) to (239, 1) in the cache block storage unit 122 are transferred to the cache blocks (0, 0) to (239, 1). ) Is illustrated as an example. That is, tag information related to the block area (2, 0) in the cache block storage unit 122 is stored in 2 columns and 0 rows of the cache block tag information storage unit 123. The 16 pixels used for pixel interpolation are (x [0], y [0]), (x [1], y [1]), (x [2], y [2]), ..., (x [15], y [15]), hit determination is performed pixel by pixel in order from (x [0], y [0]). For example, hit determination when (x [0], y [0]) = (16, 16) will be described with reference to FIG.

(x[0],y[0])=(16,16)が含まれるキャッシュブロックがキャッシュブロック記憶部122に格納されているか否か判定する場合、まず、ヒット判定部131は、キャッシュブロック用タグ情報記憶部123から該当する列のタグを抽出する。1つのキャッシュブロックは、8×8画素から成るため、画素補間に用いる画素のx座標を8で割ることにより、該当する列がわかる。(x[0],y[0])=(16,16)は第2列に該当するため、第2列のタグを抽出する。   When determining whether or not a cache block including (x [0], y [0]) = (16, 16) is stored in the cache block storage unit 122, first, the hit determination unit 131 uses the cache block The tag of the corresponding column is extracted from the tag information storage unit 123. Since one cache block is composed of 8 × 8 pixels, the corresponding column can be obtained by dividing the x coordinate of the pixel used for pixel interpolation by 8. Since (x [0], y [0]) = (16, 16) corresponds to the second column, the tag in the second column is extracted.

図9において、抽出されたタグの情報が、紙面右側に記載されている。タグの行番号が小さい順にヒット判定を行う。以下、タグ情報を、TAG[行番号]で表す。TAG[0]は、WRITING=0,VALID=1,Y_ADR=0である。WRITING=0は、書き込み待ちでないということ,VALID=1はデータが有効であるということをそれぞれ示している。また、Y_ADR=0を補正前映像のy座標に変換すると、0×8=0である。すなわち、TAG[0]によれば、キャッシュブロックの左上端の画素のy座標が補正前映像においてy座標=0であるブロックがキャッシュブロック記憶部122に存在することがわかる。   In FIG. 9, the extracted tag information is written on the right side of the page. Hit determination is performed in ascending order of tag line numbers. Hereinafter, tag information is represented by TAG [line number]. TAG [0] is WRITEING = 0, VALID = 1, and Y_ADR = 0. WRITEING = 0 indicates that writing is not waiting, and VALID = 1 indicates that data is valid. When Y_ADR = 0 is converted into the y coordinate of the pre-correction video, 0 × 8 = 0. That is, according to TAG [0], it can be seen that there is a block in the cache block storage unit 122 in which the y coordinate of the pixel at the upper left corner of the cache block is y coordinate = 0 in the pre-correction video.

TAG[1]は、WRITING=0,VALID=1,Y_ADR=1である。WRITING=0は、書き込み待ちでないということ,VALID=1はデータが有効であるということをそれぞれ示している。また、Y_ADR=1を補正前映像のy座標に変換すると、1×8=8である。すなわち、TAG[1]によれば、キャッシュブロックの左上端の画素のy座標が補正前映像においてy座標=8であるブロックがキャッシュブロック記憶部122に存在することがわかる。   TAG [1] is WRITEING = 0, VALID = 1, and Y_ADR = 1. WRITEING = 0 indicates that writing is not waiting, and VALID = 1 indicates that data is valid. When Y_ADR = 1 is converted into the y coordinate of the pre-correction video, 1 × 8 = 8. That is, according to TAG [1], it can be seen that there is a block in the cache block storage unit 122 in which the y coordinate of the upper left pixel of the cache block is y coordinate = 8 in the pre-correction video.

TAG[2]は、WRITING=1,VALID=0,Y_ADR=2である。WRITING=1は、書き込み待ちであるということ,VALID=0はデータが無効であるということをそれぞれ示している。また、Y_ADR=2を補正前映像のy座標に変換すると、2×8=16である。すなわち、TAG[2]によれば、キャッシュブロックの左上端の画素のy座標が補正前映像においてy座標=16であるブロックが書き込み待ちであり、しばらく待てば読み出し可能であることがわかる。   TAG [2] is WRITEING = 1, VALID = 0, and Y_ADR = 2. WRITEING = 1 indicates that the writing is waiting, and VALID = 0 indicates that the data is invalid. When Y_ADR = 2 is converted to the y coordinate of the pre-correction video, 2 × 8 = 16. That is, according to TAG [2], it can be seen that a block in which the y coordinate of the pixel at the upper left corner of the cache block has y coordinate = 16 in the pre-correction video is waiting for writing, and can be read after a while.

TAG[3]は、WRITING=1,VALID=0,Y_ADR=3である。WRITING=1は、書き込み待ちであるということ,VALID=0はデータが無効であるということをそれぞれ示している。また、Y_ADR=3を補正前映像のy座標に変換すると、3×8=24である。すなわち、TAG[3]によれば、キャッシュブロックの左上端の画素のy座標が補正前映像においてy座標=24であるブロックが書き込み待ちであることがわかる。   TAG [3] is WRITEING = 1, VALID = 0, and Y_ADR = 3. WRITEING = 1 indicates that the writing is waiting, and VALID = 0 indicates that the data is invalid. When Y_ADR = 3 is converted into the y coordinate of the pre-correction video, 3 × 8 = 24. That is, according to TAG [3], it can be seen that the block whose y coordinate of the upper left pixel of the cache block is y coordinate = 24 in the pre-correction video is waiting for writing.

すなわち、(x[0],y[0])=(16,16)が含まれるキャッシュブロックがキャッシュブロック記憶部122に格納されているか否か判定した結果、(x[0],y[0])=(16,16)が含まれるキャッシュブロックは書き込み待ちであり、しばらく待てば、読み出し可能であると判定される。   That is, as a result of determining whether or not a cache block including (x [0], y [0]) = (16, 16) is stored in the cache block storage unit 122, (x [0], y [0 ]) = (16, 16) is included in the cache block, and after a while, it is determined that it can be read out.

A−7.台形歪み補正処理の流れ:
本実施例において、台形歪み補正処理は、台形歪み補正部120において実行される全ての処理、すなわち、フレームバッファー150からキャッシュブロック記憶部122へのキャッシュブロックの格納処理、補正後映像データの生成処理を含む。本実施例における台形歪み補正部120では、制御部128(図5)からフレームスタート信号が出力され、キャッシュブロック制御部121(図5)および座標変換部129(図5)に入力されると、キャッシュブロック制御部121は初期化ブロックを読み出してキャッシュブロック記憶部122に書き込み(キャッシュブロック記憶部122の初期化を開始し)、同時に、座標変換部129は補正後映像の座標(補正後座標)を座標変換して補正前座標を求める。すなわち、本実施例では、キャッシュブロック記憶部122の初期化の開始と同時に、補正後映像データ生成処理が開始される。換言すると、キャッシュブロック記憶部122の初期化の完了に先立って、補正後映像データ生成処理が開始される。本実施例において、初期化ブロックは、上記したように、(0,0)〜(239,3)のキャッシュブロックである。本実施例における補正後映像データ生成処理が請求項における補正処理に、初期化ブロックが請求項における初期化ブロック映像データに、それぞれ相当する。
A-7. Keystone distortion correction process:
In this embodiment, the trapezoidal distortion correction processing is all processing executed in the trapezoidal distortion correction unit 120, that is, cache block storage processing from the frame buffer 150 to the cache block storage unit 122, and corrected video data generation processing. including. In the trapezoidal distortion correction unit 120 in this embodiment, when a frame start signal is output from the control unit 128 (FIG. 5) and input to the cache block control unit 121 (FIG. 5) and the coordinate conversion unit 129 (FIG. 5), The cache block control unit 121 reads the initialization block and writes it to the cache block storage unit 122 (starts initialization of the cache block storage unit 122). At the same time, the coordinate conversion unit 129 coordinates the corrected video (corrected coordinate). Is converted to the coordinates before correction. That is, in this embodiment, the corrected video data generation process is started simultaneously with the start of initialization of the cache block storage unit 122. In other words, the corrected video data generation process is started prior to completion of initialization of the cache block storage unit 122. In this embodiment, the initialization block is a cache block of (0, 0) to (239, 3) as described above. The corrected video data generation processing in this embodiment corresponds to the correction processing in the claims, and the initialization block corresponds to the initialization block video data in the claims.

キャッシュブロック記憶部122の初期化の流れを以下に説明する。まず、キャッシュブロック制御部121(図5)は、フレームスタート信号が入力されると、キャッシュブロック用タグ情報記憶部123に格納されているタグ情報を、全て更新する。具体的には、キャッシュブロック記憶部122の初期化でキャッシュブロック記憶部122の各ブロック領域に格納されるキャッシュブロックの座標Y_ADRを書き込み、WRITING=1(書き込み待ち),VALID=0(ブロック領域のデータが無効)にする。   The flow of initialization of the cache block storage unit 122 will be described below. First, when a frame start signal is input, the cache block control unit 121 (FIG. 5) updates all tag information stored in the cache block tag information storage unit 123. Specifically, the cache block coordinates Y_ADR stored in each block area of the cache block storage unit 122 upon initialization of the cache block storage unit 122 are written, WRITEING = 1 (waiting to be written), VALID = 0 (block area Data is invalid).

キャッシュブロック制御部121は、タグ情報の更新と同時に、フレームバッファー150から初期化ブロックを読み出して、キャッシュブロック記憶部122への書き込みを開始する。初期化処理に際して、1つのキャッシュブロックが格納されると、キャッシュブロック制御部121によってキャッシュブロック用タグ情報記憶部123の対応するタグ情報が更新され、WRINTING=0,VALID=1になる。   At the same time as updating the tag information, the cache block control unit 121 reads the initialization block from the frame buffer 150 and starts writing to the cache block storage unit 122. When one cache block is stored in the initialization process, the corresponding tag information in the cache block tag information storage unit 123 is updated by the cache block control unit 121, and WRINTING = 0 and VALID = 1.

図10は、補正後映像データ生成処理の流れを模式的に示す工程図である。座標変換部129(図5)はフレームスタート信号が入力されたか否かを判断する(ステップS102)。座標変換部129は、フレームスタート信号が入力されるまでは待機して(ステップS102においてNO)、フレームスタート信号が入力されると (ステップS102においてYES)、上記したように、補正後映像の座標(補正後座標)を座標変換して補正前座標を求める(ステップS104)。   FIG. 10 is a process diagram schematically showing the flow of the corrected video data generation process. The coordinate conversion unit 129 (FIG. 5) determines whether or not a frame start signal has been input (step S102). The coordinate conversion unit 129 waits until the frame start signal is input (NO in step S102). When the frame start signal is input (YES in step S102), as described above, the coordinates of the corrected video are obtained. The coordinates before correction are obtained by converting the coordinates after correction (step S104).

座標変換部129が算出した補正前座標の整数部をヒット判定部131(図5)に入力すると、ヒット判定部131はまず、補正前座標の周辺画素が背景か否か判定する(ステップS106)。この周辺画素とは、算出した補正前座標に対応する補正後座標の画素値を補間により求めるための補間ブロックを構成する画素である。この処理は、具体的には、周辺画素の全て、すなわち、補間ブロックを構成する16画素の全てが背景であるか否かを判定する処理である。各々の周辺画素の座標は、算出した補正前座標から容易に特定することができる。この点について図3に示した画素配置を用いて説明すれば、補正前座標がP0(x,y)として算出された場合、補正前座標の整数部が示す座標(Int(x),Int(y))は、図3に示すDATA[1][1]の既知画素の座標に該当するので、DATA[0][0]の既知画素の座標は(Int(x)−1,Int(y)−1)である。同様にして、DATA[3][0]の既知画素の座標は(Int(x)+2,Int(y)−1)、DATA[3][3]の既知画素の座標は(Int(x)+2,Int(y)+2)、DATA[0][3]の既知画素の座標は(Int(x)−1,Int(y)+2)になる。したがって、本実施例においては、補正前x座標の整数部Int(x)+2<x0,Int(x)+2<x3,Int(x)−1>x1,Int(x)−1>x2のいずれかを満たす場合、または、補正前y座標の整数部Int(y)+2<y0,Int(y)+2<y1,Int(y)−1>y2,Int(y)−1>y3のいずれかを満たす場合に周辺画素の全てが背景と判定される。x0〜x3,y0〜y3は図2に示す。具体的には、本実施例において、(x0,y0)=(0,0),(x1,y1)=(1919,0),(x2,y2)=(1919,1199),(x3,y3)=(0,1199)であるため、Int(x)+2<0(すなわち、負),Int(x)−1>1919,Int(y)+2<0(すなわち、負),Int(y)−1>1199のいずれかを満たす場合に周辺画素の全てが背景と判定される。なお、Int(x),Int(y)に代えて、小数部を含む補正前x座標,補正前y座標そのものを用いても、同様に判定することができる。   When the integer part of the pre-correction coordinates calculated by the coordinate conversion unit 129 is input to the hit determination unit 131 (FIG. 5), the hit determination unit 131 first determines whether or not the surrounding pixel of the pre-correction coordinates is the background (step S106). . This peripheral pixel is a pixel constituting an interpolation block for obtaining the pixel value of the corrected coordinate corresponding to the calculated pre-correction coordinate by interpolation. Specifically, this process is a process for determining whether or not all the peripheral pixels, that is, all the 16 pixels constituting the interpolation block are the background. The coordinates of each peripheral pixel can be easily specified from the calculated pre-correction coordinates. If this point is described using the pixel arrangement shown in FIG. 3, when the pre-correction coordinates are calculated as P0 (x, y), the coordinates (Int (x), Int ( Since y)) corresponds to the coordinates of the known pixels of DATA [1] [1] shown in FIG. 3, the coordinates of the known pixels of DATA [0] [0] are (Int (x) −1, Int (y ) -1). Similarly, the coordinates of the known pixel of DATA [3] [0] are (Int (x) +2, Int (y) -1), and the coordinates of the known pixel of DATA [3] [3] are (Int (x) +2, Int (y) +2), the coordinates of the known pixels of DATA [0] [3] are (Int (x) -1, Int (y) +2). Therefore, in this embodiment, any one of the integer part Int (x) +2 <x0, Int (x) +2 <x3, Int (x) -1> x1, Int (x) -1> x2 of the x coordinate before correction. Or the integer part Int (y) +2 <y0, Int (y) +2 <y1, Int (y) -1> y2, Int (y) -1> y3 of the y-coordinate before correction If the condition is satisfied, all the surrounding pixels are determined to be the background. x0 to x3, y0 to y3 are shown in FIG. Specifically, in this embodiment, (x0, y0) = (0, 0), (x1, y1) = (1919, 0), (x2, y2) = (1919, 1199), (x3, y3) ) = (0, 1199), Int (x) +2 <0 (ie, negative), Int (x) -1> 1919, Int (y) +2 <0 (ie, negative), Int (y) When any one of −1> 1199 is satisfied, all the surrounding pixels are determined to be the background. Note that the same determination can be made by using the pre-correction x coordinate including the decimal part and the pre-correction y coordinate instead of Int (x) and Int (y).

ヒット判定部131において、周辺画素の全てが背景と判定されると(ステップS106においてYES)、補間を行う必要はないということであるから、キャッシュブロック用タグ情報記憶部123を参照する必要はない。そこで、補間ブロック読み出し部124はレジスター部127より背景色データを読み出して、画素補間部125(図5)に供給する(ステップS112)。   If all of the surrounding pixels are determined to be the background in the hit determination unit 131 (YES in step S106), it is not necessary to perform interpolation, so there is no need to refer to the cache block tag information storage unit 123. . Therefore, the interpolation block reading unit 124 reads the background color data from the register unit 127 and supplies it to the pixel interpolation unit 125 (FIG. 5) (step S112).

一方、ヒット判定部131において、周辺画素の少なくとも1つが背景でないと判定されると(ステップS106においてNO)、全ての周辺画素のうちの背景でない周辺画素を特定し、当該特定された背景でない周辺画素についてヒット判定を行う(ステップS108)。背景でない周辺画素の特定は、周辺画素の各々について、周辺画素のx座標である値XがX≧x0,X≧x3,X≦x1,X≦x2の全てを満たし、かつ、周辺画素のy座標である値YがY≧y0,Y≧y1,Y≦y2,Y≦y3の全てを満たすか否かを判断することにより行うことができる。これらの条件式を満たす周辺画素は、背景でない周辺画素として特定される。ヒット判定の結果、WRITING=1(書き込み待ち)があった場合には(ステップS108においてNO)、ヒット判定部131はキャッシュブロックリクエストをキャッシュブロック制御部121に対して発行し、所定の時間が経過した後再びステップS108を行う。すなわち、目的のキャッシュブロックがキャッシュブロック記憶部122に格納されるまで、ステップS108,S110を繰り返す。   On the other hand, when the hit determination unit 131 determines that at least one of the peripheral pixels is not the background (NO in step S106), the peripheral pixel that is not the background among all the peripheral pixels is specified, and the peripheral that is not the specified background Hit determination is performed for the pixel (step S108). For the peripheral pixels that are not backgrounds, the value X that is the x coordinate of the peripheral pixels satisfies all of X ≧ x0, X ≧ x3, X ≦ x1, and X ≦ x2 for each of the peripheral pixels, and y This can be done by determining whether or not the value Y as coordinates satisfies all of Y ≧ y0, Y ≧ y1, Y ≦ y2, and Y ≦ y3. A peripheral pixel that satisfies these conditional expressions is specified as a peripheral pixel that is not a background. As a result of the hit determination, if WRITEING = 1 (waiting for writing) is found (NO in step S108), the hit determination unit 131 issues a cache block request to the cache block control unit 121, and a predetermined time has elapsed. After that, step S108 is performed again. That is, steps S108 and S110 are repeated until the target cache block is stored in the cache block storage unit 122.

本実施例において、キャッシュブロック記憶部122の初期化が完了していない場合は、ステップS108とS110を繰り返すことにより、キャッシュブロック記憶部122の初期化処理の進行を待つことになる。初期化処理が進行して、目的のキャッシュブロックが格納されると、キャッシュブロック用タグ情報記憶部123のタグ情報が更新され、WRINTING=0,VALID=1になる。再度、ヒット判定を行い(ステップS108)、目的のキャッシュブロックが格納されるブロック領域に対応するタグがWRINTING=0,VALID=1になっていると判定されると(ステップS108においてYES)、ヒット判定部131は、補間ブロックの読み出し位置を補間ブロック読み出し部124に供給する。   In this embodiment, when the initialization of the cache block storage unit 122 is not completed, the process of initialization of the cache block storage unit 122 is awaited by repeating steps S108 and S110. When the initialization process proceeds and the target cache block is stored, the tag information in the cache block tag information storage unit 123 is updated, and WRINTING = 0 and VALID = 1. Hit determination is performed again (step S108). If it is determined that the tag corresponding to the block area in which the target cache block is stored is WRINTING = 0 and VALID = 1 (YES in step S108), the hit The determination unit 131 supplies the interpolation block reading position to the interpolation block reading unit 124.

補間ブロックの読み出し位置が補間ブロック読み出し部124に供給されると、補間ブロック読み出し部124(図5)は、供給された読み出し位置に基づいて補間ブロックをキャッシュブロック記憶部122から読み出す(ステップS112)。一方、フィルター係数算出部130(図5)は、ステップS104で求められた補正前座標の小数部に基づいて、フィルター係数テーブルからフィルター係数を選択する。補間ブロック読み出し部124における補間ブロック読み出し処理と、フィルター係数算出部130におけるフィルター係数算出処理とは並列に行われ、両処理が終了すると、ステップS116の処理に進む。   When the interpolation block readout position is supplied to the interpolation block readout unit 124, the interpolation block readout unit 124 (FIG. 5) reads out the interpolation block from the cache block storage unit 122 based on the supplied readout position (step S112). . On the other hand, the filter coefficient calculation unit 130 (FIG. 5) selects a filter coefficient from the filter coefficient table based on the decimal part of the coordinates before correction obtained in step S104. The interpolation block reading process in the interpolation block reading unit 124 and the filter coefficient calculation process in the filter coefficient calculation unit 130 are performed in parallel. When both processes are completed, the process proceeds to step S116.

画素補間部125(図5)は、補間ブロック読み出し部124から補間ブロックが供給され、フィルター係数算出部130からフィルター係数が供給されると、供給された補間ブロックとフィルター係数とを用いて、畳み込み演算により、補正後座標の画素値を算出する(ステップS116)。なお、画素補間部125に背景色データが供給されると、画素補間部125によって算出された補正後座標の画素値は、背景色データになる。   When the interpolation block is supplied from the interpolation block reading unit 124 and the filter coefficient is supplied from the filter coefficient calculation unit 130, the pixel interpolation unit 125 (FIG. 5) performs convolution using the supplied interpolation block and filter coefficient. A pixel value of the corrected coordinates is calculated by calculation (step S116). When background color data is supplied to the pixel interpolation unit 125, the pixel value of the corrected coordinates calculated by the pixel interpolation unit 125 becomes background color data.

以上のステップS102〜ステップS116を、補正後座標(X,Y)=(0,0)〜(フレーム幅−1,フレーム高さ−1)まで繰り返して行うことにより、補正後映像データが生成される。本実施例では、フレーム幅1920、フレーム高さ1200であるため、補正後座標(X,Y)=(0,0)〜(1919,1199)まで、ステップS102〜ステップS116を繰り返して行う。なお、フレーム幅、フレーム高さが本実施例と異なる場合には、ステップS102〜ステップS116を、補正後座標(X,Y)=(0,0)〜(フレーム幅−1,フレーム高さ−1)まで繰り返して行うことにより、補正後映像データが生成される。   By repeating the above steps S102 to S116 until the corrected coordinates (X, Y) = (0, 0) to (frame width −1, frame height −1), corrected video data is generated. The In this embodiment, since the frame width is 1920 and the frame height is 1200, steps S102 to S116 are repeated until the corrected coordinates (X, Y) = (0, 0) to (1919, 1199). When the frame width and the frame height are different from those of the present embodiment, the steps S102 to S116 are performed after the corrected coordinates (X, Y) = (0, 0) to (frame width−1, frame height− By repeating the process up to 1), corrected video data is generated.

A−8.実施例の効果:
以上説明したように、本実施例におけるプロジェクター100によれば、キャッシュブロック制御部121および座標変換部129にフレームスタート信号が入力されると、キャッシュブロック記憶部122の初期化が開始され、同時に、補正後映像データ生成処理が開始される。すなわち、補正後映像データ生成処理は、キャッシュブロック記憶部122の初期化が完了されるのを待たずに、換言すればキャッシュブロック記憶部122の初期化の完了に先立って行われる。したがって、キャッシュブロック記憶部122の初期化が完了してから補正後映像データ生成処理を開始する場合(後述する比較例)に比べて、キャッシュブロック記憶部122の初期化開始から1フレーム分の補正後映像データの生成が完了するまでの処理時間である、台形歪み補正処理にかかる処理時間を短縮することができる。
A-8. Effects of the embodiment:
As described above, according to the projector 100 in this embodiment, when the frame start signal is input to the cache block control unit 121 and the coordinate conversion unit 129, the initialization of the cache block storage unit 122 is started. The corrected video data generation process is started. That is, the post-correction video data generation processing is performed before completion of initialization of the cache block storage unit 122 without waiting for the initialization of the cache block storage unit 122 to be completed. Therefore, compared with the case where the corrected video data generation process is started after the initialization of the cache block storage unit 122 is completed (comparative example described later), the correction for one frame from the start of the initialization of the cache block storage unit 122 It is possible to reduce the processing time required for the trapezoidal distortion correction processing, which is the processing time until the generation of the subsequent video data is completed.

なお、コンピュータにおいて、一般に、メインメモリよりも高速なキャッシュメモリに、頻繁に使用するデータを一時的に記憶させて、動作速度の遅いメインメモリに代えて、キャッシュメモリとCPUとの間で情報のやり取りをすることにより、処理速度を高速化している。コンピュータにおいて、通常、処理に必要なデータがメインメモリから読み出されてキャッシュメモリに格納されると、次回の処理時にもそのまま、前回使用されたデータが格納されており、次回の処理時に必要なデータがキャッシュメモリに存在すれば利用し、存在しなければ、メインメモリから必要なデータを読み出してキャッシュメモリに格納する。これに対して、本実施例においては、フレームバッファー150がメインメモリ、キャッシュブロック記憶部122がキャッシュメモリの機能を果たす。本実施例では、台形歪み補正処理において、最初にキャッシュブロック記憶部122に格納すべきデータが予めわかっているため、「キャッシュブロック記憶部122の初期化」という概念を導入した。一般に、記憶装置の初期化が完了するまではデータ処理が開始されないが、本実施例では、記憶装置(キャッシュブロック記憶部122)の初期化の完了に先立って、補正後映像データ生成処理を開始しているため、台形歪み補正処理のように、大量の処理を行う場合における処理時間を短縮することができる。   In a computer, generally, frequently used data is temporarily stored in a cache memory that is faster than the main memory, and information is transferred between the cache memory and the CPU instead of the main memory having a low operation speed. By exchanging, the processing speed is increased. In a computer, when data necessary for processing is normally read from the main memory and stored in the cache memory, the data used last time is stored as it is in the next processing, and is necessary for the next processing. If the data exists in the cache memory, the data is used. If not, the necessary data is read from the main memory and stored in the cache memory. In contrast, in this embodiment, the frame buffer 150 functions as a main memory, and the cache block storage unit 122 functions as a cache memory. In this embodiment, in the trapezoidal distortion correction process, since the data to be stored first in the cache block storage unit 122 is known in advance, the concept of “initialization of the cache block storage unit 122” is introduced. In general, data processing is not started until the initialization of the storage device is completed, but in this embodiment, the corrected video data generation processing is started prior to the completion of initialization of the storage device (cache block storage unit 122). Therefore, it is possible to shorten the processing time when a large amount of processing is performed as in the trapezoidal distortion correction processing.

以下に、本実施例の効果について、補正後映像IG1を例示して(図11,12)詳細に説明する。図11は補正後映像IG1の一例を模式的に示す模式図、図12は補正後映像IG1の他の例を模式的に示す模式図である。図11,12では、背景色で表示される領域に斜線ハッチングを付して表示している。図11は、プロジェクター100を縦45度(θy=45)、横20度(θx=20)に傾けて配置した場合の補正後映像IG1を例示している。なお、図13はプロジェクター100の傾き角を示す図である。図13(A)に示すように、プロジェクター100をスクリーンSCと対向して配置した様子を横から見た場合に、プロジェクター100の投写軸がスクリーンに対して直角になる場合のプロジェクター100の配置を縦0度(θy=0)として、仰ぎ角をθy(縦角度)としている。図13(B)に示すように、プロジェクター100をスクリーンSCと対向して配置した様子を上から見た場合に、プロジェクター100の投写軸がスクリーンに対して直角になる場合のプロジェクター100の配置を横0度(θx=0)として、右回りの角をθx(横角度)としている。   Hereinafter, the effect of the present embodiment will be described in detail by exemplifying the corrected image IG1 (FIGS. 11 and 12). FIG. 11 is a schematic diagram schematically illustrating an example of the corrected image IG1, and FIG. 12 is a schematic diagram schematically illustrating another example of the corrected image IG1. In FIGS. 11 and 12, the area displayed in the background color is displayed with hatching. FIG. 11 exemplifies a corrected image IG1 when the projector 100 is disposed at an angle of 45 degrees (θy = 45) and 20 degrees (θx = 20). FIG. 13 is a diagram illustrating the tilt angle of the projector 100. As shown in FIG. 13A, when the state in which the projector 100 is arranged facing the screen SC is viewed from the side, the arrangement of the projector 100 when the projection axis of the projector 100 is perpendicular to the screen is shown. The vertical angle is 0 degree (θy = 0), and the elevation angle is θy (vertical angle). As shown in FIG. 13B, when the projector 100 is disposed facing the screen SC as viewed from above, the arrangement of the projector 100 when the projection axis of the projector 100 is perpendicular to the screen. The horizontal angle is 0 degree (θx = 0), and the clockwise angle is θx (lateral angle).

図11に示す例では、液晶パネル部192の上部の破線で示したラインまでの領域AR1は、全て背景色である。図2に示したように、台形歪み補正処理は、液晶パネル部192の図面上から下に向かって(ピクセル方向に座標の小さい方から大きい方に向かって)、1ラインずつ、液晶パネル部192の図面左から右に向かって(ライン方向に座標の小さい方から大きい方に向かって)処理される。補正後映像データ生成処理において、領域AR1を処理する間は全て背景色であるため、キャッシュブロック記憶部122にキャッシュブロックが格納されていなくても、処理を進めることができる。そのため、キャッシュブロック記憶部122の初期化が完了するのを待たずに、補正後映像データ生成処理を開始することにより、台形歪み補正処理にかかる処理時間を短縮することができる。なお、仮に領域AR1の補正後映像データ生成処理を行っている間にキャッシュブロック記憶部122の初期化が完了すれば、補正後映像IG1の画素値を算出する際の、キャッシュブロック記憶部122へのキャッシュブロックの書き込み待ち時間を短縮することができる。   In the example shown in FIG. 11, the area AR1 up to the line indicated by the broken line at the top of the liquid crystal panel unit 192 is the background color. As shown in FIG. 2, the trapezoidal distortion correction processing is performed on the liquid crystal panel unit 192 line by line from the top to the bottom of the liquid crystal panel unit 192 (from the smallest coordinate in the pixel direction to the larger one). The drawing is processed from the left to the right (from the smallest coordinate to the largest coordinate in the line direction). In the post-correction video data generation process, since the background color is all processed while the area AR1 is processed, the process can proceed even if no cache block is stored in the cache block storage unit 122. Therefore, the processing time required for the trapezoidal distortion correction process can be shortened by starting the corrected video data generation process without waiting for the initialization of the cache block storage unit 122 to be completed. If the initialization of the cache block storage unit 122 is completed while the corrected video data generation process for the area AR1 is being performed, the cache block storage unit 122 when calculating the pixel value of the corrected video IG1 is sent to the cache block storage unit 122. Cache block write latency can be reduced.

図12は、プロジェクター100を縦20度(θy=20)、横30度(θx=30)に傾けて配置した場合の補正後映像IG1を例示している。図12に示す例では、液晶パネル部192の1ライン目の最初の数画素(図12において、AR2と示す)は、背景色であるものの、1ライン目から補正後映像IG1が表示されるため、補正後映像データ生成処理の開始後、図11に示す例に比べて早く補正前映像データが必要になる。このような場合であっても、液晶パネル部192の1ライン目の最初の数画素の補正後映像データ生成処理を進めている間に、キャッシュブロック記憶部122の初期化を進めることができるため、キャッシュブロック記憶部122の初期化が完了してから補正後映像データ生成処理を開始する場合に比べて、台形歪み補正処理の処理時間を短縮することができる。   FIG. 12 exemplifies a corrected image IG1 when the projector 100 is disposed at an angle of 20 degrees (θy = 20) and 30 degrees (θx = 30). In the example shown in FIG. 12, the first few pixels on the first line of the liquid crystal panel unit 192 (shown as AR2 in FIG. 12) are the background color, but the corrected video IG1 is displayed from the first line. After the start of the corrected video data generation process, the uncorrected video data is required earlier than the example shown in FIG. Even in such a case, the cache block storage unit 122 can be initialized while the corrected video data generation process for the first few pixels on the first line of the liquid crystal panel unit 192 is being advanced. Compared to the case where the corrected video data generation process is started after the initialization of the cache block storage unit 122 is completed, the processing time of the trapezoidal distortion correction process can be shortened.

以下、比較例としてキャッシュブロック記憶部122の初期化の完了を待って、補正後映像データ生成処理が開始される場合の処理の流れを説明する。図14は、比較例の補正後映像データ生成処理の流れを模式的に示す工程図である。比較例では、本実施例と同様に、フレームスタート信号が入力されると(ステップT102)、補正後座標(0,0)について、補正前座標を算出する(ステップT104)。続いて、ヒット判定部131は、キャッシュブロック記憶部122の初期化が完了したか否かを判定する(ステップT106)。キャッシュブロック記憶部122の初期化が完了するまでは、ステップT106を繰り返し、次のステップに進まない。キャッシュブロック記憶部122の初期化が完了すると、初めて、補正後座標(0,0)についての補間ブロックの読み出し(ステップT112)、フィルター係数の算出(ステップT114)の処理を行った後、画素補間演算の処理を行う(ステップT116)。すなわち、台形歪み補正処理にかかる処理時間は、1フレーム当り、キャッシュメモリの初期化にかかる時間+補正後映像データ生成処理にかかる時間になる。   Hereinafter, as a comparative example, a process flow when the corrected video data generation process is started after completion of initialization of the cache block storage unit 122 will be described. FIG. 14 is a process diagram schematically showing the flow of the corrected video data generation process of the comparative example. In the comparative example, as in the present embodiment, when a frame start signal is input (step T102), the coordinates before correction are calculated for the corrected coordinates (0, 0) (step T104). Subsequently, the hit determination unit 131 determines whether or not the initialization of the cache block storage unit 122 has been completed (step T106). Until the initialization of the cache block storage unit 122 is completed, step T106 is repeated and the process does not proceed to the next step. When the initialization of the cache block storage unit 122 is completed, for the first time, after performing interpolation block reading (step T112) and filter coefficient calculation (step T114) for the corrected coordinates (0, 0), pixel interpolation is performed. Calculation processing is performed (step T116). That is, the processing time required for the trapezoidal distortion correction processing is the time required for initialization of the cache memory + the time required for the corrected video data generation processing per frame.

上記効果に加えて、本実施例では、キャッシュブロック用タグ情報記憶部123において、タグ情報が、キャッシュブロック記憶部122が備える全てのブロック領域に対応して、ブロック領域の並びと同一の並びで格納されている。そして、キャッシュブロックは、キャッシュブロックの列番号と同一の列番号のブロック領域に格納されている。したがって、ヒット判定を行う際に、ヒット判定を行う対象の座標について、まず、タグ情報の列を抽出して、その列について、順次ヒット判定を行うため、x座標の検索を簡略化でき、ヒット判定を高速化することができる。   In addition to the above effects, in the present embodiment, in the cache block tag information storage unit 123, the tag information corresponds to all the block areas included in the cache block storage unit 122 and is arranged in the same arrangement as the block areas. Stored. The cache block is stored in the block area having the same column number as the cache block. Therefore, when the hit determination is performed, the tag information column is first extracted for the coordinates to be hit-determined, and the hit determination is sequentially performed for the column. Judgment can be speeded up.

また、本実施例では、1次バッファとして大容量かつ低速なフレームバッファ(DRAM)を用い、2次バッファとして小容量かつ高速なキャッシュメモリ(SRAM)を用いているため、コスト低減を図ることができる。   In this embodiment, since a large-capacity and low-speed frame buffer (DRAM) is used as the primary buffer and a small-capacity and high-speed cache memory (SRAM) is used as the secondary buffer, the cost can be reduced. it can.

B.変形例
なお、本発明は上記した実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
B. Modifications The present invention is not limited to the above-described embodiments, and can be implemented in various modes without departing from the scope of the invention.

(1)上記した本実施例では、キャッシュブロック(0,0)〜(239,3)を初期化ブロックとする例を示したが、初期化ブロックは上記実施例に限定されず、台形歪み補正処理において必要となりそうなキャッシュブロックを初期化ブロックとすればよい。例えば、タイリング投写する(2台以上のプロジェクターを用いて映像を投写表示する)際に、補正前映像の上部の一部が不要である場合は、必要な補正前映像データのうちの最上部のラインを含むキャッシュブロックを含む4行×240列のキャッシュブロックを初期化ブロックとしてもよい。クリッピングして投写する場合も同様に、必要な映像データのうちの最上部のラインを含むキャッシュブロックを含む4行×240列のキャッシュブロックを初期化ブロックとしてもよい。すなわち、クリッピングして投写する場合には、補正前映像のうち表示される領域のピクセル方向の最小座標(最小ライン)に基づいて、初期ブロックを決定してもよい。また、プロジェクター100を逆吊りして使用する場合であって、例えば、最下ラインから台形歪み補正処理を開始する場合には、最下ラインを含むキャッシュブロック(0,146)〜(239,149)を初期ブロックとしてもよい。具体的には、座標変換係数E,Hが負の場合には逆吊りと判定して、上記ブロックを初期化ブロックに決定する。換言すれば、座標変換係数E,Hに基づいて、初期ブロックを決定してもよい。なお、初期化ブロックは、4行×240列でなくてもよい。   (1) In the above-described embodiment, an example in which the cache blocks (0, 0) to (239, 3) are the initialization blocks has been described. However, the initialization block is not limited to the above-described embodiment, and trapezoidal distortion correction is performed. A cache block that is likely to be required for processing may be used as an initialization block. For example, when tiling projection is performed (projecting and displaying an image using two or more projectors), if a part of the upper part of the uncorrected image is unnecessary, the uppermost portion of the necessary uncorrected image data A cache block of 4 rows × 240 columns including a cache block including these lines may be used as an initialization block. Similarly, when clipping and projecting, a cache block of 4 rows × 240 columns including a cache block including the uppermost line of necessary video data may be used as an initialization block. That is, when clipping and projecting, the initial block may be determined based on the minimum coordinate (minimum line) in the pixel direction of the area to be displayed in the pre-correction video. In addition, when the projector 100 is used while being suspended, for example, when the trapezoidal distortion correction process is started from the bottom line, the cache blocks (0, 146) to (239, 149 including the bottom line are included. ) May be the initial block. Specifically, if the coordinate transformation coefficients E and H are negative, it is determined that the suspension is reversed, and the block is determined as an initialization block. In other words, the initial block may be determined based on the coordinate conversion coefficients E and H. The initialization block may not be 4 rows × 240 columns.

(2)上記した実施例において、さらに、台形歪み補正処理の進行中に、後の画素補間処理に必要になるキャッシュブロックを予測して、そのキャッシュブロックを、キャッシュブロック記憶部122に格納させる先読み処理を行う構成にしてもよい。このようにすると、さらに、台形歪み補正処理の処理時間を短縮することができる。   (2) In the above-described embodiment, the prefetching in which the cache block required for the subsequent pixel interpolation process is predicted and the cache block is stored in the cache block storage unit 122 while the trapezoidal distortion correction process is in progress. You may make it the structure which processes. In this way, the processing time of the trapezoidal distortion correction process can be further shortened.

(3)1フレームの画素数、キャッシュブロックの画素数、および補間ブロックの画素数(画素補間に用いる画素数)は、上記した実施例に限定されない。   (3) The number of pixels in one frame, the number of pixels in the cache block, and the number of pixels in the interpolation block (number of pixels used for pixel interpolation) are not limited to the above-described embodiments.

(4)上記した実施例におけるフレームバッファー150と台形歪み補正部120を備える射影変換処理装置として構成してもよい。例えば、射影変換処理装置にて変換処理を施した映像データに基づいて、液晶パネル、有機EL(Electro-Luminescence:エレクトロルミネッセンス)パネル等の映像表示部に映像を表示させる構成の映像表示装置を構成することができる。また、射影変換処理装置と、液晶パネル等の映像表示部を備えるデジタルカメラを構成してもよい。この場合、射影変換処理装置は、カメラのセンサーが、被写体に対して平行でない場合に生じる歪み(パースペクティブの歪み)を補正して、映像表示部に出力することによって、カメラのセンサーが被写体に対して平行になるように撮影した映像が、映像表示部に表示される。また、例えば、射影変換処理装置にて変換処理を施した映像データを、プリンタに出力したり、ハードディスクに書き込む等、種々の出力装置に出力する構成にしてもよい。このような場合も、上記した実施例と同様に、キャッシュブロック記憶部122の初期化の完了に先立って補正後映像データ処理を行うことにより、射影変換処理の処理時間の短縮を図ることができる。   (4) You may comprise as a projective transformation processing apparatus provided with the frame buffer 150 and the trapezoid distortion correction part 120 in an above-described Example. For example, a video display device configured to display a video on a video display unit such as a liquid crystal panel or an organic EL (Electro-Luminescence) panel based on the video data converted by the projective conversion processing device can do. Further, a digital camera including a projection conversion processing device and a video display unit such as a liquid crystal panel may be configured. In this case, the projective transformation processing device corrects distortion (perspective distortion) that occurs when the camera sensor is not parallel to the subject and outputs it to the video display unit, so that the camera sensor applies to the subject. The images captured so as to be parallel to each other are displayed on the image display unit. Further, for example, the video data subjected to the conversion processing by the projective conversion processing device may be output to various output devices such as output to a printer or writing to a hard disk. In such a case, similarly to the above-described embodiment, the post-correction video data processing is performed prior to the completion of the initialization of the cache block storage unit 122, so that the processing time of the projective transformation processing can be shortened. .

(5)上記した実施例において、プロジェクター100は、透過型の液晶パネル部192を用いて、照明光学系190からの光を変調しているが、透過型の液晶パネル部192に限定されず、例えば、デジタル・マイクロミラー・デバイス(DMD(登録商標):Digital Micro−Mirror Device)や、反射型の液晶パネル(LCOS(登録商標):Liquid Crystal on Silicon)等を用いて、照明光学系190からの光を変調する構成にしてもよい。また、小型CRT(陰極線管)上の映像を被投写面に投写するCRTプロジェクターでもよいし、有機ELを用いて映像光を生成する構成にしてもよい。   (5) In the embodiment described above, the projector 100 modulates the light from the illumination optical system 190 using the transmissive liquid crystal panel unit 192, but is not limited to the transmissive liquid crystal panel unit 192. For example, using a digital micromirror device (DMD (registered trademark): Digital Micro-Mirror Device), a reflective liquid crystal panel (LCOS (registered trademark): Liquid Crystal on Silicon), etc., from the illumination optical system 190 The light may be modulated. Further, it may be a CRT projector that projects an image on a small CRT (cathode ray tube) onto a projection surface, or may be configured to generate image light using an organic EL.

(6)上記実施例においてソフトウェアで実現されている機能の一部をハードウェアで実現してもよく、あるいは、ハードウェアで実現されている機能の一部をソフトウェアで実現してもよい。   (6) In the above embodiment, a part of the function realized by software may be realized by hardware, or a part of the function realized by hardware may be realized by software.

(7)上記実施例において、キャッシュブロック記憶部122は、1フレームのフレーム幅と同じ幅を有しており、キャッシュブロックは、キャッシュブロックの列番号と同一の列番号のブロック領域に格納されているが、キャッシュブロック記憶部122の幅は1フレームのフレーム幅と同一でなくてもよい。また、キャッシュブロックは、キャッシュブロックの列番号と同一の列番号のブロック領域に格納されていなくてもよい。このようにしても、タグ情報が、x座標とy座標の両方の情報を備えることにより、タグ情報を用いてヒット判定を行うことができる。   (7) In the above embodiment, the cache block storage unit 122 has the same width as the frame width of one frame, and the cache block is stored in the block area having the same column number as the column number of the cache block. However, the width of the cache block storage unit 122 may not be the same as the frame width of one frame. The cache block may not be stored in the block area having the same column number as the cache block. Even if it does in this way, hit determination can be performed using tag information because tag information is provided with the information of both x coordinate and y coordinate.

100…プロジェクター
102…高速バス
104…低速バス
110…映像入力部
112…IP変換部
114…解像度変換部
116…映像合成部
120…台形歪み補正部
121…キャッシュブロック制御部
122…キャッシュブロック記憶部
123…キャッシュブロック用タグ情報記憶部
124…補間ブロック読み出し部
125…画素補間部
126…FIFO部
127…レジスター部
128…制御部
129…座標変換部
130…フィルター係数算出部
131…ヒット判定部
140…液晶パネル駆動部
150…フレームバッファー
160…高速バス制御部
162…低速バス制御部
170…プロセッサー部
180…撮像部
182…センサー部
190…照明光学系
192…液晶パネル部
194…投写光学系
SC…スクリーン
IG0…補正前映像
IG1…補正後映像
DESCRIPTION OF SYMBOLS 100 ... Projector 102 ... High speed bus 104 ... Low speed bus 110 ... Video input part 112 ... IP conversion part 114 ... Resolution conversion part 116 ... Video composition part 120 ... Trapezoid distortion correction part 121 ... Cache block control part 122 ... Cache block memory | storage part 123 ... tag information storage unit for cache block 124 ... interpolation block reading unit 125 ... pixel interpolation unit 126 ... FIFO unit 127 ... register unit 128 ... control unit 129 ... coordinate conversion unit 130 ... filter coefficient calculation unit 131 ... hit determination unit 140 ... liquid crystal Panel drive unit 150 ... Frame buffer 160 ... High-speed bus control unit 162 ... Low-speed bus control unit 170 ... Processor unit 180 ... Imaging unit 182 ... Sensor unit 190 ... Illumination optical system 192 ... Liquid crystal panel unit 194 ... Projection optical system SC ... Screen IG ... corrected image IG1 ... corrected image

Claims (4)

被投写面上に映像を投写して表示するプロジェクターであって、
前記映像を表す映像光を生成して出力する映像光出力部と、
前記プロジェクターに入力される入力映像データを複数のラインで構成されるフレーム映像として記憶するフレーム映像記憶部と、
前記フレーム映像記憶部よりも小容量かつ高速な記憶部であって、前記フレーム映像記憶部に記憶されたフレーム映像の入力映像データにおけるライン方向およびこれに交叉するピクセル方向にそれぞれN×M(N,M≧2)個の画素から成るブロック映像データを単位として、前記フレーム映像の入力映像データの一部を記憶するブロック映像記憶部と、
前記被投写面上に投写される映像の歪みを補正する補正処理を行う補正処理部であって、前記ブロック映像記憶部に記憶された前記ブロック映像データに基づいて、補正処理後の映像データである補正後映像データを生成し、前記被投写面上に投写される映像を表す映像データとして、前記映像光出力部に出力する補正処理部と、
を備え、
前記補正処理部は、1フレーム分のフレーム映像に対する前記補正処理の開始時に前記ブロック映像記憶部に格納されるブロック映像データである初期化ブロック映像データが全て格納されるのに先立って、前記補正処理を開始するプロジェクター。
A projector that projects and displays an image on a projection surface,
An image light output unit for generating and outputting image light representing the image;
A frame video storage unit for storing input video data input to the projector as a frame video composed of a plurality of lines;
A storage unit having a smaller capacity and a higher speed than the frame image storage unit, and N × M (N in the line direction and the pixel direction intersecting with the input image data of the frame image stored in the frame image storage unit, respectively. , M ≧ 2) a block video storage unit for storing a part of the input video data of the frame video in units of block video data composed of pixels;
A correction processing unit that performs a correction process for correcting distortion of an image projected on the projection surface, and is based on the block video data stored in the block video storage unit. A correction processing unit that generates corrected video data and outputs the video data representing the image projected on the projection surface to the video light output unit;
With
The correction processing unit corrects the correction prior to storing all of the initialization block video data, which is block video data stored in the block video storage unit at the start of the correction processing on a frame video for one frame. Projector to start processing.
請求項1に記載のプロジェクターにおいて、
前記初期化ブロック映像データは、前記補正処理に用いられる補正パラメーターに基づいて決定されるプロジェクター。
The projector according to claim 1.
The initialization block video data is determined based on a correction parameter used for the correction process.
請求項2に記載のプロジェクターにおいて、
前記補正パラメーターは、前記補正後映像データの座標を補正前の映像データの座標に変換する際のパラメーターであるプロジェクター。
The projector according to claim 2,
The correction parameter is a projector for converting the coordinates of the corrected video data into the coordinates of the video data before correction.
請求項2に記載のプロジェクターにおいて、
前記補正処理後の映像が前記補正処理前の映像をクリッピングして表示する映像である場合に、
前記補正パラメーターは、前記補正処理前の映像のうち表示される領域の前記ピクセル方向の最小座標であるプロジェクター。
The projector according to claim 2,
When the video after the correction processing is a video that clips and displays the video before the correction processing,
The projector, wherein the correction parameter is a minimum coordinate in the pixel direction of an area to be displayed in an image before the correction process.
JP2010064551A 2010-03-19 2010-03-19 projector Active JP5348035B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010064551A JP5348035B2 (en) 2010-03-19 2010-03-19 projector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010064551A JP5348035B2 (en) 2010-03-19 2010-03-19 projector

Publications (2)

Publication Number Publication Date
JP2011199626A JP2011199626A (en) 2011-10-06
JP5348035B2 true JP5348035B2 (en) 2013-11-20

Family

ID=44877260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010064551A Active JP5348035B2 (en) 2010-03-19 2010-03-19 projector

Country Status (1)

Country Link
JP (1) JP5348035B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6299071B2 (en) * 2013-03-27 2018-03-28 セイコーエプソン株式会社 Projector, image correction method and program
JP6306834B2 (en) * 2013-07-24 2018-04-04 キヤノン株式会社 Image processing apparatus and image processing method
JP6255797B2 (en) * 2013-08-22 2018-01-10 ヤマハ株式会社 Image processing device
JP6657570B2 (en) 2015-03-02 2020-03-04 セイコーエプソン株式会社 Image processing device, display device, and control method for image processing device
JP6418010B2 (en) * 2015-03-02 2018-11-07 セイコーエプソン株式会社 Image processing apparatus, image processing method, and display apparatus

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4706458B2 (en) * 2005-11-25 2011-06-22 セイコーエプソン株式会社 Image processing apparatus and image processing method
JP4320658B2 (en) * 2005-12-27 2009-08-26 ソニー株式会社 Imaging apparatus, control method, and program
JP5217537B2 (en) * 2008-03-18 2013-06-19 セイコーエプソン株式会社 Projector, electronic device, and projector control method
JP5098869B2 (en) * 2008-07-22 2012-12-12 セイコーエプソン株式会社 Image processing apparatus, image display apparatus, and image data generation method

Also Published As

Publication number Publication date
JP2011199626A (en) 2011-10-06

Similar Documents

Publication Publication Date Title
JP5348022B2 (en) Projector and projection conversion processing apparatus
US8300978B2 (en) Projector, electronic apparatus, and method of controlling projector
JP4006601B2 (en) Image processing system, projector, program, information storage medium, and image processing method
JP5098869B2 (en) Image processing apparatus, image display apparatus, and image data generation method
US9224321B2 (en) Projector for performing trapezoidal distortion correction and method of controlling projector
JP5348035B2 (en) projector
CN114449234B (en) Projection device and projection picture correction method thereof
JP2011193332A (en) Projector and video projection method
JP6418010B2 (en) Image processing apparatus, image processing method, and display apparatus
CN114449236B (en) Projection device and projection picture correction method thereof
JP5533109B2 (en) Image display device, projector, and data acquisition method in image display device
US9761160B2 (en) Image processing device, display apparatus, image processing method, and program
JP2011211274A (en) Image display apparatus, projector, and data acquiring method in the image display apparatus
JP5353772B2 (en) projector
JP5413265B2 (en) Image display device and projector
TW200302390A (en) Projection-type display device having distortion correcting function
JP5915001B2 (en) Projector and projector control method
JP5407928B2 (en) Projection display apparatus and display method
JP5531701B2 (en) projector
JP2020061662A (en) Video processing device, video processing method, and program
JP2011199463A (en) Projector
JP2011176389A (en) Projection type display device and display method
JP2009147584A (en) Image processor, projector, method and program for processing image
JP2023096575A (en) Projection method and projector
JP2021040256A (en) Geometric distortion correction device, geometric distortion correction method, program, and projector

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130206

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

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