JP2009253470A - 画像符号化装置及びその制御方法 - Google Patents

画像符号化装置及びその制御方法 Download PDF

Info

Publication number
JP2009253470A
JP2009253470A JP2008096560A JP2008096560A JP2009253470A JP 2009253470 A JP2009253470 A JP 2009253470A JP 2008096560 A JP2008096560 A JP 2008096560A JP 2008096560 A JP2008096560 A JP 2008096560A JP 2009253470 A JP2009253470 A JP 2009253470A
Authority
JP
Japan
Prior art keywords
image
data
block
level
frequency conversion
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.)
Granted
Application number
JP2008096560A
Other languages
English (en)
Other versions
JP4958831B2 (ja
Inventor
Hiroki Kishi
裕樹 岸
Takeshi Yamazaki
健史 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008096560A priority Critical patent/JP4958831B2/ja
Priority to US12/411,992 priority patent/US8094726B2/en
Publication of JP2009253470A publication Critical patent/JP2009253470A/ja
Application granted granted Critical
Publication of JP4958831B2 publication Critical patent/JP4958831B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】 オリジナルの解像度は勿論、それより低い解像度の画像を再現する際に、画質劣化が目立たない符号化データを生成することが可能になる。
【解決手段】 デジタルカメラで撮影可能な画像の画素数にはL、M、Sの3通りがある。サイズLが指定された場合、系列変換情報SCに“2”を設定する。また、サイズMが指定された場合、系列変換情報SCに“1”を設定する。そして、サイズSが設定された場合には、系列変換情報SCに“0”を設定する。圧縮処理では、画像データを符号化する際には、系列変換情報に設定された回数だけ、隣接する前記ブロックの境界のデータの不連続性の発生を抑制するためのブロックオーバラップ処理を実行する。
【選択図】 図22

Description

本発明は画像データの符号化技術に関するものである。
昨今、パソコンやモバイル端末の普及により、インターネットを介したデジタルデータの通信(データ通信)が幅広く行われるようになった。このデータ通信において流通するデジタルデータに画像がある。デジタル画像には、コピー,検索,様々画像処理等を比較的容易に行えるという特徴があり、非常に多くの人がデジタル画像を扱うようになってきた。
デジタル画像を効率的に使う上で、ファイルサイズを小さくする画像圧縮は不可欠であり、代表的な技術としてJPEGやPNGなどがある。これら画像圧縮を行うことで画像に歪みを生じることがあり、画質を抑制する手法が研究開発されてきている。また、ファイルサイズを小さくする本来の機能だけでなく、様々な機能を持たせる技術も開発されている。例えばJPEG2000では、低解像度から徐々にオリジナルが持つ解像度の画像までスケーラブルに復号する形式の符号化データの生成が選択できる。
ここで述べた解像度スケーラブル機能を持たせた上で画質を向上させる機能を持った技術も開発されている。この技術を開示した文献としては、例えば、特許文献1が挙げられる。この文献、又は、この文献を基礎にした技術は、一般には、HD Photo(登録商標)と呼ばれるている。具体的には、画像をタイルに分割する。そして、各タイルに対してDCT変換を繰り返して行って階層の系列データを生成する。さらにタイル間で発生するブロック歪みを抑えるために、DCTを行う前もしくはDCTを行っている過程で、隣接する2つのタイルの画素を使って所定の処理を行っている。
特開2006−197573号公報
特許文献1においては、入力画像と同じ解像度の復号画像の画質向上を狙っている。
一方、昨今のデジタルカメラに代表される撮像装置は、1千万画素の撮像解像度を超えている。このような高解像度の画像を、パーソナルコンピュータに代表される情報処理装置の表示装置するには、オリジナルの解像度は高過ぎ、撮像画像の一部しか表示できない。そこで、オリジナル画像の解像度よりも低い解像度の画像データを生成し、表示することが必要になる。しかしながら、特許文献1では、オリジナル画像と同じ解像度の復号画像の画質向上のみを狙っているため、オリジナルの解像度よりも低い解像度の画像を生成すると、画質的に劣ってしまうことがあった。
本発明は、かかる課題に鑑みなされたものであり、解像度の高い画像ほど、そのオリジナルの解像度以下の解像度で復号して表示する傾向があることに鑑み、符号化対象の画像の解像度に応じて、より低い解像度で再現する際のブロックノイズの発生を抑制する効果を高めた符号化データを生成する技術を提供しようとするものである。
かかる課題を解決するため例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
複数の画素で構成される領域をブロック、当該ブロックを複数個内包する領域をマクロブロックと定義したとき、当該マクロブロックを複数個内包する画像データを入力し、前記ブロックを最小単位として処理することでマクロブロックの符号化データを生成し、各マクロブロックの符号化データを予め設定された順に並べることで前記画像データの符号化データを生成する画像符号化装置であって、
前記マクロブロックを複数個内包する画像データを入力する入力手段と、
前記ブロックを単位に周波数変換し、1つのブロックにつき1つのDC成分データと複数のAC成分データとを得る周波数変換手段と、
隣接する前記ブロックの境界のデータの不連続性の発生を抑制するため、前記境界を跨ぐ領域内のデータをフィルタ処理するブロックオーバラップ処理手段と、
符号化対象の前記画像データの解像度に基づき、前記ブロックオーバラップ処理手段の実行回数として、0、1、2回のいずれか1つを設定する設定手段と、
前記周波数変換手段で得られた各成分データを量子化する量子化手段と、
該量子化手段による量子化後の各成分データをエントロピー符号化するエントロピー符号化手段と、
前記周波数変換手段を2回実行し、前記設定手段による設定された回数だけ前記ブロックオーバラップ処理手段を実行する制御手段とを備え、
前記制御手段は、
前記設定手段によって設定された前記実行回数が0である場合:
(a)第1回目の前記周波数変換手段の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第1レベルのDC成分データと、複数の第1レベルのAC成分データを算出させ、
(b)第2回目の前記周波数変換手段の実行によって、前記複数の第1レベルのDC成分データを前記ブロックとして、1つの第2レベルのDC成分データと、複数の第2レベルのAC成分データを算出させ、
前記(a),(b)の処理を前記マクロブロックを複数個内包する前記画像データについて実行させ、
前記設定手段によって設定された前記実行回数が1である場合:
(c)前記ブロックオーバラップ処理手段の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックについて前記ブロックオーバラップ処理を実行させ、
(d)第1回目の前記周波数変換手段の実行によって、前記ブロックオーバラップ処理手段で処理済みのマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第1レベルのDC成分データと、複数の第1レベルのAC成分データを算出させ、
(e)第2回目の前記周波数変換手段の実行によって、前記複数の第1レベルのDC成分データを周波数変換対象として設定し、1つの第2レベルのDC成分データと、複数の第2レベルのAC成分データを算出させ、
前記(c)乃至(d)の処理を前記マクロブロックを複数個内包する前記画像データについて実行させ、
前記設定手段によって設定された前記実行回数が2である場合:
(f)第1回目の前記ブロックオーバラップ処理手段の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックについて前記ブロックオーバラップ処理を実行させ、
(g)第1回目の前記周波数変換手段の実行によって、前記第1回目のブロックオーバラップ処理手段で処理済みのマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第1レベルのDC成分データと、複数の第1レベルのAC成分データを算出させ、
(h)第2回目の前記ブロックオーバラップ処理手段の実行によって、前記第1回目の前記周波数変換手段の実行によって得られた、前記マクロブロックを複数個内包する前記画像データの、複数の第1レベルのDC成分データで構成される各ブロックについて、前記ブロックオーバラップ処理を実行させ、
(i)第2回目の前記周波数変換手段の実行によって、前記第2回目のブロックオーバラップ処理手段で得られた前記第1レベルのDC成分データの集合に含まれる前記ブロックの数分だけ、周波数変換させることを特徴とする。
本発明によれば、オリジナルの解像度は勿論、それより低い解像度の画像を再現する際に、画質劣化が目立たない符号化データを生成することが可能になる。
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
本発明に係る以下に説明する各実施形態では、デジタルカメラにおける実装した場合について説明する。説明を分かりやすくするため、本実施の形態におけるデジタルカメラは超高解像度(1千万画素を超える解像度)で撮影することができる。通常、パーソナルコンピュータ等の汎用の情報処理装置のディスプレイは、せいぜい1600×1200画素(≒200万画素)程度であるため、撮像画像をそのフル解像度で表示することができない。そこで、ディスプレイにオリジナルの解像度よりも低い、中間的な解像度である縮小画像を生成する必要がある。本実施の形態においては、超高解像度画像撮影が行われた際、中間的な解像度でありながらも、画質劣化を抑制した画像を生成できるようにする。
[第1の実施形態]
図21が実施形態が適用するデジタルカメラ(画像処理装置)のブロック構成図である。このデジタルカメラは、撮影部2101、撮影指示部2102、画像処理部2103、画像圧縮部2104、サイズ指定部2105、解像度判定部2106、出力部2107を備える。また、デジタルカメラには、装置全体の制御手段として機能するCPU2108、及び、CPU2108の実行するプログラム及びワークエリアとして使用するメモリ2109を備える。また、各種設定された情報も、このメモリ2109に格納される。
実施形態におけるデジタルカメラにおいて、ユーザーは、撮影に先立ち、撮影画像の解像度(サイズ)をサイズ指定部2105にて設定できる。選択可能なサイズには、L、M、Sの3通りがある。Lサイズは水平方向4000画素、垂直方向3000画素(以下、4000×3000画素という)であり、Mサイズは2000×1500画素、Sサイズは1600画素×1200画素である。すなわち、実施形態のデジタルカメラが有する撮像部210には、4000×3000の解像度を持つ撮像素子が搭載されているものとする。選択したサイズは、メモリ2109の予め設定された領域に保存される。
上記の通り、サイズ指定部2105にて、解像度を設定した後、ユーザは撮影指示部2102に含まれるシャッターボタンを操作すると、指定された解像度の画像を撮影し、画像処理(ホワイトバランス処理等)を行ない、後述する符号化処理を行なう。そして、生成された符号化データを、出力部2107に接続されたメモリカードに保存する処理を行なう。
図22は、シャッターボタンが操作された際のCPU2108の処理手順を示すフローチャートである。なお、AF、AE等の処理は、本願には直接には関係がないので、その説明は省略する。
さて、先ず、CPU2108は、撮影部2101で得られた光電変換した信号をデジタルデータに変換し、その変換後のデータを画像データとして取得し(ステップS2201)、メモリ2109に一時的に格納する(ステップS2202)。
次に、CPU2108は、画像処理部2103を制御し、メモリ2109に格納した画像データに対する画像処理を実行させる(ステップS2203)。この画像処理としては、ベイヤー配列のRGBデータを正規の配列に変換する処理,ホワイトバランス、シャープネス,色処理などが考えられる。画像処理結果の画像データは、メモリ2109に再び格納される。画像処理が終了すると、処理はステップS2204に進み、設定されたサイズ情報をメモリ2109から取得し(ステップS2204)、ユーザーが指定したサイズを判定する(ステップS2205)。
もしサイズLが指定されていれば(ステップS2205でYes)、画像圧縮に関する2つの情報、すなわち、系列変換情報SCと符号列形成情報CFそれぞれ対して“2”を設定し、画像圧縮部2104に設定する(ステップS2206)。つまり、系列変換情報と符号列形成情報は、画像圧縮部2104の圧縮符号化する際のパラメータと言うことができる。
なお、系列変換情報SCと符号列形成情報CFの詳細は後述するが、本実施形態における系列変換情報SCについては“0”、“1”、“2”の3つがある。ここで、“2”は中間解像度の画質を向上させるための処理を指示する情報である。また、系列変換情報SCは、後述する周波数変換処理の実行回数を示す情報としても利用される。符号列形成情報CFについては“1”、“2”の2つがあり、“2”は中間解像度優先による符号列の形成を指示する情報である。系列変換情報SC、符号列形成情報CFを共に“2”にした場合、複雑な処理が介在することになり、処理に要する時間も増える。しかし、サイズLの画像の場合、その画素数が非常に多く、実際に表示する段階では、最高解像度で表示することは希であり、むしろ最高解像よりも数段低い中間解像度で表示する可能性が高いと言える。そこで、実施形態では、表示処理の後の処理に応じた処理を行なうため、サイズLが設定された場合、上記のように、系列変換情報SC、及び、符号列形成情報CFを共に“2”に設定する。
一方、指定されたサイズがL以外の場合(指定されたサイズがM、又はSの場合)、処理はステップS2207に進み、指定サイズはMであるか否かを判定する。サイズMが設定されている場合、ステップS2208にて、系列変換情報SCとして“1”、符号列形成情報CFとして“1”を、画像圧縮部2104に設定する。
また、指定されたサイズがM以外、すなわち、サイズSが設定されていると判定した場合、ステップS2209にて、系列変換情報SCとして“0”、符号列形成情報CFとして“1”を、画像圧縮部2104に設定する。
この後、処理はステップS2208に進み、画像圧縮部2104に対して圧縮処理を開始させる。
次に、実施形態における画像圧縮部2104の詳細を説明する。
本実施形態の画像圧縮部2104は、先に示した特許文献1で示したHD Photo技術を採用する。そこで、この技術の基本にしつつ、本実施形態の特徴部分を以下に説明する。
図1は、実施形態における画像圧縮部2104のブロック構成図である。
画像圧縮部2104は、色変換部101、系列変換部102、量子化部103、係数予測部104、係数スキャン部105、106はエントロピー符号化部、107は符号列形成部である。
先ず、用語について説明する。ブロックとは符号化処理の最小単位であり、実施形態では4×4画素のサイズである。マクロブロックとはブロックを複数個内包する単位であり、実施形態では4×4個のブロック(言い換えれば、16×16画素)を示す。タイルとは、マクロブロックを複数個内包する単位であり、M×N個(M,Nは1以上の整数であって、いずれか一方は2以上の整数)のマクロブロックで構成される。実施形態では、M=6、N=4として説明する。すなわち、1タイルのサイズは、6×4個のマクロブロック=96×64画素のサイズである。なお、ここで示すブロック、マクロブロック、タイルの定義は一例であって、それらのサイズによって本願発明が限定されるものではない。画像圧縮部2104は、タイルを単位に圧縮符号化処理を行なうものであるが、その処理における最小処理単位はブロック(4×4画素)である。
色変換部101はR、G、B(実施形態では各成分が8ビット=256階調とする)データをY、U、Vの色空間に変換し、変換結果を系列変換部102に出力する。RGB→YUVの変換は、例えば図3に示す変換式に従って行なう。
Y,U,Vの各コンポーネントの符号化処理は個別に処理される。そこで、説明を簡単なものとするため、以下では、Y(輝度)について説明する。すなわち、以下の説明にて画像データとはYコンポーネントで表わされる画像データを意味することに注意されたい(U,Vの各コンポーネントについては、適宜、置き換えて把握されたい)。
系列変換部102は、図2に示す如く、第1変換部201、第2変換部202、及び、メモリ203を有する。ここで、第1変換部201は必須の処理であり、且つ、系列変換部102の制御も司る。一方、第2変換部202はオプション的な処理であって、実行してもしなくて構わない。また、第2変換部202に処理を実行させるか否かのハンドリングは第1変換部201が行なう。第2の変換部202の処理を行なう場合、その分だけ符号化処理にかかる負担が増え、処理に要する時間も増えるが、復号した画質(特に、オリジナルの解像度よりも低い解像度の画像の画質)はより好ましいものとなる。メモリ203は先に説明した系列変換情報SCを保持する。
Yコンポーネントデータは系列変換部102に入力されると、図5に示したようにまず画像はタイルのサイズに分割される(実施形態では、1つのタイルは6×4個のマクロブロックで構成される)。メモリ203には系列変換情報SC(0、1、2のいずれか)が格納されており、その情報に従って、第1変換部201、第2変換部202は、図4のフローチャートに従って処理を実行する。
先ず、ステップS401では、第1変換部201は、系列変換情報SCをメモリ203から取得する。そして、ステップS402において、第1変換部201は、その系列変換情報SCが“0”であるか否かを判定する。
系列変換情報SCが“0”である場合、第1変換部201は、第2変換部202に対すして変換処理を要求しない。そして、第1変換部201はステップS403、S404にて、周波数変換処理を2回実行する。この処理を、図6を用いて具体的に説明する。
先ず、1つのマクロブロックを構成する4×4個のブロックのそれぞれに対し、周波数変換処理を行なう(第1ステージ)。1つのブロックからは、1個のDC成分(直流成分)データと15(=4×4−1)個のAC成分(交流成分)データが得られる。上記の通り、1つのマクロブロックは4×4個のブロックで構成されているので、1つのマクロブロックからは4×4個のDC成分データと、15×4×4個のAC成分データが得られる。この4×4個のDC成分値を集めたものをDCブロックと言う。
上記がステップS403の処理、すなわ、第1回目の周波数変換処理である。
次に、ステップS404の処理(第2回目の周波数変換処理)について説明する。
ステップS404における第2回目の周波数変換対象は、上記のDCブロックである(第2ステージ)。この結果、DCブロックから1個のDC成分値と、15個のAC成分値が得られる。後者のAC成分値は、DCブロック(4×4画素)のDC成分から算出したAC成分であるので、図6ではACDC成分として示している。
なお、ステップS403、S404で生成される成分を区別するのであれば、1回目(ステップS403)で得られるDC成分データ、AC成分データを、第1レベルのDC成分データ、第1レベルのAC成分データとも言う。そして、2回目(ステップS404)で得られるDC成分データ、ACDC成分データを、第2レベルのDC成分データ、第2レベルのAC成分データとも言っても構わない。
ここで、周波数変換処理は図7のフローチャートに示す手順で行われる。なお、同フローチャートは1ブロック(4×4画素)についてのものである点に注意されたい。すなわち、マクロブロックは4×4ブロックで構成されているので、第1回目の周波数変換処理(ステップS403)では、図7のフローチャートに従った処理を16回行なうことになる。
なお、図7のフローチャートにおけるステップS71乃至S78における変換処理(フィルタリング処理)は、図8(b)乃至(d)の同名の変換回路(フィルタリング回路)のいずれかで実行される。また、図7の各変換処理での引数a乃至pは、図8(a)の着目ブロック内の画素a乃至pの位置に対応する。
図7の最初の処理ステップ71の変換処理T_H(a,d,m,p)は、図8(b)の回路構成で実行することを示している。すなわち、図8(b)の入力端子X1,X2,X3,X4に、図8(a)におけるa,d,m,pをそれぞれセットし演算を開始させる。そして、出力端子Y1、Y2、Y3、Y4に現れる4つの値で、元のa,d,m,pの値を更新する。ステップS72以降でも、同様である。なお、ステップS78では、データl,oの正負の符号を反転した後、T_Odd_Odd演算処理(図8(d)参照)を行なうことを示している。
図7の処理をDC成分について平たく言えば、最初の4つの処理(ステップS71乃至74)では、着目ブロック(4×4画素)のデータから、仮の低周波成分を左上隅の2×2の位置(図8ではa,b,e,fの位置)に集中させる。そして、ステップS75では、左上隅の{a,b,e,f}の位置に格納された2×2個の仮低周波成分のデータを用いて、図8(a)の“a”の位置に、着目ブロックの1つのDC成分を格納させる。
また、15個のAC成分については、ステップS71乃至S78の処理過程を経て生成していることになる。
1回目の周波数変換処理では、図7の着目マクロブロックに含まれる16個のブロックそれぞれについて行なう。また、2回めの周波数変換処理では、着目マクロブロックから得られたDCブロック(4×4個のDC成分値)が、図8(a)の配列にあるものと見なし、図7のフローチャートに示す処理を1回行なえば良いことになる。
上記の通り、2回の周波数変換処理で、1つのマクロブロックからは、1つのDC成分、15(=4×4−1)個のACDC成分、240(=15×4×4)個のAC成分が得られる。
なお、実施形態における符号化処理では、タイル単位に符号化データを生成する。実施形態では、1タイルは6×4個のマクロブロックで構成されるものとしているので、上記ステップS403、S404はこの1タイルに含まれるマクロブロックの数だけ処理することになる。
図4の説明に戻る。ステップS402において、第1変換部201は、メモリ203から取得した系列変換情報SCが“0”以外、すなわち、SC=1又は2であると判断した場合、ステップS405に進む。ステップS405では、第1変換部201は、第2変換部202に対して変換処理の開始指示を行なう。
この第2変換部202の処理は、第1変換部201がブロック単位の演算を基礎にしていることに起因するブロック境界の歪みを補正するため、ブロックの境界を跨ぐ(オーバーラップする)範囲で補正処理を行なう。それ故、この第2の変換部202が実行する処理を以降、ブロックオーバラップ処理という。
第1変換部201によって起動指示を受けた第2変換部202は、図9に示したように入力タイル中のブロック(4×4画素)の境界を跨ぐ(オーバーラップする)windowを用いてブロックオーバラップ処理を行なう(ステップS404)。
このブロックオーバラップ処理を、図19のフローチャートに示す通りである。図19には、先に示した図7のフローチャートで示した処理に加えて、2つのフィルタ処理、すなわち、T_s()、及び、T_Ro()が新に追加される。このT_s()、及び、T_Ro()は図20(a),(b)の回路構成で実現する。T_s()、T_R処理は、2入力、2出力のフィルタリング処理である。
ブロックオーバラップ処理は、先に説明した周波数変換処理の処理対象のブロックを跨ぐ範囲を処理対象とすることで、周波数変換するブロック境界での不連続性の発生を抑制できる。
この後、処理は、ステップS406に進み、第1変換部201は、周波数変換処理を1回を行なう。このステップS406における周波数変換処理は、図6のマクロブロックに相当する領域内の4×4個のブロックそれぞれについて周波数変換を行なうものである。すなわち、ステップS403と同様に、16個のブロックを周波数変換し16個のDC成分と、240個のAC成分を算出する処理である。実施形態の場合、1つのタイルに含まれるマクロブロックの数は6×4個であるので、上記処理を24回実行することになる。
次に、ステップS407において、第1変換部201は、メモリ203から取得した系列変換情報SCが“1”であるか否かを判断する。“1”であると判断した場合には、ステップS409に処理を進める。一方、“1”以外、すなわち、系列変換情報SCが“2”であると判断した場合、処理はステップS408に進み、第2変換部202に対して、2回めのブロックオーバラップ処理(図19参照)を実行させる。
なお、ステップS408における第2変換部202が実行するブロックオーバラップ処理の処理対象となるのは、6×4個のDCブロックとなる。
ステップS409では、2回目の周波数変換処理を実行する。この2回めの周波数変換処理はステップS404と同じである。但し、処理対象は、ステップS406、もしくはステップS408の処理を経た1タイルに含まれる複数のDCブロックの集合に対して行なう。すなわち、1つのタイルは6×4個のマクロブロックを内包し、1マクロブロックからDCブロックが1個生成される。従って、24個のDCブロックについて周波数変換を行なうことになる。
以上の処理をまとめると、本実施形態のマクロブロックに対する処理は次の通りである。
・撮影する画像サイズがSサイズの場合:
周波数変換処理→周波数変換処理
・撮影する画像サイズがMサイズの場合:
ブロックオーバラップ処理→周波数変換処理→周波数変換処理
・撮影する画像サイズがLサイズの場合:
ブロックオーバラップ処理→周波数変換処理→ブロックオーバラップ処理→周波数変換処理
以上説明したのが、図1における系列変換部102の処理である。
系列変換部102は上記の変換結果を、後続する量子化部103に出力する。量子化部103は、Qパラメータ(以下QPと呼ぶ)を設定し、この設定されたQPと図10の変換式に従って量子化ステップを算出する。なお、HD Photoによれば、ここで述べるQPの設定方法としては、以下の3つの自由度があり、これらの組み合わせでQPを設定できるとしているので、本実施形態でもこれを準拠するものとする。
・自由度軸1:空間的自由度:
1.1 画像中全マクロブロックに対して同一のQPを設定.
1.2 タイル内における全マクロブロックに対して同一のQPを設定.
1.3 タイル内の各マクロブロックに対して自由にQPを設定.
・自由度軸2:周波数的自由度:
2.1 全周波数成分に対して同一のQPを設定.
2.2 DC成分とローパス成分(ACDC成分)に対して同一のQPを設定、ハイパス成分(AC成分)には異なるQPを設定.
2.3 ローパス成分とハイパス成分で同一のQPを設定、DC成分には異なるQPを設定.
2.4 各周波数成分に異なるQPを設定.
・自由度3:カラープレーン的自由度:
3.1 全カラープレーンでQPを同一に設定.
3.2 輝度プレーンに1つのQPを設定、輝度以外のプレーンに対して同一のQPを設定.
3.3 各プレーン別々にQPを設定.
例えば、従来のJFIFにおける量子化は、空間的自由度では1.1であり、カラープレーン的自由度では3.2である。なお、JFIFではマクロブロック中、各係数に量子化ステップを割り当てるため、周波数的自由度にはあてはまる項目はない。
さて、上記のようにして量子化部103による量子化処理を終えると、量子化後のデータを係数予測部104に出力する。係数予測部104は、係数予測を行い、その予測誤差を出力する。係数予測では、DC成分,ローパス成分,ハイパス成分それぞれ別個のルールに基づいて実施する。なお、予測演算の方法は各タイル単位で決定されて、また、隣接タイルの係数を使わない。以下、係数予測部104による各成分の予測演算について説明する。
(1)DC成分予測
先に説明したように、実施形態の場合、1つのタイルは6×4個のマクロブロックで構成される。1つのマクロブロックからは1つのDC成分(図6参照)が得られるわけであるから、1つのタイルからは6×4個の量子化処理済みのDC成分が得られる。
係数予測部104のDC成分予測処理(予測誤差算出処理)は次の通りである。
1タイル内のDC成分値をラスタースキャンする。図11は、タイル内のスキャン処理中の着目マクロブロックのDC成分Xと、相対的に隣接する近傍DC成分D、T、Lの関係を示している。ラスタースキャンするわけであるから、着目DC成分Xの近傍に位置する近傍DC成分D、T、Lは、既に予測処理(予測誤差算出)を終えた位置にあることになる点に注意されたい。
なお、着目DC成分Xが、左上隅位置にあるとき、近傍DC成分D、T、Lの全てはタイル外に位置する。また、着目DC成分Xが、左上隅位置以外の1ライン目にあるとき、近傍DC成分D、Tはタイル外に位置する。そして、着目DC成分Xが、左上隅位置以外の左端にあるとき、近傍DC成分D、Lはタイル外に位置する。このように、参照すべきタイル外にある近傍DC成分は、所定値(例えば、“0”)を持つものとみなす。この所定値は、復号側と同じになれば良いので、必ずしも“0”でなくても構わない。
以下、図12のフローチャートに従ってタイル内のDC成分予測処理を説明する。
先ず、ステップS1201では、近傍DC成分値であるDとTの差分絶対値(水平方向差分絶対値)ABS_HORを算出し、近傍DC成分値であるDとLの差分絶対値(垂直方向差分絶対値)ABS_VERを算出する。
そして、ステップS1202にて、ABS_HOR<<ABS_VERであるか、すなわち、ABS_HORがABS_VERより十分に小さいか否かを判断する。具体的には、或る正の閾値Thを用い、次式を満たす場合に、ABS_HORがABS_VERよりも十分に小さいと判断する。
ABS_HOR−ABS_VER<Th
ステップS1202の処理を平たく説明するのであれば、着目タイル(図示のXの位置)近傍では、垂直方向よりも、水平方向に似通った画像が連続しているか否かを判断するものである。従って、ステップS1202にて、ABS_HOR<<ABS_VERであった場合、処理はステップS1203に進み、着目DC成分Xの予測値Pとして左隣のDC成分Lを用いることに決定する。
また、ステップS1202にて、Noと判断された場合、ステップS1204に処理を進める。このステップS1204では、ABS_HOR>>ABS_VERであるか、すなわち、ABS_VERがABS_HORより十分に小さいか否かを判断する。これは、ステップS1202と同様であり、次式を満たす場合に、ABS_VERがABS_HORよりも十分に小さいと判断する。
ABS_VER−ABS_HOR<Th
ABS_VER<<ABS_HORであった場合(ステップS1204がYesの場合)、着目DC成分Xと垂直方向に隣に位置するDC成分Tとの差が小さくなる確率が高いと言える。従って、処理はステップS1205に進み、着目DC成分Xの予測値Pとして上隣のDC成分Tを用いることに決定する。
また、ステップS1204にて、Noと判断された場合、ステップS1206に進み、着目DC成分Xの予測値Pとして、(T+L)/2を用いることに決定する。なお、(T+L)/2の算出は、T+Lを算出し、その後で、1ビット下位方向にシフトすることで得られる(小数点以下は切り捨て)。
上記のステップS1203、1205、1206のいずれかによって着目DC成分Xの予測値Pが求まると、ステップS1207にて、着目DC成分Xと予測値Pとの差分を予測誤差として算出する。
この後、処理はステップS1208に進み、着目タイル内の全DC成分の予測誤差算出を終えたか否かを判断する。この判断が否(No)の場合には、ステップS1209にて、着目DC成分Xの位置を次の位置に更新し、ステップS1201に戻る。
以上のようにして、着目タイル内の6×4個のDC成分の予測誤差算出処理が行われる。
(2)ローパス成分予測
図13は、1つのマクロブロックの量子化後のACDC成分値の配列を示している。この配列は、1つのマクロブロックに対して、2回めの周波数変換を行なったACDC成分値(図6参照)でもある。ローパス成分の予測処理の対象となるのは、図13における{1,2,3}で示されるACDC成分か、同図の{4、8、12}で示されるACDC成分のいずれか一方である。例えば、図13におけるACDC成分{4,8,12}を予測処理すると決定された場合、それ以外の{1,2,3,5,6,7,9,10,11,13,14,15}の位置のACDC成分は予測誤差算出処理は行なわない。
なお、着目マクロブロックが、タイル内の左端や上端の位置にあるとき、参照する着目マクロブロックに隣接するマクロブロックは存在しない。このように参照すべきマクロブロックが存在しない場合、その存在しないマクロブロックでは、{1、2、3}を予測誤差算出対象として処理したものと見なす。但し、{4、8、12}を予測誤差算出対象としても構わない。要するに、符号化側と復号側で共通にすればよい。
図14は、ローパス成分予測処理の処理手順を示すフローチャートである。以下、このフローチャートに従って説明する。
ステップS1401では、着目ブロックの左隣のマクロブロックのDC予測方向が水平方向であり、且つ、着目マクロブロックのDC成分の量子化パラメータQP_Cと、着目マクロブロックの左隣のマクロブロックのDC成分の量子化パラメータQP_Lとが等しいか否かを判断する。この2つの条件を満たす場合(ステップS1401の判断やYes)、着目ブロックの予測方向を水平方向として決定する。すなわち、図13における{1,2,3}を予測誤差算出対象として決定し、それ以外は予測誤差算出対象外にする。そして、ステップS1406にて、予測誤差算出を行なう。
また、ステップS1401でNoと判断された場合、ステップS1403に処理を進める。このステップS1403では、着目ブロックの上隣のマクロブロックのDC予測方向が垂直方向であり、且つ、着目マクロブロックのDC成分の量子化パラメータQP_Cと、着目マクロブロックの上隣のマクロブロックのDC成分の量子化パラメータQP_Tとが等しいか否かを判断する。この2つの条件を満たす場合、着目ブロックの予測方向を垂直方向として決定する。すなわち、図13における{4,8,12}を予測誤差算出対象として決定し、それ以外は予測誤差算出対象外にする。そして、ステップS1406にて、予測誤差算出を行なう。
また、ステップS1403の判断がNoの場合、着目マクロブロック内のACDC成分については予測誤差算出は行なわず、本処理を終える。
(3)ハイパス成分予測
図15(a)乃至(c)はハイパス成分の予測方向(3通り)を示す図である。ここで言うハイパス成分は、図6における1回めの周波数変換した際に得られた4×4個のブロックの各DC成分を除いたAC成分である(図6参照)。また、周波数変換した1つのブロックは、1つのDC成分と、15個のAC成分が得られるが、図示では、このAC成分についてその配列の位置を示すため、1乃至15の番号を付した。また、ハイパス成分の予測を求める対象は、図15(a)における{1、2、3}のAC成分、{4、8、12}のAC成分のいずれかになる。例えば、{1、2、3}のAC成分について予測誤差を求めると決定した場合、{4、5、6、…、15}のAC成分は予測誤差算出対象外にする。
図16は、ハイパス成分の予測処理を示すフローチャートであり、以下、同図に従って説明する。
着目タイルの各ブロックの左端の{4、8、12}の位置のACDC成分値のエネルギー値E_Lと、着目タイルの各ブロックの上端の{1,2,3}のエネルギー値E_Tを求める。着目タイルには、4×4個のブロックが存在する。E_L値は、16個のブロックの{4、8、12}の位置にあるACDC成分の絶対値の合計値で良い。また、E_T値は、16個のブロックの{1、2、3}の位置にあるACDC成分の絶対値の合計値で良い。
ステップS1601では、E_LがE_Tに対して十分に小さいか否かを判定する。予め設定された正の閾値Thを用い、次式を満たすか否かを判定すればよい。
E_L−E_T<Th
E_L<<E_Tであると判断した場合、着目ブロックのAC成分の予測誤差を求める方向は水平方向に決定し、ステップS1602にて各ブロックの{4、8、12}の位置にあるAC成分を、図15(a)に示す水平方向にスキャンし、予測誤差を求める。
また、ステップS1601の判定がNoの場合、処理はステップS1605に進み、E_TがE_Lに対して十分に小さいか否かを判定する。上記の閾値Thを用い、次式を満たすか否かを判定すればよい。
E_T−E_L<Th
ステップS1605にて、E_T<<E_Lであると判断した場合、着目ブロックのAC成分の予測誤差を求める方向は垂直方向に決定する。そして、ステップS1604にて各ブロックの{1、2、3}の位置にあるAC成分を、図15(b)に示す水平方向にスキャンし、予測誤差を求める。
また、ステップS1605の判断がNoの場合、着目マクロブロックのAC成分については予測誤差算出は行なわない(図15(c))。
なお、1つのタイルは、実施形態の場合、6×4個のマクロブロックが含まれるので、最終的に出力されるタイル毎の符号化データのヘッダには、各マクロブロックのスキャン方向が水平、垂直、スキャン無しの情報を格納しておく。
以上が係数予測部104の処理の説明である。この係数予測部104による予測処理の結果、DC成分、ACDC成分、AC成分の各予測誤差と、予測誤差を算出しなかった複数の成分値が係数スキャン部105に出力される。
係数スキャン部105は、1タイル分の上記の情報を格納するバッファを有し、各成分(予測誤差、予測誤差を算出していない成分値)を、JPEG方式の係数スキャンと同様にジグザグスキャンを行い、内部バッファ内に並べ替える。この詳細は、HDPhotoを開示している文献、もしくはHDPhoto規格書に記述されているので、ここでの詳述は省略する。
エントロピー符号化部106は、係数スキャン部105内の内部バッファに並べられた値についてエントロピー符号化を行なう(ハフマン符号語の割り当て処理を行なう)。
本実施形態においては、DC成分については、隣り合うブロック間で差分を取った上で差分値をハフマン符号する。ローパス成分,ハイパス成分についてはジグザグスキャン順に沿って、ゼロランの乱数と非ゼロ係数の組み合わせに対して2次元ハフマン符号化を実施する。2次元ハフマン符号化については、JPEGGと同様な手法で行うものとする。
1つのタイルのエントロピー符号化を終えると、符号列形成部107はエントロピー符号化の結果となる符号化データを並べ変え、先頭にヘッダをつけて符号列を形成する処理を行なう。
実施形態における1タイルの符号列の配列形式は2種類ある。1つは、スペーシャルモード(空間順符号列)であり、もう1つはフリークエンシーモード(解像度順符号列)である。
スペーシャルモードは、図17に示したとおり、タイル内においてラスタースキャン順にマクロブロック単位にデータを並べたデータ構造である。1つもマクロブロックのデータは、DC、ACDC,ACの符号化データの順である。
一方フリークエンシーモードは、図18に示すように、タイル内の各DC成分の符号化データを並べ、後続してACDC成分の符号化データ、そして、DC成分の符号化データの並べる。つまり、低周波から高周波に向かう順に符号化データを並べる。
スペーシャルモードは、オリジナル画像を最初から再現する際に都合の良いフォーマットである。一方、後者、すなわち、フリークエンシーモードは、オリジナルの画像の解像度よりも低い解像度(中間解像度)の画像を再現する場合に都合が良い。すなわち、徐々に解像度をあげて再現する場合に適したものと言える。
なお、図18におけるスペーシャルモードの符号化データ中の「FLEXBITS」について簡単に説明する。HD Photoの符号化データでは、各成分値(予測誤差値を含む)は、その成分値を表わす多ビットの或るビット位置を境にし、その上位ビット群と下位ビット群に分ける。上位ビット群は、連続して同じ値になる確率が高いので符号化対象とする。下位ビット群で表わされる値は、連続性が無いので符号化しない。FLEXBITSは、各成分値(予測誤差値を含む)の下位ビットの未符号化のデータで構成されるものである。
さて、本実施形態では、先に説明した符号列形成情報CFが“2”の場合、フリークエンシーモードに従った順に符号化データを並べて符号系列を生成する。一方、符号列形成情報CFが“1”の場合には、スペーシャルモードに従った符号系列を生成する。かかる点を平たく言えば、符号化対象の画像の解像度が高い(実施形態では、サイズL以上)の画像を符号化する場合、その画像を構成している画素が非常に多く、一般的に、ユーザは、それよりも低い解像度の画像を見る(復号する)可能性が高いので、フリークエンシーモードに従った符号列を形成するようにした。一方、サイズL未満の場合には、スペーシャルモードに従った符号列を形成するようにした。
なお、フリークエンシーモードとスペーシャルモードを決定する際の閾値として、実施形態では、サイズL以上か未満かで決定するものとしたが、サイズM以上かそれ未満かとしても構わない。特に、昨今のデジタルカメラは、撮像可能な画素数は増える一方であり、撮影できるサイズも3種類ではなく、4種類以上も備えることになるであろうから、ユーザが閾値となるサイズ(画素数)を設定するようようにしても構わない。いずれにしても、どの解像度以上からスペーシャルモードにするかの設定情報は、不揮発性メモリに保持し、この保持された情報に従って、符号列を形成する。
当業者であれば容易に理解できるように、スペーシャルモードの場合、マクロブロック単位に符号列を形成できるので、符号系列の生成は比較的簡単な処理である。一方、フリークエンシーモードは、タイル全体の符号化が終了しないと、符号列を生成することができないので、その分だけ処理に時間を要する。ただ、後者の方法を取ることで、復号再生の初期段階で縮小画像を表示することができるため、アプリケーションとしての価値を高めることが可能となる。
なお、フリークエンシーモードとスペーシャルモードは、1つの画像について一義的に決まるので、ファイルヘッダに、いずれのモードであるかを示す情報を格納することになる。また、ファイルヘッダには、これ以外にも、QP,予測方法,ハフマン符号化のテーブル,符号列の形成方法といった、符号化方法に関する情報が格納される。また、タイルヘッダには、AC成分の予測処理におけるスキャン方向を示す情報が格納されることになる。
以上説明したとように、本第1の実施形態によれば、撮影する画像のサイズが大きいほど、系列変換部102はブロックオーバラップ処理の実行回数(最大2回)を多くする。この結果、中間解像度で再現する画像のブロックノイズが目立つことが無くなり、良好な画像を再現できるようになる。
また、撮影する画像のサイズがLサイズ以上の場合、生成される符号列のデータ構造がフリークエンシーモードとなる。従って、オリジナルの解像度以下の中間解像度の画像を復号する際には、復号処理対象外のデータをスキップして復号することが可能になり、中間解像度の画像の復号処理を高速なものとすることが可能になる。
なお、実施形態では、符号化対象の画像データに複数のタイルが含まれるものとして説明したが、符号化対象画像データ=1タイルとしても構わない。これは以下に説明する各実施形態でも同様である。
<第2の実施形態>
上記第1の実施形態では、デジタルカメラに適用した例を説明したが、本発明はデジタルカメラのみに限定されるものではない。本第2の実施の形態では、デジタルカムコーダへの適用例を説明する。図27に示したように、当該カムコーダは時系列画像撮影中(動画像撮影中)に、ユーザーが高解像度の静止画を撮影することを可能にするものである。そして蓄積媒体の有効利用のため、静止画を動画像のフレームサイズにまで縮小処理(解像度ダウン処理)する。そして、その縮小した静止画を、その撮影タイミングにおける動画像用のフレーム画像として活用する。その際、縮小処理で得られる中間解像度の画質は高い方が望ましいことは言うまでもない。
本第2の実施形態のデジタルビデオカメラのブロック構成図を図23に示す。
図23において、図21と同じ機能を持つものについては同符号を付した。図23は、図21におけるサイズ指定部2015、撮影指示部2012に替えて、動画撮影指示部2301、静止画撮影部2302が有する点で異なる。なお、撮影部2101は、水平方向4000画素、垂直方向3000画素の解像度で撮影可能な撮像素子を有し、動画像撮影時には640×480画素程度の解像度で撮影し、静止画は4000×3000画素の高解像度で撮影するものとする。
本第2の実施の形態におけるカムコーダは、ユーザが動画撮影指示部2301で動画撮影の指示を行なっている最中に、静止画撮影指示部2302を介して静止画の撮影を可能にする。
図24のフローチャートでは、動画撮影指示部2301がユーザーに指示され、動画像を撮影、記録を行なう場合の手順を示している。
ユーザから動画撮影の指示を受けると(ステップS2401)、静止画撮影の指示の有無を確認する(ステップS2402)。言い換えれば、解像度の高い画像の撮影指示を行なったか否かを判断する。もし静止画撮影の指示があった場合、処理はステップS2403に進み、撮影部2101から高解像度静止画を取得し、メモリ2109へ格納する。そして、ステップS2404にて、画像処理部2103で所定の画像処理を指示して、且つ、画像圧縮部2104に与える2つのパラメータ系列変換情報SCと符号列形成情報CFそれぞれを“2”を設定する。そして、ステップS2405にて、画像圧縮部2104に圧縮符号化処理を開始させる。この結果、高解像度の画像データの符号化データがメモリ2109に保存される。
また、このとき、生成された符号化データから、動画像のフレームの解像度まで落とした画像を復号し、その復号画像を動画像の1フレームとしてメモリ2109に保存する。
一方、ステップS2402にて、静止画撮影の指示がないと判断した場合、ステップS2406にて、撮影部2101から動画フレームの解像度の画像データを取得し、メモリ2109へ格納する(ステップS2406)。そして、画像処理部2103で所定の画像処理を指示して、画像圧縮方法に関する情報として系列変換情報と符号列形成情報それぞれ対して“1”を設定し(ステップS2407)、画像圧縮部2104に出力する(ステップS2405)。
画像圧縮部2104の処理については、第1の実施の形態と同様であり説明を割愛する。
以上説明したとおり、本第2の実施の形態におけるカムコーダは、動画撮影中に静止画撮影した際、その静止画の中間解像度画像を動画の1フレームとして活用できる。また、動画シーケンスの品位をよくするために、中間解像度画像に対して高画質化処理を実施する。
<第3の実施形態>
第3の実施形態を説明する。上記第1,第2の実施形態における符号化対象の画像データは、撮像部2101で撮影した画像であった。本第3の実施形態では、パーソナルコンピュータに代表される情報処理装置(以下、PCという)上で実行するアプリケーションプログラムでもって、画像圧縮符号化する例を説明する。
昨今のPC上で実行されるOS(オペレーティングシステム)は、仮想的なメモリ(クリップボードと呼ばれる一時待避メモリ)に各種アプリケーションで扱っているデータをコピーし、別のアプリケーションに張り付けることが可能になっている(一般には、「コピー&ペースト」と呼ばれる機能である)。
当然、上記OS上で実行可能な文書や画像編集アプリケーションも、この機能を利用する、もしくは出来るようになっている。例えば、MS−Word(登録商標)やPhotoshop(登録商標)というアプリケーションがこれに相当する。すなわち、アプリケーションでページ単位に編集中に、或るページに別のアプリケーションやビューワで表示された画像をコピー&ペーストすることができる。
そこで、本第3の実施形態では、クリップボードに格納された情報が画像データであって、その画像データの挿入(張り付け)の指示があった場合、アプリケーションが管理するページのサイズと画像データのサイズとを比較する。そして、画像のサイズがページサイズ以下である場合には、その張り付けられた画像をスペーシャルモードの画像を張り付け、画像のサイズがページサイズを超える場合には、フリークエンシーモードの画像を張り付ける。
本第3の実施形態におけるアプリケーションプログラム(文書処理アプリケーションとする)は、図25の構成になる。同図に示すように、アプリケーションプログラムは、画像入力部2501、サイズ判定部2502、画像圧縮部2503、ファイル構成部2504、ファイル出力部2506で構成される。各処理部は、関数、もしくはサブルーチンで実現することになる。
以下、図25の構成における処理手順を図26のフローチャートに従って説明する。
ユーザがアプリケーションの実行を指示すると、このアプリケーションプログラムがハードディスクからRAMに読込まれ、CPUがそのアプリケーションプログラムを実行する。以下は、アプリケーションを実行するCPUの処理である。
ユーザインタフェースを介して、或るページにクリップボードに格納された画像の挿入の指示があると、画像入力部2501を使ってクリップボードのラスター画像を入力する(ステップS2601)。続いて、サイズ判定部2502で入力された画像のサイズが文書のページのサイズより大きいか否かを判定する(ステップS2602)。
もし挿入対象の画像のサイズが文書のページサイズより大きいと判断した場合(ステップS2602でYes)、画像圧縮方法に関する情報として系列変換情報SCと符号列形成情報CFそれぞれを“2”に決定する(ステップS2603)。そして、決定した系列変換情報SCと符号列形成情報CFをパラメータとして、画像圧縮部2503に設定し、圧縮符号化処理を実行させる。
一方で、挿入対象の画像のサイズが文書のページのサイズより以下の場合(ステップS2602でNo)、画像圧縮方法に関する情報として系列変換情報SCと符号列形成情報CFそれぞれを“1”に決定する(ステップS2604)。そして、決定した系列変換情報SCと符号列形成情報CFをパラメータとして、画像圧縮部2503に設定し、圧縮符号化処理を実行させる。
画像圧縮部2503では、先に説明した第1の実施形態と同様の処理をコンピュータプログラムに従って実行する(ステップS2605)。ファイル構成部2504は、生成された符号化データを画像符号化データファイルとして、該当するページに挿入する(ステップS2606)。なお、このとき、生成された画像符号化データファイルをハードディスクに格納しても構わない。また、画像符号化データや打ち込まれたテキスト情報をファイル化して出力部2505へ出力しても構わない。
以上説明したとおり、本第3の実施形態によれば、挿入しようとする画像のサイズが文書のページのサイズより大きい場合に中間解像度画像を使用することを想定して、画質を向上させる。
なお、第3の実施形態では、クリップボードを介して画像をアプリケーションの或るページに挿入する例を説明したが、アプリケーションがダイアログボックスを表示し、ページに挿入すべき画像を選択した際に実行しても構わない。
また、挿入する画像は大抵文書のページのサイズより大きい。そこで、挿入する画像のサイズと編集ページのサイズとの比較を行なう、行なわないのいずれかのモードを設定するようにしても良い。設定されたモード情報は別途、ハードディスク装置等の記憶装置に記憶させる。そして、「比較を行なわない」ことを示すモードが設定されていた場合には、無条件に2回のブロックオーバラップ処理を行うようにしても構わない。
<第4の実施形態>
上記第1乃至第3の実施形態では、系列変換情報SC、及び、符号列形成情報CFを設定する条件は、画像のサイズに依存して設定する例であった。本第4の実施形態では、更に、撮影した画像の出力先に応じて、系列変換情報SC及び符号列形成情報CFを設定する例を説明する。
図28は第4の実施形態におけるデジタルカメラのブロック構成図である。第1の実施形態の図21と異なる点は、ネットワークインタフェース2110(無線LANインタフェース)、ネットワーク伝送指示部2111が追加された点であり、それ以外は第1の実施形態と同じであるものとし、その説明は省略する。
ユーザが、ネットワーク伝送指示部2111を操作して、ネットワーク伝送をON/OFFを設定すると、CPU2108は、その設定情報をメモリ2109に記憶保持させる。このネットワーク伝送がONに設定されると、撮影した画像(圧縮符号化された画像データ)は、ネットワークインタフェース2110を介して、予め設定した他のデバイス(PC等)に送信される。また、ネットワーク伝送がOFFの場合には、出力部2107に接続されたメモリカードに符号化画像データを格納する。要するに、ネットワーク伝送指示部2111は、符号化データの格納先を指定する指定部として機能する。
また、ユーザはサイズ指定部2105を操作して、撮影する画像の解像度(第1の実施形態と同様にサイズL,M,Sのいずれか)に設定すると、CPU2108は、設定されたサイズ情報もメモリ2109に記憶保持させる。
以下、図29のフローチャートに従って、ユーザが撮影指示2102のシャッターボタンを操作した際の処理を、CPU2108の処理手順を説明する。
シャッターボタンが操作されると、CPU2108は、先ずステップS2901にて、メモリ2109に格納された処理指示情報(伝送するか否かを示す情報、及び、サイズ情報)を読込む。そして、ステップS2902にて、CPU2108は、処理指撮影部2101を駆動してサイズ情報の画像データを取得し、メモリ2109に一旦保存する。
この後、CPU2108は、ステップS2903にて、伝送ONとなっているか否かを、処理指示情報に基づき判断する。伝送OFF、すなわち、撮影した画像をメモリカードに格納するように設定されている場合には、ステップS2904に進み、サイズ情報に従って、系列変換情報SC、及び、符号列形成情報CFの値を決定する。この系列変換情報SCと符号列形成情報CFの値の決定は、第1の実施形態と同じである。決定された系列変換情報SC、符号列形成情報CFは画像圧縮部2104に設定される。
一方、伝送ONであると判断した場合、処理はステップS2905に進み、CPU2108は、画像サイズに無関係に、系列変換情報SC、及び、符号列形成情報CFの両方を“2”に決定し、それらを画像圧縮部2104に設定する。
ステップS2904、又は、ステップS2905のいずれかで系列変換情報SC、符号列形成情報CFの設定を終えると、処理はステップS2906に進み、画像圧縮部2104における圧縮符号化処理を実行させる。この画像圧縮部2104における符号化処理は、第1の実施形態と同じであるので、説明は省略する。画像圧縮部2104によって生成された符号化画像データはメモリ2109に格納される。
次いで、CPU2108は、ステップS2907に進み、伝送ONであるかOFF否かを判断する。伝送OFFであると判断した場合、処理はステップS2908に進み、メモリ2109に格納された符号化画像データをファイルとして、出力部2107を介して、メモリカードに保存する。
また、ステップS2907にて、伝送ONであると判定した場合、メモリ2109に格納された符号化画像データをファイルとして、ネットワークインタフェース2110を介して、予め設定されたデバイス(PC)に送信する。
上記の結果、伝送ONに設定された場合、符号化画像データを受信するデバイス(PC)では、解像度順に並んだ符号化データ(図18参照)を受信する。従って、デバイスは、そのデバイスが有する表示装置の解像度以下の解像度の画像を簡単な処理で生成することが可能になる。しかも符号化データを解像度順に並べるようにした場合には、ブロックオーバーラップ処理を2回行なうようにしているので、オリジナルの解像度よりも低い解像度で画像を再現した際に画質劣化が発生することを抑制することもできる。
<第5の実施形態>
図30は本第5の実施形態でもデジタルカメラのブロック構成図である。第1の実施形態における図21と異なる点は、通常の撮影処理(単写モード)に加えて、連写モードを有する点と、単写モードと連写モードとを選択する撮影モード選択部2112が追加された点である。これ以外は、第1の実施形態と同じであるものとし、その説明は省略する。
なお、ユーザが、撮影モード選択部2112で撮影モードを設定すると、CPU2108は、その設定情報をメモリ2109に記憶保持させる。また、ユーザはサイズ指定部2105を操作して、撮影する画像の解像度(第1の実施形態と同様にサイズL,M,Sのいずれか)に設定すると、CPU2108は、設定されたサイズ情報もメモリ2109に記憶保持させる。
以下、本第3の実施形態における撮影処理時のCPU2108の処理手順を図31のフローチャートに従って説明する。
シャッターボタンが操作されると、CPU2108は、先ずステップS3101にて、メモリ2109に格納された処理指示情報(撮影モードを示す情報、及び、サイズ情報)をを読込む。そして、ステップS3102にて、CPU2108は、撮影モードが連写モードであるか否かを判断する。
撮影モードが連写モードではない、すなわち、単写モードであると判断した場合には、ステップS3103にて1枚の画像を撮影し、設定されたサイズ情報の画像データをメモリ2109に格納する。そして、ステップS3104にて、サイズ情報に従って、系列変換情報SC、及び、符号列形成情報CFの値を決定する。この系列変換情報SCと符号列形成情報CFの値の決定は、第1の実施形態と同じである。決定された系列変換情報SC、符号列形成情報CFは画像圧縮部2104に設定される。
一方、撮影モードが連写モードであると判断した場合、処理はステップS3105に進む。このステップS3105では、CPU2108は、シャッターボタンが押下状態にある間、設定された撮影処理を繰り返し、設定されたサイズの画像データをメモリ2109に順次記憶する。従って、連写モードの場合、メモリ2109には複数の画像データが格納されることになる。
シャッターボタンが非押下状態になる、もしくは、予め設定された枚数分の撮影処理を終えると、CPU2108は、ステップS3106の処理を実行する。このステップS3106では、CPU2018は、画像サイズに無関係に、系列変換情報SC、及び、符号列形成情報CFの両方を“2”に決定し、それらを画像圧縮部2104に設定する。
ステップS3104、又は、ステップS3106のいずれかで系列変換情報SC、符号列形成情報CFの設定を終えると、処理はステップS3107に進み、CPU2108は、画像圧縮部2104における圧縮符号化処理を実行させる。この結果、単写モードの場合には、メモリ2109に格納された1つの未符号化の画像データについての圧縮符号化処理が実行され、メモリ2109に符号化画像データが格納される。また、連写モードの場合には、複数の未符号化の画像データについての圧縮符号化処理が実行され、それぞれの符号化画像データがメモリ2109に格納される。
この後、処理はステップS3108に進み、メモリ2109に格納された1つもしくは複数の符号化画像データをファイルとして、出力部2107を介して、メモリカードに保存する。
以上説明した第5の実施形態によると、連写モードの場合、その画像サイズとは無関係に系列変換情報SC、及び、符号列形成情報CFの両方が“2”に設定されることになる。
このようにした理由は、連写モードで撮影した複数の画像は、その撮影時刻の差が非常に小さいので、ユーザはそれらの画像をPCが有する表示画面に並べて表示する可能性が高いためである。一般的に、PCの表示装置は高くとも1600×1400画素の解像度であるのに対し、本実施形態のデジタルカメラで撮影した画像の最低サイズ(サイズS)は、1600×1200画素であり、このままでは並べて表示することはできない。すなわち、オリジナルの画像サイズL,M,Sのいずれであっても、表示装置の解像度よりも十分に低い解像度の画像を簡単に復号できる形式が望ましい。それ故、符号列形成情報CFを“2”に設定した。
また、系列変換情報SCを“2”にしたのは、オリジナルの解像度よりも低い解像度の画像を表示する場合、その画質劣化を抑制するためである。
<第6の実施形態>
第6の実施形態を以下に説明する。文書を写真、背景、文字などに分けて圧縮してファイルに格納する技術が知られている。かかる技術を用いて生成されるファイルの代表的なものが、PDFファイルである。また、様々なファイル形式が存在する昨今、属性の異なる情報を混合したファイル(以下、混合ファイルという)のコンバートをする状況が発生しうる。そこで本第6の実施形態では、そのような混合ファイルのコンバート処理に適用した例を説明する。
混合ファイルの中に存在する写真画像は何らかの符号化技術を用いて符号化したデータである。符号化技術の種類は多数存在するが、その中にJPEG2000がある。このJPEG2000は、実施形態と同様に、解像度に対してスケーラブル性を持たせた配列の符号化データを生成することもできるし、スペーシャル的な配列の符号化データを生成することもできる。ここで、JPEG2000に符号化画像データが、解像度スケーラブル配列になっている場合、その混合ファイルの作者は、その画像について解像度のスケーラブル性を持たせたいという意思が働いたものと推察できる。
一方、JPEG2000による符号化データを復号する処理と、上記の各実施形態で説明したHD Photoを用いた符号化データを復号する処理とを比較すると、後者の処理が単純であり、より高速に復号することが可能と言える。
そこで、本第6の実施形態では、既存の混合ファイル中のJPEG2000の符号化画像データが存在し、尚且つ、その符号化データが解像度に対してスケーラブル配列になっている場合、そのJPEG2000による符号化データを、HD Photoの符号化技術を用い符号化し、混合ファイルを更新する。但し、この更新処理では、その混合ファイルを次回アクセスして表示する際に、オリジナルの解像度以下の画像を復号処理を効率良く、しかも、画質劣化を防ぐようにするため、系列変換情報SC、及び、符号列形成情報CFの両方を“2”にして再符号化する。
本第6の実施形態では、パーソナルコンピュータ等の汎用情報処理装置に適用し、アプリケーションプログラムとして上記処理を実行する例を説明する。情報処理装置のハードウェア構成は説明するまでもないであろうから、本第6の実施形態におけるアプリケーションを構成する各処理部(実際は関数、又は、サブルーチン)を図32に示し、その処理を実行するCPUの処理内容を図33のフローチャートに従って説明する。
以下の説明では、処理対象の混合ファイルはハードディスクに格納されており、更新後のファイルを同ファイル名で上書きするものとして説明する。処理対象の混合ファイルは、ユーザが指定するものする。なお、上記は一例であって、処理対象の混合ファイルはネットワーク上のファイルサーバに存在し、更新処理した混合ファイルはローカルなハードディスクに記憶させても構わない。つまり、入力源、及び、その出力源はその種類は問わない。
まず、ステップS3301にて、ファイル入力部3201はハードディスク装置から混合ファイルを入力し、ファイル解析部3202にその混合ファイルを出力する。ファイル解析部3202は入力した混合ファイルのヘッダを解析して、その混合ファイル内に、JPEG2000による符号化画像データがいくつ格納されているか計数する(ステップS3302)。ここではJPEG2000の符号化画像データの数をNとする。次に、各JPEG2000の符号化画像データが混合ファイル中のどこに格納されているかを検出し、そのファイル先頭からのオフセット情報を取得する(ステップS3303)。
続いて、ステップS3304にて、JPEG2000のファイル数を表わすカウンタ(変数)kを“1”にリセットする。そして、ステップS3305にて、k番目のJPEG2000の符号化画像データを取得する。次いで、ステップS3306にて、そのJPEG2000の符号化画像データのヘッダを解析して、符号化データの配列をどのようになっているかを解析する。
ステップS3307では、符号化データの配列が解像度についてスケーラブル配列になっているか否かを判定する。もし解像度に対してスケーラブル配列になっていると判断した場合(ステップS3307の判断がYesの場合)、処理はステップS3308に進み、画像圧縮方法に関する情報として系列変換情報SCと符号列形成情報CFの値を“2”に設定する。
一方、解像度に対するスケーラブル配列になっていないと判定した場合(ステップS3307の判断がNoの場合)、処理はステップS3309に進み、画像圧縮方法に関する情報として系列変換情報SCと符号列形成情報CFそれぞれの値を“1”に設定する。
上記のようにして、圧縮符号化のパラメータである系列変換情報SC、符号列形成情報CFの値を決定すると、処理はステップS3310に進む。
ステップS3310では、k番目のJPEG2000の符号化画像データを再符号化部3203に出力する。再符号化部3203は、与えられたJPEG2000の符号化画像データを一旦復号し(ステップS3310)、その後、決定された系列変換情報SC、及び、符号列形成情報CFに従って再符号化を行なう(ステップS3311)。この符号化処理は第1の実施形態で説明した通りなので、その詳細は省略する。なお、再符号化結果は、主メモリ(RAM)一時的に保存するものとする。但し、RAMの空き容量が十分ではない場合には、ハードディスクにテンポラリファイルとしてその再符号化画像データを保存しても構わない。
1つのJPEG2000の符号化画像データの再符号化処理を終えると、カウンタkの値が値Nより小さいかどうか判定する(ステップS3312)。k<Nであると判定された場合(ステップS3312でYesの場合)、ステップS3313にてカウンタkを“1”だけインクリメントし、ステップS3305の処理に戻る。
一方、ステップS3312でNo、すなわち、k=Nと判定された場合、処理はステップS3314に進む。ステップS3314では、ファイル構成部3204が、再圧縮符号化したN個の符号化データと、JPEG符号化データ以外のデータとを結合し、混合ファイルを生成する。そして、生成された混合ファイルを、ハードディスクに格納する。なお、この新たな混合ファイルは、各データがファイル中のどこに存在するかなどの情報をヘッダに集めた上で、1つの混合ファイルを作成する。この作業が終了すると、全体の処理は終了する。
以上説明したとおり、本第6の実施形態によれば、JPEG2000の符号化データを内包する混合ファイルにおいて、そのJPEG2000の符号化画像データを復号効率の良い形式の符号化データに変換することが可能になる。従って、混合ファイルを表示するまでの要する処理時間を短縮させた効率の良い混合ファイルを生成することが可能になる。さらにまた、オリジナルの混合ファイル中のJPEG2000の符号化データが解像度に対してスケーラブル配列になっている場合には、その作者の意図の通りに解像度のスケーラブル配列の符号化データを生成することも可能になる。
なお、フリークエンシーモードとしてタイル内で周波数単位にデータをまとめる方法を開示したがこれに限定されない。例えば、画像全体の各タイルの同一周波数毎(同一解像度毎)のデータをビットストリーム中にまとめる方法も考えられる。この場合、低周波から高周波の順に符号化データを並べることが望ましい。
以上本発明に係る第1乃至第6の実施形態を説明した。第3、第6の実施形態と同様、第1,第2、第4、第5の実施形態に相当する処理をコンピュータに実行させるコンピュータプログラムでもって実現しても構わない。また、通常、コンピュータプログラムは、CD−ROM等のコンピュータ可読記憶媒体に格納されており、それをコンピュータが有する読取り部(CD−ROMドライブ等)にセットし、システムにコピーもしくはインストールすることで実行可能になる。したがって、かかるコンピュータ可読記憶媒体も本発明の範疇にあるのは明らかである。
実施形態における画像圧縮部のブロック構成図である。 実施形態における系列変換部のブロック構成図である。 色変換の変換式の一例を示す図である。 実施形態における系列変換部の処理手順を示すフローチャートである。 実施形態における画像中のタイル、マクロブロック、ブロックの関係を示す図である。 系列変換処理を説明するための図である。 周波数変換処理の処理手順を示すフローチャートである。 周波数変換処理におけるブロック内の画素位置と、3つのフィルタの構造を示す図である。 ブロックオーバラップ処理の処理対象を示す図である。 量子化処理における量子化パラメータの算出式の例を示す図である。 実施形態における着目DC成分Xとその予測処理に参照される周囲のDC成分との関係を示す図である。 DC成分の予測処理の処理手順を示すフローチャートである。 ローパス成分予測を行なう処理対象のブロックのデータ配列を示す図である。 ローパス成分予測処理の処理手順を示すフローチャートである。 ローパス成分予測を行なう処理対象のブロックのデータ配列とスキャン方向との関係を示す図である。 ハイパス成分予測処理の処理手順を示すフローチャートである。 スペーシャルモードの符号化データのデータ構造を示す図である。 フリークエンシーモードの符号化データのデータ構造を示す図である。 ブロックオーバラップ処理の処理手順を示すフローチャートである。 ブロックオーバラップ処理中の2つ変換式に相当する回路構成を示す図である。 第1の実施形態におけるデジタルカメラのブロック構成図である。 第1の実施形態における画像撮影時の処理手順を示すフローチャートである。 第2の実施形態におけるデジタルビデオカメラのブロック構成図である。 第2の実施形態における撮影処理時の処理手順を示すフローチャートである。 第3の実施形態における情報処理装置が実行するアプリケーションプログラムの処理の流れを概念的に示す図である。 第3の実施形態における処理手順を示すフローチャートである。 第2の実施形態における動画像撮影中に静止画した場合の動画像、静止画のフレームのサイズの関係を示す図である。 第4の実施形態におけるデジタルカメラのブロック構成図である。 第4の実施形態における画像撮影時の処理手順を示すフローチャートである。 第5の実施形態におけるデジタルカメラのブロック構成図である。 第5の実施形態における画像撮影時の処理手順を示すフローチャートである。 第6の実施形態における情報処理装置が実行するアプリケーションプログラムの処理の流れを概念的に示す図である。である。 第6の実施形態における処理手順を示すフローチャートである。

Claims (11)

  1. 複数の画素で構成される領域をブロック、当該ブロックを複数個内包する領域をマクロブロックと定義したとき、当該マクロブロックを複数個内包する画像データを入力し、前記ブロックを最小単位として処理することでマクロブロックの符号化データを生成し、各マクロブロックの符号化データを予め設定された順に並べることで前記画像データの符号化データを生成する画像符号化装置であって、
    前記マクロブロックを複数個内包する画像データを入力する入力手段と、
    前記ブロックを単位に周波数変換し、1つのブロックにつき1つのDC成分データと複数のAC成分データとを得る周波数変換手段と、
    隣接する前記ブロックの境界のデータの不連続性の発生を抑制するため、前記境界を跨ぐ領域内のデータをフィルタ処理するブロックオーバラップ処理手段と、
    符号化対象の前記画像データの解像度に基づき、前記ブロックオーバラップ処理手段の実行回数として、0、1、2回のいずれか1つを設定する設定手段と、
    前記周波数変換手段で得られた各成分データを量子化する量子化手段と、
    該量子化手段による量子化後の各成分データをエントロピー符号化するエントロピー符号化手段と、
    前記周波数変換手段を2回実行し、前記設定手段による設定された回数だけ前記ブロックオーバラップ処理手段を実行する制御手段とを備え、
    前記制御手段は、
    前記設定手段によって設定された前記実行回数が0である場合:
    (a)第1回目の前記周波数変換手段の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第1レベルのDC成分データと、複数の第1レベルのAC成分データを算出させ、
    (b)第2回目の前記周波数変換手段の実行によって、前記複数の第1レベルのDC成分データを前記ブロックとして、1つの第2レベルのDC成分データと、複数の第2レベルのAC成分データを算出させ、
    前記(a),(b)の処理を前記マクロブロックを複数個内包する前記画像データについて実行させ、
    前記設定手段によって設定された前記実行回数が1である場合:
    (c)前記ブロックオーバラップ処理手段の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックについて前記ブロックオーバラップ処理を実行させ、
    (d)第1回目の前記周波数変換手段の実行によって、前記ブロックオーバラップ処理手段で処理済みのマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第1レベルのDC成分データと、複数の第1レベルのAC成分データを算出させ、
    (e)第2回目の前記周波数変換手段の実行によって、前記複数の第1レベルのDC成分データを周波数変換対象として設定し、1つの第2レベルのDC成分データと、複数の第2レベルのAC成分データを算出させ、
    前記(c)乃至(d)の処理を前記マクロブロックを複数個内包する前記画像データについて実行させ、
    前記設定手段によって設定された前記実行回数が2である場合:
    (f)第1回目の前記ブロックオーバラップ処理手段の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックについて前記ブロックオーバラップ処理を実行させ、
    (g)第1回目の前記周波数変換手段の実行によって、前記第1回目のブロックオーバラップ処理手段で処理済みのマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第1レベルのDC成分データと、複数の第1レベルのAC成分データを算出させ、
    (h)第2回目の前記ブロックオーバラップ処理手段の実行によって、前記第1回目の前記周波数変換手段の実行によって得られた、前記マクロブロックを複数個内包する前記画像データの、複数の第1レベルのDC成分データで構成される各ブロックについて、前記ブロックオーバラップ処理を実行させ、
    (i)第2回目の前記周波数変換手段の実行によって、前記第2回目のブロックオーバラップ処理手段で得られた前記第1レベルのDC成分データの集合に含まれる前記ブロックの数分だけ、周波数変換させる
    ことを特徴とする画像符号化装置。
  2. 前記入力手段は、符号化対象の画像データの中の、前記マクロブロックを複数個内包するタイルで示される領域の画像データを単位に入力することを特徴とする請求項1に記載の画像符号化装置。
  3. 前記設定手段は、符号化対象の画像データの解像度が高いほど、前記ブロックオーバラップ処理手段の実行回数を多く設定することを特徴とする請求項1又は2に記載の画像符号化装置。
  4. 更に、
    撮像手段と、
    当該撮像手段で撮像して得られた画像の解像度を予め設定された解像度まで下げて、時系列な画像データとして撮影する動画像撮影手段と、
    前記撮像手段による撮影した画像を静止画として撮影する静止画撮影手段とを備え、
    前記設定手段は、前記動画像撮影手段による動画像撮影中に、前記静止画撮影手段による静止画が撮影された場合、撮影して得られた静止画の画像データについて、前記ブロックオーバラップ処理手段の実行回数を2に設定し、
    前記制御手段は、前記設定手段による設定に従って前記周波数変換手段、ブロックオーバラップ処理手段、前記量子化手段、エントロピー符号化手段を実行し、得られた静止画の符号化データから、静止画撮影した時における動画像用の解像度のフレーム画像を生成する
    ことを特徴とする請求項1又は2に記載の画像符号化装置。
  5. 更に、文書をページ単位に編集する編集手段と、
    編集中のページに、画像を挿入する挿入手段とを備え、
    前記設定手段は、前記ページのサイズよりも、挿入しようとする画像のサイズが大きい場合、前記挿入しようとする画像に対する前記ブロックオーバラップ処理手段の実行回数を2に設定することを特徴とする請求項1又は2に記載の画像符号化装置。
  6. 更に、文書をページ単位に編集する編集手段と、
    編集中のページに、画像を挿入する挿入手段とを備え、
    前記設定手段は、前記挿入手段によって画像を編集手段での編集ページに挿入する場合、前記ブロックオーバラップ処理手段の実行回数を2に設定することを特徴とする請求項1又は2に記載の画像符号化装置。
  7. 更に、前記エントロピー符号化手段で生成された前記タイルの符号化データとして、前記マクロブロックを単位に、前記第2レベルのDC成分データの符号化データ、前記第2レベルのAC成分データの符号化データ、前記第1レベルのAC成分データの順の空間順符号列に形成するか、
    前記タイルの符号化データとして、各マクロブロックの前記第2レベルのDC成分データ、各マクロブロックの前記第2レベルのAC成分データ、各マクロブロックの前記第1レベルのAC成分データの順の解像度順符号列に形成する符号列形成手段と備え、
    前記制御手段は、前記設定手段で設定された前記ブロックオーバラップ処理手段の実行回数が2回であるときには、前記符号列形成手段に対して前記解像度順符号列に生成する指示を行なうことを特徴とする請求項2に記載の画像符号化装置。
  8. 前記解像度順符号列は画像全体の同一解像度毎の符号化データをまとめた形式のデータであることを特徴とする請求項7に記載の画像符号化装置。
  9. 複数の画素で構成される領域をブロック、当該ブロックを複数個内包する領域をマクロブロックと定義したとき、当該マクロブロックを複数個内包する画像データを入力し、前記ブロックを最小単位として処理することでマクロブロックの符号化データを生成し、各マクロブロックの符号化データを予め設定された順に並べることで前記画像データの符号化データを生成する画像符号化装置の制御方法であって、
    前記マクロブロックを複数個内包する画像データを入力する入力工程と、
    前記ブロックを単位に周波数変換し、1つのブロックにつき1つのDC成分データと複数のAC成分データとを得る周波数変換工程と、
    隣接する前記ブロックの境界のデータの不連続性の発生を抑制するため、前記境界を跨ぐ領域内のデータをフィルタ処理するブロックオーバラップ処理工程と、
    符号化対象の前記画像データの解像度に基づき、前記ブロックオーバラップ処理工程の実行回数として、0、1、2回のいずれか1つを設定する設定工程と、
    前記周波数変換工程で得られた各成分データを量子化する量子化工程と、
    該量子化工程による量子化後の各成分データをエントロピー符号化するエントロピー符号化工程と、
    前記周波数変換工程を2回実行し、前記設定工程による設定された回数だけ前記ブロックオーバラップ処理工程を実行する制御工程とを備え、
    前記制御工程は、
    前記設定工程によって設定された前記実行回数が0である場合:
    (a)第1回目の前記周波数変換工程の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第1レベルのDC成分データと、複数の第1レベルのAC成分データを算出させ、
    (b)第2回目の前記周波数変換工程の実行によって、前記複数の第1レベルのDC成分データを前記ブロックとして、1つの第2レベルのDC成分データと、複数の第2レベルのAC成分データを算出させ、
    前記(a),(b)の処理を前記マクロブロックを複数個内包する前記画像データについて実行させ、
    前記設定工程によって設定された前記実行回数が1である場合:
    (c)前記ブロックオーバラップ処理工程の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックについて前記ブロックオーバラップ処理を実行させ、
    (d)第1回目の前記周波数変換工程の実行によって、前記ブロックオーバラップ処理工程で処理済みのマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第1レベルのDC成分データと、複数の第1レベルのAC成分データを算出させ、
    (e)第2回目の前記周波数変換工程の実行によって、前記複数の第1レベルのDC成分データを周波数変換対象として設定し、1つの第2レベルのDC成分データと、複数の第2レベルのAC成分データを算出させ、
    前記(c)乃至(d)の処理を前記マクロブロックを複数個内包する前記画像データについて実行させ、
    前記設定工程によって設定された前記実行回数が2である場合:
    (f)第1回目の前記ブロックオーバラップ処理工程の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックについて前記ブロックオーバラップ処理を実行させ、
    (g)第1回目の前記周波数変換工程の実行によって、前記第1回目のブロックオーバラップ処理工程で処理済みのマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第1レベルのDC成分データと、複数の第1レベルのAC成分データを算出させ、
    (h)第2回目の前記ブロックオーバラップ処理工程の実行によって、前記第1回目の前記周波数変換工程の実行によって得られた、前記マクロブロックを複数個内包する前記画像データの、複数の第1レベルのDC成分データで構成される各ブロックについて、前記ブロックオーバラップ処理を実行させ、
    (i)第2回目の前記周波数変換工程の実行によって、前記第2回目のブロックオーバラップ処理工程で得られた前記第1レベルのDC成分データの集合に含まれる前記ブロックの数分だけ、周波数変換させる
    ことを特徴とする画像符号化装置の制御方法。
  10. コンピュータに読込ませ実行させることで、前記コンピュータを、請求項1乃至8のいずれか1項に記載の画像符号化装置として機能させることを特徴とするコンピュータプログラム。
  11. 請求項10に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
JP2008096560A 2008-04-02 2008-04-02 画像符号化装置及びその制御方法 Expired - Fee Related JP4958831B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008096560A JP4958831B2 (ja) 2008-04-02 2008-04-02 画像符号化装置及びその制御方法
US12/411,992 US8094726B2 (en) 2008-04-02 2009-03-26 Image encoding apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008096560A JP4958831B2 (ja) 2008-04-02 2008-04-02 画像符号化装置及びその制御方法

Publications (2)

Publication Number Publication Date
JP2009253470A true JP2009253470A (ja) 2009-10-29
JP4958831B2 JP4958831B2 (ja) 2012-06-20

Family

ID=41133250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008096560A Expired - Fee Related JP4958831B2 (ja) 2008-04-02 2008-04-02 画像符号化装置及びその制御方法

Country Status (2)

Country Link
US (1) US8094726B2 (ja)
JP (1) JP4958831B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4979655B2 (ja) * 2008-08-07 2012-07-18 キヤノン株式会社 画像符号化装置及びその制御方法
JP5081113B2 (ja) * 2008-09-17 2012-11-21 キヤノン株式会社 画像符号化装置及び画像復号装置、並びにそれらの制御方法
US8878869B2 (en) * 2008-09-30 2014-11-04 Sony Corporation Image processing device and image processing method
JP5153676B2 (ja) * 2009-02-10 2013-02-27 キヤノン株式会社 画像処理装置、画像処理方法、プログラムおよび記憶媒体
JP5199956B2 (ja) * 2009-06-16 2013-05-15 キヤノン株式会社 画像復号装置及びその制御方法
JP5199955B2 (ja) * 2009-06-16 2013-05-15 キヤノン株式会社 画像復号装置及びその制御方法
JP5529571B2 (ja) * 2010-02-08 2014-06-25 キヤノン株式会社 画像符号化装置及びその制御方法
CN106464941B (zh) * 2014-06-30 2019-10-29 索尼公司 信息处理装置和方法
US11102487B2 (en) * 2019-08-30 2021-08-24 Adobe Inc. Image resampling for DCT based image encoding formats using memory efficient techniques

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002077914A (ja) * 2000-08-31 2002-03-15 Matsushita Electric Ind Co Ltd 画像復号化装置及び画像復号化方法
JP2005217532A (ja) * 2004-01-27 2005-08-11 Canon Inc 解像度変換方法及び解像度変換装置

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US693198A (en) * 1900-12-06 1902-02-11 Fink Karl Pneumatic motor.
JP2000115782A (ja) * 1998-10-06 2000-04-21 Canon Inc 符号化装置及び方法及び記憶媒体
JP2000115783A (ja) * 1998-10-06 2000-04-21 Canon Inc 復号化装置及び方法
JP2000115770A (ja) * 1998-10-06 2000-04-21 Canon Inc 符号化装置及び方法
JP3839974B2 (ja) * 1998-10-06 2006-11-01 キヤノン株式会社 符号化装置
JP3209210B2 (ja) * 1999-02-10 2001-09-17 日本電気株式会社 動画像圧縮方法、動画像圧縮装置及び動画像圧縮プログラムを記憶した記憶媒体
JP4365957B2 (ja) * 1999-11-05 2009-11-18 キヤノン株式会社 画像処理方法及びその装置及び記憶媒体
JP4367880B2 (ja) * 1999-12-09 2009-11-18 キヤノン株式会社 画像処理装置及びその方法並びに記憶媒体
JP2002281444A (ja) * 2000-03-03 2002-09-27 Canon Inc 画像処理方法及び装置及び記憶媒体
JP4208378B2 (ja) * 2000-03-10 2009-01-14 キヤノン株式会社 画像処理装置及び方法及び記録媒体
JP4254017B2 (ja) * 2000-03-10 2009-04-15 ソニー株式会社 画像符号化装置及び方法
JP4480119B2 (ja) * 2000-03-30 2010-06-16 キヤノン株式会社 画像処理装置及び画像処理方法
JP2002016925A (ja) 2000-04-27 2002-01-18 Canon Inc 符号化装置及び符号化方法
JP4545980B2 (ja) * 2000-05-11 2010-09-15 キヤノン株式会社 符号化装置及び符号化方法並びに記憶媒体
US6847735B2 (en) * 2000-06-07 2005-01-25 Canon Kabushiki Kaisha Image processing system, image processing apparatus, image input apparatus, image output apparatus and method, and storage medium
JP2002175090A (ja) * 2000-12-07 2002-06-21 Sony Corp 再生装置および再生方法
US7483581B2 (en) * 2001-07-02 2009-01-27 Qualcomm Incorporated Apparatus and method for encoding digital image data in a lossless manner
EP1355484B1 (en) * 2002-04-17 2017-03-01 Canon Kabushiki Kaisha Image compression method and apparatus, and image coding method and apparatus
US7574063B2 (en) * 2003-07-23 2009-08-11 Canon Kabushiki Kaisha Image coding method and apparatus
JP4702928B2 (ja) * 2004-03-12 2011-06-15 キヤノン株式会社 動画像符号化装置及び復号装置及びその制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
US7499592B2 (en) * 2004-06-15 2009-03-03 Canon Kabushiki Kaisha Image decoding apparatus and its control method
US20080089413A1 (en) * 2004-06-28 2008-04-17 Canon Kabushiki Kaisha Moving Image Encoding Apparatus And Moving Image Encoding Method
US7428342B2 (en) * 2004-12-17 2008-09-23 Microsoft Corporation Reversible overlap operator for efficient lossless data compression
US7305139B2 (en) * 2004-12-17 2007-12-04 Microsoft Corporation Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform
US7925097B2 (en) * 2005-02-18 2011-04-12 Sanyo Electric Co., Ltd. Image display method, image coding apparatus, and image decoding apparatus
JP4979323B2 (ja) * 2005-12-07 2012-07-18 キヤノン株式会社 画像処理装置及びその制御方法
JP4829835B2 (ja) * 2006-06-12 2011-12-07 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム、及びコンピュータ読み取り可能な記憶媒体
JP4979655B2 (ja) * 2008-08-07 2012-07-18 キヤノン株式会社 画像符号化装置及びその制御方法
JP5199955B2 (ja) * 2009-06-16 2013-05-15 キヤノン株式会社 画像復号装置及びその制御方法
JP5199956B2 (ja) * 2009-06-16 2013-05-15 キヤノン株式会社 画像復号装置及びその制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002077914A (ja) * 2000-08-31 2002-03-15 Matsushita Electric Ind Co Ltd 画像復号化装置及び画像復号化方法
JP2005217532A (ja) * 2004-01-27 2005-08-11 Canon Inc 解像度変換方法及び解像度変換装置

Also Published As

Publication number Publication date
US20090252232A1 (en) 2009-10-08
JP4958831B2 (ja) 2012-06-20
US8094726B2 (en) 2012-01-10

Similar Documents

Publication Publication Date Title
JP4958831B2 (ja) 画像符号化装置及びその制御方法
JP5081113B2 (ja) 画像符号化装置及び画像復号装置、並びにそれらの制御方法
JP4958832B2 (ja) 画像符号化装置及びその制御方法
JP4148462B2 (ja) 画像処理装置、電子カメラ装置及び画像処理方法
JP2004128583A (ja) 撮像装置、画像処理方法、プログラム及び記録媒体
JP6648701B2 (ja) 画像符号化装置および方法
JP6648753B2 (ja) 画像符号化装置および方法
RU2533689C2 (ru) Устройство и способ, программа обработки видео, и устройство формирования изображений, смонтированное с устройством обработки видео
JP2010212811A (ja) 動画像符号化装置及び動画像復号化装置
JP2009194760A (ja) 画像符号化装置、画像復号化装置、画像符号化プログラム及び画像復号化プログラム
JP5199955B2 (ja) 画像復号装置及びその制御方法
JP6871727B2 (ja) 撮像装置、画像処理方法、及び、プログラム
JP5199956B2 (ja) 画像復号装置及びその制御方法
JP6741532B2 (ja) 撮像装置および記録方法
JP4375662B2 (ja) 画像処理装置、画像処理方法、プログラム、情報記録媒体及び撮像装置
JP2009117998A (ja) データ圧縮装置およびデータ圧縮プログラム
JP5081114B2 (ja) 画像符号化装置及び画像復号装置、並びにそれらの制御方法
JP2011045138A (ja) 画像復号方法
JP2009201153A (ja) ディジタルカメラおよび撮影方法
JP4458408B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP4952624B2 (ja) 圧縮画像再圧縮装置、圧縮画像再圧縮方法及びプログラム
JPH1066004A (ja) 画像ファイルサイズ制御装置
JP5597028B2 (ja) 画像復号装置及びその制御方法、並びにプログラム及びコンピュータ可読記憶媒体
JP2005136671A (ja) 画像記録装置
JP5186820B2 (ja) 符号化装置、符号化方法および符号化プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120215

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: 20120220

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: 20120319

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4958831

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees