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

JP2011199804A - Image display apparatus, projector, and data acquiring method in image display apparatus - Google Patents

Image display apparatus, projector, and data acquiring method in image display apparatus Download PDF

Info

Publication number
JP2011199804A
JP2011199804A JP2010067313A JP2010067313A JP2011199804A JP 2011199804 A JP2011199804 A JP 2011199804A JP 2010067313 A JP2010067313 A JP 2010067313A JP 2010067313 A JP2010067313 A JP 2010067313A JP 2011199804 A JP2011199804 A JP 2011199804A
Authority
JP
Japan
Prior art keywords
block
video data
video
unit
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010067313A
Other languages
Japanese (ja)
Other versions
JP5533109B2 (en
Inventor
Takashi Shindo
貴志 進藤
Akihiko Tamura
明彦 田村
Makoto Eguchi
誠 江口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2010067313A priority Critical patent/JP5533109B2/en
Publication of JP2011199804A publication Critical patent/JP2011199804A/en
Application granted granted Critical
Publication of JP5533109B2 publication Critical patent/JP5533109B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Transforming Electric Information Into Light Information (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve efficiency of distortion correction processing of an image display apparatus.SOLUTION: The image processing apparatus includes: a frame video storage section; a block video storage section having a plurality of block region and storing the block video data; a correction processing section for generating corrected video data by using the block video data; a block video acquiring section for acquiring the block video data and storing the acquired data into the block video storage section; and an acquiring request issuing section for issuing an acquiring request including position information corresponding to a position, in a frame video, of a video represented by the block video data to be acquired. If position information included in the acquiring request issued during a predetermined period includes position information in which the coordinate positions of a first direction of the frame video are the same, the block video acquiring section continuously acquires the block video data representing the video shown by the position information from the frame video storage section.

Description

この発明は、画像表示装置、プロジェクター、および、画像表示装置におけるデータの取得方法に関する。   The present invention relates to an image display device, a projector, and a data acquisition method in the image display device.

プロジェクターなどの画像表示装置において、スクリーンなどの表示面に映像を表示させるとき、例えば、プロジェクターと表示面との相対的な位置関係等によって、表示面に表示された映像が歪む場合がある。この問題を解決するために、射影変換の手法を利用して、台形形状に歪んだ映像を矩形形状に補正する台形歪み補正が知られている。   In an image display device such as a projector, when an image is displayed on a display surface such as a screen, the image displayed on the display surface may be distorted due to, for example, the relative positional relationship between the projector and the display surface. In order to solve this problem, trapezoidal distortion correction is known in which an image distorted in a trapezoidal shape is corrected to a rectangular shape by using a projective transformation technique.

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

しかし、画像表示装置における歪み補正処理の効率化については、なお改善の余地があった。   However, there is still room for improvement in the efficiency of distortion correction processing in the image display apparatus.

本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、画像表示装置における歪み補正処理の効率性の向上を図ることを目的とする。   The present invention has been made to solve at least a part of the above-described problems, and an object thereof is to improve the efficiency of distortion correction processing in an image display apparatus.

本発明の第1の態様は、画像表示装置を提供する。本発明の第1の態様に係る画像表示装置は、フレーム映像を表す映像データを記憶するフレーム映像記憶部と、所定数の画素からなるブロック映像データを格納するためのブロック領域を複数備え、前記フレーム映像記憶部に記憶された映像データの一部をブロック映像データとしてそれぞれのブロック領域に格納するブロック映像記憶部と、各前記ブロック領域に格納されているブロック映像データを用いて、前記フレーム映像に対して所定の補正をおこなった補正後フレーム映像を表す補正後映像データを生成する補正処理部と、前記フレーム映像記憶部に記憶されている映像データの一部からブロック映像データを取得し、前記ブロック映像記憶部の前記ブロック領域に格納するブロック映像取得部と、前記ブロック映像取得部が前記フレーム映像記憶部に記憶されている映像データから取得すべきブロック映像データについて、取得すべきブロック映像データにより表される映像の前記フレーム映像における位置に対応する位置情報を含む取得要求を前記ブロック映像取得部に対し発行する取得要求発行部と、を備え、前記ブロック映像取得部は、所定の期間に前記取得要求発行部から発行された各前記取得要求のそれぞれに含まれる位置情報に、フレーム映像の第1の方向の座標位置が互いに等しい位置情報が含まれている場合、該位置情報により示される映像を表すブロック映像データを前記フレーム映像記憶部に記憶されている映像データから連続して取得する。   A first aspect of the present invention provides an image display device. An image display apparatus according to a first aspect of the present invention includes a frame video storage unit that stores video data representing a frame video, and a plurality of block areas for storing block video data including a predetermined number of pixels, Using the block video storage unit that stores a part of the video data stored in the frame video storage unit as block video data in each block area, and the block video data stored in each block area, the frame video A correction processing unit that generates corrected video data representing a corrected frame video that has been subjected to predetermined correction, and obtains block video data from a part of the video data stored in the frame video storage unit, A block video acquisition unit for storing in the block area of the block video storage unit; and For the block video data to be acquired from the video data stored in the frame video storage unit, an acquisition request including position information corresponding to the position in the frame video of the video represented by the block video data to be acquired is sent to the block video An acquisition request issuing unit for issuing to the acquisition unit, wherein the block video acquisition unit includes a frame video in position information included in each of the acquisition requests issued from the acquisition request issue unit during a predetermined period. If the coordinate information in the first direction is equal to each other, block image data representing the image indicated by the position information is continuously acquired from the image data stored in the frame image storage unit. To do.

第1の態様に係る画像表示装置によれば、所定の期間に発行された取得要求に含まれる位置情報に、フレーム映像の第1の方向の座標位置が互いに等しい位置情報が含まれている場合には、これらの位置情報にそれぞれ対応するブロック映像データを映像データから連続して取得するため、歪み補正処理の効率性の向上を図ることができる。   According to the image display device according to the first aspect, when the position information included in the acquisition request issued in a predetermined period includes position information in which the coordinate positions in the first direction of the frame video are equal to each other In this case, since the block video data respectively corresponding to the position information is continuously acquired from the video data, the efficiency of the distortion correction process can be improved.

第1の態様に係る画像表示装置において、前記ブロック映像取得部は、前記取得要求発行部から発行された前記取得要求を順次格納するバッファ部と、前記所定の期間に前記バッファ部に格納された前記取得要求に対して、フレーム映像の第1の方向の座標位置が互いに等しい位置情報を含んだ取得要求が連続して読み出されるように取得要求の読み出し順番を並び替える並び替え部と、前記並び替え部により並び替えられた順番に従って前記バッファ部から取得要求を読み出し、読み出した取得要求に応じて前記フレーム映像記憶部に記憶されている映像データからブロック映像データを取得する取得部と、を備えていてもよい。この場合、所定の期間にバッファ部に格納された取得要求に対して、フレーム映像の第1の方向の座標位置が互いに等しい位置情報を含んだ取得要求が連続して読み出されるように取得要求の読み出し順番を並び替え、並び替えられた順番に従ってブロック映像データを取得するため、歪み補正処理の効率性の向上を図ることができる。   In the image display device according to the first aspect, the block video acquisition unit is stored in the buffer unit for sequentially storing the acquisition requests issued from the acquisition request issuing unit, and in the buffer unit for the predetermined period. In response to the acquisition request, a rearrangement unit that rearranges the reading order of the acquisition requests so that acquisition requests including position information in which the coordinate positions of the frame images in the first direction are equal to each other are continuously read. An acquisition unit that reads out acquisition requests from the buffer unit according to the order rearranged by the replacement unit, and acquires block video data from video data stored in the frame video storage unit in response to the read acquisition request. It may be. In this case, in response to the acquisition request stored in the buffer unit during a predetermined period, the acquisition request including the position information in which the coordinate positions in the first direction of the frame image are equal to each other is continuously read. Since the readout order is rearranged and the block video data is acquired according to the rearranged order, the efficiency of the distortion correction processing can be improved.

第1の態様に係る画像表示装置において、前記取得要求発行部は、前記補正処理部が後に補正後映像データの生成に用いるブロック映像データを予測し、該予測されたブロック映像データが前記ブロック映像記憶部のいずれのブロック領域にも格納されていない場合には、前記予測されたブロック映像データを取得させるための取得要求を発行するブロック映像予測部、もしくは、前記補正処理部が次に補正後映像データの生成に用いるブロック映像データが前記ブロック映像記憶部のいずれかのブロック領域に格納されているか否かを判定し、該ブロック映像データが前記ブロック映像記憶部のいずれのブロック領域にも格納されていない場合には、該ブロック映像データを取得させるための取得要求を発行する判定部、の少なくともいずれか一方を含んでいてもよい。この場合、取得要求発行部は、補正後映像データの生成に用いられるブロック映像データがブロック映像記憶部に格納されていないときに取得要求を発行するため、歪み補正処理の効率性の向上を図ることができる。   In the image display device according to the first aspect, the acquisition request issuing unit predicts block video data that the correction processing unit will later use to generate corrected video data, and the predicted block video data is the block video data. If it is not stored in any block area of the storage unit, the block video prediction unit that issues an acquisition request for acquiring the predicted block video data, or the correction processing unit performs the next correction It is determined whether the block video data used for generating the video data is stored in any block area of the block video storage unit, and the block video data is stored in any block area of the block video storage unit If not, at least one of the determination units that issue an acquisition request for acquiring the block video data One may also include one. In this case, since the acquisition request issuing unit issues an acquisition request when block video data used for generating corrected video data is not stored in the block video storage unit, the efficiency of distortion correction processing is improved. be able to.

第1の態様に係る画像表示装置において、前記フレーム映像は、複数の画素を前記第1の方向および前記第1の方向と直交する方向にそれぞれ所定数並べた矩形の外形形状を備え、前記ブロック映像データは、前記フレーム映像の一部の領域を構成する画素の画素値を含み、前記ブロック映像取得部は、所定の期間に前記取得要求発行部から発行された各前記取得要求に基づいて前記フレーム映像記憶部に記憶されている映像データから複数のブロック映像データを取得するとき、前記複数のブロック映像データに含まれるすべての画素値について、フレーム映像の前記第1の方向における上流側の画素から順に取得してもよい。この場合、複数のブロック映像データに含まれるすべての画素値について、フレーム映像の第1の方向における上流側の画素から順に取得することで歪み補正処理を精度良くおこなうことができる。   In the image display device according to the first aspect, the frame image has a rectangular outer shape in which a plurality of pixels are arranged in a predetermined number in the first direction and in a direction orthogonal to the first direction, and the block The video data includes pixel values of pixels constituting a partial region of the frame video, and the block video acquisition unit is configured to perform the acquisition based on the acquisition requests issued from the acquisition request issue unit during a predetermined period. When acquiring a plurality of block video data from the video data stored in the frame video storage unit, for all pixel values included in the plurality of block video data, upstream pixels in the first direction of the frame video You may acquire in order. In this case, the distortion correction processing can be performed with high accuracy by sequentially acquiring all pixel values included in the plurality of block video data from the upstream pixel in the first direction of the frame video.

第1の態様に係る画像表示装置において、前記フレーム映像は、複数の画素を前記第1の方向および前記第1の方向と直交する方向にそれぞれ所定数並べた矩形の外形形状を備え、前記ブロック映像データは、前記フレーム映像の一部の領域を構成する画素の画素値を含み、前記ブロック映像取得部は、所定の期間に前記取得要求発行部から発行された各前記取得要求に基づいて前記フレーム映像記憶部に記憶されている映像データから複数のブロック映像データを取得するとき、前記フレーム映像記憶部から1のブロック映像データに含まれる画素値をすべて取得した後に続けて他のブロック映像データに含まれる画素値を取得してもよい。この場合、1のブロック映像データに含まれる画素値をすべて取得した後に続けて他のブロック映像データに含まれる画素値を取得することで歪み補正処理の効率性の向上を図ることができる。   In the image display device according to the first aspect, the frame image has a rectangular outer shape in which a plurality of pixels are arranged in a predetermined number in the first direction and in a direction orthogonal to the first direction, and the block The video data includes pixel values of pixels constituting a partial region of the frame video, and the block video acquisition unit is configured to perform the acquisition based on the acquisition requests issued from the acquisition request issue unit during a predetermined period. When acquiring a plurality of block video data from the video data stored in the frame video storage unit, after acquiring all the pixel values included in one block video data from the frame video storage unit, the other block video data The pixel value included in may be acquired. In this case, it is possible to improve the efficiency of the distortion correction processing by acquiring pixel values included in other block video data after acquiring all the pixel values included in one block video data.

本発明の第2の態様は、被投写面上に映像を投写して表示するプロジェクターを提供する。本発明の第2の態様に係るプロジェクターは、前記映像を表す映像光を生成して出力する映像光出力部と、フレーム映像を表す映像データを記憶するフレーム映像記憶部と、所定数の画素からなるブロック映像データを格納するためのブロック領域を複数備え、前記フレーム映像記憶部に記憶された映像データの一部をブロック映像データとしてそれぞれのブロック領域に格納するブロック映像記憶部と、各前記ブロック領域に格納されているブロック映像データを用いて、前記フレーム映像に対して前記被投写面上に投写される映像の歪みを補正するための処理をおこなった補正後フレーム映像を表す補正後映像データを生成し、前記映像光出力部に出力する補正処理部と、前記フレーム映像記憶部に記憶されている映像データの一部からブロック映像データを取得し、前記ブロック映像記憶部の前記ブロック領域に格納するブロック映像取得部と、前記ブロック映像取得部が前記フレーム映像記憶部に記憶されている映像データから取得すべきブロック映像データについて、取得すべきブロック映像データにより表される映像の前記フレーム映像における位置に対応する位置情報を含む取得要求を前記ブロック映像取得部に対し発行する取得要求発行部と、を備え、前記ブロック映像取得部は、所定の期間に前記取得要求発行部から発行された各前記取得要求のそれぞれに含まれる位置情報に、フレーム映像の第1の方向の座標位置が互いに等しい位置情報が含まれている場合、該位置情報により示される映像を表すブロック映像データを前記フレーム映像記憶部に記憶されている映像データから連続して取得する。   A second aspect of the present invention provides a projector that projects and displays an image on a projection surface. A projector according to a second aspect of the present invention includes an image light output unit that generates and outputs image light representing the image, a frame image storage unit that stores image data representing a frame image, and a predetermined number of pixels. A plurality of block areas for storing block video data, and a block video storage unit for storing a part of the video data stored in the frame video storage unit in each block area as block video data, and each of the blocks Corrected video data representing a corrected frame image obtained by performing processing for correcting distortion of the image projected on the projection surface with respect to the frame image using block image data stored in an area And a correction processing unit that outputs to the video light output unit and a part of the video data stored in the frame video storage unit A block video acquisition unit that acquires lock video data and stores it in the block area of the block video storage unit, and block video data that the block video acquisition unit should acquire from the video data stored in the frame video storage unit An acquisition request issuing unit that issues an acquisition request including position information corresponding to a position in the frame video of the video represented by the block video data to be acquired to the block video acquisition unit, the block video In the acquisition unit, the position information included in each of the acquisition requests issued from the acquisition request issuing unit during a predetermined period includes position information in which the coordinate positions in the first direction of the frame image are equal to each other. The block video data representing the video indicated by the position information is stored in the frame video storage unit. To get continuously from that video data.

第2の態様に係るプロジェクターによれば、所定の期間に発行された取得要求に含まれる位置情報に、フレーム映像の第1の方向の座標位置が互いに等しい位置情報が含まれている場合には、これらの位置情報にそれぞれ対応するブロック映像データを映像データから連続して取得するため、プロジェクターにおいて、被投写面上に投写される映像の歪みを補正する処理の効率性の向上を図ることができる。   According to the projector according to the second aspect, when the position information included in the acquisition request issued in a predetermined period includes position information in which the coordinate positions in the first direction of the frame image are equal to each other. Since the block video data corresponding to each of these position information is continuously acquired from the video data, it is possible to improve the efficiency of processing for correcting distortion of the video projected on the projection surface in the projector. it can.

なお、本発明は、種々の態様で実現することが可能であり、例えば、プロジェクターテレビ、モニター、ブロック映像記憶装置、射影変換処理装置、画像処理装置等で実現することができる。また、データの取得方法、画像処理方法、および、これらの方法または装置の機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した記録媒体、そのコンピュータープログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。   Note that the present invention can be realized in various modes, and can be realized by, for example, a projector television, a monitor, a block video storage device, a projection conversion processing device, an image processing device, or the like. Further, a data acquisition method, an image processing method, and a computer program for realizing the functions of these methods or apparatuses, a recording medium on which the computer program is recorded, and data embodied in a carrier wave including the computer program It can be realized in the form of a signal or the like.

台形歪み補正を概念的に示す説明図である。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. 台形歪み補正部120の動作の流れを模式的に示す工程図である。FIG. 6 is a process diagram schematically showing an operation flow of a trapezoidal distortion correction unit 120. 台形歪み補正部120が補正後映像の1画素の画素値を算出するときの各処理のタイミングを示す説明図である。It is explanatory drawing which shows the timing of each process when the trapezoid distortion correction part 120 calculates the pixel value of 1 pixel of the image | video after correction | amendment. フレームバッファー150とキャッシュブロック記憶部122との関係を模式的に示す図である。3 is a diagram schematically showing a relationship between a frame buffer 150 and 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 a figure which shows the relationship between a cache block and an interpolation block. 先読みリクエスト発行部132における先読み判定を説明するための説明図である。It is explanatory drawing for demonstrating the prefetch determination in the prefetch request issuing part. キャッシュブロック記憶部122に格納されているキャッシュブロックが更新される順序を説明するための説明図である。It is explanatory drawing for demonstrating the order in which the cache block stored in the cache block memory | storage part 122 is updated. タグ情報を用いたヒット判定の例を示す説明図である。It is explanatory drawing which shows the example of the hit determination using tag information. ヒット判定処理の工程を模式的に示す工程図である。It is process drawing which shows the process of a hit determination process typically. ヒット判定処理の工程を模式的に示す工程図である。It is process drawing which shows the process of a hit determination process typically. キャッシュブロック制御部121の構成を示す機能ブロック図である。3 is a functional block diagram illustrating a configuration of a cache block control unit 121. FIG. バッファ読み出し制御部137による読み出し要求の並べ替えを説明するための説明図である。It is explanatory drawing for demonstrating rearrangement of the read request by the buffer read control part 137. FIG. キャッシュブロック取得部138によるキャッシュブロックの読み出しの順序を説明するための説明図である。FIG. 10 is an explanatory diagram for explaining a cache block read order by a cache block acquisition unit 138; キャッシュブロック取得部138によるキャッシュブロックを構成する各画素の画素値の読み出し順序を説明するための説明図である。FIG. 11 is an explanatory diagram for explaining a reading order of pixel values of pixels included in a cache block by a cache block acquisition unit 138.

以下、本発明の一態様であるプロジェクターについて、図面を参照しつつ、実施例に基づいて以下の順序で説明する。
A.第1の実施例:
A−1.台形歪み補正:
A−2.プロジェクターの構成:
A−3.台形歪み補正部:
A−4.先読み判定:
A−5.ヒット判定:
A−6.キャッシュブロック制御部:
B.変形例:
Hereinafter, a projector which is one embodiment of the present invention will be described in the following order based on embodiments with reference to the drawings.
A. First embodiment:
A-1. Keystone correction:
A-2. Projector configuration:
A-3. Keystone distortion correction section:
A-4. Prefetch determination:
A-5. Hit judgment:
A-6. Cache block controller:
B. Variations:

A.第1の実施例:
A−1.台形歪み補正:
本発明の一実施例としてのプロジェクター100は、映像を表す映像光を投写して、スクリーンSCなどの被投写面上に映像を表示させる。プロジェクター100は、矩形の映像が入力された場合に、スクリーンSC上に表示される映像の台形歪みを補正して、矩形の映像を表示させることが可能なプロジェクターである。ここで、台形歪みとは、プロジェクターと被投写面との相対的な位置関係によって、被投写面に表示された映像が台形、平行四辺形、それ以外の四角形等に歪むことをいう。プロジェクター100の構成の説明に先立って、本実施例のプロジェクター100における台形歪み補正について、簡単に説明する。
A. First embodiment:
A-1. 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. Here, the trapezoidal distortion means that an image displayed on the projection surface is distorted into a trapezoid, a parallelogram, other quadrilaterals, or the like due to the relative positional relationship between the projector and the projection surface. Prior to the description of the configuration of the projector 100, 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.

プロジェクター100は、射影変換の手法を利用して、スクリーンSCに投写される映像と逆方向に歪ませた映像(補正後映像IG1)を液晶パネル部192上に形成することにより、スクリーンSC上に矩形の映像PIG1を表示させる(図1)。ここでは、台形歪みを生じた映像を、矩形(本来表示されるべき映像の形状)に見せるためにおこなわれる補正を「台形歪み補正」と呼ぶ。本実施例における台形歪み補正は、特許請求の範囲における「所定の補正」に該当する。   The projector 100 uses a projective transformation technique to form an image (corrected image IG1) distorted in the opposite direction to the image projected on the screen SC on the liquid crystal panel unit 192, thereby forming the image on the screen SC. A rectangular image PIG1 is displayed (FIG. 1). Here, correction that is performed in order to make an image having trapezoidal distortion appear rectangular (the shape of an image that should be originally displayed) is referred to as “trapezoidal distortion correction”. The trapezoidal distortion correction in this embodiment corresponds to “predetermined correction” in the claims.

図2は、補正後映像データの作成方法を概念的に示す説明図である。図2(a)は、補正前映像IG0を示している。また、図2(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 image IG0. FIG. 2B shows the corrected image IG1. The broken line in FIG. 2B shows the outer shape of the pre-correction image IG0. 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 this embodiment, the coordinates of the pre-correction video IG0 and the post-correction video IG1 refer to 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に基づいて説明する。プロジェクター100は、補正前映像IG0の画素値に基づいて、補正後映像IG1を構成する全ての画素座標の画素値(R,G,Bの各値)を求めることにより、補正後映像データを生成する。一例として、図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. The projector 100 generates post-correction video data by obtaining pixel values (R, G, and B values) of all pixel coordinates constituting the post-correction video IG1 based on the pixel values of the pre-correction video IG0. To do. As an 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.

まず、プロジェクター100は、画素値を求めたい画素の補正後座標P1(X,Y)を補正前座標P0(x,y)に変換する。このとき、補正前映像IG0と補正後映像IG1は、整数倍の対応関係となっていないため、算出された補正前座標P0(x,y)には、小数が含まれている。そのため、プロジェクター100は、対応する補正前座標P0(x,y)の近傍の16座標の画素値を用いて、補正前座標P0(x,y)の画素値を推定する。この画素値の推定を画素補間とも呼ぶ。したがって、プロジェクター100は、変換された小数点を含む補正前座標P0(x,y)に基づいて、補正前座標P0(x,y)近傍の画素ブロックを読み出し、読み出した画素ブロックに対してフィルター係数を用いて画素補間を行う。これにより、プロジェクター100は、補正後映像IG1の座標P1(X,Y)の画素値を算出する。すなわち、プロジェクター100は、補正後映像IG1を構成する全ての画素(座標)の画素値を、1画素ごとに、上記の画素補間を行うことによって算出し、補正後映像IG1を表す補正後映像データを生成する。   First, the projector 100 converts the corrected coordinates P1 (X, Y) of the pixel whose pixel value is to be obtained into the uncorrected coordinates P0 (x, y). At this time, 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, the projector 100 estimates the pixel value of the pre-correction coordinates P0 (x, y) using the pixel values of 16 coordinates in the vicinity of the corresponding pre-correction coordinates P0 (x, y). This estimation of the pixel value is also called pixel interpolation. Accordingly, the projector 100 reads out the pixel block near the pre-correction coordinate P0 (x, y) based on the converted pre-correction coordinate P0 (x, y) including the decimal point, and applies a filter coefficient to the read pixel block. Is used to perform pixel interpolation. Thereby, the projector 100 calculates the pixel value of the coordinate P1 (X, Y) of the corrected image IG1. That is, the projector 100 calculates the pixel values of all the pixels (coordinates) constituting the corrected image IG1 by performing the pixel interpolation for each pixel, and the corrected image data representing the corrected image IG1. Is generated.

図3は、画素補間の方法を概念的に示す図である。図3では、上記した補正後座標P1(X,Y)を変換した補正前座標P0(x,y)に対応する画素値を画素補間により求める方法を例示している。図中、補正前座標P0(x,y)の位置を、ハッチングを付した丸印で示し、その周辺16座標の位置を白丸印で示している。補正前座標P0(x,y)に対応する画素値は画素補間によって求められるため、補正前座標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 a pixel value corresponding to the pre-correction coordinate P0 (x, y) obtained by converting the post-correction coordinate P1 (X, Y) by pixel interpolation. In the figure, the position of the pre-correction coordinates P0 (x, y) is indicated by hatched circles, and the positions of the surrounding 16 coordinates are indicated by white circles. Since the pixel value corresponding to the pre-correction coordinate P0 (x, y) is obtained by pixel interpolation, the pixel value corresponding to the pre-correction coordinate P0 (x, y) is set to “interpolated pixel” and the pre-correction coordinate P0 (x, y). ) The pixel values of the surrounding 16 pixels are pre-correction video data and are known, so they are also referred to as “known pixels”.

図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. Prepare. Each component other than the illumination optical system 190, the liquid crystal panel unit 192, and the projection optical system 194 is 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については、後に図5を用いて詳述する。   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 with reference to FIG.

液晶パネル駆動部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 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カメラを有しており、プロジェクター100によってスクリーンSC上に表示された映像を撮像して撮影画像を生成する。撮像部180により生成された撮影画像は、図示せざる撮影画像メモリ内に格納される。なお、撮像部180は、CCDカメラの代わりに他の撮像デバイスを有することも可能である。   The imaging unit 180 includes a CCD camera, and captures an image displayed on the screen SC by the projector 100 to generate a captured image. The captured image generated by the imaging unit 180 is stored in a captured image 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と、先読みリクエスト発行部132と、を備えている。
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. A unit 127, a control unit 128, a coordinate conversion unit 129, a filter coefficient calculation unit 130, a hit determination unit 131, and a prefetch request issuing unit 132.

キャッシュブロック制御部121は、フレームバッファー150に格納されている補正前映像データの一部のデータを、8×8画素からなるキャッシュブロック単位で取得してキャッシュブロック記憶部122に格納する。以後、キャッシュブロックとは、8×8画素の画素値を含む映像データを表す。また、キャッシュブロック制御部121は、キャッシュブロック用タグ情報記憶部123に格納されている後述するタグ情報を更新する。キャッシュブロック制御部121は、ヒット判定部131または先読みリクエスト発行部132によって指定されたキャッシュブロックをフレームバッファー150から取得する。ヒット判定部131または先読みリクエスト発行部132によって指定されたキャッシュブロックをフレームバッファー150から取得するときの具体的な処理については、図16〜図19を用いて後述する。本実施例におけるキャッシュブロック制御部121は、特許請求の範囲における「ブロック映像取得部」に該当する。   The cache block control unit 121 acquires part of the pre-correction video data stored in the frame buffer 150 in units of cache blocks including 8 × 8 pixels and stores the acquired data in the cache block storage unit 122. Hereinafter, the cache block represents video data including a pixel value of 8 × 8 pixels. In addition, the cache block control unit 121 updates tag information described later stored in the cache block tag information storage unit 123. The cache block control unit 121 acquires the cache block specified by the hit determination unit 131 or the prefetch request issuing unit 132 from the frame buffer 150. Specific processing for acquiring the cache block designated by the hit determination unit 131 or the prefetch request issuing unit 132 from the frame buffer 150 will be described later with reference to FIGS. The cache block control unit 121 in this embodiment corresponds to a “block video acquisition unit” in the claims.

キャッシュブロック記憶部122は、フレームバッファー150に格納されている1フレーム分の補正前映像データの一部のデータを、8×8画素からなるキャッシュブロック単位で格納する。キャッシュブロック記憶部122は、1つのキャッシュブロックを格納できるブロック領域を複数備える。本実施例では、後に詳述するように、キャッシュブロック記憶部122は240列×4行のブロック領域を備える。本実施例において、キャッシュブロック記憶部122は、小容量で高速なSRAM(Static Random Access Memory)で構成され、当該SRAMは、後に詳述するように、1ポートのRAMを用いて、読み出しと書き込みとを同時に行うことができる。本実施例におけるキャッシュブロック記憶部122は、特許請求の範囲における「ブロック映像記憶部」に該当する。また、本実施例では、キャッシュブロック記憶部122における1列×4行のブロック領域群を、ブロック領域列とも呼ぶ。すなわち、本実施例におけるキャッシュブロック記憶部122は、ブロック領域列が240列並列に並んだ構成を備えている。   The cache block storage unit 122 stores a part of the pre-correction video data for one frame stored in the frame buffer 150 in units of cache blocks each including 8 × 8 pixels. The cache block storage unit 122 includes a plurality of block areas that can store one cache block. 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 the present embodiment, the cache block storage unit 122 is configured by a small-capacity and high-speed SRAM (Static Random Access Memory), and the SRAM uses a 1-port RAM to read and write as will be described in detail later. Can be performed simultaneously. The cache block storage unit 122 in this embodiment corresponds to a “block video storage unit” in the claims. In this embodiment, a block area group of 1 column × 4 rows in the cache block storage unit 122 is also referred to as a block area column. That is, the cache block storage unit 122 in the present embodiment has a configuration in which block region columns are arranged in 240 columns in parallel.

キャッシュブロック用タグ情報記憶部123は、キャッシュブロック記憶部122を構成するブロック領域ごとに、キャッシュブロックが格納されているか否かの情報や、格納されているキャッシュブロックを特定するための情報等、ブロック領域を管理するための情報であるタグ情報を格納する。タグ情報の具体的な内容は図9を用いて後述する。   The cache block tag information storage unit 123 includes information on whether or not a cache block is stored for each block area constituting the cache block storage unit 122, information for specifying the stored cache block, etc. Stores tag information which is information for managing the block area. Specific contents of the tag information will be described later with reference to FIG.

補間ブロック読み出し部124は、画素補間部125における画素補間に必要な4×4画素からなる補間ブロックを、キャッシュブロック記憶部122から読み出して、画素補間部125に供給する。補間ブロック読み出し部124がキャッシュブロック記憶部122から補間ブロックを読み出す位置については、図10を用いて後述する。   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. The position where the interpolation block reading unit 124 reads the interpolation block from the cache block storage unit 122 will be described later with reference to FIG.

画素補間部125は、補間ブロック読み出し部124から供給される補間ブロックと、フィルター係数算出部130から供給されるフィルター係数に基づいて画素補間処理を実行し、補間画素の画素値を求める。画素補間部125が補間画素の画素値を算出する方法は、図1〜図3を用いて上述したとおりである。画素補間部125は、1つの補間ブロックと、フィルター係数から1つの補間画素の画素値を算出する。本実施例では、画素補間部125は、まず、補正後映像のx方向、y方向ともに最も上流側の画素(図2(b)左上)の画素値を算出し、その後、図2(b)の矢印の方向に従って、x方向の下流側の画素について画素値を順次算出する。x方向で最も下流側の画素の画素値を算出すると、y方向において一つ下流側の列について同様にx方向の最も上流側の画素から順に画素値を算出する。これを順次繰り返し、x方向、y方向ともに最も下流側の画素の画素値まで算出をおこなうことにより、補正後映像を表す補正後映像データを生成する。生成された補正後映像データは、FIFO部126を介して液晶パネル駆動部140(図4)に出力される。本実施例における補間ブロック読み出し部124、画素補間部125は、特許請求の範囲における「補正処理部」に該当する。   The pixel interpolation unit 125 performs 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 to obtain the pixel value of the interpolation pixel. The method by which the pixel interpolation unit 125 calculates the pixel value of the interpolation pixel is as described above with reference to FIGS. The pixel interpolation unit 125 calculates the pixel value of one interpolation pixel from one interpolation block and the filter coefficient. In the present embodiment, the pixel interpolation unit 125 first calculates the pixel value of the most upstream pixel (upper left in FIG. 2B) in both the x direction and the y direction of the corrected video, and thereafter, FIG. The pixel values are sequentially calculated for the pixels on the downstream side in the x direction according to the arrow direction. When the pixel value of the pixel on the most downstream side in the x direction is calculated, the pixel value is calculated in order from the pixel on the most upstream side in the x direction in the same way for a column on the downstream side in the y direction. This is sequentially repeated, and the corrected video data representing the corrected video is generated by calculating up to the pixel value of the most downstream pixel in both the x and y directions. The generated corrected video data is output to the liquid crystal panel driving unit 140 (FIG. 4) via the FIFO unit 126. The interpolation block reading unit 124 and the pixel interpolation unit 125 in this embodiment correspond to a “correction processing unit” in the claims.

レジスター部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を導出する。   The register unit 127 stores parameters supplied from the processor unit 170. Specifically, the register unit 127 stores parameters such as the frame width and frame height of one frame of the pre-correction video, and the transformation coefficients A to H of the coordinate transformation matrix. The 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 coefficients A to H.

Figure 2011199804
Figure 2011199804

本実施例では、補正後映像データの生成処理が開始される前に、台形歪み補正前にスクリーン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に入力される同期信号に従って、フレームの始まりを示すフレームスタート信号を座標変換部129に対して出力する。同期信号は、例えば、1秒間に60フレーム表示される場合には、1/60秒毎に入力される。   The control unit 128 performs overall control of the trapezoidal distortion correction unit 120. For example, a frame start signal indicating the start of a frame is output to the coordinate conversion unit 129 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.

座標変換部129は、レジスター部127から供給される座標変換係数A〜Hと、以下の(式2)、(式3)を用いて、台形歪み補正を行った後の補正後映像IG1の座標値(補正後座標)を、補正前映像IG0(矩形の映像)の座標値(補正前座標)に変換する。補正前映像IG0と補正後映像IG1とは、整数倍の対応関係とはなっていないため、座標変換部129にて算出された補正前座標は、小数を含んでいる。座標変換部129は、補正前座標を、整数部と小数部に分けて、整数部をヒット判定部131および先読みリクエスト発行部132に供給し、小数部をフィルター係数算出部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 coordinates before correction into an integer part and a decimal part, supplies the integer part to the hit determination unit 131 and the prefetch request issuing unit 132, 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 2011199804
Figure 2011199804
上記(式2)、(式3)中の係数A〜Hは、レジスター部127に記憶されている。
Figure 2011199804
Figure 2011199804
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から供給された補正前座標の整数部に基づいて、画素補間部125における画素補間に用いられる座標の画素値がキャッシュブロック記憶部122に格納されているか否かを判定する。以下、この判定を「ヒット判定」と称する。ヒット判定の結果、キャッシュブロック記憶部122に画素補間に必要な画素値が格納されていない場合には、キャッシュブロック制御部121に対して、必要なキャッシュブロックの読み出し要求を発行する。ヒット判定の結果、キャッシュブロック記憶部122に画素補間に必要な画素値が格納されている場合には、補間ブロック読み出し部124に対してキャッシュブロック記憶部122における読み出し位置を供給する。ヒット判定の処理の流れについては、図13〜図15を用いて後述する。なお、ヒット判定部は、特許請求の範囲における「判定部」に該当する。   The hit determination unit 131 determines whether the pixel value of the coordinates used for pixel interpolation in the pixel interpolation unit 125 is stored in the cache block storage unit 122 based on the integer part of the coordinates before correction supplied from the coordinate conversion unit 129. Determine whether. 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 to read 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 with reference to FIGS. The hit determination unit corresponds to the “determination unit” in the claims.

先読みリクエスト発行部132は、座標変換部129に供給された補正前座標の整数部に基づいて、その後の画素補間処理に必要になるキャッシュブロックを予測する。先読みリクエスト発行部132は、予測したキャッシュブロックの読み出し要求をキャッシュブロック制御部121に対して発行することにより、予測したキャッシュブロックをキャッシュブロック記憶部122に格納させる。先読みリクエスト発行部132は、所定のキャッシュブロックから補間ブロック読み出し部124により補間ブロックの読み出しがおこなわれたときに、その後の画素補間処理に必要になるキャッシュブロックを予測する。先読みリクエスト発行部132による具体的な処理については、後述する。なお、上記したキャッシュブロックの予測を、「先読み判定」とも呼ぶ。先読みリクエスト発行部132は、特許請求の範囲における「ブロック映像予測部」に該当する。   The prefetch request issuing unit 132 predicts a cache block necessary for the subsequent pixel interpolation processing based on the integer part of the coordinates before correction supplied to the coordinate conversion unit 129. The prefetch request issuing unit 132 causes the cache block storage unit 122 to store the predicted cache block by issuing a read request for the predicted cache block to the cache block control unit 121. The prefetch request issuing unit 132 predicts a cache block necessary for the subsequent pixel interpolation process when the interpolation block reading unit 124 reads an interpolation block from a predetermined cache block. Specific processing by the prefetch request issuing unit 132 will be described later. The cache block prediction described above is also referred to as “prefetch determination”. The prefetch request issuing unit 132 corresponds to a “block video prediction unit” in the claims.

台形歪み補正部120を構成する上記各構成部の動作の流れを簡単に説明する。図6は、台形歪み補正部120の動作の流れを模式的に示す工程図である。まず、台形歪み補正部120の座標変換部129(図5)は、フレームスタート信号が入力されるまでは待機し(ステップS102:NO)、フレームスタート信号が入力されると (ステップS102:YES)、補正後映像の座標(補正後座標)を座標変換して補正前座標を求める(ステップS104)。補正後座標を座標変換して補正前座標を算出する方法は上述したとおりである。   The flow of the operation of each of the constituent parts constituting the trapezoidal distortion correcting part 120 will be briefly described. FIG. 6 is a process diagram schematically showing an operation flow of the trapezoidal distortion correction unit 120. First, the coordinate conversion unit 129 (FIG. 5) of the trapezoidal distortion correction unit 120 stands by until a frame start signal is input (step S102: NO), and when a frame start signal is input (step S102: YES). Then, the coordinates of the corrected image (corrected coordinates) are converted to obtain the coordinates before correction (step S104). The method for calculating the coordinates before correction by converting the coordinates after correction is as described above.

ヒット判定部131(図5)は、座標変換部129が算出した補正前座標の整数部に基づいて、補間ブロックの読み出し位置を補間ブロック読み出し部124に供給する。補間ブロック読み出し部124(図5)は、供給された読み出し位置に基づいて補間ブロックをキャッシュブロック記憶部122から読み出す(ステップS106)。一方、フィルター係数算出部130(図5)は、ステップS104で求められた補正前座標の小数部に基づいて、フィルター係数テーブルからフィルター係数を選択する。ステップS106の補間ブロック読み出し処理(「ブロックリード」とも呼ぶ)と、ステップS108のフィルター係数算出処理は同時に行われ、両処理が終了すると、次の処理(ステップS110)に進む。   The hit determination unit 131 (FIG. 5) supplies the interpolation block readout position to the interpolation block readout unit 124 based on the integer part of the coordinates before correction calculated by the coordinate conversion unit 129. The interpolation block reading unit 124 (FIG. 5) reads the interpolation block from the cache block storage unit 122 based on the supplied reading position (step S106). 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 readout process (also referred to as “block read”) in step S106 and the filter coefficient calculation process in step S108 are performed simultaneously. When both processes are completed, the process proceeds to the next process (step S110).

画素補間部125(図5)は、補間ブロックとフィルター係数とを用いて、補正後座標の画素値を算出する(ステップS110)。具体的には、画素補間部125は、補間ブロック読み出し部124から供給された補間ブロックと、フィルター係数算出部130から供給されたフィルター係数とを用いて、畳み込み演算により補正後座標の画素値を算出する。   The pixel interpolation unit 125 (FIG. 5) calculates the pixel value of the corrected coordinates using the interpolation block and the filter coefficient (step S110). Specifically, the pixel interpolation unit 125 uses the interpolation block supplied from the interpolation block reading unit 124 and the filter coefficient supplied from the filter coefficient calculation unit 130 to calculate the pixel value of the corrected coordinate by a convolution operation. calculate.

台形歪み補正部120は、上記のステップS104〜ステップS110を、補正後座標(X,Y)=(0,0)〜(フレーム幅−1,フレーム高さ−1)まで繰り返して行うことにより、補正後映像データを生成する。本実施例では、フレーム幅1920、フレーム高さ1200であるため、補正後座標(X,Y)=(0,0)〜(1919,1199)まで、ステップS104〜ステップS110を繰り返す。なお、フレーム幅、フレーム高さが本実施例と異なる場合には、ステップS104〜ステップS110を、補正後座標(X,Y)=(0,0)〜(フレーム幅−1,フレーム高さ−1)まで繰り返して行うことにより、補正後映像データを生成することができる。   The trapezoidal distortion correction unit 120 repeats the above steps S104 to S110 from the corrected coordinates (X, Y) = (0, 0) to (frame width−1, frame height−1). Generate corrected video data. In this embodiment, since the frame width is 1920 and the frame height is 1200, steps S104 to S110 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 S104 to S110 are performed after the corrected coordinates (X, Y) = (0, 0) to (frame width−1, frame height− By repeating the process up to 1), the corrected video data can be generated.

図7は、台形歪み補正部120が補正後映像の1画素の画素値を算出するときの各処理のタイミングを示す説明図である。座標変換部129は、制御部128から出力されたフレームスタート信号を受信すると、座標変換処理を開始する。この座標変換処理が終了して補正前座標が算出されると、フィルター係数算出部130は、フィルター係数の算出処理を開始し、ヒット判定部131は、ヒット判定のためのタグ情報の読み出し処理を開始する。   FIG. 7 is an explanatory diagram showing the timing of each process when the trapezoidal distortion correction unit 120 calculates the pixel value of one pixel of the corrected image. When the coordinate conversion unit 129 receives the frame start signal output from the control unit 128, the coordinate conversion unit 129 starts coordinate conversion processing. When the coordinate conversion process is completed and the pre-correction coordinates are calculated, the filter coefficient calculation unit 130 starts the filter coefficient calculation process, and the hit determination unit 131 performs a tag information read process for hit determination. Start.

ヒット判定部131は、タグ情報を読み出してヒット判定をおこなった結果、補間ブロック読み出し部124により読み出されるべき領域を含むキャッシュブロックがキャッシュブロック記憶部122に格納されていないと判定した場合には、補間ブロック読み出し部124により読み出されるべき領域を含むキャッシュブロックがキャッシュブロック記憶部122に格納されるのを待つ(以下、「ブロックライト待ち」とも呼ぶ)。   When the hit determination unit 131 determines that the cache block including the area to be read by the interpolation block reading unit 124 is not stored in the cache block storage unit 122 as a result of performing the hit determination by reading the tag information, It waits for a cache block including an area to be read by the interpolation block reading unit 124 to be stored in the cache block storage unit 122 (hereinafter also referred to as “block write wait”).

一方、上記のフィルター係数算出処理、および、タグ情報の読み出し処理と同時に、先読みリクエスト発行部132は、キャッシュブロックの先読みの要否を判定し、必要であれば、キャッシュブロックの先読みの要求(以下、「先読みリクエスト」とも呼ぶ)を発行する。キャッシュブロック制御部121は、ヒット判定部131または先読みリクエスト発行部132からキャッシュブロックの読み出し要求が発行されたら、フレームバッファー150の要求された位置からキャッシュブロックを読み出して、キャッシュブロック記憶部122に格納する。補間ブロック読み出し部124により読み出されるべき領域を含むキャッシュブロックがキャッシュブロック記憶部122に格納されると、ヒット判定部131は、補間ブロック読み出し部124により読み出されるべき領域を含むキャッシュブロックがキャッシュブロック記憶部122に格納されていると判定し、補間ブロック読み出し部124は、新たに格納されたキャッシュブロックから補間ブロックを読み出す。   On the other hand, at the same time as the filter coefficient calculation process and the tag information reading process, the prefetch request issuing unit 132 determines whether or not prefetching of the cache block is necessary. , Also called “prefetch request”). When a cache block read request is issued from the hit determination unit 131 or the prefetch request issuing unit 132, the cache block control unit 121 reads the cache block from the requested position in the frame buffer 150 and stores it in the cache block storage unit 122. To do. When the cache block including the area to be read by the interpolation block reading unit 124 is stored in the cache block storage unit 122, the hit determination unit 131 stores the cache block including the area to be read by the interpolation block reading unit 124 in the cache block storage. The interpolation block reading unit 124 determines that the interpolation block is stored in the unit 122, and reads the interpolation block from the newly stored cache block.

フィルター係数の算出や、補間ブロックの読み出しが終了すると、画素補間部125は、画素補間を開始する。なお、図7において、実線の枠は処理時間が固定、破線の枠は処理時間が可変であることを表す。また、枠の長さは処理の長さを表すものではない。本実施例では、先読みリクエストを行うことにより、ヒット判定部におけるブロックライト待ちの時間を短くしている。   When the calculation of the filter coefficient and the reading of the interpolation block are completed, the pixel interpolation unit 125 starts pixel interpolation. In FIG. 7, the solid line frame indicates that the processing time is fixed, and the broken line frame indicates that the processing time is variable. Further, the length of the frame does not represent the length of processing. In this embodiment, the block write waiting time in the hit determination unit is shortened by making a prefetch request.

A−4.先読み判定:
先読みリクエスト発行部132における先読み判定についての説明に先立って、本実施例におけるフレームバッファー150、キャッシュブロック記憶部122およびキャッシュブロック用タグ情報記憶部123の関係と、キャッシュブロックと補間ブロックとの関係について詳細に説明する。
A-4. Prefetch determination:
Prior to the description of the prefetch determination in the prefetch request issuing unit 132, the relationship between the frame buffer 150, the cache block storage unit 122, and the cache block tag information storage unit 123 in this embodiment, and the relationship between the cache block and the interpolation block. This will be described in detail.

図8は、フレームバッファー150とキャッシュブロック記憶部122との関係を模式的に示す図である。図8では、フレームバッファー150に格納されている1フレーム分の補正前映像データを、8×8画素からなるキャッシュブロック単位に分割した状態を示している。本実施例において、フレームバッファー150に格納されている補正前映像データは、1920×1200画素によって構成されており、このような補正前映像データが240×150個のキャッシュブロックに分割されている。図8に示すフレームバッファー150に格納された補正前映像データにおける各キャッシュブロックの位置は、それぞれ、補正前映像データにより表される補正前映像における各キャッシュブロックにより表される映像(領域)の位置と対応している。図8において各キャッシュブロック内に記載されている文字列(x,y)は、そのキャッシュブロックのx方向およびy方向の位置(列番号,行番号)を示している。本実施例では、列が並んでいる方向をx方向、行が並んでいる方向をy方向としている。本実施例におけるy方向は、特許請求の範囲における「第1の方向」に該当し、x方向は、特許請求の範囲における「第1の方向と直交する方向」に該当する。また、x方向、y方向いずれにおいても、文字列(x,y)の番号の小さいキャッシュブロックの側を上流側と呼び、文字列(x,y)の番号の大きい側を下流側と呼ぶ。   FIG. 8 is a diagram schematically illustrating the relationship between the frame buffer 150 and the cache block storage unit 122. FIG. 8 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 position of each cache block in the pre-correction video data stored in the frame buffer 150 shown in FIG. 8 is the position of the video (region) represented by each cache block in the pre-correction video represented by the pre-correction video data. It corresponds to. In FIG. 8, 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 rows are arranged is the y direction. The y direction in the present embodiment corresponds to a “first direction” in the claims, and the x direction corresponds to a “direction orthogonal to the first direction” in the claims. In both the x direction and the y direction, the side of the cache block with the smaller character string (x, y) number is called the upstream side, and the side with the larger character string (x, y) number is called the downstream side.

キャッシュブロック記憶部122は、1つのキャッシュブロックを格納できるブロック領域を、240列×4行個備える。図8では、各ブロック領域を識別するために、(列(0〜239),行(0〜3))の番号を付している。すなわち、キャッシュブロック記憶部122は、y方向に沿った方向に並ぶ4つのブロック領域(行0〜3)からなるブロック領域列がx方向に沿った方向に240列(列0〜239)並んだ構成を備えている。キャッシュブロック記憶部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. 8, in order to identify each block area, numbers (column (0-239), row (0-3)) are given. That is, in the cache block storage unit 122, block region columns composed of four block regions (rows 0 to 3) arranged in the direction along the y direction are arranged in 240 columns (columns 0 to 239) in the direction along the x direction. It has a configuration. The cache block storage unit 122 can store 240 × 4 pieces of partial data (cache blocks) of pre-correction video data for one frame stored in the frame buffer 150.

本実施例では、台形歪み補正処理が開始される際に、まず、フレームバッファー150から(0,0)〜(239,3)のキャッシュブロックが読み出され、キャッシュブロック記憶部122に格納される。キャッシュブロックは、キャッシュブロック記憶部122において、各キャッシュブロックの列番号と同一の列番号のブロック領域に格納される。したがって、台形歪み補正処理が開始される際には、まず、キャッシュブロック記憶部122の各ブロック領域には、ブロック領域の列番号、行番号と同一の列番号、行番号を有するキャッシュブロックが格納される(図8)。キャッシュブロック記憶部122の幅は、フレームバッファー150の幅と同じである。キャッシュブロック記憶部122の高さは、4キャッシュブロック分であり、1フレームの32ライン(4キャッシュブロック×8px)分の画素データが格納される。キャッシュブロック記憶部122において、キャッシュブロックがフレームバッファー150の列番号の順に、すなわち、x方向の上流側から下流側に順次格納されているため、後述するx方向のヒット判定検索を高速に行うことができる。   In this embodiment, when the trapezoidal distortion correction process is started, first, the cache blocks (0, 0) to (239, 3) are read from the frame buffer 150 and stored in 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, first, in each block area of the cache block storage unit 122, a cache block having a column number and a row number identical to the column number and line number of the block area is stored. (FIG. 8). 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 pixel data for 32 lines (4 cache blocks × 8 px) of one frame is stored. In the cache block storage unit 122, the cache blocks are sequentially stored in the order of the column numbers of the frame buffer 150, that is, from the upstream side to the downstream side in the x direction. Can do.

キャッシュブロック用タグ情報記憶部123は、キャッシュブロック記憶部122をブロック領域単位で管理する際の管理情報であるタグ情報を格納する。図9は、キャッシュブロック記憶部122とキャッシュブロック用タグ情報記憶部123との関係を概念的に示す図である。図示するように、キャッシュブロック用タグ情報記憶部123には、キャッシュブロック記憶部122の240×4個のブロック領域に対応させて240×4個のタグ情報が格納されている。   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. 9 is a diagram conceptually illustrating 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にした情報を保持する。本実施例では、図8に示す行番号を座標Y_ADRとする。(2)において、有効とは、キャッシュブロックがキャッシュブロック記憶部122に格納されていること、無効とはキャッシュブロックがキャッシュブロック記憶部122に格納されていないことを示す。本実施例において、台形歪み補正処理開始の際に、(0,0)〜(239,3)のキャッシュブロックがキャッシュブロック記憶部122に格納される前は、すべのタグ情報において、「無効(VALID=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. 8 is set as the coordinate Y_ADR. In (2), “valid” indicates that the cache block is stored in the cache block storage unit 122, and “invalid” indicates that the cache block is not stored in the cache block storage unit 122. In this embodiment, at the start of the trapezoidal distortion correction process, before the cache blocks (0, 0) to (239, 3) are stored in the cache block storage unit 122, all tag information includes “invalid ( VALID = 0) ”.

図10は、キャッシュブロックと補間ブロックとの関係を示す図である。図10において、補間ブロックを斜線ハッチングで示している。本実施例において、キャッシュブロックは8×8画素からなり、補間ブロックは4×4画素からなるため、補間ブロックは、キャッシュブロックの一部となる。   FIG. 10 is a diagram illustrating the relationship between the cache block and the interpolation block. In FIG. 10, the interpolation block is indicated by hatching. 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.

後述するように、キャッシュブロック記憶部122に格納されるキャッシュブロックは、台形歪み補正処理の進行にしたがって、ブロック領域列ごとに順次更新される。したがって、台形歪み補正処理の途中では、キャッシュブロック記憶部122に格納されているキャッシュブロックと対応するフレームバッファー150のキャッシュブロックは、例えば、図10に示すように階段状となる。   As will be described later, the cache blocks stored in the cache block storage unit 122 are sequentially updated for each block area column as the trapezoidal distortion correction process proceeds. Therefore, during the trapezoidal distortion correction process, the cache blocks of the frame buffer 150 corresponding to the cache blocks stored in the cache block storage unit 122 are stepped as shown in FIG. 10, for example.

図11は、先読みリクエスト発行部132における先読み判定を説明するための説明図である。図11において、補正前映像データのキャッシュブロック(u,v),キャッシュブロック(u,v+1),キャッシュブロック(u,v+2),キャッシュブロック(u,v+3)が、キャッシュブロック記憶部122のブロック領域(u,0),ブロック領域(u,1),ブロック領域(u,2),ブロック領域(u,3)に格納されているものとする。   FIG. 11 is an explanatory diagram for explaining prefetch determination in the prefetch request issuing unit 132. In FIG. 11, the cache block (u, v), the cache block (u, v + 1), the cache block (u, v + 2), and the cache block (u, v + 3) of the video data before correction are the block areas of the cache block storage unit 122. It is assumed that (u, 0), block area (u, 1), block area (u, 2), and block area (u, 3) are stored.

先読みリクエストの条件は、先読みリクエスト発行部132に入力された補正前座標の整数部Int(x、y)が、キャッシュブロック記憶部122の各ブロック領域列に格納されているキャッシュブロックのうち、行番号が一番大きいキャッシュブロックに入ったことである。先読みリクエストが発行されると、キャッシュブロック制御部121により、各ブロック領域列において行番号が一番大きいキャッシュブロックより1つ行番号が大きいキャッシュブロックがフレームバッファー150から読み出され、キャッシュブロック記憶部122に格納されているキャッシュブロックのうち、行番号が一番小さいキャッシュブロックが格納されているブロック領域に上書きされる。   The prefetch request condition is that the integer part Int (x, y) of the coordinates before correction input to the prefetch request issuing unit 132 is a row of cache blocks stored in each block area column of the cache block storage unit 122. This means that the cache block with the highest number has been entered. When a prefetch request is issued, the cache block control unit 121 reads out from the frame buffer 150 a cache block having one row number larger than the cache block having the largest row number in each block area column, and the cache block storage unit Of the cache blocks stored in 122, the block area in which the cache block with the smallest row number is stored is overwritten.

図11を用いて先読み判定の具体例を示す。先読みリクエスト発行部132は、入力された補正前座標の整数部Int(x、y)が、ブロック領域列に格納されている複数のキャッシュブロックのうち、行番号が一番大きいキャッシュブロック(u,v+3)に含まれるか否かを判断する。先読みリクエスト発行部132は、整数部Int(x、y)が、キャッシュブロック(u,v+3)に含まれる場合には、行番号が一番大きいキャッシュブロック(u,v+3)の次のキャッシュブロック(u,v+4)をフレームバッファー150から読み出すための読み出し要求をキャッシュブロック制御部121に対して発行する。読み出し要求には、先読みをするブロックのフレームバッファー150における座標、すなわちキャッシュブロックの行番号と列番号、および、キャッシュブロックを保存するキャッシュブロック記憶部122の座標位置、すなわちブロック領域の行番号と列番号などが含まれている。キャッシュブロック制御部121は、読み出し要求を受けると、ブロック領域列に格納されているキャッシュブロックのうち行番号が一番小さいキャッシュブロック(u,v)が格納されているブロック領域(u,0)に、先読みしたキャッシュブロック(u,v+4)を上書きする。   A specific example of the prefetch determination will be described with reference to FIG. The prefetch request issuing unit 132 has the input integer part Int (x, y) of the coordinates before correction, among the plurality of cache blocks stored in the block area column, the cache block (u, It is determined whether it is included in v + 3). When the integer part Int (x, y) is included in the cache block (u, v + 3), the prefetch request issuing unit 132 stores the cache block (u, v + 3) next to the cache block (u, v + 3) with the largest row number ( A read request for reading u, v + 4) from the frame buffer 150 is issued to the cache block control unit 121. In the read request, the coordinates in the frame buffer 150 of the block to be prefetched, that is, the row number and column number of the cache block, and the coordinate position of the cache block storage unit 122 that stores the cache block, that is, the row number and column of the block area Numbers etc. are included. When the cache block control unit 121 receives the read request, the block area (u, 0) in which the cache block (u, v) having the smallest row number among the cache blocks stored in the block area column is stored. In addition, the previously read cache block (u, v + 4) is overwritten.

本実施例では、先読みリクエスト発行部132は、ブロック領域列に格納されているキャッシュブロックのうち、フレームバッファー150のy方向において最も下流側の領域を表すキャッシュブロック(u,v+3)と補正前映像において下流側で隣接する領域を表すキャッシュブロック、すなわちキャッシュブロック(u,v+4)を、補間ブロック読み出し部124が後に補間ブロック映像データを取得するキャッシュブロックとして予測している。   In this embodiment, the prefetch request issuing unit 132 and the cache block (u, v + 3) representing the most downstream area in the y direction of the frame buffer 150 among the cache blocks stored in the block area column and the pre-correction video , The cache block (u, v + 4) representing an adjacent area on the downstream side is predicted as a cache block from which the interpolation block reading unit 124 later acquires the interpolation block video data.

なお、先読みリクエスト発行部132は、読み出し要求の発行とともに、指定したブロック領域に対応するタグ情報の更新をおこなう。具体的には、WRITING=1とし、Y_ADRを先読みするキャッシュブロックの座標(行番号)に設定する。また、先読みリクエスト発行部132は、先読みリクエストにより指定したブロック領域に指定したキャッシュブロックが格納されると、キャッシュブロック用タグ情報記憶部123の該当するタグ情報を、VALID=1、WRITING=0に更新する。   Note that the prefetch request issuing unit 132 updates the tag information corresponding to the designated block area as well as issuing a read request. Specifically, WRITEING = 1 and Y_ADR is set to the coordinates (line number) of the cache block to be prefetched. Further, when the designated cache block is stored in the block area designated by the prefetch request, the prefetch request issuing unit 132 sets the corresponding tag information in the cache block tag information storage unit 123 to VALID = 1 and WRITEING = 0. Update.

図12は、キャッシュブロック記憶部122に格納されているキャッシュブロックが更新される順序を説明するための説明図である。図12では、キャッシュブロック記憶部122における第2列目のブロック領域列に格納されているキャッシュブロックを例示している。また図12では、ブロック領域列に格納されている各キャッシュブロックを、各キャッシュブロックの左上端の画素の補正前映像における座標を用いて識別する。例えば、左上端の画素の補正前映像における座標が(16,0)のキャッシュブロックは、キャッシュブロック(16,0)と示している。   FIG. 12 is an explanatory diagram for explaining the order in which cache blocks stored in the cache block storage unit 122 are updated. FIG. 12 illustrates a cache block stored in the second block area column in the cache block storage unit 122. In FIG. 12, each cache block stored in the block area column is identified using the coordinates in the pre-correction video of the upper left pixel of each cache block. For example, a cache block whose coordinates in the pre-correction image of the upper left pixel are (16, 0) is indicated as a cache block (16, 0).

図12(a)は、台形歪み補正処理開始時におけるブロック領域列の各ブロック領域に格納されているキャッシュブロックを例示している。ここでは、ブロック領域(2,0)にはキャッシュブロック(16,0)が格納され、ブロック領域(2,1)にはキャッシュブロック(16,8)が格納され、ブロック領域(2,2)にはキャッシュブロック(16,16)が格納され、ブロック領域(2,3)にはキャッシュブロック(16,24)が格納されている。先読みリクエスト発行部132に入力された補正前座標の整数部Int(x、y)が、キャッシュブロック(16,24)に入ったとき、すなわち、入力されたy座標の整数部が24〜31だった場合には、先読みリクエストが発行されてキャッシュブロック(16,32)がフレームバッファー150から読み出される。そして、キャッシュブロック記憶部122の第2列目のブロック領域列に格納されているキャッシュブロックのうち、y座標が一番小さいキャッシュブロック(16,0)が格納されているブロック領域(2,0)に、読み出されたキャッシュブロック(16,32)が上書きされる(図12(a),(b))。   FIG. 12A illustrates a cache block stored in each block area of the block area sequence at the start of the trapezoidal distortion correction process. Here, cache block (16, 0) is stored in block area (2, 0), cache block (16, 8) is stored in block area (2, 1), and block area (2, 2). The cache block (16, 16) is stored in, and the cache block (16, 24) is stored in the block area (2, 3). When the integer part Int (x, y) of the coordinates before correction input to the prefetch request issuing unit 132 enters the cache block (16, 24), that is, the integer part of the input y coordinate is 24 to 31. In the case where the pre-read request is issued, the cache block (16, 32) is read from the frame buffer 150. Then, among the cache blocks stored in the second block area column of the cache block storage unit 122, the block area (2, 0) in which the cache block (16, 0) having the smallest y coordinate is stored. ) Is overwritten with the read cache block (16, 32) (FIGS. 12A and 12B).

その後、先読みリクエスト発行部132に入力された補正前座標の整数部Int(x、y)が、キャッシュブロック(16,32)に入ったとき、すなわち、入力されたy座標の整数部が32〜39だった場合には、次の先読みリクエストが発行されてキャッシュブロック(16,40)がフレームバッファー150から読み出される。そして、キャッシュブロック記憶部122の第2列目のブロック領域列に格納されているキャッシュブロックのうち、y座標が一番小さいキャッシュブロック(16,8)が格納されているブロック領域(2,1)に、読み出されたキャッシュブロック(16,40)が上書きされる(図12(b),(c))。   Thereafter, when the integer part Int (x, y) of the coordinates before correction input to the prefetch request issuing unit 132 enters the cache block (16, 32), that is, the integer part of the input y coordinate is 32 to 32. If it is 39, the next prefetch request is issued and the cache block (16, 40) is read from the frame buffer 150. Then, among the cache blocks stored in the second block area column of the cache block storage unit 122, the block area (2, 1) in which the cache block (16, 8) having the smallest y coordinate is stored. ) Is overwritten with the read cache block (16, 40) (FIGS. 12B and 12C).

