(57)【特許請求の範囲】
【請求項１】
ラインに基づくビデオ圧縮のための方法であって、
ビデオフレームのラインに基づいて、ビデオフォーマットを選択すること、
前記ビデオフレームのラインに基づいて、ウエーブレット変換を選択すること、
前記選択されたウエーブレット変換に基づいて前記ビデオフレームのラインのローパス部分およびハイパス部分を提供すること、
前記ビデオフレームのラインにおける前記ローパス部分および前記ハイパス部分のための量子化パラメータを受信すること、
前記量子化パラメータを、前記ビデオフレームのラインにおける前記ローパス部分および前記ハイパス部分に適用すること、
前記ローパス部分を、指数分布に適合させるように調節すること、
前記ローパス部分およびハイパス部分を符号化すること、
を含んでなる方法。
【請求項２】
請求項１に記載の方法であって、前記ビデオフォーマットはＲＧＢフォーマットおよびＹＵＶフォーマットのうちの一つを含む方法。
【請求項３】
請求項２に記載の方法であって、前記ＹＵＶフォーマットは、４：４：４フォーマット、４：２：２フォーマット、および４：１：１フォーマットのうちの一つを含む方法。
【請求項４】
請求項１に記載の方法であって、前記ウエーブレット変換を選択することは、ダウベシーズ（７，９）ウエーブレット変換およびラガル（５，３）ウエーブレット変換のうちの一つを選択することを含む方法。
【請求項５】
請求項１に記載の方法であって、前記ウエーブレット変換を選択することは、予め定められた画像圧縮標準を使用する前記ウエーブレット変換を含む方法。
【請求項６】
請求項５に記載の方法であって、前記ウエーブレット変換を選択することは、前記予め定められた画像圧縮標準を使用するウエーブレット変換よりも大きな圧縮比を提供するために、丸め方法を使用するウエーブレット変換を選択することを含む方法。
【請求項７】
請求項１に記載の方法であって、前記符号化は、前記ビデオフォーマットのラインに基づいて、算術的符号化およびゴロム符号化の間で選択的にスイッチする符号化器を使用することを含む方法。
【請求項８】
請求項７に記載の方法であって、前記符号化は、算術を伴わずに実施されるゴロム符号化器を使用することを含む方法。
【請求項９】
請求項１に記載の方法であって：更に、
前記ハイパス部分における垂直エッジを予想することと；
前記ハイパス部分において前記垂直エッジを抑制することにより、残りのハイパス部分を得ること
を含んでなり、
前記符号化は、前記残りのハイパス部分を符号化することを含む方法。
【請求項１０】
請求項９に記載の方法であって、前記ハイパス部分における垂直エッジを予想することは、垂直エッジ検出器を用いて前記ローパス部分を処理することを含み、
前記ハイパス部分において前記垂直エッジを抑制することは、前記予想された垂直エッジを前記ハイパス部分から差し引くことを含んでなる方法。
【請求項１１】
請求項１に記載の方法であって：更に、
少なくとも一つのハイパスウエーブレット係数を発生させることと；
少なくとも一つのローパスウエーブレット残差を発生させること
を含んでなる方法。
【請求項１２】
請求項１１に記載の方法であって：更に、
少なくとも一つのハイパスウエーブレット係数を符号化することと；
少なくとも一つのローパスウエーブレット残差を符号化すること
を含んでなる方法。
【請求項１３】
請求項１２に記載の方法であって、前記少なくとも一つのハイパスウエーブレット係数を符号化することが、ゴロム符号化を含む方法。
【請求項１４】
請求項１２に記載の方法であって、前記少なくとも一つのローパスウエーブレット残差を符号化することが、ゴロム符号化を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には無線通信に関し、より詳細には、無線ビデオデータ送信のためのラインに基づくレート制御に関する。
【背景技術】
【０００２】
超広帯域（ＶＷＢ）無線通信は、従来にない高レートでのデータ送信を可能にする。高精細ビデオフォーマットは以前に可能であったよりも低い圧縮率で送信できるので、ビデオ送信はこれら高レートの利益を受ける。先行技術のシステムは、フレームまたはブロックに基づく圧縮スキームに依存し、これらは二つの広いカテゴリに入る。
【０００３】
特定の容量を備えたチャンネル上でビデオを送信するために、非スケーラブルなレート制御方法は、平均ビットレートがチャンネル容量に近接するように、複雑な発見的方法を用いてビデオフレームのブロックを圧縮する量子化パラメータを選択する。しかし、瞬間ビットレートは一般的にチャンネル容量を越える可能性があるので、これら方法は、データ喪失を防止するために大きなバッファを使用する。
【０００４】
ビデオがスケーラブルなレート制御で送信されるときには、各ビデオフレームまたはブロックは、スケーラブル（または埋め込まれた）なビットストリームに符号化され、これは瞬間的なビットレートがチャンネル容量を越えないことを保証するために、何れかの点で切除されてよい。しかし、これら方法は、複雑なマルチパスのビットプレーン指向性処理がスケーラブルなビットストリームを発生できるように、全体のフレームまたはブロックをバッファするのに充分なメモリーを使用する。
【０００５】
典型的には、ビデオレート制御方法は、所定のレートについての歪みを最小化することによって品質を最適化するために、レート歪み理論を適用する。特に、フレームに基づくビデオ符号化器およびブロックに基づくビデオ符号化器は、レート拘束条件付きの歪み最小化のために、マルチパス法または高価な調査を使用する。
【０００６】
フレームに基づくシステムおよびブロックに基づくシステムとは対照的に、提案されているライに基づくレート制御は、バッファ状態およびチャンネル容量のような変化するシステム条件に対して、ライン毎にビデオ圧縮を適合させる。無線ビデオシステムがフレームに基づくレート制御およびブロックに基づくレート制御からラインに基づくレート制御へと移動するので、当該技術においては、変化するチャンネル容量下において、バッファのオーバーフローを伴わずに最大のビデオ品質が得られるように、ラインに基づくレート制御のための最小量子化パラメータを決定する必要性が存在する。
【図面の簡単な説明】
【０００７】
本開示の種々の側面は、添付の図面と共に、以下の詳細な説明を読むことによって最も良く理解される。
【図１】図１は、本発明の一実施形態が実現され得る典型的な無線ビデオシステムのブロック図である。
【図２】図２は、本発明の一実施形態に従うビデオフレームのフォーマットを示している。
【図３】図３は、本発明の一実施形態に従って、ビデオフレームの各ラインのＲＧＢ成分についてのデータフローの概略を示すブロック図を示している。
【図４】図４は、ハイパスサブバンドもしくはローパスサブバンドの予測残差から描かれる整数に関連した、指数ゴロム符号を定義するプロセスを示すフローチャートである。
【図５】図５は、本発明の一実施形態に従う一対のパケタイザを示している。
【図６】図６は、本発明の一実施形態に従って、バッファのオーバーフローを伴わずに、最小歪みのためのビデオ符号化を最適化する制御出力を発生するために、ビデオレート制御が使用する入力を示している。
【図７】図７は、最適ローパス量子化設定を決定するために、水平ブランキング期間の間に実行されるプロセスを示すフローチャートを示している。
【図８】図８は、ラインにおけるローパス部分の符号化された長さの計算を示すフローチャートを示している。
【図９】図９は、ラインのローパス部分からの二乗誤差の計算を示すフローチャートを示している。
【図１０】図１０は、最適なハイパス量子化設定を決定するために、水平ブランキング期間の間に実行されるプロセスを示すフローチャートを示している。
【図１１】図１１は、ラインにおけるハイパス部分の符号化された長さの計算を示すフローチャートを示している。
【図１２】図１２は、ラインのハイパス部分からの二乗誤差の計算を示すフローチャートを示している。
【図１３】図１３は、最適化されたローパスサブバンドレート計算のためのプロセスを示している。
【図１４】図１４は、全量子化レベル下のローパスサブバンド項目ｘについての、残差符号長の最適化された計算のための最適化されたＬＰレート手順を記載している。
【図１５】図１５は、現在の行からのローパスサブバンド項目に、現在のローパスサブバンド行からのｘの量子化されない左隣を加えるための手順を描いている。
【図１６】図１６は、量子化入力推定値についての訂正手順を示している。
【図１７】図１７は、画素間の距離を、それらが量子化された後に決定する手順を示している。
【図１８】図１８は、特定の量子化レベルでのローパスサブバンド項目に対応する残差を計算するための手順を示している。
【図１９】図１９は、ＪＰＥＧ−２０００画像圧縮標準によって定義されるｆｌｏｏｒ（ｘ’＋２）を使用した、ＬｅＧａｌｌ（５，３）ウエーブレット変換の整数実施のための丸め方法を示している。
【図２０】図２０は、本発明の一実施形態に従って、ｆｉｘ（ｘ’＋２）を使用した、ＬｅＧａｌｌ（５，３）ウエーブレット変換の整数実施のための丸め方法を示している。
【図２１】図２１は、ビデオレート制御信号のために使用される圧縮比率の曲線をプロットしている。
【図２２】図２２は、本発明の一実施形態に従って、改善されたビデオレート制御のためのファームウエアで実施される方法を示すフローチャートである。
【図２３】図２３は、本発明の一実施形態に従って、改善されたビデオレート制御のためのハードウエアで実施される方法を示すフローチャートである。
【図２４】図２４は、レジスタにおける未使用のバイトをクリップするために使用されるクリップ関数を表している。
【図２５】図２５は、図７に示したプロセスの代替法として、最適ローパス量子化設定を決定するために、水平ブランキング期間の間に実行されるプロセスを示すフローチャートを示している。
【図２６】図２６は、図１０に示したプロセスの代替法として、最適なハイパス量子化設定を決定するために、水平ブランキング期間の間に実行されるプロセスを示すフローチャートを示している。
【図２７】図２７は、水平ブランキング期間の際の最適ハイパス量子化設定を決定するために、図１０におけるフローチャートの代わりに使用してよい代替フローチャートを示している。
【図２８】図２８は、水平ブランキング期間の際の最適ハイパス量子化設定を決定するために、図１０におけるフローチャートの代わりに使用してよい代替フローチャートを示している。
【発明を実施するための形態】
【０００８】
画像／ビデオ符号化器は、一般に二つのコンポーネント、即ち、圧縮エンジンおよびレート制御装置からなっている。レート制御装置は、符号化器が埋め込まれるシステムからの入力を受信し、次いで、出力ビットストリームが該システムによって送信され得るように、圧縮エンジンの動作を制御するパラメータを発生する。本発明の一実施形態は、複雑さの低い、低コストのレート制御のための方法を提供する。
【０００９】
基礎をなすシステムから次のフィードバックを受信する、画像／ビデオ符号化器を考えよう：
（ａ）初期スループット推定値
（ｂ）パケットサイズ
（ｃ）パケット再送信フィードバック
（ｄ）今度のビデオ動作不能時間スロットの通知、
（ｅ）送信バッファの満杯度。
【００１０】
本発明のもう一つの実施形態は、上記で述べたフィードバックを使用して、レート制御を介してパケット毎に動作点を適合的に変更することにより、復号された画像／ビデオ品質を改善するための低コストのファームウエアで実施可能な方法を提供する。
【００１１】
もう一つの変形例において、画像／ビデオ符号化器は、基礎をなすシステムから次のフィードバックを受信する：
（ａ）初期スループット推定値
（ｂ）圧縮されたラインサイズ
（ｃ）パケット再送信フィードバック
（ｄ）今度のビデオ動作不能時間スロットの通知、
（ｅ）送信バッファの満杯度。
【００１２】
この別の実施形態は、上記で述べたフィードバックを使用して、レート制御を介してライン毎に動作点を適合的に変更することによって、復号された画像／ビデオ品質を改善するための、低コストのハードウエアで実施可能な（ファームウエアではなく）方法を提供する。
【００１３】
上記で述べたように、画像／ビデオ符号化器は、一般には二つのコンポーネント、即ち圧縮エンジンおよびレート制御器からなっている。レート制御器は、符号化器が埋め込まれたシステムからの入力を受信し、次いで、出力ビットストリームが該システムによって送信され得るように、圧縮機の動作を制御するパラメータを発生する。前記符号化器に対応する復号器は、前記ビットストリームから生の画像／ビデオデータが再構成されるように、圧縮エンジンの動作を反転させる圧縮解除エンジンからなっている。本発明の一実施形態は、複雑さの低い、低コストのラインに基づく圧縮エンジンのための方法を提供する。この圧縮エンジンにおける動作を反転させることによって、対応する復号器が得られる。
【００１４】
本発明の更なる実施形態は丸め方法を含んでおり、これは損失無しおよび損失有りの、より高い圧縮比率をもたらす。ウエーブレット変換は、屡々、画像／ビデオデータを相関解除して、損失無しおよび損失有りの圧縮比率を増大させるために用いられる。実施コストを低減するために、丸め動作を使用してウエーブレット変換の整数バージョンを実施する。
【００１５】
多重解像度変換に続いてエントロピー符号化を使用する画像／ビデオ符号化器では、元データにおけるエッジに対応したハイパス係数に長い符号が割当てられる。本発明のもう一つの実施形態は、圧縮率を増大させるための方法を提供する。
【００１６】
本発明の更なる実施形態は、改善された歪み推定精度のための方法を扱う。ウエーブレット変換に基づく圧縮エンジンを備えた画像／ビデオ符号化器において、レート制御は、ウエーブレット／ドメイン歪みから画素／ドメイン歪みを推定する。不運なことに、丸めノイズのため、複雑さの低い整数ウエーブレット変換が使用されるときには、画素／ドメイン歪み推定の精度が低下する。
【００１７】
圧縮エンジンが、強い垂直相関および／または水平相関を含む局在化された領域を備えた、量子化された二次元アレイを符号化する画像／ビデオ符号化器において、各アレイ要素について最大相関の方向に予測残差が発生されれば、より高い圧縮率を得ることができる。本発明の一実施形態は、量子化されたデータから予測残差を発生させるための、経験則による発見的方法を提供する。経験則は最大相関の方向に予測を駆り立てる結果、各アレイ要素において該方向を特定する追加のデータを符号化器に供給することは不要である。
【００１８】
この符号化器のためのレート制御は、全ての量子化レベルで符号化されたアレイのためのビット使用量を予測する。本発明の更なる実施形態は、種々の特定された量子化レベルでエントロピー符号化された残差の正確なビット消費を予測するための、複雑さの低い方法を提供する。
【００１９】
画像／ビデオ符号化器において、圧縮エンジンは、ビットストリームを形成するためのエントロピー符号化器を含んでいる。ゴロム符号は、効率的で複雑度が低く、且つ低コストのエントロピー符号化器を実施するために使用することができる。本発明の一実施形態は、画像／ビデオ符号化器用ゴロム符号を発生させるための、コストが低減された方法を提供する。この方法の逆は、対応する画像／ビデオ復号器のためのエントロピー復号プロセスを特定する。更に、算術的符号化器の基本的な要素は、ゴロム符号化特性を改善するために使用することができる。
【００２０】
図１は、本発明の一実施形態を実施し得る典型的な無線ビデオシステムのブロック図である。ビデオデータストリームは、ビデオソース１００からビデオシンク１１０（例えばコンピュータモニター、テレビジョン等）へと無線で転送される。無線ビデオ入力装置１０１および出力装置１１１は、無線接続を提供する。
【００２１】
図２は、本発明の一実施形態に従うビデオフレームのフォーマットを示している。各ビデオフレームは、アクティブラインおよびブランクラインで構成される。各アクティブラインは、アクティブ画素およびブランク画素で構成される。ビデオフレームのアクティブビデオセクションの間のデータが表示され、該データは、赤、緑および青（ＲＧＢ）フォーマットまたはＹＵＶ４：２：２フォーマットの三つの色成分からなっている。（ＹＵＶ色モデルにおいて、Ｙは輝度信号を表し、またＵおよびＶは色差信号を表す）。
【００２２】
図３は、本発明の一実施形態に従うビデオフレームにおいて、各ラインのＲＧＢ成分についてのデータフローを概説したブロック図を示している。ＲＧＢ−ｔｏ−ＹＵＶブロック３０２は、各画素についての赤、緑および青の成分を、４：４：４フォーマットで対応するＹＵＶ成分にマッピングする色空間変換を使用する。バイパス制御３０１が表明されれば、ＲＧＢ−ｔｏ−ＹＵＶブロック３０２はバイパスされる。
【００２３】
Ｓｅｌｅｃｔ・ＹＵＶ制御３０３は、ＹＵＶフォーマット変換ブロック３０４がバイパスされるかどうか、またはローパスフィルターおよびダウンサンプラーがＹＵＶ４：４：４フォーマットをＹＵＶ４：２：２もしくはＹＵＶ４：１：１フォーマットに変換するかどうかを決定する。
【００２４】
ＹＵＶフォーマット変換ブロック３０４によって生じたＹＵＶ成分は、別々のウエーブレット変換３０６（Ｙ）、３０７（Ｕ）および３０８（Ｖ）を通される。Ｓｅｌｅｃｔ・Ｔｆｍ制御３０５は、ダウベシーズ（Daubechies）（７，９）もしくはラガル（LeGall）（５，３）ウエーブレット変換の２レベルの整数バージョンが、各色成分のためのローパスサブバンドおよびハイバスサブバンドを発生させるために使用されるかどうかを決定する。与えられたラインについて２レベルのウエーブレット変換が使用されるので、ローパス（高優先度）ウエーブレット係数の数は、該ラインにおける画素の２５％を構成し、またハイパス（低優先度）のウエーブレット係数は、該ラインにおける画素の７５％を構成する。
【００２５】
Ｙ成分について、ローパスサブバンドはＬｐＹで標識され、ハイパスサブバンドはＨｐＹで標識される。同様に、Ｕ成分およびＶ成分についての対応するサブバンドは、それぞれ、ＬｐＵ、ＨｐＵ、ＬｐＶ、ＨｐＶで標識される。与えられたラインについてのＬｐＹ、ＨｐＹ、ＬｐＵ、ＨｐＵ、ＬｐＶ、ＨｐＶはＲＡＭ３０９に保存され、これらサブバンドについての最適量子化設定を決定するために、与えられたラインについて全サブバンドへのビデオレート制御アクセスを提供する。
【００２６】
ウエーブレット変換が完了したら、ビデオレート制御は、それぞれのサブバンドＬｐＹ、ＨｐＹ、ＬｐＵ、ＨｐＵ、ＬｐＶ、ＨｐＶのための最適量子化レベルｑＬＹ、ｑＨＹ、ｑＬＵ、ｑＨＵ、ｑＬＶ、ｑＨＶ（以下で更に詳細に説明する）を決定する。サブバンド係数および量子化レベルのそれぞれの対（例えばＬｐＹ／ｑＬＹ、ＨｐＹ／ｑＨＹ等）が量子化器３１０〜３１５へと供給され、これは次のプロセスによって量子化された係数ｘｑを計算する。
【００２７】
ｘｑ＝ｘ＞＞ｑ、
もし（ｘ＜０）および（ｘのｑＬＳＢｓが全部は０でない）および（ｑ＜＞  ）であれば
ｘｑ＝ｘｑ＋１
上記の擬似符号は、前記量子化器がｘのｑ最下位ビットを右シフトにより除去して、ｘｑを得ることを示している。より短いエントロピー符号を得るために、マイナス数がゼロに向かって丸められるように、ｘｑのマイナス値が増分される。
【００２８】
エントロピー符号化器は、殆どのサンプルがゼロの回りにクラスターされる指数分布したデータのために最適な短い符号を出力するので、量子化後に、該データは指数分布に適合するように条件付けされる。
【００２９】
量子化されたハイパスサブバンドＨｐＹ’、ＨｐＵ’、ＨｐＶ’は、既に指数的に分布されており、条件付けを必要としない。（本明細書の一部として援用する“Noise Removal via Bayesian Wavelet Coring” , E. P. Simoncelli, E. H. Adelson, Proceedings of 3rd IEEE International Conference on Image Processing”, Vol. 1, pp. 379-382, September 1996を参照されたい）。
【００３０】
量子化されたローパスサブバンドＬｐＹ’、ＬｐＵ’、およびＬｐＶ’について、本発明の一実施形態は予測プロセス３１６、３１７、３１８を適用して、それぞれ指数的に分布した予測残差ＲｅｓＹ、ＲｅｓＵ、ＲｅｓＶを生じる。この予測プロセスは、以前の画素ラインのローパス区画を利用する。以下の表１は、量子化されたＬＰサブバンドの行ｎおよび行ｎ−１を示す。
【表１】
0005425865.tif 000002
【００３１】
表１
以下の入力について、出力は、行ｎの各量子化された項目ｘｑのためのＬＰ残差ｄｘからなっている：
１）量子化されたＬＰサブバンドの行ｎおよび行ｎ−１
２）Ｑｎ，Ｑｎ−１：行ｎおよび行ｎ−１についての量子化レベル
注：行１は量子化されたＬＰサブバンドの最初の行なので、行０およびＱ０は定義されず、従って以下では使用されない。
【００３２】
３）予測モード：ライン間予測またはライン内予測
注：行ｎにおける全項目に対して同じ予測モードが適用される。
【００３３】
ライン間予測は、行ｎ−１を使用して行ｎを予測することを含んでいる。（明らかに、この予測モードはｎ＝１については無効である）。この予測プロセスにおいて、行ｎ−１の項目は、それらが行ｎの項目と同じ量子化レベルを有するようにスケール変更される。以下の四つの場合を考えてみる：
場合１：ｎ＞１，ｍ＞１，Ｑｎ−１＞＝Ｑｎ
ａｑ＝ａｑ＜＜（Ｑｎ−１−Ｑｎ），
ｂｑ＝ｂｑ＜＜（Ｑｎ−１−Ｑｎ），
場合２：ｎ＞１，ｍ＞１，Ｑｎ−１＜Ｑｎ
ａｑ＝ａｑ＞＞（Ｑｎ−Ｑｎ−１），
ｂｑ＝ｂｑ＞＞（Ｑｎ−Ｑｎ−１），
場合３：ｎ＞１，ｍ＝１，Ｑｎ−１＞＝Ｑｎ
ｂｑ＝ｂｑ＜＜（Ｑｎ−１−Ｑｎ），
場合４：ｎ＞１，ｍ＝１，Ｑｎ−１＜Ｑｎ
ｂｑ＝ｂｑ＞＞（Ｑｎ−Ｑｎ−１）
行ｎ−１の項目を適切にスケール変更した後、以下の予測プロセスを使用して、Ｘｑに対応する残差ｄｘを発生させる。
【００３４】
場合１および２について：
もし｜ａｑ−ｃｑ｜＜＝｜ａｑ−ｂｑ｜であれば、
ｄｘ＝ｘｑ−ｂｑ
或いは
ｄｘ＝ｘｑ−ｃｑ
場合３および４について：ｄｘ＝ｘｑ−ｂｑ  。
【００３５】
ライン間予測について、行ｎ−１は行ｎを予測するために使用される。この予測モードはｎ＝１の場合には必須であり、また行ｎ−１とは独立に行ｎを符号化することを望むときには、ｎ＞１の場合にも選択されてよい。ライン間予測とは異なり、ライン内予測はスケール変更を必要としない。ｘｑに対応する残差ｄｘは、次の二つの場合に従って誘導される：
場合５：ｍ＞１：ｄｘ＝ｘｑ−ｃｑ，
場合６：ｍ＝１：ｄｘ＝ｘｑ      。
【００３６】
当該予測プロセスに続いて、残差ＲｅｓＹ，ＲｅｓＵ，ＲｅｓＶおよびハイパスサブバンドＨｐＹ’，ＨｐＵ’，ＨｐＶ’は、今度は指数的に分布される。これは、本発明の実施形態が、エントロピー符号化器３１９〜３２４において、極めて単純で且つ効果的な指数−ゴロム符号を使用することを可能にする。（指数−ゴロム符号については、その内容を本明細書の一部として援用する「A Compression Method for Clustered Bit-Vectors”, J. Teuhola, Information Processing Letters, Vol. 7, pp. 308-311, October 1978」を参照のこと）。
【００３７】
先行技術のシステムは、指数−ゴロム符号を使用してウエーブレット係数ランレングスを符号化する。（「Generalized Golomb Codes and Adaptive Coding of Wavelet-Transformed Image Subbands」, A. Kiely, and M. Klimesh, IPN PR 42-154, Jet-Propulsion Laboratory, California Institute of Technology, April-June 2003, pp. 1-14, August 15, 2003を参照のこと）。対照的に、本発明の実施形態はこれら符号を使用して、ハイパスサブバンドおよびローパスサブバンドの予測残差を符号化する。単純な予測残差で指数−ゴロム符号化のためのデータを調整することは、ビデオレート制御（以下で説明する）のための効率的で且つ正確なレート推定技術を得る。
【００３８】
図４は、ハイパスサブバンドまたはローパスサブバンドの予測残差から得られた整数Ｘに関連した、指数−ゴロム符号Ｇを定義する方法を示すフローチャートである。最初のステップは、整数Ｘの符号を決定することである（ステップ４０１）。
【００３９】
Ｘ＝０であれば、ゴロム符号は１に等しく設定される（Ｇ＝１）（ステップ４０２）。プラスＸの場合、ＢはＸの２値表現であり、１ビットだけ左シフトされる（ステップ４０１）。マイナスＸの場合、その手順は、Ｘの絶対値がＢを生じさせ、Ｂの最下位ビットが設定されることを除いて同様である（ステップ４０４）。
【００４０】
Ｌは、Ｂに先立つ先導するゼロの数であり、ｆｌｏｏｒ（ｌｏｇ２Ｂ）によって定義される（ステップ４０５）。Ｌは、Ｂのビット長よりも１少ない。
【００４１】
従って、プラスまたはマイナスの整数Ｘについて、ゴロム符号Ｇは、Ｌ個の先導するゼロと、それに続くＢからなっており、Ｂは２値で表現され、最上位ビットは１に設定される（ステップ４０６）。
【００４２】
指数−ゴロム符号化プロセスを例示するために、以下のリストは、Ｘ∈［−１０，１０］についてのゴロム符号Ｇを符号長と共に示している。
【００４３】
Ｘ＝−１０，Ｇ＝００００１０１０１，長さ＝９
Ｘ＝−９，Ｇ＝００００１００１１，長さ＝９
Ｘ＝−８，Ｇ＝００００１０００１，長さ＝９
Ｘ＝−７，Ｇ＝０００１１１１，長さ＝７
Ｘ＝−６，Ｇ＝０００１１０１，長さ＝７
Ｘ＝−５，Ｇ＝０００１０１１，長さ＝７
Ｘ＝−４，Ｇ＝０００１００１，長さ＝７
Ｘ＝−３，Ｇ＝００１１１，長さ＝５
Ｘ＝−２，Ｇ＝００１０１，長さ＝５
Ｘ＝−１，Ｇ＝０１１，長さ＝３
Ｘ＝０，Ｇ＝１，長さ＝１
Ｘ＝１，Ｇ＝０１０，長さ＝３
Ｘ＝２，Ｇ＝００１００，長さ＝５
Ｘ＝３，Ｇ＝００１１０，長さ＝５
Ｘ＝４，Ｇ＝０００１０００，長さ＝７
Ｘ＝５，Ｇ＝０００１０１０，長さ＝７
Ｘ＝６，Ｇ＝０００１１００，長さ＝７
Ｘ＝７，Ｇ＝０００１１１０，長さ＝７
Ｘ＝８，Ｇ＝００００１００００，長さ＝９
Ｘ＝９，Ｇ＝００００１００１０，長さ＝９
Ｘ＝１０，Ｇ＝００００１０１００，長さ＝９。
【００４４】
本発明の一実施形態におけるゴロム符号実施は、如何なる計算も必要としないから、極めて効率的である。特に、上記実施形態ではＬを簡潔に定義するためにｆｌｏｏｒ（ｌｏｇ２Ｂ）が使用されるが、もう一つの実施形態は、単純な論理を使用して最上位ビット、従ってＢのビット長を見出す。
【００４５】
最後に図３に戻ると、本発明の実施形態は、エントロピー符号化されたＲｅｓＹ，ＲｅｓＵ，ＲｅｓＶ，ＨｐＹ’，ＨｐＵ’，およびＨｐＶ’データを、ＨｉＰｒｉＹ，ＨｉＰｒｉＵ，ＨｉＰｒｉＶ，ＬｏＰｒｉＹ，ＬｏＰｒｉＵ，ＬｏＰｒｉＶとして標識する。
【００４６】
図５は、本発明の一実施形態に従う一対のパケット化器を示している。別個のパケット化器５０１，５０２が、ＨｉＰｒｉＹ，ＨｉＰｒｉＵ，ＨｉＰｒｉＶを高優先度のパケットに、またＬｏＰｒｉＹ，ＬｏＰｒｉＵ，ＬｏＰｒｉＶを低優先度のパケットに、それぞれ蓄積する。優先順位付けは、残差データを含むパケットに対して、ハイパスサブバンドを含むパケットよりも大きい保護が与えられるように行われる。一つのラインからの残差データは次のラインのライン間予測に使用されるので、残差データの喪失は、エラーを後続のラインに伝播させる可能性がある。対照的に、所定のラインについてのハイパスデータは他のラインとは独立しているので、ハイパスデータの喪失は後続のラインに影響しない。なお、パケット化器は、典型的には１以上のラインからのデータを一つのパケットに充填するものである。
【００４７】
図３に示したラインベースの符号化器の動作において、重要なコンポーネントはビデオレート制御（ＶＲＣ）方法であり、該方法は、変化するチャンネル容量の下で、バッファのオーバーフローを伴うことなく最大のビデオ品質を得るために必要な、各ライン（ｑＬＹ，ｑＨＹ，ｑＬＵ，ｑＨＵ，ｑＬＶ，ｑＨＶ）についての最低限の量子化パラメータを決定する。本発明の一実施形態は、小さいバッファおよび単回パス走査を使用して、先行技術のフレームもしくはブロックに基づく技術よりも有意に低い複雑さを提供する。該先行技術は、大きなバッファおよび多重回パスで、複雑なサーチを含んだビット平面配向性のアプローチを使用する。
【００４８】
図６は、本発明の一実施形態に従って、バッファのオーバーフローを伴うことなく、最小歪みのためのビデオ符号化を最適化する制御出力を発生するために、ＶＲＣが使用する入力を示している。本発明の好ましい実施形態において、ＶＲＣはハードウエアにおいて実施される。タイミングの観点から、所定のラインのためのアクティブ画素が利用可能であるすこし前に、媒体アクセス制御（ＭＡＣ）はｍａｘＬｓｉｚｅ；６０１およびｍａｘＨｓｉｚｅ；６０２を特定し、これらはそれぞれ、現在のラインのローパス部分およびハイパス部分についての最大符号化ラインサイズを指示する。
【００４９】
これらの最大ラインサイズは、物理相（ＰＨＹ）によって与えられるチャンネル容量推定値から容易に計算される。ｍａｘＬｓｉｚｅおよびｍａｘＨｓｉｚｅを、特定の最大ラインサイズについての良好な圧縮結果を与えるＢｙｐａｓｓ６０３，ＳｅｌｅｃｔＹＵＶ６０４，およびＳｅｌｅｃｔＴｆｍ６０５の値を特定している表の中に示す。
【００５０】
所定のラインについてのアクティブ画素が利用可能になったら、それらは選択されたＢｙｐａｓｓ６０３、ＳｅｌｅｃｔＹＵＶ６０４、およびＳｅｌｅｃｔＴｆｍ６０５の値を用いて、符号化器を通してクロックされる。ＶＲＣ６００は、ＬｐＹ，ＨｐＹ，ＬｐＵ，ＨｐＵ，ＬｐＶ，およびＨｐＶサブバンドを、それらがＲＡＭ（図３に示す）の中に保存されるときにサンプリングする。同時に、ＶＲＣ６００は、これらサブバンドサンプルを使用して、量子化値の全ての可能な組合せについてのレートおよび歪み情報をコンパイルする。当該ラインについて、最後のアクティブ画素に続いて水平ブランキング期間が始まる少し後に（図２参照）、レートおよび歪み情報が、それぞれ高優先度および低優先度の符号化されたラインサイズ、および量子化値の全ての許容可能な組合せについての二乗誤差として利用可能である。
【００５１】
僅かなクロックサイクルのうちに、ＶＲＣ６００は、全てのｑＨＹ，ｑＨＵ，ｑＨＶ組合せに対応した、高優先度の符号化されたラインサイズの単回パス走査を行う。この走査の間に、それはｍａｘＨｓｉｚｅよりも小さい符号化されたラインサイズに関連した、ｑＨＹ，ｑＨＵ，ｑＨＶ組合せを考慮する。走査が完了した後に、ｑＨＹ，ｑＨＵ，ｑＨＶは、最小二乗誤差を備えたこの考慮された組合せに設定される。制御値ｑＬＹ，ｑＬＵ，ｑＬＶは、水平ブランキング期間が終わる前に同様に決定される。
【００５２】
量子化器は次に、最適量子化設定ｑＨＹ，ｑＨＵ，ｑＨＶ，ｑＬＹ，ｑＬＵ，およびｑＬＶを使用して、ＲＡＭにおける完全なｑＨＹ，ｑＨＵ，ｑＨＶ，ｑＬＹ，ｑＬＵ，およびｑＬＶサブバンドを量子化し始めることができる。このタイミングスケジュールは、次のラインのためのサブバンドサンプルの保存が必要とされる前に、充分なＲＡＭ空間がフリーであることを保証する。
【００５３】
以下のＶＲＣの説明を単純化するために、ｑＨＹ，ｑＨＵ，ｑＨＶは組｛０，２，４，６｝に限定され、またｑＬＹ，ｑＬＵ，ｑＬＶは組｛０，１，２，３｝に限定されるであろう。実験的証拠はまた、ｑＨＵが通常はｑＨＶに等しく、ｑＬＵは通常はｑＬＶに等しいことを明らかにしている。従って、本発明の目的のために、ＶＲＣ方法は、ＨｐＵ，ＨｐＶからｑＨＵＶを決定し、次いでｑＨＵ＝ｑＨＶ＝ｑＨＵＶを設定することによって単純化することができる。同様に、ｑＬＵＶはＬｐＵ，ＬｐＶから得られる。最後のステップは、ｑＬＵ＝ｑＬＶ＝ｑＬＵＶを設定することである。
【００５４】
これらの限定は優れた結果を生じ、好ましい実施形態で実施されてよい。しかし、上記の要件は、本発明に従う別の実施態様では必要とされない。
【００５５】
図７は、最適なローパス量子化設定を決定するために、水平ブランキング期間に実行されるプロセスを示すフローチャートである。これらの量子化設定（ｑＬＹ，ｑＬＵＶ）は、入力ｍａｘＬｓｉｚｅ，ｉ，ｊ＝｛０，１，２，３｝についてのＲＬｉｊ，およびＤＬｉｊから誘導される。サブスクリプトｉは、Ｙについての量子化レベルを示し、ｊはＵＶについての量子化レベルを示す。ＲＬはレートを表し、またＤＬは歪みを表す。従って、ＬｐＹサブバンドがｉビットによって量子化され、またＬｐＵ，ＬｐＶサブバンドがｊビットによってそれぞれ量子化されるときに、ＲＬｉｊはラインのローパス部分の符号化された長さを示す。同様に、ＬｐＹサブバンドがｉビットによって量子化され、またＬｐＵ，ＬｐＶサブバンドがｊビットによってそれぞれ量子化されるときに、ＤＬｉｊはラインのローパス部分からの２乗誤差を示す。
【００５６】
ステップ７０１は、最小歪みを大きな値に初期化する。この例において、量子化レベルｑＬＹおよびｑＬＵＶは１５に設定される。ステップ７０２，７０３は、四つのｑＬＹ量子化レベルおよび四つのｑＬＵＶ量子化レベルを通って循環するネステッドループを開始する。従って、ｑＬＹおよびｑＬＵＶの全１６の組合せは、該ネステッドループにおいて試験される。
【００５７】
この１６の組合せの各々について、ステップ７０４は、現在のラインのローパス部分の符号化された長さが、量子化レベルの特定の組み合わせのｍａｘＬｓｉｚｅよりも低いかどうかを決定する。そうでなければ、次の組合せが試験される。
【００５８】
該ローパス部分がｍａｘＬｓｉｚｅよりも低くなければ、ステップ７０５は、当該組合せに関連する歪みが、既に遭遇した最小の歪みであるかどうかを決定する。そうでなければ、次の組合せが試験される。
【００５９】
当該組合せに関連した歪みが既に遭遇した最小の歪みであれば、ステップ７０６は、該量子化組合せをｑＬＹおよびｑＬＵＶの中に保存する。可変のｍｉｎＤは、現在の量子化組合せに関連したＤＬｉｊを維持するように更新される。何故なら、これは今までに遭遇した最も小さい歪みだからである。ネステッドループが完了した後、ｑＬＹおよびｑＬＵＶは、最小の歪みでｍａｘＬｓｉｚｅ未満のローパスサブバンドを符号化する量子化組合せを保持する。
【００６０】
しかし、ステップ７０７がｑＬＹは未だ１５を保持すると決定すれば、ステップ７０６は実行されず、全ての量子化組み合わせについて、ステップ７０４は当該符号化されたローパスサブバンド長さが許容可能な最大ｍａｘＬｓｉｚｅよりも大きいと決定したことを暗示する。この場合、１６の量子化組合せは、許容可能な最大未満のラインを符号化するためには不十分である。
【００６１】
なお、組み合わせｑＬＹ＝ｑＬＵＶ＝１５は、予測プロセスの原因であるときには、ｍａｘＬｓｉｚｅ内のローパスサブバンドを符号化するように保証され得ないことに留意すべきである。従って、現在のラインは送信されない。その代りに、ステップ７０８は、復号器に現在のラインを以前のラインで置き換えさせるように、制御ビットを設定する。
【００６２】
図２５および図２６は、水平ブランキング期間の際の最適なローパス量子化設定を決定するために、図７におけるフローチャートの代りに使用されてよい別のフローチャートを示している。この別のフローチャートは、以下で説明するように、圧縮されたラインの視覚的品質を直接制御することを可能にするので、図７のプロセスを改善させる。
【００６３】
ステップ２５０１は、ｍｅｅｔｓＲａｔｅＭａｘＡｃｃｅｐｔａｂｌｅＭｓｅを大きな負の値に初期化するのに対して、ｍｅｅｔｓＲａｔｅＭｉｎＵｎＡｃｃｅｐｔａｂｌｅＭｓｅ、ｍｅｅｔｓＲａｔｅＭａｘＡｃｃｅｐｔａｂｌｅＭｓｅＱｙ、ｍｅｅｔｓＲａｔｅＭｉｎＡｃｃｅｐｔａｂｌｅＭｓｅＱｙは各々、大きな正の値に初期化される。ステップ２５０２は、四つのｑＬＹ量子化レベルおよび四つのｑＬＵＶ量子化レベルを通って循環するネステッドループを開始する。従って、ｑＬＹおよびｑＬＵＶの全１６の組合せは、このネステッドループにおいて試験される。
【００６４】
この１６の組合せの各々について、ステップ２５０３は、現在のラインのローパス部分の符号化長さが、ｑＬＹおよびｑＬＵＶの特定のＱＬＣ組合せ（ＱＬＣ）についてのｍａｘＬｓｉｚｅよりも大きいかどうかを決定する。もしそうであれば、現在のＱＬＴは許容可能な最大値を越えており、または望ましいビットレート要件が現在のＱＬＣに適合しないであろうから、次のＱＬＴが試験される。
【００６５】
ローパス部分がｍａｘＬｓｉｚｅよりも大きければ、ステップ２５０４は、ＱＬＣに関連する歪みが許容可能なａｃｃｅｐｔａｂｌｅＬｐＭｓｅよりも大きいかどうかを決定する。もしそうであれば、我々は、現在のＱＬＣは望ましいビットレート要件に適合するが、関連の歪みは許容できないほど大きいことを知ることになる。この場合、ステップ２５０５は、現在のＱＬＣが、ビットレート要件には合致するが許容不能に大きい歪みをもたらす既に遭遇した全てのＱＬＣのうち、最も小さい歪みを有するかどうかを試験する。もしそうであれば、ステップ２５０８は、現在のＱＬＣおよびその関連の歪みを、ｍｅｅｔｓＲａｔｅＭｉｎＵｎＡｃｃｅｐｔａｂｌｅＭｓｅＱｙ、ｍｅｅｔｓＲａｔｅＭｉｎＵｎＡｃｃｅｐｔａｂｌｅＭｓｅＱｕｖ、およびｍｅｅｔｓＲａｔｅＭｉｎＵｎＡｃｃｅｐｔａｂｌｅＭｓｅに保存する。
【００６６】
ステップ２５０４が、ＱＬＣに関連した歪みは許容可能に小さいと決定したならば、ステップ２５０６は、現在のＱＬＣが、ビットレート要件に合致し且つ許容可能に小さい歪みを有する全ＱＬＣのうちで最も大きい歪みを有するかどうかを試験する。もしそうであれば、ステップ２５０７は現在のＱＬＣおよびその関連した歪みを、ｍｅｅｔｓＲａｔｅＭａｘＡｃｃｅｐｔａｂｌｅＭｓｅＱｙ、ｍｅｅｔｓＲａｔｅＭａｘＡｃｃｅｐｔａｂｌｅＭｓｅＱｕｖ、およびｍｅｅｔｓＲａｔｅＭａｘＡｃｃｅｐｔａｂｌｅＭｓｅに保存する。当該ステップ２５０４，２５０５，２５０６，２５０７，２５０８は、望ましいビットレートに合致する全てのＱＬＣ（その付随する歪みは許容可能なＬｐＭｓｅに近似している）が、ｍｅｅｔｓＲａｔｅＭｉｎＵｎＡｃｃｅｐｔａｂｌｅＭｓｅＱｙ、ｍｅｅｔｓＲａｔｅＭｉｎＵｎＡｃｃｅｐｔａｂｌｅＭｓｅＱｕｖに、またはｍｅｅｔｓＲａｔｅＭａｘＡｃｃｅｐｔａｂｌｅＭｓｅＱｙ、ｍｅｅｔｓＲａｔｅＭａｘＡｃｃｅｐｔａｂｌｅＭｓｅＱｕｖに保存されるであろうことを保証することが認められる。
【００６７】
ステップ２５０２によって開始されたネステッドループが完了し、全てのＱＬＣが試験された後に、制御は、図２６におけるステップ２６０へと通過する。このステップは、何れかのＱＬＣが、許容可能な歪みを伴って当該ビットレートに合致するかどうかを決定する。もしそうであれば（ｍｅｅｔｓＲａｔｅＭａｘＡｃｃｅｐｔａｂｌｅＭｓｅＱｙ が７Ｆ…Ｆに等しくない)、 ＱＬｙおよびＱＬｕｖにおいて、ステップ２６０２はＱＬＣに戻り、これはａｃｃｅｐｔａｂｌｅＬｐＭｓｅに最も近い歪みを伴ったビットレートに合致する。しかし、ステップ２６０１が許容可能な歪みを伴って当該ビットレートに適合するＱＬＣはない（ｍｅｅｔｓＲａｔｅＭａｘＡｃｃｅｐｔａｂｌｅＭｓｅＱｙが７Ｆ…Ｆに等しい）と決定すれば、ステップ２６０３は、何れのＱＬＣが許容不能な大きい歪みを伴ったビットレートに合致するかをチェックする。もしそうであれば（ｍｅｅｔｓＲａｔｅＭｉｎＵｎＡｃｃｅｐｔａｂｌｅＭｓｅＱｙは７Ｆ…Ｆに等しくない）、ＱＬｙおよびＱＬｕｖにおいて、ステップ２６０４はａｃｃｅｐｔａｂｌｅＬｐＭｓｅに最も近い歪みを伴ったビットレートに合致するＱＬＣに戻る。最後に、ステップ２６０３が、許容不能に大きなＭＳＥを伴ったビットレートに合致するＱＬＣはない（ｍｅｅｔｓＲａｔｅＭｉｎＵｎＡｃｃｅｐｔａｂｌｅＭｓｅＱｙは７Ｆ…Ｆに等しい）と決定すれば、我々は、全てのＱＬＣがビットレート要件を超えていることを知ることになる。この場合、ステップ２６０５は、ステップ７０８で行ったと同様に、復号器が強制的に現在のラインを以前のラインで置換えるように制御ビットを設定する。
【００６８】
図８は、ラインのローパス部分の符号化長さ（ＲＬｉｊ）の計算を示すフローチャートを示している。この例において、Ｙ量子化レベルはｉ＝｛０，１，２，３｝であり、またＵＶ量子化レベルはｊ＝｛０，１，２，３｝である。アクティブな画素はウエーブレット変換を介してクロックされ、ＲＡＭに書き込まれるので、ＲＬｉｊの１６の値は、それらがＬｐＹ，ＬｐＵ，およびＬｐＶサブバンドにおいてそれぞれ利用可能になるときに、ウエーブレット係数ｗｙ，ｗｕ，ｗｖから並列に蓄積される。
【００６９】
ステップ８０１においては、全１６のＲＬｉｊレジスタがゼロに初期化される。ステップ８０２は、ローパスサブバンドＬｐＶにおける各ウエーブレット係数ｗｙが図３におけるＲＡＭ３０９に書き込まれるときに、レート計算が該係数を考慮することを暗示する。
【００７０】
ステップ８０３は、全ての四つのＹ量子化レベルが考慮されることを述べており、またステップ８０４は、各Ｙ量子化レベルについて、ゴロム符号長Ｒｙが、定義されるように、量子化、ＬＰ予測およびｗｙに適用されるゴロム符号化プロセスによって計算されることを説明している。
【００７１】
ステップ８０５および８０６は、異なるＵＶ量子化レベルに関連し且つ同じＹ量子化レベルに関連した四つのレートレジスタが、全てＲｙによって更新されることを指令する。
【００７２】
ハードウエア実施において、ステップ８０４の全ての四つの例は、ステップ８０６の全１６の例と同様に並列に実行される。
【００７３】
ステップ８０７〜８１１は、ステップ８０２〜８０６の対応部分と並行して、ＬｐＵに対して同様に実行される。同じく、ステップ８１２〜８１６がＬｐＶサブバンドに対して適用される。
【００７４】
図９は、ラインのローパス部分（ＤＬｉｊ）からの二乗誤差の計算を例示したフローチャートを示している。Ｙ量子化レベルはｉ＝｛０，１，２，３｝であり、ＵＶ量子化レベルはｊ＝｛０，１，２，３｝である。ＤＬｉｊの１６の値は、ウエーブレット係数ｗｙ，ｗｕ，ｗｖから、それらがＬｐＹ，ＬｐＵ，およびＬｐＶサブバンドにおいてそれぞれ利用可能になるときに並列に蓄積される。
【００７５】
ステップ９０１においては、全１６のＤＬｉｊレジスタがゼロに初期化される。ステップ９０２，９０３は、ローパスサブバンドＬｐＹにおける各ウエーブレット係数ｗｙの絶対値が図３におけるＲＡＭ３０９に書き込まれるときに、歪み推定値が該絶対値を考慮することを暗示する。
【００７６】
ステップ９０４は、全四つのＹ量子化レベルが考慮されることを述べており、またステップ９０５は、各Ｙ量子化レベルについて、関連のウエーブレットドメイン歪みが、Ｙ量子化レベルにおいて切り捨てられるビットの十進数値に等しいことを説明する。しかし、目的はウエーブレットドメイン歪みではなく、画素ドメイン歪みを最小化することであるから、ステップ９０６は該歪みを二乗化する。何故なら、二乗化されたウエーブレット−ドメイン歪みは、略直交するウエーブレット変換について、二乗化された画素−ドメイン歪みを近似するからである（“Wavelets and Filter Banks” by G. Strang and T. Nguyen, Wellesley Cambridge Press, 1996参照）。
【００７７】
次に、ステップ９０７および９０８は、異なるＵＶ量子化レベルで且つ同じＹ量子化レベルに関連する四つの歪みレジスタが、全てＤＬｙによって更新されることを指令する。
【００７８】
ハードウエア実施おいて、ステップ９０５，９０６の全四つの例は、ステップ９０８の全１６の例と同様に並列に実施される。
【００７９】
ステップ９０９〜９１５は、ステップ９０２〜９０８における対応部分と類似して、ＬｐＵサブバンドに対して並列に実施される。同様に、ステップ９１６〜９２２はＬｐＶサブバンドに対して適用される。
【００８０】
図１０は、ｍ，ｎ＝｛０，２，４，６｝について、入力ｍａｘＬｓｉｚｅ，ＲＬｍｎ，ＤＬｍｎから最適ハイパス量子化設定ｑＨＹ，ｑＨＵＶを決定するために、水平ブランキング期間の間に実行されるプロセスを例示するフローチャートを示している。下付きの添え字ｍは、Ｙ量子化レベルを意味し、ｎはＵＶ量子化レベルを意味する。ＲＨはレートを表し、またＤＨは歪みを表す。従って、ＲＨｍｎは、ＨｐＹサブバンドがｍビットによって、またＨｐＵ、ＨｐＶサブバンドがｎビットによってそれぞれ量子化されるときの、ラインのハイパス部分の符号化長さを意味する。同様に、ＤＨｍｎは、ＨｐＹサブバンドがｍビットによって、またＨｐＵ，ＨｐＶサブバンドがｎビットによってそれぞれ量子化されるときに、ラインのハイパス部分からの二乗誤差を意味する。
【００８１】
ステップ１００１〜１００６は、それぞれ図７におけるステップ７０１〜７０６に類似している。しかし、このプロセスでは、ステップ７０７に類似したステップは必要ない。何故なら、もしｍａｘＨｓｉｚｅ標的に合致する量子化組合せがなければ、該プロセスはデフォルトのｑＨＹ＝ｑＨＵＶ＝１５設定を使用することができ、この場合、これは明確にｍａｘＨｓｉｚｅ標的に合致するからである。
【００８２】
図７におけるプロセスとは対照的に、ハイパス符号化は予測プロセスを含まない。従って、量子化組合せｑＨＹ＝ｑＨＵＶ＝１５設定は、全てのハイパスサブバンド項目をゼロにするであろう。こうして、該符号化器は単一の制御ビットで全ゼロのハイパスサブバンドを送信することによってｍａｘＨｉｚｅ標的に適合し、それにより当該復号器に全ゼロハイパスサブバンドを発生させるであろうから、それはこの組合せｑＨＹ＝ｑＨＵＶ＝１５を続行するために充分である。
【００８３】
図２７および図２８は、水平ブランキング期間の際の最適ハイパス量子化設定を決定するために、図１０におけるフローチャートの代わりに使用してよい代替フローチャートを示している。この別のフローチャートは、圧縮されたラインの視覚的品質が直接制御されることを可能にするので、図１０のプロセスを改善する。なお、この代替フローチャートは、視覚的品質の直接制御と共に、最適なローパス量子化設定を決定するための代替プロセスを特定した図２５および図２６のフローチャートに正確に類似している。図２７および図２８の代替フローチャートは、入力パラメータｍａｘＨｓｉｚｅおよびａｃｃｅｐｔａｂｌｅＨｐＭｓｅを許容し、これらはそれぞれ、圧縮されたラインのハイパス部分における最大の許容可能サイズ、および許容可能歪みを特定する。図２５および図２６のそれに正確に類似したステップを通って進行した後、該プロセスはｑＨＹおよびｑＨＵＶ、即ち、望ましいビットレート要件に合致し且つ許容可能な閾値ａｃｃｅｐｔａｂｌｅＨｐＭｓｅに最も近接した歪みを有する量子化レベル組合せに戻る。このような量子化レベル組合せが存在しなければ（ｍｅｅｔｓＲａｔｅＭａｘＡｃｃｅｐｔａｂｌｅＭｓｅＱｙが７Ｆ…Ｆに等しく、またｍｅｅｔｓＲａｔｅＭｉｎＵｎＡｃｃｅｐｔａｂｌｅＭｓｅＱｙが７Ｆ…Ｆに等しい）、ステップ２８０５は、図１０を説明する際に先に述べたように、ｑＨＹ＝ｑＨＵＶ＝１５を設定する。
【００８４】
図２５、２６，２７，２８の代替プロセスは、視覚的品質が直接制御されるのを可能にすることを想起されたい。特に、特定された閾値であるａｃｃｅｐｔａｂｌｅＬｐＭｓｅおよびａｃｃｅｐｔａｂｌｅＨｐＭｓｅは、必要であれば量子化レベルを上昇させるので、その結果として生じる歪みは、前記特定された閾値に接近することになる。我々は次に、これらの閾値を決定し、それらがよく理解されたピーク信号対ノイズ比（ＰＳＮＲ）品質測定に対応するようにする方法を説明する。
【００８５】
ＰＳＮＲ品質測定は、次のようにして定義される。
【００８６】
ＰＳＮＲ（ｄＢ）＝１０ｌｏｇ１０２５５２／（ＭＳＥｐｅｒＰｉｘｅｌ）    (1)
（“Video Coding - An Introduction to Standard Codecs” by M. Ghanbari, IEE 1999, Pg. 19参照）、ここで、ＭＳＥｐｅｒＰｉｘｅｌは画素当たりの平均二乗誤差である。従って、
ＭＳＥｐｅｒＰｉｘｅｌ＝６５０２５（ＰＳＮＲ／１０）−１０，            (2)    ｔｏｔＭＳＥｐｅｒＬｉｎｅ
＝（ｎｕｍＰｉｘｅｌｓＰｅｒＬｉｎｅ）（ＭＳＥｐｅｒＰｉｘｅｌ），    (3)
ｔｏｔＭＳＥｐｅｒＬｉｎｅ
＝（ｎｕｍＰｉｘｅｌｓＰｅｒＬｉｎｅ）（６５０２５）（ＰＳＮＲ／１０）−１０， (4)
ここで、ｎｕｍＰｉｘｅｌｓＰｅｒＬｉｎｅおよびｔｏｔＭＳＥｐｅｒＬｉｎｅは、それぞれ、ライン当たりの画素の数およびラインの全画素についての全体の平均二乗誤差である。式(4)から、我々は、特定のＰＳＮＲ品質に関連した全体の平均二乗誤差を計算することができる。次に、もし、入力されたラインをローパスサブバンドおよびハイパスサブバンドに分配するために、概ね直交するウエーブレット変換が使用されるならば、
ｔｏｔＭＳＥｐｅｒＬｉｎｅ
＝ａｃｃｅｐｔａｂｌｅＬｐＭｓｅ＋ａｃｃｅｐｔａｂｌｅＨｐＭｓｅ，    (5)
であり、ここでのａｃｃｅｐｔａｂｌｅＬｐＭｓｅおよびａｃｃｅｐｔａｂｌｅＨｐＭｓｅは、それぞれ、ローパスサブバンドおよびハイパスサブバンドにおける許容可能な平均二乗誤差である。実験結果は、ａｃｃｅｐｔａｂｌｅＨｐＭｓｅがａｃｃｅｐｔａｂｌｅＬｐＭｓｅよりも１００〜１０００倍大きいときに、良好な品質が得られることを示している。従って、我々は式（４）および（５）を組み合わせて、
（ｎｕｍＰｉｘｅｌｓＰｅｒＬｉｎｅ）（６５０２５）（ＰＳＮＲ／１０）−１０  ＝ａｃｃｅｐｔａｂｌｅＬｐＭｓｅ＋Ｒ（ａｃｃｅｐｔａｂｌｅＬｐＭｓｅ）， (6)を得、ここでは、１００＜Ｒ＜１０００である。従って、特定された歪み閾値は、次のようにＰＳＮＲ品質に直接関連する：
（ｎｕｍＰｉｘｅｌｓＰｅｒＬｉｎｅ）（６５０２５）（ＰＳＮＲ／１０）−１０×（Ｒ＋１）−１＝ａｃｃｅｐｔａｂｌｅＬｐＭｓｅ，            (7)
（ｎｕｍＰｉｘｅｌｓＰｅｒＬｉｎｅ）（６５０２５）（ＰＳＮＲ／１０）−１０×Ｒ（Ｒ＋１）−１＝ａｃｃｅｐｔａｂｌｅＨｐＭｓｅ.             (8)
最後に我々は、異なる動作モードを可能にするために、ＰＳＮＲ品質設定をどのように使用できるかを説明する。もし、チャンネル条件が良好であると予測され、またビデオコンテンツが容易に圧縮可能であると予測されるならば、我々は、優れた品質を生じるＰＳＮＲ＝４０ｄＢについて、ａｃｃｅｐｔａｂｌｅＬｐＭｓｅおよびａｃｃｅｐｔａｂｌｅＨｐＭｓｅを誘導することができる。或いは、ＰＳＮＲ＝無限大を設定することによって、我々はａｃｃｅｐｔａｂｌｅＬｐＭｓｅ＝ａｃｃｅｐｔａｂｌｅＨｐＭｓｅ＝０を得る。この場合、最低の歪みを伴った量子化レベル組合せが常に選択されるので、図２５，２６，２７，２８における代替プロセスの動作は、図７および１０のそれと同一である。しかし、実際の動作では、チャンネル条件が屡々劣っており、またビデオコンテンツは圧縮するのが困難である可能性がある。結局、僅かに低いＰＳＮＲ、恐らくは３５ｄＢを使用して、ａｃｃｅｐｔａｂｌｅＬｐＭｓｅおよびａｃｃｅｐｔａｂｌｅＨｐＭｓｅを誘導するのが賢明である。この設定を用いると、量子化設定は容易に圧縮可能なラインに対しては僅かに高いであろうが、視覚的品質は未だ良好である。何故なら、斯かるラインは、通常は低量子化レベルにおいて低い平均二乗誤差を有するからである。従って、ＰＳＮＲ＝３５ｄＢに関連した大容量のａｃｃｅｐｔａｂｌｅＬｐＭｓｅおよびａｃｃｅｐｔａｂｌｅＨｐＭｓｅは、３５ｄＢに関連した許容可能な閾値へと歪みを増大させるために、より高い量子化を強要するであろう。図２３における改善されたビデオレート制御のためのハードウエア実施の方法と組み合わされるときには、この動作モードは、次の理由で優れた特性をもたらす。容易に圧縮可能なラインに遭遇したときには、より高い量子化レベルはより小さい圧縮ラインサイズを生じる。従って、ステップ２３０６は、より多くの未使用バイトをレジスタｕｎｕｓｅｄ＿ｂｙｔｅｓ＿ａｃｃｕｍｕｌａｔｏｒに割当てる。従って、ｕｎｕｓｅｄ＿ｂｙｔｅｓ＿ａｃｃｕｍｕｌａｔｏｒが使い尽される可能性が低くなるので、圧縮が困難な後続のラインは低量子化レベルを使用する可能性が高く、良好な視覚的品質を有するようになり易い。
【００８７】
図１１は、ライン（ＲＨｍｎ）のハイパス部分における符号化長さの計算を説明するフローチャートを示している。Ｙ−量子化レベルはｍ＝｛０，２，４，６｝であり、ＵＶ−量子化レベルはｎ＝｛０，２，４，６｝である。活性な画素はウエーブレット変換を介してクロックされるので、ＲＨｍｎの１６の値は、ウエーブレット係数ｗｙ，ｗｕ，ｗｖから、それらがＨｐＹ，ＨｐＵ，ＨｐＶにおいてそれぞれ利用可能になるときに並列に累積される。
【００８８】
ステップ１１０１〜１１１６は、図８におけるステップ８０１〜８１６に類似している。主な相違は、図３において上記で説明したように、ハイパスサブバンド符号化は予測を使用しないので、ステップ１１０４、１１０９および１１１４が予測プロセスを含んでいないことである。
【００８９】
図１２は、ラインのハイパス部分（ＤＨｍｎ）からの二乗誤差の計算を説明するフローチャートを示している。Ｙ−量子化レベルはｍ＝｛０，２，４，６｝であり、またＵＶ−量子化レベルはｎ＝｛０，２，４，６｝である。
【００９０】
この例において、ＤＨｍｎの１６の値は、ドーベシー（Ｄａｕｂｅｃｈｉｅｓ）−（７，９）レベル１ウエーブレット係数ｗｙ，ｗｕ，ｗｖおよびレベル２ウエーブレット係数ｗｗｙ，ｗｗｕ，ｗｗｖから、それらがＨｐＹ，ＨｐＵ，ＨｐＶサブバンドにおいてそれぞれ利用可能になるときに並列に累積される。ドーベシー−（７，９）について、レベル２係数はレベル１係数に対して３／４で縮小される。この縮小は、画素−ドメイン二乗歪みを近似するために、ドーベシー（７，９）ウエーブレット−ドメイン二乗歪みについて使用される。ＬｅＧａｌｌ（５，３）変換については、このスケール変更は不要である。
【００９１】
図１２に詳述されたプロセスは、図９のそれに類似している。ステップ１２０１は全１６のハイパス歪みレジスタをゼロに初期化する。ステップ１２０２〜１２１５は、ドーベシー（７，９）レベル１ウエーブレット係数ｗｙ上で動作し、ステップ９０２〜９０８に類似している。ここでの相違は、ステップ１２０６における４倍のスケール変更である。
【００９２】
ｗｗｙ、即ち、ドーベシー（７，９）レベル２ウエーブレット係数について、ステップ１２０９〜１０１５は、ステップ１２１３がレベル２ウエーブレット−ドメイン歪みを３倍でスケール変更することを除き、ステップ１２０２〜１２０８に類似している。こうして、ステップ１２０６および１２１３は、レベル２係数をレベル１係数に対して３／４にスケール変更する。
【００９３】
ステップ１２１６〜１２２９はＬｐＵサブバンド上で動作し、またステップ１２０２〜１２１５に類似している。同様に、ステップ１２３０〜１２４３はＬｐＶサブバンド上で動作し、ステップ１２１６〜１２２９に類似している。
【００９４】
ＬｅＧａｌｌ（５，４）変換ではスケール変更が不要なので、図１２はまた以下の変形を使用することにより、このウエーブレット変換下での歪み推定に使用されてよい。ステップ1２０６および１２１３は、「Ｄｙ＝（Ｄｙ）２」に変更される。ステップ１２２０および１２２７は、「Ｄｕ＝（Ｄｕ）２」に変更される。ステップ１２３４および１２４１は、「Ｄｖ＝（Ｄｖ）２」に変更される。
【００９５】
以下では、ローパスサブバンドレート消費の複雑度を低減する最適化について記述する。ローパスレート消費は、ハイパスレート消費よりも複雑である。何故なら、前者については、予測プロセスが各量子化レベルにおいて反復されるからである。
【００９６】
この反復の大きな影響を理解するために、上記で使用される予測プロセスについての表示は、ａｎ，ｂｎ，ｃｎ，およびｘｎが、それぞれｎビットによるａ，ｂ，ｃ，およびｘの量子化を表すように変更される。なお、ａ０，ｂ０，ｃ０，およびｘ０は、元の量子化されていない値ａ，ｂ，ｃ，およびｘを表す。
【００９７】
当該プロセスは、
ｄｎ（ｐ，ｑ）＝ｐｎ−ｑｎ，  ｐ，ｑ∈｛ａ，ｂ，ｃ，ｘ｝について
を定義することによって始まる。
【００９８】
量子化レベル（ＱＬ）ｎのための予測プロセスの際に、第一のステップは、ｄｎ（ａ，ｃ），ｄｎ（ａ，ｂ）を計算し、次いで下記を定義することである。
【００９９】
ｍｉｎｎ＝ｂｎ，    ｜ｄｎ（ａ，ｃ）｜≦｜ｄｎ（ａ，ｂ）｜のとき，
＝ｃｎ，    それ以外のとき
ここで、ｍｉｎｎは、ＱＬｎにおける最小−距離ａ−近隣である。
【０１００】
最後に、ＱＬｎ残差が次のようにして定義される：
ｄｘｎ＝ｄ（ｘｎ，ｍｉｎｎ）
以前は、全てのＱＬｎについて、ｄｎ（ａ，ｃ），ｄｎ（ａ，ｂ），ｍｉｎｎ、およびｄｘｎ，ｄｘｎを評価することによって、符号長さが再計算された。これらの評価には、各々が１４ビット長以下であり得るａｎ，ｂｎ，ｃｎ，およびｘｎの間の、二つの補数（ｃｏｍｐｌｅｍｅｎｔ）加算が含まれる。
【０１０１】
以下の最適化は、通常は、ｄ０（ａ，ｃ），ｄ０（ａ，ｂ），ｍｉｎ０およびｄｘ０を評価することについての必要性のみが存在することを示している。ｎ＞０の場合、ｄｎ（ａ，ｃ），ｄｎ（ａ，ｂ），ｍｉｎｎ、およびｄｘｎ，ｄｘｎは、これらから誘導することができる。この誘導は２ビット数による加算を含み、従ってローパスサブバンドレート消費の複雑さを低減する。
【０１０２】
図１３は、最適化されたローパスサブバンドレート消費のためのプロセスを示している。この手順は、図８に示されたものの変形であり、以下で説明するＯｐｔｉｍｉｚｅｄＬＰｒａｔｅｓ手順に依存する。
【０１０３】
図１４のフローチャートは、０〜Ｎの全量子化レベルの下での、ローパスサブバンド項目ｘについての、残差符号長の最適化された計算のためのＯｐｔｉｍｉｚｅｄＬＰｒａｔｅｓ手順を記載している。該プロセスは以下の入力を使用する：
・ｘ、即ち、現在の行からのローパスサブバンド項目、
・ａｎ，ｂｎ、即ち、以前のローパスサブバンド行からの、ｘの量子化された左上隣および上隣、
・ｃ、即ち、現在のローパスサブバンド行からのｘの量子化されない左隣、
・ｐｒｅｖＱＬ、即ち、以前のローパスサブバンド下におけるａｎおよびｂｎを量子化するために使用される量子化レベル、
・行，列、即ち、ローパスサブバンドにおけるｘの座標
・Ｎ、即ち、現在の行のための最大量子化レベル。
【０１０４】
当該プロセスからの出力は、１〜Ｎの全量子化レベル下において、ｘに対応する残差についての符合長さを含むベクトルｃｏｄｅＬｅｎｇｔｈｓである。最初に、ステップ１４０１は、ｘがローパスサブバンドの最初の行および最初の列にあるかどうかを決定する。もしそうであれば、全ての量子化レベルにおいて、如何なる隣からの予測も伴わずに、ｘの量子化レベルから残余が直接得られる。
【０１０５】
従って、ステップ１４０３、１４０４は、ＱＬｎにおける符号長を、ＱＬｎだけ右シフトされたｘのゴロム符合長として計算する。ゴロム符号長は、最上位ビットの位置を決定する単純な論理によって得られることを想起されたい。ステップ１４０２は、０〜Ｎの全量子化レベル下でのｘの符合長を得るために、ステップ１４０３、１４０４を反復させる。
【０１０６】
ステップ１４０１が、ｘはローパスサブバンドの最初の行および最初の列にないことを決定すれば、ステップ１４０６は、ｘが該ローパスサブバンドの最初の行にあるかどうかをチェックする。もしそうであれば、全量子化レベルにおいて、残差はｘの量子化された値およびその量子化された左隣ｃｎから予測されるであろう。
【０１０７】
ステップ１４０７は、図１５に記載の加算手順を呼び出して−ｃをｘに加え、ｄ０（ｘ，ｃ）、並びにｄ０（ｘ，ｃ）からｄｎ（ｘ，ｃ）を誘導するために使用する計算からの桁上げを得る。
【０１０８】
次に、ステップ１４０８における１４１１へのループは、０〜Ｎの全量子化レベルの下で、ｘに対応する残差の符合長を計算する。ｄ０（ｘ，ｃ）からｄｎ（ｘ，ｃ）を誘導するために、ステップ１４０９は、ｄ０（ｘ，ｃ）をＱＬｎだけ右シフトさせ、またステップ１４１０は図１６におけるａｐｐｌｙＣｏｒｒｅｃｔｉｏｎを呼び出して、訂正項を加えることによりｄｎ（ｘ，ｃ）を訂正する。
【０１０９】
図１６におけるａｐｐｌｙＣｏｒｒｅｃｔｉｏｎ手順は以下の入力を受け取る：
・ｐ，ｑ、整数
・ＱＬｎ、即ち、量子化レベル
・ｄｎ（ｐ，ｑ）、即ち、ＱＬｎにおけるｐからｑの距離。この推定値は、ｄｎ（ｐ，ｑ）を単純にＱＬｎだけ右シフトすることによって計算され、ここでのｄ０（ｐ，ｑ）は、ｐおよび−ｑに加算手順（図１５）を適用することによって得られると仮定される。
【０１１０】
・桁上げ、即ち、先に説明したｄ０（ｐ，ｑ）の加算手順から得られる桁上げのベクトル。
【０１１１】
ａｐｐｌｙＣｏｒｒｅｃｔｉｏｎ手順からの出力は次の通りである：
・ｄｎ（ｐ，ｑ）、即ち、ＱＬｎにおけるｑからの訂正された距離推定値。この訂正された距離推定値は、ｐｎからｑｎを差引くことにより得ることができるであろう。しかし、この引き算は二つの１１４ビット数の付加を含んでおり、従って、単にｄｎ（ｐ，ｑ）に２ビットの訂正項を加えるだけの提案された本方法よりも高価である。
【０１１２】
・ｃｏｄｅＬｅｎ、即ち、ｄｎ（ｐ，ｑ）のゴロム符合長。
【０１１３】
・訂正、入力されたｄｎ（ｐ，ｑ）に加えられる訂正項。
【０１１４】
最初に、ステップ１６０１が訂正をゼロに初期化する。量子化プロセスは、より短いエントロピー符号を得るために、一定の負の数を様々に処理することを想起されたい。この入力された推定値を訂正するために、当該プロセスは、ｐ（ステップ１６０２）および−ｑ（ステップ１６０４）が該量子化プロセスによって種々に処理され、従って、ステップ１６０３および１６０５が当該訂正項を更新したかどうかを決定することによって、これを達成する。
【０１１５】
ステップ１６０６は、入力された推定値ｄｎ（ｐ，ｑ）が、ｑｎおよびｐｎを発生する際に切り捨てられる最下位ビットからの桁上げを含むかどうかを決定する。もしそうであれば、この桁上げは訂正項の中に組み込まれるべきである。何故なら、これら量子化された値は桁上げを発生するような最下位ビットを有していないであろうから、該桁上げはｐｎからｑｎの直接の引算には存在しないであろうからである。
【０１１６】
最後に、ステップ１６０８は、入力された推定値ｄｎ（ｐ，ｑ）に該２ビット訂正項を加えて、訂正された距離推定値を得る。この訂正された推定値のゴロム符号長さもまた計算される。
【０１１７】
図１４に戻ると、ステップ１４１２は、ｘ０が最初の列にあり且つ最初の行にはないかどうかを決定する。もしそうであれば、全ての量子化レベルにおいて、該残差は、ｘの量子化された値およびその量子化された上隣ｂｎから予測される。この場合、ステップ１４１３は最初にｂｎを左シフトさせて、ｘからの距離を計算するために使用される十分な精度のｂを得る。次いで、ステップ１４１３〜１４１８は、ｃの代わりにｂを使用することを除き、ステップ１４０７〜１４１０に類似した動作を実施する。
【０１１８】
ステップ１４１２が、ｘ０は最初の行にも最初の列にもないことを決定すれば、全ての量子化レベルにおいて、前記残差は、ｘの量子化された値およびその量子化された上隣ｂｎまたはその量子化された左隣ｃｎから予測される。
【０１１９】
この場合、ステップ１４１９は最初に、ＱＬ０において、ｘからの距離を計算するために使用される十分に正確な値を得るために、ａｎおよびｂｎを左シフトする。次に、ステップ１４２０はｇｅｔＵｎｑｕａｎｔＤａｔａ手順（図１７参照）を使用して、量子化されていない項目ｘ，ａ，ｂ，ｃから計算された残差に関連したデータを集める。
【０１２０】
ステップ１４２１，１４２３におけるループは、ｄｅｒｉｖｅＰｏｓｔＱｕａｎｔＲｅｓｉｄｕａｌ手順（ステップ１４２２および図１８）を繰り返して、ｇｅｔＵｎｑｕａｎｔＤａｔａ手順により戻されたデータからＱＬｎにおける残差についての符号長を誘導する。
【０１２１】
ｄｅｒｉｖｅＰｏｓｔＱｕａｎｔＲｅｓｉｄｕａｌ手順（以下で説明する）によってｄｘｎの符号長の効率的な決定を可能にするために、図１７に示されたｇｅｔＵｎｑｕａｎｔＤａｔａ手順は、量子化されていないサブバンド項目ｘ、並びにそれぞれ左上隣、上隣および左隣であるａ、ｂ、ｃを受け取って、以下のデータを出力する：
・ｄ０（ａ，ｂ）およびｄ０（ａ，ｃ）、即ち、ｂおよびｃのａ−距離、並びにａｂＣａｒｒｉｅｓおよびａｃＣａｒｒｉｅｓ、即ち、これら計算からのそれぞれの桁上げベクトル
・ｄ０（ｘ，ｂ）およびｄ０（ｘ，ｃ）、即ち、ｂおよびｃのｘ−距離、並びにｘｂＣａｒｒｉｅｓおよびｘｃＣａｒｒｉｅｓ、即ち、これら計算からのそれぞれの桁上げベクトル
・ｍｉｎ０、即ち、｛ｂ，ｃ｝から選択されるａの最も近い隣。もしｂおよびｃがａから等しい距離にあれば、タイブレーカとしてｃが選択される。
【０１２２】
・ｔｉｅ０は、ｂ，ｃがａから等しい距離にあるかどうかを表す。そうであれば、１に設定する。そうでなければ０にリセットする。
【０１２３】
・ｏｐｐＳｉｄｅｓは、ｂおよびｃが数直線上の反対側にあるかどうかを表す。そうであれば、１に設定する。そうでなければ、ｏｐｐＳｉｄｅｓ＝０である。
【０１２４】
・ｃｏｎｓｔＭｉｎＣは、全ての量子化レベルにおいて、ｃが最も近いａ−隣であるかどうかを表す。もしそうであれば、１に設定する。そうでなければ、０にリセットする。
【０１２５】
・ｄｉｆｆＤｉｓｔ０は、ｄ０（ａ，ｂ）とｄ０（ａ，ｃ）の間の差であるのに対して、ｄｉｆｆＤｉｓｔＣａｒｒｉｅｓは、ｄｉｆｆＤｉｓｔ０の計算において生じる桁上げである。
【０１２６】
最初に、ステップ１７０１は図１５から加算手順を呼び出し、量子化されていないａ−距離ｄ０（ａ，ｂ）、ｄ０（ａ，ｃ）、並びに関連の桁上げ ａｂＣａｒｒｉｅｓ、ａｃＣａｒｒｉｅｓを計算する。このステップはまた、ｃｏｎｓｔＭｉｎＣ、ｏｐｐＳｉｄｅｓおよびｔｉｅ０を０に初期化する。
【０１２７】
ステップ１７０２は、ｄ０（ａ，ｂ）およびｄ０（ａ，ｃ）の記号を調べる。もし、これらの記号が異なれば、ｂおよびｃは該数直線の反対側にある。ステップ１７０３は、この情報を保存するために、ｏｐｐＳｉｄｅｓを設定する。次に、ステップ１７０４が加算手順を呼び出し、ｄ０（ａ，ｂ）およびｄ０（ａ，ｃ）の間の差、並びにｄｉｆｆＤｉｓｔ０の計算において生じる桁上げであるｄｉｆｆＤｉｓｔＣａｒｒｉｅｓを計算する。
【０１２８】
ステップ１７０５は、ｂ、ｃがａの反対側にあるかどうかを決定する。もしそうであれば、ステップ１７０６が、ｂ及びｃがａから等しい距離にあるかどうかをチェックする。その通りであれば、ステップ１７０７はｔｉｅ０を設定し、タイブレカーｃをｍｉｎ０に割り当てる。
【０１２９】
ステップ１７０６が、ｂおよびｃはａから等距離にないと決定すれば、ステップ１７０８はｄｉｆｆＤｉｓｔ０およびｄ０（ａ，ｃ）の符号を調べる。これらの符号が同じであれば、ｃがａに最も近く、ｍｉｎ０はｃに設定される（ステップ１７０９）。そうでなければ、ｂの方がａに近く、ｂはステップ１７１０においてｂに割り当てられる。
【０１３０】
ステップ１７０５に戻ると、ｂ、ｃがａの同じ側にあれば、ステップ１７１５〜１７１９は、ステップ１７０８および１７１７に類似の論理を使用して、ｔｉｅ０およびｍｉｎ０を設定する。論理における実質的な相違は、ステップ１７０８および１７１７における符号試験である。符号の極性はｂ、ｃがａの同じ側または反対側にあるかどうかに依存するので、この試験は異なっている。
【０１３１】
ステップ１７０７，１７０９，１７１０，１７１６，１７１８または１７１９の何れかに続いて、変数ｍｉｎ0 およびｔｉｅ０が適切に設定され、ｇｅｔＵｎｑｕａｎｔＤａｔａ手順は、図１５から加算手順を呼出すステップ１７１１および１７１４を用いて、ｄ０（ｘ，ｂ）およびｄ０（ｘ，ｃ）、即ちｂおよびｃのｘ距離、並びにｘｂＣａｒｒｉｅｓおよびｘｃＣａｒｒｉｅｓ（それぞれがこれら計算からベクトルを運ぶ）を計算するように結論される。
【０１３２】
もし、ステップ１７１２がｂ、ｃはａの同じ側にあり、また量子化前の最も近い隣がタイブレーク選択であることを決定すれば、ｄ０（ｘ，ｃ）は計算される必要がないことに留意すべきである。これは、右シフトによる量子化はオーダー保存マップであることを示す順序保存特性の結果である。
【０１３３】
従って、何れかの整数ｘ、ｙ、および自然数ｎについて、
ｘ≦ｙ＝＞（ｘ＞＞ｎ）≦（ｙ＞＞ｎ）
である。
【０１３４】
即ち、これは示された条件下では、全ての量子化レベルにおいて、ａ，ｂ，ｃの相対的な順序は同じまま残り、またはｂ、ｃがａから等距離になるように縮退する。何れの場合にも、ｃはタイブレーク選択であるから、最も近いａ隣はｃであり、従って全ての量子化レベルにおいて同じまま残る。従って、ステップ１７１３は、この状態を示すためにｃｏｎｓｔＭｉｎＣを設定する。
【０１３５】
図１８は、ｇｅｔＵｎｑｕａｎｔＤａｔａ手順により提供されるデータに基づいて、特定されたＱＬｎにおけるローパスサブバンド項目xに対応する残差を計算するための、ｄｅｒｉｖｅＰｏｓｔＱｕａｎｔＲｅｓｉｄｕａｌ手順を示している。
【０１３６】
以下の入力が使用される：
・ｄ０（ａ，ｂ）およびｄ０（ａ，ｃ）、即ち、ｂおよびｃのａ−距離、並びにａｂＣａｒｒｉｅｓおよびａｃＣａｒｒｉｅｓ、即ち、これら計算からの桁上げベクトル；    ・ｍｉｎ０、即ち、｛ｂ，ｃ｝から選ばれたａの最も近い隣。ｂおよびｃがａから等距離にあれば、タイブレーカとしてｃが選択される；
・ｔｉｅ０は、ｂ、ｃがａから等距離にあるかどうかを表す。もしそうであれば、１に設定する。そうでなければ０にリセットする；
・ｏｐｐＳｉｄｅｓは、ｂおよびｃが数直線上でａの反対側にあるかどうかを表す。そうであれば、１に設定する。そうでなければ、ｏｐｐＳｉｄｅｓ＝０である；
・ｃｏｎｓｔＭｉｎＣ は、ｃが全ての量子化レベルにおいて最も近いａ−近隣のままであるかどうかを表す。そであれば１に設定する。そうでなければ０にリセットする；    ・ｄｉｆｆＤｉｓｔ０は、ｄ０（ａ，ｂ）とｄ０（ａ，ｃ）の間の距離差であるのに対して、ｄｉｆｆＤｉｓｔＣａｒｒｉｅｓは、ｄｉｆｆＤｉｓｔ０の計算において生じた桁上げである；
・ＱＬｎ、即ち、特定の量子化レベル。
【０１３７】
これらの入力は、以下の出力を発生するために使用される：
・ｄｘｎ、即ち、特定のＱＬｎにおいてローパスサブバンド項目ｘに対応する残差；    ・ｃｏｄｅＬｅｎｇｔｈ、即ち、ｄｘｎのゴロム符合長。
【０１３８】
ステップ１８００は、最初に、ｃが全ての量子化レベルにおいて最も近いａ−近隣であることが保証されるかどうかを決定するために、ｃｏｎｓｔＭｉｎＣを調べる。もしそうであれば、ＱＬｎにおいて、残差はｂｎから予測されるであろう。これは、ｄ０（ｘ，ｂ）を右シフトさせ、また図１６におけるａｐｐｌｙＣｏｒｒｅｃｔｉｏｎ手順を呼び出すことによって、直接の減算を伴わずに、ステップ１８０５において行われる。
【０１３９】
ステップ１８００が、ｃは最も近いａ−近隣であることが保証されないと決定すれば、ステップ１８０１は量子化されていないａ−距離を右シフトさせ、該結果を訂正して、量子化されたデータの直接の減算を伴わずに量子化後のａ−距離を得る。これら量子化後のａ−距離から、該手順は最初にｍｉｎｎ、即ち、量子化後の最も近いａ−近隣を決定する。
【０１４０】
ステップ１８０２が、ｄｎ（ａ，ｂ）およびｄｎ（ａ，ｃ）の絶対値は等しいことを決定すれば、ｂｎおよびｃｎはａｎから等距離にある。この場合、ステップ１８０３はタイブレーカーｃをｍｉｎｎに割り当てる。そうでなければ、ｂｎおよびｃｎはａｎから等距離にない。
【０１４１】
ステップ１８０２が、ａ−距離は量子化後に等しくないと決定し、またステップ１８０７が、ｂおよびｃはａの同じ側にあり、量子化前の最も近いａ−近隣決定の間にタイが生じなかったことを決定すれば、その量子化後の最も近いａ−近隣は変化せず、従って、ｍｉｎ０がｍｉｎｎ  に割当てられる（ステップ１８０８）。これは、先に述べた順序保存特性のもう一つの結果である。
【０１４２】
しかし、ステップ１８０７における試験が失敗すれば、二つの可能性が存在する：１）量子化前に計算されたａ−距離は等しく、それらが今では等しくない、２）量子化前に、ｂおよびｃはａの反対側にあった。最初の場合、それが量子化されていないデータからのタイブレーク選択ｃであると考えることはできないので、該プロセスは、最も近いａ−近隣を明確に決定しなければならない。第二の場合、量子化後の最も近いａ−近隣が変化しないことを保証するためには、順序保存は不十分である。従って、この場合にも、最も近いａ−近隣は明確に決定される。
【０１４３】
両方の場合において、最も近いａ−近隣は、ｄｎ（ａ，ｃ）からｄｎ（ａ，ｂ）を減算することなく、効率的に決定されてよい。これを達成するために、ステップ１８０９はｄｉｆｆＤｉｓｔ０、即ち、量子化されていない画素から計算されたａ−距離の間の差を右シフトし、ｄｎ（ａ，ｃ）からｄｎ（ａ，ｂ）の間の差の推定値を得る。この推定値は、最初にステップ１８０１からの訂正因子ｃｏｒｒＡｃおよびｃｏｒｒＡｂを加えることにより、正確な値ｄｉｆｆｄｉｓｔｎに訂正される。次いで、ｄ０（ａ，ｃ）−ｄ０（ａ，ｂ）から捨象された最小ビットが、ｄｉｆｆＤｉｓｔ０計算（ステップ１８１０）において十分に正確な桁上げを発生していたならば、ｄｉｆｆＤｉｓｔｎ  は減分される（ステップ１８１１）。
【０１４４】
ステップ１８１０の後、ｄｉｆｆＤｉｓｔｎは、量子化後のａ−距離の間の差を含んでいる。ステップ１８１２がこの差はゼロであると決定すれば、ｂｎ，ｃｎはａｎから等距離にあり、ステップ１８１３はタイブレーカー選択であるｃをｍｉｎｎに割り当てる。そうでなければ、ｂｎ，ｃｎはａｎの反対側にあるから、ｄｉｆｆＤｉｓｔｎおよびｄｎ（ａ，ｂ）の符合が、ｂｎまたはｃｎが、最も近いａｎ−近隣であるかどうかを明らかにする（ステップ１８１４）。従って、ステップ１８１５またはステップ１８１６は正しい値をｍｉｎｎに割当てる。
【０１４５】
最後に、ステップ１８０３、１８０８、１８１３、１８１５または１８１６の何れかの後、結果はｍｉｎｎ、即ち、量子化後の最も近いａｎ−近隣ある。次いで、該プロセスは、直接の減算を使用することなく、ｍｉｎｎからの予測により、ｘｎに対応する残りを誘導することができる。
【０１４６】
即ち、もしステップ１８０４がｍｉｎｎはｃであることを決定すれば、ステップ１８０５はｄ０（ｘ，ｂ）を右シフトさせ、ａｐｐｌｙＣｏｒｒｅｃｔｉｏｎ手順（図１６）を呼び出して、ｄｘｎおよびそのｃｏｄｅＬｅｎｇｔｈにおけるゴロム符号長を得る。ｍｉｎｎがｂであれば、ステップ１８０６は、ｄ０（ｘ，ｂ）の代わりにｄ０（ｘ，ｃ）を使用して同じ動作を行う。
【０１４７】
図１４におけるＯｐｔｉｍｉｚｅｄＬＰｒａｔｅｓの利点を説明するために、以下の例はそれを、｛０，．．．，Ｎ−１｝におけるｎについて、各ＱＬｎのために反復しなければならないであろう最適化されていない予測プロセスと比較する。
【０１４８】
ＱＬｎにおいて、ｍ、ｎビットの入力ビット幅を用いた加算器を（ｍ＋ｎ）加算器として表示すると、該最適化されていないプロセスは四つの［（Ｎ−ｎ）＋（Ｎ−ｎ）］加算器を含んでいる。従って、｛０，．．．，Ｎ−１｝におけるｎについての全体の予測プロセスは、次の各四つを含むであろう：（１＋１）加算器、（２＋２）加算器、（３＋３）加算器、．．．、（Ｎ＋Ｎ）加算器。
【０１４９】
対照的に、図１４においては、ステップ１４０３、１４０４、１４０７、１４１３、１４１６、および１４１７は、マルチプレクサを使用して、ステップ１４１２および１４２０に含まれる論理を共有することができる。従って、ステップ１４１２および１４２０についてのハードウエア要件を分析することで十分である。
【０１５０】
図１７におけるｇｅｔＵｎＱｕａｎｔＤａｔａ手順は、四つの（Ｎ＋Ｎ）加算器を含んでいる（ステップ１７０１、１７０２、１７０４、１７１１、および１７１４）。ＱＬｎにおいて、図１８からのｄｅｒｉｖｅＰｏｓｔＱｕａｎｔＲｅｓｉｄｕａｌ手順は、四つの［（Ｎ−ｎ）＋（Ｎ−ｎ）］加算器を含んでいる（ステップ１８０１、１８０９、１８０５、および１８０６）。
【０１５１】
従って、ｎが｛０，．．．，Ｎ−１｝の全てのＱＬｎについて、最適化されたプロセスは五つの（Ｎ＋Ｎ）加算器および以下の各四つを含んでいる：（１＋１）加算器、（２＋２）加算器、（３＋２）加算器、．．．、（（Ｎ−１）＋２）加算器。
【０１５２】
両方の実施についてシリアルアドレスが使用されると仮定すれば、（Ｎ＋Ｎ）加算器は（Ｎ＋Ｎ）加算器よりも４Ｎ−８多いゲートを有している。Ｎ＝１４について、該最適化された実施は１３２０のゲートを含んでいるのに対して、最適化されていない実施は、２２９６のゲートを含んでいる。従って、最適化は、少なくとも４２．５１％の論理ゲートの節約を提供する。
【０１５３】
以下では、図９および図１２に描いたような、ラインのローパス部分およびハイパス部分の歪み推定値を改善する方法を記述する。これらの歪みは実際にはウエーブレット・ドメイン歪みであることを想起されたい。
【０１５４】
ウエーブレット変換の整数実施は、ウエブレット・ドメイン歪みが実際の画素・ドメイン歪みにほぼ等しいように、ほぼ直交している。（“Optimal Quantized Lifting Coefficients for the 9/7 Wavelet” - S.Barua, K.A.Kotteri, A.E.Bell and J.E.Carletta, Proceedings of the 2004 IEEE International Conference on Acoustics, Speech and Signal Processing.を参照されたい）。しかし、逆ウエーブレット変換の整数実施により導入された丸めノイズは、図９および図１２において計算されたウエーブレット−ドメイン歪み推定値の精度を低下させる。
【０１５５】
この問題を軽減するためには、丸めノイズが、主にウエーブレット係数の最下位ビット（ＬＳＢ）に影響することを認めるべきである。何故なら、これらは、整数逆ウエーブレット変換において丸められるビットだからである。従って、復号プロセスの際に、本発明の一実施形態は、逆ウエーブレット変換の直前に、逆量子化されたウエーブレット係数をＮビット（Ｎ＝１，２または３）左シフトさせることによって、該係数を均一にスケールする。これは、該Ｎ・ＬＳＢをゼロに設定し、整数逆ウエーブレット変換における丸めノイズを抑制し、ウエーブレット・ドメイン歪み推定値の精度を改善する。この逆ウエーブレット変換の後に、再構成された画素は、均一なスケーリングを反転させるために、Ｎビットだけ右シフトされるべきである。
【０１５６】
該改善された歪み−推定精度は、｛３，４，５，６，７｝におけるｑＨｐＹを用いたＤａｕｂｅｃｈｉｅｓ（７，９）およびＬｅＧａｌｌ（５，３）ウエーブレット変換について、スケーリングを伴ってまたは伴わずに、標準モバイルビデオシーケンスの最初のフレームの各ライン上でＹ成分歪み−推定パーセンテージを測定することによって確認される。次に、平均および最大パーセンテージエラーが全てのラインに亘って計算された。表２は、パーセンテージエラーの減少を表に纏めたものを示している。
【表２】
0005425865.tif 000003
【０１５７】
表２
この表に見られるように、スケーリングは、特に量子化ノイズに対して丸めノイズが優勢になる傾向がある低量子化レベルにおいて、歪み−推定エラーを減少させる。
【０１５８】
以下の方法は、図３に示したエントロピー符号化３１９〜３２４の特性を改善するために使用される。これらのエントロピー符号化器は、データが指数関数的に分布されることを仮定する単純かつ効率的なゴロム符号を使用して実施されたことを想起されたい。データの真の分布が知られていれば、算術符号化器はゴロム符号化よりも高い圧縮比を達成する（ “Elements of Information Theory” - T. Cover and J. Thomas, Wiley 1991, Pg. 104参照）。
【０１５９】
先行技術において、算術符号化器および復号器はデータ分布の推定値を用いる。これらの推定値は、通常は均一な分布に初期化され、また徐々に実際の基礎分布（underlying distribution）に向けて収斂する。この収斂は遅いので、達成される平均圧縮比は、ゴロム符号化器からのものよりも遙かに良好とは言えない。事実、すぐれた特性を得るためには、算術符号化器は典型的には、計算的に複雑な内容に適応できる方法を用いる（例えば、“Study of final committee draft of joint video specification ITU-T Rec. H.264 | ISO/IEC 14496-10 AVC” - T. Wiegand, Dec. 2002, Awaji MPEG Meeting参照）。しかし、以下で述べる方法は、ゴロム符合に基づくエントロピー符号化器の特製を改善するために、算術符号化をどのように使用できるかを示している。
【０１６０】
最初のラインにおいて、当該円コーダはゴロム符号化を使用して、上記で述べたようにして当該ラインを符号化する。従って、該復号器は、ゴロム符号化を使用してこのラインを複合する。ラインｎ（ｎ＞１）上において、該符号化器は、ラインｎ上でのデータの分布の推定値としてライン（ｎ−１）の棒グラフを計算する。この推定値は、Ｂａビットを使用するラインｎの算術符号化のために使用される。
【０１６１】
並行して、該符号化器はまた、Ｂｇビットを使用するラインｎのゴロム符号化を発生する。Ｂａ＜Ｂｇであれば、該符号化器は制御ビットを設定し、ラインｎの算術符号化を送信する。そうでなければ、該制御ビットはリセットされ、該ラインのゴロム符号化が送信される。
【０１６２】
それに対応して、ラインｎについては、該復号器が前記符号化器により送信された制御ビットを調べる。このビットが設定されれば、該符号化器は、ラインｎの算術的複合のための推定分布として、ライン（ｎ−１）の棒グラフを使用する。制御ビットがリセットされれば、該復号器はゴロム複合を適用してラインｎを復旧する。
【０１６３】
このスキームにより達成される圧縮率は、常にゴロム符号化器からのものよりも大きく、またはこれに等しい。実際に、ビデオデータは縦軸に沿って高度に相関しているので、ライン（ｎ−１）の棒グラフは、通常はライン１の分布についての良好な推定である。この相関は水平エッジでは減少するが、これらのラインにおいて、該符号化器は自動的にゴロム符号化に切替わるであろう。
【０１６４】
以下の最適化は、図５に示した低優先度のパケットでのビット数を低減する。これらのパケットは、図３における量子化されたハイパスチャンネルＨｐＹ、ＨｐＵ、ＨｐＶをエントロピー符号化することによって得られることを想起されたい。ゴロム符号化器は、その基礎をなすデータが指数関数的に分布されるならば、ウエーブレット係数の殆どがゼロの回りにクラスターされる一方、少数のものは大きな値を有しているように、うまく動作する。これらの大きな係数は長いゴロム符号を有し、従って低い圧縮比を有するであろう。
【０１６５】
ハイパスチャンネルＨｐＹ、ＨｐＵ、ＨｐＶにおける大きなウエーブレット係数は、Ｙ、Ｕ、Ｖチャンネルにおける対応する位置での垂直エッジに対応する。これらの垂直エッジはまた、それぞれのローパスチャンネルＬｐＹ、ＬｐＵ、ＬｐＶにおける不連続性をもたらす。従って、ローパスチャンネルを垂直エッジ検出器で処理することによって、ハイパスチャンネルにおける垂直エッジを予測することができる（“Digital Image Processing using Matlab” by R. Gonzalez, R. Woods and S. Eddins, Prentice Hall 2004参照）。この予測された垂直エッジをハイパスチャンネルから差し引くことは、垂直エッジが抑制される残りのハイパスチャンネルを生じる。従って、残りのハイパスチャンネルはより少ない大きな値のウエーブレット係数を有し、その結果得られる低い優先度のパケットコンシューマーはより小さいビット数を有する。
【０１６６】
これら低い優先度のパケットを復号するために、復号器は先ず、ＬｐＹ、ＬｐＵおよびＬｐＶチャンネル並びに残りのハイパスチャンネルを復号する。次に、ＬｐＹ、ＬｐＵおよびＬｐＶチャンネルが垂直エッジ検出器を用いて処理され、予測された垂直エッジが残りのハイパスチャンネルに加えられて、ＨｐＹ、ＨｐＵおよびＨｐＶを得る。次いで、この復号プロセスは先に述べたようにして継続される。
【０１６７】
以下は、図３におけるＬｅＧａｌｌ（５，３）ウエーブレット変換の整数実施（integer implementation）のための新たな丸め方法の説明である。ＪＰＥＧ−２０００画像圧縮標準に定義されているように、ＬｅＧａｌｌ（５，３）ウエーブレット変換の更新ステップは、ｆｌｏｏｒ（ｘ＋０．５）を使用してｘを丸めるが、ここでのｘは０．２５の整数倍であり、またｆｌｏｏｒ（ｙ）は実際の数ｙよりも小さい最も大きな整数を返す（Equation 16 in “An Overview of the JPEG-2000 Still Image Compression Standard” by M. Rabbani and R. Joshi, Signal Processing: Image Communication 17 (2002) 3-48参照）。［−０．５，０．５）におけるｘの値は、ｆｌｏｏｒ（ｘ＋０．５）によってゼロにマップされる。ハードウエア実施においては、ｘおよび０．５はそれらに４を乗じることにより整数に変換されて、ｘ’＝４ｘおよび２＝４＊０．５を得るであろう。この表現を用いて、図１９は、ＪＰＥＧ−２０００画像圧縮標準に定義されているように、ｆｌｏｏｒ（ｘ’＋２）が如何にして実施されるかを示している。
【０１６８】
次に、ｆｉｘ（ｘ＋０．５）によって記述される丸め方法を考察する。ここでは、ｆｉｘ（ｙ）がｙに最も近く且つｙとゼロの間にある整数を返す。（−１．５，０．５）にあるｘの値は、ｆｉｘ（ｘ＋０．５）によってゼロにマップされる。ハードウエア実施においては、それらに４を乗じることにより、ｘおよび０．５が整数に変換されて、ｘ’＝４ｘおよび２＝４＊０．５を得るであろう。この表現を用いて、図２０は、ｆｉｘ（ｘ’＋２）がどのように実施されるかを示している。逆ウエーブレット変換において、図２０は、通常の逆リフティング手順により容易に反転される。
【０１６９】
図２０は、総計ならびに１のエキストラ付加に対する追加の符号チェックを有している。しかし、先に説明したように、ｆｉｘ（ｘ＋０．５）は（−１．５，０．５）をゼロにマップする一方、ｆｌｏｏｒ（ｘ＋０．５）は［−０．５，０．５）をゼロにマップする。従って、ｆｉｘ（ｘ＋０．５）は値｛−１．２５，−１．０，−０．７５，−０．５，−０．２５，０，０．２５｝をゼロにマップする一方、ｆｌｏｏｒ（ｘ＋０．５）は値｛−０．５，−０．２５，０，０．２５｝をゼロにマップする。図４におけるエントロピー符号化器は、最短長さ１の符合をゼロ値に割り当てることを想起されたい。従って、更新ステップ後に丸めるためにＪＰＥＧ−２０００のｆｌｏｏｒ（ｘ＋０．５）を使用するウエーブレット変換は、四つの値を長さ１の符合にマップするであろう。対照的に、提案されたｆｉｘ（ｘ＋０．５）丸めは、七つの値を長さ１の符合にマップするであろう。ｆｉｘ（ｘ＋０．５）丸めは、より多くの値を長さ１の最短エントロピー符号にマップするので、ｆｉｘ（ｘ＋０．５）丸めと共にウエーブレット変換を使用するロスのない符号化は、ＪＰＥＧ−２０００のｆｌｏｏｒ（ｘ＋０．５）丸めを使用するウエーブレット変換よりも大きな圧縮比を与える。
【０１７０】
表３は、この予測を確認している。最初の欄は、ｆｉｘ（ｘ＋０．５）丸めを用いてロスなしで圧縮された３８の異なる画像についての圧縮率を示しており、また第二の欄は、ｆｌｏｏｒ（ｘ＋０．５）丸めが用いられるときに得られる圧縮比を示している。全ての３８の画像について、ｆｉｘ（ｘ＋０．５）丸めはｆｌｏｏｒ（ｘ＋０．５）丸めよりも大きな圧縮比を与える。上記で指摘したように、ｆｉｘ（ｘ＋０．５）丸めのための追加のハードウエアコストは、ｆｌｏｏｒ（ｘ＋０．５）丸めに比較して非常に小さい。ｆｉｘ（ｘ＋０．５）丸めから得られる利益は、デッドゾーン量子化効果に起因するものでないことが強調されるべきである（“Video Coding - An Introduction to Standard Codecs” by M. Ghanbari, IEE 1999, Pg. 26参照）。特に、デッドゾーンは、量子化器のゼロ−ビン幅（zero-bin width）を増大させるために、ロスの大きい符号化において使用される。しかし、ｆｉｘ（ｘ＋０．５）丸めは、ウエーブレット変換において生じ、量子化器を使用しないロスのない符号化のためにも利点を提供する。
【表３】
0005425865.tif 000004
【０１７１】
表３
最後の最適化は。ビデオレート制御特製を改善するための方法に関する。上記図６の説明は、ｍａｘＬｓｉｚｅ６０１、ｍａｘＨｓｉｚｅ６０２、ＢｙＰａｓｓ６０３、ＳｅｌｅｃｔＹｕｖ６０４およびＳｅｌｅｃｔＴｆｍ６０５が、チャンネル容量推定を使用してこれら制御信号の値を与える表の中にインデックスすることにより得られることを述べている。実際には、チャンネル−容量の推定はときには信頼性がなく、またチャンネル−容量推定をビデオレート制御のために直接使用しないことによって、頑丈さを改善することができる。
【表４】
0005425865.tif 000005
【０１７２】
表４
当該方法を説明するために、表４は、ビデオレート制御信号のための１２の設定を示している。ローパスＣＲおよびハイパスＣＲは、ローパスサブバンドおよびハイパスサブバンドについての目標圧縮比を意味する。これらの量は、下記によるｍａｘＬｓｉｚｅおよびｍａｘＨｓｉｚｅを意味する：
ｍａｘＬｓｉｚｅ＝ｕｎｃｏｍｐｒｅｓｓｅｄ＿ｌｏｗｐａｓｓ＿ｓｕｂｂａｎｄ＿ｓｉｚｅ／ＬｏｗｐａｓｓＣＲ、
ｍａｘＨｓｉｚｅ＝ｕｎｃｏｍｐｒｅｓｓｅｄ＿ｈｉｇｈｐａｓｓ＿ｓｕｂｂａｎｄ＿ｓｉｚｅ／ＨｉｇｈｐａｓｓＣＲ、
ここで、非圧縮サブバンドのサイズは、入力された解像度と、ローパスサブバンドサイズおよびハイパスサブバンドサイズの間の１：３の比を使用して直接計算することができる。
【０１７３】
最悪事例のＣＲの欄は、ローパス圧縮比およびハイパス圧縮比、並びにＹＵＶフォーマットを説明することにより、与えられた設定を使用して得られる最小の圧縮比を示している。これらの最悪事例のＣＲは、図２１において、任意のピーク信号対ノイズ比（ＰＳＮＲ）値と共に、曲線２１６０上の点２１６１〜２１７２によってプロットされている。しかし、１２の設定を使用して実際の画像が処理されるときには、圧縮比およびＰＳＮＲは、通常はこの最悪事例の曲線よりも高い。例えば、標準のモバイル画像上において、点２１４１〜２１５２によって表わされる該１２の設定は、図２１における曲線２１４０を生じる。同様に、該１２の設定をｇｆｘ画像（点２１２１〜２１３２）およびｗｑ画像（点２１０１〜２１１２）に適用することにより、それぞれ図２１における曲線２１２０および２１００を生じる。曲線２１００は、曲線２１４０に関連した画像よりも圧縮するのが遙かに容易な画像に対応する；従って、曲線２１００上の点は、曲線２１４０上の対応する点よりも高いＰＳＮＲおよびＣＲを有する。
【０１７４】
以下の例は、上記のビデオレート制御方法を示しており、ＳＸＧＡビデオ（１０２４ｘ７６８＠６０Ｈｚ）が送信されると仮定している。このビデオフォーマットは、１１３２Ｍｂｐｓの生ビットレートを必要とする。送信が始まるときに、ＭＡＣからのスループット予測は５２５Ｍｂｐｓである。従って、初期ＣＲは１１３２／５２５＝２．１６よりも大きいはずである。
【０１７５】
最悪事例のＣＲから、設定＃４は、初期ＣＲよりも大きい最小の最悪事例ＣＲを得るために必要とされる。しかし、ビデオコンテンツがｇｆｘ画像よりも小さければ、設定＃４は、図２１におけるｇｆｘ曲線２１２０上の点２１２４において、当該システムを動作させる。従って、平均ＣＲは３．５よりも大きく、これは初期ＣＲ＝２．１６よりも遥かに大きい。
【０１７６】
該コンテンツは比較的圧縮が容易なので、本発明の一実施形態は、圧縮されたビデオパケットのサイズをモニターすることによってこの条件を検出することができ、またこの圧縮が、必要とされるものよりも高いことを知ることができる。この条件を検出するに際し、それがＣＲ＞３を備えたｇｆｘ曲線２１２０上の点２１２３で動作するように、設定インデックスは３にまで減少される。本発明の一実施形態は、過剰圧縮条件を反復して検出し、またＣＲ＞２．５を備えたｇｆｘ曲線２１２０上の点２１２１に達するまで、該設定インデックスを減少させ続けるであろう。ｇｆｘ曲線２１２０上を点２１２４から点２１２１へと移動させると、ＣＲが初期ＣＲよりも大きいことを保証しながら、ＰＳＮＲは約３８ｄＢから約５７ｄＢへと増大する。
【０１７７】
先の説明は、圧縮されたパケットの実際のサイズ上でのフィードバックを使用して、ＰＳＮＲの改善をカバーしている。本発明のもう一つの実施形態においては、変化するチャンネル条件に反応して、無線送信の前にパケットを保持する送信バッファ中でのオーバーフローを防止するために、他のフィードバックを使用することができる。
【０１７８】
受信機が全てのパケットのアクノリッジを要求されるならば、アクノリッジされないパケットは再送信されることができる。再送信に際して、送信バッファは再送信の間に排出されないので、ＣＲを増大させてバッファのオーバーフローを防止するために設定インデックスを増分させることができる。ＷｉＭｅｄｉａ・ＭＡＣ仕様は、取決められた時間スロットを可能にし、その間にビデオ送信が不能にされる（“WiMedia MAC 0.99 RC1” by Multiband OFDM Alliance Special Interest Group, 2005参照）。これらの時間スロットは予め知られているから、該設定インデックスもまた、このような時間スロットの前、最中および直後に増分されることができる。ここでも、送信バッファは不能化された時間スロットの間に排出されないので、この動作はバッファのオーバーフローを防止するであろう。最後に、バッファの満杯度が予め定められた閾値、例えばバッファ容量の６５％を超えるときは何時でも、該設定インデックスは、バッファのオーバーフローを防止するために増大されることができる。再送信に関するフィードバック、不能化された時間スロット、およびバッファ満杯度が存在しないときは、当該レート制御方法は先に説明した動作に戻り、該動作では初期ＣＲよりも上で動作する間に、過剰圧縮が検出され、設定インデックスが減少されてＰＳＮＲを増大させる。
【０１７９】
図２２は、本発明の一実施形態に従う改善されたビデオレート制御のための、ファームウエア実施の方法を示すフローチャートである。この方法は、過剰圧縮を検出することによってレート制御特性を改善するために、圧縮されたパケットサイズ上でのフィードバックを使用する。
【０１８０】
図２２に描かれたプロセスは、ＸＧＡビデオを送信する例（１０２４ｘ７６８＠６０Ｈｚ）を介して説明することができる。このビデオフォーマットは、１１３２Ｍｂｐｓの生ビットレートを必要とする。送信が始まると、該システムは、ＭＡＣから５２５Ｍｂｐｓのスループット予測を得る。従って、初期ＣＲは１１３２／５２５＝２．１６よりも大きいはずである（ステップ２２０１）。最悪事例のＣＲから、設定＃４が、初期ＣＲよりも大きい最小の最悪事例のＣＲを得るために選択される（ステップ２２０２）。次のビデオパケットは、設定＃４でのレート制御動作を用いて発生される（ステップ２２０３）。
【０１８１】
ビデオコンテンツがｇｆｘ画像と同様であれば、設定＃４は、当該システムに対して、図２１におけるｇｆｘ曲線２１２０上の点２１２４において動作を生じさせる。従って、平均ＣＲは３．５よりも大きいであろうし、これは初期ＣＲ＝２．１６よりも遥かに大きい。該コンテンツは比較的圧縮し易いので、圧縮されたビデオパケットのサイズをモニターすることによって（ステップ２２０４）、この条件を検出し、該圧縮が、必要とされるよりも高いことを確認することができる。このような条件を検出する際に、該システムは、ＣＲ＞３を備えたｇｆｘ曲線２１２０上の点２１２３で動作するために、設定インデックスを３まで減少させる（ステップ２２０６）。
【０１８２】
該プロセスは、過剰圧縮条件を反復して検出し、また図２１におけるＣＲ＞２．５を備えたｇｆｘ曲線２１２０上の点２１２１に達するまで、該設定インデックスを減少させ続けるであろう（ステップ２２０８）。ｇｆｘ曲線２１２０上を点２１２４から点２１２１へと移動させると、ＣＲが初期ＣＲｙよりも大きいことを保証しながら、ＰＳＮＲは約３８ｄＢから約５７ｄＢへと増大する。
【０１８３】
図２３は、本発明の一実施形態に従う改良されたビデオレート制御のための、別のハードウエア実施の方法を示すフローチャートである。この方法は、圧縮されたラインサイズ上でのフィードバックを使用して、過剰圧縮を検出する。該ハードウエア実施は、より迅速な応答を保証し、従って上記で述べたファームウエア実施よりも良好な特性を保証する。該プロセスは、レジスタｕｎｕｓｅｄ＿ｂｙｔｅｓ＿ａｃｃｕｍｕｌａｔｏｒをクリアすることによって開始される（ステップ２３０１）。ＸＧＡの例を再度参照すると、５２５Ｍｂｐｓチャンネル上での送信を維持するために、目的とするＣＲは２．１６であるべきである（ステップ２３０２）。従って、理想的に言えば、各ラインは１０２４＊３／２．１６＝１４２３バイトの最大値を占めるべきである。
【０１８４】
送信が始まるときに、該システムは、最悪事例のＣＲ＝２．４を保証する設定＃４を選択する（ステップ２３０３）。この設定は、４：２：２データ、ローパスＣＲ＝１およびハイパスＣＲ＝２でデオレート制御を動作させ、これは次のことを意味する：
ｍａｘＬｓｉｚｅ＝１０２４＊３＊０．２５／１．５＝５１２バイト
ｍａｘＨｓｉｚｅ＝１０２４＊３＊０．７５＊０．５／１．５＝７６８バイト
第一のラインは特定のｍａｘＬｓｉｚｅおよびｍａｘＨｓｉｚｅレート制御パラメータを使用して符号化され（ステップ２３０４）、その後、ＬｓｉｚｅおよびＨｓｉｚｅは、圧縮されたラインのレート制御パラメータにおけるローパスサブバンドおよびハイパスサブバンドの実際のサイズを表す（ステップ２３０５）。現在の例において、Ｌｓｉｚｅ＝３００バイト、およびＨｓｉｚｅ＝４００バイトを仮定すると：
（ｍａｘＬｓｉｚｅ＋ｍａｘＨｓｉｚｅ）−（Ｌｓｉｚｅ＋Ｈｓｉｚｅ）
＝１２８０−７００＝５８０バイト
である。
【０１８５】
これは、圧縮されたラインが、最大の可能なサイズに５８０バイトだけ達しないことを示している。換言すれば、該ラインは、設定＃４に関連した１２８０バイトの最大値を犯すことなく、それが実際有使用したものよりも５８０バイトだけ多く使用できたであろう。従って、ステップ２３０６において、該システムは、それらを後続のラインによって再利用できるように、これら５８０の未使用バイトをレジスタのｕｎｕｓｅｄ＿ｂｙｔｅｓ＿ａｃｃｕｍｕｌａｔｏｒに割り当てる。ステップ２３０７は、図２４において定義されたクリップ関数を使用して、ｕｎｕｓｅｄ＿ｂｙｔｅｓ＿ａｃｃｕｍｕｌａｔｏｒを３２Ｋバイトにクリップする。
【０１８６】
次に、該システムは、ΔＬ＝２５６バイト（ステップ２３０８）、およびΔＨ＝３６８バイト（ステップ２３０９）を設定する。結局、ステップ２３０４において次のラインが符号化されるときに、ビデオレート制御は下記を使用することを可能にするであろう
ｍａｘＬｓｉｚｅ＋ΔＬ＝５１２＋２５６＝７６８バイト、（ローパスサブバンドについて）：および
ｍａｘＨｓｉｚｅ＋ΔＨ＝７６８＋３６８＝１１３６バイト、（ハイパスサブバンドについて）。
【０１８７】
このラインのための有効な最大ラインサイズは、先のラインからの未使用バイトの一部を再生使用することによって増大されるので、ビデオレート制御は、このラインについて厳格さの低い量子化設定を選択してよい。これは、より良好な視覚的品質をもたらす。
【０１８８】
未使用のバイトが２．４よりも大きいＣＲを備えたラインから再生されて、５２５Ｍｂｐｓ未満の瞬間的帯域幅要件をもたらすので、５２５Ｍｂｐｓのスループット制限は経時的に破られない。これら未使用のバイトは、より低いＣＲで圧縮され得る後続のラインに割り当てられ、５２５Ｍｂｐｓよりも大きい瞬間帯域幅をもたらす。しかし、該システムは未使用のバイトを再生使用し、これはラインを許容可能な最大サイズ、即ち、ｍａｘＬｓｉｚｅ＋ｍａｘＨｓｉｚｅ＝１２８０バイトよりも小さくするので、平均帯域幅要件は５２５Ｍｂｐs未満であるように保証される。（１２８０バイトは、５２５Ｍｂｐsのスループットを保証する１４２３バイト制限よりも小さいことを想起されたい）。
【０１８９】
実際には、高優先度および低優先度のパケットが送信の前に送信バッファに配置されるので、幾つかのライン上で瞬間的に５２５Ｍｂｓｐの帯域幅制限を超えることは深刻な問題ではない。パケットが到着する平均レートが５２５Ｍｐｂｓを超えないと仮定すれば、十分に大きいバッファは、オーバーフローを伴わずに５２５Ｍｂｐｓの一定のレートで排出されてよい。
【０１９０】
先の説明は、十分に大きい送信バッファが利用可能であれば、瞬間的な大きな帯域幅要件はバッファオーバーフローを生じないことを示している。大きなバッファに関連したコストを低減するために、本発明の一実施形態は以下の技術を使用し、低コストの中程度のサイズのバッファを用いてバッファのオーバーフローを防止する。
【０１９１】
１）設定＃４はＣＲ＝２．４で動作し、これは１１３２／２．４＝４７２Ｍｂｐｓのスループットに対応する。従って、再生されるバイトは平均４７２Ｍｂｐｓの帯域幅要件を生じるであろうが、瞬間的にはそれらは４７２Ｍｂｐｓを越えるかもしれない。しかし、瞬間の帯域幅要件が持続的時間に亘って５２５Ｍｂｐｓを超え、バッファのオーバーフローを生じることは全くありそうにない。
【０１９２】
２）ステップ２３０７は、図２４に定義されたクリップ関数を使用して、未使用＿バイト＿アキュムレータを３２Ｋバイトにクリップする。このレジスタを３２Ｋバイトに飽和させることにより、本発明の実施形態は、未使用バイトを再生できる連続するラインの数に上限を定める。従って、５２５Ｍｂｐｓを越える瞬間的な帯域幅要件を備えた連続的なラインの数には上限が定められる。これは、バッファがオーバーフローする可能性を低減する。
【０１９３】
３）ステップ２３０８および２３０９は、ΔＬおよびΔＨをそれぞれ２５６バイトおよび７６８バイトにクリップする。この高い方は、最大の圧縮ラインサイズを、ｍａｘＬｓｉｚｅ＋２５６＋ｍａｘＨｓｉｚｅ＋７６８＝２３０４に制限し、これは２３０４＊８＊７６８＊６０＝８４９Ｍｂｐｓの瞬間的帯域幅要件に対応する。瞬間的帯域幅要件は、それが５２５Ｍｂｐｓを越えるときは何時でも上限が８４９Ｍｂｐｓに定められるので、バッファのオーバーフローを生じる可能性は低い。
【０１９４】
上記で述べたファームウエアおよびハードウエア法は、圧縮されたパケットもしくはラインのサイズに関するフィードバックに基づいて、視覚的品質の改善をカバーする。しかし、変化するチャンネル条件に反応して、無線通信に先立ってパケットを保持する送信バッファにおけるオーバーフローを防止するために、他のフィードバックを使用することができる。
【０１９５】
受信機が全てのパケットにアクノリッジすることを要求されるなら、アクノリッジされないパケットは再送信することができる。送信バッファは再送信の間は排出されないので、ＣＲを増加してバッファのオーバーフローを防止するように、再送信の際に設定インデックスを増分することができる。
【０１９６】
ＷｉＭｅｄｉａ・ＭＡＣ明細（Multiband OFDM Alliance Special Interest Group, 2005による“WiMedia MAC 0.99 RC1”参照）は、ビデオ送信が不能化される取決められた時間スロットを可能にする。これらの時間スロットは予め知られているので、該設定インデックスは、このような時間スロットの前、最中および直後に増分されることができる。ここでも再度、送信バッファは不能化された時間スロットの間に排出されないので、この動作はバッファのオーバーフローを防止するであろう。
【０１９７】
最後に、バッファの充分度が、バッファ容量の６５％のように予め定められた閾値を超えるときは何時でも、バッファのオーバーフローを防止するために、設定インデックスを増分することができる。再送信、不能化された時間スロットおよびバッファの満杯度に関するフィードバックがないときは、レート制御法は先に記載した動作に戻り、ここでは上記初期ＣＲを動作させる間に過剰圧縮が検出され、設定インデックスが減少されてＰＳＮＲを増大させる。本開示の実施形態を詳細に説明してきたが、当業者は、本開示の精神および範囲を逸脱することなく種々の変更、置換および変更をなし得ることを理解すべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[１]（補正前の請求項１）
ビデオレート制御のための方法であって：
ビデオフレームの第一のアクティブラインを受信するステップと；
前記第一のアクティブラインに関連したアクティブビデオデータのための複数の量子化パラメータを決定するステップと；
前記複数の量子化パラメータを符号化システムに提供し、ここでの複数の量子化パラメータは、前記第一のアクティブラインのビデオレートが最大ビデオレートを超えないように、前記第一のアクティブラインの少なくとも一部を符号化するために使用されるステップと；
前記ビデオフレームの第二のアクティブラインを受信するステップと；
を含んでなり、
前記第一のアクティブラインに関連したアクティブビデオデータのための複数の量子化パラメータを決定するステップは、前記ビデオフレームの第二のアクティブラインの水平ブランキング部分の間に少なくとも部分的に行われる方法。
[２]（補正前の請求項２）
請求項１に記載の方法であって、前記第一のアクティブラインを受信することは前記第一のアクティブラインの、ローパス部分を受信すること、および前記第一のアクティブラインのハイパス部分を受信することを含む方法。
[３]（補正前の請求項３）
請求項２に記載の方法であって、前記第一のアクティブラインに関連したアクティブビデオデータのための複数の量子化パラメータを決定することは、前記第一のアクティブラインのローパス部分のための少なくとも一つのローパス量子化パラメータを決定すること、および前記第一のアクティブラインのハイパス部分のための少なくとも一つのハイパス量子化パラメータを決定することを含む方法。
[４]（補正前の請求項４）
請求項３に記載の方法であって、更に、前記第一のアクティブラインの前記ハイパス部分のためのハイパス最大符号化ラインサイズを受信すること、および前記第一のアクティブラインの前記ローパス部分のためのローパス最大符号化ラインサイズを受信することを含んでなり、
前記第一のアクティブラインのローパス部分のための前記ローパス量子化パラメータを決定することは、前記第一のアクティブラインのローパス部分のローパス符号化長さが、前記ローパス最大符号化ラインサイズよりも小さいかどうかを比較することを含み、
前記第一のアクティブラインのハイパス部分のための前記ハイパス量子化パラメータを決定することは、前記第一のアクティブラインのハイパス部分のハイパス符号化長さが、前記ハイパス最大化符号化ラインサイズよりも小さいかどうかを比較することを含む方法。
[５]（補正前の請求項５）
請求項１に記載の方法であって：前記複数の最適量子化パラメータを決定することは、  前記第一のアクティブラインのためのビットレート要件を受信することと；
初期スループット推定値を受信することと；
初期圧縮比を決定することと；
前記初期圧縮比よりも大きい第二の圧縮比を決定することと；
過剰圧縮を検出すること
を含む方法。
[６]（補正前の請求項６）
請求項５に記載の方法であって：更に、
圧縮されたビデオパケットサイズを受信することを含んでなり；
前記過剰圧縮を検出することは、前記受信した圧縮されたビデオパケットサイズをモニターすることを含む方法。
[７]（補正前の請求項７）
請求項５に記載の方法であって：更に、
圧縮されたラインサイズを受信することを含んでなり；
前記過剰圧縮を検出することは、前記圧縮されたラインサイズをモニターすることを含む方法。
[８]（補正前の請求項８）
請求項５に記載の方法であって：過剰圧縮を検出することは、
実際の符号化されたローパスラインサイズを決定することと；
実際の符号化されたハイパスラインサイズを決定することと；
前記実際の符号化されたローパスラインサイズを、先に符号化されたローパスラインサイズと比較することと；
前記実際の符号化されたハイパスラインサイズを、先に符号化されたハイパスラインサイズと比較すること
を含む方法。
[９]（補正前の請求項９）
請求項８に記載の方法であって、前記先に符号化されたローパスラインサイズは最大符号化ローパスラインサイズを含み、また前記先に符号化されたハイパスラインサイズは最大符号化ハイパスラインサイズを含む方法。
[１０]（補正前の請求項１０）
請求項２に記載の方法であって：更に、
前記第一のアクティブラインのローパス部分に関連したローパス画素ドメイン歪みを予測することと；
前記第一のアクティブラインのハイパス部分に関連したハイパス画素ドメイン歪みを予測すること
を含んでなる方法。
[１１]（補正前の請求項１１）
請求項２に記載の方法であって：更に、
ハイパス変換係数を提供することと；
ローパス変換係数を提供すること
を含んでなる方法。
[１２]（補正前の請求項１２）
請求項２に記載の方法であって：更に、少なくとも一つの量子化レベルについてのデータを予想することにより、前記第一のアクティブラインのローパス部分のローパス符号化長さを決定することを含んでなる方法。
[１３]（補正前の請求項１３）
請求項１２に記載の方法であって、前記少なくとも一つの量子化レベルについてのデータを予想することは、前記第一のアクティブラインのローパス部分の近隣に基づいて予想することを含む方法。
[１４]（補正前の請求項１４）
ラインに基づくビデオ圧縮のための方法であって：
ビデオフレームのラインに基づいて、ビデオフォーマットを選択することと；
前記ビデオフレームのラインに基づいて、ウエーブレット変換を選択することと；
前記選択されたウエーブレット変換に基づいて前記ビデオフレームのラインのローパス部分およびハイパス部分を提供することと；
前記ビデオフレームのラインにおける前記ローパス部分および前記ハイパス部分のための量子化パラメータを受信することと；
前記量子化パラメータを、前記ビデオフレームのラインにおける前記ローパス部分および前記ハイパス部分に適用すること
を含んでなる方法。
[１５]（補正前の請求項１５）
請求項１４に記載の方法であって：更に、
前記ローパス部分を、指数分布に適合させるように調節することと；
前記発生されたローパス部分およびハイパス部分を符号化すること
を含んでなる方法。
[１６]（補正前の請求項１６）
請求項１４に記載の方法であって、前記ビデオフォーマットはＲＧＢフォーマットおよびＹＵＶフォーマットのうちの一つを含む方法。
[１７]（補正前の請求項１７）
請求項１６に記載の方法であって、前記ＹＵＶフォーマットは、４：４：４フォーマット、４：２：２フォーマット、および４：１：１フォーマットのうちの一つを含む方法。
[１８]（補正前の請求項１８）
請求項１４に記載の方法であって、前記ウエーブレット変換を選択することは、ダウベシーズ（７，９）ウエーブレット変換およびラガル（５，３）ウエーブレット変換のうちの一つを選択することを含む方法。
[１９]（補正前の請求項１９）
請求項１４に記載の方法であって、前記ウエーブレット変換を選択することは、予め定められた画像圧縮標準を使用する前記ウエーブレット変換を含む方法。
[２０]（補正前の請求項２０）
請求項１９に記載の方法であって、前記ウエーブレット変換を選択することは、前記予め定められた画像圧縮標準を使用するウエーブレット変換よりも大きな圧縮比を提供するために、丸め方法を使用するウエーブレット変換を選択することを含む方法。
[２１]（補正前の請求項２１）
請求項１５に記載の方法であって、前記符号化は、前記ビデオフォーマットのラインに基づいて、算術的符号化およびゴロム符号化の間で選択的にスイッチする符号化器を使用することを含む方法。
[２２]（補正前の請求項２２）
請求項２１に記載の方法であって、前記符号化は、算術を伴わずに実施されるゴロム符号化器を使用することを含む方法。
[２３]（補正前の請求項２３）
請求項１４に記載の方法であって：更に、
前記ハイパス部分における垂直エッジを予想することと；
前記ハイパス部分において前記垂直エッジを抑制することにより、残りのハイパス部分を得ること
を含んでなり、
前記符号化は、前記残りのハイパス部分を符号化することを含む方法。
[２４]（補正前の請求項２４）
請求項２３に記載の方法であって、前記ハイパス部分における垂直エッジを予想することは、垂直エッジ検出器を用いて前記ローパス部分を処理することを含み、
前記ハイパス部分において前記垂直エッジを抑制することは、前記予想された垂直ヘッジを前記ハイパス部分から差し引くことを含んでなる方法。
[２５]（補正前の請求項２５）
請求項１４に記載の方法であって：更に、
少なくとも一つのハイパスウエーブレット係数を発生させることと；
少なくとも一つのローパスウエーブレット残差を発生させること
を含んでなる方法。
[２６]（補正前の請求項２６）
請求項２５に記載の方法であって：更に、
少なくとも一つのハイパスウエーブレット係数を符号化することと；
少なくとも一つのローパスウエーブレット残差を符号化すること
を含んでなる方法。
[２７]（補正前の請求項２７）
請求項２６に記載の方法であって、前記少なくとも一つのハイパスウエーブレット係数を符号化することが、ゴロム符号化を含む方法。
[２８]（補正前の請求項２８）
請求項２６に記載の方法であって、前記少なくとも一つのローパスウエーブレット残差を符号化することが、ゴロム符号化を含む方法。
【図１】
0005425865.tif 000006
【図２】
0005425865.tif 000007
【図３】
0005425865.tif 000008
【図４】
0005425865.tif 000009
【図５】
0005425865.tif 000010
【図６】
0005425865.tif 000011
【図７】
0005425865.tif 000012
【図８】
0005425865.tif 000013
【図９】
0005425865.tif 000014
【図１０】
0005425865.tif 000015
【図１１】
0005425865.tif 000016
【図１２】
0005425865.tif 000017
【図１３】
0005425865.tif 000018
【図１４】
0005425865.tif 000019
【図１５】
0005425865.tif 000020
【図１６】
0005425865.tif 000021
【図１７】
0005425865.tif 000022
【図１８】
0005425865.tif 000023
【図１９】
0005425865.tif 000024
【図２０】
0005425865.tif 000025
【図２１】
0005425865.tif 000026
【図２２】
0005425865.tif 000027
【図２３】
0005425865.tif 000028
【図２４】
0005425865.tif 000029
【図２５】
0005425865.tif 000030
【図２６】
0005425865.tif 000031
【図２７】
0005425865.tif 000032
【図２８】
0005425865.tif 000033