(57)【要約】【課題】画像データに回転処理を施す画像データ処理する装置において、画像データを格納するバッファメモリの記憶容量を削減する。【解決手段】圧縮された画像データを記憶する第１記憶手段と、第１記憶手段から読み出される画像データを伸長する伸長手段と、を備え、伸長手段から得られた画像データを複数の領域に分割する。そして、分割された各領域の画像データに順次回転処理をして記憶する第２記憶手段と、第２記憶手段から読み出される各領域の画像データを圧縮する圧縮手段と、圧縮手段から得られた各領域の画像データを順次記憶する第３記憶手段と、を備える。かく構成された、画像データを格納するバッファメモリの記憶容量を削減した画像データに回転処理を施す画像データ処理装置を提供する。【選択図】図４
2007159094.tif 000002
【特許請求の範囲】
【請求項１】
圧縮された画像データを記憶する第１記憶手段と、
前記第１記憶手段から読み出される前記画像データを伸長する伸長手段と、
前記伸長手段から得られた前記画像データを複数の分割領域画像データに分割し、前記複数の分割領域画像データを順次回転処理をして記憶する第２記憶手段と、
前記第２記憶手段から読み出される前記分割領域画像データを圧縮する圧縮手段と、
前記圧縮手段から得られた前記分割領域画像データを順次記憶する第３記憶手段と、を備える、ことを特徴とする画像データ処理装置。
【請求項２】
前記分割領域画像データは、前記画像データを水平方向に分割して得られた複数の画像データに対応する、ことを特徴とする請求項１に記載の画像データ処理装置。
【請求項３】
前記第２記憶手段は、前記画像データの左側に位置する前記分割領域画像データを順次９０度の回転処理をして記憶する、ことを特徴とする請求項２に記載の画像データ処理装置。
【請求項４】
前記第２記憶手段は、前記画像データの右側に位置する前記分割領域画像データを順次２７０度の回転処理をして記憶する、ことを特徴とする請求項２に記載の画像データ処理装置。
【請求項５】
前記画像データはＪＰＥＧ圧縮画像データである、ことを特徴とする請求項１に記載の画像データ処理装置。
【請求項６】
圧縮された画像データを第１記憶手段に記憶する第１記憶工程と、
前記第１記憶手段から読み出される前記画像データを伸長する伸長工程と、
前記伸長工程で得られた前記画像データを複数の分割領域画像データに分割し、前記複数の分割領域画像データを順次回転処理をして第２記憶手段に記憶する第２記憶工程と、
前記第２記憶手段から読み出される前記分割領域画像データを圧縮する圧縮工程と、
前記圧縮工程で得られた前記分割領域画像データを順次第３記憶手段に記憶する第３記憶工程と、を備える、ことを特徴とする画像データ処理方法。
【請求項７】
前記分割領域画像データは、前記画像データを水平方向に分割して得られた複数の画像データに対応する、ことを特徴とする請求項６に記載の画像データ処理方法。
【請求項８】
前記第２記憶工程は、前記画像データの左側に位置する前記分割領域画像データを順次９０度の回転処理をして前記第２記憶手段に記憶する、ことを特徴とする請求項７に記載の画像データ処理方法。
【請求項９】
前記第２記憶工程は、前記画像データの右側に位置する前記分割領域画像データを順次２７０度の回転処理をして前記第２記憶手段に記憶する、ことを特徴とする請求項７に記載の画像データ処理方法。
【請求項１０】
前記画像データはＪＰＥＧ圧縮画像データである、ことを特徴とする請求項６に記載の画像データ処理方法。
【請求項１１】
前記第２記憶手段の領域は前記画像データより小さい、ことを特徴とする請求項１に記載の画像データ処理装置。
【請求項１２】
ブロック単位で圧縮された画像データを記憶する第１記憶手段と、
前記第１記憶手段から読み出される前記画像データを前記ブロック単位で伸長する伸長手段と、
前記伸長手段から得られた前記画像データを前記ブロック単位の整数倍で複数の領域に分割し、分割された前記各領域の画像データに前記ブロック単位の整数倍で順次回転処理をして記憶する第２記憶手段と、
前記第２記憶手段から読み出される前記各領域の画像データを圧縮する圧縮手段と、
前記圧縮手段から得られた前記各領域の画像データを順次記憶する第３記憶手段と、を備える、ことを特徴とする画像データ処理装置。
【請求項１３】
ブロック単位で圧縮された画像データを記憶する第１記憶手段と、
前記第１記憶手段から読み出される前記画像データを前記ブロック単位で伸長する伸長手段と、
前記伸長手段から得られた前記画像データを前記ブロック単位の整数倍でトリミングするトリミング手段と、
前記トリミング手段から得られた前記画像データを前記ブロック単位の整数倍で順次回転処理をして記憶する第２記憶手段と、
前記第２記憶手段から読み出される前記各領域の画像データを圧縮する圧縮手段と、
前記圧縮手段から得られた前記各領域の画像データを順次記憶する第３記憶手段と、を備える、ことを特徴とする画像データ処理装置。
【請求項１４】
ブロック単位で圧縮された画像データを記憶する第１記憶手段と、
前記画像データにトリミング指示するトリミング指示手段と、
前記第１記憶手段から読み出される前記画像データを前記ブロック単位で伸長する伸長手段と、
前記伸長手段から得られた前記画像データを前記ブロック単位の整数倍でトリミングする第１のトリミング手段と、
前記第１のトリミング手段から得られた前記画像データを前記ブロック単位の整数倍で順次回転処理をして記憶する第２記憶手段と、
前記第２の記憶手段に記憶された前記画像データを、前記トリミング指示手段で指示されたトリミング領域をトリミングシして読み出す第２のトリミング手段と、
前記第２のトリミング手段でトリミングされた前記画像データを圧縮する圧縮手段と、
前記圧縮手段から得られた前記各領域の画像データを順次記憶する第３記憶手段と、を備える、ことを特徴とする画像データ処理装置。
【請求項１５】
請求項６乃至１０のいずれか1つに記載された画像データ処理方法の手順がコンピュータで実行可能なコードで記述されたプログラム。
【請求項１６】
請求項１５に記載された画像データ処理方法のプログラムのコードが、コンピュータで読み出し可能に記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示画像を回転させる画像データ処理を行う画像データ処理装置、画像データ処理方法、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
従来、表示画像の回転処理を行う画像データ処理装置には、回転前の表示画像の画像データを１ページ分格納するページメモリと、回転処理後の表示画像の画像データを１ページ分格納するページメモリとをそれぞれ用意する必要があった。しかし、表示画像の高解像度化等により画像データのデータ量が大幅に増えてきており、表示画像の回転処理には、膨大な記憶容量のページメモリが必要となっていた。しかもそのページメモリが２表示画面分の画像データを格納する記憶容量が必要となるため、コストの大幅な上昇を招くことになっていた。その対策として、次のような画像データに画像回転処理を施す画像データ処理方法が提案されている。すなわち、ＪＰＥＧ圧縮符号化した画像データにＪＰＥＧの制御コードであるリスタートマーカを付加し、所定幅のストライプ単位で圧縮画像データを復号する。これにより、復号した画像データを格納するのに必要なバッファメモリの記憶容量を削減する方法が提案されている。
【０００３】
また、表示画像の回転処理が可能な画像データ処理装置において、入力された画像データをバンド分割し、バンド分割された画像データについて回転角度に応じて読み出し順序を変え、バンド単位で圧縮処理を行うことが提案されている。これにより、画像データの伸長処理時に圧縮コードの読み飛ばし処理を行う必要がなくなるため、リアルタイムでの伸長処理が可能となる。
【０００４】
しかしながら、従来のデジタルカメラ等の画像データ処理装置では、ＪＰＥＧ圧縮方式で圧縮されて記録された原画像データを伸長し、伸長された画像データを回転し、そして回転された画像データを記録する機能については提案がなされていなかった。
【特許文献１】特開平０９−２４７４２３号公報
【特許文献２】特開２００３−０９２６７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されている画像データ処理装置及びその方法では、所定幅のストライプ単位で圧縮画像データを符号化する。そのため、一般的なＪＰＥＧ圧縮画像データの構成とは異なり、ストライプ単位で再生可能なプレーヤが必要となる。したがって、一般的なデジタルカメラ等では再生出来ない等の問題がある。
【０００６】
同様に、特許文献２に開示されている画像データ処理装置及び画像データ処理方法では、画像データの伸長処理に際して、バッファメモリから圧縮画像データをバンド単位でＤＭＡインターフェースの制御により読み出す。そして選択的に切り替えながら伸長処理部に供給し、順次伸長処理を行なうものである。そのため、伸長処理を行うには、圧縮データを総てバッファメモリに展開する必要があった。さらに、また所定幅のストライプ単位で圧縮画像データを符号化する必要があった。そのため、一般的なＪＰＥＧ圧縮画像データの構成とは異なり、ストライプ単位で再生可能なプレーヤが必要となっていた。したがって、やはり一般的なデジタルカメラ等では再生出来ない等の問題もあった。
【０００７】
本発明は、画像データを格納するバッファメモリの記憶容量を削減することを目的とする。また、本発明は、バッファメモリの記憶容量を削減して画像の回転処理を行い、画像データのフォーマット互換性を維持して一般的な再生プレーヤ及びデジタルカメラ等で再生可能とすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の実施形態によれば、圧縮された画像データを記憶する第１記憶手段と、
前記第１記憶手段から読み出される前記画像データを伸長する伸長手段と、
前記伸長手段から得られた前記画像データを複数の分割領域画像データに分割し、前記複数の分割領域画像データを順次回転処理をして記憶する第２記憶手段と、
前記第２記憶手段から読み出される前記分割領域画像データを圧縮する圧縮手段と、
前記圧縮手段から得られた前記分割領域画像データを順次記憶する第３記憶手段と、を備える、ことを特徴とする画像データ処理装置を提供する。
【０００９】
本発明の他の実施形態によれば、圧縮された画像データを第１記憶手段に記憶する第１記憶工程と、
前記第１記憶手段から読み出される前記画像データを伸長する伸長工程と、
前記伸長工程で得られた前記画像データを複数の分割領域画像データに分割し、前記複数の分割領域画像データを順次回転処理をして第２記憶手段に記憶する第２記憶工程と、
前記第２記憶手段から読み出される前記分割領域画像データを圧縮する圧縮工程と、
前記圧縮工程で得られた前記分割領域画像データを順次第３記憶手段に記憶する第３記憶工程と、を備える、ことを特徴とする画像データ処理方法を提供する。
【００１０】
本発明の、更に他の実施形態によれば、ブロック単位で圧縮された画像データを記憶する第１記憶手段と、
前記第１記憶手段から読み出される前記画像データを前記ブロック単位で伸長する伸長手段と、
前記伸長手段から得られた前記画像データを前記ブロック単位の整数倍で複数の領域に分割し、分割された前記各領域の画像データに前記ブロック単位の整数倍で順次回転処理をして記憶する第２記憶手段と、
前記第２記憶手段から読み出される前記各領域の画像データを圧縮する圧縮手段と、
前記圧縮手段から得られた前記各領域の画像データを順次記憶する第３記憶手段と、を備える、ことを特徴とする画像データ処理装置を提供する。
【００１１】
本発明の、更に他の実施形態によれば、ブロック単位で圧縮された画像データを記憶する第１記憶手段と、
前記第１記憶手段から読み出される前記画像データを前記ブロック単位で伸長する伸長手段と、
前記伸長手段から得られた前記画像データを前記ブロック単位の整数倍でトリミングするトリミング手段と、
前記トリミング手段から得られた前記画像データを前記ブロック単位の整数倍で順次回転処理をして記憶する第２記憶手段と、
前記第２記憶手段から読み出される前記各領域の画像データを圧縮する圧縮手段と、
前記圧縮手段から得られた前記各領域の画像データを順次記憶する第３記憶手段と、を備える、ことを特徴とする画像データ処理装置を提供する。
【００１２】
本発明の、更に他の実施形態によれば、ブロック単位で圧縮された画像データを記憶する第１記憶手段と、
前記画像データにトリミング指示するトリミング指示手段と、
前記第１記憶手段から読み出される前記画像データを前記ブロック単位で伸長する伸長手段と、
前記伸長手段から得られた前記画像データを前記ブロック単位の整数倍でトリミングする第１のトリミング手段と、
前記第１のトリミング手段から得られた前記画像データを前記ブロック単位の整数倍で順次回転処理をして記憶する第２記憶手段と、
前記第２の記憶手段に記憶された前記画像データを、前記トリミング指示手段で指示されたトリミング領域をトリミングシして読み出す第２のトリミング手段と、
前記第２のトリミング手段でトリミングされた前記画像データを圧縮する圧縮手段と、
前記圧縮手段から得られた前記各領域の画像データを順次記憶する第３記憶手段と、を備える、ことを特徴とする画像データ処理装置を提供する。
【００１３】
本発明の、更に他の実施形態によれば、前記の実施形態における画像データ処理方法の手順がコンピュータで実行可能なコードで記述されたプログラムを提供する。
【００１４】
本発明の、更に他の実施形態によれば、前記の画像データ処理方法のプログラムのコードが、コンピュータで読み出し可能に記録された記録媒体を提供する。
【発明の効果】
【００１５】
本発明によれば、画像データに回転処理を施す画像回転処理において、画像データを格納するバッファメモリの記憶容量を削減することが可能となる。また画像データのフォーマット互換性を維持し、一般的な再生プレーヤ及びデジタルカメラ等で再生が可能となる。
【発明を実施するための最良の形態】
【００１６】
＜実施形態１＞
まず、本発明の第１の実施形態を図１乃至図９を使用して説明する。
【００１７】
図１は、本発明の実施形態１に係る画像データ処理装置としての撮像装置のシステム構成を示す模式的ブロック図である。同図において、１００はＣＰＵ（Central Processing Unit）：中央処理装置）であって、図１に示す撮像装置のシステム全体を制御する。
【００１８】
１０１はシステムバスであり、ＣＰＵ１００はシステムバス１０１を介して、各回路ブロックを制御する。ＣＰＵ１００は、ＲＯＭ（Read Only Memory）１０２に格納されている本願の実施形態を実現させるプログラムに従って、ＲＡＭ（Random Access Memory）１０３の一部をワークエリアとして動作する。また、１０４は撮像部であり、よく知られているように、固体撮像素子や、絞り、シャッタ機構などが取り付けられたレンズ系などを含む。また、１０５は表示部であり、通常ＬＣＤ（Liquid Crystal Display）表示装置などが使用される。表示部１０５は、撮影前の被写体のモニタや、撮影後の画像データの再生のモニタ等の為に用いられる。また、１０６は半導体記憶素子が内蔵された着脱可能なメモリカード等の記録媒体である。この記録媒体１０６は、半導体記憶素子に限られるものではなく、他の記録媒体も使用できる。記録媒体１０６から読出し回路１０７を介して読み出されたＪＰＥＧ（Ｊoint Ｐhotographic Ｅxpert Ｇroup）等で圧縮符号化された画像データの一部又は全部は、一時的に第１バッファメモリ１０８に格納される。第１バッファメモリ１０８は、一般的に使われるＤＲＡＭ（Dynamic Random Access Memory）で構成される。
【００１９】
また、第１バッファメモリ制御回路１０９は、第１バッファメモリ１０８に読み出されたＪＰＥＧ圧縮画像データを順次伸長回路１１０にＤＭＡ転送するダイレクトメモリアクセスコントローラ（以下ＤＭＡＣ）で構成される。そして、伸長回路１１０でＪＰＥＧ等で圧縮符号化された画像データを伸長することで画像データを復元する。
【００２０】
１１１はトリミング回路であって、伸長回路１１０で伸長された画像データから一部の矩形領域又は全ての画像データを切り出して出力する。
【００２１】
また、第１の第２バッファメモリ制御回路１１２は、前記のトリミング回路１１１で切り出された画像データを第２バッファメモリ１１３にＤＭＡ転送するためのＤＭＡＣである。さらに、第２バッファメモリ１１３を制御する第２の第２バッファメモリ制御回路１１４が設けられる。そして、第２バッファメモリ１１３に格納されている画像データを圧縮回路１１５にＤＭＡ転送するため、第２の第２バッファメモリ制御回路１１４もまたＤＭＡＣで構成されている。
【００２２】
圧縮回路１１５は、第２バッファメモリ１１３から読み出される画像データを、ＪＰＥＧ等のブロック符号化処理により圧縮符号化をするための回路である。さらに１１７は、圧縮回路１１５で圧縮符号化されたＪＰＥＧ圧縮画像データの一部または全部を格納する第３バッファメモリである。第３バッファメモリ１１７は第３バッファメモリ制御回路１１６により制御される。第３バッファメモリ１１７から出力される圧縮画像データは、書込み回路１１８を介して記録媒体１０６に書き込まれる。
【００２３】
尚、第１バッファメモリ１０８、第２バッファメモリ１１３及び第３バッファメモリ１１７は、ＲＡＭ１０３の中に割り付けることも可能である。もちろん、別にＲＡＭを設け、そのＲＡＭの中に第１バッファメモリ１０８、第２バッファメモリ１１３及び第３バッファメモリ１１７を割り付けることも可能である。
【００２４】
図２は、ＪＰＥＧ圧縮画像データを９０度時計方向に回転する場合について説明するための図である。図２（ａ）〜図２（ｌ）は、それぞれ表示画像の伸長処理、回転処理及び圧縮処理の遷移状態を示す。
【００２５】
まず、図２（ａ）は第１バッファメモリに取り込んだＪＰＥＧ圧縮画像データ２０１を示す。また、図２（ｂ）は、第１回目のＪＰＥＧ圧縮画像データの伸長処理として、図２（ａ）に示すＪＰＥＧ圧縮画像データの左側に位置する矩形領域（１）の画像データ２０２を選択し、伸長し、出力してトリミングするまでの処理を示す。また、図２（ｃ）は、矩形領域（１）の画像データ２０２を９０度回転する処理を示し、画像データ２０３が得られる。この画像データ２０３を順次第２バッファメモリ１１３に蓄積する。
【００２６】
図２（ｄ）は９０度回転された矩形領域（１）の画像データ２０３に対して圧縮処理し、第３バッファメモリ１１７に格納される矩形領域（１）の画像データ２０４のイメージを示している。以上のようにして、図２（ａ）の左側に位置する矩形領域の画像データ（１）が回転処理される。
【００２７】
次に、図２（ｅ）〜（ｈ）は、図２（ａ）〜（ｄ）と同様に、第２回目のＪＰＥＧ圧縮画像データ２１１の処理状態を示す。この場合には、図２（ａ）の画像データの真中に位置する矩形領域（２）の画像データを選択して同じ処理が行われる。この処理においても、画像データ２１２、２１３が順次得られ、第３バッファメモリ１１７に格納される矩形領域（１）の画像データ２０４に隣接して蓄積される画像データ２１４のイメージを示している。
【００２８】
最後に、図２（ｉ）〜（ｌ）は、図２（ａ）〜（ｄ）と同様に第３回目のＪＰＥＧ圧縮画像データの処理状態を示す。この場合には、図２（ａ）の画像データの右側に位置する矩形領域（３）の画像データを選択して同じ処理が行われる。この処理においても、画像データ２２２、２２３が順次得られ、最終的に画像データ２０４、２１４に隣接して蓄積される画像データ２２４のイメージを示している。このようにして、第１バッファメモリ１０８に蓄積されている図２（ａ）に示す圧縮画像データが回転処理され、図２（ｌ）に示すように回転した状態で第３バッファメモリ１１７に格納されることになる。
【００２９】
一方、図３は、ＪＰＥＧ圧縮画像データを時計方向に２７０度回転する場合について説明するための図である。図３（ａ）〜（ｌ）は、表示画像の伸長処理、回転処理及び圧縮処理の状態を示す。
【００３０】
まず、図３（ｂ）は伸長された画像データの右側に位置する矩形領域（３）の画像データを選択して出力するトリミング処理を示す。また、図３（ｃ）は矩形領域（３）の画像データの２７０度回転の処理を示し、図３（ｄ）は２７０度回転された矩形領域（３）の画像データに対して圧縮処理した矩形領域（３）の画像データのイメージを示している。図２の場合と同様に、画像データ３０１から、３０２、３０３と変形され、最終的に、図３（ａ）の右側に位置する矩形領域（３）の画像データが画像データ３０４として回転処理される。
【００３１】
次に、図３（ｅ）〜（ｈ）は、図３（ａ）〜（ｄ）と同様に、第２回目のＪＰＥＧ圧縮画像データの処理状態を示す。この場合には、図３（ａ）の画像データの真中に位置する矩形領域（２）の画像データを選択して処理が行われる。この場合と同様に、画像データ３１１から、３１２、３１３と変形され、最終的に、図３（ａ）の右側に位置する矩形領域（３）の画像データが画像データ３１４として回転処理される。
【００３２】
最後に、図３（ｉ）〜（ｌ）は、図３（ａ）〜（ｄ）と同様に第３回目のＪＰＥＧ圧縮画像データの処理状態を示す。この場合には、図３（ａ）の画像データの左側に位置する矩形領域（１）の画像データを選択して処理が行われる。この場合と同様に、画像データ３２１から、３２２、３２３と変形され、最終的に、図３（ａ）の右側に位置する矩形領域（３）の画像データが画像データ３２４として回転処理される。このようにして、圧縮画像データ全体について回転処理が完成する。
【００３３】
図４は、ＪＰＥＧ圧縮画像データを９０度回転する場合について、詳細に説明するための図である。図４（ａ）は、ブロック単位で圧縮記録されたＪＰＥＧ圧縮画像データをブロック単位で伸張し、ブロック単位でラスタデータを出力する状態を示している。図４（ｂ）は、マスキング処理されたブロック単位の状態を示している。図４（ｃ）は、ブロック単位のデータを９０度回転する状態を示している。図４（ｄ）は、図４（ａ）の詳細を示す動作概念図である。図４（ｅ）は、図４（ｂ）の詳細を示す動作を説明する概念図である。図４（ｆ）は、図４（ｃ）の詳細を示す動作を説明する概念図である。
【００３４】
次に、図５は、第１の第２バッファメモリ制御回路１１２及び第２の第２バッファメモリ制御回路１１４の動作を説明する概念図である。第１の第２バッファメモリ制御回路１１２及び第２の第２バッファメモリ制御回路１１４は、第２バッファメモリ１１３を二次元の平面とみなす。そして、第２バッファメモリ１１３上への矩形領域の画像データデータ転送及び第２バッファメモリ１１３上の矩形領域の画像データのデータ転送を行なう。
【００３５】
図５（ａ）において、Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６、・・・はアドレスを、Ｎはデータを転送する矩形領域の画像データライン数を、Ｍは１ラインの画像データのピクセル数（ワード数）をそれぞれ表わしている。また、点線で表わされているオフセット距離Ｊの値は、Ｐ３−Ｐ２、Ｐ５−Ｐ４、・・・等であって、全て等しい。従って、矩形領域の画像データの転送は、図５（ａ）の左端のポインタから始まるＭワードの転送をＮ回繰り返すことによって実現することができる。
【００３６】
図５（ｂ）は、第２バッファメモリ１１３上の矩形領域に９０度回転し、データ転送を行なう動作を表す。図５（ｂ）において、Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６、・・・、やＰ１−１、Ｐ１−２、Ｐ１−３、・・・はそれぞれアドレスを表す。また、Ｍはデータを転送する矩形領域の画像データのライン数を、Ｎは１ラインの画像データのピクセル数（ワード数）をそれぞれ表わしている。また、オフセット距離Ｋの値は（Ｐ１-１）−Ｐ１、（Ｐ１−２）−（Ｐ１−１）、・・・で全て等しい。また、点線で表わされているオフセット距離Ｊの値はＰ２−Ｐ３，Ｐ４−Ｐ５，・・・であり、全て等しい。従って、各矩形領域の転送は、図５（ｂ）の右端のポインタから始まるＭラインの画像データの転送をＮ回繰り返すことによって実現することができる。
【００３７】
図６は、上記で説明した二次元データ転送の動作を示すフローチャートである。同図において、Ｐ１、Ｍ、Ｎ、Ｊは、図５（ａ）におけるＰ１、Ｍ、Ｎ、Ｊと対応し、第１の第２バッファメモリ制御回路１１２の設定レジスタにセットされる。
【００３８】
図６において、まず、ステップＳ６０１でカウンタ値ｈ、ｃが０にリセットされる。次に、ステップＳ６０２でカウンタ値ｈ及びｃからアドレスａが求められる（ａ＝Ｐ１＋ｈ＋（Ｍ＋Ｊ）ｃ）。次に、ステップＳ７０３でステップＳ６０２において求められたアドレスａに対し、矩形領域の画像データが順次転送される。
【００３９】
次に、ステップＳ６０４でカウンタ値ｈが１つインクリメント（ｈ＝ｈ＋１）され、次のステップＳ６０５で、カウンタ値ｈが１ラインの画像データのピクセル数（ワード数）Ｍと等しい（ｈ＝Ｍ）か否かが判断される。そして、カウンタ値ｈが１ラインの画像データのピクセル数（ワード数）Ｍと等しいと判断された場合、即ち、１ライン分の画像データの処理が終了した場合は、次のステップＳ６０６へ進む。そして、カウンタ値ｈがリセット（ｈ＝０）され、カウンタ値ｃが１つインクリメント（ｃ＝ｃ＋１）される。
【００４０】
次のステップＳ６０７ではライン数の比較が行なわれ、カウンタ値ｃが画像データを転送する矩形領域の画像データのライン数Ｎと等しい（ｃ＝Ｎ）か否かが判断される。そして、カウンタ値ｃがデータを転送する矩形領域の画像データのライン数Ｎと等しいと判断された場合、即ち、全ラインの矩形領域の画像データが転送された場合は、この転送処理の動作を終了する。
【００４１】
一方、ステップＳ６０５で、カウンタ値ｈが１ラインの画像データのピクセル数（ワード数）Ｍと異なる、及びステップＳ６０７で、カウンタ値ｃが、転送する矩形領域の画像データのライン数Ｎと異なると判断された場合は、ステップＳ６０２へ戻る。そして、次のラインの画像データの転送を行なう。以上のような処理によって画像データの二次元データ転送が実現できる。
【００４２】
図７は、回転処理を伴う二次元データ転送の動作の流れを示すフローチャートである。同図において、Ｐ１、Ｍ、Ｎ、Ｋは、図５（ｂ）におけるＰ１、Ｍ、Ｎ、Ｋと対応し、第１の第２バッファメモリ制御回路１１４の設定レジスタにセットされる。
【００４３】
図７において、まず、ステップＳ７０１でカウンタ値ｈ、ｃがリセットされる。次に、ステップＳ７０２でカウンタ値ｈ、ｃからアドレスａが求められる（ａ＝Ｐ１＋ｈ−ｃ）。次に、ステップＳ７０３において、ステップＳ７０２において求められた第２バッファメモリ１１３のアドレスａに対して画像データが書き込みされる。
【００４４】
次に、ステップＳ７０４でカウンタ値ｈがオフセット値Ｋを加算（ｈ＝ｈ＋Ｋ）され、次のステップＳ７０５でカウンタ値ｈがライン数Ｍと等しい（ｈ＝Ｍ）か否かが判断される。そして、カウンタ値ｈがライン数Ｍと等しいと判断された場合、即ち、Ｐ１からＰ２の垂直方向に１ラインの画像データの処理が終了した場合は、次のステップＳ７０６へ進む。そして、カウンタ値ｈがリセット（ｈ＝０）され、カウンタ値ｃが１つインクリメント（ｃ＝ｃ＋１）される。そして、次のステップＳ７０７でピクセル数（ワード数）の比較が行なわれ、カウンタ値ｃが画像データを転送する矩形領域のピクセル数Ｎと等しい（ｃ＝Ｎ）か否かが判断される。そして、カウンタ値ｃがデータを転送する矩形領域のピクセル数Ｎと等しいと判断された場合、即ち、全ラインの画像データが転送されていた場合は、本処理動作を終了する。
【００４５】
一方、ステップＳ７０５で、カウンタ値ｈが１ライン数Ｍと等しくないと判断された及びステップＳ７０７で、カウンタ値ｃがデータを転送する矩形領域のピクセル数Ｎと等しくないと判断された場合は、いずれもステップＳ７０２へ戻る。そして、次のラインの画像データの転送を行なう。以上のような処理によって９０度回転する二次元データ転送が実現できる。
【００４６】
図８は、単一のＤＲＡＭを、ＤＲＡＭ１０３とは別に使用する場合のＤＲＡＭ上の第１バッファメモリ１０８、第２バッファメモリ１１３及び第３バッファメモリ１１７のバッファメモリ構成を表す図である。ＤＲＡＭは１６ＭＢの容量を持ち、第１バッファメモリ１０８には、水平３０７２、垂直２３０４の第１のＪＰＥＧ圧縮されたＪＰＥＧ圧縮画像データ領域として、５ＭＢを割当てる。
【００４７】
第２バッファメモリ１１３には、水平３０７２ピクセル、垂直２３０４ピクセル、ＹＵＶ４２２フォーマット（１ピクセル２バイト）の画像領域を３分割し、４.５ＭＢを割当てる。
【００４８】
＝３０７２×２３０４×２／３
＝４７１８５９２[byte]
＝４.５[ＭＢ] 。 
第３バッファメモリ１１７には、水平２３０４ピクセル、垂直３０７２ピクセルのＪＰＥＧ圧縮された第２のＪＰＥＧ圧縮画像データ領域として、可変長符号化処理を行うことにより、元の画像データの約１／３にデータ量が圧縮するとして、５ＭＢを割当てる。
【００４９】
＝３０７２×２３０４×２／３
＝４７１８５９２[byte]
＝４.５[ＭＢ]  
次に、本実施形態１に係る画像回転処理の動作を、図９のフローチャート図に基づき具体的に説明する。具体例として、ＪＰＥＧ圧縮画像データの元画像サイズの縦横比が４：３、水平３０７２ピクセル、垂直２３０４ピクセルの画像データを、９０度回転し、水平２３０４ピクセル、垂直３０７２ピクセルのＪＰＥＧ圧縮画像データを生成する場合について説明する。
【００５０】
処理の開始後、ステップＳ１では、ＣＰＵ１００はシステムバス１０１を介して、記録媒体１０６上のＪＰＥＧ圧縮画像データを第１バッファメモリ１０８へ転送する。ステップＳ２では、第１バッファメモリ１０８上のＪＰＥＧ圧縮画像データから水平及び垂直のサイズを読出し、水平３０７２ピクセル、垂直２３０４ピクセルとする。ステップＳ３では、第２バッファメモリ１１３で使用可能な容量を求める。
【００５１】
第２バッファメモリ１１３で使用可能な容量は、ＤＲＡＭの容量１６ＭＢから、第１バッファメモリ１０８及び第３バッファメモリ１１７を減算した容量となり、６ＭＢを割当てる。したがって
＝１６−（５×２）
＝６[ＭＢ]となる。
【００５２】
次に、ステップＳ３では、第２バッファメモリ１１３で使用可能な容量から、ＪＰＥＧ伸長を繰り返す回数を元に、１回当たりの水平サイズＸＮを求める。ＪＰＥＧ伸長を繰り返す回数は、第のバッファメモリ１１３で使用可能な容量を、伸長後の画像データサイズで割り、結果の小数点以下を切り上げ整数とした結果がＪＰＥＧ伸長を繰り返す回数となり、１回数当たりの水平サイズＸＮ＝３が求められ、
＝３０７２×２３０４×２
＝１４１５５７７６[byte]
＝１３.５[ＭＢ]  
＝１３.５／６
＝２.２５ 
＝３となり、
ここで、ＸＮには、ＸＮ−１されたＸＮ＝２が設定される。
【００５３】
ステップＳ４では、画像の回転角度の指定を判別し、図２に示す９０度回転を指示されたのであれば、ステップＳ５へ移行する。ステップＳ５では、第１の第２バッファメモリ制御回路１１２の制御により、第１バッファメモリ１０８から伸長回路１１０に対し、ＪＰＥＧ圧縮画像データのＤＭＡ転送が行われる。伸長回路１１０はＪＰＥＧ圧縮画像データをブロック単位で伸張し、ブロック単位で５１２×８画素のラスタデータを、図４（ａ）に示すように［０、０］〜［５、０］、［０、１］〜［５、１］、〜［０、２７７］〜［５、２７７］と順次出力する。
【００５４】
ステップＳ６では、伸長回路１１０から順次出力される図４（ａ）及び図２（ａ）に示す画像データから、図４（ｂ）及び図２（ｂ）に示す水平２ブロック、水平１、２ブロック、左側の１０２４×２３０４画素分の画像データ２０２を切り出す。そして、残りの水平４ブロック、水平３、４、５、６ブロック２０４８×２３０４画素分の画像データを読み捨てる。
【００５５】
ステップＳ７では、トリミング回路１１１で切り出された１０２４×２３０４画素分の画像２０２を第１の第２バッファメモリ制御回路１１２により、図４（ｃ）及び図２（ｃ）に示す９０度回転を行う。切り出された１０２４×２３０４画素分の画像データ２０２は、図４（ｂ）に示すように、［０、０］［１、０］、［０、１］［１、１］、〜［０、２７７］〜［１、２７７］と順次出力する。
【００５６】
出力される画像データは、図５（ａ）に示す二次元データ転送で行われ、この二次元データ転送された画像データを、図５（ｂ）に示す二次元データ転送で第２バッファメモリ１１３に順次転送する。これにより、図４（ｃ）及び図２（ｃ）に示す回転された２３０４×１０２４画素分の画像データ２０３が第２バッファメモリ１１３上に生成される。
【００５７】
ステップＳ８では、第２の第２バッファメモリ制御回路１１４によって図６のフローチャートに従い、第２バッファメモリ１１３上の９０度回転された２３０４×１０２４画素分の画像データを圧縮回路１１５へ転送する。
【００５８】
圧縮回路１１５では、設定された量子化テーブルに基づきブロック符号化処理が行われる。そして、圧縮されたＪＰＥＧ圧縮画像データが第３バッファメモリ１１７に転送され、図２（ｄ）に示す第２のＪＰＥＧ圧縮画像データが生成される。
【００５９】
ステップＳ９では、ＸＮの判定をし、ＸＮ＝２である事から、ステップＳ１０へ移行する。ステップＳ１０では、水平１ブロックの処理が終了した事から、ＸＮ＝ＸＮ−１の処理が行われ、ＸＮ＝１が設定される。
【００６０】
次に、ステップＳ４の処理へ戻り、次のステップＳ４では、画像の回転角度を判別し、前の判定と同じく９０度回転を指示された状態であり、順次ステップＳ５〜ステップＳ８と繰り返し、図２（ｅ）〜（ｈ）に示す動作を行う。
【００６１】
ステップＳ５では、前記ステップＳ５と同様、再度、第１バッファメモリ制御回路１０９の制御により、第１バッファメモリ１０８から伸長回路１１０に対してＪＰＥＧ圧縮画像データのＤＭＡ転送が行われる。伸長回路１１０はＪＰＥＧ圧縮画像データをブロック単位で伸張し、ブロック単位で５１２×８画素のラスタデータを図４（ａ）に示すように［０、０］〜［５、０］、［０、１］〜［５、１］、〜［０、２７７］〜［５、２７７］と順次出力する。
【００６２】
ステップＳ６では、伸長回路１１０から順次出力される図２（ｅ）に示す水平２ブロック、水平１、２ブロックの左側の１０２４×２３０４画素を読み捨て、水平２ブロック、水平３、４ブロックの１０２４×２３０４画素分の画像データ２１２を切り出す。そして、残りの水平２ブロック、水平５、６ブロックの１０２４×２３０４画素分のデータを読み捨てる。
【００６３】
ステップＳ７では、トリミング回路１１１で切り出された１０２４×２３０４画素の画像データ２１２を第１の第２バッファメモリ制御回路１１２で、図２（ｇ）に示す９０度回転を行う。切り出された１０２４×２３０４画素の画像データ２１２の出力される画像データは、図５（ａ）に示す二次元データ転送で行われる。この二次元データ転送された画像データは、図５（ｂ）に示す二次元データ転送で第２バッファメモリ１１３へ順次転送され、図２（ｇ）示す回転された２３０４×１０２４画素分の画像データ２１３が第２バッファメモリ１１３上に生成される。
【００６４】
ステップＳ８では、第２の第２バッファメモリ制御回路１０９によって図７のフローチャートに従い、第２バッファメモリ１１３上の９０度回転された２３０４×１０２４画素の画像データ２１３を圧縮回路１１５へ転送する。圧縮回路１１５では、設定された量子化テーブルに基づきブロック符号化処理が行われる。圧縮されたＪＰＥＧ圧縮画像データが第３バッファメモリ１１７のＪＰＥＧ圧縮画像データ２０４として続き転送され、図２（ｈ）示す第２のＪＰＥＧ圧縮画像データが生成される。
【００６５】
ステップＳ９では、ＸＮの判定をし、ＸＮ＝１である事から、ステップＳ１０へ移行する。ステップＳ１０では、水平２ブロックの処理が終了した事から、ＸＮ＝ＸＮ−１の処理が行われ、ＸＮ＝０が設定される。
【００６６】
次に、ステップＳ４の処理へ戻り、次のステップＳ４では、画像の指定の回転角度を判別し、前判定と同じく９０度回転を指示された状態であるので、順次ステップＳ５〜ステップＳ８と繰り返し、図２（ｉ）〜（ｌ）に示す動作を行う。
【００６７】
ステップＳ５では、前記ステップＳ５と同様、再度、第１バッファメモリ１０７から、同一のＪＰＥＧ圧縮画像データが第１バッファメモリ制御回路１０９の制御により、伸長回路１１０に対してＤＭＡ転送される。伸長回路１１０はＪＰＥＧ圧縮画像データをブロック単位で伸張し、ブロック単位で５１２×８画素のラスタデータを図４（ａ）に示すように［０、０］〜［５、０］、［０、１］〜［５、１］、〜［０、２７７］〜［５、２７７］と順次出力する。
【００６８】
ステップＳ６では、伸長回路１１０から順次出力される図２（ｉ）に示す水平４ブロック、水平１、２、３、４ブロックの左側の２０４８×２３０４画素分の画像データを読み捨てる。そして、水平２ブロック、水平５、６ブロックの１０２４×２３０４画素、画像データ２２２を切り出す。ステップＳ７では、トリミング回路１１１で切り出された１０２４×２３０４画素の画像データ２２２を第１の第２バッファメモリ制御回路１１２で、図２（ｋ）に示す９０度回転を行う。切り出された１０２４×２３０４画素の画像データ２２２の出力されるデータは、図５（ａ）に示す二次元データ転送で行われる。この二次元データ転送されたデータは、図５（ｂ）に示す二次元データ転送で第２バッファメモリ１１３へ順次転送され、図２（ｋ）示す回転された２３０４×１０２４画素分の画像データ２２３が第２バッファメモリ１１３上に生成される。
【００６９】
ステップＳ８では、第２の第２バッファメモリ制御回路１１４によって図７のフローに従い、第２バッファメモリ１１３上の９０度回転された２３０４×１０２４画素の画像データ２２３を圧縮回路１１５へ転送する。圧縮回路１１５では、設定された量子化テーブルに基づきブロック符号化処理が行われ、圧縮されたＪＰＥＧ圧縮画像データが第３バッファメモリ１１７にＪＰＥＧ圧縮画像データ２１４に引き続き転送される。そして、図２（ｌ）示す第２のＪＰＥＧ圧縮画像データが生成される。
【００７０】
ステップＳ９では、ＸＮの判定をし、ＸＮ＝０である事から、ステップＳ１１へ移行する。ステップＳ１１では、バッファメモリ１１１上のＪＰＥＧ圧縮画像データを記録媒体１０６に書き込むことによって、圧縮されたＪＰＥＧ圧縮画像データが記録媒体１０６に転送される。これにより、ＪＰＥＧ圧縮画像データを展開するメモリ領域が無くとも、回転されたＪＰＥＧ圧縮画像データの記録が行える。
【００７１】
ステップＳ１２乃至１４における処理は、指定の回転角度が異なるだけで、処理は同様に行われるので、説明は省略する。
【００７２】
また、回転されたＪＰＥＧ圧縮画像データの完成後、記録媒体に転送する形態で説明をしたが、所定サイズのＪＰＥＧ圧縮画像データが完成後、順次ＪＰＥＧ圧縮画像データを記録媒体に転送する構成とする事も可能である。また、記録媒体より、ＪＰＥＧ画像データを読出し後、ＪＰＥＧ圧縮画像データの伸長処理を行う形態で説明をした。しかしながら、所定サイズのＪＰＥＧ圧縮画像データを読出し後、ＪＰＥＧ圧縮画像データの伸長処理を行い、順次ＪＰＥＧ圧縮画像データを読出す構成とする事も可能である。
【００７３】
また、回転されたＪＰＥＧ圧縮画像データの完成後、記録媒体に転送する形態で説明をしたが、インターフェース等を介して、プリンタ等の外部装置へ転送する構成とする事も可能である。また、各処理をハードウェアで行う説明をしたが、ソフトウェアで構成する事も可能である。
【００７４】
＜実施形態２＞
次に、本発明の第２の実施形態を図１０乃至図１３を使用して説明する。
【００７５】
図１０は、本発明の実施形態２に係る画像データ処理装置としての撮像装置のシステム構成を示す模式的ブロック図である。先に説明した実施形態１に係る撮像装置のシステム構成を示す模式的ブロック図と異なる点は、第２バッファメモリ１１３と、圧縮回路１１５との間に、第２のトリミング回路１３０を挿入した事である。その他の回路ブロックに関しては、図１で説明した実施形態１と同じであるので説明は省略する。
【００７６】
図１１は、図１０に示す撮像装置を使用し、回転された画像データに対しトリミングを行う概念図である。図１１（ａ）は、回転、拡大された画像データの例えば表示部１０５上での関係を示す。同図１１（ａ）において、１１０１は９０度時計方向に回転した全画像を示し、１１０２は全画像１１０１の一部を拡大し、表示部１０５で表示される表示画像を示す。また、図１１（ｂ）は、表示部１０５上の回転、拡大された画像と元画像との関係を示し、元画像は表示画像に対し回転されていない。したがって、図１１（ｂ）において、１１１１は、全画像１１０１を９０度時計方向に回転する前の元画像を示す。また、１１１２は、表示部１０５で表示される全画像１１０１に相当する元画像のトリミング領域に相当する。
【００７７】
図１２は、ＪＰＥＧ圧縮画像データをトリミングし、９０度回転する場合についての動作を説明するための図である。図１２（ａ）は、ブロック単位で圧縮記録されたＪＰＥＧ圧縮画像データをブロック単位で伸張し、ブロック単位でラスタデータを出力する状態を示している。また、図１２（ｂ）は、マスキング処理されたブロック単位の状態を示している。また、図１２（ｃ）は、ブロック単位の画像データを９０度回転処理する状態を示している。図１２（ｄ）は、９０度回転処理された画像データから矩形領域をトリミングする、ＪＰＥＧ圧縮画像データの画像処理を示している。
【００７８】
実施形態１の場合と同様に、図８は、単一のＤＲＡＭを、ＤＲＡＭ１０３とは別に使用する場合のＤＲＡＭ上の第１バッファメモリ１０８、第２バッファメモリ１１３及び第３バッファメモリ１１７のバッファメモリ構成を表す図である。ＤＲＡＭは１６ＭＢの容量を持ち、第１バッファメモリ１０８には、水平３０７２及び垂直２３０４の第１のＪＰＥＧ圧縮されたＪＰＥＧ圧縮画像データ領域として５ＭＢを割当てる。
【００７９】
第２バッファメモリ１１３には、実施形態１の場合と同様に４.５ＭＢの容量を割り当てる。また、第２バッファメモリ１１３には、４.５ＭＢの容量に対し、水平１２８８ピクセル、垂直１０２４ピクセル、ＹＵＶ４２２フォーマット（１ピクセル２バイト）の画像領域の２.５ＭＢを割当てる。即ち
＝１２８８×１０２４×２
＝２６３７８２４ [byte]
＝２.５[ＭＢ]  となる。
【００８０】
また、第３バッファメモリ１１７には、実施形態１の場合と同様に５．０ＭＢの容量を割り当てる。
【００８１】
次に、本実施形態２に係る回転処理の動作を、図１３に示すフローチャートに従って具体的に説明する。具体例として、ＪＰＥＧ圧縮画像データの元画像サイズの縦横比が４：３、水平３０７２ピクセル、垂直２３０４ピクセルの画像データから、トリミング指示された水平１０５６、垂直４の位置から水平９６０ピクセル、垂直１２８０ピクセルの画像を切り出す。そして、９０度回転し、水平１２８０ピクセル、垂直９６０ピクセルのＪＰＥＧ圧縮画像データを生成する場合について説明する。
【００８２】
処理の開始後ステップＳ１３０１では、ＣＰＵ１００はシステムバス１０１を介して、記録媒体１０６上のＪＰＥＧ圧縮画像データを第１バッファメモリ１０８へ転送する。ステップＳ１３０２では、第１バッファメモリ１０８上のＪＰＥＧ圧縮画像データから水平、垂直のサイズを読出し、水平３０７２ピクセル、垂直２３０４ピクセルとする。ステップＳ１３０３では、第２バッファメモリ１１３で使用可能な容量を求める。
【００８３】
第２バッファメモリ１１３で使用可能な容量は、ＤＲＡＭの容量１６ＭＢから、第１バッファメモリ１０８及び第３バッファメモリ１１７を減算した容量となり、６ＭＢ割当てる。したがって
＝１６−（５×２）
＝６[ＭＢ]となる。
【００８４】
すなわちステップＳ１３０３では、第２バッファメモリ１１３で使用可能な容量から、ＪＰＥＧ伸長を繰り返す回数に基づき、１回転当たりの水平サイズＸＮを求める。ＪＰＥＧ伸長を繰り返す回数は、第のバッファメモリ１１３で使用可能な容量を、伸長後の画像データサイズで割り、結果の小数点以下を切り上げ整数とした結果で求めることが出来る。これにより、１回転当たりの水平サイズＸＮ＝１が求められ、
＝１２８８×１０２４×２
＝２６３７８２４ [byte]
＝２.５[ＭＢ]  
＝２.５／６
＝０．４２
＝１
となり、ここで、ＸＮには、ＸＮ−１されたＸＮ＝０が設定される。
【００８５】
ステップＳ１３０４では、画像の指定された回転角度を判別し、９０度回転を指示された状態であれば、ステップＳ１３０５へ移行する。ステップＳ１３０５では、第１バッファメモリ１０８からＪＰＥＧ圧縮画像データを第１の第２バッファメモリ制御回路１１２の制御により伸長回路１１０にＤＭＡ転送が行われる。伸長回路１１０は、ＪＰＥＧ圧縮画像データをブロック単位で伸張し、ブロック単位で５１２×８画素のラスタデータを図１１（ａ）に示すように［０、０］〜［５、０］、［０、１］〜［５、１］、〜［０、２７７］〜［５、２７７］と順次出力する。
【００８６】
次に、テップＳ１３０６に進む。そして、伸長回路１１０から順次出力される図１２（ａ）に示す画像データを、図１２（ｂ）に示す水平２ブロックの、水平３、４ブロック、垂直１６１ブロックの垂直１から１６１ブロック１０２４×１２８８画素分の画像データを切り出す。そして、残りの水平４ブロック、水平１、２、５、６ブロック、垂直ブロックの１６２から２８７ブロックの画像データを読み捨てる。
【００８７】
次にステップＳ１３０７に進み、トリミング回路１１１で切り出された１０２４×１２８８画素分の画像を第１の第２バッファメモリ制御回路１１２で、図１１（ｃ）に示す９０度回転を行う。切り出された１０２４×１２８８画素分の画像データを、図１１（ｂ）に示すように、［２、０］［３、０］、［２、１］［３、１］、〜［２、１６０］〜［３、１６０］と順次出力する。
【００８８】
出力されるデータは、図５（ａ）に示す二次元データ転送で行われる。この二次元データ転送されたデータを図５（ｂ）に示す二次元データ転送で第２バッファメモリ１１３へ順次転送し、図１１（ｃ）に示す回転された１２８８×１０２４画素分の画像データが第２バッファメモリ１１３上に生成される。
【００８９】
ステップＳ１３０８では、第２バッファメモリ制御回路１１４によって、実施形態１で使用した図６のフローチャートに従い処理が行われる。すなわち、第２バッファメモリ１１３上の９０度回転された１２８８×１０２４画素分の画像データから第２のトリミング回路１３０で水平４、垂直３２の位置から水平１２８０ピクセル、垂直９６０ピクセルの画像を切り出し、圧縮回路１１５へ転送する。
【００９０】
圧縮回路１１５では、設定された量子化テーブルに基づきブロック符号化処理が行われ、圧縮されたＪＰＥＧ圧縮画像データが第３バッファメモリ１１７に転送され、図１１（ｄ）示す第２のＪＰＥＧ圧縮画像データが生成される。
【００９１】
ステップＳ１３０９では、ＸＮの判定をし、ＸＮ＝０である事から、ステップＳ１３１１へ移行する。ステップＳ１３１１では、バッファメモリ１１１上のＪＰＥＧ圧縮画像データを記録媒体１０６に書き込むことによって、圧縮されたＪＰＥＧ圧縮画像データが記録媒体１０６に転送される。これにより、ＪＰＥＧ圧縮画像データを展開するメモリ領域が無くとも、回転されたＪＰＥＧ圧縮画像データの記録が行える。尚、ステップＳ１３１２乃至Ｓ１３１４の処理は、同様に行われるので説明は省略する。
【００９２】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給ししてもよい。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００９３】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９４】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性の半導体メモリカード、ＲＯＭなどを用いることができる。
【００９５】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されてもよい。さらに、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９６】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれてもよい。そして、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００９７】
【図１】本発明の実施形態１に係る画像データ処理装置としての撮像装置のシステム構成の１例を示すブロック図である。
【図２】本発明の実施形態１に係る撮像装置の９０度回転の処理の説明図である。
【図３】本発明の実施形態１に係る撮像装置の２７０度回転の処理の説明図である。
【図４】本発明の実施形態１に係る撮像装置の９０度回転の処理の説明図である。
【図５】本発明の実施形態１に係る撮像装置の二次元データ転送の概念の説明図である。
【図６】本発明の実施形態１に係る撮像装置の二次元データ転送の動作を示すフローチャートの１例を示す図である。
【図７】本発明の実施形態１に係る撮像装置の９０度回転処理の二次元データ転送の動作を示すフローチャートの１例を示す図である。
【図８】本発明の実施形態１に係る撮像装置のバッファメモリの割り付けの１例を示す図である。
【図９】本発明の実施形態１に係る撮像装置の動作を示すフローチャートの１例を示す図である。
【図１０】本発明の実施形態２に係る画像データ処理装置としての撮像装置のシステム構成の１例を示すブロック図である。
【図１１】本発明の実施形態２に係る撮像装置のトリミング処理の概念の説明図である。
【図１２】本発明の実施形態２に係る撮像装置のトリミング処理の説明図である。
【図１３】本発明の実施形態２に係る撮像装置の動作を示すフローチャートの１例を示す図である。
【符号の説明】
【００９８】
１００  ＣＰＵ
１０１  バスインターフェース（Ｉ／Ｆ）
１０６  記録媒体
１０８、１１３、１１７  バッファメモリ
１０９、１１２、１１４、１１６  バッファメモリ制御回路
１１０  伸長回路
１１１、１３０  トリミング回路
１１５  圧縮回路
【図１】
2007159094.tif 000003
【図２】
2007159094.tif 000004
【図３】
2007159094.tif 000005
【図４】
2007159094.tif 000006
【図５】
2007159094.tif 000007
【図６】
2007159094.tif 000008
【図７】
2007159094.tif 000009
【図８】
2007159094.tif 000010
【図９】
2007159094.tif 000011
【図１０】
2007159094.tif 000012
【図１１】
2007159094.tif 000013
【図１２】
2007159094.tif 000014
【図１３】
2007159094.tif 000015