(57)【要約】【課題】ＤＣＴ係数で画像を回転又は反転させる画像変換装置において、原画像の幅および高さがＭＣＵブロック単位ではない場合でも正しく回転された画像を表示させることができる画像変換装置を提供する。【解決手段】各単位ブロック内の各画素データが圧縮された第１符号化データとして格納される第１の画像に対し、復号および逆量子化で復元したＤＣＴ係数で回転又は反転に対応するようにデータ加工し、再圧縮して格納する画像変換装置であって、さらに、第２符号化データにより表示される画像の、各単位ブロック毎の表示開始位置、高さ、幅の表示領域情報を演算する演算手段１１と、演算された表示領域情報を第２符号化データに付加する情報付加手段１１とを備え、格納手段１３は、表示領域情報が付加された第２符号化データを格納する。【選択図】        図１
2004363750.tif 000002
【特許請求の範囲】
【請求項１】
１フレーム毎に複数の単位ブロックに分割され、各単位ブロック内の各画素データ毎に離散コサイン変換（ＤＣＴ：（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ））して第１ＤＣＴ係数が求められ、該第１ＤＣＴ係数が量子化されて第１量子化ＤＣＴ係数とされ、該第１量子化ＤＣＴ係数が圧縮された第１符号化データとして格納される第１の画像に対して、
該第１符号化データを復号して第１量子化ＤＣＴ係数を得る復号手段と、
該第１量子化ＤＣＴ係数を逆量子化して第１ＤＣＴ係数を得る逆量子化手段と、
該第１ＤＣＴ係数を前記単位ブロック毎に画像の回転又は反転に対応するようにデータ配置を変更し、変換係数を乗算し、単位ブロック毎の配置を変更することで加工された第２ＤＣＴ係数を得るデータ加工手段と、
該第２ＤＣＴ係数を量子化して第２量子化ＤＣＴ係数とする量子化手段と、
該第２量子化ＤＣＴ係数を圧縮して第２符号化データとする符号化手段と、
該第２符号化データを格納する格納手段と
を備えることで、前記第１の画像を回転または反転させた第２の画像に変換する画像変換装置であって、さらに、
前記第２符号化データにより表示される画像の、各単位ブロック毎の表示開始位置、高さ、幅の表示領域情報を演算する演算手段と、
該演算手段により演算された表示領域情報を第２符号化データに付加する情報付加手段と
を備え、前記格納手段は、前記表示領域情報が付加された第２符号化データを格納する
ことを特徴とする画像変換装置。
【請求項２】
前記情報付加手段は、前記表示領域情報を、第２符号化データのヘッダに記載する
ことを特徴とする請求項１に記載の画像変換装置。
【請求項３】
前記演算手段は、表示領域情報を演算する際に、前記単位ブロックにおける表示画像領域と非表示画像領域を判別し、前記画像の回転又は反転に対応するように非表示画像領域の配置を変更するように演算する
ことを特徴とする請求項１または２に記載の画像変換装置。
【請求項４】
前記復号手段は、前記第２符号化データを画像表示のために復号する場合には、第２符号化データから前記表示領域情報を読み出して復号する
ことを特徴とする請求項１〜３の何れかに記載の画像変換装置。
【請求項５】
１フレーム毎に複数の単位ブロックに分割され、各単位ブロック内の各画素データ毎に離散コサイン変換（ＤＣＴ）して第１ＤＣＴ係数が求められ、該第１ＤＣＴ係数が量子化されて第１量子化ＤＣＴ係数とされ、該第１量子化ＤＣＴ係数が圧縮された第１符号化データとして格納される第１の画像に対して、
該第１符号化データを復号して第１量子化ＤＣＴ係数を得るステップと、
該第１量子化ＤＣＴ係数を逆量子化して第１ＤＣＴ係数を得るステップと、
該第１ＤＣＴ係数を前記単位ブロック毎に画像の回転又は反転に対応するようにデータ配置を変更し、変換係数を乗算し、単位ブロック毎の配置を変更することで加工された第２ＤＣＴ係数を得るステップと、
該第２ＤＣＴ係数を量子化して第２量子化ＤＣＴ係数とするステップと、
該第２量子化ＤＣＴ係数を符号化して第２符号化データとするステップと、
該第２符号化データを格納するステップと
を有することで、前記第１の画像を回転または反転させた第２の画像に変換する画像変換方法であって、さらに、
前記第２符号化データにより表示される画像の、各単位ブロック毎の表示開始位置、高さ、幅の表示領域情報を演算するステップと、
該表示領域情報を第２符号化データに付加するステップと
を有し、前記第２符号化データを格納するステップでは、前記表示領域情報が付加された第２符号化データを格納する
ことを特徴とする画像変換方法。
【請求項６】
前記表示領域情報を演算するステップでは、前記第１の画像を第２の画像に変換する回転または反転させる方向および程度が、右（時計回り）９０度回転か、左（反時計回り）９０度回転か、あるいは、１８０度回転かにより、異なる演算式を用いて表示領域情報を演算する
ことを特徴とする請求項５に記載の画像変換方法。
【請求項７】
前記表示領域情報を演算するステップでは、前記単位ブロックにおける表示画像領域と非表示画像領域を判別し、前記画像の回転又は反転に対応するように非表示画像領域の配置を変更する
ことを特徴とする請求項５または６に記載の画像変換方法。
【請求項８】
前記表示領域情報を演算するステップの前に、分割された原画像サイズと前記単位ブロックのサイズが一致するか否かを判断するステップを有し、両サイズが一致しない場合には、表示領域情報を演算するステップと、前記表示領域情報が付加された第２符号化データを格納するステップを実施するが、両サイズが一致する場合には、前記ステップを実施しない
ことを特徴とする請求項５〜７の何れかに記載の画像変換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＪＰＥＧ等で用いられる圧縮された画像データのように、１フレーム毎に単位ブロックに複数分割され、各単位ブロック内の各画素データ毎に離散コサイン変換（ＤＣＴ：（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ））して第１ＤＣＴ係数が求められ、さらに量子化した第１量子化ＤＣＴ係数を圧縮して第１符号化データとして格納された第１の画像に対して、画像を回転又は反転させることで第２符号化データを生成して格納する画像変換装置の改良に関し、特に、格納された符号化データを各単位ブロック内の各画素データまで復元せずに、ＤＣＴ係数のままで画像を回転又は反転させる画像変換装置の改良に関する。
【０００２】
【従来の技術】
従来から、デジタルカメラ、あるいは、カメラ機能付き携帯電話等でデジタル画像を記録したり伝送する際の画像データとしては、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｍｅｎｔ  Ｇｒｏｕｐ）方式による圧縮が一般的に用いられている。ＪＰＥＧ方式で格納あるいは伝送された第１符号化データを回転あるいは反転させようとする場合、圧縮されている第１符号化データをデコードして各画素データを復元して原画像を得て、その原画像を回転加工した後、再度ＪＰＥＧ画像データへのエンコードを行うことから、回転加工後における画像データのエンコードの際に不可避的に生じる演算誤差によって、画像の質が劣化していた。
【０００３】
このＪＰＥＧ方式の第１符号化データの画像を回転させる場合に、圧縮画像データのヘッダ解析し、符号化データを復号化し）、逆量子化処理を行って復元されたＭＣＵ（ｍｉｎｉｍｕｍ  ｃｏｄｅ  ｕｎｉｔ）ブロック（＝単位ブロック）毎ブロック毎のＤＴＣ係数データに対して、各ＤＣＴ係数データを縦・横に入れ替える処理と、ＤＣＴ係数データに反転用の係数を掛ける処理とを行うことで指定された回転加工を施す画像変換装置が知られている（例えば、特許文献１参照）。
【０００４】
【特許文献１】
特開２００１−２２３８７８号公報（第３−５ページ、図８）
【０００５】
【発明が解決しようとする課題】
しかしながら、特許文献１の画像変換装置においては、原画像の幅および高さがＭＣＵブロック単位である場合には、画像の表示品質を劣化させずに表示できたが、原画像の幅および高さがＭＣＵブロック単位ではない場合には、回転された画像の表示領域と非表示領域画像データを正しく認識することができないことから、ＭＣＵブロック内における回転された画像の表示位置が正しくなく、正しく回転された画像を表示させることができなかった。
【０００６】
具体的には、例えば、特許文献１の画像変換装置では、指定された回転の種類が「左９０度回転」であれば、回転前の元の画像の符号化データ（第１符号化データ）をＭＣＵブロック毎に復元した各ＤＣＴ係数（第１ＤＣＴ係数）について、縦・横に入れ替える処理と、各第１ＤＴＣ係数の配列のうち上下方向に非対称な成分である奇数番目の行の係数に「−１」を掛ける処理を行い、画像を回転させたときの各ＭＣＵブロックの回転状態に対応するように、各ＭＣＵブロック毎にブロック内部のＤＣＴ係数を再配置する。次に、回転の種類に応じて、画像を回転させたときの各ＭＣＵブロックの異動先の位置を求めて、各ＭＣＵブロックをその異動先の位置に再配置する。そして、再配置されたＭＣＵブロック毎の各ＤＣＴ係数を量子化し、その量子化データを符号化することによりデータ圧縮を行い、圧縮したデータに画像の幅、高さ等の各種情報からなるヘッダ（例えば、回転種類が「左９０度回転」と「右９０度回転」のときには画像情報の高さと幅が入れ替えるように修正したもの）を付加し、新たな画像の符号化データ（第２符号化データ）を作成している。
【０００７】
しかし、特許文献１の画像変換装置では、ＪＰＥＧの画像データにおける原画像がＭＣＵブロック内の縦横の各画素数よりも少ない場合に表示領域と非表示領域に分類されることを想定しておらず、画像を回転させた場合には、ＭＣＵブロック内の画像の非表示領域に画素データが配置されてしまい、回転された画像が正しく表示されなくなり、画像の表示品質を劣化させていた。
【０００８】
本発明は、かかる従来の課題に鑑みてなされたものであり、格納された符号化データを各単位ブロック内の各画素データまで復元せずに、ＤＣＴ係数のままで画像を回転又は反転させる画像変換装置において、原画像の幅および高さがＭＣＵブロック単位ではない場合に、正しく回転された画像を表示させることができる画像変換装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上述した目的を達成するために、本発明の画像変換装置は、１フレーム毎に複数の単位ブロックに分割され、各単位ブロック内の各画素データ毎に離散コサイン変換（ＤＣＴ）して第１ＤＣＴ係数が求められ、第１ＤＣＴ係数が量子化されて第１量子化ＤＣＴ係数とされ、第１量子化ＤＣＴ係数が圧縮された第１符号化データとして格納される第１の画像に対して、第１符号化データを復号して第１量子化ＤＣＴ係数を得る復号手段と、第１量子化ＤＣＴ係数を逆量子化して第１ＤＣＴ係数を得る逆量子化手段と、第１ＤＣＴ係数を単位ブロック毎に画像の回転又は反転に対応するようにデータ配置を変更し、変換係数を乗算し、単位ブロック毎の配置を変更することで加工された第２ＤＣＴ係数を得るデータ加工手段と、第２ＤＣＴ係数を量子化して第２量子化ＤＣＴ係数とする量子化手段と、第２量子化ＤＣＴ係数を圧縮して第２符号化データとする圧縮手段と、第２符号化データを格納する格納手段とを備えることで、第１の画像を回転または反転させた第２の画像に変換する画像変換装置であって、さらに、
第２符号化データにより表示される画像の、各単位ブロック毎の表示開始位置、高さ、幅の表示領域情報を演算する演算手段と、
演算手段により演算された表示領域情報を第２符号化データに付加する情報付加手段と
を備え、格納手段は、前記表示領域情報が付加された第２符号化データを格納する
ことを特徴とする。
【００１０】
また、本発明の画像変換方法は、１フレーム毎に複数の単位ブロックに分割され、各単位ブロック内の各画素データ毎に離散コサイン変換（ＤＣＴ）して第１ＤＣＴ係数が求められ、第１ＤＣＴ係数が量子化されて第１量子化ＤＣＴ係数とされ、第１量子化ＤＣＴ係数が圧縮された第１符号化データとして格納される第１の画像に対して、第１符号化データを復号して第１量子化ＤＣＴ係数を得るステップと、第１量子化ＤＣＴ係数を逆量子化して第１ＤＣＴ係数を得るステップと、第１ＤＣＴ係数を単位ブロック毎に画像の回転又は反転に対応するようにデータ配置を変更し、変換係数を乗算し、単位ブロック毎の配置を変更することで加工された第２ＤＣＴ係数を得るステップと、第２ＤＣＴ係数を量子化して第２量子化ＤＣＴ係数とするステップと、第２量子化ＤＣＴ係数を圧縮して第２符号化データとするステップと、第２符号化データを格納するステップとを有することで、第１の画像を回転または反転させた第２の画像に変換する画像変換方法であって、さらに、
第２符号化データにより表示される画像の、各単位ブロック毎の表示開始位置、高さ、幅の表示領域情報を演算するステップと、
表示領域情報を第２符号化データに付加するステップと
を有し、第２符号化データを格納するステップでは、表示領域情報が付加された第２符号化データを格納する
ことを特徴とする。
【００１１】
【発明の実施の形態】
以下、本発明を、その実施の形態を示す図面に基づいて具体的に説明する。
【００１２】
実施の形態１．
図１は、本発明の画像変換装置としてデジタルカメラの場合を示したブロック図である。
図１のデジタルカメラは、撮影した画像のデータをＪＰＥＧ方式の符号化データで格納する撮影モードと、格納された符号化データを読み出して表示させる表示モードとが設定可能であり、さらに表示モードでは、格納された画像の符号化データを反転あるいは回転させて表示させるものである。
【００１３】
図１のデジタルカメラでは、その撮影モード時に、レンズ１の後方に配置されて光電変換するＣＣＤ２は、タイミング発生器（ＴＧ）３からのタイミング信号および垂直ドライバ４により駆動され、一定周期毎に光電変換出力を１画面分（１フレームの画素数は１２８０×９６０画素）出力する。この光電変換出力については、サンプルホールド回路（Ｓ／Ｈ）５でサンプルホールドされ、Ａ／Ｄ変換器６でデジタル信号に変換され、カラープロセス回路７でカラープロセス処理が実施される。カラープロセス回路７では、入力したデジタル信号がＲ、Ｇ、Ｂデータに変換され、デジタルの輝度成分および色差成分のマルチプレクス信号（Ｙ、Ｃｂ、Ｃｒデータ）に変換されて、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ８に出力される。
【００１４】
図２は、１フレームの画素数が１２８０×９６０画素の画像データである場合の単位ブロック（ＭＣＵブロック）の配置および構成を示す図である。
図２（ａ）の各ＭＣＵブロックにおける輝度成分および色差成分のマルチプレクス信号Ｙ、Ｃｂ、Ｃｒデータは、１フレームの横縦１２８０×９６０画素の画像データ位置（配置）に対して、図２（ｂ）に示したように縦横８画素毎のブロックを縦横に２個ずつ４個配置する縦横１６画素の輝度成分（Ｙ）データブロック（０）〜（７９）が最上位行に並び、同輝度成分（Ｙ）データブロック（４７２０）〜（４７９９）が最下位行に並んでいる。一方、色差成分（Ｃｂ）、（Ｃｒ）データブロックは、１フレームの横縦１２８０×９６０画素の画像データ位置（配置）に対して縦横２画素を平均することで横縦を６４０×４８０画素の画像データ位置（配置）とし、図２（ｃ）、（ｄ）に示したように縦横８画素からなり、所謂４：１：１のデータになっている。また、ＤＭＡコントローラ８は、カラープロセス回路７のＹ、Ｃｂ、Ｃｒデータ出力を、同じくカラープロセス回路７の同期信号、メモリ書き込みイネーブル、クロック出力を用いて一度ＤＭＡコントローラ８内部のバッファ（不図示）に書き込み、ＤＲＡＭインターフェース（Ｉ／Ｆ）９を介してＤＲＡＭ１０にＤＭＡ転送を行う。
【００１５】
図１のＣＰＵ１１は、ＣＣＤ２からの経路で入力したＹ、Ｃｂ、ＣｒデータをＤＲＡＭＩ／Ｆ９を介してＤＲＡＭ１０にＤＭＡ転送終了した後に、再びＤＲＡＭＩ／Ｆ９を介してＤＲＡＭ１０からそのＹ、Ｃｂ、Ｃｒデータを読み出し、ＶＲＡＭコントローラ１２を介してＶＲＡＭ１３に書き込む。デジタルビデオエンコーダ（以下、ビデオエンコーダと記す）１４は、ＶＲＡＭコントローラ１２を介してＶＲＡＭ１３からそのＹ、Ｃｂ、Ｃｒデータを周期的に読み出し、これらのデータを元にビデオ信号を生成して表示装置１５に出力する。これにより、撮影モードの状態の表示装置１５には、現在ＣＣＤ２から取り込まれている画像情報に基づくスルー画像を表示することができる。
【００１６】
ＣＰＵ１１には、メインスイッチ、撮影／表示モード切換えスイッチ、機能選択キー、シャッターキー、画像回転処理用の実施ボタン等を含む操作部１６が接続されている。ＣＰＵ１１は、シャッターキーが押された記録（保存：格納）の状態では、ＤＲＡＭ１０に書き込まれている１フレーム分のＹ、Ｃｂ、Ｃｒデータを、ＤＲＡＭＩ／Ｆ９を介してＭＣＵ単位でＹ、Ｃｂ、Ｃｒの各コンポーネント毎に、すなわち、図２（ａ）に示すように１フレームの画像データを横８０×縦６０ブロック（「０」〜「４７９９」）に分割した１６×１６画素からなるＭＣＵブロック毎に読み出してＪＰＥＧ処理部１７に送る。ＣＰＵ１１は、ＪＰＥＧ処理部１７で、送られたデータにＤＣＴ変換、量子化、符号化といった処理を実施して圧縮した後、不揮発性メモリであるフラッシュメモリ１８に書き込む。ＤＣＴ変換では、ＭＣＵブロック毎のデータ（以下、単にＭＣＵデータという。）は、図２（ｂ）に示すように「Ｙ０」〜「Ｙ３」の４個の８×８画素のブロックの輝度成分データと、１個ずつの８×８画素のブロックの色差成分データ「Ｃｂ」、「Ｃｒ」とを１組として個々のブロック毎に、周波数成分の大きさを示す各画素と同数の６４個のＤＣＴ係数へ変換される。
【００１７】
本実施の形態のＣＰＵ１１は、例えば、第１ＤＣＴ係数を単位ブロック毎に画像の回転又は反転に対応するようにデータ配置を変更し、変換係数を乗算し、単位ブロック毎の配置を変更することで加工された第２ＤＣＴ係数を得ることで画像データの回転加工等を実施するデータ加工手段としての機能と、第２符号化データにより表示される画像の、各単位ブロック毎の表示開始位置、高さ、幅の表示領域情報を演算し、その演算をする際に、単位ブロックにおける表示画像領域と非表示画像領域を判別し、画像の回転又は反転に対応するように非表示画像領域の配置を変更する演算手段としての機能と、演算手段により演算された表示領域情報を第２符号化データのヘッダに記載して付加する情報付加手段としての機能を有する。
【００１８】
また、本実施の形態のＪＰＥＧ処理部１７は、第２量子化ＤＣＴ係数を圧縮して第２符号化データとする符号化手段としての機能と、第１符号化データを復号して第１量子化ＤＣＴ係数を得ると共に、第２符号化データを画像表示のために復号する場合には、第２符号化データから前記表示領域情報を読み出して復号する復号手段としての機能と、第２ＤＣＴ係数を量子化して第２量子化ＤＣＴ係数とする量子化手段としての機能と、第１量子化ＤＣＴ係数を逆量子化して第１ＤＣＴ係数を得る逆量子化手段としての機能等の、ＪＰＥＧに基づくデータの圧縮と伸張機能を有する。また、本実施の形態のＶＲＡＭ１３は、表示領域情報が付加された第２符号化データを格納する格納手段としての機能を有する。
【００１９】
図３は、８×８画素のＤＣＴ係数（周波数成分の大きさ）のデータブロックを示す図である。
但し、図３中の数字は実際の係数値ではなくデータの配置を示す番号である。横方向（Ｘ方向）に各画素に対応する０〜７番目のＤＣＴ係数のデータが１行に並び、その下（Ｙ方向）に向かって順次、８〜１５番目、１６〜２３番目、２４〜３１番目というように８個ずつのＤＣＴ係数のデータの行が並び、最下段（８番目）の行に５６〜６３番目の８個のＤＣＴ係数のデータが並ぶ。
【００２０】
そして、図２（ａ）に示した１フレーム分のＹ，Ｃｂ，Ｃｒデータの圧縮処理及びフラッシュメモリ１８への全圧縮データの書き込みが終了すると、ＣＰＵ１１が再度ＣＣＤ２からＤＲＡＭ１０への経路を起動する。
【００２１】
ＣＰＵ１１によるデジタルカメラ各部の制御は、プログラムＲＯＭ１９に記録された動作プログラムに従い実施される。また、プログラムＲＯＭ１９には、後述する回転加工モードの動作時に使用される係数配置テーブルおよび上下反転用、左右反転用、１８０度回転用の各係数テーブルが記憶されている。
【００２２】
図４は、回転加工モードの動作時に使用される係数配置テーブルおよび上下反転用、左右反転用、１８０度回転用の各係数テーブルを示す図である。
図４（ａ）は係数配置テーブルＴ１を示し、図４（ｂ）は上下反転用の係数テーブルＴ２を示し、図４（ｃ）は左右反転用の係数テーブルＴ３を示し、図４（ｄ）は１８０度回転用の係数テーブルＴ４を示す。
【００２３】
図４（ａ）の係数配置テーブルＴ１は、図３に示した初期位置に配置されているＤＣＴ係数データＫの配置の縦（Ｙ方向）・横（Ｘ方向）を入れ替えた配列順を示す番号データにより構成されている。上下反転用、左右反転用、１８０度回転用の各係数テーブルＴ２〜Ｔ４は、各ＤＣＴ係数データＫの係数値を変換するための係数データによって構成されており、各係数テーブルＴ２〜Ｔ４において、「１」は当該箇所のＤＴＣ係数に１を掛けるつまり演算しないを意味し、「−１」は当該箇所のＤＴＣ係数に−１を掛けるという意味である。
【００２４】
図４（ｂ）の上下反転用係数テーブルＴ２は、各ＤＴＣ係数の配列のうち上下方向に非対称な成分である奇数番目の行を「−１」としたものである。図４（ｃ）の左右反転用係数テーブルＴ３は、左右方向に非対称な成分である偶数番目の列を「−１」としたものである。図４（ｄ）の１８０度回転用係数テーブルＴ４は、奇数番目の行を「−１」とし、それに続けて偶数番目の列を「−１」としたものである。
【００２５】
図５は、ＪＰＥＧの逆量子化処理されたＭＣＵデータがＤＲＡＭ内に順次配置されたようすを示す図である。
図５（ａ）は、回転加工が無い場合のＭＣＵブロック（０）に対応するＭＣＵデータを示し、図５（ｆ）は、左９０度回転加工に対応するＭＣＵブロック（４７２０）に対応するＭＣＵデータを示し、図５（ｇ）は、右９０度回転加工に対応するＭＣＵブロック（７９）に対応するＭＣＵデータを示し、図５（ｄ）は、１８０度回転加工に対応するＭＣＵブロック（４７９９）に対応するＭＣＵデータを示し、図５（ｅ）は、Ｘ＝Ｙを軸として反転させた場合のＭＣＵブロックに対応するＭＣＵデータを示す。
【００２６】
図５（ｚ）は、例えば、図１のＤＲＡＭ１０の作業領域に、１フレーム分の全ての画素データに対して逆量子化処理で取得されたＭＣＵデータが、図２のＭＣＵブロック（０）〜ＭＣＵブロック（４７９９）までの４８００個のＭＣＵデータに対応する画像ブロックの数（４８００個：（０）〜（４７９９））だけ順次配置された場合を示している。ＤＲＡＭ１０の作業メモリ領域内には、１フレーム分の全てのＭＣＵデータが「Ｙ０」〜「Ｙ３」、「Ｃｂ」、「Ｃｒ」毎のＤＣＴ係数データＫが、画像ブロックの数（４８００個：（０）〜（４７９９））だけ所定順に並んだ状態となる。
【００２７】
図６は、ＭＣＵブロックの縦横画素数よりも縦横画素が少ない原画像を回転させる場合の様子を示す図である。
図６（ｚ）は、ＭＣＵブロックの縦横画素数１６×１６に対して横１４×縦１５の原画像の画像データの配置を示す図である。図６（ａ）は、図６（ｚ）の原画像の画像データにおける図中に白抜き矢印で示したＭＣＵブロックの先頭データ位置から１４列目の縦列データを１５行目と１６行目に複写し、先頭データ位置から１５行目の横列（行）データを１６行目に複写して形成されるＭＣＵブロックの画像データ配置を示す図である。図６（ｂ）は、図６（ａ）におけるＭＣＵブロックの複写された画像データを表示する場合で、図６（ｚ）に示した原画像が表示されない領域（非表示領域）をハッチング表示することにより原画像と同様な画像として表示できることを示す図である。
【００２８】
図６（ｃ）は、図６（ａ）におけるＭＣＵブロックの複写された画像データを右（時計回り）方向に９０度回転させた場合のＭＣＵブロックの画像データ配置を示す図である。この図６（ｃ）の場合には、図６（ａ）の画像データに対して図４（ａ）の係数配置テーブルＴ１と図４（ｃ）の左右反転用係数テーブルＴ３が用いられる。
【００２９】
図６（ｄ）は、図６（ａ）におけるＭＣＵブロックの複写された画像データを従来の方法で右（時計回り）方向に９０度回転させた場合のＭＣＵブロックの画像データを表示する場合で、図６（ｃ）に示した画像が表示されない領域（非表示領域）をハッチング表示した配置を示す図である。この図６（ｄ）の場合の非表示領域のハッチング表示は、図６（ａ）の画像データに対して図４（ａ）の係数配置テーブルＴ１が用いられるため、ＭＣＵブロックの先頭データ位置から１６列目の縦列データが非表示領域としてハッチング表示され、先頭データ位置から１５行目と１６行目の横列（行）データが非表示領域としてハッチング表示される。
【００３０】
図６（ｅ）は、図６（ａ）におけるＭＣＵブロックの複写された画像データを本発明の方法で右（時計回り）方向に９０度回転させた場合のＭＣＵブロックの画像データを表示する場合で、図６（ｃ）に示した画像が表示されない領域（非表示領域）をハッチング表示した配置を示す図である。この図６（ｅ）の場合の非表示領域のハッチング表示は、図６（ａ）の画像データに対して図４（ａ）の係数配置テーブルＴ１が用いられる場合であるが、ＭＣＵデータのヘッダに格納する情報により表示位置を修正するため、ＭＣＵブロックの先頭データ位置から１列目の縦列データが非表示領域としてハッチング表示され、先頭データ位置から１５行目と１６行目の横列（行）データが非表示領域としてハッチング表示される。
【００３１】
図６（ｆ）は、図６（ａ）におけるＭＣＵブロックの複写された画像データを１８０度回転させた場合のＭＣＵブロックの画像データ配置を示す図である。この図６（ｆ）の場合には、図６（ａ）の画像データに対して図４（ｄ）の１８０度回転用係数テーブルＴ４が用いられる。
【００３２】
図６（ｇ）は、図６（ａ）におけるＭＣＵブロックの複写された画像データを従来の方法で１８０度回転させた場合のＭＣＵブロックの画像データを表示する場合で、図６（ｆ）に示した画像が表示されない領域（非表示領域）をハッチング表示した配置を示す図である。この図６（ｇ）の場合の非表示領域のハッチング表示は、図６（ｆ）の画像データに対して図４（ａ）の係数配置テーブルＴ１は用いられないため、ＭＣＵブロックの先頭データ位置から１５列目と１６列目の縦列データが非表示領域としてハッチング表示され、先頭データ位置から１６行目の横列（行）データが非表示領域としてハッチング表示される。
【００３３】
図６（ｈ）は、図６（ｆ）におけるＭＣＵブロックの複写された画像データを本発明の方法で左（反時計回り）方向に９０度回転させた場合のＭＣＵブロックの画像データを表示する場合で、図６（ｆ）に示した画像が表示されない領域（非表示領域）をハッチング表示した配置を示す図である。この図６（ｈ）の場合の非表示領域のハッチング表示は、図６（ｆ）の画像データに対して図４（ａ）の係数配置テーブルＴ１が用いられない場合であるが、ＭＣＵデータのヘッダに格納する情報により表示位置を修正するため、ＭＣＵブロックの先頭データ位置から１５列目と１６列目の縦列データが非表示領域としてハッチング表示され、先頭データ位置から１行目の横列（行）データが非表示領域としてハッチング表示される。
【００３４】
図６（ｉ）は、図６（ａ）におけるＭＣＵブロックの複写された画像データを左（反時計回り）方向に９０度回転させた場合のＭＣＵブロックの画像データ配置を示す図である。この図６（ｉ）の場合には、図６（ａ）の画像データに対して図４（ａ）の係数配置テーブルＴ１と図４（ｂ）の上下反転用係数テーブルＴ２が用いられる。
【００３５】
図６（ｊ）は、図６（ｉ）におけるＭＣＵブロックの複写された画像データを従来の方法で左（反時計回り）方向に９０度回転させた場合のＭＣＵブロックの画像データを表示する場合で、図６（ｉ）に示した画像が表示されない領域（非表示領域）をハッチング表示した配置を示す図である。この図６（ｊ）の場合の非表示領域のハッチング表示は、図６（ｉ）の画像データに対して図４（ａ）の係数配置テーブルＴ１が用いられるため、ＭＣＵブロックの先頭データ位置から１６列目の縦列データが非表示領域としてハッチング表示され、先頭データ位置から１５行目と１６行目の横列（行）データが非表示領域としてハッチング表示される。
【００３６】
図６（ｋ）は、図６（ｉ）におけるＭＣＵブロックの複写された画像データを本発明の方法で左（反時計回り）方向に９０度回転させた場合のＭＣＵブロックの画像データを表示する場合で、図６（ｉ）に示した画像が表示されない領域（非表示領域）をハッチング表示した配置を示す図である。この図６（ｋ）の場合の非表示領域のハッチング表示は、図６（ｉ）の画像データに対して図４（ａ）の係数配置テーブルＴ１が用いられる場合であるが、ＭＣＵデータのヘッダに格納する情報により表示位置を修正するため、ＭＣＵブロックの先頭データ位置から１６列目の縦列データが非表示領域としてハッチング表示され、先頭データ位置から１行目と２行目の横列（行）データが非表示領域としてハッチング表示される。
【００３７】
ここで、図６を用いて回転加工後のＭＣＵデータにおける画像の表示開始位置、表示用の高さと幅について具体的に説明する。
図６の一部に示す網点でハッチング表示された領域は、通常表示されない画像領域を示している。図６（ｚ）に示したＪＰＥＧ原画像の画素データは、画像サイズ１４×１５画素であるが、Ｙ、Ｃｂ、Ｃｒ比が１：１：１で、ＭＣＵデータとなる段階でＭＣＵブロックに合わせてデータの複写が実施されて図６（ａ）で示すように画像サイズが１６×１６画素の画像データとなる。
【００３８】
この場合のＤＣＴ係数のデータは、実際に格納や伝送される符号化データとしてはＭＣＵブロックの全画素を満たすように保有していることになる。具体的には、図６（ａ）で示すように、ＪＰＥＧの画素データとして存在しない縦の列（右から１、２番目の列）は、実際に表示すべき表示領域の一番右の列（ＭＣＵブロックでは右から３番目の列）を複写している。つまり、白抜き矢印で示したＭＣＵブロックの先頭データ位置から１４列目の縦列データを１５行目と１６行目に複写している。また、ＪＰＥＧの画素データとして存在しない横の行（下から１番目の行）は表示すべき一番下の行（下から２番目の行）を複写している。つまり、ＭＣＵブロックの先頭データ位置から１５行目の横列（行）データを１６行目に複写している。
【００３９】
図６（ａ）のＭＣＵデータの画像データを「右９０度回転」させた場合の画像データが図６（ｃ）であり、「１８０度回転」させた場合の画像データが図６（ｆ）であり、「左９０度回転」させた場合の画像データが図６（ｉ）である。これらの回転させた画像データを従来の方法によりそのまま表示させようとすると、「右９０度回転」させた場合の表示画像データが図６（ｄ）のようになり、「１８０度回転」させた場合の表示画像データが図６（ｇ）のようになり、「左９０度回転」させた場合の表示画像データが図６（ｊ）のようになる。
【００４０】
図６（ｄ）の従来方法による表示画像については、右から１番目の列の画像は非表示領域で隠されてしまい、逆に左から１列目の複写された列の画像が表示されてしまう。図６（ｇ）の従来方法による表示画像については、右から１〜２番目の列の画像は非表示領域で隠されてしまい、逆に左から１〜２列目の複写された列の画像が表示されてしまう。また、下から１番目の行の画像は非表示領域で隠されてしまい、逆に上から１〜２行目の複写された行の画像が表示されてしまう。図６（ｊ）の従来方法による表示画像については、下から１〜２番目の行の画像は非表示領域で隠されてしまい、逆に上から１〜２行目の複写された列の画像が表示されてしまう。
【００４１】
本発明では、図６（ｄ）、（ｇ）、（ｊ）に示した従来方法による表示画像に対し、各々の回転加工後の画像が正しく表示されるように、下記式（１）〜（３）により、回転加工後の画像の開始位置、表示の為の高さと幅を演算する。なお、下記式（１）〜（３）では、原画像の高さをＨｓおよび幅をＷｓとし、ＭＣＵブロックの各画素を満たすように修正した画像の高さをＨｍおよび幅をＷｍとし、回転加工後の表示用の画像の高さをＨｄ、幅をＷｄ、開始位置縦をＹ、開始位置横をＸとする。
【００４２】
回転加工が「右９０度回転」の場合
Ｙ＝０、Ｘ＝Ｈｍ−Ｈｓ、Ｈｄ＝Ｗｓ、Ｗｄ＝Ｈｓ      …（１）
【００４３】
回転加工が「左９０度回転」の場合
Ｙ＝Ｗｍ−Ｗｓ、Ｘ＝０、Ｈｄ＝Ｗｓ、Ｗｄ＝Ｈｓ      …（２）
【００４４】
回転加工が「１８０度回転」の場合
Ｙ＝Ｈｍ−Ｈｓ、Ｘ＝Ｗｍ−Ｗｓ、Ｈｄ＝Ｈｓ、Ｗｄ＝Ｗｓ      …（３）
【００４５】
図７は、回転の種類に対応させてＤＲＡＭ内の１フレーム分の画像データに対して、ＭＣＵデータ毎に輝度成分のＤＣＴデータ（Ｙ０〜Ｙ３）を再配置したようす示す図である。
図７（ａ）は、図２のＭＣＵブロック（０）の配置に対応するＭＣＵブロックの画像データに対し、回転加工が無い場合を示す図である。図７（ｂ）は、図２のＭＣＵブロック（０）の配置に対応するＭＣＵブロックの画像データに対し、Ｘ＝Ｙを軸として図７（ａ）の縦と横の画像データを入れ替えて反転させた場合を示す図である。
【００４６】
図７（ｃ）は、図２のＭＣＵブロック（０）の配置に対応するＭＣＵブロックの画像データに対し、図４（ａ）のテーブルＴ１と図４（ｃ）のテーブルＴ３を用いて図７（ａ）の画像データを右（時計回り）方向に９０度回転させた場合を示す図である。図７（ｄ）は、図２のＭＣＵブロック（０）の配置に対応するＭＣＵブロックの画像データに対し、図４（ｄ）のテーブルＴ４を用いて図７（ａ）の画像データを１８０度回転させた場合を示す図である。図７（ｅ）は、図２のＭＣＵブロック（０）の配置に対応するＭＣＵブロックの画像データに対し、図４（ａ）のテーブルＴ１と図４（ｂ）のテーブルＴ２を用いて図７（ａ）の画像データを左（反時計回り）方向に９０度回転させた場合を示す図である。
【００４７】
次に、以上の構成および機能を備える本発明のデジタルカメラの動作を説明する。
図８は、本発明のデジタルカメラにおける撮影画像を回転加工する場合の動作を示すフローチャートである。
図８は、本発明のデジタルカメラにおいて、デジタルカメラの使用者による所定のキー操作により、回転加工モードが選択され、加工対象の画像が決定され、予め用意されている回転の種類が指定された場合の動作である。
【００４８】
ＪＰＥＧ方式により圧縮されている画像データに対し、例えば、回転加工を施すことにより得られた再圧縮データを記録又は伝送場合には、まず圧縮画像データ（ＪＰＥＧデータ）のヘッダ解析を行い、画像の幅、高さ、量子化テーブルや符号化テーブル等の情報を取得する（Ｓ１）。その後、符号データを復号化し、逆量子化処理を行う。これによりＭＣＵ（ｍｉｎｉｍｕｍ  ｃｏｄｅ  ｕｎｉｔ）ブロック（単位ブロック）毎のＤＣＴ係数データを復元し、さらに逆ＤＴＣ変換を行いＭＣＵブロック毎の画素データを復元し、そのＭＣＵブロック毎の画素データを再配置することにより原画像を復元する。
【００４９】
そして、復元した画素データ毎に回転後の配置個所を演算し、それを配置することにより回転加工を施し、しかる後、加工後の画像をＭＣＵ毎の画像ブロックに分割した後、ＤＣＴを行い、変換したＤＣＴ係数を量子化し、量子化データを符号化することによりデータ圧縮を行う。そして、圧縮したデータに、その画像の幅、高さ等の各種情報からなるヘッダを付加し、これにより得られた再圧縮データを記録又は伝送している。
【００５０】
ＣＰＵ１１は、所定のキー操作により加工対象の画像が選択されると、フラッシュメモリ１８からＪＰＥＧ方式により圧縮されている当該画像の符号化データ（画像データ）を読み出してＪＰＥＧ処理部１７に送る。これに伴い、ＪＰＥＧ処理部１７はヘッダ解析を行い、画像の幅、高さ、量子化テーブルや符号化テーブル等の情報を取得する（Ｓ１）。その後、ＣＰＵ１１は、符号化テーブルに従いデータを復号し（Ｓ２）、量子化テーブルに従い復号データに対し逆量子化処理を行う（Ｓ３）。これにより、符号化データを前述したＭＣＵ（ｍｉｎｉｍｕｍ  ｃｏｄｅ  ｕｎｉｔ）ブロック（単位ブロック）毎のＤＣＴ係数データに復元することができる。なお、ここまでの動作は表示モードによって記録画像を表示装置に表示させる場合も同様である。
【００５１】
ＣＰＵ１１は、使用者に指定された回転の種類に応じ、各ＭＣＵデータを構成する各ブロック「Ｙ０」〜「Ｙ３」、「Ｃｂ」、「Ｃｒ」のＤＣＴ係数データＫ、つまりＤＴＣ係数からなる配列データを加工する（Ｓ４）。この場合の加工に際しては、例えば、指定された回転の種類が「左９０度回転」であれば、ＭＣＵブロック毎に各ＤＣＴ係数データＫを図４（ａ）に示した係数配置テーブルＴ１に示される配置に従い縦・横に入れ替える処理と、図４（ｂ）に示したＤＣＴ係数データＫに上下反転用係数テーブルＴ２の係数を掛ける処理を実施する。
【００５２】
ＣＰＵ１１は、例えば、図５に示したＤＲＡＭ１０の作業メモリ領域内のＭＣＵデータ毎に、輝度成分のＤＣＴ係数データ（Ｙ０〜Ｙ３）を図７に示したように回転の種類に応じて再配置する（Ｓ５）。新たな配置順は、画像を回転（又は反転）させたとき、それと同様に回転（又は反転）する各ＭＣＵブロックの回転（又は反転）状態に対応するものである。また、ＭＣＵデータ内のＤＣＴ係数データ列（Ｙ０〜Ｙ３）の再配置が終了したら、ＣＰＵ１１は、図７に示したように回転の種類に応じて図２に示した１フレームの画像データ中のＭＣＵデータの位置を再配置する（Ｓ６）。各ＭＣＵデータの移動先は、画像を回転（又は反転）させたときの各ＭＣＵブロックの位置に対応して決められる位置である。しかる後、ＪＰＥＧ処理部１７は、再配置が終了したＭＣＵデータを量子化し（Ｓ７）、量子化データを符号化することによりデータ圧縮を行う（Ｓ８）。
【００５３】
ＣＰＵ１１は、原画像サイズがＭＣＵブロックサイズと等しいか否かを判断し（Ｓ９）、等しい場合（Ｓ９：ＹＥＳ）にはステップＳ１２に進むが、等しくない場合（Ｓ９：ＮＯ）には、ＣＰＵ１１は、回転加工前の原画像の画像情報の高さと幅を、ＭＣＵ画素サイズの単位になるように修正し、その上で、上記した式（１）〜（３）を用いて、回転の種類に応じて加工後の画像の開始位置、表示用の高さと幅を演算する（Ｓ１０）。なお、ステップＳ９の判断は、例えば、ＣＰＵ１１の演算量および処理時間を減少させるためのものであり、ＣＰＵ１１の演算量および処理時間に余裕がある場合等には省略しても良い。
【００５４】
ＭＣＵ画素サイズとは、本実施形態に示したようにＹ、Ｃｂ、Ｃｒ比が４：１：１である場合には１６×１６であり、Ｙ、Ｃｂ、Ｃｒ比が４：４：４の場合には８×８である。従って、ステップＳ１０では、例えば、Ｙ、Ｃｂ、Ｃｒ比が４：１：１、原画像サイズ１６０×１２０画素の場合には、１２０画その方が１６で除算できないので、まず、１６０×１２８画素に修正してから、上記した式（１）〜（３）を用いて、回転の種類に応じて加工後の画像の開始位置、表示用の高さと幅を演算する。また、前述したように回転種類が「左９０度回転」と「右９０度回転」のときにも、画像情報の高さと幅が入れ替える際に、画素サイズ単位になるように修正し、その上で、上記した式（１）〜（３）を用いて、回転の種類に応じて加工後の画像の開始位置、表示用の高さと幅を演算する。
【００５５】
その後、圧縮したデータに画像の幅、高さ等の各種情報、および演算した加工後の画像の開始位置、表示の為の高さと幅をヘッダに付加し（Ｓ１１）、上記処理を行った画像データを新たな画像としてフラッシュメモリ１８に書き込む（Ｓ１２）。
【００５６】
図９は、図８のフローチャートにおけるステップＳ１０の演算をさらに詳しく示すフローチャートである。
原画像サイズがＭＣＵブロックサイズと等しくない場合には、ＣＰＵ１１は、まず、指示されている回転加工の種類が右９０度回転であるか否かを判断し（Ｓ２１）、右９０度回転である場合（Ｓ２１：ＹＥＳ）には、上記した式（１）を用いて回転後の画像データの表示位置、高さ、及び幅を演算し（Ｓ２２）、ステップＳ１０の処理を終了する。
【００５７】
右９０度回転でない場合（Ｓ２１：ＮＯ）には、指示されている回転加工の種類が左９０度回転であるか否かを判断し（Ｓ２３）、左９０度回転である場合（Ｓ２３：ＹＥＳ）には、上記した式（２）を用いて回転後の画像データの表示位置、高さ、及び幅を演算し（Ｓ２４）、ステップＳ１０の処理を終了する。
【００５８】
左９０度回転でない場合（Ｓ２３：ＮＯ）には、指示されている回転加工の種類が１８０度回転であるか否かを判断し（Ｓ２５）、１８０度回転である場合（Ｓ２５：ＹＥＳ）には、上記した式（３）を用いて回転後の画像データの表示位置、高さ、及び幅を演算し（Ｓ２６）、ステップＳ１０の処理を終了する。１８０度回転でない場合（Ｓ２５：ＮＯ）には、そのままステップＳ１０の処理を終了する。なお、ステップＳ２１、Ｓ２３、および、Ｓ２５の順番は、図９の順番に指定されるものではなく前後が入れ替わっても良い。
【００５９】
図１０は、図８のフローチャートにおけるステップＳ１２で書き込まれた画像データを読み出して表示させる場合のフローチャートである。
ＣＰＵ１１は、回転された画像の表示指示があるか否かを判断し（Ｓ３１）、表示指示が無い場合（Ｓ３１：ＮＯ）には、再びステップＳ３１を実施して待ち受ける。表示指示があった場合（Ｓ３１：ＹＥＳ）には、フラッシュメモリ１８から読み出した画像データのヘッダから表示画像の情報を読み出し（Ｓ３２）、その表示画像の情報に従い画像データを画面表示させる（Ｓ３３）。
【００６０】
上記ステップＳ３３で画像を表示させる場合には、画像データのヘッダに格納されている加工後の表示用の画像の高さ、幅、開始位置縦、開始位置横の各情報を用いて表示する。その結果、例えば、回転加工の種類が「右９０度回転」のときには、ヘッダに格納された加工後の画像の開始位置、表示の為の高さと幅の情報に基づいて、図６（ｅ）に示したように表示され、回転加工の種類が「１８０度回転」のときには、ヘッダに格納された加工後の画像の開始位置、表示の為の高さと幅の情報に基づいて、図６（ｈ）に示したように表示され、回転加工の種類が「左９０度回転」のときには、ヘッダに格納された加工後の画像の開始位置、表示の為の高さと幅の情報に基づいて、図６（ｋ）に示したように表示されることになる。すなわち、本実施の形態では、回転加工後の画像を正しく表示できるようになる。
【００６１】
以上のように本実施の形態においては、回転および反転加工処理後の画像データ表示領域を演算して保持するため、格納された符号化データを各単位ブロック内の各画素データまで復元せずに、ＤＣＴ係数のままで画像を回転又は反転させる画像変換装置において、原画像の幅および高さがＭＣＵブロック単位ではない任意の寸法の場合でも、圧縮されている画像を回転加工して再圧縮する際に、画質を劣化させることなく再圧縮でき、その結果、正しく回転された画像を表示させることができる。
【００６２】
なお、以上説明した実施の形態では、圧縮画像を回転又は反転させるものを示したが、これ以外にも、事前に変換内容が決められている加工を施すものであれば、画像サイズが変化する加工、例えば拡大・縮小、切り取りなどの加工を実施する際に本発明を適用してもよい。本発明では、その場合であっても、任意の画像に対して、圧縮されている画像を加工し、画質を劣化させることなく再圧縮できる。
【００６３】
また、上記した実施の形態では、加工対象の画像がＪＰＥＧ方式で圧縮されたものについて説明したが、ＪＰＥＧ方式以外のＤＣＴを利用する他の方式や、さらにＤＣＴ以外にもＤＣＴ係数と同様に各画素に対応する配列データを有する単位データ毎に圧縮を行う方式であれば、他の画像圧縮方式に本発明を採用してもよい。本発明では、その場合であっても、任意の画像に対して、圧縮されている画像を加工し、画質を劣化させることなく再圧縮できる。
【００６４】
また、上記した実施の形態では、ＪＰＥＧ方式による画像データの撮影、表示が可能なデジタルカメラに用いた場合について述べたが、本発明はこれに限られるものではなく、ＪＰＥＧ方式の画像データにより画像データの格納あるいは伝送を実施する装置であれば他の装置においても本発明を適用することができ、その場合においても前述した効果が得られる。
【００６５】
【発明の効果】
この発明は、以上説明したように構成されているので、以下に示すような効果を奏する。
【００６６】
上記したように本発明においては、回転および反転加工処理後の画像データ表示領域を演算して保持するため、格納された符号化データを各単位ブロック内の各画素データまで復元せずに、ＤＣＴ係数のままで画像を回転又は反転させる画像変換装置において、原画像の幅および高さがＭＣＵブロック単位ではない任意の寸法の場合でも、圧縮されている画像を回転加工して再圧縮する際に、画質を劣化させることなく再圧縮でき、その結果、正しく回転された画像を表示させることができる。
【図面の簡単な説明】
【図１】本発明の画像変換装置としてデジタルカメラの場合を示したブロック図である。
【図２】（ａ）〜（ｄ）は１フレームの画素数が１２８０×９６０画素の画像データである場合の単位ブロック（ＭＣＵブロック）の配置及び構成を示す図である。
【図３】８×８画素のＤＣＴ係数（周波数成分の大きさ）のデータブロックを示す図である。
【図４】（ａ）〜（ｄ）は回転加工モードの動作時に使用される係数配置テーブルおよび上下反転用、左右反転用、１８０度回転用の各係数テーブルを示す図である。
【図５】（ｚ）、（ａ）、（ｄ）〜（ｇ）はＪＰＥＧの逆量子化処理されたＭＣＵデータがＤＲＡＭ内に順次配置されたようすを示す図である。
【図６】（ｚ）、（ａ）〜（ｋ）はＭＣＵブロックの縦横画素数よりも縦横画素が少ない原画像を回転させる場合の様子を示す図である。
【図７】（ａ）〜（ｅ）は回転の種類に対応させてＤＲＡＭ内の１フレーム分の画像データに対して、ＭＣＵデータ毎に輝度成分のＤＣＴデータ（Ｙ０〜Ｙ３）を再配置したようす示す図である。
【図８】本発明のデジタルカメラにおける撮影画像を回転加工する場合の動作を示すフローチャートである。
【図９】図８のフローチャートにおけるステップＳ１０の演算をさらに詳しく示すフローチャートである。
【図１０】図８のフローチャートにおけるステップＳ１２で書き込まれた画像データを読み出して表示させる場合のフローチャートである。
【符号の説明】
１  レンズ、  ２  ＣＣＤ、  ３  タイミング発生器（ＴＧ）、  ４  垂直ドライバ、  ５  サンプルホールド回路（Ｓ／Ｈ）、  ６  Ａ／Ｄ変換器、  ７  カラープロセス回路、  ８  ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ、  ９ＤＲＡＭインターフェース（Ｉ／Ｆ）、  １０  ＤＲＡＭ、  １１  ＣＰＵ、１２  ＶＲＡＭコントローラ、  １３  ＶＲＡＭ、  １４  デジタルビデオエンコーダ（ビデオエンコーダ）、  １５  表示装置、  １６  操作部、  １７  ＪＰＥＧ処理部、  １８  フラッシュメモリ、  Ｋ  ＤＣＴ係数データ、  Ｔ１係数配置テーブル、  Ｔ２  上下反転用係数テーブル、  Ｔ３  左右反転用係数テーブル、  Ｔ４  １８０度回転用係数テーブル、  Ｙ０〜Ｙ３  輝度成分データブロック、  Ｃｂ、Ｃｒ  色差成分データブロック。
【図１】
2004363750.tif 000003
【図２】
2004363750.tif 000004
【図３】
2004363750.tif 000005
【図４】
2004363750.tif 000006
【図５】
2004363750.tif 000007
【図６】
2004363750.tif 000008
【図７】
2004363750.tif 000009
【図８】
2004363750.tif 000010
【図９】
2004363750.tif 000011
【図１０】
2004363750.tif 000012