(57)【要約】【課題】本発明は、画像圧縮のための方法および装置、特に、向上したブロック符号化装置および画像圧縮方法に関する。【解決手段】ＪＰＥＧおよびＪＰＥＧ  ２０００などの画像圧縮システムは、画像圧縮のための既知の一般向けの規格である。ＪＰＥＧ  ２０００の有利な特徴の多くは、ＥＢＣＯＴアルゴリズム（Ｅｍｂｅｄｄｅｄ  Ｂｌｏｃｋ−Ｃｏｄｉｎｇ  ｗｉｔｈ  Ｏｐｔｉｍｉｚｅｄ  Ｔｒｕｎｃａｔｉｏｎ）の使用により導出される。ＪＰＥＧ  ２０００規格の１つの欠点は計算の複雑性である。本願は、特に、標準的なＪＰＥＧ  ２０００ＥＢＣＯＴアルゴリズムと比べて比較的迅速な、ブロック符号化アルゴリズムを開示する。計算の複雑性は低減される。【選択図】図１
2019522448.tif 000002
【特許請求の範囲】
【請求項１】
ブロック符号化処理によって複数の画像サンプルを複数のコードブロックの形にする画像圧縮の方法であって、前記ブロック符号化処理は、
１つのサンプルセットについての有意性情報を、走査順における前のサンプルの有意性にのみ依存する符号（ｃｏｄｅ）を用いて符号化するステップと、
１つのサンプルセットについてのマグニチュードおよびサイン情報を、前記走査順における前のマグニチュードおよび有意性情報にのみ依存する符号を用いて符号化するステップと、
各サンプルセットに関連付けられた有意性ビットが符号化表現（符号語セグメント）においてまとまって発現するように、前記有意性およびマグニチュード符号ビットをサンプルのセット毎に配置するステップと、
前記コードブロックにおける各サンプルセットについて、前記符号化および前記符号ビット配置ステップを繰り返すステップと、を含む方法。
【請求項２】
請求項１に記載の方法において、
前記ブロック符号化処理は、１つのサンプルセットが１グループのサンプルを含むように、前記コードブロックの前記サンプルを複数のグループに収集するステップを含み、
前記有意性符号化ステップは、前記複数グループのサンプルに対して適用される、方法。
【請求項３】
請求項２に記載の方法において、
各グループは、４つのサンプルを含む、方法。
【請求項４】
請求項１、２、または３に記載の方法において、
複数のグループ有意性信号を、前記コードブロック内の複数の特定のグループのために、適合型符号を用いて符号化して、各このようなグループが有意サンプルをいくつか有しているか、または、有意サンプルを全く有していないかを通信する、方法。
【請求項５】
請求項１から４のいずれか１項に記載の方法において、
前記ブロック符号化処理は、複数のビットストリームを含む単一符号語セグメントを生成するステップを含む、方法。
【請求項６】
請求項５に記載の方法であって、
前記単一符号語セグメントを、前方伸長ビットストリームおよび後方伸長ビットストリーム（デュアルビットストリーム）によって生成することで、前記個々のビットストリームの長さを別々に通信する必要がない、方法。
【請求項７】
請求項５に記載の方法において、
前記単一符号語セグメントを、２つの前方伸長ビットストリームと１つの後方伸長ビットストリームとからなる３つのビットストリーム（トリプルビットストリーム）により生成し、
前記２つの前方伸長ビットストリーム間のインターフェースと、前記符号語セグメントの全体の長さとを明確に特定する、方法。
【請求項８】
請求項１から７のいずれか１項に記載の方法において、
グループ有意性シンボルの適合型符号化により生成されるビットを、前記コードブロックの符号語セグメント内でそれら自身のビットストリーム（適合的に符号化されたビットストリーム）に割り当てる、方法。
【請求項９】
請求項１から８のいずれか１項に記載の方法において、
グループ有意性信号を、適合型算術符号化エンジンを用いて符号化する、方法。
【請求項１０】
請求項１から８のいずれか１項に記載の方法において、
グループ有意性信号を、適合型ランレングス符号化エンジンを用いて符号化する、方法。
【請求項１１】
請求項１から１０のいずれか１項に記載の方法において、
１つのサンプルセットについての有意性を符号化する前記ステップは、コンテキストに基づき、１つのサンプルセットの前記コンテキストは、走査ライン順において前記コードブロックにおける前の複数のサンプルセットのために既に符号化された有意性情報にのみ依存している、方法。
【請求項１２】
請求項１１に記載の方法において、
コンテキストに基づいて有意性符号化する前記ステップは、可変長符号を利用し、
単一符号語は、それ以外の場合は全体に非有意と分からない各サンプルセットについて放出される、方法。
【請求項１３】
請求項１２に記載の方法において、
コンテキストに基づく有意性符号化により生成される前記ビットを、前記適合的に符号化されたビットストリームから分離したビットストリーム（未加工ビットストリーム）内に配置する、方法。
【請求項１４】
請求項１から１３のいずれか１項に記載の方法において、
マグニチュード情報を符号化する前記ステップは、マグニチュードコンテキストに基づき、各サンプルについての前記マグニチュードコンテキストは、その近傍の前記マグニチュード指数から形成される、方法。
【請求項１５】
請求項１４に記載の方法において、
前記マグニチュードコンテキストは、以前に符号化されたサンプルマグニチュードの前記マグニチュード指数から形成される、方法。
【請求項１６】
請求項１１から１５のいずれか１項に記載の方法において、
コードブロックの有意サンプルについてのマグニチュードおよびサイン情報をエンコードするために使用される前記ビットは、前記コンテキストに基づく有意性符号ビットと同じビットストリーム（未加工ビットストリーム）内に配置されているが、１つのサンプルセットについての前記有意性ビットが同じサンプルセットについての前記マグニチュードおよびサインビットよりも前に発現するように分離されている、方法。
【請求項１７】
請求項１１から１５のいずれか１項に記載の方法において、
マグニチュードおよびサイン情報をエンコードするために使用される前記ビットは、前記コンテキストに基づく有意性符号ビットから分離したビットストリーム（未加工ビットストリーム）内に配置されている、方法。
【請求項１８】
請求項１１から１５のいずれか１項に記載の方法において、
有意サンプルについてのマグニチュードおよびサイン情報は、可変長符号化部と非符号化部とに分離され、ただし、前記可変長符号化部により生成される前記ビットは、前記コンテキストに基づく有意性符号ビットと同じビットストリーム（ＶＬＣビットストリーム）内に配置され、一方、前記非符号化部は、分離したビットストリーム（未加工ビットストリーム）内に配置されている、方法。
【請求項１９】
請求項１から１８のいずれか１項に記載の方法において、
マグニチュードおよびサイン情報を符号化する前記ステップは、各有意サンプルについての前記未加工ビットストリームに含まれる必要があるマグニチュード情報のビットの数を符号化するステップを含む、方法。
【請求項２０】
請求項１９に記載の方法において、
各有意サンプルについての前記未加工ビットストリームに含まれる必要があるマグニチュード情報のビットの数を符号化する前記ステップは、マグニチュードコンテキストに基づき、該マグニチュードコンテキストは、近傍サンプルの前記マグニチュード指数から形成される、方法。
【請求項２１】
請求項２０に記載の方法において、
前記マグニチュードコンテキストは、前記近傍サンプルマグニチュード指数の合計から形成される、方法。
【請求項２２】
請求項２１に記載の方法において、
使用される前記近傍サンプルは、前記コードブロックの前記第１ラインにおける２つの先行する近傍と前記コードブロックにおける全ての他のラインについての４つの近傍（左、左上、上、および右上）である、方法。
【請求項２３】
請求項１９から２２のいずれか１項に記載の方法において、
有意サンプルの前記マグニチュードは、２部分に、つまり、１部は前記マグニチュード指数のために、もう１部は前記サインおよびマグニチュードビットのためにエンコードされる、方法。
【請求項２４】
請求項２３に記載の方法において、
前記マグニチュード指数部分は、前記サインおよびマグニチュードビット部分をデコードすることなく、前記マグニチュード指数を明らかにしてデコードされるように配置されている、方法。
【請求項２５】
請求項２３または請求項２４に記載の方法において、
前記符号の前記マグニチュード指数部分は、コンマ符号によってエンコードされ、
前記コンマ符号は、
イベントの発生によって、Ｕ＝ｍａｘ（０，Ｅ−１−Ｇ）をエンコードするために使用され、ただし、ＵはＧよりも大きく、Ｅは前記有意サンプルの前記マグニチュード指数であり、Ｇは前記マグニチュード符号化コンテキストから生成される予測因子であり、
イベントの発生によって、０が続くＵ−１をエンコードするために使用され、ただし、ＧはＵ以上であり、Ｕが０を上回り、
イベントの発生によって、１が続くＰ＝Ｇ−（Ｅ１）をエンコードするために使用され、ただし、Ｕが０でありＰがＧ未満であり、
イベントの発生によって、Ｇをエンコードするために使用され、ただし、Ｕは０であり、ＰがＧに等しく、全てのエンコードされたビットは、未加工ビットストリームへ放出される、方法。
【請求項２６】
請求項２０、２１または２２に記載の方法において、
前記マグニチュード符号化コンテキストは、予測因子Ｇに変換され、
コンマ符号は、Ｕ＝ｍａｘ（０、Ｅ−１−Ｇ）をエンコードするために使用され、ただし、Ｅは前記有意サンプルの前記マグニチュード指数であり、
その後、Ｕが０を上回っている場合は、前記サインおよびＵ＋Ｇ−１最下位マグニチュードビットが放出され、それ以外は、前記サインおよびＵ＋Ｇマグニチュードビットが放出され、ただし、全てのビットは未加工ビットストリームへ放出される、方法。
【請求項２７】
請求項２０、２１または２２に記載の方法において、
前記マグニチュード符号化コンテキストは、予測因子Ｇに変換され、
コンテキスト依存型ライスマッピングは、前記サインド予測残差Ｅ−１−Ｇに適用されてＲを形成し、
コンマ符号は、Ｒをエンコードするために使用され、
その後、Ｅが２を上回る場合は前記サインおよびＥ−２最下位マグニチュードビットが放出され、それ以外は前記サインビットのみが放出され、ただし、全てのビットが未加工ビットストリームへ放出される、方法。
【請求項２８】
請求項１９または２０に記載の方法において、
有意サンプルについて前記未加工ビットストリームに含まれる必要のあるマグニチュードビットの前記数を符号化する前記ステップを、グルーブベースで行い、グループにおける各有意サンプルについて含むことになる十分な数のビットは、前記グループにおける全ての有意サンプルに適用するマグニチュードビットの予測数および予測残差の合計として符号化される、方法。
【請求項２９】
請求項２８に記載の方法において、
グループにおける有意サンプルについてのマグニチュードビットの前記予測数を、既に符号化されたマグニチュード情報を有する他のグループに属するサンプルの前記マグニチュード指数値を用いて決定する、方法。
【請求項３０】
請求項２９および１９に記載の方法において、
グループにおける有意サンプルについてのマグニチュードビットを特定するために使用される前記予測残差は、可変長符号を用いて符号化され、そのビットは、同じグループにおける有意サンプルを符号化するために使用される前記可変長符号のビットの後に放出される、方法。
【請求項３１】
請求項３０に係る方法において、
前記予測残差および有意性符号語ビットは、同じビットストリーム内においてインターリーブされる、方法。
【請求項３２】
請求項３１に記載の方法において、
残差および有意性符号語ビットの前記インターリーブは、連続的グループの各対についての前記有意性符号語に、同じグループについての前記予測残差符号語が続き、それらが有意サンプルを含む場合には、連続的グループの次の対についての前記有意性符号語が続くというように行われる、方法。
【請求項３３】
請求項１から３２のいずれか１項に記載の方法において、
画像圧縮の前記方法は、ＪＰＥＧ  ２０００フォーマットに準拠し、
請求項１から３２のいずれか１項に記載の前記ブロック符号化処理を、通常のＪＰＥＧ  ２０００ブロック符号化処理の代わりに用いる、方法。
【請求項３４】
請求項１から３３のいずれか１項に記載の方法において、
有意性およびマグニチュード符号化（Ｃｌｅａｎｕｐパス）の前記ステップは、あるマグニチュードビットプレーンに関連してコードブロック内において量子化されたサブバンドサンプルを通信する符号語セグメント（Ｃｌｅａｎｕｐ  セグメント）を生成する、方法。
【請求項３５】
請求項３４に記載の方法において、
付加的な符号語セグメント（ＳｉｇＰｒｏｐセグメント）を生成し、該付加的な符号語セグメントは、前記Ｃｌｅａｎｕｐパスにおいて非有意として符号化された、コードブロック内のいくつかのサンプルの有意性を、次のより細かい（より高精度の）マグニチュードビットプレーンに関連して、このより細かいビットプレーンに関連してのみ有意である複数のサンプルについての前記サイン情報と共に表す。
【請求項３６】
請求項３４に記載の方法において、
さらなる符号語セグメント（ＭａｇＲｅｆセグメント）を生成し、該さらなる符号語セグメントは、前記より細かい（より高精度の）ビットプレーンに関して、前記Ｃｌｅａｎｕｐパスにおいて有意として符号化されるサンプルについて、最下位マグニチュードビットを保持する、方法。
【請求項３７】
請求項５から２２のいずれか１項に記載の方法において、
ビットストリームにビットスタッフィング手順を行う、方法。
【請求項３８】
請求項１から３７のいずれか１項に記載の方法において、
各コードブロックについてＳｉｇｎｉｆｉｃａｎｃｅ  Ｐｒｏｐａｇａｔｉｏｎ符号化パスを実施するステップを含む、方法。
【請求項３９】
請求項３８に記載の方法において、
前記Ｓｉｇｎｉｆｉｃａｎｃｅ  Ｐｒｏｐａｇａｔｉｏｎパスは、有意性およびサインビットを未加工符号語セグメントへ放出する、方法。
【請求項４０】
請求項３９に記載の方法において、
１つのサンプルセットに関連付けられた前記有意性ビットはまとめて放出され、このサンプルセットについての任意のサインビットが続き、次のサンプルセットについての前記有意性ビットが続くというように放出される、方法。
【請求項４１】
請求項４０に記載の方法において、
有意性およびサインビットについての前記インターリーブパターンを決定する前記サンプルセットは、４サンプルからなる、方法。
【請求項４２】
請求項１から４１のいずれか１項に記載の方法において、
各コードブロックのためにＭａｇｎｉｔｕｄｅ  Ｒｅｆｉｎｅｍｅｎｔ符号化パスを実施するステップを含む、方法。
【請求項４３】
請求項４２に記載の方法において、
前記Ｍａｇｎｉｔｕｄｅ  Ｒｅｆｉｎｅｍｅｎｔパスは、未加工符号語セグメントへレファインメントビットを放出する、方法。
【請求項４４】
複数の画像サンプルを複数のコードブロックの形にする画像圧縮の方法において、
ブロック符号化処理を含み、該ブロック符号化処理は、
１つのサンプルセットについての有意性情報を符号化するステップと、
続いて、前記サンプルセットについてマグニチュードおよびサイン情報を符号化するステップと、
その他のサンプルセットのために、前記符号化および続く符号化ステップを、前記複数のコードブロックにおける全ての複数のサンプルセットについて有意性、サイン、およびマグニチュード情報が符号化されるまで繰り返すステップとを含む、方法。
【請求項４５】
請求項４４に記載の方法において、
前記ブロック符号化処理は、１つのサンプルセットが１グループのサンプルを含むように、前記コードブロックの前記サンプルを複数のグループになるように集めるステップを含み、
前記符号化および続く符号化ステップは、前記複数グループのサンプルに適用される、方法。
【請求項４６】
請求項４５に記載の方法において、
各グループは、４つのサンプルを含む、方法。
【請求項４７】
請求項４５または請求項４６に記載の方法において、
前記ブロック符号化処理は、前記グループのサブセットを、その独自のビットストリームを生成する適合型符号化エンジンを用いて符号化するステップをさらに含む、方法。
【請求項４８】
請求項４７に記載の方法において、
前記その独自のビットストリームを生成する適合型符号化エンジンは、算術符号化エンジンである、方法。
【請求項４９】
請求項４７に記載の方法において、
前記その独自のビットストリームを生成する適合型符号化エンジンは、適合型ランレングス符号化エンジンである、方法。
【請求項５０】
請求項４７、４８または４９に記載の方法において、
前記適合型符号化エンジンによって符号化されなかった前記残留有意性情報を符号化して未加工ビットストリームを提供する、方法。
【請求項５１】
請求項５０に記載の方法において、
前記ブロック符号化処理は、複数のビットストリームを含む単一符号語セグメントを生成するステップを含む、方法。
【請求項５２】
請求項５１に記載の方法において、
前記符号語セグメントは、２つの部分を有し、そのうち、第１部分は、前記符号化エンジンにより生成される前記ビットストリームを含み、第２部分は未加工ビットストリームを含む、方法。
【請求項５３】
請求項５２に記載の方法において、
前記符号語セグメントは３つの部分を有し、そうのうち、一部分は前記適合型符号化エンジンにより生成される前記ビットストリームを含み、第２部分は、前記第１部分内においてエンコードされない有意性情報を保持する前記未加工ビットストリームを含み、第３部分は、他の２つの部分内においてエンコードされないマグニチュードおよびサイン情報を保持する第２未加工ビットストリームを含む、方法。
【請求項５４】
請求項４４から５０のいずれか１項に記載の方法において、
前記ブロック符号化処理は、有意性、サイン、およびマグニチュード情報を含む単一符号語セグメントを生成するステップを含み、前記単一符号語セグメントは複数の部分を有し、各部分は異なる符号化処理によって符号化される、方法。
【請求項５５】
請求項４４〜５４のいずれか１項に記載の方法において、
有意性情報を符号化するステップは、コンテキストに基づき、１つのサンプルセットの前記コンテキストは、前記コードブロックにおける複数のサンプルセットのために既に符号化された前記有意性情報にのみ依存する、方法。
【請求項５６】
請求項５５に記載の方法において、
有意性情報を符号化する前記ステップは、可変長符号化を利用し、
単一符号語は、それ以外の場合は全体に非有意と分からない各サンプルセットについて放出される、方法。
【請求項５７】
請求項４４〜５６のいずれか１項に記載の方法において、
マグニチュードおよびサイン情報を符号化する前記ステップは、各有意サンプルについての前記未加工ビットストリームに含まれる必要があるマグニチュード情報のビットの数を符号化するステップを含む、方法。
【請求項５８】
請求項５７に記載の方法において、
各有意サンプルについての前記未加工ビットストリームに含まれる必要があるマグニチュード情報のビットの数を符号化する前記ステップは、マグニチュードコンテキストに基づき、該マグニチュードコンテキストは、近傍サンプルの前記マグニチュード指数から形成される、方法。
【請求項５９】
請求項５８に記載の方法において、
前記マグニチュードコンテキストは、前記近傍サンプルマグニチュード指数の合計から形成される、方法。
【請求項６０】
請求項５９に記載の方法において、
使用される前記近傍サンプルは、前記コードブロックの前記第１ラインにおける２つの先行する近傍と前記コードブロックにおける全ての他のラインについての４つの近傍（左、左上、上、および右上）である、方法。
【請求項６１】
請求項５７〜６０のいずれか１項に記載の方法において、
有意サンプルの前記マグニチュードは、２部分に、つまり、１部は前記マグニチュード指数のために、もう１部は前記サインおよびマグニチュードビットのためにエンコードされる、方法。
【請求項６２】
請求項６１に記載の方法において、
前記マグニチュード指数部分は、前記サインおよびマグニチュードビット部分をデコードすることなく、前記マグニチュード指数を明らかにしてデコードされるように配置されている、方法。
【請求項６３】
請求項６１または６２に記載の方法において、
前記符号の前記マグニチュード指数部分は、コンマ符号によってエンコードされ、
前記コンマ符号は、
イベントの発生によって、Ｕ＝ｍａｘ（０，Ｅ−１−Ｇ）をエンコードするために使用され、ただし、ＵはＧよりも大きく、Ｅは前記有意サンプルの前記マグニチュード指数であり、Ｇは前記マグニチュード符号化コンテキストから生成される予測因子であり、
イベントの発生によって、０が続くＵ−１をエンコードするために使用され、ただし、ＧはＵ以上であり、Ｕが０を上回り、
イベントの発生によって、１が続くＰ＝Ｇ−（Ｅ１）をエンコードするために使用され、ただし、Ｕが０でありＰがＧ未満であり、
イベントの発生によって、Ｇをエンコードするために使用され、ただし、Ｕは０であり、ＰがＧに等しく、全てのエンコードされたビットは、未加工ビットストリームへ放出される、方法。
【請求項６４】
請求項５８、５９、または６０に記載の方法において、
前記マグニチュード符号化コンテキストは、予測因子Ｇに変換され、
コンマ符号は、Ｕ＝ｍａｘ（０、Ｅ−１−Ｇ）をエンコードするために使用され、ただし、Ｅは前記有意サンプルの前記マグニチュード指数であり、
その後、Ｕが０を上回っている場合は前記サインおよびＵ＋Ｇ−１最下位マグニチュードビットが放出され、それ以外は、前記サインおよびＵ＋Ｇマグニチュードビットが放出され、ただし、全てのビットは未加工ビットストリームへ放出される、方法。
【請求項６５】
請求項５８、５９、または６０に記載の方法において、
前記マグニチュード符号化コンテキストは、予測因子Ｇに変換され、
コンテキスト依存型ライスマッピングは、前記サインド予測残差Ｅ−１−Ｇに適用されてＲを形成し、
コンマ符号は、Ｒをエンコードするために使用され、
その後、Ｅが２を上回る場合は前記サインおよびＥ−２最下位マグニチュードビットが放出され、それ以外は前記サインビットのみが放出され、ただし、全てのビットが未加工ビットストリームへ放出される、方法。
【請求項６６】
請求項５７に記載の方法において、
有意サンプルについて前記未加工ビットストリームに含まれる必要のあるマグニチュードビットの前記数を符号化する前記ステップを、グルーブベースで行い、グループにおける各有意サンプルについて含むことになる十分な数のビットは、前記グループにおける全ての有意サンプルに適用するマグニチュードビットの予測数および予測残差の合計として符号化される、方法。
【請求項６７】
請求項６６に記載の方法において、
グループにおける有意サンプルについてのマグニチュードビットの前記予測数を、既に符号化されたマグニチュード情報を有する他のグループに属するサンプルの前記マグニチュード指数値を用いて決定する、方法。
【請求項６８】
請求項６５および請求項５６に記載の方法において、
グループにおける有意サンプルについてのマグニチュードビットを特定するために使用される前記予測残差は、可変長符号を用いて符号化され、そのビットは、同じグループにおける有意サンプルを符号化するために使用される前記可変長符号のビットの後に放出される、方法。
【請求項６９】
請求項６８に記載の方法において、
前記予測残差および有意性符号語ビットは、同じビットストリーム内においてインターリーブされる、方法。
【請求項７０】
請求項６９に記載の方法において、
残差および有意性符号語ビットの前記インターリーブは、連続的グループの各対についての前記有意性符号語に、同じグループについての前記予測残差符号語が続き、それらが有意サンプルを含む場合には、連続的グループの次の対についての前記有意性符号語が続くというように行われる、方法。
【請求項７１】
請求項５１、５２、５３、５９、３８または６０に記載の方法において、
ビットストリームにビットスタッフィング手順を行う、方法。
【請求項７２】
請求項４４〜６３のいずれか１項に記載の方法において、
各コードブロックについてＳｉｇｎｉｆｉｃａｎｃｅ  Ｐｒｏｐａｇａｔｉｏｎ符号化パスを実施するステップを含む、方法。
【請求項７３】
請求項７２に記載の方法において、
前記Ｓｉｇｎｉｆｉｃａｎｃｅ  Ｐｒｏｐａｇａｔｉｏｎパスは、有意性およびサインビットを未加工符号語セグメントへ放出する、方法。
【請求項７４】
請求項７３に記載の方法において、
１つのサンプルセットに関連付けられた前記有意性ビットはまとめて放出され、このサンプルセットについての任意のサインビットが続き、次のサンプルセットについての前記有意性ビットが続くというように放出される、方法。
【請求項７５】
請求項７４に記載の方法において、
有意性およびサインビットについての前記インターリーブパターンを決定する前記サンプルセットは、４サンプルからなる、方法。
【請求項７６】
請求項４４〜７５のいずれか１項に記載の方法において、
各コードブロックのためにＭａｇｎｉｔｕｄｅ  Ｒｅｆｉｎｅｍｅｎｔ符号化パスを実施するステップを含む、方法。
【請求項７７】
請求項７６に記載の方法において、
前記Ｍａｇｎｉｔｕｄｅ  Ｒｅｆｉｎｅｍｅｎｔパスは、未加工符号語セグメントへレファインメントビットを放出する、方法。
【請求項７８】
請求項１から７７のいずれか１項に記載の方法において、
画像圧縮の前記方法は、ＪＰＥＧ  ２０００フォーマットに準拠し、
請求項１から７７のいずれか１項に記載の前記ブロック符号化処理を、通常のＪＰＥＧ  ２０００ブロック符号化処理の代わりに用いる、方法。
【請求項７９】
請求項１から７８のいずれか１項に記載の画像処理方法を実施するように構成されたエンコーディング装置。
【請求項８０】
エンコーディング装置であって、
１つのサンプルセットについての有意性情報を符号化し、続いて、前記１つのサンプルセットについてのマグニチュードおよびサイン情報を符号化し、他のサンプルセットのために前記符号化および続く符号化ステップを、コードブロックにおける全ての前記複数のサンプルセットについて有意性、サイン、およびマグニチュード情報が符号化されるまで繰り返すように構成されたブロック符号化器を備える、エンコーディング装置。
【請求項８１】
請求項１〜７８のいずれか１項に記載の方法を実施するようにコンピュータを制御するインストラクションを含む、コンピュータプログラム。
【請求項８２】
請求項８１に記載のコンピュータプログラムを提供する、不揮発性コンピュータ可読媒体。
【請求項８３】
請求項８２に記載のコンピュータプログラムを含む、データ信号。
【請求項８４】
標準的なＪＰＥＧ  ２０００ブロックビットストリームを請求項１から７８のいずれか１項に記載の方法によって生成されるようなブロックビットストリームに変換するステップを含む、トランスコーディング処理。
【請求項８５】
標準的なＪＰＥＧ  ２０００ブロックビットストリームを請求項１から７８のいずれか１項に記載の方法によって生成されるようなブロックビットストリームに変換するように構成された、トランスコーディング装置。
【請求項８６】
請求項１から７８のいずれか１項に記載の方法によって生成されるようなブロックビットストリームを標準的なＪＰＥＧ  ２０００ブロックビットストリームに変換するステップを含む、トランスコーディング処理。
【請求項８７】
請求項１から７８のいずれか１項に記載の方法によって生成されるようなブロックビットストリームを標準的なＪＰＥＧ  ２０００ブロックビットストリームに変換するように構成された、トランスコーディング装置。
【請求項８８】
請求項８４または請求項８６に記載のトランスコーディング処理を実施するようにコンピュータを制御するインストラクションを含む、コンピュータプログラム。
【請求項８９】
請求項８８に記載のコンピュータプログラムを提供する不揮発性コンピュータ可読媒体。
【請求項９０】
請求項８８に記載のコンピュータプログラムを含む、データ信号。
【請求項９１】
ＪＰＥＧ  ２０００規格に準拠した画像圧縮の方法において、
画像サンプルをブロック符号化処理によってコードブロックの形にし、改善策はブロック符号化処理においてＣｌｅａｎｕｐパスを実施することを含み、これは、全ての対応する先行のＪＰＥＧ  ２０００符号化パスによってエンコードされる情報と共に、対応のＪＰＥＧ  ２０００Ｃｌｅａｎｕｐパスによってエンコードされる情報をエンコードする、方法。
【請求項９２】
請求項９１に記載の方法において、
前記画像における各コードブロックのために、複数のＣｌｅａｎｕｐパス、複数のＳｉｇｎｉｆｉｃａｎｃｅ  Ｐｒｏｐａｇａｔｉｏｎパス、および複数のＭａｇｎｉｔｕｄｅ  Ｒｅｆｉｎｅｍｅｎｔパスを生成し、コードブロックのための各Ｃｌｅａｎｕｐパスは、個別のビットプレーンに関連付けられ、各Ｓｉｇｎｉｆｉｃａｎｃｅ  ＰｒｏｐａｇａｔｉｏｎおよびＭａｇｎｉｔｕｄｅ  ＲｅｆｉｎｅｍｅｎｔパスはＣｌｅａｎｕｐパスのレファインメントを表し、
そして、圧縮後レート歪み最適化処理によって、各コードブロックのための最終の圧縮された結果に含まれることになる特定のＣｌｅａｎｕｐパスと、そのＣｌｅａｎｕｐパスに関連付けられた任意のＳｉｇｎｉｆｉｃａｎｃｅ  ＰｒｏｐａｇａｔｉｏｎパスまたはＭａｇｎｉｔｕｄｅ  Ｒｅｆｉｎｅｍｅｎｔパスを含むかどうかとを選択する、方法。
【請求項９３】
請求項９２に記載の方法において、
コードブロックのために符号化パスが生成される前記ビットプレーンのセットは、類似の画像を圧縮する場合、類似のコードブロックから含有のために選択された前記ビットプレーンに基づいて、前記圧縮後レート歪み最適化手順により決定される、方法。
【請求項９４】
請求項９３に記載の方法において、
圧縮される前記画像は、映像シーケンスに属し、
前記類似画像は前記映像シーケンスから以前に圧縮されたフレームに対応し、前記類似コードブロックは、前記類似フレームの同じサブバンド内に同様に位置するブロックに対応する、方法。
【請求項９５】
請求項９３または請求項９４に記載の方法において、
符号化パスが生成される前記ビットプレーンは、前記イメージの予測された圧縮可能性に関する複雑性の基準にさらに依存している、方法。
【請求項９６】
請求項９５に記載の方法において、
前記複雑性は、前記類似コードブロックおよび画像だけでなく、圧縮されている前記コードブロックおよび前記画像について評価され、複雑性における差異は、符号化パスが生成される前記ビットプレーンのセットを調整するために使用される、方法。
【請求項９７】
請求項９５または請求項９６に記載の方法において、
複雑性の基準は、コードブロック内においてサブバンドサンプルマグニチュードを蓄積し、前記結果の近似的な対数を取り出すことにより、導出される、方法。
【請求項９８】
請求項９６または請求項９７に記載の方法において、
複雑性の前記基準は、複数のビットプレーンの各々においてコードブロックにおいて見出される有意サンプルの数をカウントすることに基づく圧縮可能性推定から導出される、方法。
【請求項９９】
請求項９６または請求項９７に基づく方法において、
複雑性の前記基準は、コードブロックにおいて見出される前記サブバンドサンプルの確率密度関数のためのパラメトリックモデルに基づく圧縮可能性推定から導出され、このようなモデルのための前記パラメータは、コードブロックのサンプル値から計算される要約統計値から形成される、方法。
【請求項１００】
請求項９２から９９のいずれか１項に記載の方法において、
前記ブロック符号化処理は、請求項１から７８のいずれか１項に記載の方法に基づく、方法。
【請求項１０１】
請求項９２から１００のいずれか１項に記載の方法を実施するように構成された、エンコーディング装置。
【請求項１０２】
複数の画像サンプルを複数のコードブロックの形にする画像圧縮の方法において、
ブロック符号化処理を含み、該ブロック符号化処理は、情報を含む単一符号語セグメントを生成するステップを含み、前記単一符号語セグメントは、複数の部分を含み、各部分は、異なる符号化処理によって符号化される、方法。
【請求項１０３】
請求項１０２に記載の方法において、
前記情報は、有意性、サイン、およびマグニチュード情報を含む、方法。
【請求項１０４】
請求項１０２または１０３に記載の方法を実施するようにコンピュータを制御するインストラクションを含む、コンピュータプログラム。
【請求項１０５】
請求項１０４に記載のコンピュータプログラムを提供する不揮発性コンピュータ可読媒体。
【請求項１０６】
請求項１０４に記載のコンピュータプログラムを含む、データ信号。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を圧縮する方法および装置に関し、特に、限定はしないが、画像を圧縮する向上したブロック符号化装置および方法に関する。
【背景技術】
【０００２】
画像圧縮システムは、知られている。ＪＰＥＧおよびＪＰＥＧ  ２０００は、画像圧縮のための一般向けの規格である。
【０００３】
ＪＰＥＧ  ２０００アルゴリズムは、多くの様々な分野において用途を見出す豊富な特性を提供する。いくつかの最も重要な特性は以下の通りである。
・圧縮効率
・品質スケーラビリティ
・解像度スケーラビリティ
・関心領域アクセシビリティ
・並列計算
・反復エンコーディングせずに最適化されたレート制御
・視覚的に関連する最適化対象を標的にする能力
・誤り耐性
・圧縮ドメイン（すなわち非常に少ないメモリ）転置およびフリッピング操作
・コードブロック、プレシンクトまたはＪ２Ｋパケットレベルで情報を再シーケンス化する能力
【０００４】
これらの特性の多くはＥＢＣＯＴアルゴリズム（Ｅｍｂｅｄｄｅｄ  Ｂｌｏｃｋ  Ｃｏｄｉｎｇ  ｗｉｔｈ  Ｏｐｔｉｍｉｚｅｄ  Ｔｒｕｎｃａｔｉｏｎ）の使用により派生するが、階層的な離散ウェーブレット変換（ＤＷＴ）の使用も重要な役割を果たす。
【０００５】
これらの中核的特性に加えて、複数の規格のうちのＪＰＥＧ  ２０００の規格一式は、以下の用途に対して良好なサポートを提供する。
・ＪＰＩＰを介したイメージ（映像および動画を含む）の効率的かつ応答型のリモート
・インタラクティブ
・ブラウジング。
・大量のイメージソースからの任意領域の効率的なオンデマンドでのレンダリング。
・非線形トーンカーブおよび／またはカスタム浮動小数点マッピングを使用することによる、高ダイナミックレンジ圧縮。
・豊富なメタデータアノテーション。
・ハイパースペクトル立体コンテンツの効率的圧縮。
【０００６】
ＪＰＥＧ  ２０００規格の欠点は、計算複雑性である。映像用途について、および、特にパワーを意識した用途については、圧縮およびレンダリング複雑性が、ＪＰＥＧ  ２０００の多くの利点にもかかわらずその採用の障壁となり得る。
【発明の概要】
【０００７】
第１観点によれば、本発明は、ブロック符号化処理によって複数の画像サンプルを複数のコードブロックの形にする画像圧縮の方法を提供し、前記ブロック符号化処理は、１つのサンプルセットについての有意性情報を、走査順における前のサンプルの有意性にのみ依存する符号を用いて符号化するステップと、１つのサンプルセットについてのマグニチュードおよびサイン情報を、前記走査順における前のマグニチュードおよび有意性情報にのみ依存する符号を用いて符号化するステップと、各サンプルセットに関連付けられた有意性ビットが符号化表現（符号語セグメント）においてまとまって発現するように、有意性およびマグニチュード符号ビットをサンプルのセット毎に配置するステップと、前記コードブロックにおける各サンプルセットについて、前記符号化および前記符号ビット配置ステップを繰り返すステップと、を含む。
【０００８】
一形態では、前記ブロック符号化処理は、１つのサンプルセットが１グループのサンプルを含むように、前記コードブロックの前記サンプルを複数のグループに収集するステップを含む。前記有意性符号化ステップは、複数のグループに適用される。一形態では、各グループは、前記コードブロックのラスター走査を受けて、４つの連続するサンプルを有する。別の形態では、各グループは、高さ２のストライプを有するコードブロックのストライプ指向性の走査を受けて、４つの連続するサンプルを有し、その結果、前記複数のグループが前記コードブロック内に２×２組成を有する。
【０００９】
一形態では、グループ有意性シンボルを、コードブロック内におけるいくつかのグループについて適合符号を用いて符号化し、このような各グループが何らかの有意サンプルを含んでいるかどうか、または、非有意サンプルを全く含んでいないかどうかを通信する。複数の形態では、グループ有意性シンボルは、コードブロック内の既に符号化された空間近傍が完全に非有意である複数のグループについて符号化される。複数の形態では、あるグループにおけるサンプルについての有意性を符号化するステップは、該グループが、適応性グループ有意性シンボル符号化の対象であるかどうか、および、そのようなグループ有意性シンボルの値に応じている。
【００１０】
複数の形態では、前記ブロック符号化処理は、多重ビットストリームを含む単一符号語セグメントを生成するステップを含む。一形態では、前方へ延伸するビットストリームおよび後方へ延伸するビットストリームは、個々のビットストリームの長さを別々に通信する必要がないように使用され（デュアルビットストリーム）、デコーダにとっては、個々のビットストリームが属する符号語セグメントの長さが分かれば十分である。別の形態では、３つのビットストリームが使用され（トリプルビットストリーム）、そのうち２つが前方へ延伸し、一方で１つが後方へ延伸する。３つのビットストリームからなる符号語セグメントの全長に加えて、２つの前方延伸ビットストリーム間のインターフェースが明確に特定される。複数の形態では、最終的な圧縮コードストリーム内に禁止コードが発現するのを回避するため、コードブロックの符号語セグメントの分離したビットストリーム内でビットスタッフィング技術が適用される。
【００１１】
複数の形態では、グループ有意性シンボルの適合型符号化により生成されるビットは、コードブロックの符号語セグメント内の自身のビットストリーム（適合的に符号化されたビットストリーム）に割り当てられる。
【００１２】
一形態では、グループ有意性シンボルが適合型算術符号化エンジンを用いて符号化される。
【００１３】
別の形態では、グループ有意性シンボルは、適合型ランレングス符号化エンジンを用いて符号化されている。
【００１４】
一形態では、１つのサンプルセットについての有意性を符号化するステップは、コンテキストに基づき、１つのサンプルセットの前記コンテキストは、走査ライン順に前記コードブロックにおける前の複数のサンプルセットのために既に符号化された有意性情報にのみ依存している。一形態では、コンテキストに基づいて有意性符号化する前記ステップは、可変長符号を利用し、単一符号語は、それ以外の場合は全体に非有意と分からない各サンプルセットについて放出される。
【００１５】
複数の形態では、コンテキストに基づく有意性符号化により生成される前記ビットを、前記適合的に符号化されたビットストリームから分離したビットストリーム（未加工ビットストリーム）内に配置する。
【００１６】
一形態では、マグニチュード情報を符号化する前記ステップは、マグニチュードコンテキストに基づき、各サンプルについての前記マグニチュードコンテキストは、その近傍の前記マグニチュード指数から形成される。一形態では、前記マグニチュードコンテキストは、前記近傍サンプルマグニチュード指数の合計から形成される。
【００１７】
一形態では、コードブロックの有意サンプルについてのマグニチュードおよびサイン情報をエンコードするために使用される前記ビットは、前記コンテキストに基づく有意性符号ビットと同じビットストリーム（未加工ビットストリーム）内に配置されているが、１つのサンプルセットについての前記有意性ビットが同じサンプルセットについての前記マグニチュードおよびサインビットよりも前に発現するように分離されている。一形態では、ビットストリームにおいて有意性およびマグニチュード／サインビットを分離するための基礎となる複数のサンプルセットは、コードブロックの全走査ラインである。
【００１８】
別の形態では、マグニチュードおよびサイン情報をエンコードするために使用される前記ビットは、前記コンテキストに基づく有意性符号ビットから分離したビットストリーム（未加工ビットストリーム）内に配置されている。
【００１９】
他の形態では、有意サンプルについてのマグニチュードおよびサイン情報は、可変長符号化部と非符号化部とに分離され、ただし、前記可変長符号化部により生成される前記ビットは、前記コンテキストに基づく有意性符号ビットと同じビットストリーム（ＶＬＣビットストリーム）内に配置され、一方、前記非符号化部は、分離したビットストリーム（未加工ビットストリーム）内に配置されている。このような形態では、有意性およびマグニチュードＶＬＣビットは、１つのサンプルセットについての有意性ＶＬＣビットが同じサンプルセットについてのマグニチュードＶＬＣビットよりも前に発現するように、ＶＬＣビットストリーム内で分離されている。一形態では、マグニチュードＶＬＣビットから有意性を分離するために使用される前記複数のサンプルセットは、複数のグループ対に対応し、ただし、有意性符号化は複数グループに基づく。
【００２０】
一形態では、前記画像圧縮の方法は、前記ＪＰＥＧ  ２０００形式に準拠し、上述のブロック符号化処理は、前記通常のＪＰＥＧ  ２０００ブロック符号化処理の代わりに使用される。
【００２１】
一形態では、有意性およびマグニチュード符号化のステップ（Ｃｌｅａｎｕｐパス）は、あるマグニチュードビットプレーンに関連してコードブロック内において量子化されたサブバンドサンプルを通信する符号語セグメント（Ｃｌｅａｎｕｐ  セグメント）を生成する。一形態では、付加的な符号語セグメント（ＳｉｇＰｒｏｐセグメント）を生成し、該付加的な符号語セグメントは、前記Ｃｌｅａｎｕｐパスにおいて非有意として符号化された、コードブロック内のいくつかのサンプルの有意性を、次のより細かい（より高精度の）マグニチュードビットプレーンに関連して、このより細かいビットプレーンに関連してのみ有意である複数のサンプルについての前記サイン情報と共に表す。一形態では、さらなる符号語セグメント（ＭａｇＲｅｆセグメント）を生成し、該さらなる符号語セグメントは、前記より細かい（より高精度の）ビットプレーンに関して、前記Ｃｌｅａｎｕｐパスにおいて有意として符号化されるサンプルについて、最下位マグニチュードビットを保持する。複数の形態では、ＳｉｇＰｒｏｐパスは、４ラインストライプ指向性走査を受けて、ＪＰＥＧ  ２０００において規定されているように正確に、ＣｌｅａｎｕｐパスまたはＳｉｇＰｒｏｐパスのいずれかにおいて有意として符号化された近傍を有する、以前は非有意であったサンプルについての有意性情報を符号化する。一形態では、ＳｉｇＰｒｏｐパスにより生成される有意性およびサインビットは、１つのサンプルセットについてのいくつかの新しい有意性ビットが同じサンプルセットについてのいくつかのサインビットに先行するように、単一未加工ビットストリーム内で分離されている。一形態では、ＳｉｇＰｒｏｐ符号語セグメント内に有意性およびサインビットを配置するための基礎を形成する複数のサンプルセットは、４つのサンプルからなる。
【００２２】
一形態では、本発明の方法は、特に、標準的なＪＰＥＧ  ２０００ＥＢＣＯＴアルゴリズムと比較して比較的高速のブロック符号化アルゴリズムを提供するという利点を有する。本願では、ＦＢＣＯＴ（Ｆａｓｔ  Ｂｌｏｃｋ  Ｃｏｄｅｒ  ｗｉｔｈ  Ｏｐｔｉｍｉｚｅｄ  Ｔｒｕｎｃａｔｉｏｎ）という用語を使用する。Ｆａｓｔ  Ｂｌｏｃｋ  Ｃｏｄｅｒオプションは、以下の詳細な説明から明らかとなる多数の利点を有する。
【００２３】
第２観点によると、本発明は、本発明の第１観点に係る方法を実施するように構成されたエンコーディング装置を提供する。
【００２４】
第３観点によると、本発明は、エンコーディング装置を提供し、該エンコーディング装置は、ブロック符号化器を備え、該ブロック符号化器は、１つのサンプルセットについての有意性情報を符号化し、前記１つのサンプルセットについてのマグニチュードおよびサイン情報を符号化し、結果として得られる符号ビットを最終的圧縮結果（符号語セグメント）内に配置し、他の複数のサンプルセットについて符号化ステップと符号ビット配置ステップとを、コードブロックにおける全ての前記複数のサンプルセットについて有意性、サイン、およびマグニチュード情報が符号化されるまで繰り返すように構成されている。
【００２５】
第４観点によると、本発明は、トランスコーディング処理を提供し、該トランスコーディング処理は、標準的なＪＰＥＧ  ２０００ブロックビットストリームを、ＪＰＥＧ  ２０００ブロックビットストリームから全ての情報を保存するために必要とされるように、０または１のＣｌｅａｎｕｐパス符号語セグメントと、０または１のＳｉｇＰｒｏｐ符号語セグメントと、０または１のＭａｇｒｅｆ符号語セグメントとを有する、本発明の第１観点の方法により作成されるようなブロックビットストリームに変換するステップを含む。
【００２６】
第５観点によると、本発明は、トランスコーディング装置を提供し、該トランスコーディング装置は、標準的なＪＰＥＧ  ２０００ブロックビットストリームを本発明の第１観点の方法によって生成されるようなブロックビットストリームに変換するように構成されている。
【００２７】
第６観点によると、本発明は、トランスコーディング処理を提供し、該トランスコーディング処理は、本発明の第１観点の方法によって生成されるようなブロックビットストリームを標準的なＪＰＥＧ  ２０００ブロックビットストリームに変換するステップを含む。
【００２８】
第７観点によると、本発明は、トランスコーディング装置を提供し、該トランスコーディング装置は、本発明の第１観点の方法によって生成されるようなブロックビットストリームを標準的なＪＰＥＧ  ２０００ブロックビットストリームに変換するように構成されている。
【００２９】
第８観点によると、本発明は、ＪＰＥＧ  ２０００規格に準拠した画像圧縮の方法を提供し、該方法において、画像サンプルをブロック符号化処理によってコードブロックの形にし、改善策はブロック符号化処理においてＣｌｅａｎｕｐパスを実施することを含み、これは、全ての対応する先行のＪＰＥＧ  ２０００符号化パスによってエンコードされる情報と共に、対応のＪＰＥＧ  ２０００Ｃｌｅａｎｕｐパスによってエンコードされる情報をエンコードする。
【００３０】
第９観点によると、本発明は、１つの画像または複数の画像のシーケンスを圧縮する際に目標圧縮サイズを達成することができるレート制御方法を、各コードブロックに対して限られたセットの符号化パス動作しか行う必要がない特性と共に提供する。
【００３１】
第１０観点によると、本発明は、デコーディング処理を提供し、該デコーディング処理は、本発明の第１観点の方法により生成されるデジタルビットストリームをデコードするように構成されている。
【００３２】
第１１観点によると、本発明は、デコーディング装置を提供し、該デコーディング装置は、本発明の第１観点の方法により作成されるビットストリームをデコードするように構成されている。
【図面の簡単な説明】
【００３３】
本発明の特徴および利点は、添付の図を参照することにより、単なる例であるその実施形態の以下の説明から明らかとなる。
【００３４】
【図１】図１は、ＲＥＳＴＡＲＴモードフラグによって／によらずに作成される符号語セグメントを示すＦＡＳＴ符号化パスとエンコーダによって生成され最終的にコードストリームへ出力される可能性がある符号化パスの例とを示す図である。
【図２】図２は、Ｃｌｅａｎｕｐパスエンコーダ（デュアルビットストリームバージョン）のブロック図である。
【図３】図３は、Ｃｌｅａｎｕｐパスデコーダ（デュアルビットストリームバージョン）のブロック図である。
【図４】図４は、Ｃｌｅａｎｕｐパスエンコーダ（トリプルビットストリームバージョン）のブロック図である。
【図５】図５は、Ｃｌｅａｎｕｐパスデコーダ（トリプルビットストリームバージョン）のブロック図である。
【図６】図６は、Ｃｌｅａｎｕｐパスエンコーダ（分散型マグニチュード情報を有するトリプルビットストリームバージョン）のブロック図である。
【図７】図７は、Ｃｌｅａｎｕｐパスデコーダ（分散型のマグニチュード情報を有するトリプルビットストリームバージョン）のブロック図である。
【図８】図８は、ＦＡＳＴブロック符号化器のＣｌｅａｎｕｐパスについてのデュアルビットストリーム符号語構造を表す図である。
【図９】図９は、ＦＡＳＴブロック符号化器のＣｌｅａｎｕｐパスについてのトリプルビットストリーム符号語構造を表す図である。
【図１０】図１０は、４で割り切れない偶数幅Ｗを有するコードブロックの最初の２ラインの一部を示す、線形１×４グループでのラスター走査順序を示す図である。なお、最右端のグループの抜けているサンプルは無視されずゼロパディングされている。
【図１１】図１１は、奇数幅Ｗの３ラインを有するコードブロックを示す、正方形の２×２グループでのラインインターリーブ走査順序を説明する図である。なお、コードブロックに重なる各グループ内の抜けているサンプルは無視されずゼロパディングされている。
【図１２】図１２は、ＦＡＳＴ  Ｃｌｅａｎｕｐパスのデュアルビットストリームバージョンについての有意性およびマグニチュード／サイン情報のラインインターリーブされたシーケンス化を表す図である。この説明は、１×４線形グループ構造に特有ではないが、２×２グループについては、Ｗは、コードブロック幅の２倍と解釈されるものとする。
【図１３】図１３は、ＦＡＳＴ  Ｃｌｅａｎｕｐパスのトリプルビットストリームバージョンについての有意性およびマグニチュード／サイン情報の完全に切り離された処理を表す図である。この説明は、１×４線形グループ構造に特有ではないが、２×２グループについては、Ｗは、コードブロック幅の２倍と解釈されるものとする。
【図１４】図１４は、線形１×４グループｇにおける有意性符号化のために使用される情報の図である。
【図１５】図１５は、正方形２×２グループｇにおける有意性符号化のために使用される情報を示す図である。
【図１６】図１６は、Ｅ[n]についてのマグニチュード符号化コンテキストを形成するために使用される近傍マグニチュード指数を表す図であり、Ｅ[n]がそのコードブロックの第１ラインに属する場合と属さない場合とについて別々に示す。
【図１７】図１７は、コードブロック内のグループの最初の列を除く、線形１×４グループ（上）と正方形２×２グループ（下）とについて分散型のマグニチュード符号化において含まれる量を示す図である。
【図１８】図１８は、サブバンドを影付きで示す「プレシンクトバンド」に縦に区画した、例２レベルＭａｌｌａｔ（左）および３レベルＤＦＳ（右）ＤＷＴ構造である。
【図１９】図１９は、コードブロック「フラッシュセット」の８つの変換されたラインを生成するための入力走査ラインにおける垂直分解の２つのレベルを示す図である。５／３ＤＷＴ解析リフティングステップおよび該５／３ＤＷＴ解析リフティングステップが出力コードブロックラインと入力走査ラインとの間において作成する対応の依存性を示す。
【図２０】図２０は、８本の走査ラインをデコーディングする垂直５／３ＤＷＴ合成ステップを示す図である。次の連続する第２コードブロック「フラッシュセット」からの符号化されたサブバンドラインに対するデコードされた走査ラインの依存性は、影付きで強調されている。デコードされたライン５〜７は、第１および第２フラッシュセットからのサンプルを必要とする。
【発明を実施するための形態】
【００３５】
ＪＰＥＧ  ２０００ブロック符号化アルゴリズムの概要
既存のＪＰＥＧ  ２０００ブロック符号化アルゴリズムは、符号化パスのシーケンスに亘り各コードブロック内のサブバンドサンプルを処理する。これを簡単に復習しておくことが、次の章での、異なる、しかしながら関連する符号化パス構造のＦＡＳＴブロック符号化アルゴリズムを説明するために、助けとなる。
【００３６】
2019522448.tif 000003
【００３７】
Ｍｐ［ｎ］≠０であれば、ビットプレーンｐに対してサンプルＸ［ｎ］は「有意」であると言う。
【００３８】
最も細かいビットプレーン（最高品質）はｐ＝０に対応し、一方、最も粗い品質はｐ＝Ｋ−１に対応し、ただし、Ｋは、コードストリームヘッダーに記録されたサブバンドに特有のパラメータによって決定される、任意のサブバンドに属するいずれかのコードブロックについてのビットプレーンの最大数である。
【００３９】
各コードブロックについて、パラメータＭｓｔａｒｔは、関連するＪＰＥＧ  ２０００パケットヘッダーを介して通信され、コードブロックの表現における抜けているビットプレーンの数と解釈される。ＪＰＥＧ  ２０００ブロックデコーダは、ビットプレーンｐ≧Ｋ−Ｍｓｔａｒｔにおいてコードブロックにおける全てのサンプルが非有意であると期待することができる。同様に、有意サンプルを含む可能性のあるビットプレーンの合計数は、Ｐ＝Ｋ−Ｍｓｔａｒｔによって与えられる。
【００４０】
ＪＰＥＧ  ２０００ブロック符号化アルゴリズムにおける第１符号化パスは、ビットプレーンｐ＝Ｐ−１について有意性（ｓｉｇｎｉｆｉｃａｎｃｅ）情報およびサイン（有意サンプルについてのみ）をエンコードする。この符号化パスは、「Ｃｌｅａｎｕｐ」パスとして特定される。重要なことには、このクリーンアップ（ｃｌｅａｎｕｐ）パスにおいて符号化された何らかの有意サンプルは、マグニチュード１を有している必要がある。
【００４１】
各連続する細かいビットプレーンについて、「ＳｉｇＰｒｏｐ」（ｓｉｇｎｉｆｉｃａｎｃｅ  ｐｒｏｐａｇａｔｉｏｎ）および「ＭａｇＲｅｆ」（ｍａｇｎｉｔｕｄｅ  ｒｅｆｉｎｅｍｅｎｔ）符号化パスとして特定された、３つの符号化パスが作成される。そして、合計で、以下の構造を有する３Ｐ−２の符号化パスがある。
Ｃｌｅａｎｕｐ（ｐ＝Ｐ−１）：ビットプレーンｐにおける、全サンプルの有意性、プラス有意サンプルのサインを符号化する。
ＳｉｇＰｒｏｐ（ｐ＝Ｐ−２）：プレーンｐにおいて、既知の有意サンプルの非有意近傍にアクセスし、それらの有意性（およびサイン）を符号化する。ＭａｇＲｅｆ（ｐ＝Ｐ−２）：プレーンｐ＋１に対して既に有意であったサンプルにアクセスし、Ｍｐ［ｎ］の最下位ビットを符号化する。
Ｃｌｅａｎｕｐ（ｐ＝Ｐ−２）：ビットプレーンｐにおける、有意性が未だ確立されていない全サンプルの有意性（およびサイン）を符号化する。
ＳｉｇＰｒｏｐ（ｐ＝Ｐ−３）：…
ＭａｇＲｅｆ（ｐ＝Ｐ−３）：…
Ｃｌｅａｎｕｐ（ｐ＝Ｐ−３）：…
…
Ｃｌｅａｎｕｐ（ｐ＝０）：…
なお、エンコーダは、最終コードストリームに含まれる情報から、末尾における任意数の符号化パスを落としてもよい。実際には、エンコーダは、それらが落とされることを妥当に予測することができるならば、そもそもこのような符号化パスを生成する必要はない。
【００４２】
標準的なＪＰＥＧ  ２０００ブロック符号化アルゴリズムにおいて、全ての符号化パスは、４ラインストライプを有する、ストライプ指向性走査パターンを採用する。各ストライプの列は、次のストライプへ動く前に左から右へアクセスされ、一方、各ストライプ列内において、ストライプ列の４サンプルが上から下へ走査される。
【００４３】
ＪＰＥＧ  ２０００ブロック符号化器は、クリーンアップパスにおける全てのシンボルについて算術符号化を採用しているが、ＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスにおける未加工の（符号化されていない）ビットを任意に放出するのみであり得る。非クリーンアップ（ｎｏｎ−ｃｌｅａｎｕｐ）パスのために未加工ビットが放出されるこのモードは、「算術符号化器バイパス」モード、または短縮して単に「ＢＹＰＡＳＳ」モードと認識される。
本発明の本実施形態に基づくＦＡＳＴブロック符号化アルゴリズムの鍵となる要素
符号化パス構造
【００４４】
ＦＡＳＴブロック符号化器は、ビットプレーンｐに関して定義された、Ｃｌｅａｎｕｐ、ＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスと共に、符号化パス構造も採用する。しかしながら、各ビットプレーンｐと関連付けられたＣｌｅａｎｕｐパスは、Ｍｐ［ｎ］≠０であるサンプルのマグニチュードＭｐ［ｎ］およびサインを完全にエンコードすることが重要である。この情報は、コードストリームへ符号化パスを放出しても意味がないように、全ての前の（ｐよりも大きい）符号化パスと関連づけられているものを完全に含む。
【００４５】
その結果、最初の放出符号化パスがＣｌｅａｎｕｐパスである限り、先頭および末尾双方の符号化パスは、エンコーダによって落とされ（または全く生成されなく）てもよい。実際、最終コードストリームにおけるいずれかの任意のコードブロックのために３つを上回る符号化パスを実際に含むことは、エンコーダにとっては全く意味がない。図１は、ＦＡＳＴブロックエンコーダによって生成されてもよく、および／または、最終コードストリームへ放出されてもよい符号化パスを示す。
【００４６】
デコーダの観点から、ＪＰＥＧ  ２０００パケットヘッダーを構文解析することにより回復されるＭｓｔａｒｔ値は、コードブロックのための最初の利用可能符号化パスに関連付けられたビットプレーンインデックスｐ＝Ｋ−Ｍｓｔａｒｔ−１を特定する役割を依然として果たしている。しかしながら、ＦＡＳＴ  Ｃｌｅａｎｕｐパスは、いずれかの任意のサンプルについての多重マグニチュードビットをエンコードする可能性があるため、Ｍｓｔａｒｔを全てが０である先頭マグニチュードビットの数と解釈することができなくなる。エンコーダは、Ｍｓｔａｒｔが各コードブロックのための第１放出符号化パスを正しく説明する、ということを保証することに慎重であるべきである。
【００４７】
ＦＡＳＴブロック符号化器により生成されるＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスは、互いに依存しておらず、直前のＣｌｅａｎｕｐパスにのみ依存している。ＦＡＳＴブロック符号化器により生成されるＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスは、ＪＰＥＧ  ２０００におけるのと全く同じ情報をエンコードし、その結果、Ｃｌｅａｎｕｐ、ＳｉｇＰｒｏｐまたはＭａｇＲｅｆパスの末端における表現の切り捨てに関連する効果的な量子化は、ＦＡＳＴブロック符号化アルゴリズムが使用されるのか、または、標準的なＪＰＥＧ  ２０００ブロック符号化器が使用されるのかにかかわらず同じである。
【００４８】
ＳｉｇＰｒｏｐパスからの全ての有意性および関連するサイン情報は未加工２進数として放出され、ＭａｇＲｅｆパスからの全てのマグニチュードリファインメント情報は未加工二進数として放出され、ただし、これらの未加工ビットストリームには、ＦＦ９０ｈ〜ＦＦＦＦｈ１の範囲における誤りマーカー符号の発現を回避するためのＪＰＥＧ  ２０００の要件に準拠したビットスタッフィング手順のみが行われる。
―――――――――――――――
１実際、ＪＰＥＧ  ２０００未加工符号語セグメントにおけるビットスタッフィングは、ＦＦ８０ｈ〜ＦＦＦＦｈの範囲のビッグエンディアン１６進値を有するバイト対の発現を回避するが、ブロック符号化アルゴリズムは、一般的には、ＦＦ９０ｈ〜ＦＦＦＦｈの範囲であるマーカー符号を回避すればよい。
―――――――――――――――
【００４９】
ＦＡＳＴブロック符号化アルゴリズムにより採用されるＭａｇＲｅｆパスは、符号ビットがリトルエンディアンビット順で未加工ビットストリームのバイトに詰められていることを除き、算術符号化器バイパスモード（短縮してＢＹＰＡＳＳモード）において動作する、標準的なＪＰＥＧ  ２０００ブロック符号化器のそれと同一である。すなわち、１バイトにおける第１符号ビットは、そのＭＳＢではなくそのＬＳＢにおいて発現する。
【００５０】
ＦＡＳＴブロック符号化アルゴリズムにより採用されるＳｉｇＰｒｏｐ符号化パスも、ＢＹＰＡＳＳモードで動作する標準的なＪＰＥＧ  ２０００ブロック符号化器のそれと非常に類似し、以下の差異を有する。
１．再び、符号ビットがリトルエンディアンビット順で未加工ビットストリームのバイトに詰められる一方で、ＪＰＥＧ  ２０００符号化器は、ビッグエンディアンビット詰め順を使用する。
２．高さ３または高さ４のストライプについては、各ストライプ列に関連付けられた有意性ビットがまず放出され、次のストライプ列へ進む前に、関連付けられたサインビットが続く。
３．高さ２のストライプについては、ストライプ列の各対に関連付けられた有意性ビットがまず放出され、ストライプ列の次の対へ進む前に、関連付けられたサインビットが続く。
４．高さ１のストライプ列については、４つのストライプ列（４サンプル）の各グループに関連付けられた有意性ビットがまず放出され、４つのストライプ列の次のグループへ進む前に、関連付けられたサインビットが続く。
【００５１】
これらの変更は、まとまって、元来のＪＰＥＧ  ２０００方法よりも実施の利点を、特に、ソフトウエアに基づく実施について有している。なお、最後の３つの変更は、以下で説明するように、サンプルデータの他の観点から有意性情報を分離する原則、大きいスケールではＣｌｅａｎｕｐパスについて採用する原則、に一致する。最後の３つの変更は、簡単なルックアップテーブルに基づく短時間でのデコーディングが可能となるように、慎重に作成される。最後の２つの変更は、短く幅の広いコードブロックが頻繁に生じると予測される用途、特に、低レイテンシ用途のためにのみ重要である他の用途のためには、２つ目の変更を延長して、全てのストライプの高さをカバーし最後の２つを除外するのが、適切である可能性がある。
【００５２】
ブロック符号化アルゴリズム自体は別として、ＦＡＳＴブロック符号化器は、他のＪＰＥＧ  ２０００コードストリーム構成またはそれらの解釈に影響を与えない。プレシンクト、パケット、タイル、変換、および全ての他のＪＰＥＧ  ２０００要素は変更されないままである。特に、ＪＰＥＧ  ２０００パケットの構成は、従来のブロック符号化アルゴリズムが使用されるのか、または、ＦＡＳＴブロック符号化アルゴリズムが使用されるのかに関わらず、ブロック符号化器により作成される符号語セグメントに依存している。
【００５３】
符号語セグメントは１シーケンスのバイトであり、その長さはパケットヘッダーを介して必然的に特定される。標準的なＪＰＥＧ  ２０００ブロック符号化器は、全ての符号化パスを単一符号語セグメントに詰めてもよい（デフォルトモード）が、ＲＥＳＴＡＲＴモードにおいて、各符号化パスには、その自身の符号語セグメントが割り当てられており、一方、ＲＥＳＴＡＲＴ無しの１つまたは複数のＢＹＰＡＳＳモードにおいて、ＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスには、総括的に符号語セグメントが割り当てられている。
【００５４】
ＦＡＳＴブロック符号化器は、示唆されたＢＹＰＡＳＳモードフラグおよび意味を持たないＲＥＳＥＴモードフラグを除き、標準的なＪＰＥＧ  ２０００ブロック符号化器について定義されたモードフラグの全てをサポートしている。３つ未満の符号化パスがコードストリームへ放出され、ＢＹＰＡＳＳが示唆されるため、図１に示すように、ＲＥＳＴＡＲＴモードフラグに応じて、立ち上がり得る符号語セグメントは２種類しかない。ＣＡＵＳＡＬモードは、全ての標準的なＪＰＥＧ  ２０００ブロックビットストリームへ、または、全ての標準的なＪＰＥＧ  ２０００ブロックビットストリームからの完全に可逆的なトランスコーディングを確保するために、オプションとして維持される必要がある。なぜなら、ＣＡＵＳＡＬモードは、ＳｉｇＰｒｏｐ符号化パスの解釈に影響するからである。
Ｃｌｅａｎｕｐ  Ｐａｓｓの概要
【００５５】
このセクションの残りを、ＦＡＳＴブロック符号化器のＣｌｅａｎｕｐパスを説明することに充てる。先へ進む前に、エンコーダおよびデコーダについての概要ブロック図を提供することが助けとなる。後の説明を簡単化するため、本願でカバーされるＦＡＳＴクリーンアップパスの複数の異なる変形例（ｖａｒｉａｎｔ）に対応する、複数バージョンにおけるエンコーディングおよびデコーディングブロック図を提供する。変形例は、以下のように２つの主な方法で特徴付けられる。
１．各変形例は、デュアルビットストリーム構造またはトリプルビットストリーム構造のいずれかを有する。デュアルビットストリーム構造は、圧縮の観点から、構想的により簡単であるが非常にわずかしか効率的でない。しかしながら、トリプルビットストリーム構造は、ソフトウエアおよびハードウエア最適化のためにより多くのオプションを提供するため、一般的に好まれる。デュアルビットストリーム構造は、１ビットストリーム内でＶＬＣおよびＭａｇＳｇｎビットをインターリーブし、一方、トリプルビットストリーム構造は、分離したＶＬＣおよびＭａｇＳｇｎビットストリームを提供する。
２．他の際立った特徴は、各有意サンプルについてのマグニチュード情報が１ビットストリーム（ＭａｇＳｇｎビットストリーム）内に統合されているか、または、ＶＬＣビットストリームとＭａｇＳｇｎビットストリームとの間で分散されているかである。分散アプローチは、統計的冗長性を利用する機会を提供するのが若干少ないが、サンプル毎の依存性を低減または除去することにより、ソフトウエアデコーディングスループットを向上させ、ハードウエアデコーディングクロックレートを上昇させる。分散アプローチは、ＭａｇＳｇｎビットストリームに関連付けられた最悪の事態データ速度も低減し、このことは、ハードウエア実施のためにより良好である。
【００５６】
図２および図３は、統合されたマグニチュードを有するデュアルビットストリーム構造についてのエンコーダおよびデコーダのブロック図を提供する。図４および図５は、同様に、統合されたマグニチュードを有する、トリプルビットストリーム構造についての対応するブロック図を提供する。最後に、図６および図７は、分散されたマグニチュード情報を有するトリプルビットストリームの変形例についてエンコーディングおよびデコーディングの手順を示す。なお、ここでは、デュアルビットストリームおよび分散されたマグニチュード情報を有する変形例については明示しないが、ブロック図は、既に提供されたものから明らかである。これらのブロック図の要素は、以下のサブセクションにおいて説明されるが、「記憶」素子については、事前に明確化しておくのがよいであろう。
【００５７】
記憶素子は、コードブロックのサンプルおよびいくつかの推定された状態情報を格納することができるバッファを表す。エンコード中に、記憶素子にサブバンドサンプルが入力され、その後、導出された量（有意性フラグおよびマグニチュード指数）をすぐに見出すことができる。デコーディング中に、デコーディングが進むにつれて記憶素子にはサブバンドサンプル、および導出された量（有意性フラグおよびマグニチュード指数）が漸進的に入力される。記憶素子は、全コードブロックについて全てのサンプルまたは導出された量を格納する必要はないが、物事をこのように概念化することが最も簡単である。記憶要件を以下でより徹底的に検討する。
Ｃｌｅａｎｕｐパスにおけるデュアルまたはトリプルのビットストリーム
【００５８】
上記の通り、ＪＰＥＧ  ２０００コードストリーム構造との互換性のために、ＦＡＳＴブロック符号化器のＣｌｅａｎｕｐパスは、既存の方法により関連する１つまたは複数のパケットヘッダーと繋がる長さを有する単一符号語セグメントを生成する。しかしながら、ＦＡＳＴブロック符号化器では、この符号語セグメントは、２つまたは３つのビットストリーム、すなわち、
Ａ．前方へ延伸する適合的に符号化されたビットストリームと、
Ｂ．符号語セグメントの端部から後方へ延伸する未加工ビットストリームと、
Ｃ．いくつかの変形例において、符号語セグメントの開始から前方へ延伸する第２未加工ビットストリームと、に分割されている。
【００５９】
「適合的に符号化された」という用語は、ここでは、何らかの方法でシンボル統計を学習し、これに適応する、コンテキスト適合型のエントロピー符号化器の存在を指す。対照的に、未加工ビットストリームは、誤りマーカー符号（以下を参照）を回避するための必須ビットスタッフィングは別として、単に詰められたビットからなる。様々な適合型符号化技術を採用することができ、それらのうち、本願では、特に注目される２つ、すなわち、ａ）ＪＰＥＧ  ２０００からのＭＱ算術符号化器と、ｂ）ＪＰＥＧ−ＬＳにより使用されるものと同様のＭＥＬ符号化アルゴリズムとを説明する。結局のところ、双方とも非常に類似した圧縮効率と類似の状態遷移パターンとを提供するが、ＭＥＬ符号化アプローチは、より小さい状態機械を有するため、一般的に好まれる。
【００６０】
図８は、デュアルビットストリーム構成を示す。図２および図３の対応するブロック図を参照すると、未加工ビットストリームは、ここでは、ライン毎にインターリーブされた、ＶＬＣ有意性符号語、ならびに、マグニチュードおよびサインビットを含む。
【００６１】
図９は、トリプルビットストリーム構成を示し、この構成では、ＶＬＣ有意性符号語が、インターリーブされるのではなく、マグニチュードおよびサインビットから完全に分離（切断）されている（図４および図５参照）。トリプルビットストリーム構成は、効率性がわずかだが低い。なぜなら、２つの前方延伸ビットストリーム間の境界を特定するために、追加の信号伝達（インターフェース位置特定言語）が必要だからである。しかしながら、切り離され得る、中央で接触し得る、または重なり合いさえしてもよい、前方延伸ビットストリームと後方延伸ビットストリームとの境界が正しいデコーディングに干渉しない限り、この境界を明確に特定する必要はない。
【００６２】
ここで、目的は、依然として、パケット生成に対するただ１つの符号語セグメントを提供し、既存のＪＰＥＧ  ２０００規格との最大の互換性のための機構を解析しつつ、処理複雑性と符号化効率との間の様々な妥協点を表す様々な符号化技術を使用できるようにすることである。
【００６３】
単一符号語セグメント内で２つの異なるビットストリームを使用することは、並行／平行処理を可能にすることにおいて顕著な利点を有する。ＦＡＳＴブロック符号化器に関連づけられた、適合的に符号化されたビットストリームを、他の１つまたは複数のビットストリームからは独立してエンコードおよびデコードすることができる。高度なデコーダの実施においては、適合的に符号化されたシンボルの一部または全ては、そのデコーディングが自身に依存する未加工シンボルの十分前にデコードされる可能性がある。エンコーダは、適合的エンコーディングステップを、コードブロックについて未加工ビットの一部または全てが放出され終わった後まで延期することができ、このことは、ソフトウエア実施において有益であり、ハードウエア展開のためにも十分有益であり得る。
【００６４】
トリプルビットストリーム構成は、効率が少し低いが、より高いレベルの同時並行性さえ提供し、エンコーディング処理およびデコーディング処理の順序付けにおいてより高いレベルの柔軟性をサポートするという理由で好ましい。これらは、ハードウエアにおいて特に有益である。簡単に説明したように、符号化処理は、有意性情報をマグニチュードおよびサイン情報とは独立してエンコードまたはデコードし得るものである。これは、デコーダが、適合的に符号化されたビットストリームを、他の２つのビットストリームを参照せずに処理でき、ＶＬＣ未加工ビットストリームを、ＭａｇＳｇｎ未加工ビットストリームを参照せずに処理できることを意味する。エンコーダは、デュアルビットストリームの変形例の演算をインターリーブすることにより課される同期化制限無く、希望であれば全ての３つのビットストリームを並行して生成することができる。トリプルビットストリーム構成のさらなる重要な利点は、エンコーダおよびデコーダの双方が、任意の有意性伝播（ＳｉｇＰｒｏｐ）またはマグニチュードレファインメント（ＭａｇＲｅｆ）パスを、Ｃｌｅａｎｕｐパスと並行して、実質的なパス間遅延無しで処理できることである。
【００６５】
これらの特性は、ブロック符号化器のハードウエア実施のためのサンプル処理当たりに保証された単一クロックを簡単化し、このことは、多重コードブロックの利用可能性と組み合わさり、低いクロックレートで非常に高いデータスループットを得ることができる。
【００６６】
デュアルおよびトリプルビットストリーム構造が並行性および切断にもたらす利点は、ビットストリームが発展する順番からは独立しており、その結果、他の非常に近く関係した考えられるビットストリーム配置が当然ある。図７の配置は、以下の点から分かるであろう複数の理由から好ましい。
１．ＭａｇＳｇｎビットストリームは、高いビットレートでビットストリームのうちの最大のものである傾向があるため、これを符号語セグメントの開始から前方へ延伸させることのいくつかの利点があり、生成されたバイトを各コードブロックの端部に再配置するために必要な労力を最小化する。
２．ＶＬＣビットストリームおよび適合的に符号化されたビットストリームの組み合わせられたサイズを確定的に抑制することができる。
ａ．有意サンプルのための全てのマグニチュード関連ビットがＭａｇＳｇｎビットストリームのみに見出される統合されたマグニチュード情報により、この抑制を、Ｓｍａｘ＜１０２０バイトを満たすように表すことができ、ＶＬＣビットストリーム内で採用される符号についての適切な選択の対象であり得、Ｌ＝１０ビットのインターフェース位置確定語（ＩＬＷ）を用いて２つの前方伸長ビットストリーム間の境界を信号伝達することができるようになる。
ｂ．ＶＬＣビットストリームとＭａｇＳｇｎビットストリームとの間の符号化されたマグニチュード情報を分散させる変形例について、ＶＬＣおよび適合的に符号化されたビットストリームの組み合わせられたサイズは上昇し、抑制を、Ｓｍａｘ＜２０４０バイトを満たすように表すことができ、ＶＬＣビットストリームと共に採用される符号のための適した選択の対象であり得る。これにより、Ｌ＝１１ビットインターフェース位置確定語（ＩＬＷ）を用いて２つの前方伸長ビットストリーム間の境界を信号伝達することができる。
【００６７】
Ｌビット（すなわち１０ビットまたは１１ビット）ＩＬＷを、その８ＭＳＢの最終バイトにおける発現と共に、符号語セグメントの末端に置くことは、末端「ＦＦｈ」が回避される（ＪＰＥＧ  ２０００要件）という利点を有する。ＩＬＷにおける最下位Ｌ−８（すなわち、２または３）ビットは、符号語セグメントの第２最終バイトの最下位Ｌ−８ビット位置を占め、その他の１６−Ｌ（すなわち、６または５）ビットは、次に、符号ビットのために利用可能である。
３．ＣＢＲ用途におけるバッファーアンダーフローを回避するために２つの前方伸長セグメント間に追加バイトをスタッフィングする必要があるならば、多重符号語セグメントがコードストリームバッファへ放出された後でも、最後に生成された２つのバイトを読み取るだけで、スタッフィングの場所を簡単に見出すことができる。
【００６８】
ここでの多重ビットストリーム配置の並行利点も、適合的に符号化されたビットストリームのために使用される適合型符号化アルゴリズムの選択からは独立している。次の２つのサブセクションにおいて、掘り下げて調査した２つの適合型符号化技術、ＭＱおよびＭＥＬ符号化についての具体的な詳細および検討を示す。
【００６９】
全体の符号語セグメントは、多重ＩＳＯ／ＩＥＣ画像符号化規格において見出される一般要件である、ＦＦ９０ｈ〜ＦＦＦＦｈの範囲において誤りマーカー符号が無いということが要求される。すなわち、第１のバイトの１６進数値がＦＦｈであり第２のバイトの１６進数値が９０ｈ〜ＦＦｈの範囲にあるという特徴を有しているバイト対が、ないべきである。加えて、ＪＰＥＧ  ２０００規格は、誤りマーカー符号が作成されるリスク無く符号語セグメントを後から再配置できるように、符号語セグメントの末端バイトはＦＦｈであってはならないということを要求している。ＪＰＥＧ  ２０００において、また、ＪＢＩＧ２においても使用されるＭＱ算術符号化器は、誤りマーカー符号を放出することができない特性を既に有している。
【００７０】
ＭＥＬ符号化の場合について以下で説明するように、他の適合型符号化アルゴリズムについては、ビットスタッフィングを別途導入して、誤りマーカー符号を回避する必要がある。
【００７１】
前方伸長未加工ビットストリームについては、ＪＰＥＧ  ２０００ブロック符号化器のＢＹＰＡＳＳモードにおいて生成される未加工ビットストリームと同じ方策を用いて誤りマーカー符号が回避される。具体的には、放出されたＦＦｈに続くバイトは、７つしか有効バイトを含んでおらず、その最上位ビット位置に０がスタッフィングされている。
【００７２】
Ｃｌｅａｎｕｐ符号語セグメントの端部から後方伸長する未加工ビットストリームは、以下のように誤りマーカー符号を回避する。ビットは、最下位ビット位置から始まるバイトにビットを詰める放出未加工操作を介して、未加工ビットストリームへ符号化手順から放出される。バイトが組み立てられると、最後に放出されたバイト（無ければ０）と組み合わせられて、１６ビットビッグエンディアン・アンサインド整数Ｖを形成する。エンコーダが
（Ｖ＆７ＦＦＦｈ）＞７Ｆ８Ｆｈ
を見出すと、次に、Ｖの最上位ビットを、新しく生成されるバイトを放出する前にリセットし、その後、除去されたばかりのビットが次のバイトの最下位ビットとなるように放出未加工（ｅｍｉｔ−ｒｒａｗ）へ送られる。
【００７３】
当然ながら、上記ビットスタッフィング方策と同等の迅速な実施もある２。
―――――――――――――――
２ソフトウエア実施のために、全てのビットスタッフィング手順を、効率的にベクトル化することができ、その結果、個々のバイト指向の試験は必要無い。
―――――――――――――――
デコーダは、バイトを（逆向きに）未加工ビットストリームから読むため、同じ条件を監視してスタッフィングビットを除去する。
【００７４】
交互ビットスタッフィングアプローチが考えられ、このアプローチにおいて、試験される条件は、単に、
（Ｖ＆７Ｆ８０ｈ）≠０
である。
【００７５】
このアプローチは、圧縮効率もわずかながら低減される代わりに、極めてわずかながら簡単である。
【００７６】
ビットストリーム間のインターフェースにおいてそこに誤りマーカー符号が確実に生成されないようにすることも注意しなければならない。このため、エンコーダは、追加バイト、または、フリップ不使用ビットを、ビットストリームのいずれかの末尾に挿入する必要がある場合もある。
【００７７】
デュアルビットストリーム構成については、エンコーダは、その最初のステップの通り、スタッフィングビット（すなわち０）を後方伸長未加工ビットストリームへ放出することにより、符号語セグメントの最後のバイトがＦＦｈではないという要件に対処し、このスタッフィングビットは、任意の有効ビットよりも前にデコーダにより消費される。
【００７８】
トリプルビットストリーム構成のためには、初期スタッフィングビットは不要である。なぜなら、後方伸長ＶＬＣ未加工ビットストリームは、符号語セグメントの最後から２番目のバイトの最後の１６−Ｌ（すなわち、６または５）ビットから開始するからであり、この最後のＬ（すなわち、１０または１１）ビットは、ＦＦｈと同じ大きさであり得ない最終バイトを有するインターフェース位置確定語により占められるからである。ビットスタッフィングおよびビットアンスタッフィングアルゴリズムの目的で、符号語セグメントの最後のＬビットは全て１であったとして処理され、これにより、エンコーダは、インターフェース位置確定語に挿入されることになるＬビット値に対する何等かの依存性無しで、全てのビットストリームのために、ビットスタッフィングを行い、完成したバイトを生成することができる。
【００７９】
実際の実施では、このことは、エンコーディングの前にＶＬＣ未加工ビットストリームへ複数のＬ個のプレースホルダビット（全て１に等しい）を実際に放出し、全てのエンコーディングが完了した後でＩＬＷ値によりこれらのビットを上書きすることによって達成されてもよい。一方、デコーダは、まず、ＩＬＷを抽出してＳを決定することができ、対応するＬビットを１で置換し、次に、全てのＳ末尾バイトをＶＬＣ未加工ビットストリームと関連付けられたビットアンスタッフィング機構へ送る。このアプローチでは、Ｌ個のプレースホルダビットは、ＶＬＣ未加工ビットストリームから消費され実際のブロックデコーディングが開始する前に破棄されるであろう。
【００８０】
トリプルビットストリーム構成については、デコーダは、ＭａｇＳｇｎビットストリームの端部に単一ＦＦｈを、そのビットを取り込んでマグニチュードおよびサイン情報をデコードする前に、常に付加する。したがって、エンコーダは、任意の末端ＦＦｈを破棄して、２つの前方伸長ビットストリームセグメント間のインターフェースにおいて誤りマーカー符号が発生する何らかの可能性を回避することができ、一般的にはするべきであり、任意の末端ＦＦｈは、破棄されない場合はＭａｇＳｇｎビットストリームへ放出されることになる。
【００８１】
ＣＢＲ制約を伴うＪＰＥＧ−ＸＳ用途などのいくつかの用途では、スタッフィングバイトをＣｌｅａｎｕｐ符号語セグメントへ導入して通信バッファがアンダーフローしないようにする必要がある場合がある。このことは、ここで説明するデュアルまたはトリプルビットストリーム構造によって簡単に達成される。スタッフィングバイトを、正しいデコーディングに干渉することなく、前方伸長および後方伸長ビットストリーム間に導入することができる。トリプルビットストリーム構成のためには、インターフェース位置確定バイトを介して特定された位置において、第２前方伸長ビットストリームの直前にスタッフィングバイトを挿入することが強く推奨される。また、このようなスタッフィングバイトが、実際に何らかのビットをデコーディングすることなく、検出および安全に除去することが容易なパターンである、ＦＦｈ  ８０ｈ  ＦＦｈ  ８０ｈ…に従うことも推奨される。
ＭＱ適応型算術符号化
【００８２】
算術符号化は、非常に強力で柔軟な技術である一方、ＦＡＳＴブロック符号化器は、適合型符号化を使用して、ＡＺＣシンボルとして知られている２進数シンボルσＡＺＣ[i]の可変長ストリングを表す。以下に説明するように、これらのサンプルは、全て、同一の（全てゼロの）近傍を有するため、異なる統計値を有するサブクラスにそれらを分離する先験的な方法は無い。したがって、適応型ＭＱ符号化コンテキストを１つ採用すればよく、これにより、エンコーディングおよびデコーディング実施が簡単化される。
【００８３】
ＭＱ符号化器は４６の到達可能状態を有する状態機械を採用し、ただし、状態遷移は、繰り込みイベントにおいてのみ起こる。繰り込みは、ＬＰＳ（ｌｅａｓｔ−ｐｒｏｂａｂｌｅ  ｓｙｍｂｏｌ）が符号化される場合は常に起こり、この場合、ＬＰＳは、ほぼ例外なくσＡＺＣ[ｉ]＝１に対応する。加えて、ＬＰＳシンボル間に、典型的には１回のＭＰＳ（ｍｏｓｔ−ｐｒｏｂａｂｌｅ  ｓｙｍｂｏｌ）繰り込みイベントが起こる。したがって、１で終了する０ＡＺＣシンボルの各ランについておよそ２つの状態遷移を予測できる。実際に、ＭＱ符号化器は、「スキュー符号化器」まで追跡され得る系統を有する、ランレングス符号化器の１種と理解され得る。これは効率的ランレングス符号化アルゴリズムに他ならない。
【００８４】
ＭＱ符号化アルゴリズムの詳細がここで繰り返される必要はないが、ＦＡＳＴブロック符号化器により採用されるデュアルビットストリーム構造は、ＭＱ終了方策の選択に影響を及ぼすことを指摘しておく。最も簡単なアプローチは、周知のイライアス終了方法論を使用することであり、この方法論では、ＭＱ符号化器の間隔ベースレジスタＣは、２１４だけ増大され（ＭＱ間隔長レジスタＡは１６ビット幅であり）、バイトは、この追加ビット１４が排出されるまで、符号化器から排出される。最後に排出されるバイトがＦＦｈであれば、次に、１つの追加バイトを、誤りマーカー符号を回避するために、ＭＱとＣｌｅａｎｕｐビットストリームセグメントの未加工ビットストリームとの間に放出される必要がある場合がある。
【００８５】
正当化されにくいが複雑性においてより高いコストを払えば、真に最適なＭＱビットストリーム終了も当然可能である。最短ＭＱ終了は、多くの場合、それらの情報ビットのいくつかを未加工ビットストリームと共用し、上記イライアス終了アプローチに対して、全Ｃｌｅａｎｕｐ符号語セグメント長においておよそ６ビットの平均的な低減が達成される。
ＭＥＬ適合型符号化アルゴリズム
【００８６】
ＭＥＬＣＯＤＥは、適応型ランレングス符号として最も簡単に理解される。したがって、説明しやすいように、ＡＺＣシンボルストリームσＡＺＣ[ｉ］が、まずランレングスＲＡＺＣ[ｊ]のシーケンスに変換され、ただし、各ランは、次の１に先行する０の数を表しているものとする。４コードブロックサンプルの各グループのために最大で１つのＡＺＣシンボルがあり、コードブロックは４０９６個を上回るサンプルを有していてはいけないため、符号化される必要のある最大ランレングスは、全く非有意のコードに対応する１０２４ブロックであり、それゆえ、通常は起こるはずがないが、それにもかかわらず、その可能性はあり得る。これにより、完全に空のコードブロックを表すために、非空符号語セグメントを使用でき、これは、非効率的であるが、ＣＢＲ用途におけるバッファーアンダーフローの回避のために有用であり得る。
【００８７】
2019522448.tif 000004
表１：ＭＥＬ符号化状態機械
【表１】
2019522448.tif 000005
【００８８】
ＭＥＬＣＯＤＥは、ランレングスＲＡＺＣ[ｊ]についての適合型ゴロム符号であり、ただし、閾値ＴＭＥＬ[ｋ]はゴロムパラメータの役割を果たす。適合を無視すると、符号化手順は以下のように要約される。
Ｒ≧Ｔである間、１（「ｈｉｔ」）を放出し、ＲからＴが引かれる。
０（「ｍｉｓｓ」）を放出し、Ｒの最下位ビットからＥ個のビットが続く。
【００８９】
指数関数的に分散された情報源のための最適ゴロムパラメータは、その平均値の半分よりも少し大きい。したがって、典型的なランＲは、ｍｉｓｓが続く１つのｈｉｔによって符号化されるはずである。このことは、適応型状態機械が各ランにつき１つのｈｉｔと１つのｍｉｓｓとを（平均して）経験するはずだということを示唆し、このことは、表１に示ように各ｈｉｔの後に状態を増加させ、各ｍｉｓｓの後に状態を低減することにより達成される。
【００９０】
完全なＭＥＬ符号化アルゴリズムは、以下の通りである。
Initialize k=0
Foreach j=0,1,…
Set R←RAZC[j] 
While R≧TMEL[k]
Emit“1” (“hit”)
Update R←R-TMEL[k]
Update k←min{k+1,12}
Emit“0” (“miss”)
Emit EMEL[k] LSB’s of R
Update k←max{k-1,0}
【００９１】
アルゴリズムはランレングス符号化に関して表現される一方で、ＭＱ符号器がランにおいて動作する状態機械としてリキャストされるのと全く同様に、個別シンボルにおいて動作する適合型状態機械と常にリキャストすることができる。個別ＡＺＣシンボルのためのエンコーダとして、ここでのＭＥＬ符号化器は６を上回る符号ビットを生成できないが、多くの場合、ビットを全く生成しない。ＭＱおよびＭＥＬ双方の符号化アプローチは、ほぼ同じ数の状態遷移を示すが、ＭＥＬ符号化器の利点は、非常に小さい状態機械を有することである。マルチシンボル符号化の目的で、ＭＱ符号化器の状態機械は、ＭＱ状態インデックスおよび１６ビットＡレジスタの双方からなると考えることができ、一方、ＭＥＬ符号化器は、たった４ビットの状態インデックスを有する。少なくともソフトウエア実施においては、ランのエンコーディングおよびデコーディングを駆動するために小さいルックアップテーブルを使用することが望ましく、多くの場合、完全なランをエンコードまたはデコードするためにはシングルルックアップで十分である。
【００９２】
ＭＥＬ符号化器により放出される複数のビットは、ＭＳＢから始めてＬＳＢまで作業されて、ビッグエンディアンでの方法で複数のバイトに詰められる。また、誤りマーカー符号の発現を防止するために、ＦＦｈに続く任意のバイトのＭＳＢに０ビットが詰められる。
【００９３】
大抵の場合は、コードブロックにおける最後のＡＺＣシンボルは０であり、その結果、最終ランは実際に「オープン」であり、これは、より大きいランをエンコーディングすることはＡＺＣシンボルの正しいデコーディングに干渉しないことを意味する。加えて、ＭＥＬ符号化器により生成される最終バイトは、多くの場合は、１または複数の未使用ＬＳＢを含む。これ点を考慮して、ＭＥＬ符号化されたビットストリームのために様々な終了方策を工夫することができる。ＭＱ符号ビットストリームと同様に、ＭＥＬビットストリームに属するバイトは、正しいデコーディングが保証される限り、Ｃｌｅａｎｕｐ符号語セグメント内において、未加工ビットストリームに属するバイトに部分的に重なってもよい。
【００９４】
ＦＡＳＴブロック符号化器の様々なビットストリームにおけるビットおよびバイトについてのシーケンス化の概要は、鍵となる動作原理を変えることなく、様々な方法で変更され得る。例えば、後方伸長ＭＥＬ符号ビットストリームを、前方伸長未加工ビットストリームに接触するように配置することができる。ＭＥＬ符号ビットストリームにおけるビットはリトルエンディアン順に詰めた状態で、未加工ビットストリームにおけるビットをビッグエンディアン順に詰めることができる一方で、以前として２つのビットストリーム間のインターフェースにおける終了方策を可能にすることができる。しかしながら、リトルエンディアンビット詰め順は、ソフトウエア実施のための利点をもたらす傾向があり、それゆえ、適合的に符号化されたビットストリームよりも典型的には大きい未加工ビットストリームのために、リトルエンディアン順を採用することは意味がある。
Ｃｌｅａｎｕｐパスグループおよび走査パターン
【００９５】
ＦＡＳＴブロック符号化アルゴリズムの重要な特性は、Ｃｌｅａｎｕｐパスについての有意性情報が複数のグループに集められ、他の情報よりも前に符号化されていることである。有意性の効率的な符号化は、特に比較的低いビットレートにおいて、非常に重要であり、コードブロックにおけるどのサンプルが有意（すなわち、非ゼロ）であるかを特定して符号化されたビットの半分以上が消費されてもよい。ＦＡＳＴブロック符号化器は、決まったセットのＶＬＣ符号語を使用して１つのグループにおける全てのサンプルの有意性（または、その他）を１度で特定する。加えて、ＦＡＳＴブロック符号化器は、ＡＺＣ（Ａｌｌ−Ｚｅｒｏコンテキスト）グループとして知られる特定グループのサンプルを、全体として非有意であろうと特定し、適合型（ＭＱまたはＭＥＬ）符号化エンジンは、各ＡＺＣグループが実際に全体として非有意であるかどうかを効率的にエンコードするために使用される。
【００９６】
グループがこのような重要な役割を果たすため、それらのサイズおよび配列は重要である。経験的な証拠は、サイズ４のグループが複雑性と符号化効率との間の最良の妥協点を提供することを強く示唆している。より小さいグループでは、適合型ＡＺＣグループ符号化は、より効果的になる傾向があり、ＶＬＣ符号語は小さくできる。より大きいグループでは、より多くのサンプルの有意性を１度で符号化することができるが、小さい表で管理するにはＶＬＣ符号語が長くなり過ぎる。
【００９７】
本願では、それぞれ４サンプルを有する２種類のグループに基づいた、ＦＡＳＴブロック符号化アルゴリズムの変形例を説明する。
１．線形（または１×４）グループは、単一走査ライン内において水平に隣接する４つのサンプルからなる。コードブロック幅が４分割されない場合、各走査ライン内の最後のグループにゼロ値のサンプルがパディングされる。
２．正方形（または２×２）グループは、連続する２つのコードブロック行の１つのストライプから続く２つの列からなる。幅または高さが２分割されないコードブロックには、簡単化のため、同じく、単に０がパディングされている。
【００９８】
これらの異なる２つのグループ構造（および潜在的にはその他）を、サンプルの再配置と同等の対象と考えることができ、要するに、符号化を目的としてサンプルがアクセスされる順、すなわち、走査パターンにおける変化となる。図１０および図１１は、上記で特定された２つのグループ構造と関連付けられた走査パターンを示す。いずれの場合も１グループは走査順において連続する４つのサンプルからなり、抜けたサンプルには０がパディングされている。０パディングは非効率性を伴うが、サブバンド境界で切り捨てられるコードブロックを取り扱う必要がある実施を簡単化する。明らかに、２×２の正方形のグループ構造は、コードブロック走査ラインの各対を２倍の幅を有する１つの走査ラインにインターリーブすることにより、１×４線形グループ構造に変換される。
【００９９】
直線グループ構造は、コードブロックがライン毎に符号化されるという利点を有し、このことは、アルゴリズムの全体のレイテンシを最小化するという潜在性を有する。一方、正方形グループの利点は、小さい幅を有するコードブロック、例えば、３２×３２コードブロックで作業する場合、高いスループットのソフトウエア実施により適していることである。セクション０に示す圧縮性能結果は、２×２グループ構造が１×４線形構造よりも若干良好に動作する可能性があることを示唆している。
有意性符号化
【０１００】
上述の通り、有意性は、グループベースで符号化されている。各グループｇは、グループにおける任意のサンプルが有意であれば１であり、それ以外は０である２値の有意性状態σｇを有する。加えて、グループｇは、０〜１５の範囲において４ビット有意性パターンρｇを有し、（走査順にＬＳＢからＭＳＢまで）これらビットの各々は、グループにおける対応のサンプルが有意であれば１である。明らかに、σｇ＝０⇔ρｇ＝０である。
【０１０１】
有意性符号化を目的として、各グループには、走査順にアクセスされて、前のグループと関連付けられた有意性情報にのみ依存する符号化コンテキストｃｇが割り当てられる。これは重要である、なぜなら、それにより、マグニチュードおよびサイン情報より前に有意性をデコードすることができるからである。これにより、エンコーダおよびデコーダ双方の少なくともソフトウエア実施において、計算のスループットが向上し、ＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスをＣｌｅａｎｕｐパスと平行してエンコードおよびデコードすることもできる。
【０１０２】
ｃｇ＝０であるグループは、Ａｌｌ−Ｚｅｒｏ−Ｃｏｎｔｅｘｔ（ＡＺＣ）状態にあるといわれる。実際面では、これらは因果関係を示す近傍が全て非有意であるグループがあり、これが用語ＡＺＣの説明となっている。適合型符号化は、セクション４．４（ＭＱ符号化）および０（ＭＥＬ符号化）において上記で説明された通り、ＡＺＣグループの有意性σｇを符号化するためにのみ採用される。具体的には、シーケンスにおける各ＡＺＣグループに関連付けられた２値のシンボルσｇは、連結されて、可変長２値のストリングσＡＺＣ[i]を形成し、これに対して上記可変符号化技術の１つを行う。ＡＺＣシンボルストリングのエンコーディングおよびデコーディングは、他のエンコーディングまたはデコーディングステップと同期化される必要はない。
【０１０３】
非ＡＺＣグループ、および有意（すなわちσｇ＝１）であるＡＺＣグループについて、有意性パターンρｇは、可変長符号化（ＶＬＣ）を用いてエンコードされ、結果として生じる符号語を未加工ＶＬＣビットストリームへ直接放出し、ここで、これらには、前述のビットスタッフィング手順のみ行われる。個別のセットのＶＬＣ符号語は、各グループコンテキストｃｇのために使用される。効率的実施は、ＶＬＣ表を使用することができる。この表のエントリは、後続のグループのためのコンテキストラベルの生成を簡単化するために定式化される。
【０１０４】
上述の通り、有意性情報は、マグニチュードおよびサイン情報の一部または全てとは別に符号化され／デコードされ、このことは、切断の程度をＦＡＳＴブロック符号化器の実施に導入する。本願では、有意サンプルについてのマグニチュードおよびサイン情報をエンコードする二進数を指すために「ＭａｇＳｇｎビット」という用語を使用することが役立つ。図８のデュアルビットストリーム構成により、ＶＬＣ符号語およびＭａｇＳｇｎビットは、図２に示すように、１行のグループに基づいて（すなわち、１×４線形グループのためにはライン毎、または、２×２正方形グループのためにはラインの対毎に）、単一未加工ビットストリーム内においてインターリーブされる。すなわち、コードブロック内のグループの各行のために、グループ有意性符号化に関連付けられた全てのＶＬＣ符号語は、グループのその行における有意サンプルのためにＭａｇＳｇｎビットが放出される前に、未加工ビットストリームへ放出される。図１２は、これらの概念を示す。
【０１０５】
図９のトリプルビットストリーム構成によれば、有意性情報のエンコーディングおよびデコーディングは、マグニチュードおよびサインビットからは完全に切断され、エンコーダおよびデコーダの双方においてエンコーディングおよびデコーディングの動作のシーケンス化において大きい柔軟性を提供する。この構成についての情報の流れを図１３に示す。
【０１０６】
先述の通り、ＦＡＳＴブロック符号化器の重要な変形例は、実際には、ＶＬＣとＭａｇＳｇｎビットストリームとの間でマグニチュード情報を分散させる。この場合、ＶＬＣビットは増大されるが、図においてこれを詳細に示すことは不要に混乱させることである。
線形グループのグループ有意性コンテキスト
【０１０７】
ここで、グループ有意性コンテキストｃｇの具体的セットを説明する。該グループ有意性コンテキストは、線形１×４グループで動作する場合、現在の実施において使用される。図１４に示すように、ρｇ−１が左のグループの有意性パターンを示し（無ければ０）、σｇｐが左のサンプルの有意性を示し、σｇｐｐが２つの左のサンプルの有意性を示し、σｇ０〜σｇ５が前の走査ライン上のグループｇ上を中心とした６つのサンプルの有意性（無ければそれぞれ０）を示しているとする。
【０１０８】
次に、コードブロックの第１走査ラインについては、
2019522448.tif 000006
であり、一方他の全ての走査ラインについては、
2019522448.tif 000007
である。
【０１０９】
ｃｇの実際の数値は、選択されたにもかかわらず重要ではない、なぜならそれらはハードウエアおよびソフトウエアにおいて効率的に計算され得るからである。標記ａ｜ｂは、ここでは、二進数ａおよびｂの論理ＯＲを意味する。コードブロックにおいて全てのラインが利用可能なコンテキスト７および０を有する、合計で８つのコンテキストがある。コンテキスト０は、コンテキストを形成するために使用されるサンプルの全てが非有意、すなわち、ＡＺＣコンテキストであることを常に意味する。逆に、コンテキスト７は、コンテキストを形成するために使用されるサンプルの全てが有意であることを意味する。非初期走査ラインに関連付けられたコンテキストは、実質的に２つの二進数から形成され、そのうちの一方は、グループの最初のサンプルが有意近傍を有する場合は１であり、他方は、グループの最後のサンプルが有意近傍を有する場合は１である。
【０１１０】
ソフトウエアにおいてデコーダは、ＶＬＣ表エントリについて適切な構造を仮定すれば、前の走査ラインにおける有意性状態の単純関数から計算される（ベクトル演算を用いて計算され得る）、前のグループのＶＬＣ表のマスク処理された出力との論理ORされた索引および未加工ビットストリームからの次の６ビットを用いて、全てのコンテキストを含む単一ＶＬＣルックアップテーブルに索引付けすることができる。このことは、非常に高いデコーディングスループットにつながり得る。エンコーダは、高度に平行なバイト指向性ベクトル演算を用いてそれらのコンテキスト情報を全て計算することができるため、本質的により簡単である。
正方形グループのためのグループ有意性コンテキスト
【０１１１】
２×２正方形グループ構造によると、本実施において使用される有意性符号化コンテキストを図１５に示す。この場合、最初のライン対、ここでは前の走査ラインの有意性は利用できない、については完全に分離したＶＬＣコードブックが使用されることが好ましく、この場合のために８つの別のコンテキスト、そして走査ラインの非初期対内で見出されるグループのためにさらに別の８つのコンテキストを有する。
【０１１２】
グループｇが走査ラインの第１対において見出される第１の場合について、グループコンテキストは、走査順（図１２参照）において先行する４サンプル、ここではσｇｐ１〜σｇｐ４として特定され、ｇがコードブロックにおいて第１グループにあればこれらの全ては０だと考えられる、の有意性を用いて形成される。この場合のグループコンテキストは以下のように得られる。
2019522448.tif 000008
【０１１３】
全ての他のグループについて、有意性符号化コンテキストは、操作順における前の２つのサンプル、すなわち、σｇｐ１およびσｇｐ２の有意性を、前の走査ライン上の４つの近傍サンプル、図１５においてσｇ０〜σｇ３として特定される、の有意性と共に用いて、形成される。単純に定式化されたものの１つを、グループコンテキストのために採用してもよい。
2019522448.tif 000009
または
2019522448.tif 000010
【０１１４】
双方のコンテキストラベル定義を、ソフトウエアおよびハードウエアにおけるエンコーディングおよびデコーディングの間の効率的な形成のために、受け入れることができる。
グループ有意性パターンの可変長符号化
【０１１５】
ここで、適合的に符号化されたビットストリーム内で有意であると特定された非ＡＺＣグループおよびＡＺＣグループのための有意性パターンをエンコードするために使用されるＶＬＣ符号についての具体的な情報を提供する。
【０１１６】
分離したＶＬＣ表は、各コンテキストｃｇのために定義される。これらの各々は、１５符号語しか有していないｃｇ＝０（ＡＺＣコンテキスト）である場合を除き、１６符号語を有する。なぜなら、グループにおける少なくとも１つの有意サンプルの存在は、既述の通り、適合的に符号化されたビットストリーム内で既に符号化されているためである。符号語長さは、６ビットに制限され、その結果、コンテキスト当たりたった６４エントリを有するルックアップテーブルを用いてデコーディングを達成することができる。
【０１１７】
ＶＬＣ表は、原則的に、各符号語の長さによって定義されている。なぜなら、適切なセットの符号語は、各コンテキストにおける符号語長さのセットから常に導出され得るからである。符号語のいくつかの選択により、ルックアップテーブルの代わりにＶＬＣ符号の直接計算が可能な場合もある。これを可能にする１つの非常に簡単な構造は、ＡＺＣコンテキストを除き、グループにおける各サンプルの有意性をその自身の符号語ビットに単にマップすることであり、この場合、符号語の最初の２ビットは、グループにおいて（走査順に）最初の有意のサンプルのインデックスｆを特定し、これに、グループにおける各後続のサンプルの個々の有意性を特定する３−ｆビットが続く。この（基準）選択のための符号語長さを、表２に示す。
表２：ＡＺＣコンテキストにおける初期ゼロのランの符号化と個々のビットのその他の各サンプルの有意性への割り当てとに互換性を有する、ＶＬＣ符号語長さの単純集合。
【表２】
2019522448.tif 000011
【０１１８】
ＶＬＣ符号語長さの良好な集合を生成するため、符号語当たり最大６ビットに制約した上で、周知のハフマン構造を用いて１ビット／ペル〜６ビット／ペルの範囲のビット率で圧縮された多数の自然画像の統計値を集めて、最適な長さを見出した。
表３：１×４グループ構造のためのＶＬＣ符号語長さの最適化された集合
【表３】
2019522448.tif 000012
【０１１９】
線形１×４グループについて、導出された符号語長さを表３に示す。これらの符号語長さは、表２の符号語長さよりも実質的に優れ、動作条件の全範囲に亘り、同じビット率で、ＰＳＮＲにおける０．２〜０．５ｄＢの範囲において典型的に向上する。なお、直線グループについて、コードブロックの初期ラインおよび非初期ラインの双方に対して、合計で丁度８つのコンテキストを有するＶＬＣ表の１つの集合しか使用しない。これは機能する、なぜなら、第１ラインはより小さいコンテキスト情報を利用可能であり、それゆえ、多くのコンテキストが要求されるわけではなく、それらの重要性は、第１ラインが典型的にはコードブロックサンプルの非常に小さい割合しか占めないという事実により減少される。
【０１２０】
２×２正方形グループ構造のためには、２つの別々の、つまり、１つは第１ラインペアにおいて見出されるグループのため、またもう１つは非初期ラインペアにおいて見出されるグループのためのＶＬＣ符号語の集合が開発される。最適化された符号語長さは、表４および表５において報告され、ただし、後者は上記でｃｇｕｎｂａｌとして特定された「非バランス」ラベルに対応する。最適化されたＶＬＣ符号語の使用は、２×２グループケースにおける圧縮性能に対して、１×４線形グループのためよりも重要でさえある。それぞれ最適化されたＶＬＣ符号語を用いる場合、２×２グループのための全体の符号化効率は１×４グループのためよりもわずかに高く、一方、表２の自明な符号語が使用される場合は、逆のことも真実であることが分かった。
表４：コードブロックにおけるグループの初期行内の２×２正方形グループのためのＶＬＣ符号語長さの最適化された集合
【表４】
2019522448.tif 000013
2019522448.tif 000014
【表５】
2019522448.tif 000015
【０１２１】
異なる指向性を有するＤＷＴサブバンド、または、おそらく、ＤＷＴ階層における異なるレベルについて、別々に最適化されたＶＬＣ符号語表を用いることで、符号化効率を向上することができる、と期待されるかもしれない。実際に、このことは、いくつかの小さい恩恵を提供するが、実験によれば、これらの恩恵が典型的には全体的な符号化データレートの１％よりも小さいことが示唆され、このことは、表の数の拡張を正当化するには不十分な場合がある。
マグニチュード指数
【０１２２】
既述の通り、ビットプレーンｐにおいて、サンプルＸ［ｎ］のマグニチュードは、以下の通りであると考えられる。
2019522448.tif 000016
また、サンプルは、Ｍｐ［ｎ］≠０である場合は、有意であると考えられる。ビットプレーンｐにおけるサンプルのための「マグニチュード指数」Ｅｐ［ｎ］は、以下のように定義される。
2019522448.tif 000017
ただし、Ｎは自然数（非負整数）の集合である。以下の表は、この定義を説明するのに役立つはずである。
2019522448.tif 000018
【０１２３】
なお、ここで説明されるアルゴリズムは、マグニチュードを３２ビット整数として表すことができるものとし、その結果、それらのマグニチュードが２３１を上回ることはない。しかしながら、より高い精度にさえこのアルゴリズムを拡大することは簡単である。
【０１２４】
ソフトウエアベースのエンコーダは、前もってコードブロックにおける全てのサンプルのマグニチュード指数を計算し、それらをメモリ（サンプル当たり１バイト）に格納することができる。なお、大抵のＣＰＵは、マグニチュード指数を効率的に計算するために使用され得るインストラクションを含む。
マグニチュードおよびサイン符号化：前書き
【０１２５】
さて、有意であると知られているサンプルについてのマグニチュードおよびサイン情報の符号化に注目する。重要なことには、サンプルが有意であると知られているため、Ｍｐ−１≧０の値を符号化することで十分である。この場合、マグニチュード指数Ｅｐ−１≧０であり、また、以下の通りである。
2019522448.tif 000019
【０１２６】
すなわち、Ｅｐ−１は、Ｍｐ−１という値を表すために必要とされるビットの最小数である。そうなるように、マグニチュード指数定義を詳細に工夫した。マグニチュード指数は、非自明な方法でビットプレーンｐに依存し、このことは、有意サンプルのマグニチュードの効率的な符号化のために重要である。
【０１２７】
ここでの符号化方策は、効果的にＭｐが１〜２Ｅｐ−１の範囲にわたって均一に分散するため、Ｅｐ自体の値が一旦確立されると、関連するビットストリームへＭｐ−１のＥｐ−１の最下位ビットを放出すればよい。各有意サンプルのサインが均一に分散されると考え、それゆえ、未加工２進数としてサインビットを放出すればよい。
【０１２８】
ＥＰという値を符号化する際にはより多くの注意が必要である。先述の通り、本願で説明したＦＡＳＴブロック符号化アルゴリズムの変形例を、図６（エンコーダ）および図７（デコーダ）に示すように、マグニチュード情報の符号化が単一ビットストリーム内で統合されているか、または、ＶＬＣとＭａｇＳｇｎビットストリーム間で分散されているかに応じて分類することができる。特に、ＦＡＳＴブロック符号化器の分散された変形例は、Ｅｐを特定するために必要とされる情報の一部をＶＬＣビットストリームへ動かす。
【０１２９】
以下のセクションでは、後続のマグニチュード指数の符号化を条件付けるための予めデコードされたマグニチュード値を用いて、指数およびｍａｇ−ｓｉｇｎビットの統合された符号化についてまず説明する。「連結されたマグニチュードおよびサイン符号化」において、分散されたマグニチュード符号化方法を説明する。
連結されたマグニチュードおよびサイン符号化
【０１３０】
場所ｎにおける有意サンプルについてのマグニチュード情報を符号化することは、その因果関係のある近傍のマグニチュード指数を集積することにより形成されるコンテキストに基づく。以下では、下付き文字ｐを全てのマグニチュードおよびマグニチュード指数から落とすが、ビットプレーン索引が示唆されるものとする。
【０１３１】
ここで説明される方法は、その１×４線形グループ構造に沿った、図１０のラスター走査順に適している。２×２正方形グループについては、以下（分散されたマグニチュードおよびサイン符号化）で説明する分散されたマグニチュード符号化方策を使用する方がより一層シンプルである。
【０１３２】
非初期走査ラインについて、マグニチュード符号化コンテキストは、以下より形成される。
2019522448.tif 000020
ただし、ＥＷ[n]は、左側の近傍のマグニチュード指数（左側の近傍が無い場合は０）であり、ＥＮ[n]は、上記近傍のマグニチュード指数（前の走査ラインが無い場合は０）であり、ＥＮＷ[n]およびＥＮＥ[n]は、前の走査ラインにおける、位置ｎの左上側と右上側との近傍（このような近傍が無い場合は０）に対応する。上付き文字Ｗ、ＮＷ、Ｎ、およびＮＥは、コンパス方位を示すことを意図している。コードブロックにおける第１ラインのために、以下を使用する。
2019522448.tif 000021
ただし、ＥＷＷ[n]は、２つ左側のサンプルのマグニチュード指数（何も無ければ０）である。これらの近傍構成を図１６に示す。
【０１３３】
マグニチュード符号化コンテキストは、Ｅ[n]−１の値のための効果的な予測因子κ［ｎ］を産出することを意図している。このことは、様々な方法によって得られ、その中でも、Ｅｓｕｍ［ｎ］／４の量子化されたバージョンにより索引付けされる予測因子状態機械のファミリーを用いて実験を行った。しかしながら、圧縮効率と計算の複雑性との間の最善の妥協点は、以下の割り当てから得られることを最終的には見出した。
2019522448.tif 000022
ただし、定数ｋｏｆｆは４に設定されている。値３および５は、ほぼ効果的であることが分かったが、計算においてわずかに効率的でなかった。
【０１３４】
マグニチュードおよびサイン符号化は、以下のように２段階で進められると考えることができる。
Ｕステップ
【０１３５】
ここでは、アンサインド（すなわち「Ｕ」）予測残量を表すコンマ符号を放出する。
2019522448.tif 000023
【０１３６】
具体的には、ｕ［ｎ］個の０が未加工ビットストリームへ放出され、１（「コンマ」）が続く。デコーダは、最初の１が生じるまでゼロを数えることにより未加工ビットストリームからｕ［ｎ］を回復する。上記の通り、元々符号化されたサブバンドサンプルが３２ビット整数（量子化後）を用いて表されている場合、Ｅ［ｎ］≦３２なので、ｕ［ｎ］は３１を決して上回らないはずである。
Ｒステップ
【０１３７】
放出される必要のあるマグニチュードビットの数を以下のように決定した。
2019522448.tif 000024
ただし
2019522448.tif 000025
【０１３８】
まず、負であれば１、正であれば０であるＸ［ｎ］のサインを放出する。次に、マグニチュード値Ｍ［ｎ］の最下位ｍ［ｎ］ビットを放出する。
【０１３９】
なお、この手順を説明するために、有意サンプルのマグニチュードＭは、以下を満たすことに留意する。
2019522448.tif 000026
ただし、Ｅ−１≧０である。アンサインド予測残差がｕ＞０であれば、デコーダは、Ｅ−１＝ｋ＋ｕおよび２Ｅ−２≦Ｍ−１＜２Ｅ−１が確実であり得るため、Ｍ−１の最下位Ｅ−２＝ｋ＋ｕ−１ビットは、その値を特定するために十分であり、デコーダは、潜在的な（implicit）最上位１を加減して、これらのｍビットからＭ−１を回復する。ｕ＝０である場合、デコーダは、Ｅ−１≦ｋ＋ｕであることのみを認識しているため、０≦Ｍ−１＜２ｋ＋ｕであり、これは、ｍ＝ｋ＋ｕビットが放出される理由である。
【０１４０】
この検討に基づき、場所ｎにおけるサンプルが「ｉｍｐｌｉｃｉｔ−１」を有しているかどうかを特定しつつ、ｉ［ｎ］を認識することができる。
【０１４１】
ただし、デコーダは、κ［ｎ］を形成し、次に、ｍ［ｎ］＝κ［ｎ］＋ｕ［ｎ］を回復することに留意すべきである。ここでｕ［ｎ］は、コンマ符号をデコーディングすることによりＵステップにおいて取得されたものである。しかしながら、エンコーダとは異なり、Ｒステップにおいては、デコーダはマグニチュード指数Ｅ［ｎ］も回復する必要がある。一般的な場合は、このことは、ｍ［ｎ］マグニチュードビットを未加工ビットストリームから回収して、Ｍ［ｎ］−１の２値表示における最上位の１を見出すことができるように、する必要がある場合がある。このステップは、ハードウエアベースのデコーダのスループットを決定するクリティカルパスである可能性がある。なぜなら、Ｅ［ｎ］の値は、次のサンプルのＥｓｕｍ値を形成するのに必要であり、これは、サンプルが有意である場合には、サンプルのＲステップにおいて必要とされる。
【０１４２】
要するに、アンサインド予測残差ｕ［ｎ］は、近傍のマグニチュード指数を与えられる場合、Ｅ［ｎ］の値を一部のみエンコードし、ｕ［ｎ］＝０である場合にＥ［ｎ］の回復を完了するためには、マグニチュードビット自体が要求される。
マグニチュード符号化のための密接に関連する代替案
【０１４３】
マグニチュード符号化のための上記方法は、効果的には、パラメータκ［ｎ］を有する、Ｍ［ｎ］−１のための指数関数的なゴロム符号であり、ただし、サインビットは実際にはコンマ（符号の１変数の部分）とマグニチュードビットとの間にインターリーブされている。なぜなら、このようにすることで、効率的なソフトウエアベースのデコーダの実施を簡単化することになるからである。
【０１４４】
上述の通り、このアプローチの１つの小さい欠点は、未加工ビットストリームからコードの全てのマグニチュードビットが回復されるまで、すなわち、Ｒステップが完了するまで、デコーダが後続のマグニチュード符号化コンテキストを形成するために必要とされるマグニチュード指数Ｅ［ｎ］を通常は回復できないことである。
ライスマッピング
【０１４５】
代替方策は、サインド予測残差ｓ［ｎ］＝Ｅ［ｎ］−１−ｋ［ｎ］のκ［ｎ］依存ライスマッピングを採用することである。
【０１４６】
ライスマッピングは、アンサインドマップド量ｒ［ｎ］を作成し、次に、これを、コンマ符号または決まったゴロム符号を用いて直接エンコードすることができるように、最も負の値が−ｋであり、最も正の値が３１−ｋである、予測残差ｓの＋ｖｅおよび−ｖｅ値をインターリーブする。このアプローチの潜在的な利点は、未加工ビットストリームから取り込まれることになるマグニチュードビットを待つ必要がなく、デコーダが、マグニチュード指数をＥ［ｎ］＝１＋ｋ［ｎ］＋ｓ［ｎ］からすぐに回復することができることである。すなわち、マグニチュード指数は、第２ステップが完了するのを待つ必要が無く、デコーディング手順の第１ステップから直接、因果関係のある近傍へ伝播され得る。これにより、ライスアンマッピング手順の小さいオーバーヘッドにもかかわらず、ハードウエアソリューションは、スループットを若干高めることができる傾向がある。一方、このアプローチは、ライスマッピング／アンマッピング動作を通常はルックアップテーブルを用いて実施する必要があるソフトウエア展開に対しては多少不都合である。さらに、実験によれば、これらの方法の圧縮効率が先行のセクションで記載した好ましいアプローチよりも若干劣ることが示される。
マグニチュードおよびサイン符号化のための代替ビット配置
【０１４７】
このセクションでは、上記で説明されたＵおよびＲステップにより放出されたビットのための代替配置を説明する。この代替配置は、上記配置の符号化効率と同じ符号化効率を有している。なぜなら、それは、放出されたビットの単なる再順序付けだからであり、言い換えると、この代替の表示のために全く同じ数のビットが必要とされる。
【０１４８】
ｕ［ｎ］の値に応じて、４つのケースを特定する。
・ケース１：ｕ［ｎ］＞κ［ｎ］。表６にまとめたこのケースでは、エンコーダは、１（コンマ）が続くｕ［ｎ］個のゼロを放出し、Ｍ［ｎ］のサインＸ［ｎ］、そして、Ｍ［ｎ］−１のκ［ｎ］＋ｕ［ｎ］−１＝Ｅ［ｎ］−２最下位ビットが続く。２Ｅ−２≦Ｍ−１＜２Ｅ−１が分かっているため、このことが可能である。これは、ｕ［ｎ］＞０である場合にセクション０によって放出されたのと全く同じコードである。
・ケース２：κ［ｎ］≧ｕ［ｎ］＞０。この場合、エンコーダは、１（コンマ）が続くｕ［ｎ］−１個のゼロを放出し、そして、（ｄ［ｎ］＝０で表される）単一のゼロが続き、Ｍ［ｎ］のサインＸ［ｎ］、そして、Ｍ［ｎ］−１のκ［ｎ］＋ｕ［ｎ］−１＝Ｅ［ｎ］−２最下位ビットが続く。表６を参照。
・ケース３：ｕ［ｎ］＝０、およびｐ［ｎ］＜κ［ｎ］、ただし、ｐ［ｎ］＝κ［ｎ］−（Ｅ［ｎ］−１）である。この場合、２ｋ−ｐ−１≦Ｍ−１＜２ｋ−ｐである。エンコーダは、１（コンマ）が続くｐ［ｎ］個のゼロを放出し、そして、（ｄ［ｎ］＝１で表される）単一の１が続き、Ｍ［ｎ］のサインＸ［ｎ］、そして、Ｍ［ｎ］−１のκ［ｎ］−ｐ［ｎ］−１＝Ｅ［ｎ］−２最下位ビットが続く。表６を参照。
・ケース４：ｕ［ｎ］＝０、およびｐ［ｎ］＝κ［ｎ］。この場合Ｅ［ｎ］−１＝Ｍ［ｎ］−１＝０。エンコーダは、１（コンマ）が続くκ［ｎ］個のゼロを放出し、そして、Ｍ［ｎ］のサインＸ［ｎ］が続く。表６を参照。
表６：代替ビット配置の４つのケース。表は、各ケースについての条件、放出されるビット、およびその配置を示す。「ＮＡ」は、適用不可を意味し、そのフィールドについてはビットが放出される必要がないことを示す。
【表６】
2019522448.tif 000027
【０１４９】
次に、デコーダに注目する。デコーダは、考慮される有意サンプルのコンテキストからκ［ｎ］を評価する。次に、デコーダは、コンマ（１）が見出されるまでゼロの数ｌ［ｎ］を数え、ゼロの数ｌ［ｎ］は、ｕ［ｎ］、ｕ［ｎ］−１、ｐ［ｎ］、またはκ［ｎ］であり得る。その後、デコーダは、以下のように進める。
・ｌ［ｎ］＝κ［ｎ］であれば、これは、ケース４であり、Ｍ［ｎ］のサインビットＸ［ｎ］を読み出すことによりデコーディングを進めることができ、Ｍ［ｎ］−１＝０である。
・ｌ［ｎ］＞κ［ｎ］であれば、これはケース１であり、ここでｌ［ｎ］＝ｕ［ｎ］であり、Ｍ［ｎ］のサインビットＸ［ｎ］およびＭ［ｎ］−１のκ［ｎ］＋ｌ［ｎ］−１＝Ｅ［ｎ］−２ＬＳＢをビットストリームから読み取ることによりデコーディングを進めることができる。次に、デコーダは、Ｍ［ｎ］−１の潜在的なＭＳＢを追加する必要があるだろう。潜在的なＭＳＢは２Ｅ−２であると分かっているため伝送されていない。
・ｌ［ｎ］＜κ［ｎ］であれば、これはケース２またはケース３のいずれかであり得る。デコーダは、コンマの後のビット、ｄ［ｎ］を調査することによりこのケースを特定することができる。ケース２については、ｄ［ｎ］＝０であり、ケース３については、ｄ［ｎ］＝１である。ケースに応じて、デコーダは以下のように進める。
○ｌ［ｎ］＝ｕ［ｎ］−１であるケース２（ｄ［ｎ］＝０）については、デコーダは、次に、Ｍ［ｎ］のサインビットＸ［ｎ］とＭ［ｎ］−１のκ［ｎ］＋ｌ［ｎ］＝Ｅ［ｎ］−２ＬＳＢとをビットストリームから読み取る。次に、デコーダは、Ｍ［ｎ］−１の潜在的なＭＳＢを追加する必要があるだろう。潜在的なＭＳＢは２Ｅ−２であると分かっているため伝送されていない。
○ｌ［ｎ］＝ｐ［ｎ］であるケース３（ｄ［ｎ］＝１）については、デコーダは、次に、Ｍ［ｎ］のサインビットＸ［ｎ］とＭ［ｎ］−１のκ［ｎ］−ｌ［ｎ］−１＝Ｅ［ｎ］−２ＬＳＢとをビットストリームから読み取る。次に、デコーダは、Ｍ［ｎ］−１の潜在的なＭＳＢを追加する必要があるだろう。潜在的なＭＳＢは２Ｅ−２であると分かっているため伝送されていない。
表７：デコーダがこのセクションの代替ビット配置の４つのケースを特定する方法。この表は、各ケースについての条件、ビットストリームから読み取られるビットの数、および潜在的なＭＳＢの存在を示す。
【表７】
2019522448.tif 000028
【０１５０】
この方法の利点は、ｌ［ｎ］、および必要であればｄ［ｎ］のデコーディングの直後に、指数Ｅ［ｎ］を計算することができ、一方、上記配置は、Ｍ［ｎ］−１のデコーディングの後はＭ［ｎ］−１における末尾のゼロの数を数えることを要求する。デコーダは、Ｅ［ｎ］が一旦分かると、Ｍ［ｎ］デコーディングが終了するのを待たずに、この情報を因果関係のある近傍へ伝播してそれら近傍のデコーディングを開始することができる。パイプラインハードウエアは、指数Ｅ［ｎ］が一旦分かると、後続のサンプルについてκを評価することにより、このセクションのビット配置から利益を得ることができる。
【０１５１】
ハードウエア実施についての別の利点は、Ｅ［ｎ］を決定するために必要な全ての情報がビットストリームの底にある点であり、それゆえ、ビットを逐次的に処理でき、これにより、回路のデコーディングが簡単になる。
【０１５２】
ソフトウエア実施は、この配置からも利益を得られる。最新ＣＰＵは、パイプライニングを採用し、いくつかのインストラクションのレイテンシを、該いくつかのインストラクションを他のインストラクションに重ねることによって、隠すことができる。したがって、慎重に書き込まれたコードにより、Ｅ［ｎ］が一旦利用可能になると、現在のサンプルをデコーディングするインストラクションは、次のサンプルをデコーディングするインストラクションに重なってもよい。
【０１５３】
この配置は、ＦＡＳＴブロック符号化器のクリーンアップパスのデュアルおよびトリプル双方のビットストリームの変形例に適用可能である。なぜなら、この方法は、有意サンプルのマグニチュードとサインとの符号化に関連するだけだからである。
線因果コンテキスト
【０１５４】
上記代替案の各々によって対処される問題は、有意サンプルのマグニチュードをエンコード／デコードするために使用されるコンテキスト（または予測因子）が走査順において先行するサンプルのマグニチュード指数に依存している、という事実から生じる。
【０１５５】
この問題に対処する簡単な方法は、前の走査ラインにおいて見出されるサンプルのマグニチュードにのみ依存するようにκ［ｎ］の定義を変更することである。例えば、Ｅｓｕｍ［ｎ］の定義を以下のように置換してもよい。
2019522448.tif 000029
このアプローチでは、予測因子が全くなければ、最初の走査ライン上のマグニチュードが残る。
分散されたマグニチュードおよびサイン符号化
【０１５６】
ＦＡＳＴブロック符号化アルゴリズムの分散されたマグニチュード符号化の変形例では、有意サンプルのマグニチュード指数を発見するために必要とされる情報の一部がＶＬＣビットストリームへ移動される。一例として、上述の１変数の符号化されたアンサインド予測残差ｕ［ｎ］をＶＬＣビットストリームへ簡単に移動させることができ、同時に、ＶＬＣビットストリームはＭａｇＳｇｎビットストリームを参照せずにデコードされ得る、という重要な性質は損なわれない。デコードされたｕ［ｎ］値を、有意サンプルのマグニチュード指数Ｅ［ｎ］を回復するためにすぐに使用することはできない。なぜなら、ＭａｇＳｇｎビットストリームにおいて見出されるマグニチュードビットに依存している可能性がある、以前のマグニチュード指数が分かっている必要があるためである。しかしながら、前もってｕ［ｎ］値をデコードする能力は、クリティカルパスレイテンシを低減でき、デコーディングスループットを増加させることができる。
【０１５７】
このアプローチを線因果コンテキストに連結することにより、上述のように、マグニチュードデコーディングに関連付けられた全ての著しいサンプル間の依存関係を排除することができる。しかしながら、ＶＬＣビットストリームへ動かされ得るビットの最大数を慎重に抑制することが重要である。なぜなら、ハードウエアおよびソフトウエアの双方のエンコーダおよびデコーダの全体的な複雑性に影響が及ぶからである。
【０１５８】
次に、有意サンプルのマグニチュード（およびサイン）の分散符号化についての好ましいアプローチを説明する。このアプローチは、その１×４グループ構造での図１０のラスター走査順およびその２×２グループ構造での図１１のラインインターリーブ走査順の双方に適している。このアプローチは、各有意グループｇ、すなわち、少なくとも１つの有意サンプルを有する各グループについて、アンサインド予測残差ｕｇを１つだけ含む。
非初期グループ行についての分散Ｍａｇ−Ｓｉｇｎ符号化
【０１５９】
コードブロック内の非初期グループ行、すなわち、１×４グループでの非初期走査ラインまたは２×２グループでの非初期ラインペアについてのｕｇの符号化および解釈を説明することから始める。予測因子κｇ［ｎ］は、前の走査ラインからのマグニチュード指数に基づき、グループｇにおける各有意サンプルのために形成される。ここで、ｎは、走査順に、グループｇ内のサンプルを索引付けする。図１７は、１×４および２×２グループ構造の双方について、この好ましい方法において予測因子κｇ［ｎ］を形成するために使用される線因果指数Ｅｇ０、Ｅｇ１、Ｅｇ２およびＥｇ３を特定する。
【０１６０】
デコーダは、ｕｇをκｇ［ｎ］に加えて上限
2019522448.tif 000030
を対応するマグニチュード指数Ｅｇ［ｎ］マイナス１のために形成する。すなわち
2019522448.tif 000031
である。
【０１６１】
また、この制限は、グループにおいてただ１つのサンプルのみが有意であり、Ｍｇ［ｎ］−１の２値表現における最上位の１の位置が潜在的である条件であるｕｇ＞０の場合には厳格であることが要求される。特に、グループｇのための「ｉｍｐｌｉｃｉｔ−１」条件を、
2019522448.tif 000032
のように定義し、グループｇにおける各有意サンプルのために放出されるマグニチュードビットの数を以下のように定義する。
2019522448.tif 000033
【０１６２】
ＭａｇＳｇｎビットストリームは、走査順において各有意サンプルにアクセスすることにより形成され、サインビットをまず放出し、次に、Ｍｇ［ｎ］−１のｍｇ［ｎ］個の最下位ビットを放出する。
【０１６３】
グループの行についてのデコーディングは、３つのステップを含む。第１に、有意性パターンをデコーディング中にアンサインド予測残差ｕｇをデコードする。第２に、前の走査ラインからの有意性パターンρｇおよびデコードされたマグニチュードのみを使用して、予測因子κｇ［ｎ］を決定し、この処理の間に、デコーダは、ｕｇを用いてｍｇ［ｎ］およびｉｇを発見する。最後に、各有意サンプルについてのＭａｇＳｇｎビットストリームからＭｇ［ｎ］−１のためのサインおよびマグニチュードＬＳＢを解凍し、任意のｉｍｐｌｉｃｉｔ−１  ｉｇを再挿入する。
【０１６４】
これら３つのステップは、相互依存しているが、実質的には切り離されている。例えば、いずれかのグループで他のステップが行われる前に、コードブロックにおける全てのグループで第１のステップを行ってもよい。あるいは、第１のステップを、グループ毎に第２のステップの直前に行ってもよい。第２のステップをグループの行の全体に、これらのグループのいずれかに第３のステップを行う前に、行ってもよいが、これも必須ではない。一般的に、ソフトウエア実施は、ソフトウエア実施は、より分散されたアプローチ、ここでは各ステップは第２ステップへ動く前に多数のグループに対して行われる、から利益を得る傾向がある。なぜなら、これによりベクトルインストラクションの利用が簡単化され、レジスタ利用が向上されるからである。逆に、ハードウエア実施は、より分散されていない方策から恩恵を得る傾向がある。なぜなら、これにより、中間状態を保存するためのメモリーリソースの必要性が下がるためである。
【０１６５】
この方法は、ここでは別個のＶＬＣおよびＭａｇＳｇｎビットストリーム（すなわち、ＦＡＳＴブロック符号化器のトリプルビットストリームの変形例）に関して説明されるが、同じ方策を、デュアルビットストリーム変数、ここではＶＬＣビットおよびＭａｇＳｇｎビットがグループの行に基づいてインターリーブされる（線形グループについてはラインインターリーブ、正方形グループについてはライン対インターリーブ）、と共に使用してもよい。
【０１６６】
一般的に、グループｇにおける各有意サンプルは、グループｇと関連付けられた有意性パターンρｇと共に、線因果指数Ｅｇ０、Ｅｇ１、Ｅｇ２およびＥｇ３から導出され得る異なる予測因子κｇ［ｎ］を有していてもよい。
【０１６７】
１×４線形グループと２×２正方形グループとの双方について、予測因子を割り当てる簡単かつ効果的な方法は以下の通りである。
2019522448.tif 000034
2019522448.tif 000035
2019522448.tif 000036
【０１６８】
ここで、Ｐｇを、グループｇにおける各有意サンプルのオフセットマグニチュード指数Ｅｇ［ｎ］−１のための初期予測上限として理解することができる。Ｚｇは、オフセットであり、このオフセットにより、アンサインド予測残差ｕｇは、Ｐｇ＞０である場合は−１くらいに小さい残差を効果的に表わすことができる。すなわち、デコーダがＥｇ［ｎ］−１のために導出する境界Ｕｇ［ｎ］は、実際にはＰｇ＋（ｕｇ−Ｚｇ）に等しい。グループｇにおけるただ１つのサンプルが有意である場合の選択Ｐｇ＝０はより重要だと分かる。
【０１６９】
上記方策は、グループｇにおける全ての有意サンプルのために共通の予測因子κｇを生成することを含むが、エンコーダおよびデコーダの双方において全て利用可能である、前のグループ行からのマグニチュード情報に基づいて、グループのために予測因子を形成する必要がある時点よりも十分前に、より効果的な位置特有の予測因子を導出することができる。グループにおける全てのサンプルのための有意性情報を、予測性能を最適化するために、（走査順において）その因果関係のある近傍と共に使用することもできる。
【０１７０】
次に、アンサインド予測因子ｕｇのためのＶＬＣ符号に注目する。１変数コード（別称：コンマ符号）を採用してもよいが、この場合の最大符号語長さは、本願で考えられる最高精度のためには約３２であり、このような長い符号語を提供することは、ソフトウエアおよびハードウエア双方の実施の効率に悪影響を与える。その代わり、表８におけるいわゆる「ｕコード」が好ましい。ｕコードはコンマ符号として始まり、ｕ＝０、ｕ＝１およびｕ＝２はそれぞれ符号語「１」、「０１」および「００１」を用いて表される。ｕ＝３およびｕ＝４のための符号語は、プレフィックス「０００１」を含み、ｕ−３の最下位ビットが続く。全てのより大きいｕの値は非常に稀れだということが分かり、そのため、これらには、共通４ビットプレフィックス「００００」に割り当てられ、ｕ−５の５個のＬＳＢが続く。このｕコードは、サブバンドサンプルを３６ビットまでの精度で表すのには十分である
表８：非初期グループ行のための、アンサインド残差ｕｇを符号化するために用いられるｕコード。ここで、ｌｐおよびｌｓは、プレフィックスおよびサフィックスの長さを表し、ｌｐ＋ｌｓは全体の符号語の長さを表すが、プレフィックスおよびサフィックスのビットは、実際にはグループ対毎にインターリーブされている。
【表８】
2019522448.tif 000037
【０１７１】
なお、ここでの最短の符号語は、Ｕｇ［ｎ］＝Ｐｇ−Ｚｇに対応するイベントｕｇ＝０に割り当てられている。したがってＰｇ＞０である場合、この最短符号語は、選択Ｕｇ［ｎ］＝Ｐｇ−１に割り当てられる。イベントがＵｇ［ｎ］＝Ｐｇである可能性が高いことが期待されるかもしれないが、これは典型的なものではない。一つには、より小さいサンプル指数の方がより大きいサンプル指数よりも先験的には現実味があるからである。グループにおける全てのサンプルが有意（すなわちρｇ＝１５）である特定のケースでは、イベントＵｇ［ｎ］＝Ｐｇが実際にはより現実味があり、一方、全ての他の有意性パターンについては、Ｕｇ［ｎ］＝Ｐｇ−Ｚｇが最も現実味のある結果であることが分かる。ρｇ＝１５である場合、必要であれば、条件付きで、ｕｇ＝０のための符号語をｕｇ＝１とを交換してもよい。つまり、エンコーダは、ρｇ＝１５であり且つｕｇ≦１である場合は常にｕｇを１−ｕｇに変換する。この変換は、それ自身の逆を取ることであり、それゆえ、デコーダが同じ事を行う。実験によれば、この小さい変化のり点は、符号化されたサイズを約０．２５％だけ低減するというものであり、これは、条件付き変換手順を導入することの複雑性を正当化するには十分でないかもしれないことが示唆される。
有意性ビットおよびＵコードビットのペア毎のインターリーブ
【０１７２】
１対のグループに亘ってｕコードのプレフィックス成分とサフィックス成分とをインターリーブすることが、特に、ソフトウエア実施のためには有効であることが分かる。具体的には、ＶＬＣビットストリームは、まず、１対のグループに割り当てられた有意性ＶＬＣ符号語（空であり得る）を放出し、次に、上記対における各有意グループについてのｕコードプレフィックスを放出し、最後に、上記対における各有意グループについての任意のｕコードサフィックスを放出することにより形成される。これにより、ソフトウエアエンコーダのために、１回で１対のグループのための完全なｕコードを生成するために小さいルックアップテーブルを使用することができる。ソフトウエアデコーダにとっては、１対のクワッドのためのｕコードプレフィックスを一度にデコードするために小さいルックアップテーブルで十分であり、結合符号語の長さ、および、サフィックスの場所を非常に効率的に決定できる。有意性ＶＬＣ符号語またはＡＺＣシンボルを有しておらず、常に非有意であり、その結果、ｕコード成分も有していない追加グループを必要に応じて加えることにより、グループの各行はグループ対の総数に拡張される。
初期グループ行のための分散されたＭａｇ−Ｓｉｇｎ符号化
【０１７３】
コードブロック内のグループの初期行のためには、前の走査ラインからのマグニチュード指数を利用できない。このケースは、上記で展開した方法を用いて常に処理され得るが、Ｅｇ０、Ｅｇ１、Ｅｇ２およびＥｇ３は全て０とされる。
【０１７４】
しかしながら、このケースは、コードブロック高さが通常は小さい低レイテンシ用途においては重要な場合があるため、水平予測の形態を含む境界Ｕｇを符号化するための代替機構を採用することが好ましい。以前のとおり、Ｕｇは、「ｉｍｐｌｉｃｉｔ−１」条件下では境界が厳格である必要があるということを除き、グループｇにおける全ての有意サンプルのマグニチュード指数が
2019522448.tif 000038
を満たす任意の境界であり、これを以下で説明する。
【０１７５】
ここで展開される代替機構は、同様に、予測因子とアンサインド残差ｕｇとを含むが、予測は、グループ毎に適合される基準値Ｂｇに関して形成される。具体的には
2019522448.tif 000039
ただし、
2019522448.tif 000040
【０１７６】
１つ以上の有意サンプルを有する連続するグループの収集のために、アンサインド残差ｕｇをＵｇの連続する値間のオフセット（２）の差として理解することができる。なぜなら、この場合Ｕｇ＝Ｕｇ−１＋（ｕｇ−２）であるためである。明らかに、ｕｇのためのいくつかの値は受け入れられないはずであり、このことは、以下で説明するようにＢｇの値に依存するｕｇのためのコードに反映される。ただ１つの有意サンプルを有するグループについて、上記関係はＢｇを強制的に１にし、その結果、Ｕｇ＝ｕｇ−２は前のグループに依存性を有さず、分かる通り、ｕｇのためのＢ依存符号は、この場合２未満の値を表すことができない。特別な値Ｂｇ＝０は厳密には重要ではない。なぜなら、それは、非有意グループに対応するからであり、非有意グループのために、ｕｇ値は符号化されず、または、使用されないが、この特別の値をルックアップテーブルに基づく効率的実施を簡単化するために使用することができる。
【０１７７】
ｕｇのためのＢ依存ＶＬＣ符号を説明する前に、ｉｇフラグに関連付けられた「ｉｍｐｌｉｃｉｔ−１」条件の決定について簡単に説明する。このフラグは、グループｇの各有意サンプルのために放出されるマグニチュードビットｍｇ［ｎ］の数を決定するためにＵｇと組み合わせられる。ｉｍｐｌｉｃｉｔ−１条件は、正確に１つの有意サンプルがグループｇにある場合のみ起こり得るが、これは実際面では非常に一般的な条件である。この場合、既述のとおり、上記関係は、Ｕｇ＝ｕｇ−２を産出し、ｕｇは、必然的に２以上である。ｕｇがこの最小値２を超えると、ｉｍｐｌｉｃｉｔ−１条件が生じる。すなわち、
2019522448.tif 000041
【０１７８】
非初期グループ行について、グループｇにおける各有意サンプルのために放出されたマグニチュードビットの数は、以下により与えられる。
2019522448.tif 000042
また、ＭａｇＳｇｎビットストリームは、走査順に各有意サンプルにアクセスすることにより形成され、まずサインビットを、次にＭｇ−１のｍｇ［ｎ］個の最下位ビットを放出する。
【０１７９】
ｕｇをエンコードするために、表９により定義されるＢ依存可変長コード（または「Ｂｕコード」）が採用される。このコードは、表８のｕコードに基づいており、同じく９ビットの最大符号語長さを有し、さらに、サブバンドサンプルの精度が非常に高い。ｕｇ−２がサインド予測残差の役割を果たすということに注目すると、ｕｇ−２が負であるかどうか判断するためにサインビットが２または３ビットのプレフィックスに付加される｜ｕｇ−２｜＜Ｂｇである場合を除き、原則的に、ｕコードは、このサインド残差｜ｕｇ−２｜の絶対値に適用されている。この符号語のプレフィックスは、長さが４ビットを超えることは決してないため、ＬＵＴに基づく効率的なデコーディング方策を展開することができ、４ビットの符号語プレフィックスと共に、２ビットのＢ値により索引付けされ、次のグループが２個未満の有意サンプルを有している場合にのみ補正が必要となる、次グループのＢ値、およびｕｇ境界、サフィックス長さ、プレフィックス長さを返す。
【０１８０】
非初期グループ行について、有意性ＶＬＣ符号語およびＢｕコードビットは、１対のグループに亘ってインターリーブされる。以前のとおり、対になった各グループについて有意性ビットがまず発現し、対になった各有意グループについてのＢｕコードプレフィックスが続き、最後に、対になった各有意グループについての任意のＢｕコードサフィックスが続く。
表９：コードブロックにおけるグループの初期行内において、アンサインド残差ｕｇを符号化するために使用されるＢｕコード。ここで、ｌｐおよびｌｓはプレフィックスおよびサフィックスの長さを表し、ｌｐ＋ｌｓは全体の符号語長さを表すが、プレフィックスおよびサフィックスビットは、グループ対毎に実際にはインターリーブされる。
【表９】
2019522448.tif 000043
複雑性の考察
Ｍａｇｎｉｔｕｄｅ  Ｒｅｆｉｎｅｍｅｎｔ  （ＭａｇＲｅｆ）パス
【０１８１】
マグニチュードレファインメントパスは、ビットがリトルエンディアン順で未加工ビットストリームのバイトに詰められること以外は、算術符号化バイパスモードにおいて、標準的なＪＰＥＧ  ２０００ブロック符号化器のそれと同一である（すなわち、ビット７ではなくビット０から始まる）。
【０１８２】
この符号化パスは、Ｃｌｅａｎｕｐパスにおいて有意として符号化された各サンプルに簡単にアクセスし、１ビット（関連するサンプルのＬＳＢ）を未加工ビットストリームへ放出する。デコーダは、同様に自明である。ソフトウエア実施において、マグニチュードレファインメントパスは全体の処理仕事量に対して比較的少ししか寄与しないことが分かる。リトルエンディアンビット順位付けの慣例は、ソフトウエアエンコーダおよびデコーダを顕著に速くさせるために役立つ。
【０１８３】
ハードウエアエンコーダは、ＲＥＳＴＡＲＴモードオプションが採用される限り、コストをほぼ増加させることなく、特に、Ｃｌｅａｎｕｐパスと並行してマグニチュードレファインメントパスを生成することができ、その結果、マグニチュードレファインメントパスは、その自身の符号語セグメントを得、このことは、いずれの場合も推奨される。
【０１８４】
デコーダも、Ｃｌｅａｎｕｐパスと並行してマグニチュードレファインメントパスを処理することができ、各有意サンプルに出会った場合ビットをその未加工ビットストリームから除去する。同様に、この並行処理は、推奨されるＲＥＳＴＡＲＴモードを必要とする。
【０１８５】
エンコーダがマグニチュードレファインメントパスを生成する必要がない用途もある。ＭａｇＲｅｆ符号化パスは、同様に含まれているＳｉｇＰｒｏｐ符号化パスによって先行される場合にのみ、最終コードストリームに含まれることとなる。したがって、実際面では、ＭａｇＲｅｆ符号化パスは、実際に最終コードストリームに最も含まれにくい符号化パスであり、その結果、圧縮効率に大きい不都合を招くことなく、ＭａｇＲｅｆ符号化パスを完全に落とすことができる。
【０１８６】
レート制御をＰＣＲＤ−ｏｐｔを介してではなく量子化パラメータを変調することによって管理する場合、エンコーダによってＣｌｅａｎｕｐパスさえ実際に生成すればよい。ＪＰＥＧ  ２０００Ｐａｒｔ−２において定義されるＱＰＤおよびＱＰＣマーカーセグメントを用いることにより、量子化パラメータをより細かい粒度で変調することができる。可変圧縮データレートを許容し得る、おそらくはフレーム毎に変調された用途において、エンコーダもＣｌｅａｎｕｐパスさえ生成すればよい。
Ｓｉｇｎｉｆｉｃａｎｃｅ  Ｐｒｏｐａｇａｔｉｏｎ（ＳｉｇＰｒｏｐ）パス
【０１８７】
ＳｉｇＰｒｏｐパスも、算術符号化バイパスモードにおける、標準的なＪＰＥＧ  ２０００ブロック符号化器のそれと非常に類似しており、価値のある以下の２つの差異を有する。１）ビットは、未加工ビットストリームのバイトに、ビット７ではなくビット０から詰められ始める。２）符号化される必要のあるサンプルの有意性ビットは、サンプル毎にサインビットにインターリーブされるのではなく、（高さ３のストライプを除き）１度に４サンプルのグループにインターリーブされる。
【０１８８】
上記変更の１つの利点は、変更によりテーブル駆動型エンコーディングおよびデコーディングアプローチが簡単化されることであり、該アプローチは、ソフトウエア実施のために特に注目されている。ハードウエアデコーダも利益を得ることができる。なぜなら、ストライプ列において符号化された有意性ビットは、後続のストライプ列に対する符号化パスメンバーシップの伝播を指示するからである。ビットストリーム内のサインビットに先行するマグニチュードビットを動かすことにより、少なくともいくつかのハードウエアデコーディング実施において、クリティカルパスデコーディングレイテンシを低減することができる。
【０１８９】
標準的なＪＰＥＧ  ２０００ブロック符号化器では、ＳｉｇＰｒｏｐ符号化パスは、Ｃｌｅａｎｕｐ符号化パス間に挟まれていることが多い。これは、ＳｉｇＰｒｏｐ符号化パスが、後のＣｌｅａｎｕｐパスによって使用されることになる状態情報をアップデートする必要があることを意味する。このアップデート動作は、ＢＹＰＡＳＳモードにおいては非常に自明である、エンコーディング／デコーディングステップ自体と同程度に、またはそれ以上にコストがかかり得る。例えば、「コンテキストブロードキャスティング」方策は、ＪＰＥＧ  ２０００のソフトウエア実施のために最も効率的であることが通常は分かり、この場合、各有意サンプルがその近傍の有意性符号化コンテキスト状態をアップデートし、その結果、有意サンプルは、後続の符号化ステップおよびパスにおいて効率的に処理され得る。ＦＡＳＴブロック符号化器の場合は、この必要がない。なぜなら、各Ｃｌｅａｎｕｐパスは一から始まるからである。
【０１９０】
ハードウエア実施は、特に、ＳｉｇＰｒｏｐ符号化パスをＣｌｅａｎｕｐ符号化パスと常に並行して生成することができ、第３ビットストリームを生成または消費する（Ｃｌｅａｎｕｐパスはそれ自身の２つのビットストリームを生成／消費）する、という事実から利益を得ることができる。これは、ＲＥＳＴＡＲＴモードスイッチを必要としない。なぜなら、ＣｌｅａｎｕｐおよびＳｉｇＰｒｏｐ符号化パスは異なる符号語セグメントを常に占めているからである。
【０１９１】
ソフトウエアエンコーダにおいて、ＳｉｇＰｒｏｐパスは、極めて効率的に実施され得、ＭａｇＲｅｆ符号化パスと同様の複雑性を有する。ＭａｇＲｅｆ符号化パスと同様に、ＳｉｇＰｒｏｐパスもいくつかの用途においては完全にスキップすることができる。
ベクトル化可能性
【０１９２】
最新のＣＰＵアーキテクチャは、一般的にマルチメディア処理のための基本ツールとなった強力なベクトル処理能力を提供する。ＦＡＳＴブロック符号化アルゴリズムは、ベクトル化を考慮して設計されており、このセクションでは、これに関してＦＡＳＴブロック符号化アルゴリズムが表す機会のいくつかを明らかにする。なお、ベクトル化可能性はソフトウエアコンセプトであるが、ベクトル化可能なアルゴリズムは、必然的に、ローカル平行を表すものである。そのため、高度のベクトル化可能性は、このアルゴリズムも効率的なハードウエアおよびＧＰＵ実施に適していることを示唆する。ベクトル化可能性は、ベクトルが、多くの小さい要素（特に個々のバイト）からなり得る場合に最も有益である。なぜなら、これがスループットを最大化するからである。ハードウエア実施については、このことは、計算および論理演算を低い精度で行われる可能性があることを意味し、これは、複雑性および電力消費に顕著な影響を及ぼす。
【０１９３】
ＣｌｅａｎｕｐおよびＳｉｇＰｒｏｐ符号化パスにおける連続的走査ライン（またはラインペア）は、各サンプルの有意性を特定する単一ビットフラグの収集により連結される。このような１ビット／サンプルフラグはＣｌｅａｎｕｐパスもＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスと連結する。デコーディング中に、これらフラグは、ＶＬＣ表ルックアップによりグループ毎に生成され、これは非常に速い。エンコーディング中に、共通ベクトル比較と最新のＣＰＵにおいて見出されるパッキングインストラクションとを使用して、ソースサンプルから直接、またはそれらのマグニチュード指数から、有意性フラグを生成することができる。
【０１９４】
Ｃｌｅａｎｕｐパス中の有意性符号化コンテキストの形成は、同じ走査ライン上の先行のグループからの有意性情報の集合と共に、前の走査ラインからの有意性フラグの水平集合を必要とする。第１動作を、エンコーダおよびデコーダの双方によって効率的にベクトル化することができる。第２動作をエンコーダによってベクトル化することができる。なぜなら、全ての有意性情報が前もって分かっているためである。デコーダは、良好に設計されたＶＬＣ表を用いて第２動作を効率的に行うことができ、ＶＬＣ表のエントリは、前の走査ラインから次のグループのコンテキストへ、水平に集合した有意性ビットをアップデートするために必要とされる情報とデコードされた有意性フラグとの双方を提供する。良好な実施は、４サンプルのグループ当たりたった１つの追加論理ＡＮＤと１つの論理ＯＲとによってこれを達成することができる。
【０１９５】
マグニチュード符号化コンテキストを形成するために必要とされる全ての量は、８ビット内で十分に表すことができる。エンコーダにおいて、マグニチュード指数Ｅｐ［ｎ］を、ベクトル計算を用いて事前に計算し、バイト指向性ベクトルに格納することができる。次に、これらを、共通の飽和ベクトル算術演算を用いて符号化コンテキスト／予測因子に変換することができ、ＮＥＯＮ、ＳＳＥ２、またはＡＶＸ２などの共通のインストラクションセットにより一時に１６〜３２サンプルを処理する。Ｃｌｅａｎｕｐパスの未加工ビットストリーム（またはＭａｇＳｇｎ未加工ビットストリーム）へのビットの放出を駆動する鍵となる量の全てを、ベクトル演算を用いて直接計算することができ、高スループットおよび低レイテンシを達成する。サイン、マグニチュード、およびコンマコード／ｕコードビットを１または複数の未加工ビットストリームへ詰めることだけが、エンコーディング中に連続的な非ベクトル化注意（ｎｏｎ−ｖｅｃｔｏｒｉｚｅｄ  ａｔｔｅｎｔｉｏｎ）を必要とする演算であり、これらは非常に簡単である。
【０１９６】
デコーダのために、マグニチュードデコーディングコンテキストは、ベクトル演算を用いて少なくとも一部が計算されていてもよい。先行の走査ラインからのマグニチュード指数に対する加算および最大演算を、完全にベクトル化することができる。統合されたマグニチュード符号化の変形例について、各連続的なマグニチュード指数が発見されるため、マグニチュード指数の水平な集合が連続して行われる必要があるが、これは、上述のように、ＦＡＳＴブロック符号化アルゴリズムの分散変数、およびいくつかの他のマグニチュード符号化変数の場合には当てはまらない。
【０１９７】
ＳｉｇＰｒｏｐ符号化パスのために、Ｃｌｅａｎｕｐパスからの有意性フラグは、パスメンバーロケーションの初期セットを決定するために水平および垂直に集合される必要があり、次に、符号化が進むにつれて順にアップデートされる必要がある。メンバーの初期セットを、ベクトル処理を用いて効率的に形成することができ、なお、単一１２８ビットベクトルは、１２８サンプルと関連付けられた情報を一度に操作することができる。ＳｉｇＰｒｏｐパス中のメンバーシップビットフラグの走査および漸進的アップデートを、最新のＣＰＵにおいて現在は一般的に利用可能なビット操作インストラクションにより効率的に行うことができる。
並行／平行処理
【０１９８】
ＪＰＥＧ  ２０００と同様に、本願で説明したアルゴリズムは、コードブロックレベルで巨視的な平行度を提供する。メモリ使用度および負担が予測される遅延に応じて、エンコーダまたはデコーダによって、任意の数のコードブロックを並行して処理することができる。ブロックは、サイズが４０９６サンプルを決して上回らないため、この種類の平行度を利用するために、ソフトウエアおよびハードウエアの双方の実施のために、必然的に、考慮すべき領域がある。
【０１９９】
個々のコードブロックのレベルで、多重ビットストリームコンセプトは、エンコーダおよびデコーダの双方により利用され得る並行性を導入する。特に、適合的に符号化されたビットストリームに関連付けられた適合型エンコーディング／デコーディング手順（ＭＱまたはＭＥＬ符号化）は、有意性、マグニチュードおよびサイン情報符号化ステップを並行して進めることができる。トリプルビットストリーム構成において、３つ全てのビットストリームの並行したエンコーディングおよびデコーディングが可能である。
【０２００】
そのうえ、符号化パス自体を通常は並行して処理することができる。エンコーダは、多くの符号化パスを生成してもよく、一方、デコーダは、最大３つの符号化パスを見出してもよい。エンコーダは、コードブロックからサンプルデータの十分なラインを利用可能である限り、全ての符号化パスを並行して処理してもよい３。
―――――――――――――――
３上述の通り、ＭａｇＲｅｆ符号化パスについて、これが厳密に当てはまるのは、ＲＥＳＴＡＲＴモードスイッチが使用される場合のみであり、このことは非常に推奨され、オーバーヘッドは取るに足らないものである。多くの場合、エンコーダは、全体のコードブロックを収容するためにサブバンドデータの十分なラインをバッファする。
―――――――――――――――
しかしながら、ブロックエンコーダにとっては、サンプルの最初のラインが現れ始めると同時に、Ｃｌｅａｎｕｐパスをすぐに処理することも可能である。当然、ＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスは、４ラインストライプで動作するため、それらの処理は、サンプルデータの全ストライプが利用可能になってからしか開始できないが、これとは別に、全ての符号化パスは、比較的困難を伴わずに並行して処理されてもよい。
【０２０１】
複数の符号化パスの並行処理は、デコーダにとってはあまり価値がない。これは、単純に、関心のある情報の大部分、および、関連付けられた処理リソースの大部分が、ただ１つのＣｌｅａｎｕｐパスに関連付けられているからである。ＲＥＳＴＡＲＴモードスイッチが採用される限り、デコーダは任意のＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスをまとめて処理してもよい。また、これらは、若干の遅延の後にＣｌｅａｎｕｐ符号化パスとともに並行して処理されてもよく、次にこれを説明する。
【０２０２】
デュアルビットストリーム構造では、一般的に、有意性情報の初期の４ラインは、その他のパスのデコーディングを開始できるよりも前に、完全にデコードされている必要がある。有意性およびマグニチュード／サイン情報は、ライン毎にインターリーブされているため、これは、マグニチュード／サイン情報の３ラインも他の符号化パスのデコーディングを開始できるよりも前に、デコードされている必要がある。コードブロック高さが４ライン以下である場合は、ＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスの並行処理を、Ｃｌｅａｎｕｐパスがコードブロックの最後のラインの開始に到達する点よりも若干早く開始することができる。例えば、コードブロックが２ラインしか有していない場合、ＳｉｇＰｒｏｐおよびＭａｇＲｅｆデコーディングは、Ｃｌｅａｎｕｐデコーディング処理の後半と重なっていてもよい。この特性は、高スループット、低レイテンシ用途において価値がある傾向があり、それゆえ、さらにこれについて以下で説明する。
【０２０３】
トリプルビットストリーム構造では、有意性情報は、マグニチュードおよびサイン情報よりも十分に前にデコードされ得る（および一般的にはデコードされる）。一時に４サンプルのグループに対して作業する場合、有意性符号化は、大体どの実施においても、最悪の場合のマグニチュード／サインデコーディングスループットの軽く４倍は速いため、パス間デコーディング遅延を１ラインまたはＷクロック周期未満に確定的に抑制することができ、ただし、Ｗはコードブロックの幅である。
局所依存
【０２０４】
エンコーダは、ハードウエア展開のためのクロックレートに大きく影響する可能性のあるクリティカル依存性パスを、たとえあったとしても、少ししか経験しないほうがよい。有意性符号化コンテキスト（グループをベースとする）およびマグニチュード符号化コンテキスト（サンプルまたはグループをベースとする）を、符号化ステップ自体への何らかの直列依存を有することなく、ソースデータから直接形成することができる。ＡＺＣグループをすぐに特定することができ、ＡＺＣグループの有意性は、他の符号化ステップへの何らかの依存性を有することなく、独立して符号化される。これは、クリーンアップパスのデュアルビットストリーム構造の直接的な結果である。有意グループ内の有意性およびマグニチュードビットパターンは、デュアルビットストリーム組織によって正しくシーケンス化される必要があるが、未加工の２進数のみからなるため、必要であれば、別個のステップとして同時に生成されシーケンス化され得る。
【０２０５】
デコーダも多重ビットストリーム構造から恩恵を受け、これにより、ＡＺＣ有意性情報を前もってデコードし、次に、ＶＬＣ有意性フラグと統合して有意サンプル位置を再構築することができる。有意性デコーディングは、個々のサンプルではなくグループに対して行われ、したがって、存在する依存性は、連続的サンプル間ではなく連続的グループ間であり、スループットに対する影響を大幅に低減している。また、トリプルビットストリーム構成では、有意性情報は、ＭａｇＳｇｎビットストリームに対する何らかの依存性を有することなく、完全にデコードされ得る。
【０２０６】
上述の統合されたマグニチュード符号化方法は、デコーダのためのいくらかの顕著なクリティカルパス依存性を示し、該クリティカルパス依存性は、ソフトウエアおよび特にはハードウエアにおいてもスループットに影響を及ぼす。しかしながら、これらの依存性を、上記分散されたマグニチュード符号化方法を採用することにより、効果的に除去することができる。
【０２０７】
適合型符号化スループットについて、符号化コンテキストは１つしかないことが留意される。このことは、必要であれば、周知のマルチシンボル並行デコーディング方策の使用を促進する。マルチシンボルＭＥＬ符号化は、その状態機械がより小さいため、マルチシンボルＭＱ符号化よりも簡単である。実際に、ＡＺＣ有意性シンボルの１つの全体のランまたは複数のランさえ一回でエンコードまたはデコードすることが通常は可能であり、全ての状態遷移を小さいルックアップテーブルに畳み込む。また、各４つのサブバンドサンプル毎に符号化／デコードされることになるＡＺＣシンボルは最大１つある。
Ｐｏｓｔ−Ｃｏｍｐｒｅｓｓｉｏｎ  Ｒ−Ｄ  Ｏｐｔｉｍｉｚａｔｉｏｎによるエンコーディング
【０２０８】
Ｐｏｓｔ−Ｃｏｍｐｒｅｓｓｉｏｎ  Ｒａｔｅ−Ｄｉｓｔｏｒｔｉｏｎ  Ｏｐｔｉｍｉｚａｔｉｏｎ（ＰＣＲＤ−ｏｐｔ）は、ＪＰＥＧ  ２０００アルゴリズムの価値のある特徴であり、既に生成されたコードブロックビットストリームを切り捨てるだけで、１または複数のターゲット圧縮ビット率を達成することができる。最適な切り捨て位置を見出すことは、各切り捨てポイントについて１セットの歪み推定（または測定）とすれば、比較的容易である。
【０２０９】
ＰＣＲＤ−ｏｐｔアプローチは効果的である。なぜならＪＰＥＧ  ２０００ブロック符号化器は、細かく埋め込まれたビットストリームを作成し、複数の切り捨てポイント（ビットプレーン当たり３）を提供するからであり、これらの大部分は、典型的には、コードブロックの稼働率−歪み特性の凸包上にある。
ＦＡＳＴブロック符号化器でのＰＣＲＤ−ｏｐｔの使用
【０２１０】
上記ＦＡＳＴブロック符号化アルゴリズムは、厳密には埋め込まれていないが、ＰＣＲＤ−ｏｐｔベースのレート制御方法論を展開することができる十分なレベルの埋込を提供する。ビットプレーン当たり３つの符号化パスが依然として在り、これら符号化パスのレート−歪み特性は、標準的なＪＰＥＧ  ２０００ブロック符号化器のレート−歪み特性と非常に類似していると判明する。典型的な写真イメージでの実験において、図１に示すＦＡＳＴブロック符号化パスのセットに最適な切り捨てアルゴリズムを適用することで、標準的なＪＰＥＧ  ２０００ブロック符号化器によって達成される圧縮効率と同様の圧縮効率が得られることが分かった４。
―――――――――――――――
４この観察は、標準的なＪＰＥＧ  ２０００ブロック符号化アルゴリズムが全ＢＹＰＡＳＳモードにおいて動作する場合には事実であり、ここで、全てのＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスは、未加工ビットを放出し、適合型符号化は、Ｃｌｅａｎｕｐパスにおいてのみ使用される。
―――――――――――――――
【０２１１】
当然、ＦＡＳＴブロック符号化器により生成された符号化パスのセットを切り捨てた後、最後に残るＣｌｅａｎｕｐパスだけが、もしあれば、それに続く残るＳｉｇＰｒｏｐおよびＭａｇＲｅｆパスと共に、コードストリームへ放出される。なぜなら、ＦＡＳＴブロック符号化器のＣｌｅａｎｕｐパスの各々が、全ての先行の符号化パスを完全に包含するためである。
【０２１２】
コンテンツを、エンコーダのために比較的多く種々の質（異なる量子化ステップサイズ）で圧縮してから、最終的に各コードブロックの圧縮されたバージョンのうち１つを除いて全てを破棄することにより、任意の非埋め込み型のブロック符号化アルゴリズムを、ＰＣＲＤ−ｏｐｔアルゴリズムと共に使用し得る、と主張する人がいるかもしれない。しかしながら、このようなアプローチとここで提案されるアプローチとの差異は、エンコーダが、ＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスに依存して、最大限でもビットプレーン当たり１つのＣｌｅａｎｕｐ符号化パスを作成して極めて低い計算量で稼働率−歪み特性を効果的に補間する必要がある点である。
符号化パスの選択的な生成
【０２１３】
ＪＰＥＧ  ２０００についてのＰＣＲＤ−ｏｐｔ手段の高度な実施では、既に、予測的方策を用いて、ＰＣＲＤ−ｏｐｔレート制御段によって後に見出される最適切り捨てポイントの外にある傾向がある多くの符号化パスの生成を、回避している。ＦＡＳＴブロック符号化器については、ＰＣＲＤ−ｏｐｔ切り捨てポイントに保持される後のＣｌｅａｎｕｐパスに包含される傾向がある符号化パスの生成を、追加の方策を使用して回避することができる。すなわち、図１により示唆されるように、生成する価値のある最終の符号化パスと符号化パスを生成し始める第１の（最も粗い）ビットプレーンとの双方を決定するために予測的方策を使用することができる。
【０２１４】
レート制御を通常は必要としないトランスコーディング用途は別として、本願において説明されるＦＡＳＴブロック符号化器のための最も重要な用途は、映像を含む。なぜなら、このような用途は、標準的なＪＰＥＧ  ２０００アルゴリズムが課題とする非常に高いデータレートを含むからである。
【０２１５】
ＪＰＥＧ  ２０００実施において生成する価値がない最終の符号化パスを予測するための既存の方策は、ＰＣＲＤ−ｏｐｔアルゴリズムにより採用される歪み長さ勾配閾値が通常はフレーム毎にゆっくりとしか変化せず、それゆえ、生成した符号化パスに関連付けられている歪み長さ勾配閾値が、前のフレームにおいてＰＣＲＤ−ｏｐｔアルゴリズムにより選択される歪み長さ勾配閾値、または、以前に生成されたフレームの定義されたセットにおいて選択された最小のこのような閾値よりも小さくなるとすぐに、ブロックエンコーダは符号化パスの生成を停止することができる、という事実を利用している。この方策を、ＦＡＳＴブロック符号化アルゴリズムと共に直接採用して、ＰＣＲＤ−ｏｐｔレート制御段階で破棄される傾向がある符号化パスの生成を制限することができる。
【０２１６】
続くサブセクションは、主に第２の課題、すなわち、ＦＡＳＴブロックエンコーダによって生成される必要のある第１の／最も粗い符号化パスを予測することに関する。この目的のために、同様に、先行のフレームの圧縮の観察結果を利用することができる。この情報を、サブバンドサンプルから導出される統計値で補足することも可能であり、一方、そっらは、コードブロックになるように組み立てられている。これらの方法を説明する前に、以下のことを観察する。
１．エンコード処理中に粗いビットプレーンを破棄することは、ＰＣＲＤ−ｏｐｔ段階を乗り切ることが期待されない細かい符号化パスを破棄することよりも「リスクがある」。コードブロックのために最初に生成されるビットプレーンが、多すぎるビットの生成という結果になる場合、ＰＣＲＤ−ｏｐｔ段階は、コードブロックのためのコンテンツを全く含むことができない可能性がある。よって、より粗いビットプレーンを破棄するという決定に関連付けられた最悪の場合の歪の影響は、より細かいビットプレーンを破棄することに関連付けられたその影響よりも大きい。
２．より粗いビットプレーンは、一般的には、少なくともソフトウエア実施においては、より細かいビットプレーンよりも消費する計算のリソースが少なく、そのため、実施のためには、必要とするよりも多くの細かいビットプレーンではなく、必要とするよりも多くの粗いビットプレーンを生成して失敗する方が、望ましい。実際、粗いビットプレーンが全くスキップされなくても、ＦＡＳＴブロックエンコーダはＪＰＥＧ  ２０００よりも依然としてはるかに速い。
３．高いスループットハードウエア実施は、決定論的な方法で、何らかの任意のコードブロックのために生成されることになる符号化パスの総数を固定する必要がある可能性がある。このことは、適合型アルゴリズムがより簡単に実施されるソフトウエア環境よりもより大きい課題を提供する。
４．低いエンドツーエンドレイテンシを有する一定のビットレート圧縮データストリームを必要とする用途は、符号化パスまたはビットプレーンを選択的に生成するアルゴリズムにとって最大の課題である。下手な決定が結果として大きい歪みとなることの尤度は、ＰＣＲＤ−ｏｐｔアルゴリズムが厳格なビット予算に合うように強制される場合に、特に、コードブロックの小さいセットに対して通常行われるのだがこの強制が行われる場合に、大幅に増加する。
【０２１７】
上記で特定された困難性にもかかわらず、たとえハードウエアにおいても、良好な圧縮性能と共に、高いスループットエンコーディングを許容する効果的なアルゴリズムを開発することが可能である。
長さベースのビットプレーン／符号化パス選択アルゴリズム
【０２１８】
このセクションでは、第１アルゴリズムを説明する。第１アルゴリズムは、ブロックエンコーディング処理中に粗いビットプレーンの生成をスキップするために使用され得る。このアルゴリズムは、ＰＣＲＤ−ｏｐｔアルゴリズムにより全てのコードブロックを破棄しなければならないというリスクを軽減するために、符号化された長さ推定および測定に依存している。この方法は、少なくとも２つ、しかしながら、好ましくは３つ以上のビットプレーンが、並行してではなく順にエンコードされる状況に適している。これにより、各エンコードされたビットプレーンのエンコードされた長さは、エンコードすることになる後続のビットプレーンを選択するようにガイドすることができる。これらの属性は、アルゴリズムをハードウエアよりもソフトウエア実施により適したものとするかもしれない。
【０２１９】
映像シーケンスからの１シーケンスのフレームが圧縮されているとする。また、説明を簡単化するため、各フレームの圧縮されたサイズに対する制約Ｌｍａｘが課される各フレームのコードストリームのための符号化パスを選択するために、ＰＣＲＤ−ｏｐｔアルゴリズムが使用されているとする。すなわち、全てのフレームは、同じ長さ制約を有するとする。以下で説明される方法を、フレーム毎に異なる可能性のある長さ制約にどのように適合させることができるかを理解することは難しくない。この方法は、低レイテンシ用途にも適用されてもよい。低レイテンシ用途では、長さ制約は、フレームの断片のみを表すコードブロックのより小さい集合に適用される。
【０２２０】
2019522448.tif 000044
2019522448.tif 000045
【０２２１】
次に、Ｌｐ，ｂｋをフレームｋのコードブロックｂ内のビットプレーンｐに属するＣｌｅａｎｕｐパスに関連付けられた長さ（バイト）とし、後続の（生成されている）フレームｋｇｅｎを考察する。サブバンドβにおける各コードブロックｂが、少なくとも１つの生成された、
2019522448.tif 000046
であるＣｌｅａｎｕｐパスを有する限り、ＰＣＲＤ−ｏｐｔアルゴリズムが、Ｌｍａｘ未満の全長を有するフレームｋｇｅｎのためにコードストリームを生成することが確実に可能となる。実際、たとえこの制約がなくても、ＰＣＲＤ−ｏｐｔアルゴリズムは、長さの制約Ｌｍａｘを満たすために、１つまたは複数のコードブロックを完全に破棄することは常に可能である。しかしながら、このことは、コードブロックが破棄されている場合は、品質の大幅な低下を被る可能性があり、これは単に、十分に粗いビットプレーンに関連付けられた符号化パスはブロックエンコーダによって生成されなかったからである。
【０２２２】
フレームｋのコードストリームの生成中に記録されることとなる情報の第２種類は、最も粗いビットプレーン索引ｐｍａｘ，γｋであり、コードブロックグループγの集合の各々に関連付けられている。１つのグループ化アプローチは、明確なＪＰＥＧ  ２０００プレシンクトによって、各コードブロックグループγを特定することであるが、１つのプレシンクト内でコードブロックの明確なサブバンド指向性（例えばＨＨ，ＬＨ，ＨＬ）を（明確なグループによって）さらに区別することが好ましい可能性はある。コードブロックの重なり合うグループを使用することも望ましい可能性がある。一方では、グループは単一コードブロックからなり、他方では、画像成分のウェーブレット分解における任意の解像度レベルからの全てのサブバンドは、単一グループを構成すると考えられてもよい。いずれにせよ、ｐｍａｘ，γｋは、フレームｋのためのコードストリームに埋め込むためにＰＣＲＤ−ｏｐｔアルゴリズムが選択するグループγにおける任意のコードブロックからの任意のＣｌｅａｎｕｐパスに関連付けられた最も粗いビットプレーンである。加えて、γｂをコードブロックｂのための「自然」グループとし、「自然」グループは、複数のこのようなグループ（重なるグループ）が無ければ、単にコードブロックｂが属するグループであり、ある場合は、γｂは、コードブロックｂの幾何学的中心に最も近く一致する幾何学的中心を有するグループである。
【０２２３】
2019522448.tif 000047
2019522448.tif 000048
【０２２４】
2019522448.tif 000049
【０２２５】
2019522448.tif 000050
【０２２６】
この方法の複雑性および性能の双方は、Δａｄｊ値に応じている。厳格なレイテンシ制約を有していないソフトウエア実施において、要求される平均スループットを達成するために、Δａｄｊの値は、フレーム毎に適合され得る。
低レイテンシ用途のための符号化パス選択アルゴリズム
【０２２７】
このセクションでは、何らかの任意のコードブロックにおける所定の最大数の符号化パスを生成するアルゴリズムを説明する。このアルゴリズムは、ソフトウエアと同様に高パフォーマンスハードウエア実施に適している。なぜなら、処理されることになるビットプレーンは、逐次エンコーディング処理に依存せずに、事前に決められるからである。処理する最も粗いビットプレーンの決定のみを考察した先行のセクションとは異なり、ここでは、任意のコードブロックのために処理されることになる符号化パスの全セットの決定を検討する。ここで説明されるアルゴリズムは、低レイテンシ用途に適し、低レイテンシ用途では、完全な映像フレームの小さい一部のみを表していることもあるコードブロックの集合に対してＰＣＲＤ−ｏｐｔアルゴリズムが規則的に実施され、コードブロックのこのような集合のために、「フラッシュセット」という用語を用いる。同様に、１シーケンスの映像フレームが圧縮されているという事実に依存し、その結果、前のフレームにおけるＰＣＲＤ−ｏｐｔアルゴリズムからの結果を後続のフレームにおける符号化パスの選択をガイドするために用いることができる。各コードブロックのための符号化パスの選択は、歪み長さ勾配情報に基づく。なぜなら、符号化長さは事前には利用可能ではないからである。
【０２２８】
以下の検討において、各コードブロックのために生成された１セットの符号化パスから適切な符号化パスを選択するためのＰＣＲＤ−ｏｐｔ処理について簡単に総括する。これは、基本的にＰＣＲＤ−ｏｐｔアルゴリズムの総括であり、そもそも、実際に生成された符号化パスのセットを限定するという課題に特有ではない。
【０２２９】
2019522448.tif 000051
【０２３０】
2019522448.tif 000052
2019522448.tif 000053
【０２３１】
2019522448.tif 000054
【０２３２】
2019522448.tif 000055
【０２３３】
2019522448.tif 000056
【０２３４】
2019522448.tif 000057
【０２３５】
生成された符号化パスの各々について、対応する歪み長さ勾配が計算され格納される。次に、これらの勾配値を使用して、最終的にビットストリームへ含められることになる符号化パスを選択する。歪み長さ勾配に基づくレート分散最適符号化パス選択方策を、このセクションにおいて先に説明した。
【０２３６】
2019522448.tif 000058
【０２３７】
上記方法は、たとえ、各コードブロックが２未満の連続ビットプレーンを処理するよう制限されている場合でも、映像シーケンスにおける連続するフレーム間で複雑性の大きい変化が経験される場合を除き、実際面では良好に作用する。特に、フレーム（またはフレームの領域）が非常に低い複雑性（例えば、少ないテクスチュア、少ないエッジなど）を示す場合、ＰＣＲＤ−ｏｐｔアルゴリズムは、各関連するコードブロックのために利用可能な最も細かいビットプレーンを選択する傾向がある。フレームの１シーケンスに亘り、これは、動作点をコンテンツの非常に細かい量子化を表す点へ迅速に動かす。次に、複雑性が突然上昇する場合、この細かい動作点は多すぎるビットを生成し、ＰＣＲＤ−ｏｐｔアルゴリズムは全コードブロックを破棄させることを強要され、結果として歪みが大きいという欠点となる。この条件は、大きい複雑性過渡から典型的には２または３フレーム内で復元される高パフォーマンスによって迅速に消滅し、これは、識別できるような歪みを回避するために十分かもしれないが、このような過渡を低減または排除するためのステップを行うことが望ましい。このセクションにおいて、上記符号化パス選択アルゴリズムを向上するために使用することができる全体的および局所的な複雑性を測定する方法を説明する。
【０２３８】
メモリ／レイテンシ抑制環境において、ウェーブレット変換により生成されるサブバンドサンプルのラインは収集器へ漸増的にプッシュされ、これによりラインをコードブロックになるよう組み立て、その後、都合がつき次第できるだけ早くブロックエンコーディング処理を開始する。この処理の間に、サブバンドサンプルを解析して符号化複雑性を評価することができる。同一のサブバンドにおいて水平方向に隣接するコードブロックからのサブバンドサンプルおよびウェーブレット階層における同じレベルでの他のサブバンドからのサブバンドサンプルは、同様の時間において生成されるため、それらの複雑性は、より全体的な推定を形成するために組み合わせられてもよい。同様に、複雑性情報は、異なる画像成分（例えば色成分）に属するサブバンドから組み合わせられてもよく、この場合、組み合わせられたサブバンドは同じ垂直解像度を有する。異なる解像度に亘る複雑性推定を蓄積することによりより一層全体的な推定を形成することができるが、このことは、メモリまたはレイテンシの抑制された用途において選択的にのみ行うことができる。
【０２３９】
ここで説明する方法は、複雑性の局所的基準として個々のコードブロック内の絶対サブバンドサンプルの集積で開始する。具体的には、サブバンドβ内のコードブロックｂについて、局所的な複雑性基準は、以下のように表されてもよい。
2019522448.tif 000059
ここで、Δβは、量子化ステップサイズ、Ｎｂは、コードブロックｂ内にあるサンプル位置のセットを表し、||Ｎｂ||は、コードブロックエリアを表す。厳格な等式よりもむしろを記載する。なぜなら、多くの用途において、ｌｏｇ２（ｘ）演算は、正確に計算されるよりむしろ近似されることになるからである。例えば、ｘについての浮動小数点表示におけるビットの一部または全ては、ｌｏｇ２（ｘ）の不動点近似として再解釈されてもよい。ｃβ［ｂ］の効率的計算は、||Ｎｂ||・Δβによる割り算をアルゴリズムの外側に動かすことを含む可能性があり、この場合、それは、固定オフセットとなる。
【０２４０】
既述のとおり、ウェーブレット変換から、および、おそらく色変換などの他の変換処理から、サブバンドサンプルが利用可能となるため、上記等式により表される集積は、典型的には漸増的に行われる。エンコーディングのために、コードブロックの完全な１行が一旦組み立てられると、ｃβ［ｂ］に関連付けられたログオペレーションおよび正規化を行の各コードブロックのために行ってもよい。同時に、局所的複雑性推定は、以下のように、より全体的な推定に組み合わせられてもよい。
2019522448.tif 000060
ここで、ＶＶはサブバンドサンプルの単一「ｖ−ｓｅｔ」（垂直セット）を表し、同じ垂直解像度を有する各サブバンドからのコードブロックの１行を構成する。関連するＪＰＥＧ  ２０００プレシンクト区画の影響を考慮すると、任意のｖ−ｓｅｔへ寄与するサブバンドは異なる画像成分に属していてもよいが、同じ垂直サンプリングレート５を有し、同じ垂直コードブロックサイズを有するべきである。
―――――――――――――――
５垂直解像度は、ここでは、（最高垂直解像度を有する画像成分から）画像ラインがウェーブレット変換へプッシュされるにつれてサブバンドラインが現れるレートを意味する。丸め効果とは別に、サブバンドの垂直解像度は、サブバンドにおけるラインの数であり、画像の高さにより割られる。
―――――――――――――――
したがって、ｇｖは、ｖにより索引付けされたｖ−ｓｅｔ内で見出されるコードブロックの面積−重み付け平均複雑性と理解される。
【０２４１】
2019522448.tif 000061
【０２４２】
2019522448.tif 000062
【０２４３】
2019522448.tif 000063
2019522448.tif 000064
【０２４４】
2019522448.tif 000065
【０２４５】
2019522448.tif 000066
ビットレートおよび歪み長さ勾配推定方策
【０２４６】
上記アルゴリズムは、コードブロックｂをビットプレーンｐに符号化する際に経験されるビットレートは、Ｒ０＋Ｃβ［ｂ］−ｐの形態であるはずであり、ただし、Ｒ０はフレーム毎に異ならない定数であるという仮定に関して理解され得る。これは、非常に大まかなモデルであり、多くのサンプルが非有意であるより低いビットレート（より粗いビットプレーン）において、正確だとは期待されない。
【０２４７】
符号化されたビットレートのより一層正確な予測は、エンコーディング処理を実際にせずに、コードブロックのために形成され得る。このための１つの方法は、各利用可能なビットプレーンｐ＝０、ｐ＝１、．．．において生じる有意サンプルの数の集計Σｐを形成することによる。確かに、これは計算を必要とするが、エンコーディングステップを実際に行うよりも一層低コストであり得る。これらのΣｐ値から、各ビットプレーンｐについて有意性フラグの次のエントロピーを直接判断することができ、各ｐのためのＭａｇＳｇｎビットストリームに詰められる必要があるマグニチュードおよびサインビットの数も分かる。各有意サンプルのためのアンサインドマグニチュード指数予測残差の符号化のために１または２ビットを許容すると、何らかの任意のビットプレーンｐにおいてＣｌｅａｎｕｐパスによって必要とされるビットの数について妥当な推測が得られる。この推測は、控えめである傾向がある。なぜなら、実際の符号化方法は、より効率的であるからである。
【０２４８】
エンコーディング処理のビットレートを推測する別の方法は、サブバンドサンプルの確率密度関数についての汎用のガウスモデルをコードブロック内に挿入し、モデルのパラメータにのみ依存する各ビットプレーンｐのビットレートについての予め計算された値を使用することである。モデルを挿入するために、各コードブロックのためのたった２つの統計値を集めることで十分である。２つの統計値の一方は、平均絶対値、または、同等に、先に導入された複雑性予測Ｒ０＋Ｃβ［ｂ］であり、他方は、サブバンドサンプルの平均平方値であってもよい。
【０２４９】
各ビットプレーンにおける有意サンプルを直接カウントすることに対するモデルベースのアプローチの主な利点は、複雑性の低下である。両方のアプローチは、なんらかの任意のコードブロックのための符号化されたビットレートを予測する関数を、ビットプレーンｐの関数として産出する。この関数から、各ビットプレーンにおけるコードブロックのための演算の歪み長さ勾配の推測が導出されてもよい。これらのビットレートおよび歪み長さ勾配推定を、様々な用途設定において、符号化パスの狭いセットを選択して各コードブロックのために実際に生成するために使用することができる。
【０２５０】
2019522448.tif 000067
2019522448.tif 000068
【０２５１】
2019522448.tif 000069
【０２５２】
一定のビットレート（ＣＢＲ）設定において、それが属するｖ−ｓｅｔ  ＶＶ、またはより大きいセットＵ（ＶＶ）における各コードブロックのための予測されたビットレートおよび歪み長さ勾配を使用して、ＰＣＲＤ−ｏｐｔアルゴリズムの期待される挙動をシミュレーションし、各コードブロックのためのコードストリームに含まれることが期待されるＣｌｅａｎｕｐパスを有するビットプレーン（もしあれば）を決定することができる。同様に、予測が控えめである、これは、実際のブロック符号化器は予測が示唆するよりも効率的であることを意味するが、と仮定すれば、この予測されたＣｌｅａｎｕｐパス、プラス１または２つのより高い品質（すなわち、より小さいｐ）のＣｌｅａｎｕｐパスを、それぞれＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスと共に、生成することで十分である。実際のＰＣＲＤ−ｏｐｔアルゴリズムは、この制限されたセットの生成された符号化パスで動作する。
コードストリームシンタックスおよびトランスコーディング
【０２５３】
このセクションにおいて、ＦＡＳＴブロック符号化処理を使用して様々な価値のあるトランスコーディング対象を実現できる方法を説明する。まず、プレシンクト毎に使用され得るオプションとしてＦＡＳＴブロック符号化器の組み込みを支持するために必要とされるＪＰＥＧ  ２０００規格に対する小さな変更のセットを説明する。次に、この能力を利用することができる方法について説明する。
ＪＰＥＧ  ２０００コードストリームシンタックスの変更
【０２５４】
ＦＡＳＴブロック符号化アルゴリズムは、ＪＰＥＧ  ２０００シンタックスに対してほぼ影響を与えない。既存のコードストリームシンタックスにこの符号化オプションを最適に組み込むための最も簡単な方法は、ＩＳ１５４４４−２／ＡＭＤ４から１６ビットＳＸｃｏｄフィールドの定義を広げることである。ＳＸｃｏｄフィールドの標準的な解釈について説明することから始める。
【０２５５】
ビット−５をＪＰＥＧ  ２０００ＣＯＤ（各ＣＯＣ）マーカーセグメントのスタイルバイトＳｃｏｄ（各Ｓｃｏｃ）内で設定する場合、マーカーセグメントは、標準的なＪＰＥＧ  ２０００ブロック符号化器によって使用されて追加のＢＹＰＡＳＳオプションを特定する１６ビットＳＸｃｏｄフィールドを含む。特に、ＩＳ１５４４４−２／ＡＭＤ４によれば、ＳＸｃｏｄフィールドの２つのＬＳＢは、コードブロックスタイルフィールドＳＰｃｏｄ（各ＳＰｃｏｃ）のＢＹＰＡＳＳフラグ（ビット０）が設定される場合は常に、使用されることになる追加のバイパスされたビットプレーンの数を特定する値ＢＢをエンコードする。ＢＹＰＡＳＳ＝１およびＢＢ＝０１である場合、ＳｉｇＰｒｏｐおよびＭａｇＲｅｆ双方の符号化パスについて、算術符号化は全てのビットプレーンにおいてバイパスされる。
【０２５６】
ＦＡＳＴブロック符号化アルゴリズムを取り入れるために、ＳＸｃｏｄフィールド内の追加の（現在保存されている）ビットに、表１０において特定される解釈を与えることができる。ＦＡＳＴブロック符号化器がＣＯＤ（またはＣＯＤ）マーカーセグメントによって説明される全てのプレシンクトにおいて使用されることになる場合、ＢＹＰＡＳＳは、１であり、ＢＢは０１であるはずである。次に、既存のＪＰＥＧ  ２０００パケット解析機構は、何の変更もなくＦＡＳＴブロック符号化器の符号語セグメントを正しく復元することになる。
表１０：ＳＸｃｏｄフィールドの構造
【表１０】
2019522448.tif 000070
【０２５７】
表１０において特定されるより興味深い（かつ僅かながらより侵略的な）オプションは、ＭＩＸＥＤモードであり、このモードでは、選択されたプレシンクトにおいて、ＦＡＳＴブロック符号化アルゴリズムが使用されてもよく、一方、標準的なＪＰＥＧ  ２０００ブロック符号化アルゴリズムは、その他で使用される。この場合、ＣＯＤ（各ＣＯＣ）マーカーセグメントにより定義される全てのブロック符号化オプションは、それが使用される標準的なブロック符号化アルゴリズムに当てはまり、一方、ＦＡＳＴブロック符号化アルゴリズムは、ＢＹＰＡＳＳ＝１およびＢＢ＝０１が示唆されること以外は、同じ符号化オプション（適用可能であれば）を使用する。
【０２５８】
このＭＩＸＥＤモードにおいて、ＦＡＳＴブロック符号化アルゴリズムを使用するプレシンクトは、各プレシンクト内における第１パケットの第１バイトを解釈する方法を少し変更することにより特定される。アルゴリズムを構文解析する標準的なＪＰＥＧ  ２０００パケットは、第１バイトがそのＭＳＢ（ビット７）セットを有するパケットを「ゼロ長」パケットとして解釈する。したがって、このビットは、ＺＬＰビットとしてここでは特定される。実際面では、ＪＰＥＧ  ２０００におけるＺＬＰ信号伝達メカニズムは、プレシンクトの非初期パケットにとって価値があるのみであり、なぜなら、第１パケットは、第１バイトを０に等しいように設定するだけで、完全に空だと特定され得る６。
―――――――――――――――
６厳密には、プレシンクトが７つを上回るサブバンドを有する場合、完全に空の初期パケットの存在を信号で知らせるために、追加の０バイトが必要とされる可能性があるが、これは、パート２Ａｒｂｉｔｒａｒｙ  Ｄｅｃｏｍｐｏｓｉｔｉｏｎ  Ｓｔｙｌｅ（ＡＤＳ）特性が使用される場合のみ可能である。
―――――――――――――――
これを考慮し、ＭＩＸＥＤモードにおける何らかのプレシンクトの第１パケットのＺＬＰビットは、ＦＡＳＴブロック符号化アルゴリズムが使用されるならば、１と再定義され、それ以外の場合は０と再定義される。次に、パケット構文解析（段階２デコーディング）の全ての他の観点は、第１パケットのＺＬＰビットが１であった場合、ＢＹＰＡＳＳおよびＢＢモードがそれぞれ１および０１であったかのように、第１パケットが「ゼロ長」パケットであり得ず、プレシンクトのパケットが構文解析されること以外は、変更されないままである。
ＦＡＳＴビットストリームへのＳＴＤビットストリームのトランスコーディング
【０２５９】
ＦＡＳＴブロック符号化器表示へのトランスコーディングは、複数の用途において価値があり得る。メディア配信サービスにおいて、全体画像、映像フレームまたは映像シーケンスは、最終レンダリングプラットフォームの計算の能力、または、ハードウエアの能力に合うように、ＦＡＳＴ表示になるようにトランスコードされてもよい。特に、モバイルプラットフォームは、ＦＡＳＴ表示の利用可能性から利益を得て完全なＪＰＥＧ  ２０００デコーディングに関連付けられたエネルギー需要を減らすことができる可能性がある。このような用途において、メディア配信サービス（例えば、「クラウド」ベースのサービス）は、標準的なＪＰＥＧ  ２０００表示の品質スケーラビリティを利用することができ、利用可能な通信帯域幅と共に、意図したレンダリングタスクに最も好適に一致する品質層を選択する。このような用途における各ＦＡＳＴブロックビットストリームは、選択された品質層に応じて、オリジナル符号化パスの（おそらく）切り捨てられるセットからトランスコードされる。
【０２６０】
ＦＡＳＴブロック符号化器表示へのトランスコーディングを、コードブロックを再レンダリングする必要がある周波数に基づいて、画像／映像レンダリングプラットフォーム自体によって、局所的に行うこともできる。ＪＰＥＧ  ２０００に基づく双方向性のレンダリング用途は、コンテンツの範囲内においてユーザーが動的にパンまたはズームするにつれて、通常は、少なくともいくつかのコードブロックの繰り返し再構成を含み、関心のあるコンテンツに関するこれらのコードブロックのみが実際にデコードされる必要がある、という事実を利用している。このような用途は、再構成されたコードブロックをＦＡＳＴ表示へ頻繁にトランスコーディングすることから利益を得ることができる。特に、効率的インタラクティブレンダリングエンジンは、限られた履歴を維持することができ、最近デコードされたコードブロックを含むプレシンクトの固有性を、このような各プレシンクトのために行われたコードブロックデコーディング操作の数と共に記録する。この情報に基づき、レンダリングエンジンは、プレシンクトにおける全てのコードブロックをトランスコードすることが好ましい可能性があるかどうか判断することができ、その結果、コンテンツの将来的な再構成は、エネルギーまたは処理時間に関してより一層効率的であり得る。
【０２６１】
遠隔メディアをＪＰＩＰベースでインタラクティブに閲覧する場合、ＪＰＩＰの顧客は、サーバーから受信するいわゆる「プレシンクトデータビン」を一般的にキャッシュする。次に、サーバー（通信履歴）からの新しいコンテンツの到着によってプレシンクトがアップデートされる頻度と共に、レンダリング機構（デコーディング履歴）がプレシンクトにアクセスする頻度に基づいてプレシンクトをＦＡＳＴ表示に選択的にトランスコードする能力によって、キャッシュを増大することができる。例えば、ＪＰＩＰキャッシュは、サーバーからのデータの到着により最後に増大されてからレンダリングのためにプレシンクトのコンテンツが回復された回数を記録するカウンタによってそのキャッシュにおける、各プレシンクトデータビンに関連付けられたエントリをそれぞれ増大させることができる。このカウンタの値に基づき、プレシンクトは、オリジナルキャッシュエントリを上書きするかまたはこのようなトランスコーディングのために予約された平行キャッシュエントリに記録されるＦＡＳＴ表示へトランスコードされ得る。このことは、プレシンクトが最後にトランスコードされてからサーバーからの新しいデータの到着により十分に増大された場合を除いて、レンダリングエンジンに、ＦＡＳＴブロックビットストリームの使用という代替案を提供する。ＦＡＳＴ表示に関連付けられた処理スループット／エネルギーの向上は、コードブロックに関連付けられた符号化されたビットレート（サンプル当たりのビット）が上昇するにつれて、重要性が増す。スマートなＪＰＩＰキャッシュは、上記のことを、十分に大きいデータビンを有するプレシンクトのみをトランスコーディングすることによって、考慮することができる。
【０２６２】
全てのトランスコーディング動作は、反転および／または再適用されるウェーブレットまたはマルチコンポーネント変換を必要することなく、個々のコードブロックに対して独立して行われ得る。理論上、標準的なＪＰＥＧ  ２０００ブロックビットストリームからＦＡＳＴビットストリームへのトランスコーディングは、利用可能なＪＰＥＧ  ２０００符号化パスをデコーディングし、その後、結果として生じるサンプルを、ＦＡＳＴブロック符号化アルゴリズムを用いて再エンコーディングすることにより達成される。しかしながら、この表面上のアプローチは、それが潜在的に可能であるほど効率的ではなく、必ずしも真に可逆的でもない。
【０２６３】
真に可逆的なトランスコーディングのためには、オリジナルのＪＰＥＧ  ２０００ブロックビットストリームの最終のＣｌｅａｎｕｐパスにＳｉｇＰｒｏｐ符号化パスが続いていた場合、かつその場合に限り、ＦＡＳＴブロックビットストリームのＣｌｅａｎｕｐパスにＳｉｇＰｒｏｐ符号化パスが続く、ということが重要である。同様に、オリジナルＪＰＥＧ  ２０００ブロックビットストリームがＭａｇＲｅｆ符号化パスで終了した場合かつその場合に限り、ＦＡＳＴブロックビットストリームは、ＭａｇＲｅｆ符号化パスで終了する必要がある。これらの条件の理由は、コードブロックにおける各サンプルに適用された効果的な量子化器が、ＪＰＥＧ  ２０００に埋め込まれたビットストリームにおける最終の符号化パスがＣｌｅａｎｕｐ、ＳｉｇＰｒｏｐまたはＭａｇＲｅｆ符号化パスであるかどうかに依存しているためである。これは、今度は、サンプルを逆量子化するべき方法に影響を及ぼす。ＦＡＳＴブロック符号化アルゴリズムの設計における鍵となる要素は、その符号化パスが、標準的なＪＰＥＧ  ２０００ブロック符号化アルゴリズムのそれらと全く同じサンプルセット依存性量子化器を表すことであり、それゆえ、トランスコードされた表現がオリジナルの符号化パスと同じ符号化パスの種類で終了することが重要である。
【０２６４】
ＦＡＳＴブロック符号化アルゴリズムは、標準的なＪＰＥＧ  ２０００ブロックビットストリームをトランスコーディングする場合、１つのＣｌｅａｎｕｐパスを生成すればよい。また、Ｃｌｅａｎｕｐパスにおいて符号化される必要があるサンプルマグニチュードおよびサインは、オリジナルビットストリームの最終のＣｌｅａｎｕｐパスをデコーディングした後に生成されるものである。実際、ＦＡＳＴブロック符号化器のＣｌｅａｎｕｐパスにより符号化されることになる各有意サンプルのマグニチュード指数Ｅ［ｎ］は、標準的なＪＰＥＧ  ２０００ブロックビットストリームをデコーディングする間に行われるＭａｇＲｅｆメンバシップテストの副産物として取得され得る。
【０２６５】
標準的なＪＰＥＧ  ２０００ブロックビットストリームが、算術符号化器ＢＹＰＡＳＳオプションを（最終のＣｌｅａｎｕｐパスに続く）その最終ＳｉｇＰｒｏｐまたはＭａｇＲｅｆ符号化パスのために使用した場合、これらの符号化パスのための符号語セグメントを、ＦＡＳＴブロックビットストリームへ直接転送することができ、トランスコーディング処理をさらに簡単化する。
ＳＴＤビットストリームへのＦＡＳＴビットストリームのトランスコーディング
【０２６６】
ＦＡＳＴ表示から標準的なＪＰＥＧ  ２００ブロックビットストリームへ戻る逆方向のトランスコーディングも価値のあるものであり得る。高い解像度／フレーム−レート映像キャプチャ用途において、コンテンツは、ＦＡＳＴブロック符号化器表示を用いて初期的にエンコードされ得る。続いて、コンテンツは、完全に、または、プレシンクトベースで、品質スケーラビリティを可能にするために標準的なＪＰＥＧ  ２０００表示へトランスコードされ得る。品質スケーラビリティの有効化は、帯域幅効率的ＪＰＩＰベースのインタラクティブメディア閲覧のために特に重要である。具体的には、ＪＰＩＰサーバーは、プレシンクトがＪＰＩＰクライアントによりアクセスされる場合のみ、プレシンクトを要求に応じてトランスコードすることを選択することができる。
【０２６７】
同様に、効率的かつ真の可逆トランスコーディングのためには、トランスコードされた表現が、オリジナル表現と同じ種類の符号化パス（Ｃｌｅａｎｕｐ、ＳｉｇＰｒｏｐまたはＭａｇＲｅｆ）で終了することが重要である。
圧縮パフォーマンスの表示
【０２６８】
本願に記載されたＦＢＣＯＴアルゴリズムがＪＰＥＧ−ＸＳ標準化取り組みの一部として低レイテンシ用途のために完全にテストされるとはいえ、ここでこの方法のパフォーマンスについてのいくつかの初期の実験的な証拠を提供することは価値がある。
【０２６９】
ＪＰＥＧ  ２０００のために、標準的なブロック符号化器のドロップイン代替品としてＦＡＳＴブロック符号化器を選択することを可能にし、ヴィジュアルウエイト、コードストリーム構造等の全ての他の特性を保持するＫａｋａｄｕツールのバージョンを作成した。新しいオプションは、デフォルトＣｔｙｐ＝ＳＴＤの代わりにＣｔｙｐ＝ＦＡＳＴを特定することにより利用可能になる。この実施を使用することで、以下のオプションについて圧縮効率が評価される。
ＤＥＦ：      ｋｄｕ＿ｃｏｍｐｒｅｓｓ  −ｉ  ＜ｉｍａｇｅ＞  −ｏ  ｉｍ．ｊｐｘ  −ｒａｔｅ  ＜ｒａｔｅ＞
ＢＹＰ：    ｋｄｕ＿ｃｏｍｐｒｅｓｓ  −Ｉ  ＜ｉｍａｇｅ＞  −ｏ  ｉｍ．ｊｐｘ  −ｒａｔｅ  ＜ｒａｔｅ＞
Ｃｍｏｄｅｓ＝ＢＹＰＡＳＳ｜ＢＹＰＡＳＳＳ＿Ｅ１｜ＢＹＰＡＳＳ＿Ｅ２
ＦＡＳＴ：  ｋｄｕ＿ｃｏｍｐｒｅｓｓ  −Ｉ  ＜ｉｍａｇｅ＞  −ｏ  ｉｍ．ｊｐｘ  −ｒａｔｅ  ＜ｒａｔｅ＞
Ｃｍｏｄｅｓ＝ＢＹＰＡＳＳ｜ＢＹＰＡＳＳＳ＿Ｅ１｜ＢＹＰＡＳＳ＿Ｅ２Ｃｔｙｐ＝ＦＡＳＴ
【０２７０】
ここで、＜ｒａｔｅ＞は、ビット／画素で測定される、圧縮されたビットレートであり、これのために、１ｂｐｐ、２ｂｐｐおよび４ｂｐｐを調査する。＜ｉｍａｇｅ＞は、圧縮されているテスト画像であり、これのために、標準的なＩＳＯテスト画像「バイク」および「女性」が使用される。これらのテスト画像の各々は、オリジナル（一度も圧縮されていない）フルＲＧＢ２５６０×２０４８カラー画像である。「バイク」画像は、強い空間構造を有する数々の鮮明な特徴を示し、一方、「女性」は、非常に異なる種類のコンテンツを提供し、滑らかな領域と、組織立っていない強いテクスチャとを特徴とする。短縮のため、これら２つの画像についてのみ結果を報告するが、他のコンテンツも同様の挙動を示すことが分かる。
【０２７１】
全ての３つの画像において、コードブロックサイズは６４×６４である。これらの条件により、ＦＡＳＴブロック符号化アルゴリズムの圧縮効率と標準的なＪＰＥＧ  ２０００ブロック符号化アルゴリズムの２つの変形例（ＤＥＦおよびＢＹＰ）とを公平に比較することができる。ＤＥＦ構成は、算術符号化が全ての符号化パスのために使用され、単一埋め込みビットストリームは、ただ１つの符号語セグメント（最小オーバーヘッド）と共に生成される、デフォルトＪＰＥＧ  ２０００符号化器条件に対応する。ＢＹＰ構成は、算術符号化が全ての可能性のある符号化パスにおいてバイパスされ、圧縮効率におけるいくらかの損失と引き換えにより高いスループットにつながる場合に対応する。このモードは、ＦＡＳＴブロック符号化器のモードに最も近いが、多数の符号化パスを依然として含み、全てのＣｌｅａｎｕｐパスが全てのシンボルのためのコンテキスト適合型算術符号化を使用する。
統合されたマグニチュード符号化による初期実験
【０２７２】
実験の第１セットにおいて、セクション０および０において詳述したような、クリーンアップパスの適合的に符号化されたビットストリームのためのＭＱおよびＭＥＬ符号化オプションの使用に対応する、ＦＡＳＴブロック符号化器の２つの変形例を評価する。これらの２つのケースをＦＡＳＴ−ＭＱおよびＦＡＳＴ＿ＭＥＬと称する。これらの実験において、統合されたマグニチュード符号化およびデュアルビットストリーム構造と共に、ＦＡＳＴ  Ｃｌｅａｎｕｐパスのために線形１×４グループ構造を採用する。
【０２７３】
表１１および表１２は、特定されたビットレートに亘って上述の４つの構成についての圧縮パフォーマンスを比較する。明らかに、ＦＡＳＴ−ＭＱ、ＦＡＳＴ−ＭＥＬ、およびＢＹＰオプションは全て、全てのビットレートおよび色成分に亘ってほぼ同一の圧縮効率を有する。ＤＥＦスキーマは当然より高い圧縮効率を有し、コンテキスト適合型算術符号化を広範囲に使用するが、差異は、高いビットレートレジームにおいては約０．４ｄＢに低減する。
表１１：ＡＺＣグループ有意性シンボルのためのＭＱおよびＭＥＬ符号化技術、線形１×４グループ、統合されたマグニチュード符号化およびデュアルビットストリームＣｌｅａｎｕｐパスによる、ＪＰＥＧ  ２０００の変形例（ＤＥＦおよびＢＹＰ）とＦＡＳＴブロック符号化アルゴリズムとの間の圧縮効率比較、結果は３ビットレートのＰＳＮＲ（ｄＢ）で報告される。ここでの結果は、ＰＣＲＤ最適化対象としてのＭＳＥ（等価的にＰＳＮＲ）により得られる。
【表１１】
2019522448.tif 000071
表１２：Ｋａｋａｄｕのデフォルトビジュアル最適化（ＣＳＦ重要性）が全てのこれらのテストにおいて有効化されていることを除き、表１１と同じ実験からの結果。結果として、ＰＳＮＲ値は、比較的低く、評価された異なる構成を比較するために使用され得ること以外は必ずしも全てがそれほど意味があるわけではない。
【表１２】
2019522448.tif 000072
【０２７４】
スループットの処理について、ＦＡＳＴブロック符号化アルゴリズムは、ＪＰＥＧ  ２０００の変形例よりも一層速い。デコーディング処理を最適化することのみから始めたが、ＦＡＳＴブロックデコーディングアルゴリズムは、４ｂｐｐで、ＤＥＦオプションよりも約９倍速く、ＢＹＰオプションよりも５倍速いことが既に見出されている。
【０２７５】
これらの測定は、ブロックデコーディング処理単独の（シングルスレッドの）実際の実施の時間を測定することに基づく。例えば、製造後３．５年の２．６ＧＨｚＣｏｒｅｉ７（Ｉｖｙ  Ｂｒｉｄｇｅ）ＭａｃｂｏｏｋＰｒｏにおいて、４ｂｐｐで、シングルスレッドは、上記でテストされた女性画像について全てのＦＡＳＴ−ＭＱブロックデコーディングタスクを完了するために４５ｍｓかかり、ＦＡＳＴ−ＭＥＬは４３ｍｓかかる。参考のため、同じ画像についてＳＴＤブロックデコーディング処理は、４０５ｍｓかかり、一方、ＢＹＰ構成において、Ｋａｋａｄｕの実施は２１８ｍｓかかる。Ｋａｋａｄｕ実施は、非常に効率的であると既に広く見なされており、このことは、これらの結果を有意なものとする７。
―――――――――――――――
７ＫａｋａｄｕのいわゆるＳｐｅｅｄ−Ｐａｃｋの変形例に含まれるＳＴＤブロック符号化アルゴリズムおよびＢＹＰブロック符号化アルゴリズムの双方のより速い実施（約１．５倍速い）があるが、そこで使用される同じ技術を、ＦＡＳＴブロック符号化器をさらに速くするためにも適用可能である。
―――――――――――――――
最近の４コアのＣＰＵにおける６０ｆｐｓでの４Ｋ  ４：４：４映像のリアルタイムデコーディングを達成するためには若干の困難が予測される。
【０２７６】
ＦＡＳＴブロック符号化アルゴリズムについてはエンコーディングのほうがデコーディングよりも大幅に速い可能性がある。なぜなら、エンコーディングは、特に、ＡＶＸ２などの技術を考慮する場合、ベクトル化に極めて適しているからである。これまでの調査において、ＦＡＳＴ−ＭＥＬクリーンアップパスが約４ｂｐｐのビットレートにおいてサンプル当たり４クロック未満を必要とすることが見出されるが、慎重な最適化によって、より高いスループットを達成することも同様に期待される。ＦＡＳＴ−ＭＱの変形例は、広い範囲のビットレートに亘って、ＦＡＳＴ−ＭＥＬよりも０．５〜１．０クロック／サンプルだけ遅いことが分かる。
【０２７７】
他の２つの符号化パス（要求されない）は、同様により一層低い複雑性を有する。ＭａｇＲｅｆパスは、サンプル当たり０．４クロック未満を現在は必要とする。一方、ＳｉｇＰｒｏｐパスは、サンプル当たり１クロック未満で実施され得る。これらの結果は、エンコーダが、通常は、多重符号化パスを生成する状態であるはずであり、多重符号化パスを、レート制御のためのＰＣＲＤ最適化技術を必要に応じて採用できるようにしていることを既に意味している。
分散マグニチュード符号化による実験
【０２７８】
ここで、上記分散マグニチュード符号化方策と共にＦＡＳＴ  Ｃｌｅａｎｕｐパスのトリプルビットストリームの変形例が使用される第２セットの実験の結果が提示される。線形１×４グループ構造および２×２正方形グループ構造の双方がここではテストされる。表１３および表１４において、これらの構成の性能を表１１および表１２において（太字で）報告されたデュアルビットストリーム統合マグニチュード構成と比較する。
表１３：統合および分散マグニチュード符号化を含むＦＡＳＴブロック符号化器の変形例間の圧縮効率の比較。「ＣＯＮＳ１×４」行は、表１１において報告された、ＭＥＬ符号化、線形１×４グループ、統合マグニチュード符号化およびデュアルビットストリームＣｌｅａｎｕｐパスを伴う変形例に対応する。「ＤＩＳＴ１×４」行は、ＭＥＬ符号化、線形１×４グループ、分散マグニチュード符号化およびトリプルビットストリームＣｌｅａｎｕｐパスを伴う変形例に対応する。「ＤＩＳＴ２×２」構成は、正方形２×２グループが採用されることを除き、同じである。結果は、ＰＣＲＤ最適化対象としてのＭＳＥ（等価的にＰＳＮＲ）により得られる、３ビットレートでのＰＳＮＲ（ｄＢ）において報告される。
【表１３】
2019522448.tif 000073
【０２７９】
明らかに、ここでテストされる新しい構成は、線形グループ構造については０．０４ｄＢ〜０．２ｄＢであり、２×２グループ構造については０．０１ｄＢ〜０．１６ｄＢである若干劣る圧縮パフォーマンスを提供する。これは幾分かは、トリプルビットストリーム構造のオーバーヘッドに起因するが、多くは、有意サンプルのマグニチュード間の冗長性を活用するために利用可能なコンテキスト情報の量を制限する分散マグニチュード符号化処理の結果である。
【０２８０】
圧縮効率におけるこの若干の損失と引き換えに、デコーディングスループットを大幅に向上することができる。ＦＡＳＴブロックデコーダのこの変形例の最適化された実施、すなわち、Ｉｎｔｅｌ社のＳｋｙｌａｋｅプロセッサにおいて利用可能なＡＶＸ２およびビット操作インストラクションの活用は、統合されたマグニチュード符号化による前の変形例のあまり最適化されていない実施の２倍のスループットを達成することができる。４ｂｐｐにおいて、平均ブロックデコーディングスループットは、サンプル当たり約６クロック周期である。ＦＡＳＴブロックデコーダの分散マグニチュードの変形例の実施は、統合マグニチュードの変形例の実施よりも強く最適化される一方で、これは、主に、分散型のバリエーションは、より多くの最適化機会、つまり、より多くのベクトル化機会、ビット操作インストラクションの使用のためのより多くの機会、およびより小さいレイテンシを提供するからである。一方、エンコーダは少なくとも同程度に速い。これらの観察は、線形１×４グループ構造についてである。２×２正方形グループ構造の最適化された実施おいて同じまたはより高いスループットが達成可能であるはずだと期待される。なぜなら、操作はほぼ同様の複雑性であり、有意サンプルは、２×２グループ構造によってよりコンパクトに統合されるはずだからである。
表１４：Ｋａｋａｄｕのデフォルトビジュアル最適化（ＣＳＦ重要性）が全てのこれらのテストにおいて有効化されていること以外は表４と同じ実験の結果。結果として、ＰＳＮＲ値は低く、評価された異なる構成を比較するために使用され得ること以外は必ずしも全てがそれほど意味があるわけではない。
【表１４】
2019522448.tif 000074
本発明の鍵となる特徴
【０２８１】
好ましい実施形態の上記説明において例示された、本発明の処理および装置の多数の典型的特徴があることが評価される。実施形態の有利な特徴を以下で簡単に説明する。なお、本発明はこれらの特性に限定されず、実施形態は、これらの特徴の一部または全てを含んでいてもよいし、これらの特徴を含まず変形例を利用してもよい。
【０２８２】
Ａ．有意性の符号化は、グループに（グループサイズ４が好ましい）において実施される。
【０２８３】
Ｂ．有意性の符号化は、様々な方法において他の符号化ステップに先行する。
ａ．まず、好ましい実施形態において、具体的サブセットのグループ（ＡＺＣグループとして知られる）の有意性は、その独自のビットストリームを生成する適合型符号化エンジンを用いて符号化される。
ｂ．他の有意性情報は、有意サンプルのためのマグニチュードおよびサイン情報が符号化される前に、グループベースで符号化される。
ｃ．デュアルビットストリーム実施形態において、有意性情報は、コードブロックサンプルの一本のライン全体について、これらのサンプルについてのマグニチュードおよびサイン情報が符号化される前に符号化され、その後、次のラインが処理されるなどする。
ｄ．トリプルビットストリーム実施形態において、有意性エンコーディングおよびデコーディングは、マグニチュードおよびサイン符号化処理から完全に分離され、その結果、有意性は、任意の順でエンコードされ得る一方で、デコーダは、最終のマグニチュードおよびサイン情報と並行してまたはそれより前に任意の所望のマージンによって有意性情報を回復することができる。
【０２８４】
Ｃ．有意性符号化は、グループコンテキストに基づき、ただし、グループのコンテキストは、コードブロック内において既に符号化された有意性情報にのみ依存する。
【０２８５】
Ｄ．有意性の符号化は、それ以外の場合は完全に非有意であると分かっていない各グループのために放出された単一符号語と共に、可変長符号化を利用し、ただし、符号語は、グループコンテキストに依存する。
【０２８６】
Ｅ．有意サンプルについてのマグニチュード情報の符号化は、既に符号化されたマグニチュードに関連付けられたマグニチュード指数を利用する。これらは、コンテキスト、または予測因子を形成するために使用され、これらに関して、有意サンプルのマグニチュード指数に対する上限が符号化される。この境界は、有意サンプルについて、サインビットと共に、未加工ビットストリームへ放出される必要がある追加マグニチュードビットの数を決定する。実施形態において、近傍のマグニチュード指数の合計は、上記コンテキストを形成するために使用され、コードブロックの第１ラインについて２つの先行する近傍が使用され、コードブロックにおける全ての他のラインについて４つの近傍（左、左上、上、および右上）が使用される。
【０２８７】
Ｆ．マグニチュード符号化コンテキストは、予測因子Ｇに変換され、その後、コンマ符号を使用してＲ＝ｍａｘ｛０、Ｅ−１−Ｇ｝をエンコードし、ただし、Ｅは、有意サンプルのマグニチュード指数（必然的に非ゼロ）であり、その後、Ｒ＞０であれば、サインおよびＲ＋Ｇ最下位マグニチュードビットが放出され、それ以外はサインおよびＲ＋Ｇ＋１マグニチュードビットが放出される。
【０２８８】
Ｇ．他の実施形態において、マグニチュード指数境界は、有意性が符号化されるのと同じグループにおいて符号化される。このような実施形態において、これらの境界についての予測因子は、以前に符号化されたマグニチュードに基づいて、好ましくはコードブロック内におけるグループの先行の行から形成され、予測残差は、予測された境界と実際の境界との間の差を特定するために符号化されるが、厳格である必要はない。好ましい実施形態において、予測残差は、可変長コードを用いて符号化され、少なくとも１つの有意サンプルを含む各グループについての１つの符号語を生成する。好ましくは、これらの残差符号語は、同じグループのために有意性を符号化する可変長符号語でインターリーブされ、指数境界残差符号語および有意性符号語を、有意サンプルの実際のマグニチュードビットおよびサインを同じまたは異なる未加工ビットストリームから解凍する必要がある時点よりも前にデコードすることができる。符号化されたマグニチュード境界残差は、マグニチュードまたはマグニチュード指数についてさえ自己充足的な説明を一般的には提供しない。なぜなら、予測因子は、最初にデコードされる必要のあるマグニチュードに基づくためである。
【０２８９】
Ｈ．対応するビットプレーンについてＪＰＥＧ  ２０００Ｓｉｇｎｉｆｉｃａｎｃｅ  Ｐｒｏｐａｇａｔｉｏｎ符号化パスと同じ情報をエンコードする各コードブロックについての追加ＳｉｇＰｒｏｐ符号化パスの使用。実施形態において、この符号化パスは、有意性およびサインビットを、未加工符号語セグメントへ放出する。いくつかの実施形態において、「適合符号化器バイパスモード」で動作する、オリジナルのＪＰＥＧ  ２０００Ｓｉｇｎｉｆｉｃａｎｃｅ  Ｐｒｏｐａｇａｔｉｏｎパスを、この目的のために使用してもよい。実施形態において、オリジナルのＪＰＥＧ  ２０００Ｓｉｇｎｉｆｉｃａｎｃｅ  Ｐｒｏｐａｇａｔｉｏｎパスは、サンプル毎に有意性およびサインビットをインターリーブするのではなく、その１つのサンプルセットのための対応するサインビットよりも前に、１つのサンプルセットに関連付けられた関連する有意性ビットが未加工ビットストリームへ放出されるように変更される。好ましい実施形態は、４サンプルのセットに基づいてこのインターリーブを行う。実施形態は、ビットがビッグエンディアンビット順位ではなくリトルエンディアンで未加工ビットストリームのバイトに詰められる追加の変更を含んでいてもよい。
【０２９０】
Ｉ．対応するビットプレーンのためのＪＰＥＧ  ２０００Ｍａｇｎｉｔｕｄｅ  Ｒｅｆｉｎｅｍｅｎｔ符号化パスと同じ情報をエンコードする、各コードブロックのための追加ＭａｇＲｅｆ符号化パスの使用。実施形態において、この符号化パスは、未加工符号語セグメントへレファインメントビットを放出する。いくつかの実施形態においては、この符号化パスは、「適合符号化器バイパスモード」で動作する、オリジナルのＪＰＥＧ  ２０００Ｍａｇｎｉｔｕｄｅ  Ｒｅｆｉｎｅｍｅｎｔ符号化パスと同一であってもよい。実施形態において、ＪＰＥＧ  ２０００Ｍａｇｎｉｔｕｄｅ  Ｒｅｆｉｎｅｍｅｎｔパスは、ビットが、ビッグエンディアンビット順位ではなくリトルエンディアンで未加工ビットストリームのバイトに詰められることによって変更される。
【０２９１】
Ｊ．各コードブロックの１または複数のビットプレーンのために、該ビットプレーンの一部または全てのためのＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスと一緒に、様々な符号化パスのための歪推定と共に、Ｃｌｅａｎｕｐパスを生成する画像エンコーディング方法、ここで、最終のコードストリームへ放出される実際の符号化パスは、レート歪最適化ステップに基づいて生成される符号化パスから選択される。
【０２９２】
Ｋ．符号化パスが、類似するコードブロックから映像シーケンスにおける前のフレームのコードストリームへ放出される最も粗いビットプレーンに基づいて、符号化パスがコードブロック内で生成される最も粗いビットプレーンを決定し、だたし、類似性は、コードブロックが属するサブバンドおよび空間的な位置に関して測定される、上記方法。
【０２９３】
Ｌ．コードブロック内で符号化パスが生成される最も粗いビットプレーンを、先行フレームにおけるレート制御処理の挙動から推測される、サブバンド特異性最大データレート対象に依存して判断する、上記方法。
【０２９４】
Ｍ．１つのコードブロック内において生成される符号化パスの全セットを、前のフレームにおける同じコードブロックから集められた要約統計値の小さいセットに基づいて、該前のフレームにおけるコードブロックのためのレート歪み最適化ステップによって選択された符号化パスについての情報と共に判断する上記方法。
【０２９５】
Ｎ．実施形態において、上記方法は、符号化パスが生成される最も粗いビットプレーンを、複雑性推定に基づいて上または下へ調整することによって変更され、複雑性推定は、画像における各コードブロックおよびより大きい領域の圧縮可能性を示す。実施形態は、複雑性推定を採用する。複雑性推定は、各コードブロック内にサブバンドサンプルの絶対値を集積し、結果の近似の対数を採用することにより形成される。この形の複雑性値は、生成され、格納され、その結果、符号化パスが生成されているビットプレーンを決定するための基準として使用されるレート歪最適化結果を有する以前に圧縮されたコンテンツに対し、局所的およびより全体的な複雑性比較を各コードブロックの周囲に形成することができる。
【０２９６】
Ｏ．実施形態において、上記方法は、各コードブロックについてのレートと、歪み長さ勾配推定とを組み込むことによって変更され、歪み長さ勾配推定は、各コードブロックのために集積された要約統計値に対するサブバンドサンプルのための統計的モデルのフィッティングから、または、複数のマグニチュードビットプレーンの各々におけるコードブロック内の有意サンプルをカウントすることから様々に形成される。
【０２９７】
Ｐ．標準的なＪＰＥＧ  ２０００ブロックビットストリームをここで説明した特性のＦＡＳＴブロックビットストリームに変換する、トランスコーダ。ただし、Ｃｌｅａｎｕｐパスは、対応するＪＰＥＧ  ２０００Ｃｌｅａｎｕｐパスからデコードされた情報を、全ての先行のＪＰＥＧ  ２０００符号化パスと共に、エンコードし、一方、任意の後続のＪＰＥＧ  ２０００ＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスにおいて見出される情報は、ＦＡＳＴ  ＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスによってエンコードされる。
【０２９８】
Ｑ．ここで説明した特性のＦＡＳＴブロックビットストリームを標準的なＪＰＥＧ  ２０００ブロックビットストリームに変換する、トランスコーダ。ただし、ＦＡＳＴ  Ｃｌｅａｎｕｐパスにおいて見出される情報は、対応するＪＰＥＧ  ２０００Ｃｌｅａｎｕｐパスにより、全ての必要な先行のＪＰＥＧ  ２０００符号化パスと共に、エンコードされ、一方、ＦＡＳＴ  ＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスにおいて見出される情報は、対応するＪＰＥＧ  ２０００ＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスによってエンコードされる。
【０２９９】
Ｒ．まず、上記ＦＡＳＴブロック符号化アルゴリズムを用いて画像をエンコードし、次に、通信における品質スケーラビリティを達成するため、または、画像（映像を含む）を保管するために、コードブロックを標準的なＪＰＥＧ  ２０００表示に選択的にトランスコードする画像エンコーディングサービス。
【０３００】
Ｓ．レンダリング効率を最適化するために、標準的なＪＰＥＧ  ２０００フォーマットにエンコードされた画像を受信し、次に、コードブロックをＦＡＳＴブロック符号化器表示に選択的にトランスコードする画像レンダリングサービス。
【０３０１】
Ｔ．エンコーディングまたはデコーディングシステムを分離するために利用可能なスループットを向上させるか、または、電力消費を改善させるために、一方のブロック符号化器表示によって符号化されたコンテンツを受信し、他方のブロック符号化器表示を用いてコンテンツを放出する画像トランスコーディングサービス。エンコーダが非常に高速であり得るか、または、デコーダが非常に高速であり得るようにトランスコーディングを行うクラウドベースのサービスの潜在性があり、一方、システムの他の部分は、ＪＰＥＧ  ２０００の品質スケーラビリティ特徴を保持し得る。
【０３０２】
本発明の実施形態のための多くの用途があり、その多くを上記で説明した。本発明の実施形態から利益を得ることができる４つの特別な用途分野は、以下の通りである。
ＪＰＥＧ−ＸＳへの応用
【０３０３】
ＪＰＥＧとして知られているＪＰＥＧ  ＩＳＯ／ＩＥＣ作業グループＪＴＣ１／ＳＣ２９／ＷＧ１は、ＪＰＥＧ−ＸＳとして知られる低レイテンシかつ低複雑性の画像符号化標準化アクティビティを発表した。この規格のための用途は、メディアのキャプチャおよび配信のためのメザニンフォーマットの使用を含み、ただし、現在のところＪＰＥＧ  ２０００が使用される場合がある。
【０３０４】
考えられる用途は、高解像度高フレームレート表示のためのディスプレイ相互接続を主に含む。この第２用途は、ＪＰＥＧ  ２０００のＦＡＳＴの変形例のためのありそうもない対象に最初は見えるかもしれないが、ＪＰＥＧ  ２０００フレームワークは、低レイテンシと互換性のあるトランスフォーム構造および符号化構造を既に提供している。特に、
【０３０５】
１．ＪＰＥＧ  ２０００規格のＰａｒｔ−２は、変換構造の定義において相当な柔軟性を提供するＡｒｂｉｔｒａｒｙ  Ｄｅｃｏｍｐｏｓｉｔｉｏｎ  Ｓｔｙｌｅ（ＡＤＳ）およびＤｏｗｎｓａｍｐｌｉｎｇ  Ｆａｃｔｏｒ  Ｓｔｙｌｅ（ＤＦＳ）というオプションを含む。これらのオプションは、長年の間ＪＰＥＧ  ２０００の少なくとも一般向けのＫａｋａｄｕ実施において利用可能である。特に、ＤＦＳオプションにより、異なる数のウェーブレット分解レベルを、水平および垂直方向において効果的に使用することができる。極低レイテンシ用途のために、２つの垂直分解レベルとより多くの数の（例えば６つの）水平分解レベルとの組み合わせは、良好な圧縮を産出することができる。
【０３０６】
２．ＪＰＥＧ  ２０００により、正方形のコードブロックだけでなく、公称高さが４ラインと小さく幅が１０２４列と小さい長方形のコードブロックを含むコードブロックが可能である。これを、コードブロックの高さをさらに抑制するために、解像度特有のプレシンクト寸法と組み合わせることができる。特に、２レベルの垂直ウェーブレット分解により、複数のコードブロックが、第１（最も高い）垂直サブバンドからそれぞれ４ラインを有するように準備することができ、一方、垂直分解の第２レベルにより作成される複数のコードブロックは、それぞれ２ラインを有し得る。垂直ウェーブレット分解の第３レベルは、それぞれ１ラインのみを有する複数のコードブロックを作成することができる。
【０３０７】
３．上記コードブロック／プレシンクト構成を、空間的に漸進的パケットプログレッションオーダ（特にＰＣＲＬ）と組み合わせて、圧縮パフォーマンスを損ない視覚的なアーティファクトを導入する可能性のあるチルトを用いることなく、全てのサブバンドからのコードブロックの全てのセットをエンコーダによって８画素ライン毎に確実に放出することができる。
【０３０８】
４．なお、ＪＰＥＧ  ２０００のコードブロック構造は、当然、特にハードウエアにおいて高いデータレートを達成するために利用され得る有意レベルの計算の並列性を提供する。加えて、適合型量子化はそれを使用することを選択する用途のための規格のＰａｒｔ−２によってもサポートされているが、ＪＰＥＧ  ２０００のＰＣＲＤ（圧縮後レート歪み最適化）特性を使用して、所望の目標ビットレートを（ＣＢＲ設定においてさえ）量子化パラメータの動的変調に依存することなく達成することができる。
【０３０９】
５．最後に、ＪＰＥＧ  ２０００コードストリームを、（ピクチャー・イン・ピクチャーアプリケーションのために）部分的にデコードすることができるか、または、逆順でデコードすることができ、全フレームバッファについての必要性無く、圧縮ドメインにおいて、大きいフォーマットの映像ストリームが、垂直にフリップされるかまたは回転されることを許容することが留意される。
【０３１０】
ＪＰＥＧ  ２０００をＪＰＥＧ−ＸＳの対象に完全に一致するように適合させるために必要な主な変更は、複雑性が大幅に低減された代替のブロック符号化アルゴリズムである。
高い解像度の映像キャプチャへの応用
【０３１１】
大抵のモバイル装置は、それらの画像センサーがＪＰＥＧ  ２０００を用いて作成することのできる高解像度映像ストリームを直接圧縮する十分なＣＰＵパワーを有していない。ＦＡＳＴブロック符号化オプションは、圧縮されたストリームをリアルタイムで生成できるようにし、その後、品質スケーラビリティ属性が、例えば、ＪＰＩＰを介した効率的なインタラクティブ閲覧のためなどで重要であれば、ＪＰＥＧ  ２０００フォーマットへトランスコードできるようにすることでこの問題に対処するものである。トランスコーディングは、任意の２つの圧縮フォーマット間において可能であるが、本願において説明されるＦＢＣＯＴアルゴリズムの利点は以下の通りである。
ａ）トランスコーディングは、変換されたドメインにおいて生じ得る。
ｂ）トランスコーディングは、圧縮自体に損失のあるものであっても、本質的に損失が無い。
ｃ）トランスコーディングを、必要性が生じると、コードブロック毎であっても、選択的に行うことができる。
【０３１２】
映像撮影技術において使用されるカメラは、ＦＡＳＴブロック符号化器から特定の利益を導出することを期待され得る。なぜなら、デジタルシネマワークフローは、ＪＰＥＧ  ２０００を強く指向する一方、カメラ自体は、多くの場合、計算による／ハードウエアによる制限のため、異なる圧縮方策を採用するよう強制されるからである。
【０３１３】
より一般的には、ＦＡＳＴブロック符号化オプションは、ＪＰＥＧ  ２０００中心の構造にハイエンドのデジタルカメラの処理アーキテクチャを移行させるための止むを得ない理由を提供し、ＪＰＥＧよりも一層多い機能性と、符号化およびエネルギー効率の潜在的に十分な節約とを提供するであろう、と期待されている。
エネルギー効率的画像／映像レンダリングへの応用
【０３１４】
ＪＰＥＧ  ２０００の多くの用途において、コンテンツは複数回レンダリングされる。例えば、大きい画像は、解像度または関心のある領域別に、インタラクティブに表示され、その結果、連続するレンダリングされた表示は、多くのコードブロックを共通して有している。完全に解凍されたコードブロックをメモリにキャッシュすることはめったに実用的ではないが、ＦＡＳＴブロック符号化オプションが利用できることは、インテリジェント・コンテンツ・キャッシュが、より迅速にまたはより少ないエネルギー消費でデコードされ得る表示のために繰り返しアクセスされているコードブロックをトランスコードすることを選択できることを意味する。本願に記載のＦＢＣＯＴアルゴリズムの利点は、標準的なＪＰＥＧ  ２０００コードブロックビットストリームのＦＡＳＴブロックビットストリームへのトランスコーディングが、計算上効率的であり、かつ、全体的に少ない損失であり、オリジナルのＪＰＥＧ  ２０００表示の全ての観点が正確に保持されていることである。
クラウドベースの映像サービスへの応用
【０３１５】
ＪＰＥＧ  ２０００は、映像コンテンツのための中間配信フォーマットとして優れたフレームワークを提供し、ＪＰＥＧ  ２０００により、関心のある解像度（または領域さえも）を出力点の近くで、効率的に抽出でき、すぐに、それを多数の共通ストリーミング映像フォーマットのいずれかにトランスコードしてもよい。この使用は既に実行可能であり潜在的に他のアプローチよりも好ましいが、このような用途は、全ての他の関連する機能性を維持しているライトウェイトブロック符号化器の利用可能性からさらに利益を得ることができる。
【０３１６】
上記実施形態は、ＪＰＥＧ  ２０００フォーマット内での使用に特に関連する。実施形態の観点は、これに限定されない。いくつかの実施形態は、他の画像処理フォーマットにおいて使用されてもよい。例えば、単一符号語セグメントの使用は、２つのパートを有し、各パートは、異なる符号化処理により異なるように符号化され、他の画像処理コンテキストにおいて用途を見出してもよい。
【０３１７】
上で検討した通り、本発明の実施形態は、ソフトウエアまたはハードウエアまたはソフトウエアとハードウエアとの組み合わせにおいて実施され得る。ソフトウエアを使用して本発明を実施する場合、該ソフトウエアを、ディスクなどのコンピュータ読み取り可能なメディア、またはインターネットなどのネットワークのデータ信号として、または任意の他の方法で提供することができる。
【０３１８】
当業者は、大まかに説明したように本発明の精神または範囲を逸脱することなく、具体的な実施形態において示したように、本発明に対して多数の変形および／または変更を行ってもよいということが分かる。したがって、本実施形態は、全ての観点において説明のためのものであり、これに限定されないものとする。
ＪＰＥＧ−ＸＳ要件の対応
【０３１９】
このセクションは、上記の検討を補足することを意図している。ここで、どのようにしてＦＡＳＴブロック符号化器を低レイテンシ、高スループット映像圧縮／解凍環境において使用することができるかを説明する。なお、これが唯一の用途ではない。
低レイテンシのためのウェーブレット変換およびプレシンクト
【０３２０】
離散ウェーブレット変換（ＤＷＴ）は、有限の空間サポートによる解析および合成の演算子を含み、その結果、画像ラインが現れるにつれてサブバンドデータを漸進的に生成（圧縮）し、消費（解凍）できることを思い起すことから始める。遅延／メモリ需要の少ない用途にこの特性を活用するために、ＪＰＥＧ  ２０００規格は、コードブロックをプレシンクトとして知られている空間集合に組織し、これらプレシンクトに関連付けられた符号化情報を空間的に漸進的な方法でシーケンス化するために様々なオプションを提供する。プレシンクトにおける各コードブロックに関連付けられたビットストリームは、品質層当たり１パケットで、いわゆるパケットに配置される。この検討において、パケットはプレシンクトと同等であると考える。なぜなら、ＦＡＳＴブロック符号化アルゴリズムを用いて作成されるコードストリームは、通常は、１つの品質層を有するのみだからである。また、空間的に漸進的なパケットシーケンスは、各プレシンクトの全てのパケットをまとめている。
【０３２１】
プレシンクト寸法は、コードブロックの寸法の抑制において追加の役割を果たす。このことは、重要である。なぜなら、プレシンクト寸法は、各解像度レベルのために異なるように規定され得るからである。最後に、ＪＰＥＧ  ２０００Ｐａｒｔ−２のＤＦＳ（Ｄｏｗｎｓａｍｐｌｉｎｇ  Ｆａｃｔｏｒ  Ｓｔｙｌｅ）特徴は、ＤＷＴ解凍構造における各レベルが先行のレベルを水平、垂直、または、水平および垂直の両方のいずれかに分割してサブバンドにするかを制御するために使用されてもよい、ということが留意される。
【０３２２】
図１８は、従来のＭａｌｌａｔスタイルの解凍の２レベルと関連付けられたサブバンド構造を、解凍の３レベルを用いることにより得られるＤＦＳサブバンド構造と共に示し、ただし、最初の２レベルは、水平および垂直に分かれるが、最後のレベルは水平にのみ分かれる。この図は、プレシンクトが最高解像度レベルにおいて高さが８であり、２番目に高い解像度レベルにおいて高さ４であり、全ての比較的低い解像度レベルについては高さ２であるという仮定で、どのようにしてサブバンドがプレシンクトバンドに区分けされるのかを示す。なお、プレシンクトは、対応するＤＷＴ段階により分割される解像度レベルにおいて定義され、その結果、プレシンクトは、その段階により生成されるサブバンドに投影されてプレシンクトバンドを得る。コードブロック寸法は、それらのプレシンクトバンド確実に区画するように抑制されている。図１８における変換構造の双方は、２レベルの垂直分解しか有していないので、最も高い垂直周波数サブバンドにおけるコードブロックは、高さ８／２＝４を有し、次のレベルにおいては高さ４／２＝２を有し、以下のレベルでは、高さ２／１＝２を有する。ＪＰＥＧ  ２０００の一般向けのＫａｋａｄｕ８実施により、図１８の解凍構造は、以下のオプションを用いて取得されてもよい。
―――――――――――――――
８ｈｔｔｐ：／／ｗｗｗ．ｋａｋａｄｕｓｏｆｔｗａｒｅ．ｃｏｍを参照。
―――――――――――――――
１．  Ｍａｌｌａｔ：  Ｃｌｅｖｅｌｓ＝２  Ｃｐｒｅｃｉｎｃｔｓ＝｛８，８１９２｝，｛４，８１９２｝，｛２，８１９２｝
２．  ＤＦＳ：  Ｃｌｅｖｅｌｓ＝３  Ｃｐｒｅｃｉｎｃｔｓ＝｛８，８１９２｝，｛４，８１９２｝，｛２，８１９２｝  Ｃｄｅｃｏｍｐ＝Ｂ（−：−：−），Ｂ（−：−：−），Ｈ（−）
【０３２３】
実際面では、ＪＰＥＧ−ＸＳ用途のために、この同じアプローチを、より大きい数の解凍レベルで使用することが提案され、その結果、最低周波数サブバンドは、より細かく水平サブバンドに区画される。しかしながら、レイテンシおよびメモリ演算の観点からは、鍵となる属性は、解凍の垂直レベルの数およびプレシンクト（それゆえに、コードブロック）の垂直寸法である。
【０３２４】
次に、圧縮されたコンテンツの計算または通信による何らかの遅延は今のところは無視して、本アプローチの本質的な末端間遅延の解析を提供する。この解析のために、（真に損失の無い圧縮のために）可逆または不可逆である５／３ＬｅＧａｌｌ  ＤＷＴを仮定する。後者は、高いビットレート9において優れた圧縮効率となる。
―――――――――――――――
９高いビットレートにおいて、量子化ステップサイズが小さくなるにつれて、ＪＰＥＧ  ２０００Ｐａｒｔ−１の可逆５／３変換に関連付けられた整数丸め操作の効果は、量子化エラーを十分に増幅する傾向があり、その結果、パフォーマンスが不可逆変換により達成されるパフォーマンスよりも顕著に劣る。
―――――――――――――――
不可逆の５／３変換は、ＪＰＥＧ  ２０００Ｐａｒｔ−２任意変換カーネル（ＡＴＫ）特性を介して収容される。特に、ＪＰＥＧ  ２０００のＫａｋａｄｕ実施は、以下のオプションにより長い間この機能をサポートしている。Ｋｅｘｔｅｎｓｉｏｎ：Ｉ２＝ＳＹＭＫｒｅｖｅｒｓｉｂｌｅ：Ｉ２＝ｎｏＫｓｔｅｐｓ：Ｉ２＝｛２，０，０，０｝、｛２，−１，０，０｝Ｋｃｏｅｆｆｓ：Ｉ２＝−０．５，−０．５，０．２５，０．２５
【０３２５】
本質的遅延のこの解析は、垂直分解構造にのみ依存し、垂直分解構造のために、図１２に示すように、２レベルを仮定する。垂直変換だけを考えて、Ｈ１が解凍の第１レベルにより生成される高パスサブバンドを表し、Ｈ２およびＬ２が第２レベルにより生成される高パスおよび低パスのサブバンドを表すとする。図１２に示す２つの次元分解に関し、Ｈ１は｛ＨＬ１，ＬＨ１，ＨＨ１｝と等価であり、Ｈ２は｛ＨＬ２，ＬＨ２，ＨＨ２｝と等価であり、一方、Ｌ２は他のサブバンドの全てに対応する。
【０３２６】
上で検討した同じプレシンクト寸法を仮定し、その結果、Ｈ１からのコードブロックはそれぞれ４ラインを有し、一方、Ｌ２およびＨ２に関連付けられているコードブロックはそれぞれ２ラインを有する。なお、ＪＰＥＧ  ２０００からの空間的に漸進的なパケットプログレッションシーケンス１０は、空間的に対応する比較的低い解像度のプレシンクトの後のコードストリームにおいて比較的高い解像度のプレシンクトが発現するという特性を有する。
―――――――――――――――
１０具体的に、最もゆっくりと進行する空間寸法を有するＰＣＲＬシーケンスを参照し、次に、構成要素寸法（すなわち、構成要素インターリービング）を参照し、最も迅速に進行する解像度および品質層が続く。
―――――――――――――――
上記条件について、パケットプログレッションシーケンスは以下のように拡張され得る。ただし、括弧内の数は、各プレシンクト内で放出されるコードブロックの高さを示す。
2019522448.tif 000075
【０３２７】
明らかに、圧縮されたコンテンツ（ＪＰＥＧ  ２０００パケットにおけるコードブロックビットストリーム）は、８つのオリジナル画像ライン毎に結果として生じるコードストリームにフラッシュされてもよい。コードブロックの対応するセットをコードブロック「フラッシュセット」と称する。
【０３２８】
入力画像ラインとコードブロックに属する対応するサブバンドラインとの間の具体的な関係を図１４に示す。図面から、垂直５／３ＤＷＴの２つの段階、および、コードブロックと入力ラインサンプルとの間の本質的な依存性を明確に推定することができる。なお、各フラッシュセットを生成するエンコーダのために、入力画像（ライン０〜１０）の１１本のラインがバッファされる必要がある。つまり、処理される８ライン（ライン０〜７）に加えて、３つの更なるライン（ライン８〜１０）がＤＷＴ解析計算の一部としてバッファされる必要がある。
【０３２９】
デコーダにおいてコードブロックを利用できるようになると、合成操作を行って画像走査ラインを復元する。合成手順を、デコードされた走査ラインとコードブロックサンプルのセットとの間の依存性がハイライトされた図２０に示す。なお、画像ライン１１およびその前の画像ラインに基づいてエンコーダにより生成された第１「フラッシュセット」からのみの係数を必要として、ライン０〜４をデコードすることができる。ライン５〜７をデコードするために、デコーダは第２フラッシュセットに対するアクセスを必要とする。この依存性は、図において赤い色の付いたラインによってハイライトされ、第２フラッシュセットからのデータを必要とする合成経路を示す。この第２フラッシュセットは、エンコーダがライン１９を見るまで利用可能とならない。
【０３３０】
バッファリング要件、および、各デコードされたラインについて経験される対応する末端間遅延は、表１５にまとめられる。経験された最大の遅延は、１４ラインであり、ライン５をデコーディングするために起こる。この遅延は、デコードされるライン番号とエンコーダにおいて必要とされる最大画像ライン番号との間の差に等しい。
表１５：再構築された出力ラインと必要とされるソースラインとの間の関係を誘発する遅延
【表１５】
2019522448.tif 000076
【０３３１】
このセクションの最後に、追加の末端間遅延は、エンコーダとデコーダとの間の情報の通信において必然的に起こるということを注記しておく。ＣＢＲ（一定のビットレート）条件下で、各フラッシュセットに関連付けられた通信遅延は、８画素ラインに等しく、その結果、上記ＤＷＴおよびプレシンクト構成により達成され得る最小の末端間遅延は２２ラインである。ＪＰＥＧ−ＸＳ要件は、ＣＢＲ条件下で３２ラインの最大遅延を特定している。このことは、連続するフラッシュセットに関連付けられたビットを不均一に分散するためにエンコーダが柔軟性を有することを意味する。
【０３３２】
なお、上記構成は単なる一例である。関心のある他の構成は、依然としてＪＰＥＧ−ＸＳの３２ラインの末端間遅延要件を依然として満たすことができる、異なるＤＷＴ変換カーネルを含んでいてもよい。
ハードウエアリソースの検討
【０３３３】
離散ウェーブレット変換（ＤＷＴ）のハードウエア複雑性はすでに周知である１１ため、ＦＡＳＴブロック符号化アルゴリズムの複雑性にここでは焦点を絞り、なお、５／３ＤＷＴ（解析または合成）のリフティングベースの実施のためのワーキング／状態メモリは、ただ二つ（２）ラインのバッファからなる。
―――――――――――――――
１１例えば、Taubmanand Marcellin, JPEG2000: Image Compression Fundamentals, Standards and Practice,Springer, 2002の１７章を参照。
―――――――――――――――
サブバンドサンプルを格納するために必要とされる全ての他のメモリは、以下で説明するように、コードブロック自体と関連付けられていてもよい。最高精度の用途の他は、これら２ラインバッファの各々におけるサンプル当たり１６ビットを提供すれば十分である。
【０３３４】
以下の検討は、１×４グループ構造および統合されたマグニチュード符号化での変形例に関する。しかしながら、同様の検討は、２×２グループ構造および／または分散型のマグニチュード符号化でのバリエーションに当てはまる。
ＶＬＣ表
【０３３５】
エンコーダは、それぞれ９ビットの１２８エントリ、すなわち、符号語のために６ビット、その長さのために３ビットを必要とする。これらの１２８エントリは、エンコードされることになる４ビット有意性パターンをそれぞれ有する８コンテキストに対応する。
【０３３６】
デコーダは、各７ビットの５１２エントリ、すなわち、デコードされた有意性パターンのための４ビット、符号語長さのための３ビットを必要とする。これらの５１２エントリは、それぞれ最大６ビットを有する符号語を生成する８コンテキストに対応する。
コードブロックサンプルバッファメモリ
【０３３７】
コードブロック全体がローカルメモリに格納されているとして、各１６ビットの最大４０９６エントリは、大抵の用途には十分なはずである。非常に高精度のアプリケーションは、サブバンドサンプルのためにより大きいビット深度を採用してもよい。
【０３３８】
ただし、ＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスは４ラインストライプにおいて動作するということに注意すれば、このメモリ要件をたった４コードブロックラインに下げるために符号化パスの並行処理を採用することができる、ということを理解するのは難しくない。しかしながら、これ自体はその全てが２または４ラインの高さを有する上記で提案されたコードブロック寸法を使用する場合は、興味深いことではない。
【０３３９】
エンコーダは、以下の方策を使用することによりサンプルバッファリングをさらに低減することができる。各Ｃｌｅａｎｕｐパス１２は、実際のサンプル値の１ラインのためにのみバッファリングすることを必要とし、そのため、処理は、コードブロックの第１ラインがウェーブレット変換機構により供給されるとすぐに、開始可能である。
―――――――――――――――
１２エンコーダは、多重Ｃｌｅａｎｕｐパスを生成してレート制御機構により多くのオプションを付与してもよい。
―――――――――――――――
ＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスはそれほど早くは開始しないが、これらは双方とも次に細かいビットプレーンにおいてのみ動作し、そのため、エンコーダにとっては、サブバンドサンプルのただ１つの完全なラインと、サンプル当たり１つのマグニチュードビットと１つのサインビットのみを保持するプラス３つの追加のラインのためのストレージを提供するだけ十分である。
【０３４０】
したがって、１６ビットサブバンドサンプルで動作する場合、エンコーダは、２２Ｗ
ビットのためのストレージを提供さえすればよい。ただし、Ｗはコードブロックの幅である。
【０３４１】
ＦＡＳＴブロック符号化アルゴリズムが上述のように第３ビットストリームによって増大される場合、同様の方策をデコーディング中に採用することができ、その結果、４コードブロックラインのセット全体についての有意性情報をサイン／マグニチュード情報の前にデコードすることができる。しかしながら、ＦＡＳＴブロック符号化アルゴリズムの現在の（好ましい）形態では、たった４ラインの高さであるコードブロックは、少なくとも３ラインのサブバンドサンプルのためのストレージを必要とする。
マグニチュード指数メモリ
【０３４２】
マグニチュード指数は、マグニチュード符号化ステップのために必要とされ、有意性を直接的に推測するために使用することもでき、サンプルは、そのマグニチュード指数が非ゼロである場合であってその場合に限り、有意である。エンコーダおよびデコーダは、マグニチュード指数を明確に格納するための必要性を回避することができ、サンプル値自体からその場でマグニチュード指数を導出する。それにもかかわらず、エンコーディングおよびデコーディング実施は、処理されている現在のラインおよび（マグニチュードコンテキスト形成のために使用された）先行のラインに関連付けられたマグニチュード指数を格納することを有用だと見出すかもしれない。
【０３４３】
比較的低い精度の画像／映像圧縮用途については、マグニチュード指数を表すために４ビットで十分であり、一方、高精度アプリケーションは、指数当たり５ビットを必要とする可能性がある。
パス間状態情報
【０３４４】
Ｃｌｅａｎｕｐ符号化パスにおいて見出されたように、コードブロックサンプル当たり１ビットが、その有意性を記録するために必要であり、その結果、ＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスは、必要に応じて追加の情報がエンコードまたはデコードされることになるサンプルを簡単に特定することができる。
符号化されたビットのためのストレージ
【０３４５】
符号語セグメント自体に関連付けられているアクセス帯域幅は、サンプル値および符号化器状態情報に関連付けられているアクセス帯域幅よりも大幅に低い。ＣＢＲ条件下で、ワーキングコードブロックのセットのために圧縮されたデータの合計量は、簡単に制限され、全てのこのようなデータをオンチップで格納することは意味がある可能性があり、複数の低帯域幅アクセスポートを平行ブロック符号化エンジンの多数に対して提供する。あるいは、符号化データの一部をチップ上へまたはチップから外してより大きな外部メモリ格納部へ動かして、圧縮されたデータのために少量のローカルストレージしか実際に必要とされないようにすることが好ましい場合がある。これに関連するコストを分析することは難しいが、最終的には、他のメモリコストよりも大幅に少ないはずである。
有意性符号化のための演算
【０３４６】
有意性符号化は、一時に４サンプルのグループに対して行われ、そのため、スループット要件は比較的低い。符号化コンテキストは、簡単な２値論理を使用して形成され、近傍有意性フラグビットの小さい集合において動作する。可変長エンコーディングおよびデコーディングの処理の複雑性は、十分に理解されるが、ここでは、符号語長さは１〜６ビットの小さい範囲しか有しておらず、これも実施を簡単化するのに役立つ。
ＭＱ算術符号化器
【０３４７】
ＡＺＣグループ有意性シンボルのためにＭＱ符号化よりもＭＥＬ符号化を使用することが現在のところ好ましいが、それにもかかわらず、ＭＱ符号化に関連付けられたハードウエアリソースについていくらか説明することは価値がある。
【０３４８】
乗算器無しのＭＱ符号化器を、有限のキャリープロパゲーションと共に、（設計により）ハードウエアにおいて非常に効率的に実施することができる。ＦＡＳＴブロック符号化器においてただ１つの符号化コンテキスト（ＡＺＣコンテキスト）が採用されるため、ＭＱ符号化器は、効果的にはただ１種類の適合型ランレングス符号化器であり、この適合型ランレングス符号化器は、複雑性と符号化効率との間の妥当なトレードオフの関係が既に最適化されている。ＭＱ符号化器は、４６個の到達可能な１６ビットエントリを有する確率推定状態機械による、低精度計算および論理演算により特徴付けられる。
【０３４９】
ＭＱ符号化器の全体的なスループットは、ここで説明するＦＡＳＴブロック符号化アルゴリズムにおいて、４コードブロックサンプル当たり１シンボル未満である必要があり、それゆえ、低コストのパイプライン実施を採用することができ、１を上回る繰り込みシフトが所望であればパイプラインを停止するために許容され得る。なぜなら、このようなシフトの数を確定的に境界付けすることができ、ＭＱエンコーダもＭＱデコーダも他のエンコーディングまたはデコーディングステップと厳格に同期化される必要がないためである。
ＭＥＬ適合符号化器
【０３５０】
上で詳述したように、ＦＡＳＴブロック符号化アルゴリズムにおいてＡＺＣグループ有意性符号化のために使用されるＭＥＬ符号化器は、１３の状態しか有していない。状態遷移も些細なものであり、極めて簡単なハードウエア実施につながる。
マグニチュード符号化のための演算
【０３５１】
κ［ｎ］値（マグニチュード指数予測因子）の形成は、合計４つの低精度ａｄｄｓ必要とし（８ビット計算は十分であり）、結果の最下位２ビットを破棄する。最悪の場合、サンプル当たり１つのκ［ｎ］値を計算する必要がある。導出された量ｕ［ｎ］およびｍ［ｎ］は、より低い精度さえ有し、簡単な計算および論理演算を用いて形成され得る。コンマ符号は、実施するためには些細なものであり、残りのアルゴリズムは、マグニチュードビットおよびサインビットを未加工ビットストリームに詰めるまたは未加工ビットストリームから放すことを含む。
【０３５２】
マグニチュード指数を生成するために、エンコーダには、マグニチュード値において最上位セットビットを見出すことができるビット走査論理が設けられているべきである。同様に、デコーダには、コンマ符号のデコーディングおよびマグニチュード指数の復元の双方のためのビット走査論理が設けられているべきである。ビット走査は、ＡＮＤゲートの主に単なる予備である。
ビットスタッフィング
【０３５３】
ここで説明するＦＡＳＴブロック符号化アルゴリズムは、その符号語セグメント内において誤りマーカー符号（ＦＦ９０ｈ〜ＦＦＦＦｈ）の発現を回避するためにビットスタッフィングを用いる。これは、多くの既存のＪＰＥＧ／ＪＢＩＧ規格のための要件であり、おそらく保持されるべきである。ビットスタッフィングの導入は、ソフトウエア実施に対して小さい影響を与えるものの、ハードウエア複雑性に大きく寄与しないはずである。
処理遅延の簡単な検討
【０３５４】
ブロックベースの符号化方策は、ブロック区切り無しにサンプルまたはラインを連続的に処理する方策よりも大きい末端間遅延を実際面で生成する可能性があるといえる。エンコーダはサンプルの第１ライン（ライン０）がＤＷＴ解析エンジンから到着し始めるとすぐに（すなわち、ブロックの形成を待たずに）、デュアルビットストリーム構成によって、Ｃｌｅａｎｕｐパスの処理を開始することができるが、他の符号化パス（必要な場合）は、最後のライン（ライン１またはライン３）が到着し始めるまで開始することができない。同様に、デコーダは、Ｃｌｅａｎｕｐパスからサンプルを走査ライン順に放出することができるが、これらのサンプルは、ＳｉｇＰｒｏｐおよびＭａｇＲｅｆ符号化パスが結果を生成し始めることができるまで、遅延される必要がある可能性があり、このことは、ＣｌｅａｎｕｐデコーディングがＪＰＥＧ−ＸＳのために提案される短いコードブロックにおいて最後のライン（ライン１またはライン３）の開始に到達するまで起こり得ない。
【０３５５】
これらの考察は、まず、（例えば、クロックレートまたは帯域幅制限により）均一なレートでしか符号化パスを処理することができない実施は、全体的な圧縮／解凍システムの実用的な末端間遅延を顕著に増大させることを示唆するが、これはデュアルビットストリーム構成のためのみであるということに注目すべきである。
【０３５６】
しかしながら、パス間デコーディング遅延の実際の意味合いは、最初に考えるよりも重要ではない、ということについて議論する。上で研究したように、末端間遅延は、実際には、低解像度サブバンドにより支配されており、該サブバンドのために、高さ２を有するコードブロックを使用することが提案される。一方、高さ４のコードブロックを有するＨ１サブバンドは、双方とも、まずはエンコーダで利用可能であり後にデコーダで必要となる。事実、高さ４を有するＨ１サブバンドからのコードブロックは、双方とも高さ２を有するＨ２およびＬ２サブバンドからのコードブロックよりも遅い２ラインまでは、ＤＷＴ合成のために必要とされない。偶然に運よく一致することに、２つの走査ラインのこの差異も、並行ブロックデコーダが各タイプのコードブロックのためのサブバンドサンプルを完了し始めることができる点間の遅延における差である。したがって、関心のある遅延を処理するだけでは、基本的に１つの走査ラインである、高さ２のコードブロックの処理という結果になる。
【０３５７】
それにもかかわらず、図７のトリプルビットストリーム構成は依然として好ましい。なぜなら、これにより、パス間デコーディングレイテンシを１ラインまたはそれ以下に低減でき、一時に４サンプルのグループに行われる有意性情報のデコーディングが可能なレートによってのみ決定できるからである。この低いパス間遅延を上記の議論と組み合わせることで、末端間遅延に対するこの小さい処理レイテンシの実際の影響をゼロに低減することができることが示唆される。
【図１】
2019522448.tif 000077
【図２】
2019522448.tif 000078
【図３】
2019522448.tif 000079
【図４】
2019522448.tif 000080
【図５】
2019522448.tif 000081
【図６】
2019522448.tif 000082
【図７】
2019522448.tif 000083
【図８】
2019522448.tif 000084
【図９】
2019522448.tif 000085
【図１０】
2019522448.tif 000086
【図１１】
2019522448.tif 000087
【図１２】
2019522448.tif 000088
【図１３】
2019522448.tif 000089
【図１４】
2019522448.tif 000090
【図１５】
2019522448.tif 000091
【図１６】
2019522448.tif 000092
【図１７】
2019522448.tif 000093
【図１８】
2019522448.tif 000094
【図１９】
2019522448.tif 000095
【図２０】
2019522448.tif 000096
【国際調査報告】
2019522448.tif 000097
2019522448.tif 000098
2019522448.tif 000099