A−5.ヒット判定:
図13は、タグ情報を用いたヒット判定の例を示す説明図である。図13では、図12に示したキャッシュブロック記憶部122に格納されているキャッシュブロックに対応するタグ情報が例示されている。すなわち、キャッシュブロック用タグ情報記憶部123の2列0行には、キャッシュブロック記憶部122におけるブロック領域(2,0)に関するタグ情報が格納されている。画素補間に用いる16画素を、(x[0],y[0]),(x[1],y[1]),(x[2],y[2]),・・・,(x[15],y[15])とした場合に、ヒット判定は、(x[0],y[0])から順に、1画素ずつ行う。例えば、(x[0],y[0])=(16,40)である場合のヒット判定について、図13に基づいて説明する。
A-5. Hit judgment:
FIG. 13 is an explanatory diagram illustrating an example of hit determination using tag information. FIG. 13 illustrates tag information corresponding to the cache block stored in the cache block storage unit 122 illustrated in FIG. 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, 40) will be described with reference to FIG.

(x[0],y[0])=(16,40)が含まれるキャッシュブロックがキャッシュブロック記憶部122に格納されているか否か判定する場合、まず、ヒット判定部131は、キャッシュブロック用タグ情報記憶部123から該当する列のタグを抽出する。1つのキャッシュブロックは、8×8画素から成るため、画素補間に用いる画素のx座標を8で割ることにより、該当する列がわかる。(x[0],y[0])=(16,40)は第2列に該当するため、第2列のタグを抽出する。   When determining whether or not a cache block including (x [0], y [0]) = (16, 40) 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, 40) corresponds to the second column, the tag in the second column is extracted.

図13において、抽出されたタグの情報が、紙面右側に記載されている。ヒット判定部131は、タグの行番号が小さい順にヒット判定を行う。以下、タグ情報を、TAG[行番号]で表す。TAG[0]は、WRITING=0,VALID=1,Y_ADR=4である。WRITING=0は、先読み中でないということ,VALID=1はデータが有効であるということをそれぞれ表している。また、Y_ADR=4を補正前映像のy座標に変換すると、4×8=32である。すなわち、TAG[0]によれば、補正前映像のy座標=32のブロックがキャッシュブロック記憶部122に存在することがわかる。   In FIG. 13, the extracted tag information is described on the right side of the page. The hit determination unit 131 performs hit determination 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 = 4. WRITEING = 0 indicates that prefetching is not being performed, and VALID = 1 indicates that the data is valid. When Y_ADR = 4 is converted to the y coordinate of the pre-correction video, 4 × 8 = 32. That is, according to TAG [0], it can be seen that a block of y-coordinate = 32 of the pre-correction video exists in the cache block storage unit 122.

TAG[1]は、WRITING=1,VALID=0,Y_ADR=5である。WRITING=1は、先読み中であるということ,VALID=0はデータが無効であるということをそれぞれ表している。また、Y_ADR=5を補正前映像のy座標に変換すると、5×8=40である。すなわち、TAG[1]によれば、補正前映像のy座標=40のブロックが先読み中であり、しばらく待てば読み出し可能であることがわかる。   TAG [1] is WRITEING = 1, VALID = 0, and Y_ADR = 5. WRITEING = 1 indicates that prefetching is in progress, and VALID = 0 indicates that the data is invalid. When Y_ADR = 5 is converted into the y coordinate of the pre-correction video, 5 × 8 = 40. That is, according to TAG [1], it can be seen that the block of y-coordinate = 40 in the pre-correction video is being pre-read and can be read after a while.

TAG[2]は、WRITING=0,VALID=1,Y_ADR=2である。WRITING=0は、先読み中でないということ,VALID=1はデータが有効であるということをそれぞれ表している。また、Y_ADR=2を補正前映像のy座標に変換すると、2×8=16である。すなわち、TAG[2]によれば、補正前映像のy座標=16のブロックがキャッシュブロック記憶部122に存在することがわかる。   TAG [2] is WRITEING = 0, VALID = 1, and Y_ADR = 2. WRITEING = 0 indicates that prefetching is not being performed, and VALID = 1 indicates that the data is valid. 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 the block of y coordinate = 16 of the pre-correction video exists in the cache block storage unit 122.

TAG[3]は、WRITING=0,VALID=1,Y_ADR=3である。WRITING=0は、先読み中でないということ,VALID=1はデータが有効であるということをそれぞれ表している。また、Y_ADR=3を補正前映像のy座標に変換すると、3×8=24である。すなわち、TAG[3]によれば、補正前映像のy座標=24のブロックがキャッシュブロック記憶部122に存在することがわかる。   TAG [3] is WRITEING = 0, VALID = 1, and Y_ADR = 3. WRITEING = 0 indicates that prefetching is not being performed, and VALID = 1 indicates that the data is valid. 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 of y coordinate = 24 of the pre-correction video exists in the cache block storage unit 122.

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

図14、図15は、ヒット判定部131(図5)におけるヒット判定処理の工程を模式的に示す工程図である。座標変換部129からヒット判定部131に対して補正前座標の整数部Int(x,y)が入力されると、ヒット判定部131におけるヒット判定処理が開始される。ヒット判定部131は、座標変換部129から入力された補正前座標の整数部Int(x,y)に基づいて、その周辺16画素の座標(x[0],y[0]),(x[1],y[1]),(x[2],y[2]),・・・,(x[15],y[15])を算出する(ステップS202)。この後の処理は、座標(x[0],y[0]),(x[1],y[1]),(x[2],y[2]),・・・,(x[15],y[15])について、並列に行う。   14 and 15 are process diagrams schematically showing the process of hit determination processing in the hit determination unit 131 (FIG. 5). When the integer part Int (x, y) of the coordinates before correction is input from the coordinate conversion unit 129 to the hit determination unit 131, the hit determination process in the hit determination unit 131 is started. Based on the integer part Int (x, y) of the uncorrected coordinates input from the coordinate conversion unit 129, the hit determination unit 131 coordinates (x [0], y [0]), (x [1], y [1]), (x [2], y [2]),..., (X [15], y [15]) are calculated (step S202). Subsequent processing includes coordinates (x [0], y [0]), (x [1], y [1]), (x [2], y [2]),. 15], y [15]).

ヒット判定部131は、周辺16画素の座標の算出が終了すると、タグ情報(TAG[0],[1],[2],[3])をキャッシュブロック用タグ情報記憶部123から読み出し(ステップS204)、TAG[0]のY_ADR(すなわち、キャッシュブロックの行番号)が、y[0]/キャッシュブロックの高さ(8px)と同一か否かを判断する(ステップS206)。同一であった場合(ステップS206においてYES)、ヒット判定部131はTAG[0]のWRITING=1か否かを判断する(ステップS208)。一方、同一でない場合は(ステップS206においてNO)、ステップS216に進む。   When the calculation of the coordinates of the surrounding 16 pixels is completed, the hit determination unit 131 reads the tag information (TAG [0], [1], [2], [3]) from the cache block tag information storage unit 123 (Step S1). In S204, it is determined whether Y_ADR of TAG [0] (that is, the line number of the cache block) is equal to y [0] / cache block height (8 px) (step S206). If they are the same (YES in step S206), the hit determination unit 131 determines whether or not WRITE [1] of TAG [0] is 1 (step S208). On the other hand, if they are not the same (NO in step S206), the process proceeds to step S216.

ステップS208においてWRITING=1であった場合、ステップS204に戻り、WRITING=0であった場合は、ヒット判定部131はTAG[0]のVALID=1か否かを判断する(ステップS210)。VALID=1であった場合、ヒット判定部131は、ヒットしたタグに該当するキャッシュブロックの座標(列,行)を算出する(ステップS212)。一方、VALID=0であった場合は、ヒット判定部131は、キャッシュブロック(x[0]/キャッシュブロックの幅(8px),y[0]/キャッシュブロックの高さ(8px))の読み出し要求を、キャッシュブロック制御部121へ出力する(ステップS214)。   If WRITEING = 1 in step S208, the process returns to step S204. If WRITEING = 0, the hit determination unit 131 determines whether VALID = 1 of TAG [0] is set (step S210). When VALID = 1, the hit determination unit 131 calculates the coordinates (column, row) of the cache block corresponding to the hit tag (step S212). On the other hand, if VALID = 0, the hit determination unit 131 reads the cache block (x [0] / cache block width (8 px), y [0] / cache block height (8 px)). Is output to the cache block control unit 121 (step S214).

ステップS216,S226,S236では、それぞれ、TAG[1],TAG[2],TAG[3]についてステップS206と同様の処理を行う。ステップS218,S228,S238では、それぞれ、TAG[1],TAG[2],TAG[3]についてステップS208と同様の処理を行う。ステップS220,S230,S240では、それぞれ、TAG[1],TAG[2],TAG[3]についてステップS210と同様の処理を行う。   In steps S216, S226, and S236, processing similar to that in step S206 is performed for TAG [1], TAG [2], and TAG [3], respectively. In steps S218, S228, and S238, processing similar to that in step S208 is performed for TAG [1], TAG [2], and TAG [3], respectively. In steps S220, S230, and S240, processing similar to that in step S210 is performed for TAG [1], TAG [2], and TAG [3], respectively.

すなわち、タグ情報に含まれるキャッシュブロックの行番号が、y[0]/8と同一でなければ、次のタグ情報について同様の処理を行うというように、第0行のタグ情報から、第1行、第2行、第3行と順にタグ情報を判定していく。ステップS208,S218,S228,S238において、WRITING=1ということは、当該タグ情報に対応するブロック領域にキャッシュブロックが書き込み中であるということであるため、書き込みが終了するまで、すなわちWRITING=0になるまで、タグ情報の読み出しと判定を繰り返す。ステップS210,S220,S230,S240においてVALID=1である場合には、目的の座標の画素値が含まれるキャッシュブロックがキャッシュブロック記憶部122に存在する(ヒットした)といえるため、ヒットしたタグに該当するキャッシュブロックの座標(列,行)を算出する。   That is, if the line number of the cache block included in the tag information is not the same as y [0] / 8, the first processing is performed from the tag information on the 0th line so that the same processing is performed on the next tag information. The tag information is determined in order of the line, the second line, and the third line. In steps S208, S218, S228, and S238, WRITEING = 1 means that the cache block is being written to the block area corresponding to the tag information, so that writing is completed, that is, WRITEING = 0. Until it is, reading and determination of tag information are repeated. If VALID = 1 in steps S210, S220, S230, and S240, it can be said that the cache block including the pixel value of the target coordinate exists (hits) in the cache block storage unit 122. The coordinates (column, row) of the corresponding cache block are calculated.

A−6.キャッシュブロック制御部:
キャッシュブロック制御部121は、上述したように、ヒット判定部131または先読みリクエスト発行部132により発行された読み出し要求において指定されたキャッシュブロックをフレームバッファー150から取得する。図16は、キャッシュブロック制御部121の構成を示す機能ブロック図である。キャッシュブロック制御部121は、読み出し要求バッファ134と、バッファ管理タグ部135と、バッファ状態判別部136と、バッファ読み出し制御部137と、キャッシュブロック取得部138と、を備えている。
A-6. Cache block controller:
As described above, the cache block control unit 121 acquires the cache block specified in the read request issued by the hit determination unit 131 or the prefetch request issuing unit 132 from the frame buffer 150. FIG. 16 is a functional block diagram showing the configuration of the cache block control unit 121. The cache block control unit 121 includes a read request buffer 134, a buffer management tag unit 135, a buffer status determination unit 136, a buffer read control unit 137, and a cache block acquisition unit 138.

読み出し要求バッファ134は、先読みリクエスト発行部132またはヒット判定部131から発行された読み出し要求を記憶するための記憶領域を備えている。バッファ管理タグ部135は、読み出し要求バッファ134の記憶領域に記憶された読み出し要求を管理するための管理情報が格納されている。管理情報とは、例えば、読み出し要求バッファ134の記憶領域に記憶された読み出し要求のアドレス情報や、読み出し要求が読み出し要求バッファ134の記憶領域に記憶された順番を表す順番情報や、バッファ読み出し制御部137により読み出された要求か否かを示す情報等が含まれる。読み出し要求バッファ134は、特許請求の範囲における「バッファ部」に該当する。   The read request buffer 134 includes a storage area for storing a read request issued from the prefetch request issuing unit 132 or the hit determination unit 131. The buffer management tag unit 135 stores management information for managing read requests stored in the storage area of the read request buffer 134. The management information includes, for example, read request address information stored in the storage area of the read request buffer 134, order information indicating the order in which the read requests are stored in the storage area of the read request buffer 134, and a buffer read control unit. Information indicating whether or not the request is read by 137 is included. The read request buffer 134 corresponds to a “buffer unit” in the claims.

バッファ状態判別部136は、先読みリクエスト発行部132またはヒット判定部131により発行された読み出し要求を受信して読み出し要求バッファ134に格納する。バッファ状態判別部136は、発行された順に読み出し要求を読み出し要求バッファ134に格納する。バッファ状態判別部136は、バッファ管理タグ部の管理情報を参照してバッファ読み出し制御部137によりまだ読み出しがおこなわれていない読み出し要求が記憶されている領域以外の領域に受信した読み出し要求を記憶させる。バッファ状態判別部136は、受信した読み出し要求を読み出し要求バッファ134に格納するとバッファ管理タグ部135の管理情報を更新する。   The buffer state determination unit 136 receives the read request issued by the prefetch request issuing unit 132 or the hit determination unit 131 and stores the read request in the read request buffer 134. The buffer state determination unit 136 stores the read requests in the read request buffer 134 in the order in which they are issued. The buffer state determination unit 136 refers to the management information of the buffer management tag unit, and stores the received read request in an area other than the area where the read request that has not yet been read by the buffer read control unit 137 is stored. . When the received read request is stored in the read request buffer 134, the buffer status determination unit 136 updates the management information in the buffer management tag unit 135.

バッファ読み出し制御部137は、所定の期間(時間)を計時可能な図示しないWaitカウンターを備え、所定の期間に読み出し要求バッファ134に格納された読み出し要求に対してキャッシュブロック取得部138により読み出される順番(以後、単に「読み出し順番」とも呼ぶ)の並び替えをおこなう。バッファ読み出し制御部137は、バッファ管理タグ部135を参照して読み出し要求バッファ134から読み出し要求を読み出し、読み出し順番の並び替えをおこなった読み出し要求を読み出し要求バッファ134に格納する。本実施例では、読み出し順番の並び替えをおこなった読み出し要求は、読み出し要求バッファ134において、並び替えをおこなう前の読み出し要求が記憶されている領域以外の領域に記憶される。バッファ読み出し制御部137による読み出し順番の並び替えの具体的な方法については図17を用いて後述する。バッファ読み出し制御部137は、読み出し順番の並び替えをおこなうとバッファ管理タグ部135の管理情報を更新する。バッファ読み出し制御部137は、特許請求の範囲における「並び替え部」に該当する。   The buffer read control unit 137 includes a wait counter (not shown) that can measure a predetermined period (time), and the order in which the cache block acquisition unit 138 reads the read requests stored in the read request buffer 134 during the predetermined period. Rearrangement is performed (hereinafter simply referred to as “reading order”). The buffer read control unit 137 reads the read request from the read request buffer 134 with reference to the buffer management tag unit 135 and stores the read request in which the read order is rearranged in the read request buffer 134. In the present embodiment, the read request that has been rearranged in the read order is stored in an area other than the area in which the read request before the rearrangement is stored in the read request buffer 134. A specific method of rearranging the reading order by the buffer reading control unit 137 will be described later with reference to FIG. The buffer read control unit 137 updates the management information of the buffer management tag unit 135 when the read order is rearranged. The buffer read control unit 137 corresponds to a “sorting unit” in the claims.

キャッシュブロック取得部138は、バッファ読み出し制御部137により並び替えられた順番に従って読み出し要求バッファ134から読み出し要求を読み出す。キャッシュブロック取得部138は、読み出した読み出し要求において指定されたキャッシュブロックをフレームバッファー150から読み出し、キャッシュブロック記憶部122のブロック領域に格納する。キャッシュブロック取得部138は、読み出し要求に含まれているキャッシュブロックを読み出す位置を示す位置情報からフレームバッファー150においてキャッシュブロックを構成する各画素の画素値がそれぞれ格納されている領域の位置を示すアドレスを生成し、生成したアドレスから各画素値の画素値を読み出すことによりキャッシュブロックの読み出しをおこなう。キャッシュブロック取得部138は、特許請求の範囲における「取得部」に該当する。   The cache block acquisition unit 138 reads a read request from the read request buffer 134 in the order rearranged by the buffer read control unit 137. The cache block acquisition unit 138 reads the cache block specified in the read request that has been read from the frame buffer 150 and stores it in the block area of the cache block storage unit 122. The cache block acquisition unit 138 uses the position information indicating the position to read the cache block included in the read request, and the address indicating the position of the area where the pixel value of each pixel constituting the cache block is stored in the frame buffer 150. The cache block is read by reading the pixel value of each pixel value from the generated address. The cache block acquisition unit 138 corresponds to an “acquisition unit” in the claims.

図17は、バッファ読み出し制御部137による読み出し要求の並べ替えを説明するための説明図である。図17には、所定の期間に読み出し要求バッファ134に格納された読み出し要求が示されている。言い換えると、所定の期間に先読みリクエスト発行部132またはヒット判定部131により発行された読み出し要求が発行された順に示されている。各読み出し要求は、読み出し要求バッファ134を構成する記憶領域の各アドレスに、読み出し要求バッファ134に格納された順番に並べて格納されている。図17の各読み出し要求に記載されている「Column」および「Row」は、フレームバッファー150に格納されている1フレーム分の補正前映像データを構成する各キャッシュブロックから、読み出しを要求するキャッシュブロックを特定するための位置情報であり、読み出しを要求するキャッシュブロックのColumnアドレスおよびRowアドレスを表している。例えば、「Column:2 Row:0」の位置情報を含む読み出し要求は、図8に示すフレームバッファー150において、Column方向(x方向)の座標位置が「2」、Row方向(y方向)の座標位置が「0」のキャッシュブロック、すなわち、キャッシュブロック(2,0)をフレームバッファー150から読み出してキャッシュブロック記憶部122のブロック領域に格納するための要求である。なお、ColumnアドレスおよびRowアドレスとして、例えば、図12に示すように、フレームバッファー150において各キャッシュブロックの左上端の画素の画素値が格納されている記憶領域のアドレスを用いてもよい。各読み出し要求の右側に記載されている1〜8の番号は、各読み出し要求が読み出し要求バッファ134に格納された順番を示している。   FIG. 17 is an explanatory diagram for explaining rearrangement of read requests by the buffer read control unit 137. FIG. 17 shows a read request stored in the read request buffer 134 during a predetermined period. In other words, the read requests issued by the prefetch request issuing unit 132 or the hit determining unit 131 in the predetermined period are shown in the order in which they are issued. Each read request is stored in the order of the storage in the read request buffer 134 at each address of the storage area constituting the read request buffer 134. “Column” and “Row” described in each read request in FIG. 17 are cache blocks that request reading from the respective cache blocks constituting the pre-correction video data for one frame stored in the frame buffer 150. Is the position information for specifying the column address and the column address and row address of the cache block requesting reading. For example, a read request including position information of “Column: 2 Row: 0” indicates that the coordinate position in the column direction (x direction) is “2” and the coordinate in the row direction (y direction) in the frame buffer 150 shown in FIG. This is a request for reading the cache block whose position is “0”, that is, the cache block (2, 0) from the frame buffer 150 and storing it in the block area of the cache block storage unit 122. As the column address and row address, for example, as shown in FIG. 12, the address of a storage area in which the pixel value of the upper left pixel of each cache block in the frame buffer 150 is stored may be used. Numbers 1 to 8 described on the right side of each read request indicate the order in which each read request is stored in the read request buffer 134.

バッファ読み出し制御部137は、図17(a)に示すように、まず、読み出し要求バッファ134に格納された読み出し要求のうち、格納された時期が最も古い読み出し要求、すなわち、所定の期間において最初に発行された読み出し要求の読み出しをおこなう。本実施例では、読み出し要求バッファ134に格納された時期が最も古い読み出し要求は、1番目の読み出し要求「Column:0 Row:0」であるため、バッファ読み出し制御部137は、読み出し要求「Column:0 Row:0」を読み出す。読み出された読み出し要求は、読み出し要求バッファ134の異なる記憶領域に記憶される。   As shown in FIG. 17A, the buffer read control unit 137 first reads out the read requests stored in the read request buffer 134 with the oldest stored time, that is, first in a predetermined period. Read issued read request. In this embodiment, the read request with the oldest time stored in the read request buffer 134 is the first read request “Column: 0 Row: 0”, so the buffer read control unit 137 reads the read request “Column: “0 Row: 0” is read out. The read request that has been read is stored in a different storage area of the read request buffer 134.

その後、バッファ読み出し制御部137は、1番目の読み出し要求とRowアドレスが同じであり、かつ、Columnアドレスが連続する読み出し要求を読み出し要求バッファ134に格納されている読み出し要求から検索する。本実施例では、バッファ読み出し制御部137は、1番目の読み出し要求「Column:0 Row:0」とRow方向(y方向)の座標位置が等しく、かつ、Column方向(x方向)の座標位置が順次連続する読み出し要求を読み出し要求バッファ134に格納されている読み出し要求から検索する。読み出し要求バッファ134に格納されている読み出し要求のうち、4番目の読み出し要求「Column:1 Row:0」は、1番目の読み出し要求「Column:0 Row:0」とRow方向(y方向)の座標位置がともに「0」で等しく、かつ、1番目の読み出し要求「Column:0 Row:0」とColumn方向(x方向)の座標位置が「0」と「1」で連続する。また、8番目の読み出し要求「Column:2 Row:0」は、1番目の読み出し要求「Column:0 Row:0」とRow方向(y方向)の座標位置がともに「0」で等しく、かつ、4番目の読み出し要求「Column:1 Row:0」とColumn方向(x方向)の座標位置が「1」と「2」で連続する。そのため、図17(b)に示すように、バッファ読み出し制御部137は、読み出し要求バッファ134から4番目の読み出し要求「Column:1 Row:0」を読み出した後、続いて8番目の読み出し要求「Column:2 Row:0」を読み出す。読み出された読み出し要求は、1番目の読み出し要求に続いて順に読み出されるように読み出し要求バッファ134の異なる記憶領域に記憶される。本実施例におけるRow方向は、特許請求の範囲における「第1の方向」に該当する。   Thereafter, the buffer read control unit 137 searches the read request stored in the read request buffer 134 for a read request having the same row address as the first read request and having a continuous column address. In this embodiment, the buffer read control unit 137 has the same coordinate position in the Row direction (y direction) as the first read request “Column: 0 Row: 0”, and the coordinate position in the Column direction (x direction) is the same. The sequential read requests are searched from the read requests stored in the read request buffer 134. Of the read requests stored in the read request buffer 134, the fourth read request “Column: 1 Row: 0” is the first read request “Column: 0 Row: 0” and the row direction (y direction). The coordinate positions are both equal to “0”, and the first read request “Column: 0 Row: 0” and the coordinate position in the Column direction (x direction) are “0” and “1”. Further, the eighth read request “Column: 2 Row: 0” is equal to the first read request “Column: 0 Row: 0” and the coordinate position in the Row direction (y direction) is both “0”, and The fourth read request “Column: 1 Row: 0” and the coordinate position in the Column direction (x direction) are “1” and “2”. Therefore, as illustrated in FIG. 17B, the buffer read control unit 137 reads the fourth read request “Column: 1 Row: 0” from the read request buffer 134 and then the eighth read request “ “Column: 2 Row: 0” is read out. The read request that has been read is stored in a different storage area of the read request buffer 134 so as to be read in order following the first read request. The Row direction in the present embodiment corresponds to the “first direction” in the claims.

