(57)【要約】  本発明は、画像圧縮のための改善された方法及び装置に関し、特に、これに限定されるものではないが、ＪＰＥＧ２０００規格とともに使用するための、圧縮のための改善されたブロック符号化装置及び方法に関する。静止画像、ビデオ・フレーム、又は関連メディアから導出される、ブロック及びサブバンド・サンプルを符号化及び復号するための方法であって、３つのビット・ストリームと、サンプルをブロックから規定のグループへと分割することとを含む、方法が提供される。第１のビット・ストリームが、グループ全体の有意性を符号化する。第２のビット・ストリームが、各グループ内の個々のサンプルの有意性を符号化する。第２のビット・ストリームはまた、各有意なグループの符号なし残差値も符号化する。第３のビット・ストリームが、有意なサンプル値を表すのに必要な符号ビット及び任意の追加の大きさビットを提供する。指数予測子が、ブロック内の先行するサンプルと関連付けられる指数境界と追加の大きさビットの両方を使用して計算される。
2021520728.tif 000002
【特許請求の範囲】
【請求項１】
静止画像、ビデオ・フレーム、又は関連メディアから導出される、サブバンド・サンプル値のブロックを符号化するための方法であって、３つのビット・ストリームと、サンプルを前記ブロックから規定のグループへと分割することとを含み、
ａ．第１のビット・ストリーム（ＭＥＬビット・ストリーム）が、因果関係のある隣接グループがすべて非有意であるグループ（ＡＺＣグループ）全体の有意性を符号化し、非ゼロの大きさを有するサンプルは有意であると識別され、ゼロの大きさを有するサンプルは非有意であると識別され、
ｂ．第２のビット・ストリーム（ＶＬＣビット・ストリーム）が、有意なＡＺＣグループであるか、又は、ＡＺＣグループでないかのいずれかである各グループ内の個々のサンプルの有意性を符号化し、
ｃ．前記第２のビット・ストリーム（ＶＬＣビット・ストリーム）はまた、指数予測子のセットに加えられると、前記グループ内の各有意なサンプルの大きさ指数の上限を与える、各有意なグループの符号なし残差値も符号化し、
ｄ．第３のビット・ストリーム（ＭａｇＳｇｎビット・ストリーム）が、対応する指数境界を所与として、有意なサンプル値を表すのに必要な符号ビット及び任意の追加の大きさビットを提供し、
ｅ．前記指数予測子は、前記ブロック内の先行するサンプルが前記ブロックの前記境界の外部にある場合を除いて、前記ブロック内の前記先行するサンプルと関連付けられる指数境界と前記追加の大きさビットの両方を使用して計算される、方法。
【請求項２】
前記ＭＥＬビット・ストリームは、ＡＺＣグループと関連付けられるグループ有意性シンボルの列に適用される適応的ラン・レングス符号化プロセスによって形成される、請求項１に記載の方法。
【請求項３】
あるグループの前記因果関係のある隣接グループは、グループの最初の行を除いて、前記グループの左及びグループの同じ行内、又は、グループの先行する行内のいずれかに見出される、前記グループに隣接するサンプル位置に対応し、あるグループの前記因果関係のある隣接グループは、前記グループ内で直ぐ左に見出されるサンプル位置に対応し、前記ブロック内に含まれていない隣接グループは非有意であると解釈される、請求項１又は２に記載の方法。
【請求項４】
グループ内のすべてのサンプルの有意性（前記グループの有意性パターン）は、前記グループの因果関係のある隣接グループの有意性から形成されるコンテクスト・ラベルに基づいてともに符号化される、請求項１、２又は３に記載の方法。
【請求項５】
前記有意性パターンの符号化は、前記コンテクスト・ラベルに依存する可変長コード（ＣｘｔＶＬＣコード）の使用を含む、請求項４に記載の方法。
【請求項６】
前記符号なし残差の符号化は、符号語がプレフィックス構成要素及びサフィックス構成要素から成る、可変長コード（Ｕ−ＶＬＣコード）を含み、前記サフィックスの長さは、前記サフィックスの値によって完全に決定される、請求項１から５までのいずれか一項に記載の方法。
【請求項７】
符号なし残差オフセット値が、コンテクスト依存可変長コード（ＣｘｔＶＬＣコード）を使用してグループの前記有意性パターンとともに符号化され、前記符号なし残差オフセットは、前記符号なし残差が非ゼロであるか否かを示し、前記Ｕ−ＶＬＣコードは、非ゼロである符号なし残差を符号化するためにのみ使用される、請求項５と６の両方に記載の方法。
【請求項８】
前記ＣｘｔＶＬＣコードは、符号語と関連付けられる前記符号なし残差オフセット値が非ゼロであるいくつかの有意サンプルの大きさビットを識別するように増強され、前記大きさビットはこのとき、前記ＭａｇＳｇｎビット・ストリーム内に含まれない、請求項７に記載の方法。
【請求項９】
前記指数予測子は、前記ブロックのグループの最初の行内を除き、グループの先行する行からのサンプルの値を使用して形成される、請求項１から８までのいずれか一項に記載の方法。
【請求項１０】
グループは、前記ブロック内の連続する行から成る対の中の連続する列から成る対からの前記サンプルから構成される、２×２のサイズを有する、請求項１から９までのいずれか一項に記載の方法。
【請求項１１】
前記ブロックのグループの最初のものでない行内にあるグループ内のサンプルの前記指数予測子は、前記グループの直上にあるサンプルの行上に見出される、前記グループに隣接する４つのサンプルの前記大きさ指数の最大値から形成される、請求項１０に記載の方法。
【請求項１２】
グループ内の有意サンプルの前記指数予測子は、前記グループ内の唯一の有意サンプルである場合には強制的に１にされる、請求項１から１１までのいずれか一項に記載の方法。
【請求項１３】
前記グループの最初の行において、ＭＥＬシンボル・ストリームは、グループの集合の１つの追加の符号なし残差オフセット・シンボルを用いて増強され、集合の好ましいサイズは２つの連続するグループであり、該グループの有意性パターンとともに符号化される前記符号なし残差オフセット値がすべて非ゼロである場合にのみ、前記集合内のすべてのグループの前記符号なし残差が、Ｕ−ＶＬＣコードを前記グループの調整済みの符号なし残差に適用する前に、共通の追加の符号なし残差オフセット値に基づいて調整される、請求項７と併せた、請求項１から１２までのいずれか一項に記載の方法。
【請求項１４】
前記ＣｘｔＶＬＣコード・ビット及び前記Ｕ−ＶＬＣコード・ビットは、グループの規定の集合にわたってインターリーブされ、その結果、前記集合内のすべてのグループの前記ＣｘｔＶＬＣビットは、同じグループの前記Ｕ−ＶＬＣコード・ビットの前に現れ、集合内のすべてのグループのＵ−ＶＬＣプレフィックス・ビットは、同じグループの前記Ｕ−ＶＬＣサフィックス・ビットの前に現れ、前記グループの集合は好ましくは、水平方向に隣接するグループから成る対から構成される、請求項５及び６と併せた、請求項１から１３までのいずれか一項に記載の方法。
【請求項１５】
前記Ｍｅｌビット・ストリーム、前記ＶＬＣビット・ストリーム、及び前記ＭａｇＳｇｎビット・ストリームは各々、ビット・スタッフィング手順を受け、バイトにパックされて、ＭＥＬバイト・ストリーム、ＶＬＣバイト・ストリーム、及びＭａｇＳｇｎバイト・ストリームを形成し、前記ＶＬＣバイト・ストリームは、ブロックを表す単一のバイト列（符号語セグメント）の終わりから後方に成長し、一方、前記ＭａｇＳｇｎバイト・ストリームは、前記バイト列の始まりから前方に成長し、前記ＭＥＬバイト・ストリームは、前記ＭａｇＳｇｎバイト・ストリームの終わりから前方に成長し、その結果、前記ＭａｇＳｇｎバイト・ストリームと前記ＭＥＬバイト・ストリームとの間の前記境界のみが、前記バイト列にとともに明示的に与えられる必要がある、請求項１から１４までのいずれか一項に記載の方法。
【請求項１６】
符号化される前記サンプル値は、所与の大きさビットプレーン（ｐ値）と関連付けられる精度までの可能な切り捨ての後の、量子化サブバンド・サンプルに対応する、請求項１から１５までのいずれか一項に記載の方法。
【請求項１７】
追加のコーディング・パス（ＳｉｇＰｒｏｐパス）が、最初の大きさビットプレーン（ｐ値）と関連付けられる精度において非有意（ゼロ）である特定のサンプルの、次に精細な大きさビットプレーンに対する大きさを符号化するために、及び、より精細な大きさビットプレーンに関して有意であるすべての前記サンプルの符号ビットも符号化するために使用され、前記ブロック・サンプルを通じてストライプ配向走査に従い、ストライプ列の規定の集合からＳｉｇＰｒｏｐビット・ストリームにすべての関連する大きさビットを放出し、その後、前記放出されている大きさビットに基づいて有意として識別される前記ストライプ列の集合内の前記サンプルの符号ビットを放出する、請求項１６に記載の方法。
【請求項１８】
追加のコーディング・パス（ＭａｇＲｅｆパス）が、前記最初の大きさビットプレーン（ｐ値）と関連付けられる精度において有意（非ゼロ）として符号化されるサンプルの、次に精細な大きさビットプレーンに対する最下位の大きさビットを符号化するために使用され、前記ブロック・サンプルを通じてストライプ配向走査に従い、ＭａｇＲｅｆビット・ストリームにすべての関連する大きさビットを放出する、請求項１６又は１７に記載の方法。
【請求項１９】
前記ＳｉｇＰｒｏｐビット・ストリーム及び前記ＭａｇＲｅｆビット・ストリームは各々、ビット・スタッフィング手順を受け、ＳｉｇＰｒｏｐバイト・ストリーム及びＭａｇＲｅｆバイト・ストリームにパックされ、前記ＳｉｇＰｒｏｐバイト・ストリームは精度改善コード・バイト列の始まりから前方に成長し、前記ＭａｇＲｅｆバイト・ストリームは精度改善コード・バイト列の終わりから後方に成長する、請求項１７及び１８に記載の方法。
【請求項２０】
静止画像、ビデオ・フレーム、又は関連メディアを生成する、サブバンド・サンプルのブロックを復号するための方法であって、前記サンプルは、規定のグループに構成されており、３つのビット・ストリームを使用して表され、
ａ．第１のビット・ストリーム（ＭＥＬビット・ストリーム）が、因果関係のある隣接グループがすべて非有意であるグループ（ＡＺＣグループ）全体の有意性を発見するために復号され、非ゼロの大きさを有するサンプルは有意であると識別され、ゼロの大きさを有するサンプルは非有意であると識別され、
ｂ．第２のビット・ストリーム（ＶＬＣビット・ストリーム）が、有意なＡＺＣグループであるか、又は、ＡＺＣグループでないかのいずれかである各グループ内の個々のサンプルの有意性を発見するために復号され、
ｃ．前記第２のビット・ストリーム（ＶＬＣビット・ストリーム）の復号はまた、指数予測子のセットに加えられると、前記グループ内の各有意なサンプルの大きさ指数の上限を与える、各有意なグループの符号なし残差値を発見するためにも使用され、
ｄ．第３のビット・ストリーム（ＭａｇＳｇｎビット・ストリーム）は、対応する指数境界を所与として、各有意なサンプルの値を推測するために使用される符号ビット及び任意の追加の大きさビットを発見するためにアンパックされ、
ｅ．前記指数予測子は、前記ブロック内の先行するサンプルが前記ブロックの境界の外部にある場合を除いて、前記ブロック内の先行して復号されているサンプルと関連付けられる指数境界と追加の大きさビットの両方を使用して計算される、方法。
【請求項２１】
適応的ラン・レングス復号プロセスが、前記ＭＥＬビット・ストリームを復号するために使用され、各ＡＺＣグループの有意性を識別するグループ有意性シンボルの列が生成される、請求項２０に記載の方法。
【請求項２２】
あるグループの前記因果関係のある隣接グループは、グループの最初の行を除いて、前記グループの左及びグループの同じ行内、又は、グループの先行する行内のいずれかに見出される、前記グループに隣接するサンプル位置に対応し、前記サンプルの有意性はすでに復号されており、あるグループの前記因果関係のある隣接グループは、前記グループ内で直ぐ左に見出されるサンプル位置に対応し、前記サンプルの有意性はすでに復号されており、前記ブロック内に含まれていない隣接グループは非有意であると解釈される、請求項２０又は２１に記載の方法。
【請求項２３】
グループ内のすべてのサンプルの有意性（前記グループの有意性パターン）は、前記グループの因果関係のある隣接グループの有意性から形成されるコンテクスト・ラベルを使用してともに復号される、請求項２０、２１又は２２に記載の方法。
【請求項２４】
前記有意性パターンの復号は、前記コンテクスト・ラベルに依存する可変長コード（ＣｘｔＶＬＣコード）の復号を含む、請求項２３に記載の方法。
【請求項２５】
前記符号なし残差の復号は、符号語がプレフィックス構成要素及びサフィックス構成要素から成る、可変長コード（Ｕ−ＶＬＣコード）の復号を含み、前記サフィックスの長さは、前記サフィックスの値によって完全に決定される、請求項２０から２４までのいずれか一項に記載の方法。
【請求項２６】
符号なし残差オフセット値が、コンテクスト依存可変長コード（ＣｘｔＶＬＣコード）を復号するプロセスにおいてグループの前記有意性パターンとともに復号され、前記符号なし残差オフセットは、前記符号なし残差が非ゼロであるか否かを示し、前記グループのＵ−ＶＬＣ符号語の復号は、前記符号なし残差オフセット値が非ゼロである場合にのみ実施され、前記実施を受けて、前記Ｕ−ＶＬＣ復号結果が、前記符号なし残差オフセット値に加えられる、請求項２４と２５の両方に記載の方法。
【請求項２７】
前記復号されている符号なし残差オフセット値が非ゼロであるいくつかのコンテクスト依存可変長符号語（ＣｘｔＶＬＣコード）を復号するプロセスにおいて、追加の大きさビットが、前記有意性パターン及び符号なし残差オフセット値とともにいくつかの有意係数について復号され、前記追加の大きさビットが、前記関連付けられるサンプル値を再構築するために、前記ＭａｇＳｇｎビット・ストリームからのビットと組み合わされる、請求項２６に記載の方法。
【請求項２８】
前記指数予測子は、前記ブロックのグループの最初の行内を除き、グループの先行する行からのサンプルの値を使用して形成され、前記サンプル値は以前に復号されている、請求項２０から２７までのいずれか一項に記載の方法。
【請求項２９】
グループは、前記ブロック内の連続する行から成る対の中の連続する列から成る対からの前記サンプルから構成される、２×２のサイズを有する、請求項２０から２８までのいずれか一項に記載の方法。
【請求項３０】
前記ブロックのグループの最初のものでない行内にあるグループ内のサンプルの前記指数予測子は、前記グループの直上にあるサンプルの行上に見出される、前記グループに隣接する４つの位置にある前記大きさ指数の最大値から形成され、前記大きさ指数は、前記４つの位置にある先行して復号されているサンプル値から計算される、請求項２９に記載の方法。
【請求項３１】
グループ内の有意サンプルの前記指数予測子は、前記グループ内の唯一の有意サンプルである場合には強制的に１にされる、請求項２０から３０までのいずれか一項に記載の方法。
【請求項３２】
前記グループの最初の行について、前記増強されたＭＥＬシンボル・ストリームは、グループの集合の共通の追加の符号なし残差オフセット値を提供し、集合の好ましいサイズは２つの連続するグループであり、該グループの有意性パターンとともに復号される前記符号なし残差オフセット値がすべて非ゼロである場合にのみ、前記集合内のすべてのグループの前記符号なし残差が、前記グループの前記Ｕ−ＶＬＣコードの復号後に、前記共通の追加の符号なし残差オフセット値に基づいて調整される、請求項２５と併せた、請求項２０から３１までのいずれか一項に記載の方法。
【請求項３３】
グループの規定の集合と関連付けられる前記ＣｘｔＶＬＣコード・ビットが、前記ＶＬＣビット・ストリーム内でともに見出され、その結果、前記グループの集合の前記ＣｘｔＶＬＣコードは、最初に復号されなければならず、続いて前記集合内のすべてのグループのＵ−ＶＬＣプレフィックスが復号され、次いで、前記集合内のすべてのグループのＵ−ＶＬＣサフィックスが復号され、その後、復号は、グループの任意の後続の集合について進行することができ、前記グループの集合は好ましくは、水平方向に隣接するグループから成る対から構成される、請求項２４及び２５と併せた、請求項２０から３２までのいずれか一項に記載の方法。
【請求項３４】
前記Ｍｅｌビット・ストリーム、前記ＶＬＣビット・ストリーム、及び前記ＭａｇＳｇｎビット・ストリームは各々、それぞれＭＥＬバイト・ストリーム、ＶＬＣバイト・ストリーム、及びＭａｇＳｇｎバイト・ストリームからのビットをアンパックし、ビット・スタッフィング手順を介して前記バイト・ストリームに導入されている場合があるスタッフィング・ビットを除去することによって復元され、前記ＶＬＣバイト・ストリームは、ブロックを表す単一のバイト列（符号語セグメント）の終わりから後方に成長し、一方、前記ＭａｇＳｇｎバイト・ストリームは、前記バイト列の始まりから前方に成長し、前記ＭＥＬバイト・ストリームは、前記ＭａｇＳｇｎバイト・ストリームの終わりから前方に成長し、前記ＭａｇＳｇｎバイト・ストリームと前記ＭＥＬバイト・ストリームとの間の前記境界が、前記バイト列自体とともに明示的に識別される、請求項２０から３４までのいずれか一項に記載の方法。
【請求項３５】
復号される前記サンプル値は、所与の大きさビットプレーン（ｐ値）と関連付けられる精度までの可能な切り捨ての後の、量子化サブバンド・サンプルに対応する、請求項２０から３４までのいずれか一項に記載の方法。
【請求項３６】
最初の大きさビットプレーン（ｐ値）と関連付けられる精度において非有意（ゼロ）であるとして復号された特定のサンプルの、次に精細な大きさビットプレーンに対する大きさを発見するために、及び、より精細な大きさビットプレーンに関して有意であると見出されたすべての前記サンプルの符号ビットも復元するために、追加の復号パス（ＳｉｇＰｒｏｐパス）が実施され、前記ブロック・サンプルを通じてストライプ配向走査に従い、ＳｉｇＰｒｏｐビット・ストリームからのストライプ列の規定の集合のすべての関連する大きさビットを取り出し、その後、前記取り出されている大きさビットに基づいて有意として識別される前記ストライプ列の集合内の前記サンプルの符号ビットを取り出す、請求項３５に記載の方法。
【請求項３７】
前記最初の大きさビットプレーン（ｐ値）に関して有意としてすでに復号されているサンプルの、次に精細な大きさビットプレーンに対する最下位の大きさビットを発見するために、追加の復号パス（ＭａｇＲｅｆパス）が実施され、前記ブロック・サンプルを通じてストライプ配向走査に従い、ＭａｇＲｅｆビット・ストリームからすべての関連する大きさビットを取り出す、請求項３５又は３６に記載の方法。
【請求項３８】
前記ＳｉｇＰｒｏｐビット・ストリーム及び前記ＭａｇＲｅｆビット・ストリームは、単一の制度改善コード・バイト列内で、それぞれ、前方に成長するＳｉｇＰｒｏｐバイト・ストリーム及び後方に成長するＭａｇＲｅｆバイト・ストリームからのビットをアンパックし、ビット・スタッフィング手順を介して前記バイト・ストリームに導入されている場合があるスタッフィング・ビットを除去することによって復元される、請求項３６及び３７に記載の方法。
【請求項３９】
サンプル値のブロックを符号化するための装置であって、請求項１から１９までのいずれか一項に記載の方法を実施するように構成されている符号化装置を備える、装置。
【請求項４０】
請求項１から１９までのいずれか一項に記載の方法を実施するようにコンピュータを制御するための命令を含む、コンピュータ・プログラム。
【請求項４１】
請求項４０に記載のコンピュータ・プログラムを提供する、不揮発性コンピュータ可読媒体。
【請求項４２】
請求項４０に記載のコンピュータ・プログラムを含む、データ信号。
【請求項４３】
請求項２０から３８までのいずれか一項に記載の方法を実施するように構成されている復号器装置を含む、サンプルのブロックを復号するための装置。
【請求項４４】
請求項２０から３８までのいずれか一項に記載の方法を実施するようにコンピュータを制御するための命令を含む、コンピュータ・プログラム。
【請求項４５】
請求項４４に記載のコンピュータ・プログラムを提供する、不揮発性コンピュータ可読媒体。
【請求項４６】
請求項４４に記載のコンピュータ・プログラムを含む、データ信号。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像圧縮のための改善された方法及び装置に関し、特に、ただしこれに限られることなく、画像圧縮のための改善されたブロック符号化装置及び方法に関する。
【背景技術】
【０００２】
画像圧縮システムが既知である。ＪＰＥＧ及びＪＰＥＧ２０００が、画像圧縮のための一般的な規格である。
【０００３】
ＪＰＥＧ２０００は、多くの多様な分野に用途を見出す豊富な特徴セットを提供する。最も重要な特徴の一部は、以下のとおりである。
圧縮効率
品質スケーラビリティ
解像度スケーラビリティ
関心領域アクセス可能性
並列処理
反復的符号化を必要としない最適化されたレート制御
視覚的に関連する最適化目標を標的化することができる
エラー耐性
圧縮ドメイン（すなわち、非常にローメモリの）転置及びフリップ動作
コード・ブロック、区域又はＪ２Ｋパケットのレベルにおいて情報を並べ直すことができる
【０００４】
これらの特徴のほとんどは、ＥＢＣＯＴアルゴリズム（切り捨てが最適化された埋め込みブロック符号化：Ｅｍｂｅｄｄｅｄ  Ｂｌｏｃｋ  Ｃｏｄｉｎｇ  ｗｉｔｈ  Ｏｐｔｉｍｉｚｅｄ  Ｔｒｕｎｃａｔｉｏｎ）の使用から導き出され、一方、階層的離散ウェーブレット変換（ＤＭＴ、Ｄｉｓｃｒｅｔｅ  Ｗａｖｅｌｅｔ  Ｔｒａｎｓｆｏｒｍ）の使用も、重要な役割を果たす。
【０００５】
これらの核心的な特徴に加えて、ＪＰＥＧ２０００規格スイートは、以下の用途に対する良好なサポートを提供する。
ＪＰＩＰを介した映像（ビデオ及びアニメーションを含む）の効率的且つ反応のよい遠隔対話的閲覧
膨大な映像ソースからの任意の領域の効率的なオンデマンドのレンダリング
非線形トーン・カーブ及び／又はカスタム浮動小数点マッピングを使用することによる高ダイナミック・レンジ圧縮
豊富なメタデータ・アノテーション
ハイパースペクトル及びボリューメトリック・コンテンツの効率的な圧縮
【０００６】
ＪＰＥＧ２０００規格の１つの重大な欠点は、計算複雑度である。ＪＰＥＧ２０００は効率的なハードウェア・ソリューションを標的化するために使用することができる多くのモードを提供するため、これがハードウェア実施にとってどれほど重大な制限であるかは直ちに明らかにはならない。また、ほぼどのような表示可能なサイズの画像でも、モバイル・デバイスを含む現代のプラットフォーム上でほぼ瞬時にレンダリングすることができるのに十分に、ソフトウェア実施態様は効率的である。しかしながら、ビデオ用途及び特に電力が意識される用途にとって、圧縮及びレンダリングの複雑度は問題になり得る。
【０００７】
先行する国際特許出願ＰＣＴ／ＡＵ２０１７／０５０４８４は、高速ブロック符号化アルゴリズムを組み込んだ、画像圧縮のための改善された方法及び装置を開示している。この先行出願の開示は、参照により本明細書に組み込まれる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際特許出願ＰＣＴ／ＡＵ２０１７／０５０４８４
【発明の概要】
【課題を解決するための手段】
【０００９】
第１の態様によれば、本発明は、静止画像、ビデオ・フレーム、又は関連メディアから導出される、サブバンド・サンプル値のブロックを符号化するための方法であって、３つのビット・ストリームと、サンプルをブロックから規定のグループへと分割することとを含み、
ａ．第１のビット・ストリーム（ＭＥＬビット・ストリーム）が、因果関係のある隣接グループがすべて非有意であるグループ（ＡＺＣグループ）全体の有意性を符号化し、非ゼロの大きさを有するサンプルは有意であると識別され、ゼロの大きさを有するサンプルは非有意であると識別され、
ｂ．第２のビット・ストリーム（ＶＬＣビット・ストリーム）が、有意なＡＺＣグループであるか、又は、ＡＺＣグループでないかのいずれかである各グループ内の個々のサンプルの有意性を符号化し、
ｃ．上記第２のビット・ストリーム（ＶＬＣビット・ストリーム）はまた、指数予測子（exponent predictor）のセットに加えられると、グループ内の各有意なサンプルの大きさ指数の上限を与える、各有意なグループの符号なし残差値も符号化し、
ｄ．第３のビット・ストリーム（ＭａｇＳｇｎビット・ストリーム）は、対応する指数境界を所与として、有意なサンプル値を表すのに必要な符号ビット及び任意の追加の大きさビットを提供し、
ｅ．上記指数予測子は、ブロック内の先行するサンプルがブロックの境界の外部にある場合を除いて、ブロック内の先行するサンプルと関連付けられる指数境界と追加の大きさビットの両方を使用して計算される、
方法を提供する。
【００１０】
第２の態様によれば、本発明は、静止画像、ビデオ・フレーム、又は関連メディアを生成する、サブバンド・サンプル値のブロックを復号するための方法であって、そのようなサンプルは、規定のグループに構成されており、３つのビット・ストリームを使用して表され、
ａ．第１のビット・ストリーム（ＭＥＬビット・ストリーム）が、因果関係のある隣接グループがすべて非有意であるグループ（ＡＺＣグループ）全体の有意性を発見するために復号され、非ゼロの大きさを有するサンプルは有意であると識別され、ゼロの大きさを有するサンプルは非有意であると識別され、
ｂ．第２のビット・ストリーム（ＶＬＣビット・ストリーム）が、有意なＡＺＣグループであるか、又は、ＡＺＣグループでないかのいずれかである各グループ内の個々のサンプルの有意性を発見するために復号され、
ｃ．上記第２のビット・ストリーム（ＶＬＣビット・ストリーム）の復号はまた、指数予測子のセットに加えられると、グループ内の各有意なサンプルの大きさ指数の上限を与える、各有意なグループの符号なし残差値を発見するためにも使用され、
ｄ．第３のビット・ストリーム（ＭａｇＳｇｎビット・ストリーム）は、対応する指数境界を所与として、各有意なサンプルの値を推測するために使用される符号ビット及び任意の追加の大きさビットを発見するためにアンパックされ、
ｅ．上記指数予測子は、ブロック内の先行するサンプルがブロックの境界の外部にある場合を除いて、ブロック内の先行して復号されているサンプルと関連付けられる指数境界と追加の大きさビットの両方を使用して計算される、
方法を提供する。
【００１１】
第３の態様によれば、本発明は、サブバンド・サンプル値のブロックを符号化するための装置であって、本発明の第１の態様の方法を実施するように構成されている処理装置を含む、装置を提供する。
【００１２】
実施例において、装置は、プロセッサと、メモリと、本発明の第１の態様の方法を実施するためのソフトウェア・プロセスを実施するオペレーティング・システムとを備えることができる。他の実施例において、装置は、本方法を実施するハードウェア、又は、本方法を実施するハードウェアとソフトウェアとの混合物を含むことができる。
【００１３】
第４の態様によれば、本発明は、サブバンド・サンプルのブロックを復号するための装置であって、本発明の第２の態様の方法を実施するように構成されている処理装置を含む、装置を提供する。
【００１４】
実施例において、装置は、プロセッサと、メモリと、本発明の第２の態様の方法を実施するためのソフトウェア・プロセスを実施するオペレーティング・システムとを備えることができる。他の実施例において、装置は、本方法を実施するハードウェア、又は、本方法を実施するハードウェアとソフトウェアとの混合物を含むことができる。
【００１５】
第５の態様によれば、本発明は、本発明の第１の態様による方法を実施するようにコンピュータを制御するための命令を含む、コンピュータ・プログラムを提供する。
【００１６】
第６の態様によれば、本発明は、本発明の第５の態様によるコンピュータ・プログラムを提供する、不揮発性コンピュータ可読媒体を提供する。
【００１７】
第７の態様によれば、本発明は、本発明の第５の態様によるコンピュータ・プログラムを含む、データ信号を提供する。
【００１８】
第８の態様によれば、本発明は、本発明の第２の態様の方法を実施するようにコンピュータを制御するための命令を含む、コンピュータ・プログラムを提供する。
【００１９】
第９の態様によれば、本発明は、本発明の第８の態様によるコンピュータ・プログラムを提供する、不揮発性コンピュータ可読媒体を提供する。
【００２０】
第１０の態様によれば、本発明は、本発明の第８の態様によるコンピュータ・プログラムを含む、データ信号を提供する。
【００２１】
例としてのみ与えられ添付の図面を参照する、本発明の実施例の以下の詳細な説明から、本発明の特徴及び利点が明らかになる。
【図面の簡単な説明】
【００２２】
【図１】一実施例による、ＴＥＲＭＩＮＡＴＩＯＮ（終端）モード・フラグあり／なしで生成される符号語セグメントを示すＦＡＳＴコーディング・パス、及び、符号化器によって生成され、最終的にコード・ストリームに放出され得るコーディング・パスの実例を示す図である。
【図２】一実施例による、ＦＡＳＴ  Ｃｌｅａｎｕｐ（クリーンアップ）パス及び符号化プロセスの概観を示す図である。
【図３】一実施例による、ＦＡＳＴ  Ｃｌｅａｎｕｐパス復号プロセスの概観を示す図である。
【図４】一実施例による、３つのバイト・ストリームを有する、ＦＡＳＴブロック・コーダのＣｌｅａｎｕｐパスの符号語構造を示す図である。
【図５】Ｈ＝３本のライン及び奇数幅Ｗを有するコード・ブロックを示す、正方形２×２グループによるラインがインターリーブされた走査順序を示す図である。
【図６】一実施例による、それぞれ、コード・ブロック内の最初のものでないライン対及び最初のライン対に見出される２×２グループの符号化コンテクストを形成するために使用される重要性近傍情報（significance neighborhood information）を示す図である。
【図７】一実施例による、最初のものでないグループ行内の指数予測子の形成を示す図である。
【図８】一対のグループからのＶＬＣビットのインターリーブを示す図である。ビット・カウント範囲は、コード・ブロックの最初のものでないグループ行に適用可能である。図の下部にある矢印は、復号依存関係を明らかにしている。
【図９】ＦＡＳＴブロック符号化アルゴリズムの使用が示されている、ＪＰＥＧ２０００パケット・ヘッダに記録されている可能なコーディング・パス寄与を示す図である。
【発明を実施するための形態】
【００２３】
本発明の一実施例は、ＩＳ１５４４４−１（ＪＰＥＧ２０００パート１）の付属書Ｃ及びＤに記載されている元のＪＰＥＧ２０００ブロック符号化アルゴリズムの当座の代替に関する。本明細書全体を通じて、「Ｊ２Ｋ−１ブロック・コーダ」及び「Ｊ２Ｋ−１アルゴリズム」という用語は、ＩＳ１５４４４−２（ＪＰＥＧ２０００パート２）、ＩＳ１５４４４−３（モーションＪＰＥＧ２０００）、ＩＳ１５４４４−６（複合文書圧縮）及びＩＳ１５４４４−９（ＪＰＩＰ）を含む他のＪＰＥＧ２０００規格にとっても中心的である、このブロック符号化アルゴリズムを識別するために使用されるものとする。ＪＰＫ−１アルゴリズムの当座の代替として、本実施例において記載されているブロック符号化アルゴリズムは、ほとんどの既存の特徴を保持しながら、スループットを劇的に増大させるために、これらの他の規格とともに使用されることが可能である。
【００２４】
重要なことには、本明細書において記載されているブロック符号化アルゴリズムは、Ｊ２Ｋ−１アルゴリズムを使用して生成されているコード・ストリームへの／からの完全に損失のないコード変換を可能にする。
【００２５】
本明細書に記載されているブロック符号化アルゴリズムと関連付けられる複雑度の劇的な低減の代償として、圧縮効率がわずかに低減し、加えて、ＪＰＥＧ２０００の品質スケーラビリティ特徴がなくなる（又はほぼなくなる）。
【００２６】
品質スケーラビリティは、特に、品質スケーラビリティが本質的に通信の大きな節約及び／又は閲覧アプリケーションの応答性の増大につながる、ＪＰＩＰを介した対話的閲覧アプリケーションにとって重要である。品質スケーラビリティはまた、配信システムにおいても重要であり得、これは、必要な場合に画像／ビデオ・アーカイブの漸進的な劣化に対する見事な解決策を提供し、また、すべてが多くのアプリケーションにとって重要であるコンテンツの選択的保護及び／又は暗号化も可能にする。しかし、都合のよいことに、本実施例における提案されているアルゴリズムのコード変換特徴は、メディア・システム内の性能及び電力消費目標を管理するために、画像、ビデオ・フレーム、ボリューム、又は画像若しくはボリューム内の個々の領域と関連付けられるブロック・ビット・ストリームを選択的にコード変換することによって、品質スケーラビリティを随意に取り戻し又は一時的に放棄することができることを意味する。
【００２７】
本発明においては、提案されている手法にＦＢＣＯＴ（切り捨てが最適化されたＦＡＳＴブロック・コーダ：ＦＡＳＴ  Ｂｌｏｃｋ  Ｃｏｄｅｒ  ｗｉｔｈ  Ｏｐｔｉｍｉｚｅｄ  Ｔｒｕｎｃａｔｉｏｎ）という用語を使用する。これは、元のＥＢＣＯＴアルゴリズムの「埋め込み」特性が大きく（完全にではないが）失われており、ただし、圧縮後速度歪み最適化は依然として実施することができるためである。本明細書全体を通じて、ＦＡＳＴという用語は単に、ブロック符号化アルゴリズム自体を指すために使用され、一方、ＦＢＣＯＴは、このアルゴリズムと、レート制御アルゴリズムとの組合せを指す。
【００２８】
ＦＢＣＯＴアルゴリズムのレート制御態様は、他の場所において大きく取り上げられており、本明細書がＦＡＳＴブロック・コーダ自体の詳細な説明に焦点を当てることが可能になっている。
【００２９】
本実施例において記載されているアルゴリズムは、特に低ビットレートにおいてその目標性能が他の手法よりも大幅に高かった、元々ＪＰＥＧ−ＸＳ  ＣｆＰに応答して提案されたＦＢＣＯＴアルゴリズムからの発展を表す。ＪＰＥＧ−ＸＳ評価プロセス中に、高スループットに対するＪＰＥＧ２０００拡張が、ＪＰＥＧ２０００の規格ファミリパート１５になることが期待される高スループットＪＰＥＧ２０００（ＨＴＪ２Ｋ）として知られる、別個の活動を通じて最良に管理されることが決定された。ＦＢＣＯＴアルゴリズム、及び、特に、そのＦＡＳＴブロック・コーダの背後にある動機は、ＨＴＪ２Ｋ活動の動機と正確に一致する。
【００３０】
特に、本実施例の目標は、以下のとおりである。
１．ＨＴＪ２Ｋブロック符号化アルゴリズムが、Ｊ２Ｋ−１ブロック・ビット・ストリームへの／からの可逆的コード変換をサポートするものとする。
２．ＨＴＪ２Ｋを介してＪＰＥＧ２０００に導入される技術の影響は、コード・ブロック・ビット・ストリームの符号化及び復号のみに限定されるものとし、新たな符号化スタイルの存在をシグナリングするためのコード・ストリーム／タイル部分ヘッダ・マーカに必要とされる必然的な変化以外の、パケット・ヘッダ構文を含むコード・ストリーム構文に影響を及ぼさない。
３．ＨＴＪ２Ｋブロック復号器は、平均して、コード変換されたコンテンツ及びＨＴＪ２Ｋを使用して直接的に符号化されたコンテンツを含む、実際の適用において重要である範囲の条件にわたって一般的な商用Ｋａｋａｄｕ（商標）ツールキット（脚注１）内でのＪ２Ｋ−１ブロック復号器実施態様よりも少なくとも１０倍高速であるものとする。
４．ＨＴＪ２Ｋブロック符号化器は、平均して、実際の適用において重要である範囲の条件にわたって、Ｋａｋａｄｕ（商標）内でのＪ２Ｋ−１ブロック符号化器実施態様よりも少なくとも１０倍高速であるものとする。
５．ＨＴＪ２Ｋブロック符号化アルゴリズムの符号化効率は、平均して、実際の適用において重要である範囲の条件にわたって、Ｊ２Ｋ−１ブロック符号化アルゴリズムよりも１５％を超えて不良ではないものとする。
【００３１】
本明細書においては、すべてＨＴＪ２Ｋ規格について予期される枠組み内で実現することができる、本明細書において記載されているＦＢＣＯＴアルゴリズムから受益することができる３つの適用領域を記載する。
【００３２】
高解像度ビデオ・キャプチャ
ほとんどのモバイル・デバイスは、Ｊ２Ｋ−１ブロック符号化アルゴリズムが使用される場合、それらの画像センサが生成することが可能である高解像度ビデオ・ストリームを直接的に圧縮するのに十分なＣＰＵ能力を有しない。ＦＡＳＴブロック符号化オプションは、圧縮ストリームがリアルタイムで生成されることを可能にし、例えば、ＪＰＩＰを介した効率的な対話的閲覧のために、品質スケーラビリティ属性が重要である場合に、後にＪ２Ｋ−１表現にコード変換されることを可能にすることによって、この問題に対処する。コード変換は、任意の２つの圧縮フォーマットの間で可能であるが、本明細書において記載されているＦＢＣＯＴアルゴリズムの利点は、以下のとおりである。
ａ）コード変換は、変換された領域において行うことができる。
ｂ）コード変換は、たとえ圧縮自体が損失を伴うものであったとしても、本質的に損失を伴わない。
ｃ）コード変換は必要に応じて選択的に、コード・ブロック単位にさえ行うことができる。
【００３３】
エネルギー効率的な画像／ビデオのレンダリング
ＪＰＥＧ２０００の多くの用途において、コンテンツは複数回レンダリングされる。例えば、大きい画像は、連続的にレンダリングされるビューが一般的に多くのコード・ブロックを含むような解像度又は関心領域によって対話的に閲覧される。完全に解凍されたコード・ブロックをメモリ内にキャッシュすることはほとんど実際的ではなく、ＦＡＳＴブロック符号化オプションが利用可能であるということは、インテリジェントなコンテンツ・キャッシュが、繰り返しアクセスされているコード・ブロックを、より迅速に又はより少ないエネルギー消費で復号することができる表現にコード変換することを選択することができることを意味する。本明細書において記載されているアルゴリズムの利点は、Ｊ２Ｋ−１ブロック・ビット・ストリームからＦＡＳＴブロック・ビット・ストリームへのコード変換が、計算効率的であるとともに、全体的に損失がなく、元のＪＰＥＧ２０００表現のすべての態様が正確に保持されることである。
【００３４】
クラウドに基づくビデオ・サービス
ＪＰＥＧ２０００は、送達点に近い関心解像度（又はさらには領域）が効率的に抽出されることを可能にする、ビデオ・コンテンツの中間配布フォーマットとしての優れた枠組みを提供し、これを受けて、ビデオ・コンテンツは、いくつかの一般的なストリーミング・ビデオ・フォーマットのうちのいずれかにコード変換することができる。この使用はすでに実行可能であり、他の手法よりも好都合である可能性があるが、そのような適用は、すべての他の関連機能を保持する、軽量ブロック・コーダが利用可能であることから、さらに受益することができる。
【００３５】
Ｊ２Ｋ−１ブロック符号化アルゴリズムの簡潔な概説
ＩＳ１５４４４−１に記載されているものとしてのＪ２Ｋ−１ブロック・コーダは、一連のコーディング・パスを通じて各コード・ブロック内のサブバンド・サンプルを処理する。次の節において、ＦＡＳＴブロック符号化アルゴリズムの異なる、しかしなお関連するコーディング・パス構造を説明するために、これを簡潔に見直すことが有用である。
【００３６】
Ｘ［ｎ］が、位置ｎ＝（ｎ１，ｎ２）によってインデックス付けされる、コード・ブロック内のサンプルを示すものとし、０≦ｎ１＜Ｗは水平位置を表し、０≦ｎ２＜Ｈは垂直位置を示し、Ｗはコード・ブロック幅であり、Ｈはコード・ブロックの高さである。各コーディング・パスはビットプレーン・インデックスｐ≧０に属し、それに関連して、サンプルＸ［ｎ］の量子化された大きさが、以下によって与えられる。
【数１】
2021520728.tif 000003
ここで、Δは、可逆的符号化手順については存在しない、量子化ステップ・サイズである。
【００３７】
本明細書においては、Ｍｐ［ｎ］≠０である場合、サンプルＸ［ｎ］はビットプレーンｐに関して「有意」であると言う。
【００３８】
最も精細なビットプレーン（最高品質）は、ｐ＝０に対応し、一方、最も粗い品質はｐ＝Ｋ−１に対応し、Ｋはコード・ストリーム・ヘッダに記録されているサブバンド特有のパラメータによって決定される、所与のサブバンドに属する任意のコード・ブロックのビットプレーンの最大数である。
【００３９】
各コード・ブロックについて、パラメータＭｓｔａｒｔが、関連するＪＰＥＧ２０００パケット・ヘッダを介して通信され、これは、コード・ブロックの表現内の失われたビットプレーンの数として解釈される。Ｊ２Ｋ−１ブロック復号器は、コード・ブロック内のすべてのサンプルがビットプレーンｐ≧Ｋ−Ｍｓｔａｒｔ内で有意でないと予測することを認められる。同等に、有意なサンプルを含み得るビットプレーンの総数は、以下によって与えられる。
Ｐ＝Ｋ−Ｍｓｔａｒｔ
【００４０】
第１のＪ２Ｋ−１コーディング・パスは、ビットプレーンｐ＝Ｐ−１の有意性情報及び符号（有意なサンプルのみについて）を符号化する。このコーディング・パスは、「Ｃｌｅａｎｕｐ」パスとして識別される。重要なことに、このＣｌｅａｎｕｐパスにおいて符号化される任意の有意なサンプルは、大きさ１を有しなければならない。
【００４１】
次により精細な各ビットプレーンについて、「ＳｉｇＰｒｏｐ」（有意性伝播）及び「ＭａｇＲｅｆ」（精度改善（magnitude refinement））コーディング・パスとして識別される、３つのコーディング・パスが生成される。このとき、合計して、以下の構造を有する３Ｐ−２個のコーディング・パスが存在する。
Ｃｌｅａｎｕｐ（ｐ＝Ｐ−１）：すべてのサンプルの、ビットプレーンｐ内の有意性＋有意サンプルの符号を符号化する。
ＳｉｇＰｒｏｐ（ｐ＝Ｐ−２）：プレーンｐ内の、既知の有意サンプルの、それらの有意性（及び符号）を符号化する、非有意隣接サンプルを訪問する。
ＭａｇＲｅｆ（ｐ＝Ｐ−２）：Ｍｐ［ｎ］の最下位ビットを符号化する、プレーンｐ＋１に関してすでに有意であったサンプルを訪問する。
Ｃｌｅａｎｕｐ（ｐ＝Ｐ−２）：有意性がまだ確立されていなかったすべてのサンプルの、ビットプレーンｐ内の有意性（及び符号）を符号化する。
ＳｉｇＰｒｏｐ（ｐ＝Ｐ−３）：…
ＭａｇＲｅｆ（ｐ＝Ｐ−３）：…
Ｃｌｅａｎｕｐ（ｐ＝Ｐ−３）：…
…
Ｃｌｅａｎｕｐ（ｐ＝０）：…
【００４２】
符号化器は、最終的なコード・ストリームに含まれる情報から、任意の数の最後方のコーディング・パスを削除し得ることに留意されたい。事実、符号化器は、そのようなコーディング・パスが削除されることになると合理的に予期することができる場合、そもそもそのようなコーディング・パスを生成する必要がない。
【００４３】
Ｊ２Ｋ−１ブロック・コーダのすべてのコーディング・パスは、４本のライン・ストライプを有するストライプ指向の走査パターンを採用する。各ストライプの列は、左から右へと訪問され、その後、次のストライプに移動し、一方、各ストライプ列の内部で、ストライプ列の４つのサンプルが、上から下へと走査される。
【００４４】
ブロック・コーダは、Ｃｌｅａｎｕｐパス内のすべてのシンボルの算術符号化を利用するが、任意選択的に、特定のＳｉｇＰｒｏｐ及びＭａｇＲｅｆコーディング・パスについて、未処理の（符号化されていない）ビットを放出することができる。未処理のビットが非Ｃｌｅａｎｕｐパスについて放出されるこのモードは、関連するＣＯＤ／ＣＯＣマーカ・セグメント内のコード・ブロック・スタイル・フィールドのビット０（ＬＳＢ）によって識別されるものとして、「算術コーダ・バイパス」モード、又は略して単に「ＢＹＰＡＳＳ（バイパス）」モードとして識別される。
【００４５】
ＦＡＳＴブロック符号化アルゴリズムの概説
コーディング・パス構造
ＦＡＳＴブロック・コーダも、ビットプレーンｐに対して定義されるＣｌｅａｎｕｐ、ＳｉｇＰｒｏｐ及びＭａｇＲｅｆコーディング・パスを有するコーディング・パス構造を採用する。しかしながら、重要なことに、各ビットプレーンｐと関連付けられるＣｌｅａｎｕｐパスは、Ｍｐ［ｎ］≠０であるサンプルの大きさＭｐ［ｎ］及び符号を完全に符号化する。この情報は、それらのコード・ストリームへの放出における点が存在しないように、すべての先行する（ｐがより大きい）コーディング・パスと関連付けられるものを完全に包含する。
【００４６】
これによって、最初に放出されるコーディング・パスがＣｌｅａｎｕｐパスである限り、符号化器により先頭と最後方の両方のコーディング・パスが削除され得る（又は決して生成され得ない）ということになる。事実、符号化器は、最終的なコード・ストリーム内の任意の所与のコード・ブロックについて、決して、４つ以上のコーディング・パスを含むことを必要としない。図１は、ＦＡＳＴブロック符号化器によって生成され、及び／又は、最終的なコード・ストリームに放出され得るコーディング・パスを示す。
【００４７】
復号器の観点から、ＪＰＥＧ２０００パケット・ヘッダを解析することによって復元されるＭｓｔａｒｔ値は依然として、そのコード・ブロックについて最初に利用可能なコーディング・パスと関連付けられるビットプレーン・インデックスｐ＝Ｋ−Ｍｓｔａｒｔ−１を識別する役割を果たす。しかしながら、ＦＡＳＴ  Ｃｌｅａｎｕｐパスは任意の所与のサンプルの複数の大きさビットを符号化することができるため、Ｍｓｔａｒｔはもはや、すべて０である先頭の大きさビットの数として解釈することはできない。符号化器は、Ｍｓｔａｒｔが、各コード・ブロックについての非ゼロの長さを有する、最初に放出されるコーディング・パスを正確に記述することを保証するために、慎重であるべきである。
【００４８】
注記：確認されるように、ＦＡＳＴ  Ｃｌｅａｎｕｐパスは、必ず少なくとも２バイトを含む。コード・ストリームの書き手が、ゼロの長さを有する最初のコーディング・パスを識別するパケット・ヘッダを生成することを可能にすることが好都合であり得る。これは、これらのコーディング・パスが、ＦＡＳＴブロック・コーダを使用するためにコード変換されているＪ２Ｋ−１符号化コード・ブロックからのコーディング・パスと関連付けられ得るためである。これによって、当該コード変換表現が、品質層とコード・ブロック切り捨て点との間の元の関係を失うことなく、元のＪ２Ｋ−１表現にコード変換し直されることが可能である。
【００４９】
ＦＡＳＴブロック・コーダによって生成されるＳｉｇＰｒｏｐ及びＭａｇＲｅｆコーディング・パスは互いに依存せず、それらは、直前のＣｌｅａｎｕｐパスのみに依存する。ＦＡＳＴブロック・コーダによって生成されるＳｉｇＰｒｏｐ及びＭａｇＲｅｆコーディング・パスは、Ｊ２Ｋ−１ブロック・コーダの対応するコーディング・パスと正確に同じ情報を符号化し、その結果、Ｃｌｅａｎｕｐ、ＳｉｇＰｒｏｐ又はＭａｇＲｅｆパスの終わりの表現の切り捨てと関連付けられる実効的な量子化は、ＦＡＳＴブロック符号化アルゴリズムが使用されるか、又は、Ｊ２Ｋ−１アルゴリズムが使用されるかにかかわらず、同じである。
【００５０】
ＳｉｇＰｒｏｐパスからのすべての有意性及び関連する符号情報は、未処理の２進数として放出され、ＭａｇＲｅｆパスからのすべての精度改善情報は未処理の２進数として放出され、これらの未処理のビット・ストリームは、ＦＦ９０ｈ〜ＦＦＦＦｈの範囲内の偽マーカ・コード（false marker code）の出現を回避するために、Ｊ２Ｋ−１アルゴリズムによって使用されるビット・スタッフィング手順のみを受ける（脚注２）。
【００５１】
ＦＡＳＴブロック符号化アルゴリズムによって採用されるＭａｇＲｅｆパスは、コード・ビットがリトル・エンディアン・ビット順序でバイトにパックされることを除いて、ＢＹＰＡＳＳモードにおいて動作するＪ２Ｋ−１アルゴリズムのものと同一である。すなわち、バイト内の最初のコード・ビットが、そのＭＳＢとは反対に、そのＬＳＢ内に現れる。
【００５２】
ＦＡＳＴブロック符号化アルゴリズムによって採用されるＳｉｇＰｒｏｐコーディング・パスも、ＢＹＰＡＳＳモードにおいて動作するＪ２Ｋ−１ブロック・コーダのものと非常に類似しているが、以下の２つの違いがある。
１．Ｊ２Ｋ−１ブロック・コーダがビッグ・エンディアン・ビット・パック順序を使用する一方で、コード・ビットはここでもリトル・エンディアン・ビット順序で未処理のビット・ストリームのバイトにパックされる。
２．Ｊ２Ｋ−１ブロック・コーダが同じサンプルの大きさビットの直後に任意の必要な符号ビットを挿入する一方で、１つ又は複数のストライプ列と関連付けられる有意性ビットが最初に放出され、続いて、関連する符号ビットが放出され、その後、次のストライプ列セットに進む。
【００５３】
これらの修正はともに、特にソフトウェアに基づく実施態様について、Ｊ２Ｋ−１アルゴリズムの方法にまさる、実施上の利点を有する。上記でリストされている第２の修正は、穏当なルックアップ・テーブルに基づく加速された復号を可能にするように、慎重に作成されることが留意される。
【００５４】
ブロック符号化アルゴリズム自体を別とすると、ＦＡＳＴブロック・コーダは、他のＪＰＥＧ２０００コード・ストリーム構造又はそれらの解釈に影響を及ぼさない。区域、パケット、タイル、変換、及びすべての他のＪＰＥＧ２０００要素は変化しないままである。特に、ＪＰＥＧ２０００パケットの構造は、ブロック・コーダによって生成される符号語セグメントに依存する。
【００５５】
符号語セグメントは、長さが必ずパケット・ヘッダを介して識別される、バイト・シーケンスである。Ｊ２Ｋ−１ブロック・コーダは、すべてのコーディング・パスを単一の符号語セグメントにパックすることができ（デフォルト・モード）、一方、ＴＥＲＭＩＮＡＴＩＯＮモードにおいては、各コーディング・パスがそれ自体の符号語セグメントを割り当てられ、一方、ＴＥＲＭＩＮＡＴＩＯＮのないＢＹＰＡＳＳモードにおいては、連続するＳｉｇＰｒｏｐ及びＭａｇＲｅｆコーディング・パスが、単一の符号語セグメントに割り当てられる。
【００５６】
ＦＡＳＴ  Ｃｌｅａｎｕｐパスは、常にそれ自体の符号語セグメントを割り当てられ、そのため、ＢＹＰＡＳＳモードには影響がない。しかしながら、ＴＥＲＭＩＮＡＴＩＯＮモードは影響を受ける。
【００５７】
ＣＡＵＳＡＬ（因果関係）モード・フラグも、ＳｉｇＰｒｏｐコーディング・パスによって表される情報に影響を及ぼすため、Ｊ２Ｋ−１ブロック・ビット・ストリームへの／からの完全に可逆的なコード変換を保証するために、ＦＡＳＴブロック・コーダによってサポートされる。
【００５８】
ＳＥＧＭＡＲＫ、ＥＲＴＥＲＭ、ＲＥＳＥＴ及びＢＹＰＡＳＳモード・フラグは、ＦＡＳＴブロック・コーダに関連して見出されるとき、無視されるが、これらのフラグはすべて、Ｊ２Ｋ−１ブロック・コーダに基づくコード・ストリームからＦＡＳＴブロック・コーダに基づくコード・ストリームへの、及び再び逆に戻す真に可逆的なコード変換をサポートするために保持することができる。
【００５９】
Ｃｌｅａｎｕｐパス概説
本明細書の大部分は、ＦＡＳＴブロック・コーダのＣｌｅａｎｕｐパスの説明に割かれる。エラー！引用元が見当たりません。図２及び図３は、エラー！引用元が見当たりません。それぞれ符号化及び復号プロセスの要約ブロック図を提供する。
【００６０】
これらの図面内の記憶要素は、コード・ブロックのサンプル、及び何らかの推定状態情報を記憶することができるバッファを表す。符号化中、記憶要素には、サブバンド・サンプルがデータ投入され、その後、導出される量（有意性フラグ及び大きさ指数）を直ちに求めることができる。復号中、記憶要素には、復号が進行するにつれて、サブバンド・サンプル及び導出される量（有意性フラグ及び大きさ指数）が漸進的にデータ投入される。記憶要素は、必ずしもコード・ブロック全体のすべてのサンプル又は導出される量に対応する必要はなく、物事をこのように概念化することが最も容易である。
【００６１】
Ｃｌｅａｎｕｐパスの重要な特徴は、その符号語セグメントが、実際には、異なる方向に成長する３つのバイト・ストリームから成ることである。これらの別個のビット・ストリームは、ビット・スタッフィングを受け、ＦＦ９０ｈ〜ＦＦＦＦｈの範囲内の偽マーカ・コードの出現を回避するように、３つのバイト・ストリームにパックされる。符号語セグメント全体に偽マーカ・コードがなく、ＦＦｈで終端しないように、バイト・ストリームを単一のＣｌｅａｎｕｐ符号語セグメントに組み合わせることにも注意が払われ、これはすべてのＪＰＥＧ２０００符号語セグメントにとって基本要件である。
【００６２】
この３ビット・ストリーム構成には、単一のインターリーブ・ビット・ストリームとは明確に異なる利点がある。特に、３ビット・ストリーム構成は、符号化アルゴリズム及び復号アルゴリズムの種々の要素間の重要な分離を可能にし、これらの要素が、並列に、又は、実施プラットフォームにとって最も有益である順序において実行されることを可能にする。ソフトウェア環境において、レジスタ及びベクトル処理ブロックは、３ビット・ストリーム編成を用いずに可能であるよりも、はるかに積極的に最適化することができる。ハードウェア実施態様において、３ビット・ストリーム編成は、より良好な同時性を提供し、ローカル・ストレージの実際の量が、２本又は３本程度と少ないコード・ブロック・ラインまで、非常に積極的に低減されることを可能にする。基本的に、アルゴリズムの種々の要素の最適な順序付けは、符号化と復号とで異なり、ハードウェア展開とソフトウェア展開とにおいて異なり、またベクトル処理長にも依存する。密にインターリーブされたビット・ストリームは、２つ以上の処理順序には一切対応することができず、一方、３ビット・ストリーム編成は、広範なプラットフォーム上での高効率的な実施態様を作成するのに必要な柔軟性を提供する。
【００６３】
Ｃｌｅａｎｕｐパス内で利用される３つのビット・ストリームは、本明細書においては「ＭＥＬビット・ストリーム」（又は単にＭＥＬストリーム）、「ＶＬＣビット・ストリーム」（又は単にＶＬＣストリーム）及び「ＭａｇＳｇｎビット・ストリーム」（又は単にＭａｇＳｇｎストリーム）として既知である。
【００６４】
ＦＡＳＴ  Ｃｌｅａｎｕｐパス・アルゴリズムの詳細な説明
有意性値、指数値、Ｉｍｐｌｉｃｉｔ−１（暗黙１）値及びＭａｇＳｇｎ値
ＦＡＳＴ  Ｃｌｅａｎｕｐアルゴリズムを理解するために、関与する重要な量の定義を与えることから始める。すでに言及したように、Ｃｌｅａｎｕｐパスは、特定のビットプレーンｐと関連付けられ、サンプルＸ［ｎ］の大きさは、以下のように理解され、
【数２】
2021520728.tif 000004
サンプルは、Ｍｐ［ｎ］≠０である場合に、有意であると考えられる。サンプルの大きさ指数Ｅｐ［ｎ］は、本明細書においては以下のように定義される。
【数３】
2021520728.tif 000005
式中、
【数４】
2021520728.tif 000006
は自然数の集合である。表１は、サンプル大きさＭｐと指数Ｅｐとの間の関係の詳細な精緻化を可能にする。ＪＰＥＧ２０００規格ファミリがサポートするサブバンド・サンプルの大きさは２３７まで（ただし、この値を含まない）であり、そのため、指数が３８を超える必要はないことに留意されたい。
【表１】
2021520728.tif 000007
【００６５】
サンプルは、その指数が非ゼロである場合にのみ有意であることが観察される。ＦＡＳＴ  Ｃｌｅａｎｕｐアルゴリズムは、有意性情報を明示的に符号化し、その後、必要なのは、各有意サンプルについて、符号χ［ｎ］及びＭｐ［ｎ］−１の値を符号化することのみである。この情報は、いわゆる「ＭａｇＳｇｎ」値に組み合わされる。
【数５】
2021520728.tif 000008
【００６６】
非ゼロ指数は、指数予測子κｐ［ｎ］のセットに関していわゆる「符号なし残差」を介して符号化される。この残差符号化プロセスの性質は、符号化情報が指数に対する境界しか与えることができないというものである。
Ｕｐ［ｎ］≧Ｅｐ［ｎ］
ｖｐ［ｎ］のＵｐ［ｎ］個のＬＳＢは、特に、各有意サンプルの符号及び大きさの完全な記述を提供する。しかしながら、境界が密であり（すなわち、Ｕｐ［ｎ］＝Ｅｐ［ｎ］）、Ｅｐ［ｎ］＞１であることを復号器が知ることができる場合、ｖｐ［ｎ］のＵｐ［ｎ］個のＬＳＢの間での最上位ビットは黙示的に１であることが分かるため、ｖｐ［ｎ］のＵｐ［ｎ］−１個のＬＳＢのみを放出することで十分である。
【００６７】
これを理解するために、「ｉｍｐｌｉｃｉｔ−１」条件を定義する。
【数６】
2021520728.tif 000009
【００６８】
このとき、有意サンプルのＭａｇＳｇｎビット・ストリームにパックされるｖｐ［ｎ］からのＬＳＢの数は、以下によって与えられる。
ｍｐ［ｎ］＝Ｕｐ［ｎ］−ｉｐ［ｎ］
【００６９】
以下の小節は、各サンプルについて有意性情報及びＵｐ［ｎ］値を符号化し、ｉｍｐｌｉｃｉｔ−１条件ｉｐ［ｎ］を導出するために使用される方法の詳細な説明を与える。
【００７０】
便宜上、通常、文脈によって暗示されることを考慮して、上記で展開した表記から下付き文字ｐ（ビットプレーン・インデックス）を削除することとし、一方、コード・ブロック内のサンプル位置を識別する２Ｄインデックスｎを下付き位置に動かす。等価な表記は以下のようになる。Ｍｐ［ｎ］≡Ｍｎ、Ｅｐ［ｎ］≡Ｅｎ、Ｕｐ［ｎ］≡Ｕｎ、κｐ［ｎ］≡κｎ、ｉｐ［ｎ］≡ｉｎ、及びｖｐ［ｎ］≡ｖｎ。
【００７１】
注目に値する符号化アルゴリズムのいくつかの特徴が、ここで前もって下記に要約され得る。これらの特徴は、図２及び図３の符号化及び復号ブロック図内に容易に認めることができる。
１．コード・ブロック内のサブバンド・サンプルは、２×２グループｇ内で処理され、それらの各々が、当該グループ内の各サンプルの有意性を示す４ビット有意性パターンρｇを割り当てられる。
２．有意性パターンは、適応的ＭＥＬＣＯＤＥ及び非適応的ＶＬＣコードのセットの、２つの異なる技法の組合せを使用して符号化される。
３．指数境界Ｕｎは、２×２グループ内のすべてのサンプルに共通である「符号なし予測残差」ｕｇを介して符号化され、その結果、グループｇ内のすべての位置ｎについてＵｎ＝ｆｐｒｅｄ（κｎ，ｕｇ）となり、ｆｐｒｅｄ（）は、ほぼ常にκｎ＋ｕｇを返す固定関数である。
４．予測子κｎは、それ自体はコード・ブロック内の先行するサンプルのＭａｇＳｇｎ値に依存する、特定の先行して符号化されているサンプルの大きさ指数から導出される。
５．あるグループの有意性パターンρｇ及び符号なし予測残差ｕｇは、そのうちの一方（ＣｘｔＶＬＣコード）が隣接有意性コンテクストｃｇに依存して、テーブル検索手法に最良に適し、一方で他方（Ｕ−ＶＬＣコード）が必要な場合に直接的な計算に適している、２つのサブコードを伴うＶＬＣ符号化方式を使用してともに符号化される。
６．２×２グループの対のＶＬＣコード・ビットは、所望される場合に４サンプル・グループが個々に符号化又は復号されることを可能にしながら、一度に８個のサンプルをともに符号化又は復号することを容易にするように、インターリーブされる。
【００７２】
ビット・スタッフィング及びバイト・ストリームのパック
言及したように、ＪＰＥＧ２０００コード・ストリーム構造との互換性のために、ＦＡＳＴブロック・コーダのＣｌｅａｎｕｐパスは、その長さが既存の方法を使用して関連パケット・ヘッダについて通信される、単一の符号語セグメントを生成する。しかしながら、ＦＡＳＴブロック・コーダにおいては、この符号語セグメントは、ビット・スタッフィングすること、及び、以下の３つのビット・ストリームからのビットをパックすることによって導出される、３つのバイト・ストリームに分割する。
Ａ．そのパックされたバイトが符号語セグメントの始まりから前方に成長するＭａｇＳｇｎビット・ストリーム、
Ｂ．そのパックされたバイトが符号語セグメントの終わりから後方に成長するＶＬＣビット・ストリーム、及び
Ｃ．そのパックされたバイトがＭａｇＳｇｎバイト・ストリームの終わりから前方に成長するＭＥＬビット・ストリーム。
【００７３】
本明細書においては、ビット・ストリーム及びバイト・ストリームと言う用語は、慎重に使用される。各ビット・ストリームは、符号化アルゴリズムによって生成されるビットの列から成り、一方、対応するバイト・ストリームは、最終的な符号語セグメント内での偽マーカ・コードの出現を回避する役割を果たすビット・スタッフィング・アルゴリズムを受ける、それらのビットがパックされるバイトから成る。前方及び後方に成長するバイト・ストリームの構成は図４に示されている。
【００７４】
ビットパック順序及びビット・スタッフィング
ＭａｇＳｇｎビット・ストリームからのビットは、リトル・エンディアン順序でＭａｇＳｇｎビット・ストリームのバイトにパックされ、その結果、ＭａｇＳｇｎビット・ストリームからの最初のビットが、ＭａｇＳｇｎバイト・ストリームからの最初のバイトのＬＳＢ（ビット０）に現れる。バイトが一杯になると、バイトの値がＦＦｈである場合、次のバイトのＭＳＢ（ビット７）が、値０を有するスタッフィング・ビットになり、その結果、バイトは利用可能なビットを７ビットしか有せず、７Ｆｈの値を超えることができない。これは、連続するバイトからなるいずれの対も、ＦＦ８０ｈ〜ＦＦＦＦｈの範囲内の１６ビットのビッグ・エンディアン符号なし整数を形成することができず、ＭａｇＳｇｎビット・ストリームからパックされる１５ビットごとに導入されるスタッフィング・ビットが最大で１であることを意味する。
【００７５】
復号器は、ビットをアンパックし、スタッフィング・ビットを除去する前に、ＦＦｈバイトによって、ＭａｇＳｇｎバイト・ストリームを拡張すべきである。
【００７６】
注記：符号化器は、そうでなければＭａｇＳｇｎバイト・ストリームに放出される任意の終端ＦＦｈを廃棄することができ、一般的にそうすべきである。
【００７７】
ＭＥＬビット・ストリームからのビットは、ビッグ・エンディアン順序でＭＥＬバイト・ストリームのバイトにパックされ、その結果、ＭＥＬビット・ストリームからの最初のビットが、ＭＥＬバイト・ストリームからの最初のバイトのＭＳＢ（ビット７）に見出される。バイトが満たされると、バイトの値がＦＦｈである場合、次のバイトのＭＳＢ（ビット７）が、値０を有するスタッフィング・ビットになり、次のＭＥＬビットがそのバイトのビット６にパックされる。ここでも、これは、ＭＥＬバイト・ストリームからの連続するバイトからなるいずれの対も、ＦＦ８０ｈ〜ＦＦＦＦｈの範囲内の値を有する１６ビットのビッグ・エンディアン符号なし整数を形成することができず、ＭＥＬビット・ストリームからパックされる１５ビットごとに導入されるスタッフィング・ビットが最大で１であることを意味する。
【００７８】
ＶＬＣビット・ストリームからのビットはリトル・エンディアン順序でＶＬＣバイト・ストリームのバイトにパックされるが、バイト自体は、符号語セグメントの終わりから後方に作用する。バイトが逆順に放出され、消費されるという事実は、異なるビット・スタッフィング手順が必要とされることを意味する。特に、Ｂｃｕｒが、符号化中にビットがパックされている現在のバイト、又は、復号中にビットがアンパックされている現在のバイトを示すものとし、Ｂｐｒｅｖが、符号化中に放出されている先行するバイト又は復号中に消費されている先行するバイトを示すものとする。Ｂｐｒｅｖ＞８Ｆｈであり、Ｂｃｕｒの７つのＬＳＢがすべて１である場合、ＢｃｕｒのＭＳＢは、０であるべきであるスタッフィング・ビットである。Ｂｃｕｒが実際にはＦＡＳＴ  Ｃｌｅａｎｕｐ符号語セグメント内でＢｐｒｅｖに先行することに留意すると、このビット・スタッフィング手順は、ＶＬＣバイト・ストリームからの連続するバイトから成るいずれの対も、任意のマーカ・セグメント内の外部のＪＰＥＧ２０００コード・ストリーム内で現れてはならないマーカ・コードの範囲内であるＦＦ９０ｈ〜ＦＦＦＦｈの範囲内の値を有する１６ビットのビッグ・エンディアン符号なし整数を形成できないことを確実にする。
【００７９】
インターフェース・ロケータ語（Interface Locator Word）を介したサフィックス長Ｓの通信
ＦＡＳＴ  Ｃｌｅａｎｕｐパスの符号語セグメントの長さＬは常に、関連付けられるＪＰＥＧ２０００パケット・ヘッダ内で通信される。ＭＥＬバイト・ストリーム及びＶＬＣバイト・ストリームを含むこの符号語セグメントの部分は、Ｓバイトから成る符号語サフィックスとして識別される。Ｌ−Ｓが、符号語セグメントの前方に成長するＭａｇＳｇｎバイト・ストリーム部分とＭＥＬバイト・ストリーム部分との間のインターフェースを識別するため、Ｓの値は、インターフェース・ロケータ語（ＩＬＷ）として確保されている１２ビット内で符号化される。
【００８０】
１２ＩＬＷビットは、符号語セグメント内の最後から２番目のバイトの４つのＬＳＢとともに、符号語セグメント内の最後のバイトの８ビットに対応し、すべてのＦＡＳＴ  Ｃｌｅａｎｕｐ符号語セグメントは、２以上の長さＬ及びサフィックス長Ｓを有するべきである。ＩＬＷビットは、ＶＬＣバイト・ストリーム自体の中にあると考えられる。復号器は、ＩＬＷビットを読み取り、Ｓの値を復号し、その後、そこからＶＬＣビットが抽出されるＶＬＣバイト・ストリーム内の符号語セグメントの変更された最後の２バイトを含め、ＩＬＷビットを１で上書きすべきであるが、そのような抽出された最初の１２ビットは破棄する。符号化器は、実際のＶＬＣビットをパックする前に１２個の１をＶＬＣバイト・ストリームにパックすべきであり、その後、バイト・ストリームはＣｌｅａｎｕｐ符号語セグメントに組み合わされており、１２個のＩＬＷビット位置は１を保持するはずであり、これは符号化サフィックス長Ｓと置き換えられるべきである。これらの手順は、ＶＬＣバイト・ストリームと関連付けられるビット・スタッフィング及びビット・アンスタッフィング手順が、サフィックス長自体に依存しないように動作することを確実にする。
【００８１】
ＶＬＣバイト・ストリームからの実際のＶＬＣビットのアンパックは、そのバイト（Ｂｃｕｒ）の４つのＬＳＢを１とし、ＢｐｒｅｖをＦＦｈとして、符号語セグメント内の最後から２番目のバイトのビット４から開始することができることに留意されたい。
【００８２】
サフィックス長Ｓは、以下のように１２ＩＬＷビット内で符号化される。
Ｓ＝ＢＬ−１＋（ＢＬ−２＆０Ｆｈ）×２５５
式中、ＢＬ−１は符号語セグメント内の最後のバイトであり、ＢＬ−２は最後から２番目のバイトであり、（ＢＬ−２＆０Ｆｈ）は、ＢＬ−２の４つのＬＳＢを分離する。この表現において、ＢＬ−１ＦＦｈに等しくないものとする。
【００８３】
変形形態１：サフィックス長は、境界
【数７】
2021520728.tif 000010
に決して違反しない必要があり、そのため、ＢＬ−２の４つのＬＳＢは、すべて１になることができないことを示すことができる。これを念頭に置いて、Ｓの符号化を単純化するとともに、スタッフィング・ビットが符号語セグメントの最後から２番目のバイト（ＶＬＣバイト・ストリームの第２のバイト）に出現する可能性を確定的に回避するように、最終的な規格のために本発明において使用されるＩＬＷ符号化ポリシを改善することができる。これを行うために、Ｓの１２ビット表現の８つのＭＳＢを変更せずにＢＬ−１にパックし、これによって、Ｓの４つのＬＳＢも、変更せずにＢＬ−２にパックすることができる。このとき、ＢＬ−１は８Ｆｈを超えないはずであり、その結果、スタッフィング・ビットはＢＬ−２内にある必要はなく、ＶＬＣバイト・ストリームからのＶＬＣビットのアンパック中に１２個すべてのＩＬＷビットを０に置き換えることが安全である。これは、元のアルゴリズムに対する望ましい変更である。
【００８４】
終端手順
前方に成長するＭＥＬバイト・ストリームと逆方向に成長するＶＬＣバイト・ストリームとの間の境界は、明示的にシグナリングされない。復号器は、ビットをアンパックするときにＭＥＬバイト・ストリームとＶＬＣバイト・ストリームの両方に属するように、ＦＡＳＴ  Ｃｌｅａｎｕｐ符号語セグメントのＳ個すべてのサフィックス・バイトを考慮すべきである。これは、サフィックスからのいくつかのビットが両方のビット・ストリームにアンパックされ得ることを意味する。
【００８５】
注記：上述したようなＩＬＷビットの置換は、任意のＭＥＬ又はＶＬＣビットが符号語サフィックスからアンパックされる前に行われるべきである。
【００８６】
符号化器は、この結果として正確な復号が行われる限り、ＭＥＬバイト・ストリームとＶＬＣバイト・ストリームとの間の重複をもたらす終端手順を自由に採用することができる。実際、符号化器がこれらのストリームの間の１バイトの重複を探索することは有意義であり、相対的に単純である。
【００８７】
３つのバイト・ストリームと関連付けられる個々のビット・スタッフィング手順は、バイト・ストリーム間のインターフェースにおける偽マーカ・コードの回避を保証しない。これは、符号化器終端中に保証されなければならない。偽マーカ・コードは、ＦＦ９０ｈ〜ＦＦＦＦｈの範囲内の１６ビットのビッグ・エンディアン符号なし整数を形成する一対の連続するバイトである。ＭＥＬバイト・ストリームとＶＬＣバイト・ストリームとの間の偽マーカ・コードを回避するには、符号化器が、追加のバイト（例えば、００ｈバイト）を挿入することが必要であり得る。
【００８８】
すでに上記で述べたように、復号器は常に１つの最後方のＦＦｈを合成するため、符号化器は、一般的に、ＭａｇＳｇｎバイト・ストリームに放出されることになる任意の末端ＦＦｈバイトを排除すべきである。この手法は、効率化を助けるとともに、ＦＡＳＴ  Ｃｌｅａｎｕｐ符号語セグメントのプレフィックスとサフィックスとの間のインターフェースに偽マーカ・コードが生じる任意の可能性を回避する。
【００８９】
走査順序及び２×２グループ構造
高さＷ及び幅Ｈのコード・ブロックからのサンプルが、２×２グループに編成され、図５に認められるライン・インターリーブ様式で処理される。すべての２×２グループが４つのサンプルを走査パターンに確実に与えるように、幅が奇数であるコード・ブロックの右に追加の列が実効的に挿入され、高さが奇数であるコード・ブロックの下に追加の行が挿入されることに留意されたい。この付け足しは、ＦＡＳＴ  Ｃｌｅａｎｕｐコーディング・パスのみにおいて適用され、他のコーディング・パスには影響を与えない。付け足された位置と関連付けられるサンプル値は符号化されるが、すべて非有意、すなわち、Ｍｐ＝０であるべきである。
【００９０】
有意性パターン、コンテクスト及びＡＺＣグループ
各グループｇは、グループ内の任意のサンプルが有意である場合は１であり、そうでなければ０である２進有意性状態σｇを有する。加えて、グループｇは、０〜１５の範囲内の４ビットの有意性パターンρｇを有し、その各ビット（走査順序においてＬＳＢ〜ＭＳＢ）は、グループ内の対応するサンプルが有意である場合は１である。明らかに、σｇ＝０⇔ρｇ＝０である。
【００９１】
各グループは、走査順序において訪問される、先行するグループと関連付けられる有意性情報のみに依存する符号化コンテクストｃｇを割り当てられる。これによって、大きさ及び符号情報の前に有意性が復号されることが可能であり、これによって、少なくとも符号化器と復号器の両方のソフトウェア実施態様において、計算スループットが改善し、また、ＳｉｇＰｒｏｐ及びＭａｇＲｅｆコーディング・パスがＣｌｅａｎｕｐパスと並行して符号化及び復号されることが可能になる。
【００９２】
ＡＺＣグループのＭＥＬ適応的符号化
ｃｇ＝０であるグループｇは、全ゼロ・コンテクスト（ＡＺＣ：Ａｌｌ−Ｚｅｒｏ−Ｃｏｎｔｅｘｔ）状態にあると言われる。実際、これらは、因果関係のある隣接グループがすべて非有意であるグループであり、このことがＡＺＣという用語を説明している。適応的符号化は、ＡＺＣグループの有意性σｇを符号化するためにのみ利用される。具体的には、シーケンス内の各ＡＺＣグループと関連付けられる２値シンボルσｇは、連結されて、ＭＥＬビット・ストリーム内で符号化される、可変長２進列σＡＺＣ［ｉ］を形成する。このＡＺＣシンボル列の符号化及び復号は、任意の他の符号化又は復号ステップと同期される必要はない。
【００９３】
ＡＺＣシンボル・ストリームσＡＺＣ［ｉ］は最初にラン・レングスＲＡＺＣ［ｊ］のシーケンスに変換され、各ランは、次の１に先行する０の数を表す。４つのコード・ブロック・サンプルから成るグループごとに存在するＡＺＣシンボルは最大で１つであり、４０９６よりも多いサンプルを有するコード・ブロックは存在し得ないため、符号化される必要がある最大ラン・レングスは、完全に非有意なコード・ブロックに対応する１０２４である。
【００９４】
ＭＥＬ符号化手順は、ＭＥＬＣＯＤＥとして知られる、ＪＰＥＧ−ＬＳ規格内の適応的ラン・レングス符号化アルゴリズムの変形形態である。ＪＰＥＧ−ＬＳ規格において使用されるＭＥＬＣＯＤＥは３２個の状態を有するが、０〜１２の範囲内の１３個のみの状態インデックスｋを有する異なる状態機械が、ＦＡＳＴブロック・コーダによって利用される。各状態ｋは、指数ＥＭＥＬ［ｋ］及び閾値
【数８】
2021520728.tif 000011
と関連付けられる。表２は、重要な量の値を列挙している。
【表２】
2021520728.tif 000012
【００９５】
ＭＥＬコードは、ラン・レングスＲＡＺＣ［ｊ］のための一タイプの適応的ゴロム・コードであり、閾値ＴＭＥＬ［ｋ］は、ゴロム・パラメータの役割を果たす。差し当たって適応を無視すると、符号化手順は、以下のように要約することができる。
Ｒ≧Ｔである間、１（「ヒット」）を放出し、ＲからＴを減算する
０（「ミス」）を放出し、その後、ＲのＥ個のＬＳＢを放出する
【００９６】
指数関数的に分布した情報源の最適なゴロム・パラメータは、その平均値の半分をわずかに上回る。したがって、典型的なランＲは、ミスが後続する１つのヒットによって符号化されるべきである。これは、適応的状態機械が、各ランについて１つのヒット及び１つのミスを経験すべきであることを暗示し、これは、表２に示すように、各ヒット後に状態をインクリメントし、各ミス後に状態をデクリメントすることによって達成される。
完全なＭＥＬ符号化アルゴリズムは、以下のとおりである。
ｋ＝０に初期化する
ｆｏｒ  各ｊ＝０，１，…
ＲをＲＡＺＣ［ｊ］に設定する
ｗｈｉｌｅ  Ｒ≧ＴＭＥＬ［ｋ］
「１」（「ヒット」）を放出する
ＲをＲ−ＴＭＥＬ［ｋ］に更新する
ｋをｍｉｎ｛ｋ＋１，１２｝に更新する
「０」（「ミス」）を放出する
ＲのＥＭＥＬ［ｋ］個のＬＳＢを放出する
ｋをｍａｘ｛ｋ−１，０｝に更新する
【００９７】
注記：上記アルゴリズムは、ラン・レングスの符号化に関して表現されているが、２進算術符号化がランに対して動作する状態機械としてリキャストすることができるように、上記アルゴリズムは、個々のシンボルに対して動作する適応的状態機械として常にリキャストすることができる。個々のＡＺＣシンボルの符号化器として、ＭＥＬコーダはここで、６を超えるコード・ビットを生成することができず、多くの場合、まったくビットを生成しない。Ｊ２Ｋ−１アルゴリズムによって使用されるＭＱ算術コーダとＭＥＬ符号化手法は両方とも、ここで概ね同じ数の状態遷移を呈するが、ＭＥＬコーダの利点は、状態機械が非常に小さいことである。ソフトウェアにおいて、ランの符号化及び復号を駆動するために小さいルックアップ・テーブルを使用することが賢明であり、ここで、ほとんどの場合、ラン全体を符号化又は復号するためには単一の検索で十分である。
【００９８】
ＭＥＬコーダによって放出されるビットは、ＭＥＬビット・ストリームを構成する。コード・ブロック内の最後のＡＺＣシンボルが０である場合、最後のランは「オープン」であると考えられ、これは、符号化ラン値が、少なくとも、ＡＺＣシンボル列の最後方のゼロの数であるＲｌａｓｔ程度の大きさである任意の値を有することができることを意味する。
【００９９】
注記：符号化器は、後方に成長するＶＬＣバイト・ストリームとの重複の機会を最大化するように、ＭＥＬバイト・ストリームを終端させるために「オープン」ランの柔軟性を利用することができる。
【０１００】
ＣｘｔＶＬＣコードを介して有意性及びｕｏｆｆ符号化
非ＡＺＣグループ、及び、有意である（すなわち、σｇ＝１）ＡＺＣグループについて、個々の２×２グループに対して動作する可変長コードを使用して、有意性パターンρｇが、他の情報とともに符号化される。本明細書においてはＣｘｔＶＬＣコード及びＵ−ＶＬＣコードとして識別される、２つのタイプのコードが利用される。結果もたらされるコード・ビットは、後に説明するようにグループ対単位でインターリーブされ、ＦＡＳＴブロック・コーダのＶＬＣビット・ストリームを形成する。
【０１０１】
この節は、有意性パターンρｇ、及び、対応する指数境界Ｕｎを得るためにオフセットがグループｇ内のサンプルと関連付けられる予測子κｎに適用される必要があるか否かを示す２進値
【数９】
2021520728.tif 000013
をともに表すために使用されるＣｘｔＶＬＣコードのみに関する。これらの
【数１０】
2021520728.tif 000014
値の正確な意味は、本明細書において後に与えられる。
【０１０２】
先行するラインからのコンテクスト情報が存在しないコード・ブロック内の最初のライン対（同等に、２×２グループの最初の行）と、すべての最初のものでないライン対とが区別される。図６は、これらの２つの事例のコンテクスト・ラベルを形成するために使用される有意性情報を示す。対応するコンテクスト・ラベルが、以下のように、この情報から計算される。
最初のものでないグループ行：
【数１１】
2021520728.tif 000015
最初のグループ行：
【数１２】
2021520728.tif 000016
【０１０３】
変形形態２：コンテクスト・ラベルは、ここでは、最初のグループ行と最初のものでないグループ行の両方について、０〜７の値をとる。各事例について別個のＣｘｔＶＬＣコード・テーブルが使用されるため、実施態様のフットプリントを低減するように、コーダの全体的な性能に対する影響がより少ない、コンテクストのより小さいセットをグループの最初の行に使用することが好ましい場合がある。特に、本発明においては、以下が使用され得る。
最初のグループ行（代替形態）：
【数１３】
2021520728.tif 000017
【０１０４】
注記：これらのラベルの正確な定義は、ＣｘｔＶＬＣコード・テーブルの正確な解釈のためにのみ重要である。コンテクスト・ラベルの置換が、ＣｘｔＶＬＣコード・テーブルの対応する置換とともに、同等に利用され得る。
【０１０５】
最初のものでないグループ行のＣｘｔＶＬＣ符号語長
最初のものでないグループ行（コード・ブロックの最初のものでないライン対）に見出されるグループについて、ＣｘｔＶＬＣ符号語は、最大７ビットの長さを有する。８つの別個のコンテクストｃｇが存在し、それらの各々は、４ビットの有意性パターンρｇ及び２進
【数１４】
2021520728.tif 000018
値の有効な組合せに対応する、最大３１個の異なる符号語を有する。グループ全体が非有意である場合、
【数１５】
2021520728.tif 000019
の値は、復号器にとって何の意味もなく、ここで説明を目的として０であるものとして解釈され、そのため、組合せ
【数１６】
2021520728.tif 000020
は有効でない。コンテクストｃｇ＝０は、その全体的な有意性がＭＥＬビット・ストリーム内で符号化されるＡＺＣグループに対応し、その結果、
【数１７】
2021520728.tif 000021
が０又は１に等しい非ゼロρｇパターンに対応する３０個のみの有効な符号語が存在する。
【０１０６】
表３は、コンテクストと符号語との有効な各組合せの符号語長を与える。符号語長の、実際の符号語へのマッピングは、この節において後に説明する。
【表３】
2021520728.tif 000022
【０１０７】
注記：実施態様は、条件付き分岐を回避するように、ｃｇ＝０とρｇ＝０との無効な組合せについて、コーディング・テーブルにゼロ長のエントリをデータ投入するために有用であることが見出され得る。
【０１０８】
変形形態３：本明細書において提供されるＣｘｔＶＬＣ符号語テーブルは、一定範囲の映像タイプにわたって符号化効率を最適化するために、さらなる変更を受けることができる。特に、種々のサブバンド配向に対して個別の符号語テーブルを提供することが望ましい場合がある。
【０１０９】
変形形態ｍ１：符号語長が７未満である
【数１８】
2021520728.tif 000023
組合せについて符号化されている情報を拡張する機会が存在する。ｂｇが、対応する境界Ｕｎによって決定されるような、グループｇ内の各サンプルの最上位の大きさビットをキャプチャする４ビット語（ビットパターン）を示すものとする。すなわち、４ビットのパターン語ｂｇ及びρｇ内のビットｊに対応するサンプルの位置をｎｊと表現すると、ｂｇのビットｊは、ρｇのビットｊが０でない限り、
【数２０】
2021520728.tif 000024
のビット
【数１９】
2021520728.tif 000025
であり、これは、
【数２１】
2021520728.tif 000026
が０であることを意味し、この場合、ｂｇのビットｊは０である。ｂｇをグループｇの「ｍｓｂパターン」として識別する。本明細書において後に説明するように、
【数２２】
2021520728.tif 000027
且つ
【数２３】
2021520728.tif 000028
であるときはいつでも、ｍｓｂパターンは明示的な通信なしで復号器によって推測されることができず、そのため、グループ内の各有意サンプルのｍｓｂパターン・ビットは通常、ＭａｇＳｇｎビット・ストリームに含まれる。しかしながら、代わりに拡張されたＣｘｔＶＬＣコード内のこれらのビットの内の１つ又は複数を符号化する機会が存在する。ＶＬＣ復号複雑度はほぼ全体的に、最大符号語長によって駆動され、そのため、基礎となる確率が、表現を効率的にするために７ビットよりも長い符号語を必要とすることなくｍｓｂパターン符号化によって導入される追加のダイバーシティに対応するのに十分に大きい、一部の符号語のｍｓｂパターン情報のみを提供する。その上、一般的に、ｍｓｂパターン情報の一部のみが、ＣｘｔＶＬＣ内で符号化される。
【０１１０】
この変形形態は、変数−変数長さ符号化方式を構成し、各符号語の長さと各符号語によって表される情報の量の両方が変数である。具体的には、この変形形態において、増強ＣｘｔＶＬＣ内の各符号語は、
【数２４】
2021520728.tif 000029
対を、部分的ｍｓｂパターン
【数２５】
2021520728.tif 000030
、及び、
【数２６】
2021520728.tif 000031
内のいずれのビット位置が、
【数２７】
2021520728.tif 000032
であるときはいつでも０である有効なｍｓｂパターン情報φｇを含むことを示す有効性マスクφｇとともに識別する。
【０１１１】
この事例におけるＦＡＳＴブロック符号化アルゴリズムは、ＭａｇＳｇｎビット・カウントｍｎが、そのφｇビットが１である各サンプルについて１だけ低減され、そのような各サンプルのｉｍｐｌｉｃｉｔ−１値ｉｎが
【数２８】
2021520728.tif 000033
の対応するビットに設定されることを除いて、実質的に変更されないままである。これは、ＶＬＣ復号プロセスを大幅に改変することなく、又は、ＭａｇＳｇｎパック／アンパック・プロセスを変更することなく、ｍｓｂパターン・データのＣｘｔＶＬＣに基づく符号化と関連付けられる（穏当な（脚注３））符号化効率改善を得ることができることを意味する。ＣｘｔＶＬＣ符号化は、この変形形態の下ではいくらかより複雑になると予測され得るが、特にＣｘｔＶＬＣ検索待ち時間が符号化器スループットに（復号器スループットとは異なり）にほぼ影響を与えないことに留意すると、管理可能なサイズのルックアップ・テーブルによって達成することができる。この変更の、ソフトウェア・スループットに対する主な影響は、各サンプルのｍｎ及びｉｎ値の計算の複雑度が増大することである。しかしながら、これは、符号化器と復号器の両方において全体的にベクトル化可能である。
【０１１２】
上述した増強ＣｘｔＶＬＣは、４ビットの有効性マスクφｇを、有効でない
【数２９】
2021520728.tif 000034
の最後のビットの数を示す２ビット値に置き換えることによって、いくらか単純化することができる。
【数３０】
2021520728.tif 000035
のすべてのビットが無効である場合を明示的に通信する必要はないことに留意されたい。これは、φｇ＝０及び
【数３１】
2021520728.tif 000036
などの、他の様態では不可能な組合せによってこれを容易に識別することができるためであり、これは、すべてのｍｓｂパターン・ビットが０に等しいことを意味し、これは、
【数３２】
2021520728.tif 000037
である場合には不可能である。さらにより単純な変形形態は、
【数３３】
2021520728.tif 000038
と関連付けられる情報を、０であることが分かっているｂｇの最初のエントリの数を識別するただ単一の２ビット量に低減することを含む。
【数３４】
2021520728.tif 000039
である場合、正確にｂｇは０になり得ないため、ゼロの数がグループ内の有意サンプルの数よりも１少ない場合はいつでも、復号器は、そのような０に後続するｉｍｐｌｉｃｉｔ−１を推測することができることが留意される。
【０１１３】
最初のグループ行のＣｘｔＶＬＣ符号語長
グループの最初の行について、指数境界の符号化も、これらのグループについては異なるため、ここで
【数３５】
2021520728.tif 000040
値を符号化することはしない。この場合、８個のコンテクスト・ラベルの各々について最大１６個の有効な符号語が存在し、符号語長は表４に記録されている。
【０１１４】
変形形態４：最初のグループ行に使用される符号化手順と最初のものでないグループ行に使用される符号化手順との間の類似性を増大させることが好ましい場合があり、そのため、その後、
【数３６】
2021520728.tif 000041
値を含む、グループの最初の行の符号化テーブルが採用され得る。これは、下記の「最初のグループ行内で利用される符号化技法」の節に見られる注記においてさらに論じる。
【表４】
2021520728.tif 000042
【０１１５】
表３及び表４の各々のエントリと関連付けられる実際のＶＬＣ符号語ｃｗは、各コンテクストのプレフィックス・コードをもたらすマクミラン割り当て手順を介して得られる。上記の表においてエントリｗを有する符号語の長さをｌｗと表現し、ここで、ｗ＝０はコンテクスト・ラベルの最初の有効エントリであり、ｗ＝Ｗ−１は最後のエントリであり、Ｗはそのコンテクストの有効な符号語の数である。符号語は最初に、以下のように、インデックス・テーブルｉｄｘ［］を使用して最短のものから最長のものへとソートされる。
ｆｏｒ  各ｗ＝０，１，…，Ｗ−１
ｆｏｒ  各ｉ＝０，１，…，ｗ−１
ＩＦ  （ｌｗ＜ｌｉｄｘ［ｉ］）又は（（ｌｗ＝ｌｉｄｘ［ｉ］）且つ（ｉ  ｍｏｄ  ２≠０））
ｉｄｘ［ｉ］エントリｉ〜ｗ−１を位置ｉ＋１〜ｗに移動させる
ｉを進めることなくループを脱出する
ｉｄｘ［ｉ］＝ｗを割り当てる
【０１１６】
このソート手順における条件（ｉ  ｍｏｄ  ２≠０）はそれほど重要ではなく、ＦＡＳＴブロック・コーダの符号化効率の評価中に利用される符号語を生成するために使用される手順と一貫させるためのものに過ぎない。
【０１１７】
ソートが完了すると、各符号語は、以下に従って、ｌｍａｘビットの符号なし整数Ｉｗを割り当てられ、
【数３７】
2021520728.tif 000043
に従い、
【数３８】
2021520728.tif 000044
である。
【０１１８】
最後に、ＶＬＣの実際の符号語ｃｗが、ビッグ・エンディアン順序において書き込まれるＩｗの最上位のｌｗビットから形成される。すなわち、ｃｗの最初のビットはＩｗのＭＳＢ（ビットｌｍａｘ−１）でり、一方、符号語ｃｗの最後のビットは、Ｉｗのビットｌｍａｘ−ｌｗである。すでに言及したように、これは周知のマクミラン割り当てである。割り当ては、順序が上記の明示的なソート手順によって規定される、同一の長さを有する符号語の置換を除いて一意的である。
【０１１９】
最初のものでないグループ行の予測子、Ｕ境界及びＵ−ＶＬＣコード
この節は、排他的に、最初のものでないグループ行の大きさ指数境界の符号化に関する。コード・ブロック内のグループの最初の行に属するサンプルは、後述するように、いくらか別様に処理される。
【０１２０】
予測子κｎが、先行するグループ行からの大きさ指数に基づいて、各有意サンプルについて形成される。図７は、グループｇ内の有意サンプル（脚注４）の予測子を形成するために使用される４つの指数を識別し、位置の下付き文字ｎが、より好都合なグループ関連ラベル「ｔｌ」、「ｂｌ」、「ｔｒ」及び「ｂｒ」に置き換えられている。復号器は、一般的に、先行するグループ行の第２のライン内の完全に復号されたサンプル値からこれらの大きさ指数を導出する必要がある。
【０１２１】
予測子の形成の最初のステップは、推定指数
【数３９】
2021520728.tif 000045
、
【数４０】
2021520728.tif 000046
、
【数４１】
2021520728.tif 000047
及び
【数４２】
2021520728.tif 000048
を
【数４３】
2021520728.tif 000049
、
【数４４】
2021520728.tif 000050
、
【数４５】
2021520728.tif 000051
及び
【数４６】
2021520728.tif 000052
から形成することである。利用される割り当ては単純に以下のとおりである。
【数４７】
2021520728.tif 000053
式中、グループｇが２つ以上の有意サンプルを有する場合、γｇは１に等しく、そうでない場合は０である。γｇ値は、「複数有意性」マスクとして解釈することができる。
【０１２２】
推定指数は、以下を使用して予測子に変換され、
κｎ＝ｍａｘ｛Ｐｎ，１｝−Ｚｇ
式中、Ｚｇは、グループ内のすべての有意サンプルが２以上の推定指数を有する場合は１であり、そうでなければ０である、位置ｎが属するグループｇの予測オフセットである。オフセットＺｇは実効的に、ｕｇが−１程度と小さい予測残差を表すことを可能にし、これは形式的に以下のように書くことができる。
【数４８】
2021520728.tif 000054
【０１２３】
各有意グループｇについて、単一の符号なし残差ｕｇ∈｛０，１，…，３６｝が、ＣｘｔＶＬＣ及びＵ−ＶＬＣコードを介してともに符号化される。特に、ＣｘｔＶＬＣコードは、以下の２進値を通信するために使用され、
【数４９】
2021520728.tif 000055
一方、Ｕ−ＶＬＣコードは、
【数５０】
2021520728.tif 000056
が１であるときの実際のｕｇ値を表す。
【０１２４】
位置ｎを含むグループのκｎ及びｕｇ値から、復号器は、以下に従って指数境界Ｕｎを導出する。
【数５１】
2021520728.tif 000057
【０１２５】
ここで、２進有意性値σｎは、すべての非有意サンプルについてＵｎを強制的にゼロにする。
【０１２６】
注記：ただＵ−ＶＬＣコードが３６を超えるｕｇ値を表現することが可能でないために、特別な条件ｕｇ＝３６が必要とされ、一方、κｎは、１程度と小さくすることができ、ＪＰＥＧ２０００規格ファミリは、大きさ指数が３８程度と大きくなり得るサブバンド・サンプルを提供する。これに対処するために、ｕｇ＝３６は、有意サンプルに強制的にＵｇ＝３８の最大指数境界をとらせる「エスケープ・コード」として処理される。
【０１２７】
符号化器は、ｕｇの値が、Ｕｇ≧Ｅｇという要件と一致する最小の非負値を取ることを保証することを必要とされ、これは以下のように書くことができる。
【数５２】
2021520728.tif 000058
この厳しい制約は、精度が限定された（例えば、最大３２ビット／サンプル）サブバンド・サンプルのみをサポートする復号器実施態様が、上記に記した特別な条件ｕｇ＝３６を試験及び処理する必要性を回避することができることを保証する。これはまた、グループｇが１つのみの有意サンプルを有する場合に、そのサンプルの指数境界Ｕｎが、ｕｇ＞０且つｕｇ＞３６であるときはいつでも、Ｅｎに等しくなることも保証する。これによって、以下のように、グループｇに属する位置ｎにあるサンプルについてｉｍｐｌｉｃｉｔ−１ビットを割り当てることが可能になる。
【数５３】
2021520728.tif 000059
すなわち、位置ｎにあるサンプルがそのグループｇ内の唯一の有意サンプルであり（すなわち、γｇ＝０）、
【数５４】
2021520728.tif 000060
且つｕｇが３６のエスケープ値に等しくない場合はいつでも、復号器はＭａｇＳｇｎビット・ストリームにパックされるＭａｇＳｇｎ値ｖｎのｍｎ個のＬＳＢを直ちに超えるｉｍｐｌｉｃｉｔ−１の存在を推測することができる。
【０１２８】
注記：上記の説明において、いくつかの量は、
【数５５】
2021520728.tif 000061
を離れる推定指数割り当ての結果として、同じグループ内のすべてのサンプルについて同じ値をとる。したがって、各グループは、実際には１つの指数予測子
【数５６】
2021520728.tif 000062
のみを有し、そのため、ＵｎはσｎＵｇと書くことができ、ｉｎはσｎｉｇと書くことができ、ここで、
【数５７】
2021520728.tif 000063
であり、符号化器は、以下を選択する必要がある。
【数５８】
2021520728.tif 000064
【０１２９】
ｕｇの非ゼロ値を表すために使用されるＵ−ＶＬＣコードは、グループ対単位でインターリーブされるように設計されているプレフィックス及びサフィックス成分から構成される。プレフィックスは、存在する場合、サフィックスの長さを一意に決定し、一対のグループのプレフィックスが、穏当なテーブル検索を使用してともに復号されることを可能にするのに十分に小さい。表５は、このコードのすべての関連する詳細を与える。
【表５】
2021520728.tif 000065
【０１３０】
コード・ブロック内のグループの最初の行について、先行する走査ラインから利用可能な大きさ指数はない。
【０１３１】
この事例は、コード・ブロック高さが通常小さい、低待ち時間用途においては重要であり得るため、追加の待ち時間を導入することなく達成することができる、ある形態の水平予測を含む、指数境界を符号化するための代替のメカニズムが利用される。
【０１３２】
本発明において開発されている代替のメカニズムはここでも、予測子及び符号なし残差ｕｇを含むが、予測は、グループごとに適合され、状態変数として解釈することができる基線値Ｂｇに対して形成される。以下の値を有する単一の指数境界Ｕｇが、各グループｇについて復号され、
【数５９】
2021520728.tif 000066
ここで、基線Ｂｇは以下に従って更新される。
【数６０】
2021520728.tif 000067
【０１３３】
グループｇが２つ以上の有意サンプルを有する場合、γｇは１に等しく、そうでない場合γｇは０に等しいことを想起されたい。最初のものでない行グループについて、この定式化は、符号化可能な最大値（ｕｇ−２）＝３６を特別なエスケープ・コードとして処理することによって、Ｕｇが３８と大きい値をとることを可能にする。
【０１３４】
２つ以上の有意サンプルを有するグループの連続的な集合について、符号なし残差ｕｇは、この場合Ｕｇ＝Ｕｇ−１＋（ｕｇ−２）であるため、Ｕｇの連続する値の間の（２だけ）オフセットされた差として理解することが可能である。１つのみの有意サンプルを有するグループについて、上記の関係は、Ｂｇを強制的に１にし、その結果、Ｕｇ＝ｕｇ−２は先行するグループに依存しない。Ｂｇ＝０の特別な値は、Ｕｇ値が符号化又は使用されない非有意グループに対応するため、厳密には重要でないが、この特別な値は、ルックアップ・テーブルに基づく効率的な実施を容易にするために使用することができる。
【０１３５】
最初のものでないグループ行と同様に、符号化器は、グループｇ内の各位置ｎについてＵｇ≧Ｅｎを保証しながら上記式と一貫するｕｇの最小値を選択する必要がある。
【０１３６】
明らかに、ｕｇのいくつかの値は許容すべきでなく、これは、最初のグループ行内でのｕｇの変更されたＵ−ＶＬＣコードの使用に反映される。最初のグループ行に採用されているＵ−ＶＬＣコードは、基線変数Ｂｇの値について条件付けされる。その上、ここでは、
【数６１】
2021520728.tif 000068
値は最初のグループ行内のＣｘｔＶＬＣの一部として符号化されず、そのため、Ｕ−ＶＬＣは、すべての有意グループの空でない符号語を含む。
【０１３７】
グループの最初の行に対するｉｍｐｌｉｃｉｔ−１条件は、以下のとおりである。
【数６２】
2021520728.tif 000069
【０１３８】
グループの最初の行において使用されるＢ依存Ｕ−ＶＬＣ（又は「ＢＵ−ＶＬＣ」）コードは、表６において指定される。符号語のプレフィックスは決して４ビット長を超えないため、条件ρｇ＋１＝０又はＭｇ＋１＝０について調整された後に、プレフィックス長を返す４ビットの符号語プレフィックス、サフィックス長（ゼロであることが多い）、復号されたＵｇ境界、及び、グループｇ＋１のＢＵ−ＶＬＣテーブルをインデックス付けするために使用されることになる更新されたＢｇ値とともに、２ビットのＢｇ−１値によってインデックス付けされる、効率的なＬＵＴに基づく復号戦略を開発することができる。
【表６】
2021520728.tif 000070
【０１３９】
変形形態５：本明細書に記載されているような、最初のグループ行及び最初のものでないグループ行の異なる処理は、特にハードウェア実施態様に対してコストを課す。ほとんどの用途において、最初のグループ行は、全体的な符号化効率に対する寄与が相対的に少なく、そのため、手法をすべての最初のものでないグループ行に対して使用されるものにより類似したものに変更することが好ましい場合がある。１つの手法は、すべての推定指数をＰｎ＝１に設定し、ＣｘｔＶＬＣコードを介して符号化される有意性パターンを有する２進
【数６３】
2021520728.tif 000071
変数を含め、表５のＵ−ＶＬＣコードを採用して、最初のものでないグループ行のものと正確に同じ方法を使用することである。
【０１４０】
変形形態６：上記単純化の後、有意義な改善は、特定の符号なし予測残差ｕｇに対するオフセットを適応的に通信するためにＭＥＬ符号化機械を使用することを含む。具体的には、ＡＺＣシンボル・ストリームσＡＺＣ［ｉ］は、
【数６５】
2021520728.tif 000072
である非ＡＺＣグループについて２進シンボル
【数６４】
2021520728.tif 000073
を含めることによって増強される。その後、表５のＵ−ＶＬＣコードは、
【数６６】
2021520728.tif 000074
を符号化するために使用され、ここで、Ｔは正の整数の定数である。符号化器は、ｕ’ｇ≧１を離れる場合にのみ、
【数６７】
2021520728.tif 000075
を選択する。結果として、
【数６８】
2021520728.tif 000076
である場合、ｕｇの値は必ず１〜Ｔの範囲内にあり、これによって、Ｕ−ＶＬＣコードが切り捨てされることが可能である。
【数６９】
2021520728.tif 000077
であるときの切り捨てされたＵ−ＶＬＣコードは単一の２進数まで縮小するため、値Ｔ＝２が特に関心を持たれる。この変更は、ＭＥＬ符号化シンボル・ストリームｓＭＥＬ［ｉ］がグループあたり最大１つの２進シンボルを保持するという有意義な特性と干渉せず、最初のグループ行及び最初のものでないグループ行内で利用される符号化方法を調和させる助けとなる。低ビットレートにおいて、又は、低アクティビティにおいて、σＡＺＣと
【数７０】
2021520728.tif 000078
の両方のコード・ブロックは、結果０に向かって大きく歪曲された確率分布を呈するはずであり、これは、適応的ＭＥＬ符号化手順を使用して効率的に符号化することができる。
【０１４１】
変形形態ｋ１：単純化及びスループットのさらなる増強の利益のために、変形形態６と関連付けられる、可能性のある非ＡＺＣシンボルの数を低減することが有意義である。この変形形態は、
【数７２】
2021520728.tif 000079
及び
【数７３】
2021520728.tif 000080
が両方とも１に等しいときはいつでも、ＣｘｔＶＬＣビット及びＵ−ＶＬＣビットが下記に説明するようにインターリーブされる、グループｇ１＝２ｇ及びｇ２＝２ｇ＋１から成るグループ対に対して単一の非ＡＺＣ  ＭＥＬ符号化２進シンボル
【数７１】
2021520728.tif 000081
を導入する。シンボル
【数７４】
2021520728.tif 000082
は、
【数７５】
2021520728.tif 000083
と
【数７６】
2021520728.tif 000084
の両方が、好ましい値がここでもＴ＝２である定数Ｔよりも大きい場合は１であり、そうでない場合、
【数７７】
2021520728.tif 000085
である。
【数７８】
2021520728.tif 000086
であるとき、Ｕ−ＶＬＣコードは、
【数７９】
2021520728.tif 000087
及び
【数８０】
2021520728.tif 000088
に適用され、そうでなく、
【数８１】
2021520728.tif 000089
であるが、
【数８２】
2021520728.tif 000090
である場合、Ｕ−ＶＬＣコードは、
【数８３】
2021520728.tif 000091
、及び、
【数８４】
2021520728.tif 000092
にならない限り、その後また
【数８５】
2021520728.tif 000093
に適用され、この場合、
【数８６】
2021520728.tif 000094
は切り捨てされたＵ−ＶＬＣコードを使用する。ここでも、Ｔ＝２の場合、切り捨てされたＵ−ＶＬＣコードは、値
【数８７】
2021520728.tif 000095
を符号化する単一の２進数に縮小する。変形形態６のこの変更は平均して符号化効率がわずかに劣るが、変形形態６よりも低い複雑度及び高いスループットで実施することができることが分かる。変形形態６にまさるこの変形形態の１つの利点は、グループがＡＺＣグループであるか否かに関する依存性を導入する必要がないことである。代わりに、
【数８８】
2021520728.tif 000096
シンボルの存在、及び、各クワッドの符号なし残差値の符号化に関するその実施態様は、効率的な対単位のＵ−ＶＬＣ符号化及び復号実施態様にすでに含まれている
【数８９】
2021520728.tif 000097
及び
【数９０】
2021520728.tif 000098
のみに依存する。
【０１４２】
変形形態ｍ２：部分ｍｓｂパターンを、結果として符号語長が増大されない増強ＣｘｔＶＬＣテーブルに組み込むための、変形形態ｍ１に記載されている同じ手法が、またグループの最初の行に利用され得る。この場合、最初のグループ行内では事例
【数９１】
2021520728.tif 000099
がより一般的であるため、符号化効率における利益は大きくなると予測することができる。
【０１４３】
ＶＬＣビット・ストリームの編成
ＶＬＣビット・ストリームは、グループ対単位でインターリーブされる、ＣｘｔＶＬＣコード及びＵ−ＶＬＣコードからのビットから構成される。グループ行あたり奇数の２×２グループを有するコード・ブロックについて、各グループ行は、ＣｘｔＶＬＣ符号語又はＡＺＣシンボルを有せず、常に非有意であり、その結果、Ｕ−ＶＬＣ符号語も有しない追加の２×２グループによってパディングされる。このように、各グループ行は、左から右へと、整数のグループ対に分割される。
【０１４４】
ＶＬＣビット・ストリームは、最初に、グループ対と関連付けられる（場合によってからである（脚注５））有意性ＣｘｔＶＬＣ符号語を放出し、その後、対のうちの各グループの任意のＵ−ＶＬＣコード・プレフィックスを放出し、最後に、対のうちの各グループの任意のＵ−ＶＬＣコード・サフィックスを放出することによって形成される。すべてのそのようなＶＬＣビットは、辞書順において次のグループ対からのものに先行する。このインターリーブ戦略は、関連付けられる復号依存性とともに、図８に示されている。インターリーブ手順は、コードブック内の最初のグループ行と最初のものでないグループ行とについて同一であるが、各インターリーブ構成要素と関連付けられるビット数は、最初のグループ行において異なり得る。
【０１４５】
インターリーブの１つの利点は、Ｕ−ＶＬＣプレフィックスの対をともに復号することができることであり、その後、Ｕ−ＶＬＣサフィックス長が分かり、ＣｘｔＶＬＣ復号を、次のグループ対内で直ちに開始することができる。第２の利点は、符号化器が、グループ対あたり合計２回のみのテーブル検索を使用してＣｘｔＶＬＣビットとＵ−ＶＬＣビットの両方を生成することができることである。
【０１４６】
ＭａｇＳｇｎビット・ストリームの編成及びサンプル値復号
ＭａｇＳｇｎビット・ストリームは、図５に示す走査順序に従って、各サンプルのＭａｇＳｇｎ値ｖｎからのｍｎ個のＬＳＢを連結することによって形成され、ここで、
ｍｎ＝Ｕｎ−ｉｎ
ｖｎ＝χｎ＋２（Ｍｎ−１）
であり、χｎはサンプルの符号ビットであり、サンプルが負である場合は１であり、それ以外の場合は０である。非有意である、すなわち、σｎ＝０であるサンプルについて、Ｕｎ、ｉｎ及びｍｎはすべてゼロであり、そのため、非有意サンプルは、ＭａｇＳｇｎビット・ストリームに寄与しないことに留意されたい。すべての有意サンプルは、ＭａｇＳｇｎビット・ストリームに少なくとも１ビット寄与する。
【０１４７】
ｖｎのｍｎ個のＬＳＢはリトル・エンディアン順序においてＭａｇＳｇｎビット・ストリームにパックされ、これは、ｖｎのＬＳＢ（ビット０）が最初に現れ、ビット（ｍｎ−１）で終わることを意味する。
【０１４８】
復号器は、ＭａｇＳｇｎビット・ストリームからこれらのｍｎビットをアンパックし、
【数９２】
2021520728.tif 000100
を追加して符号化ＭａｇＳｇｎ値ｖｎを復元し、そこから大きさＭｎ＝Ｍｐ［ｎ］符号χｎ＝χ［ｎ］が得られる。復号器は、一般的に、２×２グループの次の行内のサンプルについて指数予測子κｎを形成するために、復号された大きさＭｎから大きさ指数Ｅｎのうちの少なくともいくつかを再構築する必要が有り、その結果、ｍｎ値をそれらのサンプルについて推測することができる。
【０１４９】
十分なＡＺＣグループ有意性シンボルがＭＥＬビット・ストリームから復号されている限り、これらの行間依存性が、有意性パターンρｇ及び符号なし残差ｕｇがＶＬＣビット・ストリームから復号される順序を制約しないことは注目に値する。その上、ＭＥＬ復号手順は、全体的に、ＶＬＣとＭａｇＳｇｎの両方の復号プロセスから独立している。要約すると、ＶＬＣ復号はＭＥＬ復号のみに依存し、ＭａｇＳｇｎ復号はＶＬＣ及びＭＥＬ復号のみに依存し、一方、ＶＬＣ復号及びＭａｇＳｇｎ復号プロセスは各々、それぞれ先行するＶＬＣ復号ステップ及びＭａｇＳｇｎ復号ステップの完了に対する内部依存性を有する。
【０１５０】
ＦＡＳＴ  ＭａｇＲｅｆコーディング・パスの詳細な説明
ＦＡＳＴ  ＭａｇＲｅｆコーディング・パスは、未処理の精度改善ビットがビッグ・エンディアン順序とは対照的にリトル・エンディアン順序においてバイトにパックされることを除いて、ＢＹＰＡＳＳモードが使用されるときのＪ２Ｋ−１アルゴリズムの精度改善パスと同一である。
【０１５１】
ＦＡＳＴ  ＭａｇＲｅｆパスは、先行するＦＡＳＴ  Ｃｌｅａｎｕｐパスからの有意サンプルの大きさの精度を改善するために、追加の精度ビットを提供する。ｐがそのＣｌｅａｎｕｐパスと関連付けられるビットプレーンを示すものとする。ＭａｇＲｅｆパスは、ｐ＞０の場合にのみ存在し得る。ＭａｇＲｅｆパスは、ビットプレーンｐに関して有意である各サンプル位置、すなわち、Ｍｐ［ｎ］≠０である各位置について、
ｒｐ［ｎ］＝（Ｍｐ−１［ｎ］  ｍｏｄ  ２）∈｛０，１｝
の値を提供する。
【０１５２】
ＦＡＳＴ  ＭａｇＲｅｆパスは、非有意位置をスキップし、すべての他の位置からｒｐ［ｎ］ビットをＭａｇＲｅｆビット・ストリームに放出する、Ｊ２Ｋ−１ブロック・コーダと同じ４ライン・ストライプ配向走査パターンを使用する。
【０１５３】
ＭａｇＲｅｆビット・ストリームからのビットは、各バイトのＬＳＢから開始して、リトル・エンディアン順序においてバイトにパックされる。バイト全体がアセンブルされると、そのバイトの値がＦＦｈである場合、スタッフィング・ビット（０）が、ＭａｇＲｅｆビット・ストリームからの７ビットのみを収容することが可能である、次のバイトのＭＳＢ（ビット７）に導入される。復号器は、バイトから漸進的にビットを抽出し、各バイトのＬＳＢから開始してＭＳＢに向かって作用し、これは、ＭａｇＲｅｆバイト・ストリーム内の先行するバイト（存在する場合）が値ＦＦｈを有していた場合にはスキップされる。
【０１５４】
ＦＡＳＴ  ＭａｇＲｅｆバイト・ストリーム内の最後のバイトは、値ＦＦｈを有するべきではなく、これは、符号化器が、上述した手順を介して生成される任意のスタッフィング・ビットを含むバイトを放出する必要があることを意味する。ＭａｇＲｅｆバイト・ストリームの最後のバイト内の未使用ビットは、ＦＦｈに等しい最後のバイトを残さない限り、任意の値をとってもよい。
【０１５５】
ＦＡＳＴ  ＳｉｇＰｒｏｐコーディング・パスの詳細な説明
ＦＡＳＴ  ＳｉｇＰｒｏｐコーディング・パスは、有意性ビット及び符号ビットが再配置されビッグ・エンディアン順序とは対照的にリトル・エンディアン順序においてバイトにパックされることを除いて、ＢＹＰＡＳＳモードが使用されるときのＪ２Ｋ−１アルゴリズムの有意性伝播パスと同じである。
【０１５６】
ＦＡＳＴ  ＳｉｇＰｒｏｐパスは、ＦＡＳＴ  Ｃｌｅａｎｕｐパス又はＦＡＳＴ  ＳｉｇＰｒｏｐパスのいずれかの中で先行して符号化されている情報に基づいて、有意な隣接サンプルを有する限り、先行するＦＡＳＴ  Ｃｌｅａｎｕｐパス内で非有意であるとして符号化されたサンプルの精度が改善された大きさ情報を提供する。ｐが先行するＣｌｅａｎｕｐパスと関連付けられるビットプレーンを示すものとする。ＳｉｇＰｒｏｐパスは、ｐ＞０の場合にのみ存在し得る。ＳｉｇＰｒｏｐパスは、各位置ｎについて大きさビット
ｒｐ［ｎ］＝（Ｍｐ−１［ｎ］  ｍｏｄ  ２）∈｛０，１｝
を符号化し、その結果、
【数９３】
2021520728.tif 000101
となり、
【数９４】
2021520728.tif 000102
は２進ＳｉｇＰｒｏｐ成員変数（binary SigProp membership variable）であり、これは以下から計算される。
【数９５】
2021520728.tif 000103
【０１５７】
ここで、Ｎｎは、コードブック内に存在する位置ｎの８つすべての近接隣接位置を含むすべての隣接位置であり、ただし、関連ＣＯＤ／ＣＯＣマーカ・セグメント内でＣＡＵＳＡＬモード・フラグが設定されている場合を除き、この場合、Ｎｎは、次の４ライン・ストライプに見出される任意の隣接位置（すなわち、位置ｎを含むストライプに後続するもの）を省略する。
【数９６】
2021520728.tif 000104
は、４ライン・ストライプ配向走査パターン内で位置ｎに先行する隣接位置のみを含むことを除いて、Ｎｎと同様である隣接位置である。
【０１５８】
全高ストライプ（すなわち、各ストライプ列内に４つの実際のコード・ブロックを有するもの）について、ストライプ列内のすべての成員位置（すなわち、
【数９７】
2021520728.tif 000105
である位置）からのｒｐ［ｎ］ビットが、新たに有意になる成員（
【数９８】
2021520728.tif 000106
であるもの）と関連付けられる符号ビットを放出する前に、ＳｉｇＰｒｏｐビット・ストリームに放出される。すなわち、大きさビットｒｐ［ｎ］及び符号ビットは、各４ライン・ストライプ内で列単位でインターリーブされる。対照的に、Ｊ２Ｋ−１有意性伝播パスは、大きさ及び符号ビットをサンプル単位でインターリーブする。
【０１５９】
コード・ブロックが高さ３の不完全なストライプで終わる場合、大きさ及び符号ビットもまた、そのストライプ内で列単位でインターリーブされるが、無論、そのような各列内には最大３つの成員位置が存在する。
【０１６０】
コード・ブロックが高さ２の不完全なストライプで終わる場合、大きさ及び符号ビットは、そのストライプ内で列対単位でインターリーブされ、これは、ストライプ列の最初の対内のすべての成員（４サンプル）からの大きさビットが、そのストライプ列対内の任意の新たに有意になる成員の符号の前にＳｉｇＰｒｏｐビット・ストリームに放出され、コード・ブロック内の各後続のストライプ列対について同じことが行われることを意味する。実際にコード・ブロック内に存在する位置のみが成員であり得る。
【０１６１】
コード・ブロックが高さ１の不完全なストライプで終わる場合、大きさ及び符号ビットは、列クワッド単位でインターリーブされ、これは、４つの列の集合内のすべての成員（この場合は４サンプル）からの大きさビットが、その列集合からの符号の前にＳｉｇＰｒｏｐビット・ストリームに放出されることを意味する。ここでも、実際にコード・ブロック内に存在する位置のみが成員であり得る。
【０１６２】
注記：大きさ及び符号ビットの列及び複数列に基づくインターリーブは、少なくとも符号化と（特に）復号の両方にとって、ソフトウェア実施態様に大いに有益な影響を与えることができる。ここで、コード・ブロックがそれらの公称寸法以下を切り捨てられる縮退事例において高スループットを可能にするために重要である、高さ２及び高さ１を有するストライプの特別な事例に注目する。これは、画像又はビデオ・フレームの下方境界のみにおいて起こり得るが、特に低い待ち時間又はメモリ利用を達成するために、画像がタイルに分割されるか、又は、短く広い区域寸法が使用される場合には、はるかにより頻繁に起こり得る。これらの特別な事例の全体的な有意性は、用途に極めて依存し、さらなる検討を正当化し得る。
【０１６３】
変形形態７：特にハードウェア実施態様について、１、２、３又は４本のラインを有するストライプのより統一された処理を採用することが好ましい。高さ１及び２のストライプでさえ高いソフトウェア復号スループットを保持しながらこれを達成する１つの良好な方法は、高さにかかわらず、すべてのストライプにおいて、列クワッド単位で大きさ及び符号ビットをインターリーブすることである。この場合、４ストライプ列の集合内のすべての成員からの大きさビットが、４ストライプ列のその集合内の新たに有意になるサンプルからの符号の前にＳｉｇＰｒｏｐビット・ストリームに放出される。４本のラインを有する全高ストライプについて、この変形形態の結果として、最大１６の大きさビットがＳｉｇＰｒｏｐパスに放出され、その後、新たに有意になるサンプルに対応する最大１６の符号ビットが放出される。高さ１のストライプについて、ＳｉｇＰｒｏｐパスのこの変形形態と上述したものとの間に差はない。
【０１６４】
ＦＡＳＴ  ＳｉｇＰｒｏｐビット・ストリームからのビットは、リトル・エンディアン順序においてバイトにパックされ、ＦＡＳＴ  ＭａｇＲｅｆビット・ストリームと正確に同じビット・スタッフィング手順を受け、ＳｉｇＰｒｏｐバイト・ストリームがもたらされる。
【０１６５】
任意のＦＡＳＴ  ＳｉｇＰｒｏｐバイト・ストリームは、ＦＡＳＴ  Ｃｌｅａｎｕｐ符号語セグメントに直に後続する符号語セグメントの始まりから開始するべきである。関連ＣＯＤ／ＣＯＣマーカ・セグメント内でＴＥＲＭＩＮＡＴＩＯＮモード・フラグが設定されている場合、ＳｉｇＰｒｏｐバイト・ストリームは、それ自体の符号語セグメントを占有すべきであり、その符号語セグメントの最後のバイトはＦＦｈに等しくなるべきではない。この場合、ＦＡＳＴ  ＭａｇＲｅｆバイト・ストリーム（存在する場合）は、後続の符号語セグメントを占有するべきであり、また、前に説明したように、ＦＦｈで終端するべきではない。
【０１６６】
ＴＥＲＭＩＮＡＴＩＯＮモード・フラグが設定されない場合、ＳｉｇＰｒｏｐビット・ストリーム及びＭａｇＲｅｆビット・ストリーム（存在する場合）は連結され、結果もたらされるビット・ストリームが、リトル・エンディアンの慣例に従って単一のバイト・ストリームにパックされ、ここでもＦＦｈで終わるべきではない単一の符号語セグメントがもたらされる。
【０１６７】
変形形態８：ＴＥＲＭＩＮＡＴＩＯＮフラグが設定されていないときのＳｉｇＰｒｏｐコーディング・パスとＭａｇＲｅｆコーディング・パスとの同時処理を可能にするために、現行の手法に対する望ましい変更は、ＭａｇＳｇｎバイト・ストリームが前方ではなく後方に成長するように構成することであり、その結果、ＳｉｇＰｒｏｐバイト・ストリームとＭａｇＲｅｆバイト・ストリームの両方の開始を、それらが共有する単一の符号語セグメント内で直ちに識別することができる。
【０１６８】
コード・ストリーム構文
この節は、ＦＡＳＴブロック・コーダの導入をサポートするために必要とされる、ＩＳ１５４４４−１に記載されているコード・ストリーム構文に対する変更の小さいセットを説明する。これらの変更の背後にある原理の一部は強調するに値する。
１．ＪＰＥＧ２０００規格ファミリにわたって、Ｊ２Ｋ−１ブロック・コーダの当座の代替としてＦＡＳＴブロック・コーダを使用することが可能である。
２．量子化画像サンプルに関する情報を一切失うことなく、Ｊ２Ｋ−１に基づくコード・ストリームを、ＦＡＳＴブロック・コーダを使用するものにコード変換することが可能である。この特性は本質的に、Ｊ２Ｋ−１アルゴリズム内で対応するものと正確に同じ情報を符号化するＦＡＳＴ  ＳｉｇＰｒｏｐコーディング・パス及びＭａｇＲｅｆコーディング・パスを提供することによってすでに付与される。
３．たとえＦＡＳＴブロック・コーダ自体が高度にスケーリング可能でない場合であっても、各コード・ブロックと関連付けられる層境界に関するすべての情報も保持しながら、複数の品質層を有するＪ２Ｋ−１に基づくコード・ストリームを、ＦＡＳＴブロック・コーダを使用するものにコード変換することが可能であり、その結果、元の精細に埋め込まれた表現にコード変換し戻すことを、情報を一切損失することなく行うことができる。
４．ＦＡＳＴブロック符号化アルゴリズムの使用を識別するために新たなシグナリング方法が導入される必要がある範囲までを除いて、ＪＰＥＧ２０００コード・ストリーム構文、又はＪＰＥＧ２０００パケットの構造に変更が行われない。
【０１６９】
ＪＰＥＧ２０００パケット内のＦＡＳＴブロック・バイト・ストリームのキャリッジ
ＩＳ１５４４４−１の付属書Ｂに記載されているように、コード・ブロックは区域に編成され、各区域は、品質層ごとに１つの、パケットのシーケンによって表される。各パケットは、区域の各コード・ブロックによってそのパケットに行われる寄与を識別するヘッダと、区域のコード・ブロックからの関連する符号化バイトを保持する本体とを有する。パケット・ヘッダは、コーディング・パスの数及び寄与する各コード・ブロックの関連する符号化長情報とともに、寄与を行う各コード・ブロックの最初の失われている最上位の大きさビットプレーンの数を識別する。
【０１７０】
ブロック符号化モードに依存して、各コード・ブロックからの符号化バイトは、１つ又は複数の符号語セグメントに分割される。コード・ブロックが、複数の符号語セグメントからパケットへのコーディング・パスに寄与する場合、パケット・ヘッダは、符号語セグメント間の境界を識別するのに十分な長さ情報を含む。特に、ＴＥＲＭＩＮＡＴＩＯＮモード・フラグ（コード・ブロック・スタイル・フィールドのビット２）が関連ＣＯＤ／ＣＯＣマーカ・セグメント内で設定される場合、各コーディング・パスは、それ自体の符号語セグメントを占有し、そのため、パケット・ヘッダによって通信される長さの数は、含まれるコーディング・パスの数と同一である。ＢＹＰＡＳＳモード・フラグ（コード・ブロック・スタイル・フィールドのビット０）が設定される場合、各バイパス有意性伝播は、符号語セグメントの始まりに現れなければならず、各バイパス精度改善パスは、ＴＥＲＭＩＮＡＴＩＯＮモード・フラグが設定されない限り、先行する精度改善パスによって開始される同じ符号語セグメントになる、符号語セグメントの終わりに現れなければならない。
【０１７１】
ＦＡＳＴブロック符号化アルゴリズムが使用されるとき、ＢＹＰＡＳＳモード・フラグが設定されるか否かにかかわらず、ＦＡＳＴ  Ｃｌｅａｎｕｐパスは、それ自体の符号語セグメントを占有しなければならず、ＦＡＳＴ  ＳｉｇＰｒｏｐパスは、符号語セグメントの始まりに現れなければならず、各ＦＡＳＴ  ＭａｇＲｅｆパスは、符号語セグメントの終わりに現れなければならない。
【０１７２】
注記１：ＦＡＳＴコーディング・パスの符号語セグメントへのこの構成は、ＢＹＰＡＳＳモード・フラグが設定されるとき、Ｊ２Ｋ−１ブロック・コーダによって使用されるものと一貫する。しかしながら、ＢＹＰＡＳＳモード・フラグ自体は、ＦＡＳＴブロック復号器にとっては何の意味もない。
【０１７３】
注記２：これは、Ｊ２Ｋ−１に基づくコード・ストリームから、ＦＡＳＴブロック・コーダを使用するものへとコード変換するときに、ＢＹＰＡＳＳモード・フラグが保持されることを可能にし、その結果、後続のコード変換動作を通じて後に元の表現を復元することができる。
【０１７４】
ＴＥＲＭＩＮＡＴＩＯＮモード・フラグが設定される場合、ＦＡＳＴ  ＳｉｇＰｒｏｐ及びＭａｇＲｅｆコーディング・パスはそれら自体の符号語セグメントを占有する。
【０１７５】
関連ＣＯＤ／ＣＯＣマーカ・セグメントがそのＦＡＳＴブロック・コーダを識別する場合、パケット・ヘッダに記録されるコーディング・パス寄与は、図９に示す構造に一致する。
【０１７６】
多くの事例において、最初のコーディング・パス寄与はＦＡＳＴ  Ｃｌｅａｎｕｐパスになる。しかしながら、ＦＡＳＴ  Ｃｌｅａｎｕｐパスが、すべてゼロ長を有するものとして識別される、「空コーディング・パス」のセットによって先行されることが可能である。ＦＡＳＴ  Ｃｌｅａｎｕｐパスは少なくとも２バイトを有しなければならないため、これらは、復号器によってＦＡＳＴコーディング・パスとして解釈されるべきではない。空のコーディング・パスの数は、存在する場合、３Ｚであるべきであり、Ｚは非負整数である。最初のＦＡＳＴ  Ｃｌｅａｎｕｐパスと関連付けられるビットプレーン・インデックスｐは以下によって与えられ、
ｐ＝Ｋ−Ｍｓｔａｒｔ−Ｚ−１
式中、Ｋはサブバンドと関連付けられる大きさビットプレーンの最大数であり、Ｍｓｔａｒｔは、コード・ブロックの最初の寄与を識別するパケット・ヘッダ内でシグナリングされるような、失われているＭＳＢの数であり、Ｚは、非ゼロ長を有する最初の寄与の前に識別されるコーディング・パスの空のトリプレットの数である。
【０１７７】
注記１：３Ｚ個の空のコーディング・パスが最初のＦＡＳＴ  Ｃｌｅａｎｕｐパスに先行することを可能にする理由は、元のコード・ストリームからの品質層境界に関連するすべての情報を依然として保持しながら、Ｊ２Ｋ−１に基づくコード・ストリームがＦＡＳＴブロック・コーダを使用するためにコード変換されることを可能にすることである。この情報は、コード変換された元のコード・ストリームを再構築するために使用することができる。
【０１７８】
注記２：ＣＡＰマーカ・セグメントは、最初のＦＡＳＴ  Ｃｌｅａｎｕｐパスの前にコード・ブロックが空のコーディング・パスに寄与し得るか否かについて、復号器にアドバイスするために使用される。
【０１７９】
Ｚが非ゼロである場合、３Ｚの空のコーディング・パスと関連付けられる符号語セグメントは、これらのコーディング・パスがＪ２Ｋ−１ブロック符号化アルゴリズムを使用して符号化されているかのように、関連ＣＯＤ／ＣＯＣマーカ・セグメントのコード・ブロック・スタイル・フィールドに見出されるモード・フラグに基づいて決定される。特に、ＢＹＰＡＳＳモード・フラグが設定される場合、算術コーダがバイパスされたことになる空のＳｉｇＰｒｏｐパスは、それらの符号語セグメントの始まりに現れ、算術コーダがバイパスされたことになる空のＭａｇＲｅｆパスは、ＴＥＲＭＩＮＡＴＩＯＮモード・フラグが設定されない限り、先行するＳｉｇＰｒｏｐパスと同じ符号語セグメントになる、それらの符号語セグメントの終わりに現れる。
【０１８０】
コード・ブロックがコード・ストリームへの任意の空でないコーディング・パスに寄与する必要はなく、又は実際にはコーディング・パスには一切寄与する必要はない。４つ以上のＦＡＳＴコーディング・パスがコード・ブロックによって寄与されることが可能であり、この場合、連続する各ＦＡＳＴ  Ｃｌｅａｎｕｐパスは、先行するインデックスよりも小さいインデックスであるビットプレーン・インデックスｐを有し、したがって、すべての先行するコーディング・パスによって具現化されるすべての情報を符号化する。
【０１８１】
注記１：復号器は、後続するＦＡＳＴ  ＳｉｇＰｒｏｐパス（存在する場合）及びＦＡＳＴ  ＭａｇＲｅｆパス（存在する場合）とともに、コード・ブロックの最後の利用可能なＦＡＳＴ  Ｃｌｅａｎｕｐパスを処理するように推奨される。
【０１８２】
注記２：ＣＡＰマーカ・セグメントは、コード・ブロックが４つ以上のＦＡＳＴコーディング・パスに寄与し得るか否かについて、復号器にアドバイスするために使用される。
【０１８３】
ＪＰＥＧ２０００パケット内の混合ブロック符号化タイプのキャリッジ
参考：他のコード・ブロックはＪ２Ｋ−１アルゴリズムを使用して符号化される一方で、ＦＡＳＴブロック符号化アルゴリズムを使用してタイル構成要素のいくつかのコード・ブロックを符号化することが有用であり得る。これは、コード・ブロックが１つの表現から別の表現へとオンデマンドに（例えば、映像の一部分を表示又は通信するために必要とされるときに）コード変換され、その結果、他のコード・ブロックがコード変換されていない一方で、いくつかのコード・ブロックがコード変換されている用途において必要になり得る。
【０１８４】
ブロック符号化タイプの混合は、下記に説明するように、これが関連ＣＯＤ／ＣＯＣマーカ・セグメント内でシグナリングされる場合にのみ許容される。その上、この場合、ＣＡＰマーカ・セグメントは、節０において説明されているように、混合符号化タイプの可能性があることを復号器にアドバイスするために使用される。
【０１８５】
混合符号化タイプの可能性がこのように示されるとき、コード・ブロックに使用されるブロック符号化タイプは、パケット・ヘッダ内で長さ情報をシグナリングすることを通じて間接的に識別される。すべてのＪＰＥＧ２０００コード・ストリームにおいて、コード・ブロック寄与と関連付けられる長さは、各コード・ブロックに特有である「Ｌブロック（Ｌｂｌｏｃｋ）」状態変数に依存するビット数を使用してシグナリングされ、パケット・ヘッダ解析中に漸進的に調整される。コード・ブロックへの最初の空でない寄与の長さが、必要であるよりも大きいＬブロック値を使用してシグナリングされる場合、そのＦＡＳＴブロック符号化アルゴリズムが使用されており、すべてのコード・ブロック寄与の構造は、図９に示されるものとなる。そうでなく、Ｌブロックが必要とされる値以下である場合、Ｊ２Ｋ−１ブロック符号化アルゴリズムが使用されており、そのコード・ブロックのすべての含まれているコーディング・パスは、Ｊ２Ｋ−１アルゴリズムに従って処理される。
【０１８６】
ＣＯＤ／ＣＯＣマーカを介したＦＡＳＴブロック・コーダ技術のシグナリング
ＦＡＳＴブロック・コーダを使用するコード・ストリームは、メイン・ヘッダ内に、パート１５機能への依存を広告するＣＡＰマーカ・セグメントを含む。ＦＡＳＴブロック・コーダが所与のタイル構成要素に属するコード・ブロック内で使用される場合、ＦＡＳＴモード・フラグ（コード・ブロック・スタイル・フィールドのビット７）が、関連ＣＯＤ又はＣＯＣマーカ内で（１に等しく）設定される。
【０１８７】
表７は、ＦＡＳＴブロック符号化アルゴリズムがすべてのモード・フラグの解釈に及ぼす影響を識別する、コード・ブロック・スタイル・フィールドが果たす役割を要約している。
【表７】
2021520728.tif 000107
【０１８８】
そのＣＯＤ／ＣＯＣマーカ・セグメントのＳｃｏｄ又はＳｃｏｃフィールド（適切な場合）のビット５が設定される場合、ＣＯＤ／ＣＯＣマーカ・セグメントはまた、そのＭＳＢ（ビット１５）が、コード・ブロックがＪ２Ｋ−１ブロック符号化アルゴリズムを使用して符号化され得るか否かを示す１６ビットのＳＸｃｏｄフィールドも含む。これが「混合符号化」モード・フラグである。混合符号化フラグが設定される場合、復号器は、コード・ブロックの非ゼロ長を有する最初の寄与の長さを符号化するために使用される「Ｌブロック」パケット解析状態変数が、その長さを符号化するのに必要であるよりも大きいか否かをチェックする。上記で説明したように、Ｌブロックが必要であるよりも大きい場合、ＦＡＳＴブロック復号器が、そのコード・ブロックを処理するために利用され、そうでない場合、Ｊ２Ｋ−１ブロック復号器が使用される。
【０１８９】
注記：ＳＸｃｏｄフィールドも、ＩＳ１５４４４−２／ＡＭＤ４において使用され、ＳＸｃｏｄフィールドのビット５がまた、その存在をシグナリングするために使用される。ＩＳ１５４４４−２／ＡＭＤ４において、コード・ブロック・スタイル・フィールドのＢＹＰＡＳＳモード・フラグ（ビット０）が設定されるときはいつでも、ＳＸｃｏｄフィールドの２つのＬＳＢが、使用されるべき追加のバイパスされるビットプレーンの数を識別する値ＢＢを符号化する。ＢＹＰＡＳＳ＝１且つＢＢ＝０１であるとき、ＳｉｇＰｒｏｐコーディング・パスとＭａｇＲｅｆコーディング・パスの両方について、算術符号化はすべてのビットプレーン内でバイパスされる。ＦＡＳＴブロック・コーダが使用される場合、ＳＸｃｏｄフィールドのこれら２つのＬＳＢは、復号器にとっては何の意味もないが、ＦＡＳＴブロック・コーダを使用するためにコード変換されている、元のＪ２Ｋ−１に基づくＪＰＥＧ２０００コード・ストリーム内で使用されたブロック・コーダ・モードを保持するために使用され得る。
【０１９０】
コード・ブロック・スタイル・フィールドのビット７が設定され、ただし、Ｓｃｏｄ又はＳｃｏｃフィールドのビット５が設定されない場合、１６ビットのＳＸｃｏｄフィールドはＣＯＤ／ＣＯＣマーカ・セグメント内に存在せず、すべての影響を受けるタイル構成要素のコード・ブロックは、ＦＡＳＴブロック符号化アルゴリズムのみを使用して符号化される。
【０１９１】
パート１５機能フラグ
本発明においては、以下のように、ＣＡＰマーカ・セグメント内でパート１５機能語の３つのビット・フラグを定義することを提案する。
「空のパス（Ｅｍｐｔｙ  Ｐａｓｓｅｓ）」フラグは、コード・ストリームがＦＡＳＴ  Ｃｌｅａｎｕｐパスの前にＺ＞０個の空のコーディング・パスを含み得ることを示す。このフラグが設定されない（すなわち、０）場合、ＦＡＳＴブロック符号化アルゴリズムを使用する任意のコード・ブロックからの最初のパケット寄与はＦＡＳＴ  Ｃｌｅａｎｕｐパスである。
「複数のＦＡＳＴ  Ｃｌｅａｎｕｐ（Ｍｕｌｔｉｐｌｅ  ＦＡＳＴ  Ｃｌｅａｎｕｐ）」フラグは、コード・ストリームがコード・ブロックの２つ以上のＦＡＳＴ  Ｃｌｅａｎｕｐパスを含み得ることを示す。このフラグが設定されない（すなわち、０）場合、最大１つのＦＡＳＴ  Ｃｌｅａｎｕｐパスが、任意のコード・ブロックによって、その区域のパケットに寄与される。
「混合符号化」フラグは、上述したように示される、２つ以上のタイプの符号化技術が、コード・ブロックについて可能であり得ることを示す。このフラグが設定されない（すなわち、０）場合、そのＣＯＤ／ＣＯＣマーカ・セグメントがＦＡＳＴモード・フラグ（コード・ブロック・スタイル・フィールドのビット７）を設定されているすべてのコード・ブロックが、ＦＡＳＴブロック符号化アルゴリズムを使用して復号され、ＳＸｃｏｄフィールドは存在しないか、又は、その「混合符号化」モード・フラグが０になる。
【０１９２】
「混合符号化」フラグが設定される場合、上記で説明したように、１６ビットのＳＸｃｏｄフィールドが含まれることを識別するビット５が、コード・ストリームのＣＯＤ及び／又はＣＯＣマーカ・セグメント内で設定され得る。
【０１９３】
上記の実施例を使用して符号化及び復号するための方法は、ソフトウェア、ソフトウェアとハードウェアとの混合、プログラム式ゲート・アレイ（ＰＧＡ）若しくはＦＰＧＡ、又は任意の他のアーキテクチャによって構成することができる処理装置によって実施される。ソフトウェアは、モジュールの形態で提供され得る。ソフトウェアが使用される場合、ルーチン及びサブ・ルーチン、又は任意のソフトウェア・アーキテクチャが、本発明の実施例を実施する。本発明を実施するためにソフトウェアが使用される場合、ソフトウェアは、ディスクなどのコンピュータ可読媒体上で、若しくは、インターネットなどのネットワーク上のデータ信号として、又は、任意の他の様式で提供することができる。
【０１９４】
上記の実施例は、ＪＰＥＧ２０００フォーマット内での使用に関する。本発明の実施例はこれに限定されない。一部の実施例は、他の画像処理フォーマットにおいて使用されてもよい。実施例は、他の画像処理コンテクストに用途を見出し得る。
【０１９５】
本発明の実施例の使用は、画像又はビデオ・フレームに限定されず、任意の他のタイプのメディアに使用されてもよい。例えば、実施例は、マルチ・ビュー・イメージング及びビデオ又は任意の他の視覚メディアの深さ符号化によって利用されてもよい。
【０１９６】
広範に記載されているような本発明の思想又は範囲から逸脱することなく、特定の実施例に示すように、本発明に多数の変形及び／又は変更を行うことができることが、当業者には諒解されよう。それゆえ、本発明の実施例は、すべての点において限定ではなく例示として解釈されるべきである。
脚注
１  http://www.kakadusoftware.com−比較は、５０％だけより高速であり得るＫａｋａｄｕスピードパック・エディションとは対照的に、通常のＫａｋａｄｕ配布に関する。
２  実際には、ＪＰＥＧ２０００の未処理の符号語セグメントにおけるビット・スタッフィングによって、ビッグ・エンディアン１６進値がＦＦ８０ｈ〜ＦＦＦＦｈの範囲内にあるバイト対の出現が回避されるが、ブロック符号化アルゴリズムは一般に、ＦＦ９０ｈ〜ＦＦＦＦｈの範囲直野マーカ・コードを回避するためにのみ必要とされる。
３  初期実験は、この変形形態からもたらされる符号化効率の典型的な改善が１．５％を超える確率は低いことを示唆している。
４  グループ内の非有意サンプルの予測子は同じように形成することができるが、符号化又は復号プロセスには影響を及ぼさない。
５  「空の」とは、本明細書においては、ＣｘｔＶＬＣ符号語が存在しない非有意ＡＺＣグループ、及び、各グループ行が整数のグループ対を有することを保証するための付け足しとして加えられるグループを指す。
【図１】
2021520728.tif 000108
【図２】
2021520728.tif 000109
【図３】
2021520728.tif 000110
【図４】
2021520728.tif 000111
【図５】
2021520728.tif 000112
【図６】
2021520728.tif 000113
【図７】
2021520728.tif 000114
【図８】
2021520728.tif 000115
【図９】
2021520728.tif 000116
【国際調査報告】
2021520728.tif 000117
2021520728.tif 000118
2021520728.tif 000119