(57)【特許請求の範囲】
【請求項１】
ビデオ符号化の方法であって、
（ａ）１つ以上の初期一定ビットレートで符号化されたビデオシーケンスを取得することと、
（ｂ）前記符号化されたビデオシーケンスを複数の一時的部分に分割することと、
（ｃ）前記複数の一時的部分の各々について、所定知覚品質要求を満たすよう前記一時的部分を符号化する一定ビットレートを判定するため、前記複数の一時的部分を分析することと、
（ｄ）判定された複数の一定ビットレートの範囲を複数のサブレンジに区分することと、各サブレンジには複数の異なるビットレートのいずれか１つの選択されたビットレートが対応付けられる、
（ｅ）前記複数の一時的部分が、前記サブレンジに対応付けられた前記ビットレートで符号化された場合に、前記所定知覚品質要求を満たすようにするため、前記複数のサブレンジのいずれか１つのサブレンジに前記複数の一時的部分を割り当てることと、
（ｆ）前記シーケンスについて、割り当てられた前記複数のサブレンジの前記複数のビットレートで前記複数の一時的部分が符号化されるにあたって要求されるデータ量を示す第１のビット数尺度と、一定知覚品質要求に合致するにあたって十分な複数のビットレートで前記複数の一時的部分が符号化されるにあたって要求されるデータ量を示す第２のビット数尺度とを、確立することと、
（ｇ）前記第１のビット数尺度と前記第２のビット数尺度との差異レベルを示す差尺度を判定することと、
（ｈ）少なくとも１つのサブレンジに異なるビットレートが対応付けられるようにするため、更新された１セットのビットレートを使用し複数の一定ビットレートの範囲を少なくとも１回は再区分することと、前記更新された１セットのビットレートにより、その後のステップ（ｅ）、（ｆ）、および（ｇ）の遂行は前記差異の減少を示す差尺度の判定に帰結する、
（ｉ）前記更新された１セットのビットレートからの複数の異なるビットレートでそれぞれ符号化された複数の一時的部分を備える出力ビデオシーケンスを作成することとを、備える、方法。
【請求項２】
取得される前記ビデオシーケンスは最初に、所定初期一定ビットレートで符号化される、請求項１に記載の方法。
【請求項３】
取得される前記ビデオシーケンスは最初に、特定のビデオサービスでコンテンツが符号化される際の最大レートで符号化される、請求項１または２に記載の方法。
【請求項４】
前記ビデオシーケンスの複数の部分は複数の異なる特性を有するものとして識別され、複数の異なる初期一定ビットレートで符号化され、複数の部分の前記複数の初期ビットレートは識別された前記複数の特性に基づき判定される、請求項１乃至３のいずれかに記載の方法。
【請求項５】
複数の一定ビットレートの範囲を再区分する前記ステップは、前記更新された１セットのビットレートが前記１つ以上の初期一定ビットレートの少なくとも１つの初期一定ビットレートを含むように、遂行される、請求項１乃至４のいずれかに記載の方法。
【請求項６】
複数の一定ビットレートの範囲を再区分することは、対応付けられた前記少なくとも１つの初期一定ビットレートより大きい複数のビットレートを有する複数のサブレンジの最適数を識別するステップを備え、最適数のサブレンジは、対応付けられた前記少なくとも１つの初期一定ビットレートより低い複数のビットレートを有する、請求項５に記載の方法。
【請求項７】
符号化に使用される一定ビットレート数は２〜１０であり、望ましくは４である、請求項１乃至６のいずれかに記載の方法。
【請求項８】
複数の一定ビットレートの範囲を再区分することは、複数の一定ビットレートの範囲を異なる数のサブレンジに区分することを含んでよく、各サブレンジには複数の異なるビットレートの選択されたいずれか１つのビットレートが対応付けられる、請求項１乃至７のいずれかに記載の方法。
【請求項９】
符号化に使用される前記複数の一定ビットレートは所定最大ビットレートによって制限される、請求項１乃至８のいずれかに記載の方法。
【請求項１０】
請求項１乃至９のいずれかによる方法を遂行する装置。
【請求項１１】
請求項１乃至９のいずれかによる方法をデジタルプロセッサに遂行させる複数のプロセッサ実施可能命令を含むプログラム。
【請求項１２】
請求項１１の前記複数のプロセッサ実施可能命令を含むプログラムを記録する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はビデオ符号化に関する。より具体的に、本発明の態様はビデオ符号化のための方法および装置に関する。好適な実施形態はビデオ圧縮に、特に「準一定」知覚品質でビデオを符号化することに関する。
【背景技術】
【０００２】
画像を符号化するときに生成されるビットの数は画像の内容に左右されるため、すなわち画像が以前に符号化された画像にどれくらい似ているか、どの程度のディテールを含んでいるかに、左右されるため、符号化ビデオは必然的に可変ビットレート（ＶＢＲ）を有する。ビデオシーンには、少数のビットで一定の品質まで符号化できるものもあれば、同じ品質を達成するにあたって大幅に多くのビットを必要とするものもある。一定ビットレート（ＣＢＲ）符号化を使用する場合は、ビットレート制約に適合するためビデオを時変品質（time varying quality）で符号化しなければならない。これは一定の品質を見ることを望むユーザにとって不十分である。また、ビデオ内容のジャンルに関わりなくビットレートを固定するため、ニュースやドラマのようなジャンルの内容は良好に符号化できても、動きの速いスポーツやミュージックビデオやコンサート等は満足に符号化できない。
【０００３】
ビデオシーケンスの全体的知覚品質は（通常）ビデオシーケンス全体の個々の小さいチャンクの品質の平均ではなく、ビデオシーケンス全体またはその部分で観察される最低品質に偏っている。（全てのシーンが一定の知覚品質レベル以上で符号化されるよう十分に高い一定ビットレートで符号化するのに対し）準一定品質（near-constant quality）で符号化することにより、一部のシーンを他のシーンより必要以上の品質で符号化してビットが浪費されることはなく、一定ビットレート符号化を使用する場合に比べて全体的な符号化ファイルのサイズを小さくすることができる。
【０００４】
ただし、一定知覚品質による符号化は市販のビデオ符号化プラットフォームにより幅広くサポートされておらず、市販のビデオ符号化プラットフォームは一定ビットレート符号化を通常サポートする。
【０００５】
国際特許出願第２００９／１１２８０１号（「Ｎｉｌｓｓｏｎ」」は一定知覚品質による符号化方法を説明している。画像は可変パラメータによる符号化アルゴリズムを用いて符号化され、符号化の品質は変化する。この方法を詳しく要約する。まずは品質測定パラメータについて目標値が指定される。次に、符号化される各画像（または画像の部分）につき、他の画像とは無関係に、ａ）その画像領域の目標値、およびｂ）その画像領域の画像内容に依存するマスキング尺度Ｃに基づき、可変パラメータＱＰの値を推定する。次に、推定値を用いて画像が符号化される。マスキング効果に対する符号化品質の効果を考慮するためマスキング尺度は補償できる。
【０００６】
国際特許出願第２００９／０６０１７８号（「Ｎｉｌｓｓｏｎ」）は、複数の符号化ビデオストリームからビデオチャンクを選択し、準一定知覚品質により単一のビデオストリームを生成する方法を説明している。生成された単一ビデオストリームは、指定クライアントビデオバッファサイズにより一定ビットレートで伝送できる。尚、この文書は、一定ビットレートで伝送するときにバッファ制約に適合するため符号化ビットストリームを選択することに関係している。
【０００７】
米国特許出願第２００８／２６００４２号（「Ｓｈａｒら」）は、シーケンスの内容に関わりなく所望の一定知覚品質を達成するため、マルチメディアシーケンスの知覚品質を制御する技法を説明している。具体的に、符号化装置は品質制御法を実施し、シーケンスセグメントをセグメントの内容に基づきコンテンツ「クラス」に対応付け、次にシーケンスセグメントの知覚品質基準を判定し、セグメントの符号化に使用される少なくとも１つの符号化パラメータを調整する。これによりシーケンスセグメントの知覚品質は所望の品質に収束する。
【０００８】
他の引用先行技術を簡潔に参照する。Ｄｏｎｇｄｏｎｇ  Ｚｈａｎｇら：「Ｈ．２６４／ＡＶＣ高精細度ビデオ符号化のための２パスレート制御アルゴリズム（A Two-Pass Rate Control Algorithm for H.264/AVC High-Definition Video Coding）」（信号処理：画像通信、第２４巻、第５号（２００９年５月１日）、３５７−３６７ページ）は、Ｈ．２６４／ＡＶＣ高精細度ビデオ符号化で一定品質符号化を達成することを目指す２パスレート制御アルゴリズムに関する。
【０００９】
米国特許第６，２７８，７３５号（「Ｍｏｈｓｅｎｉａｎ」）は、リアルタイムシングルパス可変ビットレート制御法およびエンコーダに関する。これはシングルパスにより符号化することに関係し、特に各フレームグループにつき目標ビット数を事前に判定することに関係する。
【００１０】
ＢＴ  Ｖｉｓｉｏｎ等の現在利用可能な様々なインターネットプロトコルテレビジョン（ＩＰＴＶ）サービスは、一定ビットレート符号化とネットワーク上での帯域幅予約を使用する。かかるサービスの将来のバージョンは、帯域幅予約を放棄することや一定ビットレート以外のビットレートで符号化する可能性を提供すること等、さらなる柔軟性を可能にすると見込まれる。準一定知覚品質による符号化の使用は、知覚品質目標を維持しながら符号化ファイルサイズを縮小することを可能にし、特にコンテンツ配信コストがバイトボリュームに左右される場合に、コンテンツ配信コストを低減できる。
【発明の概要】
【００１１】
本発明の第１の態様によると、ビデオ符号化の方法が提供され、方法は、
（ａ）１つ以上の初期一定ビットレートで符号化されたビデオシーケンスを取得することと、
（ｂ）符号化されたビデオ信号を一時的部分に分割することと、
（ｃ）複数の一時的部分の各々について、所定知覚品質要求を満たすよう一時的部分を符号化する一定ビットレートを判定するため、一時的部分を分析することと、
（ｄ）判定された一定ビットレートの範囲を複数のサブレンジに区分することであって、各サブレンジには複数の異なるビットレートのいずれか１つの選択されたビットレートが対応付けられる、区分することと、
（ｅ）一時的部分が、サブレンジに対応付けられたビットレートで符号化された場合に、所定知覚品質要求を満たすようにするため、サブレンジのいずれか１つのサブレンジに一時的部分を割り当てることと、
（ｆ）シーケンスについて、割り当てられたサブレンジのビットレートで一時的部分が符号化されるにあたって要求されるデータ量を示す第１のビット数尺度と、一定知覚品質要求に合致するにあたって十分なビットレートで一時的部分が符号化されるにあたって要求されるデータ量を示す第２のビット数尺度とを、確立することと、
（ｇ）第１のビット数尺度と第２のビット数尺度との差異レベルを示す差尺度を判定することと、
（ｈ）少なくとも１つのサブレンジに異なるビットレートが対応付けられるようにするため、更新された１セットのビットレートを使用し一定ビットレートの範囲を少なくとも１回は再区分することであって、更新された１セットのビットレートにより、その後のステップ（ｅ）、（ｆ）、および（ｇ）の遂行は差異の減少を示す差尺度の判定に帰結する、再区分することと、
（ｉ）更新された１セットのビットレートからの異なるビットレートでそれぞれ符号化された一時的部分を備える出力ビデオシーケンスを作成することとを、備える。
【００１２】
ビデオシーケンスは初期一定ビットレートで予め符号化された状態で受信されてよく、あるいは受信され、その後符号化されてよく、これにより一定ビットレートで符号化されたビデオシーケンスを取得する。
【００１３】
好適な実施形態によると、取得されるビデオシーケンスは最初に、単一の所定初期一定ビットレートで符号化されてよい。例えばこれは最初に、特定のビデオサービスでコンテンツが符号化される際の最大レートで符号化されてよい。これは、初期一定ビットレート符号化が出力ビデオシーケンスの作成で最後に使用される一定ビットレート符号化の最も高い一定ビットレート符号化となるようにするため、行われてよい。
【００１４】
あるいは、取得されるビデオシーケンスは、またはその部分は、最初に、異なる初期一定ビットレートで符号化されてよい。取得されるビデオシーケンスの各部分は、例えば異なる特性を有するものとして識別されてよく（公知のビデオ分析法等を使用）、その後異なる初期一定ビットレートで符号化されてよく、各部分の初期ビットレートは識別されたそれぞれの特性に基づき判定される。「特性」は、ニュース、ドラマ、スポーツ、ミュージックビデオ、コンサート等、ビデオコンテンツの「ジャンル」に関係してよく、または「ジャンル」によって決定されてよく、または「ジャンル」を指示するよう選択されてよく、これにより、適切に選択された異なる初期符号化を使用しビデオシーケンス全体の異なる部分を別々に扱うことができる。
【００１５】
好適な実施形態によると、一定ビットレートの範囲を再区分するステップは、更新された１セットのビットレートが、初期一定ビットレートを含むように、または２つ以上が使われた可能性がある場合は、（１つ以上の）初期一定ビットレートの少なくとも１つの初期一定ビットレートを含むように、遂行されてよい。出力ビデオシーケンスの作成には初期符号化を使用できるため、全体的な処理の効率が良くなる。かかる実施形態において、一定ビットレートの範囲を再区分することは、対応付けられた特定の１つの初期一定ビットレートより大きいビットレートを有するサブレンジの最適数を識別するステップを備えてよく、最適数のサブレンジは、対応付けられた前記少なくとも１つの初期一定ビットレートより低いビットレートを有する。
【００１６】
望ましくは、符号化に使用される一定ビットレート数は２〜１０であり、望ましくは約４である。
【００１７】
特定の実施形態によると、一定ビットレートの範囲を再区分することは、一定ビットレートの範囲を当初使用された数とは異なる数のサブレンジに区分することを含んでよく、各サブレンジには複数の異なるビットレートの選択されたいずれか１つのビットレートが対応付けられる。これは、例えば選択される最初の数（例えば４）により、終了基準が満たされないと判断される場合に、あるいは終了基準が速やかに満たされないと判断される場合に、行われてよい。さらなる反復により終了基準が（より速やかに）満たされるようにするため、手順を継続するときには、より高いサブレンジ数（例えば６または８）が使用されてよい。
【００１８】
特定の実施形態によると、符号化に使用される一定ビットレートは所定の最大ビットレートによって制限されてよい。これは、前記最大ビットレートに要求される配信ビットレートを制約しながら、コンテンツの任意の点でスタートしてコンテンツを配信できるようにする理由のため（しばしばランダムアクセスと呼ばれる）、または別の理由のため、行われてよい。
【００１９】
本発明の他の態様は、第１の態様の方法を遂行する装置およびコンピュータプログラムと、保持手段とに、望ましくはかかるプログラムを保持する磁気または光ディスク（例えばハードドライブまたはＣＤ  ＲＯＭまたはＤＶＤ等）、またはソリッドステートメモリ装置等の有形保持手段とに、関する。
【００２０】
第１の態様との関係で上述した様々な選択肢および好適な実施形態は、他の態様にも適用できる。
【００２１】
本書の「要約」に記載されているように、ここでは特にビデオ圧縮との関係で使用されるビデオ符号化のための方法および装置が開示される。多くの市販ビデオエンコーダは一定ビットレート符号化をサポートするが、通常は一定品質符号化をサポートしない。本発明の態様はビデオ符号化のための方法および装置に関係し、方法は一定ビットレートエンコーダのビットレートを判定することを含み、ビデオのセグメントは判定されたビットレートで符号化されるファイルから選ぶことができ、不必要に多量のビデオを不必要に高いビットレートで符号化することなく、品質がほぼ一定の出力ビットストリームが生成される。ビットストリームセグメントは、圧縮が容易いシーンの場合は低ビットレートビットストリームから選択されてよく、圧縮が困難なシーンの場合は高ビットレートビットストリームから選択されてよい。
【００２２】
上述した国際公開第２００９／０６０１７８号を再び参照する。これは、一定ビットレートで伝送するときにバッファ制約に適合するため符号化ビットストリームを選択することに関係しており、本発明の好適な実施形態は、一定ビットレート符号化を実行する際のビットレートを選択することに関係している。
【図面の簡単な説明】
【００２３】
【図１】図１は、ビデオコーダのブロック図である。
【図２】図２は、パラメータの導出を示すグラフである。
【図３】図３は、パラメータの導出を示すグラフである。
【図４】図４は、パラメータの導出を示すグラフである。
【図５】図５は、パラメータの導出を示すグラフである。
【図６】図６は、パラメータの導出を示すグラフである。
【図７】図７は、パラメータの導出を示すグラフである。
【図８】図８は、パラメータの導出を示すグラフである。
【図９】図９は、パラメータの導出を示すグラフである。
【図１０】図１０は、パラメータの導出を示すグラフである。
【図１１】図１１は、本発明の好適な実施形態に従い方法を遂行するときの図１等のコーダの動作を説明するフローチャートである。
【発明を実施するための形態】
【００２４】
図１〜１１を参照し、好適な実施形態によるビデオ符号化のための方法および装置を説明する。まずは、いくつかの関係コンセプトを手短に述べる。
【００２５】
先に説明したように、画像を符号化するときに生成されるビットの数は画像の内容に左右されるため、すなわち画像が以前に符号化された画像にどれくらい似ているか、どの程度のディテールを含んでいるかに、左右されるため、符号化ビデオは必然的に可変ビットレートを有する。ビデオシーンには、少数のビットで一定の品質まで符号化できるものもあれば、同じ品質を達成するにあたって大幅に多くのビットを必要とするものもある。
【００２６】
ビデオシーケンスの全体的知覚品質はビデオの小さいチャンクの品質の平均ではなく、観察される最低品質に偏っている。準一定品質で符号化することにより、一部のシーンを他のシーンより必要以上の品質で符号化してビットが浪費されることはなく、一定ビットレート符号化を使用する場合に比べて全体的な符号化ファイルのサイズを小さくすることができる。
【００２７】
先に指摘したように、発明者らは、一定知覚品質による符号化が市販のビデオ符号化プラットフォームにより幅広くサポートされていないことを認識している。市販のビデオ符号化プラットフォームは一定ビットレート符号化を通常サポートする。本発明の好適な実施形態は、いくつかの一定ビットレート値でコンテンツを符号化することと、符号化の統計を分析することと、一定ビットレートで符号化されたビデオストリームからビデオチャンクを選択することによって準一定品質ビデオストリームを作成することとに、関係する。特にこれは、符号化数の制約に基づき一定ビットレート符号化で使用するビットレートを選択することに関係する。これにより、各ビデオチャンクは目標品質レベル以上で符号化され、最終的な準一定品質符号化ファイルのサイズは低減される。
【００２８】
図１を参照し、図示された装置は、ビデオ入力２で圧縮されていないデジタル符号化ビデオ信号を受信するビデオインターフェイス１を備える。プロセッサ３はディスクストレージ４に蓄積されたプログラムの制御下で作動し、メモリ５と、ビデオ出力７を供給するビデオ出力バッファ６とに、アクセスする。メモリ５は画像パラメータを一時的に蓄積するメモリ領域５１を含む。プログラムは、汎用オペレーティングシステム４０と、後述する１つ以上の符号化方法を実施するビデオ符号化ソフトウェアとを、含む。このソフトウェアは数個のプログラム（またはプログラムのグループ）を備える。具体的には次の通りである。
【００２９】
−制御ソフトウェア４１
−圧縮ソフトウェア４２：この例の圧縮ソフトウェアはＩＴＵ  Ｈ．２６４規格に適合する符号化アルゴリズムを実施する。
【００３０】
−知覚品質評価ソフトウェア４３
図２は、「良好」品質である４．０に等しい一定品質でビデオシーケンスを符号化した結果を示す。この例では、参照により本願に援用される先に参照した国際公開第２００９／１１２８０１号で説明されている一定知覚品質符号化法を用いて符号化が行われるが、これが一定知覚品質で符号化する多数の技法の１つに過ぎないことは理解されよう。この例ではその後、参照により本願に援用される国際特許出願第２００７／０６６０６６号（「Ｄａｖｉｓ」）で説明されている基準を用いてビデオの品質が測定されるが、言うまでもなく他のビデオ品質測定法も使用できることは理解されよう。
【００３１】
国際公開第２００７／０６６０６６号を簡潔に要約すると、これは特に、ビデオ信号が、複数のフレームを表す「当初の形態」と、可変量子化器ステップサイズを使用し適当な圧縮アルゴリズムによりビデオ信号が符号化された「符号化された形態」と、符号化されたビデオ信号が少なくとも部分的には当初の形態へ戻された「復号化された形態」とを、有する場合に使用されるビデオ品質測定法に、関する。符号化された信号は量子化器ステップサイズパラメータを含む。国際公開第２００７／０６６０６６号の技法は、ａ）量子化器ステップサイズパラメータの関数である第１の品質尺度を生成することと、ｂ）復号化された形態のビデオ信号によって表されるフレームの空間的複雑度の関数である第２の品質尺度を生成することと、ｃ）第１および第２の尺度を組み合わせることとを、備える。
【００３２】
図２に戻り、ビデオシーケンスが符号化され（例えば国際公開第２００９／１１２８０１号に記載された技法等を使用）、品質基準が決定されたら（例えば国際公開第２００７／０６６０６６号に記載された技法等を使用）、（この例で）「イントラ」符号化フレーム（「Ｉフレーム」）で始まる２４のフレームである画像の各グループを符号化するのに使われたビットの数が判定される。その後、ビット数は最低から最高までソートされ、図２に示す累積度数曲線を生成する。このグラフは一定品質「累積度数」プロットを表示し、ｘ軸は（単純に「度数」を表すのではなく）０−１００％の尺度で「累積度数」を表しているが、ｘ軸はビデオのチャンクを構成する画像グループのビデオコンテンツの「可変性」を示すものとして考えることができ、「可変性」は、空間的変化の量、クロミナンスの変化、および／またはチャンクの間に起こる輝度の変化を、表す。したがってこれは、圧縮が容易い簡素な静止画（範囲の０％端、またはその付近）から、圧縮が困難で急速な動きやクロミナンスおよび／または輝度の大きな変化を含む極めて複雑なシーン（範囲の１００％端、またはその付近）にまで、およぶ。
【００３３】
画像グループにより要求されるビットレートが９００Ｋビット／ｓを中央値とし１５３Ｋビット／ｓから４５５１Ｋビット／ｓまで変化していることが分かる。
【００３４】
言うまでもなく、この曲線は、一定品質符号化動作モードで作動するエンコーダによって生成されたビットストリームの分析により生成されたものである。先に指摘したように、これらは業界で広く実施されておらず、一定ビットレート符号化が広く展開されている。そこで我々は、同じビデオコンテンツ（またはこれの部分）を異なる一定ビットレートで符号化することによって生成されたビットストリームからデータチャンクを組み合わせることにより、準一定品質符号化ビットストリームを生成することを目指す。完全に一定の品質を得るには、ビデオコンテンツにあるデータチャンクと同数の一定ビットレートレベルでビデオコンテンツを符号化する必要がある。まったく同じ品質を達成するには、各チャンクに異なるビットレートが必要となる。一般的に、これは実際的でない。代わりに我々は、一定ビットレートレベルの数を適度に低い数に制限する。これは少なくとも２であり、この例では４である。以降の説明では、最終的な符号化準一定品質ビデオファイルでデータ量を低減させながら、目標一定品質レベル以上の品質レベルでビデオチャンクを表すため、一定ビットレートレベルの値をどのように判断するかの問題を解決する方法を説明する。
【００３５】
これより、一定ビットレートレベルを判断する１つのアルゴリズムを説明する。
【００３６】
まずは、使用する一定ビットレートレベルの数を選択する。上述したように、この数はこの例で４である。この数は、非常に高い処理要求をシステムに課すことなく、また不必要に複雑度を増すことなく、適度の柔軟性を提供することから、便宜上選ばれたものである。（レベル数は理論上は２でもよいが、望ましくは２より大きい）。次に、図２の累積プロットを水平軸に沿ってこの数のセクションに分割し、所望の目標品質を達成するため各セクションで必要とされる最高ビットレートを特定する。既にデータは増加するビットレート要求の順にソートされているため、特定される一定ビットレートレベルは、この累積度数曲線上で各セクションの右端のビットレートの値（縦軸）である。このようにして選択された一定ビットレートレベルと、所望の目標品質を達成するためそれらが適用されるビデオのチャンクを、図３に示す。（この図から、選択された初期一定ビットレートレベルが５９５Ｋビット／ｓ、９００Ｋビット／ｓ、１５５３Ｋビット／ｓ、および４５５１Ｋビット／ｓであることが分かる。これらの値は、実際には後ほど表示し説明する表１から取ったものである。）
特定のビデオチャンクで一定ビットレート符号化に使用されるビットレートは一定品質符号化に要求されるビットレートであり、２曲線間の垂直距離は一定品質符号化に要求される追加ビットレートを表す。尚、この追加ビットレートによりビデオチャンクは目標品質より高い品質で符号化されるため、追加ビットレートは「浪費」されると考えることができる。また、そのような品質向上は不要とみなされる。そこで、２曲線間の領域（「連続」曲線の上、「階段状点線」曲線の下）は、一定ビットレート符号化を使用するときの合計「浪費」ビットレートを表すものと考える。
【００３７】
この浪費を最小限に抑えるには、２曲線間の領域を最小限に抑える必要がある。
【００３８】
これを試みるため、まずは曲線間の総面積を測定し（この例では４つの独立した領域を合計する）、次にこの総面積を一定ビットレートレベル数（この例では４）で割って領域部分（area fraction）を得る。次に、高ビットレート端からスタートし、それぞれの一定ビットレートレベルに対応付けられた領域が領域部分以上になるまで、ビデオチャンクを（タッギング等により）一定ビットレートレベルに割り当てる。こうして判定される最初の一定ビットレートレベルは、ビデオシーケンスに見られるチャンクに要求される最高ビットレートに等しくなくてはならない（この例では４５５１Ｋビット／ｓ）。後続の一定ビットレートレベルは、一定ビットレートレベルにまだ対応付られていないチャンクの最高ビットレートとして判定される。一般的に、最低一定ビットレートレベルに対応付けられた領域（図３では０−２５％範囲にある曲線間の領域）は領域部分に満たない。我々は実際のところ、（１回の反復で）それぞれの一定ビットレートレベルに対応付けられた領域を均等化していない。そこで我々は、それぞれの一定ビットレートレベルに対応付けられた領域が所定の「終了基準」を満たすまで反復する。これが満たされると、領域は所定の許容範囲内で等しい。
【００３９】
曲線間の領域を最小にするため一定ビットレートレベルを見つける問題について解決策を見つけるアルゴリズムはほかにもある。他の実施形態ではそのような別のアルゴリズムを使用してよい。
【００４０】
図４はこのアルゴリズムの１反復の結果を示し、図５はこのアルゴリズムの２反復の結果を示す。これらのグラフから、４つの領域の合計（「浪費」ビットレートを表す）が反復のたびに減少していることが分かる。
【００４１】
下の表１は、初期設定と上記アルゴリズムの４反復後で一定ビットレートレベル（Ｋビット／ｓ単位）と、各レベルの面積および総面積（いずれもＭバイト単位）と、初期設定に対する節約率とを示している。
【表１】
0005507770.tif 000002
【００４２】
言うまでもなく、使用できる反復終了基準は多数ある。好適な基準では、１回の反復により合計面積が増加した後に停止し、総面積の減少率が１％等の所定閾値未満で増加するときに停止する。あるいは、領域１が他の領域の所定公差内になるときに、例えばこれが他の領域の５％以内になるときに、終了することもできる。
【００４３】
この例では４反復後に終了し、一定ビットレート符号化としてレート７９９Ｋビット／ｓ、１４５７Ｋビット／ｓ、２４５４Ｋビット／ｓ、および４５５１Ｋビット／ｓを選択する。
【００４４】
一定ビットレート符号化
上記の例では、まず一定品質符号化の統計を用いて一定品質符号化に要求されるビットレートの累積度数曲線を割り出し、次に浪費ビットレートを最小限に抑えながら準一定品質符号化を達成するため使用される一定ビットレートレベルを計算した。
【００４５】
ただし実際には、例えば一定品質で符号化するよう構成されたエンコーダを使用する別のプロセスによって一定品質符号化が達成されない場合に、準一定品質符号化を達成するため一定ビットレート符号化を遂行したい。
【００４６】
上記を考慮し、一定品質で符号化する必要性を回避する好適な実施形態によるプロセスをこれより説明する。
【００４７】
まずは、所定の一定ビットレートレベルにより符号化する。これは、符号化されるビデオコンテンツごとに同じビットレートであってよい。あるいは符号化されるビデオコンテンツごとに異なってよい。例えばこれはコンテンツのジャンルによって決定される。選択されるビットレートは、特定のビデオサービスでコンテンツが符号化される最大レートであってもよい。
【００４８】
この例では２Ｍビット／ｓで符号化する。次に符号化されたビデオで各画像グループの品質を分析し、ほぼ一定となることが期待されるビットレートを判定する。また、各符号化フレームに対し、各画像グループの平均品質を計算し（この例では、例えば国際公開第２００７／０６６０６６号に規定された基準を適用することによって判定）、画像グループにわたって値を平均化する。また、画像グループを符号化するため使用される平均量子化パラメータと、画像グループの空間的複雑度の尺度となる画像グループの平均コントラストを、記録する。これらはいずれも、国際公開第２００７／０６６０６６号の技法を使用し基準を計算する場合に必要となるパラメータである。
【００４９】
目標品質を選択する。全てのコンテンツはこれ以上で符号化したい。この例では「良好」品質に相当する値４．０を選択する。次に、一定ビットレート符号化の計算済みパラメータを使用し、目標品質で画像グループを符号化するのに要求されたビットレートを推定する。これは次の通りに行う。
【００５０】
国際公開第２００９／１１２８０１号が説明する技法では、国際公開第２００７／０６６０６６号等に記載された技法を使用し判定された品質基準に対する二次近似を特定することにより、さらに平均量子化パラメータの二次方程式を解くことにより、平均コントラストが既知の場合に一定の目標品質を達成するのに要求される平均量子化パラメータを判定できる。そのような技法をこれらの実施形態で使用し要求される平均量子化パラメータを判定することもできるが、本発明の実施形態がそのような技法を使用する実施形態に限定されないことは理解されよう。言うまでもなく別の技法を使用することもできる。
【００５１】
国際公開第２００７／０６６０６６号の品質基準に対する二次近似は次の通りであり、Ｑは平均量子化パラメータであり、Ｃは平均コントラストである。
【００５２】
これは、平均コントラストを所与とし目標品質を達成するにあたって必要とされる平均量子化指数の解答を与える二次方程式を解く周知の方法により、解くことができる。
【数１】
0005507770.tif 000003
【００５３】
次に、この量子化パラメータ値により符号化するため必要とされたビットレートの推定値を計算する。Ｈ．２６４で符号化する場合にビットレートが次式に従い量子化パラメータにともない変化することは周知である。別のビデオ符号化規格で符号化する場合は別の式が適用され、それらの式も周知である。
【数２】
0005507770.tif 000004
【００５４】
パラメータＫはコンテンツの種類により変化し、またある程度は品質により変化し、通常は４．０〜５．０の範囲にある。この例ではＫ＝４．４と設定する。
【００５５】
一定品質でシーケンス内の各画像グループを符号化するのに要求されるビット数は一定ビット符号化から推定できる。次に、最初のケースのように画像グループを一定品質で符号化するのに要求される推定ビット数の順に画像グループを最低から最高までソートし、累積度数分布をプロットする。
【００５６】
図６は、最初の一定品質符号化の累積度数分布と、一定ビットレート符号化の分析から導き出された推定累積度数分布とを示す。
【００５７】
推定一定品質累積度数が実際の曲線に非常に近く、一定ビットレートによる符号化での一定ビットレートレベルの選択に適していることが分かる。
【００５８】
尚、修正量子化指数により符号化される場合に画像グループに必要とされるビットレートを推定する上記のプロセスは、多くの画像グループの結果がまとめて検討される場合にしばしば不正確な結果を与えるが、全体的な結果は改善される。
【００５９】
前に説明したように、推定一定品質累積度数曲線は一定ビットレート符号化レベルを計算するために使用できる。これが前に説明した通りに行われる場合、一定品質累積度数曲線を推定する目的でコンテンツが符号化されたときのビットレートは、選択されたレートのいずれか１つにならないことが見込まれる。これは場合によっては許容されるが、一定ビットレート符号化レベルの１つとしてこれを利用することが望まれる場合もある。
【００６０】
この場合、手順は次の通りに修正できる。
【００６１】
まずは、使用する一定ビットレートレベルの数を選択する。この例でもこれは４である。次に、最初の一定ビットレート符号化でビットレートが使用されたところで累積プロットを２つのセクションに分割する。
【００６２】
これを図７に示す。ここでは、最初の一定ビットレート符号化で使用されたビットレート２Ｍビット／ｓより下の曲線部分が実線で表示されており、最初の一定ビットレート符号化で使用されたビットレートより上の曲線部分は点線で表示されている。
【００６３】
次に、曲線全体について前に説明した通りに２つの曲線部分を処理する。各線分の最適一定ビットレート符号化レベル数は分かっておらず、分かっているのは合計のみだから、追加の反復が必要となる。したがって、各線分につき可能性のある全一定ビットレート符号化レベル数にわたって反復する。この例では、第１の線分で３レベル、第２の線分で１レベル、次に各線分で２レベル、最後に第１の線分で１レベル、第２の線分で３レベルを試みる。最低総面積を与えた解法を選ぶ。
【００６４】
別の応用シナリオでは、最大ビットレートに要求される配信ビットレートを制約しながら、コンテンツの任意の点でスタートしてコンテンツを配信できるようにする理由等のため（しばしばランダムアクセスと呼ばれる）、一定ビットレート符号化レベルとして使用される最大ビットレートを制限したい。
【００６５】
そのような場合は、この最大ビットレートで最初の符号化を実行することが実際的である。このビットレートで目標品質より低い品質で符号化される画像グループは、最終的な「準一定」品質符号化ファイルでこの低い品質で符号化される。他の画像グループは目標品質以上で符号化される。
【００６６】
この場合、この最初の符号化で目標品質より低い品質で符号化される画像グループに要求されるビットレートは推定する必要がない。それらの画像グループを符号化するため使用されるのはこのビットレートである。したがって、最初の符号化で使用されたビットレートで一定品質累積度数曲線を終了できる。この場合は前記の図からの実線曲線となる。さらに、前に説明したようにこれを処理して一定ビットレート符号化レベルを見つけることができる。あるいは、一定品質累積度数曲線で最初の符号化に使用されたビットレートのところでビットレートをクリップ（clip）し、図８に示すように全画像グループにわたって曲線を継続させ、前に説明したようにこれを処理して一定ビットレート符号化レベルを見つけることができる。
【００６７】
これより、最初の一定ビットレート符号化で使用されたビットレートの上下のビットレートで一定ビットレート符号化レベルを選択する例を説明する。
【００６８】
上述したように３つのケースを検討する：１）第１の線分で３つの一定ビットレートレベル、第２の線分で１つの一定ビットレートレベル、２）各線分で２つの一定ビットレートレベル、３）第１の線分で１つの一定ビットレートレベル、第２の線分で３つの一定ビットレートレベル。
【００６９】
図９は３つのケースの一定ビットレートレベルの初期設定を示す。ここで、各線分の水平範囲は等しいパーセンタイルに分割されており、除数は線分の一定ビットレートレベル数である。
【００７０】
図１０は、３つの各ケースで反復プロセスが終了した後に選択された一定ビットレートレベルを示す。
【００７１】
下の表は、３つの各ケースで反復後に選択されたビットレートと領域を示す。どのケースでも最高ビットレートは常に画像グループの最大推定ビットレートであり、推定累積度数曲線の下線分で使用される最高ビットレートは常に当初の符号化ビットレートである。
【表２】
0005507770.tif 000005
【表３】
0005507770.tif 000006
【表４】
0005507770.tif 000007
【００７２】
ケース２は最低総面積に収束するため、最良の解法は当初の符号化レートの上に２つの一定ビットレートレベル、その下に２つの一定ビットレートレベルを有することであり、後者のいずれか一方は当初の符号化レートとなる。
【００７３】
また実際には、ケースが増加する番号順に検討された場合ケース３で反復する必要はなかった。なぜなら、推定累積度数曲線の下線分に対応する領域は反復が適用される前でもケース２の総面積より大きく、ケース３で下線分について変化はないためケース３はケース２より良くならない。
【００７４】
図１１は、好適な実施形態による方法を遂行する図１に示すようなコーダの動作を説明するフローチャートである。図１１を参照し、符号化されるビデオシーケンスは、例えば図１の装置のビデオインターフェイス１の入力２で受信される（ステップ１００）。シーケンスは、デジタル符号化ビデオフレームのストリームとして、またはファイルとして、受信されてよい。シーケンスは最初、適当な一定ビットレート（ＣＢＲ）符号化レートを使って符号化される（ステップ１０５）。符号化されたシーケンスはビデオチャンクに分割される。目標知覚品質レベルを満たすため符号化に使われる一定ビットレートを判定するため（ステップ１１５）、それぞれのチャンクは分析される（ステップ１１０）。この時点で、判定されたビット数をソートすることにより、図２に示すようなグラフを描くことができる（ステップ１２０）。また、判定された一定ビットレートの範囲を、初期（反復前）一定ビットレートによって境された４つの（または任意に選ばれる数の）サブレンジに区分することにより、図３に示すようなグラフを描くことができる（ステップ１２５）。これは、プロットをそのｘ軸に沿って４つの等しいセクションに区分することにより、または他の様々な方法により、果たすことができる。
【００７５】
先に説明したように、図３のｘ軸沿いの任意の点で表されるビデオチャンクについて、一定品質曲線の上、階段状点線の下の垂直距離は「浪費」される追加ビットレートを表す。これによりビデオチャンクは不必要に高い品質で符号化される（目標品質より上、ただし品質向上により感知できるほどの全体的知覚品質はもたらされないと考えられる）。図３、４、および５を再び参照し、プロセスの次の段階では、選択された一定ビットレートサブレンジ数（この場合は４）以上に曲線を区分せず、「浪費」される追加ビットレートの合計量を減らすため反復を遂行する。
【００７６】
一定品質累積度数曲線は通常は不規則的に伸ばされたＳ字形曲線となるため、通常は初期設定（ｘ軸沿いに等間隔を置く区分）によりグラフの右端の領域部分は他の領域部分より大幅に大きくなる。この最大領域部分を縮小するよう区分を再配置することにより、他の領域部分は増加することが見込まれるが、最大領域部分の減少を大幅に下回る。総面積（領域部分の合計）は反復のたびに減らされる。
【００７７】
図１１のステップ１３０〜１５０はこの方法を表している。ステップ１３０では総面積（区分は図３の初期設定の位置）が計算される。ステップ１３５ではこの総面積が選択された数（この場合は４）で割られ、ステップ１４０では区分が再配置され、（以前は大きかった）右側の領域の面積は以前の総面積の僅か４分の１になる。ステップ１４５では総面積が再計算される（図４に示す再配置された区分）。ステップ１５０では、先に説明したような所定の終了条件が満たされるか否かを判断する。満たされない場合は、ステップ１３５、１４０、および１４５を繰り返すことによってさらなる反復が遂行され、その後ステップ１５０で結果を終了条件に照らして再度チェックする。終了条件が満たされる場合、プロセスは次の段階へ継続できる。
【００７８】
一定ビットレートビデオビットストリームからの準一定品質ビデオビットストリームの作成
図１１のステップ１００〜１５０を具体的に参照し、ビデオを符号化する一定ビットレートレベルを選択する方法を説明した。これにより各ビットストリームからチャンクを選択し、全てのチャンクが目標品質以上で符号化されるビデオビットストリームを作成し、作成されたビデオビットストリームのサイズは最小限に抑えることができる。
【００７９】
一定ビットレートレベルを選択したら、選択されたレベルの一定ビットレートでビデオコンテンツ（シーケンス全体、またはその部分）が符号化される（ステップ１５５）。その後、上述したように各画像グループにつき品質基準を判定するため、一定ビットレートで符号化されたビデオビットストリームが分析される（ステップ１６０）。その後、ビデオコンテンツ内の各画像グループにつき、目標品質以上で符号化された最低ビットレートビデオビットストリームからビットを選択することにより、あるいは符号化で目標品質が達成されなかった場合は最高ビットレートビデオビットストリームからビットを選択することにより、新しいビデオビットストリームを作成する（ステップ１６５）。
【００８０】
図１１の最終ステップ（ステップ１６５）のプロセスは、説明のため以下に記すフローチャートステップで遂行できる。これはステップ２００で始まる。
【００８１】
２００  選択された一定ビットレートレベルＬｒ（ｒ＝１．．．Ｒ）で符号化されたソースビデオコンテンツはチャンクｇ（ｇ＝１．．．Ｇ）に分割される。通常、画像グループはイントラ符号化画像で始まる。符号化されたビデオストリームの各チャンクにつき、知覚品質Ｑｒｇが判定される。
【００８２】
２１０  目標品質ＱＴは出力準一定品質符号化ビットストリームファイルの目標品質に設定される。
【００８３】
２２０  チャンクインデックスｇ＝１を設定する。
【００８４】
２３０  ビットレートインデックスｒ＝０を設定する。
【００８５】
２４０  ｒ＝ｒ＋１を設定する。
【００８６】
２５０  （Ｑｒｇ≦ＱＴ）且つ（ｒ＜Ｒ）である場合、ステップ２４０へ進む。
【００８７】
２６０  チャンクｇについて出力ビットストリームファイルのビットレートインデックスを設定する、Ｆｇ＝ｒ。
【００８８】
２７０  ｇ＝ｇ＋１を設定する。ｇ≦Ｇである場合ステップ２３０へ進み、そうでなければ終了する。
【００８９】
異なるビットレート（先に説明したように選ばれたもの）を各々有する、複数の一定ビットレートビデオビットストリームから取られたビデオコンテンツの一時的部分（「チャンク」）を使用し最終的な準一定品質ビデオビットストリームを作成する最後のプロセスを、上記のフローチャートステップに従って遂行できること、または他の様々な方法で遂行できることは、言うまでもなく明らかであろう。
【図１】
0005507770.tif 000008
【図２】
0005507770.tif 000009
【図３】
0005507770.tif 000010
【図４】
0005507770.tif 000011
【図５】
0005507770.tif 000012
【図６】
0005507770.tif 000013
【図７】
0005507770.tif 000014
【図８】
0005507770.tif 000015
【図９】
0005507770.tif 000016
【図１０】
0005507770.tif 000017
【図１１】
0005507770.tif 000018