その後、バッファ読み出し制御部137は、1番目の読み出し要求とRowアドレスが同じ読み出し要求を読み出し要求バッファ134に格納されている読み出し要求から検索する。すなわち、ここでは上記と異なり、Columnアドレスが連続しない読み出し要求を含めて検索をおこなう。本実施例では、バッファ読み出し制御部137は、「Row:0」の読み出し要求を読み出し要求バッファ134に格納されている読み出し要求から検索する。読み出し要求バッファ134に格納されている読み出し要求のうち、6番目の読み出し要求「Column:4 Row:0」は、「Row:0」であり、1番目の読み出し要求とRow方向の座標位置が等しい。よって、図17(c)に示すように、バッファ読み出し制御部137は、読み出し要求バッファ134から6番目の読み出し要求「Column:4 Row:0」を読み出す。読み出された読み出し要求は、8番目の読み出し要求に続いて読み出されるように読み出し要求バッファ134の異なる記憶領域に記憶される。6番目の読み出し要求「Column:4 Row:0」が読み出されると、読み出し要求バッファ134に格納されている読み出し要求のうち、位置情報に「Row:0」を含む読み出し要求はすべてバッファ読み出し制御部137により読み出されたことになる。   Thereafter, the buffer read control unit 137 searches the read request stored in the read request buffer 134 for a read request having the same row address as the first read request. That is, here, unlike the above, a search is performed including a read request in which the Column address is not continuous. In the present embodiment, the buffer read control unit 137 searches the read request stored in the read request buffer 134 for a read request of “Row: 0”. Among the read requests stored in the read request buffer 134, the sixth read request “Column: 4 Row: 0” is “Row: 0”, and the coordinate position in the Row direction is equal to the first read request. . Therefore, as illustrated in FIG. 17C, the buffer read control unit 137 reads the sixth read request “Column: 4 Row: 0” from the read request buffer 134. The read request that has been read is stored in a different storage area of the read request buffer 134 so as to be read following the eighth read request. When the sixth read request “Column: 4 Row: 0” is read, all the read requests stored in the read request buffer 134 that include “Row: 0” in the position information are buffer read control units. It is read by 137.

バッファ読み出し制御部137は、位置情報に「Row:0」を含む読み出し要求をすべて読み出した後、読み出し要求バッファ134に格納されている、位置情報に「Row:0」を含まない読み出し要求のうち、格納された時期が最も古い読み出し要求の読み出しをおこなう。本実施例では、2番目の読み出し要求「Column:0 Row:1」が該当するため、バッファ読み出し制御部137は、読み出し要求「Column:0 Row:1」を読み出す。その後、上記で説明した位置情報に「Row:0」を含む読み出し要求についての読み出し順序と同様に、バッファ読み出し制御部137は、2番目の読み出し要求と同様に位置情報に「Row:1」を含む読み出し要求について読み出しをおこなう。バッファ読み出し制御部137は、上記を繰り返して、図17(d)に示すように、所定の期間に読み出し要求バッファ134に格納されたすべての読み出し要求に対して読み出しをおこない、読み出し要求の読み出される順番を並び替えて読み出し要求バッファ134に格納する。キャッシュブロック取得部138は、バッファ読み出し制御部137により並び替えられた順番に従って、読み出し要求を読み出す。すなわち、図17(d)の左側に示された読み出し要求について、各読み出し要求の左側に記載されている番号順に従って、各読み出し要求の格納された時期の古い方から順に読み出しをおこなう。   The buffer read control unit 137 reads all the read requests including “Row: 0” in the position information, and then stores the read requests stored in the read request buffer 134 without including “Row: 0” in the position information. Read the read request with the oldest stored time. In the present embodiment, since the second read request “Column: 0 Row: 1” corresponds, the buffer read control unit 137 reads the read request “Column: 0 Row: 1”. After that, the buffer read control unit 137 sets “Row: 1” to the position information in the same manner as the second read request in the same manner as the read order for the read request including “Row: 0” in the position information described above. Read about the read request that includes it. The buffer read control unit 137 repeats the above to read all the read requests stored in the read request buffer 134 during a predetermined period as shown in FIG. 17D, and the read request is read. The order is rearranged and stored in the read request buffer 134. The cache block acquisition unit 138 reads the read request in the order rearranged by the buffer read control unit 137. That is, the read requests shown on the left side of FIG. 17D are read in order from the oldest stored time of each read request according to the numerical order described on the left side of each read request.

図18は、キャッシュブロック取得部138によるキャッシュブロックの読み出しの順序を説明するための説明図である。図18には、図8と同様にフレームバッファー150に格納されている1フレーム分の補正前映像データをキャッシュブロック単位に分割した状態が示されている。各キャッシュブロックの内側に示されている番号は、キャッシュブロック取得部138により読み出される順番を示している。図18(a)には、比較例として、図17(a)に示されている読み出し順番、すなわち、バッファ読み出し制御部137により読み出し要求が並び替えられる前の読み出し順番と対応した番号が各キャッシュブロックに付されている。一方、図18(b)には、図17(d)の読み出し要求の左側に示されている読み出し順番、すなわち、バッファ読み出し制御部137により読み出し要求の並び替えがおこなわれた後の読み出し順番と対応した番号が各キャッシュブロックに付されている。   FIG. 18 is an explanatory diagram for explaining the order in which cache blocks are read by the cache block acquisition unit 138. FIG. 18 shows a state in which the pre-correction video data for one frame stored in the frame buffer 150 is divided into cache blocks as in FIG. The numbers shown inside each cache block indicate the order of reading by the cache block acquisition unit 138. In FIG. 18A, as a comparative example, the number corresponding to the read order shown in FIG. 17A, that is, the read order before the read requests are rearranged by the buffer read control unit 137, is shown for each cache. It is attached to the block. On the other hand, FIG. 18B shows the read order shown on the left side of the read request in FIG. 17D, that is, the read order after the read requests are rearranged by the buffer read control unit 137. A corresponding number is assigned to each cache block.

比較例である図18(a)に示すように、バッファ読み出し制御部137により読み出し要求が並び替えられる前の読み出し順番、すなわち、先読みリクエスト発行部132またはヒット判定部131から読み出し要求が発行された順番に従ってフレームバッファー150からキャッシュブロックを読み出す場合、キャッシュブロック取得部138は、Row方向が等しいキャッシュブロックを非連続的に取得する。例えば、キャッシュブロック取得部138は、Row方向が「0」のキャッシュブロック(0,0)、(1,0)、(2,0)、(4,0)に対して、1番目、4番目、6番目、8番目と連続しない順番により取得をおこなっている。   As shown in FIG. 18A as a comparative example, the read order before the read requests are rearranged by the buffer read control unit 137, that is, the read request is issued from the prefetch request issuing unit 132 or the hit determining unit 131. When the cache blocks are read from the frame buffer 150 according to the order, the cache block acquisition unit 138 acquires cache blocks having the same row direction in a non-continuous manner. For example, the cache block acquisition unit 138 is first, fourth, for cache blocks (0,0), (1,0), (2,0), (4,0) whose Row direction is “0”. , Acquisition is performed in the order that is not continuous with the sixth and eighth.

一方、図18(b)に示すように、バッファ読み出し制御部137により読み出し要求の並び替えがおこなわれた後の読み出し順番に従ってフレームバッファー150からキャッシュブロックを読み出す場合、キャッシュブロック取得部138は、Row方向が等しいキャッシュブロックを連続的に取得する。例えば、キャッシュブロック取得部138は、Row方向が「0」のキャッシュブロック(0,0)、(1,0)、(2,0)、(4,0)に対して、1番目、2番目、3番目、4番目と連続する順番により取得をおこなっている。また、キャッシュブロック取得部138は、Row方向が「1」のキャッシュブロック(0,1)、(1,1)や、Row方向が「2」のキャッシュブロック(0,2)、(1,2)に対しても同様に、5番目、6番目と連続する順番や、7番目、8番目と連続する順番によりそれぞれ取得をおこなっている。   On the other hand, as shown in FIG. 18B, when the cache block is read from the frame buffer 150 according to the read order after the read requests are rearranged by the buffer read control unit 137, the cache block acquisition unit 138 Cache blocks with the same direction are acquired continuously. For example, the cache block acquisition unit 138 performs the first and second operations on the cache blocks (0, 0), (1, 0), (2, 0), and (4, 0) whose row direction is “0”. Acquisition is performed in the order of 3rd, 4th and consecutive. In addition, the cache block acquisition unit 138 includes cache blocks (0, 1) and (1, 1) whose row direction is “1”, and cache blocks (0, 2) and (1, 2) whose row direction is “2”. In the same manner, the acquisition is performed in the order of the fifth and the sixth and the order of the seventh and the eighth.

キャッシュブロック取得部138は、取得する順番が連続するキャッシュブロックのRow方向の座標位置が同じではない場合には、キャッシュブロックを構成する各画素の画素値を取得するために指定するアドレスについて、キャッシュブロックごとに画素値の読み出しをおこなうようにアドレスを生成する。すなわち、Row方向の座標位置が異なるキャッシュブロックを連続して取得する場合には、まず、1つのキャッシュブロックを構成する8×8の各画素のうち、Row方向(y方向)において最も上流側の一行を構成する8つの画素の画素値を取得するためのアドレスを生成する。その後Row方向(y方向)において一段下流側の一列を構成する8つの画素の画素値を取得するためのアドレスを生成する。Row方向(y方向)の3〜8段目についても同様にアドレスを生成する。その後に、2つ目のキャッシュブロックを構成する8×8の各画素のうち、Row方向(y方向)において最も上流側の一行を構成する8つの画素の画素値を取得するためのアドレスを生成する。上記順序により生成されたアドレスを用いた画素値の読み出し順序について図19(a)を用いて後述する。   When the coordinate position in the row direction of the cache blocks in which the acquisition order is continuous is not the same, the cache block acquisition unit 138 uses the cache for the address specified for acquiring the pixel value of each pixel constituting the cache block. An address is generated so that the pixel value is read out for each block. That is, when cache blocks having different coordinate positions in the Row direction are continuously acquired, first, among the 8 × 8 pixels constituting one cache block, the most upstream side in the Row direction (y direction). Addresses for acquiring pixel values of eight pixels constituting one row are generated. Thereafter, an address for acquiring the pixel values of the eight pixels constituting one column on the downstream side in the row direction (y direction) is generated. Addresses are similarly generated for the third to eighth stages in the Row direction (y direction). After that, among the 8 × 8 pixels constituting the second cache block, an address for obtaining the pixel values of the eight pixels constituting the most upstream line in the row direction (y direction) is generated. To do. The readout order of pixel values using addresses generated in the above order will be described later with reference to FIG.

一方、キャッシュブロック取得部138は、取得する順番が連続するキャッシュブロックのRow方向の座標位置が同じである場合には、キャッシュブロックを構成する各画素の画素値を取得するために指定するアドレスについて、キャッシュブロックを跨ぎRow方向ごとに画素値の読み出しをおこなうようにアドレスを生成する。すなわち、Row方向の座標位置が等しいキャッシュブロックを連続して取得する場合には、各キャッシュブロックを構成する8×8の各画素のうち、Row方向(y方向)において最も上流側の一行を構成する8つの画素の画素値を取得するためのそれぞれのアドレスを連続して生成する。その後Row方向(y方向)において一段下流側の一列を構成する8つの画素の画素値を取得するためのそれぞれのアドレスを連続して生成する。Row方向(y方向)の3〜8段目についても同様にそれぞれのアドレスを連続して生成する。上記順序により生成されたアドレスを用いた画素値の読み出し順序について図19(b)を用いて後述する。   On the other hand, when the coordinate position in the row direction of the cache blocks having the same acquisition order is the same, the cache block acquisition unit 138 uses the address specified for acquiring the pixel value of each pixel constituting the cache block. The address is generated so that the pixel value is read out in each row direction across the cache block. That is, in the case where cache blocks having the same coordinate position in the Row direction are continuously acquired, the most upstream line in the Row direction (y direction) among the 8 × 8 pixels constituting each cache block is configured. The respective addresses for acquiring the pixel values of the eight pixels are continuously generated. Thereafter, the respective addresses for acquiring the pixel values of the eight pixels constituting one column downstream in the row direction (y direction) are successively generated. Similarly, the respective addresses are continuously generated for the third to eighth stages in the row direction (y direction). The readout order of pixel values using addresses generated in the above order will be described later with reference to FIG.

図19は、キャッシュブロック取得部138によるキャッシュブロックを構成する各画素の画素値の読み出し順序を説明するための説明図である。図19(a)は、比較例である図18(a)と対応し、図19(b)は、図18(b)と対応している。図19(a)(b)には、各キャッシュブロックにおいて、キャッシュブロックを構成する各画素の画素値を読み出す方向が矢印で示されている。キャッシュブロック取得部138は、読み出し順番が連続するキャッシュブロックのRow方向(y方向)の座標位置が異なる場合には、各キャッシュブロックにおいて、キャッシュブロックを構成する8×8の各画素のうち、Row方向(y方向)において最も上流側の一行を構成する8つの画素の画素値についてColumn方向に沿って読み出し、一行分の読み出しが完了すると、折り返してRow方向(y方向)において一段下流側の一列を構成する8つの画素の画素値を読み出す。折り返しを繰り返してRow方向(y方向)の3〜8段目についても同様におこなうことにより、1つのキャッシュブロックの読み出しが完了する。   FIG. 19 is an explanatory diagram for explaining the reading order of the pixel values of each pixel constituting the cache block by the cache block acquisition unit 138. FIG. 19A corresponds to FIG. 18A which is a comparative example, and FIG. 19B corresponds to FIG. In FIGS. 19A and 19B, in each cache block, the direction in which the pixel value of each pixel constituting the cache block is read is indicated by an arrow. When the coordinate positions in the row direction (y direction) of the cache blocks in which the reading order is continuous are different, the cache block acquisition unit 138 selects, among the 8 × 8 pixels constituting the cache block, the row in each cache block. In the direction (y direction), the pixel values of the eight pixels constituting one row on the most upstream side are read out along the Column direction, and when the reading for one row is completed, it is folded back and one column on the downstream side in the Row direction (y direction). Are read out. By repeating the same operation for the 3rd to 8th stages in the Row direction (y direction) by repeating the loop, reading of one cache block is completed.

キャッシュブロック取得部138は、Row方向(y方向)が同じキャッシュブロックで読み出し順番が連続する複数のキャッシュブロックについては、キャッシュブロックごとに折り返して読み出しをおこなうのではなく、Row方向(y方向)の位置が等しい画素について各キャッシュブロックを跨いで連続的に画素値の読み出しをおこなう。そして、Column方向(x方向)において最も下流側のキャッシュブロックにおける一行分の画素値の読み出しが完了すると、折り返してColumn方向(x方向)において最も上流側のキャッシュブロックのRow方向(y方向)で一段下流側の一行を構成する画素の画素値を読み出す。これを繰り返してRow方向(y方向)の3〜8段目についても同様におこなうことにより、Row方向(y方向)が同じ複数のキャッシュブロックの読み出しが完了する。   The cache block acquisition unit 138 does not perform read-back for each cache block with respect to a plurality of cache blocks having the same read direction (y direction) and consecutive read orders, but does not perform read-back for each cache block. Pixel values are read continuously across the cache blocks for pixels having the same position. When the reading of the pixel values for one line in the most downstream cache block in the Column direction (x direction) is completed, it is folded back in the Row direction (y direction) of the most upstream cache block in the Column direction (x direction). The pixel values of the pixels constituting one row downstream are read. By repeating this for the third to eighth stages in the Row direction (y direction), reading of a plurality of cache blocks having the same Row direction (y direction) is completed.

比較例である図18(a)では、上記で説明したとおり、Row方向が等しいキャッシュブロックの読み出し順番が連続していない。そのため、図19(a)で示すように、キャッシュブロック取得部138は、キャッシュブロックごとに読み出す行を折り返しながら画素値の読み出しをおこなう。例えば、キャッシュブロック取得部138は、キャッシュブロック(0,0)のRow方向(y方向)で最も上流側の一行を構成する各画素から読み出しをおこなった後、連続してキャッシュブロック(1,0)のRow方向(y方向)で最も上流側の一行を構成する各画素から読み出しをおこなうのではなく、折り返してキャッシュブロック(0,0)のRow方向(y方向)2段目の一行を構成する各画素から読み出しをおこなう。キャッシュブロック取得部138は、キャッシュブロック(1,0)のRow方向(y方向)で最も上流側の一行を構成する各画素からの読み出しを、キャッシュブロック(0,2)のRow方向(y方向)で最も下流側の一行を構成する各画素からの読み出しの後におこなう。   In FIG. 18A, which is a comparative example, as described above, the reading order of cache blocks having the same row direction is not continuous. Therefore, as shown in FIG. 19A, the cache block acquisition unit 138 reads out the pixel value while turning back the line to be read out for each cache block. For example, the cache block acquisition unit 138 reads out each pixel constituting one row on the most upstream side in the row direction (y direction) of the cache block (0, 0), and then continuously reads the cache block (1,0). ) In the row direction (y direction) of the most upstream line, instead of reading from each pixel constituting the most upstream row, the second row in the row direction (y direction) of the cache block (0, 0) is folded. Read out from each pixel. The cache block acquisition unit 138 reads out each pixel constituting one row on the most upstream side in the row direction (y direction) of the cache block (1, 0), in the row direction (y direction) of the cache block (0, 2). ) And after reading from each pixel constituting one row on the most downstream side.

