(57)【特許請求の範囲】
【請求項１】
複数の画素で構成される領域をブロック、当該ブロックを複数個内包する領域をマクロブロックしたとき、当該マクロブロックを複数個内包する画像データを入力し、前記ブロックを最小単位として処理することでマクロブロックの符号化データを生成し、各マクロブロックの符号化データを予め設定された順に並べることで前記画像データの符号化データを生成する画像符号化装置であって、
前記マクロブロックを複数個内包する画像データを入力する入力手段と、
前記ブロックを単位に与えられたデータを周波数変換し、１つのブロックにつき１つのＤＣ成分データと複数のＡＣ成分データとを得る周波数変換手段と、
隣接する前記ブロックの境界のデータの不連続性の発生を抑制するため、前記境界を跨ぐ領域内のデータをフィルタ処理するブロックオーバラップ処理手段と、
前記画像データの符号化データの配列形式として、各マクロブロックの低周波から高周波に向かう順に符号化データを並べる解像度順符号列の形式にするか、マクロブロック単位に符号化データを並べる空間順符号列の形式にするかを設定する決定手段と、
符号化対象の画像データの解像度に基づき、前記ブロックオーバラップ処理手段の実行回数として、０、１、２回のいずれか１つを設定すると共に、少なくとも前記決定手段が決定した前記画像データの符号化データの並びを前記解像度順符号列に決定した場合には、前記ブロックオーバラップ処理手段の実行回数として２回を設定する設定手段と、
前記周波数変換手段で得られた各成分データを量子化する量子化手段と、
該量子化手段による量子化後の各成分データをエントロピー符号化するエントロピー符号化手段と、
該エントロピー符号化手段で生成された前記画像データの符号化データを、前記決定手段で決定した配列形式に並べて、出力する符号列形成手段と、
前記周波数変換手段を２回実行し、前記設定手段による設定された回数だけ前記ブロックオーバラップ処理手段の実行する制御手段とを備え、
前記制御手段は、
前記設定手段によって設定された前記実行回数が０である場合：
（ａ）第１回目の前記周波数変換手段の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第１レベルのＤＣ成分データと、複数の第１レベルのＡＣ成分データを算出させ、
（ｂ）第２回目の前記周波数変換手段の実行によって、前記複数の第１レベルのＤＣ成分データを前記ブロックとして、１つの第２レベルのＤＣ成分データと、複数の第２レベルのＡＣ成分データを算出させ、
前記（ａ），（ｂ）の処理を前記マクロブロックを複数個内包する前記画像データについて実行させ、
前記設定手段によって設定された前記実行回数が１である場合：
（ｃ）前記ブロックオーバラップ処理手段の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックについて前記ブロックオーバラップ処理を実行させ、
（ｄ）第１回目の前記周波数変換手段の実行によって、前記ブロックオーバラップ処理手段で処理済みのマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第１レベルのＤＣ成分データと、複数の第１レベルのＡＣ成分データを算出させ、
（ｅ）第２回目の前記周波数変換手段の実行によって、前記複数の第１レベルのＤＣ成分データを周波数変換対象として設定し、１つの第２レベルのＤＣ成分データと、複数の第２レベルのＡＣ成分データを算出させ、
前記（ｃ）乃至（ｅ）の処理を前記マクロブロックを複数個内包する前記画像データについて実行させ、
前記設定手段によって設定された前記実行回数が２である場合：
（ｆ）第１回目の前記ブロックオーバラップ処理手段の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックについて前記ブロックオーバラップ処理を実行させ、
（ｇ）第１回目の前記周波数変換手段の実行によって、前記第１回目のブロックオーバラップ処理手段で処理済みのマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第１レベルのＤＣ成分データと、複数の第１レベルのＡＣ成分データを算出させ、
（ｈ）第２回目の前記ブロックオーバラップ処理手段の実行によって、前記第１回目の前記周波数変換手段の実行によって得られた、前記マクロブロックを複数個内包する前記画像データの、複数の第１レベルのＤＣ成分データで構成される各ブロックについて、前記ブロックオーバラップ処理を実行させ、
（ｉ）第２回目の前記周波数変換手段の実行によって、前記第２回目のブロックオーバラップ処理手段で得られた前記第１レベルのＤＣ成分データの集合に含まれる前記ブロックの数分だけ、周波数変換させる
ことを特徴とする画像符号化装置。
【請求項２】
前記入力手段は、符号化対象の画像データの中の、前記マクロブロックを複数個内包するタイルで示される領域の画像データを単位に入力することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記設定手段は、符号化対象の画像データの解像度が高いほど、前記ブロックオーバラップ処理手段の実行回数を多く設定することを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項４】
更に、
ネットワークインタフェースと、
符号化データを格納する格納先として、画像符号化装置にローカルに接続された記憶手段にするか、前記ネットワークインタフェースを介してネットワーク上のデバイスに出力するかを選択する選択手段とを備え、
前記決定手段は、前記選択手段で選択した出力先が前記ネットワーク上のデバイスを選択した場合、前記画像データの符号化データの配列形式を前記解像度順符号列の形式にすることを決定することを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項５】
更に、
撮像手段と、
該撮像手段による連写モードにするか、単写モードにするかを選択する選択手段とを備え、
前記決定手段は、前記選択手段で連写モードが選択された場合、前記画像データの符号化データの配列形式を前記解像度順符号列の形式にすることを決定することを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項６】
更に、
種類の異なるデータを混合した混合ファイルを入力する手段と、
入力した混合ファイルを解析し、当該混合ファイル中に符号化画像データがあるか否かを判断する第１の手段と、
該第１の手段で符号化画像データが存在すると判断し、尚且つ、当該符号化画像データが解像度順に並べられた符号化データの配列になっているか否かを判定する第２の手段と、
前記第１の手段で、符号化画像データが存在すると判断した場合、当該符号化データを復号して、当該復号して得られた画像データを請求項１に記載の画像符号化装置で符号化し、符号化して得られた符号化画像データと、前記混合ファイル中の前記符号化画像データを除くデータとを混合し、混合ファイルを作成する第３の手段とを備え、
前記決定手段は、前記第２の手段で前記符号化画像データが解像度順に並べられた符号化データの配列になっていると判定した場合、前記画像データの符号化データの配列形式を前記解像度順符号列の形式にすることを決定する
ことを特徴とする請求項１に記載の画像符号化装置。
【請求項７】
複数の画素で構成される領域をブロック、当該ブロックを複数個内包する領域をマクロブロックしたとき、当該マクロブロックを複数個内包する画像データを入力し、前記ブロックを最小単位として処理することでマクロブロックの符号化データを生成し、各マクロブロックの符号化データを予め設定された順に並べることで前記画像データの符号化データを生成する画像符号化装置の制御方法であって、
前記マクロブロックを複数個内包する画像データを入力する入力工程と、
前記ブロックを単位に与えられたデータを周波数変換し、１つのブロックにつき１つのＤＣ成分データと複数のＡＣ成分データとを得る周波数変換工程と、
隣接する前記ブロックの境界のデータの不連続性の発生を抑制するため、前記境界を跨ぐ領域内のデータをフィルタ処理するブロックオーバラップ処理工程と、
前記画像データの符号化データの配列形式として、各マクロブロックの低周波から高周波に向かう順に符号化データを並べる解像度順符号列の形式にするか、マクロブロック単位に符号化データを並べる空間順符号列の形式にするかを設定する決定工程と、
符号化対象の画像データの解像度に基づき、前記ブロックオーバラップ処理工程の実行回数として、０、１、２回のいずれか１つを設定すると共に、少なくとも前記決定工程が決定した前記画像データの符号化データの並びを前記解像度順符号列に決定した場合には、前記ブロックオーバラップ処理工程の実行回数として２回を設定する設定工程と、
前記周波数変換工程で得られた各成分データを量子化する量子化工程と、
該量子化工程による量子化後の各成分データをエントロピー符号化するエントロピー符号化工程と、
該エントロピー符号化工程で生成された前記画像データの符号化データを、前記決定工程で決定した配列形式に並べて、出力する符号列形成工程と、
前記周波数変換工程を２回実行し、前記設定工程による設定された回数だけ前記ブロックオーバラップ処理工程の実行する制御工程とを備え、
前記制御工程は、
前記設定工程によって設定された前記実行回数が０である場合：
（ａ）第１回目の前記周波数変換工程の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第１レベルのＤＣ成分データと、複数の第１レベルのＡＣ成分データを算出させ、
（ｂ）第２回目の前記周波数変換工程の実行によって、前記複数の第１レベルのＤＣ成分データを前記ブロックとして、１つの第２レベルのＤＣ成分データと、複数の第２レベルのＡＣ成分データを算出させ、
前記（ａ），（ｂ）の処理を前記マクロブロックを複数個内包する前記画像データについて実行させ、
前記設定工程によって設定された前記実行回数が１である場合：
（ｃ）前記ブロックオーバラップ処理工程の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックについて前記ブロックオーバラップ処理を実行させ、
（ｄ）第１回目の前記周波数変換工程の実行によって、前記ブロックオーバラップ処理工程で処理済みのマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第１レベルのＤＣ成分データと、複数の第１レベルのＡＣ成分データを算出させ、
（ｅ）第２回目の前記周波数変換工程の実行によって、前記複数の第１レベルのＤＣ成分データを周波数変換対象として設定し、１つの第２レベルのＤＣ成分データと、複数の第２レベルのＡＣ成分データを算出させ、
前記（ｃ）乃至（ｅ）の処理を前記マクロブロックを複数個内包する前記画像データについて実行させ、
前記設定工程によって設定された前記実行回数が２である場合：
（ｆ）第１回目の前記ブロックオーバラップ処理工程の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックについて前記ブロックオーバラップ処理を実行させ、
（ｇ）第１回目の前記周波数変換工程の実行によって、前記第１回目のブロックオーバラップ処理工程で処理済みのマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第１レベルのＤＣ成分データと、複数の第１レベルのＡＣ成分データを算出させ、
（ｈ）第２回目の前記ブロックオーバラップ処理工程の実行によって、前記第１回目の前記周波数変換工程の実行によって得られた、前記マクロブロックを複数個内包する前記画像データの、複数の第１レベルのＤＣ成分データで構成される各ブロックについて、前記ブロックオーバラップ処理を実行させ、
（ｉ）第２回目の前記周波数変換工程の実行によって、前記第２回目のブロックオーバラップ処理工程で得られた前記第１レベルのＤＣ成分データの集合に含まれる前記ブロックの数分だけ、周波数変換させる
ことを特徴とする画像符号化装置の制御方法。
【請求項８】
コンピュータに読込ませ実行させることで、前記コンピュータを、請求項１乃至６のいずれか１項に記載の画像符号化装置として機能させることを特徴とするコンピュータプログラム。
【請求項９】
請求項８に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像データの符号化技術に関するものである。
【背景技術】
【０００２】
昨今、パソコンやモバイル端末の普及により、インターネットを介したデジタルデータの通信（データ通信）が幅広く行われるようになった。このデータ通信において流通するデジタルデータに画像がある。デジタル画像には、コピー，検索，様々画像処理等を比較的容易に行えるという特徴があり、非常に多くの人がデジタル画像を扱うようになってきた。
【０００３】
デジタル画像を効率的に使う上で、ファイルサイズを小さくする画像圧縮は不可欠であり、代表的な技術としてＪＰＥＧやＰＮＧなどがある。これら画像圧縮を行うことで画像に歪みを生じることがあり、画質を抑制する手法が研究開発されてきている。また、ファイルサイズを小さくする本来の機能だけでなく、様々な機能を持たせる技術も開発されている。例えばＪＰＥＧ２０００では、低解像度から徐々にオリジナルが持つ解像度の画像までスケーラブルに復号する形式の符号化データの生成が選択できる。
【０００４】
ここで述べた解像度スケーラブル機能を持たせた上で画質を向上させる機能を持った技術も開発されている。この技術を開示した文献としては、例えば、特許文献１が挙げられる。この文献、又は、この文献を基礎にした技術は、一般には、ＨＤ Ｐｈｏｔｏ（登録商標）と呼ばれるている。具体的には、画像をタイルに分割する。そして、各タイルに対してＤＣＴ変換を繰り返して行って階層の系列データを生成する。さらにタイル間で発生するブロック歪みを抑えるために、ＤＣＴを行う前もしくはＤＣＴを行っている過程で、隣接する２つのタイルの画素を使って所定の処理を行っている。
【特許文献１】特開２００６−１９７５７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１においては、入力画像と同じ解像度の復号画像の画質向上を狙っている。
【０００６】
一方、昨今のデジタルカメラに代表される撮像装置は、１千万画素の撮像解像度を超えている。このような高解像度の画像を、パーソナルコンピュータに代表される情報処理装置の表示装置するには、オリジナルの解像度は高過ぎ、撮像画像の一部しか表示できない。そこで、オリジナル画像の解像度よりも低い解像度の画像データを生成し、表示することが必要になる。しかしながら、特許文献１では、オリジナル画像と同じ解像度の復号画像の画質向上のみを狙っているため、オリジナルの解像度よりも低い解像度の画像を生成すると、画質的に劣ってしまうことがあった。
【０００７】
本発明は、かかる課題に鑑みなされたものであり、オリジナルの解像度よりも低い中間解像度の画像を復号することが想定される場合に、その符号化データの配列を解像度順に並べることで、中間解像度の画像を容易に復号可能な符号化データを生成するだけでなく、中間解像度の画像を再現する際のブロックノイズの発生を抑制する符号化データを生成するを提供しようとするものである。
【課題を解決するための手段】
【０００８】
かかる課題を解決するため例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
複数の画素で構成される領域をブロック、当該ブロックを複数個内包する領域をマクロブロックしたとき、当該マクロブロックを複数個内包する画像データを入力し、前記ブロックを最小単位として処理することでマクロブロックの符号化データを生成し、各マクロブロックの符号化データを予め設定された順に並べることで前記画像データの符号化データを生成する画像符号化装置であって、
前記マクロブロックを複数個内包する画像データを入力する入力手段と、
前記ブロックを単位に与えられたデータを周波数変換し、１つのブロックにつき１つのＤＣ成分データと複数のＡＣ成分データとを得る周波数変換手段と、
隣接する前記ブロックの境界のデータの不連続性の発生を抑制するため、前記境界を跨ぐ領域内のデータをフィルタ処理するブロックオーバラップ処理手段と、
前記画像データの符号化データの配列形式として、各マクロブロックの低周波から高周波に向かう順に符号化データを並べる解像度順符号列の形式にするか、マクロブロック単位に符号化データを並べる空間順符号列の形式にするかを設定する決定手段と、
符号化対象の画像データの解像度に基づき、前記ブロックオーバラップ処理手段の実行回数として、０、１、２回のいずれか１つを設定すると共に、少なくとも前記決定手段が決定した前記画像データの符号化データの並びを前記解像度順符号列に決定した場合には、前記ブロックオーバラップ処理手段の実行回数として２回を設定する設定手段と、
前記周波数変換手段で得られた各成分データを量子化する量子化手段と、
該量子化手段による量子化後の各成分データをエントロピー符号化するエントロピー符号化手段と、
該エントロピー符号化手段で生成された前記画像データの符号化データを、前記決定手段で決定した配列形式に並べて、出力する符号列形成手段と、
前記周波数変換手段を２回実行し、前記設定手段による設定された回数だけ前記ブロックオーバラップ処理手段の実行する制御手段とを備え、
前記制御手段は、
前記設定手段によって設定された前記実行回数が０である場合：
（ａ）第１回目の前記周波数変換手段の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第１レベルのＤＣ成分データと、複数の第１レベルのＡＣ成分データを算出させ、
（ｂ）第２回目の前記周波数変換手段の実行によって、前記複数の第１レベルのＤＣ成分データを前記ブロックとして、１つの第２レベルのＤＣ成分データと、複数の第２レベルのＡＣ成分データを算出させ、
前記（ａ），（ｂ）の処理を前記マクロブロックを複数個内包する前記画像データについて実行させ、
前記設定手段によって設定された前記実行回数が１である場合：
（ｃ）前記ブロックオーバラップ処理手段の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックについて前記ブロックオーバラップ処理を実行させ、
（ｄ）第１回目の前記周波数変換手段の実行によって、前記ブロックオーバラップ処理手段で処理済みのマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第１レベルのＤＣ成分データと、複数の第１レベルのＡＣ成分データを算出させ、
（ｅ）第２回目の前記周波数変換手段の実行によって、前記複数の第１レベルのＤＣ成分データを周波数変換対象として設定し、１つの第２レベルのＤＣ成分データと、複数の第２レベルのＡＣ成分データを算出させ、
前記（ｃ）乃至（ｅ）の処理を前記マクロブロックを複数個内包する前記画像データについて実行させ、
前記設定手段によって設定された前記実行回数が２である場合：
（ｆ）第１回目の前記ブロックオーバラップ処理手段の実行によって、前記ブロックを複数個内包するマクロブロック内の各ブロックについて前記ブロックオーバラップ処理を実行させ、
（ｇ）第１回目の前記周波数変換手段の実行によって、前記第１回目のブロックオーバラップ処理手段で処理済みのマクロブロック内の各ブロックそれぞれに対して周波数変換を行なわせることで複数の第１レベルのＤＣ成分データと、複数の第１レベルのＡＣ成分データを算出させ、
（ｈ）第２回目の前記ブロックオーバラップ処理手段の実行によって、前記第１回目の前記周波数変換手段の実行によって得られた、前記マクロブロックを複数個内包する前記画像データの、複数の第１レベルのＤＣ成分データで構成される各ブロックについて、前記ブロックオーバラップ処理を実行させ、
（ｉ）第２回目の前記周波数変換手段の実行によって、前記第２回目のブロックオーバラップ処理手段で得られた前記第１レベルのＤＣ成分データの集合に含まれる前記ブロックの数分だけ、周波数変換させることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、オリジナルの解像度よりも低い中間解像度の画像を復号することが想定される場合に、その符号化データの配列を解像度順に並べることで、中間解像度の画像を容易に復号可能な符号化データを生成するだけでなく、中間解像度の画像を再現する際のブロックノイズの発生を抑制する符号化データを生成する。
【発明を実施するための最良の形態】
【００１０】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１１】
本発明に係る以下に説明する各実施形態では、デジタルカメラにおける実装した場合について説明する。説明を分かりやすくするため、本実施の形態におけるデジタルカメラは超高解像度（１千万画素を超える解像度）で撮影することができる。通常、パーソナルコンピュータ等の汎用の情報処理装置のディスプレイは、せいぜい１６００×１２００画素（≒２００万画素）程度であるため、撮像画像をそのフル解像度で表示することができない。そこで、ディスプレイにオリジナルの解像度よりも低い、中間的な解像度である縮小画像を生成する必要がある。本実施の形態においては、超高解像度画像撮影が行われた際、中間的な解像度でありながらも、画質劣化を抑制した画像を生成できるようにする。
【００１２】
［第１の実施形態］
図２１が実施形態が適用するデジタルカメラ（画像処理装置）のブロック構成図である。このデジタルカメラは、撮影部２１０１、撮影指示部２１０２、画像処理部２１０３、画像圧縮部２１０４、サイズ指定部２１０５、解像度判定部２１０６、出力部２１０７を備える。また、デジタルカメラには、装置全体の制御手段として機能するＣＰＵ２１０８、及び、ＣＰＵ２１０８の実行するプログラム及びワークエリアとして使用するメモリ２１０９を備える。また、各種設定された情報も、このメモリ２１０９に格納される。
【００１３】
実施形態におけるデジタルカメラにおいて、ユーザーは、撮影に先立ち、撮影画像の解像度（サイズ）をサイズ指定部２１０５にて設定できる。選択可能なサイズには、Ｌ、Ｍ、Ｓの３通りがある。Ｌサイズは水平方向４０００画素、垂直方向３０００画素（以下、４０００×３０００画素という）であり、Ｍサイズは２０００×１５００画素、Ｓサイズは１６００画素×１２００画素である。すなわち、実施形態のデジタルカメラが有する撮像部２１０には、４０００×３０００の解像度を持つ撮像素子が搭載されているものとする。選択したサイズは、メモリ２１０９の予め設定された領域に保存される。
【００１４】
上記の通り、サイズ指定部２１０５にて、解像度を設定した後、ユーザは撮影指示部２１０２に含まれるシャッターボタンを操作すると、指定された解像度の画像を撮影し、画像処理（ホワイトバランス処理等）を行ない、後述する符号化処理を行なう。そして、生成された符号化データを、出力部２１０７に接続されたメモリカードに保存する処理を行なう。
【００１５】
図２２は、シャッターボタンが操作された際のＣＰＵ２１０８の処理手順を示すフローチャートである。なお、ＡＦ、ＡＥ等の処理は、本願には直接には関係がないので、その説明は省略する。
【００１６】
さて、先ず、ＣＰＵ２１０８は、撮影部２１０１で得られた光電変換した信号をデジタルデータに変換し、その変換後のデータを画像データとして取得し（ステップＳ２２０１）、メモリ２１０９に一時的に格納する（ステップＳ２２０２）。
【００１７】
次に、ＣＰＵ２１０８は、画像処理部２１０３を制御し、メモリ２１０９に格納した画像データに対する画像処理を実行させる（ステップＳ２２０３）。この画像処理としては、ベイヤー配列のＲＧＢデータを正規の配列に変換する処理，ホワイトバランス、シャープネス，色処理などが考えられる。画像処理結果の画像データは、メモリ２１０９に再び格納される。画像処理が終了すると、処理はステップＳ２２０４に進み、設定されたサイズ情報をメモリ２１０９から取得し（ステップＳ２２０４）、ユーザーが指定したサイズを判定する（ステップＳ２２０５）。
【００１８】
もしサイズＬが指定されていれば（ステップＳ２２０５でYes)、画像圧縮に関する２つの情報、すなわち、系列変換情報ＳＣと符号列形成情報ＣＦそれぞれ対して“２”を設定し、画像圧縮部２１０４に設定する（ステップＳ２２０６）。つまり、系列変換情報と符号列形成情報は、画像圧縮部２１０４の圧縮符号化する際のパラメータと言うことができる。
【００１９】
なお、系列変換情報ＳＣと符号列形成情報ＣＦの詳細は後述するが、本実施形態における系列変換情報ＳＣについては“０”、“１”、“２”の３つがある。ここで、“２”は中間解像度の画質を向上させるための処理を指示する情報である。また、系列変換情報ＳＣは、後述する周波数変換処理の実行回数を示す情報としても利用される。符号列形成情報ＣＦについては“１”、“２”の２つがあり、“２”は中間解像度優先による符号列の形成を指示する情報である。系列変換情報ＳＣ、符号列形成情報ＣＦを共に“２”にした場合、複雑な処理が介在することになり、処理に要する時間も増える。しかし、サイズＬの画像の場合、その画素数が非常に多く、実際に表示する段階では、最高解像度で表示することは希であり、むしろ最高解像よりも数段低い中間解像度で表示する可能性が高いと言える。そこで、実施形態では、表示処理の後の処理に応じた処理を行なうため、サイズＬが設定された場合、上記のように、系列変換情報ＳＣ、及び、符号列形成情報ＣＦを共に“２”に設定する。
【００２０】
一方、指定されたサイズがＬ以外の場合（指定されたサイズがＭ、又はＳの場合）、処理はステップＳ２２０７に進み、指定サイズはＭであるか否かを判定する。サイズＭが設定されている場合、ステップＳ２２０８にて、系列変換情報ＳＣとして“１”、符号列形成情報ＣＦとして“１”を、画像圧縮部２１０４に設定する。
【００２１】
また、指定されたサイズがＭ以外、すなわち、サイズＳが設定されていると判定した場合、ステップＳ２２０９にて、系列変換情報ＳＣとして“０”、符号列形成情報ＣＦとして“１”を、画像圧縮部２１０４に設定する。
【００２２】
この後、処理はステップＳ２２０８に進み、画像圧縮部２１０４に対して圧縮処理を開始させる。
【００２３】
次に、実施形態における画像圧縮部２１０４の詳細を説明する。
【００２４】
本実施形態の画像圧縮部２１０４は、先に示した特許文献１で示したＨＤ  Ｐｈｏｔｏ技術を採用する。そこで、この技術の基本にしつつ、本実施形態の特徴部分を以下に説明する。
【００２５】
図１は、実施形態における画像圧縮部２１０４のブロック構成図である。
【００２６】
画像圧縮部２１０４は、色変換部１０１、系列変換部１０２、量子化部１０３、係数予測部１０４、係数スキャン部１０５、１０６はエントロピー符号化部、１０７は符号列形成部である。
【００２７】
先ず、用語について説明する。ブロックとは符号化処理の最小単位であり、実施形態では４×４画素のサイズである。マクロブロックとはブロックを複数個内包する単位であり、実施形態では４×４個のブロック（言い換えれば、１６×１６画素）を示す。タイルとは、マクロブロックを複数個内包する単位であり、Ｍ×Ｎ個（Ｍ，Ｎは１以上の整数であって、いずれか一方は２以上の整数）のマクロブロックで構成される。実施形態では、Ｍ＝６、Ｎ＝４として説明する。すなわち、１タイルのサイズは、６×４個のマクロブロック＝９６×６４画素のサイズである。なお、ここで示すブロック、マクロブロック、タイルの定義は一例であって、それらのサイズによって本願発明が限定されるものではない。画像圧縮部２１０４は、タイルを単位に圧縮符号化処理を行なうものであるが、その処理における最小処理単位はブロック（４×４画素）である。
【００２８】
色変換部１０１はＲ、Ｇ、Ｂ（実施形態では各成分が８ビット＝２５６階調とする）データをＹ、Ｕ、Ｖの色空間に変換し、変換結果を系列変換部１０２に出力する。ＲＧＢ→ＹＵＶの変換は、例えば図３に示す変換式に従って行なう。
【００２９】
Ｙ，Ｕ，Ｖの各コンポーネントの符号化処理は個別に処理される。そこで、説明を簡単なものとするため、以下では、Ｙ（輝度）について説明する。すなわち、以下の説明にて画像データとはＹコンポーネントで表わされる画像データを意味することに注意されたい（Ｕ，Ｖの各コンポーネントについては、適宜、置き換えて把握されたい）。
【００３０】
系列変換部１０２は、図２に示す如く、第１変換部２０１、第２変換部２０２、及び、メモリ２０３を有する。ここで、第１変換部２０１は必須の処理であり、且つ、系列変換部１０２の制御も司る。一方、第２変換部２０２はオプション的な処理であって、実行してもしなくて構わない。また、第２変換部２０２に処理を実行させるか否かのハンドリングは第１変換部２０１が行なう。第２の変換部２０２の処理を行なう場合、その分だけ符号化処理にかかる負担が増え、処理に要する時間も増えるが、復号した画質（特に、オリジナルの解像度よりも低い解像度の画像の画質）はより好ましいものとなる。メモリ２０３は先に説明した系列変換情報ＳＣを保持する。
【００３１】
Ｙコンポーネントデータは系列変換部１０２に入力されると、図５に示したようにまず画像はタイルのサイズに分割される（実施形態では、１つのタイルは６×４個のマクロブロックで構成される）。メモリ２０３には系列変換情報ＳＣ（０、１、２のいずれか）が格納されており、その情報に従って、第１変換部２０１、第２変換部２０２は、図４のフローチャートに従って処理を実行する。
【００３２】
先ず、ステップＳ４０１では、第１変換部２０１は、系列変換情報ＳＣをメモリ２０３から取得する。そして、ステップＳ４０２において、第１変換部２０１は、その系列変換情報ＳＣが“０”であるか否かを判定する。
【００３３】
系列変換情報ＳＣが“０”である場合、第１変換部２０１は、第２変換部２０２に対すして変換処理を要求しない。そして、第１変換部２０１はステップＳ４０３、Ｓ４０４にて、周波数変換処理を２回実行する。この処理を、図６を用いて具体的に説明する。
【００３４】
先ず、１つのマクロブロックを構成する４×４個のブロックのそれぞれに対し、周波数変換処理を行なう（第１ステージ）。１つのブロックからは、１個のＤＣ成分（直流成分）データと１５（＝４×４−１）個のＡＣ成分（交流成分）データが得られる。上記の通り、１つのマクロブロックは４×４個のブロックで構成されているので、１つのマクロブロックからは４×４個のＤＣ成分データと、１５×４×４個のＡＣ成分データが得られる。この４×４個のＤＣ成分値を集めたものをＤＣブロックと言う。
【００３５】
上記がステップＳ４０３の処理、すなわ、第１回目の周波数変換処理である。
【００３６】
次に、ステップＳ４０４の処理（第２回目の周波数変換処理）について説明する。
【００３７】
ステップＳ４０４における第２回目の周波数変換対象は、上記のＤＣブロックである（第２ステージ）。この結果、ＤＣブロックから１個のＤＣ成分値と、１５個のＡＣ成分値が得られる。後者のＡＣ成分値は、ＤＣブロック（４×４画素）のＤＣ成分から算出したＡＣ成分であるので、図６ではＡＣＤＣ成分として示している。
【００３８】
なお、ステップＳ４０３、Ｓ４０４で生成される成分を区別するのであれば、１回目（ステップＳ４０３）で得られるＤＣ成分データ、ＡＣ成分データを、第１レベルのＤＣ成分データ、第１レベルのＡＣ成分データとも言う。そして、２回目（ステップＳ４０４）で得られるＤＣ成分データ、ＡＣＤＣ成分データを、第２レベルのＤＣ成分データ、第２レベルのＡＣ成分データとも言っても構わない。
【００３９】
ここで、周波数変換処理は図７のフローチャートに示す手順で行われる。なお、同フローチャートは１ブロック（４×４画素）についてのものである点に注意されたい。すなわち、マクロブロックは４×４ブロックで構成されているので、第１回目の周波数変換処理（ステップＳ４０３）では、図７のフローチャートに従った処理を１６回行なうことになる。
【００４０】
なお、図７のフローチャートにおけるステップＳ７１乃至Ｓ７８における変換処理（フィルタリング処理）は、図８（ｂ）乃至（ｄ）の同名の変換回路（フィルタリング回路）のいずれかで実行される。また、図７の各変換処理での引数ａ乃至ｐは、図８（ａ）の着目ブロック内の画素ａ乃至ｐの位置に対応する。
【００４１】
図７の最初の処理ステップ７１の変換処理Ｔ＿Ｈ（ａ，ｄ，ｍ，ｐ）は、図８（ｂ）の回路構成で実行することを示している。すなわち、図８（ｂ）の入力端子Ｘ１，Ｘ２，Ｘ３，Ｘ４に、図８（ａ）におけるａ，ｄ，ｍ，ｐをそれぞれセットし演算を開始させる。そして、出力端子Ｙ１、Ｙ２、Ｙ３、Ｙ４に現れる４つの値で、元のａ，ｄ，ｍ，ｐの値を更新する。ステップＳ７２以降でも、同様である。なお、ステップＳ７８では、データｌ，ｏの正負の符号を反転した後、Ｔ＿Ｏｄｄ＿Ｏｄｄ演算処理（図８（ｄ）参照）を行なうことを示している。
【００４２】
図７の処理をＤＣ成分について平たく言えば、最初の４つの処理（ステップＳ７１乃至７４）では、着目ブロック（４×４画素）のデータから、仮の低周波成分を左上隅の２×２の位置（図８ではａ，ｂ，ｅ，ｆの位置）に集中させる。そして、ステップＳ７５では、左上隅の｛ａ，ｂ，ｅ，ｆ｝の位置に格納された２×２個の仮低周波成分のデータを用いて、図８（ａ）の“ａ”の位置に、着目ブロックの１つのＤＣ成分を格納させる。
【００４３】
また、１５個のＡＣ成分については、ステップＳ７１乃至Ｓ７８の処理過程を経て生成していることになる。
【００４４】
１回目の周波数変換処理では、図７の着目マクロブロックに含まれる１６個のブロックそれぞれについて行なう。また、２回めの周波数変換処理では、着目マクロブロックから得られたＤＣブロック（４×４個のＤＣ成分値）が、図８（ａ）の配列にあるものと見なし、図７のフローチャートに示す処理を１回行なえば良いことになる。
【００４５】
上記の通り、２回の周波数変換処理で、１つのマクロブロックからは、１つのＤＣ成分、１５（＝４×４−１）個のＡＣＤＣ成分、２４０（＝１５×４×４）個のＡＣ成分が得られる。
【００４６】
なお、実施形態における符号化処理では、タイル単位に符号化データを生成する。実施形態では、１タイルは６×４個のマクロブロックで構成されるものとしているので、上記ステップＳ４０３、Ｓ４０４はこの１タイルに含まれるマクロブロックの数だけ処理することになる。
【００４７】
図４の説明に戻る。ステップＳ４０２において、第１変換部２０１は、メモリ２０３から取得した系列変換情報ＳＣが“０”以外、すなわち、ＳＣ＝１又は２であると判断した場合、ステップＳ４０５に進む。ステップＳ４０５では、第１変換部２０１は、第２変換部２０２に対して変換処理の開始指示を行なう。
【００４８】
この第２変換部２０２の処理は、第１変換部２０１がブロック単位の演算を基礎にしていることに起因するブロック境界の歪みを補正するため、ブロックの境界を跨ぐ（オーバーラップする）範囲で補正処理を行なう。それ故、この第２の変換部２０２が実行する処理を以降、ブロックオーバラップ処理という。
【００４９】
第１変換部２０１によって起動指示を受けた第２変換部２０２は、図９に示したように入力タイル中のブロック（４×４画素）の境界を跨ぐ（オーバーラップする）ｗｉｎｄｏｗを用いてブロックオーバラップ処理を行なう（ステップＳ４０４）。
【００５０】
このブロックオーバラップ処理を、図１９のフローチャートに示す通りである。図１９には、先に示した図７のフローチャートで示した処理に加えて、２つのフィルタ処理、すなわち、Ｔ＿ｓ（）、及び、Ｔ＿Ｒｏ（）が新に追加される。このＴ＿ｓ（）、及び、Ｔ＿Ｒｏ（）は図２０（ａ），（ｂ）の回路構成で実現する。Ｔ＿ｓ（）、Ｔ＿Ｒ処理は、２入力、２出力のフィルタリング処理である。
【００５１】
ブロックオーバラップ処理は、先に説明した周波数変換処理の処理対象のブロックを跨ぐ範囲を処理対象とすることで、周波数変換するブロック境界での不連続性の発生を抑制できる。
【００５２】
この後、処理は、ステップＳ４０６に進み、第１変換部２０１は、周波数変換処理を１回を行なう。このステップＳ４０６における周波数変換処理は、図６のマクロブロックに相当する領域内の４×４個のブロックそれぞれについて周波数変換を行なうものである。すなわち、ステップＳ４０３と同様に、１６個のブロックを周波数変換し１６個のＤＣ成分と、２４０個のＡＣ成分を算出する処理である。実施形態の場合、１つのタイルに含まれるマクロブロックの数は６×４個であるので、上記処理を２４回実行することになる。
【００５３】
次に、ステップＳ４０７において、第１変換部２０１は、メモリ２０３から取得した系列変換情報ＳＣが“１”であるか否かを判断する。“１”であると判断した場合には、ステップＳ４０９に処理を進める。一方、“１”以外、すなわち、系列変換情報ＳＣが“２”であると判断した場合、処理はステップＳ４０８に進み、第２変換部２０２に対して、２回めのブロックオーバラップ処理（図１９参照）を実行させる。
【００５４】
なお、ステップＳ４０８における第２変換部２０２が実行するブロックオーバラップ処理の処理対象となるのは、６×４個のＤＣブロックとなる。
【００５５】
ステップＳ４０９では、２回目の周波数変換処理を実行する。この２回めの周波数変換処理はステップＳ４０４と同じである。但し、処理対象は、ステップＳ４０６、もしくはステップＳ４０８の処理を経た１タイルに含まれる複数のＤＣブロックの集合に対して行なう。すなわち、１つのタイルは６×４個のマクロブロックを内包し、１マクロブロックからＤＣブロックが１個生成される。従って、２４個のＤＣブロックについて周波数変換を行なうことになる。
【００５６】
以上の処理をまとめると、本実施形態のマクロブロックに対する処理は次の通りである。
・撮影する画像サイズがＳサイズの場合：
周波数変換処理→周波数変換処理
・撮影する画像サイズがＭサイズの場合：
ブロックオーバラップ処理→周波数変換処理→周波数変換処理
・撮影する画像サイズがＬサイズの場合：
ブロックオーバラップ処理→周波数変換処理→ブロックオーバラップ処理→周波数変換処理
【００５７】
以上説明したのが、図１における系列変換部１０２の処理である。
【００５８】
系列変換部１０２は上記の変換結果を、後続する量子化部１０３に出力する。量子化部１０３は、Ｑパラメータ（以下ＱＰと呼ぶ）を設定し、この設定されたＱＰと図１０の変換式に従って量子化ステップを算出する。なお、ＨＤ  Ｐｈｏｔｏによれば、ここで述べるＱＰの設定方法としては、以下の３つの自由度があり、これらの組み合わせでＱＰを設定できるとしているので、本実施形態でもこれを準拠するものとする。
・自由度軸１：空間的自由度：
１．１  画像中全マクロブロックに対して同一のＱＰを設定．
１．２  タイル内における全マクロブロックに対して同一のＱＰを設定．
１．３  タイル内の各マクロブロックに対して自由にＱＰを設定．
・自由度軸２：周波数的自由度：
２．１  全周波数成分に対して同一のＱＰを設定．
２．２  ＤＣ成分とローパス成分（ＡＣＤＣ成分）に対して同一のＱＰを設定、ハイパス成分（ＡＣ成分）には異なるＱＰを設定．
２．３  ローパス成分とハイパス成分で同一のＱＰを設定、ＤＣ成分には異なるＱＰを設定．
２．４  各周波数成分に異なるＱＰを設定．
・自由度３：カラープレーン的自由度：
３．１  全カラープレーンでＱＰを同一に設定．
３．２  輝度プレーンに１つのＱＰを設定、輝度以外のプレーンに対して同一のＱＰを設定．
３．３  各プレーン別々にＱＰを設定．
【００５９】
例えば、従来のＪＦＩＦにおける量子化は、空間的自由度では１．１であり、カラープレーン的自由度では３．２である。なお、ＪＦＩＦではマクロブロック中、各係数に量子化ステップを割り当てるため、周波数的自由度にはあてはまる項目はない。
【００６０】
さて、上記のようにして量子化部１０３による量子化処理を終えると、量子化後のデータを係数予測部１０４に出力する。係数予測部１０４は、係数予測を行い、その予測誤差を出力する。係数予測では、ＤＣ成分，ローパス成分，ハイパス成分それぞれ別個のルールに基づいて実施する。なお、予測演算の方法は各タイル単位で決定されて、また、隣接タイルの係数を使わない。以下、係数予測部１０４による各成分の予測演算について説明する。
【００６１】
（１）ＤＣ成分予測
先に説明したように、実施形態の場合、１つのタイルは６×４個のマクロブロックで構成される。１つのマクロブロックからは１つのＤＣ成分（図６参照）が得られるわけであるから、１つのタイルからは６×４個の量子化処理済みのＤＣ成分が得られる。
【００６２】
係数予測部１０４のＤＣ成分予測処理（予測誤差算出処理）は次の通りである。
【００６３】
１タイル内のＤＣ成分値をラスタースキャンする。図１１は、タイル内のスキャン処理中の着目マクロブロックのＤＣ成分Ｘと、相対的に隣接する近傍ＤＣ成分Ｄ、Ｔ、Ｌの関係を示している。ラスタースキャンするわけであるから、着目ＤＣ成分Ｘの近傍に位置する近傍ＤＣ成分Ｄ、Ｔ、Ｌは、既に予測処理（予測誤差算出）を終えた位置にあることになる点に注意されたい。
【００６４】
なお、着目ＤＣ成分Ｘが、左上隅位置にあるとき、近傍ＤＣ成分Ｄ、Ｔ、Ｌの全てはタイル外に位置する。また、着目ＤＣ成分Ｘが、左上隅位置以外の１ライン目にあるとき、近傍ＤＣ成分Ｄ、Ｔはタイル外に位置する。そして、着目ＤＣ成分Ｘが、左上隅位置以外の左端にあるとき、近傍ＤＣ成分Ｄ、Ｌはタイル外に位置する。このように、参照すべきタイル外にある近傍ＤＣ成分は、所定値（例えば、“０”）を持つものとみなす。この所定値は、復号側と同じになれば良いので、必ずしも“０”でなくても構わない。
【００６５】
以下、図１２のフローチャートに従ってタイル内のＤＣ成分予測処理を説明する。
【００６６】
先ず、ステップＳ１２０１では、近傍ＤＣ成分値であるＤとＴの差分絶対値（水平方向差分絶対値）ＡＢＳ＿ＨＯＲを算出し、近傍ＤＣ成分値であるＤとＬの差分絶対値（垂直方向差分絶対値）ＡＢＳ＿ＶＥＲを算出する。
【００６７】
そして、ステップＳ１２０２にて、ＡＢＳ＿ＨＯＲ＜＜ＡＢＳ＿ＶＥＲであるか、すなわち、ＡＢＳ＿ＨＯＲがＡＢＳ＿ＶＥＲより十分に小さいか否かを判断する。具体的には、或る正の閾値Ｔｈを用い、次式を満たす場合に、ＡＢＳ＿ＨＯＲがＡＢＳ＿ＶＥＲよりも十分に小さいと判断する。
ＡＢＳ＿ＨＯＲ−ＡＢＳ＿ＶＥＲ＜Ｔｈ
【００６８】
ステップＳ１２０２の処理を平たく説明するのであれば、着目タイル（図示のＸの位置）近傍では、垂直方向よりも、水平方向に似通った画像が連続しているか否かを判断するものである。従って、ステップＳ１２０２にて、ＡＢＳ＿ＨＯＲ＜＜ＡＢＳ＿ＶＥＲであった場合、処理はステップＳ１２０３に進み、着目ＤＣ成分Ｘの予測値Ｐとして左隣のＤＣ成分Ｌを用いることに決定する。
【００６９】
また、ステップＳ１２０２にて、Ｎｏと判断された場合、ステップＳ１２０４に処理を進める。このステップＳ１２０４では、ＡＢＳ＿ＨＯＲ＞＞ＡＢＳ＿ＶＥＲであるか、すなわち、ＡＢＳ＿ＶＥＲがＡＢＳ＿ＨＯＲより十分に小さいか否かを判断する。これは、ステップＳ１２０２と同様であり、次式を満たす場合に、ＡＢＳ＿ＶＥＲがＡＢＳ＿ＨＯＲよりも十分に小さいと判断する。
ＡＢＳ＿ＶＥＲ−ＡＢＳ＿ＨＯＲ＜Ｔｈ
【００７０】
ＡＢＳ＿ＶＥＲ＜＜ＡＢＳ＿ＨＯＲであった場合（ステップＳ１２０４がＹｅｓの場合）、着目ＤＣ成分Ｘと垂直方向に隣に位置するＤＣ成分Ｔとの差が小さくなる確率が高いと言える。従って、処理はステップＳ１２０５に進み、着目ＤＣ成分Ｘの予測値Ｐとして上隣のＤＣ成分Ｔを用いることに決定する。
【００７１】
また、ステップＳ１２０４にて、Ｎｏと判断された場合、ステップＳ１２０６に進み、着目ＤＣ成分Ｘの予測値Ｐとして、（Ｔ＋Ｌ）／２を用いることに決定する。なお、（Ｔ＋Ｌ）／２の算出は、Ｔ＋Ｌを算出し、その後で、１ビット下位方向にシフトすることで得られる（小数点以下は切り捨て）。
【００７２】
上記のステップＳ１２０３、１２０５、１２０６のいずれかによって着目ＤＣ成分Ｘの予測値Ｐが求まると、ステップＳ１２０７にて、着目ＤＣ成分Ｘと予測値Ｐとの差分を予測誤差として算出する。
【００７３】
この後、処理はステップＳ１２０８に進み、着目タイル内の全ＤＣ成分の予測誤差算出を終えたか否かを判断する。この判断が否（Ｎｏ）の場合には、ステップＳ１２０９にて、着目ＤＣ成分Ｘの位置を次の位置に更新し、ステップＳ１２０１に戻る。
【００７４】
以上のようにして、着目タイル内の６×４個のＤＣ成分の予測誤差算出処理が行われる。
【００７５】
（２）ローパス成分予測
図１３は、１つのマクロブロックの量子化後のＡＣＤＣ成分値の配列を示している。この配列は、１つのマクロブロックに対して、２回めの周波数変換を行なったＡＣＤＣ成分値（図６参照）でもある。ローパス成分の予測処理の対象となるのは、図１３における｛１，２，３｝で示されるＡＣＤＣ成分か、同図の｛４、８、１２｝で示されるＡＣＤＣ成分のいずれか一方である。例えば、図１３におけるＡＣＤＣ成分｛４，８，１２｝を予測処理すると決定された場合、それ以外の｛１，２，３，５，６，７，９，１０，１１，１３，１４，１５｝の位置のＡＣＤＣ成分は予測誤差算出処理は行なわない。
【００７６】
なお、着目マクロブロックが、タイル内の左端や上端の位置にあるとき、参照する着目マクロブロックに隣接するマクロブロックは存在しない。このように参照すべきマクロブロックが存在しない場合、その存在しないマクロブロックでは、｛１、２、３｝を予測誤差算出対象として処理したものと見なす。但し、｛４、８、１２｝を予測誤差算出対象としても構わない。要するに、符号化側と復号側で共通にすればよい。
【００７７】
図１４は、ローパス成分予測処理の処理手順を示すフローチャートである。以下、このフローチャートに従って説明する。
【００７８】
ステップＳ１４０１では、着目ブロックの左隣のマクロブロックのＤＣ予測方向が水平方向であり、且つ、着目マクロブロックのＤＣ成分の量子化パラメータＱＰ＿Ｃと、着目マクロブロックの左隣のマクロブロックのＤＣ成分の量子化パラメータＱＰ＿Ｌとが等しいか否かを判断する。この２つの条件を満たす場合（ステップＳ１４０１の判断やＹｅｓ）、着目ブロックの予測方向を水平方向として決定する。すなわち、図１３における｛１，２，３｝を予測誤差算出対象として決定し、それ以外は予測誤差算出対象外にする。そして、ステップＳ１４０６にて、予測誤差算出を行なう。
【００７９】
また、ステップＳ１４０１でＮｏと判断された場合、ステップＳ１４０３に処理を進める。このステップＳ１４０３では、着目ブロックの上隣のマクロブロックのＤＣ予測方向が垂直方向であり、且つ、着目マクロブロックのＤＣ成分の量子化パラメータＱＰ＿Ｃと、着目マクロブロックの上隣のマクロブロックのＤＣ成分の量子化パラメータＱＰ＿Ｔとが等しいか否かを判断する。この２つの条件を満たす場合、着目ブロックの予測方向を垂直方向として決定する。すなわち、図１３における｛４，８，１２｝を予測誤差算出対象として決定し、それ以外は予測誤差算出対象外にする。そして、ステップＳ１４０６にて、予測誤差算出を行なう。
【００８０】
また、ステップＳ１４０３の判断がＮｏの場合、着目マクロブロック内のＡＣＤＣ成分については予測誤差算出は行なわず、本処理を終える。
【００８１】
（３）ハイパス成分予測
図１５（ａ）乃至（ｃ）はハイパス成分の予測方向（３通り）を示す図である。ここで言うハイパス成分は、図６における１回めの周波数変換した際に得られた４×４個のブロックの各ＤＣ成分を除いたＡＣ成分である（図６参照）。また、周波数変換した１つのブロックは、１つのＤＣ成分と、１５個のＡＣ成分が得られるが、図示では、このＡＣ成分についてその配列の位置を示すため、１乃至１５の番号を付した。また、ハイパス成分の予測を求める対象は、図１５（ａ）における｛１、２、３｝のＡＣ成分、｛４、８、１２｝のＡＣ成分のいずれかになる。例えば、｛１、２、３｝のＡＣ成分について予測誤差を求めると決定した場合、｛４、５、６、…、１５｝のＡＣ成分は予測誤差算出対象外にする。
【００８２】
図１６は、ハイパス成分の予測処理を示すフローチャートであり、以下、同図に従って説明する。
【００８３】
着目タイルの各ブロックの左端の｛４、８、１２｝の位置のＡＣＤＣ成分値のエネルギー値Ｅ＿Ｌと、着目タイルの各ブロックの上端の｛１，２，３｝のエネルギー値Ｅ＿Ｔを求める。着目タイルには、４×４個のブロックが存在する。Ｅ＿Ｌ値は、１６個のブロックの｛４、８、１２｝の位置にあるＡＣＤＣ成分の絶対値の合計値で良い。また、Ｅ＿Ｔ値は、１６個のブロックの｛１、２、３｝の位置にあるＡＣＤＣ成分の絶対値の合計値で良い。
【００８４】
ステップＳ１６０１では、Ｅ＿ＬがＥ＿Ｔに対して十分に小さいか否かを判定する。予め設定された正の閾値Ｔｈを用い、次式を満たすか否かを判定すればよい。
Ｅ＿Ｌ−Ｅ＿Ｔ＜Ｔｈ
【００８５】
Ｅ＿Ｌ＜＜Ｅ＿Ｔであると判断した場合、着目ブロックのＡＣ成分の予測誤差を求める方向は水平方向に決定し、ステップＳ１６０２にて各ブロックの｛４、８、１２｝の位置にあるＡＣ成分を、図１５（ａ）に示す水平方向にスキャンし、予測誤差を求める。
【００８６】
また、ステップＳ１６０１の判定がＮｏの場合、処理はステップＳ１６０５に進み、Ｅ＿ＴがＥ＿Ｌに対して十分に小さいか否かを判定する。上記の閾値Ｔｈを用い、次式を満たすか否かを判定すればよい。
Ｅ＿Ｔ−Ｅ＿Ｌ＜Ｔｈ
【００８７】
ステップＳ１６０５にて、Ｅ＿Ｔ＜＜Ｅ＿Ｌであると判断した場合、着目ブロックのＡＣ成分の予測誤差を求める方向は垂直方向に決定する。そして、ステップＳ１６０４にて各ブロックの｛１、２、３｝の位置にあるＡＣ成分を、図１５（ｂ）に示す水平方向にスキャンし、予測誤差を求める。
【００８８】
また、ステップＳ１６０５の判断がＮｏの場合、着目マクロブロックのＡＣ成分については予測誤差算出は行なわない（図１５（ｃ））。
【００８９】
なお、１つのタイルは、実施形態の場合、６×４個のマクロブロックが含まれるので、最終的に出力されるタイル毎の符号化データのヘッダには、各マクロブロックのスキャン方向が水平、垂直、スキャン無しの情報を格納しておく。
【００９０】
以上が係数予測部１０４の処理の説明である。この係数予測部１０４による予測処理の結果、ＤＣ成分、ＡＣＤＣ成分、ＡＣ成分の各予測誤差と、予測誤差を算出しなかった複数の成分値が係数スキャン部１０５に出力される。
【００９１】
係数スキャン部１０５は、１タイル分の上記の情報を格納するバッファを有し、各成分（予測誤差、予測誤差を算出していない成分値）を、ＪＰＥＧ方式の係数スキャンと同様にジグザグスキャンを行い、内部バッファ内に並べ替える。この詳細は、ＨＤＰｈｏｔｏを開示している文献、もしくはＨＤＰｈｏｔｏ規格書に記述されているので、ここでの詳述は省略する。
【００９２】
エントロピー符号化部１０６は、係数スキャン部１０５内の内部バッファに並べられた値についてエントロピー符号化を行なう（ハフマン符号語の割り当て処理を行なう）。
【００９３】
本実施形態においては、ＤＣ成分については、隣り合うブロック間で差分を取った上で差分値をハフマン符号する。ローパス成分，ハイパス成分についてはジグザグスキャン順に沿って、ゼロランの乱数と非ゼロ係数の組み合わせに対して２次元ハフマン符号化を実施する。２次元ハフマン符号化については、ＪＰＥＧGと同様な手法で行うものとする。
【００９４】
１つのタイルのエントロピー符号化を終えると、符号列形成部１０７はエントロピー符号化の結果となる符号化データを並べ変え、先頭にヘッダをつけて符号列を形成する処理を行なう。
【００９５】
実施形態における１タイルの符号列の配列形式は２種類ある。１つは、スペーシャルモード（空間順符号列）であり、もう１つはフリークエンシーモード（解像度順符号列）である。
【００９６】
スペーシャルモードは、図１７に示したとおり、タイル内においてラスタースキャン順にマクロブロック単位にデータを並べたデータ構造である。１つもマクロブロックのデータは、ＤＣ、ＡＣＤＣ，ＡＣの符号化データの順である。
【００９７】
一方フリークエンシーモードは、図１８に示すように、タイル内の各ＤＣ成分の符号化データを並べ、後続してＡＣＤＣ成分の符号化データ、そして、ＤＣ成分の符号化データの並べる。つまり、低周波から高周波に向かう順に符号化データを並べる。
【００９８】
スペーシャルモードは、オリジナル画像を最初から再現する際に都合の良いフォーマットである。一方、後者、すなわち、フリークエンシーモードは、オリジナルの画像の解像度よりも低い解像度（中間解像度）の画像を再現する場合に都合が良い。すなわち、徐々に解像度をあげて再現する場合に適したものと言える。
【００９９】
なお、図１８におけるスペーシャルモードの符号化データ中の「ＦＬＥＸＢＩＴＳ」について簡単に説明する。ＨＤ  Ｐｈｏｔｏの符号化データでは、各成分値（予測誤差値を含む）は、その成分値を表わす多ビットの或るビット位置を境にし、その上位ビット群と下位ビット群に分ける。上位ビット群は、連続して同じ値になる確率が高いので符号化対象とする。下位ビット群で表わされる値は、連続性が無いので符号化しない。ＦＬＥＸＢＩＴＳは、各成分値（予測誤差値を含む）の下位ビットの未符号化のデータで構成されるものである。
【０１００】
さて、本実施形態では、先に説明した符号列形成情報ＣＦが“２”の場合、フリークエンシーモードに従った順に符号化データを並べて符号系列を生成する。一方、符号列形成情報ＣＦが“１”の場合には、スペーシャルモードに従った符号系列を生成する。かかる点を平たく言えば、符号化対象の画像の解像度が高い（実施形態では、サイズＬ以上）の画像を符号化する場合、その画像を構成している画素が非常に多く、一般的に、ユーザは、それよりも低い解像度の画像を見る（復号する）可能性が高いので、フリークエンシーモードに従った符号列を形成するようにした。一方、サイズＬ未満の場合には、スペーシャルモードに従った符号列を形成するようにした。
【０１０１】
なお、フリークエンシーモードとスペーシャルモードを決定する際の閾値として、実施形態では、サイズＬ以上か未満かで決定するものとしたが、サイズＭ以上かそれ未満かとしても構わない。特に、昨今のデジタルカメラは、撮像可能な画素数は増える一方であり、撮影できるサイズも３種類ではなく、４種類以上も備えることになるであろうから、ユーザが閾値となるサイズ（画素数）を設定するようようにしても構わない。いずれにしても、どの解像度以上からスペーシャルモードにするかの設定情報は、不揮発性メモリに保持し、この保持された情報に従って、符号列を形成する。
【０１０２】
当業者であれば容易に理解できるように、スペーシャルモードの場合、マクロブロック単位に符号列を形成できるので、符号系列の生成は比較的簡単な処理である。一方、フリークエンシーモードは、タイル全体の符号化が終了しないと、符号列を生成することができないので、その分だけ処理に時間を要する。ただ、後者の方法を取ることで、復号再生の初期段階で縮小画像を表示することができるため、アプリケーションとしての価値を高めることが可能となる。
【０１０３】
なお、フリークエンシーモードとスペーシャルモードは、１つの画像について一義的に決まるので、ファイルヘッダに、いずれのモードであるかを示す情報を格納することになる。また、ファイルヘッダには、これ以外にも、ＱＰ，予測方法，ハフマン符号化のテーブル，符号列の形成方法といった、符号化方法に関する情報が格納される。また、タイルヘッダには、ＡＣ成分の予測処理におけるスキャン方向を示す情報が格納されることになる。
【０１０４】
以上説明したとように、本第１の実施形態によれば、撮影する画像のサイズが大きいほど、系列変換部１０２はブロックオーバラップ処理の実行回数（最大２回）を多くする。この結果、中間解像度で再現する画像のブロックノイズが目立つことが無くなり、良好な画像を再現できるようになる。
【０１０５】
また、撮影する画像のサイズがＬサイズ以上の場合、生成される符号列のデータ構造がフリークエンシーモードとなる。従って、オリジナルの解像度以下の中間解像度の画像を復号する際には、復号処理対象外のデータをスキップして復号することが可能になり、中間解像度の画像の復号処理を高速なものとすることが可能になる。
【０１０６】
なお、実施形態では、符号化対象の画像データに複数のタイルが含まれるものとして説明したが、符号化対象画像データ＝１タイルとしても構わない。これは以下に説明する各実施形態でも同様である。
【０１０７】
＜第２の実施形態＞
上記第１の実施形態では、デジタルカメラに適用した例を説明したが、本発明はデジタルカメラのみに限定されるものではない。本第２の実施の形態では、デジタルカムコーダへの適用例を説明する。図２７に示したように、当該カムコーダは時系列画像撮影中（動画像撮影中）に、ユーザーが高解像度の静止画を撮影することを可能にするものである。そして蓄積媒体の有効利用のため、静止画を動画像のフレームサイズにまで縮小処理（解像度ダウン処理）する。そして、その縮小した静止画を、その撮影タイミングにおける動画像用のフレーム画像として活用する。その際、縮小処理で得られる中間解像度の画質は高い方が望ましいことは言うまでもない。
【０１０８】
本第２の実施形態のデジタルビデオカメラのブロック構成図を図２３に示す。
【０１０９】
図２３において、図２１と同じ機能を持つものについては同符号を付した。図２３は、図２１におけるサイズ指定部２０１５、撮影指示部２０１２に替えて、動画撮影指示部２３０１、静止画撮影部２３０２が有する点で異なる。なお、撮影部２１０１は、水平方向４０００画素、垂直方向３０００画素の解像度で撮影可能な撮像素子を有し、動画像撮影時には６４０×４８０画素程度の解像度で撮影し、静止画は４０００×３０００画素の高解像度で撮影するものとする。
【０１１０】
本第２の実施の形態におけるカムコーダは、ユーザが動画撮影指示部２３０１で動画撮影の指示を行なっている最中に、静止画撮影指示部２３０２を介して静止画の撮影を可能にする。
【０１１１】
図２４のフローチャートでは、動画撮影指示部２３０１がユーザーに指示され、動画像を撮影、記録を行なう場合の手順を示している。
【０１１２】
ユーザから動画撮影の指示を受けると（ステップＳ２４０１）、静止画撮影の指示の有無を確認する（ステップＳ２４０２）。言い換えれば、解像度の高い画像の撮影指示を行なったか否かを判断する。もし静止画撮影の指示があった場合、処理はステップＳ２４０３に進み、撮影部２１０１から高解像度静止画を取得し、メモリ２１０９へ格納する。そして、ステップＳ２４０４にて、画像処理部２１０３で所定の画像処理を指示して、且つ、画像圧縮部２１０４に与える２つのパラメータ系列変換情報ＳＣと符号列形成情報ＣＦそれぞれを“２”を設定する。そして、ステップＳ２４０５にて、画像圧縮部２１０４に圧縮符号化処理を開始させる。この結果、高解像度の画像データの符号化データがメモリ２１０９に保存される。
【０１１３】
また、このとき、生成された符号化データから、動画像のフレームの解像度まで落とした画像を復号し、その復号画像を動画像の１フレームとしてメモリ２１０９に保存する。
【０１１４】
一方、ステップＳ２４０２にて、静止画撮影の指示がないと判断した場合、ステップＳ２４０６にて、撮影部２１０１から動画フレームの解像度の画像データを取得し、メモリ２１０９へ格納する（ステップＳ２４０６）。そして、画像処理部２１０３で所定の画像処理を指示して、画像圧縮方法に関する情報として系列変換情報と符号列形成情報それぞれ対して“１”を設定し（ステップＳ２４０７）、画像圧縮部２１０４に出力する（ステップＳ２４０５）。
【０１１５】
画像圧縮部２１０４の処理については、第１の実施の形態と同様であり説明を割愛する。
【０１１６】
以上説明したとおり、本第２の実施の形態におけるカムコーダは、動画撮影中に静止画撮影した際、その静止画の中間解像度画像を動画の１フレームとして活用できる。また、動画シーケンスの品位をよくするために、中間解像度画像に対して高画質化処理を実施する。
【０１１７】
＜第３の実施形態＞
第３の実施形態を説明する。上記第１，第２の実施形態における符号化対象の画像データは、撮像部２１０１で撮影した画像であった。本第３の実施形態では、パーソナルコンピュータに代表される情報処理装置（以下、ＰＣという）上で実行するアプリケーションプログラムでもって、画像圧縮符号化する例を説明する。
【０１１８】
昨今のＰＣ上で実行されるＯＳ（オペレーティングシステム）は、仮想的なメモリ（クリップボードと呼ばれる一時待避メモリ）に各種アプリケーションで扱っているデータをコピーし、別のアプリケーションに張り付けることが可能になっている（一般には、「コピー＆ペースト」と呼ばれる機能である）。
【０１１９】
当然、上記ＯＳ上で実行可能な文書や画像編集アプリケーションも、この機能を利用する、もしくは出来るようになっている。例えば、ＭＳ−Ｗｏｒｄ（登録商標）やＰｈｏｔｏｓｈｏｐ（登録商標）というアプリケーションがこれに相当する。すなわち、アプリケーションでページ単位に編集中に、或るページに別のアプリケーションやビューワで表示された画像をコピー＆ペーストすることができる。
【０１２０】
そこで、本第３の実施形態では、クリップボードに格納された情報が画像データであって、その画像データの挿入（張り付け）の指示があった場合、アプリケーションが管理するページのサイズと画像データのサイズとを比較する。そして、画像のサイズがページサイズ以下である場合には、その張り付けられた画像をスペーシャルモードの画像を張り付け、画像のサイズがページサイズを超える場合には、フリークエンシーモードの画像を張り付ける。
【０１２１】
本第３の実施形態におけるアプリケーションプログラム（文書処理アプリケーションとする）は、図２５の構成になる。同図に示すように、アプリケーションプログラムは、画像入力部２５０１、サイズ判定部２５０２、画像圧縮部２５０３、ファイル構成部２５０４、ファイル出力部２５０６で構成される。各処理部は、関数、もしくはサブルーチンで実現することになる。
【０１２２】
以下、図２５の構成における処理手順を図２６のフローチャートに従って説明する。
【０１２３】
ユーザがアプリケーションの実行を指示すると、このアプリケーションプログラムがハードディスクからＲＡＭに読込まれ、ＣＰＵがそのアプリケーションプログラムを実行する。以下は、アプリケーションを実行するＣＰＵの処理である。
【０１２４】
ユーザインタフェースを介して、或るページにクリップボードに格納された画像の挿入の指示があると、画像入力部２５０１を使ってクリップボードのラスター画像を入力する（ステップＳ２６０１）。続いて、サイズ判定部２５０２で入力された画像のサイズが文書のページのサイズより大きいか否かを判定する（ステップＳ２６０２）。
【０１２５】
もし挿入対象の画像のサイズが文書のページサイズより大きいと判断した場合（ステップＳ２６０２でYes）、画像圧縮方法に関する情報として系列変換情報ＳＣと符号列形成情報ＣＦそれぞれを“２”に決定する（ステップＳ２６０３）。そして、決定した系列変換情報ＳＣと符号列形成情報ＣＦをパラメータとして、画像圧縮部２５０３に設定し、圧縮符号化処理を実行させる。
【０１２６】
一方で、挿入対象の画像のサイズが文書のページのサイズより以下の場合（ステップＳ２６０２でＮｏ）、画像圧縮方法に関する情報として系列変換情報ＳＣと符号列形成情報ＣＦそれぞれを“１”に決定する（ステップＳ２６０４）。そして、決定した系列変換情報ＳＣと符号列形成情報ＣＦをパラメータとして、画像圧縮部２５０３に設定し、圧縮符号化処理を実行させる。
【０１２７】
画像圧縮部２５０３では、先に説明した第１の実施形態と同様の処理をコンピュータプログラムに従って実行する（ステップＳ２６０５）。ファイル構成部２５０４は、生成された符号化データを画像符号化データファイルとして、該当するページに挿入する（ステップＳ２６０６）。なお、このとき、生成された画像符号化データファイルをハードディスクに格納しても構わない。また、画像符号化データや打ち込まれたテキスト情報をファイル化して出力部２５０５へ出力しても構わない。
【０１２８】
以上説明したとおり、本第３の実施形態によれば、挿入しようとする画像のサイズが文書のページのサイズより大きい場合に中間解像度画像を使用することを想定して、画質を向上させる。
【０１２９】
なお、第３の実施形態では、クリップボードを介して画像をアプリケーションの或るページに挿入する例を説明したが、アプリケーションがダイアログボックスを表示し、ページに挿入すべき画像を選択した際に実行しても構わない。
【０１３０】
また、挿入する画像は大抵文書のページのサイズより大きい。そこで、挿入する画像のサイズと編集ページのサイズとの比較を行なう、行なわないのいずれかのモードを設定するようにしても良い。設定されたモード情報は別途、ハードディスク装置等の記憶装置に記憶させる。そして、「比較を行なわない」ことを示すモードが設定されていた場合には、無条件に２回のブロックオーバラップ処理を行うようにしても構わない。
【０１３１】
＜第４の実施形態＞
上記第１乃至第３の実施形態では、系列変換情報ＳＣ、及び、符号列形成情報ＣＦを設定する条件は、画像のサイズに依存して設定する例であった。本第４の実施形態では、更に、撮影した画像の出力先に応じて、系列変換情報ＳＣ及び符号列形成情報ＣＦを設定する例を説明する。
【０１３２】
図２８は第４の実施形態におけるデジタルカメラのブロック構成図である。第１の実施形態の図２１と異なる点は、ネットワークインタフェース２１１０（無線ＬＡＮインタフェース）、ネットワーク伝送指示部２１１１が追加された点であり、それ以外は第１の実施形態と同じであるものとし、その説明は省略する。
【０１３３】
ユーザが、ネットワーク伝送指示部２１１１を操作して、ネットワーク伝送をＯＮ／ＯＦＦを設定すると、ＣＰＵ２１０８は、その設定情報をメモリ２１０９に記憶保持させる。このネットワーク伝送がＯＮに設定されると、撮影した画像（圧縮符号化された画像データ）は、ネットワークインタフェース２１１０を介して、予め設定した他のデバイス（ＰＣ等）に送信される。また、ネットワーク伝送がＯＦＦの場合には、出力部２１０７に接続されたメモリカードに符号化画像データを格納する。要するに、ネットワーク伝送指示部２１１１は、符号化データの格納先を指定する指定部として機能する。
【０１３４】
また、ユーザはサイズ指定部２１０５を操作して、撮影する画像の解像度（第１の実施形態と同様にサイズＬ，Ｍ，Ｓのいずれか）に設定すると、ＣＰＵ２１０８は、設定されたサイズ情報もメモリ２１０９に記憶保持させる。
【０１３５】
以下、図２９のフローチャートに従って、ユーザが撮影指示２１０２のシャッターボタンを操作した際の処理を、ＣＰＵ２１０８の処理手順を説明する。
【０１３６】
シャッターボタンが操作されると、ＣＰＵ２１０８は、先ずステップＳ２９０１にて、メモリ２１０９に格納された処理指示情報（伝送するか否かを示す情報、及び、サイズ情報）を読込む。そして、ステップＳ２９０２にて、ＣＰＵ２１０８は、処理指撮影部２１０１を駆動してサイズ情報の画像データを取得し、メモリ２１０９に一旦保存する。
【０１３７】
この後、ＣＰＵ２１０８は、ステップＳ２９０３にて、伝送ＯＮとなっているか否かを、処理指示情報に基づき判断する。伝送ＯＦＦ、すなわち、撮影した画像をメモリカードに格納するように設定されている場合には、ステップＳ２９０４に進み、サイズ情報に従って、系列変換情報ＳＣ、及び、符号列形成情報ＣＦの値を決定する。この系列変換情報ＳＣと符号列形成情報ＣＦの値の決定は、第１の実施形態と同じである。決定された系列変換情報ＳＣ、符号列形成情報ＣＦは画像圧縮部２１０４に設定される。
【０１３８】
一方、伝送ＯＮであると判断した場合、処理はステップＳ２９０５に進み、ＣＰＵ２１０８は、画像サイズに無関係に、系列変換情報ＳＣ、及び、符号列形成情報ＣＦの両方を“２”に決定し、それらを画像圧縮部２１０４に設定する。
【０１３９】
ステップＳ２９０４、又は、ステップＳ２９０５のいずれかで系列変換情報ＳＣ、符号列形成情報ＣＦの設定を終えると、処理はステップＳ２９０６に進み、画像圧縮部２１０４における圧縮符号化処理を実行させる。この画像圧縮部２１０４における符号化処理は、第１の実施形態と同じであるので、説明は省略する。画像圧縮部２１０４によって生成された符号化画像データはメモリ２１０９に格納される。
【０１４０】
次いで、ＣＰＵ２１０８は、ステップＳ２９０７に進み、伝送ＯＮであるかＯＦＦ否かを判断する。伝送ＯＦＦであると判断した場合、処理はステップＳ２９０８に進み、メモリ２１０９に格納された符号化画像データをファイルとして、出力部２１０７を介して、メモリカードに保存する。
【０１４１】
また、ステップＳ２９０７にて、伝送ＯＮであると判定した場合、メモリ２１０９に格納された符号化画像データをファイルとして、ネットワークインタフェース２１１０を介して、予め設定されたデバイス（ＰＣ）に送信する。
【０１４２】
上記の結果、伝送ＯＮに設定された場合、符号化画像データを受信するデバイス（ＰＣ）では、解像度順に並んだ符号化データ（図１８参照）を受信する。従って、デバイスは、そのデバイスが有する表示装置の解像度以下の解像度の画像を簡単な処理で生成することが可能になる。しかも符号化データを解像度順に並べるようにした場合には、ブロックオーバーラップ処理を２回行なうようにしているので、オリジナルの解像度よりも低い解像度で画像を再現した際に画質劣化が発生することを抑制することもできる。
【０１４３】
＜第５の実施形態＞
図３０は本第５の実施形態でもデジタルカメラのブロック構成図である。第１の実施形態における図２１と異なる点は、通常の撮影処理（単写モード）に加えて、連写モードを有する点と、単写モードと連写モードとを選択する撮影モード選択部２１１２が追加された点である。これ以外は、第１の実施形態と同じであるものとし、その説明は省略する。
【０１４４】
なお、ユーザが、撮影モード選択部２１１２で撮影モードを設定すると、ＣＰＵ２１０８は、その設定情報をメモリ２１０９に記憶保持させる。また、ユーザはサイズ指定部２１０５を操作して、撮影する画像の解像度（第１の実施形態と同様にサイズＬ，Ｍ，Ｓのいずれか）に設定すると、ＣＰＵ２１０８は、設定されたサイズ情報もメモリ２１０９に記憶保持させる。
【０１４５】
以下、本第３の実施形態における撮影処理時のＣＰＵ２１０８の処理手順を図３１のフローチャートに従って説明する。
【０１４６】
シャッターボタンが操作されると、ＣＰＵ２１０８は、先ずステップＳ３１０１にて、メモリ２１０９に格納された処理指示情報（撮影モードを示す情報、及び、サイズ情報）をを読込む。そして、ステップＳ３１０２にて、ＣＰＵ２１０８は、撮影モードが連写モードであるか否かを判断する。
【０１４７】
撮影モードが連写モードではない、すなわち、単写モードであると判断した場合には、ステップＳ３１０３にて１枚の画像を撮影し、設定されたサイズ情報の画像データをメモリ２１０９に格納する。そして、ステップＳ３１０４にて、サイズ情報に従って、系列変換情報ＳＣ、及び、符号列形成情報ＣＦの値を決定する。この系列変換情報ＳＣと符号列形成情報ＣＦの値の決定は、第１の実施形態と同じである。決定された系列変換情報ＳＣ、符号列形成情報ＣＦは画像圧縮部２１０４に設定される。
【０１４８】
一方、撮影モードが連写モードであると判断した場合、処理はステップＳ３１０５に進む。このステップＳ３１０５では、ＣＰＵ２１０８は、シャッターボタンが押下状態にある間、設定された撮影処理を繰り返し、設定されたサイズの画像データをメモリ２１０９に順次記憶する。従って、連写モードの場合、メモリ２１０９には複数の画像データが格納されることになる。
【０１４９】
シャッターボタンが非押下状態になる、もしくは、予め設定された枚数分の撮影処理を終えると、ＣＰＵ２１０８は、ステップＳ３１０６の処理を実行する。このステップＳ３１０６では、ＣＰＵ２０１８は、画像サイズに無関係に、系列変換情報ＳＣ、及び、符号列形成情報ＣＦの両方を“２”に決定し、それらを画像圧縮部２１０４に設定する。
【０１５０】
ステップＳ３１０４、又は、ステップＳ３１０６のいずれかで系列変換情報ＳＣ、符号列形成情報ＣＦの設定を終えると、処理はステップＳ３１０７に進み、ＣＰＵ２１０８は、画像圧縮部２１０４における圧縮符号化処理を実行させる。この結果、単写モードの場合には、メモリ２１０９に格納された１つの未符号化の画像データについての圧縮符号化処理が実行され、メモリ２１０９に符号化画像データが格納される。また、連写モードの場合には、複数の未符号化の画像データについての圧縮符号化処理が実行され、それぞれの符号化画像データがメモリ２１０９に格納される。
【０１５１】
この後、処理はステップＳ３１０８に進み、メモリ２１０９に格納された１つもしくは複数の符号化画像データをファイルとして、出力部２１０７を介して、メモリカードに保存する。
【０１５２】
以上説明した第５の実施形態によると、連写モードの場合、その画像サイズとは無関係に系列変換情報ＳＣ、及び、符号列形成情報ＣＦの両方が“２”に設定されることになる。
【０１５３】
このようにした理由は、連写モードで撮影した複数の画像は、その撮影時刻の差が非常に小さいので、ユーザはそれらの画像をＰＣが有する表示画面に並べて表示する可能性が高いためである。一般的に、ＰＣの表示装置は高くとも１６００×１４００画素の解像度であるのに対し、本実施形態のデジタルカメラで撮影した画像の最低サイズ（サイズＳ）は、１６００×１２００画素であり、このままでは並べて表示することはできない。すなわち、オリジナルの画像サイズＬ，Ｍ，Ｓのいずれであっても、表示装置の解像度よりも十分に低い解像度の画像を簡単に復号できる形式が望ましい。それ故、符号列形成情報ＣＦを“２”に設定した。
【０１５４】
また、系列変換情報ＳＣを“２”にしたのは、オリジナルの解像度よりも低い解像度の画像を表示する場合、その画質劣化を抑制するためである。
【０１５５】
＜第６の実施形態＞
第６の実施形態を以下に説明する。文書を写真、背景、文字などに分けて圧縮してファイルに格納する技術が知られている。かかる技術を用いて生成されるファイルの代表的なものが、ＰＤＦファイルである。また、様々なファイル形式が存在する昨今、属性の異なる情報を混合したファイル（以下、混合ファイルという）のコンバートをする状況が発生しうる。そこで本第６の実施形態では、そのような混合ファイルのコンバート処理に適用した例を説明する。
【０１５６】
混合ファイルの中に存在する写真画像は何らかの符号化技術を用いて符号化したデータである。符号化技術の種類は多数存在するが、その中にＪＰＥＧ２０００がある。このＪＰＥＧ２０００は、実施形態と同様に、解像度に対してスケーラブル性を持たせた配列の符号化データを生成することもできるし、スペーシャル的な配列の符号化データを生成することもできる。ここで、ＪＰＥＧ２０００に符号化画像データが、解像度スケーラブル配列になっている場合、その混合ファイルの作者は、その画像について解像度のスケーラブル性を持たせたいという意思が働いたものと推察できる。
【０１５７】
一方、ＪＰＥＧ２０００による符号化データを復号する処理と、上記の各実施形態で説明したＨＤ  Ｐｈｏｔｏを用いた符号化データを復号する処理とを比較すると、後者の処理が単純であり、より高速に復号することが可能と言える。
【０１５８】
そこで、本第６の実施形態では、既存の混合ファイル中のＪＰＥＧ２０００の符号化画像データが存在し、尚且つ、その符号化データが解像度に対してスケーラブル配列になっている場合、そのＪＰＥＧ２０００による符号化データを、ＨＤ  Ｐｈｏｔｏの符号化技術を用い符号化し、混合ファイルを更新する。但し、この更新処理では、その混合ファイルを次回アクセスして表示する際に、オリジナルの解像度以下の画像を復号処理を効率良く、しかも、画質劣化を防ぐようにするため、系列変換情報ＳＣ、及び、符号列形成情報ＣＦの両方を“２”にして再符号化する。
【０１５９】
本第６の実施形態では、パーソナルコンピュータ等の汎用情報処理装置に適用し、アプリケーションプログラムとして上記処理を実行する例を説明する。情報処理装置のハードウェア構成は説明するまでもないであろうから、本第６の実施形態におけるアプリケーションを構成する各処理部（実際は関数、又は、サブルーチン）を図３２に示し、その処理を実行するＣＰＵの処理内容を図３３のフローチャートに従って説明する。
【０１６０】
以下の説明では、処理対象の混合ファイルはハードディスクに格納されており、更新後のファイルを同ファイル名で上書きするものとして説明する。処理対象の混合ファイルは、ユーザが指定するものする。なお、上記は一例であって、処理対象の混合ファイルはネットワーク上のファイルサーバに存在し、更新処理した混合ファイルはローカルなハードディスクに記憶させても構わない。つまり、入力源、及び、その出力源はその種類は問わない。
【０１６１】
まず、ステップＳ３３０１にて、ファイル入力部３２０１はハードディスク装置から混合ファイルを入力し、ファイル解析部３２０２にその混合ファイルを出力する。ファイル解析部３２０２は入力した混合ファイルのヘッダを解析して、その混合ファイル内に、ＪＰＥＧ２０００による符号化画像データがいくつ格納されているか計数する（ステップＳ３３０２）。ここではＪＰＥＧ２０００の符号化画像データの数をＮとする。次に、各ＪＰＥＧ２０００の符号化画像データが混合ファイル中のどこに格納されているかを検出し、そのファイル先頭からのオフセット情報を取得する（ステップＳ３３０３）。
【０１６２】
続いて、ステップＳ３３０４にて、ＪＰＥＧ２０００のファイル数を表わすカウンタ（変数）ｋを“１”にリセットする。そして、ステップＳ３３０５にて、ｋ番目のＪＰＥＧ２０００の符号化画像データを取得する。次いで、ステップＳ３３０６にて、そのＪＰＥＧ２０００の符号化画像データのヘッダを解析して、符号化データの配列をどのようになっているかを解析する。
【０１６３】
ステップＳ３３０７では、符号化データの配列が解像度についてスケーラブル配列になっているか否かを判定する。もし解像度に対してスケーラブル配列になっていると判断した場合（ステップＳ３３０７の判断がＹｅｓの場合）、処理はステップＳ３３０８に進み、画像圧縮方法に関する情報として系列変換情報ＳＣと符号列形成情報ＣＦの値を“２”に設定する。
【０１６４】
一方、解像度に対するスケーラブル配列になっていないと判定した場合（ステップＳ３３０７の判断がＮｏの場合）、処理はステップＳ３３０９に進み、画像圧縮方法に関する情報として系列変換情報ＳＣと符号列形成情報ＣＦそれぞれの値を“１”に設定する。
【０１６５】
上記のようにして、圧縮符号化のパラメータである系列変換情報ＳＣ、符号列形成情報ＣＦの値を決定すると、処理はステップＳ３３１０に進む。
【０１６６】
ステップＳ３３１０では、ｋ番目のＪＰＥＧ２０００の符号化画像データを再符号化部３２０３に出力する。再符号化部３２０３は、与えられたＪＰＥＧ２０００の符号化画像データを一旦復号し（ステップＳ３３１０）、その後、決定された系列変換情報ＳＣ、及び、符号列形成情報ＣＦに従って再符号化を行なう（ステップＳ３３１１）。この符号化処理は第１の実施形態で説明した通りなので、その詳細は省略する。なお、再符号化結果は、主メモリ（ＲＡＭ）一時的に保存するものとする。但し、ＲＡＭの空き容量が十分ではない場合には、ハードディスクにテンポラリファイルとしてその再符号化画像データを保存しても構わない。
【０１６７】
１つのＪＰＥＧ２０００の符号化画像データの再符号化処理を終えると、カウンタｋの値が値Ｎより小さいかどうか判定する（ステップＳ３３１２）。ｋ＜Ｎであると判定された場合（ステップＳ３３１２でＹｅｓの場合）、ステップＳ３３１３にてカウンタｋを“１”だけインクリメントし、ステップＳ３３０５の処理に戻る。
【０１６８】
一方、ステップＳ３３１２でＮｏ、すなわち、ｋ＝Ｎと判定された場合、処理はステップＳ３３１４に進む。ステップＳ３３１４では、ファイル構成部３２０４が、再圧縮符号化したＮ個の符号化データと、ＪＰＥＧ符号化データ以外のデータとを結合し、混合ファイルを生成する。そして、生成された混合ファイルを、ハードディスクに格納する。なお、この新たな混合ファイルは、各データがファイル中のどこに存在するかなどの情報をヘッダに集めた上で、１つの混合ファイルを作成する。この作業が終了すると、全体の処理は終了する。
【０１６９】
以上説明したとおり、本第６の実施形態によれば、ＪＰＥＧ２０００の符号化データを内包する混合ファイルにおいて、そのＪＰＥＧ２０００の符号化画像データを復号効率の良い形式の符号化データに変換することが可能になる。従って、混合ファイルを表示するまでの要する処理時間を短縮させた効率の良い混合ファイルを生成することが可能になる。さらにまた、オリジナルの混合ファイル中のＪＰＥＧ２０００の符号化データが解像度に対してスケーラブル配列になっている場合には、その作者の意図の通りに解像度のスケーラブル配列の符号化データを生成することも可能になる。
【０１７０】
なお、フリークエンシーモードとしてタイル内で周波数単位にデータをまとめる方法を開示したがこれに限定されない。例えば、画像全体の各タイルの同一周波数毎（同一解像度毎）のデータをビットストリーム中にまとめる方法も考えられる。この場合、低周波から高周波の順に符号化データを並べることが望ましい。
【０１７１】
以上本発明に係る第１乃至第６の実施形態を説明した。第３、第６の実施形態と同様、第１，第２、第４、第５の実施形態に相当する処理をコンピュータに実行させるコンピュータプログラムでもって実現しても構わない。また、通常、コンピュータプログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体に格納されており、それをコンピュータが有する読取り部（ＣＤ−ＲＯＭドライブ等）にセットし、システムにコピーもしくはインストールすることで実行可能になる。したがって、かかるコンピュータ可読記憶媒体も本発明の範疇にあるのは明らかである。
【図面の簡単な説明】
【０１７２】
【図１】実施形態における画像圧縮部のブロック構成図である。
【図２】実施形態における系列変換部のブロック構成図である。
【図３】色変換の変換式の一例を示す図である。
【図４】実施形態における系列変換部の処理手順を示すフローチャートである。
【図５】実施形態における画像中のタイル、マクロブロック、ブロックの関係を示す図である。
【図６】系列変換処理を説明するための図である。
【図７】周波数変換処理の処理手順を示すフローチャートである。
【図８】周波数変換処理におけるブロック内の画素位置と、３つのフィルタの構造を示す図である。
【図９】ブロックオーバラップ処理の処理対象を示す図である。
【図１０】量子化処理における量子化パラメータの算出式の例を示す図である。
【図１１】実施形態における着目ＤＣ成分Ｘとその予測処理に参照される周囲のＤＣ成分との関係を示す図である。
【図１２】ＤＣ成分の予測処理の処理手順を示すフローチャートである。
【図１３】ローパス成分予測を行なう処理対象のブロックのデータ配列を示す図である。
【図１４】ローパス成分予測処理の処理手順を示すフローチャートである。
【図１５】ローパス成分予測を行なう処理対象のブロックのデータ配列とスキャン方向との関係を示す図である。
【図１６】ハイパス成分予測処理の処理手順を示すフローチャートである。
【図１７】スペーシャルモードの符号化データのデータ構造を示す図である。
【図１８】フリークエンシーモードの符号化データのデータ構造を示す図である。
【図１９】ブロックオーバラップ処理の処理手順を示すフローチャートである。
【図２０】ブロックオーバラップ処理中の２つ変換式に相当する回路構成を示す図である。
【図２１】第１の実施形態におけるデジタルカメラのブロック構成図である。
【図２２】第１の実施形態における画像撮影時の処理手順を示すフローチャートである。
【図２３】第２の実施形態におけるデジタルビデオカメラのブロック構成図である。
【図２４】第２の実施形態における撮影処理時の処理手順を示すフローチャートである。
【図２５】第３の実施形態における情報処理装置が実行するアプリケーションプログラムの処理の流れを概念的に示す図である。
【図２６】第３の実施形態における処理手順を示すフローチャートである。
【図２７】第２の実施形態における動画像撮影中に静止画した場合の動画像、静止画のフレームのサイズの関係を示す図である。
【図２８】第４の実施形態におけるデジタルカメラのブロック構成図である。
【図２９】第４の実施形態における画像撮影時の処理手順を示すフローチャートである。
【図３０】第５の実施形態におけるデジタルカメラのブロック構成図である。
【図３１】第５の実施形態における画像撮影時の処理手順を示すフローチャートである。
【図３２】第６の実施形態における情報処理装置が実行するアプリケーションプログラムの処理の流れを概念的に示す図である。である。
【図３３】第６の実施形態における処理手順を示すフローチャートである。
【図１】
0004958832.tif 000002
【図２】
0004958832.tif 000003
【図３】
0004958832.tif 000004
【図４】
0004958832.tif 000005
【図５】
0004958832.tif 000006
【図６】
0004958832.tif 000007
【図７】
0004958832.tif 000008
【図８】
0004958832.tif 000009
【図９】
0004958832.tif 000010
【図１０】
0004958832.tif 000011
【図１１】
0004958832.tif 000012
【図１２】
0004958832.tif 000013
【図１３】
0004958832.tif 000014
【図１４】
0004958832.tif 000015
【図１５】
0004958832.tif 000016
【図１６】
0004958832.tif 000017
【図１７】
0004958832.tif 000018
【図１８】
0004958832.tif 000019
【図１９】
0004958832.tif 000020
【図２０】
0004958832.tif 000021
【図２１】
0004958832.tif 000022
【図２２】
0004958832.tif 000023
【図２３】
0004958832.tif 000024
【図２４】
0004958832.tif 000025
【図２５】
0004958832.tif 000026
【図２６】
0004958832.tif 000027
【図２７】
0004958832.tif 000028
【図２８】
0004958832.tif 000029
【図２９】
0004958832.tif 000030
【図３０】
0004958832.tif 000031
【図３１】
0004958832.tif 000032
【図３２】
0004958832.tif 000033
【図３３】
0004958832.tif 000034