(57)【要約】方法（４００）は、スケーリングされた映像入力信号（１２０）に対応する変換係数（２２６）を受け取る工程を備える。スケーリングされた映像入力信号（１２０）は、ベース層Ｌ０を含む複数の空間層Ｌを含む。方法はさらに、スケーリングされた映像入力信号からフレームのサンプルＳＦに基づき空間レート係数（３３２）を決定する工程を備える。空間レート係数は、スケーリングされた映像入力信号から形成された符号化ビットストリーム（２０４）の各空間層におけるビットレート割り当てのための係数を定義する。空間レート係数は、ベース層の変換係数毎のビットレートと、変換係数毎のビットの平均レートＲＬとの差によって表される。方法はさらに、空間レート係数とフレームのサンプルとに基づき各空間層にビットレートを割り当てることで、複数の空間層の歪みを低減する工程を含む。
2021524213.tif 000002
【特許請求の範囲】
【請求項１】
データ処理ハードウェア（５１０）において、スケーリングされた映像入力信号（１２０）に対応する変換係数（２２６）を受信する工程であって、スケーリングされた前記映像入力信号（１２０）は複数の空間層（Ｌ）を含み、前記複数の空間層（Ｌ）はベース層（Ｌ０）を含む、前記変換係数（２２６）を受信する工程と、
前記データ処理ハードウェア（５１０）によって、スケーリングされた前記映像入力信号（１２０）からのフレームのサンプル（ＳＦ）に基づき空間レート係数（３３２）を決定する工程（３３２）であって、前記空間レート係数（３３２）は、スケーリングされた前記映像入力信号（１２０）から形成された符号化ビットストリーム（２０４）の各空間層（Ｌ）におけるビットレート割り当て係数を定義し、前記空間レート係数（３３２）は、前記ベース層（Ｌ０）の前記変換係数（２２６）毎のビットレートと、前記複数の空間層（Ｌ）の前記変換係数（２２６）毎のビットの平均レート（ＲＬ）との差によって表される、前記空間レート係数（３３２）を決定する工程と、
前記データ処理ハードウェア（５１０）によって、前記空間レート係数（３３２）とフレームの前記サンプル（ＳＦ）とに基づき、各空間層（Ｌ）に前記ビットレートを割り当てることによって、前記符号化ビットストリーム（２０４）の前記複数の空間層（Ｌ）に対する歪みを低減する工程と
を備える、方法（４００）。
【請求項２】
前記方法はさらに、
前記データ処理ハードウェア（５１０）において、スケーリングされた前記映像入力信号（１２０）からフレームの第２サンプル（ＳＦ）を受信する工程と、
前記データ処理ハードウェア（５１０）によって、スケーリングされた前記映像入力信号（１２０）からのフレームの前記第２サンプル（ＳＦ）に基づき、前記空間レート係数（３３２）を修正する工程と、
前記データ処理ハードウェア（５１０）によって、修正された前記空間レート係数（３３２）とフレームの前記第２サンプル（ＳＦ）とに基づき、各空間層（Ｌ）に修正された前記ビットレートを割り当てる工程と
を備える、請求項１に記載の方法（４００）。
【請求項３】
前記方法はさらに、
前記データ処理ハードウェア（５１０）において、スケーリングされた前記映像入力信号（１２０）からフレームの第２サンプル（ＳＦ）を受信する工程と、
前記データ処理ハードウェア（５１０）によって、指数移動平均に基づきフレーム毎に前記空間レート係数（３３２）を修正する工程であって、前記指数移動平均は少なくともフレームの前記サンプル（ＳＦ）とフレームの前記第２サンプル（ＳＦ）とに対応する、前記空間レート係数（３３２）を修正する工程と、
前記データ処理ハードウェア（５１０）によって、修正された前記ビットレートを、修正された前記空間レート係数（３３２）に基づき各空間層（Ｌ）に割り当てる工程と
を備える、請求項１または２に記載の方法（４００）。
【請求項４】
スケーリングされた前記映像入力信号（１２０）を受信する工程は、
前記映像入力信号（１２０）を受信する工程と、
前記映像入力信号（１２０）を前記複数の空間層（Ｌ）にスケーリングする工程と、
各空間層（Ｌ）をサブブロックに分割する工程と、
各サブブロックを前記変換係数（２２６）に変換する工程（２２６）と、
各サブブロックに対応する前記変換係数（２２６）をスカラー量子化する工程と
を備える、請求項１〜３のいずれか一項に記載の方法（４００）。
【請求項５】
スケーリングされた前記映像入力信号（１２０）からフレームの前記サンプル（ＳＦ）に基づき前記空間レート係数（３３２）を決定する工程は、
前記映像入力信号（１２０）のフレームの全ての変換ブロックにわたる平均に基づき、各スカラー量子化（２１０）された前記変換係数（２２６）の分散推定（３２２）を決定する工程を備える、
請求項４に記載の方法（４００）。
【請求項６】
各サブブロックの前記変換係数（２２６）は、全てのサブブロックにわたって同一に分布される、
請求項４または５に記載の方法（４００）。
【請求項７】
前記空間レート係数（３３２）は、前記符号化ビットストリーム（２０４）の各層（Ｌ）に前記ビットレートを割り当てるように構成された単一のパラメータを含む、
請求項１〜６のいずれか一項に記載の方法（４００）。
【請求項８】
前記方法はさらに、前記データ処理ハードウェア（５１０）によって、前記空間レート係数（３３２）が空間レート係数閾値（３３４）を満たすか決定する工程を含む、
請求項１〜７のいずれか一項に記載の方法（４００）。
【請求項９】
前記空間レート係数閾値（３３４）に対応する値が約１．０未満で約０．５よりも大きい場合に、前記空間レート係数閾値（３３４）に対応する値は前記空間レート係数閾値（３３４）を満たす、
請求項８に記載の方法（４００）。
【請求項１０】
前記空間レート係数（３３２）は、加重和を含み、
前記加重和は、分散の積の比に対応し、
前記比は、第１空間層（Ｌ）からのスカラー量子化（２１０）された前記変換係数（２２６）の推定分散に基づく分子と、第２空間層（Ｌ）からのスカラー量子化（２１０）された前記変換係数（２２６）の推定分散に基づく分母とを備える、
請求項１〜９のいずれか一項に記載の方法（４００）。
【請求項１１】
データ処理ハードウェア（５１０）と、
前記データ処理ハードウェア（５１０）に通信するメモリハードウェア（５２０）と
を備えるシステム（１００）であって、
前記メモリハードウェア（５２０）は命令を記憶し、前記命令は前記データ処理ハードウェア（５１０）上で実行されると前記データ処理ハードウェア（５１０）に、
スケーリングされた映像入力信号（１２０）に対応する変換係数（２２６）を受信する工程であって、スケーリングされた前記映像入力信号（１２０）は複数の空間層（Ｌ）を含み、前記複数の空間層（Ｌ）はベース層（Ｌ０）を含む、前記変換係数（２２６）を受信する工程と、
スケーリングされた前記映像入力信号（１２０）からフレームのサンプル（ＳＦ）に基づき空間レート係数（３３２）を決定する工程であって、前記空間レート係数（３３２）は、スケーリングされた前記映像入力信号（１２０）から形成された符号化ビットストリーム（２０４）の各空間層（Ｌ）におけるビットレート割り当て係数を定義し、前記空間レート係数（３３２）は、前記ベース層（Ｌ０）の前記変換係数（２２６）毎のビットレートと、複数の空間層（Ｌ）の前記変換係数（２２６）毎のビットの平均レート（ＲＬ）との差によって表される、前記空間レート係数（３３２）を決定する工程と、
前記空間レート係数（３３２）とフレームの前記サンプル（ＳＦ）とに基づき、各空間層（Ｌ）に前記ビットレートを割り当てることによって、前記符号化ビットストリーム（２０４）の前記複数の空間層（Ｌ）の歪みを低減する工程と
を備える動作を実行させる、システム（１００）。
【請求項１２】
前記動作はさらに、
スケーリングされた前記映像入力信号（１２０）からフレームの第２サンプル（ＳＦ）を受信する工程と、
スケーリングされた前記映像入力信号（１２０）からフレームの前記第２サンプル（ＳＦ）に基づき、前記空間レート係数（３３２）を修正する工程と、
修正された前記空間レート係数（３３２）とフレームの前記第２サンプル（ＳＦ）とに基づき、修正された前記ビットレートを各空間層（Ｌ）に割り当てる工程と
を備える、請求項１１に記載のシステム（１００）。
【請求項１３】
前記動作はさらに、
スケーリングされた前記映像入力信号（１２０）から、フレームの第２サンプル（ＳＦ）を受信する工程と、
指数移動平均に基づき前記空間レート係数（３３２）を修正する工程であって、前記指数移動平均は少なくともフレームの前記サンプル（ＳＦ）とフレームの前記第２サンプル（ＳＦ）とに基づく、前記空間レート係数（３３２）を修正する工程と、
修正された前記空間レート係数（３３２）に基づき、修正された前記ビットレートを各空間層（Ｌ）に割り当てる工程と
を備える、請求項１１または１２に記載のシステム（１００）。
【請求項１４】
スケーリングされた前記映像入力信号（１２０）を受信する工程はさらに、
前記映像入力信号（１２０）を受信する工程と、
前記映像入力信号（１２０）を前記複数の空間層（Ｌ）にスケーリングする工程と、
各空間層（Ｌ）をサブブロックに分割する工程と、
各サブブロックを前記変換係数（２２６）に変換する工程と、
各サブブロックに対応する前記変換係数（２２６）をスカラー量子化する工程と
を備える、請求項１１〜１３のいずれか一項に記載のシステム（１００）。
【請求項１５】
スケーリングされた前記映像入力信号（１２０）からのフレームのサンプル（ＳＦ）に基づき空間レート係数（３３２）を決定する工程は、
前記映像入力信号（１２０）のフレームの全ての変換ブロックにわたる平均に基づき、各スカラー量子化された前記変換係数（２２６）の分散推定（３２２）を決定する工程を含む、
請求項１４に記載のシステム（１００）。
【請求項１６】
各サブブロックの変換係数（２２６）は、全てのサブブロックにわたって同一に分布される、
請求項１４または１５のシステム（１００）。
【請求項１７】
前記空間レート係数（３３２）は、前記符号化ビットストリーム（２０４）の各層（Ｌ）に前記ビットレートを割り当てるように構成された、単一のパラメータを含む、
請求項１１〜１６のいずれか一項に記載のシステム（１００）。
【請求項１８】
前記動作はさらに、前記空間レート係数（３３２）が空間レート係数閾値（３３４）を満たすことを決定する工程を含む、
請求項１１〜１７のいずれか一項に記載のシステム（１００）。
【請求項１９】
前記空間レート係数閾値（３３４）に対応する値が約１．０未満で約０．５よりも大きい場合に、前記空間レート係数閾値（３３４）に対応する値は前記空間レート係数閾値（３３４）を満たす、
請求項１８に記載のシステム（１００）。
【請求項２０】
前記空間レート係数（３３２）は加重和を含み、
前記加重和は分散の積の比に対応し、
前記比は、第１空間層（Ｌ）からのスカラー量子化された前記変換係数（２２６）の推定分散に基づく分子と、第２空間層（Ｌ）からのスカラー量子化された前記変換係数（２２６）の推定分散に基づく分母とを備える、
請求項１１〜１９のいずれか一項に記載のシステム（１００）。
【請求項２１】
データ処理ハードウェア（５１０）において、スケーリングされた映像入力信号（１２０）に対応する非量子化変換係数（２２６）を受信する工程であって、スケーリングされた前記映像入力信号（１２０）は複数の空間層（Ｌ）を含む、前記非量子化変換係数（２２６）を受信する工程と、
前記データ処理ハードウェア（５１０）によって、スケーリングされた前記映像入力信号（１２０）からのフレームのサンプル（ＳＦ）に基づき割り当て係数を決定する工程であって、前記割り当て係数は受信された前記非量子化変換係数（２２６）の分散の推定に対応する、前記割り当て係数を決定する工程と、
前記データ処理ハードウェア（５１０）によって、前記割り当て係数とフレームの前記サンプル（ＳＦ）とに基づき、各空間層（Ｌ）にビットレートを割り当てる工程と
を備える、方法（４００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、スケーラブルな映像符号化（ｖｉｄｅｏ ｃｏｄｉｎｇ）のコンテキストにおける空間層レート割り当てに関する。
【背景技術】
【０００２】
映像（ｖｉｄｅｏ）が広範囲のアプリケーションにおいてますます一般的になるにつれて、映像ストリームは、アプリケーションに応じて複数回、符号化（ｅｎｃｏｄｅｄ）および／または復号化（ｄｅｃｏｄｅｄ）される必要がある場合がある。例えば異なるアプリケーションおよび／または装置は、帯域幅またはリソース制約に準拠する必要がある場合がある。非常に高価であることなく、設定のいくつかの組み合わせを必要とするこれらの要求を満たすために、映像をいくつかの解像度（ｒｅｓｏｌｕｔｉｏｎｓ）に圧縮する高効率のコーデック（ｃｏｄｅｃｓ）が開発されてきた。スケーラブルＶＰ９およびＨ．２６４のようなコーデックでは、映像ビットストリームは、ユーザが異なる解像度（すなわち各空間層の解像度）で元の映像を再構成することを可能にする複数の空間層を含むことができる。スケーラブルな機能を有することによって、映像コンテンツは装置から、限定されたさらなる処理を有する装置に送達され得る。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ヴィヴェク  ケー  ゴヤール（ＶＩＶＥＫ Ｋ ＧＯＹＡＬ），『変換符号化の理論的基礎』（Ｔｈｅｏｒｅｔｉｃａｌ Ｆｏｕｎｄａｔｉｏｎｓ ｏｆ Ｔｒａｎｓｆｏｒｍ Ｃｏｄｉｎｇ），ＩＥＥＥ信号処理マガジン（ＩＥＥＥ ＳＩＧＮＡＬ ＰＲＯＣＥＳＳＩＮＧ ＭＡＧＡＺＩＮＥ），ＩＥＥＥサービスセンター（ＩＥＥＥ ＳＥＲＶＩＣＥ ＣＥＮＴＥＲ）， ＰＩＳＣＡＴＡＷＡＹ， ＮＪ， ＵＳ， ｖｏｌ．１８， ｎｏ．５，２００１年９月１日，９頁〜２１頁，ＸＰ０１１０９２３５６，ＩＳＳＮ：１０５３−５８８８「ビット割り当て」（Ｂｉｔ Ａｌｌｏｃａｔｉｏｎ）の部，１４頁〜１５頁
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ビットレートを割り当てる方法を改善する余地がある。
【課題を解決するための手段】
【０００５】
本開示の一態様は、ビットレートを割り当てる方法を提供する。この方法は、データ処理ハードウェアにおいて、スケーリングされた映像入力信号に対応する変換係数（Ｔｒａｎｓｆｏｒｍ ｃｏｅｆｆｉｃｉｅｎｔ）を受信する工程を含み、スケーリングされた映像入力信号は複数の空間層を含み、複数の空間層はベース層を含む。この方法はまた、データ処理ハードウェアによって、スケーリングされた映像入力信号からのフレームのサンプル（ｓａｍｐｌｅ ｏｆ ｆｒａｍｅｓ）に基づき、空間レート係数（Ｓｐａｔｉａｌ ｒａｔｅ ｆａｃｔｏｒ）を決定する工程を含む。空間レート係数は、スケーリングされた映像入力信号から形成された符号化ビットストリーム（ｅｎｃｏｄｅｄ ｂｉｔ ｓｔｒｅａｍ）の各空間層における、ビットレート割り当てのための係数を定義する。空間レート係数は、ベース層の変換係数当たりのビットレートと、複数の空間層の変換係数当たりのビットの平均レートとの差によって表される。本方法はまた、空間レート係数とフレームのサンプルとに基づき、各空間層にビットレートを割り当てることによって、符号化ビットストリームの複数の空間層の歪みを低減する工程を含む。
【０００６】
本開示の実装は、以下の任意の特徴のうちの１つまたは複数を含むことができる。いくつかの実装形態では、この方法はまた、データ処理ハードウェアにおいて、スケーリングされた映像入力信号からフレームの第２サンプルを受信する工程と、スケーリングされた映像入力信号からのフレームの第２サンプルに基づき、空間レート係数をデータ処理ハードウェアによって修正（ｍｏｄｉｆｙ）する工程と、データ処理ハードウェアによって、修正された空間レート係数とフレームの第２サンプルとに基づき、各空間層に修正されたビットレートを割り当てる工程とを含む。追加の実装形態では、本方法はまた、データ処理ハードウェアにおいて、スケーリングされた映像入力信号からフレームの第２サンプルを受信する工程と、データ処理ハードウェアによって、フレーム毎ベースで（ｆｒａｍｅ−ｂｙ−ｆｒａｍｅ ｂａｓｉｓ）、指数移動平均に基づき空間レート係数を修正する工程とであって、指数移動平均は少なくともフレームのサンプルとフレームの第２サンプルとに対応する、前記空間レート係数を修正する工程と、修正された空間レート係数に基づき各空間層に、修正されたビットレートをデータ処理ハードウェアによって割り当てる工程とを含む。
【０００７】
一部の例では、スケーリングされた映像入力信号を受信する工程は、映像入力信号を受信する工程と、映像入力信号を複数の空間層にスケーリングする工程と、各空間層をサブブロックに分割する工程と、各サブブロックを変換係数に変換する工程と、各サブブロックに対応する変換係数をスカラー量子化する工程とを含む。スケーリングされた映像入力信号からのフレームのサンプルに基づき空間レート係数を決定する工程は、映像入力信号の全てのフレームにわたる変換ブロックの平均に基づき、各スカラー量子化された変換係数の分散推定（ｖａｒｉａｎｃｅ ｅｓｔｉｍａｔｉｏｎｓ）を決定する工程を含むことができる。ここで、各サブブロックの変換係数は、全てのサブブロックにわたって同一に分布（ｉｄｅｎｔｉｃａｌｌｙ ｄｉｓｔｒｉｂｕｔｅｄ）されてもよい。
【０００８】
いくつかの実装形態では、この方法は、データ処理ハードウェアによって、空間レート係数が空間レート係数閾値を満足することを決定する工程も含む。これらの実施形態では、空間レート係数閾値に対応する値が約１．０未満で約０．５よりも大きい場合に、空間レート係数閾値に対応する値は空間レート係数閾値を満たすことができる。空間レート係数は、符号化ビットストリームの各層にビットレートを割り当てるように構成された、単一のパラメータを含むことができる。いくつかの例では、空間レート係数は、分散の積の比率に対応する加重和（ｗｅｉｇｈｔｅｄ ｓｕｍ）を含み、比は、第１空間層からのスカラー量子化された変換係数の推定分散（ｅｓｔｉｍａｔｅｄ ｖａｒｉａｎｃｅｓ）に基づく分子と、第２空間層からのスカラー量子化された変換係数の推定分散に基づく分母とを含む。
【０００９】
本開示の別の態様は、ビットレートを割り当てるシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアに通信するメモリハードウェアとを含む。メモリハードウェアは命令を記憶し、命令はデータ処理ハードウェアによって実行されると、データ処理ハードウェアに動作を実行させる。動作は、スケーリングされた映像入力信号に対応する変換係数を受信する工程を含み、スケーリングされた映像入力信号は複数の空間層を含み、複数の空間層はベース層を含む。動作はまた、スケーリングされた映像入力信号からのフレームのサンプルに基づき、空間レート係数を決定する工程を含む。空間レート係数は、スケーリングされた映像入力信号から形成された符号化ビットストリームの各空間層における、ビットレート割り当てのための係数を定義する。空間レート係数は、ベース層の変換係数当たりのビットレートと、複数の空間層の変換係数当たりのビットの平均レートとの差によって表される。動作はまた、空間レート係数とフレームのサンプルとに基づき、各空間層にビットレートを割り当てることによって、符号化ビットストリームの複数の空間層の歪みを低減する工程を含む。
【００１０】
この態様は、以下の任意の特徴のうちの１つ以上を含むことができる。いくつかの実装形態では、動作は、スケーリングされた映像入力信号からフレームの第２サンプルを受信する工程と、スケーリングされた映像入力信号からのフレームの第２サンプルに基づき空間レート係数を修正する工程と、修正された空間レート係数とフレームの第２サンプルとに基づき、各空間層に修正されたビットレートを割り当てる工程とを含む。追加の実装では、動作はさらに、スケーリングされた映像入力信号からフレームの第２サンプルを受信する工程と、フレーム毎のベースで指数移動平均に基づき空間レート係数を修正する工程であって、指数移動平均は少なくともフレームのサンプルとフレームの第２サンプルとに対応する、前記フレームの第２サンプルを修正する工程と、修正されたビットレートを、修正された空間レート係数に基づき各空間層に割り当てる工程とを含む。
【００１１】
一部の例では、スケーリングされた映像入力信号を受信する工程は、映像入力信号を受信する工程と、映像入力信号を複数の空間層にスケーリングする工程と、各空間層をサブブロックに分割する工程と、各サブブロックを変換係数に変換する工程と、各サブブロックに対応する変換係数をスカラー量子化する工程とを含む。スケーリングされた映像入力信号からのフレームのサンプルに基づき空間レート係数を決定する工程は、映像入力信号のフレームの全ての変換ブロックにわたる平均に基づき、各スカラー量子化された変換係数の分散推定を決定する工程を含むことができる。ここで、各サブブロックの変換係数は、全てのサブブロックにわたって同一に分布されてもよい。
【００１２】
いくつかの実装形態では、動作は、空間レート係数が空間レート係数閾値を満足することを決定する工程も含む。これらの実装形態では、空間レート係数閾値に対応する値は、値が約１．０未満で約０．５よりも大きい場合に、空間レート係数閾値を満たしてもよい。空間レート係数は、符号化ビットストリームの各層にビットレートを割り当てるように構成された、単一のパラメータを含むことができる。いくつかの例では、空間レート係数は、分散の積の比に対応する加重和を含み、比は、第１空間層からのスカラー量子化された変換係数の推定分散に基づく分子と、第２空間層からのスカラー量子化された変換係数の推定分散に基づく分母とを含む。
【００１３】
本開示の１つ以上の実装の詳細は、添付の図面および以下の明細書に記載されている。他の態様、特徴、および利点は、明細書および図面および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１４】
【図１】例示的なレート割り当てシステムの概略図。
【図２】図１のレート割り当てシステム内の例示的なエンコーダの概略図。
【図３】図１のレート割り当てシステム内の例示的なアロケータの概略図。
【図４】レート割り当てシステムを実装するための例示的な方法の流れ図。
【図５】本明細書に記載されたシステムおよび方法を実装するために使用され得る例示的な計算装置の概略図。
【発明を実施するための形態】
【００１５】
様々な図面における同様の参照符号は同様の要素を示す。
図１は、レート割り当てシステム１００の例である。レート割り当てシステム１００は、一般に、映像入力信号１２０としてキャプチャされた映像を、ネットワーク１３０を介してリモートシステム１４０に通信する映像ソース装置１１０を含む。リモートシステム１４０において、エンコーダ２００およびアロケータ３００は、映像入力信号１２０を、符号化ビットストリーム２０４に変換する。符号化ビットストリーム２０４は、複数の空間層Ｌ０〜Ｌｉを含み、ｉは空間層Ｌ０〜Ｌｉの数を指定する。各空間層Ｌは、符号化ビットストリーム２０４のスケーラブルな形態である。スケーラブル映像ビットストリームとは、映像ビットストリームをいい、ビットストリームの一部は、いくつかのターゲットデコーダに対して有効なビットストリームを形成するサブストリーム（例えば空間層Ｌ）が生じるように、除去されることができる。より詳細には、サブストリームは、元のキャプチャされた映像の品質よりも低い再構成品質を有する、元の映像入力信号１２０のソースコンテンツ（例えばキャプチャされた映像）を生成する。例えば第１空間層Ｌ１は１２８０×７２０の７２０ｐ高精細度（ＨＤ）解像度を有し、一方でベース層Ｌ０は、映像グラフィックスアダプタ解像度（ＶＧＡ）の拡張形態として６４０×３６０の解像度にスケーリングする。スケーラビリティの点で、一般に、映像は、一時的にスケーラブル（例えばフレームレートによって）であったり、空間的（例えば空間解像度によって）であったり、および／または品質（例えば信号対雑音比ＳＮＲと呼ばれる忠実度（ｆｉｄｅｌｉｔｙ））によったりする。
【００１６】
レート割り当てシステム１００は、ユーザ１０、１０ａが映像ソース装置１１０で映像をキャプチャし、キャプチャされた映像を他のユーザ１０、１０ｂ〜１０ｃに通信する例示的な環境である。ここで、キャプチャされた映像をユーザ１０ｂ、１０ｃが映像受信装置１５０、１５０ｂ〜１５０ｃを介して受信する前に、エンコーダ２００およびアロケータ３００は、キャプチャされた映像を、割り当てられたビットストリームレートで、符号化ビットストリーム２０４に変換する。各映像受信装置１５０は、異なる映像解像度を受信および／または処理するように構成することができる。ここで、より大きい層番号ｉを有する空間層Ｌは、より大きい解像度を有する層Ｌを指し、ｉ=０は、複数の空間層Ｌ０〜Ｌｉのビットストリームのうちの最も低いスケーラブルな解像度を有するベース層Ｌ０を指す。図１を参照すると、符号化された映像ビットストリーム２０４は、２つの空間層Ｌ０、Ｌ１を含む。したがって、１つの映像受信装置１５０は、低解像度空間層Ｌ０として映像コンテンツを受信することができ、一方で、別の映像受信装置１５０は、高解像度空間層Ｌ１として映像コンテンツを受信することができる。例えば図１は、ユーザ１０ｂの第１映像受信装置１５０ａを、低解像度空間層Ｌ０を受信する携帯電話機として示し、ラップトップとしての第２受信装置１５０ｂを有するユーザ１０ｃは、高解像度空間層Ｌ１を受信する。
【００１７】
異なる映像受信装置１５０ａ〜１５０ｂが異なる空間層Ｌ０〜Ｌｉを受信するとき、各空間層Ｌの映像品質は、受信された空間層ＬのビットレートＢＲおよび／または割り当て係数ＡＦに依存しうる。ここで、ビットレートＢＲは１秒当たりのビット（ｂｉｔｓ ｐｅｒ ｓｅｃｏｎｄ）に対応し、割り当て係数ＡＦは、サンプル当たりのビット（すなわち、変換係数）に対応する。スケーラブルビットストリーム（例えば符号化ビットストリーム２０４）の場合、スケーラブルビットストリームの総ビットレートＢＲｔｏｔは、スケーラブルビットストリームの各空間層Ｌが同様のビットレート制約を受けるように、しばしば制約される。これらの制約のために、１つの空間層Ｌに関連するビットレートＢＲは、別の空間層Ｌの品質を損なうか、またはトレードオフする可能性がある。より詳細には、映像受信装置１５０を介してユーザ１０によって受信された空間層Ｌ上で品質が損なわれた場合、品質はユーザ経験に否定的な効果を生成する可能性がある。例えばリアルタイム通信（ＲＴＣ）アプリケーションを介した通信の形態として映像コンテンツを転送することは、より一般的になりつつある。ＲＴＣアプリケーションのユーザ１０は、アプリケーションの主観的な品質（ｓｕｂｊｅｃｔｉｖｅ ｑｕａｌｉｔｙ）に基づき通信のためのアプリケーションを選択することが多い。したがって、アプリケーションユーザとして、ユーザ１０は、一般に、アプリケーションユーザ１０が受け取る空間層Ｌへの不十分なビットレート割り当てに起因する可能性がある品質問題なしに、前向きな通信体験（ｐｏｓｉｔｉｖｅ ｃｏｍｍｕｎｉｃａｔｉｏｎ ｅｘｐｅｒｉｅｎｃｅ）を有することを望んでいる。前向きなユーザ経験（ｐｏｓｉｔｉｖｅ ｕｓｅｒ ｅｘｐｅｒｉｅｎｃｅ）を確実にすることを支援するために、アロケータ３００は、割り当て係数ＡＦを適応的に通信して、複数の空間層Ｌ０〜Ｌｉのうちの各空間層Ｌに対するビットレートＢＲを決定するように構成される。複数の空間層Ｌ０〜Ｌｉの中で割り当て係数ＡＦを解析的に割り当てることによって、アロケータ３００は、所与の総ビットレートＢＲｔｏｔに対して全ての空間層Ｌ０〜Ｌｉにわたって最高の映像品質を達成しようとする。
【００１８】
映像ソース装置１１０は、キャプチャされた映像および／または映像入力信号１２０をネットワーク１３０および／またはリモートシステム１４０に通信することができる任意の計算装置またはデータ処理ハードウェアであってもよい。いくつかの例では、映像ソース装置１１０は、データ処理ハードウェア１１２、メモリハードウェア１１４、および映像キャプチャ装置１１６を含む。いくつかの実装形態では、映像キャプチャ装置１１６は、実際には、キャプチャされた画像のシーケンスを映像コンテンツとして通信することができる画像キャプチャ装置である。例えばいくつかのデジタルカメラおよび／またはウェブカムは、特定の周波数で画像をキャプチャして、知覚される映像コンテンツを形成するように構成される。他の例では、映像ソース装置１１０は、続いてデジタルフォーマットに変換され得る連続的なアナログフォーマットで映像をキャプチャする。いくつかの構成では、映像ソース装置１１０は、キャプチャされたデータ（例えば、アナログまたはデジタル）を、エンコーダ２００によってさらに処理されるフォーマットに最初にエンコードまたは圧縮するためのエンコーダを含む。他の例では、映像ソース装置１１０は、映像ソース装置１１０においてエンコーダ２００にアクセスするように構成される。例えばエンコーダ２００は、リモートシステム１４０上にホストされたウェブアプリケーションであり、映像ソース装置１１０によってネットワーク接続を介してアクセス可能である。例えば他の例では、エンコーダ２００および／またはアロケータ３００の部分または全部は、映像ソース装置１１０上でホストされる。例えば、エンコーダ２００およびアロケータ３００は、映像ソース装置１１０上でホストされるが、リモートシステム１４０は、映像受信装置１５０の復号機能に応じて、および映像受信装置１５０とリモートシステム１４０との間のネットワーク１３０の接続の容量に応じて、空間層Ｌ０〜Ｌｉを含むビットストリームを映像受信装置１５０に中継するバックエンドシステムとして機能する。追加的にまたは代替的に、映像ソース装置１１０は、映像キャプチャ装置１１６を利用して、ユーザ１０ａがネットワーク１３０を介して他のユーザ１０ｂ〜１０ｃに通信するように係わるように、構成されている。
【００１９】
映像入力信号１２０は、キャプチャされた映像コンテンツに対応する映像信号である。ここで、映像ソース装置１１０は、映像コンテンツをキャプチャする。例えば図１は、ウェブカメラ１１６を介して映像コンテンツをキャプチャする映像ソース装置１１０を示している。いくつかの例では、映像入力信号１２０は、エンコーダ２００によってデジタルフォーマットに処理されるアナログ信号である。他の例では、映像入力信号１２０は、エンコーダ２００が再量子化プロセスを実行するように、エンコーダ２００の前に何らかのレベルの符号化またはデジタルフォーマット化を受けている。
【００２０】
映像ソース装置１１０と同様に、映像受信装置１５０は、ネットワーク１３０および／またはリモートシステム１４０を介して通信されたキャプチャ映像を受信することができる任意の計算装置またはデータ処理ハードウェアであってもよい。いくつかの例では、映像ソース装置１１０および映像受信装置１５０は、映像受信装置１５０が映像ソース装置１１０となり、映像ソース装置１１０が映像受信装置１５０となるような同一の機能で構成される。いずれの場合も、映像受信装置１５０は、少なくともデータ処理ハードウェア１５２およびメモリハードウェア１５４を含む。さらに、映像受信装置１５０は、受信した映像コンテンツ（例えば符号化ビットストリーム２０４の少なくとも１つの層Ｌ）を表示するように構成されたディスプレイ１５６を含む。図１に示すように、ユーザ１０ｂ、１０ｃは、符号化ビットストリーム２０４をビットレートＢＲで空間層Ｌとして受信し、符号化ビットストリーム２０４を映像としてディスプレイ１５６に復号して表示する。いくつかの例では、映像受信装置１５０が符号化ビットストリーム２０４の内容を表示することを可能にするために、映像受信装置１５０はデコーダを含み、またはデコーダに（例えばネットワーク１３０を介して）アクセスするように構成される。
【００２１】
いくつかの実施形態では、エンコーダ２００および／またはアロケータ３００は、クラウド環境の分散システムなどのリモートシステム１４０によってホストされるアプリケーションであり、映像ソース装置１１０および／または映像受信装置１５０を介してアクセスされる。いくつかの実装形態では、エンコーダ２００および／またはアロケータ３００は、映像ソース装置１１０および／または映像受信装置１５０のメモリハードウェア１１４，１５４にダウンロードされたアプリケーションである。エンコーダ２００および／またはアロケータ３００へのアクセスポイントにかかわらず、エンコーダ２００および／またはアロケータ３００は、リモートシステム１４０に通信して、リソース１４２（例えばデータ処理ハードウェア１４４、メモリハードウェア１４６、またはソフトウェアリソース１４８）にアクセスするように構成することができる。リモートシステム１４０のリソース１４２へのアクセスは、エンコーダ２００および／またはアロケータ３００が映像入力信号１２０を符号化ビットストリーム２０４に符号化すること、および／またはビットレートＢＲを符号化ビットストリーム２０４の複数の空間層Ｌ０〜Ｌｉの各空間層Ｌに割り当てることを可能にし得る。任意選択で、リアルタイム通信（ＲＴＣ）アプリケーションは、ユーザ１０，１０ａ〜１０ｃの間で通信するために使用されるリモートシステム１４０のソフトウェアリソース１４８として、組み込み機能としてのエンコーダ２００および／またはアロケータ３００を備える。
【００２２】
図１をさらに詳細に参照すると、３人のユーザ１０、１０ａ〜１０ｃは、リモートシステム１４０によってホストされるＲＴＣアプリケーション（例えばクラウドによってホストされるｗｅｂＲＴＣ映像アプリケーション）を介して通信する。この例では、第１ユーザ１０ａは、第２ユーザ１０ｂおよび第３ユーザ１０ｃとのグループ映像チャットをしている。話している第１ユーザ１０ａの映像を映像キャプチャ装置１１６がキャプチャすると、映像入力信号１２０を介してキャプチャされた映像は、エンコーダ２００およびアロケータ３００によって処理され、ネットワーク１３０を介して通信される。ここで、エンコーダ２００およびアロケータ３００は、ＲＴＣアプリケーションと共に動作して、複数の空間層Ｌ０、Ｌ１を有する符号化ビットストリーム２０４を生成する。ここで各空間層Ｌは、映像入力信号１２０に基づき割り当て係数ＡＦ０、ＡＦ１によって決定される割り当てられたビットレートＢＲ０、ＢＲ１を有する。各映像受信装置１５０ａ、１５０ｂの性能に起因して、チャットする第１ユーザ１０ａの映像を受信する各ユーザ１０ｂ、１０ｃは、映像入力信号１２０に対応する元の映像の異なるスケーリングされたバージョンを受信する。例えば第２ユーザ１０ｂはベース空間層Ｌ０を受信し、第３ユーザ１０ｃは第１空間層Ｌ１を受信する。各ユーザ１０ｂ、１０ｃは、受信した映像コンテンツを、ＲＴＣアプリケーションに通信するディスプレイ１５６ａ、１５６ｂに表示する。ＲＴＣ通信アプリケーションが示されているが、エンコーダ２００および／またはアロケータ３００は、複数の空間層Ｌ０〜Ｌｉを有する符号化ビットストリーム２０４を含む他のアプリケーションで使用されてもよい。
【００２３】
図２は、エンコーダ２００の例である。エンコーダ２００は、入力２０２としての映像入力信号１２０を、出力２０４としての符号化ビットストリームに変換するように構成されている。個々に示されているが、エンコーダ２００およびアロケータ３００は、単一の装置（例えば図１に点線で示すように）に統合されてもよく、または複数の装置（例えば映像入力装置１１０、映像受信装置１５０、またはリモートシステム１４０）にわたって別々に発生してもよい。エンコーダ２００は、一般に、スケーラ２１０、変換器２２０、量子化器２３０、およびエントロピエンコーダ２４０を含む。図示されていないが、エンコーダ２００は、符号化ビットストリーム２０４を生成するための追加の構成要素を含むことができ、追加の構成要素は、予測成分（例えば動き推定およびイントラ予測）および／またはインループフィルタなどである。予測成分は、変換のために変換器２２０に伝達される残差を生成し、残差は、元の入力フレームからフレームの予測（例えば動き補償またはフレーム内予測）を引いた差分に基づく。
【００２４】
スケーラ２１０は、映像入力信号１２０を複数の空間層Ｌ０〜Ｌｉにスケーリングするように構成される。いくつかの実装形態では、スケーラ２１０は、空間分解能を低減するために除去され得る映像入力信号１２０の部分を決定することによって、映像入力信号１２０をスケーリングする。部分または複数の部分を除去することによって、スケーラ２１０は、映像入力信号１２０のバージョンを形成し、複数の空間層（例えばサブストリーム）を形成する。スケーラ２１０は、スケーラ２１０がベース空間層Ｌ０を形成するまで、このプロセスを繰り返すことができる。いくつかの例では、スケーラ２１０は、映像入力信号１２０をスケーリングして、設定された数の空間層Ｌ０〜Ｌｉを形成する。他の例では、スケーラ２１０は、サブストリームを復号するためのデコーダが存在しないとスケーラ２１０が判定するまで、映像入力信号１２０をスケーリングするように構成される。スケーラ２１０が、映像入力信号１２０のスケーリングされたバージョンに対応するサブストリームを復号するデコーダが存在しないと判定した場合、スケーラ２１０は、前のバージョン（例えば空間層Ｌ）をベース空間層Ｌ０とする。スケーラ２１０のいくつかの例は、Ｈ．２６４映像圧縮規格の拡張またはＶＰ９符号化フォーマットの拡張のような、スケーラブル映像符号化（ＳＶＣ）拡張に対応するコーデックを含む。
【００２５】
変換器２２０は、スケーラ２１０からの映像入力信号１２０に対応する各空間層Ｌを受け取るように構成される。空間層Ｌ毎に、変換器２２０は、動作２２２において、各空間層Ｌをサブブロックに分割する。各サブブロックを用いて動作２２４において、変換器２２０は、各サブブロックを変換して変換係数２２６を生成する（例えば離散コサイン変換（ＤＣＴ）によって）。変換係数２２６を生成することによって、変換器２２０は、冗長映像データと非冗長映像データとを相関させて、エンコーダ２００による冗長映像データの除去を助けることができる。いくつかの実装形態では、変換係数はまた、アロケータ３００が、空間層Ｌ内の非ゼロ分散を有する変換ブロック毎の係数の数を容易に決定することを可能にする。
【００２６】
量子化器２３０は、量子化または再量子化プロセス２３２（スカラー量子化）を実行するように構成される。量子化プロセスは、一般に、入力パラメータ（例えば連続するアナログデータセットから）を、出力値のより小さいデータセットに変換する。量子化プロセスは、アナログ信号をデジタル信号に変換することができるが、ここでは、量子化プロセス２３２（再量子化プロセスとも呼ばれることもある）は、通常、デジタル信号をさらに処理する。映像入力信号１２０の形態に応じて、いずれかのプロセスを交換可能に使用することができる。量子化または再量子化プロセスを使用することによって、データは圧縮されることが可能であるが、より小さいデータセットはより大きいまたは連続的なデータセットの減少であるので、データ損失のいくつかの態様のコストである。ここで、量子化プロセス２３２は、デジタル信号を変換する。いくつかの例では、量子化器２３０は、変換器２２０からの各サブブロックの変換係数２２６を量子化インデックス２３４にスカラー量子化することによって、符号化ビットストリーム２０４の形成に寄与する。ここで、変換係数２２６をスカラー量子化することによって、非可逆的な符号化を可能にして、冗長な映像データ（例えば符号化中に除去され得るデータ）を、貴重な映像データ（例えば除去すべきでないデータ）にコントラストさせるために、各変換係数２２６をスケーリングすることができる。
【００２７】
エントロピエンコーダ２４０は、量子化インデックス２３４（すなわち、量子化された変換係数）およびサイド情報を、ビットに変換するように構成される。この変換によって、エントロピエンコーダ２４０は、符号化ビットストリーム２０４を形成する。いくつかの実装形態では、量子化器２３０と共にエントロピエンコーダ２４０は、エンコーダ２００が符号化ビットストリームを形成することを可能にし、ここで各層Ｌ０〜Ｌｉは、アロケータ３００によって決定された割り当て係数ＡＦ０〜ＡＦｉに基づきビットレートＢＲ０〜ＢＲｉを有する。
【００２８】
図３は、アロケータ３００の例である。アロケータ３００は、複数の空間層Ｌ０〜Ｌｉに関連する非量子化された変換係数２２６を受信し、各受信された空間層Ｌ０〜Ｌｉについて割り当て係数ＡＦを決定するように構成される。いくつかの実装において、アロケータ３００は、スカラー量子化のための二乗誤差ベースの高速近似に基づき、各割り当て係数ＡＦを決定する。二乗誤差の高速近似によって、システムは、Ｎ個のスカラー量子化器を割り当てるために（高速近似のコンテキストで）最適なビットレートを決定することが可能になる。典型的には、ｎ個のスカラー量子化器に割り当てられる最適ビットレートは、レート−歪み最適化量子化によって決定される。レート−歪み最適化は、ビットレート制約（例えば総ビットレートＢＲｔｏｔ）による歪みの量（すなわち、映像品質の損失）を最小化することによって、映像圧縮中の映像品質を改善することを追求する。ここで、アロケータ３００は、Ｎ個のスカラー量子化器の最適ビットレートを決定する原理を適用し、符号化ビットストリーム２０４の複数の空間層Ｌ０〜Ｌｉの各々にビットレートを割り当てるための最適な割り当て係数を決定する。
【００２９】
一般的に言えば、スカラー量子化のための自乗誤差の高速近似は、以下の式で表すことができる。
【００３０】
【数１】
2021524213.tif 000003
ここで、ｈｉ２は、第ｉ量子化器への入力信号（例えば変換係数）のソース分布に依存し、σｉ２は、その信号の分散であり、ｒｉは、第ｉ量子化器についての入力シンボル当たりのビット単位でのビットレートである。２スカラー量子化器に対する最適なレート割り当てのための式は、２乗誤差の高速近似を使用して以下に導出される。
【００３１】
２量子化問題の平均歪みＤ、すなわちＤ２は、（ｄ０＋ｄ１）／２に等しい。同様に、２量子化問題についての平均レートＲ２は、（ｒ０＋ｒ１）／２に等しい。ここで、ｄｉは第ｉ量子化器による自乗誤差歪みであり、ｒｉは１サンプル当たりのビット単位で第ｉ量子化器に割り当てられたビットレートである。ただし、パラメータｄｉは、ｄｉ（ｒｉ）のような式が適切であるようなレートｒｉの関数であるが、便宜上、ｄｉは単に代わりにｄｉとして表される。ｄ０およびｄ１についての高速近似をＤ２の式に代入すると、次のようになる。
【００３２】
【数２】
2021524213.tif 000004
式（２）を用いて、２Ｒ２−ｒ０をｒ１に代入すると、以下になる。
【００３３】
【数３】
2021524213.tif 000005
ｒ０についてのＤ２の導関数をさらにとることによって、式（３）から以下の式が得られる。
【００３４】
【数４】
2021524213.tif 000006
上記の式、つまり式（４）をゼロに設定し、ｒ０について解くことによって、以下のように表されるゼロ量子化器についての最適レートｒ＊の式が得られる。
【００３５】
【数５】
2021524213.tif 000007
高速歪みの式は凸（ｃｏｎｖｅｘ）であるため、導関数をゼロに設定することによって求められる最小値はグローバルである。同様に、第１量子化器の最適レートｒ＊は、次のように表すことができる。
【００３６】
【数６】
2021524213.tif 000008
最適な量子化器の歪み、ｄ０＊およびｄ１＊を見出すために、式（５）および式（６）を、以下のようにスカラー量子化器の歪みについてのそれぞれの高速式に最適なレートで代入する。
【００３７】
【数７】
2021524213.tif 000009
式（７）の簡略化された形態は、以下の式をもたらす。
【００３８】
【数８】
2021524213.tif 000010
この同じ２量子化器分析は、ゼロ量子化器と第１量子化器とを単一の量子化システム（すなわち、ネスト化されたシステム）に結合することによって、３量子化器に拡張することができ、ここで、結合された量子化器は、式（１）〜（８）に従って既に解かれる。２量子化レート割り当てと同様の方法を使用して、３量子化器システムは以下のように導出される。
【００３９】
２量子化器システムのための平均／量子化器の歪みは、ｄａｖｇ＝（ｄ０＋ｄ１）／２として表され、ｄａｖｇを３量子化器の歪み平均の式に代入することによって、Ｄ３＝（ｄ０＋ｄ１＋ｄ２）／３は以下の式をもたらす。
【００４０】
【数９】
2021524213.tif 000011
同様に、３量子化器システムの平均レートは、次のように表される。
【００４１】
【数１０】
2021524213.tif 000012
式（８）に示すように、２量子化器解析からの最適な歪みの結果を利用して、３量子化器の歪みは、以下の式で表すことができる。
【００４２】
【数１１】
2021524213.tif 000013
したがって、式（１１）が簡略化され、ｒａｖｇ=（３／２）Ｒ３−（１／２）ｒ２が式（１１）に代入されると、式（１１）は、以下の式に変換される。
【００４３】
【数１２】
2021524213.tif 000014
式（１２）を用いて、ｒ２に対する導関数をゼロに設定し、ｒ２について解くことによって、以下の式を得ることができる。
【００４４】
【数１３】
2021524213.tif 000015
３量子化器について、式（１３）のより一般的な表現は、次のように表すことができる。
【００４５】
【数１４】
2021524213.tif 000016
第１量子化器および第２量子化器に基づき、Ｎ量子化器に対する最適なレート割り当てｒ＊の式を導出することができる。第ｉ量子化器に対する最適レートの式は、以下のとおりである。
【００４６】
【数１５】
2021524213.tif 000017
最適レートの式を歪みのための高速式に代入し、２量子化器の式と同様に単純化することによって、Ｎ量子化器に関する最適な歪みのための結果的な式が以下に示される。
【００４７】
【数１６】
2021524213.tif 000018
式（１）〜（１６）からの導出された表現に基づき、アロケータ３００は、最適な歪みについてのこれらの式を適用して、複数の空間層Ｌ０〜Ｌｉの各層Ｌについて最適な割り当て係数ＡＦ（すなわち、最適なビットレートＢＲに寄与する）を決定することができる。導出されたＮ個の量子化表現に類似して、複数の空間層ビットレートは、２層および３層レート割り当てシステムに関連する式から推定することができる。いくつかの例では、空間層Ｌ０〜Ｌｉは典型的には異なる空間次元を有するが、空間層Ｌ０〜Ｌｉは、同じ映像ソース（例えば映像ソース装置１１０）から発生すると仮定する。一部の実施形態では、第１空間層Ｌ０および第２空間層Ｌ１を符号化するスカラー量子化器は、これらのスカラー量子化器の値が異なっても、構造が同一であると仮定される。さらに、各空間層Ｌについて、サンプルＳの数は、一般に、変換係数２２６の数に等しい（すなわち、量子化器の数に等しい）。
【００４８】
２空間層レート割り当てシステムの場合、２空間層の平均歪みＤ２は、第１および第２空間層Ｌ０、Ｌ１（すなわち空間層０および空間層１）に対応する平均歪みｄ０およびｄ１の加重和として、以下のように表すことができる。
【００４９】
【数１７】
2021524213.tif 000019
ここで、ｓｉは第ｉ空間層Ｌｉにおけるサンプル数に等しく、Ｓ=ｓ０+ｓ１である。同様に、２空間層の平均ビットレートは、次のように表すことができる。
【００５０】
【数１８】
2021524213.tif 000020
ここで、ｒ０およびｒ１は、それぞれ第１および第２空間層Ｌ０、Ｌ１の平均ビットレートである。Ｎ−量子化器の最適な歪みについての式（すなわち、式（１６））をＤ２についての式（１７）に代入すると、上述のＤ２は次のように表すことができる。
【００５１】
【数１９】
2021524213.tif 000021
ここでσｊ，ｉ２は、第ｉ空間層Ｌｉにおける第ｊスカラー量子化器への入力信号の分散である。式（１８）においてｒ１について解き、結果を式（１９）に代入すると、以下のようになる。
【００５２】
【数２０】
2021524213.tif 000022
また、ｒ０に対するＤ２の導関数をゼロに設定し、ｒ０について解くことによって、ｒ０を次式で表すことができる。
【００５３】
【数２１】
2021524213.tif 000023
表記の便宜上、式（２１）を簡略化するために、Ｐｉ＝Πｊ＝０Ｓｉ−１ｈｊ，ｉσｊ，ｉである。Ｐｉについてのこの式をｒ０＊についての式（２１）に代入し、得られた項を再配置することによって、Ｎ−量子化器の割り当て式と同様に現れる次式が形成される。
【００５４】
【数２２】
2021524213.tif 000024
あるいは、式（２２）は、以下の式に到達するためにｒ１＊の項で表現されてもよい。
【００５５】
【数２３】
2021524213.tif 000025
式（７）〜（２３）に基づき、最適な２空間層歪みは以下のように表すことができる。
【００５６】
【数２４】
2021524213.tif 000026
同様のアプローチは、３つの空間層Ｌ０〜Ｌ２に適用される最適な割り当て係数を開発することができる。２つの空間層Ｌ０、Ｌ１と同様に、ｓｉは第ｉ空間層Ｌｉにおけるサンプルの数に等しく、Ｓ＝ｓ０＋ｓ１＋ｓ２である。３つの空間層Ｌ０〜Ｌ２についての平均レートＲ３および歪みＤ３は、それぞれ、空間層０，１，２（例えば３つの空間層Ｌ０〜Ｌ２）の平均レートｒ０、ｒ１、ｒ２の加重和および歪みｄ０、ｄ１、ｄ２の加重和として、次のように表すことができる。
【００５７】
【数２５】
2021524213.tif 000027
【００５８】
【数２６】
2021524213.tif 000028
同様の技術が２量子化器の結果から３量子化器に適用される場合、Ｒ３は、以下の式を使用して、平均２層レートＲ２の組合せとして表現され得る。
【００５９】
【数２７】
2021524213.tif 000029
【００６０】
【数２８】
2021524213.tif 000030
同様に、３量子化器について、歪みは以下のように表すことができる。
【００６１】
【数２９】
2021524213.tif 000031
【００６２】
【数３０】
2021524213.tif 000032
２層最適歪みＤ２＊の式（２４）と、最適なＮ−量子化器歪みｄｉ＊のための式（８）とを用いて、式（２９）はＤ３について解くことができ、以下の式を得ることができる。
【００６３】
【数３１】
2021524213.tif 000033
ここで、Ｐｉ=Πｊ＝０Ｓｉ−１ｈｊ，ｉσｊ，ｉである。式（２７）は、Ｒ２について解くことができ、以下の式を得ることができる。
【００６４】
【数３２】
2021524213.tif 000034
さらに、式（３２）をＤ３の式（３１）に代入することによって、式（３１）と式（３２）を合成することによって、以下の式が得られる。
【００６５】
【数３３】
2021524213.tif 000035
ｒ２についての式は、ｒ２に対するＤ３の導関数をとり、結果をゼロに設定することによって形成することができる。この式は、以下の式で表すことができる。
【００６６】
【数３４】
2021524213.tif 000036
各項が再配置されると、式（３４）は、以下のような
【００６７】
【数３５】
2021524213.tif 000037
と同様に見えることができる。
【００６８】
【数３６】
2021524213.tif 000038
この式（３６）を第１層Ｌ０および第２層Ｌ１に適用すると、各層についての割り当て係数（ａｌｌｏｃａｔｉｏｎ ｆａｃｔｏｒ）は、以下のように表すことができる。
【００６９】
【数３７】
2021524213.tif 000039
【００７０】
【数３８】
2021524213.tif 000040
２つの空間層Ｌ０〜Ｌ１および３つの空間層Ｌ０〜Ｌ２の両方の導出は、アロケータ３００におけるレート割り当て（例えば各空間層Ｌに割り当てられたビットレートＢＲを決定するための割り当て係数ＡＦ）を最適化することができるように複数の空間層に拡張されるパターンを示す。ここで、上記結果をＬ個の空間層Ｌｉ〜ＬＬに拡張することによって、以下の式で表される普遍的表現が得られる。
【００７１】
【数３９】
2021524213.tif 000041
ここで、ＲＬは、Ｌ個の空間層Ｌ０〜Ｌｉ上のサンプル当たりのビットに対応する平均レートである。Ｌ個の空間層にわたるサンプル総数Ｓは、ここではＳ＝Σｉ＝０Ｌ−１ｓｉであり、ｓｉは第ｉ空間層におけるサンプル数である。Ｐｉ＝Πｊ＝０Ｓｉ−１ｈｊ，ｉσｊ，ｉであり、ここでｈｊ，ｉは、第ｉ空間層における第ｊ量子化器によって量子化される信号のソース分布に依存する。σｊ，ｉ２は、第ｉ空間層における第ｊ変換係数の分散に対応する。
【００７２】
いくつかの実装形態では、式（３９）は、様々な仮定に起因して異なる形態を有する。式（３９）の２つの異なる形態を以下に示す。
【００７３】
【数３９ａ】
2021524213.tif 000042
【００７４】
【数３９ｂ】
2021524213.tif 000043
例えばｈｊ，ｉの値は、第ｉ空間層Ｌｉにおける第ｊ量子化器によって量子化される映像入力信号１２０のソース分布に依存する。同様のソース分布を有する例では、ｈｊ，ｉの値は、量子化器から量子化器へ変化しないので、式（３９）内の積の項の比率のためにキャンセルされる。換言すれば、ｈｊ，０=ｈｊ，１=ｈｊ，２=ｈである。したがって、このキャンセルが生じる場合、Ｐｉの項は、Ｐｉ＝Πｊ＝０Ｓｉ−１ｈｊ，ｉσｊ，ｉ＝ｈΠｊ＝０Ｓｉ−１σｊ，ｉである。これによって、Ｐｉは常に、分子にｈがあり、分母の同類項をキャンセルする比率として表示されるため、このパラメータは考慮から効果的に除外される。実際には、ｈｊ，０は、ｈｊ，１およびｈｊ，２とは異なることがある。というのは、ベース空間層Ｌ０は時間予測のみを使用するが、他の空間層は時間予測および空間予測の両方を使用することができるからである。いくつかの構成では、この差は、アロケータ３００によって決定された割り当て係数ＡＦに大きく影響を及ぼさない。
【００７５】
他の実施態様では、エンコーダ２００は、変換係数２２６をもたらす変換ブロックを導入する。これが発生すると、変数ｓｉ′を導入する変換係数２２６のグループ化に変化が生じ得る。変数ｓｉ′は、式（３９ａ）に示されるように、第ｉ空間層Ｌｉにおける非ゼロ分散を有する変換ブロック当たりの変換係数２２６の平均数に対応する。これに対して、この変数ｓｉ′は、第ｉ空間層Ｌｉにおけるサンプル数Ｓに対応する式（３９ｂ）のｓｉに対応する。さらに、式（３９ａ）において、項Ｐｉ＝Πｋ＝０Ｓ′ｉ−１σｋ，ｉであり、ここでσｋ，ｉ２は、第ｉ空間層Ｌｉの変換ブロックの第ｋ係数の分散である。実際的には、式（３９ａ）は、分散の積の比の加重和の式（例えば（１／２）Σｊ＝０Ｌ−１（ｓｊ′／ｓ′）ｌｏｇ２（Ｐｉ／Ｐｊ））として、第ｉ空間層Ｌｉに対する最適なビットレート割り当てを表す。
【００７６】
図３を参照すると、いくつかの実装形態では、アロケータ３００は、サンプラ３１０と、推定器３２０と、レート決定器３３０とを備える。サンプラ３１０は、複数の空間層Ｌ０〜Ｌｉを有する非量子化変換係数２２６を、アロケータ３００の入力３０２として受け取る。例えば図２は、点線によってアロケータ３００に通信される変換器２２０によって生成された変換係数２２６を示す。受信された非量子化変換係数２２６によって、サンプラ３１０は、映像入力信号１２０のフレームをサンプルＳＦとして識別する。サンプラ３１０によって識別されたサンプルＳＦに基づき、アロケータ３００は、各空間層Ｌについて割り当て係数ＡＦを決定する。いくつかの実施形態では、アロケータ３００は、各空間層Ｌの割り当て係数ＡＦを動的に決定するように構成される。これらの実施態様では、サンプラ３１０は、アロケータ３００が、サンプラ３１０によって識別された各セットのサンプルＳＦに割り当て係数ＡＦを適合させることができるように、フレームサンプルＳＦのセットを反復的に識別するように構成されてもよい。例えばアロケータ３００は、映像入力信号１２０のフレームの第１サンプルＳＦ１に基づき、各空間層Ｌに対する割り当て係数ＡＦを決定する。その後、アロケータ３００は、サンプラ３１０によって識別された映像入力信号１２０のフレームの第２サンプルＳＦ２に基づき、各空間層Ｌ（例えば必要であれば）に適用される割り当て係数ＡＦを調整（ａｄｊｕｓｔ）または修正（ｍｏｄｉｆｙ）する（例えば図３に示されるように、第１サンプルＳＦ１の第１割り当て係数ＡＦ１から、第２サンプルＳＦ２の第２割り当て係数ＡＦ２へと変化する）ように進む。このプロセスは、アロケータ３００が映像入力信号１２０を受信する期間にわたって繰り返し継続することができる。これらの例では、アロケータ３００は、割り当て係数ＡＦを修正し、続いて第１サンプルＳＦ１と第２サンプルＳＦ２との間の変化に基づき（例えば第１空間レート係数３３２１から第２空間レート係数３３２２への）空間レート係数３３２を修正する。追加的にまたは代替的に、アロケータ３００は、指数移動平均を使用して、フレーム毎に割り当て係数ＡＦを修正することができる。指数移動平均は、一般に、現在のフレームに対して決定された割り当て係数ＡＦを、以前のフレームからの割り当て係数ＡＦの加重平均で重み付けする加重移動平均である。言い換えると、ここでは、割り当て係数ＡＦに対する各修正は、現在の割り当て係数ＡＦおよび以前の割り当て係数ＡＦを有する加重平均である。
【００７７】
推定器３２０は、エンコーダ２００からの各変換係数の分散推定３２２を決定するように構成されている。いくつかの構成では、推定器３２０は、変換器２２０からの各ブロック内の変換係数２２６が同様に分布されていると仮定する。この仮定に基づき、変換係数２２６の分散は、映像入力信号１２０のサンプルフレームＳＦ内の全ての変換ブロックにわたって平均することで推定できる。例えば以下の式は、第ｉ空間層Ｌｉにおける第ｋ変換係数２２６を、ランダム変数Ｅｋ，ｉとしてモデル化する。
【００７８】
【数４０】
2021524213.tif 000044
ここで、εｂ，ｋ，ｉ，ｔは、第ｔフレームにおける第ｉ空間層Ｌｉにおいて第ｂ変換ブロックにおける第ｋ変換係数２２６を表す。Ｂｉは、第ｉ空間層Ｌｉにおけるブロック数を表す。ＳＦは、分散を推定するために使用されるサンプルフレームの数を表す。いくつかの例では、σｋ，ｉ２の値は、第ｉ空間層Ｌｉにおける第ｋ変換係数２２６の分散の推定値であり、全てのそのようなブロックが同一の統計を有すると仮定された場合に、変換ブロックとは無関係である。しかしながら、実際には、変換ブロックの統計量は、フレームにわたって変化し得る。これは、フレームのエッジのブロックが中央のブロックよりも低いアクティビティを有しうる映像会議のコンテンツに対して特に当てはまることがある。したがって、これらの非同一の統計がレート割り当て結果の精度に悪影響を及ぼす場合、フレーム内で中央に配置されたブロックに基づく分散を推定することによって、負の影響を軽減することができる。いくつかの構成では、変換係数の分散が推定されるサブブロックは、映像画像内の全てのサブブロックのサブセットを表す（例えば映像画像の最も中央部分にあるサブブロック、または映像画像が以前の画像と比較して変更された場所にあるサブブロック）。
【００７９】
レート決定器３３０は、サンプラ３１０によって識別された映像入力信号１２０からのフレームのサンプルＳＦに基づき、空間レート係数３３２を決定するように構成される。いくつかの例では、空間レート係数３３２は、符号化ビットストリーム２０４の各空間層Ｌ０〜ＬｉにおけるビットレートＢＲを決定するための係数を規定する。空間レート係数３３２は、空間層Ｌｉ−１に割り当てられたビットレートと、空間層Ｌｉに割り当てられたビットレートとの比である。空間層Ｌ０および空間層Ｌ１を有する２空間の例では、空間レート係数は０．５に等しく、空間層Ｌ１に割り当てられたビットレートが５００ｋｂｐｓに等しく、空間層Ｌ０に割り当てられたビットレートが２５０ｋｂｐｓ（すなわち、５００ｋｂｐｓの０．５倍）に等しい。これらの実施形態では、空間レート係数３３２の値は、ベース層Ｌ０の割り当て係数ＡＦと平均レートＲＬとの差（例えば式（３９）の表現ｒ＊０−ＲＬ）に等しく設定される。ここで、割り当て係数ＡＦは、ベース層Ｌ０の変換係数当たりのビットに対応し（ｒ＊ｏとも呼ばれる）、平均レートＲＬは、複数の空間層Ｌ０〜Ｌｉの変換係数当たりのビットに対応する。いくつかの構成では、２つの空間層についての実験結果は、空間レート係数３３２が式ｓｒｆ=０．６５＋（ｒ＊０−ＲＬ）／２０に対応することを示している。空間レート係数３３２は、単一のパラメータとして、アロケータ３００が、符号化ビットストリーム２０４の各層Ｌに対するビットレートＢＲを容易にチューニングまたは修正することを可能にすることができる。
【００８０】
２つの空間層について説明されているが、アロケータ３００は、空間レート係数３３２および／または割り当て係数ＡＦを、任意の数の空間層Ｌ０〜Ｌｉに適用することができる。例えばアロケータ３００は、２つの空間層の各組について割り当て係数ＡＦおよび／または空間レート係数３３２を決定する。３つの層Ｌ０〜Ｌ２を用いて説明するために、アロケータ３００は、ベース層Ｌ０および第１層Ｌ１の割り当て係数ＡＦを決定し、それから第１層Ｌ１および第２層Ｌ２について割り当て係数ＡＦを決定する。各割り当て係数ＡＦを使用して、空間レート係数３３２と、ベース層Ｌ０および第１層Ｌ１に対する１つの空間レート係数３３２と、第１層Ｌ１および第２層Ｌ２に対する第２空間レート係数３３２とを決定することができる。２つの空間層の各セットの空間速度係数３３２を用いて、アロケータ３００は、空間レート係数３３２および／または割り当て係数ＡＦを平均（例えば加重平均、算術平均、幾何学的平均など）して、任意の数の空間層Ｌ０〜Ｌｉの平均空間レート係数および／または平均割り当て係数を生成することができる。
【００８１】
いくつかの例では、アロケータ３００が空間レート係数３３２に基づきビットレートＢＲを決定するのを助けるために、空間レート係数３３２は、空間レート係数閾値３３４を満たさなければならない（例えば、値の範囲内にある）。いくつかの実装形態では、値が約１．０未満および約０．５より大きい範囲内にあるとき、値は空間レート係数閾値３３４を満たす。他の実装形態では、空間レート係数閾値３３４は、値のより狭い範囲（例えば、０．５５〜０．９５、０．６５〜０．８５、０．５１〜０．９９、０．６５〜１．０、０．７５〜１．０など）に対応するか、または値のより広い範囲（例えば、０．４０〜１．２０、０．３５〜０．９５、０．４９〜１．０５、０．４２〜１．１７、０．７５〜１．３８など）に対応する。いくつかの構成では、空間レート係数３３２が空間レート係数閾値３３４に対応する値の範囲外である場合、アロケータ３００は、空間レート係数閾値３３４を満たすように空間レート係数３３２を調整する。例えば空間レート係数閾値３３４が０．４５〜０．９５の範囲である場合、この範囲外の空間レート係数３３２は、範囲の最も近い最大値に調整される（例えば０．３の空間レート係数３３２は、０．４５の空間レート係数３３２に調整され、１．８２の空間レート係数３３２は、０．９５の空間レート係数３３２に調整される）。
【００８２】
決定された空間レート係数３３２に基づき、アロケータ３００は、総ビットレートＢＲｔｏｔに対する制約にさらされる複数の空間層Ｌ０〜Ｌｉの歪みを低減することによって、映像品質を最適化するように構成される。歪みを低減するために、アロケータ３００は、フレームのサンプルＳＦに対して計算された空間レート係数３３２に基づいて、各空間層ＬへのビットレートＢＲに影響を与える（例えば、エンコーダ２００がビットレートＢＲを決定するのを助ける）。例えば符号化ビットストリーム２０４が２つの空間層Ｌ０、Ｌｉを含む場合、アロケータ３００は、割り当て係数ＡＦを決定し、割り当て係数ＡＦは、次に、空間レート係数３３２を決定し、式ＢＲ１=ＢＲｔｏｔ／（１＋ｓｒｆ）に対応する第１ビットレートＢＲ１と、式ＢＲ０=（ＢＲｔｏｔ＊ｓｒｆ）／（１＋ｓｒｆ）に対応する第２ビットレートＢＲ０とを生成するために使用される。ここでＢＲｔｏｔは、全体のビットストリーム（すなわち、全ての空間層Ｌ０、Ｌ１）を符号化するのに利用可能な総ビットレートに対応する。
【００８３】
図４は、レート割り当てシステム１００を実装する方法４００の一例である。動作４０２において、方法４００は、データ処理ハードウェア５１０において、映像入力信号１２０に対応する変換係数２２６（例えば非量子化された変換係数）を受信する。映像入力信号１２０は複数の空間層Ｌ０〜Ｌｉを含み、複数の空間層Ｌ０〜Ｌｉはベース層Ｌ０を含む。動作４０４において、方法４００は、データ処理ハードウェア５１０によって、映像入力信号１２０からのフレームのサンプルＳＦに基づき、空間レート係数３３２を決定する。空間レート係数３３２は、符号化ビットストリーム２０４の各空間層Ｌにおけるレート割り当ての係数を定義し、空間レート係数３３２は、ベース層Ｌ０の変換係数当たりのビットレートと、複数の空間層Ｌ０〜Ｌｉの変換係数当たりのビットの平均レートＲＬとの差によって表される。動作４０６において、方法４００は、データ処理ハードウェア５１０によって、空間レート係数３３２およびフレームのサンプルＳＦに基づき、各空間層ＬにビットレートＢＲを割り当てることによって、符号化ビットストリーム２０４の複数の空間層Ｌ０〜Ｌｉの歪みｄを低減する。
【００８４】
図５は、本文書に記載されているシステムおよび方法、例えば、エンコーダ２００および／またはアロケータ３００を実装するために使用され得る例示的な計算装置５００の概略図である。計算装置５００は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことが意図されている。ここに示された構成要素、それらの接続および関係、およびそれらの機能は、例示的なものに過ぎず、本明細書に記載および／または特許請求された本発明の実施を制限することを意図するものではない。
【００８５】
計算装置５００は、データ処理ハードウェア５１０と、メモリハードウェア５２０と、記憶装置５３０と、メモリ５２０および高速拡張ポート５５０に接続される高速インタフェース／コントローラ５４０と、低速バス５７０および記憶装置５３０に接続する低速インタフェース／コントローラ５６０とを含む。各構成要素５１０、５２０、５３０、５４０、５５０、および５６０は、様々なバスを使用して相互接続され、共通のマザーボード上に、または適宜他の方法で実装することができる。プロセッサ５１０は、メモリ５２０または記憶装置５３０に格納された命令を含む、計算装置５００内で実行するための命令を処理して、高速インタフェース５４０に結合されたディスプレイ５８０などの外部入出力装置上のグラフィカルユーザインタフェース（ＧＵＩ）のためのグラフィカル情報を表示することができる。他の実装形態では、複数のプロセッサおよび／または複数のバスを、複数のメモリおよびメモリのタイプと共に、適切に使用することができる。また、複数の計算装置５００は必要な動作の一部を提供する各装置（例えばサーババンク、ブレードサーバのグループ、またはマルチプロセッサシステム）に接続されてもよい。
【００８６】
メモリ５２０は、計算装置５００内に非一時的に情報を格納する。メモリ５２０は、コンピュータ可読媒体、揮発性メモリユニット（複数）、または不揮発性メモリユニット（複数）であってもよい。非一時的メモリ５２０は、計算装置によって使用されるための一時的または永続的なベースで、プログラム（例えば命令のシーケンス）またはデータ（例えばプログラム状態情報）を記憶するために使用される物理的装置であってもよい。不揮発性メモリの例には、フラッシュメモリおよび読み出し専用メモリ（ＲＯＭ）／プログラム可能読み出し専用メモリ（ＰＲＯＭ）／消去可能プログラマブル読み出し専用メモリ（ＰＲＯＭ）／電子的消去可能プログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）（例えばブートプログラムのようにファームウェアに典型的に使用される）が含まれるが、これらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、相変化メモリ（ＰＣＭ）、ならびにディスクまたはテープを含むが、これらに限定されない。
【００８７】
記憶装置５３０は、計算装置５００のための大容量記憶を提供することができる。一部の実施形態では、記憶装置５３０はコンピュータ可読媒体である。様々な異なる実施形態では、記憶装置５３０は、フロッピー（登録商標）ディスク装置、ハードディスク装置、光ディスク装置、またはテープ装置、フラッシュメモリまたは他の同様の固体メモリ装置であったり、または記憶領域ネットワークまたは他の構成の装置を含む装置のアレイであったりしてもよい。追加の実装形態では、コンピュータプログラム製品は、情報キャリアに実体的に具体化される。コンピュータプログラム製品は、実行されると上述のような１つ以上の方法を実行する命令を含む。情報キャリアは、メモリ５２０、記憶装置５３０、またはプロセッサ５１０上メモリなどのコンピュータ可読媒体である。
【００８８】
高速コントローラ５４０は、計算装置５００に対する帯域幅集中の動作を管理し、低速コントローラ５６０は、より低い帯域幅集中の動作を管理する。このような職務の割り当ては、例示的なものに過ぎない。いくつかの実施形態では、高速コントローラ５４０は、メモリ５２０に、（例えばグラフィックスプロセッサまたはアクセラレータを介して）ディスプレイ５８０に、および高速拡張ポート５５０に結合される。高速拡張ポート５５０は、様々な拡張カード（図示せず）を受け入れることができる。いくつかの実施形態では、低速コントローラ５６０は、記憶装置５３０および低速拡張ポート５９０に結合される。様々な通信ポート（例えばＵＳＢ、ブルートゥース（登録商標）、イーサネット（登録商標）、無線イーサネット（登録商標））を含むことができる低速拡張ポート５９０は、キーボード、ポインティングデバイス、スキャナなどの１つまたは複数の入出力装置に結合され得たり、スイッチまたはルータなどのネットワークデバイスに例えばネットワークアダプタを介して結合され得たりする。
【００８９】
計算装置５００は、図面に示すように、いくつかの異なる形態で実装することができる。例えば計算装置５００は、標準サーバ５００ａとしてまたは複数のサーバ５００ａからなるグループ内の複数回として、ラップトップコンピュータ５００ｂとして、またはラックサーバシステム５００ｃの一部として、実装されてもよい。
【００９０】
本明細書に記載されたシステムおよび技術の様々な実装は、デジタル電子および／または光回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはそれらの組合せで実現することができる。これらの様々な実装は、少なくとも１つのプログラマブルプロセッサを含むプログラマブルシステムで実行可能および／または解釈可能な１つまたは複数のコンピュータプログラム内の実装を含むことができる。少なくとも１つのプログラマブルプロセッサは、専用または一般の用途で、データおよび命令を受信したりデータおよび命令を送信したりするように、記憶システム、少なくとも１つの入力装置、および少なくとも１つの出力装置に結合される。
【００９１】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている）は、プログラマブルプロセッサのための機械命令を含み、高レベル手続きおよび／またはオブジェクト指向のプログラミング言語でおよび／またはアセンブリ／機械言語で実施することができる。本明細書で使用されるように、用語「機械可読媒体」および「コンピュータ可読媒体」は、プログラマブルプロセッサに機械命令および／またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的なコンピュータ可読媒体、装置および／またはデバイス（例えば磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス（ＰＬＤｓ））を指し、機械可読信号として機械命令を受信する機械可読媒体を含む。用語「機械可読信号」は、機械命令および／またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【００９２】
本明細書に記載されたプロセスおよび論理フローは、１つ以上のコンピュータプログラムを実行して、入力データ上で動作して出力を生成することによって機能を実行する１つまたは複数のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローはまた、専用ロジック回路、例えばＦＰＧＡ（フィールド  プログラマブル  ゲート  アレイ）またはＡＳＩＣ（特定用途向け集積回路）によって実行することもできる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の１つ以上のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリまたはランダムアクセスメモリまたは両方から、命令およびデータを受け取る。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを格納するための１つまたは複数のメモリ装置とを含む。一般に、コンピュータはまた、データを記憶するための１つまたは複数の大容量記憶装置、例えば磁気、光磁気ディスク、または光ディスクからデータを受信するか、これら大容量記憶装置にデータを送信するか、または両方ができるように、これら大容量記憶装置を備えるかまたはこれら大容量記憶装置に動作可能に結合される。しかし、コンピュータはそのような装置を有する必要はない。コンピュータプログラム命令およびデータを格納するのに適したコンピュータ可読媒体は、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリ装置のような半導体メモリ装置、例えば内部ハードディスクまたは取り外し可能ディスクのような磁気ディスク、光磁気ディスク、ならびにＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスクを例として含む、全ての形態の不揮発性メモリ、媒体、およびメモリ装置を含む。プロセッサおよびメモリは、専用ロジック回路によって補うことができ、または専用ロジック回路に組み込むことができる。
【００９３】
ユーザとの対話を提供するために、本開示の１つ以上の態様は、ユーザに情報を表示するための例えばＣＲＴ（ブラウン管）、ＬＣＤ（液晶ディスプレイ）モニタ、またはタッチスクリーンなどのディスプレイ装置を有するコンピュータ上で実施することができ、コンピュータは付加的に、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティング装置、例えばマウスまたはトラックボールを備えることができる。他の種類の装置を使用して、ユーザとの対話を提供することができ、例えばユーザに提供されるフィードバックは、視覚フィードバック、聴覚フィードバック、または触覚フィードバックのような感覚フィードバックの任意の形態とすることができ、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信することができる。さらにコンピュータは、例えばユーザのクライアント装置上のウェブブラウザから受信された要求に応答して、ユーザのクライアント装置上のウェブブラウザにウェブページを送信することによって、ユーザによって使用される装置にドキュメントを送信し、該装置からドキュメントを受信することによって、ユーザと対話することができる。
【００９４】
いくつかの実装が記載されている。それにもかかわらず、本開示の趣旨および範囲から逸脱することなく、様々な変更がなされ得ることが理解されるであろう。したがって、他の実施形態は、以下の請求項の範囲内である。
【図１】
2021524213.tif 000045
【図２】
2021524213.tif 000046
【図３】
2021524213.tif 000047
【図４】
2021524213.tif 000048
【図５】
2021524213.tif 000049
【国際調査報告】
2021524213.tif 000050
2021524213.tif 000051