一方、図18(b)では、上述したとおり、Row方向が等しいキャッシュブロックの読み出し順番が連続している。そのため、図19(b)で示すように、キャッシュブロック取得部138は、Row方向(y方向)の位置が等しい画素について各キャッシュブロックを跨いで連続的に画素値の読み出しをおこなう。例えば、キャッシュブロック取得部138は、Row方向が「0」の各キャッシュブロック(0,0)、(1,0)、(2,0)、(4,0)におけるRow方向(y方向)で最も上流側の一列を構成する各画素について、まず、キャッシュブロック(0,0)の最も上流側の一列を構成する各画素から読み出しをおこなった後、連続してキャッシュブロック(1,0)の最も上流側の一列を構成する各画素から読み出しをおこなう。その後、キャッシュブロック取得部138は、連続してキャッシュブロック(2,0)、および、キャッシュブロック(4,0)の最も上流側の一列から同様に読み出しをおこなう。キャッシュブロック取得部138は、キャッシュブロック(4,0)の最も上流側の一列からの読み出しの後、折り返してキャッシュブロック(0,0)の2番目に上流側の一列を構成する各画素から読み出しをおこなう。キャッシュブロック取得部138は、キャッシュブロック(4,0)の最も下流側の一列からの読み出しの後、折り返してキャッシュブロック(0,1)のRow方向(y方向)で最も上流側の一列を構成する各画素から読み出しをおこなう。上記のようにして、キャッシュブロック取得部138は、バッファ読み出し制御部137により読み出し要求の並び替えがおこなわれた後の読み出し順番に従いフレームバッファー150からキャッシュブロックを読み出す。   On the other hand, in FIG. 18B, as described above, the reading order of the cache blocks having the same Row direction is continuous. Therefore, as illustrated in FIG. 19B, the cache block acquisition unit 138 continuously reads out pixel values across the cache blocks for pixels having the same position in the row direction (y direction). For example, the cache block acquisition unit 138 performs the row direction (y direction) in each cache block (0, 0), (1, 0), (2, 0), (4, 0) whose Row direction is “0”. For each pixel constituting the most upstream column, first, reading is performed from each pixel constituting the most upstream column of the cache block (0, 0), and then the cache block (1, 0) is continuously read. Reading is performed from each pixel constituting one column on the most upstream side. Thereafter, the cache block acquisition unit 138 continuously reads from the cache block (2, 0) and one column on the most upstream side of the cache block (4, 0). The cache block acquisition unit 138 reads out from each pixel constituting the second upstream column of the cache block (0, 0) after being read from the most upstream column of the cache block (4, 0). To do. The cache block acquisition unit 138 configures the most upstream column in the row direction (y direction) of the cache block (0, 1) after reading from the most downstream column of the cache block (4, 0). Read out from each pixel. As described above, the cache block acquisition unit 138 reads cache blocks from the frame buffer 150 according to the read order after the read requests are rearranged by the buffer read control unit 137.

以上説明したように、本実施例におけるプロジェクター100によれば、所定の期間に発行された読み出し要求に含まれる位置情報に、フレームバッファー150のRow方向における座標位置が互いに等しい位置情報が含まれている場合には、これらの位置情報にそれぞれ対応するキャッシュブロックをフレームバッファー150から連続して取得するため、歪み補正処理の効率性の向上を図ることができる。具体的には、DRAMにより構成されているフレームバッファー150は、記憶領域からデータを読み出すときに、Column方向の読み出し速度に比べて、Row方向の読み出し速度が遅いという特徴を有している。すなわち、フレームバッファー150に対してColumnアドレスおよびRowアドレスを指定して、指定した位置に格納されているデータを読み出す場合、指定するColumnアドレスを変更してデータを読み出す場合に比べて、指定するRowアドレスを変更してデータを読み出す場合の方が読み出しに時間がかかる。本発明に係るプロジェクター100によれば、読み出し要求に含まれる位置情報に、フレームバッファー150のRow方向における座標位置が互いに等しい位置情報が含まれている場合には、これらの位置情報にそれぞれ対応するキャッシュブロックをフレームバッファー150から連続して取得することで、Rowアドレスを変更する回数を減らすことができる。これにより、キャッシュブロックの読み出しに生じる時間を抑制できるため、歪み補正処理の効率性の向上を図ることができる。   As described above, according to the projector 100 in the present embodiment, the position information included in the read request issued in a predetermined period includes position information with the same coordinate position in the Row direction of the frame buffer 150. If so, the cache blocks respectively corresponding to these pieces of position information are continuously acquired from the frame buffer 150, so that the efficiency of the distortion correction processing can be improved. Specifically, the frame buffer 150 constituted by a DRAM has a feature that when reading data from a storage area, the reading speed in the Row direction is slower than the reading speed in the Column direction. That is, when a column address and a row address are specified for the frame buffer 150 and data stored at the specified position is read, the specified row is compared with a case where the specified column address is changed and data is read. It takes longer to read data when the address is changed. According to the projector 100 according to the present invention, when the position information included in the read request includes position information having the same coordinate position in the row direction of the frame buffer 150, the position information corresponds to the position information. By continuously acquiring cache blocks from the frame buffer 150, the number of times to change the Row address can be reduced. As a result, the time required for reading the cache block can be suppressed, so that the efficiency of the distortion correction processing can be improved.

本実施例におけるプロジェクター100によれば、バッファ読み出し制御部137は、所定の期間に読み出し要求バッファ134に格納された読み出し要求に対して、フレームバッファー150のRow方向における位置が互いに等しい位置情報を含んだ読み出し要求が連続して読み出されるように読み出し要求の読み出し順番を並び替え、キャッシュブロック取得部138は、並び替えられた順番に従ってブロック映像データを取得するため、歪み補正処理の効率性の向上を図ることができる。具体的には、フレームバッファー150のRow方向における位置が互いに等しい位置情報を含んだ読み出し要求が連続して読み出されるように読み出し要求の読み出し順番を並び替えることにより、キャッシュブロック取得部138がキャッシュブロックを構成する各画素の画素値を取得するためのアドレスを生成する際に、Rowアドレスが同じでありColumnアドレスが違う画素については連続して画素値を取得するようにアドレスを生成することができる。これにより、Rowアドレスを変更する回数を減らすことができるため、歪み補正処理の効率性の向上を図ることができる。   According to the projector 100 in the present embodiment, the buffer read control unit 137 includes position information in which the positions of the frame buffer 150 in the Row direction are equal to each other with respect to the read request stored in the read request buffer 134 during a predetermined period. The read order of the read requests is rearranged so that the read requests are read continuously, and the cache block acquisition unit 138 acquires block video data according to the rearranged order, thereby improving the efficiency of the distortion correction processing. Can be planned. Specifically, the cache block acquisition unit 138 arranges the read order of the read requests so that the read requests including the position information having the same position in the row direction of the frame buffer 150 are continuously read, so that the cache block acquisition unit 138 can When generating an address for acquiring the pixel value of each pixel constituting the pixel, it is possible to generate an address so as to continuously acquire pixel values for pixels having the same Row address but different Column addresses. . Thereby, since the number of times of changing the Row address can be reduced, the efficiency of the distortion correction processing can be improved.

本実施例におけるプロジェクター100によれば、キャッシュブロック取得部138は、Row方向(y方向)の座標位置が同じキャッシュブロックで読み出し順番が連続する複数のキャッシュブロックについては、Row方向(y方向)の座標位置が等しい画素について各キャッシュブロックを跨いで連続的に画素値の読み出しをおこない、Column方向(x方向)において最も下流側のキャッシュブロックにおける一行分の画素値の読み出しが完了すると、折り返してColumn方向(x方向)において一段下流側の一行を構成する画素の画素値を読み出すため、歪み補正処理の効率性の向上を図ることができる。具体的には、キャッシュブロック取得部138は、読み出し要求バッファ134に格納されている読み出し要求において、Row方向(y方向)の座標位置が同じキャッシュブロックを連続して読み出す順番が含まれている場合には、キャッシュブロックを構成する各画素の画素値を取得するためのアドレスを生成するときにRowアドレスが同じでありColumnアドレスが違う画素については連続して画素値を取得するようにアドレスを生成する。これにより、Rowアドレスを変更する回数を減らすことができるため、歪み補正処理の効率性の向上を図ることができる。   According to the projector 100 in the present embodiment, the cache block acquisition unit 138 has a cache block having the same coordinate position in the Row direction (y direction) and a plurality of cache blocks whose reading order is continuous in the Row direction (y direction). The pixel values are continuously read out across the cache blocks for the pixels having the same coordinate position, and when the reading of the pixel values for one line in the cache block on the most downstream side in the column direction (x direction) is completed, the pixel values are returned. Since pixel values of pixels constituting one row on the downstream side in the direction (x direction) are read, it is possible to improve the efficiency of the distortion correction processing. Specifically, the cache block acquisition unit 138 includes a read request stored in the read request buffer 134 and includes an order in which the cache blocks having the same coordinate position in the row direction (y direction) are continuously read. When generating an address for acquiring the pixel value of each pixel constituting the cache block, the address is generated so that the pixel value is continuously acquired for pixels having the same Row address but different Column addresses. To do. Thereby, since the number of times of changing the Row address can be reduced, the efficiency of the distortion correction processing can be improved.

B.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
B. Variations:
The present invention is not limited to the above-described examples and embodiments, and can be implemented in various modes without departing from the gist thereof. For example, the following modifications are possible.

B1.変形例1:
本実施例では、キャッシュブロック取得部138は、Row方向(y方向)が同じキャッシュブロックで読み出し順番が連続する複数のキャッシュブロックについては、Row方向(y方向)の座標位置が等しい画素について各キャッシュブロックを跨いで連続的に画素値の読み出しをおこなっているが、Row方向(y方向)の座標位置が同じキャッシュブロックで読み出し順番が連続する場合においても、キャッシュブロックごとに、Row方向(y方向)において最も上流側の一行を構成する画素の画素値を読み出し、一行分の読み出しが完了すると、折り返してRow方向(y方向)において2段目の一列を構成する画素の画素値を読み出し、1つ目のキャッシュブロックの読み出しが完了した後に2つ目のキャッシュブロックの読み出しをおこなう構成であってもよい。この場合であっても、1つ目のキャッシュブロックを読み出した後、高速バス102を支配する権利であるバス権を他の機能部に渡すことなく保持したまま連続し2つ目のキャッシュブロックの読み出しをおこなうことにより、図7に示すブロックライト待ちの時間を短縮することができるため、歪み補正処理の効率性の向上を図ることができる。
B1. Modification 1:
In the present embodiment, the cache block acquisition unit 138, for a plurality of cache blocks having the same row direction (y direction) and having a continuous read order, for each cache block having the same coordinate position in the row direction (y direction). Although pixel values are continuously read across blocks, even in the case where the reading order is continuous for cache blocks having the same coordinate position in the Row direction (y direction), the cache direction is changed in the Row direction (y direction). ), The pixel values of the pixels constituting one row on the most upstream side are read, and when the reading for one row is completed, the pixel values of the pixels constituting the second column in the Row direction (y direction) are read back. After the second cache block is read, the second cache block is read Out it may be configured to perform. Even in this case, after reading the first cache block, the bus right that controls the high-speed bus 102 is held without passing it to other functional units, and the second cache block is continuously held. By performing reading, the block write waiting time shown in FIG. 7 can be shortened, so that the efficiency of distortion correction processing can be improved.

B2.変形例2:
本実施例では、バッファ読み出し制御部137は、読み出し順番の並び替えをおこなった読み出し要求を、読み出し要求バッファ134において、並び替えをおこなう前の読み出し要求が記憶されている領域以外の領域に記憶するとしているが、読み出し要求バッファ134は、並び替えがおこなわれた読み出し要求を格納するための記憶領域を備えずに、バッファ読み出し制御部137は、並び替えられた読み出し順番により順次取得要求を読み出し、読み出した都度、キャッシュブロック取得部138に転送する構成であってもよい。この場合であっても、フレームバッファー150のRow方向における座標位置が互いに等しいキャッシュブロックをフレームバッファー150から連続することができるため、歪み補正処理の効率性の向上を図ることができる。また、読み出し要求バッファ134は、読み出し順番の並び替えをおこなった読み出し要求を、読み出し要求バッファ134において、並び替えをおこなう前の読み出し要求が記憶されている領域に上書きする構成であってもよい。これらの場合であっても、歪み補正処理の効率性の向上を図ることができる。
B2. Modification 2:
In this embodiment, the buffer read control unit 137 stores the read request in which the read order is rearranged in an area other than the area in which the read request before the rearrangement is stored in the read request buffer 134. However, the read request buffer 134 does not include a storage area for storing the read requests that have been rearranged, and the buffer read control unit 137 sequentially reads the acquisition requests in the rearranged read order, The configuration may be such that each time the data is read, the data is transferred to the cache block acquisition unit 138. Even in this case, cache blocks having the same coordinate position in the Row direction of the frame buffer 150 can be continued from the frame buffer 150, so that the efficiency of distortion correction processing can be improved. In addition, the read request buffer 134 may be configured to overwrite the read request in which the read order is rearranged in the read request buffer 134 in an area in which the read request before the rearrangement is stored. Even in these cases, the efficiency of the distortion correction process can be improved.

B3.変形例3:
本実施例では、プロジェクター100は、ヒット判定部131および先読みリクエスト発行部132の2つを備えるが、いずれか一方を備えていない構成であってもよい。この場合であっても、少なくとも一方により読み出し要求が発行されるため、読み出し要求に基づいてフレームバッファー150からキャッシュブロックを読み出してキャッシュブロック記憶部122に格納することができる。
B3. Modification 3:
In the present embodiment, the projector 100 includes the hit determination unit 131 and the prefetch request issuing unit 132, but may be configured not to include either one. Even in this case, since the read request is issued by at least one of them, the cache block can be read from the frame buffer 150 based on the read request and stored in the cache block storage unit 122.

B4.変形例4:
フレームバッファー150の画素数、キャッシュブロック記憶部122の画素数、キャッシュブロックの画素数、および補間ブロックの画素数(画素補間に用いる画素数)は、上記した実施例に限定されず、任意に設定することができる。
B4. Modification 4:
The number of pixels of the frame buffer 150, the number of pixels of the cache block storage unit 122, the number of pixels of the cache block, and the number of pixels of the interpolation block (the number of pixels used for pixel interpolation) are not limited to the above-described embodiments, and are arbitrarily set. can do.

B5.変形例5:
本実施例では、プロジェクター100は、透過型の液晶パネル部192を用いて、照明光学系190からの光を変調しているが、透過型の液晶パネル部192に限定されず、例えば、デジタル・マイクロミラー・デバイス(DMD(登録商標):Digital Micro−Mirror Device)や、反射型の液晶パネル(LCOS(登録商標):Liquid Crystal on Silicon)等を用いて、照明光学系190からの光を変調する構成にしてもよい。また、小型CRT(陰極線管)上の映像を被投写面に投写するCRTプロジェクターでもよい。
B5. Modification 5:
In this embodiment, 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. The light from the illumination optical system 190 is modulated using a micromirror device (DMD (registered trademark): Digital Micro-Mirror Device), a reflective liquid crystal panel (LCOS (registered trademark): Liquid Crystal on Silicon), or the like. You may make it the structure to carry out. Also, a CRT projector that projects an image on a small CRT (cathode ray tube) onto a projection surface may be used.

B6.変形例6:
本実施例に係るプロジェクター100は、上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
B6. Modification 6:
In the projector 100 according to the present embodiment, a part of the configuration realized by the hardware in the above embodiment may be replaced with software. Conversely, a part of the configuration realized by the software is replaced with the hardware. It may be replaced with wear.

B7.変形例7:
本発明は、種々の態様で実現することが可能であり、例えば、プロジェクターテレビ、モニター、ブロック映像記憶装置、射影変換処理装置、画像処理装置等で実現することができる。また、データの取得方法、画像処理方法、および、これらの方法または装置の機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した記録媒体、そのコンピュータープログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
B7. Modification 7:
The present invention can be realized in various modes, and can be realized by, for example, a projector television, a monitor, a block video storage device, a projection conversion processing device, an image processing device, or the like. Further, a data acquisition method, an image processing method, and a computer program for realizing the functions of these methods or apparatuses, a recording medium on which the computer program is recorded, and data embodied in a carrier wave including the computer program It can be realized in the form of a signal or the like.

100…プロジェクター
102…高速バス
104…低速バス
110…映像入力部
112…IP変換部
114…解像度変換部
116…映像合成部
120…台形歪み補正部
121…キャッシュブロック制御部
122…キャッシュブロック記憶部
123…キャッシュブロック用タグ情報記憶部
124…補間ブロック読み出し部
125…画素補間部
126…FIFO部
127…レジスター部
128…制御部
129…座標変換部
130…フィルター係数算出部
131…ヒット判定部
132…先読みリクエスト発行部
134…読み出し要求バッファ
135…バッファ管理タグ部
136…バッファ状態判別部
137…バッファ読み出し制御部
138…キャッシュブロック取得部
140…液晶パネル駆動部
150…フレームバッファー
160…高速バス制御部
162…低速バス制御部
170…プロセッサー部
180…撮像部
182…センサー部
190…照明光学系
192…液晶パネル部
194…投写光学系
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 132 ... prefetching Request issuing unit 134 ... Read request buffer 135 ... Buffer management tag unit 136 ... Buffer state determination unit 137 ... Buffer read control unit 138 ... Cache block acquisition unit 140 ... Liquid crystal panel drive unit 150 ... Frame buffer 16 ... Fast bus control unit 162 ... low-speed bus control unit 170 ... processor 180 ... imaging unit 182 ... sensor unit 190 ... illumination optical system 192 ... liquid crystal panel unit 194 ... projection optical system

Claims (8)

