(57)【要約】      （修正有）【課題】配線数の増大を抑え、回路規模や信号伝達遅延時間の増加を防止して、画像データを９０度単位で回転する画像処理装置を提供する。【解決手段】連続する所定数の画素データ単位で画像データを分割した各画素群の画素データのそれぞれを入力して記憶する複数のメモリ１〜４と、画像データの回転を指示する指示情報を生成する動作モード制御部７と、指示情報に応じて、複数のメモリ１〜４のそれぞれから画素データを読み出すアドレスを複数のメモリのそれぞれに出力して、前記複数のメモリの各対応するアドレスに記憶された画素データを読み出すコントローラ部５と、複数のメモリ１〜４から読み出した複数の画素データを指示情報に応じて並び替えて出力するセレクタ部６とを有する。【選択図】図１
2011010213.tif 000002
【特許請求の範囲】
【請求項１】
入力した画像データを９０度単位で回転する画像処理装置であって、
連続する所定数の画素データ単位で前記画像データを分割した各画素群の画素データのそれぞれを入力して記憶する複数のメモリと、
前記画像データの回転を指示する指示情報を生成する生成手段と、
前記指示情報に応じて、前記複数のメモリのそれぞれから画素データを読み出すアドレスを前記複数のメモリのそれぞれに出力して、前記複数のメモリの各対応するアドレスに記憶された画素データを読み出す読み出し手段と、
前記読み出し手段により前記複数のメモリから読み出した複数の画素データを前記指示情報に応じて並び替えて出力する出力手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記複数のメモリのそれぞれは、前記画像データの副走査方向の位置が同じである複数の連続する前記所定数の画素データのそれぞれを記憶することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記複数のメモリのそれぞれは、前記画像データの主走査方向の位置が同じである複数の連続する前記所定数の画素データのそれぞれを記憶することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記画像データを入力する入力バスのバス幅は、少なくとも前記所定数の画素データを同時に転送するバス幅を有していることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記所定数と、前記複数のメモリの数は同じであることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを９０度単位で回転する画像処理装置に関する。
【背景技術】
【０００２】
ディスプレイやプリンタ等のデバイスに画像データを送信して表示或いは出力させる画像処理装置では、そのデバイスが画像データを要求する速度を上回るデータ処理能力を備える必要がある。例えばプリンタの場合、画像の印刷処理をページ単位で行うため、一度印刷動作を開始すると、そのページ全体の印刷が終わるまで動作を停止できない。従って、高速印刷を実現するためには、印刷時の画像処理にも高速性が要求される。
【０００３】
一方、半導体技術の進化において、動作クロックの周波数を高めることのみによる性能向上は頭打ちとなり、並列処理等に代表される処理構成の工夫による性能向上が求められてきている。ここで、例えば９０度、１８０度、２７０度というように９０度単位で画像を回転する画像回転処理、及び、画像を左右反転させる画像反転処理を考える。これら画像回転処理と画像反転処理は、画素の並びを変更するものであり、以下、これらをまとめて単に、画像回転処理と記載する。
【０００４】
画像回転処理を実現する構成として、メモリの異なるアドレスに１画素ずつ格納した画像データを、その画像データを格納したときと異なるアドレス順に１画素ずつ読み出すものがある（特許文献１参照）。このような画像回転処理を２つの処理の並列処理で高速化する場合を考える。これには例えば、メモリの各アドレスに２画素ずつ格納し、読み出すときに２画素ずつ読み出すことにより、１画素ずつの処理と比較して２倍の処理速度を実現できる。この場合のメモリの構成としては、１ワードに２画素を格納できる構成にし、また、同時に２つの異なるアドレスから読み出しが可能なように２ポート同時読み出しができる構成にすることが考えられる。これにより、画像データを２画素ずつ格納すること、及び異なるアドレスに格納されている２画素を同時に読み出すことが可能となる。ここで、異なるアドレスに格納されている２画素を同時に読み出すことは、９０度や２７０度回転させた画像を生成するときに使用される。尚、２ポート同時読み出しができるメモリは、２つの独立したメモリの組み合わせで実現してもよい。また更に、並列数を多くすることで、より高速な処理を実現することも可能である。
【０００５】
例えば、画像回転処理を４つの処理の並列処理で高速化することを考える。この場合は、メモリの各アドレスに４画素ずつ格納し、書き込み時と異なる順序で４画素ずつ読み出すことで実現できる。この場合、１画素ずつの処理と比較して４倍の処理速度を実現できる。このときのメモリの構成としては、１ワードに４画素を格納でき、また、同時に４つの異なるアドレスから読み出しが可能なように４ポート同時読み出しができる構成にする。この構成により、画像データを４画素ずつ格納すること、及び、異なるアドレスに格納されている４画素を同時に読み出すことが可能となる。同様に並列数を、８や１６というように多くすることで、より高速な処理を実現できる。このように、１ワードに複数画素を格納できるメモリ構成で、複数画素の並列処理を行う技術を第１の従来技術とする。
【０００６】
また、上述した画素の並列処理による画像回転処理とは別に、画素よりも大きなブロック単位での処理により高速な画像回転処理を実現する技術がある。例えば、メモリへの格納を４画素×４画素のようなブロック単位で行い、ブロック単位で読み出した画素データを同じ構成の別のメモリに格納することで、より高速な画像回転処理を実現する技術が提案されている（特許文献２参照）。このようにブロック単位での転送で画像回転処理を行う技術を第２の従来技術とする。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−８４４１４号公報
【特許文献２】特開２００５−２２３８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述した第１の従来技術による画像回転処理では、複数のメモリの出力データをセレクタで選択する構成が必要となり、並列数を増やすと、セレクタの入力に多くのビット数の信号が接続されるため基板上の配線が複雑になるという問題がある。これはセレクタの入力にメモリの全てのデータ信号線が接続され、この信号線の数が並行して処理する画素数の２乗に比例して増加するためである。ここで信号線の数は、メモリの出力ポート数とメモリの１ポートあたりのビット数を掛けたものとなるが、前者はその画素数と同じで、後者は１画素のビット数に、その画素数を掛けたものになり（画素数×１画素のビット数×並行して処理する画素数）となる。このような配線は、ＬＳＩ設計において回路面積や回路規模、信号伝達遅延時間の増加を招くもので、それらはＬＳＩのコスト増加、消費電力増加及び動作速度低下などの大きな問題の原因となる。
【０００９】
また上記第２の従来技術は、メモリからブロック単位で読み出した画素データを、プリンタ等のデバイスが要求する転送順序に並べ替えるためのセレクタが必要となり、セレクタの入力への配線が複雑になる。これはセレクタの入力にはメモリの全てのデータ信号線が接続され、この信号線の数が主走査方向の画素数とブロックの縦画素数の積に比例したものとなるためである。また、セレクタによる並べ替えが必要となる理由は、プリンタ等のデバイスは、前述のようなブロック単位ではなく、ページ画像を構成する全ての画素データをライン毎に１画素或いは数画素ずつ順番に転送することを要求するためである。
【００１０】
本発明の目的は、上記従来技術の問題点を解決することにある。
【００１１】
本願発明の特徴は、並列に処理する画素の数を増やすことによる信号の配線数の増大を少なく抑えることにより、回路面積や回路規模、信号伝達遅延時間の増加を防止できる画像処理装置を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
入力した画像データを９０度単位で回転する画像処理装置であって、
連続する所定数の画素データ単位で前記画像データを分割した各画素群の画素データのそれぞれを入力して記憶する複数のメモリと、
前記画像データの回転を指示する指示情報を生成する生成手段と、
前記指示情報に応じて、前記複数のメモリのそれぞれから画素データを読み出すアドレスを前記複数のメモリのそれぞれに出力して、前記複数のメモリの各対応するアドレスに記憶された画素データを読み出す読み出し手段と、
前記読み出し手段により前記複数のメモリから読み出した複数の画素データを前記指示情報に応じて並び替えて出力する出力手段とを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、並列に処理する画素の数を増やすことによる信号の配線数の増大を少なく抑えることにより、回路面積や回路規模、信号伝達遅延時間の増加を防止できるという効果がある。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係る画像回転処理装置の全体の構成を示すブロック図。
【図２】画像回転処理装置が扱う画像データと、画像データの転送順を示す模式図。
【図３】入力データバスを転送する画像データと９０度回転したを画像データを転送するタイミングチャートと、９０度画像回転処理した画像データを示す模式図。
【図４】メモリ１〜４の構成と信号接続、及びセレクタ部の構成と信号接続を説明する模式図。
【図５】画像データをメモリ１〜４に分割して格納する画素分割と、入力データバスから入力された画素データをメモリに書き込むためのセレクタの模式図。
【図６】セレクタの動作シーケンスを説明する図。
【図７】メモリに画素データを書き込むときのタイミングチャート。
【図８】メモリに画素データを書き込むときのメモリバスの制御シーケンス図。
【図９】メモリ１〜４に格納された画素データを説明する図。
【図１０】０度回転の動作モードでメモリから画素データを読み出すときのメモリバスの制御シーケンスを説明する図。
【図１１】９０度回転の動作モードで、メモリから画素データを読み出すときのメモリバスの制御シーケンスを説明する図。
【図１２】１８０度回転の動作モードで、メモリから画素データを読み出すときのメモリバスの制御シーケンスを説明する図。
【図１３】２７０度回転の動作モードで、メモリから画素データを読み出すときのメモリバスの制御シーケンスを説明する図。
【図１４】９０度回転の動作モードで、メモリバスを介してメモリから画素データを読み出すときのタイミングチャート。
【図１５】０度回転と９０度回転の動作モードで、セレクタ部が動作するシーケンスを説明する図。
【図１６】１８０度回転と２７０度回転の動作モードで、セレクタ部が動作するシーケンスを説明する図。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、本実施形態に係る画像処理装置（画像回転処理装置）は、入力した画像データを９０度単位で回転し、１サイクルあたり４画素の画素データ入力、回転処理、及び、画素データの出力を行う。
【００１６】
図１は、本実施形態に係る画像処理装置の一例である画像回転処理装置の構成を示すブロック図である。
【００１７】
メモリ１〜４のそれぞれは、各対応するメモリバス１１〜１４を介してコントローラ部５に接続されたランダムアクセスメモリであり、コントローラ部５の制御により画素データの書き込み及び読み出しをすることができる。このようにメモリ１〜４をランダムアクセスメモリとすることにより、画素データの書き込み順序によらず任意の順序での画素データの読み出しが行える。コントローラ部５のセレクタ１６は、入力データバス８を介して入力される９６ビットのデータを、２４ビットずつメモリ１〜４のそれぞれに振り分ける。コントローラ部５は更に、入力データバス８、セレクタ部６、動作モード制御部７に接続されている。コントローラ部５は、入力データバス８から転送される画素データを受信して、メモリ１〜４に書き込むとともに、メモリ１〜４から画素データを読み出してセレクタ部６に転送する。コントローラ部５は、０度、９０度、１８０度、２７０度の回転を行う４つの動作モードを持ち、動作モード制御部７から入力される動作モード信号（指示情報）により動作モードを切り換える。セレクタ部６は、コントローラ部５、動作モード制御部７、及び出力データバス９に接続されている。セレクタ部６は、０度、９０度、１８０度、２７０度の回転の４つの動作モードを持ち、動作モード制御部７から入力される動作モード信号により動作モードを切り換える。セレクタ部６は、コントローラ部５から転送される画素データを受信して、その受信した画素データを動作モードに応じて選別と並べ替えを行って出力データバス９に出力する。動作モード制御部７は、制御バス１０、コントローラ部５及びセレクタ部６と接続されている。動作モード制御部７は、０度、９０度、１８０度、２７０度の回転の４つの動作モードを指示する指示情報を出力する。動作モード制御部７は、ユーザの指示に基づいて制御バス１０から転送される動作モード切り換え信号により動作モード信号を生成し、コントローラ部５及びセレクタ部６に対して、その指示された動作モードに対応する動作モード信号（指示情報）を送信する。
【００１８】
入力データバス（入力バス）８は、クロック信号に同期して１サイクルあたり４画素の画素データを転送できるデータバスである。出力データバス（出力バス）９は、クロック信号に同期して１サイクルあたり４画素の画素データを転送できるデータバスである。いずれも本実施形態では、９６ビット（４画素分）のバス幅を有している。尚、ここで同時に入力及び出力できる画素データは、説明のために４画素としているが、本実施形態は４画素に限定されるものではなく、より大きな画素数であってもよい。また同時に入力と出力できる画素データ数を同じ画素数にしているが異なっていてもよく、その場合は入力又は出力の画素数の多い方のデータバスが、画素数の少ない方のデータ転送の速度に合うように必要に応じて停止することになる。従って、同時に入力、及び、出力できる画素データ数が同じであると、２つのデータバスは速度調節のためにデータ転送を停止する必要がない。制御バス１０は、動作モード切り換え信号を転送するバスである。メモリバス１１〜１４のそれぞれは、クロック信号に同期して、各対応するメモリへの画素データ書き込みや画素データ読み出しを行うことができるデータバスである。このような構成を備える画像回転処理装置１５は、制御バス１０を介して外部の図示しない制御装置が送信する動作モード切り換え信号を受信して、内部の動作モードを０度、９０度、１８０度、２７０度の回転の中からいずれかに切り換える。また画像回転処理装置１５は、入力データバス８を介して外部の図示しない画像送信装置が送信する１６×１６画素からなる画像データを受信して、動作モードに応じた角度の画像回転処理を施し、その結果を出力データバス９に出力する。
【００１９】
図２（Ａ）は、本実施形態に係る画像回転処理装置が扱う画像データを表す模式図である。
【００２０】
図における小さな四角は１つの画素データを表しており、この画像データは、横方向の１６画素、縦方向の１６画素からなる１６×１６の画素データで構成されている。尚、ここで扱う画像データのサイズは、説明のために１６×１６画素としているが、本発明はこのサイズの画像データに限定されるものではなく、縦方向と横方向の画素数が同じであるあらゆるサイズの画像データに適用可能である。各画素データは２４ビットで構成される多値データで、図の「００」から「ＦＦ」は画素番号を１６進数で示したものである。
【００２１】
図２（Ｂ）は、図２（Ａ）に示す画像データに回転処理を行って出力データバスに出力する順番を示した模式図である。
【００２２】
ここでは入力データバス８と出力データバス９は、１サイクルあたり４画素の画素データを転送できるため４画素毎に番号が振られている。ここでは、画像データの副走査方向の位置が同じである複数の連続する所定数（ここでは４）の画素データ単位（画素群）で出力する。尚、ここでは、画像データの副走査方向の位置が同じである連続する複数の画素データの単位で画素群に分割しているが本発明はこれに限定されるものでない。例えば、画素データの主走査方向の位置が同じである複数の連続する所定数の画素データの単位であっても良いことはもちろんである。
【００２３】
図３（Ａ）は、図２（Ａ）の画像データが入力データバス８を転送されるときのタイミングチャートである。
【００２４】
ここで入力データバス８は９６ビット幅を有しており、１サイクルで４画素データが同時に転送され、データ信号ｉｎ＿ｄａｔａ［９５：０］の上位ビットから並べて転送される。尚、図中のデータ信号に記載した数値は、画素データの値ではなく、図２（Ａ）に示した画素番号を示す。画素データが転送されるサイクルでは、データ信号が有効であることを示すバリッド信号ｉｎ＿ｖａｌｉｄが「１」となる。
【００２５】
図３（Ｂ）は、図２（Ａ）の画像データを反時計回りに９０度画像回転処理した画像データを示す模式図である。尚、以降の説明では、回転角度を角度の数値のみで、０度、９０度、１８０度、２７０度と表記し、全て反時計回りを表すものとする。また本実施形態における画像回転処理装置が対応する回転角度は、０度、９０度、１８０度、２７０度の４種類であるが、更に画像回転処理装置では、これらそれぞれに鏡像化処理を組み合わせた８種類の画像回転処理が可能である。以下本実施形態では、０度、９０度、１８０度、２７０度の動作モードについて説明し、また動作シーケンスの詳細は、９０度の動作モードの場合で説明する。
【００２６】
図３（Ｃ）は、９０度回転した画像データを出力データバス９に転送するときのタイミングチャートである。ここでは図２（Ｂ）に示す順序で画素データが出力される。ここでもデータ信号に記載した値は、画素データではなく、画素番号を示している。
【００２７】
次に、本実施形態に係る画像回転処理装置の構成を説明する。
【００２８】
図４（Ａ）は、画像回転処理装置のメモリ１、メモリ２、メモリ３、及び、メモリ４の構成と信号接続を説明する模式図である。
【００２９】
本実施形態に係るメモリ１、メモリ２、及び、メモリ３は、１ワードに１画素の画素データを格納するために２４ビット幅を持つメモリデバイスで構成されている。そしてメモリ１〜４のそれぞれは独立したメモリデバイスであり、各メモリデバイスに１ワードずつ、合計４ワードを一度に書き込んだり、或いは読み出すことができる。またこれらメモリ１〜４は、クロック信号ｃｌｋ(_clk)に同期して動作し、チップセレクト信号ｃｓ(_cs)が「１」であるサイクルで画素データの書き込み、或いは読み出し動作を実行する。またメモリ１〜４は、ライトイネーブル信号ｗｅ(_we)が「１」であるサイクルで画素データの書き込み動作を、また「０」であるサイクルで画素データの読み出し動作を実行する。またメモリ１〜４は、アドレス信号ａｄｄｒ(_addr)［５：０］で指定したアドレスのワードに対して画素データの書き込み、或いは、読み出し動作が実行される。尚、図の信号の表記で、各信号、データに付された(m0, m1, m2, m3)は、各メモリの信号やデータを示している。_wdataは、各メモリへ書き込むデータ、_rdata各メモリから読み出したデータを示す。
【００３０】
図４（Ｂ）は、本実施形態に係るセレクタ部６の構成と信号接続を説明する模式図である。
【００３１】
このセレクタ部６は、メモリ１、メモリ２、メモリ３、及び、メモリ４から読み出した４画素分の画素データを並べ替えて出力する。セレクタ部６は、同時に処理する数に比例した画素データを入力すればよいため、高速化のために同時に処理する数を増やしても、集中する配線の量がが非線形に大きくなることがない。このセレクタ部６は、各メモリから出力される画素データ(_rdata)を入力している。またコントローラ部５から出力されるサイクル番号信号ｃｙｃｌｅ＿ｃｏｕｎｔ［５：０］、及び、動作モード制御部７から動作モード信号ｍｏｄｅ［１：０］を入力している。この動作モード信号は、０度、９０度、１８０度、及び、２７０度の回転を示しているが、それぞれ、２ビットの動作モード信号ｍｏｄｅ［１：０］の値、「００」（０）「１０」（１）「０１」（２）「１１」（３）に対応している。このセレクタ部６は、それぞれが２４ビットの出力ポート(out_0〜out_3)を有しており、セレクタ部６から出力されるデータはout_dataで示されている。
【００３２】
図５（Ａ）は、図２（Ａ）の画像データをメモリ１〜４に分割して格納するときの画素分割を説明する模式図である。図において、斜線を付した画素はメモリ１に、格子地の画素はメモリ２に、網点の画素はメモリ３に、白地の画素はメモリ４にそれぞれ格納される。
【００３３】
画像回転処理装置１５は、１サイクルあたり４画素の画像回転処理を行うので、０度回転、及び、１８０度回転の動作モードのときに主走査方向（横方向）に並んだ４画素を同時に読み出す必要がある。そのため、主走査方向に並んだ４画素のそれぞれを異なるメモリに記憶するように分割している。また画像回転処理装置１５は、１サイクルあたり４画素の画像回転処理を行うので、９０度回転、及び、２７０度回転の動作モードのときに副走査方向に並んだ４画素を同時に読み出す必要がある。そのため、副走査方向に並んだ４画素のそれぞれを異なるメモリに記憶するように分割している。尚、同時に読み出せるように構成する目的だけであれば、メモリを１６個用意して、並んだ画素データを異なるメモリに記憶してもいいが、ここでは４画素おきに同じメモリに繰り返し記憶することで、メモリの個数を必要最小限の４個に抑えている。これにより、制御回路等の回路規模や消費電力のコストを小さくしている。
【００３４】
図５（Ｂ）は、入力データバス８から入力された画素データをメモリ１〜４に書き込むときの信号接続を行うセレクタ１６の模式図である。
【００３５】
入力された４画素分の９６ビットの画素データ(in_data)は、コントローラ部５の制御によって並べ替えられて、それぞれ２４ビットずつメモリ１〜４のそれぞれに転送される。
【００３６】
図６は、図５（Ｂ）に示したセレクタ１６の動作シーケンスを説明する図である。
【００３７】
図において、例えば０〜３サイクルは、図５（Ａ）の１行目の画素データをメモリ１〜４に書き込むタイミングを示し、４〜７サイクルは、図５（Ａ）の２行目の画素データをメモリ１〜４に書き込むタイミングを示す。以下同様にして、１行分の画素データが４サイクルでメモリ１〜４に書き込まれるため、図５（Ａ）に示す画素データは合計６４サイクルでメモリ１〜４に記憶される。
【００３８】
図７は、メモリバス１１〜１４を介してメモリ１〜４に画素データを書き込むときのタイミングチャートである。尚、図において、クロック信号(_clk)、チップセレクト信号(_cs)、ライトイネーブル信号(_we)、アドレス信号(_addr)、ライトデータ信号(_wdata)はコントローラ部５が出力する。尚、ライトデータ信号、及び、リードデータ信号に記載した値は、画素データ値ではなく、画素番号である。またアドレス信号に記載した値はアドレス信号の値である。このようにしてメモリ１〜４のぞれぞれには、図５（Ａ）に示すように各画素データが記憶される。
【００３９】
図８は、メモリ１〜４に画素データを書き込むときのメモリバス１１〜１４の制御シーケンスを説明する図である。このタイミングは図７のタイミングチャートを参照すると、より容易に理解できるであろう。
【００４０】
図９は、こうしてメモリ１〜４に格納された画素データを説明する図である。
【００４１】
図中、ｄａｔａ欄に記載した値は、図２（Ａ）の画素番号を示し、ａｄｄｒ欄に記載した値は、各メモリの実際のアドレスを示す。
【００４２】
図１０は、０度回転の動作モードにおいてメモリ１〜４から画素データを読み出すときのメモリバス１１〜１４の制御シーケンスを説明する図である。
【００４３】
この場合は、４つのメモリに画素分割して格納されている画素データをそのまま読み出すため、コントローラ部５は、アドレスを「００」から「３Ｆ」順次各メモリに出力して、そこに格納されている画素データを読み出してセレクタ部６に転送する。
【００４４】
図１１は、９０度回転の動作モードにおいてメモリ１〜４から画素データを読み出すときのメモリバス１１〜１４の制御シーケンスを説明する図である。
【００４５】
９０度回転した画素データは図３（Ｂ）に示されている。図３（Ｂ）において、サイクル０では、画素（０Ｆ，１Ｆ，２Ｆ，３Ｆ）が読み出される。図９を参照すると、これら画素は、順番にメモリ４のアドレス（０３）、メモリ１のアドレス（０７），メモリ２のアドレス（０Ｂ）、そしてメモリ３のアドレス（０Ｆ）に格納されている。従って図１１で、サイクル０での各メモリの読み出しアドレスが決定される。以下同様にして、各サイクルにおける各メモリの読み出しアドレスが決定される。これが図１１に示されている。コントローラ部５は、これに従って各メモリにアドレスを出力して、各対応するメモリバスを制御することで、４つのメモリに画素分割して格納されている画素データを読み出す。そして９０度の回転処理を行った画像データ転送の各サイクルに必要となる画素データをセレクタ部６に転送する。
【００４６】
図１２は、１８０度回転の動作モードにおいてメモリ１〜４から画素データを読み出すときのメモリバス１１〜１４の制御シーケンスを説明する図である。
【００４７】
図１３は、２７０度回転の動作モードにおいてメモリ１〜４から画素データを読み出すときのメモリバス１１〜１４の制御シーケンスを説明する図である。
【００４８】
図１４は、９０度回転の動作モードで、メモリバス１１〜１４を介してメモリ１〜４から画素データを読み出すときのタイミングチャートである。
【００４９】
このタイミングチャートは、図１１に示した制御シーケンスに従っている。また図中の信号は、図７に示した信号と同じである。またライトデータ信号、及び、リードデータ信号に記載した値は、画素番号を示しており、アドレス信号に記載した値は、実際のアドレス値である。
【００５０】
図１５（Ａ）は、０度回転の動作モードにおいてセレクタ部６が動作するシーケンスを説明する図である。
【００５１】
図１５（Ｂ）は、９０度回転の動作モードにおいてセレクタ部６が動作するシーケンスを説明する図である。この９０度回転の動作モードにおけるセレクタ部６の動作は、図３（Ｂ）と図４（Ｂ）、図９及び図１１から理解できよう。
【００５２】
図１６（Ａ）は、１８０度回転の動作モードにおいてセレクタ部６が動作するシーケンスを説明する図である。
【００５３】
図１６（Ｂ）は、２７０度回転の動作モードにおいてセレクタ部６が動作するシーケンスを説明する図である。
【００５４】
以上の構成において、本実施形態に係る画像回転処理装置１５の動作の流れを９０度回転の場合を例にして以下に説明する。
【００５５】
動作モード制御部７に、動作モードを９０度回転に切り換えるための動作モード切り換え信号を制御バス１０を介して制御部（不図示）が供給する。これにより動作モード制御部７は、動作モードを９０度回転に切り換えて、コントローラ部５及びセレクタ部６に９０度回転の動作モードを示す動作モード信号を送信する。一方、入力データバス８には、画像回転処理を施す対象となる画像データが、不図示の画像送信装置から供給される。
【００５６】
ここでは、図２（Ａ）に示した画像データが図３（Ａ）に示すタイミングチャートのタイミングで、１サイクルあたり４画素の画素データとして送信される。
【００５７】
コントローラ部５は画素データを受信すると、受信した画素データを図５（Ｂ）に示すセレクタ１６に入力する。このセレクタ１６は、図６に示す動作シーケンスに従って、入力された画素データをメモリバス１１〜１４を介してメモリ１〜４に転送する。また、コントローラ部５は、図７に示したタイミングチャートのタイミングでメモリバス１１〜１４を介してメモリ１〜４に信号を送信する。これらの信号の内、アドレス信号、チップセレクト信号、及び、ライトイネーブル信号は、図８に示した制御シーケンスに従って、転送する画素データのサイクル数に同期して送信される。こうして図２（Ａ）に示す画像データの全ての画素データの転送が終了したとき、メモリ１〜４は図９に示すような内容となる。
【００５８】
コントローラ部５は、動作モード制御部７から送信される９０度回転の動作モードを示す動作モード信号を受信しているため、９０度回転の動作モードで動作する。コントローラ部５は、図１１に示す９０度回転の動作モードにおける各サイクルの制御シーケンスに従ってメモリバスを制御し、４つのメモリ１〜４に格納されている画素データを読み出す。このときのタイミングは図１４に示したタイミングチャートのようになる。
【００５９】
こうしてコントローラ部５は、４つのメモリ１〜４から出力された画素データを、転送サイクル数を表すサイクルカウント信号と共にセレクタ部６に転送する。セレクタ部６は動作モード制御部７から送信される９０度回転の動作モードを示す動作モード信号を受信しているため、９０度回転の動作モードで動作する。即ち、セレクタ部６は、コントローラ部５から転送される画素データとサイクルカウント信号を受信し、図１５（Ｂ）に示す９０度回転の動作モードのシーケンスに従って動作して画素データを出力データバス９に出力する。このときの出力データバス９のタイミングは図３（Ｃ）に示すタイミングチャートのようになり、図３（Ｂ）に示す９０度回転した画像データを得ることができる。
【００６０】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011010213.tif 000003
【図２】
2011010213.tif 000004
【図３】
2011010213.tif 000005
【図４】
2011010213.tif 000006
【図５】
2011010213.tif 000007
【図６】
2011010213.tif 000008
【図７】
2011010213.tif 000009
【図８】
2011010213.tif 000010
【図９】
2011010213.tif 000011
【図１０】
2011010213.tif 000012
【図１１】
2011010213.tif 000013
【図１２】
2011010213.tif 000014
【図１３】
2011010213.tif 000015
【図１４】
2011010213.tif 000016
【図１５】
2011010213.tif 000017
【図１６】
2011010213.tif 000018