(57)【要約】【課題】回転処理などの画像処理をリアルタイム処理で実行する。【解決手段】画像処理装置は、被処理画像データを格納するためのラインバッファ１０１と、ラインバッファ１０１と同一規模のラインバッファ１０２と、被処理画像データを書き込むためのＳＤＲＡＭ１０６と、ラインバッファ１０１及びラインバッファ１０２に格納された被処理画像データに所定の画像処理を施してＳＤＲＡＭ１０６に書き込むＳＤＲＡＭコントローラ１０５と、ラインバッファ１０１及びラインバッファ１０２のうちの一方からＳＤＲＡＭ１０６に被処理画像データの書き込みをしているときに、ラインバッファ１０１及びラインバッファ１０２のうちの他方に被処理画像データを格納するラインバッファコントローラ１０３とを備える。【選択図】図１
2013196103.tif 000002
【特許請求の範囲】
【請求項１】
被処理画像データを格納するための第１のラインバッファと、
前記第１のラインバッファと同一規模の第２のラインバッファと、
前記被処理画像データを書き込むための画像メモリと、
前記第１のラインバッファ及び前記第２のラインバッファに格納された被処理画像データに所定の画像処理を施して前記画像メモリに書き込む画像メモリコントローラと、
前記第１のラインバッファ及び前記第２のラインバッファのうちの一方から前記画像メモリに前記被処理画像データの書き込みをしているときに、前記第１のラインバッファ及び前記第２のラインバッファのうちの他方に前記被処理画像データを格納するラインバッファコントローラと
を備えることを特徴とする画像処理装置。
【請求項２】
前記画像メモリコントローラは、９０°の整数倍の回転処理、左右反転処理、右９０°左右反転処理、左９０°左右反転処理、または回転処理なしのうちのいずれかの画像処理が施された前記被処理画像データを前記画像メモリに書き込むことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記画像メモリコントローラは、左９０°または右９０°に画像を回転処理する際に、前記第１のラインバッファまたは前記第２のラインバッファのアドレスをカウントする方法を切り替えることを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記画像メモリは、ＳＤＲＡＭであることを特徴とする請求項１記載の画像処理装置。
【請求項５】
被処理画像データを第１のラインバッファに格納する第１の格納ステップと、
前記第１のラインバッファと同一規模の第２のラインバッファに前記被処理画像データを格納する第２の格納ステップと、
前記第１のラインバッファ及び前記第２のラインバッファに格納された被処理画像データに所定の画像処理を施して画像メモリに書き込む書き込みステップとを備え、
前記第１のラインバッファ及び前記第２のラインバッファのうちの一方から前記画像メモリに前記被処理画像データの書き込みをしているときに、前記第１のラインバッファ及び前記第２のラインバッファのうちの他方に前記被処理画像データを格納する
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関し、特に、画像を回転処理または左右反転処理する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
従来より、パソコンやＴＶ受像機などのデジタル表示ディスプレイやデジタルサイネージに対して入力画像信号を回転させて表示することが行われている。例えば、従来の画像処理装置は、図３３（ａ）に示すように、被処理画像データを格納する第１の画像メモリ１と、この第１の画像メモリ１に格納されている被処理画像データを順次取りこんでシフトするラインバッファ７と、このラインバッファ７のパラレル出力を取り込む入力ポート９と、この入力ポート９の出力を順次第２の画像メモリ２に書き込むコントローラ３とによって構成されている（例えば、特許文献１参照）。
【０００３】
すなわち、特許文献１に記載の画像処理装置では、被処理画像データを格納している第１画像メモリ１から入力された被処理画像データをラインバッファ７に順次シフト処理を行う。そして、図３３（ｂ）に示すように、ラインバッファ７に複数ライン分のデータを格納する。特許文献１の例によれば、８ライン分のシフトレジスタ８０〜８７にデータを格納するようになっている。そのラインバッファ７のパラレル出力と入力ポート９の接続関係によって、第２の画像メモリ２に被処理画像データを９０°回転処理した画像データを格納し、出力している。このような方法を用いれば、図３４に示すように、入力画像を回転させて出力することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６１−１９６３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１によれば、９０°回転処理をする際に、ラインバッファ７を複数ライン分（図３３のシフトレジスタ８０〜８７）持ち、そのラインバッファ７でデータを順次シフト処理して格納する。そして、ラインバッファ７のシフトレジスタ８０〜８７すべてにデータが格納されると、９０°回転処理を施してコントローラ３で画像メモリ２に書き込んでいる。しかし、一度ラインバッファ７のデータを画像メモリ２に格納すると、次の被処理画像データを画像メモリ２に書き込むためには、再びラインバッファ７に約８ライン分のデータが格納される時間を待つ必要がある。そのため、頻繁に画像が変わる動画などについては、回転処理などの画像処理をリアルタイム処理で実行することができないという問題点がある。
【０００６】
本発明は前記課題を解決するためになされたものであり、その目的は、回転処理などの画像処理をリアルタイム処理で実行することのできる画像処理装置及び画像処理方法を提供することにある。
【課題を解決するための手段】
【０００７】
前記課題を解決するために、本発明の実施形態に係る画像処理装置は、被処理画像データを格納するための第１のラインバッファと、前記第１のラインバッファと同一規模の第２のラインバッファと、前記被処理画像データを書き込むための画像メモリと、前記第１のラインバッファ及び前記第２のラインバッファに格納された被処理画像データに所定の画像処理を施して前記画像メモリに書き込む画像メモリコントローラと、前記第１のラインバッファ及び前記第２のラインバッファのうちの一方から前記画像メモリに前記被処理画像データの書き込みをしているときに、前記第１のラインバッファ及び前記第２のラインバッファのうちの他方に前記被処理画像データを格納するラインバッファコントローラとを備えることを特徴とする。
【０００８】
また、前記画像メモリコントローラは、９０°の整数倍の回転処理、左右反転処理、右９０°左右反転処理、左９０°左右反転処理、または回転処理なしのうちのいずれかの画像処理が施された前記被処理画像データを前記画像メモリに書き込んでもよい。
【０００９】
また、前記画像メモリコントローラは、左９０°または右９０°に画像を回転処理する際に、前記第１のラインバッファまたは前記第２のラインバッファのアドレスをカウントする方法を切り替えてもよい。
【００１０】
また、前記画像メモリは、ＳＤＲＡＭであってもよい。
【００１１】
前記課題を解決するために、本発明の実施形態に係る画像処理方法は、被処理画像データを第１のラインバッファに格納する第１の格納ステップと、前記第１のラインバッファと同一規模の第２のラインバッファに前記被処理画像データを格納する第２の格納ステップと、前記第１のラインバッファ及び前記第２のラインバッファに格納された被処理画像データに所定の画像処理を施して画像メモリに書き込む書き込みステップとを備え、前記第１のラインバッファ及び前記第２のラインバッファのうちの一方から前記画像メモリに前記被処理画像データの書き込みをしているときに、前記第１のラインバッファ及び前記第２のラインバッファのうちの他方に前記被処理画像データを格納することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、回転処理などの画像処理をリアルタイム処理で実行することのできる画像処理装置及び画像処理方法を提供することが可能である。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態における画像処理装置を示すブロック図である。
【図２】ＳＤＲＡＭ１０６をバースト長８で、バースト長１あたり２画素のデータ転送をする場合の画像処理装置を示すブロック図である。
【図３】被処理画像データをラインバッファ１０１に格納する場合の説明図である。
【図４】被処理画像データをラインバッファ１０２に格納する場合の説明図である。
【図５】左に９０°回転処理する場合のＳＤＲＡＭ１０６を二次元表記した図である。
【図６】被処理画像データと左に９０°回転処理後データを示す図である。
【図７】被処理画像データと左に９０°回転処理後データの画素の位置関係を示す図である。
【図８】右に９０°回転処理する場合のラインバッファ１０１の説明図である。
【図９】右に９０°回転処理する場合のＳＤＲＡＭ１０６を二次元表記した図である。
【図１０】右に９０°回転処理する場合のラインバッファ１０２の説明図である。
【図１１】被処理画像データと右に９０°回転処理後データを示す図である。
【図１２】被処理画像データと右に９０°回転処理後データの画素の位置関係を示す図である。
【図１３】１８０°回転処理する場合のラインバッファ１０１の説明図である。
【図１４】１８０°回転処理する場合のＳＤＲＡＭ１０６を二次元表記した図である。
【図１５】１８０°回転処理する場合のラインバッファ１０２の説明図である。
【図１６】被処理画像データと１８０°回転処理後データを示す図である。
【図１７】被処理画像データと１８０°回転処理後データの画素の位置関係を示す図である。
【図１８】左右反転処理する場合のラインバッファ１０１の説明図である。
【図１９】左右反転処理する場合のＳＤＲＡＭ１０６を二次元表記した図である。
【図２０】左右反転処理する場合のラインバッファ１０２の説明図である。
【図２１】被処理画像データと左右反転処理後データを示す図である。
【図２２】被処理画像データと左右反転処理後データの画素の位置関係を示す図である。
【図２３】右９０°左右反転処理する場合のラインバッファ１０１の説明図である。
【図２４】右９０°左右反転処理する場合のＳＤＲＡＭ１０６を二次元表記した図である。
【図２５】右９０°左右反転処理する場合のラインバッファ１０２の説明図である。
【図２６】被処理画像データと右９０°左右反転処理後データを示す図である。
【図２７】被処理画像データと右９０°左右反転処理後データの画素の位置関係を示す図である。
【図２８】左９０°左右反転処理する場合のラインバッファ１０１の説明図である。
【図２９】左９０°左右反転処理する場合のＳＤＲＡＭ１０６を二次元表記した図である。
【図３０】左９０°左右反転処理する場合のラインバッファ１０２の説明図である。
【図３１】被処理画像データと左９０°左右反転処理後データを示す図である。
【図３２】被処理画像データと左９０°左右反転処理後データの画素の位置関係を示す図である。
【図３３】従来の画像処理装置を示すブロック図である。
【図３４】従来の画像処理装置による回転処理の説明図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００１５】
［構成］
図１は、本発明の実施形態における画像処理装置を示すブロック図である。この画像処理装置は、入力された被処理画像データに対して、９０°の整数倍の回転処理（左９０°、右９０°、１８０°）、左右反転処理、右９０°左右反転処理、左９０°左右反転処理等の画像処理を施す。具体的には、図１に示すように、ラインバッファ１０１と、ラインバッファ１０２と、ラインバッファコントローラ１０３と、セレクタ１０４と、ＳＤＲＡＭコントローラ１０５と、ＳＤＲＡＭ１０６と、出力バッファ１０７とを備えている。
【００１６】
ラインバッファ１０１は、入力された被処理画像データを逐次処理で格納するための入力バッファである。ラインバッファ１０１は、左９０°、右９０°、右９０°左右反転、左９０°左右反転処理をするために、１ライン分の被処理画像データを格納するラインバッファを複数所持している。１８０°回転、左右反転処理、回転処理なしにおいては、１ラインのみで対応できる。
【００１７】
ラインバッファ１０２は、ラインバッファ１０１に格納された被処理画像データをＳＤＲＡＭ１０６に書き込みをしている時に、入力される被処理画像データ（例えば、ラインバッファ１０１に１６ライン分のデータが格納されている場合は、１７ライン目からの被処理画像データ）を格納するためのラインバッファである。ラインバッファ１０２の動作とデータ容量は、ラインバッファ１０１と同一である。
【００１８】
ラインバッファコントローラ１０３は、ラインバッファ１０１または１０２へ出力する被処理画像データを指定する信号を生成し、この信号をラインバッファ１０１、１０２に送信している。また、被処理画像データをラインバッファ１０１または１０２のどちらに格納するかを指定する回路である。また、セレクタ１０４にラインバッファ１０１または１０２のどちらのデータをＳＤＲＡＭ１０６に書き込むかを指定する信号を送信している。
【００１９】
セレクタ１０４は、ラインバッファ１０１または１０２のうち、出力できる状態のラインバッファを選択するために使用される。
【００２０】
ＳＤＲＡＭコントローラ１０５は、ＳＤＲＡＭ１０６の書き込みと読み出し、９０°の整数倍に回転処理（左９０°、右９０°、１８０°）、左右反転処理、右９０°左右反転処理、または左９０°左右反転処理をするときのアドレスを制御する回路である。
【００２１】
ＳＤＲＡＭ１０６は、入力される被処理画像データを９０°の整数倍に回転処理（左９０°、右９０°、１８０°）、左右反転処理、右９０°左右反転処理、左９０°左右反転処理、または回転処理なしで書き込むためのメモリである。
【００２２】
出力バッファ１０７は、ＳＤＲＡＭ１０６の動作周波数と出力周波数を調整し、出力するために使用されるバッファメモリである。
【００２３】
［動作］
このような画像処理装置の動作を図２から図３２を参照しながら以下に説明する。
【００２４】
図２は、ＳＤＲＡＭ１０６をバースト長８で、バースト長１あたり２画素のデータ転送をする場合の画像処理装置を示すブロック図である。以下、このような画像処理装置における９０°の整数倍の回転処理（左９０°、右９０°、１８０°）、左右反転処理、右９０°左右反転処理、左９０°左右反転処理について説明する。
【００２５】
まず、図３に示すように、１６ライン分の被処理画像データＤ１０１をラインバッファ１０１に格納する。この格納の際には、ラインバッファａ０の０列目から０，１，２，…，Ｎ−１，Ｎと逐次的にラインバッファａ１５のＮ列目まで各列に１画素ずつ格納していく。今回は、バースト長８を例に挙げているために、一度に１６画素分のデータを転送する必要がある。よって、ラインバッファ１０１、１０２は、１６ライン分を用意している。
【００２６】
ここで、ラインバッファ１０１に被処理画像データが格納されて（図３中のラインバッファａ１５のＮ列目に最終画素が格納されて）、ＳＤＲＡＭ１０６に書き込みをしているとする。この時、ラインバッファ１０２は、図４に示すように、入力される１６ライン分の被処理画像データＤ１０２をラインバッファｂ０の０列目から０，１，２，…，Ｎ−１，Ｎ列目と逐次的にラインバッファｂ１５のＮ列目まで各列に１画素ずつ格納する。
【００２７】
このように、ラインバッファ１０１、１０２の２セットを用意し、一方（例えばラインバッファ１０１）が被処理画像データを格納しているときに、他方（例えばラインバッファ１０２）がＳＤＲＡＭ１０６へ回転処理データを転送するようにしている。これにより、９０°の整数倍の回転処理（左９０°、右９０°、１８０°）、左右反転処理、右９０°左右反転処理、または左９０°左右反転処理をリアルタイムで実現できる。この時、ラインバッファ１０１または１０２に格納される被処理画像データは、指定する回転角度に関係なく同一処理でよい。
【００２８】
［左に９０°回転処理］
左に９０°回転処理する場合は、図３のラインバッファ１０１のラインバッファａ１５のＮ列目に最終画素が格納された時に、ラインバッファコントローラ１０３においてＳＤＲＡＭコントローラ１０５に左９０°回転した画像を書き込むための読み出しアドレスをラインバッファ１０１へ入力する。この読み出しアドレスは、図３中のＮ列目からＮ，Ｎ−１，…２，１，０と逐次的に出力するための信号である。この読み出しアドレスよりラインバッファ１０１から被処理画像データをＳＤＲＡＭコントローラ１０５へ入力する。
【００２９】
ＳＤＲＡＭコントローラ１０５は、図５に示すように、ラインバッファ１０１からの被処理画像データＤ１０１を０行０列目、１行０列目、…、Ｎ−１行０列目、Ｎ行０列目と書き込むためのアドレスを生成し、ＳＤＲＡＭ１０６に被処理画像データを書き込んでいる。ラインバッファ１０２は、ラインバッファ１０１の被処理画像データについて０列目までＳＤＲＡＭ１０６への書き込みが終了し、かつ図４のラインバッファｂ１５のＮ列目に最終画素が格納された時に、被処理画像データを出力する。ＳＤＲＡＭコントローラ１０５は、図５に示すように、ラインバッファ１０２からの被処理画像データＤ１０２を０行１列目、１行１列目、…、Ｎ−１行１列目、Ｎ行１列目と書き込むためのアドレスを生成し、ＳＤＲＡＭ１０６に被処理画像データを書き込んでいる。このように、ラインバッファ１０１または１０２から出力される被処理画像データをＳＤＲＡＭ１０６に書き込みをして、１フレーム分のデータを書き込む。
【００３０】
最後に、左に９０°回転処理後のデータをＳＤＲＡＭ１０６から読み出す際には、図５の０行０列目、０行１列目、０行２列目、…０行Ｋ列目、１行０列目、１行１列目、…、１行Ｋ列目、…、Ｎ行０列目、…、Ｎ行Ｋ列目とラスタースキャンで読み出す。これにより、左に９０°回転処理したデータを出力し、出力バッファ１０７に処理画像データを書き込み、処理画像データを出力することができる。
【００３１】
被処理画像データと左に９０°回転処理後データを図６に示す。また、被処理画像データと左に９０°回転処理後データの画素の位置関係を図７に示す。
【００３２】
［右に９０°回転処理］
右に９０°回転処理する場合は、図８のラインバッファ１０１のラインバッファａ１５のＮ列目に最終画素が格納された時に、ラインバッファコントローラ１０３においてＳＤＲＡＭコントローラ１０５に右に９０°回転した画像を書き込むための読み出しアドレスをラインバッファ１０１へ入力する。この読み出しアドレスは、図８中の０列目から０，１，２，…，Ｎ−１，Ｎと逐次的に出力するための信号である。この読み出しアドレスよりラインバッファ１０１から被処理画像データをＳＤＲＡＭコントローラ１０５へ入力する。
【００３３】
ＳＤＲＡＭコントローラ１０５は、図９に示すように、ラインバッファ１０１からの被処理画像データＤ１０１を０行Ｋ列目、１行Ｋ列目、…、Ｎ−１行Ｋ列目、Ｎ行Ｋ列目と書き込むためのアドレスを生成し、ＳＤＲＡＭ１０６に被処理画像データを書き込んでいる。ラインバッファ１０２は、ラインバッファ１０１の被処理画像データについて０列目までＳＤＲＡＭ１０６への書き込みが終了し、かつ図１０のラインバッファｂ１５のＮ列目に最終画素が格納された時に、被処理画像データを出力する。ＳＤＲＡＭコントローラ１０５は、図９に示すように、ラインバッファ１０２からの被処理画像データＤ１０２を０行Ｋ−１列目、１行Ｋ−１列目、…、Ｎ−１行Ｋ−１列目、Ｎ行Ｋ−１列目と書き込むためのアドレスを生成し、ＳＤＲＡＭ１０６に被処理画像データを書き込んでいる。このように、ラインバッファ１０１または１０２から出力される被処理画像データをＳＤＲＡＭ１０６に書き込みをして、１フレーム分のデータを書き込む。
【００３４】
最後に、右に９０°回転処理後のデータをＳＤＲＡＭ１０６から読み出す際には、図９の０行０列目、０行１列目、０行２列目、…０行Ｋ列目、１行０列目、１行１列目、…、１行Ｋ列目、…、Ｎ行０列目、…、Ｎ行Ｋ列目とラスタースキャンで読み出す。これにより、右に９０°回転処理したデータを出力し、出力バッファ１０７に処理画像データを書き込み、処理画像データを出力することができる。
【００３５】
被処理画像データと右に９０°回転処理後データを図１１に示す。また、被処理画像データと右に９０°回転処理後データの画素の位置関係を図１２に示す。
【００３６】
［１８０°回転処理］
１８０°回転処理する場合は、図１３のラインバッファ１０１のラインバッファａ１のＮ列目に最終画素が格納された時に、ラインバッファコントローラ１０３においてＳＤＲＡＭコントローラ１０５に１８０°回転した画像を書き込むための読み出しアドレスをラインバッファ１０１へ入力する。この読み出しアドレスは、図１３中のＮ列目からＮ，Ｎ−１，…２，１，０と逐次的に出力するための信号である。この読み出しアドレスよりラインバッファ１０１から被処理画像データをＳＤＲＡＭコントローラ１０５へ入力する。
【００３７】
ＳＤＲＡＭコントローラ１０５は、図１４に示すように、ラインバッファ１０１からの被処理画像データＤ１０１をＮ行０列目、Ｎ行１列目、…、Ｎ行Ｋ−１列目、Ｎ行Ｋ列目と書き込むためのアドレスを生成し、ＳＤＲＡＭ１０６に被処理画像データを書き込んでいる。ラインバッファ１０２は、ラインバッファ１０１の被処理画像データについて０列目までＳＤＲＡＭ１０６への書き込みが終了し、かつ図１５のラインバッファｂ１のＮ列目に最終画素が格納された時に、被処理画像データを出力する。ＳＤＲＡＭコントローラ１０５は、図１４に示すように、ラインバッファ１０２からの被処理画像データＤ１０２をＮ−１行０列目、Ｎ−１行１列目、…、Ｎ−１行Ｋ−１列目、Ｎ−１行Ｋ列目と書き込むためのアドレスを生成し、ＳＤＲＡＭ１０６に被処理画像データを書き込んでいる。このように、ラインバッファ１０１または１０２から出力される被処理画像データをＳＤＲＡＭ１０６に書き込みをして、１フレーム分のデータを書き込む。
【００３８】
最後に、１８０°回転処理後のデータをＳＤＲＡＭ１０６から読み出す際には、図１４の０行０列目、０行１列目、０行２列目、…０行Ｋ列目、１行０列目、１行１列目、…、１行Ｋ列目、…、Ｎ行０列目、…、Ｎ行Ｋ列目とラスタースキャンで読み出す。これにより、１８０°回転処理したデータを出力し、出力バッファ１０７に処理画像データを書き込み、処理画像データを出力することができる。
【００３９】
被処理画像データと１８０°回転処理後データを図１６に示す。また、被処理画像データと１８０°回転処理後データの画素の位置関係を図１７に示す。
【００４０】
［左右反転処理］
左右反転処理の場合は、図１８のラインバッファ１０１のラインバッファａ１のＮ列目に最終画素が格納された時に、ラインバッファコントローラ１０３においてＳＤＲＡＭコントローラ１０５に左右反転処理した画像を書き込むための読み出しアドレスをラインバッファ１０１へ入力する。この読み出しアドレスは、図１８中のＮ列目からＮ，Ｎ−１，…２，１，０と逐次的に出力するための信号である。この読み出しアドレスよりラインバッファ１０１から被処理画像データをＳＤＲＡＭコントローラ１０５へ入力する。
【００４１】
ＳＤＲＡＭコントローラ１０５は、図１９に示すように、ラインバッファ１０１からの被処理画像データＤ１０１を０行０列目、０行１列目、…、０行Ｎ列目、０行Ｎ列目と書き込むためのアドレスを生成し、ＳＤＲＡＭ１０６に被処理画像データを書き込んでいる。ラインバッファ１０２は、ラインバッファ１０１の被処理画像データについて０列目までＳＤＲＡＭ１０６への書き込みが終了し、かつ図２０のラインバッファｂ１のＮ列目に最終画素が格納された時に、被処理画像データを出力する。ＳＤＲＡＭコントローラ１０５は、図１９に示すように、ラインバッファ１０２からの被処理画像データＤ１０２を１行０列目、１行１列目、…、１行Ｎ−１列目、１行Ｎ列目と書き込むためのアドレスを生成し、ＳＤＲＡＭ１０６に被処理画像データを書き込んでいる。このように、ラインバッファ１０１または１０２から出力される被処理画像データをＳＤＲＡＭ１０６に書き込みをして、１フレーム分のデータを書き込む。
【００４２】
最後に、左右反転処理後のデータをＳＤＲＡＭ１０６から読み出す際には、図１９の０行０列目、０行１列目、０行２列目、…０行Ｎ列目、１行０列目、１行１列目、…、１行Ｎ列目、…、Ｋ行０列目、…、Ｋ行Ｎ列目とラスタースキャンで読み出す。これにより、左右反転処理したデータを出力し、出力バッファ１０７に処理画像データを書き込み、処理画像データを出力することができる。
【００４３】
被処理画像データと左右反転処理後データを図２１に示す。また、被処理画像データと左右反転処理後データの画素の位置関係を図２２に示す。
【００４４】
［右９０°左右反転処理］
右９０°左右反転処理の場合は、図２３のラインバッファ１０１のラインバッファａ１５のＮ列目に最終画素が格納された時に、ラインバッファコントローラ１０３においてＳＤＲＡＭコントローラ１０５に右９０°左右反転処理した画像を書き込むための読み出しアドレスをラインバッファ１０１へ入力する。この読み出しアドレスは、図２３中のＮ列目から０，１，２，…，Ｎ−１，Ｎと逐次的に出力するための信号である。この読み出しアドレスよりラインバッファ１０１から被処理画像データをＳＤＲＡＭコントローラ１０５へ入力する。
【００４５】
ＳＤＲＡＭコントローラ１０５は、図２４に示すように、ラインバッファ１０１からの被処理画像データＤ１０１を０行０列目、１行０列目、…、Ｎ−１行０列目、Ｎ行０列目と書き込むためのアドレスを生成し、ＳＤＲＡＭ１０６に被処理画像データを書き込んでいる。ラインバッファ１０２は、ラインバッファ１０１の被処理画像データについて０列目までＳＤＲＡＭ１０６への書き込みが終了し、かつ図２５のラインバッファｂ１５のＮ列目に最終画素が格納された時に、被処理画像データを出力する。ＳＤＲＡＭコントローラ１０５は、図２４に示すように、ラインバッファ１０２からの被処理画像データＤ１０２を０行１列目、１行１列目、…、Ｎ−１行１列目、Ｎ行１列目と書き込むためのアドレスを生成し、ＳＤＲＡＭ１０６に被処理画像データを書き込んでいる。このように、ラインバッファ１０１または１０２から出力される被処理画像データをＳＤＲＡＭ１０６に書き込みをして、１フレーム分のデータを書き込む。
【００４６】
最後に、右９０°左右反転処理後のデータをＳＤＲＡＭ１０６から読み出す際には、図２４の０行０列目、０行１列目、０行２列目、…０行Ｋ列目、１行０列目、１行１列目、…、１行Ｋ列目、…、Ｎ行０列目、…、Ｎ行Ｋ列目とラスタースキャンで読み出す。これにより、右９０°回転処理したデータを出力し、出力バッファ１０７に処理画像データを書き込み、処理画像データを出力することができる。
【００４７】
被処理画像データと右９０°左右反転処理後データを図２６に示す。また、被処理画像データと右９０°左右反転処理後データの画素の位置関係を図２７に示す。
【００４８】
［左９０°左右反転処理］
左９０°左右反転処理の場合は、図２８のラインバッファ１０１のラインバッファａ１５のＮ列目に最終画素が格納された時に、ラインバッファコントローラ１０３においてＳＤＲＡＭコントローラ１０５に左９０°左右反転処理した画像を書き込むための読み出しアドレスをラインバッファ１０１へ入力する。この読み出しアドレスは、図２８中のＮ列目から０，１，２，…，Ｎ−１，Ｎと逐次的に出力するための信号である。この読み出しアドレスよりラインバッファ１０１から被処理画像データをＳＤＲＡＭコントローラ１０５へ入力する。
【００４９】
ＳＤＲＡＭコントローラ１０５は、図２９に示すように、ラインバッファ１０１からの被処理画像データＤ１０１をＮ行０列目、Ｎ行１列目、…、Ｎ行Ｋ−１列目、Ｎ行Ｋ列目と書き込むためのアドレスを生成し、ＳＤＲＡＭ１０６に被処理画像データを書き込んでいる。ラインバッファ１０２は、ラインバッファ１０１の被処理画像データについて０列目までＳＤＲＡＭ１０６への書き込みが終了し、かつ図３０のラインバッファｂ１５のＮ列目に最終画素が格納された時に、被処理画像データを出力する。ＳＤＲＡＭコントローラ１０５は、図２９に示すように、ラインバッファ１０２からの被処理画像データＤ１０２をＮ行０列目、Ｎ行１列目、…、Ｎ行Ｋ−１列目、Ｎ行Ｋ列目と書き込むためのアドレスを生成し、ＳＤＲＡＭ１０６に被処理画像データを書き込んでいる。このように、ラインバッファ１０１または１０２から出力される被処理画像データをＳＤＲＡＭ１０６に書き込みをして、１フレーム分のデータを書き込む。
【００５０】
最後に、左９０°左右反転処理後のデータをＳＤＲＡＭ１０６から読み出す際には、図２９の０行０列目、０行１列目、０行２列目、…０行Ｋ列目、１行０列目、１行１列目、…、１行Ｋ列目、…、Ｎ行０列目、…、Ｎ行Ｋ列目とラスタースキャンで読み出す。これにより、左９０°回転処理したデータを出力し、出力バッファ１０７に処理画像データを書き込み、処理画像データを出力することができる。
【００５１】
被処理画像データと左９０°左右反転処理後データを図３１に示す。また、被処理画像データと左９０°左右反転処理後データの画素の位置関係を図３２に示す。
【００５２】
以上のように、本実施形態における画像処理装置では、ラインバッファ１０１及びラインバッファ１０２のうちの一方からＳＤＲＡＭ１０６に被処理画像データの書き込みをしているときに、ラインバッファ１０１及びラインバッファ１０２のうちの他方に被処理画像データを格納するようにしている。これにより、ラインバッファ１０１とラインバッファ１０２を交互に切り替えて被処理画像データをＳＤＲＡＭ１０６に書き込むことができるため、任意に指定した角度への回転処理などの画像処理をリアルタイム処理で実行することが可能となる。
【００５３】
また、ＳＤＲＡＭコントローラ１０５は、９０°の整数倍の回転処理（左９０°、右９０°、１８０°）、左右反転処理、右９０°左右反転処理、左９０°左右反転処理、または回転処理なしのうちのいずれかの画像処理が施された被処理画像データをＳＤＲＡＭ１０６に書き込むようにしている。すなわち、ＳＤＲＡＭ１０６への被処理画像データの書き込み方法を変更するだけで、１８０°回転処理、左右反転処理、右９０°左右反転処理、左９０°左右反転処理も容易に実現することが可能である。
【００５４】
さらに、ＳＤＲＡＭコントローラ１０５は、左９０°または右９０°に画像を回転処理する際に、ラインバッファ１０１またはラインバッファ１０２のアドレスをカウントする方法を切り替えるようにしている。これにより、別の回路を設ける必要がないので、回路規模を増大することなく回転処理を実現することが可能である。
【００５５】
なお、本発明は、画像処理装置として実現することができるだけでなく、このような画像処理装置が備える特徴的な処理部をステップとする画像処理方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。このようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのはいうまでもない。
【符号の説明】
【００５６】
１０１…ラインバッファ（第１のラインバッファ）
１０２…ラインバッファ（第２のラインバッファ）
１０３…ラインバッファコントローラ
１０６…ＳＤＲＡＭ（画像メモリ）
１０５…ＳＤＲＡＭコントローラ（画像メモリコントローラ）
【図１】
2013196103.tif 000003
【図２】
2013196103.tif 000004
【図３】
2013196103.tif 000005
【図４】
2013196103.tif 000006
【図５】
2013196103.tif 000007
【図６】
2013196103.tif 000008
【図７】
2013196103.tif 000009
【図８】
2013196103.tif 000010
【図９】
2013196103.tif 000011
【図１０】
2013196103.tif 000012
【図１１】
2013196103.tif 000013
【図１２】
2013196103.tif 000014
【図１３】
2013196103.tif 000015
【図１４】
2013196103.tif 000016
【図１５】
2013196103.tif 000017
【図１６】
2013196103.tif 000018
【図１７】
2013196103.tif 000019
【図１８】
2013196103.tif 000020
【図１９】
2013196103.tif 000021
【図２０】
2013196103.tif 000022
【図２１】
2013196103.tif 000023
【図２２】
2013196103.tif 000024
【図２３】
2013196103.tif 000025
【図２４】
2013196103.tif 000026
【図２５】
2013196103.tif 000027
【図２６】
2013196103.tif 000028
【図２７】
2013196103.tif 000029
【図２８】
2013196103.tif 000030
【図２９】
2013196103.tif 000031
【図３０】
2013196103.tif 000032
【図３１】
2013196103.tif 000033
【図３２】
2013196103.tif 000034
【図３３】
2013196103.tif 000035
【図３４】
2013196103.tif 000036