(57)【特許請求の範囲】
【請求項１】
撮像装置内の撮像手段より連続して出力される各フレームの画像データを順次取り込んで表示するＥＶＦモードと、前記撮像手段より出力された１フレーム分の画像データを取り込んで記憶手段に記憶する撮影モードと、該記憶手段に記憶された画像データを読み出して再生する再生モードと、を含む複数の動作モードから何れか１つの動作モードを選択する選択手段と、
前記撮像装置内のバスとの間で転送される画像データを一時的に記憶するための画像メモリと
を有し、前記バス上に接続される、前記撮像装置のデータ処理回路であって、
前記画像メモリに格納されている画像データのデータ量を検出する検出手段と、
前記データ量に対して前記動作モード毎に予め定められた、前記転送におけるデータ転送長のうち、前記選択手段が選択した動作モードに対応するデータ転送長を特定し、前記画像メモリに格納されている画像データのデータ転送長を該特定したデータ転送長とする調整手段と
を備えることを特徴とする前記撮像装置のデータ処理回路。
【請求項２】
前記調整手段は、前記動作モード毎の、前記データ量と前記転送におけるデータ転送長との対応関係を示すテーブルのうち、前記選択手段が選択した動作モードに対応するテーブルを用いて、前記選択手段が選択した動作モードに対応するデータ転送長を特定することを特徴とする請求項１に記載の前記撮像装置のデータ処理回路。
【請求項３】
前記対応関係は、プログラムにより可変であることを特徴とする請求項１又は２に記載の前記撮像装置のデータ処理回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、撮像装置のデータ処理回路に関するものである。
【０００２】
【従来の技術】
近年、ＣＣＤ等の固体撮像装置の小型化、省電力化およびＬＳＩの高集積化、高機能化、低消費電力化などの技術の進展に伴い、ディジタルスチルカメラに代表される高機能・高性能な画像処理装置が一般に利用されるようになった。さらには、携帯電話機能を内蔵した携帯型テレビ電話端末やカメラを内蔵したノート型ＰＣ等も開発されている。このような画像装置においては、処理すべきデータは主に画像データであり、特に表示部のように、画像データを格納したメモリからの平均データ転送量は多くないが、データ転送のピーク時にメモリからのデータの取りこぼしの許されないリアルタイムのデータ転送を必要とするデータ処理部と、画像圧縮・伸長部のように平均データ転送量が多いが必ずしもリアルタイムのデータ転送は必要ではなく、平均として必要なデータ転送が行われればよいようなデータ処理部が混在しており、かつこれらのデータ処理部が同時動作している。
【０００３】
また、画像データのリアルタイム転送においては、ピーク時（アクティブ時）のデータ転送量とピーク時以外（ブランキング時）のデータ転送量の差が極めて大きいため、データ転送レートを平均化するためにＦＩＦＯを設ける場合がある。この場合、データ転送路全体のデータ転送レート（バンド幅）を平均転送レートに合わせるためには巨大なＦＩＦＯの容量を必要とする。
【０００４】
通常、データ転送路のバンド幅はデータ幅と動作周波数の積に比例しているため、バンド幅を保ちつつＦＩＦＯの容量を小さくするためにはバンド幅を大きく取る必要があり、従来技術では装置全体を高い動作周波数で動作させるか、データ幅を拡大する必要があった。
【０００５】
あるいは従来技術においては、限られたデータ転送路のバンド幅を各モジュールに割り当てるための調停方式を工夫して、リアルタイムのデータ転送にリアルタイムではないデータ転送よりも高いプライオリティを与えるような制御を行うことによりリアルタイムのデータ転送を保証していた。
【０００６】
【発明が解決しようとする課題】
しかしながら、従来技術の巨大なＦＩＦＯを備える方式では回路規模が増大するため、装置の消費電力、コストが増大するという問題があった。
【０００７】
また、リアルタイム性を保証するために装置全体を高い動作周波数で動作させる場合には、装置全体の消費電力が増大するため、特に電池駆動のような携帯型の画像処理装置には適さないという問題点があった。
【０００８】
さらに、リアルタイムのデータ転送にリアルタイムではないデータ転送よりも高いプライオリティを与えるような制御を行うための調停方式は複雑であり、調停装置の設計および動作検証が困難であると同時に調停装置の規模が大きくなるという問題点があった。
【０００９】
本発明は以上の問題点に鑑みてなされたものであり、記憶メモリに格納されているデータ量に応じて、データ転送で転送するデータの転送長を調整することを目的とする。
【００１０】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明の撮像装置のデータ処理回路は以下の構成を備える。すなわち、
撮像装置内の撮像手段より連続して出力される各フレームの画像データを順次取り込んで表示するＥＶＦモードと、前記撮像手段より出力された１フレーム分の画像データを取り込んで記憶手段に記憶する撮影モードと、該記憶手段に記憶された画像データを読み出して再生する再生モードと、を含む複数の動作モードから何れか１つの動作モードを選択する選択手段と、
前記撮像装置内のバスとの間で転送される画像データを一時的に記憶するための画像メモリと
を有し、前記バス上に接続される、前記撮像装置のデータ処理回路であって、
前記画像メモリに格納されている画像データのデータ量を検出する検出手段と、
前記データ量に対して前記動作モード毎に予め定められた、前記転送におけるデータ転送長のうち、前記選択手段が選択した動作モードに対応するデータ転送長を特定し、前記画像メモリに格納されている画像データのデータ転送長を該特定したデータ転送長とする調整手段と
を備えることを特徴とする。
【００１２】
【発明の実施の形態】
以下添付図面を用いて、本発明を好適な実施形態に従って詳細に説明する。
【００１３】
図１は本実施形態としての携帯型テレビ電話端末の内部構成を示すブロック図である。ブロック間を結合する線の表記は、データ系の接続を太い実線で図示し、制御系の接続を細い実線で図示した。ただし、すべての接続が図示されているわけではなく、説明に必要な代表的な接続のみを図示した。
【００１４】
主要なブロックとして、画像取り込みに関わる画像取り込みコントローラ（Ｃａｐｔｕｒｅ  Ｃｏｎｔｒｏｌｌｅｒ）１、画像処理に関わる信号処理プロセッサ（Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）２、画像表示に関わる表示コントローラ（Ｄｉｓｐｌａｙ  Ｃｏｎｔｒｏｌｌｅｒ）３、画像メモリ制御のメモリコントローラ（Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ）４、全体制御に関わるＣＰＵ５からなる。
【００１５】
次に、本実施形態における携帯型テレビ電話端末の動作を説明するために、各ブロックの動作を説明する。
【００１６】
まずレンズモジュール６に入力された画像がＣＣＤ７に結像する。レンズモジュール６はレンズ、オートアイリスのための駆動系、オートフォーカスのための駆動系等からなる。駆動系の制御はＣＰＵ５からの不図示の制御信号によって行われる。ＣＣＤ７に結像した画像データは前処理モジュール（ＣＤＳ・ＡＧＣ）８に入力される。本実施形態においては、ＣＣＤ７の取り込む有効画素数は６４０×４８０画素（ＶＧＡ相当）である。前処理モジュール８はＣＤＳ（相関二重サンプリング）およびＡＧＣ（自動利得制御）からなる。また、ＣＣＤ７および前処理モジュール８に対するクロックおよびタイミング信号はタイミング生成回路９（ＴＧ）より供給される。前処理を行った画像データはＡＤ変換器（ＡＤＣ）１０により１０ビットのディジタルデータに変換されて、タイミング生成回路１１（ＳＧ）により生成されるピクセルクロックに同期して画像取り込みコントローラ１に入力される。
【００１７】
画像取り込みコントローラ１に入力された画像データは、まず取り込み回路１ａによって取り込まれ、直ちに有効画素データのみがＦＩＦＯ１ｂに書き込まれる。
【００１８】
バスインターフェース回路（ＢＵＳ  ＩＦ）１ｃはＦＩＦＯ１ｂがＥｍｐｔｙでない状態を検知すると、メインバスＭＢ上に書き込みのバストランザクションを発生し、メモリコントローラ４にＦＩＦＯ１ｂから読み出したデータを転送する。バストランザクションはデータ転送を行うための転送先開始アドレスおよびデータ長送出（アドレス・フェーズ）と転送すべきデータ送出（データ・フェーズ）の２つのフェーズからなる。
【００１９】
なお、バスインターフェース回路１ｃは通常画像取り込みクロック（Ｌａｔｃｈ  Ｃｌｏｃｋ）とは非同期のバスクロックで動作している。したがって、ＦＩＦＯ１ｂの読み出しクロックは、書き込みクロックとは非同期であり、ＦＩＦＯ１ｂはこの非同期データ転送を緩衝するための目的にも用いられる。
【００２０】
メインバスＭＢには、他にもバストランザクションを発生するバスマスターが複数接続されている（信号処理プロセッサ２、表示コントローラ３、ＣＰＵ５）ので、同時に複数のバストランザクションが発生する可能性がある。バスアービタ１２は、１度に１つだけのバスマスタがバストランザクションを発生できるようにバスを調停する。
【００２１】
メモリコントローラ４は、バスインターフェース回路（ＢＵＳ  ＩＦ）４ａにおいてバストランザクションを受信し、データおよびデータを格納すべきメモリアドレスを一時バッファ（ＢＵＦＦＥＲ）４ｂに書き込む。ＳＤＲＡＭインターフェース回路（ＳＤＲＡＭ  ＩＦ）４ｃはＳＤＲＡＭ１３への制御信号を出力するとともに、バッファ４ｂに格納されたアドレス、データをＳＤＲＡＭ１３に対して出力する。ここで、メモリアドレスはバストランザクションのアドレス・フェーズにおいて得られたアドレスから生成されるのである。ＳＤＲＡＭインターフェース４ｃは前記アドレスから始まる連続アドレスに対して、同じくアドレス・フェーズにおいて得られたデータ長分のメモリアクセスを連続的に、すなわちバースト転送を用いて行う。
【００２２】
画像メモリとしてはＳＤＲＡＭ１３が接続されている。バスインターフェース回路４ａ、バッファ４ｂ、ＳＤＲＡＭインターフェース回路４ｃ、及びＳＤＲＡＭ１３はすべてバスクロックに同期して動作する。
【００２３】
次に、信号処理プロセッサ２は読み出しのためのバストランザクションを発生し、バスクロックで動作するバスインターフェース回路２ａによって画像メモリ（ＳＤＲＡＭ１３）から画像データを読み出す。読み出されたデータはバスクロックに同期して双方向ＦＩＦＯ２ｂに書き込まれる。ＤＳＰ２ｃはバスクロックとは異なるクロック（ＤＳＰクロック）で動作しており、ＤＳＰクロックに同期して双方向ＦＩＦＯ２ｂのデータにアクセスして、カラーマトリクス処理によりＹＣ分離を行い、続いて色補正、エッジ強調、ホワイトバランス調整、ガンマ補正などの処理を行う。このようにして得られた画像データは、表示に用いられるほか画像圧縮にも用いられる。例として表示用に用いる場合は、表示コントローラ３が読み出せるように、バスインターフェース回路２ａを起動して書き込みのバストランザクションを発生し、ＳＤＲＡＭ１３にデータ（ＤＳＰ２ｃにより処理された画像データ）を転送する。
【００２４】
信号処理プロセッサ２においても、バストランザクションはデータ転送を行うための転送先開始アドレスおよびデータ長送出（アドレス・フェーズ）と転送すべきデータ送出（データ・フェーズ）の２つのフェーズからなる。但し、アドレス・フェーズにおいては、読み出しか書き込みかを示す信号も合わせて送出される。
【００２５】
次に、本実施形態における携帯型テレビ電話端末におけるそれぞれの動作モードについて説明する。動作モードとしては、ＥＶＦモード、撮影モード、再生モード、テレビ電話モードがある。
【００２６】
ＥＶＦモードにおいては、上述した動作を毎フレーム毎に繰り返すことによって、連続したフレームを画像メモリに取り込む。信号処理プロセッサ２が取り込み、格納する画像メモリ上の領域としては、同一領域を上書きする動作でよい。そして表示コントローラ３は、信号処理プロセッサ２が上書きした前記領域より画像データを読み出すことにより、表示データを得る。
【００２７】
表示コントローラ３は読み出しのためのバストランザクションを発生し、バスクロックで動作するバスインターフェース回路３ａによって画像メモリから表示データを読み出す。次に、このデータをバスクロックに同期してＦＩＦＯ３ｂの書き込みポートに入力する。ＮＴＳＣのモニターや液晶ディスプレイに代表されるように、一般に表示装置は画面を絶え間なくリフレッシュする必要があるため、有効画面期間中はあるピクセルクロックで動作し続けなければならない。そのためバスインターフェース回路３ａは、ＦＩＦＯ３ｂがフル状態になるまで上述のデータを読み出し続ける。
【００２８】
次に、読み出し回路３ｃは表示ピクセルクロックに同期してＦＩＦＯ３ｂよりデータを読み出し、ＮＴＳＣエンコーダ３ｄに送出する。ＦＩＦＯ３ｂより読み出されたデータはＮＴＳＣエンコーダ３ｄによってＮＴＳＣフォーマットに変換され、ＤＡコンバータ（ＤＡＣ）１４によってアナログ信号に変換され、その後にＮＴＳＣモニタ１５によって表示される。
【００２９】
上記の動作をフレームごとに連続することにより、ＥＶＦモードの動作となる。
【００３０】
次に、撮影モードの動作を説明する。撮影モードでは１フレーム分の画像を取り込んだ後、該データをＪＰＥＧ圧縮して外部記憶装置等に記録する。なおこの外部記憶装置は、ハードディスク等の装置、フロッピーディスクやＣＤ−ＲＯＭなどの記憶媒体、もしくはこの記憶媒体を読み込む装置をも含む。
【００３１】
まず、スイッチ群１６のうちの１つはシャッターボタンであり、該ボタンの押下がＣＰＵ５によって検出されると、ＣＰＵ５は不図示の制御信号により画像取り込みコントローラ１に対し、次の１フレームを取り込み終わったら以降のフレームは取り込まないように指示する。同様に、信号処理プロセッサ２に対し、次の１フレームは画像圧縮処理を行うことを通知する。
【００３２】
画像取り込みコントローラ１はＥＶＦモードの場合とは異なり、１フレーム取り込んで画像メモリにデータ転送を行い終わると一時停止する。信号処理プロセッサ２は取り込まれたデータを読み出して、表示データを生成した場合とまったく同様にＹＣ分離、色補正、エッジ強調、ホワイトバランス調整、ガンマ補正等の画像処理を行った後、直ちに該データに対して、ＤＣＴ演算処理、量子化処理、可変長符号化処理などを施して得た符号データを、画像メモリ内の表示用データ領域とは別の領域に書き込む。
【００３３】
ＣＰＵ５は前記符号データを読み出し、必要なマーカー等を付加してＪＰＥＧデータとした後に、メモリカード（Ｍｅｍｏｒｙ  Ｃａｒｄ）１７に格納する。１フレーム分のデータの格納が終了すると、ＣＰＵ５は画像取り込みコントローラ１に対して、取り込み再開を通知する。
【００３４】
なお、メモリカード１７に格納されたデータはホストインターフェースとなるコミュニケーション回路（Ｃｏｍｍｕｎｉｃａｔｉｏｎ）１８によりパーソナルコンピュータ等からアクセスすることが可能である。本実施形態においてはコミュニケーション回路１８はシリアルインターフェース、ＵＳＢ、ＩｒＤＡおよび携帯電話モジュールなどからなる。
【００３５】
次に再生モードの動作を説明する。再生モードでは、画像取り込みコントローラ１は停止している。ＣＰＵ５はメモリカード１７に格納された、符号化された圧縮データを読み出してＳＤＲＡＭ１３に書き込む。信号処理プロセッサ２は、符号データをＳＤＲＡＭ１３より読み出して、復号化、逆量子化、逆ＤＣＴ変換等の画像伸長処理を行って、表示可能な画像データとしたのちに再びＳＤＲＡＭ１３に書き戻す。表示コントローラ３は前記表示可能データをＳＤＲＡＭ１３より読み出して表示動作を行う。
【００３６】
次に、テレビ電話モードの動作を説明する。撮影モードでは、１フレーム取り込んだ後に画像取り込みコントローラ１は一時停止したが、テレビ電話モードでは、取り込みを中断せずに次々に連続するフレームを取り込む。取り込まれた画像は撮影モードと同様の処理によって信号処理プロセッサ２によって画像処理および画像圧縮・符号化を施され、ＳＤＲＡＭ１３に書き込まれる。書き込まれた符号データは、ＣＰＵ５により読み出され所定のマーカー挿入等を行ったのちにコミュニケーション回路１８の携帯電話モジュールによって電話回線を通じて通話相手に対して転送される。
【００３７】
一方、電話回線を通じて通話相手より受信した符号データは、コミュニケーション回路１８からＣＰＵ５を経由してＳＤＲＡＭ１３に書き込まれる。信号処理プロセッサ２は、符号データをＳＤＲＡＭ１３より読み出して、復号化、逆量子化、逆ＤＣＴ変換等の画像伸長処理を行って表示可能な画像データとしたのちに再びＳＤＲＡＭ１３に書き戻す。表示コントローラ３は前記表示可能データをＳＤＲＡＭ１３より読み出して表示動作を行う。以上のようにして、自画像を通話相手に電送すると同時に相手画像を自端末に表示する。
【００３８】
動作モードの変更は、ユーザによるスイッチ群１６の操作によって行われる。スイッチの構成は様々な例が考えられるが、本実施形態ではダイアルと押しボタンにより構成する。ダイアルの回転により動作モードの候補が順次更新され、押しボタンの押下により候補が選択される。選択のイベントによりＣＰＵ５に割り込みが発生する。ＲＯＭ１９に格納された割り込み処理ルーチンは動作モード変更ルーチンをコールする。
【００３９】
動作モード変更ルーチンでは新たに選択された動作モードを読み取り、読み取られた動作モードに対応して各モジュールの設定を行う。
【００４０】
次にバスインターフェース回路１ｃ，２ａ，３ａの動作を説明する。バスインターフェース回路２ａはリードとライト動作を行うので、これを例として説明する。バスインターフェース回路１ｃはライト動作のみ、３ａはリード動作のみを行う。
【００４１】
図２はバスインターフェース回路２ａの内部構成を示す図である。バス要求および転送長生成部２ａ１にはＦＩＦＯ２ｂが出力するＦＩＦＯポインターステータス信号２０２が入力され、ＦＩＦＯ２ｂのステータスに応じてバス転送要求信号（Ｂｕｓ  Ｒｅｑｕｅｓｔ）２０６、６ビットの転送長信号（Ｌｅｎｇｔｈ［５：０］）２０８、ライトインジケータ信号（Ｗｒｉｔｅ）２１０、及びバス使用信号（Ｂｕｓ  Ｂｕｓｙ）２０９を出力する。
【００４２】
バス要求信号２０６はデータ転送要求を示し、ライト時はＦＩＦＯ２ｂが空でない限り出力され、リード時はＦＩＦＯ２ｂがフルでない限り出力される。バス要求信号２０６とバス使用信号２０９はバスアービタ１２に接続されており、バスアービタ１２は要求を出しているバスマスタを検出し、ラウンドロビン等の単純な調停方式によってバス使用権を与えるマスタに対してバス許可信号（ＢｕｓＧｒａｎｔ）２０７を出力する。なお、バス許可信号は、いずれのマスタもバス使用信号をアサートしていないときに出力される。バス許可信号を与えられたマスタは直ちにバス使用信号をアサートすることにより、バスアービタ１２に対してバス使用許可権を獲得したことを通知する。
【００４３】
転送長信号２０８は転送データ長を２進表現したものであり、例えば転送長が８の場合、転送長信号２０８は”００１０００”となる。また、ライトインジケータ信号２１０にはライト時に”１”、リード時には”０”が出力される。この転送長信号２０８により、転送データ長を調整することができる。
【００４４】
アドレス生成部２ａ２は、ＣＰＵ５から入力されるアドレス設定信号２０１に応じて開始アドレスが設定され、メインバスＭＢへの３２ビットアドレス出力（Ａｄｄｒｅｓｓ［３１：０］）２０５を生成する。また、１トランザクション毎にバス要求および転送長生成部２ａ１からのアドレスインクリメント信号（Ｉｎｃ）および転送長信号２０８が入力され、次の転送のためのアドレスを生成する。
【００４５】
データ入出力部２ａ３はバス要求および転送長生成部２ａ１からの転送開始信号（Ｓｔａｒｔ）と、ライトインジケータ信号２１０を受けて、ＦＩＦＯ２ｂとメインバスＭＢ間のデータ転送（ＦＩＦＯ２ｂとデータ入出力部２ａ３間では、ＦＩＦＯデータ［３１：０］、データ入出力部２ａ３とメインバスＭＢ間では、Ｄａｔａ［３１：０］）を実行する。データライト時（ライトインジケータ信号２１０が”１”）は、メインバスＭＢからのデータストローブ信号（Ｄａｔａ  Ｓｔｒｏｂｅ）２１１に応じてＦＩＦＯ制御信号２０３を駆動してＦＩＦＯ２ｂから３２ビットのＦＩＦＯデータ２０４を取り出し、メインバスＭＢ上に３２ビットデータ（Ｄａｔａ［３１：０］）２１２を出力する。
【００４６】
一方、データリード時（ライトインジケータ信号２１０が”０”）は、データストローブ信号２１１に応じてメインバスＭＢ上のデータ２１２を取り込み、ＦＩＦＯ制御信号２０３を駆動してＦＩＦＯ２ｂへデータ２０４を書き込む。
【００４７】
図３は、バスインターフェース回路２ａのメインバスＭＢ上の信号のタイミングを示したタイミング図である。すべての信号はバスクロック（Ｂｕｓ  Ｃｌｏｃｋ）の立ち上がりエッジに同期して動作する。まずバス要求信号２０６をアサートすると、次のサイクルでバスアービタ１２からのバス許可信号２０７がアサートされる。バスインターフェース回路２ａは直ちにバス使用信号２０９をアサートすると同時に、転送開始アドレス（ａｄｄｒ０）をアドレス信号２０５上に出力し、転送長信号２０８として４、すなわち”０００１００”を出力する。
【００４８】
また、最初の転送はライト転送なのでライトインジケータ信号２１０に“１”を出力するとともにデータ０を出力する。次のサイクルからバススレーブであるメモリコントローラ４からのデータストローブ２１１が４クロック間連続的に入力されるので、これに応じて出力データを１，２，３のように変化させる。データストローブ信号２１１が４クロックサイクル間アサートされると当バストランザクションでのデータ転送は終了し、バス使用信号２０９がネゲートされる。
【００４９】
次にリード要求が発生すると、バスインターフェース回路２ａは再びバス要求信号２０６をアサートする。アービタ１２からのバス許可信号２０７を受信すると、データ２１２、アドレス信号２０５および転送長信号２０８を出力する。転送長は８であるので、”００１０００”がドライブされる。また今回はリード要求であるので、ライトインジケータ信号２１０には“０”が出力される。そしてメモリコントローラ４からのデータ受信待ちになる。メモリコントローラ４はメモリ（ＳＤＲＡＭ１３）からのデータをリードした後に、メインバスＭＢにデータを出力するとともにデータストローブ信号２１１をアサートする。バスインターフェース回路２ａはデータストローブ信号２１１のアサートを８クロックサイクル分検知するとともに、８個のデータを読み込むことになる。
【００５０】
次に、各々のポインタステータス信号２０２の意味するところを、ＦＩＦＯ１ｂの内部構成例であるブロック図（図４）、ＦＩＦＯ２ｂの内部構成例であるブロック図（図５）、ＦＩＦＯ３ｂの内部構成例であるブロック図（図６）を用いて説明する。
【００５１】
ＦＩＦＯ１ｂは図４に示すように、同期型デュアルポートＳＲＡＭ（ＤｕａｌＰｏｒｔ  ＳＲＡＭ）１ｂ０、書き込み制御回路（Ｗｒｉｔｅ  Ｃｏｎｔｒｏｌ）１ｂ１、書き込みアドレス生成（ポインタ生成）回路（Ｗｒｉｔｅ  Ｐｏｉｔｅｒ）１ｂ２、読み出し制御回路（Ｒｅａｄ  Ｃｏｎｔｒｏｌ）１ｂ３、読み出しアドレス生成（ポインタ生成）回路（Ｒｅａｄ  Ｐｏｉｎｔｅｒ）１ｂ４およびポインタステータス生成回路（Ｐｏｉｎｔｅｒ  Ｓｔａｔｕｓ）１ｂ５よりなる。同期型デュアルポートＳＲＡＭ１ｂ０は、例えば１２８（ＷＯＲＤ）×８（ＢＩＴ）のデュアルポートＳＲＡＭであり、取り込み回路１ａよりの書き込み有効信号ｗｒｉｔｅ  ｅｎが入力されるとＣＣＤ７のピクセルクロックｃｃｄ  ｃｌｋに同期してＣＣＤ７からの画像データであるＷＲＩＴＥ  ＤＡＴＡが書き込みアドレス生成（ポインタ生成）回路１ｂ２の生成するアドレスに書き込まれる。１データの書き込み後、書き込みアドレス生成（ポインタ生成）回路１ｂ２が生成した書き込みポインタはインクリメントされる。
【００５２】
読み出し動作は、バスインターフェース回路１ｃからの読み出し有効信号ｒｅａｄ  ｅｎが入力されると、バスクロックｂｕｓ  ｃｌｋに同期して読み出しアドレス生成（ポインタ生成）回路１ｂ４の生成するポインタの示すアドレスからＲＥＡＤ  ＤＡＴＡを出力するのでこれを読み出す。読み出し後読み出しポインタはインクリメントされる。
【００５３】
ポインタステータス回路１ｂ５は、上述の書き込みポインタと読み出しポインタの差の絶対値を演算することにより、ＦＩＦＯ１ｂのステータスを出力する。例えば、差の絶対値が０の場合はＦＩＦＯ１ｂが空であることを示すので１ｂ：Ｅｍｐｔｙ信号を出力し、差の絶対値がＦＩＦＯ容量１２８の８０％以上の場合はＦＩＦＯ１ｂの有効データがＦＩＦＯ容量の２０％以下であることを示すので１ｂ＜２０％信号を出力する。同様に、ＦＩＦＯ１ｂの有効データが２０％から４０％の間の場合は１ｂ＞２０％信号を出力し、４０％から６０％の間の場合は１ｂ＞４０％信号を出力し、６０％以上の場合は１ｂ＞６０％信号を出力する。
【００５４】
ＦＩＦＯ２ｂは図５に示すように、バスインターフェース回路２ａからＤＳＰ２ｃ方向のＦＩＦＯ５０１と逆向きのＦＩＦＯ５０２の組み合わせとして実現される。
【００５５】
バスインターフェース回路２ａからＤＳＰ２ｃ方向のＦＩＦＯ５０１は、同期型デュアルポートＳＲＡＭ２ｂ０、書き込み制御回路２ｂ１、書き込みアドレス生成（ポインタ生成）回路２ｂ２、読み出し制御回路２ｂ３、読み出しアドレス生成（ポインタ生成）回路２ｂ４およびポインタステータス生成回路２ｂ５よりなる。
【００５６】
一方ＤＳＰ２ｃからバスインターフェース回路２ａ向きのＦＩＦＯ５０２は、同期型デュアルポートＳＲＡＭ２ｂ６、書き込みアドレス生成（ポインタ生成）回路２ｂ７、読み出しアドレス生成（ポインタ生成）回路２ｂ８、書き込み制御回路２ｂ９、読み出し制御回路２ｂ１０およびポインタステータス生成回路２ｂ１１よりなる。
【００５７】
同期型デュアルポートＳＲＡＭ２ｂ０は例えば、１２８（ＷＯＲＤ）×８（ＢＩＴ）のデュアルポートＳＲＡＭであり、バスインターフェース回路２ａよりの書き込み有効信号ｗｒｉｔｅ  ｅｎが入力されると、バスクロックｂｕｓ  ｃｌｋに同期してバス転送データであるＷＲＩＴＥ  ＤＡＴＡが書き込みアドレス生成（ポインタ生成）回路２ｂ２の生成するアドレスに書き込まれる。
【００５８】
データ書き込み後、書き込みポインタはインクリメントされる。読み出し動作は、ＤＳＰ２ｃからの読み出し有効信号ｒｅａｄ  ｅｎが入力されるとＤＳＰクロックｄｓｐ  ｃｌｋに同期して読み出しアドレス生成（ポインタ生成）回路２ｂ４の生成するポインタの示すアドレスからＲＥＡＤ  ＤＡＴＡを出力するのでこれを読み出す。読み出し後読み出しポインタはインクリメントされる。ポインタステータス回路２ｂ５は書き込みポインタと読み出しポインタの差の絶対値を演算することにより、ＦＩＦＯ２ｂのステータスを出力する。例えば、差の絶対値が１２８の場合はＦＩＦＯ２ｂが空であることを示すので、２ｂ＿ｒ：Ｆｕｌｌ信号を出力し、差の絶対値がＦＩＦＯ容量１２８の２０％以下の場合はＦＩＦＯ２ｂの有効データがＦＩＦＯ容量の８０％以上であることを示すので２ｂ＿ｒ＞８０％信号を出力する。同様に、ＦＩＦＯ２ｂの有効データが８０％から６０％の間の場合は２ｂ＿ｒ＜６０％信号を出力し、６０％から４０％の間の場合は２ｂ＿ｒ＜６０％信号を出力し、４０％以下の場合は２ｂ＿ｒ＜４０％信号を出力する。
【００５９】
同期型デュアルポートＳＲＡＭ２ｂ６は、例えば１２８（ＷＯＲＤ）×８（ＢＩＴ）のデュアルポートＳＲＡＭであり、ＤＳＰ２ｃからの書き込み有効信号ｗｒｉｔｅ  ｅｎが入力されるとにＤＳＰクロックＤＳＰ  ｃｌｋに同期してバス転送データであるＷＲＩＴＥ  ＤＡＴＡが書き込みアドレス生成（ポインタ生成）回路２ｂ７の生成するアドレスに書き込まれる。データ書き込み後、書き込みポインタはインクリメントされる。読み出し動作は、バスインターフェース回路２ａからの読み出し有効信号ｒｅａｄ  ｅｎが入力されるとバスクロックｂｕｓｃｌｋに周期して読み出しアドレス生成（ポインタ生成）回路２ｂ８の生成するポインタの示すアドレスからＲＥＡＤ  ＤＡＴＡを出力するのでこれを読み出す。読み出し後読み出しポインタはインクリメントされる。ポインタステータス回路２ｂ１１は書き込みポインタと読み出しポインタの差の絶対値を演算することにより、ＦＩＦＯ２ｂのステータスを出力する。例えば、差の絶対値が０の場合はＦＩＦＯ２ｂが空であることを示すので２ｂ＿ｗ：Ｅｍｐｔｙ信号を出力し、差の絶対値がＦＩＦＯ容量１２８の８０％以上の場合はＦＩＦＯ２ｂの有効データがＦＩＦＯ容量の２０％以下であることを示すので２ｂ＿ｗ＜２０％信号を出力する。同様に、ＦＩＦＯ２ｂの有効データが２０％から４０％の間の場合は２ｂ＿ｗ＞２０％信号を出力し、４０％から６０％の間の場合は２ｂ＿ｗ＞４０％信号を出力し、６０％以上の場合は２ｂ＿ｗ＞６０％信号を出力する。
【００６０】
ＦＩＦＯ３ｂは図６に示すように、同期型デュアルポートＳＲＡＭ３ｂ０、書き込み制御回路３ｂ１、書き込みアドレス生成（ポインタ生成）回路３ｂ２、読み出し制御回路３ｂ３、読み出しアドレス生成（ポインタ生成）回路３ｂ４およびポインタステータス生成回路３ｂ５よりなる。同期型デュアルポートＳＲＡＭ３ｂ０は例えば１２８（ＷＯＲＤ）×８（ＢＩＴ）のデュアルポートＳＲＡＭであり、バスインターフェース回路３ａよりの書き込み有効信号ｗｒｉｔｅ  ｅｎが入力されるとバスクロックｂｕｓ  ｃｌｋに同期してバス転送データであるＷＲＩＴＥ  ＤＡＴＡが書き込みアドレス生成（ポインタ生成）回路３ｂ２の生成するアドレスに書き込まれる。データ書き込み後、書き込みポインタはインクリメントされる。読み出し動作は、読み出し回路３ｃからの読み出し有効信号ｒｅａｄ  ｅｎが入力されると表示クロックｄｉｓｐ  ｃｌｋに同期して読み出しアドレス生成（ポインタ生成）回路３ｂ４の生成するポインタの示すアドレスからＲＥＡＤ  ＤＡＴＡを出力するのでこれを読み出す。読み出し後読み出しポインタはインクリメントされる。ポインタステータス回路３ｂ５は書き込みポインタと読み出しポインタの差の絶対値を演算することにより、ＦＩＦＯ３ｂのステータスを出力する。例えば、差の絶対値が１２８の場合はＦＩＦＯ３ｂが空であることを示すので３ｂ：Ｆｕｌｌ信号を出力し、差の絶対値がＦＩＦＯ容量１２８の２０％以下の場合はＦＩＦＯ３ｂの有効データがＦＩＦＯ容量の８０％以上であることを示すので３ｂ＞８０％信号を出力する。同様に、ＦＩＦＯ３ｂの有効データが８０％から６０％の間の場合は３ｂ＜６０％信号を出力し、６０％から４０％の間の場合は３ｂ＜６０％信号を出力し、４０％以下の場合は３ｂ＜４０％信号を出力する。
【００６１】
ＦＩＦＯステータス１ｂ及び２ｂ＿ｗは夫々のＦＩＦＯ内の有効データが少ないほどバスの転送能力に余裕があることを示している。一方ＦＩＦＯステータス２ｂ＿ｒ及び３ｂは空き容量がある限りデータを先読みするため、夫々のＦＩＦＯがＦＵＬＬに近いほどバスの転送能力に余裕があることを示す。
【００６２】
次に、夫々のＦＩＦＯのポインタステータス信号に応じて夫々のバスインターフェース回路が出力する転送長信号がどのように生成されるかを、バスインターフェース回路２ａを例にとって説明する。
【００６３】
まずライト転送については、２ｂ＿ｗステータスがＥｍｐｔｙである間はデータ転送は始まらない。２ｂ＿ｗステータスが示すＦＩＦＯ２ｂのステータスがＥｍｐｔｙでなくなると、２ｂ＿ｗ＜２０％ステータスがアサートされる。バス要求および転送長生成部２ａ１はバス要求信号２０６をアサートし、バス許可信号２０７を受け取ったならば転送長信号２０８として”０００００１”すなわち転送長＝１を出力する。２ｂ＿ｗ＞２０％ステータスがアサートされた場合は転送長＝２、２ｂ＿ｗ＞４０％ステータスがアサートされた場合は転送長＝４、２ｂ＿ｗ＞６０％ステータスがアサートされた場合は転送長＝８を出力する。すなわち、書き込みのためのＦＩＦＯ２ｂの空き容量が減少するに伴って、転送長が大きくなるように調整する。このようにすることで、ＦＩＦＯ２ｂに多くのデータが蓄積したときほど早くデータを出力することができる。
【００６４】
一方、リード転送では、２ｂ＿ｒステータスがＦＵＬＬである間はデータ転送は始まらない。ＦＵＬＬでなくなると２ｂ＿ｒ＞８０％ステータスがアサートされる。バス要求および転送長生成部２ａ１はバス要求信号２０６をアサートし、バス許可信号２０７を受け取ったならば転送長信号２０８として”０００００１”すなわち転送長＝１を出力する。２ｂ＿ｒ＜８０％ステータスがアサートされた場合は転送長＝２、２ｂ＿ｒ＜６０％ステータスがアサートされた場合は転送長＝４、２ｂ＿ｒ＜４０％ステータスがアサートされた場合は転送長＝８を出力する。すなわち、読み出しのためのＦＩＦＯ２ｂの空き容量が減少するに伴って、転送長が大きくなるように調整する。このようにすることで、ＦＩＦＯ２ｂの空き容量の減少を抑えることができる。
【００６５】
以上で述べたＦＩＦＯ２ｂステータスと転送長の対応をまとめて図７に示す。
【００６６】
バスインターフェース回路１ｃ、３ａに関しても全く同様にＦＩＦＯポインターステータス信号と転送長信号２０８の対応付けが可能である。よって、ＦＩＦＯステータス信号１ｂと転送長との対応を図８に、ＦＩＦＯステータス信号３ｂと転送長との対応を図９に示す。
【００６７】
なお、図７，８，９に示したＦＩＦＯポインターステータス信号２０２と転送長信号２０８の対応付けのテーブルはＲＯＭ１９に格納され、このＲＯＭ１９に格納されたテーブルを参照して、上述の転送長の調整を行う。なお、このテーブルを搭載し、転送長信号２０８を生成するユニットを１チップ化した場合、このチップを画像取り込みコントローラ１、信号処理プロセッサ２、表示コントローラ３、メモリコントローラ４に共通に搭載しても良い。
【００６８】
更に、ポインターステータス信号と転送長の対応をプログラムによりＣＰＵ５が設定する構成にすることも可能である。この場合にポインターステータス信号と転送長の対応付けを行うハードウェアの構成をバスインターフェース回路１ｃを例にとって図１０を用いて説明する。
【００６９】
セレクタ１ｃ１１はセレクト信号ＳｅｌＡ，ＳｅｌＢ，ＳｅｌＣ，ＳｅｌＤの状態に基づいて各々６ビットの入力Ａ，Ｂ，Ｃ，Ｄのいずれかを選択して６ビットのＯｕｔ出力ポートに出力する。セレクト信号と選択される出力との対応を図１１に示す。４つの入力は４つの６ビットレジスタ１ｃ１２，１ｃ１３，１ｃ１４，１ｃ１５にそれぞれ接続されている。これらの６ビットレジスタにはそれぞれのポインタステータスに対応する転送長が格納されており、その値はＣＰＵ５からの不図示の制御信号により変更が可能となっている。例えば、図８に示すような対応関係を実現するためには１ｃ１２（転送長Ａ）に”０００００１”を格納し、１ｃ１３（転送長Ｂ）に”００００１０”を格納し、１ｃ１４（転送長Ｃ）に”０００１００”を格納し、１ｃ１５（転送長Ｄ）に”００１０００”を格納しておけばよい。なお、セレクタ１ｃ１１の出力はバス要求および転送長生成部１ｃ１のｌｅｎｇｔｈ出力に接続される。
【００７０】
一般に動作モードによって、各バスマスターの要求するデータ転送レートやリアルタイムデータ転送の必要性が様々に異なる。上記のような構成を用いることにより、様々な動作モードにおける各バスマネターのデータ転送レートを柔軟に設定することができる。
【００７１】
例えばＥＶＦモードでは、常に表示が乱れてはならないので表示コントローラ３はリアルタイムデータ転送を要求する。また、画像取り込みコントローラ１についても、少なくとも１フレーム分のデータを連続して取り込む必要がある。したがって表示コントローラと取り込みコントローラの転送長は図８および図９に示すような設定にする。一方、画像処理コントローラ２は表示のこま落しを許す場合には必ずしもリアルタイムデータ転送を必要としない。したがって、例えば全ての転送長をＦＩＦＯステータスに関わらず２に設定する。
【００７２】
撮影モードにおいては、画像取り込みコントローラは少なくとも１フレーム分のデータを連続して取り込む必要があるので、転送長は図８に示すような設定にする。一方、画像処理コントローラ２は取り込みが途中であっても画像処理を開始できるので、画像取り込みコントローラ１のデータ転送を妨げないように全ての転送長をＦＩＦＯステータスに関わらず４に設定する。この際、表示コントローラ３のデータ転送は行われないので、ＥＶＦモードにおける転送長よりも大きな値が設定可能である。
【００７３】
表示モードにおいては、表示コントローラ３は常に表示が乱さないようにリアルタイムデータ転送を要求するため、転送長は図９に示すような設定にする。一方、画像処理コントローラ２は表示コントローラ３のデータ転送を妨げないように全ての転送長をＦＩＦＯステータスに関わらず４に設定する。この場合も、画像取り込みコントローラ１のデータ転送は行われないので、ＥＶＦモードにおける転送長よりも大きな値が設定可能である。テレビ電話モードの設定はＥＶＦモードと同様である、すなわち表示コントローラ３は常に表示が乱れてはならないのでリアルタイムデータ転送を要求する。また、画像取り込みコントローラ１についても、少なくとも１フレーム分のデータを連続して取り込む必要がある。したがって取り込みコントローラ１と表示コントローラ３の転送長は夫々図８、図９に示すような設定にする。
【００７４】
一方、画像処理コントローラ２は電話回線のデータ転送能力以上のデータレートでのデータ処理を必要としない。したがって、例えば全ての転送長をＦＩＦＯステータスに関わらず２に設定する。
【００７５】
上記の構成によれば、様々な動作モードにおける画像処理に必要なデータ転送をリアルタイム性を損なうことなく行うことができる。また、リアルタイム性を保つために不必要に動作周波数を高めたりデータ幅を拡大する必要がないため、消費電力を低減化することができる。
【００７６】
【発明の効果】
以上に述べたように本発明によれば、記憶メモリに格納されているデータ量に応じて、データ転送で転送するデータの転送長を調整することができる。
【図面の簡単な説明】
【図１】本発明の実施形態における携帯型テレビ電話の内部構成を示すブロック図である。
【図２】バスインターフェース回路２ａの内部構成を示す図である。
【図３】バスインターフェース回路２ａのメインバスＭＢ上の信号のタイミングを示したタイミング図である。
【図４】ＦＩＦＯ１ｂの内部構成例を示すブロック図である。
【図５】ＦＩＦＯ２ｂの内部構成例を示すブロック図である。
【図６】ＦＩＦＯ３ｂの内部構成例を示すブロック図である。
【図７】ＦＩＦＯ２ｂステータスと転送長の対応をまとめた図である。
【図８】ＦＩＦＯステータス信号１ｂと転送長との対応を示す図である。
【図９】ＦＩＦＯステータス信号３ｂと転送長との対応を示す図である。
【図１０】ポインターステータス信号と転送長との対応をプログラムにより設定する場合、ポインターステータス信号と転送長の対応付けを行うハードウェアの構成を示す図である。
【図１１】セレクト信号と選択される出力との対応を示す図である。
【図１】
0004481458.tif 000002
【図２】
0004481458.tif 000003
【図３】
0004481458.tif 000004
【図４】
0004481458.tif 000005
【図５】
0004481458.tif 000006
【図６】
0004481458.tif 000007
【図７】
0004481458.tif 000008
【図８】
0004481458.tif 000009
【図９】
0004481458.tif 000010
【図１０】
0004481458.tif 000011
【図１１】
0004481458.tif 000012