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