(57)【要約】【課題】回路規模の増大及び消費電力の増大を招くことなく画像の左右反転処理を行い、画像入力が滞りの少ない処理性能に優れた装置を提供すること。【解決手段】本画像処理装置１００は、ラインメモリ１２０と、画像の水平サイズを取得し、レジスタに格納する水平サイズ取得部１１０と、画素データをラインメモリに書き込み、各ラインの画素データをラインメモリに書き込んだ順序とは逆の順序で読み出すことで、各ラインの画素データを左右反転した状態で出力する左右反転制御部１３０とを含み、前記左右反転制御部１３０は、ラインメモリ１２０に所与のラインの画素データを書き込んだ後、当該所与のラインの画像データの読み出しが終了する前に、読み出し前の画像データが格納されていない空きエリアに次のラインの画素データを書き込むことで、ラインメモリに複数のラインの読み出し前の画素データを格納する書き込み制御を行う。【選択図】図１
2013195963.tif 000002
【特許請求の範囲】
【請求項１】
画像を構成する各画素に対応する表示データである画素データを入力して、左右反転して出力する画像処理装置であって、
入力された画素データが格納されるラインメモリと、
入力される画像の水平サイズを取得し、レジスタに格納する水平サイズ取得部と、
入力される画素データを前記ラインメモリに書き込み、各ラインの画素データを前記ラインメモリに書き込んだ順序とは逆の順序で読み出すことで、各ラインの画素データを左右反転した状態で出力する左右反転制御部とを含み、
前記左右反転制御部は、
前記ラインメモリに所与のラインの画素データを書き込んだ後、当該所与のラインの画像データの読み出しが終了する前に、読み出し前の画像データが格納されていない空きエリアに次のラインの画素データを書き込むことで、前記ラインメモリに複数のラインの読み出し前の画素データを格納する書き込み制御を行う画像処理装置。
【請求項２】
請求項１において、
前記左右反転制御部は、
前記ラインメモリのサイズが、入力される画素データの２ライン分以上である場合には、
前記ラインメモリを少なくとも1ライン分の画素データが格納可能なサイズ以上の複数の領域に分割して、入力される画素データをライン単位で各領域に割り当て、割り当てられた所与の領域に所与のラインの画素データを書き込んだ後、当該所与のラインの画像データの読み出しが終了する前に、読み出し前の画像データが格納されていない空きエリアである他の領域に、次のラインの画素データを書き込む制御を行うことで、前記ラインメモリの複数の領域に複数のラインの読み出し前の画素データを格納する書き込み制御を行う画像処理装置。
【請求項３】
請求項１又は２において、
前記左右反転制御部は、
取得した水平サイズとラインメモリのサイズに基づき、前記ラインメモリのサイズが、入力される画素データの２ライン分以上か否か判断する画像処理装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記左右反転制御部は、
前記ラインメモリのサイズが、入力される画素データの２ライン分未満である場合には、
前記ラインメモリに所与のラインの画素データを所与の方向に書き込んだ後、当該所与のラインの画素データの読み出しが終了する前に、読み出し前の画素データが格納されていない空きエリアに次のラインの画素データを、前記所与のラインと同じ方向に書き込む制御を行うことで、ラインメモリに複数のラインの読み出し前の画素データを格納する書き込み制御を行う画像処理装置。
【請求項５】
請求項４において、
前記左右反転制御部は、
所与のラインの画素データの書き込み終了位置が、ラインメモリの一方の端の位置になるように所与のラインの書き込み開始位置を設定し、次のラインの画素データの書き込み終了位置が、前記所与のラインの書き込み開始位置の隣になるように、次のラインの書き込み開始位置を設定して、画素データを書き込む制御を行う画像処理装置。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記左右反転制御部は、
前記ラインメモリのサイズが、入力される画素データの２ライン分未満である場合には、
所与のラインの画素データをラインメモリの一方の端を書き込み開始位置として、一方の端から他方の端に向かう第１の方向に書き込んだ後、当該所与のラインの画素データの読み出しが終了する前に、所与のラインの次のラインの画素データをラインメモリの他方の端を書き込み開始位置として、第１の方向と逆の第２の方向に書き込む制御を行う画像処理装置。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記ラインメモリは、機器に入力予定の画像の最大水平サイズより所定のサイズだけ大きな容量を有している画像処理装置。
【請求項８】
請求項１乃至７のいずれかに記載の画像処置装置を含む集積回路装置。
【請求項９】
請求項１乃至７のいずれかに記載の画像処置装置と、
前記画像処理装置に画像の画素データを送信するホスト装置と、
前記画像処理装置から出力される画像を表示する表示装置と、
を含む画像表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、集積回路装置及び画像表示システムに関する。
【背景技術】
【０００２】
画像の左右反転処理を行う画像処理装置において、1ライン分のメモリ（ラインメモリ）を用意し、ホストから1ライン分の画素データを前記のラインメモリに入力し、1ライン分の画素データがラインメモリに貯まった段階で、ホストが最後にラインメモリに入力した画素データから最初に入力した画素データに向かって、順番に画素データを出力することで、ライン単位で画像を左右反転させる。そしてラインメモリから全ての画素データが出力された後、次のラインの画素データをホストからラインメモリに入力し、上記の処理を再び行う。これを画像の全ラインに対して行うことで、左右反転された画像を出力することができる。
【０００３】
また、画像左右反転処理を行う画像処理装置において、２ライン分のラインメモリを用意する（ダブルバッファ構成）と、画像入力が滞ることなく（入力を待たせることなく）動作させることができる。すなわち、１つのラインメモリに画像を入力している最中に、他方のラインメモリから画像を出力させることで、画像入力が滞ることがない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−３２２５７１号公報
【特許文献２】特開平５−１６７９５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
システムによっては、様々な画像サイズの画像がホストから入力され、その画像を左右反転処理する必要がある。その際、システムで扱う最大画像の水平サイズ分のラインメモリを用意して、左右反転処理することになる。
【０００６】
ここで、水平サイズの小さい画像を左右反転する場合、従来の方法では、用意されている最大画像の水平サイズ分のラインメモリを有効に使えていない（ラインメモリの一部のみを使用して処理している）。この場合、ホストは、少量の画素（1ライン分の画素）を入力して、すぐにウェイト状態になってしまう為、処理性能が低下してしまう。
【０００７】
この様に様々な画像サイズの画像がホストから入力され、１つのラインメモリを用いてその画像を左右反転処理する場合においては、画像入力が滞る（ホストがウェイト状態になる）ために、処理性能が低下するという問題点があった。
【０００８】
ところがダブルバッファ構成にすると画像入力が滞ることはないが、２つ分の当該ラインメモリを持つことになり、ＩＣの回路規模が大きくなり、消費電力も大きくなるという問題点がある。またダブルバッファ構成において、ラインメモリのサイズより水平サイズの小さい画像を左右反転処理する場合においては、ラインメモリ内の一部のみ使用しているにもかかわらず、システムで扱う最大画像の水平サイズ分のラインメモリを２つ動作させる為、余分な電力を消費することになり、効率的な電力消費を行うことができない。
【０００９】
本発明は、以上のような問題点に鑑みてなされたものであり、本発明のいくつかの態様によれば、画像の左右反転処理を行う画像処理装置において、回路規模の増大及び消費電力の増大を招くことなく、画像入力が滞りの少ない処理性能に優れた画像処理装置、集積回路装置及び画像表示システムを提供することができる。
【課題を解決するための手段】
【００１０】
（１）本発明は、画像を構成する各画素に対応する表示データである画素データを入力して、左右反転して出力する画像処理装置であって、入力された画素データが格納されるラインメモリと、入力される画像の水平サイズを取得し、レジスタに格納する水平サイズ取得部と、入力される画素データを前記ラインメモリに書き込み、各ラインの画素データを前記ラインメモリに書き込んだ順序とは逆の順序で読み出すことで、各ラインの画素データを左右反転した状態で出力する左右反転制御部とを含み、前記左右反転制御部は、前記ラインメモリに所与のラインの画素データを書き込んだ後、当該所与のラインの画像データの読み出しが終了する前に、読み出し前の画像データが格納されていない空きエリアに次のラインの画素データを書き込むことで、前記ラインメモリに複数のラインの読み出し前の画素データを格納する書き込み制御を行う画像処理装置に関する。
【００１１】
また本発明は、上記に記載の画像処置装置を含む集積回路装置に関する。
【００１２】
また本発明は、上記に記載の画像処置装置と、前記画像処理装置に画像の画素データを送信するホスト装置と、前記画像処理装置から出力される画像を表示する表示装置と、を含む画像表示システムに関する。
【００１３】
本発明の画像処理装置は、異なるサイズ（例えば縦横の画素数等が異なる、また１画素あたりのデータ長が異なる）の画像が入力可能である。従って入力される画像のサイズの変化に応じてラインメモリに格納される１ライン分のデータ量（例えば画素数や１ラインバイト数等）は様々に変わりうる。
【００１４】
この様にすると、ラインメモリに複数のラインの画素データを格納することができるので、ダブルバッファ構成を採用しなくても、画像入力が滞ることなく左右反転制御を行うことができる。またダブルバッファ構成にした場合（２つ分のラインメモリを持つ場合）に比べて回路規模の増大や消費電力の増加を防止することができる。
【００１５】
（２）この画像処理装置、集積回路装置及び画像表示システムにおいて、前記左右反転制御部は、前記ラインメモリのサイズが、入力される画素データの２ライン分以上である場合には、前記ラインメモリを少なくとも1ライン分の画素データが格納可能なサイズ以上の複数の領域に分割して、入力される画素データをライン単位で各領域に割り当て、割り当てられた所与の領域に所与のラインの画素データを書き込んだ後、当該所与のラインの画像データの読み出しが終了する前に、読み出し前の画像データが格納されていない空きエリアである他の領域に、次のラインの画素データを書き込む制御を行うことで、前記ラインメモリの複数の領域に複数のラインの読み出し前の画素データを格納する書き込み制御を行ってもよい。
【００１６】
この様にすると、ラインメモリに２ライン分以上の画素データを格納して左右反転させるための書き込み／読み出し制御を行うことができるので、所与のラインの読み出し完了を待たずして次のラインの書き込み制御を行うことができる。従って画像入力が滞ることなく左右反転制御を行うことができる。
【００１７】
また、様々な画像サイズをあつかうシステムで、ラインメモリに１ライン分の画素データしか格納しない場合、ラインメモリの回路規模に応じた電力が消費されるため、水平サイズの小さい画像が入力される場合には、消費電力の効率が悪くなる。しかしこのようにすると、水平サイズが小さい画像の場合には、１つのラインメモリに複数のラインを格納できるので、電力を効率的に消費することができる。
【００１８】
（３）この画像処理装置、集積回路装置及び画像表示システムにおいて、前記左右反転制御部は、取得した水平サイズとラインメモリのサイズに基づき、前記ラインメモリのサイズが入力される画素データの２ライン分以上か否か判断してもよい。
【００１９】
（４）この画像処理装置、集積回路装置及び画像表示システムにおいて、前記左右反転制御部は、前記ラインメモリのサイズが、入力される画素データの２ライン分未満である場合には、前記ラインメモリに所与のラインの画素データを所与の方向に書き込んだ後、当該所与のラインの画素データの読み出しが終了する前に、読み出し前の画素データが格納されていない空きエリアに次のラインの画素データを、前記所与のラインと同じ方向に書き込む制御を行うことで、ラインメモリに複数のラインの読み出し前の画素データを格納する書き込み制御を行ってもよい。
【００２０】
この様にすると前記ラインメモリに、入力される画素データが２ライン分以上はいらない場合でも、１つのラインメモリに所与のラインの画素データと次のラインの画素データの一部を格納するので、所与のラインの読み出し完了を待たずして次のラインの書き込み制御を行うことができるので、画像入力が滞りにくくし、処理性能を向上させることができる。また１つのラインメモリに複数のラインを格納できるので、電力を効率的に消費することができる。
【００２１】
（５）この画像処理装置、集積回路装置及び画像表示システムにおいて、前記左右反転制御部は、所与のラインの画素データの書き込み終了位置が、ラインメモリの一方の端の位置になるように所与のラインの書き込み開始位置を設定し、次のラインの画素データの書き込み終了位置が、前記所与のラインの書き込み開始位置の隣になるように、次のラインの書き込み開始位置を設定して、画素データを書き込む制御を行ってもよい。
【００２２】
この様にするとラインメモリの端以外では順次隣の位置に画素データを書き込むことができる。
【００２３】
（６）この画像処理装置、集積回路装置及び画像表示システムにおいて、前記左右反転制御部は、前記ラインメモリのサイズが、入力される画素データの２ライン分未満である場合には、所与のラインの画素データをラインメモリの一方の端を書き込み開始位置として、一方の端から他方の端に向かう第１の方向に書き込んだ後、当該所与のラインの画素データの読み出しが終了する前に、所与のラインの次のラインの画素データをラインメモリの他方の端を書き込み開始位置として、第１の方向と逆の第２の方向に書き込む制御を行ってもよい。
【００２４】
この様にすると前記ラインメモリのサイズが、入力される画素データの２ライン分未満の場合でも、１つのラインメモリに所与のラインの画素データと次のラインの画素データの一部を格納するので、所与のラインの読み出し完了を待たずして次のラインの書き込み制御を行うことができる。しかも次のラインの画素の入力は、所与のラインの画素が格納されていないアドレス番地から行われるため、入力のウェイト状態が発生せず、処理性能を向上させることができる。また１つのラインメモリに複数のラインを格納できるので、電力を効率的に消費することができる。
【００２５】
（７）この画像処理装置、集積回路装置及び画像表示システムにおいて、前記ラインメモリは、機器に入力予定の画像の最大水平サイズより所定のサイズだけ大きな容量を有していてもよい。
【００２６】
これにより、画像入力が滞る（ホストがウェイト状態になる）ことがない画像処理装置を実現できる。
【図面の簡単な説明】
【００２７】
【図１】本実施の形態の画像処理装置の構成を示す機能ブロック図。
【図２】図２（Ａ）（Ｂ）は画像の左右反転例を示す図。
【図３】第１の手法について説明するための図。
【図４】第２の手法について説明するための図。
【図５】第３の手法について説明するための図。
【図６】第４の手法について説明するための図。
【図７】ホストから画像の水平サイズを受け取って処理モードを設定する処理の流れを示すフローチャート。
【図８】第１の手法の書き込み制御の一例を示すフローチャート。
【図９】第２の手法の書き込み制御の一例を示すフローチャート。
【図１０】第３の手法の書き込み制御の一例を示すフローチャート。
【発明を実施するための形態】
【００２８】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【００２９】
１．画像処理装置の構成
図１は、本実施の形態の画像処理装置の構成を示す機能ブロック図である。なお、本実施形態の画像処理装置は、図１の構成要素（各部）を全て含む必要はなく、その一部を省略した構成としてもよい。
【００３０】
本実施の形態の画像処理装置１００は、ホストインターフェイス１１０、ラインメモリ１２０、左右反転制御部１３０、レジスタ群１４０、ＤＲＡＭインターフェイス（メモリインターフェースの一例）１５０を含む。
【００３１】
ここではホスト２００から画像の画素データをライン順に受け取り表示部２１０（例えばＬＣＤ）に左右反転して出力することができる画像処理装置１００を例に取り説明する。ホスト２００はＣＰＵでもよいしカメラ等でもよい。
【００３２】
ホストインターフェイス１１０は、ホスト２００との通信インターフェイスとして機能する。画像処理装置１００は、ホストインターフェイス１１０を介してホスト２００から、画像データ（画像を構成する画素の画素データ）や画像の水平サイズデータを受け取る。画素データは表示のためのデータで、例えばＲＧＢデータでもよいし、ＹＵＶデータでもよいし、階調データでもよいし、その他の形式のデータでもよい。
【００３３】
画像処理装置１００は、ホスト２００が出力する画像を構成する各画素のデータを入力して、左右反転して出力する処理を行う。
【００３４】
ラインメモリ１２０は、入力された画素データが格納される。レジスタ群１４０と、ホストインターフェイス１１０は、入力される画像の水平サイズを取得し、レジスタに格納する水平サイズ取得部と、して機能する。左右反転制御部１３０は、入力される画素データをラインメモリ１２０に書き込み、各ラインの画素データをラインメモリに書き込んだ順序とは逆の順序で読み出すことで、各ラインの画素データを左右反転した状態で出力する制御を行うもので、ラインメモリ１２０に所与のラインの画素データを書き込んだ後、当該所与のラインの画像データの読み出しが終了する前に、読み出し前の画像データが格納されていない空きエリアに次のラインの画素データを書き込むことで、ラインメモリ１２０に複数のラインの読み出し前の画素データを格納する書き込み制御を行う。
【００３５】
本実施の形態の画像処理装置１００は、ラインメモリ１２０のサイズよりも水平サイズが小さい画像を入力対象としている。また本実施の形態の画像処理装置１００は様々なサイズ（水平サイズも様々である）の画像を入力対象としている。従って、ラインメモリ１２０は、入力対象となる画像の水平サイズの最大値、又はそれ以上のサイズで構成されている。
【００３６】
ラインとは、画像データの横方向のデータの並びのことであり、横Ｘ画素、縦Ｙ画素のサイズの画像データの場合、１〜Ｙラインを有し、各ラインはＸ個の画素で構成される。また水平サイズとは、画像の水平方向（横方向）のデータ量の大きさを示すものであり、１ラインの長さ（１画素の長さ×画素数のバイト数等）で定義してもよいし、1ラインの画素数で定義してもよい。
【００３７】
読み出し前の画像データが格納されていない空きエリアとは、いずれのラインの画素データも書き込まれていない領域でもよいし、他のラインの画素データが書き込まれていたが、既に読み出されて書き込み可能になった領域でもよい。
【００３８】
左右反転制御部１３０は、所与のラインの画素データをラインメモリに書き込んだ後、続けて、ウェイトさせることなく次のラインの画素データを書き込んでも良い。ただし所定のタイミングだけウェイトさせて次のラインの画素データを書き込む場合も、本発明の範囲内である。
【００３９】
画像処理装置１２０から出力される画素データは、ＤＲＡＭ等のメモリに格納された後表示部に出力されるようにしてもよい。表示部は、液晶パネルで構成されていてもよいし、ＥＰＤで構成されていてもよい。
【００４０】
またラインメモリ１２０のサイズが、入力される画素データの２ライン分以上である場合には、左右反転制御部１３０は、ラインメモリ１２０を少なくとも1ライン分の画素データが格納可能なサイズ以上の複数の領域に分割して、入力される画素データをライン単位で各領域に割り当て、割り当てられた所与の領域に所与のラインの画素データを書き込んだ後、当該所与のラインの画像データの読み出しが終了する前に、読み出し前の画像データが格納されていない空きエリアである他の領域に、次のラインの画素データを書き込む制御を行うことで、前記ラインメモリの複数の領域に複数のラインの読み出し前の画素データを格納する書き込み制御を行ってもよい。
【００４１】
ラインメモリ１２０のサイズが、入力される画素データの２ライン分以上か否かは、レジスタに格納されている水平サイズとラインメモリのサイズに基づき判断してもよい。またモードレジスタを設け、モードレジスタに所定のモードが設定されている場合に、ラインメモリ１２０に、入力される画素データが２ライン分以上はいると判断してもよい。モードレジスタの設定は例えば入力される画像の供給元（例えばホスト２００）が行う構成でもよい。
【００４２】
なお、複数の領域は1ライン分の画素データが格納可能なサイズと同じすることが効率的であるが、1ライン分の画素データが格納可能なサイズ以上であればよい。1ライン分の画素データが格納可能なサイズ＋α（１〜数画素分のサイズの冗長な領域をもうけてもよい）でもよい。また複数の領域のサイズをアドレス管理に都合のよいサイズ（ラインメモリが割り切れるサイズとか、分割した場合にあまり領域がすくないサイズ等）に設定しても良い。
【００４３】
また複数の領域に画素データを書き込む方向は、すべて同じである必要なないが、同じ方向に書き込むほうが、アドレス管理がしやすい。ただし各領域において書き込む方向と読み出す方向は逆方向である。
【００４４】
また左右反転制御部１３０は、取得した水平サイズとラインメモリのサイズに基づき、前記ラインメモリのサイズが、入力される画素データの２ライン分以上か否か判断してもよい。前記レジスタに格納されている水平サイズとラインメモリのサイズに基づき、前記ラインメモリに、入力される画素データが２ライン分以上はいるか否か判断してもよい。
【００４５】
また前記ラインメモリ１２０のサイズが、入力される画素データの２ライン分未満である場合には、左右反転制御部１３０は、ラインメモリ１２０に所与のラインの画素データを所与の方向に書き込んだ後、当該所与のラインの画素データの読み出しが終了する前に、読み出し前の画素データが格納されていない空きエリアに次のラインの画素データを、前記所与のラインと同じ方向に書き込む制御を行うことで、ラインメモリに複数のラインの読み出し前の画素データを格納する書き込み制御を行ってもよい。
【００４６】
各ラインの画素データを書き込む方向は、アドレスが小さい番地から大きい番地である第１の方向にでも良いし、アドレスが大きい番地から小さい番地である第２の方向でも良いが、各ラインで同じ方向に書き込みを行う。なお所与の画素データの書き込み位置がラインメモリの一方の端にきた場合には、次の画素データの書き込み位置は、他方の端として、それ以外は、同じ方向に書き込み位置を移動させてもよい。
【００４７】
また左右反転制御部１３０は、所与のラインの画素データの書き込み終了位置が、ラインメモリ１２０の一方の端の位置になるように所与のラインの書き込み開始位置を設定し、次のラインの画素データの書き込み終了位置が、前記所与のラインの書き込み開始位置の隣になるように、次のラインの書き込み開始位置を設定して、画素データを書き込む書き込み制御を行ってもよい。
【００４８】
例えばラインメモリ１２０のサイズがｃ（ラインメモリにｃピクセルの画素データを格納可能）、画像の水平サイズをａ（画像の水平方向の画素データがａピクセル）とし、ラインメモリのアドレスが０番地からｃ−１番地であるとする。アドレスが大きい番地からアドレスが小さい番地に向かう方向を第１の方向として、画素データをラインメモリ１２０に書き込む場合、所与のラインの書き込み開始のアドレスをａ−１、書き込み終了アドレスが０、次のラインの書き込み開始のアドレスを２ａ−ｃ−１、書き込み終了アドレスがａ（所与のラインの書き込み開始位置の隣）となる。
【００４９】
またラインメモリ１２０のサイズが、入力される画素データの２ライン分以上でない場合には、左右反転制御部１３０は、所与のラインの画素データをラインメモリ１２０の一方の端を書き込み開始位置として、一方の端から他方の端に向かう第１の方向に書き込んだ後、当該所与のラインの画素データの読み出しが終了する前に、ラインメモリ１２０に所与のラインの次のラインの画素データをラインメモリ１２０の他方の端を書き込み開始位置として、第１の方向と逆の第２の方向に書き込む制御を行ってもよい。
【００５０】
なお所与のラインの画素データの書き込み開始位置は、一方の端の位置でも良いし、一方の端から所定サイズだけ離れた位置でもよい。同様に所与のラインの次のラインの画素データの書き込み開始位置は、他方の端の位置でも良いし、他方の端から所定サイズだけ離れた位置でもよい。
【００５１】
またラインメモリ１２０は、機器に入力予定の画像の最大水平サイズより所定のサイズだけ大きな容量を有する構成でもよい。所定サイズの追加の格納領域（所定画素数分）をどの程度の容量にするかは、ラインメモリ１２０に１ライン分の画素データが入力された後、当該ラインの画素データの出力が開始されるまでの遅延時間、及びラインメモリ１２０への入力とラインメモリ１２０からの出力の速度の差、などを勘案して決定してもよい。
【００５２】
また画像処理装置１００から出力される画素データは、ＤＲＡＭ１６０等のメモリに格納された後、表示部２１０に出力されるようにしてもよい。すなわち上記に加えてＤＲＡＭ（メモリの一例）１６０、ＤＲＡＭインターフェイス１７０、ＬＣＤインターフェイス１８０等を含んだ表示コントローラー（画像処理装置の一例）１０２としても良い。
【００５３】
また表示部２１０は、ＬＣＤ（液晶パネル）で構成されていてもよいし、ＥＰＤ（Electrophoretic Display：電気泳動方式の電子ペーパー）で構成されていてもよい。ＤＲＡＭ（メモリの一例）１６０は、表示部に出力する1フレーム分の画像データ（例えば入力画像を左右判定した画像のデータ）が格納されるフレームバッファとして機能する。
【００５４】
本実施の形態の画像処理装置１００、表示コントローラー１０２は集積回路装置（半導体集積回路装置でもよい）として実現することが出来る。
【００５５】
本実施の形態の画像表示システム１０４は、ホスト２００と、表示コントローラー１０２と、表示部２１０を含んだ構成にしてもよい。
【００５６】
図２（Ａ）（Ｂ）は画像の左右反転例を示す図である。図２（Ａ）に示すような画像を、ホスト２００から表示コントローラー（画像処理装置の一例）１０２に入力し、左右反転処理を施し、表示部（例えばＬＣＤやＥＰＤ）２１０に出力するシステムを例に説明する。
【００５７】
表示コントローラー１０２は、ホスト２００から入力された画像を、ラインメモリ１２０を用いて、１ライン毎に左右反転処理を施し、１画像分の全ラインをＤＲＡＭ１６０に一旦記憶する。そしてＤＲＡＭ１６０に記憶された画像を、ＬＣＤインターフェイス部１８０を介して、表示部（ＬＣＤ）２１０に出力する。ホスト２００から入力された画像（図２（Ａ）参照）に左右反転処理が施され、表示部（ＬＣＤ）２１０に出力される画像は図２（Ｂ）のようになる。
【００５８】
レジスタ群１４０にあるレジスタには、あらかじめ入力画像の水平サイズが設定されてもよい。ラインメモリ１２０に２ライン以上格納できない水平サイズの画像入力が行われる場合に、ラインメモリ１２０の書き込み／読み出しの制御方式が複数ある場合には、どちらの方式で画素データの書き込み／読み出し制御を行うかを指定するモードが設定されるモードレジスタを設けてもよい。
【００５９】
ホスト２００からは、１画素ずつ画素データがシリアルに入力されてもよい。画素データはＲＧＢ形式のデータでもよいし、ＹＵＶ形式のデータでもよい。左右反転制御部１３０は、ホスト２００から入力される画素をカウントし、レジスタに設定された水平サイズ分の画素が入力された時に、１ライン分の入力が完了したとして動作してもよい。１ライン分の入力が完了した後は、次ラインの入力に備えて、次のラインの先頭画素の格納位置（アドレス）を計算する。
【００６０】
なおホスト２００がＣＰＵの場合は、表示コントローラー１０２で、入力される画素数を数えてラインの区切りを判別してもよい。このような場合においては、入力される画素数のカウント値が画像の水平サイズに達したタイミングで次のラインの先頭画素の格納位置（アドレス）を計算してもよい。
【００６１】
またホストがカメラ等の場合は、カメラ等から水平同期信号が出力され、表示コントローラー１０２では、水平同期信号を使ってラインの区切りを判別しても良い。このような場合においては、水平同期信号のタイミングで、次のラインの先頭画素の格納位置（アドレス）を計算してもよい。
【００６２】
ホストから入力される画像サイズが固定でない場合、表示コントローラー内に用意するラインメモリ１２０のサイズは、扱う最大画像の水平サイズをもとに決定される。例えば、扱う最大画像（例えばWVGA =幅800x高さ480 pixel）の水平サイズが 800pixelの場合は、ラインメモリのサイズは800pixel分用意してもよい。
【００６３】
２．第１の手法
第１の手法（第１のモード）として、ラインメモリに入力される画素データが２ライン分以上はいる場合の、ラインメモリへの書き込み／読み出し制御手法について説明する。
【００６４】
図３は、第１の手法（ラインメモリへの書き込み／読み出し制御手法）について説明するための図である。ここでは、便宜上、ラインメモリのサイズが64pixel、入力画像の水平サイズが16pixelの場合について説明するが、これに限られるものではない。
【００６５】
ラインメモリ１２０に、入力される画素データが２ライン分以上はいる場合には、ラインメモリ１２０を少なくとも1ライン分の画素データが格納可能なサイズ以上のサイズを有する複数の領域（ここではＫ１〜Ｋ４）に分割して、入力される画素データをライン単位で各領域に割り当て、ラインメモリの所与の領域に所与のラインの画素データを書き込んだ後（例えば１ライン目の書き込み３１０−１の後）、当該所与のラインの画像データの読み出しが終了する前（例えば１ライン目の読み出し３２０−１が終了する前）に、読み出し前の画像データが格納されていない空きエリアである他の領域（例えばＫ２、Ｋ３、Ｋ４のいずれかの領域）に、次のラインの画素データを書き込む制御（例えば２ライン目の書き込み３１０−２の制御）を行うことで、ラインメモリ１２０の複数の領域（ここではＫ１〜Ｋ４）に複数のライン（例えば１ライン目〜４ライン目）の読み出し前の画素データを格納する書き込み制御を行ってもよい。
【００６６】
例えば1ライン目の画素データの書き込みは、ラインメモリ１２０のアドレス番地１５から０の領域Ｋ１に対してアドレス番地１５から０の順番で行われる（３１０−１）。一方、1ライン目の画素データの読み出しは、アドレス番地０から１５に向かって行われる（３２０−１）。これによって、１ライン目の画素の左右反転が行われる。
【００６７】
同様に２ライン目の画素データの書き込みは、ラインメモリ１２０のアドレス番地３１から１６の領域Ｋ２に対してラインメモリのアドレス番地３１から１６の順番で行われる（３１０−２）。一方、２ライン目の画素データの読み出しは、アドレス番地１６から３１に向かって行われる（３２０−２）。これによって、２ライン目の画素の左右反転が行われる。
【００６８】
同様に３ライン目の画素データの書き込みは、ラインメモリ１２０のアドレス番地４７から３２の領域Ｋ３に対してラインメモリのアドレス番地４７から３２の順番で行われる（３１０−３）。一方、３ライン目の画素データの読み出しは、アドレス番地３２から４７に向かって行われる（３２０−３）。これによって、３ライン目の画素の左右反転が行われる。
【００６９】
同様に４ライン目の画素データの書き込みは、ラインメモリ１２０のアドレス番地６３から４８の領域Ｋ４に対してラインメモリのアドレス番地６３から４８の順番で行われる（３１０−４）。一方、４ライン目の画素データの読み出しは、アドレス番地４８から６３に向かって行われる（３２０−４）。これによって、４ライン目の画素の左右反転が行われる。
【００７０】
その後５ライン目の画素データは１ライン目と同じ領域Ｋ１に書き込まれ、以下それ以降は順次領域Ｋ２、Ｋ３、Ｋ４、Ｋ１、・・と巡回して書き込まれる。
【００７１】
通常ダブルバッファ構成をとらない場合は、ホストは、ラインメモリ１２０に1ライン分の画素データを入力した後、ラインメモリ１２０から1ライン分の画素データが全て読み出されるまでホストはウェイト状態となり、1ライン分の画素データが全て読み出されてから、２ライン目の画素データをラインメモリ１２０に入力することになる。従ってホストのウェイト時間が長く、処理性能が低下していた。
【００７２】
しかし本実施の形態によれば、２ライン目、３ライン目の画素データを、ラインメモリ１２０に空き領域がある限り、続けて入力するので、ホストのウェイト時間が短くなり、処理性能を向上させることができる。
【００７３】
またダブルバッファ構成をとってホストのウェイト時間が短くした（または無くした）場合に比べて、１つのラインメモリで対応できているため、ＩＣの回路規模を小さくできるとともに、消費電力も削減することができる。
【００７４】
３．第２の手法
第２の手法（第２のモード）として、ラインメモリに入力される画素データが２ライン分以上はいらない場合（入力画像の水平サイズがラインメモリのサイズの半分より大きい場合）の、ラインメモリへの書き込み／読み出し制御手法について説明する。
【００７５】
図４は、第２の手法（ラインメモリへの書き込み／読み出し制御手法）について説明するための図である。ここでは、便宜上ラインメモリのサイズが64pixel、入力画像の水平サイズが34pixelの場合を例に説明するが、これに限られるものではない。
【００７６】
ラインメモリ１２０に、入力される画素データが２ライン分以上はいらない場合（入力画像の水平サイズがラインメモリのサイズの半分より大きい場合）には、ラインメモリ１２０の空きエリアＥ１に所与のラインの画素データを第１の方向（ここでは、アドレスが小さくなる方向）４４０に書き込んだ後（例えば１ライン目の書き込み４１０−１の後）、当該所与のラインの画素データの読み出しが終了する前（例えば１ライン目の読み出し４２０−１が終了する前）に、読み出し前の画素データが格納されていない空きエリアＥ２、Ｅ３に次のラインの画素データを、第１の方向４４０に書き込む制御（例えば２ライン目の書き込み４１０−２、４１２−２）を行うことで、ラインメモリに複数のライン（例えば１ライン目と２ライン目）の読み出し前の画素データを格納する書き込み制御を行ってもよい。
【００７７】
所与のライン（例えば１ライン目）の画素データの書き込み終了位置が、ラインメモリの一方の端の位置４５０になるように所与のラインの書き込み開始位置４５２を設定し、次のライン（例えば２ライン目）の画素データの書き込み終了位置４６２が、前記所与のラインの書き込み開始位置４５２の隣になるように、次のライン（例えば２ライン目）の書き込み開始位置４６０を設定して、画素データを書き込む書き込み制御（例えば２ライン目の書き込み４１０−２、４１２−２の制御）を行ってもよい。この様にするとラインメモリ１２０の端以外（ここでは４１０−２の最後の書き込み位置であるアドレス０から４１２−２の最初の書き込み位置であるアドレス６３に移る時以外）は順次隣の位置に画素データを書き込むことができる。
【００７８】
第２の手法（第２のモード）では、２ライン目の画素データは、アドレス番地３（４６０参照）から０（４５０参照）、およびアドレス番地６３（４７０参照）から３４（４６２参照）の順番で格納される。この際、アドレス番地３に画素データを入力するためには、アドレス番地０から３までに格納されている1ライン目の画素の読み出しが完了している必要がある。すなわち、この読み出しが完了するまで、2ライン目の入力はできないことになり、この間ホストはウェイト状態となる。
【００７９】
また、３ライン目の画素データの書き込み開始は１ライン目と同じアドレス番地３３（４５２参照）である。３ライン目の入力はアドレス番地３３から０に向かって行われ（第１の方向４４０）、アドレス番地３から０への入力は最後に行われるものの、２ライン目の出力においてアドレス番地０から３の出力が最後に行われるため、３ライン目の入力がウェイト状態になる可能性がある。
【００８０】
４．第３の手法
第３の手法（第３のモード）として、ラインメモリに入力される画素データが２ライン分以上はいらない場合（入力画像の水平サイズがラインメモリのサイズの半分より大きい場合）の、他のラインメモリへの書き込み／読み出し制御手法について説明する。
【００８１】
図５は、第３の手法（ラインメモリへの書き込み／読み出し制御手法）について説明するための図である。ここでは、便宜上ラインメモリのサイズが64pixel、入力画像の水平サイズが34pixelの場合を例に説明するが、これに限られるものではない。
【００８２】
ラインメモリ１２０に、入力される画素データが２ライン分以上はいらない場合（入力画像の水平サイズがラインメモリのサイズの半分より大きい場合）には、所与のライン（例えば１ライン目）の画素データをラインメモリ１２０の一方の端５３０を書き込み開始位置とする空きエリアＦ１に、一方の端５３０から他方の端５４０に向かう第１の方向（ここでは、アドレスが大きくなる方向）５５０に書き込んだ後（例えば１ライン目の書き込み５１０−１の後）、当該所与のラインの画素データの読み出しが終了する前（例えば１ライン目の読み出し５２０−１が終了する前）に、所与のラインの次のライン（例えば２ライン目）の画素データをラインメモリの他方の端を書き込み開始位置とする空きエリアＦ２に、第１の方向５５０と逆の第２の方向（ここでは、アドレスが小さくなる方向）５６０に書き込む制御を行ってもよい。
【００８３】
このようにラインメモリ１２０内において、最初に入力された１ライン分の画素データはラインメモリの最小アドレス（５３０）側の領域Ｆ１に詰めて格納し、次に入力された１ライン分の画素データはラインメモリ１２０の最大アドレス（５４０）側の領域Ｆ２に詰めて格納してもよい。
【００８４】
１ライン目の画素は、ラインメモリ１２０のアドレス番地０から３３の順番（第１の方向５５０）で、格納される。一方、読み出しは、アドレス番地３３から０に向かって（第２の方向５６０）行われる。これによって、左右反転が行われる。
【００８５】
２ライン目の画素は、ラインメモリのアドレス番地６３から３０の順番で（第２の方向５６０）、格納される。一方、読み出しは、アドレス番地３０から６３に向かって（第１の方向５５０）行われる。
【００８６】
この場合、２ライン目の画素の入力は、1ライン目の画素が格納されていないアドレス番地６３から行われるため、ホストがウェイトすることがない。よって、処理性能を向上させることができる。
【００８７】
また、アドレス番地３０から３３は、1ライン目の画素データが格納され、また2ライン目の画素データも格納されることになるが、1ライン目の読み出しはアドレス番地３３から始まるため、２ライン目の画素をアドレス番地３３から３０に格納するときには、５７０の領域は空になっている可能性が高い。よって、ホストはウェイト状態とならず、２ライン目の画素データを入力できる可能性が高い。
【００８８】
５．ラインメモリのサイズの設定手法
表示コントローラーに入力予定の画像の最大水平サイズより所定画素数だけ大きな容量のラインメモリを用いてもよい。書き込み／読み出しの制御動作は、第１の手法、第２の手法、第３の手法を用いることができる。
【００８９】
例えばラインメモリが表示コントローラーに入力予定の画像の最大水平サイズと同じ場合には、１ラインの入力終了後、すぐに出力の動作が行われない限り、ホストにウェイトが発生してしまう。
【００９０】
例えば、図５において、１ライン目の画素がアドレス番地０から６３に向かって行われ、最後の画素はアドレス番地６３に格納されるが、２ライン目の先頭の画素もアドレス番地６３に格納しようとするため、１ライン目のアドレス番地６３に格納されている画素が出力されるまでホストにウェイトが発生することになる。
【００９１】
図６は、第４の手法（ラインメモリへの書き込み／読み出し制御手法）について説明するための図である。第４の手法では、システムで扱う最大画像の水平サイズ”に所定画素数を加えた”分のラインメモリへの書き込み／読み出し制御の手法である。
【００９２】
図６の６８０は追加になる所定画素数分の格納領域である追加の格納領域である。ここではシステムで扱う最大画像の水平サイズを64 pixelとし、追加の格納領域を16 pixelとしている。
【００９３】
図５で説明した第３の手法の場合と同様に、１ライン目、２ライン目の画素データが入力されるが（１ライン目の書き込み６１０−１、２ライン目の書き込み６１０−２）、追加の格納領域（所定画素数分）６８０を設けたため、１ライン目の最後の画素はアドレス番地６３に格納され、２ライン目の先頭の画素はアドレス番地７９に格納されるため、１ライン目の画素の出力（６２０−１）がすぐに開始されなくても、ホストにウェイトが発生することがない。
【００９４】
このように追加の格納領域（所定画素数分）６８０を設けることにより、画像入力が滞る（ホストがウェイト状態になる）ことが全くない装置を、実現できる。
【００９５】
ここで、追加の格納領域（所定画素数分）をどの程度の量、設けるかは、例えばラインメモリに１ライン分入力された後、当該ラインの出力が開始されるまでの遅延時間やラインメモリへの入力とラインメモリからの出力の速度の差などを勘案して決定してもよい。
【００９６】
６．本実施の形態の処理
本実施の形態の処理について説明する。
【００９７】
図７は、ホストから画像の水平サイズを受け取って処理モードを設定する処理の流れを示すフローチャートである。
【００９８】
ホストから画像の水平サイズａ、垂直サイズｂを取得してレジスタに格納する（ステップＳ１０）。次に、水平サイズａとラインメモリのサイズｃに基づき、ラインメモリに格納可能なライン数ｍを求める（ステップＳ２０）。ｍが２以上であれば（ステップＳ３０でＹ）、レジスタ群のモードレジスタを第１のモードに設定する（ステップＳ４０）。第１のモードでは、第１の手法で説明した書き込み／読み出し制御が行われる。ｍが２以上でなければ（ステップＳ３０でＮ）、モードレジスタを第２のモード又は第３のモードに設定する（ステップＳ５０）。第２のモードでは、第２の手法で説明した書き込み／読み出し制御が行われ、第３のモードでは、第３の手法で説明した書き込み／読み出し制御が行われる。
【００９９】
図８は、第１の手法の書き込み制御の一例を示すフローチャートである。
【０１００】
まず変数ｉ、ｌ、ｊの初期設定（ｉ＝０、ｌ＝１、ｊ＝０）を行う。（ステップＳ１１０）。ここでｉは入力される画素をカウントする変数であり、ｌはラインをカウントする変数であり、ｊはライン毎の画素数をカウントする変数である。次に、変数ｉをインクリメントして（ｉ＝ｉ＋１）、ｉ番目に入力された画素データｇ（ｉ）を受け取る。そして変数ｊをインクリメントする（ｊ＝ｊ＋１）（ステップＳ１２０）。
【０１０１】
次に画素データｇ（ｉ）が次のラインのものか否か（ｊ＞ａか？）判定する（ステップＳ１３０）。次のラインの先頭データであれば（Ｓ１３０でＹ）、変数ｊをリセットして（ｊ＝１）、変数ｌをインクリメントする（ｌ＝ｌ＋１）（ステップＳ１４０）。
【０１０２】
次にラインの先頭データであるか否か（ｊ＝１か？）判断し（ステップＳ１５０）、ラインの先頭データである場合（ステップＳ１５０でＹ）には以下の処理を行う。まず画素データｇ（ｉ）のライン番号をｍで割った時の剰余（ｌのｍを法とする（法ｍに関する）剰余）ｒを求める（ステップＳ１６０）。ｒ＝０でなければ（ステップＳ１７０でＮ）、図３の領域Ｋ１〜Ｋ３の端（図３ではアドレス番地が大きい方）のアドレス番地が書き込み位置ｘとなるので、ｘ＝ａ×ｒ−１と設定する（ステップＳ１８０）。またｒ＝０であれば（ステップＳ１７０でＹ）、ラインメモリの端（図３ではラインメモリのアドレス番地がもっとも大きい位置）のアドレス番地が書き込み位置ｘとなるので、ｘ＝ｃ−１（ステップＳ１９０）。またラインの先頭データでない場合（ステップＳ１５０でＮ）には、第１の方向に書き込み位置を更新する（ｘ＝ｘ−１）（ステップＳ２００）。そしてラインメモリのアドレスｘ番地に画素データｇ（ｉ）を書き込む（ステップＳ２１０）。
【０１０３】
画像の最後の画素データの書き込みが終了した（ｉ＝ａ×ｂ）場合には（ステップＳ２２０でＹ）、垂直同期信号を出力して（ステップＳ２２０）、１画像分の処理を終了し、画像の最後の画素データの書き込みが終了していない（ｉ＝ａ×ｂでない）場合には、ステップＳ１２０に戻ってステップＳ１２０からＳ２１０の処理を繰り返す。
【０１０４】
図９は、第２の手法の書き込み制御の一例を示すフローチャートである。
【０１０５】
まず変数ｉ、ｌ、ｊの初期設定（ｉ＝０、ｌ＝１、ｊ＝０）を行う。（ステップＳ３１０）。ここでｉは入力される画素をカウントする変数であり、ｌはラインをカウントする変数であり、ｊはライン毎の画素数をカウントする変数である。次に、変数ｉをインクリメントして（ｉ＝ｉ＋１）、ｉ番目に入力された画素データｇ（ｉ）を受け取る。そして変数ｊをインクリメントする（ｊ＝ｊ＋１）（ステップＳ３２０）。
【０１０６】
画素データｇ（ｉ）が次のラインのものか否か（ｊ＞ａか？）判定する（ステップＳ３３０）。次のラインの先頭データであれば（Ｓ３３０でＹ）、変数ｊをリセットして（ｊ＝１）、変数ｌをインクリメントする（ｌ＝ｌ＋１）（ステップＳ３４０）。
【０１０７】
次にラインの先頭データであるか否か（ｊ＝１か？）判断し（ステップＳ３５０）、ラインの先頭データである場合（ステップＳ３５０でＹ）には以下の処理を行う。まず奇数ライン（ｌが奇数）であれば（ステップＳ３６０でＹ）、奇数ラインの書き込み開始位置を設定（ｘ＝ａ−１）（ステップＳ３７０）。偶数ライン（ｌが奇数でない）であれば（ステップＳ３６０でＮ）、偶数ラインの書き込み開始位置を設定（ｘ＝２ａ−ｃ−１）（ステップＳ３８０）。ラインの先頭データでない場合（ステップＳ３５０でＮ）、前回の書き込み位置が端でなければ（ｘ＝０でなければ）（ステップＳ３９０でＮ）、書き込み位置を第１の方向に更新し（ｘ＝ｘ−１）（ステップＳ３９０）、前回の書き込み位置が端であれば（ｘ＝０であれば）（ステップＳ３９０でＹ）、書き込み位置をラインメモリの他方の端に設定する（ｘ＝ｃ−１）（ステップＳ４１０）。そしてラインメモリのアドレスｘ番地に画素データｇ（ｉ）を書き込む（ステップＳ４２０）。
【０１０８】
画像の最後の画素データの書き込みが終了した（ｉ＝ａ×ｂ）場合には（ステップＳ４３０でＹ）、垂直同期信号を出力して（ステップＳ４４０）、１画像分の処理を終了し、画像の最後の画素データの書き込みが終了していない（ｉ＝ａ×ｂでない）場合には、ステップＳ３２０に戻ってステップＳ３２０からＳ４２０の処理を繰り返す。
【０１０９】
図１０は、第３の手法の書き込み制御の一例を示すフローチャートである。
【０１１０】
まず変数ｉ、ｌ、ｊの初期設定（ｉ＝０、ｌ＝１、ｊ＝０）を行う。（ステップＳ５１０）。ここでｉは入力される画素をカウントする変数であり、ｌはラインをカウントする変数であり、ｊはライン毎の画素数をカウントする変数である。次に、変数ｉをインクリメントして（ｉ＝ｉ＋１）、ｉ番目に入力された画素データｇ（ｉ）を受け取る。そして変数ｊをインクリメントする（ｊ＝ｊ＋１）（ステップＳ５２０）。
【０１１１】
画素データｇ（ｉ）が次のラインのものか否か（ｊ＞ａか？）判定する（ステップＳ５３０）。次のラインの先頭データであれば（Ｓ５３０でＹ）、変数ｊをリセットして（ｊ＝１）、変数ｌをインクリメントする（ｌ＝ｌ＋１）（ステップＳ５４０）。
【０１１２】
次にラインの先頭データであるか否か（ｊ＝１か？）判断し（ステップＳ５５０）、ラインの先頭データである場合（ステップＳ５５０でＹ）には以下の処理を行う。まず奇数ライン（ｌが奇数）であれば（ステップＳ５６０でＹ）、書き込み開始位置をラインメモリの一方の端に設定（ｘ＝０）（ステップＳ５７０）。偶数ライン（ｌが奇数でない）であれば（ステップＳ５６０でＮ）、書き込み開始位置をラインメモリの他方の端設定（ｘ＝ｃ−１）（ステップＳ５８０）。ラインの先頭データでない場合（ステップＳ５５０でＮ）、奇数ライン（ｌが奇数）であれば（ステップＳ５９０でＹ）、第１の方向に書き込み位置を更新（ｘ＝ｘ＋１）（ステップＳ６００）し、偶数ライン（ｌが奇数でない）であれば（ステップＳ５９０でＮ）、第２の方向に書き込み位置を更新（ｘ＝ｘ―１）（ステップＳ６１０）。そしてラインメモリのアドレスｘ番地に画素データｇ（ｉ）を書き込む（ステップＳ６２０）。
【０１１３】
画像の最後の画素データの書き込みが終了した（ｉ＝ａ×ｂ）場合には（ステップＳ６３０でＹ）、垂直同期信号を出力して（ステップＳ６４０）、１画像分の処理を終了し、画像の最後の画素データの書き込みが終了していない（ｉ＝ａ×ｂでない）場合には、ステップＳ５２０に戻ってステップＳ５２０からＳ６２０の処理を繰り返す。
【０１１４】
７．本実施の形態の効果、
様々な画像サイズの画像がホストから入力され、その画像を左右反転処理する場合、そのシステムで扱う最大画像の水平サイズ分のラインメモリを用意して、左右反転処理することになる。従来は、用意されたラインメモリのサイズより小さい水平サイズの画像を左右反転する場合でも、ラインメモリにホストから1ライン分の画素を入力し、ホストをウェイト状態とし、ラインメモリから画素データが全て読み出されてから、次のラインの画素データをホストから入力していたため処理性能が低下していた。しかし本実施の形態によれば、用意されたラインメモリのサイズより小さい水平サイズの画像を左右反転する場合には、１つのラインメモリの領域全体を使用して処理を行う（複数のラインの画素データをラインメモリに一緒に格納できる）ので、画像入力が滞る（ホストがウェイト状態になる）ことがない。従って、ホストをウェイトさせることなく、次ラインの画素を入力できるため、処理性能を向上させることができる。
【０１１５】
また様々な画像サイズをあつかうシステムで、ダブルバッファ構成の従来の技術を用いた場合、水平サイズの小さい画像を左右反転処理する時、ラインメモリ内の一部だけ使用しているにもかかわらず、システムで扱う最大画像の水平サイズ分のラインメモリ２つを動作させる為、余分な電力を消費していた。しかし、本実施の形態によれば、１つのラインメモリに複数のラインを格納するので、回路や電力を効率的に使用することができる。
【０１１６】
またダブルバッファ構成に比べて、ＩＣの回路規模が小さくなるためコストを低減できるとともに、消費電力も削減できる。
【０１１７】
またシステムで扱う最大画像の水平サイズに所定画素数を加えた分のラインメモリを用いて、左右反転処理を行うことにより、画像入力が滞る（ホストがウェイト状態になる）ことが全くない装置を、実現できる。
【０１１８】
なお、本発明は本実施の形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【０１１９】
本発明は、実施の形態で説明した構成と実質的に同一の構成（例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成）を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
【符号の説明】
【０１２０】
１００  画像処理装置、１０２  表示コントローラー、１０４  画像表示システム、１１０  ホストインターフェイス、１２０  ラインメモリ、１３０  左右反転制御部、１４０  レジスタ群、１５０  ＤＲＡＭ インターフェイス、１６０  ＤＲＡＭ、１７０  ＤＲＡＭ インターフェイス、１８０  ＬＣＤインターフェイス、２１０  表示部（ＬＣＤ）
【図１】
2013195963.tif 000003
【図２】
2013195963.tif 000004
【図３】
2013195963.tif 000005
【図４】
2013195963.tif 000006
【図５】
2013195963.tif 000007
【図６】
2013195963.tif 000008
【図７】
2013195963.tif 000009
【図８】
2013195963.tif 000010
【図９】
2013195963.tif 000011
【図１０】
2013195963.tif 000012