説明

画像処理装置および方法

【課題】符号化効率を向上させることができるようにする。
【解決手段】ビット深度分割部101は、1系統の入力画像を、ビット深度方向に複数の画像に分割する。エンコード部102は、ビット深度分割部101により分割されてビット深度が小さくなった各画像を、所定の符号化方式で符号化し、それぞれコードストリームを生成する。コードストリーム多重化部103は、エンコード部102により生成された各コードストリームを多重化し、1系統のコードストリームを生成する。本発明は、例えば、画像処理装置に適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および方法に関し、特に、画像の符号化における符号化効率を向上させることができるようにした画像処理装置および方法に関する。
【背景技術】
【0002】
画像の高画質化へのニーズの高まりを受けて、標準画像からHDTV(High Definition Television)画像、更にデジタルシネマの4k×2k画像といった、より高解像度化の動きがある。それとともに画像の高ビット深度化も進んでいる。例えば、画像の撮像素子では12ビット以上のビット深度の画像を取得できるものがある。さらに、液晶ディスプレイでも10ビット以上の階調を表現できるものがある。
【0003】
これに対して、画像の符号化方式においては、例えば、動画向けのMPEG(Moving Picture Experts Group)-2や静止画向けのJPEG(Joint Photographic Experts Group)等の画像符号化方式では、ビット深度が8ビットまでの画像にしか対応していない。しかしながら、例えばAVC(Advanced Video Coding)のHigh ProfileやJPEG2000では8ビット以上のビット深度に対応している。
【0004】
また、例えば、ビット深度変換処理と逆ビット深度変換処理を伴う2段階の構成によって符号化を行うことにより、高ビット深度の画像をより効率よく符号化する方法が考えられた(例えば、特許文献1参照)。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】伊藤健,坂東幸浩,高村誠之,上倉一人,八島由幸”ビット深度変換処理を用いた高ビット深度画像の符号化に関する基礎検討”,電子情報通信学会総合大会,s−5,2009
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、この場合、ビット変換処理後の画像と差分画像の両方に対して符号化が2つ必要になるので、計算処理が複雑になり、符号化の負荷が増大する恐れがあった。また、復号画像の画質が、上述した変換・逆変換処理の精度に依存する恐れがあった。
【0007】
本発明は、このような状況に鑑みて提案されたものであり、画像の符号化における符号化効率を向上させることができるようにすることを目的とする。
【課題を解決するための手段】
【0008】
本発明の一側面は、画像をビット深度方向に複数に分割する分割手段と、前記分割手段により前記画像が前記ビット深度方向に分割されて得られる複数の画像のうち、一部または全部の画像を、それぞれ符号化する符号化手段とを備える画像処理装置である。
【0009】
前記分割手段による前記画像の分割数、および、前記分割手段により分割が行われるビット位置を示す分割位置を少なくとも示す分割情報を生成する分割情報生成手段をさらに備えることができる。
【0010】
前記符号化手段は、前記分割手段により前記画像が前記ビット深度方向に分割されて得られる複数の画像のうち、一部または全部の画像を、画像毎に設定される符号化方式により符号化することができる。
【0011】
前記符号化手段は、前記分割手段により前記画像が前記ビット深度方向に分割されて得られる複数の画像のうち、一部または全部の画像を、前記画像毎に設定されるレベル数でウェーブレット変換し、得られた係数データを符号化することができる。
【0012】
前記符号化手段による、前記分割手段により前記画像が前記ビット深度方向に分割されて得られる複数の画像のうちの一部または全部の画像のそれぞれに対する符号化に対して、目標ビットレートを割り当てるビットレート割り当て手段をさらに備え、前記符号化手段は、前記ビットレート割り当て手段により割り当てられた前記目標ビットレートを用いて、前記分割手段により前記画像が前記ビット深度方向に分割されて得られる複数の画像のうち、一部または全部の画像の符号化のレート制御を行うことができる。
【0013】
前記画像のビット深度において、最上位ビットから連続する値がゼロのビットと、非ゼロのビットとの境界である非ゼロ係数境界を検出する非ゼロ係数境界検出手段をさらに備え、前記符号化手段は、前記非ゼロ係数境界検出手段により検出された前記ゼロ係数境界より上位のビットで構成される画像の符号化を省略することができる。
【0014】
前記符号化手段により符号化される前後のデータサイズに応じて、符号化するか否かを、前記分割手段により前記ビット深度方向に分割されて得られる画像毎に選択する選択手段をさらに備えることができる。
【0015】
前記符号化手段による符号化の符号化方式を、前記分割手段により前記ビット深度方向に分割されて得られる画像毎に選択する選択手段をさらに備えることができる。
【0016】
前記符号化手段により、前記分割手段により前記画像が前記ビット深度方向に分割されて得られる複数の画像のうち、一部または全部の画像が符号化されて得られる各コードストリームを多重化する多重化手段をさらに備えることができる。
【0017】
本発明の一側面は、また、画像処理装置の画像処理方法であって、画像処理装置の画像処理方法であって、分割手段が、画像をビット深度方向に複数に分割し、符号化手段が、前記画像が前記ビット深度方向に分割されて得られる複数の画像のうち、一部または全部の画像を、それぞれ符号化する画像処理方法である。
【0018】
本発明の他の側面は、互いに同一の画像からビット深度方向に分割されて生成された複数の画像がそれぞれ符号化され、得られた前記画像毎のコードストリームが多重化された、1系統のコードストリームを、前記画像毎のコードストリーム毎に分離する分離手段と、前記分離手段により1系統のコードストリームが分離されて得られた前記画像毎のコードストリームを、それぞれ復号する復号手段とを備える画像処理装置である。
【0019】
前記1系統のコードストリームの構造を解析する構造解析手段をさらに備え、
前記分離手段は、前記構造解析手段による前記構造の解析結果に基づいて、前記1系統のコードストリームを分離することができる。
【0020】
前記構造解析手段は、前記1系統のコードストリームに含まれる、前記ビット深度方向に画像を分割した時の画像の分割数および分割が行われるビット位置を示す分割位置を少なくとも示す分割情報を抽出し、前記分離手段は、前記構造解析手段により前記1系統のコードストリームから抽出された前記分割情報に基づいて、前記1系統のコードストリームを分離することができる。
【0021】
前記画像毎のコードストリームは、各画像毎に設定された符号化方式で符号化されており、前記復号手段は、各符号化方式に対応する復号方式で、前記画像毎のコードストリームを復号することができる。
【0022】
前記画像毎のコードストリームは、各画像毎に設定されたレベル数でウェーブレット変換され、得られた係数データが符号化されており、前記復号手段は、前記画像毎のコードストリームを復号し、得られた係数データを、各画像毎に設定された前記レベル数で逆ウェーブレット変換することができる。
【0023】
前記画像毎のコードストリームの符号化時に削除された、前記画像のビット深度において最上位ビットから連続する値がゼロのビットを生成するゼロ係数生成手段をさらに備えることができる。
【0024】
前記分離手段は、互いに同一の画像からビット深度方向に分割されて生成された複数の画像から生成された前記画像毎のデータが多重化された、1系統のデータを、前記画像毎のデータ毎に分離し、前記分離手段により分離された前記画像毎のデータが符号化されているか否かを判定する判定手段をさらに備え、前記復号手段は、前記判定手段により符号化されていると判定された前記画像毎のデータを復号することができる。
【0025】
前記画像毎のコードストリームのそれぞれの符号化方式を示す符号化方式情報に基づいて、前記画像毎のコードストリームのそれぞれの復号方式を判定する判定手段をさらに備え、前記復号手段は、前記画像毎のコードストリームを、それぞれ、前記判定手段により判定された復号方式で復号することができる。
【0026】
前記復号手段により復号されて得られた各画像を、前記ビット深度方向に合成するビット深度合成手段をさらに備えることができる。
【0027】
本発明の他の側面は、また、画像処理装置の画像処理方法であって、分離手段が、互いに同一の画像からビット深度方向に分割されて生成された複数の画像がそれぞれ符号化され、得られた前記画像毎のコードストリームが多重化された、1系統のコードストリームを、前記画像毎のコードストリーム毎に分離し、復号手段が、1系統のコードストリームが分離されて得られた前記画像毎のコードストリームを、それぞれ復号する画像処理方法である。
【0028】
本発明の一側面においては、画像がビット深度方向に複数に分割され、画像がビット深度方向に分割されて得られる複数の画像のうち、一部または全部の画像が、それぞれ符号化される。
【0029】
本発明の他の側面においては、互いに同一の画像からビット深度方向に分割されて生成された複数の画像がそれぞれ符号化され、得られた画像毎のコードストリームが多重化された、1系統のコードストリームが、画像毎のコードストリーム毎に分離され、1系統のコードストリームが分離されて得られた画像毎のコードストリームが、それぞれ復号される。
【発明の効果】
【0030】
本発明によれば、画像を処理することができる。特に、符号化効率を向上させることができる。
【図面の簡単な説明】
【0031】
【図1】従来の符号化装置を説明するブロック図である。
【図2】本発明を適用した符号化装置の主な構成例を示すブロック図である。
【図3】符号化の概要を説明する図である。
【図4】JPEG2000エンコード部の主な構成例を示すブロック図である。
【図5】サブバンドの構成例を示す図である。
【図6】サブバンドの構成例を示す図である。
【図7】各サブバンド中のコードブロックの例を示す図である。
【図8】ビットプレーンの例を説明する図である。
【図9】符号化パスの例を説明する図である。
【図10】係数の走査の例を説明する図である。
【図11】レイヤを説明する図である。
【図12】レイヤの構成例を説明する図である。
【図13】ビット深度分割符号化処理の流れの例を説明するフローチャートであるである。
【図14】符号化処理の流れの例を説明するフローチャートであるである。
【図15】本発明を適用した復号装置の主な構成例を示すブロック図である。
【図16】復号の概要を説明する図である。
【図17】JPEG2000デコード部の主な構成例を示すブロック図である。
【図18】ビット深度分割復号処理の流れの例を説明するフローチャートである。
【図19】復号処理の流れの例を説明するフローチャートである。
【図20】本発明を適用した符号化装置の主な構成例を示すブロック図である。
【図21】ビット深度分割符号化処理の流れの例を説明するフローチャートである。
【図22】本発明を適用した復号装置の主な構成例を示すブロック図である。
【図23】ビット深度分割復号処理の流れの例を説明するフローチャートである。
【図24】本発明を適用した符号化装置の主な構成例を示すブロック図である。
【図25】ビット深度分割符号化処理の流れの例を説明するフローチャートである。
【図26】本発明を適用した符号化装置の主な構成例を示すブロック図である。
【図27】ビット深度分割符号化処理の流れの例を説明するフローチャートである。
【図28】本発明を適用した復号装置の主な構成例を示すブロック図である。
【図29】ビット深度分割復号処理の流れの例を説明するフローチャートである。
【図30】本発明を適用した符号化装置の主な構成例を示すブロック図である。
【図31】ビット深度分割符号化処理の流れの例を説明するフローチャートである。
【図32】選択符号化処理の流れの例を説明するフローチャートである。
【図33】本発明を適用した復号装置の主な構成例を示すブロック図である。
【図34】ビット深度分割復号処理の流れの例を説明するフローチャートである。
【図35】判定復号処理の流れの例を説明するフローチャートである。
【図36】JPEG2000エンコード部の主な構成例を示すブロック図である。
【図37】選択符号化処理の流れの例を説明するフローチャートである。
【図38】JPEG2000デコード部の主な構成例を示すブロック図である。
【図39】判定復号処理の流れの例を説明するフローチャートである。
【図40】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【0032】
以下、発明を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(符号化装置)
2.第2の実施の形態(復号装置)
3.第3の実施の形態(符号化装置)
4.第4の実施の形態(復号装置)
5.第5の実施の形態(符号化装置)
6.第6の実施の形態(符号化装置)
7.第7の実施の形態(復号装置)
8.第8の実施の形態(符号化装置)
9.第9の実施の形態(復号装置)
10.第10の実施の形態(符号化装置)
11.第11の実施の形態(復号装置)
12.第12の実施の形態(パーソナルコンピュータ)
【0033】
<1.第1の実施の形態>
[従来の画像符号化]
最初に、従来の画像符号化について説明する。
【0034】
図1に示される符号化装置10は、Nビットの入力画像を、符号化する装置である。図1に示されるように、符号化装置10は、ビット深度変換処理部11、符号化部12、復号部13、逆ビット深度変換処理部14、演算部15、および符号化部16を有する。
【0035】
ビット深度がNビットの入力画像21が入力されると、ビット深度変換処理部11は、その入力画像のビット深度を変換し、ビット深度が(N−Δ)ビットの画像22を生成し、それを符号化部12に供給する。
【0036】
符号化部12は、ビット深度変換処理部11から供給されるビット深度が(N−Δ)ビットの画像22に対して所定の符号化を行い、生成された符号化コードストリーム23を復号部13に供給する。
【0037】
復号部13は、供給された符号化コードストリーム23を復号し、復号画像24を逆ビット深度変換処理部14に供給する。逆ビット深度変換処理部14は、復号画像24に対して逆ビット深度変換処理を行ってNビットの復号画像25を生成し、それを演算部15に供給する。
【0038】
演算部15は、Nビットの入力画像21とNビットの復号画像25との差分画像26を生成し、それを符号化部16に供給する。符号化部16は、差分画像26を符号化し、符号化コードストリーム27を生成するとそれを符号化装置10の外部に出力する。
【0039】
また、符号化部12は、(N−Δ)ビットの符号化コードストリーム28を符号化装置10の外部に出力する。
【0040】
以上の様に、従来の符号化装置10は、高ビット深度の画像(Nビット)を1度、より低ビット深度の画像((N−Δ)ビット)に変換してから例えば、(N−Δ)ビットに対応できるMPEG(Moving Picture Experts Group)-2やJPEG(Joint Photographic Experts Group)などの国際標準化方式の符号化を行う。
【0041】
このような従来の符号化装置10の場合、入力画像21がNビット画像で、逆ビット深度変換後の復号画像25もNビット画像であるので、両者の差分画像のビット深度は(N+1)ビットになって元々のビット深度よりも多くなってしまう。従って、符号化部16が、より高ビット深度に対応する符号化方式で符号化しなければならない。
【0042】
また、差分画像26の情報量が十分に小さければ、全体としての圧縮効果は高いものの、差分画像26の情報量は、ビット深度変換処理部11や逆ビット深度変換処理部14の性能に依存する。つまり、従来の符号化装置10では、復号画像の画質が、ビット深度変換処理部11や逆ビット深度変換処理部14の性能に依存する恐れがあった。
【0043】
[符号化装置の構成]
図2は、本発明を適用した符号化装置の主な構成例を示すブロック図である。
【0044】
図2に示される符号化装置100は、入力画像を符号化し、そのコードストリームを出力する装置である。ただし、符号化装置100は、入力画像のビット深度が9ビット以上の高ビット深度であっても、効率よく符号化を行うことができるように、入力画像をそのビット深度方向に2分割して符号化を行う。
【0045】
もちろん、符号化装置100は、任意のビット深度の入力画像を符号化することができるが、特に、よりビット深度の大きな入力画像を、高能率に符号化することができる。以下においては、説明の便宜上、ビット深度9ビット以上を高ビット深度と称し、8ビット以下を低ビット深度と称する。
【0046】
図2に示されるように、符号化装置100は、ビット深度分割部101、エンコード部102−1およびエンコード部102−2、並びに、コードストリーム多重化部103を有する。
【0047】
ビット深度分割部101は、Xビットのビット深度を持つ入力画像111を、ビット深度方向に所定のビット数で2つに分割する。つまり、入力画像の各画素値のビット深度がXビットである場合、ビット深度分割部101は、その入力画像111の各画素値を、所定のビットで2分割し、その分割位置より上位のビットにより構成される画像と、分割位置より下位のビットにより構成される画像の2つの画像を生成する。
【0048】
例えば、ビット深度分割部101は、図3に示されるようにビット深度がXビットの画像データImage_Aを、MSB(Most Significant Bit)からYビットの位置で分割し、その分割位置より上位のビットにより構成される(ビット深度がYビットの)画像データImage_Bと、分割位置より下位のビット(LSB(Less Significant Bit)からX-Yビット)により構成される画像データImage_Cとに分割する。
【0049】
ビット深度分割部101は、生成した2つの画像のうち、上位ビット側の画像データ112(図3の例の場合、Image_B)を、エンコード部102−1に供給する。また、ビット深度分割部101は、下位ビット側の画像データ113(図3の例の場合、Image_C)を、エンコード部102−2に供給する。
【0050】
エンコード部102−1は、ビット深度Yビットの画像データ112を、例えばJPEG2000方式で分割し、コードストリーム114を生成し、それをコードストリーム多重化部103に供給する。
【0051】
エンコード部102−2は、ビット深度(X−Y)ビットの画像データ113を、例えばJPEG2000方式で分割し、コードストリーム115を生成し、それをコードストリーム多重化部103に供給する。
【0052】
なお、以下において、エンコード部102−1およびエンコード部102−2を互いに区別して説明する必要が無い場合、単にエンコード部102と称する。
【0053】
コードストリーム多重化部103は、コードストリーム114とコードストリーム115を多重化し、1本のコードストリーム116を生成し、それを符号化装置100の外部に出力する。
【0054】
なお、コードストリーム多重化部103は、コードストリーム114とコードストリーム115をどのように多重化したかを示す情報(多重化情報)をコードストリーム116に付加する。つまり、この多重化情報は、コードストリーム116の伝送先に供給される。
【0055】
この多重化情報の格納場所は任意である。例えば、ビットストリームにシンタックスとして記述されるようにしてもよいし、補助情報として所定の領域に格納して伝送されるようにしてもよい。また、SEI(Suplemental Enhancement Information)等のパラメータセット(例えばシーケンスやピクチャのヘッダ等)に格納されるようにしてもよい。
【0056】
さらに、この多重化情報が、符号化データとは別に(別のファイルとして)復号側に供給されるようにしてもよい。その場合、多重化情報と符号化データとの対応関係を明確にする(復号側で把握することができるようにする)必要があるが、その方法は任意である。例えば、別途、対応関係を示すテーブル情報を作成してもよいし、対応先のデータを示すリンク情報を互いのデータに埋め込むなどしてもよい。
【0057】
以上のように、符号化装置100は、画像データをビット深度方向に2分割して符号化することにより、高ビット深度の画像データを低ビット深度の画像データとして符号化することができる。
【0058】
なお、以下においては、エンコード部102−1およびエンコード部102−2がともにJPEG2000方式で符号化を行う場合について説明するが、エンコード部102の符号化方式は任意である。エンコード部102−1およびエンコード部102−2の符号化方式が互いに異なっていてもよい。また、エンコード部102−1およびエンコード部102−2のそれぞれが処理する画像データのビット深度が互いに異なっていてもよい。
【0059】
さらに、エンコード部102−1とエンコード部102−2とで、エンコード条件(例えば、ウェーブレット変換のレベル数(分割数)、コードブロックサイズ、量子化ステップサイズ等の符号化パラメータ)は、互いに同一であってもよいし、互いに異なっていてもよい。
【0060】
[エンコード部の構成]
図4は、図1のエンコード部102の主な構成例を示すブロック図である。図4に示されるように、エンコード部102は、DCレベルシフト部131、ウェーブレット変換部132、量子化部133、コードブロック化部134、およびビットプレーン展開部135を有する。
【0061】
DCレベルシフト部131は、後段のウェーブレット変換を効率的に行うために、矢印161のようにエンコード部102に入力された画像データ(図2の入力画像111)のDC成分のレベルシフトを行う。例えば、RGB信号が正の値(符号無しの整数)を持っている。そこで、DCレベルシフト部131は、そのことを利用し、原信号のダイナミックレンジを半分にするレベルシフトを行うことで、圧縮効率の向上を図る。従って、YCbCr信号の色差データCbや色差データCrの様に符号(正負両方あり)の整数値を持つ信号を原信号とする場合には、このレベルシフトは行われない。
【0062】
ウェーブレット変換部132は、通常低域フィルタと高域フィルタから構成されるフィルタバンクによって実現される。また、デジタルフィルタは通常複数タップ長のインパルス応答(フィルタ係数)を有するので、ウェーブレット変換部132は、フィルタリングが行えるだけの入力画像を予めバッファリングするバッファを有する。
【0063】
ウェーブレット変換部132は、矢印162のようにDCレベルシフト部131より出力された画像データを、フィルタリングに最低限必要なデータ量以上取得すると、そのDCレベルシフト後の画像データに対して、所定のウェーブレット変換フィルタを用いてフィルタリングを行い、ウェーブレット係数を生成する。なお、ウェーブレット変換部132は、画像の垂直方向および水平方向のそれぞれに対して、画像データを低域成分と高域成分に分離するフィルタリングを行う。
【0064】
そして、ウェーブレット変換部132は、このようなフィルタリング処理を、垂直方向および水平方向の両方において低域成分として分離されたサブバンドに対して再帰的に所定回数繰り返す。これは、例えば図5に示されるように、画像のエネルギーの多くが低域成分に集中しているからである。
【0065】
図5は、サブバンドの構成例を示す図である。図5に示されるように、分割レベル数1の状態においても分割レベル数3の状態においても、画像のエネルギーの多くは、低域成分に集中している。
【0066】
図6は、分割レベル数4のウェーブレット変換処理により生成されるサブバンドの構成例を示す図である。
【0067】
この場合、ウェーブレット変換部132は、まず、画像全体をフィルタリングし、サブバンド1LL(図示せず)、1HL、1LH、および1HHを生成する。次に、ウェーブレット変換部132は、生成されたサブバンド1LLに対して再度フィルタリングを行い、2LL(図示せず)、2HL、2LH、および2HHを生成する。さらに、ウェーブレット変換部132は、生成されたサブバンド2LLに対して再度フィルタリングを行い、3LL、3HL、3LH、および3HHを生成する。さらに、ウェーブレット変換部132は、生成されたサブバンド3LLに対して再度フィルタリングを行い、4LL、4HL、4LH、および4HHを生成する。
【0068】
このように、分割レベル数4まで分析フィルタリングが行われると、13個のサブバンドが生成される。図6に示されるように、分割レベルが1つ上位に進むごとに、サブバンドのサイズは、縦方向および横方向にそれぞれ2分の1となる。
【0069】
つまり、例えば横方向に1920画素の画像のベースバンドの画像データが1回分析フィルタリングされると、横方向に960画素のサブバンドが4つ(1LL,1HL,1LH,1HH)生成される。さらに、サブバンド1LLが1回分析フィルタリングされると、横方向に480画素のサブバンドが4つ(2LL,2HL,2LH,2HH)が生成される。さらに、サブバンド2LLが回分析フィルタリングされると、横方向に240画素のサブバンドが4つ(3LL,3HL,3LH,3HH)が生成される。さらに、サブバンド3LLが1回分析フィルタリングされると、横方向に120画素のサブバンドが4つ(4LL,4HL,4LH,4HH)が生成される。
【0070】
なお、ウェーブレット変換の分割レベル数は任意である。
【0071】
ウェーブレット変換部132は、フィルタリングにより得られたウェーブレット係数を、サブバンド毎に、矢印163に示されるように量子化部133に供給する。量子化部133は、供給されたウェーブレット係数を量子化する。この量子化の方法は任意であるが、量子化ステップサイズで除算するスカラ量子化が一般的である。量子化部133は、量子化により得られた量子化係数を、矢印164に示されるように、コードブロック化部134に供給する。
【0072】
なお、これより後段においては、ウェーブレット係数の代わりに量子化係数が供給されることになるが、この量子化係数もウェーブレット係数の場合と基本的に同様に扱われる。したがって、以下においては、必要でない限りその点についての説明は省略し、単に係数または係数データと称する。
【0073】
なお、エンコード部102が、復号処理により元のデータを完全に復元可能な可逆符号化方式により画像データを符号化する場合、この量子化部133の処理は省略され、矢印165に示されるように、ウェーブレット変換部132の出力がコードブロック化部134に供給される。
【0074】
ウェーブレット係数は、コードブロック化部134で、エントロピ符号化の処理単位である所定の大きさのコードブロックに分割される。図7は各サブバンド中のコードブロックの位置関係を示したものである。例えば64×64画素程度のサイズのコードブロックが、分割後のすべてのサブバンド中に生成される。後段の各処理部は、このコードブロック毎に処理を行う。
【0075】
コードブロック化部134は、矢印166に示されるように、各コードブロックをビットプレーン展開部135に供給する。ビットプレーン展開部135は、係数データを、ビットの位毎のビットプレーンに展開する。
【0076】
ビットプレーンは、所定の数のウェーブレット係数よりなる係数群を、1ビット毎、つまり位毎に分割(スライス)したものである。つまり、ビットプレーンは、その係数群の互いに同一の位のビット(係数ビット)の集合である。
【0077】
図8にその具体例を示す。図8の左図は縦4個、横4個の計16個の係数を示している。この16個の係数のうち、絶対値が最大のものは13で、2進数で1101と表現される。ビットプレーン展開部135は、このような係数群を、絶対値を示す4枚のビットプレーン(絶対値のビットプレーン)と、符号を示す1枚のビットプレーン(符号のビットプレーン)に展開する。つまり、図8中左の係数群は、図8中右に示されるように、4枚の絶対値のビットプレーンと1枚の符号のビットプレーンに展開される。ここで、絶対値のビットプレーンの要素はすべて0か1の値をとる。また、符号を示すビットプレーンの要素は、係数の値が正であることを示す値、係数の値が0であることを示す値、または係数の値がマイナスを示す値のいずれかをとる。
【0078】
エンコード部102は、さらに、ビットモデリング部136、算術符号化部137、符号量加算部138、レート制御部139、ヘッダ生成部140、およびパケット生成部141を有する。
【0079】
ビットプレーン展開部135は、展開したビットプレーンを、矢印167に示されるように、ビットモデリング部136に供給する。
【0080】
ビットモデリング部136および算術符号化部137は、EBCOT(Embedded Coding with Optimized Truncation)部151として動作し、入力される係数データに対して、JPEG2000規格で定められたEBCOTと呼ばれるエントロピ符号化を行う。EBCOTは、所定の大きさのブロック毎にそのブロック内の係数の統計量を測定しながら符号化を行う手法である。
【0081】
ビットモデリング部136は、JPEG2000規格で定められた手順に従って、係数データに対してビットモデリングを行い、矢印168に示されるように、制御情報、シンボル、およびコンテキスト等の情報を算術符号化部137に供給する。算術符号化部137は、係数のビットプレーンを算術符号化する。
【0082】
コードブロックの縦横のサイズは4から256まで2のべき乗で、通常使用される大きさは、32×32、64×64、128×32等がある。係数値がnビットの符号付き2進数で表されていて、bit0からbit(n−2)がLSBからMSBまでのそれぞれのビットを表すとする。残りの1ビットは符号を示す。符号ブロックの符号化は、MSB側のビットプレーンから順番に、次の3種類の符号化パスによって行われる。
【0083】
(1)Significant Propagation Pass
(2)Magnitude Refinement Pass
(3)Cleanup Pass
【0084】
3つの符号化パスの用いられる順序は、図9で示される。最初にBit-plane(n-1)(MSB)がCleanup Passによって符号化される。続いて順次LSB側に向かい、各ビットプレーンの符号化が、3つの符号化パスをSignificant Propagation Pass、Magnitude Refinement Pass、Cleanup Passの順序で用いて行われる。
【0085】
ただし、実際にはMSB側から何番目のビットプレーンで初めて1が出てくるかをヘッダに書き、MSB側から連続するオール0のビットプレーン(ゼロビットプレーンと称する)は符号化しない。この順序で3種類の符号化パスを繰返し用いて符号化し、任意のビットプレーンの、任意の符号化パス迄で符号化を打ち切ることにより、符号量と画質のトレードオフを取る(レート制御を行う)。
【0086】
次に、係数の走査(スキャニング)について図10を用いて説明する。コードブロックは高さ4個の係数毎にストライプ(stripe)に分けられる。ストライプの幅はコードブロックの幅に等しい。スキャン順とは、1個のコードブロック内の、すべての係数をたどる順番で、コードブロック中では上のストライプから下のストライプへの順序、ストライプの中では、左の列から右の列へ向かっての順序、列の中では上から下へという順序である。各符号化パスにおいてコードブロック中のすべての係数が、このスキャン順で処理される。
【0087】
以下、3つの符号化パスについて述べる。以下はいずれもJPEG-2000規格書(参考文献:ISO/IEC 15444-1, Information technology-JPEG 2000, Part 1:Core coding system)に記述されている内容である。
【0088】
(1)Significance Propagation Pass(SPパス):
あるビットプレーンを符号化するSignificance Propagation Passでは、8近傍の少なくとも1つの係数が有意(significant)であるようなnon-significant係数のビットプレーンの値を算術符号化する。その符号化したビットプレーンの値が1である場合は、符号が+であるか、−であるかを続けてMQ符号化する。
【0089】
ここでsignificanceというJPEG2000特有の用語について説明する。significanceとは、各係数に対して符号化器が持つ状態で、significanceの初期値はnon-significantを表す0、その係数で1が符号化されたときにsignificantを表す1に変化し、以降常に1であり続けるものである。従って、significanceとは有効桁の情報を既に符号化したか否かを示すフラグとも言える。あるビットプレーンでsignificantになれば、以降のビットプレーンではsignificantになったままである。
【0090】
(2)Magnitude Refinement Pass(MRパス):
ビットプレーンを符号化するMagnitude Refinement Passでは、ビットプレーンを符号化する Significance Propagation Passで、且つ符号化していないsignificantな係数のビットプレーンの値をMQ符号化する。
【0091】
(3)Cleanup Pass(CUパス):
ビットプレーンを符号化するCleanup Passでは、ビットプレーンを符号化するSignificance Passで、且つ符号化していないnon-significantな係数のビットプレーンの値をMQ符号化する。その符号化したビットプレーンの値が1である場合は符号が+であるか−であるか(Sign情報)を続けてMQ符号化する。
【0092】
尚、以上の3つの符号化パスでのMQ符号化では、ケースに応じて、ZC(Zero Coding)、RLC(Run-Length Coding)、SC(Sign Coding)、およびMR(Magnitude Refinement)が使い分けられる。ここでMQ符号化と呼ばれる算術符号が用いられる。MQ符号化は、JBIG2(参考文献:ISO/IEC FDIS 14492, “Lossy/Lossless Coding of Bi-level Images”, March 2000)で規定された学習型の2値算術符号である。
【0093】
図4に戻り、算術符号化部137は、生成したコードストリームを、矢印169に示されるように、符号量加算部138に供給する。符号量加算部138は、そのコードストリームの符号量をカウントし、累積する。
【0094】
そして、符号量加算部138は、そのコードストリームを、矢印172および矢印173に示されるように、ヘッダ作成部140およびパケット生成部141に供給するとともに、矢印170に示されるように、符号量の累積値をレート制御部139に供給する。レート制御部139は、供給された符号量の累積値に基づいて、矢印171に示されるように、EBCOT部151を制御し、累積値が目標符号量に達した時点で符号化を終了させる。つまり、レート制御部139は、発生符号量の制御(コードストリームのレート制御)を行う。
【0095】
パケット生成部141は、供給されたコードストリームをパケット化する。ヘッダ生成部140は、そのパケットのヘッダ情報を生成し、そのヘッダ情報を矢印174に示されるように、パケット生成部141に供給する。パケット生成部141は、そのヘッダ情報を用いてパケット化を行う。
【0096】
このパケットの概念を図11に示す。図11に示される例では、ウェーブレット変換を3回施した例で、その結果、最低域のPacket-1から最高域のPacket-4までの4個のパケットが生成されることを示している。従って、これら個々のパケット内のサブバンド中に存在する、すべての符号ブロックの符号化コードストリームが、パケット毎にパッキングされることになる。
【0097】
また図12は、符号化パスを、レイヤ1乃至レイヤLのL個のレイヤに分割したケースを図示したものである。あるコードブロックで、レイヤnの先頭の符号化パスはレイヤ(n−1)の最終後尾の符号化パスの直後に位置する。
【0098】
生成されたパケットは矢印175に示されるように、エンコード部102の外部に出力され、コードストリーム多重化部103に供給される。
【0099】
以上のように、各エンコード部102は、ビット深度方向に分割された各画像データを、分割していない普通の画像データの場合と同様に、JPEG2000方式で符号化することができる。
【0100】
[ビット深度分割符号化処理の流れ]
次に、以上のような符号化装置100において実行される各処理の流れについて説明する。
【0101】
符号化装置100は、入力画像111が供給されると、ビット深度分割符号化処理を実行する。図13のフローチャートを参照して、ビット深度分割符号化処理の流れの例を説明する。
【0102】
ビット深度分割符号化処理が開始されると、ビット深度分割部101は、ステップS101において、入力画像111を、例えば図3に示されるように、ビット深度方向に2分割する。
【0103】
ステップS102において、エンコード部102−1は、ステップS101において得られる分割後の画像データ112をJPEG2000方式で符号化し、コードストリーム114を生成する。同様に、エンコード部102−2は、ステップS101において得られる分割後の画像データ113をJPEG2000方式で符号化し、コードストリーム115を生成する。
【0104】
ステップS103において、コードストリーム多重化部103は、ステップS102において得られるコードストリーム114およびコードストリーム115を多重化し、1本のコードストリーム116を生成する。
【0105】
ステップS103の処理を終了すると、符号化装置100は、ビット深度分割符号化処理を終了する。
【0106】
[符号化処理の流れ]
次に、図13のステップS102において実行される符号化処理の流れの例を図14のフローチャートを参照して説明する。
【0107】
符号化処理が開始されると、ステップS121において、DCレベルシフト部131は、自身が対応する入力系統より入力された画像データのDCレベルをシフトする。ステップS122において、ウェーブレット変換部132は、DCレベルがシフトされた画像データをウェーブレット変換する。
【0108】
ステップS123において、量子化部133は、非可逆符号化方式の場合、ステップS122において生成されたウェーブレット係数を量子化する。なお、可逆符号化方式の場合、この処理は省略される。
【0109】
ステップS124において、コードブロック化部134は、量子化された係数をコードブロック単位で分割する。ステップS125において、ビットプレーン展開部135は、そのコードブロック毎の係数をビットプレーンに展開する。
【0110】
ステップS126において、EBCOT部151は、ビットプレーン展開された係数を符号化する。ステップS127において、レート制御部139は、符号量加算部138において加算された符号量等を用いて、発生符号量のレートを制御する。
【0111】
ステップS128において、ヘッダ生成部140は、パケットヘッダを生成する。ステップS129において、パケット生成部141は、パケットを生成する。ステップS130において、エンコード部102は、そのパケットを外部に出力する。
【0112】
ステップS130の処理が終了すると、エンコード部102は、符号化処理を終了し、処理を図13のステップS102に戻し、ステップS103以降の処理を実行させる。
【0113】
以上のように各処理を行うことにより、符号化装置100は、高ビット深度の画像データを低ビット深度の画像データとして符号化することができる。
【0114】
[符号量]
以上のように、画像をビット深度方向に分割してそれぞれを符号化することにより得られるコードストリーム116の情報量(符号量)について説明する。
【0115】
例えば、画像データ(Image_A)をロスレスエンコード(Lossless Encode)して得られるコードストリーム(Codestream_A)のサイズを(Size_A)とする。また、画像データ(Image_B)をロスレスエンコードして得られるコードストリーム(Codestream_B)のサイズを(Size_B)とする。さらに、画像データ(Image_C)をロスレスエンコードして得られるコードストリーム(Codestream_C)のサイズを(Size_C)とする。
【0116】
このとき、符号化効率を向上させるためには、符号化装置100は、以下の式(1)を満たすように符号化することができればよい。
【0117】
Size_A > Size_B + Size_C
・・・(1)
【0118】
あるイメージセンサから抽出したRAWデータ(R, G0, G1, B)の内の、1コンポーネントであるG0画像に対して、JPEG2000 Losslessエンコードを行った場合の実験結果の一例を以下に示す。
【0119】
例えば、符号化対象のRAW画像の1コンポーネントG0(12ビット深度)のオリジナルサイズを1,036,818バイトとする。このとき、G0をJPEG2000 Losslessエンコードすると、コードストリームのサイズは561,540バイトとなる。
【0120】
これに対して、符号化装置100により、G0を、そのビット深度上位の10ビットのデータで構成される画像(上位10ビット画像)と、ビット深度下位の2ビットで構成される画像(下位2ビット画像)とに分割して符号化させる場合、上位10ビット画像をJPEG2000 Losslessエンコードすると、コードストリームのサイズは426,262バイトとなる。また、下位2ビット画像をJPEG2000 Losslessエンコードすると、コードストリームのサイズは、2,688バイトとなる。つまり、これらの合計は、428,950バイトとなる。
【0121】
このように符号化装置100は、2分割して符号化することで、分割せずに(12ビット深度のままで)符号化するよりも25%も情報量を削減することができる。つまり、上述した式(1)を満たすことができる。
【0122】
このように、符号化装置100は、画像の符号化における符号化効率を向上させることができる。特に、入力画像111が高ビット深度の場合、コードストリームの情報量(符号量)が大きくなりやすいので、その効果は大きい。
【0123】
なお、上述したように、ウェーブレット変換のレベル数は、上位側のビットで構成される画像と下位側のビットで構成される画像とで互いに独立して設定することができる。このウェーブレット変換数とコードストリームの情報量(符号量)について説明する。
【0124】
上位10ビット画像と下位2ビット画像とのそれぞれを、ウェーブレット変換処理(DWT:Discrete Wavelet Transform)レベル数が0乃至5のそれぞれの場合について、JPEG2000方式で符号化を行った(0は変換無しを示す)。
【0125】
その結果、上位10ビット画像の場合のJPEG2000 Losslessエンコード結果は、以下のようになった。
【0126】
DWT 0: 5,698,403 byte
DWT 1: 4,501,068 byte
DWT 2: 4,315,214 byte
DWT 3: 4,270,851 byte
DWT 4: 4,262,794 byte
DWT 5: 4,261,438 byte
【0127】
このように、上位10ビット画像の場合、符号化により得られるコードストリームの符号量は、ウェーブレット変換処理のレベル数が増える程、小さくなる。すなわち、ウェーブレット変換レベル数が多いほど符号化効率が向上する。
【0128】
これに対して、下位2ビット画像の場合のJPEG2000 Losslessエンコード結果は、以下のようになった。
【0129】
DWT 0: 1,871,597 byte
DWT 1: 2,171,301 byte
DWT 2: 2,229,017 byte
DWT 3: 2,242,885 byte
DWT 4: 2,246,923 byte
DWT 5: 2,248,336 byte
【0130】
このように、下位2ビット画像の場合、符号化により得られるコードストリームの符号量は、ウェーブレット変換処理のレベル数が小さい程、小さくなる。すなわち、ウェーブレット変換レベル数が少ないほど符号化効率が向上する。
【0131】
一般的に、上位側のビットで構成される画像は、分割前の画像の重要な部分により占められる可能性が高く、低域成分が多くなりやすい。従ってウェーブレット変換レベル数が多いほど符号化効率が向上することが期待される。これに対して下位側のビットで構成される画像は、一般的にノイズ成分が多くを占める可能性が高く、高域成分が多くなりやすい。したがって、ウェーブレット変換による符号化効率の向上が期待しにくい。
【0132】
したがって、上位側のビットで構成される画像のウェーブレット変換数を多く設定し、逆に下位側のビットで構成される画像のウェーブレット変換数を少なく設定することにより、符号化装置100は、さらに、符号化効率を向上させることができる。
【0133】
ところで、以上のように符号化装置100は、入力画像111をそのビット深度方向に2分割し、それぞれ符号化する。このことにより、符号化装置100は、符号化処理する画像データのビット深度数を減らすことができる。つまり、符号化装置100は、符号化処理に必要になるメモリ容量を低減させることもできる。
【0134】
また、上述したように符号化装置100は、上位側のビットで構成される画像の符号化方式と、下位側のビットで構成される画像の符号化方式とを互いに独立に設定することができる。したがって、例えば、Image_BをJPEG2000でLosslessエンコードし、ノイズ成分の多いImage_Cをそれに適したLosslessコーデックでエンコードすることもできる。このように、符号化装置100は、よりデータの特徴に応じた符号化方式を選択することができるので、より効率よく符号化を行うことができる。
【0135】
なお、エンコード部102は、図2に示されるように、2個のエンコーダを用意してもよいが、1個のエンコーダを時分割で共有するようにしてもよい。このようにすることにより、回路規模やコストの増大を抑制することができるが、符号化の処理時間が増大するので、そのエンコーダに、2個のエンコーダを使用する場合よりも高い処理能力が必要になることがある。特に動画像をリアルタイム(即時的)に符号化する場合、各フレーム画像の符号化を、入力時のフレームレートよりも速く行う必要がある。
【0136】
<2.第2の実施の形態>
[復号装置の構成]
次に、以上のような符号化装置100に対応する復号装置について説明する。図15は、本発明を適用した復号装置の主な構成例を示すブロック図である。図15に示される復号装置200は、図2の符号化装置100により生成されたコードストリームを復号し、復号画像を得る装置である。
【0137】
つまり、復号装置200は、画像がビット深度方向に分割されてそれぞれが符号化され、得られたコードストリームが多重化された1本のコードストリームを復号し、復号画像を得ることができる。
【0138】
図15に示されるように、復号装置200は、コードストリーム分離部201、デコード部202−1、デコード部202−2、およびビット深度合成部203を有する。
【0139】
コードストリーム分離部201は、符号化装置100において符号化されたコードストリーム211を取得すると、そのコードストリームの多重化情報(コードストリーム211に付加されているか、若しくは、コードストリーム211とは別に、コードストリーム211と関連付けられて供給される)に基づいて、コードストリームを、ビット深度上位側のビットで構成される画像が符号化されたコードストリーム212と、ビット深度下位側のビットで構成される画像が符号化されたコードストリーム213の2本のコードストリームを生成する。
【0140】
コードストリーム分離部201は、分離した一方のコードストリーム212をデコード部202−1に供給し、他方のコードストリーム213をデコード部202−2に供給する。
【0141】
デコード部202−1は、コードストリーム212を、符号化装置100のエンコード部102−1の符号化方式に対応する復号方式で復号し、復号画像214をビット深度合成部203に供給する。
【0142】
デコード部202−2は、コードストリーム213を、符号化装置100のエンコード部102−2の符号化方式に対応する復号方式で復号し、復号画像215をビット深度合成部203に供給する。
【0143】
なお、以下においてデコード部202−1およびデコード部202−2を互いに区別して説明する必要が無い場合、単にデコード部202と称する。
【0144】
復号画像214は、ビット深度上位側のビットで構成される画像であり、復号画像215は、ビット深度下位側のビットで構成される画像である。
【0145】
ビット深度合成部203は、これらの復号画像214および復号画像215を、例えば、図16に示されるように、ビット深度方向に合成し、符号化装置100の入力画像と同じビット深度の1系統の復号画像216を生成し、それを復号装置200の外部に出力する。
【0146】
図16の例の場合、Yビット深度のイメージデータImage_Bと(X-Y)ビット深度のイメージデータImage_Cが復号され、Xビット深度の画像が復元される。
【0147】
デコード部202には、例えば、JPEG2000方式で符号化を行うJPEG2000デコーダを用いるようにしてもよい。また、エンコード部102の場合と同様に、デコード部202も、複数用意してもよいし、1つのデコード部202を時分割で供給するようにしてもよい。
【0148】
なお、ウェーブレット変換のレベル数等、各種符号化パラメータは、符号化装置100において決定され、供給された符号化パラメータを用いる。
【0149】
以上のように、復号装置200は、符号化装置100により符号化されたコードストリーム、すなわち、入力画像をビット深度方向に2分割し、それぞれを符号化し、得られた各コードストリームを多重化した1本のコードストリームを、正しく復号し、復号画像を得ることができる。
【0150】
[デコード部の構成]
図17は、デコード部202の主な構成例を示すブロック図である。このデコード部202は、図4のエンコード部102に対応し、エンコード部102により符号化されて生成されたコードストリームを復号する。図17に示されるように、デコード部202は、パケット解読部221、算術復号部222、ビットモデリング部223、ビットプレーン合成部224、コードブロック合成部225、ウェーブレット逆変換部226、およびDCレベル逆シフト部227を有する。
【0151】
パケット解読部221は、矢印241に示されるように、符号化装置100から供給されるパケットを解読し、矢印242に示されるように、コードストリームを算術復号部222に供給する。
【0152】
算術復号部222およびビットモデリング部223は、EBCOT部231として動作し、入力されるコードストリームに対して、例えばJPEG2000規格等で定められたEBCOTと呼ばれるエントロピ復号を行う。
【0153】
算術復号部222は、算術符号化部137に対応する方法でコードストリームを復号し、矢印243に示されるように、コンテキストをビットモデリング部223に供給する。ビットモデリング部223は、ビットモデリング部136に対応する方法で、ビットプレーンに展開されたウェーブレット係数を生成する。ビットモデリング部223は、生成したビットプレーン毎の係数データを、矢印244に示されるように、ビットプレーン合成部224に供給する。
【0154】
ビットプレーン合成部224は、ビットプレーンに展開されたウェーブレット係数を合成する。ビットプレーン合成部224は、ビットプレーンを合成したウェーブレット係数を、矢印245に示されるように、コードブロック合成部225に供給する。
【0155】
コードブロック合成部225は、供給されたビットプレーンを用いてコードブロック単位の係数データを生成し、さらにそれらを合成し、サブバンド毎の係数データを生成する。コードブロック合成部225は、矢印246に示されるように、それをウェーブレット逆変換部226に供給する。
【0156】
ウェーブレット逆変換部226は、供給されたウェーブレット係数をウェーブレット逆変換し、ベースバンドの画像データを生成する。ウェーブレット逆変換部226は、生成したベースバンドの画像データを、矢印247に示されるように、DCレベル逆シフト部227に供給する。
【0157】
DCレベル逆シフト部227は、その画像データのDC成分に対して、DCレベルシフト部131においてシフトした分を元に戻すDCレベル逆シフト処理を必要に応じて行う。DCレベル逆シフト部227は、DCレベル逆シフト処理後の画像データ(復号画像データ)を、矢印248に示されるように、デコード部202の外部に出力する。
【0158】
[ビット深度分割復号処理の流れ]
次に、以上の復号装置200により実行される各処理について説明する。最初に、図18のフローチャートを参照してビット深度分割復号処理の流れの例を説明する。
【0159】
符号化装置100において符号化されたコードストリームが供給されると復号装置200は、ビット深度分割復号処理を開始する。
【0160】
ビット深度分割復号処理が開始されると、コードストリーム分離部201は、ステップS201において、供給されたコードストリームに対応する多重化情報に基づいて、多重化されたコードストリームを2分割する。つまり、コードストリームは、ビット深度上位側のビットにより構成される画像のコードストリームと、ビット深度下位側のビットにより構成される画像のコードストリームとに分割される。
【0161】
ステップS202において、デコード部202は、ステップS201において分割された各コードストリームを、エンコード部102の符号化方式に対応する復号方式(例えばJPEG2000)で復号する。
【0162】
ステップS203において、ビット深度合成部203は、ステップS202の処理により復号された各画像データをビット深度方向に合成する。すなわち、ビット深度合成部203は、復号画像214の各画素値を上位ビットとし、それより下位ビットを復号画像215の各画素値とするように、復号画像214と復号画像215の各画素値を合成する。
【0163】
復号画像216を生成すると、ビット深度合成部203は、ビット深度分割復号処理を終了する。
【0164】
[復号処理の流れ]
次に、図18のステップS202において実行される復号処理の詳細な流れの例を、図19のフローチャートを参照して説明する。
【0165】
復号処理が開始されると、パケット解読部221は、ステップS221において、取得されたパケットから符号化データを抽出する。
【0166】
ステップS222において、EBCOT部231は、ステップS221において抽出された符号化データを復号する。ステップS223において、ビットプレーン合成部224は、その復号により得られた係数データのビットプレーンを合成し、コードブロック毎の係数データを生成する。ステップS224において、コードブロック合成部225は、そのコードブロック毎の係数データのコードブロックを合成し、サブバンド毎の係数データを生成する。
【0167】
ステップS225において、ウェーブレット逆変換部226は、そのサブバンド毎の係数データをウェーブレット逆変換し、ベースバンドの画像データを生成する。なお、符号化装置100において係数データが量子化されている場合、係数データに対して、その量子化に対応する逆量子化を行ってからウェーブレット逆変換を行う。
【0168】
ステップS226において、DCレベル逆シフト部227は、そのウェーブレット逆変換により得られたベースバンドの画像データのDCレベルを逆シフトする。
【0169】
ステップS227において、デコード部202は、DCレベル逆シフト処理が施された画像データを復号画像データとしてビット深度合成部203に出力する。ステップS227の処理が終了すると、デコード部202は、復号処理を終了する。
【0170】
以上のように、復号装置200は、多重化情報に応じて、コードストリームを2分割し、分割された各コードストリームを復号し、得られた各復号画像を、ビット深度方向に合成し、1系統の復号画像を得ることができる。
【0171】
つまり、復号装置200は、符号化装置100が生成したコードストリームを適切に復号することができる。したがって、復号装置200は、画像の符号化における符号化効率を向上させることができる。
【0172】
<3.第3の実施の形態>
[符号化装置の構成]
以上においては、画像を2分割する場合について説明したが、画像の分割数は任意であり、例えば3以上であってもよい。また、分割位置(分割の際に境界となるビット)も任意である。
【0173】
ただし、符号化装置における画像の分割数や分割位置が、その画像のコードストリームを復号する復号装置において既知で無い場合、符号化装置は、画像の分割数や分割位置を、復号装置に通知する必要がある。
【0174】
図20は、本発明を適用した符号化装置の主な構成例を示すブロック図である。図20に示される符号化装置300は、図2の符号化装置100に対応する符号化装置であり、基本的に符号化装置100と同様の構成を有し、同様の処理を行う。ただし、符号化装置300は、符号化装置100と異なり、入力画像を、そのビット深度方向にN個(Nは任意の自然数)に分割し、それぞれを符号化して多重化する。また、符号化装置300は、符号化装置100と異なり、入力画像から生成されたコードストリームだけでなく、分割数や分割位置に関する情報(分割情報)も出力する。
【0175】
図20に示されるように、符号化装置300は、ビット深度分割部101の代わりにビット深度分割部301を有し、コードストリーム多重化部103の代わりにコードストリーム多重化部303を有する。
【0176】
ビット深度分割部301は、入力画像311をそのビット深度方向にN分割し、分割された各画像を、エンコード部102に供給する。
【0177】
例えば、ビット深度分割部301は、分割した画像のうち、上位側から1番目のビット群により構成される画像313をエンコード部102−1に供給し、上位側から2番目のビット群により構成される画像314をエンコード部102−2に供給する。
【0178】
また、ビット深度分割部301は、上位側から3番目以降のビット群により構成される画像も、同様に処理する。例えば、ビット深度分割部301は、最下位(上位からN番目)のビット群により構成される画像315は、エンコード部102−Nに供給する。
【0179】
ビット深度分割部301は、さらに、分割数や分割位置等を含む、分割に関する情報である分割情報をコードストリーム多重化部303に供給する。
【0180】
各エンコード部102は、ビット深度分割部301から供給された画像を符号化する。つまり、各エンコード部102は、入力画像のビット深度がXビットの場合、Xビットよりも少ないビット深度の画像を符号化することができる。
【0181】
各エンコード部102は、生成したコードストリーム(コードストリーム316乃至コードストリーム318)をコードストリーム多重化部303に供給する。
【0182】
コードストリーム多重化部303は、エンコード部102から供給される複数のコードストリームを多重化し、1系統のコードストリーム319を生成する。
【0183】
なお、コードストリーム多重化部303は、各エンコード部102から供給されるコードストリーム同士だけでなく、ビット深度分割部301から供給される分割情報312も多重化する。
【0184】
分割情報312の多重化方法は任意である。例えば、コードストリーム多重化部303が、分割情報312をデータとして、各コードストリームとともに多重化するようにしてもよいし、各コードストリームを多重化し、そのヘッダの所定の位置に、分割情報312を埋め込むようにしてもよい。
【0185】
また、分割情報312を多重化せずに、多重化されたコードストリームに関連付けだけ行うようにしてもよい。例えば、コードストリーム多重化部303が、分割された画像から生成された各コードストリームを多重化した1系統のコードストリームのヘッダ等に、分割情報312に関する記述を行い、コードストリームと分割情報312の関連付けを行い、そのコードストリームとともに、分割情報312を出力するようにしてもよい。
【0186】
[ビット深度分割符号化処理の流れ]
次に、この場合のビット深度分割符号化処理の流れの例を図21のフローチャートを参照して説明する。この場合も基本的に図13のフローチャートを参照して説明した場合と同様に行われる。
【0187】
ただし、ビット深度分割部301は、ステップS301において、入力画像311をビット深度方向にN分割し、ステップS302において、その分割数や分割位置を示す分割情報312を生成する。
【0188】
ステップS303において、エンコード部102は、分割後の各画像を符号化する。ステップS304において、コードストリーム多重化部303は、ステップS303において各画像生成された各コードストリーム(例えば、コードストリーム316乃至コードストリーム318)と、ステップS302において生成された分割情報312を多重化し、1系統のコードストリーム319を生成し、出力する。コードストリーム319を出力すると、コードストリーム多重化部303は、ビット深度分割符号化処理を終了する。
【0189】
以上のように、符号化装置300は、画像をそのビット深度方向に3分割以上してから、符号化することができるので、符号化効率を向上させることができる。
【0190】
また、符号化装置300は、分割数や分割位置等を示す分割情報をコードストリームとともに復号装置側に提供するので、復号装置が、より容易に、符号化装置300が生成したコードストリームを正しく復号することができる。
【0191】
なお、第1の実施の形態の場合と同様に、符号化装置300は、1つのエンコード部102を、時分割して、分割後の複数系統の画像の符号化に使用するようにしてもよい。
【0192】
<4.第4の実施の形態>
[復号装置の構成]
次に、符号化装置300に対応する復号装置について説明する。図22は、本発明を適用した復号装置の主な構成例を示すブロック図である。図22に示される復号装置350は、符号化装置300に対応し、符号化装置300により生成されたコードストリームを正しく復号する。
【0193】
図22に示されるように、復号装置350は、基本的に図15を参照して説明した第2の実施の形態の復号装置200と同様の構成を有し、同様の処理を行う。
【0194】
ただし、復号装置350は、コードストリーム分離部201の代わりにコードストリーム分離部351を有し、デコード部202をN個(Nは任意の自然数)有し、ビット深度合成部203の代わりにビット深度合成部353を有する。
【0195】
また、復号装置350は、さらに、多重化構造解析部354を有する。
【0196】
多重化構造解析部354は、符号化装置300から供給されるコードストリーム361の構造を解析し、分割情報362を抽出し、それをコードストリーム分離部351に供給する。また、多重化構造解析部354は、分割情報362が抽出されたコードストリームである符号化データ363をコードストリーム分離部351に供給する。
【0197】
コードストリーム分離部351は、分割情報362に基づいて、符号化データ363を分割し、多重化前の、複数の(N系統の)コードストリームを生成する。コードストリーム分離部351は、分離した各コードストリームを、それぞれに対応するデコード部202に供給する。
【0198】
例えば、コードストリーム分離部351は、N系統のコードストリームのうち、上位側から1番目のビット群により構成される画像から生成されたコードストリーム364をデコード部202−1に供給し、上位側から2番目のビット群により構成される画像から生成されたコードストリーム365をデコード部202−2に供給する。さらに、コードストリーム分離部351は、上位側からN番目のビット群により構成される画像から生成されたコードストリーム366をデコード部202−Nに供給する。
【0199】
各デコード部202は、供給された各コードストリームを復号し、各復号画像(復号画像367乃至復号画像369)をビット深度合成部353に供給する。ビット深度合成部353は、供給された各復号画像を、そのビット深度方向に合成し、符号化装置300の入力画像と同じビット深度の1系統の復号画像370を生成する。
【0200】
[ビット深度分割復号処理の流れ]
次に、図23のフローチャートを参照して、この場合のビット深度分割復号処理の流れの例を説明する。
【0201】
ビット深度分割復号処理が開始されると、ステップS351において、多重化構造解析部354が、多重化構造を解析し、分割位置を特定する。ステップS352において、コードストリーム分離部351は、ステップS351において特定された分割位置に基づいて、多重化されたコードストリームをN分割する。
【0202】
ステップS353において、デコード部202は、分割後の各コードストリームを復号する。ステップS354において、ビット深度合成部353は、復号された各画像データをビット深度方向に合成し、1系統の復号画像370を生成する。
【0203】
復号画像370を生成すると、ビット深度合成部353は、ビット深度分割復号処理を終了する。
【0204】
このようにすることにより、復号装置350は、符号化装置300により生成されたコードストリームを、より容易に正しく復号することができる。したがって、復号装置350は、画像の符号化における符号化効率を向上させることができる。
【0205】
<5.第5の実施の形態>
[符号化装置の構成]
以上においては、可逆な符号化方式により符号化を行うように説明したが、これに限らず、符号化方式は非可逆であってもよい。
【0206】
図24は、本発明を適用した符号化装置の主な構成例を示すブロック図である。図24に示される符号化装置400は、図20を参照して説明した符号化装置300と基本的に同様の符号化装置であるが、符号化装置300と異なり、非可逆な符号化方式で符号化を行う。
【0207】
図24に示されるように、符号化装置400は、符号化装置300の構成に加え、さらに、ビットレート割り当て部401を有する。
【0208】
ビットレート割り当て部401は、各エンコード部102に対して目標ビットレート(若しくは目標圧縮率)を指定する。エンコード部102は、指定された目標ビットレート(若しくは目標圧縮率)に近づくようにレート制御を行いながら符号化を行う。
【0209】
このように、符号化装置400は、レート制御を行うことができる。つまり、符号化装置400は、例えば、画像を分割せずに符号化する場合と同等のビットレートのコードストリームを生成し、復号画像の画質を向上させるようにすることもできる。
【0210】
例えば、図3の例において、画像データ(Image_A)を目標ビットレート(Rate-A)で非可逆符号化(Lossy Encode)して生成されるコードストリームを(Codestream_A)とし、画像データ(Image_B)を目標ビットレート(Rate-B)で非可逆符号化(Lossy Encode)して生成されるコードストリームを(Codestream_B)とし、画像データ(Image_C)を目標ビットレート(Rate-C)で非可逆符号化(Lossy Encode)して生成されるコードストリームを(Codestream_C)とする。
【0211】
また、コードストリーム(Codestream_A)の復号画像を(Decode_Image_A)とし、コードストリーム(Codestream_B)の復号画像を(Decode_Image_B)とし、コードストリーム(Codestream_C)の復号画像を(Decode_Image_C)とする。
【0212】
ビットレート割り当て部401が、Rate-A = Rate_B+Rate_Cとすると、各復号画像の画質は、以下のようになる。
【0213】
Decode_Image_Aの画質 < (Decode_Image_B+Decode_Image_C)の画質
【0214】
[ビット深度分割符号化処理の流れ]
図25のフローチャートを参照して、符号化装置400によるビット深度分割符号化処理の流れの例を説明する。
【0215】
ビット深度分割符号化処理が開始されると、ビット深度分割部301は、ステップS401において、入力画像をビット深度方向にN分割し、ステップS402において、分割情報を生成する。
【0216】
ステップS403において、ビットレート割り当て部401は、分割後の各画像の符号化について、目標ビットレートを割り当てる。
【0217】
ステップS404において、各エンコード部102は、割り当てられた目標ビットレートに従って、分割後の各画像を符号化する。
【0218】
ステップS405において、コードストリーム多重化部303は、各コードストリームと分割情報を多重化する。ステップS405の処理が終了すると、コードストリーム多重化部303は、ビット深度分割符号化処理を終了する。
【0219】
以上のように、符号化装置400は、目標ビットレートを設定することができるので、符号化効率を向上させる代わりに、復号画像の画質を向上させることもできる。
【0220】
なお、ビットレート割り当て部401は、各エンコード部102に対して、互いに独立して目標ビットレートを設定することができる。例えば、ビットレート割り当て部401は、一般的に重要度の高い、より上位のビットにより構成される画像に対してビットレートを多く割り当て、一般的に重要度の低い、より下位のビットにより構成される画像に対して割り当てるビットレートを少なくすることもできる。
【0221】
また、このように非可逆な符号化方式の場合も、上述した他の実施の形態と同様に、上位ビット画像(Image_B)のウェーブレット変換数を多くして、下位ビット画像(Image_C)のウェーブレット変換数を少なく設定することにより、より効率よく符号化を行うことができる。
【0222】
なお、復号装置は、可逆な符号化方式の場合と同様であるので、その説明は省略する。
【0223】
<6.第6の実施の形態>
[符号化装置の構成]
一般的に、よりビット深度が深くなるほど、最上位付近のビットの値がゼロになりやすくなる。このような最上位ビットから連続する上位側の、値がゼロのビット(ゼロビット)は、基本的に不要な情報(重要度の低い情報)であるので、符号化効率を向上させるために、これらのビットの符号化を省略するようにしてもよい。
【0224】
図26は、本発明を適用した符号化装置の主な構成例を示すブロック図である。図26に示される符号化装置500は、基本的に上述した図20の符号化装置300と同様の符号化装置であるが、ビット深度分割部301の代わりにビット深度分割部501を有し、さらに、非ゼロ係数境界検出部502を有する。
【0225】
非ゼロ係数境界検出部502は、入力画像511を解析し、各画素において、ビット深度の最上位ビットからゼロビットが連続しなくなるビット(非ゼロ係数境界)を検出する。つまり、非ゼロ係数境界検出部502は、各画素の値がゼロでない非ゼロビットの中で最も上位のビットを非ゼロ係数境界として検出する。
【0226】
なお、この非ゼロ係数境界の検出は、複数の画素を処理単位としてもよい。すなわち、非ゼロ係数境界検出部502が、例えばマクロブロック、スライス、若しくはフレーム全体といったような所定の画素群毎に検出を行い、その処理単位の画素群の中で1画素でも値がゼロでない非ゼロビットが出現する最上位のビットを非ゼロ係数境界として検出するようにしてもよい。
【0227】
非ゼロ係数境界検出部502は、入力画像(入力画像512)と、検出した非ゼロ係数境界の位置(境界位置513)をビット深度分割部501に供給する。
【0228】
ビット深度分割部501は、非ゼロ係数境界検出部502が検出した非ゼロ係数境界に基づいて分割位置を定め、入力画像をビット深度方向に(N+1)分割する。つまり、ビット深度分割部501は、非ゼロ係数境界を分割位置の1つとして分割を行い、さらに、最上位ビットから連続するゼロビットの部分以外の部分(非ゼロ係数境界より下位のビットで構成される画像をN分割する。
【0229】
なお、非ゼロ係数境界が最上位ビットとなる場合、すなわち、最上位ビットが非ゼロビットの場合、ゼロビットで構成される最上位の画像(ゼロ係数画像)は存在しないので、非ゼロ係数境界を分割位置とする分割は省略され、入力画像はビット深度方向にN分割されることになる。
【0230】
ビット深度分割部501は、その分割数や分割位置を示す分割情報514をコードストリーム多重化部303に供給するとともに、ビット深度方向に(N+1)分割された画像のうち、ゼロビットで構成される最上位の画像(ゼロ係数画像)を除く、下位側からN個の画像(画像515乃至画像517)をエンコード部102に供給する。
【0231】
各エンコード部102は、供給された画像を符号化し、コードストリーム(コードストリーム518乃至コードストリーム520)をコードストリーム多重化部303に供給する。
【0232】
コードストリーム多重化部303は、第3の実施の形態の場合と同様に、N個のコードストリームと分割情報を多重化し、1系統のコードストリームとして出力する。
【0233】
[ビット深度分割符号化処理の流れ]
図27のフローチャートを参照して、この場合のビット深度分割符号化処理の流れの例を説明する。
【0234】
ビット深度分割符号化処理が開始されると、非ゼロ係数境界検出部502は、ステップS501において、入力画像の非ゼロ係数境界を検出する。ステップS502において、ビット深度分割部301は、ステップS501の処理により検出された非ゼロ係数境界を含む位置で入力画像をビット深度方向に(N+1)分割し、ステップS503において、分割情報を生成する。
【0235】
なお、上述したように、非ゼロ係数境界が最上位ビットとなる場合、ビット深度分割部301は、ステップS502において、非ゼロ係数境界を除く位置で入力画像をビット深度方向にN分割する。
【0236】
ステップS504において、各エンコード部102は、分割された画像のうち、最上位の画像(ゼロ係数画像)を除く、分割後の各画像を符号化する。ステップS505において、コードストリーム多重化部303は、ステップS504の処理により生成された各コードストリームと分割情報を多重化する。ステップS505の処理が終了すると、コードストリーム多重化部303は、ビット深度分割符号化処理を終了する。
【0237】
以上のように、符号化装置500は、ゼロビットの符号化を省略することにより、より効率よく符号化を行うことができる。
【0238】
<7.第7の実施の形態>
[復号装置の構成]
次に、符号化装置500に対応する復号装置について説明する。図28は、本発明を適用した復号装置の主な構成例を示すブロック図である。図28に示される復号装置550は、符号化装置500に対応し、符号化装置500により生成されたコードストリームを正しく復号する。
【0239】
図22に示されるように、復号装置550は、基本的に図22を参照して説明した第4の実施の形態の復号装置350と同様の構成を有し、同様の処理を行う。
【0240】
ただし、復号装置550は、ビット深度合成部353の代わりにビット深度合成部553を有し、多重化構造解析部354の代わりに多重化構造解析部554を有し、さらに、ゼロ係数生成部555を有する。
【0241】
多重化構造解析部554は、符号化装置500から供給されるコードストリーム561の構造を解析し、分割情報562を抽出し、それをコードストリーム分離部351とゼロ係数生成部555に供給する。また、多重化構造解析部554は、分割情報562が抽出されたコードストリームである符号化データ563をコードストリーム分離部351に供給する。
【0242】
コードストリーム分離部351は、分割情報562に基づいて、符号化データ563を分割し、多重化前の、複数の(N系統の)コードストリームを生成する。コードストリーム分離部351は、分離した各コードストリームを、それぞれに対応するデコード部202に供給する。
【0243】
例えば、コードストリーム分離部351は、N系統のコードストリームのうち、上位側から1番目のビット群により構成される画像から生成されたコードストリーム564をデコード部202−1に供給し、上位側から2番目のビット群により構成される画像から生成されたコードストリーム565をデコード部202−2に供給する。さらに、コードストリーム分離部351は、上位側からN番目のビット群により構成される画像から生成されたコードストリーム566をデコード部202−Nに供給する。
【0244】
各デコード部202は、供給されたコードストリームを復号し、生成した復号画像(復号画像568乃至復号画像570)をビット深度合成部353に供給する。
【0245】
ゼロ係数生成部555は、多重化構造解析部554から供給される分割情報に基づいて、ゼロ係数画像を生成する。ゼロ係数生成部555は、分割情報において指定される分割位置の中で最上位の分割位置より上位のビットで構成される画像を生成する。
【0246】
第6の実施の形態において説明したように、符号化装置500は、ビット深度方向の最上位ビットから連続するゼロビットの符号化を省略する。ゼロ係数生成部555は、その符号化が省略されたゼロ係数画像を生成する。
【0247】
ゼロ係数生成部555は、生成したゼロ係数画像567をビット深度合成部553に供給する。
【0248】
ビット深度合成部553は、供給された各復号画像およびゼロ係数画像を、そのビット深度方向に合成し、符号化装置500の入力画像と同じビット深度の1系統の復号画像571を生成する。
【0249】
[ビット深度分割復号処理の流れ]
次に、図29のフローチャートを参照して、この場合のビット深度分割復号処理の流れの例を説明する。
【0250】
ビット深度分割復号処理が開始されると、ステップS551において、多重化構造解析部554が、多重化構造を解析し、分割位置を特定する。ステップS552において、コードストリーム分離部351は、ステップS551において特定された分割位置に基づいて、多重化されたコードストリームをN分割する。
【0251】
ステップS553において、デコード部202は、分割後の各コードストリームを復号する。ステップS554において、ゼロ係数生成部555は、分割情報に基づいて、符号化前の状態においてゼロ係数画像が存在したか否かを判定する。
【0252】
最上位の分割位置が最上位ビットでなく、ゼロ係数画像が存在したと判定された場合、ゼロ係数生成部555は、処理をステップS555に進め、最上位の分割位置より上位のビット(ゼロビット)で構成されるゼロ係数画像を生成する。ゼロ係数画像を生成するとゼロ係数生成部555は、処理をステップS556に進める。
【0253】
また、ステップS554において、最上位の分割位置が最上位ビットであり、ゼロ係数画像が存在しなかったと判定された場合、ゼロ係数生成部555は、ステップS555の処理を省略し、処理をステップS556に進める。
【0254】
ステップS556において、ビット深度合成部553は、各画像データをビット深度方向に合成し、ビット深度分割復号処理を終了する。
【0255】
以上のようにして、復号装置550は、符号化装置500により生成された、ゼロ係数画像の符号化が省略されたコードストリームを正しく復号することができる。したがって、復号装置550は、画像の符号化における符号化効率を向上させることができる。
【0256】
なお、符号化装置500のエンコード部102がJPEG2000方式で符号化を行う場合、最上位ビットから連続する値がゼロの係数をゼロビットプレーンとし、その符号化を省略する。従って、この場合、ゼロデータを含めた全部の係数を符号化しても、スキップした場合に比べて大きなオーバーヘッドには成り難い。
【0257】
<8.第8の実施の形態>
[符号化装置の構成]
以上においては、分割された各ビット深度画像を全て符号化するように説明したが、これに限らず、分割後の各画像を符号化するか否かを選択することができるようにしてもよい。
【0258】
例えば、下位ビットの画像になるほどノイズ成分が多く含まれる可能性が高く、符号化効率が向上しにくい(圧縮効果が少ない)傾向がある。このように符号化効率が低い画像を符号化しても処理の負荷や処理時間が不要に増大するのみである。さらに、場合によっては、符号化することでデータ量が増大することも考えられる。
【0259】
そこで、符号化を行うか否かを、分割後の画像毎に選択することができるようにし、効果の薄い不要な符号化を省略することができるようにする。
【0260】
図30は、本発明を適用した符号化装置の主な構成例を示すブロック図である。図30に示される符号化装置600は、基本的に上述した図20の符号化装置300と同様の符号化装置であるが、各エンコード部102による符号化前後のデータのいずれか一方を選択する選択部601を有する。また、符号化装置600は、コードストリーム多重化部303の代わりにデータ多重化部603を有する。
【0261】
ビット深度分割部301は、入力画像611をビット深度方向にN分割すると、その分割情報612をデータ多重化部603に供給するとともに、分割後の各画像を、それぞれに対応するエンコード部102および選択部601に供給する。
【0262】
例えば、ビット深度分割部301は、N系統の分割後の画像のうち、上位側から1番目の画像613をエンコード部102−1および選択部601−1に供給し、上位側から2番目の画像614をエンコード部102−2および選択部602−2に供給する。さらに、ビット深度分割部301は、上位側からN番目の画像615をエンコード部102−Nに供給する。
【0263】
エンコード部102は、供給された画像データを符号化し、生成したコードストリーム(コードストリーム616乃至コードストリーム618)を、対応する選択部601(選択部601−1乃至選択部601−N)に供給する。
【0264】
選択部601−1乃至選択部601−Nは、エンコード部102による符号化の前の画像データと、エンコード部102により符号化された後のコードストリームのうちいずれか一方を選択し、選択した方をデータ多重化部603に供給する。以下において、選択部601−1乃至選択部601−Nを互いに区別して説明する必要が無い場合、単に選択部601と称する。
【0265】
この選択部601は、供給される符号化前後のデータのデータ量を比較し、その結果に基づいていずれか一方を選択する。例えば、符号化後のコードストリームのデータサイズが、符号化前の画像データのデータサイズ以上である場合、選択部601は、符号化前の画像データを選択する。
【0266】
また、例えば、符号化後のコードストリームのデータサイズが、符号化前の画像データのデータサイズより小さい場合、選択部601は、符号化後のコードストリームを選択する。
【0267】
データ多重化部603は、供給されたデータを多重化し、1系統のデータとして出力する。
【0268】
[ビット深度分割符号化処理の流れ]
図31のフローチャートを参照して、この場合のビット深度分割符号化処理の流れの例を説明する。
【0269】
ビット深度分割符号化処理が開始されると、ビット深度分割部301は、ステップS601において入力画像をビット深度方向にN分割し、ステップS602において分割情報を生成する。
【0270】
ステップS603において、各エンコード部102および各選択部601は、分割後の各画像を符号化し、符号化前の画像データおよび符号化後のコードストリームのいずれか一方を選択する選択符号化処理を行う。
【0271】
ステップS604において、データ多重化部603は、ステップS603の処理により選択された各コードストリーム若しくは各画像データと、分割情報とを多重化し、ビット深度分割符号化処理を終了する。
【0272】
[選択符号化処理の流れ]
次に、図32のフローチャートを参照して、図31のステップS603において実行される選択符号化処理の流れの例を説明する。
【0273】
選択符号化処理が開始されると、ステップS621において、エンコード部102は、供給された分割後の画像を符号化する。選択部601は、ステップS622において、符号化前後のデータ量を比較し、ステップS623において、データ量の少ない方を選択する。
【0274】
ステップS623の処理が終了すると選択部601は、選択符号化処理を終了し、処理を図31のステップS603に戻し、ステップS604以降の処理を実行させる。
【0275】
以上のようにすることにより、符号化装置500は、効果が少ない不要な符号化を省略し、符号化処理の負荷を低減させることができる。さらに、画像によっては、コードストリームの符号量を低減させることもできる。つまり、符号化装置500は、より容易に、符号化効率を向上させることができる。
【0276】
<9.第9の実施の形態>
[復号装置の構成]
次に、符号化装置600に対応する復号装置について説明する。図33は、本発明を適用した復号装置の主な構成例を示すブロック図である。図33に示される復号装置650は、符号化装置600に対応し、符号化装置600により生成されたコードストリームを正しく復号する。
【0277】
図33に示されるように、復号装置650は、基本的に図22を参照して説明した第4の実施の形態の復号装置350と同様の構成を有し、同様の処理を行う。
【0278】
ただし、復号装置650は、コードストリーム分離部351の代わりにデータ分離部651を有し、ビット深度合成部353の代わりにビット深度合成部653を有し、さらに、判定部652−1乃至判定部652−Nを有する。以下において、判定部652−1乃至判定部652−Nを互いに区別して説明する必要が無い場合、単に判定部652と称する。
【0279】
データ分離部651は、分割情報662に基づいて、符号化装置600から供給されるデータ661(コードストリーム)から分割情報662を抽出したデータ563を分割し、多重化前の、複数の(N系統の)データを生成する。データ分離部651は、分離した各データ(データ664乃至データ666)を、それぞれに対応する判定部652に供給する。
【0280】
各判定部652は、供給された各データ(データ664乃至データ666)が符号化されたコードストリームであるか、符号化されていない画像データであるかを判定する。各判定部652は、供給されたデータが符号化されたコードストリームであると判定された場合、それを、対応するデコード部202に供給する(コードストリーム667、コードストリーム669、およびコードストリーム671)。また、供給された各データが符号化されていない画像データであると判定された場合、それを、ビット深度合成部653に供給する(画像データ668、画像データ670、および画像データ672)。
【0281】
各デコード部202は、供給されたコードストリーム(コードストリーム667、コードストリーム669、若しくはコードストリーム671)を復号し、復号画像(復号画像673、復号画像674、若しくは復号画像675)をビット深度合成部653に供給する。
【0282】
ビット深度合成部653は、供給される各種データをビット深度方向に合成し、1系統のデータ676として出力する。
【0283】
[ビット深度分割復号処理の流れ]
次に、図34のフローチャートを参照して、ビット深度分割復号処理の流れの例を説明する。
【0284】
ビット深度分割復号処理が開始されると、ステップS651において、多重化構造解析部554が、符号化装置600から供給されるデータ661の多重化構造を解析し、分割情報662を抽出し、分割位置等を特定する。ステップS652において、データ分離部651は、ステップS651において抽出された分割情報662に基づいて、分割情報662が抽出されたデータ663をN分割する。
【0285】
ステップS653において、判定部652およびデコード部202は、分割後のデータ(データ664乃至データ666)が、符号化されたコードストリームであるか否かを判定し、コードストリームであると判定された場合のみ、そのコードストリームを復号する判定復号処理を行う。
【0286】
ステップS654において、ビット深度合成部653は、ステップS653の処理により得られた画像データを、ビット深度方向に合成し、1系統の復号画像676を生成し、ビット深度分割復号処理を終了する。
【0287】
[判定復号処理の流れ]
次に、図34のステップS653において実行される判定復号処理の流れの例を図35のフローチャートを参照して説明する。
【0288】
判定復号処理が開始されると、判定部652は、ステップS671において、供給されたデータが符号化されているか否かを判定する。符号化されていると判定された場合、ステップS672に処理を進める。ステップS672において、デコード部202は、分割後のコードストリームを復号し、判定復号処理を終了する。
【0289】
また、ステップS671において、符号化されていないと判定された場合、判定部652は、ステップS672の処理を省略し、判定復号処理を終了する。
【0290】
判定復号処理が終了されると、判定部652は、処理を図34のステップS653に戻し、それ以降の処理を繰り返す。
【0291】
以上のようにして、復号装置650は、符号化装置600により生成されたデータを正しく復号することができる。したがって、復号装置650は、より容易に、画像の符号化における符号化効率を向上させることができる。
【0292】
<10.第19の実施の形態>
[符号化装置の構成]
以上においては、各エンコード部102での符号化方式は予め定められており、各エンコード部102には、1個のエンコーダ(例えばJPEG2000エンコーダ)が設けられるように説明したが、これに限らず、各エンコード部102が互いに異なる符号化方式の複数のエンコーダを有し、採用する符号化方式を適宜選択することができるようにしてもよい。
【0293】
現在、符号化方式として様々な方法が存在する。例えば、JPEG2000以外にもLossless圧縮用としてはJPEG-LSやLZ77などの技術がある。またLossy圧縮用としてもMPEG系やJPEG等がある。各符号化方式は、互いに異なる特徴を有しており、符号化対象の画像や、符号化パラメータ等の各種条件によって、効率よく符号化を行うことができる場合とできない場合とがある。
【0294】
符号化装置が、分割した画像毎に、これらの符号化方式の中から最も効率のよい符号化方式を選択することができるようにし、より効率よく符号化を行うことができるようにしてもよい。
【0295】
図36は、本発明を適用した符号化装置のエンコード部102の主な構成例を示すブロック図である。図36に示されるように、この場合のエンコード部102は、内部に、エンコード部701−1乃至エンコード部701−3、並びに、選択部702を有する。
【0296】
エンコード部701−1乃至エンコード部701−3は、互いに異なる符号化方式で符号化を行う。エンコード部701−1乃至エンコード部701−3は、供給された画像データ711を、それぞれの符号化方式で符号化し、生成したコードストリーム(コードストリーム712乃至コードストリーム714)を選択部702に供給する。
【0297】
以下において、エンコード部701―1乃至エンコード部701−3を互いに区別して説明する必要が無い場合、単にエンコード部701と称する。
【0298】
このように、3つの符号化方式でコードストリームが生成されると、選択部702は、この3つのコードストリームのデータサイズを比較し、データサイズが最小となるコードストリームを選択する。
【0299】
選択部702は、選択したコードストリーム716をコードストリーム多重化部103、コードストリーム多重化部303、若しくは選択部601に供給する。また、選択部702は、そのコードストリームとともに、どの符号化方式を選択したかを示す選択情報715を、コードストリーム多重化部103、コードストリーム多重化部303、若しくは選択部601に供給する。この選択情報715は、コードストリームとともに多重化される。
【0300】
なお、エンコード部701の数(用意される符号化方式の数)は任意であり、2つであってもよいし、4つ以上であってもよい。また、エンコード部701の数は、エンコード部102毎に独立して設定することができる。
【0301】
[選択符号化処理の流れ]
図37のフローチャートを参照して、この場合のエンコード部102により実行される選択符号化処理の流れの例を説明する。
【0302】
選択符号化処理が開始されると、ステップS701において、エンコード部701は、予め用意された符号化方式の中から未処理の符号化方式を選択する。ステップS702において、エンコード部701は、選択された符号化方式で画像データ711を符号化する。ステップS703において、エンコード部701は、予め用意された符号化方式の全てで符号化したか否かを判定し、未処理の符号化方式が存在すると判定された場合、処理をステップS701に戻し、それ以降の処理を繰り返す。
【0303】
また、ステップS703において、全ての符号化方式で符号化を行ったと判定された場合、エンコード部701は、処理をステップS704に進める。
【0304】
ステップS704において、選択部702は、生成されたコードストリームのデータサイズを比較し、データサイズが最小のコードストリーム(符号化方式)を選択する。ステップS705において、選択部702は、その選択情報を生成する。ステップS706において、選択部702は、ステップS704の処理により選択したコードストリーム、および、ステップS705の処理により生成した選択情報を出力し、選択符号化処理を終了する。
【0305】
このようにすることにより、エンコード部102は、より効率よく符号化を行うことができる。つまり、上述した符号化装置100、符号化装置300、符号化装置400、符号化装置500、および符号化装置600は、このようなエンコード部102を採用することにより、より多様な画像や符号化条件等に対して、より効率よく符号化を行うことができる。
【0306】
<11.第11の実施の形態>
[復号装置の構成]
次に、このようなエンコード部102に対応するデコード部202について説明する。図38は、本発明を適用した復号装置のデコード部202の主な構成例を示すブロック図である。図38に示されるデコード部202は、図36に示されるエンコード部102に対応し、図36のエンコード部102により生成されたコードストリームを正しく復号する。
【0307】
図38に示されるように、デコード部202は、判定部751、並びに、デコード部752−1乃至デコード部752−3を有する。
【0308】
この場合、符号化装置から供給されるコードストリームには、上述した選択情報も多重化されている。したがって、前段のコードストリーム分離部は、コードストリームを分割する際に、選択情報も抽出する。判定部751は、コードストリーム分離部を介して供給される選択情報761に基づいて、供給されるコードストリーム762の符号化方式を判定する。
【0309】
デコード部752−1乃至デコード部752−3は、互いに異なる復号方式でコードストリームを復号する。以下において、デコード部752−1乃至デコード部752−3を互いに区別して説明する必要が無い場合、単にデコード部752と称する。
【0310】
判定部751は、供給されるコードストリーム762の符号化方式を判定すると、そのコードストリームを、デコード部752−1乃至デコード部752−3のうち、その符号化方式に対応する復号方式のデコード部752に供給する(コードストリーム763乃至コードストリーム765)。
【0311】
コードストリームを供給されたデコード部752は、供給されたコードストリームを復号し、生成した復号画像766を出力する。
【0312】
なお、デコード部752の数(用意される復号方式の数)は任意であり、2つであってもよいし、4つ以上であってもよい。また、デコード部752の数は、デコード部202毎に独立して設定することができる。
【0313】
[判定復号処理の流れ]
次に、図39のフローチャートを参照して、このデコード部202による判定復号処理の流れの例を説明する。
【0314】
判定復号処理が開始されると、ステップS751において、判定部751は、選択情報に基づいて、供給されるコードストリームの符号化方式を判定する。ステップS752において、デコード部752は、ステップS751の処理により判定された符号化方式に対応する復号方式でコードストリームを復号し、判定復号処理を終了する。
【0315】
このようにすることにより、デコード部202は、図36のエンコード部102により符号化されたコードストリームを正しい復号方式で復号することができる。また、デコード部202は、エンコード部102から供給される選択情報により、容易に正しい復号方式を判定することができる。
【0316】
つまり、上述した復号装置200、復号装置350、復号装置550、および復号装置650は、このようなデコード部202を採用することにより、より多様な画像や符号化条件等に対して、符号化効率を向上させることができる。
【0317】
<12.第12の実施の形態>
[パーソナルコンピュータ]
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、例えば、図40に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【0318】
図40において、パーソナルコンピュータ800のCPU(Central Processing Unit)801は、ROM(Read Only Memory)802に記憶されているプログラム、または記憶部813からRAM(Random Access Memory)803にロードされたプログラムに従って各種の処理を実行する。RAM803にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0319】
CPU801、ROM802、およびRAM803は、バス804を介して相互に接続されている。このバス804にはまた、入出力インタフェース810も接続されている。
【0320】
入出力インタフェース810には、キーボード、マウスなどよりなる入力部811、CRT(Cathode Ray Tube)ディスプレイやLCD(Liquid Crystal Display)等のディスプレイ、並びにスピーカなどよりなる出力部812、フラッシュメモリ等SSD(Solid State Drive)やハードディスクなどよりなる記憶部813、有線LAN(Local Area Network)や無線LANのインタフェースやモデムなどよりなる通信部814が接続されている。通信部814は、インターネットを含むネットワークを介しての通信処理を行う。
【0321】
入出力インタフェース810にはまた、必要に応じてドライブ815が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア821が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部813にインストールされる。
【0322】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【0323】
この記録媒体は、例えば、図40に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア821により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM802や、記憶部813に含まれるハードディスクなどにより構成される。
【0324】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0325】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0326】
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
【0327】
また、以上において、1つの装置(または処理部)として説明した構成が、複数の装置(または処理部)として構成されるようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成が、まとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成が付加されるようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部が他の装置(または他の処理部)の構成に含まれるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【0328】
本発明は、例えば、3Dデジタルシネマ用編集装置、3Dアーカイブシステム、放送局の3D画像伝送装置、3D画像データベース、3D医用画像の記録システム、3Dゲーム機、テレビ受像機システム、3D対応のBlu Ray Discレコーダ若しくはプレイヤ、自由視点テレビ、臨場感TV会議システム、パーソナルコンピュータ等にインストールされるオーサリング・ツールまたはそのソフトウェア・モジュール等に適用することができる。
【符号の説明】
【0329】
100 符号化装置, 101 ビット深度分割部, 102 エンコード部, 103 コードストリーム多重化部, 200 復号装置, 201 コードストリーム分離部, 202 デコード部, 203 ビット深度合成部, 300 符号化装置, 301 ビット深度分割部, 303 コードストリーム多重化部, 350 復号装置, 351 コードストリーム分離部, 353 ビット深度合成部, 354 多重化構造解析部, 400 符号化装置, 401 ビットレート割り当て部, 500 符号化装置, 501 ビット深度分割部, 502 非ゼロ係数境界検出部, 550 復号装置, 553 ビット深度合成部, 554 多重化構造解析部, 555 ゼロ係数生成部, 600 符号化装置, 601 選択部, 603 データ多重化部, 650 復号装置, 651 データ分離部, 652 判定部, 653 ビット深度合成部, 701 エンコード部, 702 選択部, 751 判定部, 752 デコード部

【特許請求の範囲】
【請求項1】
画像をビット深度方向に複数に分割する分割手段と、
前記分割手段により前記画像が前記ビット深度方向に分割されて得られる複数の画像のうち、一部または全部の画像を、それぞれ符号化する符号化手段と
を備える画像処理装置。
【請求項2】
前記分割手段による前記画像の分割数、および、前記分割手段により分割が行われるビット位置を示す分割位置を少なくとも示す分割情報を生成する分割情報生成手段をさらに備える
請求項1に記載の画像処理装置。
【請求項3】
前記符号化手段は、前記分割手段により前記画像が前記ビット深度方向に分割されて得られる複数の画像のうち、一部または全部の画像を、画像毎に設定される符号化方式により符号化する
請求項1に記載の画像処理装置。
【請求項4】
前記符号化手段は、前記分割手段により前記画像が前記ビット深度方向に分割されて得られる複数の画像のうち、一部または全部の画像を、前記画像毎に設定されるレベル数でウェーブレット変換し、得られた係数データを符号化する
請求項1に記載の画像処理装置。
【請求項5】
前記符号化手段による、前記分割手段により前記画像が前記ビット深度方向に分割されて得られる複数の画像のうちの一部または全部の画像のそれぞれに対する符号化に対して、目標ビットレートを割り当てるビットレート割り当て手段をさらに備え、
前記符号化手段は、前記ビットレート割り当て手段により割り当てられた前記目標ビットレートを用いて、前記分割手段により前記画像が前記ビット深度方向に分割されて得られる複数の画像のうち、一部または全部の画像の符号化のレート制御を行う
請求項1に記載の画像処理装置。
【請求項6】
前記画像のビット深度において、最上位ビットから連続する値がゼロのビットと、非ゼロのビットとの境界である非ゼロ係数境界を検出する非ゼロ係数境界検出手段をさらに備え、
前記符号化手段は、前記非ゼロ係数境界検出手段により検出された前記ゼロ係数境界より上位のビットで構成される画像の符号化を省略する
請求項1に記載の画像処理装置。
【請求項7】
前記符号化手段により符号化される前後のデータサイズに応じて、符号化するか否かを、前記分割手段により前記ビット深度方向に分割されて得られる画像毎に選択する選択手段をさらに備える
請求項1に記載の画像処理装置。
【請求項8】
前記符号化手段による符号化の符号化方式を、前記分割手段により前記ビット深度方向に分割されて得られる画像毎に選択する選択手段をさらに備える
請求項1に記載の画像処理装置。
【請求項9】
前記符号化手段により、前記分割手段により前記画像が前記ビット深度方向に分割されて得られる複数の画像のうち、一部または全部の画像が符号化されて得られる各コードストリームを多重化する多重化手段をさらに備える
請求項1に記載の画像処理装置。
【請求項10】
画像処理装置の画像処理方法であって、
分割手段が、画像をビット深度方向に複数に分割し、
符号化手段が、前記画像が前記ビット深度方向に分割されて得られる複数の画像のうち、一部または全部の画像を、それぞれ符号化する
画像処理方法。
【請求項11】
互いに同一の画像からビット深度方向に分割されて生成された複数の画像がそれぞれ符号化され、得られた前記画像毎のコードストリームが多重化された、1系統のコードストリームを、前記画像毎のコードストリーム毎に分離する分離手段と、
前記分離手段により1系統のコードストリームが分離されて得られた前記画像毎のコードストリームを、それぞれ復号する復号手段と
を備える画像処理装置。
【請求項12】
前記1系統のコードストリームの構造を解析する構造解析手段をさらに備え、
前記分離手段は、前記構造解析手段による前記構造の解析結果に基づいて、前記1系統のコードストリームを分離する
請求項11に記載の画像処理装置。
【請求項13】
前記構造解析手段は、前記1系統のコードストリームに含まれる、前記ビット深度方向に画像を分割した時の画像の分割数および分割が行われるビット位置を示す分割位置を少なくとも示す分割情報を抽出し、
前記分離手段は、前記構造解析手段により前記1系統のコードストリームから抽出された前記分割情報に基づいて、前記1系統のコードストリームを分離する
請求項12に記載の画像処理装置。
【請求項14】
前記画像毎のコードストリームは、各画像毎に設定された符号化方式で符号化されており、
前記復号手段は、各符号化方式に対応する復号方式で、前記画像毎のコードストリームを復号する
請求項11に記載の画像処理装置。
【請求項15】
前記画像毎のコードストリームは、各画像毎に設定されたレベル数でウェーブレット変換され、得られた係数データが符号化されており、
前記復号手段は、前記画像毎のコードストリームを復号し、得られた係数データを、各画像毎に設定された前記レベル数で逆ウェーブレット変換する
請求項11に記載の画像処理装置。
【請求項16】
前記画像毎のコードストリームの符号化時に削除された、前記画像のビット深度において最上位ビットから連続する値がゼロのビットを生成するゼロ係数生成手段をさらに備える
請求項11に記載の画像処理装置。
【請求項17】
前記分離手段は、互いに同一の画像からビット深度方向に分割されて生成された複数の画像から生成された前記画像毎のデータが多重化された、1系統のデータを、前記画像毎のデータ毎に分離し、
前記分離手段により分離された前記画像毎のデータが符号化されているか否かを判定する判定手段をさらに備え、
前記復号手段は、前記判定手段により符号化されていると判定された前記画像毎のデータを復号する
請求項11に記載の画像処理装置。
【請求項18】
前記画像毎のコードストリームのそれぞれの符号化方式を示す符号化方式情報に基づいて、前記画像毎のコードストリームのそれぞれの復号方式を判定する判定手段をさらに備え、
前記復号手段は、前記画像毎のコードストリームを、それぞれ、前記判定手段により判定された復号方式で復号する
請求項11に記載の画像処理装置。
【請求項19】
前記復号手段により復号されて得られた各画像を、前記ビット深度方向に合成するビット深度合成手段をさらに備える
請求項11に記載の画像処理装置。
【請求項20】
画像処理装置の画像処理方法であって、
分離手段が、互いに同一の画像からビット深度方向に分割されて生成された複数の画像がそれぞれ符号化され、得られた前記画像毎のコードストリームが多重化された、1系統のコードストリームを、前記画像毎のコードストリーム毎に分離し、
復号手段が、1系統のコードストリームが分離されて得られた前記画像毎のコードストリームを、それぞれ復号する
画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate


【公開番号】特開2012−60261(P2012−60261A)
【公開日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2010−199270(P2010−199270)
【出願日】平成22年9月6日(2010.9.6)
【出願人】(000002185)ソニー株式会社 (34,172)
【出願人】(305027401)公立大学法人首都大学東京 (385)
【Fターム(参考)】