(57)【要約】  本開示は、イントラコード化フレームに対するレート制御のための技法を説明する。本開示の一例では、レート制御パラメータは、ターゲットビットレートと複雑性測度とを使用して計算され得る。一例では、複雑性測度は、イントラコード化フレームの絶対値変換差分和（ＳＡＴＤ）計算を用いて計算される。
2016518777.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ符号化におけるレート制御のための方法であって、
ビデオデータのフレーム内の各ブロックに対する絶対値変換差分和（ＳＡＴＤ）計算に基づいてビデオデータの前記フレームの複雑性測度を決定することと、ここにおいて、ビデオデータの前記フレームはイントラ予測を使用して符号化されるべきである、
前記複雑性測度およびターゲットビットレートに基づいてレート制御パラメータを決定することと、
前記決定されたレート制御パラメータに基づいてイントラ予測モードを決定することと、
前記決定されたイントラ予測モードを使用してビデオデータの前記フレームを符号化することと
を備える、方法。
【請求項２】
前記決定されたレート制御パラメータに基づいて量子化パラメータを決定することと、
前記決定された量子化パラメータを使用してビデオデータの前記フレームを符号化することと
をさらに備える、請求項１に記載の方法。
【請求項３】
前記複雑性測度および前記レート制御パラメータが、ビデオデータの前記フレームの各コーディングツリーユニット（ＣＴＵ）に対して決定される、請求項１に記載の方法。
【請求項４】
前記ビデオデータの１つのＣＴＵの前記複雑性測度を決定することが、
変換係数のブロックを作成する前記ＣＴＵに対する周波数ドメイン変換を実行することと、
前記変換係数のすべてを合計することおよび変換係数の前記ブロック内のＤＣ係数位置における変換係数の値を減算することによって、第１のＳＡＴＤ値を計算することと、
前記複雑性測度として前記第１のＳＡＴＤ値を割り当てることと
を備える、請求項３に記載の方法。
【請求項５】
前記ＣＴＵに対する前記周波数ドメイン変換を実行することが、前記ＣＴＵのあらゆるブロックに対する前記周波数ドメイン変換を実行することを備え、前記第１のＳＡＴＤ値を計算することが、各ブロックの前記変換係数のすべてを合計することおよび変換係数の前記ブロック内の前記ＤＣ係数位置における前記変換係数の前記値を減算することによって、前記第１のＳＡＴＤ値を計算することを備える、請求項４に記載の方法。
【請求項６】
前記ビデオデータの１つのＣＴＵの前記複雑性測度を決定することが、
変換係数のブロックを作成する前記ＣＴＵに対する周波数ドメイン変換を実行することと、
前記ブロック変換係数の最上行および最左列における変換係数以外の変換係数の前記ブロック内の前記変換係数のすべてを合計することによって第２のＳＡＴＤ値を計算することと、
前記複雑性測度として前記第２のＳＡＴＤ値を割り当てることと
を備える、請求項３に記載の方法。
【請求項７】
ビデオデータの前記フレームの１つのＣＴＵの前記複雑性測度を決定することが、
変換係数のブロックを作成する前記ＣＴＵに対する周波数ドメイン変換を実行することと、
前記変換係数のすべてを合計することおよび変換係数の前記ブロック内のＤＣ係数位置における変換係数の値を減算することによって第１のＳＡＴＤ値を計算することと、
前記ブロック変換係数の最上行および最左列における変換係数以外の変換係数の前記ブロック内の前記変換係数のすべてを合計することによって第２のＳＡＴＤ値を計算することと、
１つまたは複数の所定の基準に基づいて前記複雑性測度として前記第１のＳＡＴＤ値または前記第２のＳＡＴＤ値のいずれかを選択することと
を備える、請求項３に記載の方法。
【請求項８】
前記複雑性測度として前記第１のＳＡＴＤ値または前記第２のＳＡＴＤ値のいずれかを選択することが、
前記第１のＳＡＴＤ値が所定のしきい値より小さい場合、前記複雑性測度として前記第１のＳＡＴＤ値を選択することと、
前記第１のＳＡＴＤ値が所定のしきい値より大きい場合、前記複雑性測度として前記第２のＳＡＴＤ値を選択することと
を備える、請求項７に記載の方法。
【請求項９】
前記複雑性測度として前記第１のＳＡＴＤ値または前記第２のＳＡＴＤ値のいずれかを選択することが、
ビデオデータの前記フレームが７２０ｐより小さい解像度を有する場合、前記複雑性測度として前記第１のＳＡＴＤ値を選択することと、
ビデオデータの前記フレームが７２０ｐ以上の解像度を有する場合、前記複雑性測度として前記第２のＳＡＴＤ値を選択することと
を備える、請求項７に記載の方法。
【請求項１０】
ビデオデータの前記フレーム全体に対して前記複雑性測度と前記レート制御パラメータとを決定することをさらに備える、請求項１に記載の方法。
【請求項１１】
前記レート制御パラメータを決定することが、
式  λ=α（Ｃ／Ｒtarget）βを計算することを備え、
ここにおいて、λが前記レート制御パラメータであり、Ｃが前記複雑性測度であり、Ｒtargetが前記ターゲットビットレートであり、αおよびβが２次レート制御パラメータである、請求項１に記載の方法。
【請求項１２】
前記２次レート制御パラメータをフレームレベルで更新することをさらに備える、請求項１１に記載の方法。
【請求項１３】
前記２次レート制御パラメータをコーディングツリーユニット（ＣＴＵ）レベルで更新することをさらに備える、請求項１１に記載の方法。
【請求項１４】
ビデオ符号化プロセスにおいてレート制御を実行するように構成された装置であって、
ビデオデータのフレームを記憶するように構成されたメモリと、
ビデオデータの前記フレーム内の各ブロックに対する絶対値変換差分和（ＳＡＴＤ）計算に基づいてビデオデータの前記フレームの複雑性測度を決定すること、ここにおいて、ビデオデータの前記フレームはイントラ予測を使用して符号化されるべきである、
前記複雑性測度およびターゲットビットレートに基づいてレート制御パラメータを決定すること、
前記決定されたレート制御パラメータに基づいてイントラ予測モードを決定すること、および
前記決定されたイントラ予測モードを使用してビデオデータの前記フレームを符号化することを行うように構成されたビデオエンコーダと
を備える、装置。
【請求項１５】
前記ビデオエンコーダが、
前記決定されたレート制御パラメータに基づいて量子化パラメータを決定することと、
前記決定された量子化パラメータを使用してビデオデータの前記フレームを符号化することと
を行うようにさらに構成される、請求項１４に記載の装置。
【請求項１６】
ビデオエンコーダが、ビデオデータの前記フレームの各コーディングツリーユニット（ＣＴＵ）に対する、前記複雑性測度と前記レート制御パラメータとを決定するように構成される、請求項１５に記載の装置。
【請求項１７】
前記ビデオエンコーダが、
変換係数のブロックを作成する前記ＣＴＵに対する周波数ドメイン変換を実行することと、
前記変換係数のすべてを合計することおよび変換係数の前記ブロック内のＤＣ係数位置における変換係数の値を減算することによって、第１のＳＡＴＤ値を計算することと、
前記複雑性測度として前記第１のＳＡＴＤ値を割り当てることと
によって前記複雑性測度を決定するようにさらに構成される、請求項１６に記載の装置。
【請求項１８】
前記ＣＴＵに対する前記周波数ドメイン変換を実行することが、前記ＣＴＵのあらゆるブロックに対する前記周波数ドメイン変換を実行することを備え、前記第１のＳＡＴＤ値を計算することが、前記変換係数の前記変換係数すべてのすべてを合計することおよび変換係数の前記ブロック内のＤＣ係数位置における変換係数の値を減算することによって、前記第１のＳＡＴＤ値を計算することとを備える、請求項１７に記載の装置。
【請求項１９】
前記ビデオエンコーダが、
変換係数のブロックを作成する前記ＣＴＵに対する周波数ドメイン変換を実行することと、
前記ブロック変換係数の最上行および最左列における変換係数以外の変換係数の前記ブロック内の前記変換係数のすべてを合計することによって第２のＳＡＴＤ値を計算することと、
前記複雑性測度として前記第２のＳＡＴＤ値を割り当てることと
によって前記複雑性測度を決定するようにさらに構成される、請求項１６に記載の装置。
【請求項２０】
前記ビデオエンコーダが、
変換係数のブロックを作成する前記ＣＴＵに対する周波数ドメイン変換を実行することと、
前記変換係数のすべてを合計することおよび変換係数の前記ブロック内のＤＣ係数位置における変換係数の値を減算することによって第１のＳＡＴＤ値を計算することと、
前記ブロック変換係数の最上行および最左列における変換係数以外の変換係数の前記ブロック内の前記変換係数のすべてを合計することによって第２のＳＡＴＤ値を計算することと、
１つまたは複数の所定の基準に基づいて前記複雑性測度として前記第１のＳＡＴＤ値または前記第２のＳＡＴＤ値のいずれかを選択することと
によって前記複雑性測度を決定するようにさらに構成される、請求項１６に記載の装置。
【請求項２１】
前記ビデオエンコーダが、
前記第１のＳＡＴＤ値が所定のしきい値より小さい場合、前記複雑性測度として前記第１のＳＡＴＤ値を選択することと、
前記第１のＳＡＴＤ値が所定のしきい値より大きい場合、前記複雑性測度として前記第２のＳＡＴＤ値を選択することと
を行うようにさらに構成される、請求項２０に記載の装置。
【請求項２２】
前記ビデオエンコーダが、
ビデオデータの前記フレームが７２０ｐより小さい解像度を有する場合、前記複雑性測度として前記第１のＳＡＴＤ値を選択することと、
ビデオデータの前記フレームが７２０ｐ以上の解像度を有する場合、前記複雑性測度として前記第２のＳＡＴＤ値を選択することと
を行うようにさらに構成される、請求項２０に記載の装置。
【請求項２３】
前記ビデオエンコーダが、ビデオデータの前記フレーム全体に対する前記複雑性測度と前記レート制御パラメータとを決定するように構成される、請求項１４に記載の装置。
【請求項２４】
前記ビデオエンコーダが、式  λ=α（Ｃ／Ｒtarget）βを計算することによって前記レート制御パラメータを決定するように構成され、
ここにおいて、λが前記レート制御パラメータであり、Ｃが前記複雑性測度であり、Ｒtargetが前記ターゲットビットレートであり、αおよびβが２次レート制御パラメータである、請求項１４に記載の装置。
【請求項２５】
前記ビデオエンコーダが、
前記２次レート制御パラメータをフレームレベルで更新するようにさらに構成される、請求項２４に記載の装置。
【請求項２６】
前記ビデオエンコーダが、
前記２次レート制御パラメータをコーディングツリーユニット（ＣＴＵ）レベルで更新するようにさらに構成される、請求項２４に記載の装置。
【請求項２７】
ビデオ符号化プロセスにおいてレート制御を実行するように構成された装置であって、
ビデオデータのフレーム内の各ブロックに対する絶対値変換差分和（ＳＡＴＤ）計算に基づいてビデオデータの前記フレームの複雑性測度を決定するための手段と、ここにおいて、ビデオデータの前記フレームはイントラ予測を使用して符号化されるべきである、
前記複雑性測度およびターゲットビットレートに基づいてレート制御パラメータを決定するための手段と、
前記決定されたレート制御パラメータに基づいてイントラ予測モードを決定するための手段と、
前記決定されたイントラ予測モードを使用してビデオデータの前記フレームを符号化するための手段と
を備える、装置。
【請求項２８】
前記決定されたレート制御パラメータに基づいて量子化パラメータを決定するための手段と、
前記決定された量子化パラメータを使用してビデオデータの前記フレームを符号化するための手段と
をさらに備える、請求項２７に記載の装置。
【請求項２９】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令が、実行されたとき、ビデオデータを符号化するように構成されたデバイスの１つまたは複数のプロセッサに、
ビデオデータのフレーム内の各ブロックに対する絶対値変換差分和（ＳＡＴＤ）計算に基づいてビデオデータの前記フレームの複雑性測度を決定することと、ここにおいて、ビデオデータの前記フレームはイントラ予測を使用して符号化されるべきである、
前記複雑性測度およびターゲットビットレートに基づいてレート制御パラメータを決定することと、
前記決定されたレート制御パラメータに基づいてイントラ予測モードを決定することと、
前記決定されたイントラ予測モードを使用してビデオデータの前記フレームを符号化することと
を行わせる、コンピュータ可読記憶媒体。
【請求項３０】
前記命令が、さらに、前記１つまたは複数のプロセッサに、
前記決定されたレート制御パラメータに基づいて量子化パラメータを決定することと、
前記決定された量子化パラメータを使用してビデオデータの前記フレームを符号化することと
をさらに行わせる、請求項２９に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、その内容全体が参照により本明細書に組み込まれる、２０１３年４月８日に出願された米国仮出願第６１／８０９，８４６号の利益を主張する。
【０００２】
[0002]本開示は、ビデオ符号化に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的（イントラピクチャ）予測（spatial (intra-picture) prediction）および／または時間的（インターピクチャ）予測（temporal (inter-picture) prediction）を実行する。ブロックベースのビデオコーディングの場合、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部分）が、ＣＴＵ、コーディングユニット（ＣＵ）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコーディングされた（Ｉ）スライス内のビデオブロックは、同じピクチャにおける隣接ブロック内の参照サンプル（reference samples）に対する空間的予測を使用して符号化される。ピクチャのインターコード化された（ＰまたはＢ）スライス内のビデオブロックは、同じピクチャの中の隣接ブロック内の参照サンプルに対する空間的予測、または他の参照ピクチャの中の参照サンプルに対する時間的予測を使用することができる。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレーム（a reference frames）と呼ばれることがある。
【０００５】
[0005]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データ（residual data）は、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコーディングされたブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロック（intra-coded block）は、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数（residual transform coefficients）をもたらすことができ、その残差変換係数が、次いで量子化され得る。最初に２次元アレイで構成される量子化された変換係数（quantized transform coefficients）は、変換係数の１次元ベクトルを生成するために走査されてよく、なお一層の圧縮を達成するためにエントロピーコーディングが適用されてよい。
【発明の概要】
【０００６】
[0006]本開示は、ビデオデータのイントラ予測されたフレームを符号化するためのビットレート制御（bit rate contro）に対する技法を説明する。本開示の一例では、ビットレート制御パラメータは、ターゲットビットレートと複雑性測度（a complexity measure）とを使用して計算され得る。一例では、複雑性測度は、イントラコード化フレーム（an intra-coded frame）の絶対値変換差分和（a sum of absolute transformed differences）（ＳＡＴＤ）計算を用いて計算される。
【０００７】
[0007]本開示の一例では、ビデオ符号化におけるレート制御のための方法は、ビデオデータのフレーム内の各ブロックに対するＳＡＴＤ計算に基づいてビデオデータのフレームの複雑性測度を決定することと、ここにおいて、ビデオデータのフレームはイントラ予測（intra prediction）を使用して符号化されるべきである、複雑性測度およびターゲットビットレートに基づいてレート制御パラメータを決定することと、決定されたレート制御パラメータに基づいてイントラ予測モードを決定することと、決定されたイントラ予測モードを使用してビデオデータのフレームを符号化することと、を備える。
【０００８】
[0008]本開示の別の例では、ビデオ符号化プロセスにおけるレート制御を実行するように構成された装置は、ビデオデータのフレームを記憶するように構成されたメモリと、ビデオデータのフレーム内の各ブロックに対するＳＡＴＤ計算に基づいてビデオデータのフレームの複雑性測度を決定すること、ここにおいて、ビデオデータのフレームはイントラ予測を使用して符号化されるべきである、複雑性測度およびターゲットビットレートに基づいてレート制御パラメータを決定すること、決定されたレート制御パラメータに基づいてイントラ予測モードを決定すること、および決定されたイントラ予測モードを使用してビデオデータのフレームを符号化することと、を行うように構成されたビデオエンコーダとを備える。
【０００９】
[0009]本開示の別の例では、ビデオ符号化プロセスにおけるレート制御を実行するように構成された装置は、ビデオデータのフレーム内の各ブロックに対するＳＡＴＤ計算に基づいてビデオデータのフレームの複雑性測度を決定するための手段と、ここにおいて、ビデオデータのフレームはイントラ予測を使用して符号化されるべきである、複雑性測度およびターゲットビットレートに基づいてレート制御パラメータを決定するための手段と、決定されたレート制御パラメータに基づいてイントラ予測モードを決定するための手段と、決定されたイントラ予測モードを使用してビデオデータのフレームを符号化するための手段と、を備える。
【００１０】
[0010]別の例では、本開示は、命令を記憶するコンピュータ可読記憶媒体を説明し、命令は、実行されたとき、ビデオデータを符号化するように構成されたデバイスの１つまたは複数のプロセッサに、ビデオデータのフレーム内の各ブロックに対するＳＡＴＤ計算に基づいてビデオデータのフレームの複雑性測度を決定することと、ここにおいて、ビデオデータのフレームはイントラ予測を使用して符号化されるべきである、複雑性測度およびターゲットビットレートに基づいてレート制御パラメータを決定することと、決定されたレート制御パラメータに基づいてイントラ予測モードを決定することと、決定されたイントラ予測モードを使用してビデオデータのフレームを符号化することと、を行わせる。
【００１１】
[0011]本開示の１つまたは複数の例の詳細が、添付の図面および以下の説明に記載されている。本開示の他の特徴、目的、および利点は、その説明および図面から、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】[0012]本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0013]本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図３】[0014]本開示で説明する技法を実装し得る例示的なレート制御ユニットを示すブロック図。
【図４】[0015]例示的なビデオデコーダを示すブロック図。
【図５】[0016]本開示の例示的な方法を示すフローチャート。
【詳細な説明】
【００１３】
[0017]本開示は、ビデオ符号化プロセスにおけるビットレート制御に対する技法を説明する。イントラコード化フレームに対するレート制御のためのいくつかの以前の解決策は、レート制御パラメータを決定するためにターゲットビットレートだけに依存した。しかしながら、そのような技法は、異なる複雑性のイントラフレームをコーディングするとき、ターゲットビットレートを維持することにおいて正確性を欠いていた。本開示は、レート制御パラメータがイントラフレームの複雑性測度を使用して決定される、イントラフレームに対するレート制御技法を提案する。一例では、複雑性測度は、イントラフレームに対する絶対値変換差分和（ＳＡＴＤ）計算を使用して決定される。
【００１４】
[0018]図１は、本開示で説明するイントラレート制御技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを生成するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００１５】
[0019]宛先デバイス１４は、リンク１６を介して復号されるべき符号化ビデオデータを受信し得る。リンク１６は、符号化されたビデオデータをソースデバイス１２から宛先デバイス１４に移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、リンク１６は、ソースデバイス１２が、符号化されたビデオデータをリアルタイムで宛先デバイス１４に直接送信することを可能にするための通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたは有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００１６】
[0020]代替として、符号化されたデータは、出力インターフェース２２からストレージデバイス３２に出力され得る。同様に、符号化されたデータは、入力インターフェースによってストレージデバイス３２からアクセスされ得る。ストレージデバイス３２は、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性のメモリ、あるいは符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス３２は、ソースデバイス１２によって生成された符号化されたビデオを保持し得る、ファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ストレージデバイス３２から記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、その符号化されたビデオデータを宛先デバイス１４に送信することができる任意のタイプのサーバであり得る。例示的なファイルサーバとしては、（たとえば、ウェブサイト用の）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブがある。宛先デバイス１４は、インターネット接続を含むいずれかの標準データ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適しているワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含むことができる。ストレージデバイス３２からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【００１７】
[0021]イントラレート制御に対する本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。イントラレート制御に対する本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例のような、種々のマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの用途をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００１８】
[0022]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含んでよい。ソースデバイス１２において、ビデオソース１８は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムのようなソース、またはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明される技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。
【００１９】
[0023]キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータにより生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオデータは、ソースデバイス１２の出力インターフェース２２を介して宛先デバイス１４に直接送信され得る。符号化されたビデオデータは、さらに（または代替的に）、復号および／または再生のための宛先デバイス１４または他のデバイスによる後のアクセスのためにストレージデバイス３２上に記憶され得る。
【００２０】
[0024]宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３１とを含む。場合によっては、入力インターフェース２８は、受信機および／またはモデムを含み得る。宛先デバイス１４の入力インターフェース２８は、リンク１６を介して符号化ビデオデータを受信する。リンク１６を介して通信され、またはストレージデバイス３２上に提供された符号化されたビデオデータは、ビデオデータを復号する際にビデオデコーダ３０などのビデオデコーダが使用するための、ビデオエンコーダ２０によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信され、記憶媒体上に記憶され、あるいは、ファイルサーバに記憶される、符号化されたビデオデータに含まれ得る。
【００２１】
[0025]ディスプレイデバイス３１は、宛先デバイス１４と一体であってよく、またはその外部にあり得る。いくつかの例では、宛先デバイス１４は、集積ディスプレイデバイスを含むことができ、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。一般に、ディスプレイデバイス３１は、復号されたビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、種々のディスプレイデバイスのいずれかを備え得る。
【００２２】
[0026]ビデオエンコーダ２０およびビデオデコーダ３０は、高効率ビデオコーディング（ＨＥＶＣ）規格などのビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ：HEVC Test Model）に準拠し得る。代替として、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格などの、他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作することができる。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例には、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。
【００２３】
[0027]図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびオーディオデコーダと統合されてよく、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んでもよい。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠することができる。
【００２４】
[0028]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの様々な適切なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、本開示の技法を実行するために１つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれてよく、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合されてよい。
【００２５】
[0029]以下でより詳細に説明するように、図１のビデオエンコーダ２０は、ビデオデータのフレーム内の各ブロックに対するＳＡＴＤ計算に基づいてビデオデータのフレームの複雑性測度を決定することと、ここにおいて、ビデオデータのフレームはイントラ予測を使用して符号化されるべきである、複雑性測度およびターゲットビットレートに基づいてレート制御パラメータを決定することと、決定されたレート制御パラメータに基づいてイントラ予測モードを決定することと、決定されたイントラ予測モードを使用してビデオデータのフレームを符号化することと、を行うように構成され得る。ビデオエンコーダ２０は、さらに、決定されたレート制御パラメータに基づいて量子化パラメータを決定し得、決定された量子化パラメータを使用してビデオデータのフレームを符号化し得る。
【００２６】
[0030]ＪＣＴ−ＶＣは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展的モデルに基づいて、ＨＥＶＣ規格を開発した。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供し得る。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  １０」または「ＷＤ１０」と呼ばれるＨＥＶＣ規格の１つのドラフトは、文書ＪＣＴＶＣ−Ｌ１００３ｖ３４、Ｂｒｏｓｓら、「Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  （ＨＥＶＣ）  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  １０」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第１２回会合：スイス、ジュネーブ、２０１３年１月１４〜２３日に記載されおり、この文書は、２０１３年４月８日現在、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１２＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴＶＣ−Ｌ１００３−ｖ３４．ｚｉｐからダウンロード可能である。ＨＥＶＣ  ＷＤ１０の内容全体は参照により本明細書に組み込まれる。
【００２７】
[0031]一般に、ＨＭの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含むコーディングツリーユニット（ＣＴＵ）または最大コーディングユニット（ＬＣＵ）のシーケンスに分割され得ることを記載している。ＣＴＵは、Ｈ．２６４規格のマクロブロックと同様の目的を有する。スライスは、コーディング順序でいくつかの連続するＣＴＵを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分化される場合がある。各ＣＴＵは、４分木に従って、コーディングユニット（ＣＵ）に分割され得る。たとえば、４分木のルートノードとしてのＣＴＵは、４つの子ノードに分割される場合があり、各子ノードは、次に親ノードとなる場合があり、別の４つの子ノードに分割される場合がある。４分木のリーフノードとしての、最終的な、分割されていない子ノードは、コーディングノード（a coding node）、すなわち、コード化ビデオブロック（a coded video block）を備える。コード化ビットストリームに関連付けられるシンタックスデータは、ＣＴＵが分割され得る最大回数を定義し得、コーディングノードの最小サイズをも定義し得る。
【００２８】
[0032]ＣＵは、コーディングノード、ならびにコーディングノードに関連する予測ユニット（ＰＵ）および変換ユニット（ＴＵ）を含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が正方形でよい。ＣＵのサイズは、８×８ピクセルから最大６４×６４以上のピクセルをもつＣＴＵのサイズまでに及び得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。ＣＵに関連するシンタックスデータは、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化もしくはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかによって異なり得る。ＰＵは、形状が非正方形になるように区分され得る。ＣＵに関連するシンタックスデータは、たとえば、４分木に従って、ＣＵを１つまたは複数のＴＵに区分することも記述し得る。ＴＵは、形状が正方形または非正方形であり得る。
【００２９】
[0033]ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従った変換を可能にする。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、通常、ＰＵと同じサイズであるか、またはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造を使用して、より小さいユニットに再分割され（subdivided）得る。ＲＱＴのリーフノードはＴＵと呼ばれることがある。ＴＵに関連するピクセル差分値は、変換されて変換係数が生成され得、その変換係数は量子化され得る。
【００３０】
[0034]概して、ＰＵは、予測プロセスに関係するデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵについてのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルについての解像度（a resolution）（たとえば、１／４ピクセル精度もしくは１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトル用の参照ピクチャリスト（たとえば、リスト０、リスト１、もしくはリストＣ）を記述することができる。
【００３１】
[0035]概して、ＴＵは、変換プロセスと量子化プロセスとのために使用される。１つまたは複数のＰＵを有する所与のＣＵは、１つまたは複数のＴＵを含む場合もある。予測の後に、ビデオエンコーダ２０は、ＰＵに対応する残差値（residual values）を計算し得る。残差値は、エントロピーコーディングのための直列化された変換係数（serialized transform coefficient）を生成するために、ＴＵを使用して変換係数に変換され、量子化され、走査され得るピクセル差分値（pixel difference values）を備える。本開示では、一般に、ＣＵのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合において、本開示はまた、コーディングノードならびにＰＵおよびＴＵを含む、ＣＴＵ、すなわち、ＬＣＵまたはＣＵを指す「ビデオブロック」という用語を使用し得る。
【００３２】
[0036]ビデオシーケンスは、通常、一連のビデオフレームまたはピクチャを含む。ピクチャグループ（ＧＯＰ：a group of pictures）は、一般に、ビデオピクチャのうちの一連の１つまたは複数を備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックはＣＵ内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
【００３３】
[0037]一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という表示とによって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５ＮのＰＵおよび下部の２Ｎ×１．５ＮのＰＵで水平方向に区分された２Ｎ×２ＮのＣＵを指す。
【００３４】
[0038]本開示では、たとえば１６×１６ピクセルまたは１６かける１６ピクセル（16 by 16 pixels）など、「Ｎ×Ｎ」および「ＮかけるＮ（Ｎ  ｂｙ  Ｎ）」は、垂直および水平の寸法に関して、ビデオブロックのピクセルの大きさ（pixel dimensions）を示すために区別なく使用され得る。一般的に、１６×１６ブロックは、垂直方向に１６個のピクセルを有し（ｙ＝１６）、水平方向に１６個のピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮ個のピクセルを有し、水平方向にＮ個のピクセルを有し、Ｎは非負整数値を表す。ブロック内のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはＮ×Ｍ個のピクセルを備えてよく、この場合に、Ｍは必ずしもＮに等しいとは限らない。
【００３５】
[0039]ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後に、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域においてピクセルデータを備え得、ＴＵは、変換、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＣＵ用の変換係数を生成するために、ＴＵを変換することができる。
【００３６】
[0040]変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は、変換係数の量子化を実施し得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度（bit depth）を低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ（rounded down to）てよく、ただし、ｎはｍよりも大きい。以下でより詳細に説明するように、量子化パラメータは、本開示の技法に従って決定されたレート制御パラメータに基づいて設定され得る。
【００３７】
[0041]いくつかの例では、ビデオエンコーダ２０は、あらかじめ定義された走査順序を利用して、量子化された変換係数を走査し、エントロピー符号化され得る直列化されたベクトル（a serialized vector）を生成し得る。他の例では、ビデオエンコーダ２０は適応走査を実施し得る。量子化された変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、たとえば、コンテキスト適応可変長コーディング（ＣＡＶＬＣ：context adaptive variable length coding）、コンテキスト適応バイナリ算術コーディング（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率インターバル区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング、または別のエントロピー符号化方法に従って、１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００３８】
[0042]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が０ではないかどうかに関係し得る。
【００３９】
[0043]図２は、本開示で説明するイントラレート制御技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行するように構成され得る。イントラコーディングは、空間的予測に依存して、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去する。インターコーディングは、時間的予測に依存して、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指す場合がある。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指す場合がある。
【００４０】
[0044]図２の例では、ビデオエンコーダ２０は、ビデオデータメモリ４０と、予測処理ユニット４１と、参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、レート制御ユニット５１と、エントロピー符号化ユニット５６とを含む。予測処理ユニット４１は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測処理ユニット４６とを含む。ビデオブロック再構成（video block reconstruction）のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。ブロック境界をフィルタ処理して再構成されたビデオ（reconstructed video）からブロッキネスアーティファクト（blockiness artifacts）を除去するために、デブロッキングフィルタ（図２に示されず）が含まれる場合もある。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタリングすることになる。追加のループフィルタ（ループ内またはループ後）もデブロッキングフィルタに加えて使用され得る。
【００４１】
[0045]ビデオデータメモリ４０は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ４０に記憶されたビデオデータは、たとえば、ビデオソース１８から取得され得る。参照ピクチャメモリ６４は、（たとえば、イントラ予測コーディングモードまたはインター予測コーディングモードとも呼ばれる、イントラコーディングモードまたはインターコーディングモードで）ビデオエンコーダ２０によってビデオデータを符号化する際に使用するための、参照ビデオデータを記憶する復号化ピクチャバッファ（ＤＰＢ：a decoded picture buffer）の一例である。ビデオデータメモリ４０および参照ピクチャメモリ６４は、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）など、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ４０および参照ピクチャメモリ６４は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ４０は、ビデオエンコーダ２０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【００４２】
[0046]ビデオエンコーダ２０は、ビデオデータを受信し、区分ユニット（図示せず）は、データをビデオブロックに区分する。この区分はまた、たとえば、ＬＣＵおよびＣＵの４分木構造に従って、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分をも含み得る。ビデオエンコーダ２０は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示している。スライスは、複数のビデオブロックに（および、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測処理ユニット４１は、現在のビデオブロックに関して、誤差結果（error results）（たとえば、コーディングレートおよびひずみレベル）に基づいて、複数のイントラコーディングモードのうちの１つまたは複数のインターコーディングモードのうちの１つなど、複数の可能なコーディングモードのうちの１つを選択してよい。以下でより詳細に論じるように、本開示の技法によれば、予測処理ユニット４１は、レート制御ユニット５１によって決定されて、供給されるレート制御パラメータに基づいて予測モードを選択するように構成され得る。予測処理ユニット４１は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に提供し得、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器６２に提供し得る。
【００４３】
[0047]予測処理ユニット４１内のイントラ予測処理ユニット４６は、コーディングすべき現在のブロックと同じフレームまたはスライス内の１つまたは複数の隣接ブロックに対して現在のビデオブロックのイントラ予測コーディングを実行して空間的圧縮を提供してよい。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対する現在のビデオブロックのインター予測コーディングを実行する。
【００４４】
[0048]動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをＰスライスまたはＢスライスに指定し得る。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位（displacement）を示し得る。
【００４５】
[0049]予測ブロック（predictive block）は、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのＰＵにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置（sub-integer pixel positions）の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置（fractional pixel positions）の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実施し、分数ピクセル精度（fractional pixel precision）で動きベクトルを出力し得る。
【００４６】
[0050]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択されてよく、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【００４７】
[0051]動き補償ユニット４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを伴い得る。現在のビデオブロックのＰＵについての動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいてポイントする予測ブロックの位置を特定し（locate）得る。ビデオエンコーダ２０は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分構成要素とクロマ差分構成要素（luma and chroma difference components）の両方を含んでよい。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【００４８】
[0052]イントラ予測処理ユニット４６は、前述のように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在のブロックに対するイントラ予測を実行し得る。特に、イントラ予測処理ユニット４６は、現在のブロックを符号化するために使用するためのイントラ予測モードを決定することができる。いくつかの例では、イントラ予測処理ユニット４６は、たとえば、別個の符号化パスの間に、様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測処理ユニット４６は、テストされたモードから使用するのに適切なイントラ予測モードを選択することができる。たとえば、イントラ予測処理ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析（a rate-distortion analysis）を使用してレートひずみ値を計算し、テストされたモードの中から最良のレートひずみ特性を有するイントラ予測モードを選択し得る。以下でより詳細に論じるように、イントラ予測処理ユニット４６は、レート制御ユニット５１によって供給されるレート制御パラメータに基づくレートひずみ分析を用いてイントラ予測モードを決定するように構成され得る。レートひずみ分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化されたブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測処理ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈する（exhibit）かを決定するために、様々な符号化されたブロックのひずみおよびレートから比率（ratios）を計算し得る。
【００４９】
[0053]いずれにせよ、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に提供し得る。エントロピー符号化ユニット５６は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信されるビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックのためのコンテキストの符号化の定義と、コンテキストの各々について使用すべき、最も確からしいイントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示と、を含み得る、構成データを含め得る。
【００５０】
[0054]予測処理ユニット４１が、インター予測またはイントラ予測のいずれかを介して、現在のビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵ中に含まれ、変換処理ユニット５２に適用され得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数（residual transform coefficients）に変換する。変換処理ユニット５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【００５１】
[0055]変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送ることができる。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化された変換係数を含む行列の走査を実行することができる。代替的に、エントロピー符号化ユニット５６が走査を実行してよい。
【００５２】
[0056]量子化の後、エントロピー符号化ユニット５６は、量子化された変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率インターバル区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピー符号化方法または技法を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後に、符号化されたビットストリームは、ビデオデコーダ３０に送信されるか、または、後で送信するためにまたはビデオデコーダ３０によって取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コーディングされている現在のビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化することができる。
【００５３】
[0057]逆量子化ユニット５８および逆変換処理ユニット６０は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構築する。動き補償ユニット４４は、参照ピクチャリストの１つの中の参照ピクチャの１つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算し得る。動き補償ユニット４４はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、参照フレームに１つまたは複数の補間フィルタを適用し得る。加算器６２は、再構築された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロック（motion compensated prediction block）に加算して、参照ピクチャメモリ６４に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【００５４】
[0058]ビデオエンコーダ２０は、ビデオ符号化のレート（すなわち、符号化されたビデオを表すために使用されるビット数）を制御するように構成されたレート制御ユニット５１をさらに含み得る。レート制御ユニット５１は、レート制御パラメータを決定することによってビデオ符号化のレートを制御し得る。レート制御ユニット５１によって生成されるレート制御パラメータは、ビデオ符号化のレートを制御するために予測処理ユニット４１と量子化ユニット５４の両方によって使用され得る。以下でより詳細に説明するように、予測処理ユニット４１は、予測モード（すなわち、最良のインター予測モードまたはイントラ予測モード）を選択するために使用されるレートひずみ分析においてレート制御パラメータを使用し得る。加えて、量子化ユニット５４は、量子化パラメータを決定するためにレート制御パラメータを使用し得る。決定された予測モードと量子化パラメータの両方が、ビデオエンコーダの符号化レートに影響を及ぼす。
【００５５】
[0059]本開示の技法によれば、以下でより詳細に説明するように、ビデオエンコーダ２０（レート制御ユニット５１を含む）は、ビデオデータのフレーム内の１つまたは複数のブロックに対する絶対値変換差分和（ＳＡＴＤ）計算に基づいて、ビデオデータのフレームの複雑性測度を決定するように構成され得、ここにおいて、ビデオデータのフレームはイントラ予測を使用して符号化されるべきである。ビデオエンコーダ２０は、複雑性測度およびターゲットビットレートに基づいてレート制御パラメータを決定することと、決定されたレート制御パラメータに基づいてイントラ予測モードを決定することとを行うようにさらに構成され得る。次いで、ビデオエンコーダ２０は、決定されたイントラ予測モードを使用してビデオデータのフレームを符号化し得る。以下の記述は本開示の技法による、概略的なレート制御技法、ならびにイントラフレームに対するレート制御を論じる。
【００５６】
[0060]典型的なビデオエンコーダ（たとえば、ビデオエンコーダ２０）では、元のビデオシーケンスのフレームは、イントラモード（Ｉモード）またはインターモード（ＰモードまたはＢモード）で符号化され得る矩形の（rectangular）領域またはブロックに区分される。ブロックは、ＤＣＴコーディングなど、ある種類の変換コーディングを使用してコーディングされる。ただし、純粋な変換ベースのコーディング（pure transform-based coding）は、単に、複数のピクセルのブロック間相関（inter-block correlation）を考慮することなしに、特定のブロック内のピクセル間相関（inter-pixel correlation）を低減するにすぎない。変換ベースのコーディングは、依然として、送信に対する高いビットレートを作成する。ＨＥＶＣなど、現在のデジタル画像コーディング規格はまた、ブロック間のピクセル値の相関を低減するいくつかの方法も活用する。
【００５７】
[0061]概して、Ｐモードで符号化されたブロックは、前にコーディングされて、送信されたフレームのうちの１つから予測される。ブロックの予測情報は、２次元（２Ｄ）動きベクトルによって表される。Ｉモードで符号化されたブロックの場合、予測ブロック（predicted block）は、同じフレーム内のすでに符号化された隣接ブロックからの空間予測を使用して形成される。予測誤差Ｅ（ｘ，ｙ）、すなわち、符号化されるブロックＩ（ｘ，ｙ）と予測されるブロックＰ（ｘ，ｙ）との間の差分は、変換基底関数（a transform basis functions）ｆij（ｉ，ｊ）の加重和（weighted sum）  
【数１】
2016518777.tif 000003
【００５８】
として表される。
【００５９】
[0062]変換は、一般に８×８（Ｎ＝８）または４×４（Ｎ＝４）のブロックベースで実行される。予測誤差係数（prediction error coefficients）と呼ばれる重みｃijは、その後で量子化される。  
【数２】
2016518777.tif 000004
【００６０】
上式で、ｌijは、量子化された係数またはレベルと呼ばれる。量子化の演算は情報の損失をもたらす。一方、量子化された係数は、より少ないビット数を用いて表され得る。圧縮（情報の損失）のレベルは、量子化パラメータ（ＱＰ）の値を調整することによって制御される。より低いＱＰ値は、一般的に、より少ないひずみをもたらすが、より多くのビット、したがってより高いビットレートを必要とすることがある。より高いＱＰ値は、一般的に、より多くのひずみをもたらすが、より少ないビット、したがってより低いビットレートを必要とすることがある。そのようにして、ＱＰの選択は、ひずみとビットレートとの間のトレードオフがなされ得る１つの技法である。
【００６１】
[0063]量子化された変換係数は、動きベクトルおよび何らかの制御情報とともに、完全なコーディングされたシーケンス表現を形成し、シンタックス要素と呼ばれる。ビデオエンコーダ２０からビデオデコーダ３０への送信の前に、シンタックス要素は、それらの表現に必要なビット数をさらに低減するようにエントロピーコーディングされ得る。
【００６２】
[0064]ビデオデコーダ３０では、現在のフレーム中の再構成ブロック（reconstructed block）は、ビデオエンコーダ２０によって実行されるのと同様の方法でそれの予測を最初に構成し、圧縮された予測誤差をその予測に追加することによって得られる。圧縮された予測誤差は、逆変換を実行することによる量子化解除された係数（de-quantized coefficients）を使用することによって見出される。  
【数３】
2016518777.tif 000005
【００６３】
[0065]量子化解除された係数（再構成係数（reconstructed coefficients）とも呼ばれる）γijは、逆量子化によって計算される。  
【数４】
2016518777.tif 000006
【００６４】
再構成フレーム（reconstructed frame）Ｒ（ｘ，ｙ）と元のフレームＩ（ｘ，ｙ）との間の差分は、再構成誤差と呼ばれる。
【００６５】
[0066]ＨＥＶＣ規格は、量子化、動きベクトルの選択、およびどのフレームが予測に使用されるべきかに関する決定を、ビデオエンコーダ２０の実装者にゆだねる。レートひずみ理論は、不可逆圧縮の目標（lossy compression goal）を、データをコーディングするためのレートにおける制約に従って、元のデータと選択されたメトリックに従う圧縮されたデータとの間の距離の測度であるコーディングひずみを最小化することの目標に形式化する（formalize）。したがって、ビデオエンコーダ２０の１つの目標は、各フレームに対して、予測誤差Ｅ（ｘ，ｙ）と予測誤差の再構成バージョン（reconstructed version）  
【数５】
2016518777.tif 000007
【００６６】
との間の平均２乗誤差（mean-squared-error）（ＭＳＥ）ひずみＤが、シンタックス要素をコーディングするためのレートＲにおける制約に従って最小化されるようなシンタックス要素の値を見出すことである。  
【数６】
2016518777.tif 000008
【００６７】
[0067]他の付加的なひずみメトリックは、ＭＳＥの代わりに、たとえばアクティビティ重み付けＭＳＥ（activity-weighted MSE）を使用することができる。式（５）におけるレート制約問題（rate-constrained problem）は、ラグランジュ乗数λ（Lagrange multiplier λ）を使用して、レートおよびひずみを「マージする」ことによって等価な制約なし問題に変換されることによって解決され得る。本開示では、ラグランジュ乗数λは、レート制御パラメータと呼ばれることになる。制約なし問題は、シンタックス要素の値の（固定されたλに対する）決定になり、次のように定義される最小総ラグランジュコスト（minimum total Lagrangian Cost）を生じる。  
【数７】
2016518777.tif 000009
【００６８】
[0068]レート制御パラメータλは、レートとひずみとの間のトレードオフを決定するために使用されるパラメータとして観測され得る。λの低い値は、レートよりもひずみを最小化することを助け、λの高い値は、ひずみよりもレートを最小化することを助ける。λがゼロとなる限界においてひずみが最小化され、λが無限大（infinity）に向かう場合にレートが最小化される。
【００６９】
[0069]ビデオエンコーダ２０およびビデオデコーダ３０には、符号化されたビットを一時的に記憶するためのバッファ（たとえば、図２のビデオデータメモリ４０）があり、そのことが、いわゆるエンドツーエンド遅延（end-to-end delay）を引き起こす。しばしば、ビデオ符号化におけるレート制御の難題は、バッファサイズの制約内で最良のビデオ品質を達成するためにλの適切な値を決定することである。
【００７０】
[0070]ＨＭでは、各ＣＴＵの複雑性は、フレーム間に対するＣＴＵビットバジェット（CTUs bit budget）を割り振るために使用される。インターフレームに対する複雑性は、前のフレーム内の同じロケーションにおけるＣＴＵの平均絶対値差分（ＭＡＤ：Mean Absolute Difference）によって測定される。しかしながら、イントラフレームの場合、実際的な使用事例の大多数において、連続したイントラフレームは互いからのより大きい時間的距離において発生するので、連続したイントラコード化フレーム間の相関は、インターコード化フレーム間の相関より小さくなることが予測され得る。
【００７１】
[0071]ＨＭでは、イントラフレームに対するレート制御パラメータλは、現在のフレーム（またはＣＴＵ）のターゲットレートＲtだけを使用して計算される。ターゲットレートだけを使用するレート制御に対する技法は、ＪＣＴＶＣ−Ｋ０１０３、Ｂ．Ｌｉらによる「ＨＥＶＣに対するＲ−ラムダモデルによるレート制御（Rate control by R-lambda model for HEVC）」、ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３とＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、中国、上海、２０１２年１０月１０〜１９日において記載されている。ＪＣＴＶＣ−Ｋ０１０３は、参照により本明細書に組み込まれる。レート制御パラメータλを計算するためにターゲットレートだけを使用することは、すべての条件において正確でないことがある。Ｉフレームに対するイントラ予測コーディングを実行することにおける複雑性は、一般的に、そのフレームのビデオコンテンツの複雑性に応じてフレームによって変化する。すなわち、いくつかのイントラフレームは、同じレベルのひずみを維持するために、符号化するためのビットを他よりも多く必要とすることがある。ＪＣＴＶＣ−Ｋ０１０３のレート制御技法は、このことを考慮に入れていない。
【００７２】
[0072]これらの欠点に鑑みて、本開示は、そのフレーム／ＣＴＵの複雑性測度Ｃを追加することによって、イントラフレーム（またはイントラフレームのＣＴＵ）に対するレート制御パラメータλを決定するために使用されるＨＭモデルを変更することを提案する。  
【数８】
2016518777.tif 000010
【００７３】
[0073]２次レート制御パラメータαおよびβに対する初期値は、式（７）におけるモデルをいくつもの自然画像の統計データに適合させることによって決定される。たとえば、αおよびβは、それぞれ、６．７５４２および１．７８６０の初期値を取ることができる。式（６）において上記で示したように、レート制御パラメータλは、適切な予測モードを決定するため（たとえば、ＩフレームのＣＵに対する特定のイントラ予測モードを決定するため）にレートひずみ分析において使用され得る。加えて、ＱＰ値はまた、ＪＣＴＶＣ−Ｉ０４２６、Ｂ  Ｌｉらによる「ＱＰ  ｄｅｔｅｒｍｉｎａｔｉｏｎ  ｂｙ  ｌａｍｄａ  ｖａｌｕｅ」、ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３とＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、スイス、ジュネーブ、２０１２年４月２７日〜５月７日において提案された、レート制御パラメータλを使用して計算され得る。  
【数９】
2016518777.tif 000011
【００７４】
ＪＣＴＶＣ−Ｉ０４２６は、参照により本明細書に組み込まれる。
【００７５】
[0074]本開示の一例では、複雑性測度は、絶対値変換差分和（ＳＡＴＤ）計算に基づく。ＳＡＴＤは、変換（たとえば、アダマール変換）をピクセルのブロック（たとえば、ルーマピクセルの８×８ブロック）に適用した後に得られる係数ｈijの絶対値の合計である。一例として、  
【数１０】
2016518777.tif 000012
【００７６】
上式で、Ｎはピクセル内の正方形ブロックの高さ／幅であり、ｉは変換係数の行であり、ｊは変換係数の列である。式（９）を使用して計算されたＳＡＴＤ値は、イントラフレームの１つのブロックのＳＡＴＤ値となる。ＣＴＵまたは全フレームのＳＡＴＤ値を計算するために、各ブロック（たとえば、各８×８ブロック）のＳＡＴＤ値が、ＣＴＵまたは全フレームに対して単に一緒に加算される。他の例では、ＳＡＴＤ計算は、ＣＴＵ内の全ブロックより少ないブロックに対して行われてよい。たとえば、ＳＡＴＤ計算は、ＣＴＵ内の単一のブロックに対して行われてよい。別の例では、ＳＡＴＤ計算は、ＣＴＵ行内の１つおきの８×８ブロックに対して行われてよい。アダマール変換（または、他のタイプの変換）は、ビデオ符号化プロセスにおいてなされるように、予測残差に適用されるのではなく、ピクセル値自体に適用されることに留意されたい。ピクセル自体を変換するときの変換係数の値は、複雑性の正確な測定値を表す。
【００７７】
[0075]イントラ予測の特定の特性を考慮に入れるために、ＳＡＴＤ計算のいくつかの修正された測定は、一定の低周波数の係数が、複雑性の計算において除外され得るかまたはより低い程度に考慮され得るように使用され得る。たとえば、第１のＳＡＴＤ値（ＳＡＴＤ0）および第２のＳＡＴＤ値（ＳＡＴＤ1）が、下式  
【数１１】
2016518777.tif 000013
【００７８】
を使用して計算され得る。
【００７９】
[0076]第１のＳＡＴＤ値（ＳＡＴＤ0）は、全ブロックに対するＳＡＴＤを決定して、次いでブロック内の位置（０、０）における変換係数（すなわち、ＤＣ係数）を減算することによって計算される。あらゆるブロックがＤＣ係数位置においていくつかの非ゼロ値を有することになり、そのようなＤＣ成分はイントラ予測を介して十分に予測され得るので、ＤＣ係数値をＳＡＴＤ計算から取り除くことが、複雑性のより正確な決定をもたらす。すなわち、ＤＣ係数位置以外のロケーションにおける係数値は、ＤＣ係数における値よりも、ブロックの複雑性をより多く示す。ＣＴＵまたは全フレームに対する第１のＳＡＴＤ値（ＳＡＴＤ0）を計算するために、第１のＳＡＴＤ値（ＳＡＴＤ0）は、ＣＴＵまたはフレーム内の各ブロックに対して計算され、結果として得られた第１のＳＡＴＤ値のすべてが、一緒に合計される。
【００８０】
[0077]第２のＳＡＴＤ値（ＳＡＴＤ1）は、ブロックの第１の行および第１の列内の変換係数の値を一切使用せずに、ブロックに対するＳＡＴＤ値を計算することによって計算される。ＤＣ係数位置における変換値と同様に、変換されたブロックの第１の行および第１の列が、イントラ予測を介して十分に予測され得るいくつかの非ゼロ値を有することになる可能性が高い。そのようにして、変換されたブロック内の他のロケーションにおける変換係数値は、複雑性をより多く示し得る。ＣＴＵまたは全フレームに対する第２のＳＡＴＤ値（ＳＡＴＤ1）を計算するために、第２のＳＡＴＤ値（ＳＡＴＤ1）は、ＣＴＵまたはフレーム内の各ブロックに対して計算され、結果として得られた第２のＳＡＴＤ値のすべてが、一緒に合計される。
【００８１】
[0078]いくつかの例では、上記で説明した第１のＳＡＴＤ値（ＳＡＴＤ0）または第２のＳＡＴＤ値（ＳＡＴＤ1）は、イントラフレームのレート制御の複雑性測度として使用される唯一のＳＡＴＤ値として使用され得る。しかしながら、ＳＡＴＤ値の任意の計算が、式（９）を使用して計算されるＳＡＴＤ値を含めて、複雑性測度として使用され得る。他の例では、以下で説明するように、第１のＳＡＴＤ値（ＳＡＴＤ0）と第２のＳＡＴＤ値（ＳＡＴＤ1）の両方が計算され得、ＳＡＴＤ値の一方が、いくつかの所定の基準に基づいて複雑性測度として使用されるために選択され得る。
【００８２】
[0079]たとえば、第１のＳＡＴＤ値（ＳＡＴＤ0）と第２のＳＡＴＤ値（ＳＡＴＤ1）の両方が計算されて、第１または第２のＳＡＴＤ値の一方が複雑性測度Ｃ用に使用されるために選択されるときに、良い結果を得ることができることが観測されている。一例では、第１のＳＡＴＤ値（ＳＡＴＤ0）は、その値が所定のしきい値より大きくない場合に使用される。そのようなしきい値は、固定されてよく、またはＧＯＰもしくはフレームごとに適応されてもよい。第１のＳＡＴＤ値（ＳＡＴＤ0）が所定のしきい値より大きい場合、第２のＳＡＴＤ値（ＳＡＴＤ1）が使用される。
【００８３】
[0080]本開示の別の例では、７２０ｐ以上の解像度を有するビデオデータに対して第２のＳＡＴＤ値（ＳＡＴＤ1）が使用され、そうでない場合に第１のＳＡＴＤ値（ＳＡＴＤ0）が使用される。
【００８４】
[0081]図３は、この開示の技法を実装するように構成された例示的なレート制御ユニットを示すブロック図である。レート制御ユニット５１は、アダマール変換処理ユニット１０２と、ＳＡＴＤ計算ユニット１０４と、複雑性測度選択ユニット１０６と、レート制御パラメータ計算ユニット１０８とを含み得る。
【００８５】
[0082]アダマール変換処理ユニット１０２は、イントラフレームからビデオブロック（たとえば、ＣＴＵ）を受信するように構成され得る。アダマール変換処理ユニット１０２は、アダマール変換をビデオブロックの各々に（たとえば、ＣＴＵの各ルーマブロック内のルーマ値に）適用するように構成され得る。ブロック内の得られた変換係数は、ＳＡＴＤ計算ユニット１０４に提供され得る。
【００８６】
[0083]ＳＡＴＤ計算ユニット１０４は、たとえば、式（９）に示す技法を使用して、ＣＴＵの各ブロックに対するＳＡＴＤ値を計算し得る。ＳＡＴＤ計算ユニット１０４は、フレーム内の各ブロックに対するＳＡＴＤ値を一緒に合計することによって、全フレームに対するＳＡＴＤ値を計算し得る。本開示の一例では、ＳＡＴＤ計算ユニット１０４は、式（１０）および式（１１）に示す技法を使用して、イントラフレームの各ブロックに対する第１のＳＡＴＤ値（ＳＡＴＤ0）と第２のＳＡＴＤ値（ＳＡＴＤ1）とを計算するように構成され得る。次いで、結果として得られるＳＡＴＤ値（第１および第２のＳＡＴＤ値）は、複雑性測度選択ユニット１０６に対して利用可能にされる。
【００８７】
[0084]受信されたＳＡＴＤ値に基づいて、複雑性測度選択ユニット１０６は、ＣＴＵまたはフレームに対する複雑性測度として使用されるべきＳＡＴＤ値を選択し得る。上記で説明したように、複雑性測度選択ユニット１０６は、所定のしきい値に基づいて、またはビデオの解像度に基づいてＳＡＴＤ値を選択し得る。次いで、選択された複雑性測度は、レート制御パラメータλを計算するために、レート制御パラメータ計算ユニット１０８に提供される。たとえば、レート制御パラメータ計算ユニット１０８は、上記の式（７）に示すように、複雑性測度とターゲットビットレートとを使用してレート制御パラメータλを計算し得る。ターゲットビットレートは、ビデオシーケンスに対するビットバジェットに基づいてビデオエンコーダによって設定され得る。ビットバジェットは、使用される特定のビデオ符号化アプリケーションに基づき得る。以下でより詳細に説明するように、レート制御パラメータ計算ユニット１０８は、フレームレベルまたはブロックレベルのいずれかで、レート制御パラメータλならびに２次レート制御パラメータαおよびβを更新するように構成され得る。
【００８８】
[0085]本開示は、上記で説明した複雑性測度を使用してイントラフレームに対するレート制御に対して３つの異なるモードの動作を提案する。たとえば、次のモードが使用され得る。  
１）  全フレームに対して一定のレート制御パラメータλを使用する。２次レート制御パラメータαおよびβは、各フレームが符号化された後で更新される。  
２）  ２次レート制御パラメータαおよびβは、全フレームに対して一定のままである。しかしながら、このフレームに割り振られた残存ビットの数に応じて、ＣＴＵごとにビットが割り振られる。レート制御パラメータλの値は、式（７）を使用して各ＣＴＵに対して計算される。  
３）  ２次レート制御パラメータαおよびβは、各ＣＴＵを符号化した後で更新される。上記のモード２におけるように、このフレームに割り振られた、残存ビット（remaining bits）の数に応じて、ＣＴＵごとにビットが割り振られる。レート制御パラメータλの値は、式（７）を使用して各ＣＴＵに対して計算される。
【００８９】
[0086]本開示の次のセクションは、レート制御パラメータλならびに２次レート制御パラメータαおよびβに対するパラメータ適応を論ずる。ピクチャを符号化した後、すべてのモードにおいて、得られた（実際の）ビットＲactual（すなわち、実際に符号化されたビットの数）の値が、αおよびβの値を更新するために使用される。  
【数１２】
2016518777.tif 000014
【００９０】
δはλの変化の速さを減じるスケーリングパラメータである。一例では、δは０．２５に設定され得る。モード３では、αおよびβの値もまた、各ＣＴＵの符号化の後で更新される。Ｒtargetは、符号化されるフレームに対してすでに符号化されたＣＴＵに割り振られたターゲットビットの合計であり、Ｒactualは、それらのＣＴＵを符号化するときに得られたビットの総数である。
【００９１】
[0087]本開示の次のセクションは、ビット割り振りについて論ずる。モード３（すなわち、レート制御パラメータと２次レート制御パラメータとをブロックレベルで更新する）において、ｉ番目のＣＴＵに割り振られたターゲットビットの数  
【数１３】
2016518777.tif 000015
【００９２】
が、次のように導出される。  
【数１４】
2016518777.tif 000016
【００９３】
用語Ｒleftは、フレームをコーディングするために利用可能な総残存ビットを示す。重みω（ｉ）は、ｉ番目のＣＴＵの複雑性ＣCTU（ｉ）と、依然としてコーディングされるべきすべての残存ＣＴＵの複雑性との比である。  
【数１５】
2016518777.tif 000017
【００９４】
上式で、Ｍは、コード化フレーム内のＣＴＵの数である。
【００９５】
[0088]モード２（すなわち、レート制御パラメータλだけをブロックレベルで更新する）において、パラメータαおよびβは適応されていないので、それらの初期値がフレームの統計データに一致しない場合、割り振られたビット数と符号化の間に得られた実際のビット数との間に不一致が存在することになることが予測され得る。それを補償するために、修正された残存ビット  
【数１６】
2016518777.tif 000018
【００９６】
が、ｉ番目のＣＴＵをコーディングするために割り振られるビット数を得るために使用される。  
【数１７】
2016518777.tif 000019
【００９７】
[0089]修正された残存ビット  
【数１８】
2016518777.tif 000020
【００９８】
は、次のように計算される。  
【数１９】
2016518777.tif 000021
【００９９】
上式で、  
【数２０】
2016518777.tif 000022
【０１００】
は、次のように各ＣＴＵに割り振られる初期ビットターゲットであり、  
【数２１】
2016518777.tif 000023
【０１０１】
Ｗは、ビットレート変更をより円滑にするために使用されるウィンドウのサイズである。我々のシミュレーションで使用されるＷは、４である。用語Ｒtargetは、フレームをコーディングするために割り振られるビット数を示す。
【０１０２】
[0090]図４は、例示的なビデオデコーダ３０を示すブロック図である。図４の例では、ビデオデコーダ３０は、ビデオデータメモリ８３と、エントロピー復号ユニット８０と、予測処理ユニット８１と、逆量子化ユニット８６と、逆変換処理ユニット８８と、加算器９０と、参照ピクチャメモリ９２とを含む。予測処理ユニット８１は、動き補償ユニット８２と、イントラ予測処理ユニット８４とを含む。ビデオデコーダ３０は、いくつかの例では、図２からのビデオエンコーダ２０に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
【０１０３】
[0091]ビデオデータメモリ８３は、ビデオデコーダ３０の構成要素によって復号されるべきビデオデータを記憶し得る。ビデオデータメモリ８３に記憶されたビデオデータは、たとえば、ビデオエンコーダ２０から取得され得る。参照ピクチャメモリ９２は、（たとえば、イントラ予測コーディングモードまたはインター予測コーディングモードとも呼ばれる、イントラコーディングモードまたはインターコーディングモードで）ビデオデコーダ３０によってビデオデータを復号する際に使用するための、参照ビデオデータを記憶する復号化ピクチャバッファ（ＤＰＢ）の一例である。ビデオデータメモリ８３および参照ピクチャメモリ９２は、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）など、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ８３および参照ピクチャメモリ９２は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ８３は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０１０４】
[0092]復号プロセスの間に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化されたビデオスライスのビデオブロックと、関連付けられるシンタックス要素と、を表す符号化されたビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化された係数、動きベクトル、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、動きベクトルと他のシンタックス要素とを予測処理ユニット８１に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０１０５】
[0093]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、予測処理ユニット８１のイントラ予測処理ユニット８４は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの、前に復号されたブロックからのデータと、に基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわち、Ｂ、またはＰ）スライスとしてコーディングされるとき、予測処理ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロック用の予測ブロックを生成する。予測ブロックは、参照ピクチャリストの１つの中の参照ピクチャのうち１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ９２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０とリスト１とを構成し得る。
【０１０６】
[0094]動き補償ユニット８２は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックについての予測情報を決定し、復号されている現在のビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報と、を決定するために、受信されたシンタックス要素のいくつかを使用する。
【０１０７】
[0095]動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット８２は、参照ブロックのサブ整数ピクセルのための補間された値を計算するために、ビデオブロックの符号化の間にビデオエンコーダ２０によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット８２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１０８】
[0096]逆量子化ユニット８６は、ビットストリーム中で提供されて、エントロピー復号ユニット８０によって復号された量子化された変換係数を逆量子化（inverse quantize）、すなわち、量子化解除（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにエンコーダ２０によって計算される量子化パラメータの使用を含み得る。逆変換処理ユニット８８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０１０９】
[0097]動き補償ユニット８２が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換処理ユニット８８からの残差ブロックを、動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器９０は、この加算演算を実行する１つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタ処理するデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、（コーディングループ内またはコーディングループ後のいずれかの）他のループフィルタも使用され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ９２に記憶される。参照ピクチャメモリ９２はまた、図１のディスプレイデバイス３１などのディスプレイデバイス上での後の提示のために、復号されたビデオを記憶する。
【０１１０】
[0098]図５は、本開示の例示的な方法を示すフローチャートである。図５の技法は、レート制御ユニット５１を含む、ビデオエンコーダ２０の１つまたは複数の構成要素によって実装され得る。
【０１１１】
[0099]本開示の一例では、レート制御ユニット５１は、ビデオデータのフレーム内の、各ブロックに対するＳＡＴＤ計算に基づいてビデオデータのフレームの複雑性測度を決定するように構成され得、ここにおいて、ビデオデータのフレームはイントラ予測を使用して符号化されるべきである（１５２）。レート制御ユニット５１は、複雑性測度およびターゲットビットレートに基づいてレート制御パラメータを決定するようにさらに構成され得る（１５４）。ビデオエンコーダ２０は、決定されたレート制御パラメータに基づいてイントラ予測モードを決定し（１５６）、決定されたイントラ予測モードを使用してビデオデータのフレームを符号化する（１５８）ように構成され得る。本開示のさらなる例では、ビデオエンコーダ２０は、決定されたレート制御パラメータに基づいて量子化パラメータを決定し、決定された量子化パラメータを使用してビデオデータのフレームを符号化するようにさらに構成され得る。
【０１１２】
[0100]本開示の一例では、ビデオエンコーダ２０は、ビデオデータのフレームの各ブロックに対する複雑性測度とレート制御パラメータとを決定するように構成される。一例では、レート制御ユニット５１を含むビデオエンコーダ２０は、変換係数のブロックを作成するブロックに対する周波数ドメイン変換を実行することと、変換係数のすべてを合計することおよび変換係数のブロック内のＤＣ係数位置における変換係数の値を減算することによって第１のＳＡＴＤ値を計算することと、複雑性測度として第１のＳＡＴＤ値を割り当てることと、によって複雑性測度を決定するようにさらに構成される。本開示の別の例では、レート制御ユニット５１を含むビデオエンコーダ２０は、変換係数のブロックを作成するブロックに対する周波数ドメイン変換を実行することと、ブロック変換係数の最上行および最左列における変換係数以外の変換係数のブロック内の変換係数のすべてを合計することによって第２のＳＡＴＤ値を計算することと、複雑性測度として第２のＳＡＴＤ値を割り当てることと、によって複雑性測度を決定するようにさらに構成される。別の例では、レート制御ユニット５１は、第１および第２の両方のＳＡＴＤ値を計算することと、所定の基準に基づいて複雑性測度として第１のＳＡＴＤ値または第２のＳＡＴＤ値のいずれかを選択することとを行うようにさらに構成され得る。
【０１１３】
[0101]一例では、レート制御ユニット５１は、第１のＳＡＴＤ値が所定のしきい値より小さい場合に複雑性測度として第１のＳＡＴＤ値を選択することと、第１のＳＡＴＤ値が所定のしきい値より大きい場合に複雑性測度として第２のＳＡＴＤ値を選択することとを行うように構成される。別の例では、レート制御ユニット５１は、ビデオデータのフレームが７２０ｐより小さい解像度を有する場合に複雑性測度として第１のＳＡＴＤ値を選択することと、ビデオデータのフレームが７２０ｐ以上の解像度を有する場合に複雑性測度として第２のＳＡＴＤ値を選択することとを行うように構成される。
【０１１４】
[0102]本開示の別の例では、ビデオエンコーダ２０は、ビデオデータの全フレームに対する複雑性測度とレート制御パラメータとを決定するように構成される。この例では、レート制御ユニット５１を含むビデオエンコーダ２０は、変換係数のブロックを作成するビデオデータのフレームの各ブロックに対する周波数ドメイン変換を実行することと、それぞれのブロックの変換係数のすべてを合計することおよびＤＣ係数位置における変換係数の値を減算することによって各ブロックに対する第１のＳＡＴＤ値を計算することと、第１のフレームＳＡＴＤ値を作成するために各ブロックに対する第１のＳＡＴＤ値を合計することと、ブロック変換係数の最上行および最左列における変換係数以外のそれぞれのブロックの変換係数のブロック内の変換係数のすべてを合計することによって各々のブロックに対する第２のＳＡＴＤ値を計算することと、第２のフレームＳＡＴＤ値を作成するために各ブロックに対する第２のＳＡＴＤ値を合計することと、複雑性測度として第１のフレームＳＡＴＤ値または第２のフレームＳＡＴＤ値のいずれかを選択することと、によってビデオデータのフレームの複雑性測度を決定するように構成される。
【０１１５】
[0103]本開示の一例では、レート制御ユニット５１は、第１のフレームＳＡＴＤ値が所定のしきい値より小さい場合に複雑性測度として第１のフレームＳＡＴＤ値を選択することと、第１のフレームＳＡＴＤ値が所定のしきい値より大きい場合に複雑性測度として第２のフレームＳＡＴＤ値を選択することとを行うように構成される。本開示の別の例では、レート制御ユニット５１は、ビデオデータのフレームが７２０ｐより小さい解像度を有する場合に複雑性測度として第１のフレームＳＡＴＤ値を選択することと、ビデオデータのフレームが７２０ｐ以上の解像度を有する場合に複雑性測度として第２のフレームＳＡＴＤ値を選択することとを行うように構成される。
【０１１６】
[0104]本開示の一例では、レート制御ユニット５１は、式  
【数２２】
2016518777.tif 000024
【０１１７】
を計算することによってレート制御パラメータを決定するように構成され、  
ここで、λはレート制御パラメータであり、Ｃは複雑性測度であり、Ｒtargetはターゲットビットレートであり、αおよびβは２次レート制御パラメータである。
【０１１８】
[0105]本開示の一例では、レート制御ユニット５１は、２次レート制御パラメータをフレームレベルで更新するように構成される。本開示の別の例では、レート制御ユニット５１は、２次レート制御パラメータをブロックレベルで更新するように構成される。
【０１１９】
[0106]１つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実現され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されてよく、あるいは、コンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を支援する任意の媒体を含む通信媒体、またはデータ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法を実装するための命令、コードおよび／またはデータ構造を取り出すために、１つもしくは複数のコンピュータ、または１つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含む場合がある。
【０１２０】
[0107]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的な媒体を含まないが、代わりに非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、この場合、ディスク（disk）は、通常、データを磁気的に再生し、一方、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１２１】
[0108]命令は、１つもしくは複数のデジタルシグナルプロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路もしくはディスクリート論理回路などの１つもしくは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明された技法の実施に適した任意の他の構造のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に設けられる場合があるか、または複合コーデックに組み込まれる場合がある。また、本技法は、１つまたは複数の回路または論理要素に完全に実装され得る。
【０１２２】
[0109]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置の中に実装される場合がある。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、前述のように、適切なソフトウェアおよび／またはファームウェアとともに、様々なユニットがコーデックハードウェアユニットにおいて組み合わせられ得るか、または前述のような１つもしくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合体によって設けられ得る。
【０１２３】
[0110]種々の例が記載された。これらおよび他の例は、以下の特許請求の範囲内である。
【図１】
2016518777.tif 000025
【図２】
2016518777.tif 000026
【図３】
2016518777.tif 000027
【図４】
2016518777.tif 000028
【図５】
2016518777.tif 000029
【手続補正書】
【提出日】平成27年12月8日(2015.12.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオ符号化におけるレート制御のための方法であって、
ビデオデータのフレーム内の各ブロックに対する計算に基づいてビデオデータの前記フレームの複雑性測度を決定することと、ここにおいて、ビデオデータの前記フレームはイントラ予測を使用して符号化されるべきであり、前記計算は、前記ブロックのピクセル値に変換を適用することと、前記変換から生じる変換係数の絶対値を合計することとを備える、
ラグランジュ乗数を、前記複雑性測度およびターゲットビットレートに基づいて、決定することと、
前記決定されたラグランジュ乗数に基づいてイントラ予測モードを決定することと、
前記決定されたイントラ予測モードを使用してビデオデータの前記フレームを符号化することと
を備える、方法。
【請求項２】
前記決定されたラグランジュ乗数に基づいて量子化パラメータを決定することと、
前記決定された量子化パラメータを使用してビデオデータの前記フレームを符号化することと
をさらに備える、請求項１に記載の方法。
【請求項３】
前記複雑性測度および前記ラグランジュ乗数が、ビデオデータの前記フレームの各コーディングツリーユニット（ＣＴＵ）に対して決定される、請求項１に記載の方法。
【請求項４】
前記ビデオデータの１つのＣＴＵの前記複雑性測度を決定することが、
変換係数のブロックを作成する前記ＣＴＵのピクセル値に対する周波数ドメイン変換を実行することと、
前記変換係数のすべてを合計することおよび変換係数の前記ブロック内のＤＣ係数位置における変換係数の値を減算することによって、第１の値を計算することと、
前記複雑性測度として前記第１の値を割り当てることと
を備える、請求項３に記載の方法。
【請求項５】
前記ＣＴＵに対する前記周波数ドメイン変換を実行することが、前記ＣＴＵのあらゆるブロックに対する周波数ドメイン変換を実行することを備え、前記第１の値を計算することが、各ブロックの前記変換係数のすべてを合計することおよび変換係数の前記ブロック内の前記ＤＣ係数位置における前記変換係数の前記値を減算することによって、前記第１の値を計算することを備える、請求項４に記載の方法。
【請求項６】
前記ビデオデータの１つのＣＴＵの前記複雑性測度を決定することが、
変換係数のブロックを作成する前記ＣＴＵに対する周波数ドメイン変換を実行することと、
前記ブロック変換係数の最上行および最左列における変換係数以外の変換係数の前記ブロック内の前記変換係数のすべてを合計することによって第２の値を計算することと、
前記複雑性測度として前記第２の値を割り当てることと
を備える、請求項３に記載の方法。
【請求項７】
ビデオデータの前記フレームの１つのＣＴＵの前記複雑性測度を決定することが、
変換係数のブロックを作成する前記ＣＴＵに対する周波数ドメイン変換を実行することと、
前記変換係数のすべてを合計することおよび変換係数の前記ブロック内のＤＣ係数位置における変換係数の値を減算することによって第１の値を計算することと、
前記ブロック変換係数の最上行および最左列における変換係数以外の変換係数の前記ブロック内の前記変換係数のすべてを合計することによって第２の値を計算することと、
１つまたは複数の所定の基準に基づいて前記複雑性測度として前記第１の値または前記第２の値のいずれかを選択することと
を備える、請求項３に記載の方法。
【請求項８】
前記複雑性測度として前記第１の値または前記第２の値のいずれかを選択することが、
前記第１の値が所定のしきい値より小さい場合、前記複雑性測度として前記第１の値を選択することと、
前記第１の値が所定のしきい値より大きい場合、前記複雑性測度として前記第２の値を選択することと
を備える、請求項７に記載の方法。
【請求項９】
前記複雑性測度として前記第１の値または前記第２の値のいずれかを選択することが、
ビデオデータの前記フレームが７２０ｐより小さい解像度を有する場合、前記複雑性測度として前記第１の値を選択することと、
ビデオデータの前記フレームが７２０ｐ以上の解像度を有する場合、前記複雑性測度として前記第２の値を選択することと
を備える、請求項７に記載の方法。
【請求項１０】
ビデオデータの前記フレーム全体に対して前記複雑性測度と前記ラグランジュ乗数とを決定することをさらに備える、請求項１に記載の方法。
【請求項１１】
前記ラグランジュ乗数を決定することが、
式  λ=α（Ｃ／Ｒtarget）βを計算することを備え、
ここにおいて、λが前記ラグランジュ乗数であり、Ｃが前記複雑性測度であり、Ｒtargetが前記ターゲットビットレートであり、αおよびβが２次レート制御パラメータである、請求項１に記載の方法。
【請求項１２】
前記２次レート制御パラメータをフレームレベルで更新することをさらに備える、請求項１１に記載の方法。
【請求項１３】
前記２次レート制御パラメータをコーディングツリーユニット（ＣＴＵ）レベルで更新することをさらに備える、請求項１１に記載の方法。
【請求項１４】
ビデオ符号化プロセスにおいてレート制御を実行するように構成された装置であって、
ビデオデータのフレームを記憶するように構成されたメモリと、
ビデオデータの前記フレーム内の各ブロックに対する計算に基づいてビデオデータの前記フレームの複雑性測度を決定すること、ここにおいて、ビデオデータの前記フレームはイントラ予測を使用して符号化されるべきであり、前記計算は、前記ブロックのピクセル値に変換を適用することと、前記変換から生じる変換係数の絶対値を合計することとを備える、
ラグランジュ乗数を、前記複雑性測度およびターゲットビットレートに基づいて、決定すること、
前記決定されたラグランジュ乗数に基づいてイントラ予測モードを決定すること、および
前記決定されたイントラ予測モードを使用してビデオデータの前記フレームを符号化することを行うように構成されたビデオエンコーダと
を備える、装置。
【請求項１５】
前記ビデオエンコーダが、
前記決定されたレート制御パラメータに基づいて量子化パラメータを決定することと、
前記決定された量子化パラメータを使用してビデオデータの前記フレームを符号化することと
を行うようにさらに構成される、請求項１４に記載の装置。
【請求項１６】
ビデオエンコーダが、ビデオデータの前記フレームの各コーディングツリーユニット（ＣＴＵ）に対する、前記複雑性測度と前記ラグランジュ乗数とを決定するように構成される、請求項１４に記載の装置。
【請求項１７】
前記ビデオエンコーダが、
変換係数のブロックを作成する前記ＣＴＵのピクセル値に対する周波数ドメイン変換を実行することと、
前記変換係数のすべてを合計することおよび変換係数の前記ブロック内のＤＣ係数位置における変換係数の値を減算することによって、第１の値を計算することと、
前記複雑性測度として前記第１の値を割り当てることと
によって前記複雑性測度を決定するようにさらに構成される、請求項１６に記載の装置。
【請求項１８】
前記ＣＴＵに対する前記周波数ドメイン変換を実行することが、前記ＣＴＵのあらゆるブロックに対する周波数ドメイン変換を実行することを備え、前記第１の値を計算することが、前記変換係数の前記変換係数すべてのすべてを合計することおよび変換係数の前記ブロック内のＤＣ係数位置における変換係数の値を減算することによって、前記第１の値を計算することとを備える、請求項１７に記載の装置。
【請求項１９】
前記ビデオエンコーダが、
変換係数のブロックを作成する前記ＣＴＵに対する周波数ドメイン変換を実行することと、
前記ブロック変換係数の最上行および最左列における変換係数以外の変換係数の前記ブロック内の前記変換係数のすべてを合計することによって第２の値を計算することと、
前記複雑性測度として前記第２の値を割り当てることと
によって前記複雑性測度を決定するようにさらに構成される、請求項１６に記載の装置。
【請求項２０】
前記ビデオエンコーダが、
変換係数のブロックを作成する前記ＣＴＵに対する周波数ドメイン変換を実行することと、
前記変換係数のすべてを合計することおよび変換係数の前記ブロック内のＤＣ係数位置における変換係数の値を減算することによって第１の値を計算することと、
前記ブロック変換係数の最上行および最左列における変換係数以外の変換係数の前記ブロック内の前記変換係数のすべてを合計することによって第２の値を計算することと、
１つまたは複数の所定の基準に基づいて前記複雑性測度として前記第１の値または前記第２の値のいずれかを選択することと
によって前記複雑性測度を決定するようにさらに構成される、請求項１６に記載の装置。
【請求項２１】
前記ビデオエンコーダが、
前記第１の値が所定のしきい値より小さい場合、前記複雑性測度として前記第１の値を選択することと、
前記第１の値が所定のしきい値より大きい場合、前記複雑性測度として前記第２の値を選択することと
を行うようにさらに構成される、請求項２０に記載の装置。
【請求項２２】
前記ビデオエンコーダが、
ビデオデータの前記フレームが７２０ｐより小さい解像度を有する場合、前記複雑性測度として前記第１の値を選択することと、
ビデオデータの前記フレームが７２０ｐ以上の解像度を有する場合、前記複雑性測度として前記第２の値を選択することと
を行うようにさらに構成される、請求項２０に記載の装置。
【請求項２３】
前記ビデオエンコーダが、ビデオデータの前記フレーム全体に対する前記複雑性測度と前記ラグランジュ乗数とを決定するように構成される、請求項１４に記載の装置。
【請求項２４】
前記ビデオエンコーダが、式  λ=α（Ｃ／Ｒtarget）βを計算することによって前記ラグランジュ乗数を決定するように構成され、
ここにおいて、λが前記ラグランジュ乗数であり、Ｃが前記複雑性測度であり、Ｒtargetが前記ターゲットビットレートであり、αおよびβが２次レート制御パラメータである、請求項１４に記載の装置。
【請求項２５】
前記ビデオエンコーダが、
前記２次レート制御パラメータをフレームレベルで更新するようにさらに構成される、請求項２４に記載の装置。
【請求項２６】
前記ビデオエンコーダが、
前記２次レート制御パラメータをコーディングツリーユニット（ＣＴＵ）レベルで更新するようにさらに構成される、請求項２４に記載の装置。
【請求項２７】
ビデオ符号化プロセスにおいてレート制御を実行するように構成された装置であって、
ビデオデータのフレーム内の各ブロックに対する計算に基づいてビデオデータの前記フレームの複雑性測度を決定するための手段と、ここにおいて、ビデオデータの前記フレームはイントラ予測を使用して符号化されるべきであり、前記計算は、前記ブロックのピクセル値に変換を適用することと、前記変換から生じる変換係数の絶対値を合計することとを備える、
ラグランジュ乗数を、前記複雑性測度およびターゲットビットレートに基づいて、決定するための手段と、
前記ラグランジュ乗数に基づいてイントラ予測モードを決定するための手段と、
前記決定されたイントラ予測モードを使用してビデオデータの前記フレームを符号化するための手段と
を備える、装置。
【請求項２８】
前記決定されたラグランジュ乗数に基づいて量子化パラメータを決定するための手段と、
前記決定された量子化パラメータを使用してビデオデータの前記フレームを符号化するための手段と
をさらに備える、請求項２７に記載の装置。
【請求項２９】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令が、実行されたとき、ビデオデータを符号化するように構成されたデバイスの１つまたは複数のプロセッサに、
ビデオデータのフレーム内の各ブロックに対する計算に基づいてビデオデータの前記フレームの複雑性測度を決定することと、ここにおいて、ビデオデータの前記フレームはイントラ予測を使用して符号化されるべきであり、前記計算は、前記ブロックのピクセル値に変換を適用することと、前記変換から生じる変換係数の絶対値を合計することとを備える、
ラグランジュ乗数を、前記複雑性測度およびターゲットビットレートに基づいて、決定することと、
前記決定されたラグランジュ乗数に基づいてイントラ予測モードを決定することと、
前記決定されたイントラ予測モードを使用してビデオデータの前記フレームを符号化することと
を行わせる、コンピュータ可読記憶媒体。
【請求項３０】
前記命令が前記１つまたは複数のプロセッサに、
前記決定されたラグランジュ乗数に基づいて量子化パラメータを決定することと、
前記決定された量子化パラメータを使用してビデオデータの前記フレームを符号化することと
をさらに行わせる、請求項２９に記載のコンピュータ可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１２３
【補正方法】変更
【補正の内容】
【０１２３】
[0110]種々の例が記載された。これらおよび他の例は、以下の特許請求の範囲内である。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］  ビデオ符号化におけるレート制御のための方法であって、
ビデオデータのフレーム内の各ブロックに対する絶対値変換差分和（ＳＡＴＤ）計算に基づいてビデオデータの前記フレームの複雑性測度を決定することと、ここにおいて、ビデオデータの前記フレームはイントラ予測を使用して符号化されるべきである、
前記複雑性測度およびターゲットビットレートに基づいてレート制御パラメータを決定することと、
前記決定されたレート制御パラメータに基づいてイントラ予測モードを決定することと、
前記決定されたイントラ予測モードを使用してビデオデータの前記フレームを符号化することと
を備える、方法。
［Ｃ２］  前記決定されたレート制御パラメータに基づいて量子化パラメータを決定することと、
前記決定された量子化パラメータを使用してビデオデータの前記フレームを符号化することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ３］  前記複雑性測度および前記レート制御パラメータが、ビデオデータの前記フレームの各コーディングツリーユニット（ＣＴＵ）に対して決定される、Ｃ１に記載の方法。
［Ｃ４］  前記ビデオデータの１つのＣＴＵの前記複雑性測度を決定することが、
変換係数のブロックを作成する前記ＣＴＵに対する周波数ドメイン変換を実行することと、
前記変換係数のすべてを合計することおよび変換係数の前記ブロック内のＤＣ係数位置における変換係数の値を減算することによって、第１のＳＡＴＤ値を計算することと、
前記複雑性測度として前記第１のＳＡＴＤ値を割り当てることと
を備える、Ｃ３に記載の方法。
［Ｃ５］  前記ＣＴＵに対する前記周波数ドメイン変換を実行することが、前記ＣＴＵのあらゆるブロックに対する前記周波数ドメイン変換を実行することを備え、前記第１のＳＡＴＤ値を計算することが、各ブロックの前記変換係数のすべてを合計することおよび変換係数の前記ブロック内の前記ＤＣ係数位置における前記変換係数の前記値を減算することによって、前記第１のＳＡＴＤ値を計算することを備える、Ｃ４に記載の方法。
［Ｃ６］  前記ビデオデータの１つのＣＴＵの前記複雑性測度を決定することが、
変換係数のブロックを作成する前記ＣＴＵに対する周波数ドメイン変換を実行することと、
前記ブロック変換係数の最上行および最左列における変換係数以外の変換係数の前記ブロック内の前記変換係数のすべてを合計することによって第２のＳＡＴＤ値を計算することと、
前記複雑性測度として前記第２のＳＡＴＤ値を割り当てることと
を備える、Ｃ３に記載の方法。
［Ｃ７］  ビデオデータの前記フレームの１つのＣＴＵの前記複雑性測度を決定することが、
変換係数のブロックを作成する前記ＣＴＵに対する周波数ドメイン変換を実行することと、
前記変換係数のすべてを合計することおよび変換係数の前記ブロック内のＤＣ係数位置における変換係数の値を減算することによって第１のＳＡＴＤ値を計算することと、
前記ブロック変換係数の最上行および最左列における変換係数以外の変換係数の前記ブロック内の前記変換係数のすべてを合計することによって第２のＳＡＴＤ値を計算することと、
１つまたは複数の所定の基準に基づいて前記複雑性測度として前記第１のＳＡＴＤ値または前記第２のＳＡＴＤ値のいずれかを選択することと
を備える、Ｃ３に記載の方法。
［Ｃ８］  前記複雑性測度として前記第１のＳＡＴＤ値または前記第２のＳＡＴＤ値のいずれかを選択することが、
前記第１のＳＡＴＤ値が所定のしきい値より小さい場合、前記複雑性測度として前記第１のＳＡＴＤ値を選択することと、
前記第１のＳＡＴＤ値が所定のしきい値より大きい場合、前記複雑性測度として前記第２のＳＡＴＤ値を選択することと
を備える、Ｃ７に記載の方法。
［Ｃ９］  前記複雑性測度として前記第１のＳＡＴＤ値または前記第２のＳＡＴＤ値のいずれかを選択することが、
ビデオデータの前記フレームが７２０ｐより小さい解像度を有する場合、前記複雑性測度として前記第１のＳＡＴＤ値を選択することと、
ビデオデータの前記フレームが７２０ｐ以上の解像度を有する場合、前記複雑性測度として前記第２のＳＡＴＤ値を選択することと
を備える、Ｃ７に記載の方法。
［Ｃ１０］  ビデオデータの前記フレーム全体に対して前記複雑性測度と前記レート制御パラメータとを決定することをさらに備える、Ｃ１に記載の方法。
［Ｃ１１］  前記レート制御パラメータを決定することが、
式  λ=α（Ｃ／Ｒtarget）βを計算することを備え、
ここにおいて、λが前記レート制御パラメータであり、Ｃが前記複雑性測度であり、Ｒtargetが前記ターゲットビットレートであり、αおよびβが２次レート制御パラメータである、Ｃ１に記載の方法。
［Ｃ１２］  前記２次レート制御パラメータをフレームレベルで更新することをさらに備える、Ｃ１１に記載の方法。
［Ｃ１３］  前記２次レート制御パラメータをコーディングツリーユニット（ＣＴＵ）レベルで更新することをさらに備える、Ｃ１１に記載の方法。
［Ｃ１４］  ビデオ符号化プロセスにおいてレート制御を実行するように構成された装置であって、
ビデオデータのフレームを記憶するように構成されたメモリと、
ビデオデータの前記フレーム内の各ブロックに対する絶対値変換差分和（ＳＡＴＤ）計算に基づいてビデオデータの前記フレームの複雑性測度を決定すること、ここにおいて、ビデオデータの前記フレームはイントラ予測を使用して符号化されるべきである、
前記複雑性測度およびターゲットビットレートに基づいてレート制御パラメータを決定すること、
前記決定されたレート制御パラメータに基づいてイントラ予測モードを決定すること、および
前記決定されたイントラ予測モードを使用してビデオデータの前記フレームを符号化することを行うように構成されたビデオエンコーダと
を備える、装置。
［Ｃ１５］  前記ビデオエンコーダが、
前記決定されたレート制御パラメータに基づいて量子化パラメータを決定することと、
前記決定された量子化パラメータを使用してビデオデータの前記フレームを符号化することと
を行うようにさらに構成される、Ｃ１４に記載の装置。
［Ｃ１６］  ビデオエンコーダが、ビデオデータの前記フレームの各コーディングツリーユニット（ＣＴＵ）に対する、前記複雑性測度と前記レート制御パラメータとを決定するように構成される、Ｃ１５に記載の装置。
［Ｃ１７］  前記ビデオエンコーダが、
変換係数のブロックを作成する前記ＣＴＵに対する周波数ドメイン変換を実行することと、
前記変換係数のすべてを合計することおよび変換係数の前記ブロック内のＤＣ係数位置における変換係数の値を減算することによって、第１のＳＡＴＤ値を計算することと、
前記複雑性測度として前記第１のＳＡＴＤ値を割り当てることと
によって前記複雑性測度を決定するようにさらに構成される、Ｃ１６に記載の装置。
［Ｃ１８］  前記ＣＴＵに対する前記周波数ドメイン変換を実行することが、前記ＣＴＵのあらゆるブロックに対する前記周波数ドメイン変換を実行することを備え、前記第１のＳＡＴＤ値を計算することが、前記変換係数の前記変換係数すべてのすべてを合計することおよび変換係数の前記ブロック内のＤＣ係数位置における変換係数の値を減算することによって、前記第１のＳＡＴＤ値を計算することとを備える、Ｃ１７に記載の装置。
［Ｃ１９］  前記ビデオエンコーダが、
変換係数のブロックを作成する前記ＣＴＵに対する周波数ドメイン変換を実行することと、
前記ブロック変換係数の最上行および最左列における変換係数以外の変換係数の前記ブロック内の前記変換係数のすべてを合計することによって第２のＳＡＴＤ値を計算することと、
前記複雑性測度として前記第２のＳＡＴＤ値を割り当てることと
によって前記複雑性測度を決定するようにさらに構成される、Ｃ１６に記載の装置。
［Ｃ２０］  前記ビデオエンコーダが、
変換係数のブロックを作成する前記ＣＴＵに対する周波数ドメイン変換を実行することと、
前記変換係数のすべてを合計することおよび変換係数の前記ブロック内のＤＣ係数位置における変換係数の値を減算することによって第１のＳＡＴＤ値を計算することと、
前記ブロック変換係数の最上行および最左列における変換係数以外の変換係数の前記ブロック内の前記変換係数のすべてを合計することによって第２のＳＡＴＤ値を計算することと、
１つまたは複数の所定の基準に基づいて前記複雑性測度として前記第１のＳＡＴＤ値または前記第２のＳＡＴＤ値のいずれかを選択することと
によって前記複雑性測度を決定するようにさらに構成される、Ｃ１６に記載の装置。
［Ｃ２１］  前記ビデオエンコーダが、
前記第１のＳＡＴＤ値が所定のしきい値より小さい場合、前記複雑性測度として前記第１のＳＡＴＤ値を選択することと、
前記第１のＳＡＴＤ値が所定のしきい値より大きい場合、前記複雑性測度として前記第２のＳＡＴＤ値を選択することと
を行うようにさらに構成される、Ｃ２０に記載の装置。
［Ｃ２２］  前記ビデオエンコーダが、
ビデオデータの前記フレームが７２０ｐより小さい解像度を有する場合、前記複雑性測度として前記第１のＳＡＴＤ値を選択することと、
ビデオデータの前記フレームが７２０ｐ以上の解像度を有する場合、前記複雑性測度として前記第２のＳＡＴＤ値を選択することと
を行うようにさらに構成される、Ｃ２０に記載の装置。
［Ｃ２３］  前記ビデオエンコーダが、ビデオデータの前記フレーム全体に対する前記複雑性測度と前記レート制御パラメータとを決定するように構成される、Ｃ１４に記載の装置。
［Ｃ２４］  前記ビデオエンコーダが、式  λ=α（Ｃ／Ｒtarget）βを計算することによって前記レート制御パラメータを決定するように構成され、
ここにおいて、λが前記レート制御パラメータであり、Ｃが前記複雑性測度であり、Ｒtargetが前記ターゲットビットレートであり、αおよびβが２次レート制御パラメータである、Ｃ１４に記載の装置。
［Ｃ２５］  前記ビデオエンコーダが、
前記２次レート制御パラメータをフレームレベルで更新するようにさらに構成される、Ｃ２４に記載の装置。
［Ｃ２６］  前記ビデオエンコーダが、
前記２次レート制御パラメータをコーディングツリーユニット（ＣＴＵ）レベルで更新するようにさらに構成される、Ｃ２４に記載の装置。
［Ｃ２７］  ビデオ符号化プロセスにおいてレート制御を実行するように構成された装置であって、
ビデオデータのフレーム内の各ブロックに対する絶対値変換差分和（ＳＡＴＤ）計算に基づいてビデオデータの前記フレームの複雑性測度を決定するための手段と、ここにおいて、ビデオデータの前記フレームはイントラ予測を使用して符号化されるべきである、
前記複雑性測度およびターゲットビットレートに基づいてレート制御パラメータを決定するための手段と、
前記決定されたレート制御パラメータに基づいてイントラ予測モードを決定するための手段と、
前記決定されたイントラ予測モードを使用してビデオデータの前記フレームを符号化するための手段と
を備える、装置。
［Ｃ２８］  前記決定されたレート制御パラメータに基づいて量子化パラメータを決定するための手段と、
前記決定された量子化パラメータを使用してビデオデータの前記フレームを符号化するための手段と
をさらに備える、Ｃ２７に記載の装置。
［Ｃ２９］  命令を記憶するコンピュータ可読記憶媒体であって、前記命令が、実行されたとき、ビデオデータを符号化するように構成されたデバイスの１つまたは複数のプロセッサに、
ビデオデータのフレーム内の各ブロックに対する絶対値変換差分和（ＳＡＴＤ）計算に基づいてビデオデータの前記フレームの複雑性測度を決定することと、ここにおいて、ビデオデータの前記フレームはイントラ予測を使用して符号化されるべきである、
前記複雑性測度およびターゲットビットレートに基づいてレート制御パラメータを決定することと、
前記決定されたレート制御パラメータに基づいてイントラ予測モードを決定することと、
前記決定されたイントラ予測モードを使用してビデオデータの前記フレームを符号化することと
を行わせる、コンピュータ可読記憶媒体。
［Ｃ３０］  前記命令が、さらに、前記１つまたは複数のプロセッサに、
前記決定されたレート制御パラメータに基づいて量子化パラメータを決定することと、
前記決定された量子化パラメータを使用してビデオデータの前記フレームを符号化することと
をさらに行わせる、Ｃ２９に記載のコンピュータ可読記憶媒体。
【国際調査報告】
2016518777.tif 000030
2016518777.tif 000031
2016518777.tif 000032
2016518777.tif 000033