(57)【要約】【課題】  カメラからのカメラデータを効率良くホストデバイスに転送できる画像処理コントローラ及びこれを含む電子機器を提供すること。【解決手段】  画像処理コントローラ３０は、カメラデータが入力されるカメラ入力インターフェース４０と、カメラデータに対して画像処理を行う画像処理部５０と、画像処理が行われたカメラデータを記憶するメモリ６０と、ホストデバイス１０との間のホストインターフェース処理を行うホストインターフェース８０と、メモリ６０に記憶されたカメラデータを、ホストデバイス１０のホスト側カメラ入力インターフェース１２に出力するカメラ出力インターフェース７０を含む。画像処理部５０でのリサイズ処理のリサイズ倍率に応じた長さに垂直表示期間、水平表示期間の長さが設定されるエミュレーション垂直同期信号ＥＣＭＶＲＥＦ、エミュレーション水平同期信号ＥＣＭＨＲＥＦを生成する。【選択図】        図３
2006287715.tif 000002
【特許請求の範囲】
【請求項１】
カメラデータが入力されるカメラ入力インターフェースと、
カメラデータに対して画像処理を行う画像処理部と、
画像処理が行われたカメラデータを記憶するメモリと、
ホストデバイスとの間のホストインターフェース処理を行うホストインターフェースと、
前記メモリに記憶されたカメラデータを、前記ホストデバイスのホスト側カメラ入力インターフェースに出力するカメラ出力インターフェースとを含むことを特徴とする画像処理コントローラ。
【請求項２】
請求項１において、
前記画像処理部は、
カメラデータに対してリサイズ処理を行うリサイザを含み、
前記カメラ出力インターフェースは、
前記カメラ入力インターフェースを介して入力される垂直同期信号、水平同期信号のエミュレーション処理を行い、前記エミュレーション処理においては、前記リサイズ処理のリサイズ倍率に応じた長さに垂直表示期間、水平表示期間の長さが設定されるエミュレーション垂直同期信号、エミュレーション水平同期信号を生成して、前記ホストデバイスの前記ホスト側カメラ入力インターフェースに出力することを特徴とする画像処理コントローラ。
【請求項３】
請求項１又は２において、
前記ホストデバイスは、
表示パネルを駆動する表示ドライバとの間のインターフェース処理を行う表示ドライバインターフェースを含み、
前記画像処理部は、
カメラデータを前記表示パネルに表示するためのリサイズ処理を行う表示用リサイザを含み、
前記カメラ出力インターフェースは、
前記表示用リサイザによりリサイズ処理が行われたカメラデータを、前記ホスト側カメラ入力インターフェースに出力することを特徴とする画像処理コントローラ。
【請求項４】
請求項３において、
前記画像処理部は、
カメラデータをファイルとして保存するためのリサイズ処理を行うキャプチャ用リサイザを含み、
前記ホストインターフェースは、
前記キャプチャ用リサイザによりリサイズ処理が行われたカメラデータを、前記ホストデバイスに出力することを特徴とする画像処理コントローラ。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記カメラ入力インターフェースに入力されたカメラデータを、前記画像処理部及び前記メモリを介さずに前記カメラ出力インターフェースに出力するバイパス回路を含むことを特徴とする画像処理コントローラ。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記画像処理部は、
カメラデータに対して圧縮処理を行うコーデックを含み、
前記カメラ出力インターフェースは、
前記コーデックにより圧縮処理が行われた圧縮カメラデータを、前記ホストデバイスの前記ホスト側カメラ入力インターフェースに出力することを特徴とする画像処理コントローラ。
【請求項７】
請求項６において、
前記画像処理部は、
カメラデータに対して静止画圧縮処理を静止画コーデックと、
カメラデータに対して動画圧縮処理を行う動画コーデックとを含み、
前記カメラ出力インターフェースは、
前記静止画コーデックにより静止画圧縮処理が行われた静止画圧縮カメラデータを、前記ホストデバイスの前記ホスト側カメラ入力インターフェースに出力し、
前記ホストインターフェースは、
前記動画コーデックにより動画圧縮処理が行われた動画圧縮カメラデータを、前記ホストデバイスに出力することを特徴とする画像処理コントローラ。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記画像処理部は、
カメラデータに対して回転処理及びミラー処理の少なくとも一方を行う変換部と、
カメラデータに対して静止画圧縮処理を静止画コーデックと、
カメラデータに対して動画圧縮処理を行う動画コーデックとを含み、
動画カメラデータについては、前記変換部により前記回転処理及び前記ミラー処理の少なくとも一方が行われた後に前記メモリに書き込まれ、前記動画コーデックにより動画圧縮処理が行われて前記ホストデバイスに出力され、
静止画カメラデータについては、前記変換部による前記回転処理、前記ミラー処理が行われずに前記メモリに書き込まれ、前記静止画コーデックにより静止画圧縮処理が行われて前記ホストデバイスに出力されることを特徴とする画像処理コントローラ。
【請求項９】
請求項１乃至８のいずれかにおいて、
オート転送モードでは、
前記カメラ入力インターフェースにカメラデータが入力されたことを条件に、前記画像処理部、前記メモリ、前記カメラ出力インターフェースを介してカメラデータを前記ホストデバイスに自動転送することを特徴とする画像処理コントローラ。
【請求項１０】
請求項９において、
前記オート転送モードでは、
前記カメラ入力インターフェースに入力される垂直同期信号が非アクティブになったことを条件に、前記画像処理部、前記メモリ、前記カメラ出力インターフェースを介してカメラデータを前記ホストデバイスに自動転送することを特徴とする画像処理コントローラ。
【請求項１１】
請求項９又は１０において、
シングル転送モードでは、
前記ホストデバイスから指示があったことを条件に、前記メモリに記憶された１画面分のカメラデータを前記カメラ出力インターフェースを介して前記ホストデバイスに転送することを特徴とする画像処理コントローラ。
【請求項１２】
請求項１乃至１１のいずれかに記載の画像処理コントローラと、
前記画像処理コントローラにカメラデータを出力するカメラと、
前記ホストデバイスとを含むことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理コントローラ及び電子機器に関する。
【背景技術】
【０００２】
近年の携帯電話機は、ＣＣＤやＣＭＯＳなどのカメラ（イメージセンサ、カメラモジュール）を内蔵している。このようにカメラを内蔵すれば、カメラにより撮影した画像を、ＬＣＤなどの表示パネルに表示したり、ファイルとして保存することが可能になる。そしてカメラにより撮影した画像を表示パネルに表示したり、ファイルとして保存するためには、画像サイズを表示パネルサイズに適合させるためのリサイズ処理や、ファイルサイズを小さくするための圧縮処理などの画像処理を、カメラデータに対して施すことが望ましい。
【０００３】
このようなカメラデータへの画像処理を実現する手法として、カメラとホストデバイス（ＭＰＵ、ベースバンドエンジン）の間に画像処理コントローラを介在させ、この画像処理コントローラによりカメラデータに画像処理を施し、ホストバス（ホストインターフェース）を介してホストデバイスに転送する手法が考えられる。
【０００４】
しかしながらこの手法では、ホストデバイスがホストバスを介してカメラデータをリードする処理が必要になり、このリード処理によりホストバスが占有されてしまう。このため、ホストバスを使用する他の処理が阻害されてしまい、ホストデバイスによるプログラム実行などの処理速度が低下する。またカメラからのカメラデータの入力速度が、ホストデバイスによるカメラデータのリード速度よりも速い場合には、画像処理コントローラ内に設けられるＦＩＦＯにオーバーフローが生じ、データが紛失してしまうおそれもある。
【特許文献１】特開２０００−２０６９４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、カメラからのカメラデータを効率良くホストデバイスに転送できる画像処理コントローラ及びこれを含む電子機器を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、カメラデータが入力されるカメラ入力インターフェースと、カメラデータに対して画像処理を行う画像処理部と、画像処理が行われたカメラデータを記憶するメモリと、ホストデバイスとの間のホストインターフェース処理を行うホストインターフェースと、前記メモリに記憶されたカメラデータを、前記ホストデバイスのホスト側カメラ入力インターフェースに出力するカメラ出力インターフェースとを含む画像処理コントローラに関係する。
【０００７】
本発明によれば、カメラ入力インターフェースにカメラデータが入力されると、カメラデータに画像処理が行われてメモリに記憶される。そしてメモリに記憶されたカメラデータは、カメラ出力インターフェースを介してホストデバイスのホスト側カメラ入力インターフェースに出力される。またホストデバイスとの間では、ホストインターフェースを介してホストインターフェース処理が行われる。このようにすれば、カメラ入力インターフェースに入力されたカメラデータに画像処理を施して、ホストデバイスに転送することが可能になり、ホストデバイスの処理負荷を軽減できる。またカメラデータをホストインターフェースのホストバスを利用して転送しなくても済むため、カメラデータの転送のためにホストバスが占有されてしまう事態を防止でき、ホストデバイスの処理の効率化等を図れる。
【０００８】
また本発明では、前記画像処理部は、カメラデータに対してリサイズ処理を行うリサイザを含み、前記カメラ出力インターフェースは、前記カメラ入力インターフェースを介して入力される垂直同期信号、水平同期信号のエミュレーション処理を行い、前記エミュレーション処理においては、前記リサイズ処理のリサイズ倍率に応じた長さに垂直表示期間、水平表示期間の長さが設定されるエミュレーション垂直同期信号、エミュレーション水平同期信号を生成して、前記ホストデバイスの前記ホスト側カメラ入力インターフェースに出力するようにしてもよい。
【０００９】
このようにすれば、リサイズ倍率に応じた適正なエミュレーション垂直同期信号、エミュレーション水平同期信号をホストデバイスに出力できるようになり、ホストデバイスの処理の簡素化等を図れる。
【００１０】
また本発明では、前記ホストデバイスは、表示パネルを駆動する表示ドライバとの間のインターフェース処理を行う表示ドライバインターフェースを含み、前記画像処理部は、カメラデータを前記表示パネルに表示するためのリサイズ処理を行う表示用リサイザを含み、前記カメラ出力インターフェースは、前記表示用リサイザによりリサイズ処理が行われたカメラデータを、前記ホスト側カメラ入力インターフェースに出力するようにしてもよい。
【００１１】
このようにすれば、表示パネルのパネルサイズに応じたサイズにリサイズされたカメラデータを、カメラ出力インターフェースを介してホストデバイスに出力することが可能になる。
【００１２】
また本発明では、前記画像処理部は、カメラデータをファイルとして保存するためのリサイズ処理を行うキャプチャ用リサイザを含み、前記ホストインターフェースは、前記キャプチャ用リサイザによりリサイズ処理が行われたカメラデータを、前記ホストデバイスに出力するようにしてもよい。
【００１３】
このようにすれば、ファイルの保存サイズに応じたサイズにリサイズされたカメラデータを、ホストインターフェースを介してホストデバイスに出力することが可能になる。
【００１４】
また本発明では、前記カメラ入力インターフェースに入力されたカメラデータを、前記画像処理部及び前記メモリを介さずに前記カメラ出力インターフェースに出力するバイパス回路を含むようにしてもよい。
【００１５】
このようにすれば、カメラ入力インターフェースに入力されたカメラデータを、画像処理を施さずに、そのままホストデバイスにバイパス転送できるようになり、利便性を向上できる。
【００１６】
また本発明では、前記画像処理部は、カメラデータに対して圧縮処理を行うコーデックを含み、前記カメラ出力インターフェースは、前記コーデックにより圧縮処理が行われた圧縮カメラデータを、前記ホストデバイスの前記ホスト側カメラ入力インターフェースに出力するようにしてもよい。
【００１７】
このようにすれば、圧縮カメラデータの転送によりホストバスが占有されてホストデバイスの処理が非効率化する事態を防止できる。
【００１８】
また本発明では、前記画像処理部は、カメラデータに対して静止画圧縮処理を静止画コーデックと、カメラデータに対して動画圧縮処理を行う動画コーデックとを含み、前記カメラ出力インターフェースは、前記静止画コーデックにより静止画圧縮処理が行われた静止画圧縮カメラデータを、前記ホストデバイスの前記ホスト側カメラ入力インターフェースに出力し、前記ホストインターフェースは、前記動画コーデックにより動画圧縮処理が行われた動画圧縮カメラデータを、前記ホストデバイスに出力するようにしてもよい。
【００１９】
このようにすれば、カメラデータの利用態様に応じた最適な転送経路でカメラデータをホストデバイスに転送することが可能になり、転送効率を最適化できる。
【００２０】
また本発明では、前記画像処理部は、カメラデータに対して回転処理及びミラー処理の少なくとも一方を行う変換部と、カメラデータに対して静止画圧縮処理を静止画コーデックと、カメラデータに対して動画圧縮処理を行う動画コーデックとを含み、動画カメラデータについては、前記変換部により前記回転処理及び前記ミラー処理の少なくとも一方が行われた後に前記メモリに書き込まれ、前記動画コーデックにより動画圧縮処理が行われて前記ホストデバイスに出力され、静止画カメラデータについては、前記変換部による前記回転処理、前記ミラー処理が行われずに前記メモリに書き込まれ、前記静止画コーデックにより静止画圧縮処理が行われて前記ホストデバイスに出力されるようにしてもよい。
【００２１】
このようにすれば、例えばカメラの実装形態等が原因で撮影イメージと表示イメージが一致しない場合等であっても、これらが一致するように、動画カメラデータに対して回転処理やミラー処理を施すことが可能になる。
【００２２】
また本発明では、オート転送モードでは、前記カメラ入力インターフェースにカメラデータが入力されたことを条件に、前記画像処理部、前記メモリ、前記カメラ出力インターフェースを介してカメラデータを前記ホストデバイスに自動転送するようにしてもよい。
【００２３】
このようにすれば、ホストデバイスへのカメラデータの転送を更に効率化できる。
【００２４】
また本発明では、前記オート転送モードでは、前記カメラ入力インターフェースに入力される垂直同期信号が非アクティブになったことを条件に、前記画像処理部、前記メモリ、前記カメラ出力インターフェースを介してカメラデータを前記ホストデバイスに自動転送するようにしてもよい。
【００２５】
また本発明では、シングル転送モードでは、前記ホストデバイスから指示があったことを条件に、前記メモリに記憶された１画面分のカメラデータを前記カメラ出力インターフェースを介して前記ホストデバイスに転送するようにしてもよい。
【００２６】
また本発明は、上記のいずれかの画像処理コントローラと、前記画像処理コントローラにカメラデータを出力するカメラと、前記ホストデバイスとを含む電子機器に関係する。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施形態について詳細に説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００２８】
１．電子機器
図１に、本実施形態の画像処理コントローラ３０を含む電子機器の一例を示す。なお電子機器は図１に示されるもの以外の構成要素（例えば操作部又は電源回路等）を含んでもよい。また本実施形態の電子機器は携帯電話機には限定されず、携帯型情報端末、携帯型オーディオ機器などであってもよい。
【００２９】
図１においてホストデバイス１０は、例えばＭＰＵ（Micro Processor Unit）、ベースバンドエンジン（ベースバンドプロセッサ）などである。このホストデバイス１０（ホストプロセッサ）は表示ドライバインターフェースを有し、表示パネル２４を駆動する表示ドライバ２２（ＬＣＤ）を制御する。またホストデバイス１０はホスト側カメラ入力インターフェースを有し、カメラからのカメラデータを入力することができる。またホストデバイス１０は、アプリケーションエンジンやベースバンドエンジンとしての処理や、グラフィックエンジンとしての処理を行うこともできる。
【００３０】
なおホストデバイス１０と表示ドライバ２２の間は、高速シリアルインターフェースにより接続することができる。この高速シリアルインターフェースでは、小振幅の差動信号（ＬＶＤＳ）を用いてデータやストローブ（クロック）が転送される。
【００３１】
カメラ２０（カメラモジュール）は、ＣＣＤやＣＭＯＳなどのイメージセンサにより構成される。このカメラ２０は、イメージセンサの他に、カメラデータを出力するカメラ出力インターフェースや、イメージセンサを駆動する駆動回路などを含むことができる。
【００３２】
表示パネル２４は、複数のデータ線（信号線）と、複数の走査線と、データ線及び走査線により特定される複数の画素を有する。そして各画素領域における電気光学素子（狭義には、液晶素子）の光学特性を変化させることで、表示動作を実現する。この表示パネル２４としては、例えば薄膜トランジスタ（Thin Film Transistor：ＴＦＴ）や薄膜ダイオード（Thin Film Diode：ＴＦＤ）などのスイッチング素子（２端子型非線形素子）を用いたアクティブマトリクス方式のパネルを採用できる。或いは表示パネル２４として、単純マトリクス方式のパネルを採用したり、液晶パネル以外のパネル（例えば有機ＥＬパネル）を採用してもよい。
【００３３】
表示ドライバ２２は表示パネル２４のデータ線（ソース線、セグメント線）や走査線（ゲート線、コモン線）を駆動する。具体的には表示ドライバ２２は、ホストデバイス１０から受けたコマンドやパラメータ（広義にはデータ）に基づいて、表示パネル２４の駆動条件（表示特性制御パラメータ）等を設定する。例えば表示データのフォーマット形式、表示ライン数、表示範囲、表示データの書き込み開始位置又は駆動方法などを設定する。そして表示ドライバ２２は、ホストデバイス１０から受けた表示データに基づいて、設定された駆動条件に従って表示パネル２４のデータ線等を駆動する。
【００３４】
なお図１では画像処理コントローラ３０には、表示ドライバインターフェース（ＬＣＤインターフェース）が設けられていないが、これを設けるようにしてもよい。この場合には、例えばホストデバイス１０の表示ドライバインターフェースに接続されたメイン用表示ドライバにより、メイン表示パネルを駆動する。そして画像処理コントローラ３０の表示ドライバインターフェースに接続されたサブ用表示ドライバにより、サブ表示パネルを駆動する。或いは逆に、ホストデバイス１０側でサブ表示パネルを駆動し、画像処理コントローラ３０側でメイン表示パネルを駆動するようにしてもよい。
【００３５】
画像処理コントローラ３０は、カメラ２０から入力されたカメラデータに対する画像処理を行う。この画像処理としては、カメラデータの画像サイズを表示パネル２４のパネルサイズ（画面サイズ）に適合させるリサイズ処理や、カメラデータのフォーマットを変換する処理などがある。そして画像処理コントローラ３０は画像処理後のカメラデータを、カメラバス（カメラインターフェース）を介してホストデバイス１０に出力する。そして画像処理コントローラ３０からのカメラデータは、例えばＤＭＡ転送などを利用して、メインメモリ２６等を介して表示ドライバ２２に転送される。そしてホストデバイス１０は、表示ドライバ２２を制御して、カメラ２０で撮影された画像を表示パネル２４に表示させる。
【００３６】
また画像処理コントローラ３０はホストバス（ホストインターフェース）を介してホストデバイス１０に接続される。このホストバスには、例えば音声処理デバイス、操作インターフェースデバイスなどのその他のデバイス２８が接続される。画像処理コントローラ３０は、カメラデータの圧縮処理などの画像処理を行う。そしてカメラデータを圧縮することで得られたＪＰＥＧカメラデータ（広義には静止画圧縮カメラデータ）やＭＰＥＧカメラデータ（広義には動画圧縮カメラデータ）は、ホストバスを介してホストデバイス１０に出力される。するとホストデバイス１０は、このＪＰＥＧカメラデータやＭＰＥＧカメラデータを、ホストデバイス１０に直結されたメモリバス（メモリインターフェース）を介してメインメモリ２６に出力し、ファイルとして保存する。
【００３７】
図２に本実施形態の比較例を示す。この比較例では、カメラ２０から入力されたカメラデータは、画像処理コントローラ３１により画像処理が施されて、ホストバス（ホストインターフェース）に出力される。そしてホストデバイス１１は、このカメラデータをホストバスを介してメインメモリ２６に保存する。またホストデバイス１１は、画像処理コントローラ３１からのカメラデータに応じた表示データを表示ドライバ２２に出力する。そして表示ドライバ２２を制御して、カメラ２０で撮影された画像を表示パネル２４に表示させる。
【００３８】
しかしながらこの図２の比較例の手法では、画像処理コントローラ３１からのカメラデータを、ホストバスを介してホストデバイス１１がリードする処理が必要になり、このリード処理によりホストバスが占有されてしまう。このため、その他のデバイス２８がホストバスを介して行う処理などが阻害されてしまい、ホストデバイス１１で実行されるソフトウェア処理の非効率化などの問題を招く。
【００３９】
これに対して図１の本実施形態では、ホストデバイス１０が有するホスト側カメラ入力インターフェースを有効利用してカメラデータを転送している。即ち画像処理後のカメラデータは、高速なカメラバス（カメラインターフェース）を介して画像処理コントローラ３０からホストデバイス１０に転送され、表示パネル２４に表示される。従って、表示用のカメラデータの転送のためにホストバスが占有されないため、その他のデバイス２８が行う処理が阻害されてしまう事態を防止でき、ホストデバイス１０の処理の効率化を図れる。
【００４０】
また本実施形態では画像処理コントローラ３０が、同期信号（垂直同期信号、水平同期信号）やカメラデータ信号などのカメラインターフェース信号のエミュレーション処理を行う。即ちカメラ２０から出力されるカメラインターフェース信号に対応したエミュレーション・カメラインターフェース信号を、画像処理コントローラ３０が生成して、ホストデバイス１０に出力する。従って、あたかもホスト側のカメラ入力インターフェースにカメラ２０が直結されているかのように、ホストデバイス１０に認識させることが可能になる。従って、ホスト側のカメラ入力インターフェースにカメラ２０を直結した場合と同様の処理で、カメラデータを表示パネル２４に表示させることが可能になる。この結果、ホストデバイス１０で実行されるソフトウェアの設計の容易化や処理負荷の低減等を図れる。
【００４１】
２．構成例
図３に本実施形態の画像処理コントローラ３０の構成例を示す。この画像処理コントローラ３０はカメラ入力インターフェース４０、画像処理部５０、メモリ６０、カメラ出力インターフェース７０、ホストインターフェース８０、レジスタ部９０を含む。なお画像処理コントローラ３０は図３の構成に限定されず、図３の回路ブロックの一部を省略したり、回路ブロック間の接続形態を変更したり、図３とは異なる回路ブロックを追加してもよい。
【００４２】
カメラ入力インターフェース４０は、カメラ２０（イメージデバイス、撮像デバイス）からのカメラデータを入力するためのインターフェース（回路）である。具体的にはカメラ２０からカメラインターフェース信号を受け、カメラデータを画像処理部５０等に出力する。このカメラインターフェース信号は、垂直同期信号ＣＭＶＲＥＦ、水平同期信号ＣＭＨＲＥＦ、カメラデータ信号ＣＭＤＡＴ、クロック信号ＣＭＣＬＫＩＮなどを含むことができる。ここで信号ＣＭＶＲＥＦ、ＣＭＨＲＥＦは、各々、垂直表示期間、水平表示期間を設定するための信号である。また信号ＣＭＤＡＴは、例えば８ビット（或いは６〜２４ビット）のカメラデータを伝達するための信号である。また信号ＣＭＣＬＫＩＮは、信号ＣＭＤＡＴの取り込み用（サンプリング用）のクロック信号である。この信号ＣＭＣＬＫＩＮは、例えばカメラ入力インターフェース４０からのマスタークロック信号ＭＣＬＫに基づき生成できる。
【００４３】
画像処理部５０はカメラデータに対して種々の画像処理を行うものである。ここで画像処理部５０で行われる画像処理としては、リサイズ処理、圧縮処理又は変換処理などがある。
【００４４】
例えばリサイズ処理には、カメラデータを表示パネル２４に表示するための表示用リサイズ処理と、カメラデータをファイルとして保存するためのキャプチャ用リサイズ処理がある。例えばカメラデータのサイズが１６００×１２００（水平方向の画素数が１６００、垂直方向の画素数が１２００）であり、表示パネル２４のサイズが６４０×４８０（ＶＧＡ）や３２０×２４０（ＱＶＧＡ）である場合には、表示用リサイズ処理によりカメラデータをリサイズ（縮小）する。またメモリの節約のためにカメラ画像を縮小して保存する場合には、キャプチャ用リサイズ処理によりカメラデータをリサイズする。
【００４５】
また圧縮処理としては、ＪＰＥＧ（広義には静止画圧縮）、ＭＰＥＧ（広義には動画圧縮）などがある。また変換処理としては、ＹＵＶ−ＹＵＶ変換（例えばＹＵＶ４２２からＹＵＶ４２０への変換）、ＹＵＶ−ＲＧＢ変換、ガンマ補正、回転処理、或いはミラー（鏡像）処理などがある。
【００４６】
メモリ６０（バッファ、ＦＩＦＯ）はカメラデータを一時的に記憶するものであり、例えばＳＲＡＭなどにより構成できる。具体的にはメモリ６０は、画像処理が行われたカメラデータを記憶する。例えば画像処理部５０は、カメラ入力インターフェース４０を介して入力されたカメラデータに画像処理を施し、画像処理後のカメラデータをメモリ６０に書き込む。或いは画像処理部５０は、メモリ６０に記憶されたカメラデータを読み出し、画像処理を施して再度メモリ６０に書き込む。
【００４７】
カメラ出力インターフェース７０は、メモリ６０（ＦＩＦＯ）に記憶されたカメラデータを、ホストデバイス１０のホスト側カメラ入力インターフェース１２に出力する。具体的にはカメラ出力インターフェース７０は、カメラ入力インターフェース４０を介して入力される垂直同期信号ＣＭＶＲＥＦ、水平同期信号ＣＭＨＲＥＦなどのエミュレーション処理を行い、エミュレーション・カメラインターフェース信号を生成する。このエミュレーション・カメラインターフェース信号の生成は、レジスタ部９０のタイミング設定レジスタ９２に設定されたタイミング情報（垂直表示期間設定信号、水平表示期間設定信号）に基づいて、エミュレーション信号ジェネレータ７２が行う。
【００４８】
例えばこのエミュレーション処理においては、カメラ出力インターフェース７０が、画像処理部５０でのリサイズ処理（表示用リサイズ処理）のリサイズ倍率に応じた長さに垂直表示期間（垂直アクティブ期間）、水平表示期間（水平アクティブ期間）の長さが設定されるエミュレーション垂直同期信号ＥＣＭＶＲＥＦ、エミュレーション水平同期信号ＥＣＭＨＲＥＦを生成する。そして生成された信号ＥＣＭＶＲＥＦ、ＥＣＭＨＲＥＦをカメラバスを介してホスト側カメラ入力インターフェース１２（ホストデバイス１０）に出力する。またカメラ出力インターフェース７０は、カメラデータ信号ＣＭＤＡＴに対応したエミュレーションカメラデータ信号ＥＣＭＤＡＴや、ＥＣＭＤＡＴの取り込み用（サンプリング用）のクロック信号ＥＣＭＣＬＫＯＵＴを、ホスト側カメラ入力インターフェース１２に出力する。するとホストデバイス１０の表示ドライバインターフェース１４は、ＥＣＭＤＡＴに対応する表示データを表示ドライバ２２に出力する。これにより、カメラ２０により撮影された画像が表示パネル２４に表示されるようになる。
【００４９】
またカメラ出力インターフェース７０は、カメラデータを表示パネル２４に表示するための表示用（プレビュー用）リサイズ処理が画像処理部５０により行われた場合には、表示用リサイズ処理が行われたカメラデータを、ホスト側カメラ入力インターフェース１２に出力する。このようにすれば、ホストデバイス１０の表示ドライバインターフェース１４は、表示パネル２４のパネルサイズに適合したカメラデータを、表示データとして表示ドライバ２２に出力できるようになる。
【００５０】
またカメラデータをファイルとして保存するためのキャプチャ用リサイズ処理が行われた場合には、このキャプチャ用リサイズ処理が行われたカメラデータについては、例えばホストインターフェース８０がホストデバイス１０に出力する。
【００５１】
なお、キャプチャ用リサイズ処理が行われたカメラデータを、カメラ出力インターフェース７０が出力するようにしてもよい。また画像処理部５０によりカメラデータの圧縮処理が行われた場合に、カメラ出力インターフェース７０が、圧縮カメラデータをホスト側カメラ入力インターフェース１２に出力することも可能である。
【００５２】
ホストインターフェース８０は、ホストデバイス１０との間のホストインターフェース処理を行うものである。具体的にはホストデバイス１０との間でホストインターフェース信号のやり取りを行う。
【００５３】
このホストインターフェース信号としては、チップセレクト信号ＣＳ、メモリアクセス／ＦＩＦＯアクセス識別信号Ｍ／Ｒ、アドレス信号Ａ［１９：０］、データ信号Ｄ［１５：０］、リード信号ＲＤ、ライト信号ＷＲ、ウェイト信号ＷＡＩＴなどがある。またシリアル転送用のチップセレクト信号ＳＣＳ、シリアルクロック信号ＳＣＫ、シリアル転送用のアドレス０信号Ａ０、シリアルデータ信号ＳＩなどを含むこともできる。
【００５４】
なお図４にホストインターフェース信号のタイミングチャート例を示す。図４はタイプ８０のホストインターフェース信号の例である。但し本実施形態のホストインターフェースは図４に限定されず、タイプ６８やシリアル転送のホストインターフェースであってもよい。
【００５５】
レジスタ部９０は制御レジスタやステータスレジスタなどを含むものである。具体的にはレジスタ部９０はタイミング設定レジスタ９２、転送制御レジスタ９４、リサイズ倍率設定レジスタ９６、回転角度設定レジスタ９７、ミラー表示レジスタ９８を含む。
【００５６】
ここでタイミング設定レジスタ９２には、エミュレーション・カメラインターフェース信号を生成するためのタイミング情報が記憶される。具体的にはエミュレーション垂直同期信号やエミュレーション水平同期信号のタイミング（アクティブ期間）を設定するためのタイミング情報が記憶される。
【００５７】
転送制御レジスタ９４はカメラデータの転送制御のためのレジスタである。具体的には本実施形態では、ホストデバイス１０から指示があったことを条件に、メモリ６０に記憶された１画面分のカメラデータ（又は表示データ）をカメラ出力インターフェース７０を介してホストデバイス１０に転送するシングル転送モードが用意される。またカメラ入力インターフェース４０にカメラデータが入力されたことを条件（垂直同期信号が非アクティブになったことを条件）に、画像処理部５０、メモリ６０、カメラ出力インターフェース７０を介してカメラデータをホストデバイス１０に自動転送するオート転送モードが用意される。そしてこれらのシングル転送モードやオート転送モードは、ホストデバイス１０がホストインターフェース８０を介して転送制御レジスタ９４に設定を行うことで実現される。例えばシングル転送モードを行う場合には、転送制御レジスタ９４のシングル転送指示ビットにホストデバイス１０が情報を設定する。またオート転送モードを行う場合には、転送制御レジスタ９４のオート転送イネーブルビットにホストデバイス１０が情報を設定する。
【００５８】
リサイズ倍率設定レジスタ９６は、画像処理部５０で行われるリサイズ処理のリサイズ倍率が設定されるレジスタである。具体的にはホストデバイス１０はホストインターフェース８０を介して、リサイズ倍率設定レジスタ９６に表示用リサイズ処理やキャプチャ用リサイズ処理のリサイズ倍率を設定する。すると画像処理部５０は、このリサイズ倍率に基づいて、入力されたカメラデータに対してリサイズ処理を行う。
【００５９】
回転角度設定レジスタ９７は、画像処理部５０で行われる回転処理の回転角度が設定されるレジスタである。またミラー表示レジスタ９８は、画像処理部５０で行われるミラー処理の指示（イネーブル、ディスエーブル）が設定されるレジスタである。具体的にはホストデバイス１０はホストインターフェース８０を介して、回転角度設定レジスタ９７に回転処理の回転角度（０度、９０度、１８０度、２７０度）を設定する。すると画像処理部５０は、処理対象画像（カメラ画像）をその中心点を中心として、設定された回転角度だけ回転させた画像を生成するための処理を行う。またホストデバイス１０はホストインターフェース８０を介して、ミラー表示レジスタ９８にミラー処理の指示を設定する。すると画像処理部５０は、処理対象画像の鏡像であるミラー表示画像を生成するための処理を行う。
【００６０】
３．エミュレーション処理
本実施形態ではカメラ出力インターフェース７０が、カメラ２０から入力されたカメラインターフェース信号のエミュレーション処理を行っている。例えば図５（Ａ）（Ｂ）にエミュレーション・カメラインターフェース信号のタイミングチャート例を示す。
【００６１】
図５（Ａ）においてＴ１は垂直表示期間であり、Ｔ２は垂直ブランク期間である。またＴ３は水平表示期間であり、Ｔ４は水平ブランク期間である。別の言い方をすれば、Ｔ１は、エミュレーション垂直同期信号ＥＣＭＶＲＥＦがアクティブになる期間であり、Ｔ２は、ＥＣＭＶＲＥＦが非アクティブになる期間である。またＴ３は、エミュレーション水平同期信号ＥＣＭＨＲＥＦがアクティブになる期間であり、Ｔ４は、ＥＣＭＨＲＥＦが非アクティブになる期間である。このように図５（Ａ）では、ＥＣＭＶＲＥＦ、ＥＣＭＨＲＥＦにより、垂直表示期間Ｔ１、垂直ブランク期間Ｔ２、水平表示期間Ｔ３、水平ブランク期間Ｔ４の長さが設定されている。
【００６２】
カメラデータ信号ＥＣＭＤＡＴ［７：０］は、ＥＣＭＶＲＥＦがアクティブ（例えばハイレベル）であり且つＥＣＭＨＲＥＦがアクティブである期間に、有効なデータとしてホストデバイス１０に出力される。即ちＥＣＭＤＡＴは垂直表示期間であり且つ水平表示期間である場合に、有効なデータとしてホストデバイス１０に出力される。このＥＣＭＤＡＴを受けたホストデバイス１０は、図５（Ｂ）に示すように、クロック信号ＥＣＭＣＬＫＯＵＴのエッジ（例えば立ち上がりエッジ）でＥＣＭＤＡＴをサンプリングすることで、ＥＣＭＤＡＴを取り込むことができる。
【００６３】
そして本実施形態では、画像処理部５０でのリサイズ処理のリサイズ倍率（縮小率）に応じた長さに垂直表示期間Ｔ１、水平表示期間Ｔ３の長さが設定されるように、エミュレーション垂直同期信号ＥＣＭＶＲＥＦ、エミュレーション水平同期信号ＥＣＭＨＲＥＦを生成している。
【００６４】
例えば図６（Ａ）は表示パネル２４に表示される画像のサイズがＶＧＡ（６４０×４８０）である場合のＥＣＭＶＲＥＦ、ＥＣＭＨＲＥＦの波形例であり、図６（Ｂ）は画像サイズがＱＶＧＡ（３２０×２４０）である場合の波形例である。図６（Ａ）のＶＧＡの場合のリサイズ倍率を１／Ｎとすると、図６（Ｂ）のＱＶＧＡの時のリサイズ倍率は１／４Ｎになる。そしてリサイズ倍率が１／Ｎである図６（Ａ）では、期間Ｔ１の長さ（水平方向の画素数）は６４０になり、期間Ｔ３の長さ（垂直方向の画素数）は４８０になる。一方、リサイズ倍率が１／４Ｎである図６（Ｂ）では、期間Ｔ１の長さは３２０になり、期間Ｔ３の長さは２４０になる。即ちリサイズ倍率が小さくなるほど、垂直表示期間Ｔ１、水平表示期間Ｔ３の長さ（垂直同期信号、水平同期信号のアクティブ期間）が短くなるように、信号ＥＣＭＶＲＥＦ、ＥＣＭＨＲＥＦが生成される。
【００６５】
このようにすれば、リサイズ倍率に応じた適正な波形のエミュレーション垂直同期信号ＥＣＭＶＲＥＦ、エミュレーション水平同期信号ＥＣＭＨＲＥＦを、ホストデバイス１０に出力できるようになる。そしてホストデバイス１０は、信号ＥＣＭＶＲＥＦ、ＥＣＭＨＲＥＦに基づいてカメラデータの各画素データの表示位置を設定して、表示ドライバ２２をカメラデータを転送するだけで済むため、ホストデバイス１０の処理負荷の軽減化や処理の簡素化を図れる。
【００６６】
なお期間Ｔ１〜Ｔ４の設定は、ホストデバイス１０がホストインターフェース８０を介して図３のタイミング設定レジスタ９２に期間Ｔ１〜Ｔ４の情報を書き込むことにより実現できる。
【００６７】
４．詳細な構成例
図７に本実施形態の画像処理コントローラ３０の詳細な構成例を示す。なお図７の構成要素の一部を省略した構成にしてもよい。
【００６８】
図７の表示用リサイザ１０２、キャプチャ用リサイザ１１２、変換部１１４、１２４、ＪＰＥＧコーデック１１８、ＭＰＥＧコーデック１２８は、図３の画像処理部５０に含ませることができる。また表示用バッファ１０６、ＪＰＥＧラインバッファ１１６、ＭＰＥＧエンコード・デコードバッファ１２６、表示用ＦＩＦＯ１１０、ＪＰＥＧＦＩＦＯ１２０、ＭＰＥＧＦＩＦＯ１３０は、図３のメモリ６０に含ませることができる。
【００６９】
例えばカメラ２０の撮影画像をプレビュー画像として表示パネル２４に表示する場合には、次のようにしてカメラデータがホストデバイス１０に転送される。即ちカメラ入力インターフェース４０に入力されたカメラデータは、デマルチプレクサ１００を介して表示用リサイザ１０２に入力される。そして表示用リサイザ１０２は、カメラデータを表示パネルに表示するための表示用リサイズ処理を行う。そして表示用リサイズ処理が行われたカメラデータは、表示用バッファ１０６に書き込まれる。この表示用バッファ１０６は、例えば少なくとも１画面分のカメラデータ（表示データ）を記憶することができるフレームメモリとして機能する。表示用バッファ１０６に書き込まれたカメラデータは表示用バッファ１０６から読み出され、表示用ＦＩＦＯ（FirstInFirstOut）１１０に蓄積されて、カメラ出力インターフェース７０を介してホストデバイス１０に出力される。
【００７０】
またカメラ２０の撮影画像をキャプチャして、ＪＰＥＧ（静止画圧縮）ファイルとして保存する場合には、次のようにしてカメラデータがホストデバイス１０に転送される。即ちカメラ入力インターフェース４０に入力されたカメラデータは、デマルチプレクサ１００を介してキャプチャ用リサイザ１１２に入力される。そしてキャプチャ用リサイザ１１２は、カメラデータをＪＰＥＧファイルとして保存するためキャプチャ用リサイズ処理を行う。そしてキャプチャ用リサイズ処理が行われたカメラデータは、変換部１１４を介してＪＰＥＧラインバッファ１１６に書き込まれる。この変換部１１４では、例えばＹＵＶ４２２からＹＵＶ４２０へのフォーマット変換などが行われる。そしてＪＰＥＧコーデック１１８（広義には静止画コーデック）は、カメラデータに対して静止画圧縮処理を行う。即ちＪＰＥＧラインバッファ１１６に書き込まれたカメラデータのＪＰＥＧ圧縮処理を行う。そして圧縮処理により得られたＪＰＥＧカメラデータ（広義には圧縮カメラデータ、静止画圧縮カメラデータ）は、ＪＰＥＧＦＩＦＯ１２０に蓄積されて、ホストインターフェース８０を介してホストデバイス１０に出力される。
【００７１】
例えばカメラ２０により被写体のプレビューを行っている状態では、図７の４０、１００、１０２、１０６、１１０、７０の経路で、カメラデータがホストデバイス１０に転送され、表示パネル２４にカメラ撮影画像が表示される。一方、カメラ２０のシャッタが押されて、カメラ撮影画像を保存する場合には、図７の４０、１００、１１２、１１４、１１６、１１８、１２０、８０の経路で、カメラデータがホストデバイス１０に転送され、ＪＰＥＧカメラデータとして保存されることになる。
【００７２】
このように図７では、表示用リサイザ１０２によりリサイズ処理が行われたカメラデータは、カメラ出力インターフェース７０を介してホストデバイス１０に出力される。一方、キャプチャ用リサイザ１１２によりリサイズ処理が行われて圧縮されたＪＰＥＧカメラデータは、ホストインターフェース８０を介してホストデバイス１０に出力される。
【００７３】
即ちカメラ２０のプレビュー画像を表示パネル２４に表示する場合には、カメラ２０からカメラデータが間断無く入力される。従って、この場合には、高速なカメラバスを介してホストデバイス１０にカメラデータを転送することが望ましい。一方、カメラ２０のキャプチャ画像であるカメラデータは、カメラのシャッタを押したタイミングで１回だけ転送すればよい。しかも、カメラデータはＪＰＥＧで圧縮されてそのサイズが小さくなっている。従って、この場合には、それほど高速ではないホストバスを介して、ホストデバイス１０にカメラデータを転送することも可能になる。
【００７４】
このように本実施形態では、カメラデータの利用態様に応じて、カメラデータの転送経路を変化させている。即ちカメラデータをプレビューとして表示パネル２４に表示する利用態様の場合には、カメラ出力インターフェース７０を介した経路でカメラデータをホストデバイス１０に転送する。一方、カメラデータをＪＰＥＧファイル等として保存する利用態様の場合には、ホストインターフェース８０を介した経路でカメラデータをホストデバイス１０に転送する。このようにすれば、カメラデータの利用態様に応じた最適な転送経路でカメラデータをホストデバイス１０に転送することが可能になり、転送効率を最適化できる。
【００７５】
なお、カメラ２０の撮影画像をＭＰＥＧ（動画圧縮）ファイルとして保存する場合には、次のようにしてカメラデータがホストデバイス１０に転送される。即ちカメラ入力インターフェース４０に入力されたカメラデータは、デマルチプレクサ１００を介して表示用リサイザ１０２に入力される。そしてリサイズ処理が行われたカメラデータは、変換部１２４を介してＭＰＥＧエンコード・デコードバッファ１２６（コーデックバッファ）に書き込まれる。この変換部１２４では、例えばカメラデータの回転処理やミラー処理などが行われる。また変換部１２４はＹＵＶ４２２からＹＵＶ４２０へのフォーマット変換などを行うこともできる。またＭＰＥＧでは、表示する画像のサイズと保存する画像のサイズが、一般的に同じになるため、リサイズ処理は表示用リサイザ１０２により行われる。
【００７６】
ＭＰＥＧコーデック１２８（広義には動画コーデック）は、カメラデータに対して動画圧縮処理を行う。即ちＭＰＥＧエンコード・デコードバッファ１２６に書き込まれたカメラデータに対してＭＰＥＧの圧縮処理を行う。そして圧縮処理により得られたＭＰＥＧカメラデータ（広義には圧縮カメラデータ、動画圧縮カメラデータ）は、ＭＰＥＧＦＩＦＯ１３０に蓄積されて、ホストインターフェース８０を介してホストデバイス１０に出力される。
【００７７】
５．バイパス回路
図７に示すように本実施形態では、入力されたカメラデータをホストデバイス１０にバイパス転送するバイパス回路１４０を設けている。具体的にはバイパス回路１４０は、カメラ入力インターフェース４０に入力されたカメラデータを、画像処理部５０やメモリ６０を介さずに、カメラ出力インターフェース７０に出力する。
【００７８】
即ち本実施形態では、表示用リサイザ１０２等によりカメラデータに対するリサイズ処理が行われる。しかしながら、カメラ２０の利用態様によっては、撮影されたカメラデータを、リサイズ処理などの画像処理を施さずにそのまま利用する場合がある。例えばカメラ２０によりバーコードを撮影し、バーコード情報を読み取るような利用態様も考えられる。この利用態様では、ホストデバイス１０上で動作するソフトウェアがカメラデータを解析し、バーコード情報を読み取る。そしてこの場合には、カメラデータの解像度が高いほど、バーコード情報の読み取り精度が高くなるため、表示用リサイザ１０２によるリサイズ処理は行われないことが望ましい。
【００７９】
そこで本実施形態では図７に示すようなバイパス回路１４０を設け、カメラ入力インターフェース４０に入力されたカメラデータを、表示用リサイザ１０２等を介さずに、そのままカメラ出力インターフェース７０を介してホストデバイス１０に転送している。このようにすれば、ホストデバイス１０のソフトウェアは、高解像度のカメラデータに基づいてバーコード情報等を解析して読み出すことが可能になり、利便性を向上できる。
【００８０】
しかも、カメラバスはホストデバイスに比べて高速なバスである。またリサイズ処理が行われないカメラデータのサイズは大きい。従って本実施形態によれば、このような大きなサイズのカメラデータを、高速なカメラバスを介してホストデバイス１０に転送できるため、転送効率を向上できる。
【００８１】
図８にバイパス回路１４０の構成例を示す。信号ＣＭＶＲＥＦ、ＣＭＨＲＥＦ、ＣＭＤＡＴは、クロック信号ＣＭＣＬＫＩＮに基づきフリップフロップＤＦＦ１、ＤＦＦ２、ＤＦＦ３によりサンプリングされ、信号ＥＣＭＶＲＥＦ、ＥＣＭＨＲＥＦ、ＥＣＭＤＡＴとしてホストデバイス１０に出力される。このようにフリップフロップＤＦＦ１、ＤＦＦ２、ＤＦＦ３により信号をサンプリングすることで、信号のＡＣ特性を改善できる。
【００８２】
なおセレクタＳＥＬ１〜ＳＥＬ４は、信号レベルやエッジの極性反転のためのセレクタである。例えば選択信号ＳＳ１、ＳＳ２を用いてＤＦＦ１、ＤＦＦ２の反転出力ＸＱを選択すれば、ＣＭＶＲＥＦ、ＣＭＨＲＥＦの信号レベルの極性を反転して、ＥＣＭＶＲＥＦ、ＥＣＭＨＲＥＦとして出力できる。また選択信号ＳＳ３が入力されるセレクタＳＥＬ３を用いれば、クロック信号ＣＭＣＬＫＩＮによるサンプリングのエッジ極性を切り替えることができる。また選択信号ＳＳ４が入力されるセレクタＳＥＬ４を用いれば、ＣＭＣＬＫＩＮの信号レベルの極性を反転して、ＥＣＭＣＬＫＯＵＴとして出力できる。
【００８３】
なお図８では、フリップフロップＤＦＦ１、ＤＦＦ２、ＤＦＦ３により信号をサンプリングする構成を採用しているが、ＤＦＦ１、ＤＦＦ２、ＤＦＦ３やセレクタＳＥＬ１〜４などを設けない構成としてもよい。この場合には、バイパス回路１４０は、単なるバッファとしての機能を持てばよい。即ち信号ＣＭＶＲＥＦ、ＣＭＨＲＥＦ、ＣＭＤＡＴ、ＣＭＣＬＫＩＮを、バッファ回路によりバッファリングし、ＥＣＭＶＲＥＦ、ＥＣＭＨＲＥＦ、ＥＣＭＤＡＴ、ＥＣＭＣＬＫＯＵＴとしてホストデバイス１０に出力すればよい。
【００８４】
６．変形例
図９に本実施形態の変形例を示す。図７では、ＪＰＥＧにより圧縮されたＪＰＥＧカメラデータはホストインターフェース８０を介してホストデバイス１０に出力される。これに対して図９では、ＪＰＥＧカメラデータはカメラ出力インターフェース７０を介してホストデバイス１０に出力される。即ち図９のＪＰＥＧコーデック１１８（広義にコーデック）は、カメラデータに対して圧縮処理を行う。そしてカメラ出力インターフェース７０は、圧縮処理により得られた圧縮カメラデータをホストデバイス１０に出力する。
【００８５】
前述のように、カメラ２０の撮影画像を表示パネル２４にプレビューで表示する場合には、カメラデータを間断なく転送する必要があるため、カメラ出力インターフェース７０を介してカメラデータをホストデバイス１０に出力することが望ましい。
【００８６】
一方、ＪＰＥＧカメラデータについては、プレビュー用カメラデータのように間断なく転送する必要はないため、図７ではカメラ出力インターフェース７０を介してホストデバイス１０に出力している。
【００８７】
しかしながら、ＪＰＥＧカメラデータでは、キャプチャ用リサイザ１１２でのリサイズ倍率が等倍になることもあり、１画面分（１フレーム分）のカメラデータサイズで比べると、プレビュー用のカメラデータよりも一般的にサイズが大きい。
【００８８】
そこで図９では、このＪＰＥＧカメラデータについては、ホストインターフェース８０ではなく、カメラ出力インターフェース７０を介してホストデバイス１０に出力している。そしてホストデバイス１０は、ホスト側カメラ入力インターフェース１２を介して入力されたＪＰＥＧカメラデータを、メインメモリ２６にＪＰＥＧファイルとして保存する。このようにすれば、ＪＰＥＧカメラデータの転送のためにホストバスが占有されてホストデバイス１０の処理効率が低下するなどの事態を防止できる。
【００８９】
なお図９では、ＪＰＥＧ（静止画圧縮）のカメラデータについては、カメラ出力インターフェース７０を介してホストデバイス１０に出力する一方で、ＭＰＥＧ（動画圧縮）のカメラデータについては、ホストインターフェース８０を介してホストデバイス１０に出力している。
【００９０】
即ち前述のように、ＪＰＥＧカメラデータでは、キャプチャ用リサイザ１１２でのリサイズ倍率が等倍になることもあり、１画面分のカメラデータサイズが一般的に大きい。これに対してＭＰＥＧカメラデータは、そのサイズが例えばＱＶＧＡやＱＣＩＦに設定され、プレビュー用カメラデータと同様に表示用リサイザ１０２によりリサイズされる。従って、ＭＰＥＧカメラデータは、１画面分のカメラデータサイズで比べると、ＪＰＥＧカメラデータに比べてサイズが小さい。
【００９１】
またＭＰＥＧのコーデックは、ハードウェア回路とソフトウェアで分担して処理することが望ましい。例えばＤＣＴ（離散コサイン変換）、量子化、逆量子化、逆ＤＣＴ、動き補償、或いは動き検出などの処理は、ハードウェア回路であるＭＰＥＧコーデック１２８が行う。一方、ＤＣ予測、スキャニング、或いはＶＬＣ符号化（可変長符号化）などの処理は、ホストデバイス１０上で動作するソフトウェアが行う。このようにすることで、ＭＰＥＧのコーデック処理の効率化を図れる。
【００９２】
そしてこのようにＭＰＥＧのコーデックをハードウェア回路とソフトウェアで分担して処理する場合には、ＭＰＥＧのカメラデータについては、ホストインターフェース８０を介してホストデバイス１０に出力することが望ましい。即ちＭＰＥＧコーデック１２８によるハードウェア・コーデック処理（ＤＣＴ、量子化、逆量子化、逆ＤＣＴ、動き補償、動き検出）が施された後のカメラデータを、ＭＰＥＧＦＩＦＯ１３０に書き込み、ホストインターフェース８０を介してホストデバイス１０に出力する。こうすれば、ホストデバイス１０上で動作するソフトウェアがハードウェア・コーデック処理後のカメラデータを受け取り、ソフトウェア・コーデック処理（ＤＣ予測、スキャニング、ＶＬＣ符号化）を施すという一連の処理を、スムーズに行うことが可能になる。
【００９３】
７．回転、ミラー処理
携帯電話機に対するカメラ２０（ＣＣＤ）の実装形態は様々である。従って、カメラ２０での撮影イメージと、表示パネル２４での表示イメージが一致しない場合がある。従って、これらを一致させるために、カメラ２０からのカメラデータに対して回転処理やミラー処理を行うことが望まれる。例えば図１０のＡ１に示すカメラ２０の撮影イメージと、Ａ３に示す表示パネル２４での表示イメージは一致していない。従ってＡ１の画像をＡ３に示すように９０度回転させる処理が必要になる。またカメラ２０の実装形態によっては、９０度以外の回転処理やミラー処理（鏡像処理）が必要な場合もある。
【００９４】
このために本実施形態では図７に示すように、カメラデータに対して回転処理及びミラー処理の少なくとも一方を行う変換部１２４を設けている。そして動画カメラデータについては、図１０のＡ２に示すように、変換部１１４により回転処理及びミラー処理の少なくとも一方が行われた後に、ＭＰＥＧエンコード・デコードバッファ１２６（広義にはメモリ）に書き込まれる。そして書き込まれた動画カメラデータに対して、ＭＰＥＧコーデック１２８（動画エンコーダ）が動画圧縮処理を行い、得られたＭＰＥＧカメラデータが、ホストインターフェース８０などを介してホストデバイス１０に出力される。そしてＡ３に示すように、ＭＰＥＧファイルとして保存されたり、デコードされて表示パネル２４に表示される。
【００９５】
一方、静止画カメラデータについては、図１０のＡ４に示すように、回転処理やミラー処理を行わずにＪＰＥＧラインバッファ１１６（メモリ）に書き込まれる。そして書き込まれたカメラデータに対して、ＪＰＥＧコーデック１１８（静止画エンコーダ）が静止画圧縮処理を行い、得られたＪＰＥＧカメラデータが、ホストインターフェース８０（又はカメラ出力インターフェース７０）を介してホストデバイス１０に出力される。すると図１０のＡ５に示すように、ＪＰＥＧカメラデータはメインメモリ２６に一旦保存され、Ａ６に示すように、ホストデバイス１０上で動作するソフトウェアにより回転処理やミラー処理が施される。またＡ７に示すように表示パネル２４に表示される。
【００９６】
ＪＰＥＧカメラデータは、フレーム単位のデータであるため、図１０のＡ５、Ａ６に示すようにソフトウェア処理により回転処理やミラー処理を行うことは容易である。これに対してＭＰＥＧカメラデータは、例えば１５ＦＰＳの速度で途切れることなく生成したり再生したりする必要がある。従って図１０のＡ５、Ａ６に示すようにメインメモリから読み出す際にソフトウェア処理により回転処理やミラー処理を行うのは難しい。またＭＰＥＧエンコードの際に回転処理やミラー処理を行うのも難しい。
【００９７】
そこで本実施形態では図１０に示すように、動画カメラデータについては、メモリ（ＭＰＥＧエンコード・デコードバッファ）に書き込む前に回転処理やミラー処理を行う。そしてメモリに書き込まれた回転処理・ミラー処理後の動画カメラデータに対して動画圧縮処理を行い、得られたＭＰＥＧカメラデータをファイルとして保存したり、デコードして表示パネル２４に表示する。
【００９８】
このようにすれば、図１０のＡ５、Ａ６に示すようにソフトウェア処理により回転処理やミラー処理を行わなくても済むようになる。そしてカメラ２０の実装形態が原因で撮影イメージと表示イメージが一致しない場合であっても、これらが一致するように、動画カメラデータに対して回転処理やミラー処理を施すことが可能になる。
【００９９】
なお、ここで回転処理とは、処理対象画像（カメラ画像）の向きを処理対象画像の中心点を中心に０度、９０度、１８０度、２７０度というように回転させた画像を生成するための処理である。またミラー処理とは、処理対象画像の鏡像（処理対象画像に対面するミラーに映る画像）であるミラー表示画像を生成するための処理である。例えば回転処理やミラー処理を行う場合には、ホストデバイス１０が、図３の回転角度設定レジスタ９７、ミラー表示設定レジスタ９８に対して、ホストデバイス１０が回転角度やミラー表示指示を行う。すると画像処理部５０（変換部１１４）が、その回転角度に応じた回転処理や、ミラー表示指示に従ったミラー処理を行う。具体的には画像処理部５０（変換部１１４）は、メモリ６０（ＭＰＥＧエンコード・デコードバッファ）への書き込みアドレスを制御することで、回転処理やミラー処理を実現する。
【０１００】
８．オート転送モード
本実施形態ではカメラデータの転送モードとしてシングル転送モードとオート転送モードを用意している。
【０１０１】
ここでシングル転送モードでは、ホストデバイス１０から指示があったことを条件に、図３のメモリ６０に記憶された１画面分のカメラデータ（或いはカメラデータ以外の表示データ）をカメラ出力インターフェース７０を介してホストデバイス１０に転送するモードである。図７を例にとれば、ホストデバイス１０がホストインターフェース８０を介してシングル転送を指示すると、表示用バッファ１０６（フレームメモリ）に記憶された１画面分のカメラデータ（又は表示データ）が、表示用ＦＩＦＯ１１０、カメラ出力インターフェース７０を介してホストデバイス１０に転送される。
【０１０２】
一方、オート転送モードは、カメラ入力インターフェース４０にカメラデータが入力されたことを条件に、画像処理部５０、メモリ６０、カメラ出力インターフェース７０を介してカメラデータをホストデバイス１０に自動転送するモードである。図７を例にとれば、カメラ入力インターフェース４０に入力される垂直同期信号が非アクティブになる毎（垂直表示期間が終了する毎）に、表示用バッファ１０６に書き込まれたカメラデータが、表示用ＦＩＦＯ１１０、カメラ出力インターフェース７０を介してホストデバイス１０に自動転送される。
【０１０３】
このオート転送モードを利用すれば、カメラの撮影画像のプレビュー表示等を更にスムーズに行うことが可能になる。即ちホストデバイス１０は、図３の転送制御レジスタ９４にオート転送モードのイネーブルを設定する。すると画像処理コントローラ３０のハードウエア回路は、カメラ２０からの垂直同期信号が非アクティブ（例えばローレベル）になり、垂直表示期間が終了する毎に、その垂直表示期間において表示用バッファ１０６に書き込まれた１画面分のカメラデータを読み出す。そして表示用バッファ１０６から読み出されたカメラデータを、カメラ出力インターフェース７０を介してホストデバイス１０に出力する。このようにして読み出されたカメラデータの画像は、表示パネル２４にプレビュー表示される。そしてホストデバイス１０が、図３の転送制御レジスタ９４にオート転送モードのディスエーブルを設定すると、オート転送モードが終了し、プレビュー表示も終了するようになる。
【０１０４】
例えばシングル転送モードを利用してプレビュー表示を実現しようとすると、表示用バッファ１０６に１画面分のカメラデータが書き込まれる毎に、ホストデバイス１０がシングル転送の指示を行う必要があり、ホストデバイス１０の処理負荷が過大になる。
【０１０５】
これに対してオート転送モードでは、ホストデバイス１０がオート転送モードのイネーブルを設定した後は、ホストデバイス１０の介在がなくても、カメラ２０から取り込まれたカメラデータが、リサイズ処理などが施されて自動的にホストデバイス１０に転送される。従って、ホストデバイス１０（ファームウェア）は、オート転送モードのイネーブルを設定した後は他の処理を行うことが可能になり、ホストデバイス１０の処理効率を向上できる。
【０１０６】
図１１、図１２に、シングル転送モード時やオート転送モード時のホストデバイス１０の処理フローを示す。
【０１０７】
図１１のシングル転送モードでは、ホストデバイス１０は、表示ドライバインターフェースのステータスがＢＵＳＹか否かを判断し、ＢＵＳＹでない場合には、シングル転送の指示を転送制御レジスタ９４に設定する（ステップＳ１、Ｓ２）。すると、１画面分のカメラデータがホストデバイス１０に転送され、シングル転送が終了する（ステップＳ３、Ｓ４）。
【０１０８】
図１２のオート転送モードでは、ホストデバイス１０は、表示ドライバインターフェースのステータスがＢＵＳＹか否かを判断し（ステップＳ１１）、ＢＵＳＹでない場合には、オート転送のイネーブルを転送制御レジスタ９４に設定する（ステップＳ１２）。すると、表示パネルへの表示（プレビュー表示）が終了するまで、１画面分のカメラデータが入力される毎に、そのカメラデータがホストデバイス１０に転送される（ステップＳ１３、Ｓ１４）。そして表示パネルへの表示を終了させる場合には、ホストデバイス１０は、オート転送のディスエーブルを転送制御レジスタ９４に設定する（ステップＳ１５）。そして表示ドライバインターフェースのステータスがＢＵＳＹか否かを判断した後、オート転送が終了する（ステップＳ１６、Ｓ１７）。
【０１０９】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語（静止画圧縮、動画圧縮等）と共に記載された用語（ＪＰＥＧ、ＭＰＥＧ等）は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。
【０１１０】
また画像処理コントローラや電子機器の構成や動作も本実施形態で説明した構成や動作に限定に限定されず、種々の変形実施が可能である。またカメラデータの転送手法、リサイズ手法、圧縮手法等も本実施形態で説明した手法に限定されない。
【図面の簡単な説明】
【０１１１】
【図１】本実施形態の画像処理コントローラを含む電子機器の構成例。
【図２】比較例の構成例。
【図３】本実施形態の画像処理コントローラの構成例。
【図４】ホストインターフェース信号の説明図。
【図５】図５（Ａ）（Ｂ）はカメラインターフェース信号のエミュレーション処理の説明図。
【図６】カメラインターフェース信号のエミュレーション処理の説明図。
【図７】本実施形態の画像処理コントローラの詳細な構成例。
【図８】バイパス回路の構成例。
【図９】本実施形態の変形例。
【図１０】回転・ミラー処理に関する本実施形態の手法の説明図。
【図１１】シングル転送モード時のフロー図。
【図１２】オート転送モード時のフロー図。
【符号の説明】
【０１１２】
１０  ホストデバイス、１２  ホスト側カメラ入力インターフェース、
１４  表示ドライバインターフェース、２０  カメラ、２２  表示ドライバ、
２４  表示パネル、２６  メインメモリ、２８  その他のデバイス、
３０  画像処理コントローラ、４０  カメラ入力インターフェース、
５０  画像処理部、６０  メモリ、７０  カメラ出力インターフェース、
７２  信号ジェネレータ、８０  ホストインターフェース、９０  レジスタ部、
９２  タイミング設定レジスタ、９４  転送制御レジスタ、
９６  リサイズ倍率設定レジスタ、９７  回転角度設定レジスタ、
９８  ミラー表示設定レジスタ、１００  デマルチプレクサ、１０２  表示用リサイザ、
１０６  表示用バッファ、１１０  表示用ＦＩＦＯ、１１２  キャプチャ用リサイザ、
１１４  変換部、１１６  ＪＰＥＧラインバッファ、１１８  ＪＰＥＧコーデック、
１２０  ＪＰＥＧＦＩＦＯ、１２４  変換部、
１２６  ＭＰＥＧエンコード・デコードバッファ、１２８  ＭＰＥＧコーデック、
１３０  ＭＰＥＧＦＩＦＯ
【図１】
2006287715.tif 000003
【図２】
2006287715.tif 000004
【図３】
2006287715.tif 000005
【図４】
2006287715.tif 000006
【図５】
2006287715.tif 000007
【図６】
2006287715.tif 000008
【図７】
2006287715.tif 000009
【図８】
2006287715.tif 000010
【図９】
2006287715.tif 000011
【図１０】
2006287715.tif 000012
【図１１】
2006287715.tif 000013
【図１２】
2006287715.tif 000014