(57)【要約】【課題】機器全体にかかるコストを低減させ、記憶装置に格納された画素に対し効率よくアクセスできるデータ入出力制御装置を提供する。【解決手段】本発明のメモリコントローラ３は、原画像を回転させて入出力させるか否かを判定するアドレス変換指示部３４と、回転後の画像を構成する各画素データの原画像メモリ２におけるアドレスを求めるアドレス変換部３５と、ラスタスキャン方式の走査順に、画素データを、原画像メモリ２からデータバス６を通じて出力させるデータ入出力部３１とを備え、原画像を回転させずに入出力させる場合、データ入出力部３１は、原画像メモリ２から、データバス６のバス幅に応じた個数ずつ画素データを入出力し、原画像を回転させて入出力させる場合、この回転角度と求めたアドレスとに基づき、回転後の画像の画素データを走査順にアクセスし、データバスのバス幅に応じた個数ずつ入出力する。【選択図】図１
2010231425.tif 000002
【特許請求の範囲】
【請求項１】
画像データを格納するための記憶装置に対し、該画像データの入出力を制御するデータ入出力制御装置であって、
上記記憶装置は、上記画像データの所定の入出力方式に応じた走査順に、該画像データを構成する各画素データを格納しており、
上記画像データに基づき出力される原画像の、出力時における回転による向きの変更を設定する設定手段と、
上記設定手段により、上記原画像の向きの変更が設定された場合、回転後の画像を構成する各画素データの上記記憶装置における格納位置を示すアドレスを求める第１アドレス算出手段と、
上記所定の入出力方式に応じた走査順で、該画像データを構成する画素データを、上記記憶装置からデータバスを通じて出力する出力手段とを備え、
上記設定手段により、上記原画像の向きの変更が設定されなかった場合、上記出力手段は、上記記憶装置に格納されている順番に、上記データバスのバス幅に応じた個数ずつ画素データを該記憶装置から出力し、
上記設定手段により、出力時における上記画像の回転による向きの変更が設定された場合、上記出力手段は、該画像の回転後の向きを示す回転角度と上記第１アドレス算出手段によって算出されたアドレスとに基づき、上記所定の入出力方式による走査順に画素データを読み出し、上記データバスのバス幅に応じた個数ずつ該画素データを出力することを特徴とするデータ入出力制御装置。
【請求項２】
上記所定の入出力方式が、ラスタスキャン方式であることを特徴とする請求項１に記載のデータ入出力制御装置。
【請求項３】
上記記憶装置は、転送する上記画素データのデータ量とデータバスのバス幅とに応じて当該記憶装置の記憶領域が分割された、複数の第１分割記憶領域を有し、
上記第１分割記憶領域それぞれには、上記原画像における、上記ラスタスキャン方式による走査方向の１行分の画素データ群が格納されており、
上記設定手段により、出力時において、上記原画像を９０度または２７０度回転させて向きを変更させるように設定された場合、上記出力手段は、上記ラスタスキャン方式により回転後の画像を出力させる走査順に、各第１分割記憶領域から画素データを並列に読み出し、読み出した画素データをまとめて出力することを特徴とする請求項２に記載のデータ入出力制御装置。
【請求項４】
上記出力手段は、上記画素データを、該画素データに基づく表示を行う表示装置に出力することを特徴とする請求項２または３に記載のデータ入出力制御装置。
【請求項５】
画像データを格納するための記憶装置に対し、該画像データの入出力を制御するデータ入出力制御装置であって、
所定の入出力方式による走査順に従って読取り装置により読取られ、該読取り装置が備える読取りデータ記憶装置に格納された画像データを、データバスを通じて上記記憶装置に入力する入力手段と、
上記画像データに基づき出力される原画像の、出力時における回転による向きの変更を設定する設定手段と、
上記設定手段により、上記画像の回転による向きの変更が設定された場合、回転後の画像を構成する各画素データの上記読取りデータ記憶装置における格納位置を示すアドレスを求める第２アドレス算出手段とを備え、
上記設定手段により、上記画像の回転による向きの変更が設定されなかった場合、上記入力手段は、上記読取りデータ記憶装置に格納されている順番に、上記データバスのバス幅に応じた個数ずつ画素データを上記記憶装置に入力し、
上記設定手段により、上記画像の回転による向きの変更が設定された場合、上記入力手段は、該画像の回転後の向きを示す回転角度と上記第２アドレス算出手段によって算出されたアドレスとに基づき、回転後の画像を出力する所定の入出力方式による走査順に画素データを、上記読取りデータ記憶装置から読み出し、上記データバスのバス幅に応じた個数ずつ該画素データを上記記憶装置に入力することを特徴とするデータ入出力制御装置。
【請求項６】
上記所定の入出力方式が、ラスタスキャン方式であることを特徴とする請求項５に記載のデータ入出力制御装置。
【請求項７】
上記読取りデータ記憶装置は、転送する上記画素データのデータ量とデータバスのバス幅とに応じて当該読取りデータ記憶装置の記憶領域が分割された、複数の第２分割記憶領域を有し、
上記第２分割記憶領域それぞれには、上記原画像における、上記ラスタスキャン方式による走査方向の１行分の画素データ群が格納されており、
上記設定手段により、出力時において、上記原画像を９０度または２７０度回転させて向きを変更させるように設定された場合、上記入力手段は、上記ラスタスキャン方式により回転後の画像を出力させる走査順に、各第２分割記憶領域から画素データを並列に読み出し、読み出した画素データをまとめて記憶装置に入力することを特徴とする請求項６に記載のデータ入出力制御装置。
【請求項８】
上記記憶装置に格納されている順番に、上記データバスのバス幅に応じた個数ずつ画素データを該記憶装置から出力する第２出力手段を備えることを特徴とする請求項５から７のいずれか１項に記載のデータ入出力制御装置。
【請求項９】
請求項１に記載のデータ入出力制御装置において、
所定の入出力方式による走査順に従って読取り装置により読取られ、該読取り装置が備える読取りデータ記憶装置に格納された画像データを、データバスを通じて上記記憶装置に入力する入力手段と、
上記設定手段により、上記画像の回転による向きの変更が設定された場合、回転後の画像を構成する各画素データの上記読取りデータ記憶装置における格納位置を示すアドレスを求める第２アドレス算出手段とをさらに備え、
上記設定手段により、上記画像の回転による向きの変更が設定されなかった場合、上記入力手段は、上記読取りデータ記憶装置に格納されている順番に、上記データバスのバス幅に応じた個数ずつ画素データを上記記憶装置に入力し、
上記設定手段により、上記画像の回転による向きの変更が設定された場合、上記入力手段は、該画像の回転後の向きを示す回転角度と上記第２アドレス算出手段によって算出されたアドレスとに基づき、回転後の画像を出力する所定の入出力方式による走査順に画素データを、上記読取りデータ記憶装置から読み出し、上記データバスのバス幅に応じた個数ずつ該画素データを上記記憶装置に入力しており、
上記設定手段は、原画像の、出力時における回転による向きの変更の設定を、上記出力手段が画素データを上記記憶装置からデータバスを通じて出力する場合、あるいは上記入力手段が画素データを上記読取りデータ記憶装置からデータバスを通じて上記記憶装置に入力する場合それぞれで個別に行うことを特徴とする入出力制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを格納するための記憶装置に対し、該画像データの入出力を制御するデータ入出力制御装置に関するものである。
【背景技術】
【０００２】
近年、携帯機器等では、画像表示装置として、ドットマトリクス型の液晶ディスプレイを利用している。このようなドットマトリクス型の液晶ディスプレイに表示データを入力する場合、一般的にはラスタスキャン方式によりスキャンされた各ドット（画素）を順次入力する構成が採用されている。
【０００３】
ところで、ラスタスキャン方式を採用する場合、画像データ（原画像データ）の各画素データをメモリに格納させる順番と、液晶ディスプレイに入力する順番とが一致するように構成されていることが好ましい。このように構成することにより、液晶ディスプレイに対する画像データの入力を容易とすることができるからである。
【０００４】
しかしながら、上述のように液晶ディスプレイに入力する順に各画素データをメモリに格納する構成の場合、以下の問題点が生じる。すなわち、原画像を液晶ディスプレイの表示画面上において回転させて表示させる場合、液晶ディスプレイに入力する画素の順番とメモリに格納されている原画像データの画素の順番とが異なってしまい、液晶ディスプレイに対する原画像データの入力を効率よく行うことができないという問題が生じる。
【０００５】
そこで、このような問題に対応させるための一般的な方式としては、図１０に示すような、メモリ（原画像メモリ１０１および出力メモリ１０２）を用いた画像出力方式が提案されている（例えば、特許文献１、２）。図１０は従来技術を示すものであり、画像出力方式の一例を示す図である。
【０００６】
ここで図１０に示す画像出力方式について説明する。図１０に示す原画像メモリ１０１は、液晶ディスプレイにて表示させる原画像データが格納されたメモリであり、一方、出力メモリ１０２は、液晶ディスプレイに出力させるデータを一時格納するためのメモリである。
【０００７】
原画像メモリ１０１に格納された原画像データは、画像回転装置１００によって、出力メモリ１０２に格納される。すなわち、画像回転装置１００は、上記原画像データの画素の、原画像メモリ１０１における格納位置を、液晶ディスプレイにラスタスキャン方式で出力する順と一致するように変更させ、出力メモリ１０２に格納する。
【０００８】
このようにして原画像データが、液晶ディスプレイに入力される画素の順に応じてアクセスできるような状態で出力メモリ１０２に格納される。そして、出力制御装置１０４がこの原画像データを読み出し、液晶ディスプレイに出力する。
【０００９】
一方、上記出力メモリ１０２を省略した画像出力方式とすることもできる。この画像出力方式では、図１１に示すように、図１０に示す構成と比較して、出力メモリ１０２と画像回転装置１００の代わりに、出力制御装置２０２がアドレス生成器２０３を備える点で異なる。なお、図１１は従来技術を示すものであり、画像出力方式の一例を示す図である。
【００１０】
この画像出力方式では、出力制御装置２０２が原画像データを原画像メモリ２０１から直接読み出す。また、この出力制御装置２０２は、アドレス生成器２０３を備えている。原画像をそのまま表示させた状態から、例えば９０度回転させて表示させる等の回転表示を行う場合、このアドレス生成器２０３は、回転の向きに応じて、原画像メモリから読み出す、原画像データを構成する画素データのアドレスを変更する。
【００１１】
より具体的には、図１２（ａ）に示すように、原画像データの各画素（Ａ〜Ｘ）が配置されているものとする。すなわち、Ａ、Ｂ、Ｃ、Ｄ・・・の順に読み出されるように各画素が原画像メモリ２０１に格納されているものとする。そして、この原画像データを９０度時計回りに回転させた状態で表示させる、つまり各画素（Ａ〜Ｘ）が図１２（ｂ）に示すように配置され表示される場合、アドレス生成器２０３は、原画像メモリ２０１から画素データをＳ、Ｍ、Ｇ、Ａ、Ｔ、Ｎ、Ｈ、Ｂ、Ｕ、Ｏ、Ｉ、Ｃ・・・の順に読み出せるように、各画素データにアクセスするためのメモリアドレスを生成する。
【００１２】
このように、各画素データにアクセスするためのメモリアドレスを生成することができるため、回転させた原画像を液晶ディスプレイに表示させる場合であっても、ラスタスキャン方式により液晶ディスプレイに画素を入力する順に、メモリに格納されている該画素データにアクセスすることができる。
【００１３】
そのほかの画像出力方式を示す従来例としては、例えば、特許文献３および４が挙げられる。特許文献３では、メモリアービターＩ／Ｆが画像データを読込み、該画像データを画像回転処理装置で回転処理し、処理後の画像データを、メモリアービターに送信する画像回転処理装置が開示されている。
【００１４】
特許文献４では、アドレスバス、データバスそれぞれに演算装置を設け、１ビットの画素データの書き込み／読出しがそれぞれ異なるデータバス上で同時に行われるように、画像データを各データバスに対応した複数のメモリ装置それぞれに分散させて配置させた記憶装置が開示されている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開平５−１０８８１２号公報（１９９３年０４月３０日公開）
【特許文献２】特開平５−３１４２４９号公報（１９９３年１１月２６日公開）
【特許文献３】特開２００４−２４２２１２号公報（２００４年０８月２６日公開）
【特許文献４】特開平４−１５３８４６号公報（１９９２年０５月２７日公開）
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、上述のような従来技術は、記憶装置に格納された画素データに対し効率よくアクセスできず、機器全体にかかるコストが増加してしまうという問題がある。
【００１７】
具体的には、例えば、上述したように、原画像メモリ１０１および出力メモリ１０２を用いた画像出力方式の場合、異なる２つのメモリ素子を備える必要があるため、このような画像出力方式を採用する表示装置では、備えるメモリ素子が１つの場合の構成と比較して、機器全体にかかるコストおよび消費電力が増大する。
【００１８】
特許文献３の画像回転処理装置も、上述の原画像メモリ１０１および出力メモリ１０２を用いた画像出力方式と同様な問題が生じる。すなわち、特許文献３の構成において、例えば原画像を９０度回転させる場合、メモリに格納された画素データをブロック単位で回転させ、このメモリに書き戻す必要がある。このため、メモリ素子自体は１つであるが、そのメモリ素子に回転前後それぞれの状態に応じた画素データを格納するための格納領域が必要となる。このため、記憶容量の大きいメモリ素子が必要となり、機器全体にかかるコストが増大する。
【００１９】
また、図１１に示す、上記出力メモリ１０２を省略した画像出力方式では、下記の理由よりデータバスの使用量が増加してしまうという問題が生じる。すなわち、図１１に示す、上記出力メモリ１０２を省略した画像出力方式では、９０度もしくは２７０度回転させた状態で画像を表示させる場合、出力制御装置２０２がアクセスする順に、各画素データの原画像メモリにおけるアドレスを１つずつ求める構成である。このため、データバスを通じて、連続する複数の画素を一括して転送できる構成であっても、一度のメモリアクセスに対して１つの画素のみにしかアクセスできないため、１画素ずつデータバスを通じて転送することとなる。このようにメモリに格納された画素データに対するアクセスの効率が悪いため、結果としてデータバスの使用量の増加を招いてしまうという問題が生じる。
【００２０】
特許文献４に示す記憶装置では、原画像を回転させない場合であっても、各画素を分散させてメモリに格納させるようにアドレス演算装置が、読み出す画素データのアドレスをそれぞれ算出する構成である。このため、原画像を通常の状態で表示させる場合、すなわち回転をさせずに表示させる場合であってもアドレス演算装置を稼動させ画素データのアドレスを演算する必要がある。したがって、特許文献４に示す記憶装置は、消費電力がかかりコストが増大するという問題が生じる。
【００２１】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、機器全体にかかるコストを低減させ、記憶装置に格納された画素データに対し効率よくアクセスできるデータ出力制御装置を実現することにある。
【課題を解決するための手段】
【００２２】
本発明に係るデータ入出力制御装置は、上記した課題を解決するために、画像データを格納するための記憶装置に対し、該画像データの入出力を制御するデータ入出力制御装置であって、上記記憶装置は、上記画像データの所定の入出力方式に応じた走査順に、該画像データを構成する各画素データを格納しており、上記画像データに基づき出力される原画像の、出力時における回転による向きの変更を設定する設定手段と、上記設定手段により、上記原画像の向きの変更が設定された場合、回転後の画像を構成する各画素データの上記記憶装置における格納位置を示すアドレスを求める第１アドレス算出手段と、上記所定の入出力方式に応じた走査順で、該画像データを構成する画素データを、上記記憶装置からデータバスを通じて出力する出力手段とを備え、上記設定手段により、上記原画像の向きの変更が設定されなかった場合、上記出力手段は、上記記憶装置に格納されている順番に、上記データバスのバス幅に応じた個数ずつ画素データを該記憶装置から出力し、上記設定手段により、出力時における上記画像の回転による向きの変更が設定された場合、上記出力手段は、該画像の回転後の向きを示す回転角度と上記第１アドレス算出手段によって算出されたアドレスとに基づき、上記所定の入出力方式による走査順に画素データを読み出し、上記データバスのバス幅に応じた個数ずつ該画素データを出力することを特徴とする。
【００２３】
上記した構成によると、設定手段を備えているため、原画像の、出力時における回転による向きの変更を設定することができる。このため、設定手段による設定状態から原画像を回転させて出力させるのか、回転させずに出力させるのか把握することができる。それゆえ、原画像を回転させて出力させる場合と、回転させずに出力する場合とにおいて、それぞれ画像データの出力の制御を変えることができる。
【００２４】
ここで、上記設定手段により原画像の向きの変更が設定される場合、本発明に係るデータ入出力制御装置は、上記第１アドレス算出手段を備えているため、回転後の画像を構成する各画素データの上記記憶装置における格納位置を示すアドレスをそれぞれ求めることができる。また、出力手段を備えているため、回転角度と求めた各画素データのアドレスとに基づき、所定の入出力方式により回転後の画像を出力させる走査順に上記画素データを読み出し、データバスのバス幅に応じて複数の画素データを出力することができる。
【００２５】
一方、設定手段により原画像の向きの変更が設定されなかった場合、本発明に係るデータ入出力制御装置では、第１アドレス算出手段が、出力する画像を構成する各画素データの記憶装置におけるアドレスをそれぞれ求めることなく、出力手段が、記憶装置に格納されている順番に画素データをデータバスのバス幅に応じた個数ずつ出力することができる。
【００２６】
このように、本発明に係るデータ入出力制御装置は、画像の回転にあわせて画素データを並び替えるためのメモリ等を別途設ける必要がなく、原画像を回転させて出力させる場合に対応することができる。また、原画像をそのまま出力させる、あるいは回転させて出力させるいずれの場合であっても、出力手段が画素データをデータ幅に応じた個数ずつ出力させることができる。このため、データ入出力制御装置は、効率よく記憶装置に格納されている画素データにアクセスし出力することができる。
【００２７】
さらに、上記設定手段により、原画像の向きの変更が設定されなかった場合、第１アドレス算出手段が、出力させる画像の各画素データの記憶装置におけるアドレスをそれぞれ求めることなく、出力手段が、記憶装置から画素データを読み出し、データバスのバス幅に応じた個数ずつ出力することができる。つまり、画像の出力時において、常に第１アドレス算出手段を稼動させておく必要がないため、画像の出力時に常にアドレス算出手段がアドレスを求める構成と比較して、消費する電力量を低減することができる。
【００２８】
よって、本発明に係るデータ入出力制御装置は、機器全体にかかるコストを低減させ、記憶装置に格納された画素に対し効率よくアクセスできるという効果を奏する。
【００２９】
本発明に係るデータ入出力制御装置は、上記した課題を解決するために、画像データを格納するための記憶装置に対し、該画像データの入出力を制御するデータ入出力制御装置であって、所定の入出力方式による走査順に従って読取り装置により読取られ、該読取り装置が備える読取りデータ記憶装置に格納された画像データを、データバスを通じて上記記憶装置に入力する入力手段と、上記画像データに基づき出力される原画像の、出力時における回転による向きの変更を設定する設定手段と、上記設定手段により、上記画像の回転による向きの変更が設定された場合、回転後の画像を構成する各画素データの上記読取りデータ記憶装置における格納位置を示すアドレスを求める第２アドレス算出手段とを備え、上記設定手段により、上記画像の回転による向きの変更が設定されなかった場合、上記入力手段は、上記読取りデータ記憶装置に格納されている順番に、上記データバスのバス幅に応じた個数ずつ画素データを上記記憶装置に入力し、上記設定手段により、上記画像の回転による向きの変更が設定された場合、上記入力手段は、該画像の回転後の向きを示す回転角度と上記第２アドレス算出手段によって算出されたアドレスとに基づき、回転後の画像を出力する所定の入出力方式による走査順に画素データを、上記読取りデータ記憶装置から読み出し、上記データバスのバス幅に応じた個数ずつ該画素データを上記記憶装置に入力することを特徴とする。
【００３０】
上記した構成によると、設定手段を備えているため、原画像の、出力時における回転による向きの変更を設定することができる。このため、設定手段による設定状態から原画像を回転させて出力させるのか、回転させずに出力させるのか把握することができる。それゆえ、原画像を回転させて出力させる場合と、回転させずに出力する場合とにおいて、それぞれ画像データの、上記記憶装置への入力の制御を変えることができる。
【００３１】
ここで、上記設定手段により原画像の向きの変更が設定される場合、本発明に係るデータ入出力制御装置は、上記第２アドレス算出手段を備えているため、回転後の画像を構成する各画素データの上記読取りデータ記憶装置における格納位置を示すアドレスをそれぞれ求めることができる。また、入力手段を備えているため、回転角度と求めた各画素データのアドレスとに基づき、所定の入出力方式により回転後の画像を出力させる走査順に上記画素データを、上記読取りデータ記憶装置から読み出す。そして、データバスのバス幅に応じて複数の画素データを上記記憶装置に書き込むことができる。
【００３２】
一方、設定手段により原画像の向きの変更が設定されなかった場合、本発明に係るデータ入出力制御装置では、第２アドレス算出手段が、出力する画像を構成する各画素データの上記読取りデータ記憶装置におけるアドレスをそれぞれ求めることなく、入力手段が、該読取りデータ記憶装置に格納されている順番に画素データを読み出す。そして、データバスのバス幅に応じた個数ずつ画素データを上記記憶装置に出力することができる。
【００３３】
このように、本発明に係るデータ入出力制御装置は、原画像の回転にあわせて画素データを並び替えるためのメモリ等を別途設ける必要がなく、原画像を回転させて出力させる場合に対応させることができる。また、原画像をそのまま出力させる、あるいは回転させて出力させるいずれの場合であっても、入力手段が画素データをデータ幅に応じた個数ずつ記憶装置に入力させることができる。このため、データ入出力制御装置は、読取りデータ記憶装置に格納されている画素データにアクセスし、効率よく記憶装置に書き込むことができる。
【００３４】
このように、本発明に係るデータ入出力制御装置では、所定の入出力方式による走査順に画素データを出力できるように、予め記憶装置に、各画素データが記憶することができる。このため、記憶装置から画素データを出力させる場合、該記憶装置に格納された各画素データに対して効率よくアクセスすることができる。
【００３５】
さらに、上記設定手段により、原画像の向きの変更が設定されなかった場合、第２アドレス算出手段が、出力させる画像の各画素データの、上記読取りデータ記憶装置におけるアドレスをそれぞれ求めることなく、入力手段が、該読取りデータ記憶装置から画素データを読み出す。そして、読取った画素データを、データバスのバス幅に応じた個数ずつ上記記憶装置に書き込むことができる。つまり、画素データの記憶装置への書き込み時において、常に第２アドレス算出手段を稼動させておく必要がない。このため、画素データの記憶装置への書き込み時に、常にアドレス算出手段がアドレスを求める構成と比較して、消費する電力量を低減することができる。
【００３６】
よって、本発明に係るデータ入出力制御装置は、機器全体にかかるコストを低減させ、記憶装置に格納された画素に対し効率よくアクセスできるという効果を奏する。
【００３７】
また、本発明に係るデータ入出力制御装置は、上記した構成において、上記所定の入出力方式が、ラスタスキャン方式であってもよい。
【００３８】
なお、ラスタスキャン方式は、例えば、表示装置に画像データを出力する方式として一般的に知られ広く採用されている技術である。このため、本発明に係るデータ入出力制御装置は、画像データの出力方式としてラスタスキャン方式採用している機器において広く活用できる。
【００３９】
本発明に係るデータ入出力制御装置は、上記した構成において、上記記憶装置は、転送する上記画素データのデータ量とデータバスのバス幅とに応じて当該記憶装置の記憶領域が分割された、複数の第１分割記憶領域を有し、上記第１分割記憶領域それぞれには、上記原画像における、上記ラスタスキャン方式による走査方向の１行分の画素データ群が格納されており、上記設定手段により、出力時において、上記原画像を９０度または２７０度回転させて向きを変更させるように設定された場合、上記出力手段は、上記ラスタスキャン方式により回転後の画像を出力させる走査順に、各第１分割記憶領域から画素データを並列に読み出し、読み出した画素データをまとめて出力するように構成されていてもよい。
【００４０】
上記した構成によると、記憶領域が、画素データのデータ量とデータバスのバス幅とに応じて複数の第１分割記憶領域に分割されている。また、第１分割記憶領域それぞれには、上記原画像の１行分の画素データ群が格納されている。
【００４１】
ここで、原画像を９０度または２７０度回転させて出力させた画像とは、原画像の上部がその側部となるように回転された画像である。このため、原画像を９０度または２７０度回転させて出力させた画像では、ラスタスキャン方式により走査される画素データ群は、各分割記録領域における同じ番地に格納された画素データの集合となる。
【００４２】
したがって、上記出力手段は、回転後の画像におけるラスタスキャン方式による走査順に、第１分割記憶領域それぞれから画素データを並列に読み出し、読み出した画素データをまとめて出力することができる。このため、原画像を９０度または２７０度回転させた画像を出力させる場合であっても、本発明に係るデータ入出力制御装置は、効率的に画素データにアクセスすることができる。
【００４３】
また、本発明に係るデータ入出力制御装置は、上記した構成において、上記出力手段は、上記画素データを、該画素データに基づく表示を行う表示装置に出力するように構成されていてもよい。
【００４４】
また、本発明に係るデータ入出力制御装置は、上記した構成において、上記読取りデータ記憶装置は、転送する上記画素データのデータ量とデータバスのバス幅とに応じて当該読取りデータ記憶装置の記憶領域が分割された、複数の第２分割記憶領域を有し、上記第２分割記憶領域それぞれには、上記原画像における、上記ラスタスキャン方式による走査方向の１行分の画素データ群が格納されており、上記設定手段により、出力時において、上記原画像を９０度または２７０度回転させて向きを変更させるように設定された場合、上記入力手段は、上記ラスタスキャン方式により回転後の画像を出力させる走査順に、各第２分割記憶領域から画素データを並列に読み出し、読み出した画素データをまとめて記憶装置に入力するように構成されていてもよい。
【００４５】
上記した構成によると、読取りデータ記憶装置の記憶領域が、画素データのデータ量とデータバスのバス幅とに応じて複数の第２分割記憶領域に分割されている。また、第２分割記憶領域それぞれには、上記原画像の１行分の画素データ群が格納されている。
【００４６】
ここで、原画像を９０度または２７０度回転させて出力させた画像とは、原画像の上部がその側部となるように回転された画像である。このため、原画像を９０度または２７０度回転させて出力させた画像では、ラスタスキャン方式により走査される画素データ群は、各第２分割記録領域における同じ番地に格納された画素データの集合となる。
【００４７】
したがって、上記出力手段は、回転後の画像におけるラスタスキャン方式による走査順に、第２分割記憶領域それぞれから同じ番地の画素データを並列に読み出し、読み出した画素データをまとめて出力することができる。このため、原画像を９０度または２７０度回転させた画像を出力させる場合であっても、本発明に係るデータ入出力制御装置は、効率的に画素データにアクセスすることができる。
【００４８】
また、本発明に係るデータ入出力制御装置は、上記した構成において、上記記憶装置に格納されている順番に、上記データバスのバス幅に応じた個数ずつ画素データを該記憶装置から出力する第２出力手段を備えるように構成されていてもよい。
【００４９】
ところで、記憶装置には、例えば、画像の出力時において、ラスタスキャン方式等の入出力方式によって走査される順に、予め各画素データが格納されている。このため、上記第２出力手段は、そのまま画素データ順次読み出し出力するだけで、適切な画像を出力することができる。
【００５０】
このように、上記第２出力手段は、画素データの出力順を変更するなど、画像の回転等に応じた処理を行う必要なく、そのまま画素データを読み出し出力できるため、出力先が、一定時間ごとに画素データの読み出しが必要な液晶ディスプレイ等の表示装置の場合では、特に消費電力を低減させることができる。
【００５１】
また、本発明に係るデータ入出力制御装置は、上記した構成において、上記設定手段は、原画像の、出力時における回転による向きの変更の設定を、上記出力手段が画素データを上記記憶装置からデータバスを通じて出力するタイミング、あるいは上記入力手段が画素データを上記読取りデータ記憶装置からデータバスを通じて上記記憶装置に入力するタイミングそれぞれで個別に設定できるように構成されていてもよい。
【００５２】
本発明に係るデータ入出力制御装置は、画像データを格納するための記憶装置に対し、該画像データの入出力を制御するデータ入出力制御装置であって、上記記憶装置は、上記画像データの所定の入出力方式に応じた走査順に、該画像データを構成する各画素データを格納しており、上記画像データに基づき出力される原画像の、出力時における回転による向きの変更を設定する設定手段と、上記設定手段により、上記原画像の向きの変更が設定された場合、回転後の画像を構成する各画素データの上記記憶装置における格納位置を示すアドレスを求める第１アドレス算出手段と、上記所定の入出力方式に応じた走査順で、該画像データを構成する画素データを、上記記憶装置からデータバスを通じて出力する出力手段とを備え、上記設定手段により、上記原画像の向きの変更が設定されなかった場合、上記出力手段は、上記記憶装置に格納されている順番に、上記データバスのバス幅に応じた個数ずつ画素データを該記憶装置から出力し、上記設定手段により、出力時における上記画像の回転による向きの変更が設定された場合、上記出力手段は、該画像の回転後の向きを示す回転角度と上記第１アドレス算出手段によって算出されたアドレスとに基づき、上記所定の入出力方式による走査順に画素データを読み出し、上記データバスのバス幅に応じた個数ずつ該画素データを出力するデータ入出力制御装置において、所定の入出力方式による走査順に従って読取り装置により読取られ、該読取り装置が備える読取りデータ記憶装置に格納された画像データを、データバスを通じて上記記憶装置に入力する入力手段と、上記設定手段により、上記画像の回転による向きの変更が設定された場合、回転後の画像を構成する各画素データの上記読取りデータ記憶装置における格納位置を示すアドレスを求める第２アドレス算出手段とをさらに備え、上記設定手段により、上記画像の回転による向きの変更が設定されなかった場合、上記入力手段は、上記読取りデータ記憶装置に格納されている順番に、上記データバスのバス幅に応じた個数ずつ画素データを上記記憶装置に入力し、上記設定手段により、上記画像の回転による向きの変更が設定された場合、上記入力手段は、該画像の回転後の向きを示す回転角度と上記第２アドレス算出手段によって算出されたアドレスとに基づき、回転後の画像を出力する所定の入出力方式による走査順に画素データを、上記読取りデータ記憶装置から読み出し、上記データバスのバス幅に応じた個数ずつ該画素データを上記記憶装置に入力しており、上記設定手段は、原画像の、出力時における回転による向きの変更の設定を、上記出力手段が画素データを上記記憶装置からデータバスを通じて出力する場合、あるいは上記入力手段が画素データを上記読取りデータ記憶装置からデータバスを通じて上記記憶装置に入力する場合それぞれで個別に行うように構成されていてもよい。
【発明の効果】
【００５３】
本発明に係るデータ入出力制御装置は、上記した課題を解決するために、画像データを格納するための記憶装置に対し、該画像データの入出力を制御するデータ入出力制御装置であって、上記記憶装置は、上記画像データの所定の入出力方式に応じた走査順に、該画像データを構成する各画素データを格納しており、上記画像データに基づき出力される原画像の、出力時における回転による向きの変更を設定する設定手段と、上記設定手段により、上記原画像の向きの変更が設定された場合、回転後の画像を構成する各画素データの上記記憶装置における格納位置を示すアドレスを求める第１アドレス算出手段と、上記所定の入出力方式に応じた走査順で、該画像データを構成する画素データを、上記記憶装置からデータバスを通じて出力する出力手段とを備え、上記設定手段により、上記原画像の向きの変更が設定されなかった場合、上記出力手段は、上記記憶装置に格納されている順番に、上記データバスのバス幅に応じた個数ずつ画素データを該記憶装置から出力し、上記設定手段により、出力時における上記画像の回転による向きの変更が設定された場合、上記出力手段は、該画像の回転後の向きを示す回転角度と上記第１アドレス算出手段によって算出されたアドレスとに基づき、上記所定の入出力方式による走査順に画素データを読み出し、上記データバスのバス幅に応じた個数ずつ該画素データを出力することを特徴とする。
【００５４】
よって、本発明に係るデータ入出力制御装置は、機器全体にかかるコストを低減させ、記憶装置に格納された画素に対し効率よくアクセスできるという効果を奏する。
【００５５】
本発明に係るデータ入出力制御装置は、上記した課題を解決するために、画像データを格納するための記憶装置に対し、該画像データの入出力を制御するデータ入出力制御装置であって、所定の入出力方式による走査順に従って読取り装置により読取られ、該読取り装置が備える読取りデータ記憶装置に格納された画像データを、データバスを通じて上記記憶装置に入力する入力手段と、上記画像データに基づき出力される原画像の、出力時における回転による向きの変更を設定する設定手段と、上記設定手段により、上記画像の回転による向きの変更が設定された場合、回転後の画像を構成する各画素データの上記読取りデータ記憶装置における格納位置を示すアドレスを求める第２アドレス算出手段とを備え、上記設定手段により、上記画像の回転による向きの変更が設定されなかった場合、上記入力手段は、上記読取りデータ記憶装置に格納されている順番に、上記データバスのバス幅に応じた個数ずつ画素データを上記記憶装置に入力し、上記設定手段により、上記画像の回転による向きの変更が設定された場合、上記入力手段は、該画像の回転後の向きを示す回転角度と上記第２アドレス算出手段によって算出されたアドレスとに基づき、回転後の画像を出力する所定の入出力方式による走査順に画素データを、上記読取りデータ記憶装置から読み出し、上記データバスのバス幅に応じた個数ずつ該画素データを上記記憶装置に入力することを特徴とする。
【００５６】
よって、本発明に係るデータ入出力制御装置は、機器全体にかかるコストを低減させ、記憶装置に格納された画素に対し効率よくアクセスできるという効果を奏する。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施形態を示すものであり、入出力管理装置の要部構成を示すブロック図である。
【図２】本発明の実施形態を示すものであり、原画像データとラスタスキャン方式のスキャン方向との対応関係の一例を示す図である。
【図３】本発明の実施形態を示すものであり、原画像メモリにおける各画素データの格納状態と、原画像を回転させず出力させる場合における、画素データ群の転送例とを示す図である。
【図４】本発明の実施形態を示すものであり、原画像を９０度左回転させて得られる仮想画像の一例を示すものである。
【図５】本発明の実施形態を示すものであり、原画像メモリにおける各画素データの格納状態と、原画像を９０度左回転させ出力させる場合における、画素データ群の転送例とを示す図である。
【図６】本発明の実施形態を示すものであり、原画像を１８０度左回転させて得られる仮想画像の一例を示すものである。
【図７】本発明の実施形態を示すものであり、原画像メモリにおける各画素データの格納状態と、原画像を１８０度左回転させ出力させる場合における、画素データ群の転送例とを示す図である。
【図８】本発明の実施形態を示すものであり、原画像を９０度右回転させて得られる仮想画像の一例を示すものである。
【図９】本発明の実施形態を示すものであり、原画像メモリにおける各画素データの格納状態と、原画像を９０度右回転させ出力させる場合における、画素データ群の転送例とを示す図である。
【図１０】従来技術を示すものであり、画像出力方式の一例を示す図である。
【図１１】従来技術を示すものであり、画像出力方式の一例を示す図である。
【図１２】画素の配置を示す図であり、同図（ａ）は、原画像における画素の配置を示し、同図（ｂ）は、回転後の画像における画素の配置を示す。
【図１３】本発明の実施形態を示すものであり、入出力管理装置の要部構成を示すブロック図である。
【発明を実施するための形態】
【００５８】
本発明の一実施形態について図１ないし図９に基づいて説明すると以下の通りである。まず、図１を参照して、本実施の形態に係る入出力管理装置１の構成について説明する。図１は、本発明の実施形態を示すものであり、入出力管理装置１の要部構成を示すブロック図である。
【００５９】
本実施の形態に係る入出力管理装置１では、原画像メモリ２に対する原画像データの入出力を管理するものである。原画像メモリ２に格納された原画像データを画像表示装置４に入力する場合、ラスタスキャンによるスキャン順に従って原画像データにおける各画素データを順次入力する方式が採用されている。このため、原画像メモリ２には、上記ラスタスキャン方式でスキャンする順に、各画素データが格納されるようになっている。
【００６０】
また、本実施の形態に係る入出力管理装置１では、画像表示装置４の表示領域において原画像を例えば９０度回転させて表示する場合であっても、この回転に応じて原画像メモリ２に格納した各画素データの格納位置を物理的に変更させることはない。つまり、入出力管理装置１では、原画像メモリ２に格納された画素データの格納位置を、回転後の原画像におけるラスタスキャン方式のスキャン順(走査順）に合わせるように並べ替える必要がない。そして、各画素データを並べ替えることなく、データバス６からは回転後の各画像データについても、ラスタスキャン方式のスキャン順にアクセスすることができるように構成されている。
【００６１】
なお、本実施の形態では、回転後の画像を仮想画像と称することとし、原画像メモリ２に実際に格納されている原画像データに基づき表示される原画像と区別するものとする。
【００６２】
本実施の形態に係る入出力管理装置１は、図１に示すように、原画像データを格納する原画像メモリ２、原画像メモリ２に対する原画像データの入出力を制御するメモリコントローラ（データ出力制御装置）３、メモリコントローラ３によって原画像メモリ２から読み出した原画像データを出力する画像表示装置（表示装置）４、原画像データの外部との入出力を司る入出力部５を備えてなる構成である。
【００６３】
原画像メモリ２は、データの読み書き可能な記録媒体である。この原画像メモリ２内では、当該原画像メモリ２を複数のメモリ領域に分割した小メモリ領域（分割記憶領域）６０・６１・６２・６３が含まれている。なお、小メモリ領域６０・６１・６２・６３の数は、これら４つに限定されるものではなく、この数は、データバス６に同時に入出力することができる画素数以上であればよく、原画像における、上記ラスタスキャン方式による走査方向の１行分の画素データ群ごとに小メモリ領域が設けられていることが好ましい。なお、小メモリ領域６０・６１・６２・６３の各語長は、データバス６のビット幅と等しくなっている。
【００６４】
メモリコントローラ３は、機能ブロックとして、データ入出力部（出力手段）３１、回転角度設定部３２、サイズ設定部３３、アドレス変換指示部（判定手段）３４、およびアドレス変換部（アドレス算出手段）３５を備える。
【００６５】
データ入出力部３１は、原画像メモリ２に格納された原画像データから画素データを順次読み出し、データバス６を介して画像表示装置４または入出力部５に出力したり、入出力部５から入力された原画像データを、データバス６を通じて受け取り、原画像メモリ２に書き込んだりするものである。
【００６６】
データ入出力部３１は、後述するアドレス変換部３５によって求められた、仮想画像における各画素データの物理アドレスに基づき、原画像メモリ２においてアクセスする画素データを求める。そして、求めた画素データの物理アドレスを、アドレスバス７を通じて原画像メモリ２に通知し、原画像メモリ２から該画素データを取得する。取得した画素データを、データバス６を通じて画像表示装置４に転送する。このデータ入出力部３１についての詳細は後述する。
【００６７】
回転角度設定部３２は、上記画像データに基づく原画像の、出力時における回転による向きの変更を設定するものである。より具体的には、回転角度設定部３２は、所望する仮想画像を得るために、原画像を仮想的に回転させる角度を設定する。例えば、仮想画像を、原画像を９０度回転させた画像とする場合、回転角度設定部３２は、９０度と角度を設定する。回転角度設定部３２は、操作部（不図示）からの操作指示に応じてこの回転角度を設定する。回転角度設定部３２は、操作部から回転角度の設定を受付けた場合、回転角度の設定がなされた旨を示す情報をアドレス変換指示部３４に通知するとともに、設定された回転角度の情報をアドレス変換部３５およびデータ入出力部３１に出力する。
【００６８】
サイズ設定部３３は、原画像データを構成するピクセル数の情報から、設定された原画像および仮想画像の縦および横のサイズを特定するものである。サイズ設定部３３は、この設定されたサイズに関する情報をアドレス変換部３５およびデータ入出力部３１に出力する。
【００６９】
アドレス変換指示部３４は、回転角度設定部３２から回転角度の設定に関する情報を受付け、アドレス変換部３５を稼動させるか否か判定するものである。回転角度設定部３２から、原画像を仮想的に回転させる角度に関する設定情報を受付けると、アドレス変換部３５に対して稼動するように指示（稼動指示）する。一方、回転角度設定部３２から回転しない設定、すなわち、原画像を仮想的に回転させる角度が０となる設定情報を受付けた場合は、アドレス変換部３５に対して稼動指示を行わない。
【００７０】
アドレス変換部３５は、アドレス変換指示部３４からの指示に応じて、仮想画像に対応する原画像データを構成する、各画素データの原画像メモリ２における物理アドレスを算出するものである。
【００７１】
すなわち、入出力管理装置１では、原画像データを原画像メモリ２に書き込むタイミング、あるいは、原画像メモリ２から読み出すタイミングのいずれかにおいて、仮想画像を表示するためにアクセスする画素データと、この画素データが原画像メモリ２において格納されている場所を示す物理アドレスとの対応関係を求めることができるようになっている。アドレス変換部３５は、アドレス変換指示部３４からのアドレス変換指示に応じて上記物理アドレスを求める。なお、アドレス変換部３５の詳細な説明は後述する。
（アドレス変換部）
ここでアドレス変換部３５についてより詳細に説明する。まず、前提として、原画像メモリ２は、幅Ｗｐ画素、高さＨｐ画素の原画像データを格納するものとする。また、ラスタスキャン方式によるスキャン順に各画素データに対してアクセスできるように、原画像データの各画素データを、原画像メモリ２に格納するものとする。
【００７２】
このような前提において、原画像の横軸をｘ、縦軸をｙとすると原画像における位置（x，y）の画素データが格納されている原画像メモリ２のメモリアドレスは、Ｗｐ×ｙ+ｘで表すことができる。
【００７３】
また、アドレス変換部３５は、仮想画像に対してラスタスキャン方式でスキャンした順番となる各画素データの仮想アドレスを求める。この仮想アドレスは、アドレス変換部３５が以下のようにして算出する。
【００７４】
すなわち、アドレス変換部３５は、仮想画面内における、仮想画像の各画素データの座標(ｘ，ｙ)から、仮想アドレスを下記数（１）によって求めることができる。なお、仮想画面とは、仮想画像を画像表示装置４にて表示した際の表示画面である。仮想画面内での座標とは、この表示画面における各画素データの表示位置を特定する座標である。アドレス変換部３５は、画像表示装置４において設定されているディスプレイ解像度から仮想画面における座標を規定する。
【００７５】
仮想アドレス＝B+(W×y+x)×α            ・・・数（１）
（Ｂは、仮想画像の各画素データのアドレスを算出するために基準とするベースアドレス、Ｗは、仮想画像の１ラインごとの画素数、αは、仮想画像の１画素あたりのバイト数）
アドレス変換部３５は、この求めた仮想アドレスを仮想アドレスＡｖ(ｘｖ，ｙｖ)として扱い、下記の演算を施して物理アドレスＡｐ(ｘｐ，ｙｐ)に変換する。
【００７６】
まず、数（２）、（３）に示すように仮想アドレスＡｖ(ｘｖ，ｙｖ)を仮想画像の横幅Ｗｖによって除し、その商と剰余とから仮想画面内の座標を算出する。
【００７７】
xv=Av mod Wv    （modは剰余算を表す）  ・・・数（２）
yv=Av/Wv                              ・・・数（３）
次に、アドレス変換部３５は、求められた仮想画面内の座標と回転角度設定部３２から入力された回転角度とに基づき、仮想画面内での画素データの座標(ｘｖ，ｙｖ)に対応する原画像内での画素データの座標(ｘｐ，ｙｐ)を求める。
【００７８】
上記回転角度が、原画像を左（時計回り）に９０度回転させるものである場合、アドレス変換部３５は、下記数（４）、数（５）により変換する。
【００７９】
xp=yv                                    ・・・数（４）
yp=Hp-xv                                  ・・・数（５）
上記回転角度が、原画像を１８０度回転させるものである場合、アドレス変換部３５は、下記数（６）、数（７）により変換する。
【００８０】
xp=Wp-xv                              ・・・数（６）
yp=Hp-yv                              ・・・数（７）
上記回転角度が、原画像を右に９０度回転させるものである場合、アドレス変換部３５は、下記数（８）、数（９）により変換する。
【００８１】
xp=Wp -yv                              ・・・数（８）
yp=xv                                  ・・・数（９）
回転させない場合は、当然原画像と仮想画像とは一致するため、下記数（１０）、（１１）の関係が成り立つ。
【００８２】
xp=xv                                    ・・・数（１０）
yp=yv                                    ・・・数（１１）
以上のようにして、アドレス変換部３５は、仮想画像内の座標に対応する原画像内での座標を求めると、この求めた原画像内の座標で示される画素データの格納位置を示す、原画像メモリ２のアドレスＡｐを求める。アドレスＡｐは、上述したようにＷｐ×ｙｐ＋ｘｐによって求められる。アドレス変換部３５は、求めたアドレスＡｐを、データ入出力部３１に出力する。
【００８３】
（データ入出力部）
次にデータ入出力部３１についての詳細を説明する。
【００８４】
本実施の形態に係る入出力管理装置１では、原画像メモリ２は、複数の小メモリ領域６０・６１・６２・６３に細分されて管理されている。そこで、説明の便宜上、小メモリ領域６０・６１・６２・６３を小メモリ領域６i（ｉ＝０〜３）と表し、小メモリ領域６０・６１・６２・６３におけるｊ番地の内容を小メモリ領域６i〔j〕と表すものとする。なお、小メモリ領域６i〔j〕により、小メモリ領域６i（i＝０〜３）のうちの１語を表す。
【００８５】
また、原画像メモリ２内における小メモリ領域６０・６１・６２・６３それぞれの語長は、上述したようにデータを入出力するデータバス６のビット幅と等しくなる。つまり、小メモリ領域６０・６１・６２・６３それぞれに対する１回のアクセスで読み書きできるデータを語（ワード）といい、その長さ（ビット長）を語長と称する。例えば、データ入出力部３１によりデータの入出力が行われるデータバス６が３２ビットの幅をもつものであれば、小メモリ領域６０・６１・６２・６３それぞれにおける１語の語長は３２ビットとなる。
【００８６】
ここで、小メモリ領域６０・６１・６２・６３それぞれの各１語が、例えば３２ビットである場合、１画素のデータ量を８ビットとすると、１度のアクセスで、データバス６を介して４つの画素を転送することができる。このように、本実施形態では、複数の画素に対して同時にアクセスし、データバス６を通じて一括して転送することができる。
【００８７】
上述したように小メモリ領域６０・６１・６２・６３におけるｊ番地に格納されている１語を、小メモリ領域６i〔j〕と表すと、データバス６のビット幅に応じて１語を分割した場合の各画素データを、小メモリ領域６i〔j〕〔k〕と、添え字〔k〕（ｋ＝０・・・Ｎ−１）を使って示すことができる。なお、Ｎは、データバス６によって１度のアクセスで転送できる画素データの数を示しており、小メモリ領域の数と一致する。本実施形態では、Ｎ＝４となる。
【００８８】
データ入出力部３１は、サイズ設定部３３から、原画像および仮想画像の縦横のサイズ情報、すなわちピクセル数を受付けるとともに、回転角度設定部３２から、設定された回転角度の情報をそれぞれ受付ける。そして、受付けた上記ピクセル数および上記回転角度に基づき、アクセスする画素データを下記の数（１２）から数（１５）によって求めることができる。以下において、データ入出力部３１によるアクセスする画素データの求め方について数（１２）から数（１５）を参照して説明する。
【００８９】
なお、説明の便宜上、原画像データの各画素データは図２に示すように配置されているものとする。また、ラスタスキャン方式におけるスキャン方向は図２に示す矢印の方向であるものとする。図２は、本発明の実施形態を示すものであり、原画像データとラスタスキャン方式のスキャン方向との対応関係の一例を示す図である。
【００９０】
また、図３に示すように、原画像における横（ラスタスキャン方式のスキャン方向）の１ライン分ずつの画素データ群が小メモリ領域６０・６１・６２・６３に格納されている。図３は、本発明の実施形態を示すものであり、原画像メモリ２における各画素データの格納状態と、原画像を回転させず出力させる場合における、画素データ群の転送例とを示す図である。
【００９１】
また、データバス６のビット幅を３２ビットとし、１つの画素データのデータ量が８ビットであるとする。
【００９２】
このような前提において、まず、原画像を回転させず画像表示装置４に出力する場合について説明する。
【００９３】
原画像メモリ２には、図２に示すように、ラスタスキャン方式によるスキャン順に画素データが格納されている。また、図３に示すように原画像データにおける横１ライン分の画素データが小メモリ領域６０・６１・６２・６３の順で格納されている。
【００９４】
このため、例えば、データ入出力部３１が、原画像メモリ２から画素データを読み出す場合、画素データをそのままの順で読み出せばよい。つまり、データ入出力部３１は、最初にアクセスする画素データのアドレスを求め、該アドレスの画素データから順に、データバス６のビット幅（３２ビット）分の画素データを転送する。本実施形態では、画素データのデータ量が８ビットであるため、データ入出力部３１は、アドレスを求めた画素データを先頭にして、画素データを４つずつ読み出し、画像表示装置４に出力する。
【００９５】
ここで、原画像メモリ２から読み出す画素データ群、あるいは原画像メモリ２に書き込む画素データ群をＤとし、小メモリ領域６１、６２・・・小メモリ領域６Ｎをｍ６１、ｍ６２・・・ｍ６Ｎとすると以下の式で表せる。
【００９６】
Ｄ⇔ｍ6(yP mod N)［(Wp×(yp/N)+xp)/N］・・・数（１２）
なお、上述したようにデータ入出力部３１はデータバス６のデータ幅に応じて一度に複数の画素データにアクセスすることができるようになっている。したがって、数（１２）では、ｍ6(yP mod N）における[Wp×(yp/N+xp)/N]番地から順に、上記データ幅に応じた画素データ群を読み出す。
【００９７】
次に、原画像を９０度左回転させて、画像表示装置４に表示させる場合について説明する。まず、原画像を９０度左回転させて得られる仮想画像は、図４に示すようになる。図４は、本発明の実施形態を示すものであり、原画像を９０度左回転させて得られる仮想画像の一例を示すものである。
【００９８】
図４に示す仮想画像においてラスタスキャン方式におけるスキャン方向に各画素データを読み出す場合、「Ｈ、Ｐ、Ｘ、ｆ・・・」の順に読み出す必要がある。つまり、図５に示すように、小メモリ領域６０から「Ｈ」が、小メモリ領域６１から「Ｐ」が、小メモリ領域６２から「Ｘ」が、小メモリ領域６３から「ｆ」がそれぞれ並列に読み出され、「Ｈ、Ｐ、Ｘ、ｆ」を、データバス６を通じて一括転送する。図５は、本発明の実施形態を示すものであり、原画像メモリ２における各画素データの格納状態と、原画像を９０度左回転させ出力させる場合における、画素データ群の転送例とを示す図である。
【００９９】
このため、原画像を９０度左回転させた仮想画像を画像表示装置４に出力させる場合は、以下数（１３）によって、一括転送する画素データ群を構成する。なお、以下の数（１３）等における「‖」は連接を表している。この場合連接されている全ての項で読み出しているメモリのアドレスは同一であるため、アドレス演算は一度で済ませることができる。
【０１００】
Ｄ⇔ｍ6（N-1)[(Wp×(yp/N)+xp)/N]［xpmod N]
‖  ｍ6（N-2)[(Wp×(yp/N)+xp)/N]［xpmod N]
‖  ・・・  ‖  ｍ60[(Wp×(yp/N)+xp)/N]［xpmod N]・・・数（１３）
次に、原画像を１８０度回転させて画像表示装置４に出力させる場合について説明する。図６に示すように、原画像を１８０度回転させて画像表示装置４に出力させる場合、データ入出力部３１は、原画像をそのまま回転させずに出力させる場合とは逆の順に画素データにアクセスする。つまり、データ入出力部３１は、以下の数（１４）の演算を行い、図７に示すように、「ｆ、ｅ、ｄ・・・」の順に画像データを４つずつ読み出し、画像表示装置４に転送する。具体的には以下数（１４）に示すように、まず小メモリ領域６３（ｍ6(yP mod N)）において、[Wp×(yp/N+xp)/N]番地から始まる１語を構成する画素データ群の、[N-1]番目の画素データ、[N-2]番目の画素データ・・・[0]番目の画素データを順に読み出す。
【０１０１】
Ｄ⇔ｍ6(yP mod N)［（Wp×(yp/N）+xp)/N］[N-1]
‖  ｍ6(yP mod N)［（Wp×(yp/N）+xp)/N］[N-2]
‖  ・・・  ‖  ｍ6(yP mod N)［（Wp×(yp/N）+xp)/N］[0]・・・数（１４）
次に、原画像を９０度右回転（２７０度左回転）させて画像表示装置４に出力させる場合について説明する。まず、原画像を９０度右回転させて得られる仮想画像は、図８に示すようになる。図８は、本発明の実施形態を示すものであり、原画像を９０度右回転させて得られる仮想画像の一例を示すものである。
【０１０２】
図８に示す仮想画像においてラスタスキャン方式におけるスキャン方向に各画素データを読み出す場合、「Ｙ、Ｑ、Ｉ、Ａ・・・」の順に読み出す必要がある。つまり、図９に示すように、小メモリ領域６３（ｍ63）から「Ｙ」が、小メモリ領域６２（ｍ62）から「Ｑ」が、小メモリ領域６１（ｍ61）から「Ｉ」が、小メモリ領域６０（ｍ60）から「Ａ」がそれぞれ並列に読み出され、「Ｙ、Ｑ、Ｉ、Ａ」を、データバス６を通じて一括転送する。図９は、本発明の実施形態を示すものであり、原画像メモリ２における各画素データの格納状態と、原画像を９０度右回転させ出力させる場合における、画素データ群の転送例とを示す図である。
【０１０３】
このため、原画像を９０度右回転させた仮想画像を画像表示装置４に出力させる場合は、以下数（１５）によって、一括転送する画素データ群ごとに各画素データのアドレスを求める。この場合も連接されている全ての項で読み出しているメモリのアドレスは、各小メモリ領域において同一であり、アドレス演算を一度で済ませることができる。
【０１０４】
Ｄ⇔ｍ60[(Wp×(yp/N)+xp)/N]［xpmod N]
‖  ｍ61[(Wp×(yp/N)+xp)/N]［xpmod N]
‖  ・・・  ‖  ｍ6(N-1)[(Wp×(yp/N)+xp)/N]［xpmod N]・・・数（１５）
以上のように、本実施の形態に係る入出力管理装置１は、データ入出力部３１を備えているため、仮想画像の原画像からの回転方向に応じて、読み出す画素データの順番を求めることができる。したがって、原画像を回転して表示させる場合であっても、原画像メモリ２における画素データの格納位置を変更する必要がなく、常に、ラスタスキャン方式によるスキャン順にしたがって画素データにアクセスすることができる。
【０１０５】
また、原画像メモリ２における画素データの格納位置を変更する必要がなく、常に、ラスタスキャン方式によるスキャン順にしたがって画素データにアクセスすることができるため、仮想画像に応じた配置となるように画素データを格納しなおすための新たなメモリが不要となる。
【０１０６】
また、原画像メモリ２が、データバス６のビット幅と転送する画素データのデータ量とに基づき複数の小メモリ領域６０・６１・６２・６３に分割されているため、回転角度が左右９０度の場合は、各小メモリ領域６０・６１・６２・６３からそれぞれ１つの画素データにアクセスし、一括して転送することができる。一方、回転角度が０度と１８０度の場合は、１つの小メモリ領域においてデータバス６のビット幅分の画素データにアクセスし、一括して転送することができる。
【０１０７】
また、原画像を回転させずにそのまま画像表示装置４に出力する場合は、データ入出力部３１は、最初にアクセスする画素データのアドレスのみ求めればよく、アクセスする画素データそれぞれのアドレスを求めていく必要がない。このため、本実施の形態に係る入出力管理装置１は、例えば、特許文献４に示す記憶装置のように、回転をさせずに原画像データを表示させる場合であってもアドレス演算装置を稼動させ画素のアドレスを演算する必要がない。
【０１０８】
また、上記数（１２）〜（１５）のいずれの演算を行う場合であっても、小メモリ領域６０〜６３に対する一度のアクセスでは、１アドレスしかアクセスされないため、原画像メモリ２は、一般的なメモリ素子で実現することができる。
【０１０９】
また、上記数（１２）〜（１５）のいずれの演算においても高々一つのアドレスを算出すればよいため、アドレス演算回路も一つでよい。さらにデータバスの分割数Ｎを２のべき乗とすることで、数（１２）から（１５）にて行われる除算および剰余算は簡単なビット選択回路で行うことができ、これら数（１２）から数（１５）を行う演算回路を安価でかつ、小規模な回路で設計できる。
【０１１０】
なお、数（１３）および数（１５）によって左または右９０度回転しながら原画像メモリに格納する機能を実現するためには小メモリ領域６０〜６３の１語を構成する画素データの特定の画素データのみ変更することが必要になるが、このようなメモリは公知のメモリ素子で実現可能である。
【０１１１】
また、上記では、原画像メモリ２に格納した原画像データの画素データを、画像表示装置４に出力する構成について説明した。しかしながら、データバス６を通じて転送する画素データの転送先は、画像表示装置４に限定されるものではない。例えば、原画像から回転させた仮想画像に対して、さらに画像処理を加える場合、画素データの転送先は、この画像処理を行う画像処理部（不図示）であってもよい。
【０１１２】
また、上記では、原画像メモリ２にラスタスキャン方式によりスキャンされた順に、各画素データが記憶されていることを前提にして、仮想画像に応じて、原画像メモリ２からこれら各画素データを読み出し、画像表示装置４に転送する構成について説明した。しかしながら、図１３に示すように、スキャナ８によってラスタスキャン方式により読取った画像データ（各画素データ）を原画像メモリ２に入力する場合についても同様にして各画素データの転送を行うことができる。
【０１１３】
このように原画像メモリ２に各画素データを入力する構成に本実施の形態に係る入出力管理装置１を適用する場合、特に図示しないが、スキャナメモリ６４も、原画像メモリ２と同様に複数の小メモリ領域（第２分割記憶領域）６０・６１・６２・６３を備える。そして、このスキャナメモリ６４には、スキャナ８によってラスタスキャン方式によりスキャンされた順に、各画素データが格納される。
【０１１４】
また、データ入出力部（入力手段）３１が、アドレス変換部（第２アドレス算出手段）３５によって求めた、仮想画像における各画素データの物理アドレスに基づき、スキャナメモリ６４においてアクセスする画素データを求める。そして、求めた画素データの物理アドレスに基づき、スキャナメモリ６４から、データバス６を通じて該画素データを取得する。データ入出力部３１は、画素データを取得した順に、原画像メモリ２に書き込む。
【０１１５】
このため、原画像メモリ２には、仮想画像における各画素データの配置に応じた順に、該画素データがすでに記憶されることとなる。それゆえ、原画像メモリ２から画素データを読み出し、画像表示装置４に表示させる際には、メモリコントローラ３は、仮想画像に応じて、原画像を回転させて表示させるための演算を行う必要がなく、原画像メモリ２からデータバス６のバス幅分ずつ順に画素データを読み出し、画像表示装置４に出力することができる。
【０１１６】
このように、仮想画像に応じた順に各画素データを原画像メモリ２に記憶させる構成の場合、以下の利点を有する。すなわち、上記データ入出力部３１は、画素データの出力順を変更するなど、画像の回転等に応じた処理（原画像を回転させて表示させるための演算）を行う必要なく、そのまま画素データを読み出すことができる。このため、一定時間ごとに画素データの読み出しが必要となる液晶ディスプレイ等の画像表示装置４に画像データに基づく表示を行う場合、読み出しの度に必要となる画像の回転等に応じた処理を実行する必要がない。それゆえ、原画像メモリ２から画像データを読み出す際に、画像の回転等に応じた処理を行う構成と比較して、さらに消費電力の低減を実現させることができる。
【０１１７】
なお、回転角度設定部３２による原画像に対する回転角度の設定は、原画像メモリ２から画素データを読み出す場合、原画像メモリ２に画素データを書き込む場合それぞれ個別に設定できるようになっている。
【０１１８】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０１１９】
本発明は、原画像を回転させて出力させる技術に幅広く利用することができる。
【符号の説明】
【０１２０】
１  入出力管理装置
２  原画像メモリ（記憶装置）
３  メモリコントローラ（データ入出力制御装置）
４  画像表示装置（表示装置）
５  入出力部
６  データバス
７  アドレスバス
８  スキャナ（読取り装置）
３１  データ入出力部（出力手段・入力手段）
３２  回転角度設定部（設定手段）
３３  サイズ設定部
３４  アドレス変換指示部（判定手段）
３５  アドレス変換部（第１アドレス算出手段・第２アドレス算出手段）
６０  小メモリ領域（第１分割記憶領域・第２分割記憶領域）
６１  小メモリ領域（第１分割記憶領域・第２分割記憶領域）
６２  小メモリ領域（第１分割記憶領域・第２分割記憶領域）
６３  小メモリ領域（第１分割記憶領域・第２分割記憶領域）
６４  スキャナメモリ（読取りデータ記憶装置）
【図１】
2010231425.tif 000003
【図２】
2010231425.tif 000004
【図３】
2010231425.tif 000005
【図４】
2010231425.tif 000006
【図５】
2010231425.tif 000007
【図６】
2010231425.tif 000008
【図７】
2010231425.tif 000009
【図８】
2010231425.tif 000010
【図９】
2010231425.tif 000011
【図１０】
2010231425.tif 000012
【図１１】
2010231425.tif 000013
【図１２】
2010231425.tif 000014
【図１３】
2010231425.tif 000015