(57)【特許請求の範囲】
【請求項１】
ビデオエンコーダにおいて実行される方法であって、
現在のビデオフレーム中の現在のブロックをコーディングするための参照フレームにおける複数の候補参照ビデオブロックの各々についての時空間依存性値を判断することであって、ここで、前記時空間依存性値は、以前に復号化されたビデオフレームの時間シーケンスにわたって、どの程度空間依存性が前記候補参照ビデオブロックのうちの特定の１つに対して伝搬するかを示す数を備え、前記以前に復号化されたビデオフレームは、前記参照フレームに先立って復号化される、時空間依存性値を判断することと、
前記候補参照ビデオブロックの各々についての前記時空間依存性値をしきい値と比較することと、
前記比較に基づいて前記現在のブロックのためのコーディングモードを選択することであって、ここで、前記コーディングモードは、そこから前記現在のビデオブロックを予想する前記候補参照ビデオブロックを含む前記参照フレームのエリアを制限するために選択される、コーディングモードを選択することと、
前記選択されるコーディングモードに従って前記現在のビデオフレーム中の前記現在のブロックを符号化することと
を備える、方法。
【請求項２】
前記現在のブロックを符号化することは、前記しきい値を超えない時空間依存性値で前記候補参照ビデオブロックの１つに基づいて、前記現在のブロックをインターコーディングすることを備え、
前記参照フレームの前記候補参照ビデオブロックの１つに基づいて前記現在のブロックをインターコーディングしたときに前記現在のブロックについての時空間依存性値を更新すること
をさらに備え、前記更新される時空間依存性値は、以前に復号化されたビデオフレームの前記時間シーケンスに前記参照フレームを含むために、１つずつ増加される前記候補参照ビデオブロックの１つに対する前記時空間依存性値を備える、請求項１に記載の方法。
【請求項３】
前記複数の候補参照ビデオブロックの１つまたは複数のセットが各々前記しきい値を超えない時空間依存性値を有する場合、
前記現在のブロックについて、前記セットから前記候補参照ビデオブロックの１つを選択すること、をさらに備え、
前記コーディングモードを選択することは、前記現在のブロックについて前記候補参照ビデオブロックのうちの選択された１つに基づいてインターコーディングモードを選択することを備える、請求項１に記載の方法。
【請求項４】
前記候補参照ビデオブロックの各々が前記しきい値を超える時空間依存性値を有する場合、前記コーディングモードを選択することは、前記現在のブロックについてイントラコーディングモードを選択することを備える、請求項１に記載の方法。
【請求項５】
前記候補参照ビデオブロックの少なくとも１つが前記しきい値を超えない時空間依存性値を有する場合、前記コーディングモードを選択することは、コーディングビットレート、イントラリフレッシュレート、ひずみ、またはチャネル損失確率のうちの少なくとも１つに基づいて、現在のブロックについて、インターコーディングモードまたはイントラコーディングモードのいずれかを選択することを備える、請求項１に記載の方法。
【請求項６】
前記しきい値が固定である、請求項１に記載の方法。
【請求項７】
前記しきい値が可変である、請求項１に記載の方法。
【請求項８】
前記コーディングモード選択に基づいてイントラリフレッシュ（ＩＲ）レートを変更することをさらに備える、請求項１に記載の方法。
【請求項９】
現在のビデオフレーム中の現在のブロックをコーディングするための参照フレームにおける複数の候補参照ビデオブロックの各々についての時空間依存性値を記憶するストレージデバイスと、
前記候補参照ビデオブロックの各々についての前記時空間依存性値を判断することであって、ここで、前記時空間依存性値は、以前に復号化されたビデオフレームの時間シーケンスにわたって、どの程度空間依存性が前記候補参照ビデオブロックのうちの特定の１つに対して伝搬するかを示す数を備え、前記以前に復号化されたビデオフレームは、前記参照フレームに先立って復号化される、判断することと、前記候補参照ビデオブロックの各々についての前記時空間依存性値をしきい値と比較することと、前記比較に基づいて前記現在のブロックのためのコーディングモードを選択することであって、ここで、前記コーディングモードは、そこから前記現在のビデオブロックを予想する前記候補参照ビデオブロックを含む前記参照フレームのエリアを制限するために選択される、コーディングモードを選択することと、前記選択されるコーディングモードに従って前記現在のビデオフレーム中の前記現在のブロックを符号化することとを行うビデオエンコーダと
を備える、ビデオ符号化デバイス。
【請求項１０】
前記ビデオエンコーダが、前記しきい値を超えない前記時空間依存性値で前記候補参照ビデオブロックの１つに基づいて、前記現在のブロックをインターコーディングし、前記参照フレームの前記候補参照ビデオブロックの１つに基づいて前記現在のブロックをインターコーディングしたときに前記現在のブロックについての前記時空間依存性値を更新し、前記更新された時空間依存性値は、以前に復号化されたビデオフレームの前記時間シーケンスに前記参照フレームを含むために、１つずつ増加される前記候補参照ビデオブロックの１つに対する前記時空間依存性値を備える、請求項９に記載のデバイス。
【請求項１１】
前記複数の候補参照ビデオブロックの１つまたは複数のセットが各々前記しきい値を超えない時空間依存性値を有する場合、前記ビデオエンコーダは、前記現在のブロックについて、前記セットから前記候補参照ビデオブロックの１つを選択し、前記現在のブロックについて前記候補参照ビデオブロックのうちの選択された１つに基づいてインターコーディングモードを選択する、請求項９に記載のデバイス。
【請求項１２】
前記候補参照ビデオブロックの各々が前記しきい値を超える時空間依存性値を有する場合、前記ビデオエンコーダは、前記現在のブロックについてイントラコーディングモードを選択する、請求項９に記載のデバイス。
【請求項１３】
前記候補参照ビデオブロックの少なくとも１つが前記しきい値を超えない時空間依存性値を有する場合、前記ビデオエンコーダは、コーディングビットレート、イントラリフレッシュレート、ひずみ、またはチャネル損失確率のうちの少なくとも１つに基づいて、現在のブロックについて、インターコーディングモードまたはイントラコーディングモードのいずれかを選択する、請求項９に記載のデバイス。
【請求項１４】
前記しきい値が固定である、請求項９に記載のデバイス。
【請求項１５】
前記しきい値が可変である、請求項９に記載のデバイス。
【請求項１６】
前記ビデオエンコーダが、前記コーディングモード選択に基づいてイントラリフレッシュ（ＩＲ）レートを変更する、請求項９に記載のデバイス。
【請求項１７】
ワイヤレス通信デバイスをさらに備える、請求項９に記載のデバイス。
【請求項１８】
集積回路デバイスをさらに備える、請求項９に記載のデバイス。
【請求項１９】
実行時に、ビデオエンコーダ内のプロセッサに、
現在のビデオフレーム中の現在のブロックをコーディングするための参照フレームにおける複数の候補参照ビデオブロックの各々についての時空間依存性値を判断することであって、ここで、前記時空間依存性値は、以前に復号化されたビデオフレームの時間シーケンスにわたって、どの程度空間依存性が前記候補参照ビデオブロックのうちの特定の１つに対して伝搬するかを示す数を備え、前記以前に復号化されたビデオフレームは、参照フレームに先立って復号化される、時空間依存性値を判断することと、
前記候補参照ビデオブロックの各々についての前記時空間依存性値をしきい値と比較することと、
前記比較に基づいて前記現在のブロックのためのコーディングモードを選択することであって、ここで、前記コーディングモードは、そこから前記現在のビデオブロックを予想する前記候補参照ビデオブロックを含む前記参照フレームのエリアを制限するために選択される、コーディングモードを選択することと、
前記選択されるコーディングモードに従って前記現在のビデオフレーム中の前記現在のブロックを符号化することと
を行わせる、コンピュータ可読媒体上に符号化された命令を備えるコンピュータ可読媒体。
【請求項２０】
前記プロセッサに、
前記しきい値を超えない時空間依存性値で前記候補参照ビデオブロックの１つに基づいて、前記現在のブロックをインターコーディングすること、
前記参照フレームの前記候補参照ビデオブロックの１つに基づいて前記現在のブロックをインターコーディングしたときに前記現在のブロックについての時空間依存性データベース値を更新すること
を行わせる命令をさらに備え、前記更新される時空間依存性値は、以前に復号化されたビデオフレームの時間シーケンスに前記参照フレームを含むために、１つずつ増加される前記候補参照ビデオブロックの１つに対する前記時空間依存性値を備える、請求項１９に記載のコンピュータ可読媒体。
【請求項２１】
前記プロセッサに、
前記複数の候補参照ビデオブロックの１つまたは複数のセットが各々前記しきい値を超えない時空間依存性値を有する場合、前記現在のブロックについて、前記セットから前記候補参照ビデオブロックの１つを選択すること、
前記現在のブロックについて前記候補参照ビデオブロックのうちの選択された１つに基づいてインターコーディングモードを選択することを行わせる命令をさらに備える、請求項１９に記載のコンピュータ可読媒体。
【請求項２２】
前記プロセッサに、
前記候補参照ビデオブロックの各々が前記しきい値を超える時空間依存性値を有する場合、前記現在のブロックについてイントラコーディングモードを選択することを行わせる命令をさらに備える請求項１９に記載のコンピュータ可読媒体。
【請求項２３】
前記プロセッサに、
前記候補参照ビデオブロックの少なくとも１つが前記しきい値を超えない時空間依存性値を有する場合、コーディングビットレート、イントラリフレッシュレート、ひずみ、またはチャネル損失確率のうちの少なくとも１つに基づいて、前記現在のブロックについて、インターコーディングモードまたはイントラコーディングモードのいずれかを選択することを行わせる命令をさらに備える、請求項１９に記載のコンピュータ可読媒体。
【請求項２４】
前記しきい値が固定である、請求項１９に記載のコンピュータ可読媒体。
【請求項２５】
前記しきい値が可変である、請求項１９に記載のコンピュータ可読媒体。
【請求項２６】
前記プロセッサに、
前記コーディングモード選択に基づいてイントラリフレッシュ（ＩＲ）レートを変更すること
を行わせる命令をさらに備える、請求項１９に記載のコンピュータ可読媒体。
【請求項２７】
現在のビデオフレーム中の現在のブロックをコーディングするための参照フレームにおける複数の候補参照ビデオブロックの各々についての時空間依存性値を判断するための手段であって、ここで、前記時空間依存性値は、以前に復号化されたビデオフレームの時間シーケンスにわたって、どの程度空間依存性が前記候補参照ビデオブロックのうちの特定の１つに対して伝搬するかを示す数を備え、前記以前復号化されたビデオフレームは、前記参照フレームに先立って復号化される、時空間依存性値を判断するための手段と、
前記候補参照ビデオブロックの各々についての前記時空間依存性値をしきい値と比較するための手段と、
前記比較に基づいて前記現在のブロックのためのコーディングモードを選択するための手段であって、ここで、前記コーディングモードは、そこから前記現在のビデオブロックを予想する前記候補参照ビデオブロックを含む前記参照フレームのエリアを制限するために選択される、コーディングモードを選択するための手段と、
前記選択されるコーディングモードに従って前記現在のビデオフレーム中の前記現在のブロックを符号化するための手段と
を備える、ビデオ符号化デバイス。
【請求項２８】
前記しきい値を超えない時空間依存性値で前記候補参照ビデオブロックの１つに基づいて、前記現在のブロックをインターコーディングするための手段と、
前記参照フレームの前記候補参照ビデオブロックの１つに基づいて前記現在のブロックをインターコーディングしたときに前記現在のブロックについての時空間依存性値を更新するための手段をさらに備え、前記更新された時空間依存性値は、以前に復号化されたビデオフレームの前記時間シーケンスに前記参照フレームを含むために、１つずつ増加される前記候補参照ビデオブロックの１つに対する前記時空間依存性値を備える、請求項２７に記載のデバイス。
【請求項２９】
前記複数の候補参照ビデオブロックの１つまたは複数のセットが各々前記しきい値を超えない時空間依存性値を有する場合、前記現在のブロックについて、前記セットから前記候補参照ビデオブロックの１つを選択するための手段と、
前記現在のブロックについて前記候補参照ビデオブロックのうちの選択された１つに基づいてインターコーディングモードを選択するための手段と、をさらに備える、請求項２７に記載のデバイス。
【請求項３０】
前記候補参照ビデオブロックの各々が前記しきい値を超える時空間依存性値を有する場合、前記現在のブロックについてイントラコーディングモードを選択するための手段、をさらに備える、請求項２７に記載のデバイス。
【請求項３１】
前記候補参照ビデオブロックの少なくとも１つが前記しきい値を超えない時空間依存性値を有する場合、コーディングビットレート、イントラリフレッシュレート、ひずみ、またはチャネル損失確率のうちの少なくとも１つに基づいて、現在のブロックについて、インターコーディングモードまたはイントラコーディングモードのいずれかを選択するための手段、をさらに備える、請求項２７に記載のデバイス。
【請求項３２】
前記しきい値が固定である、請求項２７に記載のデバイス。
【請求項３３】
前記しきい値が可変である、請求項２７に記載のデバイス。
【請求項３４】
前記コーディングモード選択に基づいてイントラリフレッシュ（ＩＲ）レートを変更するための手段
をさらに備える、請求項２７に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、本出願の譲受人に譲渡され、その全文がすべての目的のために参照により本明細書に明確に組み込まれる、本出願と同日に出願された、一時的に代理人整理番号第ＩＤＦ０８１９９０Ｕ２号によって参照される、「VIDEO DECODING USING TEMPORALLY CONSTRAINED SPATIAL DEPENDENCY」と題する米国特許出願に関する。
【０００２】
本開示は、ビデオコーディングに関し、詳細には、コーディングされたビデオの関心領域（ＲＯＩ）処理のための技法に関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビ、デジタル直接ブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ：ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル録音デバイス、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話などを含む、広範囲にわたるデバイスに与えられる。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、またはＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、アドバンスド・ビデオ・コーディング（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ：ＡＶＣ）を含む様々な規格に記載されたビデオ圧縮技法などのビデオ圧縮技法を実装する。ビデオ圧縮技法では、冗長性を低減し、デジタルビデオをより効率的に通信するために空間的予測および時間的予測を実行し得る。
【０００４】
関心領域（ｒｅｇｉｏｎ−ｏｆ−ｉｎｔｅｒｅｓｔ：ＲＯＩ）処理は、ビデオフレームの１つまたは複数の選択された領域を、他の領域とは別様に記録またはコーディングすることを含み得る。一例として、ＲＯＩは、他の非ＲＯＩ領域よりも高品質で優先符号化され得る。ＲＯＩの優先符号化により、ユーザは、非ＲＯＩ領域よりもはっきりとＲＯＩを閲覧することが可能であり得る。別の例として、記録されたビデオシーン内のＲＯＩの可視性または品質を向上させるために、ビデオ記録のときにズームパンが実行され得る。各場合において、ＲＯＩは、ビデオ記録または符号化段において確定され、次いで、所与のビデオフレームを復号し、表示すると閲覧される。
【発明の概要】
【０００５】
概して、本開示では、ビデオフレーム中の局所復号をサポートするために符号化されたビデオブロックの空間依存性の時間伝搬を制約するビデオコーディング技法について説明する。一連の参照フレームにわたる空間依存性の時間伝搬は、フレーム内の局所復号を実行するデコーダの能力に影響を及ぼし得る。たとえば、ビデオフレームのＲＯＩの局所復号では、ＲＯＩの外側にある復号された参照ブロックが利用可能である必要があり得る。空間依存性の時間伝搬を制約することによって、ビデオエンコーダは、デコーダがＲＯＩの外側の復号された参照ブロックにアクセスする必要を低減するかまたはなくし得る。
【０００６】
本技法は、符号化された個々のビデオブロックについての時空間依存性値を追跡し得る。符号化されたビデオブロックは、符号化すべきフレーム中の他のビデオブロックの予測コーディングのための候補参照ブロックとして働き得る。現在のビデオブロックを符号化するとき、エンコーダは、候補参照ブロックのセットを識別し、候補参照ブロックの時空間依存性値が時空間依存性限界を超えるかどうかを判断する。超える場合、エンコーダは、現在のビデオブロックがインターコーディングされるのではなくイントラコーディングされるように強制し、それによって空間依存性の時間範囲を制限し、局所ＲＯＩ限定復号をサポートし得る。
【０００７】
本開示はまた、ビデオブロックを復号するための技法を提供する。ユーザまたはアプリケーションによるＲＯＩ選択に基づいて、ビデオデコーダは、前のフレームからのＲＯＩ内の復号されたブロックにアクセスし得る。一例では、すべてのビデオコーダデコーダ（「コーデック」）によってサポートされるユーザデータ（ＵｓｅｒＤａｔａ）フィールド中にブロック位置ルックアップテーブルを埋め込むことによって、デコーダは、復号するためのブロックにランダムにアクセスし得る。
【０００８】
一例では、本開示は、ビデオフレーム中の現在のブロックをインターコーディングするための候補参照ビデオブロックについての時空間依存性値を判断することを備える、ビデオエンコーダにおいてコーディングモードを判断するための方法を提供する。本方法は、時空間依存性値をしきい値と比較することをさらに備える。本方法は、その比較に基づいて現在のブロックのためのコーディングモードを選択することをさらに備える。
【０００９】
別の例では、本開示は、ビデオフレーム中の現在のブロックをコーディングするための候補参照ブロックについての時空間依存性値を記憶するストレージデバイスと、候補参照ビデオブロックについての時空間依存性値を判断し、時空間依存性値をしきい値と比較し、その比較に基づいて現在のブロックのためのコーディングモードを選択するビデオエンコーダとを備えるビデオ符号化デバイスを提供する。
【００１０】
追加の例では、本開示は、実行時に、ビデオエンコーダ内のプロセッサに、ビデオフレーム中の現在のブロックをインターコーディングするための候補参照ビデオブロックについての時空間依存性値を判断させる、コンピュータ可読媒体上に符号化された命令を備えるコンピュータ可読媒体を提供する。コンピュータ可読媒体は、プロセッサに時空間依存性値をしきい値と比較させる命令をさらに備える。コンピュータ可読媒体は、プロセッサに、その比較に基づいて現在のブロックのためのコーディングモードを選択させる命令をさらに備える。
【００１１】
別の例では、本開示は、ビデオフレーム中の現在のブロックをインターコーディングするための候補参照ビデオブロックについての時空間依存性値を判断するための手段を備えるビデオ符号化デバイスを提供する。エンコーダは、時空間依存性値をしきい値と比較するための手段をさらに備える。エンコーダは、その比較に基づいて現在のブロックのためのコーディングモードを選択するための手段をさらに備える。
【００１２】
追加の例では、本開示は、ビデオデコーダにおいて実行される方法を提供する。本方法は、ビデオフレームの関心領域（ＲＯＩ）を定義するデータを受信することと、ＲＯＩ中の少なくとも１つのビデオブロックについての時空間依存性値（ｔｅｍｐｏｒａｌ  ｓｐａｔｉａｌ  ｄｅｐｅｄｅｎｃｙ  ｖａｌｕｅ：ＴＳＤ）を受信することと、ＴＳＤ値に少なくとも部分的に基づいてＲＯＩ中のビデオブロックを復号することとを備える。
【００１３】
別の例では、本開示は、ビデオフレームの関心領域（ＲＯＩ）を選択するＲＯＩ選択ユニットと、ＲＯＩ中の少なくとも１つのビデオブロックについての時空間依存性値を受信するユニットと、ＴＳＤ値に少なくとも部分的に基づいてＲＯＩ中のビデオブロックを復号するユニットとを備えるビデオデコーダを提供する。
【００１４】
追加の例では、本開示は、実行時に、ビデオデコーダ内のプロセッサに、ビデオフレームの関心領域（ＲＯＩ）を定義するデータを受信することと、ＲＯＩ中の少なくとも１つのビデオブロックについての時空間依存性（ＴＳＤ）値を受信することと、ＴＳＤ値に少なくとも部分的に基づいてＲＯＩ中のビデオブロックを復号することとを行わせる、コンピュータ可読媒体上に符号化された命令を備えるコンピュータ可読媒体を提供する。
【００１５】
別の例では、本開示は、ビデオフレームの関心領域（ＲＯＩ）を定義するデータを受信するための手段と、ＲＯＩ中の少なくとも１つのビデオブロックについての時空間依存性（ＴＳＤ）値を受信するための手段と、ＴＳＤ値に少なくとも部分的に基づいてＲＯＩ中のビデオブロックを復号するための手段とを備えるビデオデコーダを提供する。
【００１６】
１つまたは複数の例の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１７】
【図１】図１は、ビデオ符号化および復号システムを示すブロック図である。
【図２】図２は、本開示による例示的なビデオエンコーダを示すブロック図である。
【図３】図３は、本開示による例示的なビデオデコーダを示すブロック図である。
【図４】図４は、本開示による例示的な予測ユニットを示すブロック図である。
【図５】図５は、ビデオ符号化における空間依存性の時間伝搬を示す図である。
【図６】図６は、ビデオ復号における空間依存性の時間要件を示す図である。
【図７】図７は、ビデオ復号におけるフレーム内空間依存性と組み合わせられた空間依存性の時間要件を示す図。
【図８Ａ】図８Ａは、制約なし依存性範囲を有するビデオフレームのグラフと、制約付き依存性範囲を有するビデオフレームのグラフとの比較を示すである図。
【図８Ｂ】図８Ｂは、周期フレーム内符号化を含むように修正された図８Ａの図である。
【図９】図９は、本開示による、空間依存性を時間的に制約するための例示的なビデオエンコーダアーキテクチャおよび動作を示す図である。
【図１０】図１０は、本開示によるコーディングモード判断方法を示すフロー図である。
【図１１】図１１は、本開示による別のコーディングモード判断方法を示すフロー図である。
【図１２】図１２は、関心領域（ＲＯＩ）と、復号される必要があり得るＲＯＩ外の第１のエリアと、同じく復号される必要があり得る第１のエリア外の第２のエリアとを示す概念図である。
【図１３】図１３は、本開示による復号方法を示すフロー図である。
【図１４】図１４は、パン、ズーム、およびティルトをサポートする、選択されたＲＯＩエリアを復号するための追加のＲＯＩマージンを判断する方法を示すフロー図である。
【発明を実施するための形態】
【００１８】
ビデオコーディングのための関心領域（ＲＯＩ）定義は、通常、ビデオカムコーダなどにおいてビデオ記録のときに行われる。たとえば、ユーザは、シーン中のＲＯＩのビデオを記録するためにビデオシーン内でズームまたはパンし得る。次いで、記録されたビデオは、復号および再生のために、記憶および／または通信のために符号化される。ビデオ再生は、一般に、記録されたビデオを忠実に再生して、同じビデオの異なる閲覧者の間での、および異なる閲覧の間でのビデオの均一な閲覧経験を与える。言い換えれば、閲覧経験は、あらゆる閲覧者に対して実質的に同じであると仮定される。
【００１９】
均一な閲覧は、デバイスのディスプレイ能力が、ビデオ送信または記憶の帯域幅と、ビデオフレームの解像度またはサイズとにぴったり一致するときなど、多くの適用例について許容され得る。しかしながら、場合によっては、ビデオ再生のデコーダ側において閲覧者がＲＯＩを定義することを可能にすることが望ましいことがある。たとえば、閲覧者は、たとえば、ビデオシーン内でズームまたはパンすることによって、符号化ビデオによってキャプチャされたシーンの一意のまたは特徴的な閲覧を取得するためにデコーダ側においてＲＯＩを局所的に定義することを望み得る。
【００２０】
デコーダ側ＲＯＩ定義をサポートするための局所復号は、どんなデバイスにとっても概して望ましいが、サイズおよび解像度など、限られた帯域幅、処理能力またはディスプレイ能力を有するデバイスにとって特に望ましいことがある。例としては、小さいディスプレイ画面、限られた処理リソース、および／または無線接続などの限られた帯域幅接続をもつモバイルハンドヘルドデバイスがある。ディスプレイ能力が低くなると、モバイルデバイスのユーザは、キャプチャされたシーン全体を閲覧することに対する関心が小さくなり、代わりに、キャプチャされたシーンの拡大部分を閲覧することに対する関心が大きくなり得る。
【００２１】
ＲＯＩズームおよびパンは、テキストまたは静止画像の閲覧など、静的コンテンツの場合には容易に実行され得る。たとえば、タッチスクリーンデバイスは、ユーザが指の動きを使用してＲＯＩにズームインすることを可能にし得る。同様の結果を達成するために他のポインティングデバイスが使用され得る。静的コンテンツの場合、ＲＯＩズームおよびパンは、単にディスプレイ上で提示されるべき静止画像の一部分を選択し、操作することによって達成され得る。この場合、デバイスメモリは一般に画像フレーム全体を記憶するので、ＲＯＩズームおよびパンが簡単になる。
【００２２】
ビデオなどの動的コンテンツの場合、予測符号化されたフレームのビデオブロックを復号することは、前に復号されたフレーム中の参照ブロックへのアクセスを必要とする。典型的なビデオエンコーダでは、すべての可能な参照ブロック（たとえば、マクロブロック）が後のフレームの復号のために利用可能であるように、各フレームの復号がフレーム全体に対して実行されると仮定する。その結果、エンコーダおよびデコーダは、フレームの一部分のみが復号されるＲＯＩ限定復号技法をサポートするように構成されない。
【００２３】
フレームのＲＯＩ部分のみが復号された場合、将来のフレームを復号するのに必要な参照ブロックは、それらが復号されなかったので利用不可能であることがある。前のフレーム中のＲＯＩの外側にあり、したがって復号されなかった参照ブロックへの時空間依存性により、将来のフレーム中のいくつかのブロックを復号することが不可能であることがある。あるいは、後のフレーム中のＲＯＩブロックの復号をサポートするために、前のフレーム中の非ＲＯＩブロックが表示されない場合でも、そのような非ＲＯＩブロックを復号することが必要になり得、これは非効率的で望ましくないことがある。
【００２４】
概して、本開示では、ビデオフレーム中の局所復号をサポートするために符号化されたビデオブロックの空間依存性の時間伝搬を制約するビデオ符号化技法について説明する。本技法は、復号された個々のビデオブロックの時空間依存性値を追跡し得る。予測符号化に使用される一連の参照フレームにわたる空間依存性の時間伝搬は、たとえば、ＲＯＩ限定復号のために、フレーム中の局所復号を実行するデコーダの能力を損ない得る。本開示全体にわたって使用する、候補ブロックの時空間依存性は、候補ビデオブロックが依存する前のビデオフレーム中のビデオブロックの数を指す。
【００２５】
現在のビデオブロックを符号化するとき、ビデオエンコーダは、候補参照ブロックのセットを識別し、候補参照ブロックの時空間値が時空間依存性限界を超えるかどうかを判断し得る。超える場合、ビデオエンコーダは、現在のビデオブロックがインターコーディングされるのではなくイントラコーディングされるように強制し、それによって空間依存性の時間範囲を制限し得る。時空間依存性限界は、ビデオ品質とコーディング効率とを平衡させるための実装パラメータとして固定または可変であり得る。
【００２６】
ビデオエンコーダは、ブロックを復号することが、デコーダ側において定義されたＲＯＩの外側の所定の範囲を越えて存在する参照ブロックを必要としないことを保証する。このようにして、ビデオエンコーダは、連続復号が適切に局所化されるように、個々のブロックの空間依存性を適切に局所化された状態に保つことができる。
【００２７】
図１は、ビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、通信チャネル１６を介して符号化されたビデオを宛先デバイス１４に送信するソースデバイス１２を含み得る。ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変復調装置（モデム）２２と、送信機２４とを含み得る。いくつかの例では、ソースデバイス１２はビデオ符号化デバイスと見なされ得る。いくつかの態様では、送信機２４はワイヤレス送信機であり得る。宛先デバイス１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、ビデオディスプレイデバイス３２とを含み得る。いくつかの例では、宛先デバイスはビデオ復号デバイスと見なされ得る。いくつかの態様では、受信機２６は、ワイヤレス通信デバイスハンドセットにおけるワイヤレス受信機など、ワイヤレス受信機であり得る。本開示によれば、ソースデバイス１２のビデオエンコーダ２０は、フレームごとに、一連のビデオフレームにおいて、符号化すべきビデオフレームの各ブロックの空間依存性を追跡するように構成され得る。ビデオエンコーダ２０は、空間依存性の時間伝搬を局所領域に含まれた状態に保つために、必要なときにブロックのイントラコーディングを強制し、それによって、ビデオデコーダ３０が局所ＲＯＩ限定復号サポートするように構成されている場合、ブロックの復号可能性をサポートし得る。
【００２８】
図示のシステム１０は例にすぎない。本開示の技法は、いくつかの態様では、インターコーディングおよびイントラコーディング技法をサポートする任意の符号化デバイスによって実行され得る。ソースデバイス１２は、そのような符号化デバイスの一例にすぎない。他の態様では、本開示で説明する技法は、復号デバイスによって実行され得る。たとえば、復号デバイスは、たとえば、ＲＯＩ限定復号のために、ビデオフレームの局所復号をサポートするように構成され得る。
【００２９】
本開示によれば、以下でより詳細に説明するように、ビデオエンコーダ２０は、符号化されたビデオフレームの各ブロックの時空間依存性を記憶し得る。一例として、ビデオエンコーダ２０は、フレーム中の各ブロックがインターコーディングのために依存するフレームの数を示す情報を維持し得る。時空間依存性情報は、メモリなどのストレージデバイス中のデータベース、ルックアップテーブル、リンクリスト、ハッシュテーブル、ツリー、バイナリツリー、または他のタイプのデータ構造に記憶され得る。符号化すべき現在のブロックは、前のフレーム中のブロックが現在のブロックのインターコーディングのための参照または「予測」ブロックとして働き得るという意味において、前のフレーム中のブロックに依存し得る。この依存性は、現在のブロックの空間範囲内のいくつかのブロックが予測ブロックとして使用するための候補であり得るという意味において、空間的であり得る。場合によっては、現在のブロックは、たとえば、Ｈ．２６４コーディングの場合、複数の参照フレームが使用されるとき、複数の可能な参照フレームのうちの１つの中のブロックに依存し得る。
【００３０】
フレームは時間順に提示される。インターコーディングの場合、現在のフレーム中で符号化されるべき現在のブロック、たとえば、フレームＮは、１つまたは複数の前のフレーム、たとえば、フレームＮ−１、Ｎ−２、Ｎ−３、Ｎ−４などの中の第１の参照ブロックに空間的に依存し得る。今度は、第１の参照ブロックは、異なるフレーム中の第２の参照ブロックに空間的に依存し得、別のフレーム中の第２の参照ブロックは、さらに別のフレーム中の第３の参照ブロックに空間的に依存し得、以下同様である。空間依存性の時間伝搬は、現在のフレームと、現在のブロックを符号化するのに必要な参照ブロックのいずれかをインターコーディングするために使用される最先のフレームとの間の時間範囲によって変わる。一例として、フレームＮ中の符号化されたブロックが、インターコーディングのためにフレームＮ−１中の参照ブロックに依存する場合、フレームＮ−１中の参照ブロックは、インターコーディングのためにフレームＮ−２中の別の参照ブロックに依存するが、フレームＮ−２中の参照ブロックはイントラコーディングされ、その場合、フレームＮ中のブロックの時空間依存性値は２である。
【００３１】
したがって、候補参照ビデオブロックが依存する前のビデオフレーム中のブロックの数が、時空間依存性値を定義する。インターコーディングモードを使用してブロックを符号化すべきかまたはイントラコーディングモードを使用してブロックを符号化すべきかを決定する際に、ビデオエンコーダ２０は、データベースに問い合わせ、候補参照ブロックのセットのうちの各々の時空間依存性値をしきい値と比較し得る。候補参照ブロックは、符号化すべきブロックの動き推定探索範囲内に空間的に存在する、前に符号化されたフレーム中のブロックであり得る。すべての候補参照ブロックの時空間依存性値がしきい値を超える場合、ビデオエンコーダ２０は、現在のブロックのコーディングモードとしてイントラコーディングを選択し、それによって現在のブロックについての空間依存性の時間伝搬を制限する。少なくとも１つのブロックの時空間依存性値がしきい値を超えない場合、ビデオエンコーダ２０は、イントラコーディングを強制せず、イントラリフレッシュ（ｉｎｔｒａ−ｒｅｆｒｅｓ：ＩＲ）レート、動き補償によって示されるコーディングひずみ、および／または利用可能なコーディングビットレートなど、他のファクタに基づいてそのブロックのためのモード決定を行う。
【００３２】
概して、ソースデバイス１２は、宛先デバイス１４に送信するためにコーディングされたビデオデータを発生する。ただし、場合によっては、デバイス１２、１４は、実質的に対称に動作し得る。たとえば、デバイス１２、１４の各々は、ビデオ符号化および復号構成要素を含み得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオ電話通信のためのビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。他の場合には、ビデオデバイス１４は、単にビデオブロードキャストまたはビデオストリーミングを受信するかあるいは他の方法でビデオ再生をサポートするように構成され得る。
【００３３】
ソースデバイス１２のビデオソース１８は、ビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィードなど、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ発生ビデオとの組合せを発生し得る。場合によっては、ビデオソース１８がビデオカメラを含む場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き携帯電話またはビデオ電話を形成し得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ発生ビデオはビデオエンコーダ２０によって符号化され得る。他の場合には、ソースデバイス１２はビデオストリーミングまたはビデオブロードキャストデバイスであり得る。符号化されたビデオは、たとえば、符号分割多元接続（ｃｏｄｅ  ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ：ＣＤＭＡ）または別の通信規格もしくは技法などの通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先デバイス１４に送信され得る。
【００３４】
宛先デバイス１４の受信機２６はチャネル１６を介して情報を受信し、モデム２８は受信情報を復調する。符号化プロセスと同様の、ビデオデコーダ３０によって実行される復号プロセスは、データ圧縮の改善されたレベルをサポートするために本開示の技法を使用する。デコーダ３０は、ソースデバイス１２から受信されたビデオデータの局所ＲＯＩ限定復号をサポートし得る。局所ＲＯＩ限定復号は、エンコーダ２０によって適用される空間依存性の時間伝搬に関する制約によってサポートされ得る。宛先デバイス１４は、所望のＲＯＩを定義するユーザ入力を受け付け、次いで、そのＲＯＩに対応するブロックの局所復号を実行するようにビデオデコーダ３０に指示し得る。デコーダ３０は、ＲＯＩの外側にある復号ブロックを回避し、そのようなブロックに対応するデータを廃棄し得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ｃａｔｈｏｄｅ  ｒａｙ  ｔｕｂｅ：ＣＲＴ）、液晶ディスプレイ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ：ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ｏｒｇａｎｉｃ  ｌｉｇｈｔ  ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ：ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００３５】
図１の例では、通信チャネル１６は、無線周波数（ｒａｄｉｏ  ｆｒｅｑｕｅｎｃｙ：ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレスおよびワイヤード媒体の任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成し得る。通信チャネル１６は、概して、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。
【００３６】
ビデオエンコーダ２０およびビデオデコーダ３０は、ＩＴＵ−Ｔ  Ｈ．２６４規格（代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれる）、ならびにＭＰＥＧ−１、ＭＰＥＧ−２およびＭＰＥＧ−４における動画専門家グループ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ：ＭＰＥＧ）によって定義された規格、ＩＴＵ−Ｔ  Ｈ．２６３規格、動画・テレビ工学協会（Ｓｏｃｉｅｔｙ  ｏｆ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  ａｎｄ  Ｔｅｌｅｖｉｓｉｏｎ  Ｅｎｇｉｎｅｅｒｓ：ＳＭＰＴＥ）４２１Ｍビデオコーデック規格（通常「ＶＣ−１」と呼ばれる）、中国のオーディオビデオ符号化標準作業グループ（Ａｕｄｉｏ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｓｔａｎｄａｒｄ  Ｗｏｒｋｇｒｏｕｐ）によって定義された規格（通常「ＡＶＳ」と呼ばれる）、ならびにある規格団体によって定義されるか、またはプロプライエタリ規格としてある組織によって開発された任意の他のビデオコーディング規格を含む、様々なビデオ圧縮規格に従って動作し得る。
【００３７】
図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ｕｓｅｒ  ｄｅｔａｇｒａｍ  ｐｒｏｔｏｃｏｌ：ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３８】
ＩＴＵ  Ｈ．２６４／ＭＰＥＧ−４  Ｐａｒｔ１０  ＡＶＣ規格は、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣの動画専門家グループ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ：ＭＰＥＧ）とともにＩＴＵ−Ｔのビデオ符号化専門家グループ（Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ：ＶＣＥＧ）によって策定された。いくつかの態様では、本開示で説明する技法は、Ｈ．２６４規格に概して準拠するデバイスに適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ研究グループ（Ｓｔｕｄｙ  Ｇｒｏｕｐ）による２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４「総括的な音声映像サービスのアドバンスド・ビデオ・コーディング（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ）」に記載されており、本明細書ではＨ．２６４規格またはＨ．２６４仕様、あるいはＨ．２６４／ＡＶＣ規格または仕様と呼ばれ得る。ジョイントビデオチーム（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ：ＪＶＴ）はＨ．２６４／ＡＶＣへの拡張の取り組みを続けている。
【００３９】
ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ：ＤＳＰ）、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ：ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ：ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、複合エンコーダ／デコーダ（コーデック）の一部として、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、サーバなど、それぞれのデジタルビデオデバイスに統合され得る。
【００４０】
ビデオシーケンスは一連のビデオフレームを含む。場合によっては、ビデオシーケンスはピクチャグループ（ｇｒｏｕｐ  ｏｆ  ｐｉｃｔｕｒｅ：ＧＯＰ）として構成され得る。ビデオエンコーダ２０は、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに作用する。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。各ビデオフレームは一連のスライスを含み得る。各スライスは一連のマクロブロックを含み得、それらはより一層小さいブロックに構成され得る。マクロブロックは一般に１６×１６データブロックを指す。ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマ成分については１６×１６、８×８、または４×４、およびクロマ成分については８×８など、様々なブロックサイズのイントラ予測をサポートし、ならびにルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、ビデオブロックという用語は、ビデオフレーム中のピクセルブロックを指し、マクロブロックあるいはより小さいまたはより大きいブロックであり得る。
【００４１】
図２は、現在のビデオブロックを符号化するために使用されるであろう候補参照ブロックの時空間依存性（ＴＳＤ）値に基づいてコーディングモード（すなわち、イントラまたはインター）を選択する本開示の技法を実行する予測ユニット４２を含むビデオエンコーダ２０の一例を示すブロック図である。符号化すべき各ビデオブロックについて、ビデオエンコーダ２０は候補ビデオブロックのＴＳＤを判断する。すなわち、ビデオフレームの各ブロックについて、エンコーダは、候補参照ビデオブロックが依存する１つまたは複数の前のビデオフレーム中の１つまたは複数のビデオブロックの時空間依存性値を維持する。エンコーダは、たとえば、この依存性をＴＳＤストレージデバイス中に維持し得る。
【００４２】
図２に示すように、ビデオエンコーダ２０は、符号化すべきビデオフレーム内の現在のビデオブロック４０を受信する。図２の例では、ビデオエンコーダ２０は、予測ユニット４２と、参照フレームストア４４と、時空間依存性（ＴＳＤ）ストレージデバイス４５と、ブロック変換ユニット４６と、量子化ユニット４８と、逆量子化ユニット５０と、逆変換ユニット５２と、エントロピー符号化ユニット５４とを含む。ブロック境界をフィルタ処理してブロッキネスアーティファクトを除去するためにデブロッキングフィルタ（図示せず）も含まれ得る。ビデオエンコーダ２０はまた、加算器５６と加算器５８とを含む。
【００４３】
インターコーディングの場合、予測ユニット４２は、符号化すべき現在のビデオブロック４０を、１つまたは複数のビデオ参照フレーム中の様々な候補参照ブロックと比較する。イントラコーディングの場合、予測ユニット４２は、同じコーディングされるフレームのすでにコーディングされた近隣ビデオブロックから符号化すべきビデオブロックを予測する。前に符号化されたブロックから再構成されたビデオブロックを記憶するための任意のタイプのメモリまたはデータストレージデバイスを備え得る参照フレームストア４４から、予測データが検索され得る。予測ユニット４２は、現在のビデオブロックをコーディングするために使用される予測ブロックを識別するために使用され得るシンタックス要素を備える、予測モードおよび動きベクトルを発生し得る。イントラコーディングの場合、予測ユニット４２は空間予測ユニットを備え得る。インターコーディングの場合、予測ユニット４２は、図４に関して以下でより詳細に図示および説明するように、動き推定ユニットと動き補償ユニットとを含み得る。
【００４４】
予測ユニット４２はさらにモード選択ユニット（図２に図示せず）を備える。予測ユニット４２のモード選択ユニットは、フレームレベルまたはブロックレベルのいずれかで、インターコーディングまたはイントラコーディングのいずれかを選択する。図４に関して以下でさらに詳細に説明し、本開示の技法に一致するように、モード選択ユニットは、現在のブロックをコーディングするためのすべての候補参照ブロックの時空間依存性値がしきい値を超える場合、現在のブロックを符号化するためにイントラコーディングを選択し、ブロックの時空間依存性値がしきい値を超えない場合、ブロックを符号化するために、以下で説明する他のファクタに応じてインターコーディングを選択し得る。代替的に、すべての候補参照ブロックのＴＳＤ値をしきい値と比較する代わりに、各候補参照ブロックのＴＳＤ値を、現在のブロックとのインターコーディングによって生じるであろう１つの追加の依存性に加算し得、次いで、その和をしきい値と比較し得る。ただし、場合によっては、時空間依存性に基づいてインターコーディングが選択される場合でも、モード選択ユニットは、ＩＲレート、ひずみまたは利用可能なビットレートなど、他の考慮事項に基づいてイントラコーディングを選択し得る。
【００４５】
ビデオエンコーダ２０は、符号化されている元の（現在の）ビデオブロックから、予測ユニット４２によって生成された予測ブロックを減算することによって、残差ビデオブロックを形成する。予測ブロックは、現在のブロックのインターコーディングのために実際に選択された候補参照ブロックである。予測ブロックは、その予測ブロックが時空間依存性限界を満たすと仮定して、符号化すべきブロックに最もぴったり一致する候補参照ブロックとして選択され得る。加算器５８は、この減算演算を実行するユニットまたはモジュールを表す。ブロック変換ユニット４６は、離散コサイン変換（ｄｉｓｃｒｅｔｅ  ｃｏｓｉｎｅ  ｔｒａｎｓｆｏｒｍ：ＤＣＴ）または概念的に同様の変換など、変換を残差ブロックに適用し、残差変換ブロック係数を備えるビデオブロックを生成する。ブロック変換ユニット４６は、たとえば、概念的にＤＣＴと同様である、Ｈ．２６４規格によって定義された他の変換を実行し得る。
【００４６】
量子化ユニット４８は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化ユニット４８は、たとえば、係数の各々をコーディングするために使用されるビット数を制限し得る。量子化後に、スキャンユニット（図示せず）は、量子化係数ブロックを２次元表現から１次元ベクトルへスキャンする。次いで、このスキャニングプロセスの後、エントロピー符号化ユニット５４が、データをさらに圧縮するために、ＣＡＶＬＣまたはＣＡＢＡＣなどのエントロピーコーディング方法に従って量子化変換係数を符号化する。
【００４７】
エントロピー符号化ユニット５４によるエントロピーコーディングの後、符号化されたビデオは、別のデバイスに送信されるか、あるいは後で送信または検索するためにアーカイブされ得る。逆量子化ユニット５０および逆変換ユニット５２は、それぞれ逆量子化および逆変換を適用して、ピクセル領域中の残差ブロックを再構成する。加算器５６は、再構成された残差ブロックを、予測ユニット４２によって生成された予測ブロックに加算して、再構成されたビデオブロックを生成し、参照フレームストア４４に記憶する。所望される場合、再構成されたビデオブロックは、参照フレームストア４４に記憶される前に、デブロッキングフィルタユニット（図示せず）をも通過し得る。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするための、または同じコード化ユニット内の将来の近隣ブロックをイントラコーディングするための参照ブロックとして予測ユニット４２によって使用され得る。
【００４８】
図３は、本明細書で説明する方法で符号化されたビデオシーケンスを復号するビデオデコーダ３０の一例を示すブロック図である。ビデオデコーダ３０は、図２のエントロピー符号化ユニット５４によって実行される符号化の逆復号関数を実行するエントロピー復号ユニット６０を含む。ビデオデコーダ３０はさらにＲＯＩ選択ユニット６３を含む。ＲＯＩ選択ユニット６３は、ユーザ入力またはアプリケーションコマンドに基づいてＲＯＩを定義し、復号を特定の領域に集中する。ＲＯＩ内で定義されていないフレームの部分は復号されない。ズーム機能が実行される場合、デバイスのディスプレイを埋めるために、補間による解像度のアップスケールが使用され得る。そのようなアップスケールは、復号後にピクセル領域において達成され得る。
【００４９】
ビデオデコーダ３０は、ビデオフレーム内のブロックのイントラ復号およびインター復号を実行し得る。図３の例では、ビデオデコーダ３０はまた、予測ユニット６２と、逆量子化ユニット６４と、逆変換ユニット６６と、参照フレームストア６８とを含む。ビデオデコーダ３０はまた加算器７０を含む。随意に、ビデオデコーダ３０はまた、加算器７０の出力をフィルタ処理するデブロッキングフィルタ７２を含み得る。
【００５０】
イントラコーディングの場合、予測ユニット６２は空間予測ユニットを備え、インターコーディングの場合、予測ユニット６２は動き補償ユニットを備え得る。逆量子化ユニット６４は逆量子化を実行し、逆変換ユニット６６は、逆変換を実行して、ビデオブロックの係数をピクセル領域に戻す。加算器７０は、ユニット６２からの予測ブロックを逆変換ユニット６６からの再構成された残差ブロックと合成して、再構成されたブロックを発生し、その再構成されたブロックは、参照フレームストア６８に記憶される。所望される場合、再構成されたビデオブロックは、参照フレームストア６８に記憶される前に、デブロッキングフィルタユニット７２をも通過し得る。復号されたビデオは、参照フレームストア６８から出力され、また、後続の予測において使用するために予測ユニット６２にフィードバックされ得る。
【００５１】
本開示で説明する技法を使用して、ビデオデコーダ３０に入力される、符号化されたビデオは、空間依存性の時間伝搬が制約され得るように構築される。その結果、ビデオデコーダ３０は、コーディングループから抜け、大きい時空間依存性をもつブロックを復号する目的のためのみに使用される非ＲＯＩブロックを復号する必要なしに、前に復号されたＲＯＩブロックを使用して連続復号モードで動作し得る。ビデオデコーダは、コーディングループから抜け、参照フレームストア内に記憶されたいくつかの非ＲＯＩブロックを復号し得るが、連続復号モードほど効率的ではない。
【００５２】
図４は、予測ユニット４２の一例を示すブロック図である。図４に示すように、予測ユニット４２は、インターコーダ（ＩＮＴＥＲ）８０と、イントラコーダ（ＩＮＴＲＡ）８２と、モード選択ユニット８４とを含む。インター予測またはイントラ予測フレーム（「予測フレーム」）は、インターコーダ８０またはイントラコーダ８２のいずれかから取得される。インターコーダ８０は、到着フレームＦｎのインターコーディングを、たとえば、ＭＰＥＧ−４またはＨ．２６４圧縮方法に従って実行する。図４に示すように、インターコーダ８０は、前に符号化されたフレームＦ´ｎ−１、または前に符号化されたフレームＦ´ｎ−２，Ｆ´ｎ−３．．．．Ｆ´ｎ−ｘに対する到着フレームＦｎの標準的なインターコーディングをサポートするために、動き推定（ｍｏｔｉｏｎ  ｅｓｔｉｍａｔｉｏｎ：ＭＥ）ユニット８６と動き補償（ｍｏｔｉｏｎ  ｃｏｍｐｅｎｓａｔｉｏｎ：ＭＣ）ユニット８８とを含む。特に、インター予測は、１つまたは複数の前のフレームＦ´ｎ−ｘからの動き補償予測によって形成される。前のフレームＦ´ｎ−２，Ｆ´ｎ−３．．．Ｆ´ｎ−ｘは、前に符号化され、再構成されてＦ´ｎ−１を生成し得る。
【００５３】
イントラコーダ８２は、イントラ予測を生成するために到着ビデオフレームＦｎのイントラコーディングを実行する。イントラ予測は、前に符号化され、復号され、再構成されて再構成フレームＦ´ｎを形成した現在のフレームＦｎ中のサンプルから形成される。得られたイントラ予測は、ビデオエンコーダ２０がイントラモードで動作しているときは、図２に示す加算器５８に適用される。イントラコーダ８２は、Ｉフレームを発生するためにイントラコーディングを実行し得、またはイントラリフレッシュ（ｉｎｔｒａ−ｒｅｆｒｅｓｓｉｎｇ：ＩＲ）をサポートするためにＰフレーム内で選択されたビデオブロックをイントラコーディングし得る。
【００５４】
モード選択ユニット８４は、たとえば、フレームごとまたはブロックごとに、インターコーディングとイントラコーディングとの間で選択的に切り替える。特に、モード選択ユニット８４は、フレームレベルまたはブロックレベルのいずれかで、インターコーダ８０またはイントラコーダ８２のいずれかの出力を選択する。このようにして、モード選択ユニット８４は、図２の加算器５８に適用される予測ブロックがインターコーディングされるかまたはイントラコーディングされるかを判断する。
【００５５】
モード選択ユニット８４は、ブロック上でイントラコーディングを使用すべきかインターコーディングを使用すべきかを決定する際に１つまたは複数のファクタを使用し得る。たとえば、モード選択ユニット８４は、コーディングのために利用可能なビットレートと、チャネル損失率と、ひずみ（ｄｉｓｔｏｒｔｉｏｎ：Ｄ）と、イントラリフレッシュ（ＩＲ）レートとに基づいてモード決定を行い得る。さらに、本開示によれば、モード選択ユニット８４は時空間依存性（ＴＳＤ）値を使用し得る。
【００５６】
イントラコーディングモードは、インターコーディングモードと比較して、よりかなり多くの符号化すべき情報、したがってビットを必要とする。したがって、イントラコード化フレームの送信は、ビットレートの大きいスパイクを生じる。フレーム全体をイントラコーディングするのではなく、代わりに、いくつかのフレームにわたってフレーム全体のイントラコーディングを分散させることが望ましいことがある。すなわち、現在のフレームのうちのいくつかのブロックのみをイントラコーディングし、次いで、後続のフレーム中の残りのブロックをイントラコーディングすることによって、ピーク対平均ビットレートは低減され得る。したがって、モード選択ユニット８４は、コーディング決定を行う際に、所望のビットレートと利用可能な帯域幅とを考慮に入れ得る。
【００５７】
コーディングビットレートに加えて、いくつかの例では、モード選択ユニット８４は、コーディング決定を行うためにチャネル損失確率をも使用し得る。推定チャネル損失率は、現在のフレームがチャネル１６上で送信されるときにドロップされる可能性を定量化する。チャネル損失の可能性が増加するにつれて、フレームまたはブロックをイントラコーディングすることがより望ましくなり得る。
【００５８】
さらに、モード選択ユニット８４は、コーディング決定を行うためにイントラリフレッシュ（ＩＲ）レートをも使用し得る。あるフレームから別のフレームへのチャネル誘導誤りの伝搬を制限するために、ビデオエンコーダは一般にＩＲ技法を適用する。ＩＲ技法に従って、予測フレーム内のブロックは、インターコーディングではなく、選択的にイントラコーディングされる。イントラコード化ブロックは、誤り耐性を改善することができるが、送信しなければならないビット数の増加を必要とすることがある。したがって、ＩＲレートは、誤り耐性および帯域幅効率に関して符号化性能に影響を及ぼす。
【００５９】
ＩＲレートは、概して、イントラリフレッシュされるブロックの数を決定し、フレームレベルまたはブロックレベルにおいて適用され得る。ＩＲレートは、ビデオコンテンツに基づいて、またはビデオコンテンツとチャネル状態の組合せに基づいて、判断され得る。たとえば、ＩＲレートは、推定チャネル損失率、現在のフレームと別のフレームとの間のフレーム間ばらつき、および現在のフレームのテクスチャ情報を測る複合メトリックに基づいて判断され得る。概して、ブロックがイントラコーディングされるべきことをＩＲレートが示している場合、モード選択ユニット８４は、他のファクタを評価する必要なしにイントラコーディングモードを選択し得る。
【００６０】
上述のように、モード選択ユニット８４は、ひずみ計算に基づいてコーディングモード決定を行い得る。ひずみは、元のブロックと予測ブロックとの間の誤りである。ブロックをインターコーディングすると、ひずみしきい値を超えるひずみレベルが生じる場合、モード選択ユニット８４は、そのブロックをコーディングするためにイントラコーディングを使用することを決定し得る。ひずみしきい値は所望の画像品質によって変わる。
【００６１】
本開示によれば、コーディング決定を行うためにモード選択ユニット８４によって使用され得る別のファクタは、現在のビデオブロックをインターコーディングするために利用可能な候補参照ブロックの時空間依存性（ＴＳＤ）値である。候補ビデオブロックの時空間依存性値は、インターコーディング技法を使用してブロックをコーディングすべきかまたはイントラコーディング技法を使用してブロックをコーディングすべきかを判断する際に、モード選択ユニット８４によって使用され得る。図５〜図７を参照しながら以下でより詳細に説明する、ビデオブロックの空間依存性の時間伝搬が、たとえば、モード選択ユニット８４によってアクセス可能なデータベースにおいて追跡され得る。モード選択ユニットは、各候補ビデオブロックの時空間依存性値を依存性しきい値８５と比較し、その比較の結果に応じて、現在のブロックに対してイントラコーディングを使用することを決定し得る。依存性しきい値８５は、モード選択ユニット８４と通信している時空間依存性しきい値メモリに記憶され得る。モード選択ユニット８４が、依存性しきい値に基づいて現在のブロックに対してイントラコーディングを使用しないことを決定する場合でも、モード選択ユニット８４は、ＩＲレート、コーディングビットレート、ひずみ、およびチャネル損失率などの他のファクタに基づいて、現在のブロックに対してイントラコーディングを使用することを選択し得ることに留意されたい。
【００６２】
図５は、ビデオ符号化における空間依存性の時間伝搬を示す図である。図５は、９×１１ブロックのサイズを有し、単一のスライスとして符号化される例示的なビデオフレームを示している。現在のビデオフレームのどのブロックも、同じロケーションにおける（すなわち、コロケートされた）ブロック、または次のフレームのすぐ隣接するロケーションにおけるブロックの予測符号化のための参照ブロックとして使用され得る。たとえば、フレームＮは、単一の符号化ブロックまたは中心ブロック１００を示す。フレームＮ中の符号化された中心ブロック１００を使用して、１０２に示す、フレームＮ＋１中の３×３＝９個のすぐ隣接しコロケートされたブロックのいずれかを予測し得る。その後、フレームＮ＋１中のそれらの９つのブロックを使用して、１０４に示す、フレームＮ＋２中のすぐ隣接しコロケートされたブロックの別のグループを予測し得、フレームＮ中のブロック１００に基づいて符号化された５×５＝２５個のブロックグループが得られる。同様に、１０４に示すフレームＮ＋２中の２５個のブロックを使用して、１０６に示す、フレームＮ＋３中のすぐ隣接しコロケートされたブロックの別のグループを予測し得、７×７＝４９個のブロックグループが得られる。次いで、１０６に示すフレームＮ＋３中の４９個のブロックを使用して、１０８に示す、フレームＮ＋４中のすぐ隣接するブロックの別のグループを予測し得、フレームＮ中のブロック１００に基づいて符号化された９×９＝８１個のブロックグループが得られる。図５は、このようにして、ビデオエンコーディングにおける空間（すなわち、同じフレーム中の隣接するブロック）依存性の時間（すなわち、複数のフレームにわたる）伝搬を示している。
【００６３】
ビデオ符号化プロセスにおける図５に示すビデオブロックの空間依存性の時間伝搬またはフレーム間伝搬は、ビデオデコーダに要件を課する。詳細には、ビデオデコーダは、現在のフレームを復号するために、過去のフレームがビデオデコーダにとって利用可能である必要がある。これを図６に示す。図６は、ビデオ復号における空間依存性の時間要件を示す図である。図６は、本質的に図５の逆である。図６に示すように、フレームＮの中心ブロック１００を復号することは、前のフレームＮ−１に示す３×３＝９ブロックのいずれもデコーダにとって利用可能であることを必要とし得る。デコーダにとって利用可能であるために、前のフレームＮ−１の９つのブロックは、フレームＮ−２中の５×５＝２５ブロックのいずれも同じくデコーダにとって利用可能であることを必要とし得る。また、フレームＮ−２の２５個のブロックは、フレームＮ−３中の７×７＝４９個のブロックのいずれも同じくデコーダにとって利用可能であることを必要とし得る。最後に、フレームＮ−３の４９個のブロックは、フレームＮ−４中の９×９＝８１ブロックのいずれも同じくデコーダにとって利用可能であることを必要とし得る。したがって、隣接ブロックを考慮する動き推定探索範囲に従って、フレームＮ−３中のブロックは、フレームＮ−２中のブロックのための可能な候補参照ブロックを形成し、フレームＮ−２中のブロックは、フレームＮ−１中のブロックのための可能な候補参照ブロックを形成し、フレームＮ−１中のブロックは、フレームＮ中のブロックのための可能な候補参照ブロックを形成する。
【００６４】
ビデオブロックの空間依存性のフレーム間伝搬の問題は、図７に示すように、ブロックのフレーム内空間依存性によってさらに複雑になり得る。図７は、ビデオ復号における、フレーム内空間依存性と組み合わせられた、図６に示す空間依存性の時間要件を示す図である。図７は、フレームＮ中の中心ブロック１００にすぐ隣接する８つのブロックのいずれかが予測復号のために使用され得ることを示している。したがって、中心ブロック１００は、同じフレーム中のすぐ隣接するブロックを使用する（フレーム内空間依存性）か、あるいは前のフレーム中のすぐ隣接するかまたはコロケートされたブロックを使用して（フレーム間空間依存性）、復号され得る。ただし、実際には、ブロック符号化の順序のせいで、８つのブロックのすべてが復号のために使用される可能性は低い。
【００６５】
図５〜図７は、符号化されたビデオから連続フレームにわたって数個のブロックを復号することは、フレームごとにそれらのブロックを単独で復号するだけでは起こり得ないことを示している。すなわち、既存の符号化方法を使用して現在のフレームの一部分のみを連続的に復号することは不可能である。そうではなく、現在のフレームの一部分のみを復号するためには、デコーダは、通常、時間的に数フレーム前にフレーム全体がデコーダにとって利用可能である必要があるであろう。
【００６６】
本開示の１つの例示的な技法は、符号化された各ビデオブロックの依存性を追跡し、その依存性を制約する能力をビデオエンコーダに与えることによって、空間依存性の時間伝搬の影響を低減し得る。図８Ａは、従来の符号化技法の場合のように、制約なし依存性範囲を有するビデオフレームのグラフと、本開示の一例の場合のように、制約付き依存性範囲を有するビデオフレームのグラフとの比較を示す図である。
【００６７】
図８Ａは、連続するフレームにわたる空間依存性範囲伝搬の３つのレート（それぞれ、線形、アグレッシブ、適度）をもつ３つの異なる場合（左側、中央、および右側）を使用して、時間制約付き空間依存性の概念を示している。グラフの下部セットと上部セットの両方は、マクロブロック（ＭＢ）の数の依存性範囲がフレーム番号に関してどのように変化するかを示す。各グラフにおいて、フレーム番号１はイントラコード化ＭＢで開始する。したがって、フレーム１中のブロックがどの前のフレームにも依存しないように、すべての依存性がリセットされる。グラフの上部セットは、制約なし依存性範囲では、時空間依存性の拡大は、最終的にそれぞれフレーム番号６、４、および１２でフレームエッジに達することを示している。グラフの下部セットは、空間依存性を所定の範囲内に制約された状態に保つために、必要なときはいつでも、フレーム内符号化を使用することを示している。グラフの下部セットの左側の場合では、フレーム番号４で制約付き依存性範囲に達した。したがって、フレーム５に示すように、イントラコーディングが実行され、それによって依存性範囲をリセットする。グラフの下部セットの中央の場合では、イントラコーディングはフレーム１、３、５、７、８、および１１において実行される。この例ではイントラコーディングが極めて頻繁に実行されることを強制されるので、結果としてＭＢの数の依存性範囲が制約付き依存性範囲に決して達しないことによって示されているように、依存性は、制約付き依存性範囲にさえ伝搬することを可能にされない。依存性制約が厳しくなると、フレーム内符号化が多くなり、それによりビデオコーディングの効率が低減することは明らかである。ＲＯＩのサイズは既知でないことがあるので、たとえば、宛先デバイス上のディスプレイデバイスのサイズ、エンコーダの所望の効率、および許容画像品質劣化の量などのファクタに基づく、固定または可変の所定の範囲、またはＴＳＤ値を選択することが必要であることに留意されたい。
【００６８】
図８Ｂは、図８Ａの図と同様であり、連続するフレームにわたる空間依存性範囲伝搬の３つのレート（それぞれ、線形、アグレッシブ、適度）をもつ３つの異なる場合（左側、中央、および右側）を示す。グラフの上部セットと下部セットの両方は、マクロブロック（ｍａｃｒｏｂｌｏｃｋ：ＭＢ）の数の依存性範囲がフレーム番号に関してどのように変化するかを示す。各グラフにおいて、フレーム番号１はイントラコード化ＭＢで開始する。したがって、図８Ａの場合のように、すべての依存性はリセットされる。しかしながら、図８Ｂでは、上部のグラフは、一般に従来のビデオエンコーダによって必要とされる周期フレーム内符号化を含むように修正されている。たとえば、図８Ｂ中のグラフの上部セットの左側のグラフは、イントラコーディングがフレーム６および１１において実行され、それによってフレームエッジへの時空間依存性の拡大を防ぐことを示しているが、グラフの下部セット中の左側のグラフに示すように、本開示で説明する技法を使用するものよりも、依然としてＭＢの数の依存性範囲のより高いフレームを生じる。グラフの上部セット中の中央のグラフは、アグレッシブなレートでは、時空間依存性の拡大は、イントラコーディングが実行される前に、最終的にフレーム４および５においてフレームエッジに達し、次いで、イントラコーディングが再び実行される前に、最終的にフレーム９および１０において再びフレームエッジに達することを示している。ブロックの周期フレーム内符号化を伴うビデオ符号化と比較して、ビデオコンテンツによっては、空間依存性を制約するための追加のフレーム内符号化のコストは過大でないことがある。
【００６９】
図９は、本開示による、空間依存性を時間的に制約するための例示的なビデオエンコーダアーキテクチャおよび動作を概念的に示す図である。図９は、空間依存性を時間的に制約する際のビデオエンコーダ２０の例示的な機能を示している。符号化すべきすべてのＭＢについて、ビデオエンコーダ２０のＭＢ符号化ループは、予測のために候補ＭＢに対して依存性検査を実行する。言い換えれば、符号化すべき各ビデオブロックについて、ビデオエンコーダ２０は候補ビデオブロックの時空間依存性を判断する。エンコーダは、候補ビデオブロックが依存する１つまたは複数の前のビデオフレーム中の１つまたは複数のビデオブロックの時空間依存性値を維持する。ＭＢ符号化ループは、ＭＢ時空間依存性（ＴＳＤ）データベースにアクセスすることによって依存性検査を実行する。上述のように、時空間依存性は、メモリなどのストレージデバイス中のデータベース、ルックアップテーブル、リンクリスト、ハッシュテーブル、ツリー、バイナリツリー、または他のタイプのデータ構造中に配置され得る。上記データベースは、候補ＭＢをルックアップし、候補ＭＢのそれぞれの依存性を検査する。フレームＮ中の候補ビデオブロックが依存する前のビデオフレーム中のビデオブロックの数が、時空間依存性値を定義する。現在のビデオブロックは１つの候補ブロックのみに依存するが、その候補ブロックは別のブロックに依存し、そのブロックは別のブロックに依存し得、以下同様である。上記データベースは、依存性範囲制約を超えない適格なＭＢを戻す。次いで、ＭＢ符号化ループは、インターコーディングを実行すべきなのか、イントラコーディングを実行すべきなのか、依存性探索を実行すべきなのか、などを決定する。最後に、ＭＢ符号化ループはＭＢ  ＴＳＤデータベースを更新する。すなわち、ＴＳＤデータベースは、符号化されたすべてのＭＢについての新しいＴＳＤ値で更新され、それにより、エンコーダは、そのＭＢが後で別のＭＢに対する候補参照ＭＢと見なされた場合、そのＭＢについてのＴＳＤ値を検索することが可能になる。図９ではマクロブロック（ＭＢ）に言及するが、本明細書でおよび図９に関して説明する技法は、ビデオブロック全般に適用され得、マクロブロックとの使用に限定されないことに留意されたい。
【００７０】
限定はしないが、説明のためにのみ、図９は、フレームＮ中のブロックに対する候補参照ブロックと見なされる、フレームＮ−１中のブロック２００が、２１０において示される２つのブロックに依存するものとしてデータベース４５中に記録されていることを、グラフィカルに示している。たとえば、２つのブロック２１０のうちの第１のブロックはＮ−２フレームからのブロックであり得、２つのブロック２１０のうちの第２のブロックはＮ−３フレームからのブロックであり得る。同様に、Ｎ−１フレームのブロック２０２は、２１２において示されるただ１つのブロックに依存し得、そのブロックはＮ−２フレームからのブロックであり得る。また、ブロック２０４は、２１４におけるブロック２０４に関連するブロックの欠如によって図９に表されるように、いかなる依存性をも有しないことがある。さらなる例として、ブロック２０６は、２１６において示される３つのブロックに依存し得る。これらの３つのブロックは、たとえば、Ｎ−２、Ｎ−３、およびＮ−４の、前に復号されたフレームからのブロックであり得る。そのような方法で、現在のフレームをインターコーディングするために使用され得る各候補参照ブロックの依存性は、データベース４５においてエンコーダ２０によって、または何らかのデータ構造、アレイ、記録の集合などによって、維持される。また、候補ビデオブロックが依存する前のビデオフレーム中のビデオブロックの数に基づいて、時空間依存性値が計算され得る。
【００７１】
さらに図９を参照すると、ビデオエンコーダ２０は、候補ブロックの時空間依存性値を時空間依存性しきい値と比較する。特に、ビデオエンコーダ２０は、現在のブロックについて、データベース４５にアクセスし、１つまたは複数の候補ブロックの依存性を検索し、候補ブロックの依存性を時空間依存性しきい値と比較し得る。たとえば、時空間依存性しきい値は、２であるようにあらかじめ設定されていることがある。したがって、候補ブロックが３つ以上の前のフレーム中のブロックに依存する場合、その候補ブロックの時空間依存性は、しきい値２を超えたので、高すぎる。この比較に基づいて、エンコーダ２０は現在のビデオブロックをイントラコーディングすることを選択する。しかしながら、イントラコーディングが選択されなかった場合、エンコーダ２０は「通常の」コーディングモード決定を使用する。すなわち、エンコーダは、ＩＲレート、ひずみ、コーディングビットレート、およびチャネル損失率に基づいて、現在のブロックをイントラコーディングすべきかどうかを決定する。適格なＭＢが依存性範囲、またはしきい値を超える場合、エンコーダはイントラコーディングを選択する。適格なＭＢが依存性範囲、またはしきい値を超えない場合、時空間依存性は、他のファクタを条件として、そのブロックに対してインターコーディング技法を使用するのに十分低い。その比較および選択の例について直下で説明する。
【００７２】
図９の時空間依存性データベースは、ブロック２００が２つの前のフレーム中のブロックに依存し、ブロック２０２が１つの前のフレーム中のブロックに依存し、ブロック２０４が依存性を有さず、ブロック２０６が３つの前のフレーム中のブロックに依存することを示している。時空間依存性しきい値が２である場合、候補ブロック２００、２０２、および２０４は、しきい値以下の依存性を有し、したがって、現在のブロックを符号化するために使用され得る。しかしながら、ブロック２０６は、しきい値を超える依存性を有し、したがって、現在のブロックを符号化するために使用されない。いくつかの候補ブロック、すなわち、ブロック２００、２０２、および２０４は、しきい値を超えないので、エンコーダは現在のブロックに対してイントラコーディングを強制しない。代わりに、現在のブロックは、他のファクタを条件として、インターコーディングされ得る。
【００７３】
フレームＮ中の現在のブロックに対するコーディングが実行されると、データベース４５中の時空間依存性値は、上述の技法を使用してフレームＮ＋１が符号化され得るように更新される。たとえば、インターコーディングが使用された場合、符号化されたばかりのブロックのＴＳＤ値がＴＳＤデータベース４５中で更新される。場合によっては、そのような記録が前もって存在しない場合、符号化されたばかりのブロックについてＴＳＤデータベース４５中でエントリを作成する必要があり得る。代わりに、上記ブロックに対してイントラコーディングが強制された場合、そのブロックが前のフレーム中のブロックにもはや依存していないことを反映するために、符号化されたばかりのブロックの依存性は値０にリセットされ得るか、または符号化されたばかりのブロックの依存性は、必要に応じて、何らかの他の値にリセットされ得る。
【００７４】
ブロックの、データベース中のデフォルト時空間依存性値は、０であることに留意されたい。したがって、エンコーダが初めに時空間依存性履歴を作成することを開始するとき、すべてのブロックは値０から開始する。その初期化された状態から、データベースは、データを蓄積し、フレーム中の各ブロックについての履歴を作成する。
【００７５】
時空間依存性しきい値は、たとえば、宛先デバイス上のディスプレイデバイスのサイズ、エンコーダの所望の効率、および許容画像品質劣化の量を含む、いくつかのファクタに基づき得る。
【００７６】
さらに、いくつかの例では、しきい値は、あらかじめ設定された固定値であり得る。たとえば、ビデオブロックが３よりも大きい時空間依存性を有しないことが、あらかじめ設定され得る。あるいは、少なくとも１つの例では、しきい値は、固定値ではなく、可変または調整可能であり得る。たとえば、調整可能なしきい値を選択することによって、エンコーダは、顔など、ＲＯＩの高テクスチャエリアには、しきい値をより低くなるように調整し、背景における壁のような、ＲＯＩの低テクスチャエリアには、しきい値をより高くなるように調整し得る。このようにして、閲覧者にとって概してより関心がある高テクスチャエリアは、低テクスチャエリアよりも高いビデオ品質を有し得る。概して、空間依存性の範囲が大きいほど、ビデオ符号化は効率的になる。しかし、より大きい空間依存性に起因する、より広い空間エリアを復号すると、パンサポートが遅くなり得る。したがって、異なるビデオアプリケーションの要件に応じて、しきい値が固定ではなく可変であることを可能にすることは、ビデオ品質とコーディング効率との間の最適化を可能にし得る。上記の例では、より高いテクスチャのエリアは、より高いビデオ品質で符号化し、より低いテクスチャのエリアは、より低いビデオ品質で符号化することによって、ビデオ品質とコーディング効率との間の平衡がとられる。
【００７７】
上述のように、図４のモード選択ユニット８４は、インターコーディングを使用してブロックを符号化すべきなのか、イントラコーディングを使用してブロックを符号化すべきなのかを判断するために、ＩＲレートを使用する。ＩＲレートは、概して、イントラリフレッシュされるブロックの数を決定し、フレームレベルまたはブロックレベルにおいて適用され得る。ＩＲレートは、ビデオコンテンツに基づいて、またはビデオコンテンツとチャネル状態の組合せに基づいて、判断され得る。本開示の少なくとも１つの例示的な技法は、効率を高めるために、上記で説明した技法をＩＲレートと組み合わせる。たとえば、フレームＮ中の現在のブロック「Ａ」を符号化することを試みる際に、ビデオエンコーダは、前のフレームＮ−１中の候補ブロック「Ｂ」の過大な時空間依存性に基づいて、ブロック「Ａ」がイントラコーディングされるべきであることを決定し得る。次に、次のフレームＮ＋１中で、ＩＲレートは、ブロック「Ａ」が再びイントラコーディングされるように設定され得る。ブロック「Ａ」が前のフレーム中でイントラコーディングされたことを考慮すれば、フレームＮ＋１中のブロック「Ａ」をイントラリフレッシュすることは場合によっては非効率的であり得ることが明らかであるはずである。したがって、時空間依存性制約のためにブロックが前にイントラコーディングされたか否かに基づいて、ＩＲレートが調整されることが望ましいことがある。いくつかの例では、依存性に基づいてＩＲレート制御が調整され得るように、ＩＲレート制御ユニットが時空間依存性データベースと通信していることもある。少なくとも１つの例では、依存性制約の理由でブロックがイントラコーディングされた場合にＩＲレートが相応に調整され得るように、モード選択ユニット８４はＩＲレート制御機構にフィードバックを与え得る。
【００７８】
図１０は、本開示によるコーディングモード判断方法を示すフロー図である。図１０の例では、ビデオエンコーダは、ビデオフレーム中の１つまたは複数の候補ビデオブロックの時空間依存性を判断する（２４０）。時空間依存性は、候補ビデオブロックが依存する前のビデオフレーム中のビデオブロックの数を定義する。また、候補ビデオブロックが依存する前のビデオフレーム中のビデオブロックの数は、時空間依存性値を定義する。たとえば、フレームＮ−１の候補ブロックはフレームＮ−２中のビデオブロックに依存し得、そのビデオブロックはフレームＮ−３中のビデオブロックに依存し得、そのビデオブロックはフレームＮ−４中のビデオブロックに依存し得る。したがって、その候補ブロックは時空間依存性値３を有する。ビデオエンコーダ２０は、次いで、時空間依存性値を時空間依存性しきい値と比較する（２４２）。たとえば、時空間依存性しきい値が固定値２である場合、上記の例の候補ブロックの時空間依存性はしきい値を超えるであろう。次いで、ビデオエンコーダは、その比較に基づいて現在のビデオブロックのためのコーディングモードを選択する（２４４）。時空間依存性値がしきい値を超える場合、ビデオエンコーダは、現在のブロックがイントラコーディングされるように強制する。時空間依存性がしきい値を超えない場合、ビデオエンコーダは、イントラコーディングを強制せず、イントラリフレッシュ（ＩＲ）レート、動き補償によって示されるコーディングひずみ、および／または利用可能なコーディングビットレートなど、他のファクタに基づいてそのブロックのためのモード決定を行う。
【００７９】
図１１は、本開示による別のコーディングモード判断方法を示すフロー図である。図１１中の例では、ブロックについての時空間依存性しきい値を設定する（２５０）。ビデオエンコーダは、次いで、符号化すべき、現在のビデオフレーム中のブロックを選択する（２５２）。ビデオエンコーダは、時空間依存性ストレージデバイス４５にアクセスし（２５４）、１つまたは複数の候補ブロックの依存性についてストレージデバイス４５に問い合わせる（２５６）。時空間依存性値をビデオエンコーダに戻す（２５８）。ビデオエンコーダは、戻された時空間依存性と時空間依存性しきい値とを比較する（２６０）。時空間依存性がしきい値を超える場合、エンコーダは、現在のブロックに対してイントラコーディングモードを強制する（２６２）。次いで、ストレージデバイス４５中のブロック依存性をリセットし、いくつかの例では、ＩＲレートを変更し（２６４）、ビデオエンコーダは、符号化する新しいブロックを選択する準備が整う（２５２）。時空間依存性がしきい値を超えない場合、ビデオエンコーダは、イントラコーディングを強制せず、代わりに、イントラリフレッシュ（ＩＲ）レート、動き補償によって示されるコーディングひずみ、および／または利用可能なコーディングビットレートなど、他のファクタに基づいてそのブロックのためのモード決定を行う（２６６）。次いで、そのブロックが前のフレーム中のブロックに基づいて符号化されたことを反映するために、データベース中の依存性を更新し（２６８）、ビデオエンコーダは、符号化する新しいブロックを選択する準備が整う（２５２）。
【００８０】
上記で説明した技法を使用して、局所ＲＯＩビデオ復号を連続的に実行することが可能であり、なぜなら、ＲＯＩ中のブロックは、前のフレームからのＲＯＩを越えた所定の範囲内の復号されたブロックが利用可能であることを必要とするにすぎないからである。また、復号および表示のためのブロックのランダムアクセスは、すべてのビデオコーデックによってサポートされるＵｓｅｒＤａｔａフィールド中にブロック位置ルックアップテーブルを埋め込むことによって行われ得る。
【００８１】
再び図３を参照すると、上述のように、ＲＯＩ選択ユニット６３は、ユーザ入力またはアプリケーションコマンドに基づいてＲＯＩを定義し、その復号を特定の領域に集中する。いくつかの例では、ＲＯＩ内で定義されていないフレームの部分は復号されない。非ＲＯＩ部分を復号しないことによって、デコーダ３０は、ビデオを復号することと、復号されたビデオを提示することとのために必要とされる処理の量を実質的に低減し得る。ＲＯＩ選択ユニット６３は、ＲＯＩ選択エリアを定義するデータを予測ユニット６２に出力する。選択エリアはユーザ入力によって定義され得る。ユーザは、スタイラス、タッチスクリーン、サイズ変更可能な長方形、数字指示などを使用して、選択エリアを定義し得る。予測ユニット６２は、ＲＯＩ内のブロックを復号することを開始するために、ＲＯＩ選択エリアを必要とする。概念的な目的のためにのみ、宛先デバイス１４のディスプレイデバイス３２はｍ×ｍフレームのサイズを有し得、ユーザはタッチスクリーンなどのＲＯＩ選択ユニット６３を使用してＲＯＩを選択し得る。一例として、選択されたＲＯＩはｎ×ｎのサイズを有し得、ただし、ｎはｍ未満である。例示のために正方形のＲＯＩについて説明するが、ＲＯＩは、矩形であるか、または、たとえば、スタイラスによって定義された不規則形状を有し得る。ｎ×ｎエリアを定義するデータは、ＲＯＩ選択ユニット６３から予測ユニット６２に出力される。予測ユニット６２は、次いで、そのＲＯＩを生成するために予測ユニット６２が復号しなければならない正確なブロックを知る。
【００８２】
しかしながら、図６に示す、上記で説明した空間依存性の時間伝搬のため、デコーダ３０が単にＲＯＩ内のブロックを復号することができる可能性は低い。むしろ、デコーダ３０は、ＲＯＩの外側の追加のブロックを復号しなければならない。再び図６を参照すると、説明のために、ＲＯＩが３×３＝９ブロックの領域であると仮定した場合、フレームＮの中心ブロック１００を復号することは、前のフレームＮ−１に示す３×３＝９ブロックのいずれもデコーダにとって利用可能であることを必要とし得る。デコーダにとって利用可能であるために、前のフレームＮ−１の９つのブロックは、フレームＮ−２中の５×５＝２５ブロックのいずれも同じくデコーダにとって利用可能であることを必要とし得、なぜなら、それらのブロックは、動き探索の結果を受けて、３×３＝９ブロックのいずれに対しても参照ブロックとして働き得るからである。また、フレームＮ−２の２５個のブロックは、フレームＮ−３中の７×７＝４９ブロックのいずれも同じくデコーダにとって利用可能であることを必要とし得る。最後に、フレームＮ−３の４９個のブロックは、フレームＮ−４中の９×９＝８１ブロックのいずれも同じくデコーダにとって利用可能であることを必要とし得る。
【００８３】
上記の例を続けると、ＲＯＩが、図６中のフレームＮ−１に示す３×３エリアであった場合、デコーダは、フレームＮ−２中の５×５＝２５ブロックのいずれも同じくデコーダにとって利用可能であることを必要とし得る。また、フレームＮ−２の２５個のブロックは、フレームＮ−３中の７×７＝４９ブロックのいずれも同じくデコーダにとって利用可能であることを必要とし得、以下同様である。ＲＯＩと比較して、復号すべきビデオエリアをどのくらい大きくする必要があるかをデコーダが決定するために、デコーダ、および特に予測ユニット６２は、符号化プロセス中にエンフォースされた時空間依存性（ＴＳＤ）値を知っていなければならない。
【００８４】
符号化中にエンフォースされたＴＳＤ値は、フレーム全体に対して、個々のスライスに対して、または個々のマクロブロックに対して、実行され得る。したがって、フレームは、フレームの部分（たとえば、スライスまたはＭＢ）に割り当てられた複数のＴＳＤ値を有することができる。一例では、符号化中にエンフォースされたＴＳＤ値は、符号化されたビデオビットストリーム内のヘッダ中のデータとして送信され、予測ユニット６２によって受信され得る。ＴＳＤ値は１つまたは複数のヘッダシンタックス要素の形態で送信され得る。いくつかの例では、ＴＳＤ値はフレームヘッダの一部を形成し得る。他の例では、ＴＳＤ値はスライスヘッダの一部を形成し得る。いくつかの例では、ＴＳＤ値はブロックヘッダ（たとえば、マクロブロックヘッダ）の一部を形成し得る。他の例では、個々のマクロブロックのＴＳＤ値は、スライスまたはフレームヘッダの一部を形成し得る。
【００８５】
ビデオビットストリーム中で送信されたＴＳＤ値は、いくつかの例では、フレームまたはスライスの最大時空間依存性範囲であり得る。たとえば、ビデオフレーム中の各ブロックに対して依存性範囲が変動する場合、送信されたＴＳＤ値は最大依存性範囲であり得る。具体的な例として、ビデオフレーム中のブロックのすべてが２、３、または４のいずれかの依存性を有する場合、ビットストリーム中のヘッダ中で送信されたＴＳＤ値は４となろう。最大時空間依存性値を送信することにより、デコーダが前のフレーム中の十分な数のブロックを復号するようになり、その結果、後続のビデオフレーム中のブロックを復号するのに十分な数の参照ブロックがデコーダにとって利用可能となる。
【００８６】
他の例では、ビデオビットストリーム中で送信されたＴＳＤ値は実際の依存性値であり得る。上記の例では、予測ユニット６２は、第１のブロックが依存性２を有し、第２のブロックが依存性３を有し、第３のブロックが依存性４を有し、第４のブロックが依存性３を有することなどを示す、ブロックヘッダ中の情報を受信するであろう。
【００８７】
さらに別の例では、エンコーダがスライスレベルにおいて時空間依存性範囲を制約していた場合、各スライスについての実際の依存性範囲が送信され得る。たとえば、フレームが３つのスライスを有し、スライス１がＴＳＤ値２を有し、スライス２がＴＳＤ値３を有し、スライス３がＴＳＤ値４を有する場合、予測ユニット６２は、別々のスライスヘッダ中ですべての３つのスライスについてのＴＳＤ値情報を受信するであろう。
【００８８】
予測ユニット６２は、ＲＯＩ選択エリアを定義するデータとＴＳＤ値とを受信すると、予測ブロックを発生することを開始し得る。具体的な例として、ＲＯＩ選択エリアが３×３エリアであり、送信されたＴＳＤ値が、値３をもつ最大時空間依存性範囲である場合、予測ユニット６２は、７×７の復号されたエリアが、３×３ＲＯＩをユーザに提示するために必要とされる最小エリアであると判断するであろう。この場合も、ＲＯＩよりも大きいビデオフレームの一部分である、この７×７エリアは、時空間依存性値によって定義される。予測ユニット６２は、次いで、参照フレームストア６８にアクセスし、予測のためにどの参照フレームが使用されるべきかを判断し得る。
【００８９】
上記の例では、ユーザがパンまたはズームしていない場合は、すなわち、ＲＯＩがフレームごとに比較的静的である場合は、最小７×７の復号されたエリアは十分である。しかしながら、その最小エリアのみが復号されており、ユーザがパンまたはズームしている場合は、参照ブロックの十分な領域が復号され、利用可能になるまで、ユーザに画像を提示する際に遅延があり得る。したがって、デコーダは、ＴＳＤ値によって定義された最小エリアよりも大きいが、依然としてビデオフレーム全体よりも小さいエリアを復号することが望ましいことがある。たとえば、ユーザがパンしている場合、デコーダは、利用可能な十分な復号されたブロックがあるように、７×８エリアを復号し得る。すなわち、ユーザに所望のＲＯＩを提示するために必要とされる最小エリアとＲＯＩの両方を越えて延びる追加のＲＯＩマージンが復号され得る。
【００９０】
概して、ズームは、フレーム内のＲＯＩを拡大または縮小するためにズームインまたはズームアウトすることを指し得る。パンは、フレーム内で、水平に左または右に移動するか、あるいは垂直に上または下に移動することを指し得る。ＲＯＩを選択することに加えて、デコーダ３０は、たとえば、ピクセル補間またはデシメーションによって、ズームをサポートするために、復号されたビデオ中のピクセルデータをスケーリングするための１つまたは複数の後処理ユニットを含み得る。追加のＲＯＩマージンは、フレームごとの最大許容変化（すなわち、ズームまたはパンの変化）に応じて選択され得る。フレームごとの最大許容変化は、パンまたはズームするユーザの能力に関する制約として設定され得る。たとえば、ユーザは、フレームごとにｘ個のマクロブロックの最大レートで、または連続するフレーム間のｘ個のマクロブロックの最大レートで、左または右にのみパンし得るように制約され得る。この制約に基づいて、デコーダは、ユーザのパンに対応するために、フレームＮ−２中の７×８マクロブロックエリア、すなわち、復号されたブロックの追加のマージンをもつエリアを復号することが必要であり得る。他の例では、デコーダは、ユーザがどの方向にパンするかを認識しないことがあるので、フレームＮ−２中の７×９マクロブロックエリアを復号することが必要であり得る。同様に、上または下のパン、あるいはティルトに関して、デコーダは、ユーザのティルトに対応するために、フレームＮ−２中の８×７マクロブロックエリア、すなわち、復号されたブロックの追加のマージンをもつエリアを復号することが必要であり得る。他の例では、デコーダは、ユーザがどの方向にティルトするかを認識しないことがあるので、フレームＮ−２中の９×７マクロブロックエリアを復号することが必要であり得る。いくつかの例では、追加のＲＯＩマージンは、フレームごとの最大許容変化に直線的に関係し得る。たとえば、フレームごとに１マクロブロックの最大パン変化が許される場合、左、右、上または下のパンをサポートするために復号されるべきマクロブロックのマージンは、マクロブロックの復号された領域全体の周りに１つの復号されたマクロブロックのボーダーを追加すべきである。フレームＮ中の３×３マクロブロックＲＯＩの場合、所与のＴＳＤ値が、フレームＮ−２中のマクロブロックの７×７の復号された領域を規定することがわかっているので、フレームごとに１マクロブロック以下でのパンまたはズームをサポートするための１マクロブロックの追加のマージンは、フレームＮ−２中の９×９の復号された領域を必要とし得る。他の例では、追加のＲＯＩマージンは、非直線関係にあるフレームごとの最大許容変化に関係し得る。
【００９１】
図１２は、関心領域（ＲＯＩ）と、復号される必要があり得るＲＯＩ外の第１のエリアと、同じく復号される必要があり得る第１のエリア外の第２のエリアとを示す概念図である。図１２は、３×３ＲＯＩエリア３００と、ＴＳＤ値に基づいて３×３エリア３００を復号するために必要とされる、３×３ＲＯＩエリア３００を包含する７×７エリア３１０と、最小７×７エリア３１０を越えて延び、７×７エリア３１０ならびに３×３エリア３００を含む、追加のＲＯＩマージン３２０とを示している。ＲＯＩマージンは、９×９ブロックとして示されているが、正方形である必要はない。また、ＲＯＩマージンは、フレームごとの最大許容変化に応じて、より大きくなり得る。上述のように、ユーザが３×３ＲＯＩエリア３００を定義する場合、空間依存性の時間伝搬により、より大きいエリア３１０が復号される必要があり得る。符号化されたビットストリームが、フレームの最大ＴＳＤ値が２であることを示すヘッダを含んでいた場合、３×３ＲＯＩエリア３００を復号するために必要とされる最小エリアは７×７エリア３１０である。ただし、ユーザはパンまたはズームし得るので、ユーザがパンまたはズームするときにデコーダが前もってブロックを復号することができるように、追加のＲＯＩマージン３２０があることが望ましいことがある。
【００９２】
この場合も、３×３ＲＯＩエリアは概念的な目的のためにすぎず、ＲＯＩ中のＭＢの数は、通常、より大きいことに留意されたい。さらに、ズームイン、および後処理における補間によるピクセルスケーリングに一致する、スクリーン全体またはスクリーンの実質的部分を埋めるように、小さいＲＯＩエリアがスケールアップされ得る。
【００９３】
また、エンコーダがスライスレベルにおいて時空間依存性範囲を制約していた場合、ＲＯＩエリア３００、３×３ＲＯＩエリア３００を包含するエリア３１０、および追加のＲＯＩマージン３２０は、スライス境界を越えて変動し得ることに留意されたい。たとえば、３つの水平スライスに分割されたフレーム、およびスライス１とスライス２との間に延びるＲＯＩについて考える。スライス１がＴＳＤ値２を有し、スライス２がＴＳＤ値３を有した場合、３×３エリアを復号するために必要とされる得られたエリアは、図１２中と同様の正方形ではない。スライス１のＴＳＤ値がスライス２のＴＳＤ値未満であるので、スライス１中にあるＲＯＩの部分を復号するために必要とされるエリアは、スライス２中にあるＲＯＩの部分を復号するために必要とされるエリアよりも小さいであろう。スライス境界と重複するＲＯＩの復号は、上述のように、スライスヘッダ中でＴＳＤ値を送信することによって達成される。
【００９４】
ＴＳＤ値がマクロブロックレベルにおいてエンフォースされると、スライスに関して上記で説明した問題と同様の問題に遭遇する。とはいえ、同様にして、ＲＯＩの復号は、上述のように、マクロブロックヘッダ中でＴＳＤ値を送信することによって達成される。
【００９５】
いくつかの例では、フレームごとの最大許容変化は、ＴＳＤ値に基づいて復号される必要があるエリア上に固定マージンを追加することによって判断され得る。そのような方法で、ＴＳＤ値に基づいて復号される必要があるエリアと追加のＲＯＩマージンとは、別個に判断され得る。ユーザが、フレームごとの最大許容変化よりも速いレートでパンまたはズームすることを試みるとき、宛先デバイス１４のディスプレイデバイス３２は、ユーザが最大許容変化を超えたことを示すメッセージをユーザに表示し得る。あるいは、いくつかの例では、最大許容変化値を超えたことを示す可聴信号が宛先デバイス１４によって発生され得る。あるいは、いくつかの例では、ユーザインターフェースは要求に応答しないことがある。したがって、ユーザは、最大値よりも速いレートでパンまたはズームすることを妨げられ得る。ユーザは、最大許容変化に一致する所与のレートでのみパンまたはズームすることを許され得る。たとえば、ユーザがスタイラスを用いて矢印をクリックした場合、矢印は、フレームごとに１マクロブロックの最大レートでのみ応答する。パンまたはズームの解像度は１マクロブロック未満であり得ることに留意されたい。たとえば、各矢印クリックにより、クリックごとに一度に１／４または１／２マクロブロックの移動が生じ得る。
【００９６】
他の例では、ユーザが、パンまたはズームしている間にフレームごとの最大許容変化限界を超えた場合、ディスプレイデバイス３２は、ブロックがまだ復号されていないエリア中にブランクピクセルの領域を表示する。たとえば、ユーザが最大限界よりも大きいレートで左に急速にパンしている場合、ディスプレイデバイス３２は、ディスプレイデバイス３２の左辺に沿ってブランクピクセルの領域を表示し得る。ユーザが、パンを停止するか、または最大限界よりも遅いレートでパンを開始すると、デコーダは、ブランクピクセルによって定義されたブロックを復号し、次いで表示し得る。
【００９７】
いくつかの例では、ユーザがフレームごとの最大許容変化限界を超えた場合、デコーダは、ディスプレイデバイス３２を更新する際に遅延を強いる。たとえば、ユーザがフレームごとの最大許容変化限界を超えるレートでズームインすることを試みた場合、デコーダは、ユーザがズームの直前に閲覧していたＲＯＩ選択エリア中のブロックを復号および表示し続け得る。次いで、デコーダは、ズームによって定義された新しいＲＯＩ選択エリア中のブロックを復号すると、新しい復号された画像を表示し得る。そのような方法で、ユーザは、第１のＲＯＩ中のビデオを閲覧し続け得るが、第２のズームされたＲＯＩが表示される前に、ズームされたＲＯＩ中のブロックをデコーダが復号するまで、数フレーム待たなければならないであろう。
【００９８】
図１３は、本開示による復号方法を示す流れ図である。デコーダ３０は、ＲＯＩ選択ユニット６３を介して、関心領域（ＲＯＩ）を定義するデータを受信する（４００）。デコーダ３０はまた、符号化されたビデオビットストリーム中のヘッダを介して、ＲＯＩ中の少なくとも１つのブロックについての時空間依存性（ＴＳＤ）値を受信する（４１０）。デコーダ３０は、次いで、ＲＯＩを定義するデータとＴＳＤ値とに基づいて、ＲＯＩ中のビデオブロックを復号する（４２０）。
【００９９】
ズームまたはパン機能が実行される場合、デバイスのディスプレイを埋めるために、補間による解像度のアップスケールが使用され得ることに留意されたい。そのようなアップスケールは、復号後、後処理動作中にピクセル領域において達成され得る。
【０１００】
上記で説明した復号技法を使用すると、フレーム中のすべてのブロックではなく、ＲＯＩを生成するのに必要なブロックのみが復号されるので、電力消費量が低減され、計算が低減され、レイテンシが低減され得る。
【０１０１】
図１４は、パン、ズーム、およびティルトをサポートする、選択されたＲＯＩエリアを復号するための追加のＲＯＩマージンを判断する方法を示す流れ図である。ＲＯＩの境界を判断する（５００）。たとえば、ユーザは、スタイラスを使用してＲＯＩエリアを選択していることがある。概念的な目的のためにのみ、ＲＯＩ選択ユニットは、ユーザがＲＯＩとして３×３エリアを選択したと判断し得、したがってＲＯＩの境界は３×３である。デコーダは、次いで、ＴＳＤ値に基づいて、復号される必要がある、ＲＯＩエリア外の第１のマージンを判断し、ＲＯＩ境界上に第１のマージンを追加する（５１０）。この場合も、たとえば、ＴＳＤ値が３であった場合、デコーダは、３×３ＲＯＩエリアを包含する７×７エリアを復号する必要があり得る。したがって、デコーダは、各方向において３×３ＲＯＩエリアに２つのＭＢの第１のマージンを追加する。次いで、デコーダは、ユーザのパン、ズーム、およびティルトをサポートするために復号される必要がある第１のマージン外の第２のマージンを判断する（５２０）。たとえば、デコーダは、３×３ＲＯＩエリアをサポートするためにＴＳＤ値３に基づいて７×７エリアを復号する必要があった場合、７×７エリアを越えて延びる追加のＲＯＩマージンを判断するために第１のマージン上に第２のマージンを追加する。第２のマージンが第１のマージンに追加されると、たとえば、３×３ＲＯＩを復号することと、パン、ズーム、ティルトとの両方をサポートするために復号される必要がある９×９エリアが生じ得る。この場合も、３×３エリアは、概念的な目的のためにすぎず、ＲＯＩは、通常、より大きい。
【０１０２】
本開示で説明する技法は、ＲＯＩ内の連続局所ビデオ復号を可能にし得る。局所ビデオコーディングを用いて、閲覧者は、デコーダ側からＲＯＩを定義および操作することが可能になり、それにより、同じビデオコンテンツの各閲覧に固有のビデオ閲覧経験が与えられ得る。いくつかの態様では、本開示で説明する技法はまた、フルフレーム復号の代わりにＲＯＩ限定復号を用いたＲＯＩ閲覧を可能にすることによって、特にハンドヘルドデバイスの電力消費量を低減し得る。本開示で説明する技法はまた、閲覧者にとって関心があるビデオコンテンツの部分のみを閲覧者が表示することを可能にすることによって、ディスプレイウィンドウのより良い利用を提供し得る。他の態様では、本開示で説明する技法はまた、デバイスの処理およびディスプレイ能力を場合によっては超えるビデオコンテンツのＲＯＩ閲覧を可能にし得る。本開示で説明する技法はまた、ビデオキャプチャウィンドウと閲覧ウィンドウとの間の基本的な分離を可能にし得る。いくつかの態様では、本開示で説明する技法はまた、通常はビデオ符号化より前のビデオキャプチャ中にのみ可能なＲＯＩビデオのズームおよびパンを、ビデオ再生中に復号側から可能にし得る。
【０１０３】
上記で説明した技法は、ビデオキャプチャウィンドウと閲覧ウィンドウとを基本的に分離し得る。すなわち、閲覧者は、ビデオがキャプチャされたのと同様にしてディスプレイデバイスの閲覧ウィンドウ中のビデオコンテンツを閲覧するように制約されないことがある。たとえば、２人が会話しているシーンにおいて、閲覧者は１人にのみズームインすることを選択し得る。このようにして、ディスプレイ上の閲覧ウィンドウはビデオキャプチャウィンドウから分離されている。さらに、閲覧者は、従来はビデオキャプチャ中にのみ可能なＲＯＩをズームおよびパンすることを、ビデオ再生中に行い得る。
【０１０４】
本明細書で説明した技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装する場合、これらの技法は、実行されると、上記で説明した方法の１つまたは複数をプロセッサに実行させる、コンピュータ可読媒体上に符号化された命令を含んでいるプログラムコードを備えるコンピュータ可読媒体によって少なくとも部分的に実現され得る。この場合、コンピュータ可読媒体は、同期ダイナミックランダムアクセスメモリ（ｓｙｎｃｈｒｏｎｏｕｓ  ｄｙｎａｍｉｃ  ｒａｍｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ：ＳＤＲＡＭ）などのランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ：ＲＡＭ）、読取り専用メモリ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ：ＲＯＭ）、不揮発性ランダムアクセスメモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ：ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ：ＥＥＰＲＯＭ）、フラッシュメモリ、磁気または光学データ記憶媒体などを備え得る。
【０１０５】
プログラムコードは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の等価の集積回路またはディスクリート論理回路によって実行され得る。いくつかの例では、本開示で説明した機能は、自動オブジェクトセグメンテーションのために構成された、または自動オブジェクトセグメンテーションシステム中に組み込まれた、専用ソフトウェアモジュールまたはハードウェアユニット内で与えられ得る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］ビデオエンコーダにおいて実行される方法であって、
ビデオフレーム中の現在のブロックをインターコーディングするための候補参照ビデオブロックについての時空間依存性値を判断することと、
前記時空間依存性値をしきい値と比較することと、
前記比較に基づいて前記現在のブロックのためのコーディングモードを選択することと
を備える、方法。
［２］時空間依存性が、前記候補参照ビデオブロックが依存する前のビデオフレーム中の前記ビデオブロックを識別し、前記候補参照ビデオブロックが依存する前のビデオフレーム中のビデオブロックの数が、前記時空間依存性値を定義する、［１］に記載の方法。
［３］前記選択されたコーディングモードに従って前記現在のブロックを符号化すること
をさらに備える、［２］に記載の方法。
［４］前記現在のブロックを符号化したときに前記時空間依存性値を更新すること
をさらに備える、［３］に記載の方法。
［５］前記候補参照ビデオブロックについての前記時空間依存性値を判断することが、複数の候補参照ビデオブロックの各々についての前記時空間依存性値を判断することを備える、［１］に記載の方法。
［６］前記時空間依存性値が前記しきい値を超える場合、選択される前記コーディングモードがイントラコーディングである、［１］に記載の方法。
［７］前記時空間依存性値が前記しきい値を超えない場合、前記エンコーダが、コーディングビットレート、イントラリフレッシュレート、ひずみ、またはチャネル損失率のうちの少なくとも１つに基づいて、インターコーディングまたはイントラコーディングのいずれを行うかを選択する、［１］に記載の方法。
［８］前記しきい値が固定である、［１］に記載の方法。
［９］前記しきい値が可変である、［１］に記載の方法。
［１０］前記コーディングモード選択に基づいてイントラリフレッシュ（ＩＲ）レートを変更することをさらに備える、［１］に記載の方法。
［１１］ビデオフレーム中の現在のブロックをコーディングするための候補参照ブロックについての時空間依存性値を記憶するストレージデバイスと、
前記候補参照ビデオブロックについての前記時空間依存性値を判断し、前記時空間依存性値をしきい値と比較し、前記比較に基づいて前記現在のブロックのためのコーディングモードを選択するビデオエンコーダと
を備える、ビデオ符号化デバイス。
［１２］時空間依存性が、前記候補参照ビデオブロックが依存する前のビデオフレーム中の前記ビデオブロックを識別し、前記候補参照ビデオブロックが依存する前のビデオフレーム中のビデオブロックの数が、前記時空間依存性値を定義する、［１１］に記載のデバイス。
［１３］モード選択ユニットが、前記候補参照ビデオブロックの前記時空間依存性値を前記しきい値と比較する、［１１］に記載のデバイス。
［１４］前記ビデオエンコーダが、前記選択されたコーディングモードに従って前記現在のブロックを符号化する、［１１］に記載のデバイス。
［１５］前記ビデオエンコーダが、前記現在のブロックを符号化したときに前記時空間依存性値を更新する、［１４］に記載のデバイス。
［１６］前記候補参照ビデオブロックについての前記時空間依存性値を判断することが、複数の候補参照ビデオブロックの各々についての前記時空間依存性値を判断することを備える、［１１］に記載のデバイス。
［１７］前記時空間依存性値が前記しきい値を超える場合、選択される前記コーディングモードがイントラコーディングである、［１１］に記載のデバイス。
［１８］前記時空間依存性値が前記しきい値を超えない場合、前記エンコーダが、コーディングビットレート、イントラリフレッシュレート、ひずみ、またはチャネル損失率のうちの少なくとも１つに基づいて、インターコーディングまたはイントラコーディングのいずれを行うかを選択する、［１１］に記載のデバイス。
［１９］前記しきい値が固定である、［１１］に記載のデバイス。
［２０］前記しきい値が可変である、［１１］に記載のデバイス。
［２１］前記ビデオエンコーダが、前記コーディングモード選択に基づいてイントラリフレッシュ（ＩＲ）レートを変更する、［１１］に記載のデバイス。
［２２］ワイヤレス通信デバイスをさらに備える、［１１］に記載のデバイス。
［２３］集積回路デバイスをさらに備える、［１１］に記載のデバイス。
［２４］実行時に、ビデオエンコーダ内のプロセッサに、
ビデオフレーム中の現在のブロックをインターコーディングするための候補参照ビデオブロックについての時空間依存性値を判断することと、
前記時空間依存性値をしきい値と比較することと、
前記比較に基づいて前記現在のブロックのためのコーディングモードを選択することとを行わせる、コンピュータ可読媒体上に符号化された命令を備えるコンピュータ可読媒体。
［２５］時空間依存性が、前記候補参照ビデオブロックが依存する前のビデオフレーム中の前記ビデオブロックを識別し、前記候補参照ビデオブロックが依存する前のビデオフレーム中のビデオブロックの数が、時空間依存性値を定義する、［２４］に記載のコンピュータ可読媒体。
［２６］前記プロセッサに、
前記選択されたコーディングモードに従って前記現在のブロックを符号化すること
を行わせる命令をさらに備える、［２４］に記載のコンピュータ可読媒体。
［２７］前記プロセッサに、
前記現在のブロックをコーディングしたときに時空間依存性データベース値を更新すること
を行わせる命令をさらに備える、［２４］に記載のコンピュータ可読媒体。
［２８］前記プロセッサに、候補参照ビデオブロックについての時空間依存性値を判断することを行わせる前記命令が、複数の候補参照ビデオブロックの各々についての時空間依存性値を判断する命令を備える、［２４］に記載のコンピュータ可読媒体。
［２９］前記時空間依存性値が前記しきい値を超える場合、選択される前記コーディングモードがイントラコーディングである、［２４］に記載のコンピュータ可読媒体。
［３０］前記時空間依存性値が前記しきい値を超えない場合、前記エンコーダが、コーディングビットレート、イントラリフレッシュレート、ひずみ、またはチャネル損失率のうちの少なくとも１つに基づいて、インターコーディングまたはイントラコーディングのいずれを行うかを選択する、［２４］に記載のコンピュータ可読媒体。
［３１］前記しきい値が固定である、［２４］に記載のコンピュータ可読媒体。
［３２］前記しきい値が可変である、［２４］に記載のコンピュータ可読媒体。
［３３］前記プロセッサに、
前記コーディングモード選択に基づいてイントラリフレッシュ（ＩＲ）レートを変更すること
を行わせる命令をさらに備える、［２４］に記載のコンピュータ可読媒体。
［３４］ビデオフレーム中の現在のブロックをインターコーディングするための候補参照ビデオブロックについての時空間依存性値を判断するための手段と、
前記時空間依存性値をしきい値と比較するための手段と、
前記比較に基づいて前記現在のブロックのためのコーディングモードを選択するための手段と
を備える、ビデオ符号化デバイス。
［３５］時空間依存性が、前記候補参照ビデオブロックが依存する前のビデオフレーム中の前記ビデオブロックを識別し、前記候補参照ビデオブロックが依存する前のビデオフレーム中のビデオブロックの数が、前記時空間依存性値を定義する、［３４］に記載のデバイス。
［３６］前記選択されたコーディングモードに従って前記現在のブロックを符号化するための手段をさらに備える、［３４］に記載のデバイス。
［３７］前記現在のブロックを符号化したときに時空間依存性データベース更新を更新するための手段をさらに備える、［３６］に記載のデバイス。
［３８］候補参照ビデオブロックについての時空間依存性値を判断するための前記手段が、複数の候補参照ビデオブロックの各々についての時空間依存性値を判断するための手段を備える、［３４］に記載のデバイス。
［３９］前記時空間依存性値が前記しきい値を超える場合、選択される前記コーディングモードがイントラコーディングである、［３４］に記載のデバイス。
［４０］前記時空間依存性値が前記しきい値を超えない場合、前記エンコーダが、コーディングビットレート、イントラリフレッシュレート、ひずみ、またはチャネル損失率のうちの少なくとも１つに基づいて、インターコーディングまたはイントラコーディングのいずれを行うかを選択する、［３４］に記載のデバイス。
［４１］前記しきい値が固定である、［３４］に記載のデバイス。
［４２］前記しきい値が可変である、［３４］に記載のデバイス。
［４３］前記コーディングモード選択に基づいてイントラリフレッシュ（ＩＲ）レートを変更するための手段
をさらに備える、［３４］に記載のデバイス。
【図１】
0005529261.tif 000002
【図２】
0005529261.tif 000003
【図３】
0005529261.tif 000004
【図４】
0005529261.tif 000005
【図５】
0005529261.tif 000006
【図６】
0005529261.tif 000007
【図７】
0005529261.tif 000008
【図８Ａ】
0005529261.tif 000009
【図８Ｂ】
0005529261.tif 000010
【図９】
0005529261.tif 000011
【図１０】
0005529261.tif 000012
【図１１】
0005529261.tif 000013
【図１２】
0005529261.tif 000014
【図１３】
0005529261.tif 000015
【図１４】
0005529261.tif 000016