画像表示装置であって、
フレーム映像を表す映像データを記憶するフレーム映像記憶部と、
所定数の画素からなるブロック映像データを格納するためのブロック領域を複数備え、前記フレーム映像記憶部に記憶された映像データの一部をブロック映像データとしてそれぞれのブロック領域に格納するブロック映像記憶部と、
各前記ブロック領域に格納されているブロック映像データを用いて、前記フレーム映像に対して所定の補正をおこなった補正後フレーム映像を表す補正後映像データを生成する補正処理部と、
前記フレーム映像記憶部に記憶されている映像データの一部からブロック映像データを取得し、前記ブロック映像記憶部の前記ブロック領域に格納するブロック映像取得部と、
前記ブロック映像取得部が前記フレーム映像記憶部に記憶されている映像データから取得すべきブロック映像データについて、取得すべきブロック映像データにより表される映像の前記フレーム映像における位置に対応する位置情報を含む取得要求を前記ブロック映像取得部に対し発行する取得要求発行部と、を備え、
前記ブロック映像取得部は、所定の期間に前記取得要求発行部から発行された各前記取得要求のそれぞれに含まれる位置情報に、フレーム映像の第1の方向の座標位置が互いに等しい位置情報が含まれている場合、該位置情報により示される映像を表すブロック映像データを前記フレーム映像記憶部に記憶されている映像データから連続して取得する画像表示装置。
An image display device,
A frame video storage unit for storing video data representing a frame video;
A block video storage unit comprising a plurality of block areas for storing block video data composed of a predetermined number of pixels, and storing a part of the video data stored in the frame video storage unit as block video data in each block area When,
A correction processing unit for generating corrected video data representing a corrected frame video obtained by performing a predetermined correction on the frame video using the block video data stored in each of the block areas;
A block video acquisition unit that acquires block video data from a part of video data stored in the frame video storage unit, and stores the block video data in the block area of the block video storage unit;
For the block video data to be acquired from the video data stored in the frame video storage unit by the block video acquisition unit, position information corresponding to the position in the frame video of the video represented by the block video data to be acquired An acquisition request issuing unit that issues an acquisition request including the block video acquisition unit,
The block image acquisition unit includes position information in which the coordinate positions in the first direction of the frame image are equal to each other in the position information included in each of the acquisition requests issued from the acquisition request issuing unit during a predetermined period. If so, block image data representing the image indicated by the position information is continuously acquired from the image data stored in the frame image storage unit.
請求項1に記載の画像表示装置において、
前記ブロック映像取得部は、
前記取得要求発行部から発行された前記取得要求を順次格納するバッファ部と、
前記所定の期間に前記バッファ部に格納された前記取得要求に対して、フレーム映像の第1の方向の座標位置が互いに等しい位置情報を含んだ取得要求が連続して読み出されるように取得要求の読み出し順番を並び替える並び替え部と、
前記並び替え部により並び替えられた順番に従って前記バッファ部から取得要求を読み出し、読み出した取得要求に応じて前記フレーム映像記憶部に記憶されている映像データからブロック映像データを取得する取得部と、を備える画像表示装置。
The image display device according to claim 1,
The block video acquisition unit
A buffer unit for sequentially storing the acquisition requests issued from the acquisition request issuing unit;
In response to the acquisition request stored in the buffer unit during the predetermined period, the acquisition request is continuously read out so that the acquisition request including position information in which the coordinate positions in the first direction of the frame image are equal to each other is read continuously. A rearrangement unit for rearranging the reading order;
An acquisition unit that reads out acquisition requests from the buffer unit according to the order rearranged by the rearrangement unit, and acquires block video data from video data stored in the frame video storage unit in response to the read acquisition request; An image display device comprising:
請求項1または請求項2に記載の画像表示装置において、
前記取得要求発行部は、
前記補正処理部が後に補正後映像データの生成に用いるブロック映像データを予測し、該予測されたブロック映像データが前記ブロック映像記憶部のいずれのブロック領域にも格納されていない場合には、前記予測されたブロック映像データを取得させるための取得要求を発行するブロック映像予測部、もしくは、
前記補正処理部が次に補正後映像データの生成に用いるブロック映像データが前記ブロック映像記憶部のいずれかのブロック領域に格納されているか否かを判定し、該ブロック映像データが前記ブロック映像記憶部のいずれのブロック領域にも格納されていない場合には、該ブロック映像データを取得させるための取得要求を発行する判定部、の少なくともいずれか一方を含んでいる画像表示装置。
The image display device according to claim 1 or 2,
The acquisition request issuing unit
When the correction processing unit predicts block video data to be used later for generation of corrected video data, and the predicted block video data is not stored in any block area of the block video storage unit, A block video prediction unit that issues an acquisition request for acquiring predicted block video data, or
The correction processing unit determines whether block video data to be used for generation of corrected video data next is stored in any block area of the block video storage unit, and the block video data is stored in the block video storage An image display device including at least one of a determination unit that issues an acquisition request for acquiring the block video data when the block video data is not stored in any block area.
請求項1ないし請求項3のいずれかに記載の画像表示装置において、
前記フレーム映像は、複数の画素を前記第1の方向および前記第1の方向と直交する方向にそれぞれ所定数並べた矩形の外形形状を備え、
前記ブロック映像データは、前記フレーム映像の一部の領域を構成する画素の画素値を含み、
前記ブロック映像取得部は、所定の期間に前記取得要求発行部から発行された各前記取得要求に基づいて前記フレーム映像記憶部に記憶されている映像データから複数のブロック映像データを取得するとき、前記複数のブロック映像データに含まれるすべての画素値について、フレーム映像の前記第1の方向における上流側の画素から順に取得する画像表示装置。
The image display device according to any one of claims 1 to 3,
The frame image includes a rectangular outer shape in which a plurality of pixels are arranged in a predetermined number in the first direction and in a direction orthogonal to the first direction,
The block video data includes pixel values of pixels constituting a partial area of the frame video,
When the block video acquisition unit acquires a plurality of block video data from the video data stored in the frame video storage unit based on each acquisition request issued from the acquisition request issuing unit in a predetermined period, An image display device that sequentially acquires all pixel values included in the plurality of block video data from an upstream pixel in the first direction of a frame video.
請求項1ないし請求項3のいずれかに記載の画像表示装置において、
前記フレーム映像は、複数の画素を前記第1の方向および前記第1の方向と直交する方向にそれぞれ所定数並べた矩形の外形形状を備え、
前記ブロック映像データは、前記フレーム映像の一部の領域を構成する画素の画素値を含み、
前記ブロック映像取得部は、所定の期間に前記取得要求発行部から発行された各前記取得要求に基づいて前記フレーム映像記憶部に記憶されている映像データから複数のブロック映像データを取得するとき、前記フレーム映像記憶部から1のブロック映像データに含まれる画素値をすべて取得した後に続けて他のブロック映像データに含まれる画素値を取得する画像表示装置。
The image display device according to any one of claims 1 to 3,
The frame image includes a rectangular outer shape in which a plurality of pixels are arranged in a predetermined number in the first direction and in a direction orthogonal to the first direction,
The block video data includes pixel values of pixels constituting a partial area of the frame video,
When the block video acquisition unit acquires a plurality of block video data from the video data stored in the frame video storage unit based on each acquisition request issued from the acquisition request issuing unit in a predetermined period, An image display device that acquires pixel values included in other block video data after acquiring all pixel values included in one block video data from the frame video storage unit.
被投写面上に映像を投写して表示するプロジェクターであって、
前記映像を表す映像光を生成して出力する映像光出力部と、
フレーム映像を表す映像データを記憶するフレーム映像記憶部と、
所定数の画素からなるブロック映像データを格納するためのブロック領域を複数備え、前記フレーム映像記憶部に記憶された映像データの一部をブロック映像データとしてそれぞれのブロック領域に格納するブロック映像記憶部と、
各前記ブロック領域に格納されているブロック映像データを用いて、前記フレーム映像に対して前記被投写面上に投写される映像の歪みを補正するための処理をおこなった補正後フレーム映像を表す補正後映像データを生成し、前記映像光出力部に出力する補正処理部と、
前記フレーム映像記憶部に記憶されている映像データの一部からブロック映像データを取得し、前記ブロック映像記憶部の前記ブロック領域に格納するブロック映像取得部と、
前記ブロック映像取得部が前記フレーム映像記憶部に記憶されている映像データから取得すべきブロック映像データについて、取得すべきブロック映像データにより表される映像の前記フレーム映像における位置に対応する位置情報を含む取得要求を前記ブロック映像取得部に対し発行する取得要求発行部と、を備え、
前記ブロック映像取得部は、所定の期間に前記取得要求発行部から発行された各前記取得要求のそれぞれに含まれる位置情報に、フレーム映像の第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 video data representing a frame video;
A block video storage unit comprising a plurality of block areas for storing block video data composed of a predetermined number of pixels, and storing a part of the video data stored in the frame video storage unit as block video data in each block area When,
Correction representing a corrected frame image obtained by performing processing for correcting distortion of the image projected on the projection surface with respect to the frame image using block image data stored in each of the block areas. A correction processing unit that generates post video data and outputs the post video data to the video light output unit;
A block video acquisition unit that acquires block video data from a part of video data stored in the frame video storage unit, and stores the block video data in the block area of the block video storage unit;
For the block video data to be acquired from the video data stored in the frame video storage unit by the block video acquisition unit, position information corresponding to the position in the frame video of the video represented by the block video data to be acquired An acquisition request issuing unit that issues an acquisition request including the block video acquisition unit,
The block image acquisition unit includes position information in which the coordinate positions in the first direction of the frame image are equal to each other in the position information included in each of the acquisition requests issued from the acquisition request issuing unit during a predetermined period. A block video data representing a video indicated by the position information from the video data stored in the frame video storage unit.
画像表示装置における画像処理方法であって、
フレーム映像を表す映像データを記憶する工程と、
前記映像データの一部からブロック映像データを取得し、ブロック領域に格納する工程と、
ブロック領域に格納されているブロック映像データを用いて、前記フレーム映像に対して所定の補正をおこなった補正後フレーム映像を表す補正後映像データを生成する工程と、
前記映像データから取得すべきブロック映像データにより表される映像の前記フレーム映像における位置に対応する位置情報を含んだ取得要求を発行する工程と、を備え、
所定の期間に発行された各前記取得要求のそれぞれに含まれる位置情報に、フレーム映像の第1の方向の座標位置が互いに等しい位置情報が含まれている場合、該位置情報により示される映像を表すブロック映像データを前記映像データから連続して取得する方法。
An image processing method in an image display device,
Storing video data representing a frame video;
Obtaining block video data from a portion of the video data and storing it in a block area;
Using the block video data stored in the block area, generating corrected video data representing a corrected frame video obtained by performing a predetermined correction on the frame video;
Issuing an acquisition request including position information corresponding to a position in the frame image of the image represented by the block image data to be acquired from the image data,
When the position information included in each of the acquisition requests issued in a predetermined period includes position information in which the coordinate positions in the first direction of the frame image are equal to each other, the image indicated by the position information is A method of continuously obtaining block video data to be represented from the video data.
フレーム映像を表す映像データを記憶するフレーム映像記憶部と、所定数の画素からなるブロック映像データを格納するためのブロック領域を複数備え、前記フレーム映像記憶部に記憶された映像データの一部をブロック映像データとしてそれぞれのブロック領域に格納するブロック映像記憶部とを備える画像表示装置におけるデータの取得方法であって、
前記映像データから取得すべきブロック映像データにより表される映像の前記フレーム映像における位置に対応する位置情報を含んだ取得要求を発行する工程と、
前記取得要求に応じて前記フレーム映像記憶部に記憶された前記映像データの一部からブロック映像データを取得し、前記ブロック領域に格納する工程と、を備え、
所定の期間に発行された各前記取得要求のそれぞれに含まれる位置情報に、フレーム映像の第1の方向の座標位置が互いに等しい位置情報が含まれている場合、該位置情報により示される映像を表すブロック映像データを前記映像データから連続して取得する方法。
A frame video storage unit that stores video data representing a frame video and a plurality of block areas for storing block video data including a predetermined number of pixels, and a part of the video data stored in the frame video storage unit A method of acquiring data in an image display device comprising a block video storage unit that stores block video data in each block area,
Issuing an acquisition request including position information corresponding to a position in the frame image of the image represented by the block image data to be acquired from the image data;
Obtaining block video data from a part of the video data stored in the frame video storage unit in response to the acquisition request, and storing the block video data in the block area, and
When the position information included in each of the acquisition requests issued in a predetermined period includes position information in which the coordinate positions in the first direction of the frame image are equal to each other, the image indicated by the position information is A method of continuously obtaining block video data to be represented from the video data.
JP2010067313A 2010-03-24 2010-03-24 Image display device, projector, and data acquisition method in image display device Active JP5533109B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010067313A JP5533109B2 (en) 2010-03-24 2010-03-24 Image display device, projector, and data acquisition method in image display device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010067313A JP5533109B2 (en) 2010-03-24 2010-03-24 Image display device, projector, and data acquisition method in image display device

Publications (2)

Publication Number Publication Date
JP2011199804A true JP2011199804A (en) 2011-10-06
JP5533109B2 JP5533109B2 (en) 2014-06-25

Family

ID=44877391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010067313A Active JP5533109B2 (en) 2010-03-24 2010-03-24 Image display device, projector, and data acquisition method in image display device

Country Status (1)

Country Link
JP (1) JP5533109B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013218654A (en) * 2012-03-16 2013-10-24 Panasonic Corp Image processing device
JP2014071625A (en) * 2012-09-28 2014-04-21 Brother Ind Ltd Image processing device
WO2021053948A1 (en) * 2019-09-20 2021-03-25 ソニー株式会社 Image processing device, image processing method, and program

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06342403A (en) * 1990-08-31 1994-12-13 Sun Microsyst Inc Estimation caching system
JPH10105154A (en) * 1996-09-30 1998-04-24 Hitachi Ltd Graphic display device and graphic processor
JPH11175464A (en) * 1997-12-11 1999-07-02 Matsushita Electric Ind Co Ltd Arbitrating device and method therefor
JP2001331793A (en) * 2000-05-22 2001-11-30 Fuji Xerox Co Ltd Image processor and cache memory
JP2004295173A (en) * 2003-03-25 2004-10-21 Brother Ind Ltd Image processing apparatus and image forming apparatus therewith
JP2005215911A (en) * 2004-01-29 2005-08-11 Hitachi Ltd Information processor
JP2006065850A (en) * 2004-07-28 2006-03-09 Renesas Technology Corp Microcomputer
JP2007150531A (en) * 2005-11-25 2007-06-14 Seiko Epson Corp Image processing apparatus and image processing method
JP2007172455A (en) * 2005-12-26 2007-07-05 Toshiba Corp Plotting device and data transferring method
JP2009225226A (en) * 2008-03-18 2009-10-01 Seiko Epson Corp Projector, electronic equipment and method for controlling projector

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06342403A (en) * 1990-08-31 1994-12-13 Sun Microsyst Inc Estimation caching system
JPH10105154A (en) * 1996-09-30 1998-04-24 Hitachi Ltd Graphic display device and graphic processor
JPH11175464A (en) * 1997-12-11 1999-07-02 Matsushita Electric Ind Co Ltd Arbitrating device and method therefor
JP2001331793A (en) * 2000-05-22 2001-11-30 Fuji Xerox Co Ltd Image processor and cache memory
JP2004295173A (en) * 2003-03-25 2004-10-21 Brother Ind Ltd Image processing apparatus and image forming apparatus therewith
JP2005215911A (en) * 2004-01-29 2005-08-11 Hitachi Ltd Information processor
JP2006065850A (en) * 2004-07-28 2006-03-09 Renesas Technology Corp Microcomputer
JP2007150531A (en) * 2005-11-25 2007-06-14 Seiko Epson Corp Image processing apparatus and image processing method
JP2007172455A (en) * 2005-12-26 2007-07-05 Toshiba Corp Plotting device and data transferring method
JP2009225226A (en) * 2008-03-18 2009-10-01 Seiko Epson Corp Projector, electronic equipment and method for controlling projector

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013218654A (en) * 2012-03-16 2013-10-24 Panasonic Corp Image processing device
JP2014071625A (en) * 2012-09-28 2014-04-21 Brother Ind Ltd Image processing device
WO2021053948A1 (en) * 2019-09-20 2021-03-25 ソニー株式会社 Image processing device, image processing method, and program
JP7513032B2 (en) 2019-09-20 2024-07-09 ソニーグループ株式会社 Image processing device, image processing method, and program
US12047698B2 (en) 2019-09-20 2024-07-23 Sony Group Corporation Image processing device and image processing method

Also Published As

Publication number Publication date
JP5533109B2 (en) 2014-06-25

Similar Documents

Publication Publication Date Title
JP5348022B2 (en) Projector and projection conversion processing apparatus
KR101785027B1 (en) Image distortion compensation display device and image distortion compensation method using the same
US8300978B2 (en) Projector, electronic apparatus, and method of controlling projector
JP5997882B2 (en) Projector and projector control method
JP2010026870A (en) Image processing apparatus, image display apparatus and image data generating method
JP2007006175A (en) Image generation device and method for vehicle
JP5348035B2 (en) projector
JP5533109B2 (en) Image display device, projector, and data acquisition method in image display device
US9336565B2 (en) Image processing device, display apparatus, and image processing method
JP2011193332A (en) Projector and video projection method
JP2010081024A (en) Device for interpolating image
JP2011211274A (en) Image display apparatus, projector, and data acquiring method in the image display apparatus
JP2010176547A (en) Controller included in image processor, control method and control processing program
US9761160B2 (en) Image processing device, display apparatus, image processing method, and program
JP5413265B2 (en) Image display device and projector
JP5353772B2 (en) projector
JP2019193144A (en) Projection device and control method of the same
JP2005208413A (en) Image processor and image display device
JPH0737079A (en) Method and device for correcting picture distortion
JP2002042158A (en) Image composing device, image composing method, and medium recording program
JP5407928B2 (en) Projection display apparatus and display method
JP5531701B2 (en) projector
JP2011199463A (en) Projector
JP2020061662A (en) Video processing device, video processing method, and program
JP2005124006A (en) Apparatus and method of projection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

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

R150 Certificate of patent or registration of utility model

Ref document number: 5533109

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140414

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