(57)【特許請求の範囲】
【請求項１】
第１の格納部に記憶されたデータを転送先に転送するデータ転送装置であって、
前記第１の格納部から出力されるデータをライトポインタに従って記憶し、リードポインタに従ってデータを出力する第２の格納部と、
前記リードポインタが前記ライトポインタより先行しているときにエラー信号を生成するエラー判定部と、
前記ライトポインタと前記リードポインタにより算出した前記第２の格納部のデータ量に従って前記第１の格納部からデータを読み出すための要求信号を出力し、前記生成されたエラー信号に応じて第１及び第２の制御信号をそれぞれ第１の状態から前記第１の状態とは異なる第２の状態に切り替えて出力する制御部と、
前記第１の格納部が前記要求信号に応じて出力する一群のデータのうち、データ転送における先頭の部分データを記憶し、前記制御部から供給される第２の状態の前記第１の制御信号に応答して前記部分データを出力する第３の格納部と、
前記制御部から供給される第１の状態の前記第２の制御信号に基づいて前記第２の格納部から出力されるデータを選択して出力し、第２の状態の前記第２の制御信号に基づいて前記第２の格納部から出力されるデータを前記第３の格納部から出力される部分データにより補間したデータを選択して出力する補間処理部と、
を含むデータ転送装置。
【請求項２】
前記一群のデータは、前記第１の格納部が１つの前記要求信号に応答するバースト転送により転送されるブロックデータであり、
前記制御部は、前記第２の格納部の空き容量が前記ブロックデータのデータ量以上になると前記要求信号を出力し、
前記第３の格納部は、前記ブロックデータの先頭の部分データを記憶すること、
を特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記第３の格納部は、前記ブロックデータの先頭の部分データを記憶すること、
を特徴とする請求項２に記載のデータ転送装置。
【請求項４】
前記補間処理部は、連続する２つのブロックデータに対応して前記第３の格納部から出力される２つの部分データに基づいて、先に出力される部分データの最後のデータと、次に出力される部分データの最初のデータに基づいて、２つの部分データの間の補間データを生成し、その補間データを出力すること、
を特徴とする請求項３記載のデータ転送装置。
【請求項５】
前記転送先は表示装置であり、前記第１の格納部に記憶されたデータは、前記表示装置に表示する１フレームの画像データであり、
前記制御部は、前記第１の制御信号に前記第２の格納部のデータ量を含めて出力し、
前記第３の格納部は、前記制御部が出力する前記データ量に応じて、前記データ量が多いほど少ない量の部分データを記憶し、記憶した部分データにその部分データの先頭のデータにおける水平方向の画素の位置と前記データ量を関連付けて記憶すること
を特徴とする請求項１又は２に記載のデータ転送装置。
【請求項６】
前記第３の格納部は、前記データ量に応じて、記憶する部分データのデータ量を変更すること、
を特徴とする請求項５記載のデータ転送装置。
【請求項７】
第１の格納部に記憶されたデータを転送先に転送するデータ転送方法であって、
前記第１の格納部から出力されるデータをライトポインタに従って第２の格納部に記憶し、リードポインタに従って前記第２の格納部からデータを出力し、
エラー判定部は、前記リードポインタが前記ライトポインタより先行しているときにエラー信号を生成し、
制御部は、前記ライトポインタと前記リードポインタにより算出した前記第２の格納部のデータ量に従って前記第１の格納部からデータを読み出すための要求信号を出力し、
前記制御部は、前記生成されたエラー信号に応じて第１及び第２の制御信号をそれぞれ第１の状態から前記第１の状態とは異なる第２の状態に切り替えて出力し、
前記第１の格納部が前記要求信号に応じて出力する一群のデータのうち、データ転送における先頭の部分データを第３の格納部に記憶し、第２の状態の前記第１の制御信号に応答して前記第３の格納部に記憶された前記部分データを出力し、
補間処理部は、第１の状態の前記第２の制御信号に基づいて前記第２の格納部から出力されるデータを選択して出力し、第２の状態の前記第２の制御信号に基づいて前記第２の格納部から出力されるデータを前記第３の格納部から出力される部分データにより補間したデータを選択して出力すること、
を特徴とするデータ転送方法。
【請求項８】
第１の格納部をそれぞれアクセスする複数の処理部と、
前記第１の格納部に記憶されたデータを転送先に転送するデータ転送部と、
前記第１の格納部をアクセスするために前記複数の処理部と前記データ転送部からそれぞれ出力される要求信号を調停する調停部と、
を含み、
前記データ転送部は、
前記第１の格納部から出力されるデータをライトポインタに従って記憶し、リードポインタに従ってデータを出力する第２の格納部と、
前記リードポインタが前記ライトポインタより先行しているときにエラー信号を生成するエラー判定部と、
前記ライトポインタと前記リードポインタにより算出した前記第２の格納部のデータ量に従って前記第１の格納部からデータを読み出すための要求信号を出力し、前記生成されたエラー信号に応じて第１及び第２の制御信号をそれぞれ第１の状態から前記第１の状態とは異なる第２の状態に切り替えて出力する制御部と、
前記第１の格納部が前記要求信号に応じて出力する一群のデータのうち、データ転送における先頭の部分データを記憶し、前記制御部から供給される第２の状態の前記第１の制御信号に応答して前記部分データを出力する第３の格納部と、
前記制御部から供給される第１の状態の前記第２の制御信号に基づいて前記第２の格納部から出力されるデータを選択して出力し、第２の状態の前記第２の制御信号に基づいて前記第２の格納部から出力されるデータを前記第３の格納部から出力される部分データにより補間したデータを選択して出力する補間処理部と、
を含む、半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
データ転送装置、データ転送方法、及び半導体装置に関する。
【背景技術】
【０００２】
従来、デジタルスチルカメラ等の電子機器は、メモリに格納された画像データを表示する表示部を有している。電子機器のデータ転送装置は、ＦＩＦＯ（first in first out）方式のメモリを有し、メモリから表示部に転送するデータ転送を調整する（例えば、特許文献１，２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−３７２０８号公報
【特許文献２】特公平６―５９０９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、メモリからデータを読み出す処理が遅れると、表示部にデータを出力するタイミングに間に合わなくなる転送破綻が発生する。この転送破綻は、例えば表示部における表示画像の乱れ等の不具合を生じさせる。また、転送破綻は、データ転送装置以外の処理装置（例えばＣＰＵ）における処理の増加を招く。
【０００５】
このデータ転送装置で、転送破綻による不具合の低減を可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一観点によれば、第１の格納部に記憶されたデータを転送先に転送するデータ転送装置であって、前記第１の格納部から出力されるデータをライトポインタに従って記憶し、リードポインタに従ってデータを出力する第２の格納部と、前記リードポインタが前記ライトポインタより先行しているときにエラー信号を生成するエラー判定部と、前記ライトポインタと前記リードポインタにより算出した前記第２の格納部のデータ量に従って前記第１の格納部からデータを読み出すための要求信号を出力し、前記生成されたエラー信号に応じて第１及び第２の制御信号をそれぞれ第１の状態から前記第１の状態とは異なる第２の状態に切り替えて出力する制御部と、前記第１の格納部が前記要求信号に応じて出力する一群のデータのうち、データ転送における先頭の部分データを記憶し、前記制御部から供給される第２の状態の前記第１の制御信号に応答して前記部分データを出力する第３の格納部と、前記制御部から供給される第１の状態の前記第２の制御信号に基づいて前記第２の格納部から出力されるデータを選択して出力し、第２の状態の前記第２の制御信号に基づいて前記第２の格納部から出力されるデータを前記第３の格納部から出力される部分データにより補間したデータを選択して出力する補間処理部と、を含む。
【発明の効果】
【０００７】
本発明の一観点によれば、転送破綻による不具合を低減することができる。
【図面の簡単な説明】
【０００８】
【図１】電子機器のブロック回路図である。
【図２】出力部のブロック回路図である。
【図３】画像データの説明図である。
【図４】ラインデータとブロックデータを示す説明図である。
【図５】補間用メモリにおける部分データの格納状態を示す説明図である。
【図６】出力部の動作説明図である。
【図７】出力部の動作説明図である。
【図８】出力部の動作説明図である。
【図９】出力部の動作説明図である。
【図１０】補間用メモリの説明図である。
【図１１】（ａ）（ｂ）は、出力部の動作説明図である。
【図１２】（ａ）（ｂ）は、出力部の動作説明図である。
【図１３】（ａ）（ｂ）は、出力部の動作説明図である。
【図１４】補間用メモリの説明図である。
【図１５】（ａ）（ｂ）は、出力部の動作説明図である。
【図１６】（ａ）（ｂ）は、出力部の動作説明図である。
【図１７】（ａ）（ｂ）は、出力部の動作説明図である。
【図１８】（ａ）（ｂ）は、出力部の動作説明図である。
【図１９】（ａ）（ｂ）は、出力部の動作説明図である。
【発明を実施するための形態】
【０００９】
以下、一実施形態を図１〜図８に従って説明する。
図１に示す電子機器１０は、例えばデジタルスチルカメラである。電子機器１０は、撮像部１１と、画像処理プロセッサ１２と、フレームメモリ１３と、操作部１４と、表示部１５とを有している。フレームメモリ１３は第１の格納部の一例である。
【００１０】
撮像部１１は、例えばＣＣＤやＣＭＯＳイメージセンサ等の撮像素子を有し、複数の撮像素子は例えば二次元配列されている。撮像部１１は、撮像素子により撮像した１画面（１フレーム）の画像データを、フレーム毎に出力する。
【００１１】
画像処理プロセッサ１２は、撮像部１１から入力される画像データをフレームメモリ１３に一時的に格納する。このフレームメモリ１３は、複数フレームの画像データを記憶可能なメモリ容量のメモリである。このフレームメモリ１３は、例えばシンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などの書き替え可能なメモリである。画像処理プロセッサ１２は、フレームメモリ１３に格納した画像データに対して各種画像処理を施す。すなわち、画像処理プロセッサ１２は、フレームメモリ１３から読み出した画像データに対して各種画像処理を施し、処理後の画像データをフレームメモリ１３に格納する。
【００１２】
操作部１４は、ユーザにより操作される各種スイッチを有している。この各種スイッチは、例えば表示部１５に表示する画像の選択、フレームメモリ１３に記憶した画像データに対する処理の設定、撮影条件の設定、画像データの消去、等を行うために使用される。画像処理プロセッサ１２は、フレームメモリ１３に格納した画像データを表示部１５に出力する。
【００１３】
表示部１５は、液晶や有機ＥＬ（Electronic Luminescence）などを用いた表示器である。表示部１５は、撮影した画像を確認するモニタとして利用される。また、表示部１５は、撮影する領域（フレーム）を決定するモニタとして利用される。
【００１４】
処理装置１２は、フレームメモリ１３に格納された画像データを処理するための画像処理部２０を有している。画像処理部２０は、複数の処理部２１〜２７を含む。従って、フレームメモリ１３は複数の処理部２１〜２７に対する共通のフレームメモリ（作業メモリ）として機能する。
【００１５】
各処理部２１〜２７の一例を説明する。
処理部２１はプリプロセス部２１であり、撮像部１１から入力される画像データに対し、例えばホワイトバランス調整やゲイン調整、欠陥信号の補正などの前処理を施す。処理部２２は色空間変換部であり、プリプロセス部２１により前処理されたＲＧＢ形式の画像データ（ベイヤデータ）をＹＣｂＣｒ形式の画像データに変換する。これら処理部２１，２２により処理された１フレームの画像データは、メモリコントローラ３２を介してフレームメモリ１３に格納される。処理部２３はコーデックであり、フレームメモリ１３に格納された画像データを読み出し、その画像データを所定の方式（例えばＪＰＥＧ（Joint Photographic Experts Group）方式）により符号化し、符号化後の画像データ（符号化データ）をフレームメモリ１３に格納する。処理部２４は解像度変換部であり、部分画像データの画像サイズ（解像度）を拡大又は縮小する解像度変換処理を実行する。処理部２５は色調変換部であり、部分画像データの色調をセピアやモノクロ等に変換する色調変換処理を実行する。処理部２６はエッジ強調部であり、部分画像データに対して画像の輪郭（エッジ）を強調するエッジ強調処理を実行する。処理部２７はノイズ補正部であり、部分画像データに含まれるノイズを除去するノイズ補正処理を実行する。なお、画像処理部２０に含まれる処理部２１〜２７、各処理部２１〜２７の処理内容は一例を示すものであり、画像処理部２０が含む処理部の種類や処理内容は、適宜設定されてもよい。
【００１６】
また、処理装置１２は、中央処理装置（以下、ＣＰＵ）３１、メモリコントローラ３２、出力部３３を有している。画像処理部２０内の各処理部２１〜２７と、ＣＰＵ３１と、メモリコントローラ３２と、出力部３３は、バス３４によって互いに接続されている。このバス３４は、アドレスバス、コントロールバス、データバスを含む。
【００１７】
ＣＰＵ３１は、各回路を統括制御する。また、ＣＰＵ３１は、操作部１４から入力される操作情報に従って各種情報を対応する処理部２１〜２７，出力部３３のレジスタに格納する。各種情報は、撮影条件、１フレームの画素数、各処理部２１〜２７，出力部３３における動作に必要な情報を含む。各処理部２１〜２７，出力部３３は、初期化時や操作部１４の操作に従って設定された情報に基づいて動作する。
【００１８】
各処理部２１〜２７と出力部３３は、フレームメモリ１３をアクセスするための要求を出力する。例えば、処理部２１〜２７は、フレームメモリ１３にデータを書き込むために、書き込み要求を出力する。また、処理部２２〜２７は、フレームメモリ１３からデータを読み出すために、読み出し要求を出力する。同様に、出力部３３は、フレームメモリ１３から画像データを読み出すための読み出し要求を出力する。
【００１９】
メモリコントローラ３２は、アービタ（調停部）を有している。アービタは、フレームメモリ１３に対するアクセス要求を調停する。即ち、アービタ３２ａは、各処理部２１〜２７、出力部３３から出力され競合する要求を、例えば各処理部２１〜２７、出力部３３に応じて設定された優先度に従って調停する。そして、アービタ３２ａは、調停結果を各処理部２１〜２７，出力部３３に出力する。
【００２０】
書き込み要求が許可された処理部２１〜２７は、フレームメモリ１３に対する書き込みの制御信号とデータを出力する。メモリコントローラ３２は、その制御信号に従ってデータをフレームメモリ１３に格納する。読み出し要求が許可された処理部２２〜２７，出力部３３は、フレームメモリ１３からデータを読み出すための制御信号を出力する。メモリコントローラ３２は、その制御信号に従ってフレームメモリ１３から読み出したデータを要求元の処理部２２〜２７、出力部３３に出力する。
【００２１】
出力部３３は、フレームメモリ１３に格納された各フレームの画像データを表示部１５に順次転送する。図３に示すように、フレームメモリ１３に格納された１フレームの画像データＦＤは、表示部１５の表示画素に対応する複数（例えばｎ本）のラインデータＬ０〜Ｌｎー１を含む。各ラインデータＬ０〜Ｌｎー１は、それぞれ複数（例えばｍ個）の画素データＧを含む。画像データＦＤは、例えばＹＣｂＣｒ形式の画像データである。
【００２２】
フレームメモリ１３は、出力部３３から出力される１つの読み出し要求に応答して、出力部３３から供給される要求アドレスを先頭アドレスとして、所定量のデータを出力する。従って、出力部３３は、複数の読み出し要求を出力する。フレームメモリ１３は、読み出し要求毎に所定量のデータを出力する。従って、フレームメモリ１３に格納された１フレームの画像データＦＤは、複数の読み出し要求と、各読み出し要求に対する所定量のデータによって、フレームメモリ１３から出力部３３へ転送される。このようなデータ転送は、バースト転送の一例である。
【００２３】
１つの読み出し要求により転送するデータの量（バースト転送量）は、例えば１２８バイトである。例えば、表示部１５の水平サイズを１０２４画素、１画素のデータ量を１６ビット（２バイト）とすると、ラインデータＬ０〜Ｌｎ−１のデータ量は２Ｋバイト（キロバイト）（＝２０４８バイト）となる。このような場合、各ラインデータＬ０〜Ｌｎ−１は、それぞれ１６回のバースト転送により、フレームメモリ１３から出力部３３へ転送される。
【００２４】
出力部３３は、フレームメモリ１３から転送されたデータを、表示部１５に出力する。表示部１５は、水平同期信号と垂直同期信号に従って各フレーム画像を表示する。従って、出力部３３は、表示部１５の表示のタイミングに応じて画像データを出力する。
【００２５】
次に、出力部３３を説明する。
図２に示すように、出力部３３は、ＦＩＦＯメモリ４１、補間用メモリ４２、補間処理部４３、表示用インタフェース（「表示用Ｉ／Ｆ」と表記）４４、制御部４５、エラー判定部４６を有している。ＦＩＦＯメモリ４１は第２の格納部の一例である。補間用メモリ４２は、第３の格納部の一例である。
【００２６】
ＦＩＦＯ（first in first out）メモリ４１は、先に書き込んだデータの順に、先に読み出されるメモリである。ＦＩＦＯメモリ４１は、所定のメモリ容量（例えば５１２バイト）のメモリである。
【００２７】
ＦＩＦＯメモリ４１は、ライトポインタＷＰが示す位置（アドレス）に入力データを記憶し、ライトポインタＷＰを更新する。また、ＦＩＦＯメモリ４１は、リードポインタＲＰが示す位置（アドレス）のデータを読み出し、リードポインタＲＰを更新する。ポインタＷＰ，ＲＰの更新は、次のデータを書き込む位置又は読み出す位置を示す値に変更することである。データを順次書き込む又は読み出す場合、ＦＩＦＯメモリ４１は、各ポインタＷＰ，ＲＰの値に所定値（例えば「１」）を加算した結果を、次のポインタＷＰ，ＲＰの値とする。
【００２８】
ＦＩＦＯメモリ４１は、ライトポインタＷＰ及びリードポインタＲＰを循環的に管理する。ＦＩＦＯメモリ４１は、１つの入力データをライトポインタＷＰが示す位置に記憶し、ライトポインタＷＰを更新（＋１）する。そして、ＦＩＦＯメモリ４１は、ライトポインタＷＰがメモリ容量に対応する値ｎ（例えば５１２）以上になると、ライトポインタＷＰからその値ｎを減算した結果をライトポインタＷＰの値とする。従って、ＦＩＦＯメモリ４１は、ライトポインタＷＰをメモリ容量に応じた値（例えば０〜５１１）で循環させる。
【００２９】
ＦＩＦＯメモリ４１は、制御部４５から所定レベル（例えばＨレベル）のリード許可信号ＲＥに応答してデータの読み出しを行い、例えばＬレベルのリード許可信号ＲＥに応答してデータの読み出しを停止する。そして、ＦＩＦＯメモリ４１は、データの読み出しが許可されている間、表示用Ｉ／Ｆ４４の要求タイミング（例えば、表示用のクロック信号）に応答してデータＤＴ２ａを出力する。
【００３０】
つまり、ＦＩＦＯメモリ４１は、リードポインタＲＰが示す位置のデータを出力し、次の読み出しデータの位置を示すようにリードポインタＲＰを更新（例えば、リードポインタＲＰを「＋１」）する。そして、ＦＩＦＯメモリ４１は、リードポインタＲＰの値がメモリ容量に対応する値（例えば５１２）になると、リードポインタＲＰの値をリセット（＝０）にする。従って、ＦＩＦＯメモリ４１は、リードポインタＲＰをメモリ容量に応じた値（例えば０〜５１１）で循環させる。
【００３１】
補間用メモリ４２は、画像データの所定部分を記憶するように設定されたメモリである。補間用メモリ４２は、フレームメモリ１３からＦＩＦＯメモリ４１へバースト転送されるデータのうち、所定部分（例えば先頭）のデータを記憶する。補間用メモリ４２に記憶されるデータの量は、例えば３２バイトである。つまり、補間用メモリ４２は、バースト転送によってフレームメモリ１３からＦＩＦＯメモリ４１へ転送されるデータのうち、先頭の３２バイトのデータを記憶する。この補間用メモリ４２に記憶されたデータを、部分データとする。補間用メモリ４２のメモリ容量（記憶容量）は、複数の部分データを記憶可能に設定されている。例えば、補間用メモリ４２のメモリ容量は、１つのラインの画像データに対し、その１つのラインの画像データを、フレームメモリ１３が出力するバースト転送の回数に応じて設定されている。補間用メモリ４２は、制御部４５から供給される制御信号ＣＳ２に応答して、部分データをその先頭のデータから順に読み出し、読み出したデータと等しいデータＤＴ２ｂを出力する。
【００３２】
補間処理部４３は、制御部４５から出力される制御信号ＣＳ２に応答して、ＦＩＦＯメモリ４１から出力されるデータＤＴ２ａと補間用メモリ４２から出力されるデータＤＴ２ｂに基づくデータＤＴ３を出力する。制御信号ＣＳ２は、転送破綻の発生の有無を示す。補間処理部４３は、転送破綻が生じていない場合、ＦＩＦＯメモリ４１から出力されるデータＤＴ２ａと等しいデータＤＴ３を出力する。また、補間処理部４３は、転送破綻が生じている場合、補間用メモリ４２から出力されるデータＤＴ２ｂに基づいて生成したデータＤＴ３を出力する。
【００３３】
表示用Ｉ／Ｆ４４は、クロック信号ＣＬＫに基づいて、表示部１５に１フレームの画像を表示するための同期信号を生成する。同期信号は、フレームの開始を示す垂直同期信号Ｖsyncと、各ラインの開始を示す水平同期信号Ｈsyncを含む。各同期信号Ｖsync，Ｈsyncの周期は、表示部１５に応じて設定されている。表示用Ｉ／Ｆ４４は、同期信号Ｖsync，Ｈsyncを出力するとともに、補間処理部４３から受け取るデータＤＴ３を、同期信号に応じて出力する。
【００３４】
制御部４５は、同期信号Ｖsync，Ｈsyncを受け取る。また、制御部４５は、ＦＩＦＯメモリ４１からライトポインタＷＰとリードポインタＲＰを受け取る。制御部４５は、各同期信号Ｖsync，Ｈsyncと各ポインタＷＰ，ＲＰに基づいて、ＦＩＦＯメモリ４１からデータの読み出しを開始するタイミングを制御する。
【００３５】
また、制御部４５は、各ポインタＷＰ，ＲＰに基づいてＦＩＦＯメモリ４１の空き容量を監視し、ＦＩＦＯメモリ４１に対するデータの書き込みを制御する。詳述すると、制御部４５は、ライトポインタＷＰの値とリードポインタＲＰの値により、空き容量を算出する。制御部４５は、空き容量と、フレームメモリ１３から読み出すデータ量とを比較する。そして、制御部４５は、空き容量がバースト転送量以上になると、アービタ３２ａに対して読み出し要求を出力する。
【００３６】
アービタ３２ａは、制御部４５から出力される読み出し要求を受け付け、調停結果を制御部４５に出力する。アクセスの許可を受けた制御部４５は、１回の読み出し要求に応じて出力される複数のデータが格納された領域の先頭アドレスを要求アドレスＲＡＤとして出力する。この先頭アドレスは、読み出しアドレスとして制御部４５に記憶されている。制御部４５は、要求アドレスＲＡＤを出力すると、次の読み出しアドレスを記憶する。つまり、制御部４５は、要求アドレスＲＡＤにバースト転送量を加算し、加算結果の読み出しアドレスを記憶する。
【００３７】
表示部１５に表示する１つのフレームに含まれる画像データの数は、表示部１５の表示画素数と等しい。そして、フレームメモリ１３には、表示部１５に表示するための画像データを格納する領域が設定されている。なお、この領域は、複数フレームの画像データを格納可能な領域として設定されることがある。出力部３３には、１つのフレームの画像データを格納する領域の先頭アドレスが設定されている。初期化時に、出力部３３は、この領域の先頭アドレスを読み出しアドレスに設定する。そして、出力部３３は、読み出し要求とともに、読み出しアドレスを要求アドレスＲＡＤとしてアービタ３２ａに出力する。そして、出力部３３は、出力した要求アドレスＲＡＤにバースト転送量を加算し、加算結果の読み出しアドレスを記憶する。
【００３８】
アービタ３２ａは、要求アドレスＲＡＤに基づくアドレスＡＤＤと読み出しのための制御信号をフレームメモリ１３に出力する。フレームメモリ１３は、そのアドレスＡＤＤと制御信号に応答して、アドレスＡＤＤを先頭アドレスとするメモリ領域のデータＲＤを出力する。フレームメモリ１３から出力されたデータＲＤは、アービタ３２ａを介してデータＤＴ１として出力部３３のＦＩＦＯメモリ４１に供給され、ＦＩＦＯメモリ４１は、そのデータＤＴ１を記憶する。
【００３９】
また、制御部４５は、ライトポインタＷＰとリードポインタＲＰをエラー判定部４６に出力する。
エラー判定部４６は、リードポインタＲＰとライトポインタＷＰに基づいてエラー信号ＥＲを生成する。例えば、エラー判定部４６は、ライトポインタＷＰがリードポインタＲＰより先行している場合、例えばＬレベルのエラー信号ＥＲを生成する。また、エラー判定部４６は、リードポインタＲＰがライトポインタＷＰより先行している場合、例えばＨレベルのエラー信号ＥＲを生成する。リードポインタＲＰの先行は、転送破綻を示す。従って、エラー判定部４６は、リードポインタＲＰとライトポインタＷＰに基づいて、転送破綻が生じているか否かを判定し、判定結果に応じたエラー信号ＥＲを生成する。
【００４０】
制御部４５は、エラー判定部４６から出力されるエラー信号ＥＲに応答して制御信号ＣＳ１，ＣＳ２を生成する。例えば、制御部４５は、Ｌレベルのエラー信号ＥＲに応答してＬレベルの制御信号ＣＳ１を出力する。また、制御部４５は、Ｈレベルのエラー信号ＥＲに応答してＨレベルの制御信号ＣＳ１を出力する。
【００４１】
補間用メモリ４２は、制御信号ＣＳ１に応答してデータの読み出し処理を行う。例えば、補間用メモリ４２は、Ｌレベルの制御信号ＣＳ１に応答してデータの読み出しを停止する。また、補間用メモリ４２は、Ｈレベルの制御信号ＣＳ１に応答して、制御部４５から出力される位置データに格納された部分データを読み出し、読み出したデータと等しいデータＤＴ２ｂを出力する。詳述すると、補間用メモリ４２は、位置データにて示される位置を先頭ポインタとする部分データを順次読み出す。そして、補間用メモリ４２は、順次読み出したデータと等しいデータＤＴ２ｂを出力する。補間用メモリ４２は、１つの部分データを読み出すと、１つの制御信号ＣＳ１に対する読み出し処理を終了する。
【００４２】
補間処理部４３は、Ｌレベルの制御信号ＣＳ２に応答して、ＦＩＦＯメモリ４１から出力されるデータＤＴ２ａと等しいデータＤＴ３を出力する。補間処理部４３は、Ｈレベルの制御信号ＣＳ２に応答して、補間用メモリ４２から出力されるデータＤＴ２ｂを順次保持し、保持したデータと等しいデータＤＴ３を出力する。
【００４３】
上記したように、補間用メモリ４２は、部分データに含まれる所定数（例えば３２バイト）の画素データに基づくデータＤＴ２ｂを出力した後、次のバースト転送における部分データの最初のデータ（次先頭データ）に基づくデータＤＴ２ｂを出力する。
【００４４】
補間処理部４３は、データＤＴ２ｂを順次保持する。そして、補間処理部４３は、転送破綻したバースト転送に対応する部分データの最後のデータ（先最終データ）と、次のバースト転送における部分データの最初のデータ（次先頭データ）を保持する。先最終データと次先頭データの間のデータ数（画素数）は、バースト転送のデータ量と、部分データのデータ量に基づいて設定されている。補間処理部は、先最終データの値と次先頭データの値に基づいて、例えば直線補間により、先最終データと次先頭データの間の画素位置に対応して生成したデータＤＴ３を出力する。つまり、補間処理部４３は、２つの部分データの間のデータを補間する。
【００４５】
なお、１つのラインにおける最後のバースト転送により転送される画素データを出力するタイミングで転送破綻が生じる場合がある。このタイミングにおいて、次先頭データは、無い。このような場合、補間処理部４３は、補間用メモリ４２から出力される部分データのうち、最後のデータ、つまり先最終データを保持し、その先最終データと等しいデータＤＴ３を継続的に出力する。このデータＤＴ３により、表示部１５は、先最終データと等しい色の画素を表示する。
【００４６】
このように生成された補間データにより表示された画素は、垂直方向に隣接する画素の色と似ている場合が多い。従って、使用者にとって目立ち難い画素が表示される。また、このような画素は、１つのフレームにおいて、左右方向における画面の端部に表示される。このため、使用者にとって目立ち難いものである。従って、このように補間データを出力することにより、転送破綻による画像の乱れを目立ち難くすることができ、違和感の生じ難い画像を表示することが可能となる。
【００４７】
エラー信号ＥＲに応じた制御信号ＣＳ２は、転送破綻の有無に対応する。従って、補間処理部４３は、転送破綻が生じていないとき、ＦＩＦＯメモリ４１から出力されるデータＤＴ２ａと等しいデータＤＴ３を出力する。また、補間処理部４３は、転送破綻が生じているとき、補間用メモリ４２から出力されるデータＤＴ２ｂによりデータＤＴ２ａを補間し、補間後のデータＤＴ３を出力する。
【００４８】
次に、上記のように構成された出力部３３の作用を説明する。
出力部３３は、フレームメモリ１３に記憶された画像データを読み出し、表示部１５の表示タイミングに応じて、画像データを順次出力する。説明を判りやすくするため、図４に示す画像データＦＤに対する作用を説明する。
【００４９】
１フレームの画像データＦＤは、７つのラインデータＬ０〜Ｌ６を含む。各ラインデータＬ０〜Ｌ６は、それぞれ複数回（例えば６回）のバースト転送により読み出される。図４において、各バースト転送にて読み出されるデータをブロックにて示す。つまり、図２に示す出力部３３は、各ラインデータＬ０〜６を、それぞれ６つのブロックデータＢ００〜Ｂ６５として読み出す。図２に示すＦＩＦＯメモリ４１は、２つのブロックデータを記憶可能なメモリ容量に設定されている。
【００５０】
今、図４に示すラインデータＬ０のブロックデータＢ００〜Ｂ０５を、図２に示すフレームメモリ１３から表示部１５へ転送する。
図２に示す出力部３３は、先ず、読み出し要求ＲＱにより、ブロックデータＢ００をフレームメモリ１３から読み出し、図２に示すＦＩＦＯメモリ４１はフレームメモリ１３から出力されるブロックデータＢ００を記憶する。図２に示す補間用メモリ４２は、図５に示すように、ブロックデータＢ００の部分データＢ００ａを記憶する。さらに、出力部３３は、読み出し要求ＲＱにより、ブロックデータＢ０１をフレームメモリ１３から読み出し、ＦＩＦＯメモリ４１はブロックデータＢ０１を記憶する。同様に、補間用メモリ４２は、図５に示すように、ブロックデータＢ０１の部分データＢ０１ａを記憶する。
【００５１】
図６に示すように、時刻Ｔ０において、制御部４５は、表示部１５に対するデータ転送を開始する。先ず、ＦＩＦＯメモリ４１に格納されたブロックデータＢ００の画像データが表示部１５に対して出力される。ＦＩＦＯメモリ４１のデータ量は、データ転送に応じて減少する。
【００５２】
ブロックデータＢ００の全ての画像データが表示部１５に対して出力されると、ＦＩＦＯメモリ４１には、１回のバースト転送により転送されるデータ分の空きが生じる。従って、制御部４５は、ＦＩＦＯメモリ４１の空き容量がバースト転送のデータ量以上になると（時刻Ｔ１）、読み出し要求ＲＱを出力する。なお、図６において、読み出し要求ＲＱの出力タイミングを判りやすくするためパルス状に示している。また、読み出し要求ＲＱと、フレームメモリ１３から出力されるデータＲＤ、つまりブロックデータとの対比を判りやすくするため、各読み出し要求ＲＱに数字を付加して説明する。
【００５３】
即ち、制御部４５は、読み出し要求ＲＱ１を出力し、フレームメモリ１３からブロックデータＢ０２を読み出す（信号ＲＤ）。ＦＩＦＯメモリ４１は、ブロックデータＢ０２を記憶する。なお、ＦＩＦＯメモリ４１は、フレームメモリ１３から読み出したブロックデータＢ０２を記憶している間も、表示部１５に向ってブロックデータＢ０１に応じたデータＤＴ２ａを出力する。従って、ＦＩＦＯメモリ４１のデータ量は、フレームメモリ１３とＦＩＦＯメモリ４１の間におけるバースト転送の転送速度と、ＦＩＦＯメモリ４１から表示部１５に向って読み出されるデータの読み出し速度の差に応じて増加する。
【００５４】
バースト転送が終了すると、ＦＩＦＯメモリ４１のデータ量は、データ転送に応じて減少する。そして、ＦＩＦＯメモリ４１の空き容量がバースト転送のデータ量以上になると（時刻Ｔ２）、制御部４５は読み出し要求ＲＱ２を出力する。フレームメモリ１３は、読み出し要求ＲＱ２に応じて、ブロックデータＢ０３を出力する。
【００５５】
図１に示すフレームメモリ１３と画像処理プロセッサ１２の間のデータ転送における帯域に余裕がある場合、制御部４５の読み出し要求ＲＱがアービタ３２ａにて受け付けられやすいため、その読み出し要求ＲＱに対するバースト転送が実行される。その結果、制御部４５はほぼ等間隔で読み出し要求ＲＱ１〜ＲＱ６を出力し、それらの読み出し要求ＲＱ１〜ＲＱ６に対してデータＲＤが出力される。これにより、ブロックデータＢ０２〜Ｂ１１がフレームメモリ１３からＦＩＦＯメモリ４１へ転送される。そして、補間用メモリ４２は、図５に示すように、各ブロックデータＢ０１〜Ｂ０５の部分データＢ０１ａ〜Ｂ０５ａを記憶する。なお、図５は、図６に示す説明図において、時刻Ｔ４における読み出し要求ＲＱ４に対応するブロックデータＢ０５が読み出された状態を示す。そして、読み出し要求ＲＱ５に対するブロックデータＢ１０をフレームメモリ１３が出力すると、そのブロックデータＢ１０の部分データは、図５に示す部分データＢ００ａが記憶された領域に記憶される。つまり、補間用メモリ４２は、部分データＢ００ａに、次のラインデータに含まれるブロックデータＢ１０の部分データを上書きする。
【００５６】
次に、フレームメモリ１３と画像処理プロセッサ１２の間のデータ転送における帯域に余裕がない場合について説明する。
例えば、図４に示すラインデータＬ１を転送する。
【００５７】
図７に示すように、時刻Ｔ０において、制御部４５は、表示部１５に対するデータ転送を開始する。先ず、ＦＩＦＯメモリ４１に格納されたブロックデータＢ１０の画像データが表示部１５に対して出力される。ＦＩＦＯメモリ４１のデータ量は、データ転送に応じて減少する。
【００５８】
ブロックデータＢ１０の全ての画像データが表示部１５に対して出力されると、ＦＩＦＯメモリ４１には、１回のバースト転送により転送されるデータ分の空きが生じる。従って、制御部４５は、ＦＩＦＯメモリ４１の空き容量がバースト転送のデータ量以上になると（時刻Ｔ１）、読み出し要求ＲＱ１を出力する。
【００５９】
帯域に余裕がないため、読み出し要求ＲＱ１は、図６に示すタイミングよりも遅れて受け付けられる。フレームメモリ１３は、読み出し要求ＲＱ１に応じて、ブロックデータＢ１２を出力する（信号ＲＤ）。ＦＩＦＯメモリ４１は、ブロックデータＢ１２を記憶する。
【００６０】
次いで、制御部４５は、ＦＩＦＯメモリ４１の空き容量を監視し、空き容量がバースト転送のデータ量以上となると（時刻Ｔ２）、読み出し要求ＲＱ２を出力する。
そして、データ量が０（ゼロ）より小さくなって負の値になると（時刻Ｔ４）、リードポインタＲＰがライトポインタＷＰより先行している、つまり転送破綻が発生する。転送破綻は、読み出し要求ＲＱに対してフレームメモリ１３からＦＩＦＯメモリ４１へのデータ転送が、必要とするタイミングよりも遅れることにより発生する。従って、このような転送破綻は、各ブロックデータの先頭において発生する。
【００６１】
このため、出力部３３は、補間用メモリ４２に、各ブロックデータの部分データ、つまり先頭から所定量のデータを保持する。そして、出力部３３は、ＦＩＦＯメモリ４１のリードポインタＲＰとライトポインタＷＰを監視し、転送破綻が生じると、補間用メモリ４２に保持した部分データを読み出し、その部分データを表示部１５に表示する。
【００６２】
即ち、図２に示すエラー判定部４６は、リードポインタＲＰとライトポインタＷＰを比較し、図８に示すように、Ｈレベルのエラー信号ＥＲを出力する。制御部４５は、Ｈレベルのエラー信号ＥＲに応答してＨレベルの制御信号ＣＳ１を出力する。補間用メモリ４２は、Ｈレベルの制御信号ＣＳ１に応答して、転送破綻したブロックに対応する部分データＢ０４ａを出力する。
【００６３】
補間処理部４３は、Ｈレベルの制御信号ＣＳ２に応答して、補間用メモリ４２から出力される部分データＢ０４ａの画像データと等しいデータＤＴ３を出力する。つまり、図２に示す表示部１５には、転送破綻したブロックの画像データに替えて、そのブロックが含まれるラインデータより１ライン前のブロックの先頭の画像データが表示される。
【００６４】
補間処理部４３は、Ｈレベルの制御信号ＣＳ２に応答して出力する部分データＢ０４ａと等しい値のデータＤＴ３の数をカウントする。補間処理部４３は、カウント値が所定数（部分データＢ０４ａのデータ数）より多くなると、部分データＢ０４ａの最後のデータ（先最終データ）と、部分データＢ０５ａの最初のデータ（次先頭データ）に基づいて、先最終データと次先頭データの間の画素数に応じて補間した補間データＢ０４ｂを生成する。そして、補間処理部４３は、補間データＢ０４ｂと等しいデータＤＴ３を出力する。図８において、補間データＢ０４ｂと等しいデータＤＴ３についてハッチングを付して示す。
【００６５】
転送破綻によってＦＩＦＯメモリ４１から出力されるデータＤＴ２ａは、転送破綻したブロックデータＢ１４に対し、水平方向に離れたブロックデータＢ１２の先頭の画像データである。このような画像データの色等は、転送破綻したブロックの先頭データの色等と大きく異なることが多い。このような画像データが表示された画素は、目立つ。
【００６６】
補間用メモリ４２から読み出した部分データは、転送破綻したブロックデータよりも１ライン前のブロックデータの先頭のデータである。このような部分データは、転送破綻したブロックデータの先頭のデータの画素と隣接した画素の画像データであるため、画素の色等が転送破綻したブロックの先頭データの色等に近い。従って、表示部１５に表示される画像において、転送破綻が生じた部分の画素が目立ちにくく、使用者にとって違和感の少ない画像となる。
【００６７】
また、補間処理部４３は、部分データＢ０４ａの最後の画像データを保持し、制御信号ＣＳ２がＨレベルである間、部分データＢ０４ａの先最終データと部分データＢ０５ａの次先頭データに基づいて生成した補間データＢ０４ｂと等しい値のデータＤＴ３を出力する。このようなデータＤＴ３によって表示部１５に表示される画素は、補間用メモリ４２から出力される部分データＢ０４ａによって表示される画素と同様に目立ちにくく、使用者にとって違和感の少ない画像となる。
【００６８】
同様に、時刻Ｔ５から時刻Ｔ６までの区間において、補間用メモリ４２は、制御信号ＣＳ１に応答して部分データＢ０５ａを出力する。補間処理部４３は、制御信号ＣＳ２に応答して、部分データＢ０５ａと等しい値のデータＤＴ３を出力する。また、補間処理部４３は、例えばデータＤＴ３の数をカウントすることにより、部分データＢ０５ａが、１つのラインデータにおける最後のブロックデータＢ０５に対応する部分データであると判定する。この判定結果に基づき、補間処理部４３は、部分データＢ０５ａの最後のデータと等しいデータＢ０５ｂをデータＤＴ３として出力する。このようなデータＤＴ３によって表示部１５に表示される画素は、上記と同様に目立ちにくく、使用者にとって違和感の少ない画像となる。
【００６９】
以上記述したように、本実施形態によれば、以下の効果を奏する。
（１）ＦＩＦＯメモリ４１は、ライトポインタＷＰに従って、フレームメモリ１３からバースト転送によって転送されるブロックデータを記憶し、リードポインタＲＰに従ってデータＤＴ２ａを出力する。補間用メモリ４２は、転送される各ブロックデータの先頭の部分データを記憶する。エラー判定部４６は、ライトポインタＷＰとリードポインタＲＰとを監視し、ライトポインタＷＰよりリードポインタＲＰが先行するエラーの発生に応じて、エラー信号ＥＲを出力する。制御部４５は、エラー信号ＥＲに応答して制御信号ＣＳ１，ＣＳ２を生成する。補間用メモリ４２は、制御信号ＣＳ１に応答して、記憶している部分データに応じたデータＤＴ２ｂを出力する。補間処理部４３は、ＦＩＦＯメモリ４１から出力されるデータＤＴ２ａに応じたデータＤＴ３を出力する。また、補間処理部４３は、制御信号ＣＳ２に応答して、補間用メモリ４２から出力されるデータＤＴ２ｂに応じたデータＤＴ３を出力する。
【００７０】
転送破綻は、ＦＩＦＯメモリ４１からデータを読み出すタイミングに対し、フレームメモリ１３からバースト転送されるブロックデータが遅れることにより発生する。従って、転送破綻による画像の乱れは、ブロックデータの先頭部分のデータにより表れる。補間用メモリ４２にブロックデータの先頭の部分データを記憶し、転送破綻が発生した場合に補間用メモリ４２に記憶した部分データを出力して表示部１５に画像を表示する。補間用メモリ４２に記憶した部分データは、転送破綻が発生したラインデータの１つ前のラインデータによる画像を表示したものである。１つのフレーム画像において、画面の垂直方向に隣接する２つの画素は、互いに同様のデータとなることが多い。従って、１つ前のラインデータを転送破綻の際に表示することで、転送破綻によって関係が低いデータによる画像を表示する場合と比べ、違和感が少なくなる。従って、転送破綻による不具合を低減することが可能となる。
【００７１】
（２）補間用メモリ４２は、部分データに含まれる所定数（例えば３２バイト）の画素データに基づくデータＤＴ２ｂを出力した後、次のバースト転送における部分データの最初のデータ（次先頭データ）に基づくデータＤＴ２ｂを出力する。補間処理部４３は、データＤＴ２ｂを順次保持する。そして、補間処理部４３は、転送破綻したバースト転送に対応する部分データの最後のデータ（先最終データ）と、次のバースト転送における部分データの最初のデータ（次先頭データ）を保持する。先最終データと次先頭データの間のデータ数（画素数）は、バースト転送のデータ量と、部分データのデータ量に基づいて設定されている。補間処理部は、先最終データの値と次先頭データの値に基づいて、例えば直線補間により、先最終データと次先頭データの間の画素位置に対応して生成したデータＤＴ３を出力する。つまり、補間処理部４３は、２つの部分データの間のデータを補間する。
【００７２】
このように生成された補間データにより表示された画素は、垂直方向に隣接する画素の色と似ている場合が多い。従って、使用者にとって目立ち難い画素が表示される。また、このような画素は、１つのフレームにおいて、左右方向における画面の端部に表示される。このため、使用者にとって目立ち難いものである。従って、このように補間データを出力することにより、転送破綻による画像の乱れを目立ち難くすることができ、違和感の生じ難い画像を表示することが可能となる。
【００７３】
次に、出力部３３における動作の変形例を説明する。
［変形例１］
図２に示す制御部４５は、ＦＩＦＯメモリ４１のデータ量を監視し、監視結果に基づいて、補間用メモリ４２が記憶する部分データを制御する。
【００７４】
上記したように、出力部３３は、フレームメモリ１３に格納された１フレームの画像データＦＤを順次読み出し、ＦＩＦＯメモリ４１に格納する。そして、表示部１５の表示タイミング、例えば水平同期信号Ｈsyncに応じて、各ラインデータをＦＩＦＯメモリ４１から順次出力する。そして、１つのフレーム画像において、垂直方向に隣接する２つのラインのそれぞれにおけるＦＩＦＯメモリ４１のデータ量は、互いに同様に変化する。
【００７５】
つまり、１つのラインにけるデータ転送において、転送破綻が発生した画素位置、又はデータ量が０（ゼロ）にちかい画素位置に対応するバースト転送において、次のラインにおけるデータ転送において転送破綻が発生する確率が高いといえる。このため、制御部４５は、転送破綻の発生確率が高いバースト転送における部分データを補間用メモリ４２が記憶するように、補間用メモリ４２を制御する。
【００７６】
例えば、図９に示すように、１つのラインにおけるブロックデータＢ００〜Ｂ０５を出力する。このデータ出力において、ＦＩＦＯメモリ４１のデータ量ＤＶは図９に示すように変化する。例えば、時刻Ｔ１から時刻Ｔ２の区間Ｋ１におけるデータ量ＤＶの最小値は、例えば２５［％］である。このような場合において、例えば、読み出し要求ＲＱ１に対するブロックデータＢ０２の読み出しが時刻Ｔ２よりも遅れると、データ量ＤＶは、二点鎖線で示すように低下する。そして、データ量ＤＶが負の値になる（時刻Ｔ２）と、転送破綻が発生する。
【００７７】
同様に、時刻Ｔ４から時刻Ｔ５の区間Ｋ４におけるデータ量ＤＶの最小値は、例えば１５［％］である。このような場合において、例えば、読み出し要求ＲＱ４に対するブロックデータＢ０５の読み出しが時刻Ｔ５よりも遅れると、データ量ＤＶは、二点鎖線で示すように低下する。そして、データ量ＤＶが負の値になる（時刻Ｔ５）と、転送破綻が発生する。
【００７８】
図９に示すように、ＦＩＦＯメモリ４１のデータ量ＤＶは、データの読み出しに応じて減少し、バースト転送によって増加する。従って、ＦＩＦＯメモリ４１からバースト転送に応じた数のデータを読み出す区間のそれぞれにおいて、１つのバースト転送が開始されるときのデータ量ＤＶが最小値となる。なお、１つの区間において複数のバースト転送が実行されるとき、その複数のバースト転送の開始時におけるデータ量ＤＶのうちの１つが最小値となる。
【００７９】
データ量ＤＶは、ＦＩＦＯメモリ４１から正しい画像（画素）を表示するために読み出す画像データの数を示す。リードポインタＲＰがライトポインタＷＰより先行したときに読み出すデータは、過去に表示部１５に表示したデータであり、誤った画像（画素）を表示するデータである。そして、区間Ｋ１におけるデータ量ＤＶ（＝２５［％］）と、区間Ｋ４におけるデータ量ＤＶ（＝１５［％］）を比べた場合、データ量ＤＶが小さいほど、次の区間において転送破綻が発生する確率が高いといえる。つまり、データ量ＤＶが少ない区間の次の区間において読み出すデータの部分データを補間用メモリ４２に格納する。制御部４５は、次のラインデータにおいて転送破綻が発生した場合、補間用メモリ４２に格納した部分データを表示部１５に表示させる、または部分データにより生成した補間データを表示部１５に表示させる。これにより、違和感の少ない画像が得られる。
【００８０】
次に、補間用メモリ４２に対する部分データの格納方法を説明する。
図１０に示すように、補間用メモリ４２は、複数（図１０において３つ）の格納領域５１〜５３を含む。第１の格納領域は、３つの領域５１ａ，５１ｂ，５１ｃを含む。第１の領域５１ａは、部分データの座標を格納する領域である。部分データの座標は、部分データの最初のデータの画素の位置、つまり、１つのラインにおける画素の位置である。座標は、例えば２バイトのデータである。第２の領域５１ｂは、データ量ＤＶを格納する領域である。データ量ＤＶは、例えば百分率（パーセント）にて示され、例えば２バイトのデータである。第３の領域５１ｃは、部分データを格納する領域である。部分データは、例えば３２バイトのデータである。同様に、第２の格納領域５２は、３つの領域５２ａ〜５２ｃを含む。第３の格納領域５３は、３つの領域５３ａ〜５３ｃを含む。
【００８１】
制御部４５は、リードポインタＲＰとライトポインタＷＰに基づいてＦＩＦＯメモリ４１のデータ量ＤＶを監視する。制御部４５は、１回のバースト転送におけるデータ量と等しい数のデータがＦＩＦＯメモリ４１から出力される区間毎に、データ量ＤＶの最小値を得る。制御部４５は、１つのラインデータを転送する期間において、各区間におけるデータ量ＤＶのうち、最も小さい値から順に３つの区間における最小値をレジスタ４５ａに記憶する。制御部４５は、レジスタ４５ａに記憶したデータ量ＤＶに関する情報を含む制御信号ＣＳ１を出力する。補間用メモリ４２は、制御部４５から供給される制御信号ＣＳ１に応答して、レジスタ４５ａに記憶されたデータ量ＤＶに対応するバースト転送における部分データをそれぞれ記憶する。
【００８２】
例えば、制御部４５は、１つのラインデータに対してＦＩＦＯメモリ４１からデータの読み出しを開始すると、開始から連続する３つの区間における最小のデータ量ＤＶをレジスタ４５ａに順次記憶する。これらをデータ量ＤＶａ，ＤＶｂ，ＤＶｃとする。補間用メモリ４２は、格納領域５１〜５３に、これらのデータ量ＤＶａ〜ＤＶｃと、対応する部分データを格納する。
【００８３】
次に、制御部４５は、４つ目の区間における最小のデータ量ＤＶを得る。これをデータ量ＤＶｄとする。制御部４５は、データ量ＤＶｄをデータ量ＤＶａ，ＤＶｂ，ＤＶｃと比較する。例えば、各データ量ＤＶａ〜ＤＶｃの大小関係は、ＤＶａ＞ＤＶｂ＞ＤＶｃとする。制御部４５は、データ量ＤＶｄが、レジスタ４５ａから読み出した３つのデータ量ＤＶａ〜ＤＶｃのうちの最大の値ＤＶａよりも小さい場合、その最大の値のデータ量ＤＶａに替えてデータ量ＤＶｄをレジスタ４５ａに格納する。そして、制御部４５は、最新のデータ量ＤＶｄを含む制御信号ＣＳ１を出力する。
【００８４】
補間用メモリ４２は、制御部４５から供給される制御信号ＣＳ１に応答して、データ量ＤＶ等を記憶する。補間用メモリ４２は、３つの格納領域５１〜５３の第２の領域５１ｂ〜５３ｂに格納されたデータ量を互いに比較する。そして、補間用メモリ４２は、最も大きなデータ量が格納されている第２の領域に、最新のデータ量ＤＶｄを格納する。さらに、補間用メモリ４２は、データ量ＤＶｄを格納した領域に対応する第３の領域と第１の領域に、部分データとその部分データの座標をそれぞれ格納する。
【００８５】
例えば、図１１（ａ）に示すように、出力部３３は、区間Ｋ３において、ブロックデータＢ０３を順次出力しているとき、図１１（ｂ）に示すように、補間用メモリ４２の各格納領域５１〜５３にそれぞれ値が格納されている。例えば、第１の格納領域５１において、各領域５１ａ，５１ｂ，５１ｃには、区間Ｋ１にて読み出されるブロックデータＢ０１の部分データＢ０１ａの座標値、区間Ｋ０におけるデータ量ＤＶ、部分データＢ０１ａが格納されている。同様に、第２の格納領域５２において、各領域５２ａ〜５２ｃには、区間Ｋ２にて読み出されるブロックデータＢ０２の部分データＢ０２ａの座標値、区間Ｋ１におけるデータ量ＤＶ、部分データＢ０２ａが格納されている。同様に、第３の格納領域５３において、各領域５３ａ〜５３ｃには、区間Ｋ３にて読み出されるブロックデータＢ０３の部分データＢ０３ａの座標値、区間Ｋ２におけるデータ量ＤＶ、部分データＢ０３ａが格納されている。
【００８６】
なお、図２に示す制御部４５は、レジスタ４５ａを利用して各区間における最小値を得る。制御部４５は、各区間の始まりにおいて初期値をレジスタ４５ａに設定する。例えば、図１１（ａ）に示す区間Ｋ０における初期値は、ＦＩＦＯメモリ４１がフル状態（満杯状態）、つまり「１００［％］）である。制御部４５は、リードポインタＲＰとライトポインタＷＰに基づいて、ＦＩＦＯメモリ４１のデータ量ＤＶを算出する。そして、制御部４５は、算出したデータ量ＤＶと、レジスタ４５ａに格納した値（保持値）と比較し、データ量ＤＶが保持値より小さい場合に、データ量ＤＶと等しい保持値をレジスタ４５ａに格納する。各区間の終了時点において、レジスタ４５ａの保持値は、その区間における最小値を示す。
【００８７】
次に、図１２（ａ）に示すように、出力部３３は、区間Ｋ４において、ブロックデータＢ０４を順次出力する。制御部４５は、リードポインタＲＰとライトポインタＷＰに基づいて、区間Ｋ３における最小のデータ量ＤＶ「４０［％］」を得る。制御部４５は、区間Ｋ３における最小のデータ量ＤＶと、補間用メモリ４２の各領域５１ｂ〜５３ｂに格納されたデータ量をそれぞれ比較する。そして、制御部４５は、各領域５１ｂ〜５３ｂに格納されたデータの内の最大値よりもデータ量ＤＶが小さい場合、その最大値が格納された領域にデータ量ＤＶを格納する。図１１（ｂ）に示す状態の場合、最小のデータ量ＤＶ「４０」は、領域５１ｂに格納されたデータ量「５０」より小さい。従って、制御部４５は、図１２（ｂ）に示すように、領域５１ｂにデータ量ＤＶ「４０」を格納する。また、制御部４５は、データ量ＤＶを格納した領域５１ｂに対応する領域５１ａに、ブロックデータＢ０４の先頭の画素の位置を格納する。例えば、制御部４５は、バースト転送の回数をカウントしたカウント値をレジスタ４５ａに保持し、そのカウント値と１回のバースト転送のデータ量により画素の位置を算出する。そして、制御部４５は、補間用メモリ４２に対し、読み出しデータＲＤを格納するように制御信号ＣＳ１を出力する。補間用メモリ４２は、制御信号ＣＳ１に応答して、読み出しデータＲＤ、つまりブロックデータＢ０４の部分データＢ０４ａを、領域５１ｃに格納する。
【００８８】
次に、図１３（ａ）に示すように、出力部３３は、区間Ｋ５において、ブロックデータＢ０５を順次出力する。制御部４５は、リードポインタＲＰとライトポインタＷＰに基づいて、区間Ｋ４における最小のデータ量ＤＶ「１５［％］」を得る。このデータ量ＤＶは、図１２（ｂ）に示す領域５１ｂに格納されたデータ量「４０」より小さい。従って、制御部４５は、図１３（ｂ）に示すように、領域５１ｂにデータ量ＤＶ「１５」を格納する。また、制御部４５は、領域５１ａに、ブロックデータＢ０５の先頭の画素の位置を格納する。そして、制御部４５は、補間用メモリ４２に対し、読み出しデータＲＤを格納するように制御信号ＣＳ１を出力する。補間用メモリ４２は、制御信号ＣＳ１に応答して、読み出しデータＲＤ、つまりブロックデータＢ０５の部分データＢ０５ａを、領域５１ｃに格納する。
【００８９】
なお、図１１（ｂ）は、補間用メモリ４２の格納状態の一例を示すものである。例えば、図１１（ａ）に示すように、ＦＩＦＯメモリ４１がフル状態（満杯状態）において表示部１５に対する１ラインのデータ読み出しが開始される。フル状態のＦＩＦＯメモリ４１には、ＦＩＦＯメモリ４１のメモリ容量に応じて、１ラインの先頭から２つのブロックデータＢ００，Ｂ０１が格納されている。これらのブロックデータＢ００，Ｂ０１を読み出す区間Ｋ０，Ｋ１では、転送破綻は発生しない。このため、転送破綻が発生しえる区間Ｋ２以後のブロックデータにおける部分データを補間用メモリ４２に格納すればよい。
【００９０】
なお、ＦＩＦＯメモリ４１から１ラインのデータの読み出しを開始するタイミングは、表示部１５の１ラインにおける画素数に応じて変更される。この変更により、ブロックデータＢ００，Ｂ０１を読み出す区間においても転送破綻が発生する虞がある場合、データ量ＤＶに応じてブロックデータＢ００，Ｂ０１における部分データＢ００ａ，Ｂ０１ａを補間用メモリ４２に格納することは言うまでもない。
【００９１】
なお、補間処理部４３は、補間用メモリ４２から出力される部分データの座標値に応じて、補間データを生成するとよい。補間用メモリ４２は、部分データの座標値（例えば、先頭のデータにおける水平方向の画素位置）が記憶されている。たとえば、補間用メモリ４２から出力される部分データにおける水平方向の距離（画素数）に応じて、補間方法を変更する。水平方向の距離が近い２つの部分データ、例えば、連続する２つのブロックデータに対応する２つの部分データの場合、上記実施形態と同様に、部分データの先最終データと、次の部分データの次先頭データに基づいて、例えば直線補間により補間データを生成する。一方、水平方向の距離が離れている２つの部分データの場合、部分データの先最終データと等しい補間データを生成する。このように部分データと補間データを表示部１５に表示することで、違和感の少ない画像が得られる。
【００９２】
以上記述したように、この変形例１によれば、以下の効果を奏する。
（１−１）制御部４５は、ＦＩＦＯメモリ４１のデータ量ＤＶを含む制御信号ＣＳ１を出力する。補間用メモリ４２は、フレームメモリ１３からＦＩＦＯメモリ４１へ転送される複数のブロックデータの部分データを、データ量ＤＶに応じて、選択的に記憶する。転送破綻は、ＦＩＦＯメモリ４１のデータ量ＤＶに応じて、そのデータ量ＤＶが少ないほど次のラインデータにおいて転送破綻が発生し易い。従って、データ量ＤＶに応じて部分データを補間用メモリ４２に記憶することで、次のラインデータにおいて、その補間用メモリ４２から出力されるデータＤＴ２ｂにより、転送破綻した部分を補間して画像を表示することで、違和感の少ない画像が得られ、転送破綻による不具合を低減することができる。
【００９３】
（１−２）補間用メモリ４２は、１つのラインデータにおいて転送される複数のブロックデータＢ００〜Ｂ０５のうち、データ量ＤＶに応じて、ブロックデータＢ０２，Ｂ０３，Ｂ０５の部分データＢ０２ａ，Ｂ０３ａ，Ｂ０５ａを選択的に記憶する。従って、補間用メモリ４２のメモリ容量を、１つのラインデータの全てのブロックデータにおける部分データを記憶する場合と比べ、少なくすることができる。つまり、メモリ容量の小さな補間用メモリ４２を備えることで、違和感の少ない画像が得られ、転送破綻による不具合を低減することができる。
【００９４】
一方、補間用メモリ４２のメモリ容量を変更しなければ、各部分データＢ０２ａ，Ｂ０３ａ，Ｂ０５ａのデータ量を、１つのラインデータの全てのブロックデータにおける部分データを記憶する場合と比べ、多くすることができる。これにより、転送破綻が発生した場合に、補間用メモリ４２に記憶した部分データにより表示する画素数が多くなり、違和感のより少ない画像が得られる。また、補間処理部４３が補間用データを生成する割合が少なくなるため、補間処理部４３の負荷を低減することが可能となる。
【００９５】
［変形例２］
図２に示す制御部４５は、ＦＩＦＯメモリ４１のデータ量を監視し、監視結果に基づいて、補間用メモリ４２が記憶する部分データ及びそのデータ量を制御する。
【００９６】
上記したように、出力部３３は、フレームメモリ１３に格納された１フレームの画像データＦＤを順次読み出し、ＦＩＦＯメモリ４１に格納する。そして、表示部１５の表示タイミング、例えば水平同期信号Ｈsyncに応じて、各ラインデータをＦＩＦＯメモリ４１から順次出力する。そして、１つのフレーム画像において、垂直方向に隣接する２つのラインのそれぞれにおけるＦＩＦＯメモリ４１のデータ量は、互いに同様に変化する。
【００９７】
つまり、１つのラインにけるデータ転送において、転送破綻が発生した画素位置、又はデータ量が０（ゼロ）にちかい画素位置に対応するバースト転送において、次のラインにおけるデータ転送において転送破綻が発生する確率が高いといえる。また、データ量が０（ゼロ）に近いほど、バースト転送によってライトポインタＷＰがリードポインタＲＰより先行するまでに要する時間、つまり転送破綻の期間が長い可能性が高いといえる。
【００９８】
このため、制御部４５は、転送破綻の発生確率が高いバースト転送における部分データを補間用メモリ４２が記憶するように、補間用メモリ４２を制御する。また、制御部４５は、転送破綻の期間に応じて補間用メモリ４２に格納する部分データのデータ量を制御する。
【００９９】
図９に示すように、ＦＩＦＯメモリ４１からバースト転送に応じた数のデータを読み出す区間のそれぞれにおいて、１つのバースト転送が開始されるときのデータ量ＤＶが最小値となる。なお、１つの区間において複数のバースト転送が実行されるとき、その複数のバースト転送の開始時におけるデータ量ＤＶのうちの１つが最小値となる。
【０１００】
データ量ＤＶは、ＦＩＦＯメモリ４１から正しい画像（画素）を表示するために読み出す画像データの数を示す。リードポインタＲＰがライトポインタＷＰより先行したときに読み出すデータは、過去に表示部１５に表示したデータであり、誤った画像（画素）を表示するデータである。そして、区間Ｋ１におけるデータ量ＤＶ（＝２５［％］）と、区間Ｋ４におけるデータ量ＤＶ（＝１５［％］）を比べた場合、データ量ＤＶが小さいほど、次の区間において転送破綻が発生する確率が高く、発生期間が長いといえる。つまり、データ量ＤＶが少ない区間の次の区間において読み出すデータの部分データを補間用メモリ４２に格納する。また、データ量ＤＶが少ないほど、補間用メモリ４２に格納する部分データのデータ量を多くする。
【０１０１】
制御部４５は、次のラインデータにおいて転送破綻が発生した場合、補間用メモリ４２に格納した部分データを表示部１５に表示させる、または部分データにより生成した補間データを表示部１５に表示させる。転送破綻の区間は、表示部１５に表示する画素数に対応する。画素数が多いと、その区間において、被写体が変化する場合がある。このような場合、区間に応じた量の部分データを保持することで、より被写体の状態に近い画像を表示部１５に表示することが可能となる。これにより、違和感の少ない画像が得られる。
【０１０２】
次に、この変形例２における部分データの格納方法を説明する。
図１４に示すように、補間用メモリ４２は、複数（図において６つ）の格納領域６１〜６３，７１，７２，８１を含む。３つの格納領域６１〜６３は主領域であり、２つの領域７１，７２は第１補助領域であり、１つの領域８１は第２補助領域である。
【０１０３】
第１の主領域は、３つの領域６１ａ，６１ｂ，６１ｃを含む。第１の領域６１ａは、部分データの座標を格納する領域である。部分データの座標は、部分データの最初のデータの画素の位置、つまり、１つのラインにおける画素の位置である。座標は、例えば２バイトのデータである。第２の領域６１ｂは、データ量ＤＶを格納する領域である。データ量ＤＶは、例えば百分率（パーセント）にて示され、例えば２バイトのデータである。第３の領域６１ｃは、部分データを格納する領域である。部分データは、例えば１６バイトのデータである。同様に、第２の主領域６２は、３つの領域６２ａ〜６２ｃを含む。第３の主領域６３は、３つの領域６３ａ〜６３ｃを含む。
【０１０４】
第１補助領域７１は、２つの領域７１ａ，７１ｂを含む。第１の領域７１ａは、部分データの座標を格納する領域である。第２の領域７１ｂは、部分データを格納する領域である。部分データは、例えば１６バイトのデータである。同様に、第１補助領域７２は、２つの領域７２ａ，７２ｂを含む。同様に、第２補助領域８１は、２つの領域８１ａ，８１ｂを含む。
【０１０５】
制御部４５は、リードポインタＲＰとライトポインタＷＰに基づいてＦＩＦＯメモリ４１のデータ量ＤＶを監視する。制御部４５は、１回のバースト転送におけるデータ量と等しい数のデータがＦＩＦＯメモリ４１から出力される区間毎に、データ量ＤＶの最小値を得る。制御部４５は、１つのラインデータを転送する期間において、各区間におけるデータ量ＤＶのうち、最も小さい値から順に３つの区間における最小値をレジスタ４５ａに記憶する。制御部４５は、レジスタ４５ａに記憶したデータ量ＤＶに関する情報を含む制御信号ＣＳ１を出力する。
【０１０６】
補間用メモリ４２は、制御部４５から供給される制御信号ＣＳ１に応答して、レジスタ４５ａに記憶されたデータ量ＤＶに対応するバースト転送における部分データを、データ量ＤＶに応じてそれぞれ記憶する。例えば、補間用メモリ４２は、３つのデータ量ＤＶのうちの最も小さなデータ量ＤＶに対して、１つの主領域と２つの補助領域に、部分データを記憶する。これにより、最も小さなデータ量ＤＶに対応してバースト転送される画像データのうち、先頭から１つの主領域と２つの補助領域に対応するデータ量、例えば４８バイト（＝１６バイト×３）の部分データが補間用メモリ４２に記憶される。また、補間用メモリ４２は、３つのデータ量ＤＶのうちの２番目に小さなデータ量ＤＶに対応して、１つの主領域と１つの補助領域に、部分データを記憶する。これにより、２番目に小さなデータ量ＤＶに対応してバースト転送される画像データのうち、先頭から１つの主領域と１つの補助領域に対応するデータ量、例えば３２バイト（＝１６バイト×２）の部分データが補間用メモリ４２に記憶される。また、補間用メモリ４２は、３つのデータ量ＤＶのうちの３番目に小さなデータ量ＤＶに対応して、１つの主領域に部分データを記憶する。これにより、３番目に小さなデータ量ＤＶに対応してバースト転送される画像データのうち、先頭から１つの主領域に対応するデータ量、例えば１６バイト（＝１６バイト×１）の部分データが補間用メモリ４２に記憶される。
【０１０７】
例えば、図１５（ａ）に示すように、出力部３３は、区間Ｋ１において、ＦＩＦＯメモリ４１からブロックデータＢ０１を順次出力する。この区間Ｋ１において、ＦＩＦＯメモリ４１のデータ量ＤＶに基づいて時刻Ｔ１において発生した読み出し要求ＲＱ１に対するバースト転送によるブロックデータＢ０２をＦＩＦＯメモリ４１が受け取る。制御部４５は、この区間Ｋ１における最小のデータ量ＤＶ（例えば、２５［％］）を得ると、そのデータ量ＤＶとブロックデータＢ０２の座標値とを含む制御信号ＣＳ１を出力する。
【０１０８】
補間用メモリ４２は、制御部４５から供給される制御信号ＣＳ１に応答して、図１５（ｂ）に示すように、第１の主領域６１の第２の領域６１ｂにデータ量ＤＶ（＝２５）を格納する。また、補間用メモリ４２は、第１の領域６１ａに、ブロックデータＢ０２の座標値を格納する。なお、図１５（ｂ）において、ブロックデータＢ０２の座標値を、そのブロックデータＢ０２を出力する区間Ｋ２を用いて示す。そして、補間用メモリ４２は、ブロックデータＢ０２の先頭から所定数（例えば、１６バイト）のデータＢ０２ａ１を、第３の領域６１ｃに格納する。更に、補間用メモリ４２は、第１補助領域７１の第１の領域７１ａに座標値「Ｋ２」を格納し、第１の主領域６１（第３の領域６１ｃ）に格納したデータＢ０２ａ１に続く所定数（１６バイト）のデータＢ０２ａ２を第２の領域７１ｂに格納する。更に、補間用メモリ４２は、第２補助領域８１の第１の領域８１ａに座標値「Ｋ２」を格納し、第１補助領域７１（第２の領域７１ｂ）に格納したデータＢ０２ａ２に続く所定数（１６バイト）のデータＢ０２ａ３を第２の領域８１ｂに格納する。
【０１０９】
次に、図１６（ａ）に示すように、出力部３３は、区間Ｋ２において、ＦＩＦＯメモリ４１からブロックデータＢ０２を順次出力する。この区間Ｋ２において、ＦＩＦＯメモリ４１のデータ量ＤＶに基づいて時刻Ｔ２において発生した読み出し要求ＲＱ２に対するバースト転送によるブロックデータＢ０３をＦＩＦＯメモリ４１が受け取る。制御部４５は、この区間Ｋ２における最小のデータ量ＤＶ（例えば、３０［％］）を得ると、そのデータ量ＤＶとブロックデータＢ０３の座標値とを含む制御信号ＣＳ１を出力する。
【０１１０】
補間用メモリ４２は、制御部４５から供給される制御信号ＣＳ１に応答して、図１６（ｂ）に示すように、第２の主領域６２の第２の領域６２ｂにデータ量ＤＶ（＝３０）を格納する。また、補間用メモリ４２は、第１の領域６２ａに、ブロックデータＢ０３の座標値「Ｋ３」を格納する。そして、補間用メモリ４２は、ブロックデータＢ０３の先頭から所定数（例えば、１６バイト）のデータＢ０３ａ１を、第３の領域６２ｃに格納する。更に、補間用メモリ４２は、第１補助領域７２の第１の領域７１ａに座標値「Ｋ３」を格納し、第２の主領域６２（第３の領域６２ｃ）に格納したデータＢ０３ａ１に続く所定数（１６バイト）のデータＢ０３ａ２を第２の領域７２ｂに格納する。このブロックデータＢ０３に対応するデータ量ＤＶ（＝３０）は、第１の主領域６１の第２の領域６１ｂに格納したデータ量ＤＶ（＝２５）より大きい。従って、補間用メモリ４２は、第２補助領域８１にデータを書き込まない。
【０１１１】
次に、図１７（ａ）に示すように、出力部３３は、区間Ｋ３において、ＦＩＦＯメモリ４１からブロックデータＢ０３を順次出力する。この区間Ｋ３において、ＦＩＦＯメモリ４１のデータ量ＤＶに基づいて時刻Ｔ３において発生した読み出し要求ＲＱ３に対するバースト転送によるブロックデータＢ０４をＦＩＦＯメモリ４１が受け取る。制御部４５は、この区間Ｋ３における最小のデータ量ＤＶ（例えば、４０［％］）を得ると、そのデータ量ＤＶとブロックデータＢ０４の座標値とを含む制御信号ＣＳ１を出力する。
【０１１２】
補間用メモリ４２は、制御部４５から供給される制御信号ＣＳ１に応答して、図１７（ｂ）に示すように、第３の主領域６３の第２の領域６３ｂにデータ量ＤＶ（＝４０）を格納する。また、補間用メモリ４２は、第１の領域６３ａに、ブロックデータＢ０４の座標値「Ｋ４」を格納する。そして、補間用メモリ４２は、ブロックデータＢ０４の先頭から所定数（例えば、１６バイト）のデータＢ０４ａ１を、第３の領域６３ｃに格納する。このブロックデータＢ０４に対応するデータ量ＤＶ（＝４０）は、第１，第２の主領域６１，６２の第２の領域６１ｂ，６２ｂに格納したデータ量ＤＶ（２５，３０）より大きい。従って、補間用メモリ４２は、第１補助領域７１，７２及び第２補助領域８１にデータを書き込まない。
【０１１３】
次に、図１８（ａ）に示すように、出力部３３は、区間Ｋ４において、ＦＩＦＯメモリ４１からブロックデータＢ０４を順次出力する。この区間Ｋ４において、ＦＩＦＯメモリ４１のデータ量ＤＶに基づいて時刻Ｔ４において発生した読み出し要求ＲＱ４に対するバースト転送によるブロックデータＢ０５をＦＩＦＯメモリ４１が受け取る。制御部４５は、この区間Ｋ４における最小のデータ量ＤＶ（例えば、１５［％］）を得ると、そのデータ量ＤＶとブロックデータＢ０５の座標値とを含む制御信号ＣＳ１を出力する。
【０１１４】
制御信号ＣＳ１に含まれるデータ量ＤＶ（＝１５）は、第１，第２，第３の主領域６１，６２，６３の第２の領域６１ｂ，６２ｂ，６３ｂにそれぞれ格納されたデータ量ＤＶ（２５，３０，４０）より小さい。従って、補間用メモリ４２は、図１８（ｂ）に示すように、第３の主領域６３の第２の領域６３ｂにデータ量ＤＶ（＝１５）を格納する。また、補間用メモリ４２は、第１の領域６３ａに、ブロックデータＢ０５の座標値「Ｋ５」を格納する。そして、補間用メモリ４２は、ブロックデータＢ０５の先頭から所定数（例えば、１６バイト）のデータＢ０５ａ１を、第３の領域６３ｃに格納する。
【０１１５】
更に、このブロックデータＢ０５に対応するデータ量ＤＶ（＝１５）は、第１補助領域７１，７２に対応するデータ量ＤＶ（２５，３０）より小さい。従って、補間用メモリ４２は、第１補助領域７２の第１の領域７２ａに座標値「Ｋ５」を格納し、第３の主領域６３（第３の領域６３ｃ）に格納したデータＢ０５ａ１に続く所定数（１６バイト）のデータＢ０５ａ２を第２の領域７２ｂに格納する。
【０１１６】
更に、このブロックデータＢ０５に対応するデータ量ＤＶ（＝１５）は、第２補助領域８１に対応するデータ量ＤＶ（２５）より小さい。従って、補間用メモリ４２は、第２補助領域８１の第１の領域８１ａに座標値「Ｋ５」を格納し、第１補助領域７２（第２の領域７２ｂ）に格納したデータＢ０５ａ２に続く所定数（１６バイト）のデータＢ０５ａ３を第２の領域８１ｂに格納する。
【０１１７】
このように、補間用メモリ４２は、最も小さなデータ量ＤＶ（＝１５）に対して３つの領域６３，７２，８１を用いて所定数の３倍の量（＝４８バイト）の部分データＢ０５ａ（Ｂ０５ａ１，Ｂ０５ａ２，Ｂ０５ａ３）を記憶する。また、補間用メモリ４２は、２番目に小さなデータ量ＤＶ（＝２５）に対して２つの領域６１，７１を用いて所定数の２倍の量（＝３２バイト）の部分データＢ０２ａ（Ｂ０２ａ１，Ｂ０２ａ２）を記憶する。また、補間用メモリ４２は、３番目に小さなデータ量ＤＶ（＝３０）に対して１つの領域６２を用いて所定数（＝１６バイト）の部分データＢ０３ａを記憶する。
【０１１８】
図１９（ａ）に示すように、１つのラインデータを転送する際に、互いにデータ量が異なる２つの部分データＢ０２ａ，Ｂ０３ａ，Ｂ０５ａを図２に示す補間用メモリ４２に格納する。このように保持した部分データＢ０２ａ，Ｂ０３ａ，Ｂ０５ａは、図１９（ｂ）に示すように、次のラインデータを転送する際に用いられる。なお、図１９（ａ）において、補間用メモリ４２に格納した部分データＢ０２ａ，Ｂ０３ａ，Ｂ０５ａを、それぞれの転送タイミング（データＤＴ３）に合わせて示している。図１９（ａ）（ｂ）において、各部分データＢ０２ａ，Ｂ０３ａ，Ｂ０５ａの横方向の長さは、それぞれのデータ量の違いを判りやすく示すものであり、図１５〜図１８を用いて説明したデータ量とは一致していない。
【０１１９】
図１９（ａ）に示すように、データ量ＤＶが小さいほどデータ数が多い部分データＢ０２ａ〜Ｂ０５ａを補間用メモリ４２に記憶させる。図１９及び図１９に示すように、データ量ＤＶが小さいほど、次のラインデータにおいて転送破綻が発生し易く、その転送破綻の期間が長い。従って、データ量ＤＶに応じて部分データのデータ数を変更することにより、図１９（ｂ）に示すように、部分データをそのまま用いた補間、つまり演算によらない補間により表示される画素の数が多くなる。これにより、違和感の少ない画像を表示することが可能となる。
【０１２０】
なお、補間処理部４３は、上記変形例１と同様に、補間用メモリ４２から出力される部分データの座標値に応じて、補間データを生成するとよい。なお、この変形例２では、ＦＩＦＯメモリ４１のデータ量ＤＶに応じて、補間用メモリ４２に記憶する部分データのデータ量を変更する。従って、補間処理部４３が生成する補間データのデータ数は、部分データのデータ量に応じて少なくすることが可能となる。このため、各部分データにおいて、最後のデータ（先最終データ）と等しい補間データを生成する方法のみを行うようにしてもよく、補間処理部４３の処理が少なくなり、違和感の少ない画像が得られるようになる。
【０１２１】
以上記述したように、この変形例２によれば、以下の効果を奏する。
（２−１）制御部４５は、ＦＩＦＯメモリ４１のデータ量ＤＶを含む制御信号ＣＳ１を出力する。補間用メモリ４２は、フレームメモリ１３からＦＩＦＯメモリ４１へ転送される複数のブロックデータの部分データを、データ量ＤＶに応じて、選択的に記憶する。また、補間用メモリ４２は、記憶する部分データのデータ量を、データ量ＤＶに応じて変更する。転送破綻は、ＦＩＦＯメモリ４１のデータ量ＤＶに応じて、そのデータ量ＤＶが小さいほど次のラインデータにおいて転送破綻が発生し易い。また、転送破綻によって関係のない画素のデータが出力される期間は、データ量ＤＶに応じて、そのデータ量ＤＶが小さいほど、期間が長くなる傾向にある。従って、データ量ＤＶに応じて部分データを補間用メモリ４２に記憶することで、次のラインデータにおいて、その補間用メモリ４２から出力されるデータＤＴ２ｂにより、転送破綻した部分を補間して画像を表示することで、違和感の少ない画像が得られ、転送破綻による不具合を低減することができる。
【０１２２】
（２−２）補間用メモリ４２は、記憶する部分データの数に対応する３つの主領域６１〜６３を有する。また、補間用メモリ４２は、主領域６１〜６３の数より少ない２つの第１補助領域７１，７２を有する。さらに、補間用メモリ４２は、第１補助領域７１，７２の数より少ない１つの第２補助領域８１を有する。補間用メモリ４２は、部分データを各主領域６１〜６３に記憶する。そして、補間用メモリ４２は、データ量ＤＶに応じて、第１補助領域７１，７２と第２補助領域８１を使用して部分データを記憶する。このように、複数の領域６１〜６３，７１，７２，８１を用いることで、容易にデータ量ＤＶに応じたデータ量の部分データを記憶することが可能となる。
【０１２３】
尚、上記各形態は、以下の態様で実施してもよい。
・上記実施形態では、１つのラインデータにおいてバースト転送される全てのブロックデータについて部分データを補間用メモリ４２に記憶するようにしたが、所定のタイミングで転送されるブロックデータの部分データを補間用メモリ４２に記憶するようにしてもよい。例えば、１つのフレームにおいて、転送破綻が目立ち易い部分、例えば１つのラインデータにおいて左右方向の中央部分について、部分データを記憶するようにしてもよい。また、１つのラインデータにおいて、最終のデータ側の１／２や２／３のブロックデータにおける部分データを記憶するようにしてもよい。
【０１２４】
・上記各形態において、補間用メモリ４２に記憶する部分データのデータ量を適宜変更してもよい。
・上記各変形例において、補間用メモリ４２に記憶する部分データの数を適宜変更してもよい。
【符号の説明】
【０１２５】
１２  画像処理プロセッサ
１３  メモリ
１５  表示部（転送先）
３２ａ  アービタ（調停部）
３３  出力部（データ転送部）
４１  ＦＩＦＯメモリ
４２  補間用メモリ
４３  補間処理部
４５  制御部
４６  エラー判定部
Ｂ００〜Ｂ０５  ブロックデータ
Ｂ００ａ〜Ｂ０５ａ  部分データ
ＣＳ１，ＣＳ２  制御信号
ＤＶ  データ量
ＥＲ  エラー信号
ＲＰ  リードポインタ
ＷＰ  ライトポインタ
【図１】
0005958039.tif 000002
【図２】
0005958039.tif 000003
【図３】
0005958039.tif 000004
【図４】
0005958039.tif 000005
【図５】
0005958039.tif 000006
【図６】
0005958039.tif 000007
【図７】
0005958039.tif 000008
【図８】
0005958039.tif 000009
【図９】
0005958039.tif 000010
【図１０】
0005958039.tif 000011
【図１１】
0005958039.tif 000012
【図１２】
0005958039.tif 000013
【図１３】
0005958039.tif 000014
【図１４】
0005958039.tif 000015
【図１５】
0005958039.tif 000016
【図１６】
0005958039.tif 000017
【図１７】
0005958039.tif 000018
【図１８】
0005958039.tif 000019
【図１９】
0005958039.tif 000020