JP4155874B2 - Image conversion apparatus and image conversion method - Google Patents
Image conversion apparatus and image conversion method Download PDFInfo
- Publication number
- JP4155874B2 JP4155874B2 JP2003157596A JP2003157596A JP4155874B2 JP 4155874 B2 JP4155874 B2 JP 4155874B2 JP 2003157596 A JP2003157596 A JP 2003157596A JP 2003157596 A JP2003157596 A JP 2003157596A JP 4155874 B2 JP4155874 B2 JP 4155874B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- data
- dct coefficient
- encoded data
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 36
- 238000006243 chemical reaction Methods 0.000 title claims description 35
- 238000012545 processing Methods 0.000 claims description 47
- 238000013139 quantization Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 11
- 230000015654 memory Effects 0.000 description 10
- 238000007796 conventional method Methods 0.000 description 8
- 238000007906 compression Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 230000000593 degrading effect Effects 0.000 description 5
- 238000003754 machining Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000012447 hatching Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000013144 data compression Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、JPEG等で用いられる圧縮された画像データのように、1フレーム毎に単位ブロックに複数分割され、各単位ブロック内の各画素データ毎に離散コサイン変換(DCT:(Discrete Cosine Transform))して第1DCT係数が求められ、さらに量子化した第1量子化DCT係数を圧縮して第1符号化データとして格納された第1の画像に対して、画像を回転又は反転させることで第2符号化データを生成して格納する画像変換装置の改良に関し、特に、格納された符号化データを各単位ブロック内の各画素データまで復元せずに、DCT係数のままで画像を回転又は反転させる画像変換装置の改良に関する。
【0002】
【従来の技術】
従来から、デジタルカメラ、あるいは、カメラ機能付き携帯電話等でデジタル画像を記録したり伝送する際の画像データとしては、JPEG(Joint Photographic Expertment Group)方式による圧縮が一般的に用いられている。JPEG方式で格納あるいは伝送された第1符号化データを回転あるいは反転させようとする場合、圧縮されている第1符号化データをデコードして各画素データを復元して原画像を得て、その原画像を回転加工した後、再度JPEG画像データへのエンコードを行うことから、回転加工後における画像データのエンコードの際に不可避的に生じる演算誤差によって、画像の質が劣化していた。
【0003】
このJPEG方式の第1符号化データの画像を回転させる場合に、圧縮画像データのヘッダ解析し、符号化データを復号化し)、逆量子化処理を行って復元されたMCU(minimum code unit)ブロック(=単位ブロック)毎ブロック毎のDTC係数データに対して、各DCT係数データを縦・横に入れ替える処理と、DCT係数データに反転用の係数を掛ける処理とを行うことで指定された回転加工を施す画像変換装置が知られている(例えば、特許文献1参照)。
【0004】
【特許文献1】
特開2001−223878号公報(第3−5ページ、図8)
【0005】
【発明が解決しようとする課題】
しかしながら、特許文献1の画像変換装置においては、原画像の幅および高さがMCUブロック単位である場合には、画像の表示品質を劣化させずに表示できたが、原画像の幅および高さがMCUブロック単位ではない場合には、回転された画像の表示領域と非表示領域画像データを正しく認識することができないことから、MCUブロック内における回転された画像の表示位置が正しくなく、正しく回転された画像を表示させることができなかった。
【0006】
具体的には、例えば、特許文献1の画像変換装置では、指定された回転の種類が「左90度回転」であれば、回転前の元の画像の符号化データ(第1符号化データ)をMCUブロック毎に復元した各DCT係数(第1DCT係数)について、縦・横に入れ替える処理と、各第1DTC係数の配列のうち上下方向に非対称な成分である奇数番目の行の係数に「−1」を掛ける処理を行い、画像を回転させたときの各MCUブロックの回転状態に対応するように、各MCUブロック毎にブロック内部のDCT係数を再配置する。次に、回転の種類に応じて、画像を回転させたときの各MCUブロックの異動先の位置を求めて、各MCUブロックをその異動先の位置に再配置する。そして、再配置されたMCUブロック毎の各DCT係数を量子化し、その量子化データを符号化することによりデータ圧縮を行い、圧縮したデータに画像の幅、高さ等の各種情報からなるヘッダ(例えば、回転種類が「左90度回転」と「右90度回転」のときには画像情報の高さと幅が入れ替えるように修正したもの)を付加し、新たな画像の符号化データ(第2符号化データ)を作成している。
【0007】
しかし、特許文献1の画像変換装置では、JPEGの画像データにおける原画像がMCUブロック内の縦横の各画素数よりも少ない場合に表示領域と非表示領域に分類されることを想定しておらず、画像を回転させた場合には、MCUブロック内の画像の非表示領域に画素データが配置されてしまい、回転された画像が正しく表示されなくなり、画像の表示品質を劣化させていた。
【0008】
本発明は、かかる従来の課題に鑑みてなされたものであり、格納された符号化データを各単位ブロック内の各画素データまで復元せずに、DCT係数のままで画像を回転又は反転させる画像変換装置において、原画像の幅および高さがMCUブロック単位ではない場合に、正しく回転された画像を表示させることができる画像変換装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
上述した目的を達成するために、本発明の画像変換装置は、1フレーム毎に複数の単位ブロックに分割され、各単位ブロック内の各画素データ毎に離散コサイン変換(DCT)して第1DCT係数が求められ、第1DCT係数が量子化されて第1量子化DCT係数とされ、第1量子化DCT係数が圧縮された第1符号化データとして格納される第1の画像に対して、第1符号化データを復号して第1量子化DCT係数を得る復号手段と、第1量子化DCT係数を逆量子化して第1DCT係数を得る逆量子化手段と、第1DCT係数を単位ブロック毎に画像の回転又は反転に対応するようにデータ配置を変更し、変換係数を乗算し、単位ブロック毎の配置を変更することで加工された第2DCT係数を得るデータ加工手段と、第2DCT係数を量子化して第2量子化DCT係数とする量子化手段と、第2量子化DCT係数を圧縮して第2符号化データとする圧縮手段と、第2符号化データを格納する格納手段とを備えることで、第1の画像を回転または反転させた第2の画像に変換する画像変換装置であって、さらに、第2符号化データにより表示される画像の、各単位ブロック毎の表示開始位置、高さ、幅の表示領域情報を演算する演算手段と、演算手段により演算された表示領域情報を第2符号化データに付加する情報付加手段とを備え、演算手段は、表示領域情報を演算する際に、単位ブロックにおける表示画像領域と非表示画像領域を判別し、画像の回転又は反転に対応するように非表示画像領域の配置を変更するように演算し、格納手段は、前記表示領域情報が付加された第2符号化データを格納することを特徴とする。
【0010】
また、本発明の画像変換方法は、1フレーム毎に複数の単位ブロックに分割され、各単位ブロック内の各画素データ毎に離散コサイン変換(DCT)して第1DCT係数が求められ、第1DCT係数が量子化されて第1量子化DCT係数とされ、第1量子化DCT係数が圧縮された第1符号化データとして格納される第1の画像に対して、第1符号化データを復号して第1量子化DCT係数を得るステップと、第1量子化DCT係数を逆量子化して第1DCT係数を得るステップと、第1DCT係数を単位ブロック毎に画像の回転又は反転に対応するようにデータ配置を変更し、変換係数を乗算し、単位ブロック毎の配置を変更することで加工された第2DCT係数を得るステップと、第2DCT係数を量子化して第2量子化DCT係数とするステップと、第2量子化DCT係数を圧縮して第2符号化データとするステップと、第2符号化データを格納するステップとを有することで、第1の画像を回転または反転させた第2の画像に変換する画像変換方法であって、さらに、第2符号化データにより表示される画像の、各単位ブロック毎の表示開始位置、高さ、幅の表示領域情報を演算するステップと、表示領域情報を第2符号化データに付加するステップとを有し、表示領域情報を演算するステップでは、単位ブロックにおける表示画像領域と非表示画像領域を判別し、画像の回転又は反転に対応するように非表示画像領域の配置を変更し、第2符号化データを格納するステップでは、表示領域情報が付加された第2符号化データを格納することを特徴とする。
【0011】
【発明の実施の形態】
以下、本発明を、その実施の形態を示す図面に基づいて具体的に説明する。
【0012】
実施の形態1.
図1は、本発明の画像変換装置としてデジタルカメラの場合を示したブロック図である。
図1のデジタルカメラは、撮影した画像のデータをJPEG方式の符号化データで格納する撮影モードと、格納された符号化データを読み出して表示させる表示モードとが設定可能であり、さらに表示モードでは、格納された画像の符号化データを反転あるいは回転させて表示させるものである。
【0013】
図1のデジタルカメラでは、その撮影モード時に、レンズ1の後方に配置されて光電変換するCCD2は、タイミング発生器(TG)3からのタイミング信号および垂直ドライバ4により駆動され、一定周期毎に光電変換出力を1画面分(1フレームの画素数は1280×960画素)出力する。この光電変換出力については、サンプルホールド回路(S/H)5でサンプルホールドされ、A/D変換器6でデジタル信号に変換され、カラープロセス回路7でカラープロセス処理が実施される。カラープロセス回路7では、入力したデジタル信号がR、G、Bデータに変換され、デジタルの輝度成分および色差成分のマルチプレクス信号(Y、Cb、Crデータ)に変換されて、DMA(Direct Memory Access)コントローラ8に出力される。
【0014】
図2は、1フレームの画素数が1280×960画素の画像データである場合の単位ブロック(MCUブロック)の配置および構成を示す図である。
図2(a)の各MCUブロックにおける輝度成分および色差成分のマルチプレクス信号Y、Cb、Crデータは、1フレームの横縦1280×960画素の画像データ位置(配置)に対して、図2(b)に示したように縦横8画素毎のブロックを縦横に2個ずつ4個配置する縦横16画素の輝度成分(Y)データブロック(0)〜(79)が最上位行に並び、同輝度成分(Y)データブロック(4720)〜(4799)が最下位行に並んでいる。一方、色差成分(Cb)、(Cr)データブロックは、1フレームの横縦1280×960画素の画像データ位置(配置)に対して縦横2画素を平均することで横縦を640×480画素の画像データ位置(配置)とし、図2(c)、(d)に示したように縦横8画素からなり、所謂4:1:1のデータになっている。また、DMAコントローラ8は、カラープロセス回路7のY、Cb、Crデータ出力を、同じくカラープロセス回路7の同期信号、メモリ書き込みイネーブル、クロック出力を用いて一度DMAコントローラ8内部のバッファ(不図示)に書き込み、DRAMインターフェース(I/F)9を介してDRAM10にDMA転送を行う。
【0015】
図1のCPU11は、CCD2からの経路で入力したY、Cb、CrデータをDRAMI/F9を介してDRAM10にDMA転送終了した後に、再びDRAMI/F9を介してDRAM10からそのY、Cb、Crデータを読み出し、VRAMコントローラ12を介してVRAM13に書き込む。デジタルビデオエンコーダ(以下、ビデオエンコーダと記す)14は、VRAMコントローラ12を介してVRAM13からそのY、Cb、Crデータを周期的に読み出し、これらのデータを元にビデオ信号を生成して表示装置15に出力する。これにより、撮影モードの状態の表示装置15には、現在CCD2から取り込まれている画像情報に基づくスルー画像を表示することができる。
【0016】
CPU11には、メインスイッチ、撮影/表示モード切換えスイッチ、機能選択キー、シャッターキー、画像回転処理用の実施ボタン等を含む操作部16が接続されている。CPU11は、シャッターキーが押された記録(保存:格納)の状態では、DRAM10に書き込まれている1フレーム分のY、Cb、Crデータを、DRAMI/F9を介してMCU単位でY、Cb、Crの各コンポーネント毎に、すなわち、図2(a)に示すように1フレームの画像データを横80×縦60ブロック(「0」〜「4799」)に分割した16×16画素からなるMCUブロック毎に読み出してJPEG処理部17に送る。CPU11は、JPEG処理部17で、送られたデータにDCT変換、量子化、符号化といった処理を実施して圧縮した後、不揮発性メモリであるフラッシュメモリ18に書き込む。DCT変換では、MCUブロック毎のデータ(以下、単にMCUデータという。)は、図2(b)に示すように「Y0」〜「Y3」の4個の8×8画素のブロックの輝度成分データと、1個ずつの8×8画素のブロックの色差成分データ「Cb」、「Cr」とを1組として個々のブロック毎に、周波数成分の大きさを示す各画素と同数の64個のDCT係数へ変換される。
【0017】
本実施の形態のCPU11は、例えば、第1DCT係数を単位ブロック毎に画像の回転又は反転に対応するようにデータ配置を変更し、変換係数を乗算し、単位ブロック毎の配置を変更することで加工された第2DCT係数を得ることで画像データの回転加工等を実施するデータ加工手段としての機能と、第2符号化データにより表示される画像の、各単位ブロック毎の表示開始位置、高さ、幅の表示領域情報を演算し、その演算をする際に、単位ブロックにおける表示画像領域と非表示画像領域を判別し、画像の回転又は反転に対応するように非表示画像領域の配置を変更する演算手段としての機能と、演算手段により演算された表示領域情報を第2符号化データのヘッダに記載して付加する情報付加手段としての機能を有する。
【0018】
また、本実施の形態のJPEG処理部17は、第2量子化DCT係数を圧縮して第2符号化データとする符号化手段としての機能と、第1符号化データを復号して第1量子化DCT係数を得ると共に、第2符号化データを画像表示のために復号する場合には、第2符号化データから前記表示領域情報を読み出して復号する復号手段としての機能と、第2DCT係数を量子化して第2量子化DCT係数とする量子化手段としての機能と、第1量子化DCT係数を逆量子化して第1DCT係数を得る逆量子化手段としての機能等の、JPEGに基づくデータの圧縮と伸張機能を有する。また、本実施の形態のVRAM13は、表示領域情報が付加された第2符号化データを格納する格納手段としての機能を有する。
【0019】
図3は、8×8画素のDCT係数(周波数成分の大きさ)のデータブロックを示す図である。
但し、図3中の数字は実際の係数値ではなくデータの配置を示す番号である。横方向(X方向)に各画素に対応する0〜7番目のDCT係数のデータが1行に並び、その下(Y方向)に向かって順次、8〜15番目、16〜23番目、24〜31番目というように8個ずつのDCT係数のデータの行が並び、最下段(8番目)の行に56〜63番目の8個のDCT係数のデータが並ぶ。
【0020】
そして、図2(a)に示した1フレーム分のY,Cb,Crデータの圧縮処理及びフラッシュメモリ18への全圧縮データの書き込みが終了すると、CPU11が再度CCD2からDRAM10への経路を起動する。
【0021】
CPU11によるデジタルカメラ各部の制御は、プログラムROM19に記録された動作プログラムに従い実施される。また、プログラムROM19には、後述する回転加工モードの動作時に使用される係数配置テーブルおよび上下反転用、左右反転用、180度回転用の各係数テーブルが記憶されている。
【0022】
図4は、回転加工モードの動作時に使用される係数配置テーブルおよび上下反転用、左右反転用、180度回転用の各係数テーブルを示す図である。
図4(a)は係数配置テーブルT1を示し、図4(b)は上下反転用の係数テーブルT2を示し、図4(c)は左右反転用の係数テーブルT3を示し、図4(d)は180度回転用の係数テーブルT4を示す。
【0023】
図4(a)の係数配置テーブルT1は、図3に示した初期位置に配置されているDCT係数データKの配置の縦(Y方向)・横(X方向)を入れ替えた配列順を示す番号データにより構成されている。上下反転用、左右反転用、180度回転用の各係数テーブルT2〜T4は、各DCT係数データKの係数値を変換するための係数データによって構成されており、各係数テーブルT2〜T4において、「1」は当該箇所のDTC係数に1を掛けるつまり演算しないを意味し、「−1」は当該箇所のDTC係数に−1を掛けるという意味である。
【0024】
図4(b)の上下反転用係数テーブルT2は、各DTC係数の配列のうち上下方向に非対称な成分である奇数番目の行を「−1」としたものである。図4(c)の左右反転用係数テーブルT3は、左右方向に非対称な成分である偶数番目の列を「−1」としたものである。図4(d)の180度回転用係数テーブルT4は、奇数番目の行を「−1」とし、それに続けて偶数番目の列を「−1」としたものである。
【0025】
図5は、JPEGの逆量子化処理されたMCUデータがDRAM内に順次配置されたようすを示す図である。
図5(a)は、回転加工が無い場合のMCUブロック(0)に対応するMCUデータを示し、図5(f)は、左90度回転加工に対応するMCUブロック(4720)に対応するMCUデータを示し、図5(g)は、右90度回転加工に対応するMCUブロック(79)に対応するMCUデータを示し、図5(d)は、180度回転加工に対応するMCUブロック(4799)に対応するMCUデータを示し、図5(e)は、X=Yを軸として反転させた場合のMCUブロックに対応するMCUデータを示す。
【0026】
図5(z)は、例えば、図1のDRAM10の作業領域に、1フレーム分の全ての画素データに対して逆量子化処理で取得されたMCUデータが、図2のMCUブロック(0)〜MCUブロック(4799)までの4800個のMCUデータに対応する画像ブロックの数(4800個:(0)〜(4799))だけ順次配置された場合を示している。DRAM10の作業メモリ領域内には、1フレーム分の全てのMCUデータが「Y0」〜「Y3」、「Cb」、「Cr」毎のDCT係数データKが、画像ブロックの数(4800個:(0)〜(4799))だけ所定順に並んだ状態となる。
【0027】
図6は、MCUブロックの縦横画素数よりも縦横画素が少ない原画像を回転させる場合の様子を示す図である。
図6(z)は、MCUブロックの縦横画素数16×16に対して横14×縦15の原画像の画像データの配置を示す図である。図6(a)は、図6(z)の原画像の画像データにおける図中に白抜き矢印で示したMCUブロックの先頭データ位置から14列目の縦列データを15行目と16行目に複写し、先頭データ位置から15行目の横列(行)データを16行目に複写して形成されるMCUブロックの画像データ配置を示す図である。図6(b)は、図6(a)におけるMCUブロックの複写された画像データを表示する場合で、図6(z)に示した原画像が表示されない領域(非表示領域)をハッチング表示することにより原画像と同様な画像として表示できることを示す図である。
【0028】
図6(c)は、図6(a)におけるMCUブロックの複写された画像データを右(時計回り)方向に90度回転させた場合のMCUブロックの画像データ配置を示す図である。この図6(c)の場合には、図6(a)の画像データに対して図4(a)の係数配置テーブルT1と図4(c)の左右反転用係数テーブルT3が用いられる。
【0029】
図6(d)は、図6(a)におけるMCUブロックの複写された画像データを従来の方法で右(時計回り)方向に90度回転させた場合のMCUブロックの画像データを表示する場合で、図6(c)に示した画像が表示されない領域(非表示領域)をハッチング表示した配置を示す図である。この図6(d)の場合の非表示領域のハッチング表示は、図6(a)の画像データに対して図4(a)の係数配置テーブルT1が用いられるため、MCUブロックの先頭データ位置から16列目の縦列データが非表示領域としてハッチング表示され、先頭データ位置から15行目と16行目の横列(行)データが非表示領域としてハッチング表示される。
【0030】
図6(e)は、図6(a)におけるMCUブロックの複写された画像データを本発明の方法で右(時計回り)方向に90度回転させた場合のMCUブロックの画像データを表示する場合で、図6(c)に示した画像が表示されない領域(非表示領域)をハッチング表示した配置を示す図である。この図6(e)の場合の非表示領域のハッチング表示は、図6(a)の画像データに対して図4(a)の係数配置テーブルT1が用いられる場合であるが、MCUデータのヘッダに格納する情報により表示位置を修正するため、MCUブロックの先頭データ位置から1列目の縦列データが非表示領域としてハッチング表示され、先頭データ位置から15行目と16行目の横列(行)データが非表示領域としてハッチング表示される。
【0031】
図6(f)は、図6(a)におけるMCUブロックの複写された画像データを180度回転させた場合のMCUブロックの画像データ配置を示す図である。この図6(f)の場合には、図6(a)の画像データに対して図4(d)の180度回転用係数テーブルT4が用いられる。
【0032】
図6(g)は、図6(a)におけるMCUブロックの複写された画像データを従来の方法で180度回転させた場合のMCUブロックの画像データを表示する場合で、図6(f)に示した画像が表示されない領域(非表示領域)をハッチング表示した配置を示す図である。この図6(g)の場合の非表示領域のハッチング表示は、図6(f)の画像データに対して図4(a)の係数配置テーブルT1は用いられないため、MCUブロックの先頭データ位置から15列目と16列目の縦列データが非表示領域としてハッチング表示され、先頭データ位置から16行目の横列(行)データが非表示領域としてハッチング表示される。
【0033】
図6(h)は、図6(f)におけるMCUブロックの複写された画像データを本発明の方法で左(反時計回り)方向に90度回転させた場合のMCUブロックの画像データを表示する場合で、図6(f)に示した画像が表示されない領域(非表示領域)をハッチング表示した配置を示す図である。この図6(h)の場合の非表示領域のハッチング表示は、図6(f)の画像データに対して図4(a)の係数配置テーブルT1が用いられない場合であるが、MCUデータのヘッダに格納する情報により表示位置を修正するため、MCUブロックの先頭データ位置から15列目と16列目の縦列データが非表示領域としてハッチング表示され、先頭データ位置から1行目の横列(行)データが非表示領域としてハッチング表示される。
【0034】
図6(i)は、図6(a)におけるMCUブロックの複写された画像データを左(反時計回り)方向に90度回転させた場合のMCUブロックの画像データ配置を示す図である。この図6(i)の場合には、図6(a)の画像データに対して図4(a)の係数配置テーブルT1と図4(b)の上下反転用係数テーブルT2が用いられる。
【0035】
図6(j)は、図6(i)におけるMCUブロックの複写された画像データを従来の方法で左(反時計回り)方向に90度回転させた場合のMCUブロックの画像データを表示する場合で、図6(i)に示した画像が表示されない領域(非表示領域)をハッチング表示した配置を示す図である。この図6(j)の場合の非表示領域のハッチング表示は、図6(i)の画像データに対して図4(a)の係数配置テーブルT1が用いられるため、MCUブロックの先頭データ位置から16列目の縦列データが非表示領域としてハッチング表示され、先頭データ位置から15行目と16行目の横列(行)データが非表示領域としてハッチング表示される。
【0036】
図6(k)は、図6(i)におけるMCUブロックの複写された画像データを本発明の方法で左(反時計回り)方向に90度回転させた場合のMCUブロックの画像データを表示する場合で、図6(i)に示した画像が表示されない領域(非表示領域)をハッチング表示した配置を示す図である。この図6(k)の場合の非表示領域のハッチング表示は、図6(i)の画像データに対して図4(a)の係数配置テーブルT1が用いられる場合であるが、MCUデータのヘッダに格納する情報により表示位置を修正するため、MCUブロックの先頭データ位置から16列目の縦列データが非表示領域としてハッチング表示され、先頭データ位置から1行目と2行目の横列(行)データが非表示領域としてハッチング表示される。
【0037】
ここで、図6を用いて回転加工後のMCUデータにおける画像の表示開始位置、表示用の高さと幅について具体的に説明する。
図6の一部に示す網点でハッチング表示された領域は、通常表示されない画像領域を示している。図6(z)に示したJPEG原画像の画素データは、画像サイズ14×15画素であるが、Y、Cb、Cr比が1:1:1で、MCUデータとなる段階でMCUブロックに合わせてデータの複写が実施されて図6(a)で示すように画像サイズが16×16画素の画像データとなる。
【0038】
この場合のDCT係数のデータは、実際に格納や伝送される符号化データとしてはMCUブロックの全画素を満たすように保有していることになる。具体的には、図6(a)で示すように、JPEGの画素データとして存在しない縦の列(右から1、2番目の列)は、実際に表示すべき表示領域の一番右の列(MCUブロックでは右から3番目の列)を複写している。つまり、白抜き矢印で示したMCUブロックの先頭データ位置から14列目の縦列データを15行目と16行目に複写している。また、JPEGの画素データとして存在しない横の行(下から1番目の行)は表示すべき一番下の行(下から2番目の行)を複写している。つまり、MCUブロックの先頭データ位置から15行目の横列(行)データを16行目に複写している。
【0039】
図6(a)のMCUデータの画像データを「右90度回転」させた場合の画像データが図6(c)であり、「180度回転」させた場合の画像データが図6(f)であり、「左90度回転」させた場合の画像データが図6(i)である。これらの回転させた画像データを従来の方法によりそのまま表示させようとすると、「右90度回転」させた場合の表示画像データが図6(d)のようになり、「180度回転」させた場合の表示画像データが図6(g)のようになり、「左90度回転」させた場合の表示画像データが図6(j)のようになる。
【0040】
図6(d)の従来方法による表示画像については、右から1番目の列の画像は非表示領域で隠されてしまい、逆に左から1列目の複写された列の画像が表示されてしまう。図6(g)の従来方法による表示画像については、右から1〜2番目の列の画像は非表示領域で隠されてしまい、逆に左から1〜2列目の複写された列の画像が表示されてしまう。また、下から1番目の行の画像は非表示領域で隠されてしまい、逆に上から1〜2行目の複写された行の画像が表示されてしまう。図6(j)の従来方法による表示画像については、下から1〜2番目の行の画像は非表示領域で隠されてしまい、逆に上から1〜2行目の複写された列の画像が表示されてしまう。
【0041】
本発明では、図6(d)、(g)、(j)に示した従来方法による表示画像に対し、各々の回転加工後の画像が正しく表示されるように、下記式(1)〜(3)により、回転加工後の画像の開始位置、表示の為の高さと幅を演算する。なお、下記式(1)〜(3)では、原画像の高さをHsおよび幅をWsとし、MCUブロックの各画素を満たすように修正した画像の高さをHmおよび幅をWmとし、回転加工後の表示用の画像の高さをHd、幅をWd、開始位置縦をY、開始位置横をXとする。
【0042】
回転加工が「右90度回転」の場合
Y=0、X=Hm−Hs、Hd=Ws、Wd=Hs …(1)
【0043】
回転加工が「左90度回転」の場合
Y=Wm−Ws、X=0、Hd=Ws、Wd=Hs …(2)
【0044】
回転加工が「180度回転」の場合
Y=Hm−Hs、X=Wm−Ws、Hd=Hs、Wd=Ws …(3)
【0045】
図7は、回転の種類に対応させてDRAM内の1フレーム分の画像データに対して、MCUデータ毎に輝度成分のDCTデータ(Y0〜Y3)を再配置したようす示す図である。
図7(a)は、図2のMCUブロック(0)の配置に対応するMCUブロックの画像データに対し、回転加工が無い場合を示す図である。図7(b)は、図2のMCUブロック(0)の配置に対応するMCUブロックの画像データに対し、X=Yを軸として図7(a)の縦と横の画像データを入れ替えて反転させた場合を示す図である。
【0046】
図7(c)は、図2のMCUブロック(0)の配置に対応するMCUブロックの画像データに対し、図4(a)のテーブルT1と図4(c)のテーブルT3を用いて図7(a)の画像データを右(時計回り)方向に90度回転させた場合を示す図である。図7(d)は、図2のMCUブロック(0)の配置に対応するMCUブロックの画像データに対し、図4(d)のテーブルT4を用いて図7(a)の画像データを180度回転させた場合を示す図である。図7(e)は、図2のMCUブロック(0)の配置に対応するMCUブロックの画像データに対し、図4(a)のテーブルT1と図4(b)のテーブルT2を用いて図7(a)の画像データを左(反時計回り)方向に90度回転させた場合を示す図である。
【0047】
次に、以上の構成および機能を備える本発明のデジタルカメラの動作を説明する。
図8は、本発明のデジタルカメラにおける撮影画像を回転加工する場合の動作を示すフローチャートである。
図8は、本発明のデジタルカメラにおいて、デジタルカメラの使用者による所定のキー操作により、回転加工モードが選択され、加工対象の画像が決定され、予め用意されている回転の種類が指定された場合の動作である。
【0048】
JPEG方式により圧縮されている画像データに対し、例えば、回転加工を施すことにより得られた再圧縮データを記録又は伝送場合には、まず圧縮画像データ(JPEGデータ)のヘッダ解析を行い、画像の幅、高さ、量子化テーブルや符号化テーブル等の情報を取得する(S1)。その後、符号データを復号化し、逆量子化処理を行う。これによりMCU(minimum code unit)ブロック(単位ブロック)毎のDCT係数データを復元し、さらに逆DTC変換を行いMCUブロック毎の画素データを復元し、そのMCUブロック毎の画素データを再配置することにより原画像を復元する。
【0049】
そして、復元した画素データ毎に回転後の配置個所を演算し、それを配置することにより回転加工を施し、しかる後、加工後の画像をMCU毎の画像ブロックに分割した後、DCTを行い、変換したDCT係数を量子化し、量子化データを符号化することによりデータ圧縮を行う。そして、圧縮したデータに、その画像の幅、高さ等の各種情報からなるヘッダを付加し、これにより得られた再圧縮データを記録又は伝送している。
【0050】
CPU11は、所定のキー操作により加工対象の画像が選択されると、フラッシュメモリ18からJPEG方式により圧縮されている当該画像の符号化データ(画像データ)を読み出してJPEG処理部17に送る。これに伴い、JPEG処理部17はヘッダ解析を行い、画像の幅、高さ、量子化テーブルや符号化テーブル等の情報を取得する(S1)。その後、CPU11は、符号化テーブルに従いデータを復号し(S2)、量子化テーブルに従い復号データに対し逆量子化処理を行う(S3)。これにより、符号化データを前述したMCU(minimum code unit)ブロック(単位ブロック)毎のDCT係数データに復元することができる。なお、ここまでの動作は表示モードによって記録画像を表示装置に表示させる場合も同様である。
【0051】
CPU11は、使用者に指定された回転の種類に応じ、各MCUデータを構成する各ブロック「Y0」〜「Y3」、「Cb」、「Cr」のDCT係数データK、つまりDTC係数からなる配列データを加工する(S4)。この場合の加工に際しては、例えば、指定された回転の種類が「左90度回転」であれば、MCUブロック毎に各DCT係数データKを図4(a)に示した係数配置テーブルT1に示される配置に従い縦・横に入れ替える処理と、図4(b)に示したDCT係数データKに上下反転用係数テーブルT2の係数を掛ける処理を実施する。
【0052】
CPU11は、例えば、図5に示したDRAM10の作業メモリ領域内のMCUデータ毎に、輝度成分のDCT係数データ(Y0〜Y3)を図7に示したように回転の種類に応じて再配置する(S5)。新たな配置順は、画像を回転(又は反転)させたとき、それと同様に回転(又は反転)する各MCUブロックの回転(又は反転)状態に対応するものである。また、MCUデータ内のDCT係数データ列(Y0〜Y3)の再配置が終了したら、CPU11は、図7に示したように回転の種類に応じて図2に示した1フレームの画像データ中のMCUデータの位置を再配置する(S6)。各MCUデータの移動先は、画像を回転(又は反転)させたときの各MCUブロックの位置に対応して決められる位置である。しかる後、JPEG処理部17は、再配置が終了したMCUデータを量子化し(S7)、量子化データを符号化することによりデータ圧縮を行う(S8)。
【0053】
CPU11は、原画像サイズがMCUブロックサイズと等しいか否かを判断し(S9)、等しい場合(S9:YES)にはステップS12に進むが、等しくない場合(S9:NO)には、CPU11は、回転加工前の原画像の画像情報の高さと幅を、MCU画素サイズの単位になるように修正し、その上で、上記した式(1)〜(3)を用いて、回転の種類に応じて加工後の画像の開始位置、表示用の高さと幅を演算する(S10)。なお、ステップS9の判断は、例えば、CPU11の演算量および処理時間を減少させるためのものであり、CPU11の演算量および処理時間に余裕がある場合等には省略しても良い。
【0054】
MCU画素サイズとは、本実施形態に示したようにY、Cb、Cr比が4:1:1である場合には16×16であり、Y、Cb、Cr比が4:4:4の場合には8×8である。従って、ステップS10では、例えば、Y、Cb、Cr比が4:1:1、原画像サイズ160×120画素の場合には、120画その方が16で除算できないので、まず、160×128画素に修正してから、上記した式(1)〜(3)を用いて、回転の種類に応じて加工後の画像の開始位置、表示用の高さと幅を演算する。また、前述したように回転種類が「左90度回転」と「右90度回転」のときにも、画像情報の高さと幅が入れ替える際に、画素サイズ単位になるように修正し、その上で、上記した式(1)〜(3)を用いて、回転の種類に応じて加工後の画像の開始位置、表示用の高さと幅を演算する。
【0055】
その後、圧縮したデータに画像の幅、高さ等の各種情報、および演算した加工後の画像の開始位置、表示の為の高さと幅をヘッダに付加し(S11)、上記処理を行った画像データを新たな画像としてフラッシュメモリ18に書き込む(S12)。
【0056】
図9は、図8のフローチャートにおけるステップS10の演算をさらに詳しく示すフローチャートである。
原画像サイズがMCUブロックサイズと等しくない場合には、CPU11は、まず、指示されている回転加工の種類が右90度回転であるか否かを判断し(S21)、右90度回転である場合(S21:YES)には、上記した式(1)を用いて回転後の画像データの表示位置、高さ、及び幅を演算し(S22)、ステップS10の処理を終了する。
【0057】
右90度回転でない場合(S21:NO)には、指示されている回転加工の種類が左90度回転であるか否かを判断し(S23)、左90度回転である場合(S23:YES)には、上記した式(2)を用いて回転後の画像データの表示位置、高さ、及び幅を演算し(S24)、ステップS10の処理を終了する。
【0058】
左90度回転でない場合(S23:NO)には、指示されている回転加工の種類が180度回転であるか否かを判断し(S25)、180度回転である場合(S25:YES)には、上記した式(3)を用いて回転後の画像データの表示位置、高さ、及び幅を演算し(S26)、ステップS10の処理を終了する。180度回転でない場合(S25:NO)には、そのままステップS10の処理を終了する。なお、ステップS21、S23、および、S25の順番は、図9の順番に指定されるものではなく前後が入れ替わっても良い。
【0059】
図10は、図8のフローチャートにおけるステップS12で書き込まれた画像データを読み出して表示させる場合のフローチャートである。
CPU11は、回転された画像の表示指示があるか否かを判断し(S31)、表示指示が無い場合(S31:NO)には、再びステップS31を実施して待ち受ける。表示指示があった場合(S31:YES)には、フラッシュメモリ18から読み出した画像データのヘッダから表示画像の情報を読み出し(S32)、その表示画像の情報に従い画像データを画面表示させる(S33)。
【0060】
上記ステップS33で画像を表示させる場合には、画像データのヘッダに格納されている加工後の表示用の画像の高さ、幅、開始位置縦、開始位置横の各情報を用いて表示する。その結果、例えば、回転加工の種類が「右90度回転」のときには、ヘッダに格納された加工後の画像の開始位置、表示の為の高さと幅の情報に基づいて、図6(e)に示したように表示され、回転加工の種類が「180度回転」のときには、ヘッダに格納された加工後の画像の開始位置、表示の為の高さと幅の情報に基づいて、図6(h)に示したように表示され、回転加工の種類が「左90度回転」のときには、ヘッダに格納された加工後の画像の開始位置、表示の為の高さと幅の情報に基づいて、図6(k)に示したように表示されることになる。すなわち、本実施の形態では、回転加工後の画像を正しく表示できるようになる。
【0061】
以上のように本実施の形態においては、回転および反転加工処理後の画像データ表示領域を演算して保持するため、格納された符号化データを各単位ブロック内の各画素データまで復元せずに、DCT係数のままで画像を回転又は反転させる画像変換装置において、原画像の幅および高さがMCUブロック単位ではない任意の寸法の場合でも、圧縮されている画像を回転加工して再圧縮する際に、画質を劣化させることなく再圧縮でき、その結果、正しく回転された画像を表示させることができる。
【0062】
なお、以上説明した実施の形態では、圧縮画像を回転又は反転させるものを示したが、これ以外にも、事前に変換内容が決められている加工を施すものであれば、画像サイズが変化する加工、例えば拡大・縮小、切り取りなどの加工を実施する際に本発明を適用してもよい。本発明では、その場合であっても、任意の画像に対して、圧縮されている画像を加工し、画質を劣化させることなく再圧縮できる。
【0063】
また、上記した実施の形態では、加工対象の画像がJPEG方式で圧縮されたものについて説明したが、JPEG方式以外のDCTを利用する他の方式や、さらにDCT以外にもDCT係数と同様に各画素に対応する配列データを有する単位データ毎に圧縮を行う方式であれば、他の画像圧縮方式に本発明を採用してもよい。本発明では、その場合であっても、任意の画像に対して、圧縮されている画像を加工し、画質を劣化させることなく再圧縮できる。
【0064】
また、上記した実施の形態では、JPEG方式による画像データの撮影、表示が可能なデジタルカメラに用いた場合について述べたが、本発明はこれに限られるものではなく、JPEG方式の画像データにより画像データの格納あるいは伝送を実施する装置であれば他の装置においても本発明を適用することができ、その場合においても前述した効果が得られる。
【0065】
【発明の効果】
この発明は、以上説明したように構成されているので、以下に示すような効果を奏する。
【0066】
上記したように本発明においては、回転および反転加工処理後の画像データ表示領域を演算して保持するため、格納された符号化データを各単位ブロック内の各画素データまで復元せずに、DCT係数のままで画像を回転又は反転させる画像変換装置において、原画像の幅および高さがMCUブロック単位ではない任意の寸法の場合でも、圧縮されている画像を回転加工して再圧縮する際に、画質を劣化させることなく再圧縮でき、その結果、正しく回転された画像を表示させることができる。
【図面の簡単な説明】
【図1】 本発明の画像変換装置としてデジタルカメラの場合を示したブロック図である。
【図2】 (a)〜(d)は1フレームの画素数が1280×960画素の画像データである場合の単位ブロック(MCUブロック)の配置及び構成を示す図である。
【図3】 8×8画素のDCT係数(周波数成分の大きさ)のデータブロックを示す図である。
【図4】 (a)〜(d)は回転加工モードの動作時に使用される係数配置テーブルおよび上下反転用、左右反転用、180度回転用の各係数テーブルを示す図である。
【図5】 (z)、(a)、(d)〜(g)はJPEGの逆量子化処理されたMCUデータがDRAM内に順次配置されたようすを示す図である。
【図6】 (z)、(a)〜(k)はMCUブロックの縦横画素数よりも縦横画素が少ない原画像を回転させる場合の様子を示す図である。
【図7】 (a)〜(e)は回転の種類に対応させてDRAM内の1フレーム分の画像データに対して、MCUデータ毎に輝度成分のDCTデータ(Y0〜Y3)を再配置したようす示す図である。
【図8】 本発明のデジタルカメラにおける撮影画像を回転加工する場合の動作を示すフローチャートである。
【図9】 図8のフローチャートにおけるステップS10の演算をさらに詳しく示すフローチャートである。
【図10】 図8のフローチャートにおけるステップS12で書き込まれた画像データを読み出して表示させる場合のフローチャートである。
【符号の説明】
1 レンズ、 2 CCD、 3 タイミング発生器(TG)、 4 垂直ドライバ、 5 サンプルホールド回路(S/H)、 6 A/D変換器、 7 カラープロセス回路、 8 DMA(Direct Memory Access)コントローラ、 9DRAMインターフェース(I/F)、 10 DRAM、 11 CPU、12 VRAMコントローラ、 13 VRAM、 14 デジタルビデオエンコーダ(ビデオエンコーダ)、 15 表示装置、 16 操作部、 17 JPEG処理部、 18 フラッシュメモリ、 K DCT係数データ、 T1係数配置テーブル、 T2 上下反転用係数テーブル、 T3 左右反転用係数テーブル、 T4 180度回転用係数テーブル、 Y0〜Y3 輝度成分データブロック、 Cb、Cr 色差成分データブロック。[0001]
BACKGROUND OF THE INVENTION
In the present invention, like compressed image data used in JPEG or the like, a plurality of unit blocks are divided for each frame, and discrete cosine transform (DCT: (Discrete Cosine Transform)) is performed for each pixel data in each unit block. ) To obtain the first DCT coefficient, and further compress or compress the quantized first quantized DCT coefficient to store the first encoded data to rotate or invert the image. 2. Improvement of image conversion apparatus that generates and stores encoded data, and in particular, rotates or inverts an image while maintaining the DCT coefficient without restoring the stored encoded data to each pixel data in each unit block. The present invention relates to an improvement of an image conversion apparatus.
[0002]
[Prior art]
Conventionally, JPEG (Joint Photographic Expert Group) compression is generally used as image data when a digital image is recorded or transmitted by a digital camera or a mobile phone with a camera function. When rotating or inverting the first encoded data stored or transmitted in JPEG format, the compressed first encoded data is decoded to restore each pixel data to obtain an original image, Since the original image is rotated and then encoded into JPEG image data again, the quality of the image is deteriorated due to an inevitable calculation error when encoding the image data after the rotation processing.
[0003]
When rotating the image of the first encoded data of the JPEG method, the header of the compressed image data is analyzed and the encoded data is decoded), and an MCU (minimum code unit) block restored by performing inverse quantization processing (= Unit block) Rotational processing specified by performing processing for switching each DCT coefficient data vertically and horizontally and processing for multiplying DCT coefficient data by a coefficient for inversion with respect to DTC coefficient data for each block. There is known an image conversion apparatus that performs (see, for example, Patent Document 1).
[0004]
[Patent Document 1]
JP 2001-223878 A (page 3-5, FIG. 8)
[0005]
[Problems to be solved by the invention]
However, in the image conversion device of
[0006]
Specifically, for example, in the image conversion apparatus of
[0007]
However, the image conversion apparatus of
[0008]
The present invention has been made in view of such conventional problems, and does not restore the stored encoded data to each pixel data in each unit block, and rotates or reverses the image while maintaining the DCT coefficient. An object of the present invention is to provide an image conversion apparatus capable of displaying a correctly rotated image when the width and height of the original image are not in MCU block units.
[0009]
[Means for Solving the Problems]
In order to achieve the above-described object, the image conversion apparatus of the present invention is divided into a plurality of unit blocks for each frame, and a first DCT coefficient is obtained by performing discrete cosine transform (DCT) for each pixel data in each unit block. The first DCT coefficient is quantized to be the first quantized DCT coefficient, and the first image is stored as the first encoded data in which the first quantized DCT coefficient is compressed. Decoding means for decoding encoded data to obtain first quantized DCT coefficients, dequantizing means for inversely quantizing first quantized DCT coefficients to obtain first DCT coefficients, and images of the first DCT coefficients for each unit block Data processing means for obtaining a second DCT coefficient processed by changing the data arrangement so as to correspond to rotation or inversion, multiplying by a conversion coefficient, and changing the arrangement for each unit block, and a second DCT coefficient Quantization means for generating a second quantized DCT coefficient as a child, compression means for compressing the second quantized DCT coefficient into second encoded data, and storage means for storing the second encoded data Thus, an image conversion device that converts a first image into a rotated or inverted second image, and further, a display start position for each unit block of the image displayed by the second encoded data, Calculating means for calculating display area information of height and width, and information adding means for adding the display area information calculated by the calculating means to the second encoded data; When calculating the display area information, the calculation means determines the display image area and the non-display image area in the unit block, and calculates the arrangement of the non-display image area so as to correspond to the rotation or inversion of the image. And The storage means stores the second encoded data to which the display area information is added.
[0010]
The image conversion method of the present invention is divided into a plurality of unit blocks for each frame, and a first cosine coefficient is obtained by performing discrete cosine transform (DCT) for each pixel data in each unit block. Is quantized to be the first quantized DCT coefficient, and the first encoded data is decoded with respect to the first image stored as the first encoded data in which the first quantized DCT coefficient is compressed. Obtaining a first quantized DCT coefficient; dequantizing the first quantized DCT coefficient to obtain a first DCT coefficient; and arranging the first DCT coefficient in a unit block so as to correspond to image rotation or inversion , Multiplying by the transform coefficient, and changing the arrangement of each unit block to obtain a processed second DCT coefficient, and quantizing the second DCT coefficient into a second quantized DCT coefficient The second image obtained by rotating or inverting the first image by having a step, a step of compressing the second quantized DCT coefficient into second encoded data, and a step of storing the second encoded data An image conversion method for converting to an image of the image, further comprising: calculating display area information of a display start position, height, and width for each unit block of the image displayed by the second encoded data; Adding region information to the second encoded data, In the step of calculating the display area information, the display image area and the non-display image area in the unit block are determined, and the arrangement of the non-display image area is changed so as to correspond to the rotation or inversion of the image, In the step of storing the second encoded data, the second encoded data to which the display area information is added is stored.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be specifically described with reference to the drawings illustrating embodiments thereof.
[0012]
FIG. 1 is a block diagram showing a case of a digital camera as an image conversion apparatus of the present invention.
The digital camera shown in FIG. 1 can set a shooting mode for storing captured image data as JPEG encoded data, and a display mode for reading out and displaying the stored encoded data. The encoded data of the stored image is displayed by being reversed or rotated.
[0013]
In the digital camera of FIG. 1, in the photographing mode, the
[0014]
FIG. 2 is a diagram showing the arrangement and configuration of unit blocks (MCU blocks) when the number of pixels in one frame is 1280 × 960 pixel image data.
The multiplex signal Y, Cb, Cr data of the luminance component and chrominance component in each MCU block of FIG. 2A corresponds to the image data position (arrangement) of 1280 × 960 pixels in one frame in FIG. As shown in b), the luminance component (Y) data blocks (0) to (79) of 16 pixels in length and width are arranged in the top row with 4 blocks each having 8 pixels in length and width and arranged in the horizontal and vertical directions. Component (Y) data blocks (4720) to (4799) are arranged in the lowest row. On the other hand, the chrominance component (Cb) and (Cr) data blocks average 640 × 480 pixels horizontally and vertically by averaging two pixels horizontally and vertically with respect to image data positions (arrangements) of 1280 × 960 pixels horizontally and vertically. The image data position (arrangement) is composed of 8 pixels vertically and horizontally as shown in FIGS. 2C and 2D, so-called 4: 1: 1 data. The
[0015]
The
[0016]
The
[0017]
For example, the
[0018]
The
[0019]
FIG. 3 is a diagram illustrating a data block of DCT coefficients (magnitude of frequency components) of 8 × 8 pixels.
However, the numbers in FIG. 3 are not actual coefficient values but numbers indicating data arrangement. Data of the 0th to 7th DCT coefficients corresponding to the respective pixels in the horizontal direction (X direction) are arranged in one row, and sequentially 8th to 15th, 16th to 23rd, 24th to the bottom (Y direction). Eight DCT coefficient data lines are arranged, such as the 31st line, and the 56th to 63rd eight DCT coefficient data lines are arranged in the bottom (eighth) line.
[0020]
When the compression processing of the Y, Cb, Cr data for one frame and the writing of all the compressed data to the
[0021]
The control of each part of the digital camera by the
[0022]
FIG. 4 is a diagram showing a coefficient arrangement table and coefficient tables for upside down, left side upside down, and 180 degree rotation used during operation in the rotational machining mode.
4A shows the coefficient arrangement table T1, FIG. 4B shows the coefficient table T2 for upside down, FIG. 4C shows the coefficient table T3 for left and right inversion, and FIG. Indicates a coefficient table T4 for 180 ° rotation.
[0023]
The coefficient arrangement table T1 in FIG. 4A is a number indicating the arrangement order in which the arrangement of the DCT coefficient data K arranged at the initial position shown in FIG. 3 is exchanged in the vertical (Y direction) and horizontal (X direction). It consists of data. The coefficient tables T2 to T4 for upside down, left and right inversion, and 180 degree rotation are composed of coefficient data for converting the coefficient values of the respective DCT coefficient data K. In each coefficient table T2 to T4, “1” means that the DTC coefficient at the relevant location is multiplied by 1, that is, no calculation is performed, and “−1” means that the DTC coefficient at the relevant location is multiplied by −1.
[0024]
In the upside down coefficient table T2 in FIG. 4B, odd-numbered rows that are components that are asymmetric in the up and down direction in the array of each DTC coefficient are set to “−1”. In the left-right inversion coefficient table T3 in FIG. 4C, even-numbered columns that are asymmetrical components in the left-right direction are set to “−1”. In the 180 degree rotation coefficient table T4 of FIG. 4D, odd-numbered rows are set to “−1”, and even-numbered columns are set to “−1” subsequently.
[0025]
FIG. 5 is a diagram showing that MCU data subjected to JPEG inverse quantization processing is sequentially arranged in the DRAM.
FIG. 5A shows MCU data corresponding to the MCU block (0) when there is no rotation processing, and FIG. 5F shows MCU data corresponding to the MCU block (4720) corresponding to left 90-degree rotation processing. FIG. 5 (g) shows MCU data corresponding to the MCU block (79) corresponding to the right 90 ° rotation machining, and FIG. 5 (d) shows the MCU block (4799) corresponding to the 180 ° rotation machining. ), And FIG. 5E shows the MCU data corresponding to the MCU block when inverted with X = Y as an axis.
[0026]
FIG. 5 (z) shows, for example, the MCU data acquired by inverse quantization processing for all the pixel data for one frame in the work area of the
[0027]
FIG. 6 is a diagram illustrating a state in which an original image having fewer vertical and horizontal pixels than the number of vertical and horizontal pixels of the MCU block is rotated.
FIG. 6 (z) is a diagram showing an arrangement of image data of an original image of horizontal 14 × vertical 15 with respect to the vertical /
[0028]
FIG. 6C is a diagram showing the image data arrangement of the MCU block when the copied image data of the MCU block in FIG. 6A is rotated 90 degrees in the right (clockwise) direction. In the case of FIG. 6C, the coefficient arrangement table T1 of FIG. 4A and the left-right inversion coefficient table T3 of FIG. 4C are used for the image data of FIG.
[0029]
FIG. 6D shows a case where the image data of the MCU block is displayed when the image data copied from the MCU block in FIG. 6A is rotated 90 degrees clockwise (clockwise) by the conventional method. FIG. 7 is a diagram showing an arrangement in which an area (non-display area) where the image shown in FIG. 6C is not displayed is hatched. In the hatching display of the non-display area in the case of FIG. 6D, since the coefficient arrangement table T1 of FIG. 4A is used for the image data of FIG. 6A, from the head data position of the MCU block. The 16th column data is hatched as a non-display area, and the 15th and 16th row (row) data from the top data position is hatched as a non-display area.
[0030]
FIG. 6E shows a case in which the image data of the MCU block is displayed when the copied image data of the MCU block in FIG. 6A is rotated 90 degrees clockwise (clockwise) by the method of the present invention. FIG. 7 is a diagram showing an arrangement in which a region (non-display region) where the image shown in FIG. 6C is not displayed is hatched. The hatching display of the non-display area in the case of FIG. 6E is the case where the coefficient arrangement table T1 of FIG. 4A is used for the image data of FIG. In order to correct the display position according to the information stored in the first column, the first column of column data from the start data position of the MCU block is hatched as a non-display area, and the 15th and 16th rows (rows) from the start data position are hatched. Data is hatched as a non-display area.
[0031]
FIG. 6F is a diagram showing the image data arrangement of the MCU block when the copied image data of the MCU block in FIG. 6A is rotated 180 degrees. In the case of FIG. 6F, the 180 degree rotation coefficient table T4 of FIG. 4D is used for the image data of FIG.
[0032]
FIG. 6G shows a case in which the image data of the MCU block when the image data copied from the MCU block in FIG. 6A is rotated 180 degrees by the conventional method is displayed in FIG. It is a figure which shows the arrangement | positioning which hatched and displayed the area | region (non-display area | region) where the shown image is not displayed. In the hatching display of the non-display area in the case of FIG. 6G, the coefficient arrangement table T1 of FIG. 4A is not used for the image data of FIG. The column data in the 15th and 16th columns are hatched as non-display areas, and the row (row) data in the 16th row from the top data position are hatched as non-display areas.
[0033]
FIG. 6 (h) displays the image data of the MCU block when the copied image data of the MCU block in FIG. 6 (f) is rotated 90 degrees counterclockwise (counterclockwise) by the method of the present invention. FIG. 7 is a diagram showing an arrangement in which areas (non-display areas) where the image shown in FIG. 6F is not displayed are hatched. The hatched display of the non-display area in the case of FIG. 6H is a case where the coefficient arrangement table T1 of FIG. 4A is not used for the image data of FIG. In order to correct the display position according to the information stored in the header, the 15th and 16th column data from the first data position of the MCU block are hatched as a non-display area, and the first row from the first data position (row) ) Data is hatched as a non-display area.
[0034]
FIG. 6 (i) is a diagram showing the image data arrangement of the MCU block when the copied image data of the MCU block in FIG. 6 (a) is rotated 90 degrees in the left (counterclockwise) direction. In the case of FIG. 6I, the coefficient arrangement table T1 of FIG. 4A and the upside down coefficient table T2 of FIG. 4B are used for the image data of FIG.
[0035]
FIG. 6J shows a case where image data of the MCU block is displayed when the copied image data of the MCU block in FIG. 6I is rotated 90 degrees counterclockwise (counterclockwise) by the conventional method. FIG. 7 is a diagram showing an arrangement in which an area (non-display area) where the image shown in FIG. 6I is not displayed is hatched. In the hatching display of the non-display area in the case of FIG. 6 (j), since the coefficient arrangement table T1 of FIG. 4 (a) is used for the image data of FIG. 6 (i), from the head data position of the MCU block. The 16th column data is hatched as a non-display area, and the 15th and 16th row (row) data from the top data position is hatched as a non-display area.
[0036]
FIG. 6 (k) displays the image data of the MCU block when the image data copied from the MCU block in FIG. 6 (i) is rotated 90 degrees counterclockwise (counterclockwise) by the method of the present invention. FIG. 7 is a diagram illustrating an arrangement in which a region (non-display region) where the image illustrated in FIG. 6I is not displayed is hatched. The hatched display of the non-display area in the case of FIG. 6K is the case where the coefficient arrangement table T1 of FIG. 4A is used for the image data of FIG. In order to correct the display position according to the information stored in the first column, the 16th column data from the first data position of the MCU block is hatched as a non-display area, and the first and second rows (rows) from the first data position are hatched. Data is hatched as a non-display area.
[0037]
Here, the display start position of the image and the height and width for display in the MCU data after the rotation processing will be specifically described with reference to FIG.
The area hatched with halftone dots shown in a part of FIG. 6 indicates an image area that is not normally displayed. The pixel data of the JPEG original image shown in FIG. 6 (z) has an image size of 14 × 15 pixels, but the Y, Cb, Cr ratio is 1: 1: 1, and is matched with the MCU block at the stage of becoming MCU data. The data is copied and becomes image data having an image size of 16 × 16 pixels as shown in FIG.
[0038]
The data of the DCT coefficient in this case is held so as to fill all the pixels of the MCU block as encoded data that is actually stored or transmitted. Specifically, as shown in FIG. 6A, the vertical column (first and second columns from the right) that does not exist as JPEG pixel data is the rightmost column of the display area to be actually displayed. (The third block from the right in the MCU block) is copied. That is, the column data of the 14th column from the start data position of the MCU block indicated by the white arrow is copied to the 15th and 16th rows. In addition, a horizontal row (first row from the bottom) that does not exist as JPEG pixel data is a copy of the bottom row (second row from the bottom) to be displayed. That is, the row (row) data of the 15th row from the start data position of the MCU block is copied to the 16th row.
[0039]
FIG. 6C shows the image data when the image data of the MCU data of FIG. 6A is “rotated 90 degrees right”, and the image data when the image data is “180 degrees rotated” is FIG. FIG. 6 (i) shows the image data when “rotated 90 degrees to the left”. When the rotated image data is displayed as it is by the conventional method, the display image data when rotated 90 degrees to the right is as shown in FIG. 6D, and is rotated 180 degrees. In this case, the display image data is as shown in FIG. 6G, and the display image data when “rotated 90 degrees to the left” is as shown in FIG.
[0040]
In the display image according to the conventional method of FIG. 6D, the image in the first column from the right is hidden in the non-display area, and conversely, the image of the copied column in the first column from the left is displayed. End up. In the display image according to the conventional method of FIG. 6G, the images in the first and second columns from the right are hidden in the non-display area, and conversely, the images in the copied columns in the first and second columns from the left. Will be displayed. Further, the image in the first row from the bottom is hidden in the non-display area, and on the contrary, the copied row image in the first and second rows from the top is displayed. In the display image by the conventional method of FIG. 6 (j), the first and second rows of images from the bottom are hidden in the non-display area, and conversely the copied columns of the first and second rows from the top. Will be displayed.
[0041]
In the present invention, the following formulas (1) to (1) are used so that the images after the rotation processing are correctly displayed with respect to the display images obtained by the conventional method shown in FIGS. 6 (d), (g), and (j). According to 3), the start position of the image after rotation processing and the height and width for display are calculated. In the following formulas (1) to (3), the height of the original image is Hs and the width is Ws, the height of the image modified to fill each pixel of the MCU block is Hm and the width is Wm, and the rotation is performed. The height of the display image after processing is Hd, the width is Wd, the start position length is Y, and the start position width is X.
[0042]
When the rotation process is "Rotate 90 degrees to the right"
Y = 0, X = Hm−Hs, Hd = Ws, Wd = Hs (1)
[0043]
When the rotation process is "Rotate 90 degrees left"
Y = Wm−Ws, X = 0, Hd = Ws, Wd = Hs (2)
[0044]
When rotation processing is "180 degree rotation"
Y = Hm−Hs, X = Wm−Ws, Hd = Hs, Wd = Ws (3)
[0045]
FIG. 7 is a diagram showing the luminance component DCT data (Y0 to Y3) rearranged for each MCU data with respect to one frame of image data in the DRAM corresponding to the type of rotation.
FIG. 7A is a diagram illustrating a case where the rotation processing is not performed on the image data of the MCU block corresponding to the arrangement of the MCU block (0) in FIG. In FIG. 7B, the image data of the MCU block corresponding to the arrangement of the MCU block (0) in FIG. 2 is inverted with the vertical and horizontal image data in FIG. It is a figure which shows the case where it was made to do.
[0046]
FIG. 7C shows a table T1 in FIG. 4A and a table T3 in FIG. 4C for the image data of the MCU block corresponding to the arrangement of the MCU block (0) in FIG. It is a figure which shows the case where the image data of (a) is rotated 90 degree | times clockwise (clockwise). FIG. 7D shows that the image data of FIG. 7A is 180 degrees using the table T4 of FIG. 4D with respect to the image data of the MCU block corresponding to the arrangement of the MCU block (0) of FIG. It is a figure which shows the case where it rotates. FIG. 7 (e) shows the image data of the MCU block corresponding to the arrangement of the MCU block (0) in FIG. 2 using the table T1 in FIG. 4 (a) and the table T2 in FIG. 4 (b). It is a figure which shows the case where the image data of (a) is rotated 90 degree | times to the left (counterclockwise) direction.
[0047]
Next, the operation of the digital camera of the present invention having the above configuration and functions will be described.
FIG. 8 is a flowchart showing an operation when rotating a photographed image in the digital camera of the present invention.
FIG. 8 shows that in the digital camera of the present invention, the rotation processing mode is selected by the predetermined key operation by the user of the digital camera, the image to be processed is determined, and the type of rotation prepared in advance is specified. Is the behavior of the case.
[0048]
For example, when recording or transmitting recompressed data obtained by performing rotation processing on image data compressed by the JPEG method, first, header analysis of the compressed image data (JPEG data) is performed, Information such as the width, height, quantization table, and encoding table is acquired (S1). Thereafter, the code data is decoded and an inverse quantization process is performed. Thus, DCT coefficient data for each MCU (minimum code unit) block (unit block) is restored, and further, inverse DTC conversion is performed to restore pixel data for each MCU block, and pixel data for each MCU block is rearranged. To restore the original image.
[0049]
Then, for each restored pixel data, an arrangement position after rotation is calculated, and rotation processing is performed by arranging it, and then the processed image is divided into image blocks for each MCU, and then DCT is performed. Data compression is performed by quantizing the converted DCT coefficients and encoding the quantized data. Then, a header composed of various information such as the width and height of the image is added to the compressed data, and the recompressed data obtained thereby is recorded or transmitted.
[0050]
When an image to be processed is selected by a predetermined key operation, the
[0051]
The
[0052]
For example, the
[0053]
The
[0054]
The MCU pixel size is 16 × 16 when the Y, Cb, Cr ratio is 4: 1: 1, as shown in this embodiment, and the Y, Cb, Cr ratio is 4: 4: 4. In the case, it is 8 × 8. Therefore, in step S10, for example, if the Y, Cb, Cr ratio is 4: 1: 1, and the original image size is 160 × 120 pixels, 120 images cannot be divided by 16, so first 160 × 128 pixels. After the correction, the above-described equations (1) to (3) are used to calculate the processed image start position and the display height and width according to the type of rotation. In addition, as described above, when the rotation type is “left 90 degree rotation” and “right 90 degree rotation”, when the height and width of the image information are switched, it is corrected so that it becomes a pixel size unit. Then, using the above equations (1) to (3), the start position of the processed image and the display height and width are calculated according to the type of rotation.
[0055]
After that, various information such as the width and height of the image, the calculated start position of the processed image, and the height and width for display are added to the header in the compressed data (S11), and the processed image is processed. Data is written in the
[0056]
FIG. 9 is a flowchart showing in more detail the calculation of step S10 in the flowchart of FIG.
When the original image size is not equal to the MCU block size, the
[0057]
If the rotation is not 90 degrees to the right (S21: NO), it is determined whether or not the type of rotation being instructed is 90 degrees to the left (S23). If the rotation is 90 degrees to the left (S23: YES) ), The display position, height, and width of the rotated image data are calculated using the above equation (2) (S24), and the process of step S10 is terminated.
[0058]
If the rotation is not 90 degrees to the left (S23: NO), it is determined whether or not the instructed type of rotation is 180 degrees (S25), and if it is 180 degrees (S25: YES). Calculates the display position, height, and width of the rotated image data using the above equation (3) (S26), and ends the process of step S10. If the rotation is not 180 degrees (S25: NO), the process of step S10 is terminated as it is. The order of steps S21, S23, and S25 is not specified in the order shown in FIG.
[0059]
FIG. 10 is a flowchart when the image data written in step S12 in the flowchart of FIG. 8 is read and displayed.
The
[0060]
When the image is displayed in step S33, the information is displayed using information on the height, width, start position length, and start position width of the processed display image stored in the header of the image data. As a result, for example, when the type of rotation processing is “rotate 90 degrees to the right”, based on the information about the start position of the processed image stored in the header and the height and width for display, FIG. When the type of rotation processing is “rotate 180 degrees”, based on the start position of the processed image stored in the header, and information on the height and width for display, as shown in FIG. h), when the type of rotation processing is “rotate 90 degrees left”, based on the start position of the processed image stored in the header, and information on the height and width for display, The display is as shown in FIG. That is, in the present embodiment, the image after the rotation processing can be correctly displayed.
[0061]
As described above, in the present embodiment, since the image data display area after the rotation and reversal processing is calculated and held, the stored encoded data is not restored to each pixel data in each unit block. In an image conversion apparatus that rotates or inverts an image while maintaining the DCT coefficient, the compressed image is rotated and recompressed even when the width and height of the original image are arbitrary dimensions that are not in MCU block units. In this case, the image can be recompressed without degrading the image quality, and as a result, a correctly rotated image can be displayed.
[0062]
In the embodiment described above, the compressed image is rotated or reversed. However, in addition to this, the image size changes if processing for which conversion contents are determined in advance is performed. The present invention may be applied when performing processing such as processing such as enlargement / reduction and cutting. In the present invention, even in such a case, a compressed image can be processed with respect to an arbitrary image and recompressed without degrading the image quality.
[0063]
In the above-described embodiment, the processing target image is compressed by the JPEG method. However, other methods that use DCT other than the JPEG method, and other than DCT, The present invention may be applied to other image compression methods as long as compression is performed for each unit data having array data corresponding to pixels. In the present invention, even in such a case, a compressed image can be processed with respect to an arbitrary image and recompressed without degrading the image quality.
[0064]
In the above-described embodiments, the case where the present invention is used in a digital camera capable of taking and displaying image data by the JPEG method has been described. However, the present invention is not limited to this, and the image is obtained by using JPEG image data. The present invention can be applied to other devices as long as they store or transmit data, and the effects described above can be obtained even in such a case.
[0065]
【The invention's effect】
Since the present invention is configured as described above, the following effects can be obtained.
[0066]
As described above, in the present invention, in order to calculate and hold the image data display area after the rotation and inversion processing, the stored encoded data is not restored to each pixel data in each unit block, and DCT In an image conversion device that rotates or reverses an image while maintaining the coefficients, even when the width and height of the original image are arbitrary dimensions that are not in MCU block units, when the compressed image is rotated and recompressed The image can be recompressed without degrading the image quality, and as a result, a correctly rotated image can be displayed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a case of a digital camera as an image conversion apparatus of the present invention.
FIGS. 2A to 2D are diagrams showing the arrangement and configuration of unit blocks (MCU blocks) when the number of pixels in one frame is image data of 1280 × 960 pixels.
FIG. 3 is a diagram illustrating a data block of DCT coefficients (magnitude of frequency components) of 8 × 8 pixels.
FIGS. 4A to 4D are diagrams showing a coefficient arrangement table and coefficient tables for upside down, left and right inversion, and 180 degree rotation used during operation in the rotational machining mode.
FIGS. 5A, 5B, and 5G are views showing that JPEG dequantized MCU data is sequentially arranged in a DRAM. FIG.
FIGS. 6A and 6B are diagrams illustrating a state in which an original image having fewer vertical and horizontal pixels than the number of vertical and horizontal pixels of an MCU block is rotated.
FIGS. 7A to 7E rearrange the luminance component DCT data (Y0 to Y3) for each MCU data with respect to the image data for one frame in the DRAM corresponding to the type of rotation. FIG.
FIG. 8 is a flowchart showing an operation when rotating a photographed image in the digital camera of the present invention.
FIG. 9 is a flowchart showing in more detail the calculation of step S10 in the flowchart of FIG.
FIG. 10 is a flowchart when the image data written in step S12 in the flowchart of FIG. 8 is read and displayed.
[Explanation of symbols]
1 lens, 2 CCD, 3 timing generator (TG), 4 vertical driver, 5 sample hold circuit (S / H), 6 A / D converter, 7 color process circuit, 8 DMA (Direct Memory Access) controller, 9 DRAM Interface (I / F), 10 DRAM, 11 CPU, 12 VRAM controller, 13 VRAM, 14 digital video encoder (video encoder), 15 display device, 16 operation unit, 17 JPEG processing unit, 18 flash memory, K DCT coefficient data T1 coefficient arrangement table, T2 vertical reversal coefficient table, T3 horizontal reversal coefficient table, T4 180 degree rotation coefficient table, Y0 to Y3 luminance component data block, Cb, Cr color difference component data block.
Claims (8)
該第1符号化データを復号して第1量子化DCT係数を得る復号手段と、
該第1量子化DCT係数を逆量子化して第1DCT係数を得る逆量子化手段と、
該第1DCT係数を前記単位ブロック毎に画像の回転又は反転に対応するようにデータ配置を変更し、変換係数を乗算し、単位ブロック毎の配置を変更することで加工された第2DCT係数を得るデータ加工手段と、
該第2DCT係数を量子化して第2量子化DCT係数とする量子化手段と、
該第2量子化DCT係数を圧縮して第2符号化データとする符号化手段と、
該第2符号化データを格納する格納手段と
を備えることで、前記第1の画像を回転または反転させた第2の画像に変換する画像変換装置であって、さらに、
前記第2符号化データにより表示される画像の、各単位ブロック毎の表示開始位置、高さ、幅の表示領域情報を演算する演算手段と、
該演算手段により演算された表示領域情報を第2符号化データに付加する情報付加手段と
を備え、
前記演算手段は、表示領域情報を演算する際に、前記単位ブロックにおける表示画像領域と非表示画像領域を判別し、前記画像の回転又は反転に対応するように非表示画像領域の配置を変更するように演算し、
前記格納手段は、前記表示領域情報が付加された第2符号化データを格納する
ことを特徴とする画像変換装置。Each frame is divided into a plurality of unit blocks, each pixel data in each unit block is subjected to discrete cosine transform (DCT: (Discrete Cosine Transform)) to obtain a first DCT coefficient, and the first DCT coefficient is quantized. To the first quantized DCT coefficient, and the first image stored as the first encoded data in which the first quantized DCT coefficient is compressed,
Decoding means for decoding the first encoded data to obtain a first quantized DCT coefficient;
Inverse quantization means for inversely quantizing the first quantized DCT coefficient to obtain a first DCT coefficient;
The second DCT coefficient is obtained by changing the data arrangement so that the first DCT coefficient corresponds to the rotation or inversion of the image for each unit block, multiplying by the conversion coefficient, and changing the arrangement for each unit block. Data processing means;
Quantization means for quantizing the second DCT coefficient into a second quantized DCT coefficient;
Encoding means for compressing the second quantized DCT coefficient into second encoded data;
An image conversion device that converts the first image into a rotated or inverted second image by storing the second encoded data.
A calculation means for calculating display area information of a display start position, height, and width for each unit block of the image displayed by the second encoded data;
Information adding means for adding the display area information calculated by the calculating means to the second encoded data;
When calculating the display area information, the calculation unit determines a display image area and a non-display image area in the unit block, and changes the arrangement of the non-display image areas so as to correspond to rotation or inversion of the image. Operate as
The image storage device, wherein the storage means stores the second encoded data to which the display area information is added.
ことを特徴とする請求項1に記載の画像変換装置。The image conversion apparatus according to claim 1, wherein the information adding unit describes the display area information in a header of second encoded data.
ことを特徴とする請求項1又は2に記載の画像変換装置。Said decoding means, said second encoded data if decoding for image display is claimed in claim 1 or 2, characterized in that reading and decoding the said display area information from the second encoded data Image conversion device.
画像を右(時計回り)90度回転させる場合には、 If you want to rotate the image 90 degrees to the right (clockwise)
Y=0、X=Hm−Hs、Hd=Ws、Wd=HsY = 0, X = Hm−Hs, Hd = Ws, Wd = Hs
画像を左(反時計回り)90度回転させる場合には、 If you want to rotate the image left (counterclockwise) 90 degrees,
Y=Wm−Ws、X=0、Hd=Ws、Wd=HsY = Wm−Ws, X = 0, Hd = Ws, Wd = Hs
画像を180度回転させる場合には、 If you want to rotate the image 180 degrees,
Y=Hm−Hs、X=Wm−Ws、Hd=Hs、Wd=WsY = Hm-Hs, X = Wm-Ws, Hd = Hs, Wd = Ws
(但し、Hsは前記分割された第1の画像の高さ、 (Where Hs is the height of the divided first image,
Wsは前記分割された第1の画像の幅、 Ws is the width of the divided first image,
Hmは、前記単位ブロックのすべての画素を満たすように前記分割された第1の画像を修正したときの画像の高さ、 Hm is the height of the image when the divided first image is corrected so as to fill all the pixels of the unit block,
Wmは、前記単位ブロックのすべての画素を満たすように前記分割された第1の画像を修正したときの画像の幅) Wm is the width of the image when the divided first image is corrected so as to fill all the pixels of the unit block)
により、分割された第2の画像の縦方向の開始位置Y、横方向の開始位置X、高さHd及び幅Wdを求めるTo obtain the start position Y in the vertical direction, the start position X in the horizontal direction, the height Hd, and the width Wd of the divided second image.
ことを特徴とする請求項1〜3の何れかに記載の画像変換装置。 The image conversion apparatus according to any one of claims 1 to 3.
該第1符号化データを復号して第1量子化DCT係数を得るステップと、
該第1量子化DCT係数を逆量子化して第1DCT係数を得るステップと、
該第1DCT係数を前記単位ブロック毎に画像の回転又は反転に対応するようにデータ配置を変更し、変換係数を乗算し、単位ブロック毎の配置を変更することで加工された第2DCT係数を得るステップと、
該第2DCT係数を量子化して第2量子化DCT係数とするステップと、
該第2量子化DCT係数を符号化して第2符号化データとするステップと、
該第2符号化データを格納するステップと
を有することで、前記第1の画像を回転または反転させた第2の画像に変換する画像変換方法であって、さらに、
前記第2符号化データにより表示される画像の、各単位ブロック毎の表示開始位置、高さ、幅の表示領域情報を演算するステップと、
該表示領域情報を第2符号化データに付加するステップと
を有し、
前記表示領域情報を演算するステップでは、前記単位ブロックにおける表示画像領域と非表示画像領域を判別し、前記画像の回転又は反転に対応するように非表示画像領域の配置を変更し、
前記第2符号化データを格納するステップでは、前記表示領域情報が付加された第2符号化データを格納する
ことを特徴とする画像変換方法。Each frame is divided into a plurality of unit blocks, and each pixel data in each unit block is subjected to discrete cosine transform (DCT) to obtain a first DCT coefficient. The first DCT coefficient is quantized to be first quantized. For a first image stored as first encoded data, which is a DCT coefficient and the first quantized DCT coefficient is compressed,
Decoding the first encoded data to obtain first quantized DCT coefficients;
Dequantizing the first quantized DCT coefficient to obtain a first DCT coefficient;
The second DCT coefficient is obtained by changing the data arrangement so that the first DCT coefficient corresponds to the rotation or inversion of the image for each unit block, multiplying by the conversion coefficient, and changing the arrangement for each unit block. Steps,
Quantizing the second DCT coefficient into a second quantized DCT coefficient;
Encoding the second quantized DCT coefficient into second encoded data;
An image conversion method for converting the first image into a rotated or inverted second image by storing the second encoded data; and
Calculating display area information of a display start position, height, and width for each unit block of an image displayed by the second encoded data;
Adding the display area information to the second encoded data,
In the step of calculating the display area information, the display image area and the non-display image area in the unit block are determined, and the arrangement of the non-display image area is changed so as to correspond to the rotation or inversion of the image,
In the step of storing the second encoded data, the second encoded data to which the display area information is added is stored.
ことを特徴とする請求項5に記載の画像変換方法。In the step of calculating the display area information, the direction and degree of rotation or inversion to convert the first image into the second image is 90 degrees clockwise (clockwise) or 90 degrees left (counterclockwise). The image conversion method according to claim 5, wherein the display area information is calculated using different calculation formulas depending on whether the rotation or the rotation is 180 degrees.
ことを特徴とする請求項5又は6に記載の画像変換方法。Before the step of calculating the display area information, the method includes a step of determining whether or not the divided original image size and the unit block size match, and if both sizes do not match, the display area information a step of computing a is performed the step of storing the second encoded data to which the display area information is added, when these sizes are matched, according to claim 5, characterized in that not implementing the steps Or the image conversion method of 6 .
画像を右(時計回り)90度回転させる場合には、 If you want to rotate the image 90 degrees to the right (clockwise)
Y=0、X=Hm−Hs、Hd=Ws、Wd=HsY = 0, X = Hm−Hs, Hd = Ws, Wd = Hs
画像を左(反時計回り)90度回転させる場合には、 If you want to rotate the image left (counterclockwise) 90 degrees,
Y=Wm−Ws、X=0、Hd=Ws、Wd=HsY = Wm−Ws, X = 0, Hd = Ws, Wd = Hs
画像を180度回転させる場合には、 If you want to rotate the image 180 degrees,
Y=Hm−Hs、X=Wm−Ws、Hd=Hs、Wd=WsY = Hm-Hs, X = Wm-Ws, Hd = Hs, Wd = Ws
(但し、Hsは前記分割された第1の画像の高さ、 (Where Hs is the height of the divided first image,
Wsは前記分割された第1の画像の幅、 Ws is the width of the divided first image,
Hmは、前記単位ブロックのすべての画素を満たすように前記分割された第1の画像を修正したときの画像の高さ、 Hm is the height of the image when the divided first image is modified to fill all the pixels of the unit block,
Wmは、前記単位ブロックのすべての画素を満たすように前記分割された第1の画像を修正したときの画像の幅) Wm is the width of the image when the divided first image is corrected so as to fill all the pixels of the unit block)
により、分割された第2の画像の縦方向の開始位置Y、横方向の開始位置X、高さHd及び幅Wdを求めるTo obtain the start position Y in the vertical direction, the start position X in the horizontal direction, the height Hd, and the width Wd of the divided second image.
ことを特徴とする請求項5〜7の何れかに記載の画像変換方法。 The image conversion method according to any one of claims 5 to 7, wherein
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003157596A JP4155874B2 (en) | 2003-06-03 | 2003-06-03 | Image conversion apparatus and image conversion method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003157596A JP4155874B2 (en) | 2003-06-03 | 2003-06-03 | Image conversion apparatus and image conversion method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004363750A JP2004363750A (en) | 2004-12-24 |
JP4155874B2 true JP4155874B2 (en) | 2008-09-24 |
Family
ID=34051252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003157596A Expired - Fee Related JP4155874B2 (en) | 2003-06-03 | 2003-06-03 | Image conversion apparatus and image conversion method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4155874B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101037624B1 (en) * | 2009-06-19 | 2011-05-30 | (주)실리콘화일 | Apparatus and method of rotating image without using memory |
WO2012096194A1 (en) * | 2011-01-14 | 2012-07-19 | パナソニック株式会社 | Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device |
-
2003
- 2003-06-03 JP JP2003157596A patent/JP4155874B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004363750A (en) | 2004-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8098959B2 (en) | Method and system for frame rotation within a JPEG compressed pipeline | |
JP4151684B2 (en) | Encoding apparatus, encoding method, encoding program, and imaging apparatus | |
JP4130207B2 (en) | Image processing display device and image processing display method | |
JP4682102B2 (en) | Image coding apparatus and image coding method | |
JP3873168B2 (en) | Digital camera and image processing method | |
JP2007104519A (en) | Apparatus and method for image coding and image decoding | |
JP4579613B2 (en) | Image processing apparatus and method, and imaging apparatus | |
TW200417939A (en) | Image signal generator, digital camera and image signal generationg method | |
JP6278712B2 (en) | Imaging apparatus and control method thereof | |
JP4155874B2 (en) | Image conversion apparatus and image conversion method | |
JP2016005103A (en) | Imaging apparatus and control method therefor | |
US7787700B2 (en) | Signal processing method, signal processing apparatus, computer-readable medium and a data recording medium | |
JP4513487B2 (en) | Video data compression device | |
JP2002218472A (en) | Device and method for decoding variable image rate | |
JP2738136B2 (en) | Blocking device | |
JP4630618B2 (en) | Image generating apparatus and method | |
KR102012715B1 (en) | Imaging apparatus and imaging processing method | |
JP2004165733A (en) | Image converter, image conversion method, and recording medium | |
JPH10108133A (en) | Image pickup device and its control method | |
JP2006254333A (en) | Coding device, coding method, and digital camera | |
JP2001223878A (en) | Picture conversion device, picture conversion method and recording medium | |
JP4720494B2 (en) | Imaging apparatus, imaging method and program, and recording medium | |
JP2003283792A (en) | Imaging apparatus and conversion method of image data | |
JP2009201153A (en) | Digital camera and photographing method | |
JP2006340338A (en) | Image processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060420 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080401 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080528 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080708 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080708 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |