(57)【要約】符号なしデータの不遍丸めはデータビデオを表すデジタルビットストリームの復号化、又は、コード化及び復号化に関して使われる。すなわち、データビデオが第１のビットデプスでコード化され、第１のビットデプスより低い第２のビットデプスで復号化されるときに使用される。予測ループを使う処理において不遍丸めを使うことができる。データ圧縮映像がフレームで表されるとき、不遍丸めはインターフレームデータ及び／又はイントラフレームデータのものとすることができる。
2008507206.tif 000002
【特許請求の範囲】
【請求項１】
第１のビットデプスでコード化されたデータ圧縮映像を表すデジタルビットストリームを復号化する方法であって：
第２のより低いビットデプスで復号化することを含み、前記復号化は中間処理における符号なしデータの不遍丸めを含む方法。
【請求項２】
請求項１に記載の方法であって：前記復号化は、予測ループにおいて、前記符号なしデータの不遍丸めを含む処理を含む方法。
【請求項３】
請求項１又は請求項２に記載の方法であって：前記データ圧縮映像はフレームで表され、前記符号なしデータの不遍丸めがフレーム間データ及び／又はフレーム内データの前記不遍丸めを含んでいる方法。
【請求項４】
データ圧縮映像を表すデジタルビットストリームをコード化する方法であって：前記コード化は中間処理における符号なしデータの不遍丸めを含んでいる方法。
【請求項５】
請求項４に記載の方法であって：前記コード化は、予測ループにおいて、前記符号なしデータの不遍丸めを含む処理を含んでいる方法。
【請求項６】
請求項４又は請求項５に記載の方法であって：前記データ圧縮映像はフレームで表され、前記符号なしデータの不遍丸めがフレーム間データ及び／又はフレーム内データの前記不遍丸めを含んでいる方法。
【請求項７】
データ圧縮映像を表すデジタルビットストリームをコード化し復号化する方法であって：
中間処理において、符号なしデータの不遍丸めを含むコード化を第１のビットデプスで行い；
中間処理において、符号なしデータの不遍丸めを含む復号化を第２のより低いビットデプスで行う；
ことを含んでなる方法。
【請求項８】
請求項７に記載の方法であって：前記コード化は、予測ループにおいて、前記符号なしデータの不遍丸めを含む処理を含み、前記復号化は、予測ループにおいて、前記符号なしデータの不遍丸めを含む処理を含む方法。
【請求項９】
請求項７又は８に記載の方法であって：前記データ圧縮映像はフレームで表され、前記符号なしデータの不遍丸めがフレーム間データ及び／又はフレーム内データの不遍丸めを含んでいる方法。
【請求項１０】
請求項１乃至９のいずれか１つに記載の方法を実行するように設けた装置。
【請求項１１】
請求項１乃至９のいずれか１つに記載の方法をコンピュータに実行させるようにコンピュータリーダブルメディアに保存されたコンピュータプログラム
【請求項１２】
第１のビットデプスでコード化されたデータ圧縮映像を表すデジタルビットストリームを復号化するデコーダであって：
前記デジタルビットストリームを受け取る手段と；
第２のより低いビットデプスで復号化する手段であって、中間処理において符号なしデータの不遍丸めを行う手段と；
を含んでなるデコーダ。
【請求項１３】
請求項１２に記載のデコーダであって：前記復号化する手段は、予測ループにおける処理のための手段を含み、該処理のための手段が前記符号なしデータの不遍丸めを行う手段を含む方法。
【請求項１４】
請求項１３又は１４に記載のデコーダであって：データ圧縮映像がフレームで表され、前記符号なしデータの不遍丸めを行う手段は、フレーム間データ及び／又はフレーム内データの不遍丸めのための手段を含んでいるデコーダ。
【請求項１５】
データ圧縮映像を表すデジタルビットストリームをコード化するためのエンコーダであって：
中間的処理における符号なしデータの不遍丸めを含む処理を予測ループにおいて行う処理手段と；
前記デジタルビットストリームを出力する手段と；
を含んでなるエンコーダ。
【請求項１６】
請求項１５に記載のエンコーダであって：前記コード化手段は予測ループにおいて処理を行う手段を含み、前記処理手段が前記符号なしデータの不遍丸めのための手段を含むエンコーダ。
【請求項１７】
請求項１５又は１６に記載のエンコーダであって：前記データ圧縮映像はフレームで表され、前記符号なしデータの不遍丸めのための手段はフレーム間データ及び／又はフレーム内データの不遍丸めのための手段を含むエンコーダ。
【請求項１８】
データ圧縮映像を表すデジタルビットストリームをコード化し復号化するシステムであって：
予測ループにおける処理を行う処理手段を含み第１のビットデプスでコード化するコード化手段であって、前記処理手段は中間処理において符号なしデータの不遍丸めを行う手段を含むコード化手段と；
予測ループにおいて処理を行う処理手段を含み第２のより低いビットデプスで復号化する復号化手段であって、該復号化手段の前記処理手段は中間処理において符号なしデータの不遍丸めを行う手段を含む復号化手段と；
を含んでなるシステム。
【請求項１９】
請求項１８に記載のシステムであって：前記コード化手段は予測ループにおける処理を行う手段を含み、前記コード化手段の前記処理手段は前記符号なしデータの不遍丸めを行う手段を含み、前記復号化は予測ループにおける処理を含み、該処理が前記符号なしデータの不遍丸めを行う手段を含んでいるシステム。
【請求項２０】
請求項１８又は１９に記載のシステムであって：前記データ圧縮映像はフレームで表され、前記符号なしデータの不遍丸めを行う手段は、フレーム間データ及び／又はフレーム内データの不遍丸めを行う手段を含んでいるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像を圧縮するデジタル手法に関し、特に、圧縮効率を高めるためのインター予測又はイントラ予測を利用する圧縮方式のためのより正確な丸め方法に関する。発明は方法だけではなく、対応するコンピュータプログラムと装置を含む。
【背景技術】
【０００２】
ビデオ画像のデジタル表現は、何らかの特定のビットデプスに量子化された画像強度及び／又はカラーの複数の空間的サンプルから成る。このビットデプスの有力値は８ビットであり、これは妥当な画像品質を与え、各サンプルが１バイトのデジタルメモリーに完全に収まる。しかしながら、ＭＰＥＧ−４、Ｈ.２６４へのスタジオ、Ｎ−ビットプロフィール及び忠実度範囲拡張（以下の文献参照）に示されるように、１サンプル当たり１０ビットや１２ビットのように、より高いビットデプスで作動するシステムに対する需要が増大している。
【０００３】
大きなビットデプスは、総圧縮において、より高い忠実度、またはより小さい誤差を与える。誤差の最も一般的な測定は、平均２乗誤差（ＭＳＥ）評価基準である。空間的サンプルがrefx,yである基準画像と、空間的サンプルがtestx,yである試験画像との間のＭＳＥは以下の式（１）で与えられる。
【式１】
【０００４】
2008507206.tif 000003
ここで、ＮＸとＮＹは、ｘ方向のサンプル数と、ｙ方向のサンプル数である。基準画像が入力画像であり、試験画像が圧縮画像であるときに、ＭＳＥはひずみと呼ばれる。この場合、これら両方のイメージの空間的サンプルはデジタル量である。圧縮画像の忠実度はこのひずみ、すなわち、ＭＳＥ（これは、最大可能な（ピーク）振幅に正規化され対数で示される）によって決定される。要するに、ｄＢで示すひずみＰＳＮＲ（ピークＳＮ比）は以下の式（２）によって示される。
【式２】
【０００５】
2008507206.tif 000004
より大きいビットデプスはＰＳＮＲのより高い値を与える。これを示すためにＭＳＥ評価基準の一般性を使用できる。アナログ入力のＮビットの量子化を考える。ここで、ＭＳＥはアナログ入力のデジタル近似として計算される。Ｎビットサンプリングの量子化誤差は、ＭＳＥが最下位ビットに関して１／１２になるように、区間［-1/2，1/2］の独立した一様分布のランダムノイズとして一般的にモデル化される。入力サンプル（標本）が［０，２Ｎ―１］範囲の整数であるので、ピーク値は２Ｎ−１である。したがって、このＭＳＥに対応するＰＳＮＲは以下となる。
【式３】
【０００６】
2008507206.tif 000005
これはオリジナル画像のアナログサンプルと、その量子化された表示との誤差を表すので、オリジナルのアナログ画像と比べた圧縮結果の忠実度の上限である。以下の表１はいくつかの代表的なビットデプスの場合のこの上限を示す。
【表１】
2008507206.tif 000006
【０００７】
図１と図２は、それぞれ、Ｈ.２６４エンコーダと、デコーダに関するブロックダイアグラムである。ＭＰＥＧ−４／ＡＶＣとして知られるＨ.２６４は近代画像コード化において従来技術であると考えられる。ここで特に関連するものは、「忠実度範囲拡張」として一括して知られているＨ.２６４に関して最近開発された１セットの拡張である。
【０００８】
本発明の形態を「Ｈ.２６４ＦＲＥｘｔ」コード化環境の特定の利点と共に使用できる。Ｈ.２６４コード化の詳細は、ＩＳＯ／ＩＥＣ  ＭＰＥＧ及びＩＴＵ−Ｔ  ＶＣＥＧ（ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１及びＩＴＵ−Ｔ  ＳＧ１６  Ｑ．６）、スイス国ジュネーブでの２００３年５月２３日乃至２７日に開催された第８回会合での共同ビデオチーム（ＪＶＴ）の「共同ビデオ仕様（ＩＴＵ−Ｔ  Ｒｅｃ．Ｈ.２６４／ＩＳＯ／ＩＥＣ１４４９６−１０ＡＶＣ）の草案ＩＴＵ−Ｔ推奨及び最終草案国際規格」に詳しく説明されている。
【０００９】
上の２つの文献の全内容は、参照のためにここに取り入れられる。「忠実度範囲拡張」は、１０ビット及び１２ビットのコード化を含むサンプル精度を高めたより高い忠実度画像コード化をサポートする。本発明の態様はそのような高いサンプル精度の実施に関して特に役立つ。Ｈ.２６４規格とその実施に関する更なる詳細を様々な発行された文献に見ることができ、そのような文献は、例えば、ＥＢＵテクニカルレビュー２００３年１月（１２ページ）のラルフ・シュエーフェル（ＲａＩｆ  Ｓｃｈａｆｅｒ）他による「浮上するＨ.２６４／ＡＶＣ規格」と、ｗｗｗ．ｖｃｏｄｅｘ．ｃｏｍで発行（０７／１０／０２）したＩａｉｎ  ＥＧ  Richardson（リチャードソン）による「Ｈ.２６４／ＭＰＥＧ−４、パート１０白書：Ｈ.２６４の概要」を含む。上記２つの文献、シュエーフェル他と、リチャードソンの刊行物の全内容は、参照のためにここに取り入れられる。以下でさらに説明するように、変更ＭＰＥＧ−２コード化環境に関する利点と共に本発明の態様をまた使用できる。
【００１０】
図１に示すＨ.２６４またはＨ.２６４ＦＲＥｘｔエンコーダ（これらはブロックダイアグラムレベルでは同じである）は、今ではビデオコーダとして一般的な要素である変換及び量子化処理、エントロピー（無損失）コード化、動作推定（ＭＥ）及び動き補償（ＭＣ）と、再構築されたフレームを保存するバッファを有する。Ｈ.２６４とＨ.２６４ＦＲＥｘｔは多くの方法、すなわち、ループ内デブロッキングフィルタ、イントラ予測のためのいくつかのモード、新しい整数変換、２つのモードのエントロピー符号化（可変長符号化と算術符号化）、最小４×４ピクセルの動きブロック等、において前のコーデックと異なっている。
【００１１】
エントロピー復号化ステップを除いて、図２に示すＨ.２６４又はＨ.２６４ＦＲＥｘｔデコーダを前記エンコーダの部分集合であると容易に考えることができる。
【００１２】
Ｈ.２６４に対する忠実度範囲拡張（ＦＲＥｘｔ）は、１サンプル当たり最大で１２ビットのサンプルビットデプスでコード化し復号化するツールを提供する。これは、統一された方法で１サンプル当たり８ビットを超えるビットデプスでコード化し復号化するツールを取り入れるための最初の画像コーデックである。特に、Ｈ.２６４に対する忠実度範囲拡張で採用された量子化法は、以下の文献において説明されるように、複数の異なったサンプルビットデプスで潜在的に互換性がある圧縮されたビットストリームを作成する。
【００１３】
文献：２００４年５月１９日出願の米国仮特許出願６０／５７３，０１７（出願人：ウォルター・Ｃ．ギッシュとクリストファーＪ．フォークト、発明の名称「可変ビットデプスに関する量子化制御」）と；該仮特許出願６０／５７３，０１７の優先権を主張する米国非仮特許出願１１／１２８，１２５（出願人及び発明の名称は前記仮特許出願のものと同じ）。
【００１４】
前記米国仮特許出願及び非仮特許出願の全内容は参照のためにここに取り入れられる。前記米国仮特許出願及び非仮特許出願のテクニックは、異なったビットデプスで作動するエンコーダとデコーダの相互作動、特に、デコーダがエンコーダのビットデプスより低いビットデプスで作動する場合の相互作動を容易にする。前記ギッシュとフォークトによる仮及び非仮特許出願に開示されたテクニックのいくつかの詳細は下記の文献において公開され、Ｈ.２６４に対する忠実度範囲拡張で採用された量子化法を説明している。
【００１５】
文献：ＩＳＯ／ＩＥＣ  ＭＰＥＧ＆ＩＴＵ−Ｔ  ＶＣＥＧ（ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１及びＩＴＵ−Ｔ  ＳＧ１６  Ｑ．６）、ドキュメントＪＶＴ−Ｈ０１６（２００３年５月２３日乃至２７日にスイス国ジュネーブでの第８回会合）の共同ビデオチーム（ＪＶＴ）の「拡張サンプルデプス：インプリメンテーションと特殊化」（これは、ワールドワイドウェブ上でｈｔｔｐ：／／ｆｔｐ３．ｉｔｕ．ｃｈ／ａｖ−ａｒｃｈ／ｊｖｔ−ｓｉｔｅ／２００３＿０５＿Ｇｅｎｅｖａ／ＪＶＴ−Ｈ０１６．ｄｏｃで公開された）。
【００１６】
前記ＪＶＴ−Ｈ０１６の全内容もまた参照のためにここに取り入れられる。
【００１７】
本発明の目標は、高ビットデプス入力から高ビットデプスでコード化されたビットストリームを復号化することであるが、この復号化は、単にその同じ高ビットデプスで行われるのではなく、元の高ビットデプスイメージの妥当な近似を持つ復号化イメージを与えるようなより低いビットデプスで行われる。このことは、例えば、８ビットか１０ビットのＨ.２６４ＦＲＥｘｔデコーダを可能にし、これらのデコーダは、従来であれば、それぞれ１０ビットか１２ビットのＨ.２６４ＦＲＥｘｔデコーダを必要とするビットストリームを妥当な程度に復号化可能である。代替的に、これは、従来の８ビットＭＰＥＧ−２デコーダ（以下で説明する図９のように）を可能にし、このデコーダは、図１０ａに関して以下で説明するような変更ＭＰＥＧ−２エンコーダによって生成されるビットストリームを妥当な程度に復号化することを可能にする。その復号化は、別の方法では、図１０ｂに関して以下に説明されるような変更ＭＰＥＧ−２デコーダを必要とするであろう。
【００１８】
図３は、高ビットデプスソースでコード化された単一のビットストリームが元の高ビットデプス及びそれよりも低いビットデプスで復号化されたときに、より低いビットデプスでの復号化が高ビットデプス基準に対して、ＭＳＥ測定でのある誤差を持つことを示している。図３の例では、より低いビットデプスでの近似はまるで低エンコーダビットデプスで復号化され、すなわち、それは従来のデコーダ（以下の図６参照）又は本発明の不遍丸めの態様を使う従来のデコーダ（以下の図７参照）である。
【００１９】
人は、異なったビットデプスでの復号化の結果が丸め誤差のためにいくらか異なると予想するだろうが、先行技術のエンコーダとデコーダに関して観測された実際の違いは、はるかに大きくなる傾向がある。そのような大きな違いは、現在行われている丸め方法によって予測から予測へと丸め誤差が累積し悪化することによって起こる。図４は、エンコーダとデコーダの両方に存在する予測ループであって、丸めが起こる場所を特定する、すなわち、（イントラ及びインター）予測を計算する予測ループと、デブロッキングフィルタ及び残渣復号化を示す略図である。フレーム格納、予測、加算器、およびデブロッキングフィルタによって形成されたフィードバックループにおいて、予測から予測で、誤差がどう蓄積するかを見ることができる。以下でさらに説明するように、誤差の主発生源はインター予測と、イントラ予測である。ループデブロッキングフィルタはオプションであり、復号化の丸めにおいて、とりわけ、残差はより小さい誤差をもたらす。問題はこれらの誤差を最小にして、高ビットデプス出力と、より低いビットデプス近似の間のＭＳＥを最小にすることである。高ビットデプス復号化出力はエンコーダに関して誤差がない。なぜならば、それらは共に同じ高ビットデプス予測ループを有するからである。したがって、それと、より低いビットデプス近似の間のＭＳＥの減少は、より低いビットデプス復号化がより厳密に高ビットデプス復号化に近似することを示す。
【００２０】
インター予測の場合、１個のフレームからの丸め結果は、別のフレームでのイメージを予測するのに使用される。その結果、誤差は連続したフレームに渡って増大する。なぜなら、フレーム格納（バッファ）と、動き補償フィルタからの予測を含んでなるフィードバックループが誤差を蓄積するからである。結果は、図３に示す異なるビットデプスの復号化されたフレーム間のＭＳＥが各予測されたフレーム又はマクロブロックにおいて増えることである。先行技術では、フレームからフレームへと蓄積するそのような誤差は、最初に、ＭＰＥＧ−２でのＩＤＣＴの間の許容できる不一致に対処するということに遭遇した。フレームからフレームへと誤差が増えることから、それは「ドリフト」と呼ばれた。Ｈ.２６４のイントラ予測モードは同様に挙動し、この場合だけ、ピクセルの丸め結果が同じフレーム内の他の隣接するピクセルを予測するのに使用される。イントラ予測とインター予測は共に、誤差が予測から予測へと蓄積し、かつ、予測計算のフォームが同じであるという点で、同じである。どちらの場合も、予測は、合計が１である端数係数によって重み付けられたフレーム格納からの整数値の丸め合計である。すなわち、予測値ｐｒｅｄ（ｘ、ｙ）は
【式４】
【００２１】
2008507206.tif 000007
ここで、ＦＸ（ｘ’，ｙ’）はフレーム格納値、ｃ（ｉ，ｊ）は重みづけ係数である。（ｘ，ｙ）、（ｘ’，ｙ’）及び（ｉ，ｊ）と、ｃ（ｉ，ｊ）の値との関係は予測子のタイプ、すなわち、インターモード又は特定のイントラモードに依存する。係数ｃ（ｉ，ｊ）が端数値であるので、この計算は、総和が２の階乗（この階乗の値は、結果を最終ビットデプスに切り下げる最終右シフト値）となる整数係数Ｃ（ｉ、ｊ）を使用することで通常実行される。
【式５】
【００２２】
2008507206.tif 000008
この形では、丸められた端数ビットの数はＭであるため、丸めのために加えられた１／２は２Ｍ−１と記される。この形は、それが実際に使用される最も一般的な形であるということだけではなく、Ｍの値が丸め誤差の厳密性を決定する（すなわち、式９）ので、重要である。
【００２３】
異なったサンプルビットデプスを使用するシステムはできるだけ共同利用できることが望ましい。すなわち、エンコーダかデコーダのビットデプスにかかわらずビットストリームを妥当に復号化することが好まれる。デコーダが入力のビットデプスに等しいかそれより大きいとき、エンコーダと同じビットデプスを有するデコーダをまねるのは些細である。デコーダがエンコーダよりも低いビットデプスを有するとき、いくらかの損失があるに違いないが、復号化された結果は、その低いビットデプスに対して適切なＰＳＮＲ、好ましくは、より小さくないものを持つできである。異なるビットデプス間の相互運用を達成することは計算詳細に慎重な注意を必要とする。米国特許出願公開公報ＵＳ２００２／０１５４６９３Ａ１は、すべての中間計算をより大きい精度で実行することによるコード化精度及び効率を改善する方法を開示した。前記公開公報の全内容は参照のためにここに取り入れられる。一般に、より高いビットデプスでの計算と比べると、妥当かつ一般的なより低いビットデプスでの近似は容認できなくなる。本発明の態様は、エンコーダへの入力よりも低いビットデプスでビットストリームを復号化するときの誤差を最小にするために、そのような中間計算における丸めを改良する方法に関する。
【発明の開示】
【００２４】
本発明の１態様は、より高いビットデプスのビットストリームのような、復号化に比べてより高いビットデプスでコード化されたビデオビットストリームをより低いビットデプスで復号化することから生じる誤差を減少させ又は最小化することに関する。特に、そのような誤差への主要な貢献（支配的なものでなくとも）が従来技術の圧縮技術に使用される単純な、しかし、偏向丸めによるものであることが示される。本発明の態様によると、デコーダにおける、あるいは、適切であるときには、デコーダとエンコーダの両方における不遍丸め法を使用して、エンコーダのビットデプスより低いビットデプスで復号化する結果による全体的精度を改良する。そのような結果は、エンコーダのビットデプスと同じビットデプスでの復号化と、それより低いビットデプスでの復号化との誤差を減少させ又は最小にすることで示すことができる。本書類を読み理解することで、本発明の他の態様を理解できるであろう。
【発明を実施するための最良の形態】
【００２５】
偏向丸めと不偏丸めに関する基礎事項
本発明の態様は、デコーダにおいて、あるいは、適切であるときには、デコーダとエンコーダの両方において、画像圧縮のため、特に、予測ループにおいて誤差が蓄積する傾向があるインター予測及びイントラ予測に関して、不遍丸めを使用することを提案する。したがって、丸め法とそれらの方法が生成する誤差の分析から始めることができる。特に、丸めによって引き起こされた誤差の平均と分散が関心事項である。画像圧縮における計算が通常異なった精度の整数で実行されるので、整数の丸めは特別の関心事項である。
【００２６】
最も一般的に採用されている丸め法は、１／２を加え、次に、結果の値を切り捨てる。すなわち、２進小数点がＮビット部分とＭビット部分の間にある（Ｎ＋Ｍ）ビットの値ｓを考えると、丸められたＮビット値ｒは次式で与えられる。
【式６】
【００２７】
2008507206.tif 000009
ここで、等号は切捨てを意味する。Ｍが２であるとし、この場合、ｓのＭ端数（小数）ビットに関して４つの可能性がある：
【表２】
2008507206.tif 000010
【００２８】
すなわち、.００と.０１の場合切り捨て、.１０と.１１の場合切り上げる。ｓの端数ビットの１／２値に関して問題が起こる。それは、この例の場合、．１０のケースである。１／２値の丸めは（例えば、数値解析分野において）特別な処理を必要とするのが知られている。これは、.０１と、.１１のケースでは互いにバランスがとれているが、.１０のケースでは何もバランスをとるものがない。この不均衡は、平均誤差がノンゼロであることを引き起こす。
【００２９】
これらの４つのケースのそれぞれは等しく起こりうるので、誤差平均と、誤差分散は以下の式で与えられる。
【式７】
【００３０】
2008507206.tif 000011
誤差分散３／３２は連続したケースのときの分散値の１／１２に近い。誤差平均がノンゼロであるので、これは「偏向丸め」と呼ばれる。丸めに関してノンゼロ誤差分散を避けることができないので、誤差分散を減少させるためにできることはほとんどない。しかしながら、平均誤差をゼロまで抑えるためのいくつかの解決法は知られている。小数部がまさに１／２であるときに、これらの解決法も半分の時間切り上げ、半分の時間切り下げる。切り上げ又は切り下げの決定には多数の方法があり、切り下げは、決定論的及びランダムになされる。例えば、
（ａ）偶数丸め：ｓの整数部分が奇数ならば、ｒを切り上げ、その他は切り下げ
（ｂ）交互：各丸めにおいて、１ビットカウンタを増加し、カウンタが１であれば切り上げ、そうでなければ切り下げ
（ｃ）ランダム：  ［０,１］間の乱数を拾い、この数が１／２以上であるなら切り上げ、そうでなければ切り下げ
これらの方法を用いて、表２の可能な結果は以下の通り。
【表３】
2008507206.tif 000012
【００３１】
故に、平均誤差と分散は、
【式８】
【００３２】
2008507206.tif 000013
これが平均誤差をゼロまで抑えるので、それは不遍丸めと呼ばれる。
【００３３】
これが一般に、用語「不遍丸め」使用法であるが、この用語がこれとは異なって使用される例は知られている。不遍丸めは、端数部分が同じ頻度で切り上げられ、切り下げられるように、端数部分の１／２値に関する特別な注意を伴う丸めを意味する。用語「不遍丸め」をそれと同じ意味に使用する先行技術の例として、Ｇｉａｃａｌｏｎｅ他による出願の米国特許出願公開公報２００３／００５５８６０Ａ１（発明の名称「プロセッサにおける丸め機構」）がある。この特許出願は、３２ビットの整数を１６ビットに丸めるとき、「偶数丸め」形式の不遍丸めを実行するサーキットリーについて説明する。他方、ウォン（Wong）に付与された米国特許５,９３０,１５９、発明の名称「丸めた整数結果を得るために整数オペランドを右に移行させて端数中間結果を丸める」は、ＭＰＥＧ−１とＭＰＥＧ−２規格で説明されるように、ゼロか無限への「丸め」のための「不遍」法として特徴付けるものを記述している。しかしながら、ウォンが説明する方法は丸め法というよりはむしろ切り下げ法として見ることが適切である。その上、正負値の等しいミックスの場合だけ不偏にされ、それらは、非負数に関して、（すべての切捨て法と同じように）高度に偏向している。ここに使用される不遍丸めは、正値と、負値に関して、単に組合せで不偏にされるのではなく、別々に不遍にされることである。
【００３４】
偏向丸めによって生成される誤差の大きさは端数ビットの数Ｍに依存する。上に提示した実施例において、Ｍが２であるので、偏向を生じさせるケースは時間の２５％で起こる。Ｍが１であるならば、このケースは時間の５０％で現れるので、平均誤差が２倍の大きさになる。同様に、Ｍが３であるならば、このケースは時間の１２．５％で現れるので、平均誤差が半分の大きさになる。このように、一般に、偏向丸めの平均誤差は以下となる。
【式９】
【００３５】
2008507206.tif 000014
この結果は、それがより少ない（すなわち、より小さいＭ）丸めに関して、偏向丸めによって生じた平均誤差がより大きいことを示す点で、いくらか直観に反している。
【００３６】
図６と７に結果を示すテストに関して、サンプルビデオあたり１０ビットが図１０ａで説明される変更ＭＰＥＧ−２エンコーダを使用して１０ビットでコード化され、次に、以下の３つの方法で復号化される。
【００３７】
（１）図１０ｂで説明される変更ＭＰＥＧ−２デコーダを使用した１０ビットでの復号化（この復号化は、図３のテスト装置での方法における次の２つの８ビットでの復号化のための基準として使用される。）
（２）図９ｂで説明される従来技術のＭＰＥＧ−２、８ビットデコーダを使用した８ビットでの復号化
（３）（図９ｂのように）従来技術のＭＰＥＧ−２、８ビットデコーダであるが、本発明の態様による不遍丸めを使うように変更されたものを使用した８ビットでの復号化
不遍丸め無しの８ビットデコーダと、不遍丸め有りの８ビットデコーダでのＭＳＥはそれぞれ、図３に示す方法における１０ビットでの復号化に関して計算される。全ドリフトＭＳＥに境界をつけるために、変更ＭＰＥＧ−２エンコーダによって４８フレームごとにＩフレームが挿入される。図６と７を比較すると、不遍丸めが約４の係数だけＭＳＥを減少させる（７５％の減少）ことがわかる。さらに、図６のＭＳＥのほぼ二次曲線的な拡大（すなわち、２次微分が正）は、図７において直線的又は副直線的でさえある拡大率に取り替えられる。これは、まったく、平均誤差、式（１２）と（１３）中の優位な項（すなわち、二次の項）をゼロへ減少させる不遍丸めを使用するためである。
【００３８】
インター予測での不遍丸めの効果（動き補償）
一般に、不遍丸めは偏向丸めより優れている。なぜならば、分散は変わりがないが、平均誤差がゼロまで抑えられるからである。誤差がフィードバックループで蓄積するので、偏向丸め影響が動き補償で特に有害であることを我々は示す。図５はそのような動き補償フィードバックループの必須構成要素を示す（図４に示したコード化された残差のためのデブロッキングフィルタと加算器は表示の簡便化のために省略されている）。
【００３９】
図５におけるフレーム格納は何らかの初期イメージによって初期化される。一般的な方法では、この初期イメージはイントラマクロブロックかイントラフレームピクチャーに対応している。動き補償フィルタは動き（モーション）ベクトルの整数部分によって置き換えられたフレーム格納の一部を補間する。このフィルタは、式（４）と（５）で示される総合的な１次形式を有する。一般に、フィルタ係数自体は動きベクトルの端数部分によって決定されるフェーズを有するウィンドウ化正弦関数であり、（ｘ’，ｙ’）は該動きベクトルの整数部分で決定される。端数係数ｃ（ｉ，ｊ）又はそれらの整数バージョンＣ（ｉ，ｊ）に対して丸め誤差を避けることができない。ｃ（ｉｊ）が整数である場合のみ、丸め誤差が全くなくなる。
【００４０】
図５のフィードバックループに因り、誤差分散は反復から反復へと一貫性無く加わるが、平均誤差が一貫して加わるので、平均誤差は、結局、フレーム格納における総平均２乗誤差（ＭＳＥ）を支配する。下の表４は反復から反復へと平均誤差と分散誤差の総ＭＳＥへの相対的寄与を示す。各反復は次のＰフレームかPマクロブロック、すなわち、前のフレームかマクロブロックから予測されるものに対応している。Ｂフレームが基準フレームとして使用されるとき、それらはまた反復を構成する。Ｋ番目の反復において、累積平均誤差は、
【式１０】
【００４１】
2008507206.tif 000015
であり、累積分散誤差は
【式１１】
【００４２】
2008507206.tif 000016
であり、結果のＭＳＥはよく知られる次の公式で与えられる。
【式１２】
【００４３】
2008507206.tif 000017
これは、Ｍ＝２（２ビットでの丸め）の場合、式（１０）と（１１）から、
【式１３】
【００４４】
2008507206.tif 000018
となる。
【００４５】
これらの式は、偏向丸めが全体ＭＳＥに対する漸近性の優位（すなわち、Ｋにおける二次式）貢献者であることを示す。
【表４】
2008507206.tif 000019
【００４６】
表４を検査すると、初めは、平均誤差からの寄与（貢献）が分散誤差からの寄与の１／６であることがわかる。しかしながら、それらは６番目の反復において等しく、３２番目の反復で、平均誤差は分散誤差の５倍以上である。
【００４７】
動き補償における実際のフィルタリングが２次元であり、丸められる端数ビット数がコーデック特有の詳細に依存するので、以上の実施例は単に例示的なものである。平均誤差が支配的である反復はこの簡単な実施例と異なることができるが、詳細にかかわらず、平均誤差は少ない数の反復の後に支配的である。
【００４８】
不遍丸めに変えることによって、平均誤差からの寄与をゼロまで抑えることができる。図６と７は、それぞれ、図１０（ａ）に示すＭＰＥＧ−２の変更バージョンを使用して１０ビットソースからコード化されたビットストリームを８ビットで復号化するために、先行技術の偏向丸めを用いた場合と、本発明による不遍丸めを用いた場合のＭＳＥ又はドリフト誤差の拡大を示す。
【００４９】
イントラ予測での不遍丸めの効果
Ｈ.２６４とＨ.２６４ＦＲＥｘｔは、それらがイントラ予測のための多くのモードを有するので、現代のコーデックの中でユニークである。これらのモードの多くは多くの隣接するピクセル（最も一般的に２又は４つ）を平均し、任意のピクセルに関する初期見積りに到達する。これらの平均化計算には、偏向丸めを使用する式４と５で示す同じ１次形式を有する。少数の値だけが結合されるので、偏向丸めからの誤差は特に重要である。なぜなら、これが式６におけるＭ＝１、２に対応しているからである。
【００５０】
図８は、Ｈ.２６４とＨ.２６４ＦＲＥｘｔシステムでの任意のブロック（黒で示すブロック）に関してイントラ予測値に影響を与えうるブロックを白で示している。これらの予測を４×４ピクセル程度の小さなブロックに関して行うことができるので、イントラ予測のための誤差伝搬は再三何度も起こりうる。例えば、１０８０×１９２０のＨＤＴＶ解像度において、横方向と縦方向の両方向に何百個もの反復が生じうる。比較のために、図６と図７に示されたインター予測のための誤差伝搬は１６反復だけであり、そして、表４は３２反復までだった。
【００５１】
１０ビットのＦＲＥｘｔエンコーダによって生成されたビットストリームを復号化するのに従来技術の８ビットＨ.２６４ＦＲＥｘｔデコーダを使用することを試みるとき、結果のイメージは認識可能であるが、カラーは異なっている。まさしく第１のＩフレームさえ、イントラ予測における丸め誤差のため、これを示している。その上、基準１０ビット復号化イメージから８ビット復号化イメージを引き算するなら、図８が示唆するように、誤差が下方にそして右に伝播するのを見ることができる。イントラ予測に関する誤差が二次元画像上で複雑な様式で拡大するので、図６と７に類似する増大する誤差の単純なプロットはない。しかしながら、不遍丸めの効果は同じである。例えば、不遍丸めは、およそ２０ｄＢの低ＰＳＮＲからの初期ＩフレームのＭＳＥ（イントラ予測のみ有する）を５０ｄＢに近い高ＰＳＮＲまで減少させることができる。
【００５２】
ＭＰＥＧ−２などの画像圧縮手法は今日広く配布されている。図９ａと９ｂは、それぞれ、従来技術のＭＰＥＧ−２エンコーダとデコーダ（図９ｂ）の実装を示す。プロフィールと呼ばれる最も一般的に使用されるＭＰＥＧ−２画像圧縮構成において、８ビットの入力精度（すなわち、ビットデプス）を持つビデオデータが適用されている。この入力精度は次に、圧縮に使用される様々な内部変数の最小精度を決定する。したがって、通常、８ビットの精度（ビットデプス）を有する入力ビデオは減算機構（「−」）に適用される。減算機構の整数出力は、また、８ビットの精度を有するが、負になる場合があるので、符号ビットを必要とし合計９ビットを要し、これは、「ｓ８」（符号付き８）として示される。減算機構の差出力は「残差」と呼ばれる。この整数出力は、次に、出力が追加３ビット、すなわち、符号付き１１ビット（「ｓ１１」）フォーマットで示す１２ビットを必要とする２次元ＤＣＴに適用される。これらの１２ビットが量子化され、次に、他のパラメータでエントロピー（可変長符号化）（「ＶＬＣ」）コード化され、コード化されたビットストリームを生成する。量子化され変換された係数は、また、逆量子化（「ＩＱ」）され、逆変換（「ＩＤＣＴ」）され、元の引き算に使用された同じ予測に（純度で）加えられる。エンコーダのこの部分が図９ｂに示すデコーダをまねることに注意されたい。エントロピーコード化（「ＶＬＣ」）と復号化（「ＶＬＤ」）が無損失であるので、ＶＬＣへ入力される量子化されたＤＣＴ係数は、ＶＬＤブロックからのそれらの出力と同じである。デコーダとエンコーダのＩＤＣＴが同じであるなら、エンコーダとデコーダの復号化された残差は同じである。復号化された残差は生の残差への近似である。この復号化された残差を予測に追加し、かつ、元の範囲（ＭＰＥＧ−２の場合、［０，２５５］）に飽和させることによって、入力フレームの近似である復号化されたフレームを作成する。そのような復号化されたフレームはフレーム格納（「ＦＳ」）に保存され、それらの内容はエンコーダとデコーダにおいて（ＩＤＣＴ誤差許容値内で）同じである。復号化されたフレームは、次に、予測を作成するのに使用され元の引き算において使用される。したがって、要約すると、従来技術のＭＰＥＧ−２システムは以下のビットデプス精度を持っている。
【００５３】
入力    ８ビット（符号なし）
フレーム格納（予測のためのもの）  ８ビット（符号なし）
残差（入力から予測を引いたもの）  ９ビット（符号付き）
変換された残差    １２ビット（符号付き）
量子化データ      １２ビット（符号付き）。
【００５４】
図１０ａと１０ｂに示すＭＰＥＧ−２変更において、ビデオシーケンスは従来技術のＭＰＥＧ−２より高い精度でコード化されると共に、名目８ビットストリームとの互換性を維持する。これは、変換され量子化された残差によって運ばれる精度の最適使用を果たすために、計算に使用する精度を増すことによって達成される。これは、変換され量子化された残差に１２ビットを使用するが入力ビデオは８ビットにすぎないＭＰＥＧ−２に特に適している。
【００５５】
図１０ａと１０ｂの変更において、すべての内部エンコーダとデコーダの計算精度は２ビットによって増強され、入力ソースは２ビット大きいビットデプスを有し、量子化データ精度は同じままで残る。すなわち、
入力    １０ビット（符号なし）
フレーム格納（予測のためのもの）  １０ビット（符号なし）
残差（入力から予測を引いたもの）  １１ビット（符号付き）
変換された残差    １４ビット（符号付き）
量子化データ      １２ビット（符号付き）。
【００５６】
エンコーダとデコーダのそれぞれ変更された部分は、図１０ａと１０ｂにおいて点線によって囲まれている。
【００５７】
さらに、量子化された値のスケールが変化しないように量子化及び逆量子化（＊印で示す）が変更される。１０ビットエンコーダの内部の変数は精度の付加的な２ビットを有するので、この変化は、量子化の場合、追加右シフト２、すなわち、４での除算であり、逆量子化の場合、追加左シフト２、すなわち、４掛けである。８ビット量子化が単に量子化スケールＱＳによる除算であるので、同等な１０ビット量子化は単に量子化スケールの４倍、４＊ＱＳでの除算である。同様に、８ビットの逆量子化が基本的に量子化スケールＱＳによる掛け算であるので、１０ビットでは、単に量子化スケールの４倍を掛ける。したがって、Ｑ＊とＩＱ＊に必要な変化はビットデプスに従って単に量子化スケールＱＳを変えることである。
【００５８】
ＭＰＥＧ−２エンコーダとデコーダの別の変更は、Shell  &  Wilcox  Limitedのコットンと、ニーによる国際公開ＷＯ０３／０６３４９１Ａ２（発明の名称「改良圧縮方式」）で説明されている。該コットンと、ニーの国際公開によれば、画像圧縮エンコーダとデコーダにおける計算精度は、フレーム格納の精度を除いて、増強される。そういった構成は、また、不遍丸めが他の従来技術のＭＰＥＧ−２デコーダで使われるとき、コード化のために役立つ。
【００５９】
要約
不遍丸めは、同じビットストリームの高ビットデプス復号化と、低ビットデプス復号化の誤差に重要な影響を及ぼす。偏向丸めは平均誤差と分散誤差の両方を引き起こす。平均誤差は一貫性を持ち、予測から予測へと、急速に拡大し（ＭＳＥの拡大は式（１２）と（１３）に示すようにＫの二次である）、見ることができるものである。分散誤差はよりゆっくり拡大して（ＭＳＥ拡大は一次であり）、ランダムであり振幅が比較的小さいので見ることができない。丸めが必要であるときに、不遍丸めはより正確である。本発明の態様によると、より高いビットデプスでの同じ計算に近い低ビットデプス計算を行うために、予測ループ、特に、インター予測及びイントラ予測における計算に不遍丸めを適用できる。
【００６０】
実行
発明は、ハードウェア若しくはソフトウェア又はその両方の組合せ（例えば、プログラマブルロジックアレイ）で実行される。特に指定されない場合、発明の一部として含まれるアルゴリズムはいかなる特定のコンピュータ他の装置にも関連しない。特に、ここでの開示に従って記載されたプログラムと共に様々な汎用目的マシンを使用でき、または、必要なメソッドステップを実行するために、より特別な装置（例えば、集積回路）を構築することがより好都合であるかもしれない。したがって、本発明は、少なくとも１つのプロセッサと、少なくとも１つのデータ記憶システム（揮発性及び不揮発性メモリ及び／又は記憶素子を含む）と、少なくとも１つの入力装置又はポートと、少なくとも１つの出力装置又はポートとをそれぞれが含んでなる１つ以上のプログラム式コンピュータシステム上で動く１つ以上のコンピュータプログラムにおいて実行されうる。入力データにプログラムコードを適用して、ここで説明する機能が実行され出力情報が作り出される。出力情報は公知の方法で１つ以上の出力装置に適用される。
【００６１】
上記のプログラムはコンピュータシステムとコミュニケートするための所望のいかなるコンピュータ言語（マシン言語、アセンブリ言語、高水準手続論理言語、またはオブジェクト指向プログラミング言語を含む）で実行されうる。どのような場合でも、言語は翻訳言語又は解釈言語とすることができる。
【００６２】
そのような各コンピュータプログラムを望ましくは、汎用コンピュータ又は専用のプログラマブルコンピュータで読み込み可能な記憶メディア又はデバイス（例えば、半導体メモリ若しくはメディア又は磁気メディア若しくは光メディア）に保存するかダウンロードし、該コンピュータシステムの作動により該記憶メディア又はデバイスを読むように構成して、ここで説明された手続きを実行することができる。発明のシステムは、また、コンピュータプログラムで構成されたコンピュータ読み込み可能な記憶メディアであって、コンピュータシステムを作動させてここに説明された機能を特定かつ事前に定義された方法で実行するように構成された記憶メディアとして実装されうる。
【００６３】
発明の多くの実施例を説明したが、発明の技術的思想及び範囲から逸脱することなく様々な変更が可能であることが理解される。
【図面の簡単な説明】
【００６４】
【図１】Ｈ.２６４又はＨ.２６４ＦＲＥｘｔの概略的な機能ブロックダイアグラムを示す図である。
【図２】Ｈ.２６４又はＨ.２６４ＦＲＥｘｔビデオデコーダの概略的な機能ブロックダイアグラムを示す図である。
【図３】２つのデコーダの出力の品質を比較する構成（装置）の概略的な機能ブロックダイアグラムを示す図である。
【図４】エンコーダとデコーダ内の予測ループであって、丸めが起こる場所を特定する予測ループの概略的な機能ブロックダイアグラムを示す図である。
【図５】動き補償フィードバックループの概略的な機能ブロックダイアグラム示す図である（図４に示すコード化残差のためのデブロッキングフィルタと加算器は図の簡略化のために省略されている）。
【図６】基準デコーダ（エンコーダのビットデプスで作動するデコーダ）に関してエンコーダのビットデプスより低いビットデプスで作動する従来技術のデコーダの場合のビデオフレーム番号（横目盛）に対する累積誤差（縦目盛）を示すグラフである
【図７】基準デコーダ（エンコーダのビットデプスで作動するデコーダ）に関してエンコーダのビットデプスより低いビットデプスで作動し不偏丸めを使用する従来技術のデコーダの場合のビデオフレーム番号（横目盛）に対する累積誤差（縦目盛）を示すグラフである。
【図８】連続したビデオ線におけるピクセルを表示する図であり、別のピクセル（陰影をつけたもの）を予測するのに使用できるピクセル（陰影無しのもの）を示す。
【図９】従来技術のＭＰＥＧ−２エンコーダ（図９ａ）とデコーダ（図９ｂ）の概略的な機能ブロックダイアグラムを示す図である。
【図１０】変更ＭＰＥＧ２エンコーダ（図１０ａ）とデコーダ（図１０ｂ）の概略的な機能ブロックダイアグラムを示す図である。
【図１１】ＭＰＥＧ２タイプのデバイスの入力、残差、変換残差及び量子化された変換残差の８ビットと１０ビットの場合の比較を示す図である。
【図１】
2008507206.tif 000020
【図２】
2008507206.tif 000021
【図３】
2008507206.tif 000022
【図４】
2008507206.tif 000023
【図５】
2008507206.tif 000024
【図６】
2008507206.tif 000025
【図７】
2008507206.tif 000026
【図８】
2008507206.tif 000027
【図９】
2008507206.tif 000028
【図１０】
2008507206.tif 000029
【図１１】
2008507206.tif 000030
【国際調査報告】
2008507206.tif 000031
2008507206.tif 000032
2008507206.tif 000033