(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6388732
(24)【登録日】2018年8月24日
(45)【発行日】2018年9月12日
(54)【発明の名称】画像の符号化および復号のための方法および装置
(51)【国際特許分類】
H04N 19/63 20140101AFI20180903BHJP
H04N 19/34 20140101ALI20180903BHJP
H04N 1/41 20060101ALI20180903BHJP
【FI】
H04N19/63
H04N19/34
H04N1/41
【請求項の数】23
【全頁数】25
(21)【出願番号】特願2017-554652(P2017-554652)
(86)(22)【出願日】2016年2月15日
(65)【公表番号】特表2018-509863(P2018-509863A)
(43)【公表日】2018年4月5日
(86)【国際出願番号】FI2016050093
(87)【国際公開番号】WO2016139391
(87)【国際公開日】20160909
【審査請求日】2017年7月12日
(31)【優先権主張番号】1503689.0
(32)【優先日】2015年3月5日
(33)【優先権主張国】GB
(73)【特許権者】
【識別番号】315002955
【氏名又は名称】ノキア テクノロジーズ オーユー
(74)【代理人】
【識別番号】100127188
【弁理士】
【氏名又は名称】川守田 光紀
(72)【発明者】
【氏名】リッサ テロ
【審査官】
松永 隆志
(56)【参考文献】
【文献】
特開2005−341368(JP,A)
【文献】
特開2005−295540(JP,A)
【文献】
特開2004−040372(JP,A)
【文献】
米国特許第07760948(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/00− 1/64
H04N 19/00−19/98
(57)【特許請求の範囲】
【請求項1】
2つ以上の係数のマグニチュードビットを含むストライプを取得することと、
現在のビットプレーンにおける、前記係数の有意性状態と、前記2つ以上の係数の近傍にある係数の有意性状態とを含む、コンテキストマトリクスを取得することと、
前記現在のビットプレーンの1層上にある前のビットプレーンにおける、前記係数の有意性状態と、前記2つ以上の係数の近傍にある係数の有意性状態とを含む、前の層のコンテキストマトリクスを取得することと、
前記現在のビットプレーンの2層上にあるビットプレーンにおける、前記係数の有意性状態を含む、前記前のビットプレーンの1層上にあるビットプレーンのコンテキストストライプを取得することと、
前記現在のビットプレーンにおける、前記係数のシグニフィカンス・プロパゲーション(Significance Propagation、以下SP)有意性状態と、前記2つ以上の係数の近傍にある係数のSP有意性状態とを含む、SP状態コンテキストマトリクスを取得することと、
前記マトリクスおよび/または前記ストライプの少なくとも1つを用いて、前記2つ以上のマグニチュードビットそれぞれにコンテキストラベルを構築することと、
を含み、
前記マグニチュードビットは同じビットプレーンに属し、前記係数は画像または画像の一部を表現し、
前記コンテキストラベルを構築することは、一式のコンテキストラベルから選択したコンテキストラベルを割り当てることによって、並列で行われる、
方法。
【請求項2】
前記係数の符号と、前記2つ以上の係数の近傍にある係数の符号とを含む、符号コンテキストマトリクスを取得することをさらに含む、請求項1に記載の方法。
【請求項3】
前記コンテキストラベルを構築することは、
第1の条件が真である場合、マグニチュード・リファインメント(Magnitude Refinement、以下MR)マスクを用いること、または
前記第1の条件が真ではなく、第2の条件が真である場合、SPマスクを用いること、または
前記第1の条件および前記第2の条件が真ではない場合、クリーンアップ(Clean Up、以下CU)マスクを用いること、
を含む、請求項1または2に記載の方法。
【請求項4】
前記前の層のコンテキストマトリクス内の係数の有意性状態が真であるかを検査することによって、前記第1の条件が真かどうかを判定すること、または
前記前の層のコンテキストマトリクス内の近傍係数の有意性状態が真であるかを検査することによって、または、前記SP状態コンテキストマトリクス内の近傍係数の有意性状態が真であるかを検査することによって、前記第2の条件が真かどうかを判定すること、
を含む、請求項3に記載の方法。
【請求項5】
前記第2の条件が真かどうかを判定することは、
前記前の層のコンテキストマトリクス内の、
・ 同じ列の前の行にある近傍係数、および
・ 次の列にある近傍係数、
の1つ以上の有意性状態を検査することと、
前記SP状態コンテキストマトリクス内の、
・ 同じ列の次の行にある近傍係数、および
・ 前の列にある近傍係数、
の1つ以上の有意性状態を検査することと、
を含む、請求項4に記載の方法。
【請求項6】
前記MRマスクは、
・ 前記SP状態コンテキストマトリクスからの、前記係数の周囲にある係数の有意性状態と、
・ 前記前の層のコンテキストマトリクスにおける、前記係数の有意性状態と、
を含み、
前記SPマスクは、
・ 前記SP状態コンテキストマトリクスからの、前記係数の前の列にある近傍係数と、前記係数と同じ列の前の行にある近傍係数との有意性状態と、
・ 前記前のSP状態コンテキストマトリクスからの、前記係数の次の列にある近傍係数と、前記係数と同じ列の次の行にある近傍係数との有意性状態と、
・ 前記前の層のコンテキストマトリクスにおける、前記係数の前記有意性状態と、
を含み、
前記CUマスクは、
・ 前記SP状態コンテキストマトリクスからの、前記係数の前の列にある近傍係数と、前記係数と同じ列の前の行にある近傍係数との有意性状態と、
・ 前記SP状態コンテキストマトリクスからの、前記係数の次の列にある近傍係数と、前記係数と同じ列の次の行にある前記近傍係数との有意性状態と、
・ 前記前の層のコンテキストマトリクスにおける、前記係数の前記有意性状態と、
を含む、
請求項3から5のいずれかに記載の方法。
【請求項7】
前記MRマスク、前記SPマスク、または前記CUマスクによって示される1つ以上の有意性状態に基づいて、または、前記現在のビットプレーンにおける係数の値に基づいて、前記係数にコンテキストラベルを選択することを含む、
請求項3から6のいずれかに記載の方法。
【請求項8】
前記係数は行列として構成される、請求項1から7のいずれかに記載の方法。
【請求項9】
前記コンテキストラベルを構築することは、
・ 前記選択したコンテキストラベルをコンテキストワードに含めることと、
・ 前記ストライプの前記係数に選択した各コンテキストワードを、コードワードに含めることと、
をさらに含む、請求項1から8のいずれかに記載の方法。
【請求項10】
前記画像のピクセルに離散ウェーブレット変換を実行して、一式の変換係数を生成することと、
前記変換係数を量子化して、前記係数を生成することと、
をさらに含む、請求項1から9のいずれかに記載の方法。
【請求項11】
前記コンテキストマトリクスの要素は、前記マトリクスの前記係数の位置と、前記係数の周囲の位置とに関連する、請求項1から10のいずれかに記載の方法。
【請求項12】
前記ストライプは4個の係数を含み、前記コンテキストマトリクスは12個の要素を含む、請求項1から11のいずれかに記載の方法。
【請求項13】
前記現在のビットプレーンにおける前記ストライプの前記係数に基づいて、ランレングス符号化を実行することと、
前記ランレングス符号化に関する情報に、前記選択したコンテキストラベルを付加することと、
をさらに含む、請求項1から12のいずれかに記載の方法。
【請求項14】
2つ以上の係数のマグニチュードビットを含むストライプを取得する手段と、
現在のビットプレーンにおける、前記係数の有意性状態と、前記2つ以上の係数の近傍にある係数の有意性状態とを含む、コンテキストマトリクスを取得する手段と、
前記現在のビットプレーンの1層上にある前のビットプレーンにおける、前記係数の有意性状態と、前記2つ以上の係数の近傍にある係数の有意性状態とを含む、前の層のコンテキストマトリクスを取得する手段と、
前記現在のビットプレーンの2層上にあるビットプレーンにおける、前記係数の有意性状態を含む、前記前のビットプレーンの1層上にあるビットプレーンのコンテキストストライプを取得する手段と、
前記現在のビットプレーンにおける、前記係数のシグニフィカンス・プロパゲーション(Significance Propagation、以下SP)有意性状態と、前記2つ以上の係数の近傍にある係数のSP有意性状態とを含む、SP状態コンテキストマトリクスを取得する手段と、
前記マトリクスおよび/または前記ストライプの少なくとも1つを用いて、前記2つ以上のマグニチュードビットそれぞれにコンテキストラベルを構築する手段と、
を備え、
前記マグニチュードビットは同じビットプレーンに属し、前記係数は画像または画像の一部を表現し、
前記コンテキストラベルを構築する手段は、一式のコンテキストラベルから選択したコンテキストラベルを割り当てることによって、並列で構築する、
装置。
【請求項15】
前記係数の符号と、前記2つ以上の係数の近傍にある係数の符号とを含む、符号コンテキストマトリクスを取得する手段をさらに備える、請求項14に記載の装置。
【請求項16】
前記マトリクスの少なくとも1つを用いてコンテキストラベルを構築する手段は、
第1の条件が真である場合、マグニチュード・リファインメント(Magnitude Refinement、以下MR)マスクを用いる、または
前記第1の条件が真ではなく、第2の条件が真である場合、SPマスクを用いる、または
前記第1の条件および前記第2の条件が真ではない場合、クリーンアップ(Clean Up、以下CU)マスクを用いる、
ように構成される、請求項14または15に記載の装置。
【請求項17】
前記前の層のコンテキストマトリクス内の係数の有意性状態が真であるかを検査することによって、前記第1の条件が真かどうかを判定する手段、または
前記前の層のコンテキストマトリクス内の近傍係数の有意性状態が真であるかを検査することによって、または、前記SP状態コンテキストマトリクス内の近傍係数の有意性状態が真であるかを検査することによって、前記第2の条件が真かどうかを判定する手段、
を備える、請求項16に記載の装置。
【請求項18】
前記マトリクスの少なくとも1つを用いてコンテキストラベルを構築する手段は、
前記前の層のコンテキストマトリクス内の、
・ 同じ列の前の行にある近傍係数、および
・ 次の列にある近傍係数、
の1つ以上の有意性状態を検査することと、
前記SP状態コンテキストマトリクス内の、
・ 同じ列の次の行にある近傍係数、および
・ 前の列にある近傍係数、
の1つ以上の有意性状態を検査することと、によって、
前記第2の条件が真かどうかを判定するように構成される、請求項17に記載の装置。
【請求項19】
前記MRマスクは、
・ 前記SP状態コンテキストマトリクスからの、前記係数の周囲にある係数の有意性状態と、
・ 前記前の層のコンテキストマトリクスにおける、前記係数の有意性状態と、
を含み、
前記SPマスクは、
・ 前記SP状態コンテキストマトリクスからの、前記係数の前の列にある近傍係数と、前記係数と同じ列の前の行にある近傍係数との有意性状態と、
・ 前記前のSP状態コンテキストマトリクスからの、前記係数の次の列にある近傍係数と、前記係数と同じ列の次の行にある近傍係数との有意性状態と、
・ 前記前の層のコンテキストマトリクスにおける、前記係数の前記有意性状態と、
を含み、
前記CUマスクは、
・ 前記SP状態コンテキストマトリクスからの、前記係数の前の列にある近傍係数と、前記係数と同じ列の前の行にある近傍係数との有意性状態と、
・ 前記SP状態コンテキストマトリクスからの、前記係数の次の列にある近傍係数と、前記係数と同じ列の次の行にある前記近傍係数との有意性状態と、
・ 前記前の層のコンテキストマトリクスにおける、前記係数の前記有意性状態と、
を含む、
請求項16から18のいずれかに記載の装置。
【請求項20】
前記MRマスク、前記SPマスク、または前記CUマスクによって示される1つ以上の有意性状態に基づいて、または、前記現在のビットプレーンにおける係数の値に基づいて、前記係数にコンテキストラベルを選択する手段を備える、
請求項16から19のいずれかに記載の装置。
【請求項21】
前記マトリクスの少なくとも1つを用いてコンテキストラベルを構築する手段は、
・ 前記選択したコンテキストラベルをコンテキストワードに含め、
・ 前記ストライプの前記係数に選択した各コンテキストワードを、コードワードに含める、
ようにさらに構成される、請求項14から20のいずれかに記載の装置。
【請求項22】
前記画像のピクセルに離散ウェーブレット変換を実行して、一式の変換係数を生成する手段と、
前記変換係数を量子化して、前記係数を生成する手段と、
をさらに備える、請求項14から21のいずれかに記載の装置。
【請求項23】
前記現在のビットプレーンにおける前記ストライプの前記係数に基づいて、ランレングス符号化を実行する手段と、
前記ランレングス符号化に関する情報に、前記選択したコンテキストラベルを付加する手段と、
をさらに備える、請求項14から22のいずれかに記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像圧縮に関し、より具体的には、係数ビットモデリングの方法および係数ビットモデリングの装置に関する。
【0002】
本項は、特許請求の範囲に列挙される本発明の背景または文脈を提供することを目的とする。本項における説明は、追求されうる概念を含む可能性があり、必ずしも過去に着想または追求された概念ではない。したがって、本明細書に別途明示されない限り、本項に記載される事項は、本願における発明の説明や特許請求の範囲に対する従来技術ではなく、本項に含まれることによって従来技術であるとされるべきものではない。
【0003】
Joint Photographic Experts Group(JPEG)は、JPEG標準として知られる、画像データの圧縮に関する標準を発行している。JPEG標準は、ハフマン符号化による離散コサイン変換(Discrete Cosine Transform:DCT)圧縮アルゴリズムを用いる。より広範な用途に対する圧縮品質を向上するために、JPEGは「JPEG2000標準」(国際電気通信連合(International Telecommunications Union:ITU)勧告T.800、2002年8月)を開発した。JPEG2000標準は、離散ウェーブレット変換(Discrete Wavelet Transform:DWT)および適応型2進算術符号化による圧縮を用いる。
【0004】
様々な実施形態によって、画像を符号化するための方法および装置を提供する。
【0005】
詳細な説明において、本発明の例における様々な態様を提示する。
【0006】
第1の態様によると、方法が提供される。前記方法は、2つ以上の係数のマグニチュードビットを含むストライプを取得することと、現在のビットプレーンにおける、前記係数の有意性状態と、前記2つ以上の係数の近傍にある係数の有意性状態とを含む、コンテキストマトリクスを取得することと、前記現在のビットプレーンの1層上にある前のビットプレーンにおける、前記係数の有意性状態と、前記2つ以上の係数の近傍にある係数の有意性状態とを含む、前の層のコンテキストマトリクスを取得することと、前記現在のビットプレーンの2層上にあるビットプレーンにおける、前記係数の有意性状態を含む、前記前のビットプレーンの1層上にあるビットプレーンのコンテキストストライプを取得することと、前記現在のビットプレーンにおける、前記係数のシグニフィカンス・プロパゲーション(Significance Propagation、以下SP)有意性状態と、前記2つ以上の係数の近傍にある係数のSP有意性状態とを含む、SP状態コンテキストマトリクスを取得することと、前記マトリクスおよび/または前記ストライプの少なくとも1つを用いて、前記2つ以上のマグニチュードビットそれぞれにコンテキストラベルを構築することと、を含み、前記マグニチュードビットは同じビットプレーンに属し、前記係数は画像または画像の一部を表現し、前記コンテキストラベルを構築することは、一式のコンテキストラベルから選択したコンテキストラベルを割り当てることによって、並列で行われる。
【0007】
第2の態様によると、装置が提供される。前記装置は、2つ以上の係数のマグニチュードビットを含むストライプを取得する手段と、現在のビットプレーンにおける、前記係数の有意性状態と、前記2つ以上の係数の近傍にある係数の有意性状態とを含む、コンテキストマトリクスを取得する手段と、前記現在のビットプレーンの1層上にある前のビットプレーンにおける、前記係数の有意性状態と、前記2つ以上の係数の近傍にある係数の有意性状態とを含む、前の層のコンテキストマトリクスを取得する手段と、前記現在のビットプレーンの2層上にあるビットプレーンにおける、前記係数の有意性状態を含む、前記前のビットプレーンの1層上にあるビットプレーンのコンテキストストライプを取得する手段と、前記現在のビットプレーンにおける、前記係数のシグニフィカンス・プロパゲーション(Significance Propagation、以下SP)有意性状態と、前記2つ以上の係数の近傍にある係数のSP有意性状態とを含む、SP状態コンテキストマトリクスを取得する手段と、前記マトリクスおよび/または前記ストライプの少なくとも1つを用いて、前記2つ以上のマグニチュードビットそれぞれに1つのコンテキストラベルを構築する手段と、を備え、前記マグニチュードビットは同じビットプレーンに属し、前記係数は画像または画像の一部を表現し、前記コンテキストラベルを構築する手段は、一式のコンテキストラベルから選択したコンテキストラベルを割り当てることによって、並列で構築する。
【図面の簡単な説明】
【0008】
本発明の例示的実施形態のより包括的な理解のために、以下の添付の図面と関連付けて以下に説明を行う。
【0009】
【
図1】
図1aは、例示的実施形態による1つ以上のコンポーネントを含む画像を示す図である。
【0010】
図1bは、例示的実施形態による、矩形の画素配列を含む画像コンポーネントを示す図である。
【0011】
図1cは、例示的実施形態による、タイルに分割された画像コンポーネントを示す図である。
【0012】
【
図2】
図2は、実施形態による、符号化装置および復号装置の例を示す図である。
【0013】
【
図3】
図3aは、実施形態による、タイルコンポーネントデータへの順変換の反復的な計算を示す図である。
【0014】
図3bは、実施形態による、タイルコンポーネントデータへの順変換の計算結果を示す図である。
【0015】
図3cは、符号ビットプレーンおよびマグニチュードビットプレーンとして構成された係数の例を示す図である。
【0016】
【
図4】
図4は、装置の動作の例示的実施形態をフロー図として示す図である。
【0017】
【
図5】
図5は、実施形態による、コードブロックのサンプルに対する走査順序の例を示す図である。
【0018】
【
図6】
図6aから
図6cは、実施形態による、1つのサンプルにおける8連結近傍の選択に用いることができる3つのマスクを示す図である。
【0019】
【
図7a】
図7aは、例示的実施形態による装置のブロック図である。
【0020】
【
図7b-e】
図7bは、実施形態による、ストライプの1ビットに対するコンテキスト出力の例を示す図である。
【0021】
図7cは、実施形態による、1つのストライプに対する並列コンテキスト出力の例を示す図である。
【0022】
図7dは、コンテキストマトリクスの例を示す図である。
【0023】
図7eは、コンテキストモデリングにおいて、
図7dに示すコンテキストマトリクスのいくつかの値を用いる例を示す図である。
【0024】
【
図7f】
図7fは、コンテキストマトリクス生成器の出力として、コンテキストマトリクスおよびコンテキストストライプの例を示す図である。
【0025】
【
図8】
図8は、シグニフィカンス・プロパゲーション(Significance Propagation、以下SP)パスコンテキストマトリクスの構築の例示的実施形態をフロー図として示す図である。
【0026】
【
図9】
図9は、例示的実施形態による装置のブロック図である。
【0027】
【
図10】
図10は、例示的実施形態による装置を示す図である。
【0028】
【
図11】
図11は、複数の装置、ネットワーク、およびネットワーク要素を含む無線通信の構成例を示す図である。
【0029】
下記の各実施形態は例示である。明細書中において「ある(an)」、「1つの(one)」、または「いくつかの(some)」実施形態ということがあるが、これは、必ずしもこれらの語による言及が同じ実施形態を意味したり、1つの実施形態にのみ適用される特徴を意味したりするものではない。異なる実施形態の特徴を1つずつ組み合わせて、さらなる実施形態を提供してもよい。
【0030】
以下に、デジタル画像の詳細のいくつかを示す。画像は、
図1aに示すように、1つ以上のコンポーネントで構成されてもよい。各コンポーネントは、
図1bに示すように、矩形のサンプル配列で構成されてもよい。各コンポーネントのサンプル値は整数であってもよく、1〜38ビット/サンプル等の特定の精度で、符号付きまたは符号なしにすることができる。サンプルデータの符号の有無および精度は、コンポーネント単位で指定してもよい。すべてのコンポーネントは、ソース画像内の同じ空間範囲に関連付けられるが、異なるスペクトル情報や補助情報を表してもよい。例えば、RGB(Red‐Green‐Blue)カラーの画像は3つのコンポーネントを有する。コンポーネントの1つは赤のカラープレーンを、もう1つのコンポーネントは緑のカラープレーンを、もう1つのコンポーネントは青のカラープレーンを表す。グレースケール画像では、輝度プレーンに対応する1つのコンポーネントのみが存在する。画像の様々なコンポーネントはサイズが異なる場合があり、同じ解像度でサンプリングする必要はない。例えば、カラー画像を輝度/色差色空間で表現すると、色差データよりも輝度情報のほうがより精密にサンプリングされる場合がある。
【0031】
一部の状況において、コーデックが利用可能なメモリの量と比べて画像がかなり大きい場合がある。その結果、画像全体を1つの単位として符号化することが必ずしも実現可能でないことがある。したがって、1つの画像をより小さい部分に分割し、各部分を個別に符号化してもよい。より具体的には、1つの画像を、1つ以上の独立した矩形の領域に区画してもよい。この領域はタイルと呼ばれる。このような区画の例を
図1cに示す。
【0032】
図2に、符号化装置100の例および復号装置200の例を、それぞれ単純化したブロック図として示す。エンコーダ100は、マルチコンポーネント順変換ブロック110、イントラコンポーネント変換ブロック120、量子化ブロック130、Tier‐1符号化ブロック140、Tier‐2符号化ブロック150、およびレート制御ブロック160といった要素を備えてもよい。デコーダの構造は、基本的にエンコーダの構造を鏡像化したものである。したがって、エンコーダとデコーダの機能ブロック同士が1対1で対応してもよい。このため、実施形態によると、かつ
図2に示すように、画像デコーダ200に、Tier‐2復号ブロック210、Tier‐1復号ブロック220、逆量子化ブロック230、イントラコンポーネント逆変換ブロック240、およびマルチコンポーネント逆変換ブロック250が含まれてもよい。デコーダ200の各機能ブロックは、エンコーダ100内の対応するブロックの効果を正確にまたは大まかに逆転させるものであってもよい。
【0033】
タイルは互いに個別に符号化してもよいため、入力画像は、一度に1タイルずつ処理してもよい。
【0034】
以下に、前述の各ブロックの動作を詳細に説明する。
【0035】
マルチコンポーネント順変換ブロック110は、マルチコンポーネント変換をタイルコンポーネントデータに適用してもよい。このような変換は、すべてのコンポーネントを一括で処理してもよい。また、コンポーネント間の相関を低減するように機能してもよく、これによって符号化の効率が改善する。
【0036】
マルチコンポーネント変換は、非可逆色変換(Irreversible Color Transform:ICT)または可逆色変換(Reversible Color Transform:RCT)であってもよい。非可逆色変換は、本質的に、非可逆で実数から実数への変換であり、可逆色変換は、可逆で整数から整数への変換である。非可逆色変換と可逆色変換は両方とも、マップ画像データをRGBからYCrCb色空間へと変換する。これらの変換は、画像の最初の3つのコンポーネントに対して行ってもよく、その際、コンポーネント0、1、および2はそれぞれ赤、緑、および青のカラープレーンに対応すると推測される。これらの変換の性質上、変換が行われる複数のコンポーネントは、同じ解像度でサンプリングされる。言い換えれば、これらのコンポーネントは同じサイズである。エンコーダ100におけるマルチコンポーネント変換段階の後、各コンポーネントからのデータを個別に処理してもよい。
【0037】
イントラコンポーネント変換ブロック120は、個々のコンポーネントを処理してもよい。イントラコンポーネント変換の例として、離散ウェーブレット変換(Discrete Wavelet Transform:DWT)がある。ここでは、イントラコンポーネント変換ブロック120が2次元離散ウェーブレット変換(2D DWT)を適用してもよい。イントラコンポーネント変換の別の例として、符号なしの数表現から符号付きの数表現への変更がある。さらに別の例として、ゼロDCオフセットへの変更がある。この変更では、中央値が数値0、最小値が範囲内で最小の負数、最大値が範囲内で最大の正数で表現される。離散ウェーブレット変換によって、コンポーネントが多数の周波数帯域(すなわち、サブバンド)に分割される。サブバンド信号の統計的特質により、変換したデータは、変換していないオリジナルデータよりも効率的に符号化される場合がある。整数から整数への可逆離散ウェーブレット変換および実数から実数への非可逆離散ウェーブレット変換の両方を、エンコーダ100において用いてもよい。離散ウェーブレット変換では、前処理された画像サンプルに複数のフィルタバンクを適用し、タイルごとに一式のウェーブレット係数を生成してもよい。
【0038】
画像は2次元(2D)信号であるため、離散ウェーブレット変換は水平方向と垂直方向の両方に適用される。その後、分解の各レベルで得られる低域サブバンド信号に、2次元離散ウェーブレット変換を再帰的に適用することによってウェーブレット変換を算出してもよい。
【0039】
以下では、(R‐1)レベルのウェーブレット変換を用いると想定する。
図3aに示すように、タイルコンポーネントデータに対して順変換を反復的に計算し、複数のサブバンド信号を生成する。順変換を適用するたびに、1)水平方向および垂直方向に低域(LL)、2)水平方向に低域および垂直方向に高域(LH)、3)水平方向に高域および垂直方向に低域(HL)、4)水平方向および垂直方向に高域(HH)、という4つのサブバンドが生成される。(R‐1)レベルのウェーブレット分解は解像度レベルRと関連付けられる。解像度レベルRは0からR‐1の範囲で指定され、0は最も細かい解像度、R‐1は最も粗い解像度に対応する。分解における各サブバンドは、それぞれの配向(例えば、LL、LH、HL、HH)および対応する解像度レベル(例えば、0、1、…、R‐1)によって識別されてもよい。入力タイルコンポーネント信号は、LL
0バンドとみなされる。各解像度レベル(最も高いR‐1レベルを除く)において、LLバンドをさらに分解してもよい。例えば、LL
0バンドをLL
1、LH
1、HL
1、およびHH
1バンドに分解してもよい。その後、次のレベルにおいてLL
1バンドを分解する、のように実行する。このプロセスを、LL
R‐1バンドが得られ、
図3bに示すようなサブバンド構造となるまで繰り返してもよい。
【0040】
変換済み係数は、2次元離散ウェーブレット変換によって得られてもよい。
図3aに示すように、反復ごとに複数の係数が収集される。離散ウェーブレット変換の一番目のパスから、水平方向および垂直方向に高域のサブバンドHH
0からの係数、水平方向に高域および垂直方向に低域のサブバンドHL
0からの係数、および水平方向に低域および垂直方向に高域のサブバンドLH
0からの係数が得られてもよく、これらの係数は各サブバンドを表現する。同様に、離散ウェーブレット変換の二番目のパスから、水平方向および垂直方向に高域のサブバンドHH
1からの係数、水平方向に高域および垂直方向に低域のサブバンドHL
1からの係数、および水平方向に低域および垂直方向に高域のサブバンドLH
1からの係数が得られてもよく、これらの係数は各サブバンドを表現する。同様の方法で、3つのサブバンドの係数を、各パスから取得してもよい。離散ウェーブレット変換の最後のパスから、各サブバンドの係数が得られる。各サブバンドとは、すなわち、水平方向および垂直方向に高域のサブバンドHH
0、水平方向に高域および垂直方向に低域のサブバンドHL
0、水平方向に低域および垂直方向に高域のサブバンドLH
0、水平方向および垂直方向に低域のサブバンドHH
0である。
【0041】
これらの係数のビットは、以下のように、異なるビットプレーンに配置してもよい。係数の符号は、符号の層を形成してもよい。係数の最上位ビット(Most Significant Bit:MSB)は最上位ビットプレーン、すなわち層n‐2を形成してもよく、ここでnは係数(符号を含む)のビット数である。係数の次の最上位ビットは次のビットプレーン、すなわち層n‐3を形成してもよく、以下同様である。係数の最下位ビット(Least Significant Bit:LSB)は、最下位ビットプレーン、すなわち層0を形成してもよい。符号層以外のビットプレーンを、マグニチュードビットプレーンυ(n‐2)〜υ(0)と称してもよい。符号ビットプレーンを、χと称してもよい。
図3cは、ビットプレーンとして構成された係数の例を示す図である。
【0042】
量子化ブロック130は、2次元離散ウェーブレット変換によって得られた、変換済み係数を量子化する。量子化によって、所望のレベルの画像品質を得るには十分な程度の、より低い精度で変換係数を表現することで、より大きな圧縮率を達成できる場合がある。変換係数は、スカラー量子化を用いて量子化してもよい。各サブバンドの係数に異なる量子化器を用いてもよく、各量子化器は、ステップサイズのパラメータを1つのみ有してもよい。変換係数の量子化は、符号化経路における情報損失の原因の1つであるため、可逆符号化では量子化を行うべきでない。量子化したウェーブレット係数はその後、例えば、算術符号化してもよい。係数の各サブバンドは、他のサブバンドとは個別に符号化してもよく、ブロック符号化手法を用いてもよい。
【0043】
各サブバンドの係数は、Tier‐1符号化ブロック140等において、コードブロックに区画してもよい。コードブロックは矩形形状であり、呼びサイズは符号化プロセスにおける任意のパラメータであり、特定の制約を受ける。コードブロックの呼び幅および呼び高さは、2のべき乗の整数であってもよく、呼び幅と呼び高さの積は、4096等の特定の値を超えてはならない。コードブロックはプレシンクトの境界にまたがってはならないため、プレシンクトサイズが十分小さい場合は、コードブロックの呼びサイズの縮小が必要となる場合がある。異なるサブバンドのコードブロックのサイズは同じであっても、異なってもよい。
【0044】
コードブロックの符号化は、係数ビットモデリング(Coefficient Bit Modeling:CBM)とも呼ばれる。CBMの後に算術符号化を行ってもよい。コンテキストモデリングにおいて、コードブロック内の係数はビットプレーン単位で処理される。この処理は、当該コードブロック内の、ゼロ以外の最上位ビットを有する係数を含むビットプレーンから開始される。シグニフィカンス・プロパゲーション(Significance Propagation、以下SP)パス(SPP)、マグニチュード・リファインメント(Magnitude Refinement、以下MR)パス(MRP)、クリーンアップ(Clean Up、以下CU)パス(CU)の3つのパスのうち1つにおいて、ビットプレーン内の各係数に対してコンテキストラベルが生成される。各コンテキストラベルは、当該ビットプレーン内の当該係数のコンテキスト(CX)を記述するために用いられる。また、デシジョンビット(D)が各コンテキストに付与される。SPパスまたはCUパスにおいて、最初のゼロ以外のマグニチュードビットが検出されると、係数が有意になることができる。マグニチュードが0(ビットの値が0)である係数ビットの有意性状態も、そのビットの近傍係数のコンテキストに何らかの影響を及ぼしうる。
【0045】
サブバンドをコードブロックに区画した後、各コードブロックを個別に符号化してもよい。各コードブロックに対し、多数の符号化パスを含む埋込みコードを生成してもよい。したがって、Tier‐1符号化プロセスの出力は、様々なコードブロックの符号化パスにおけるCX‐Dペア(他の例として、符号/コンテキスト/デシジョンペア(SCD‐SD)がある)の集合を算術符号化したものである。実施形態によると、本明細書で後述する並列シングルパス係数ビットモデリング部を用いて、係数ビットモデリングを実行する。
【0046】
Tier‐2符号化ブロック150において、コードブロックをいわゆるプレシンクトへとグループ化する。Tier‐2符号化プロセスへの入力は、Tier‐1符号化において生成された一式のビットプレーン符号化パスである。Tier‐2符号化の際に、パケット化と呼ばれるプロセスにおいて、符号化パス情報が、パケットと呼ばれるデータ単位へとパッケージ化される。結果として生成されるパケットは、最終的なコードストリームへと出力される。パケット化プロセスによって、出力コードストリームにおける符号化パスデータに特定の構造がもたらされる。この構造によって、忠実度や解像度によるレートスケーラビリティやプログレッシブな復元等の、多くの所望されるコーデック機能が促進される。
【0047】
パケットは符号化パスデータの集合であり、例えば、ヘッダと本体の2つの部分から成る。ヘッダは、どの符号化パスがパケットに含まれているかを示し、本体は、実際の符号化パスデータ自体を含む。符号化ビットストリームにおいて、ヘッダと本体は同時に表れなくてもよく、別々に送信されてもよい。
【0048】
各符号化パスは、特定のコンポーネント、解像度レベル、サブバンド、およびコードブロックと関連付けられる。Tier‐2符号化において、コンポーネント、解像度レベル、層、およびプレシンクトの4つを含む組ごとに1つのパケットを生成してもよい。パケットは、符号化パスデータを全く含まなくてもよい。すなわち、パケットは空であってもよい。生成されるパケットに新しい情報が含まれないとしても、コンポーネント、解像度、層、プレシンクトの組合せごとにパケットが生成されるため、空のパケットが必要になる場合がある。
【0049】
異なるプレシンクトからの符号化パスデータは、別々のパケットとして符号化されるため、より小さいプレシンクトを用いると、各パケットに含まれるデータの量が削減される。パケットに含まれるデータが少ない場合、ビットエラーが生じても、情報の損失が少なくなりがちである(あるパケット内のビットエラーは、他のパケットの復号にはそれほど影響しないため)。したがって、プレシンクトサイズをより小さくすると、誤り耐性が向上するが、パケット数の増大によるオーバヘッドの増加によって符号化効率が低下する場合がある。
【0050】
レート制御ブロック160は、複数の層を通してレートスケーラビリティを達成してもよい。各タイルの符号化データは、0からL‐1までのL個の層に構成され、ここでL>=1である。各符号化パスは、L個の層の1つに割り当てられるか、破棄される。最も重要なデータを含む符号化パスは下位の層に含まれてもよく、より細かい詳細に関連付けられた符号化パスは上位の層に含まれてもよい。復号中、層が順次処理されるに従って再構成画像の品質が向上してもよい。非可逆圧縮の場合、一部の符号化パスを破棄してもよい。その際、レート制御ブロック160は、最終的なコードストリームに含めるパスを決定してもよい。可逆の場合、すべての符号化パスを含めるべきである。複数の層を用いる場合(すなわち、L>1)、レート制御ブロック160は、各符号化パスを含める層を決定してもよい。一部の符号化パスが破棄される場合があるため、Tier‐2符号化は、符号化経路における情報損失の原因の1つとなることがある。レート制御によって、量子化ブロック130において用いる量子化器を調整することもできる。
【0051】
以下に、実施形態による、
図4のフロー図および
図7aの装置を参照して、Tier‐1符号化の並列シングルパス係数ビットエンコーダについてより詳しく説明する。各ビットプレーン上では、SPパス(SPP)、MRパス(MRP)、およびCUパス(CU)という3つの異なる種類の符号化パスを実行できる。3種類の符号化パスはすべて、同じ決まった順序でコードブロックのサンプルを走査してもよい。コードブロックは、垂直ストライプ走査モデルによる順序で符号化されてもよい。また、RL(Run‐Length)、ZC(Zero Coding)、MR(Magnitude Refinement)、およびSC(Sign Coding)の、4つの符号化基本形を用いてもよい。
【0052】
以下において、コードブロックのサイズは32×32ビットであり、各DWT係数は11ビットであると想定する。ただし、これらの原理は、64×64ビット等の他のコードブロックサイズ、および11ビット以外の係数サイズで実行してもよい。また、コードブロックは正方形でなくてもよく、矩形であってもよい。垂直ストライプ走査モデルによると、コードブロックのサンプルは、
図5に示す順序で走査される。つまり、一番左の列の先頭(すなわち、コードブロック左上の角)から開始し、列内の4つのサンプルを下方向に走査し、その後、右側にある次の4つのサンプルを含む列に移り、その列内の4つのサンプルを走査し、のように走査する。最後の、一番右の列のサンプルを走査すると、2段目の列における次の4つのサンプルから処理が継続される。1つの列内の4つのサンプルはストライプと呼ばれることがあり、この列に対してストライプ行という用語が用いられる場合がある。すなわちストライプ行とは、コードブロック内の各段の同じ行にあるストライプの集合のことである。例えば、最初の4つの行にあるサンプルは1番目のストライプ行を形成し、5行目から8行目にあるサンプルは2番目のストライプ行を形成し、のようになる。最後のストライプ行が走査されたら、次の符号化パス(CUパス以外)が同じマグニチュード層から開始され、次のマグニチュード層が処理される。次のマグニチュード層が層0、すなわち最下位ビットプレーンである場合、必要に応じて次のコードブロックが処理される。
【0053】
コードブロックの各ビットプレーンの各係数に、有意性状態と呼ばれる変数を割り当ててもよい。有意性状態値は、例えば、サンプルが有意である場合は1、および、サンプルが有意でない場合(すなわち、非有意)は0であってもよい。ビットプレーンの符号化の開始時に、各サンプルの有意性状態に、デフォルト値「非有意」を割り当ててもよい。その後、符号化プロセスの伝搬中に、有意性状態が「有意」に切り替わってもよい。
【0054】
コードブロックのマグニチュードビットプレーンは、以下のように検査してもよい。例えば、少なくとも1つのビットがゼロ以外(すなわち、1)である最上位マグニチュードビットプレーンから開始する。このビットプレーンを、最上位ノンゼロビットプレーンと称してもよい。その後、垂直ストライプ走査モデルを用いて、最上位ノンゼロビットプレーンからコードブロックのサンプルの走査を開始してもよい。
【0055】
コードブロック700の、変換され量子化された係数またはその一部は、コードブロックメモリ702に格納されていてもよい。実施形態によると、有意性メモリ704を備えてもよく、有意メモリ704から、1層上および2層上のビットプレーン内のストライプの係数における、2つの過去の有意性状態(σ1およびσ2)をそれぞれ読み込むことができる。
【0056】
コンテキスト生成器ブロック706は、以下のように動作してもよい。コンテキスト生成器ブロック706は、処理順の次のストライプに関する、有意性状態σ1、σ2、およびマグニチュードストライプυと符号ストライプχを読み込む。これらのうち、マグニチュードυおよび有意性σ2は、並列シングルパスのコンテキストモデリングブロックとランレングス符号化ブロックに直接渡される。それ以外のものには、
図7d、
図7e、および
図7fに示すようなコンテキストマトリクスが形成される。すなわち、ビットプレーンの係数ビットの最終的な有意性状態を示す最終コンテキストマトリクスσ(シグマ)と、SPパス後に取るであろう有意性状態を示すSPパスコンテキストマトリクスσ
sppと、前のビットレベルの最終的な有意性状態を示す、前のコンテキストマトリクスσ1と、符号コンテキストを示す符号コンテキストマトリクスχである。
【0057】
これらのコンテキストマトリクスは、時間tおよびビット順序iの2つの次元を含む。並列シングルパス係数ビットモデリングの効率的な計算を促進するために、コンテキストマトリクスは、一番上のレベルと一番下のレベルに常に値ゼロを含めて、ストライプ領域外に拡張することができる。コンテキストマトリクス生成器が新たに一式の有意性ビットを生成すると、それらのビットが列t0の値になる。各処理ステップの開始時に、t0の値がt1になり、t1の値がt2になる。処理の際は、現在のストライプは時間t1に位置し、ここに、マグニチュードυストライプと有意性σ2ストライプも位置する。
【0058】
SPパスコンテキストマトリクスσ
sppのストライプσ
sppt0における係数の有意性状態は、例えば以下のように取得される(802)。これを、実施形態によるフロー図として
図8に示している。ストライプ内の各ビットに対し(804)以下の操作を、例えば並列に実行する。前の層における現在の係数の有意性状態σ1
t0[i]が、有意である場合(ブロック806)、有意性状態は有意のままである(σ
sppt0(i)=1、ブロック808)。現在の係数の有意性状態が、前の層において非有意である場合、近傍係数の有意性状態値を検査してもよい(810)。例えば、以下のように行う。「過去の」係数の有意性状態、すなわち、現在のビットプレーンにおいて既に処理されている係数の有意性状態は、SPパスコンテキストマトリクスσ
spp内の近傍係数の有意性状態値に基づいて判定される。言い換えると、これらの係数は、現在のストライプの左側の列(
図6aのt2)にある係数と、前の行i‐1かつ同じ列t1の係数である(σ
sppt1[i‐1〜i+1]=0およびσ
sppt0[i‐1]=0)。さらに、現在のビットプレーンにおいてまだ処理されていない係数の有意性状態(すなわち、有意性状態が「未来」)は、前のコンテキストマトリクスσ1内の近傍係数の有意性状態に基づいて判定される。言い換えると、これらの係数は、現在のストライプの右側の列(
図6aのt0)にある係数と、次の行i+1かつ同じ列t1の係数である(σ1
IN[i‐1〜i+1]=0およびσ1
t0[i+1]=0)。これらの有意性値のいずれかが有意である場合、ストライプσ
sppt0の現在の係数の有意性値は、現在のビットプレーンにおける当該係数のマグニチュードビットの値を取る(σ
sppt0(i)=υ(i)、ブロック812)。そうでない場合、ストライプσ
sppt0の現在の係数の有意性値は、非有意のままである(σ
sppt0(i)=0、ブロック814)。
【0059】
次に、
図4、
図6aから
図6c、および
図7dから
図7fにおいて用いた記号の一部について簡単に説明する。符号iおよびt1は現在のサンプル位置、符号i+1およびi‐1はそれぞれ、次の行および前の行の近傍のコンテキストマトリクス位置、符号t0およびt2はそれぞれ、次の列および前の列の近傍のコンテキストマトリクス位置を示す。
図6aから
図6cは、異なる処理ステップにおいて、8連結近傍ごとに、どのコンテキストマトリクスのどのビット位置を選択するかを決めるために用いるマスクを示している。
【0060】
現在のサンプル位置が属するストライプに対応する最終コンテキストマトリクスσの要素は、σ[i],0<=i<4、またはσ
t1[i],0<=i<4と示してもよい。同様に、現在のサンプル位置の左側にあるストライプに対応する最終コンテキストマトリクスσの要素はσ
t2[i],0<=i<4と示してもよく、現在のサンプル位置の右側にあるストライプに対応する最終コンテキストマトリクスσの要素はσ
t0[i],0<=i<4と示してもよい。同様の符号を他のマトリクスにも用いることができる(σ1
t2[i]、σ1
t1[i]、σ1
t0[i]/σ
sppt2[i]、σ
sppt1[i]、σ
sppt0[i]/χ
t2[i]、χ
t1[i]、χ
t0[i])。実施形態によると、ストライプのサイズ(高さ)は4ビットであり、コンテキストマトリクスのサイズは高さ6ビット、幅3ビットにすることができる。ただし、ストライプとコンテキストマトリクスのサイズは、2ビットと4×3ビット、8ビットと10×3ビット等の他のサイズであってもよい。ストライプの幅も1ビット以外であってもよく、例えば、2ビットでもよい。その場合、コンテキストマトリクスの幅も上述の例より大きくてもよい。
【0061】
コードブロックの処理の開始時に、コンテキスト生成器ブロック706は、すべてのコンテキストマトリクスσ
spp、σ、σ1、χ、およびσ1とσ2のコンテキストメモリを初期化して、マトリクスの各要素が非有意状態を示すようにしてもよい(例えば、要素を0に設定する)。また、ストライプ行の処理の開始時に、コンテキスト生成器ブロック706は、コンテキストマトリクスσ
spp、σ1、およびχを初期化して、t1において現在のストライプが処理されるときに、t2の値がすべて非有意であるようにしてもよい。
【0062】
コンテキスト生成器ブロック706は、例えば、
図7fに示すような現在のストライプ144に関する以下の情報を構築して、並列シングルパスのコンテキストモデリングブロック142およびランレングスエンコーダ143に出力してもよい。これらの情報は、SPパスマトリクスσ
sppのコンテキストマトリクス762、最終コンテキストマトリクスσのコンテキストマトリクス764、前のコンテキストマトリクスσ1のコンテキストマトリクス766、2つ前のコンテキストストライプσ2のコンテキストマトリクス768、現在のストライプυのマグニチュードビットのマグニチュードストライプ740、および符号コンテキストマトリクスχのコンテキストマトリクス780である。コンテキスト生成器ブロック706が出力したこの情報から、使用する正しい値を選択するために有意性マスクを用いてもよい。この情報は、例えば、
図7dの中央の列750に示すように高さ6ビットであってもよく、現在の列t1に沿って上から下に移動する場合(すなわち、i=0,…,3)、各有意性マスクは有効な値を持つことができる。
【0063】
前述のデータは、並列シングルパスのコンテキストモデリングブロック142に入力され、ビットプレーン符号化される。コンテキストマトリクス生成器とともに、このブロックは、
図4に示す処理を実行する。具体的には、並列シングルパスブロックはセクション440の処理を行う。ストライプ内の各マグニチュードビットに対し(404、740)、1層上の1つのビットプレーンにおいて、現在の係数の位置における有意性状態が有意かどうかを検査する(406)。これは、前のコンテキストマトリクスσ1の、現在のサンプルと同じ位置iにおける値、すなわちσ1[i]を検査することによって行う。サンプル位置の有意性状態が、より上位の(上の)層のビットプレーンにおいて有意であると検出された場合(すなわち、σ1[i]=1)、
図6cに示すMRP有意性マスクを用いて(408)、そのサンプル位置のコンテキストモデリングを行ってもよい。サンプル位置の有意性状態が、1層上のビットプレーンにおいて有意でない場合、近傍のサンプルに対する有意性状態情報を用いて、さらに検査してもよく(410)、ここで、SPPにおいてサンプルが有意な近傍を有するかどうかを予測してもよい。近傍のサンプルは、現在のサンプルの周囲8近傍のサンプル(8連結近傍)であってもよく、検査した有意性状態は、現在のビットと同じビットプレーン上のビットのものでなくてもよい。この検査において、前のコンテキストマトリクスσ1およびSPパスコンテキストマトリクスσ
sppからの値は、例えば以下のように用いられる。
【0064】
現在のビットプレーンより1層上のビットプレーンにおける、同じ列の次の行内のビットの有意性状態、すなわち、前のコンテキストマトリクスの値σ1
t1[i+1]を検査してもよい。この有意性状態が有意である場合(すなわち、σ1
t1[i+1]≠0)、このマグニチュードビットのコンテキスト/デシジョンペアの符号化に、SPパスマスクを用いてもよい(412)。この条件を、
図4のフロー図のブロック410における1番目の行に示している。
【0065】
さらに、現在のビットプレーンより1層上のビットプレーンにおける、次の列t0内のビットの有意性状態、すなわち、前のコンテキストマトリクスの値σ1
t0[i‐1]、σ1
t0[i]、およびσ1
t0[i+1]を検査してもよい。この有意性状態が有意である場合(すなわち、σ1
t0[i‐1]≠0またはσ1
t0[i]≠0またはσ1
t0[i+1]≠0)、このマグニチュードビットのコンテキスト/デシジョンペアの符号化に、SPパスマスクを用いてもよい(412)。この条件を、
図4のフロー図のブロック410における2番目の行に示している。
【0066】
現在のビットプレーンにおける、前の列t2内のビットの有意性状態、すなわち、SPパスコンテキストマトリクスの値σ
sppt2[i‐1]、σ
sppt2[i]、およびσ
sppt2[i+1]を検査してもよい。この有意性状態が有意である場合(すなわち、σ
sppt2[i‐1]≠0またはσ
sppt2[i]≠0またはσ
sppt2[i+1]≠0)、このマグニチュードビットのコンテキスト/デシジョンペアの符号化に、SPパスマスクを用いてもよい(412)。この条件を、
図4のフロー図のブロック410における3番目の行に示している。
【0067】
現在のビットがストライプ内の最初のビットである場合(すなわち、i=0)、前の行は、現在のストライプ行の外側、すなわちi‐1<0である。したがって、実施形態によると、そのようなビット位置に対し、「非有意」の有意性状態値(0)が用いられる。同様に、現在のビットがストライプ内の最後のビットである場合(すなわち、i=3)、次の行は、現在のストライプ行の外側、すなわちi+1>3である。したがって、実施形態によると、そのようなビット位置に対し、「非有意」の有意性状態値(0)が用いられる。
【0068】
現在のビットプレーンにおける、同じ列の前の行内のビットの有意性状態、すなわち、SPパスマトリクスの値σ
sppt1[i‐1]を検査してもよい。この有意性状態が有意である場合(すなわち、σ
sppt1[i‐1]≠0)、このマグニチュードビットのコンテキスト/デシジョンペアの符号化に、SPパスマスクを用いてもよい(412)。この条件を、
図4のフロー図のブロック410における4番目の行に示している。
【0069】
前述のいずれの検査によっても、有意性状態が有意であると示されない場合、プロセスはブロック414へと進み、このマグニチュードビットのコンテキスト/デシジョンペアの符号化に、CUマスクを用いてもよい。
【0070】
SPPマスクかCUマスクのいずれかを用いて、現在のマグニチュードビットが1である場合、現在のマグニチュードビットは有意になるため、SC(Sign Coding)のコンテキスト/デシジョンペアSCX‐Sも付与してもよい。このペア(728、730)は、最初のCX‐Dペア(724、726)とID(722)を共有する。
【0071】
前述の4つの検査は、記載したものと異なる順序で行ってもよいことに留意されたい。また、検査したビットのいくつかの有意性状態が有意であると検出された場合、これら4つの検査すべてを行う必要はない。言い換えると、最初の有意状態が検出されたら、ブロック410における検査を中断してもよい。
【0072】
SPパスマスク412、CUマスク414、またはMRパスマスク408を用いて並列コンテキストモデリングを実行した後、パラメータiの値を検査して(416)、現在のストライプにおけるすべてのサンプルを検査したかどうか判定してもよい。検査していない場合(i<3)、パラメータiを1で増分し(418)、検査用にストライプ内の次のサンプルを取り、ブロック404からプロセスを繰り返す。ストライプ内のサンプルをすべて検査した場合(i=3)、このストライプがストライプ行内の最後のストライプかどうかをさらに検査する(420)。最後のストライプではない場合、次のストライプがあればそのストライプを検査してもよい。最後のストライプである場合、次のストライプ行を検査してもよい。その際、新しいストライプに対応するようにパラメータを設定する(422)。すなわち、t0=新しい列(すなわち、検査対象の新しいストライプの次のストライプ)、t1=t0(検査対象の新しいストライプ)、およびt2=t1(直前に検査したストライプであって、新しいストライプの前のストライプ)のように設定する。
【0073】
440の機能は並列で実行できることに留意されたい。すなわち、実際にiを増分することはなく、これは図示の目的のみである。iは、値0、1、2、および3を同時に持つことができるため、すべてのコンテキストワード710のすべてのコンテキストフィールド(
図7b)も同時に出力される。
【0074】
現在のビットプレーンの処理後、前のコンテキストマトリクスσ1は、2つ前のコンテキストストライプσ2になる。すなわち、2つ前のコンテキストストライプσ2が、前のコンテキストマトリクスσ1の値を取る。また、最終コンテキストマトリクスσは前のコンテキストマトリクスσ1になる。すなわち、前のコンテキストマトリクスσ1が、最終コンテキストマトリクスσの値を取る。これらは、例えば、マトリクスの値の格納に用いられるバッファの順序を変えることによって行うことができるため、値を実際にコピーする必要はない。
【0075】
前述のプロセスを、現在のビットプレーンのコードブロックのすべてのストライプ行を検査するまで繰り返してもよい。
【0076】
前述のプロセスを、現在のタイルのすべてのコードブロックを検査するまで繰り返してもよい。
【0077】
前述のプロセスを、現在の画像のすべてのタイルを検査するまで繰り返してもよい。
【0078】
以下に、SPパスマスク412、CUマスク414、およびMRパスマスク408の使用について、
図6aから
図6cを参照してより詳しく説明する。
【0079】
図6aに示すSPパスマスク(412)構造を用いて、現在のマグニチュードビットのコンテキスト/デシジョンペアを決定してもよい。このコンテキスト/デシジョンペアに、SPPのID722を付与してもよい。このマスクは、例えば、過去のSPパスマスク602、および未来の有意状態マスク604と称してもよい。
図6aに示すように、検査対象の近傍ビットのいくつかは、前のビットプレーンから選択されてもよく、検査対象の近傍ビットのいくつかは、現在のビットの同じビットプレーンのσ
sppから選択されてもよい。前のビットプレーンのビットは、次の列(t0)の3つのビット(i‐1、i、i+1)と、同じ列(t1)かつ次の行(i+1)の1つのビットである。同様に、σ
sppの同じビットプレーンのビットは、前の列(t2)の3つのビット(i‐1、i、i+1)と、同じ列(t1)かつ前の行(i‐1)の1つのビットである。選択対象のコンテキストは、これらのビットの有意性状態値の1つ以上に依存してもよい。コンテキストは、現在のコードブロックが属するサブバンドに依存してもよい。実施形態によると、近傍ビットσ
sppt2[i]またはσ1
t0[i](すなわち、水平方向であるが異なるビットプレーン)の有意性状態値が有意であるか、または近傍ビットσ1
t1[i+1]またはσ
sppt1[i‐1](すなわち、垂直方向であるが異なるビットプレーン)の有意性状態値が有意である場合、対角方向の検査済みビット(すなわち、σ
sppt2[i‐1]、σ
sppt2[i+1]、σ1
t0[i‐1]、σ1
t0[i+1])の有意性状態に関係なく、第1のコンテキストを選択してもよい。水平方向および垂直方向の検査済みビットのいずれも有意状態ではなく、対角方向の検査済みビット(すなわち、σ
sppt2[i‐1]、σ
sppt2[i+1]、σ1
t0[i‐1]、σ1
t0[i+1])のいずれかが有意である場合、第2のコンテキストを選択してもよい。これらのコンテキスト選択モデルは単なる非限定的な例であり、コンテキストの選択に他のモデルを用いることもできることに留意されたい。
【0080】
図6bに示すCUマスク(414)構造を用いて、現在のマグニチュードビットのコンテキスト/デシジョンペアを決定してもよい。このコンテキスト/デシジョンペアに、CUのID722を付与してもよい。これらのマスクは、例えば、未来のSPパスマスク606、および過去の有意状態マスク608と称してもよい。SPパスと同様のコンテキスト選択手順を適用してもよいが、コンテキストマトリクスからの検査済みビットの選択は異なる方法で行う。検査済みの値は、現在のビットプレーンにおける前の列(t2)の3つのビット(i‐1、i、i+1)と、同じ列(t1)かつ前の行(i‐1)の1つのビットとの、最終的な有意性状態値であってもよい。同様に、次の列(t0)の3つのビット(i‐1、i、i+1)と、同じ列(t1)かつ次の行(i+1)の1つのビットとの有意性状態値は、SPパスコンテキストマトリクスσ
sppから検査される。
【0081】
図6cに示すMRパスマスク(408)構造を用いて、現在のマグニチュードビットのコンテキスト/デシジョンペアを決定してもよい。このコンテキスト/デシジョンペアに、MRPのID722を付与してもよい。これらのマスクおよび/または有意性状態値は、前のコンテキストマトリクスσ1および2つ前のコンテキストストライプσ2からのものであり、すなわち、現在のビットと同じマグニチュードビット位置(t1,i)の有意性状態値である。これらのマスクは、例えば、過去のSPパスマスク602、および未来のSPパスマスク606と称してもよい。有意性状態値σ2
t1[i]が有意である場合、さらなる検査によってコンテキストを判定する必要はない。ただし、有意性状態値σ2
t1[i]=0の場合、現在のビットが属するサンプル位置が、前の層のビットプレーン上で有意になったと推論してもよい(σ1
t1[i]=1およびσ2
t1[i]=0であるため)。したがって、
図6cに見られるように、コンテキストの選択において、SPパスマトリクスσ
sppからの近傍ビットの1つ以上の有意性値を用いるか、または当該近傍ビットの有意性値を用いなくてもよい。
【0082】
図4の処理方法および並列シングルパスのコンテキストモデリングにおける非限定的な例として、
図7eを参照して、以下のコンテキストマトリクス値を用いてもよい。i=0の場合、どのコンテキストマスクを用いるかにかかわらず、(t1,0)に示されるように、上の値はゼロとなる。
図7eに(t0,1)として示されている右側の値は、SPパスコンテキスト412の場合は前のコンテキストマトリクスσ1から選択され、CUパスコンテキスト414とMRパスコンテキスト408の両方の場合はSPパスマトリクスσ
sppから選択される。現在のストライプは、
図7eの斜線付き矩形740によって示されている。また、非限定的な例として、位置(t2,3)の有意性は、i=1の場合は対角方向左下、i=2の場合は水平方向左、およびi=3の場合は対角方向左上となり、CUパス414の場合は最終コンテキストマトリクスσから、およびSPパス412とMRパス408の両方の場合はSPパスマトリクスσ
sppから選択されるであろう。(t1,2)における有意性は、i=0の場合は下の値、i=2の場合は上の値となり、前述の例とは異なり、この選択は、どのコンテキストが割り当てられるかだけでなく、値iにも依存する。例えばSPパスにおいて、i=0の場合、(t1,2)は前のコンテキストマトリクスσ1から選択され、i=2の場合はSPパスコンテキストマトリクスσ
sppから選択されるであろう。i=1(t1,2)の場合、コンテキストではなくマグニチュードが用いられる(どのコンテキストIDを割り当てるかの決定の後に)。
【0083】
コンテキストの選択は実装に固有であってもよく、パス408、412、414の選択に影響を及ぼさないため、この文脈においてはこれ以上の詳細は提供しない。
【0084】
前述の実施形態は、ランレングス符号化要素143を含んでもよい。ランレングス符号化要素143は、ストライプのマグニチュードビットに対してランレングス符号化を実行し、
図7cに示すランレングスコンテキストRLを出力してもよい。
【0085】
前述の並列シングルパスのコンテキストモデリング要素142の出力は、ストライプの各ビットのコンテキストラベル/デシジョンペア710であってもよい。1つのストライプに対するコンテキスト出力710の非限定的な例を、
図7cに示している。コンテキスト出力710は、ランレングスコンテキスト712(RL)、ストライプの1つ目のマグニチュードビットに対して選択されるコンテキストを示す第1のコンテキスト714(CX0)、ストライプの2つ目のマグニチュードビットに対して選択されるコンテキストを示す第2のコンテキスト716(CX1)、ストライプの3つ目のマグニチュードビットに対して選択されるコンテキストを示す第3のコンテキスト718(CX2)、およびストライプの4つ目のマグニチュードビットに対して選択されるコンテキストを示す第4のコンテキスト720(CX3)を含んでもよい。
【0086】
コンテキスト出力710内の1つのビットの内容例を
図7bに示している。このビットは、識別子マスク722(ID)、コンテキストマスク724(CX)、デシジョンマスク726(D)、符号コンテキストマスク728(SCX)、および符号マスク730(S)を含む。
【0087】
実施形態によると、コンテキスト出力710は例えば、
図7cに示すように、ランレングスに2ビット、ユニフォームフィールドに2ビット、およびストライプの各ビットに対する11ビットのコンテキストワード4つを有してもよい。しかしながら、これは単なる例であり、他の種類のコンテキスト出力を用いてもよい。
【0088】
コンテキスト出力710は、算術エンコーダ144に入力してもよい。算術エンコーダ144は、コンテキスト出力を符号化し、符号化の結果をTier‐2符号化ブロック150に提供する。レート制御ブロック160は、レート制御を行って、送信するデータの量を調整してもよい。
【0089】
前述のとおり、デコーダ200は復号操作を行ってもよく、この復号操作は主として、エンコーダ100の操作の逆に対応するものである。符号化コードストリームは、受信されてTier‐2復号ブロック210に提供され、再構成された算術コードワードを形成する。これらのコードワードは、Tier‐1復号ブロック220によって復号してもよい。結果として再構成された量子化済みの係数値を、逆量子化ブロック230が逆量子化し、再構成された逆量子化済みの係数値を生成してもよい。これらを、逆イントラコンポーネント変換ブロック240および逆マルチコンポーネント変換ブロック250が逆変換し、符号化画像の再構成されたピクセル値を生成してもよい。
【0090】
前述の説明において、離散ウェーブレット変換から得られた量子化済み係数値に対して、Tier‐1符号化が実行された。しかしながら、オリジナル画像のピクセル値等の、他の種類の矩形状データに対し、同様の符号化操作を実行してもよい。ただし、離散ウェーブレット変換を省略すると、画像の圧縮効率が低下する場合がある。
【0091】
また、前述の例において、「有意」に対する有意性状態値は1であり、「非有意」に対する有意性状態値は0である。しかしながら、これらは異なるように定義してもよく、例えば逆にしてもよい。その場合、「有意」に対する有意性状態値は0であり、「非有意」に対する有意性状態値は1である。
【0092】
装置100および/または200のアーキテクチャは、前述の手順を実行する、汎用フィールドプログラマブルゲートアレイ(Field‐Programmable Gate Array:FPGA)、特定用途向け命令セットプロセッサ(Application Specific Instruction set Processor:ASIP)、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)の実装または他の種類の集積回路の実装として、あるいはこれらの組合せとして実現してもよい。
【0093】
以下に、本発明の実施形態を遂行するための好適な装置および想定される機構について、さらに詳しく説明する。この観点から、まず
図9を参照する。
図9は、例示的装置、すなわち
図10に示す電子デバイス50の概略的ブロック図を示す図である。電子デバイス50は、本発明の実施形態による送信器を備えてもよい。
【0094】
電子デバイス50は、例えば、移動端末や、無線通信システムのユーザ機器であってもよい。ただし、本発明の実施形態は、無線周波信号の送信を必要とする可能性のある任意の電子デバイスや装置内に実装してもよいことを理解されたい。
【0095】
装置50は、デバイスを組み込んで保護するハウジング30を備えてもよい。装置50は、液晶ディスプレイの形態のディスプレイ32をさらに備えてもよい。本発明の他の実施形態において、このディスプレイは、画像やビデオを表示するのに適した任意の表示技術であってもよい。装置50は、キーパッド34をさらに備えてもよい。本発明の他の実施形態において、任意の適切なデータインタフェース機構やユーザインタフェース機構が用いられてもよい。例えば、ユーザインタフェースは、タッチセンサ式ディスプレイの一部としての仮想キーボードやデータ入力システムとして実装されてもよい。装置は、マイク36や、任意の適切な音声入力を備えてもよい。この音声入力は、デジタル信号入力であってもアナログ信号入力であってもよい。装置50は、音声出力デバイスをさらに備えてもよい。この音声出力デバイスは、本発明の実施形態において、受話口38、スピーカ、アナログ音声出力接続またはデジタル音声出力接続のいずれかであってもよい。装置50は、バッテリ40をさらに備えてもよい(または、本発明の他の実施形態において、装置は、太陽電池、燃料電池、ゼンマイ式発電機等の任意の適切な携帯エネルギー装置によって電源供給されてもよい)。前述の実施形態との関連から説明されるバッテリという用語も、前述の携帯エネルギー装置の1つであってもよい。また装置50は、例えば、充電式電池や太陽電池といった異なる種類のエネルギー装置の組合せを備えてもよい。装置は、他のデバイスと短可視距離通信するための赤外線ポート41をさらに備えてもよい。他の実施形態において、装置50は、例えばBluetooth(登録商標)無線接続やUSB/FireWire有線接続等の、任意の適切な近距離通信手段をさらに備えてもよい。
【0096】
装置50は、装置50を制御するコントローラ56またはプロセッサを備えてもよい。コントローラ56はメモリ58に接続されてもよい。本発明の実施形態において、メモリ58は、データ、および/または、コントローラ56において実行される命令を格納してもよい。コントローラ56は、コーデック回路54にさらに接続されてもよい。コーデック回路54は、音声データおよび/またはビデオデータの符号化および復号の実行や、コントローラ56が実行する符号化および復号の補助に適したものである。
【0097】
装置50は、カードリーダ48とスマートカード46をさらに備えてもよい。例えば、ユーザ情報を提供し、ネットワークにおいてユーザを認証および認可するための認証情報の提供に適したUICC(Universal Integrated Circuit Card)とUICCリーダを備えてもよい。
【0098】
装置50は、無線インタフェース回路52をさらに備えてもよい。無線インタフェース回路52はコントローラに接続され、無線通信信号の生成に適切なものである。この無線通信信号は、例えば、携帯通信ネットワーク、無線通信システム、または無線ローカルエリアネットワークと通信するためのものである。装置50はアンテナ60をさらに備えてもよい。アンテナ60は、無線インタフェース回路52に接続され、無線インタフェース回路52で生成された無線周波信号を他の装置に送信し、他の装置から無線周波信号を受信する。
【0099】
本発明のいくつかの実施形態において、装置50は、撮像を記録または検出できるカメラ42を備えてもよい。
【0100】
図11では、本発明の実施形態を利用可能なシステムの例を示している。システム10は、1つ以上のネットワークを介して通信可能な複数の通信デバイスを含む。システム10は、有線ネットワークおよび/または無線ネットワークの任意の組合せを含んでもよい。これらのネットワークには、GSM(登録商標)、ユニバーサル携帯電話システム(Universal Mobile Telecommunications System:UMTS)、符号分割多元接続(Code Division Multiple Access:CDMA)ネットワーク等)、IEEE 802.xのいずれかの規格で規定される無線ローカルエリアネットワーク(Wireless Local Area Network:WLAN)、Bluetooth(登録商標)パーソナルエリアネットワーク、イーサネット(登録商標)ローカルエリアネットワーク、トークンリングローカルエリアネットワーク、広域ネットワーク、インターネット等があるが、これらに限定されない。
【0101】
例えば、
図11に示すシステムは、携帯電話ネットワーク11と、インターネット28を表現したものとを示している。インターネット28への接続は、長距離無線接続、近距離無線接続、および様々な有線接続を含んでもよいが、これらに限定されない。有線接続には、電話回線、ケーブル回線、電力線、その他同様の通信経路等が含まれるが、これらに限定されない。
【0102】
システム10内に示される例示的通信デバイスは、電子デバイスや装置50、携帯情報端末(Personal Digital Assistant:PDA)と携帯電話との任意の組合せ14、PDA16、統合通信デバイス(Integrated Messaging Device:IMD)18、デスクトップコンピュータ20、ノート型コンピュータ22、タブレットコンピュータを含んでもよいが、これらに限定されない。装置50は固定型でもよく、移動する人が持ち運べる携帯型でもよい。また、装置50は移動手段に配置されてもよい。こうした移動手段には、自動車、トラック、タクシー、バス、列車、船/ボート、飛行機、自転車、バイク、その他同様の適切な移動手段が含まれるが、これらに限定されない。
【0103】
一部のまたはさらなる装置は、コールおよびメッセージを送受信してもよく、基地局24への無線接続25を介してサービスプロバイダと通信してもよい。基地局24は、携帯電話ネットワーク11とインターネット28間の通信を可能にするネットワークサーバ26に接続されてもよい。システムは、付加的な通信デバイスと様々な種類の通信デバイスを含んでもよい。
【0104】
通信デバイスは様々な伝送技術を用いて通信してもよく、こうした技術には、CDMA、GSM(登録商標)、UMTS、時分割多元接続(Time Divisional Multiple Access:TDMA)、周波数分割多元接続(Frequency Division Multiple Access:FDMA)、TCP‐IP(Transmission Control Protocol‐Internet Protocol)、ショートメッセージサービス(Short Messaging Service:SMS)、マルチメディアメッセージサービス(Multimedia Messaging Service:MMS)、電子メール、インスタントメッセージングサービス(Instant Messaging Service:IMS)、Bluetooth(登録商標)、IEEE 802.11、LTE(Long Term Evolution)無線通信技術、その他類似の無線通信技術を含むが、これらに限定されない。本発明の様々な実施形態の実施に含まれる通信デバイスは、様々な媒体を介して通信できる。こうした媒体として、無線、赤外線、レーザー、ケーブル接続、その他適切な接続が含まれるが、これらに限定されない。以下に、本発明を用いる装置の例示的実装のいくつかを、より詳しく説明する。
【0105】
前述の例では、無線通信デバイス内で動作する本発明の実施形態について説明しているが、前述の発明は、無線周波信号が送受信される回路を含む任意の装置の一部として実装されてもよいことを理解されたい。したがって、例えば、本発明の実施形態は携帯電話内、基地局内、あるいは無線周波通信手段(例えば、WLAN、セルラー無線等)を含むデスクトップコンピュータやタブレットコンピュータ等のコンピュータ内に実装されてもよい。
【0106】
一般に、本発明の様々な実施形態は、ハードウェアまたは特定用途向け回路、あるいはそれらの組み合わせとして実装されてもよい。本発明の種々の態様はブロック図または他の図的表現によって図示および説明される。本明細書に記載するこれらのブロック、装置、システム、技術、または方法は、非限定的な例として、ハードウェア、ソフトウェア、ファームウェア、特定用途向け回路やロジック、汎用のハードウェア、コントローラ、他のコンピュータデバイス、またはそれらの組み合わせとして実装されてもよいと理解されるべきである。
【0107】
本発明の実施形態は、集積回路モジュールのような、様々な要素として実施されることもできる。集積回路の設計は、概して高度に自動化されたプロセスである。論理レベルの設計を、半導体基板上にエッチングおよび形成するための半導体回路設計に変換する複雑で強力なソフトウェアツールが利用可能である。
【0108】
カリフォルニア州マウンテンビューのSynopsys,Inc.や、カリフォルニア州サンノゼのCadence Designのような業者が提供するプログラムは、定評のある設計ルールと実績のある設計モジュールのライブラリに基づいて、半導体チップ上に導電経路や要素を自動的に配する。半導体回路の設計が完了すると、それは、OpusやGDSII等の標準的な電子フォーマットで半導体製造設備、いわゆるfabに送られて製造されてもよい。
【0109】
前述の説明は、非限定的な例によって、本発明の例示的な実施形態を十分かつ詳細に記述している。しかし、こうした前述の説明を、添付する図面および特許請求の範囲と併せて考慮すれば、種々の変更および適応が可能であることは、本願に関連する技術分野の当業者には明らかであろう。さらに、本発明が教示するこうした事項のすべておよび同様の変形は、そのすべてが本発明の範囲内にある。