(57)【要約】  コーディングプロセス中に、システム、方法、および装置が、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングし得る。いくつかの例は、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを生成することを含み得る。最後の要素を除く要素の位置の各々が予測ユニット内にあり得る。最後の要素の位置は予測ユニット外にあり得る。これは、最後から２番目の要素がチェーンの最後の要素であることを示すことができる。いくつかの例は、チェーンに基づく予測ユニットのパーティションをコーディングし得る。【特許請求の範囲】
【請求項１】
ビデオデータをコーディングする方法であって、前記方法は、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングすることと、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の位置は、最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットのパーティションをコーディングすることと
を備える、方法。
【請求項２】
前記予測ユニットをコーディングすることが、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを符号化することと、
前記チェーンに基づく前記予測ユニットの前記パーティションを符号化することと
を備える、請求項１に記載の方法。
【請求項３】
前記予測ユニットをコーディングすることが、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを復号することと、
前記チェーンに基づく前記予測ユニットの前記パーティションを復号することと
を備える、請求項１に記載の方法。
【請求項４】
各チェーンコードワードの終了座標を追跡することをさらに備え、前記追跡することは、追加のチェーンコードワードが境界外の座標に対応すると、終了される、請求項３に記載の方法。
【請求項５】
各チェーンコードワードの前記終了座標を追跡することは、
チェーンの総数を記憶するための変数を０に初期化することと、
前記チェーンが上境界または下境界のいずれかから開始する場合、前のインデックスを３に初期化することと、チェーンが上境界または下境界のいずれかから開始しない場合、前記前のインデックスを１に初期化することと、前記前のインデックスが、前記チェーン上のロケーションを示す値を備える、
前記チェーンコードワードのためのインデックスを判断するために前記チェーンコードワードをパースすることと、
前記最後から２番目の要素が前記チェーンの最後の要素であると判断するために、前記チェーンの位置が境界上にあるかどうかを判断することと、
前記最後から２番目の要素に基づいてチェーンの前記総数を判断することと
を備える、請求項４に記載の方法。
【請求項６】
前記チェーンコードワードをパースすることが、前記チェーンコードワードに基づいてｘおよびｙピクセル方向移動を判断するためにルックアップテーブルを使用することをさらに備え、
次のチェーンの位置が前記境界上にあるかどうかを判断するために検査することが、前記ルックアップテーブルからの前記ｘおよびｙピクセル方向移動に基づいてｘ位置およびｙ位置を設定することをさらに備え、ここにおいて、前記次のチェーンの前記位置は、前記ｘ位置および前記ｙ位置が前記予測ユニットの境界内にないとき、前記境界上にある、
チェーンの前記総数を判断することは、前記次のチェーンの前記位置が前記境界上にあるという判断が行われたとき、チェーンの前記総数を記憶するための前記変数から１を減算することをさらに備える、
請求項５に記載の方法。
【請求項７】
チェーンステーティング位置をコーディングすることは、
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが垂直エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの左エッジ上で開始するのか右エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが水平エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの上エッジ上で開始するのか下エッジ上で開始するのかを示すデータをコーディングすることと
を備える、請求項１に記載の方法。
【請求項８】
前記チェーンステーティング位置をコーディングすることは、
前記要素の前記位置を表す前記データに基づいて、前記チェーンが前記左エッジまたは前記上エッジのいずれかにおいて開始する場合、前記予測ユニットのピクセルが第１のパーティションに属するのか第２のパーティションに属するのかを示すパーティションマップを作成することと、
前記チェーンが前記右エッジ上で開始するとき、前記パーティションマップを水平方向に反転することと、
前記チェーンが前記下エッジ上で開始するとき、前記パーティションマップを垂直方向に反転することと
を備える、請求項１に記載の方法。
【請求項９】
前記チェーンステーティング位置をコーディングすることは、
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングすることと、
上開始を下開始とは区別するために、前記要素の前記位置を表すパーティションマップを上から下に反転することと、左開始または右開始とは区別するために前記パーティションマップを右から左に反転することと
を備える、請求項１に記載の方法。
【請求項１０】
上開始を下開始とは区別するために前記予測ユニットを上から下に反転することが、０から  までの各ｉおよび０からＮ−１までの各ｊについて、値（ｉ，ｊ）を値（Ｎ−１−ｉ，ｊ）とスワップすることを備え、左開始または右開始とは区別するために前記予測ユニットを右から左に反転することが、０からＮ−１までの各ｉおよび０から  までの各ｊについて、値（ｉ，ｊ）を値（Ｎ−１−ｉ，ｊ）とスワップすることを備える、請求項９に記載の方法。
【請求項１１】
チェーン開始位置をコーディングすることをさらに備え、前記チェーンが、前記予測ユニットの上境界において開始するのか、前記予測ユニットの左境界において開始するのか、前記予測ユニットの下境界において開始するのか、前記予測ユニットの右境界において開始するのかを示す、２ビットフラグをコーディングすることを備える、請求項１に記載の方法。
【請求項１２】
「００」の２進値が上エッジを示し、「０１」の２進値が左エッジを示し、「１０」の２進値が下エッジを示し、「１１」の２進値が右エッジを示す、請求項１１に記載の方法。
【請求項１３】
１ビットが、左境界から開始することを示し、２ビットが、上境界または下境界のいずれかから開始することを示す、請求項１に記載の方法。
【請求項１４】
下境界から開始するとき、前記方法が、前記予測ユニットの右境界において前記チェーンを終了することをさらに備える、請求項１３に記載の方法。
【請求項１５】
ビデオデータをコーディングすることが、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータと、前記チェーンに基づく前記予測ユニットの前記パーティションとを、前記予測ユニットのための前記チェーン中の要素の数を示す値をコーディングすることなしに、コーディングすることを備える、請求項１に記載の方法。
【請求項１６】
ビデオデータをコーディングするためのビデオコーダであって、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングすることと、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の位置は、最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットのパーティションをコーディングすることと
を行うように構成された１つまたは複数のプロセッサを備える、ビデオコーダ。
【請求項１７】
前記ビデオコーダが、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを符号化し、
前記チェーンに基づく前記予測ユニットの前記パーティションを符号化する、
請求項１６に記載のビデオコーダ。
【請求項１８】
前記ビデオコーダが、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを復号し、
前記チェーンに基づく前記予測ユニットの前記パーティションを復号する、
請求項１６に記載のビデオコーダ。
【請求項１９】
前記１つまたは複数のプロセッサが、各チェーンコードワードの終了座標を追跡するように構成され、前記追跡することは、追加のチェーンコードワードが境界外の座標に対応すると、終了される、請求項１８に記載のビデオコーダ。
【請求項２０】
前記１つまたは複数のプロセッサが、各チェーンコードワードの前記終了座標を追跡するように構成され、ここにおいて、前記追跡することは、
チェーンの総数を記憶するための変数を０に初期化することと、
前記チェーンが上境界または下境界のいずれかから開始する場合、前のインデックスを３に初期化することと、チェーンが上境界または下境界のいずれかから開始しない場合、前記前のインデックスを１に初期化することと、前記前のインデックスが、前記チェーン上のロケーションを示す値を備える、
前記チェーンコードワードのためのインデックスを判断するために前記チェーンコードワードをパースすることと、
前記最後から２番目の要素が前記チェーンの最後の要素であると判断するために、前記チェーンの位置が境界上にあるかどうかを判断することと、
前記最後から２番目の要素に基づいてチェーンの前記総数を判断することと
を備える、請求項１９に記載のビデオコーダ。
【請求項２１】
前記チェーンコードワードをパースすることが、前記チェーンコードワードに基づいてｘおよびｙピクセル方向移動を判断するためにルックアップテーブルを使用することをさらに備え、
次のチェーンの位置が前記境界上にあるかどうかを判断するために検査することが、前記ルックアップテーブルからの前記ｘおよびｙピクセル方向移動に基づいてｘ位置およびｙ位置を設定することをさらに備え、ここにおいて、前記次のチェーンの前記位置は、前記ｘ位置および前記ｙ位置が前記予測ユニットの境界内にないとき、前記境界上にある、
チェーンの前記総数を判断することは、前記次のチェーンの前記位置が前記境界上にあるという判断が行われたとき、チェーンの前記総数を記憶するための前記変数から１を減算することをさらに備える、
請求項２０に記載のビデオコーダ。
【請求項２２】
前記１つまたは複数のプロセッサは、
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが垂直エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの左エッジ上で開始するのか右エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが水平エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの上エッジ上で開始するのか下エッジ上で開始するのかを示すデータをコーディングすることと
を行うように構成された、請求項１６に記載のビデオコーダ。
【請求項２３】
チェーンステーティング位置をコーディングすることは、
前記要素の前記位置を表す前記データに基づいて、前記チェーンが前記左エッジまたは前記上エッジのいずれかにおいて開始する場合、前記予測ユニットのピクセルが第１のパーティションに属するのか第２のパーティションに属するのかを示すパーティションマップを作成することと、
前記チェーンが前記右エッジ上で開始するとき、前記パーティションマップを水平方向に反転することと、
前記チェーンが前記下エッジ上で開始するとき、前記パーティションマップを垂直方向に反転することと
を備える、請求項１６に記載のビデオコーダ。
【請求項２４】
前記チェーンステーティング位置をコーディングすることは、
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングすることと、
上開始を下開始とは区別するために、前記要素の前記位置を表すパーティションマップを上から下に反転することと、左開始または右開始とは区別するために前記パーティションマップを右から左に反転することと
を備える、請求項１６に記載のビデオコーダ。
【請求項２５】
上開始を下開始とは区別するために前記予測ユニットを上から下に反転することが、０から  までの各ｉおよび０からＮ−１までの各ｊについて、値（ｉ，ｊ）を値（Ｎ−１−ｉ，ｊ）とスワップすることを備え、左開始または右開始とは区別するために前記予測ユニットを右から左に反転することが、０からＮ−１までの各ｉおよび０から  までの各ｊについて、値（ｉ，ｊ）を値（Ｎ−１−ｉ，ｊ）とスワップすることを備える、請求項２４に記載のビデオコーダ。
【請求項２６】
チェーン開始位置をコーディングすることをさらに備え、前記チェーンが、前記予測ユニットの上境界において開始するのか、前記予測ユニットの左境界において開始するのか、前記予測ユニットの下境界において開始するのか、前記予測ユニットの右境界において開始するのかを示す、２ビットフラグをコーディングすることを備える、請求項１６に記載のビデオコーダ。
【請求項２７】
「００」の２進値が上エッジを示し、「０１」の２進値が左エッジを示し、「１０」の２進値が下エッジを示し、「１１」の２進値が右エッジを示す、請求項１６に記載のビデオコーダ。
【請求項２８】
１ビットが、左境界から開始することを示し、２ビットが、上境界または下境界のいずれかから開始することを示す、請求項１６に記載のビデオコーダ。
【請求項２９】
下境界から開始するとき、前記予測ユニットの右境界において前記チェーンを終了する、請求項１６に記載のビデオコーダ。
【請求項３０】
ビデオデータをコーディングすることが、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータと、前記チェーンに基づく前記予測ユニットの前記パーティションとを、前記予測ユニットのための前記チェーン中の要素の数を示す値をコーディングすることなしに、コーディングすることを備える、請求項１６に記載のビデオコーダ。
【請求項３１】
ビデオデータをコーディングするための装置であって、前記装置は、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングするための手段と、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の位置は、最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットのパーティションをコーディングするための手段と
を備える、装置。
【請求項３２】
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを符号化するための手段と、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の前記位置は、前記最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットの前記パーティションを符号化するための手段と
を備える、請求項３１に記載の装置。
【請求項３３】
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを復号するための手段と、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の前記位置は、前記最後の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットの前記パーティションを復号するための手段と
を備える、請求項３１に記載の装置。
【請求項３４】
各チェーンコードワードの終了座標を追跡するための手段を備え、前記追跡することは、追加のチェーンコードワードが境界外の座標に対応すると、終了される、請求項３３に記載の装置。
【請求項３５】
チェーンの総数を記憶するための変数を０に初期化するための手段と、
前記チェーンが上境界または下境界のいずれかから開始する場合、前のインデックスを３に初期化するための手段と、チェーンが上境界または下境界のいずれかから開始しない場合、前記前のインデックスを１に初期化するための手段と、前記前のインデックスが、前記チェーン上のロケーションを示す値を備える、
前記チェーンコードワードのためのインデックスを判断するために前記チェーンコードワードをパースするための手段と、
前記最後から２番目の要素が前記チェーンの最後の要素であると判断するために、前記チェーンの位置が境界上にあるかどうかを判断するための手段と、
前記最後から２番目の要素に基づいてチェーンの前記総数を判断するための手段と
を備える、請求項３４に記載の装置。
【請求項３６】
前記チェーンコードワードをパースするための前記手段が、前記チェーンコードワードに基づいてｘおよびｙピクセル方向移動を判断するためにルックアップテーブルを使用することをさらに備え、
次のチェーンの位置が前記境界上にあるかどうかを判断するために検査することが、前記ルックアップテーブルからの前記ｘおよびｙピクセル方向移動に基づいてｘ位置およびｙ位置を設定するための手段をさらに備え、ここにおいて、前記次のチェーンの前記位置は、前記ｘ位置および前記ｙ位置が前記予測ユニットの境界内にないとき、前記境界上にある、
チェーンの前記総数を判断するための前記手段は、前記次のチェーンの前記位置が前記境界上にあるという判断が行われたとき、チェーンの前記総数を記憶するための前記変数から１を減算することをさらに備える、
請求項３５に記載の装置。
【請求項３７】
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングするための手段と、
前記データが、前記チェーンが垂直エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの左エッジ上で開始するのか右エッジ上で開始するのかを示すデータをコーディングするための手段と、
前記データが、前記チェーンが水平エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの上エッジ上で開始するのか下エッジ上で開始するのかを示すデータをコーディングする手段と
を備える、請求項３１に記載の装置。
【請求項３８】
前記要素の前記位置を表す前記データに基づいて、前記チェーンが前記左エッジまたは前記上エッジのいずれかにおいて開始する場合、前記予測ユニットのピクセルが第１のパーティションに属するのか第２のパーティションに属するのかを示すパーティションマップを作成するための手段と、
前記チェーンが前記右エッジ上で開始するとき、前記パーティションマップを水平方向に反転するための手段と、
前記チェーンが前記下エッジ上で開始するとき、前記パーティションマップを垂直方向に反転するための手段と
を備える、請求項３１に記載の装置。
【請求項３９】
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータと、前記チェーンに基づく前記予測ユニットの前記パーティションとを、前記予測ユニットのための前記チェーン中の要素の数を示す値をコーディングすることなしに、コーディングするための手段をさらに備える、請求項３１に記載の装置。
【請求項４０】
実行されたとき、デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングすることと、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の位置は、最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットのパーティションをコーディングすることと
を行わせる、命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
【請求項４１】
前記コンピュータ可読記憶媒体は、実行されたとき、前記デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを符号化することと、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の前記位置は、前記最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットの前記パーティションを符号化することと
を行わせる、命令をさらに含む、請求項４０に記載のコンピュータプログラム製品。
【請求項４２】
前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを復号することと、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の前記位置は、前記最後の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットの前記パーティションを復号することと
を行わせる、命令をさらに含む、請求項４０に記載のコンピュータプログラム製品。
【請求項４３】
前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、各チェーンコードワードの終了座標を追跡することを行わせる、命令をさらに含み、前記追跡することは、追加のチェーンコードワードが境界外の座標に対応すると、終了される、請求項４２に記載のコンピュータプログラム製品。
【請求項４４】
前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、
チェーンの総数を記憶するための変数を０に初期化することと、
前記チェーンが上境界または下境界のいずれかから開始する場合、前のインデックスを３に初期化することと、チェーンが上境界または下境界のいずれかから開始しない場合、前記前のインデックスを１に初期化することと、前記前のインデックスが、前記チェーン上のロケーションを示す値を備える、
前記チェーンコードワードのためのインデックスを判断するために前記チェーンコードワードをパースすることと、
前記最後から２番目の要素が前記チェーンの最後の要素であると判断するために、前記チェーンの位置が境界上にあるかどうかを判断することと、
前記最後から２番目の要素に基づいてチェーンの前記総数を判断することと
を行わせる、命令を含む、請求項４３に記載のコンピュータプログラム製品。
【請求項４５】
前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
前記チェーンコードワードに基づいてｘおよびｙピクセル方向移動を判断するためにをさらに備える前記チェーンコードワードをパースするためにルックアップテーブルを使用することと、
次のチェーンの位置が前記境界上にあるをさらに備えるかどうかを判断するために検査するために、前記ルックアップテーブルからの前記ｘおよびｙピクセル方向移動に基づいてｘ位置およびｙ位置を設定することと、ここにおいて、前記次のチェーンの前記位置は、前記ｘ位置および前記ｙ位置が前記予測ユニットの境界内にないとき、前記境界上にある、
チェーンの前記総数を判断するために、前記次のチェーンの前記位置が前記境界上にあるという判断が行われたとき、チェーンの前記総数を記憶するための前記変数から１を減算することと
を行わせる、命令をさらに含む、請求項４４に記載のコンピュータプログラム製品。
【請求項４６】
前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが垂直エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの左エッジ上で開始するのか右エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが水平エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの上エッジ上で開始するのか下エッジ上で開始するのかを示すデータをコーディングすることと
を行わせる、命令をさらに含む、請求項４０に記載のコンピュータプログラム製品。
【請求項４７】
前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
前記要素の前記位置を表す前記データに基づいて、前記チェーンが前記左エッジまたは前記上エッジのいずれかにおいて開始する場合、前記予測ユニットのピクセルが第１のパーティションに属するのか第２のパーティションに属するのかを示すパーティションマップを作成することと、
前記チェーンが前記右エッジ上で開始するとき、前記パーティションマップを水平方向に反転することと、
前記チェーンが前記下エッジ上で開始するとき、前記パーティションマップを垂直方向に反転することと
を行わせる、命令をさらに含む、請求項４０に記載のコンピュータプログラム製品。
【請求項４８】
前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、ビデオデータをコーディングするために、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータと、前記チェーンに基づく前記予測ユニットの前記パーティションとを、前記予測ユニットのための前記チェーン中の要素の数を示す値をコーディングすることなしに、コーディングすることを行わせる、命令をさらに含む、請求項４０に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は、ビデオコーディングに関し、より詳細には、ビデオデータを符号化および復号するための方法および装置に関する。
【背景技術】
【０００２】
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３またはＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
【０００３】
[0003]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を実施する。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスはブロックに区分され得る。各ブロックはさらに区分され得る。イントラコード化（Ｉ）フレームまたはスライス中のブロックは、隣接ブロックに対する空間的予測を使用して符号化される。インターコード化（ＰまたはＢ）フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロックに対する空間的予測、あるいは他の参照フレームに対する時間的予測を使用し得る。
【発明の概要】
【０００４】
[0004]一例では、本開示は、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングすることと、ここにおいて、最後の要素を除く要素の位置の各々が予測ユニット内にあり、ここにおいて、最後の要素の位置は、最後から２番目の（penultimate）要素がチェーンの最後の要素であることを示すために予測ユニット外にある、チェーンに基づく予測ユニットのパーティションをコーディングすることとを含む、方法について説明する。
【０００５】
[0005]別の例では、本開示は、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングすることと、ここにおいて、最後の要素を除く要素の位置の各々が予測ユニット内にあり、ここにおいて、最後の要素の位置は、最後から２番目の要素がチェーンの最後の要素であることを示すために予測ユニット外にある、チェーンに基づく予測ユニットのパーティションをコーディングすることとを行うように構成された１つまたは複数のプロセッサを含む、ビデオデータをコーディングするためのビデオコーダを含むデバイスについて説明する。
【０００６】
[0006]別の例では、本開示は、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングするための手段と、ここにおいて、最後の要素を除く要素の位置の各々が予測ユニット内にあり、ここにおいて、最後の要素の位置は、最後から２番目の要素がチェーンの最後の要素であることを示すために予測ユニット外にある、チェーンに基づく予測ユニットのパーティションをコーディングするための手段とを含む、ビデオデータをコーディングするための装置について説明する。
【０００７】
[0007]別の例では、本開示は、コンピュータ可読記憶媒体について説明する。実行されると、デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングすることと、ここにおいて、最後の要素を除く要素の位置の各々が予測ユニット内にあり、ここにおいて、最後の要素の位置は、最後から２番目の要素がチェーンの最後の要素であることを示すために予測ユニット外にある、チェーンに基づく予測ユニットのパーティションをコーディングすることとを行わせる、命令を記憶したコンピュータ可読記憶媒体。
【０００８】
[0008]本発明の１つまたは複数の実施形態の詳細を添付の図面および以下の説明に記載する。本発明の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【０００９】
【図１】[0009]例示的なマルチメディア符号化および復号システムを示すブロック図。
【図２】[0010]本開示で説明する１つまたは複数の例による、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングするための技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３】[0011]本開示で説明する１つまたは複数の例による、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングするための技法を実装し得るビデオデコーダの一例を示すブロック図。
【図４】[0012]角度予測の一例を示す図。
【図５】[0013]８×８ブロックのためのウェッジレットパターン（wedgelet pattern）を示す図。
【図６】[0014]８×８ブロックのための２つの不規則領域を示す図。
【図７】[0015]チェーンコード（chain code）のための１つの可能な方向インデックス５００を示す図。
【図８】[0016]パーティションパターンを含むおよび例示的な深度ＰＵを示す図。
【図９】[0017]パーティションパターンを含むおよび例示的な深度ＰＵを示す図。
【図１０】[0018]本開示で説明する１つまたは複数の例による、例示的な方法を示すフローチャート。
【図１１】[0019]チェーンコーディングによってコーディングされたＰＵの復号プロセスを示すフローチャート。
【図１２】[0020]チェーンコーディングにおける最後のチェーン位置の導出を示すフローチャート。
【図１３】[0021]本開示で説明する１つまたは複数の例による、例示的な方法を示す別のフローチャート。
【発明を実施するための形態】
【００１０】
[0022]添付の図面は例を示している。添付の図面中の参照番号によって示される要素は、以下の説明における同様の参照番号によって示される要素に対応する。添付の図面において、省略符号は、その省略符号によって分離された要素と同様の１つまたは複数の要素の存在を示す。同様の要素のための参照番号に対するアルファベットの添え字は、それらの要素の特定の数の存在を示すものではない。本開示では、序数語（たとえば、「第１の」、「第２の」、「第３の」およびしたがって）で始まる名前を有する要素は、必ずしもそれらの要素が特定の順序を有することを暗示するとは限らない。そうではなく、そのような序数語は、単に、同じまたは同様の種類の異なる要素を指すために使用され得る。
【００１１】
[0023]ビデオデータのピクチャは、サンプルの１つまたは複数のブロックに関連する。本開示では、「サンプル」という用語は、ピクセルのルーマまたはクロマ成分など、ブロックの成分を定義する値を指すことがある。ピクチャの各サンプルブロックは、ピクチャ中のピクセルの異なる成分を指定することができる。
【００１２】
[0024]エンコーダは、最初に、ピクチャを「スライス」に区分し得る。スライスは、概して、ピクチャの単独で復号可能な部分を指すために使用される用語である。エンコーダは、次に、これらのスライスを、「コーディングツリーユニット」とも呼ばれる「ツリーブロック」に区分し得る。ツリーブロックは最大コーディングユニット（ＬＣＵ：largest coding unit）と呼ばれることもある。エンコーダは、ツリーブロックの各々を漸進的により小さいコーディングユニット（ＣＵ）の階層に区分し得、このコーディングユニットの階層は、図示されると階層ツリー構造として表され得、したがって「ツリーブロック」という名称がある。ツリーブロックをこのようにして区分することにより、エンコーダは、異なるサイズの動きをキャプチャすることが可能になり得る。各未分割サンプルブロックは異なるコーディングユニット（ＣＵ）に対応する。説明を簡単にするために、本開示は、ＣＵに対応するサンプルブロックをＣＵのサンプルブロックと呼ぶことがある。
【００１３】
[0025]エンコーダは、ＣＵの各々について１つまたは複数の予測ユニット（ＰＵ：prediction unit）を生成することができる。エンコーダは、ＣＵのサンプルブロックを予測エリアに区分することによってＣＵのためのＰＵを生成することができる。エンコーダは、次いでＣＵの各ＰＵ関して輪郭区分動作を実施し得る。たとえば、エンコーダは、ＰＵが２つの不規則領域に区分され得るとき、輪郭区分を使用し得る。
【００１４】
[0026]一例では、輪郭区分を実施するビデオコーダがチェーンコーディングを伴い得る。たとえば、チェーンコーディングを使用するエンコーダまたはデコーダが、開始エッジを表すデータをコーディングし得る。エンコーダまたはデコーダは、チェーン開始エッジに沿ったチェーン開始位置をもコーディングし得る。エンコーダまたはデコーダは、ビデオ予測ユニットなど、予測ユニット中の各要素のためのチェーンコードワードと、予測ユニットの境界外の座標に対応する追加のチェーンコードワードとをもコーディングし得る。
【００１５】
[0027]一例では、ビデオコーダが、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングし得る。いくつかの例は、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを生成することを含み得る。最後の要素を除く要素の位置の各々が予測ユニット内にあり得る。最後の要素の位置は予測ユニット外にあり得る。これは、最後から２番目のコーディングされた要素がチェーンの最後の要素であることを示すことができる。すなわち、チェーンの要素の位置が予測ユニット外にあることは、要素がチェーンの最後の要素であることを示し得る。たとえば、ビデオエンコーダは、チェーンが予測ユニットのエッジにおいて特定の要素において終了するべきであると判断し、チェーンの最終要素を予測ユニット外にあるものとしてコーディングし得る。同様に、ビデオデコーダは、予測ユニット外の位置を有するチェーンの要素をコーディングした後に、チェーンが終了したと判断し得る。いくつかの例は、チェーンに基づく予測ユニットのパーティションをコーディングし得る。
【００１６】
[0028]本明細書で説明するいくつかの例は、チェーン中の要素の数をシグナリングするのではなく、チェーン中の要素の数を導出することを提供する。従来、チェーン中の要素の総数をシグナリングすることは、Ｎ×Ｎ  ＰＵのためにｌｏｇ2Ｎ＋１ビットを使用する。しかしながら、本開示の技法を使用して、要素の数はビットストリームから除去され得、これはシグナリングオーバーヘッドを低減し得る。１つの追加の要素がパースされ得る。その追加の要素は、ＰＵの境界外の座標に対応し得る。概してデコーダにおける、例では、各現在要素の座標（ｘ，ｙ）は、各チェーンコードのパーシング中およびその後に追跡され得、その結果、デコーダは、最後の要素がいつパースされたかを判断し得る。要素の座標が、チェーンコードをパースした後に、ＰＵの境界の外にあり、チェーンの現在のパースされた数が１よりも大きいとき、チェーンコードのパーシングは終了する。
【００１７】
[0029]いくつかの例は、上境界または左境界のいずれかと交差するにすぎないことがあるパーティションパターンを提供する。他の例は、上境界、下境界、右境界、または左境界と交差することがあるパーティションパターンを提供する。２ビットが、チェーンが予測ユニットの上境界から開始するのか（たとえば、００）、左境界から開始するのか（たとえば、０１）、下境界から開始するのか（たとえば、１０）、右境界から開始するのか（たとえば、１１）をシグナリングするために使用され得る。さらに他の例は、これらの何らかのサブセットと交差するパーティションパターンを提供し得る。いくつかの例では、チェーンが下から開始するとき、開始位置は、チェーンが上から開始するのと同様の方法で初期化され得、復号されたパーティションパターンは上および下に反転される。チェーンが右から開始するとき、開始位置は、チェーンが左から開始するのと同様の方法で初期化され得、復号されたパーティションパターンは右および左に反転される。
【００１８】
[0030]代替的に、１ビットが、左から開始することを示すために使用され得、２ビットが、上または下のいずれかから開始することを示すために使用され得る。たとえば、０が左境界開始位置を示し得、１０が上境界開始位置を示し得、１１が下境界開始位置を示し得る。場合によっては、下から開始するとき、チェーンは、ＰＵの右境界において終了し得る。たとえば、そのような場合、ビデオコーダは、チェーンが下境界から開始する場合、チェーンがＰＵの右境界において終了すると判断するように構成され得る。他の例では、ビデオコーダは、チェーンが上境界から開始する場合、チェーンがＰＵの右境界において終了すると判断するように構成され得る。下から開始していずれかの境界において終了すること、または上境界から開始していずれかの境界において終了することなど、境界開始ロケーションと境界終了ロケーションの他の組合せも可能である。
【００１９】
[0031]図１は、例示的なマルチメディア符号化および復号システム１０を示すブロック図である。マルチメディア符号化および復号システム１０は、ビデオデータをキャプチャし、キャプチャされたビデオデータを符号化し、符号化されたビデオデータを送信し、符号化されたビデオデータを復号し、次いで、復号されたビデオデータを再生する。
【００２０】
[0032]マルチメディア符号化および復号システム１０は、ソースユニット１２と、符号化ユニット１４と、復号ユニット１６と、提示ユニット１８とを備える。ソースユニット１２はビデオデータを生成する。符号化ユニット１４はそのビデオデータを符号化する。復号ユニット１６は、符号化されたビデオデータを復号する。提示ユニット１８は、復号されたビデオデータを提示する。
【００２１】
[0033]１つまたは複数のコンピューティングデバイスは、ソースユニット１２と、符号化ユニット１４と、復号ユニット１６と、提示ユニット１８とを実装する。本開示では、コンピューティングデバイスという用語は、情報を処理する物理デバイスを包含する。例示的なタイプのコンピューティングデバイスとしては、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、スマートフォン、タブレットコンピュータ、車載コンピュータ、テレビジョンセットトップボックス、ビデオ会議システム、ビデオ生成機器、ビデオカメラ、ビデオゲームコンソール、または情報を処理する他のタイプのデバイスがある。
【００２２】
[0034]いくつかの例では、単一のコンピューティングデバイスは、ソースユニット１２と、符号化ユニット１４と、復号ユニット１６と、提示ユニット１８とのうちの２つ以上を実装し得る。たとえば、単一のコンピューティングデバイスは、ソースユニット１２と符号化ユニット１４とを実装し得る。この例では、別のコンピューティングデバイスが、復号ユニット１６と提示ユニット１８とを実装し得る。他の例では、異なるコンピューティングデバイスが、ソースユニット１２と、符号化ユニット１４と、復号ユニット１６と、提示ユニット１８とを実装する。
【００２３】
[0035]図１の例では、コンピューティングデバイス１３が符号化ユニット１４を実装し、コンピューティングデバイス１７が復号ユニット１６を実装する。いくつかの例では、コンピューティングデバイス１３は、符号化ユニット１４の他に機能を与え得る。さらに、いくつかの例では、コンピューティングデバイス１７は、復号ユニット１６の他に機能を与え得る。
【００２４】
[0036]いくつかの例では、符号化デバイス１４は、チェーンの要素の位置を表すデータを符号化し得る。これらの位置要素は、ビデオデータの予測ユニットを区分し得るチェーンを構成する。言い換えれば、それらの要素は、予測ユニットを区分するチェーンを集合的に形成する。最後の要素を除く要素の位置の各々が予測ユニット内にあり得る。最後の要素の位置は、最後から２番目の要素がチェーンの最後の要素であることを示すために予測ユニット外にある。符号化ユニット１４は、チェーンに基づく予測ユニットのパーティションを符号化し得る。詳細には、イントラ予測コーディングについて、符号化ユニット１４は、区分された予測ユニットの第１および第２のパーティションのために異なるイントラ予測コーディングモードを判断し得る。その上、符号化ユニット１４は、パーティションの各々についてイントラ予測モードの別個の指示を与え、それぞれのイントラ予測モードを使用して各パーティションを予測し、パーティションマップを使用してそれら２つのパーティションを組み合わせ得る。たとえば、「０」に対応するすべての値は、第１のパーティションブロックからの値でオーバーレイされ得る。「１」の値を有するすべての値は、第２のパーティションブロックからの値でオーバーレイされ得る。符号化ユニット１４は、残差を判断するための差を計算するために、この組み合わされたブロックを使用し得る。ブロックは、次いで、変換され、量子化され、ＣＡＢＡＣコーディングされ得る。
【００２５】
[0037]同様に、復号ユニット１６は、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを復号し得る。この場合も、最後の要素を除く要素の位置の各々が予測ユニット内にあり得、最後の要素の位置は、最後の要素がチェーンの最後の要素であることを示すために予測ユニット外にあり得る。したがって、復号ユニット１６は、チェーンに基づく予測ユニットのパーティションを復号し得る。詳細には、イントラ予測コーディングについて、復号ユニット１６は、区分された予測ユニットの第１および第２のパーティションのために、異なるイントラ予測コーディングモードが何であるかを示す値を復号し得る。その上、復号ユニット１６は、パーティションの各々についてイントラ予測モードの別個の指示を与え、それぞれのイントラ予測モードを使用して各パーティションを予測し、パーティションマップを使用してそれら２つのパーティションを組み合わせ得る。より詳細には、復号ユニット１６は、量子化された変換係数をＣＡＢＡＣ復号し、残差ブロックを逆変換し、逆量子化し、その残差をＰＵ中に追加して戻し得る。さらに、復号ユニット１６は、ＰＵを区分するためのイントラモードを判断し、チェーン要素を表すデータを復号し、チェーンコーディングモードを使用してＰＵを区分し得る。このようにして、元のブロックは再生され得る。
【００２６】
[0038]上記で手短に説明したように、ソースユニット１２は、一連のピクチャを表すビデオデータを生成する。ピクチャは、一般に「ピクチャ」とも呼ばれる。ビデオデータ中の一連のピクチャが迅速に連続して（たとえば、２４または２５ピクチャ毎秒で）ユーザに提示されるとき、ユーザは、ピクチャ中のオブジェクトが動いていると知覚し得る。
【００２７】
[0039]様々な例において、ソースユニット１２は、ビデオデータを様々な方法で生成する。たとえば、ソースユニット１２はビデオカメラを備え得る。この例では、ビデオカメラは、視認できる環境から画像をキャプチャする。別の例では、ソースユニット１２は、医療、産業、または科学用イメージングのための１つまたは複数のセンサーを備え得る。そのようなセンサーは、ｘ線検出器、磁気共鳴イメージングセンサー、粒子検出器などを含み得る。さらに別の例では、ソースユニット１２はアニメーションシステムを備え得る。この例では、１人または複数のユーザが、このアニメーションシステムを使用して、彼らの想像からビデオデータのコンテンツを描画、作成、プログラム、または他の方法でデザインする。
【００２８】
[0040]符号化ユニット１４は、ソースユニット１２によって生成されたビデオデータを受信する。符号化ユニット１４は、より少ないデータでビデオデータ中の一連のピクチャが表されるようにビデオデータを符号化する。いくつかの事例では、ビデオデータが、ＤＶＤまたはＣＤ−ＲＯＭなど、所与のタイプのコンピュータ可読媒体に記憶され得ることを保証するために、このようにしてビデオデータを符号化することが必要であり得る。さらに、いくつかの事例では、ビデオデータが、インターネットなどの通信ネットワークを介して効率的に送信され得ることを保証するために、このようにしてビデオデータを符号化することが必要であり得る。
【００２９】
[0041]符号化ユニット１４は、ビデオピクチャのシーケンスまたは連続としてしばしば表される、ビデオデータを符号化し得る。符号化ユニット１４は、これらのピクチャを（一般に「スライス」と呼ばれる）単独で復号可能な部分に分割し得、符号化ユニット１４は、今度は、これらの部分をツリーブロックに分割し得る。これらのツリーブロックは、ある形式の再帰的階層４分木分割を受け得る。符号化ユニット１４は、この分割を実施して、階層ツリー状のデータ構造を生成し得、そのルートノードはツリーブロックである。ツリーブロック内の各未分割サンプルブロックは異なるＣＵに対応する。未分割サンプルブロックのＣＵは、未分割サンプルブロックに関する、動き情報および変換情報を含む、情報を含んでいることがある。
【００３０】
[0042]様々な例が２Ｄビデオコーディングに適用され得るが、概して、本明細書で説明する例示的なシステムおよび方法は３Ｄビデオコーディングに関係する。深度コーディング技法を含む、様々なコーディング技法はアドバンストコーデックに基づき得る。いくつかの例示的な提案する深度コーディング技法は深度マップイントラコーディングに関係する。
【００３１】
[0043]いくつかの例示的なビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、ならびに、それのスケーラブルビデオコーディング（ＳＶＣ：Scalable Video Coding）拡張およびマルチビュービデオコーディング（ＭＶＣ：Multiview Video Coding）拡張を含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４を含む。ＭＶＣの最新のジョイントドラフトは、参照により本明細書に組み込まれる「Advanced video coding for generic audiovisual services」、ＩＴＵ−Ｔ勧告Ｈ．２６４、２０１０年３月、に記載されている。
【００３２】
[0044]さらに、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ：Motion Picture Experts Group）とのジョイントコラボレーションチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって開発されている、一般に高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）と呼ばれる、ビデオコーディング規格がある。ＨＥＶＣ規格の最近のドラフトは以下において入手可能である。
【００３３】
ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１０＿Ｓｔｏｃｋｈｏｌｍ／ｗｇ１１／ＪＣＴＶＣ−Ｊ１００３−ｖ８．ｚｉｐ
[0045]ＨＥＶＣは、最高６４×６４ピクセルのブロックを使用し得る。そのような構成は、より良くピクチャを変数サイズの構造に下位区分し得る。たとえば、ＨＥＶＣは、初めにピクチャをコーディングツリーユニット（ＣＴＵ：coding tree unit）に分割し得、ＣＴＵは、次いで各ルーマ／クロマ成分についてコーディングツリーブロック（ＣＴＢ：coding tree block）に分割得る。ＣＴＢは、たとえば、６４×６４、３２×３２、または１６×１６であり得る。より大きいブロックサイズは、通常、コーディング効率を増加させ得る。ＣＴＢは、よりもコーディングユニット（ＣＵ）に分割される。
【００３４】
[0046]ＣＴＢ内のＣＵの構成は、再分割により４つのより小さい領域が生じるので、４分木と呼ばれることがある。ＣＵは、次いで、６４×６４から４×４までサイズが変動することがある、イントラピクチャ予測タイプまたはインターピクチャ予測タイプのいずれかの予測ユニット（ＰＵ）に分割され得る。予測残差は、次いで、空間ブロック変換および量子化のための係数を含んでいる、変換ユニット（ＴＵ：transform unit）を使用してコーディングされ得る。ＴＵは３２×３２、１６×１６、８×８、または４×４であり得る。いくつかの例では、ＨＥＶＣは、各ＰＵについてルーマ成分を使用し得る。
【００３５】
[0047]ＨＥＶＣは、角度予測を利用したイントラ予測コーディング方法をも使用し得る。角度予測は、方向予測の例示的な方法である。角度モードでは、システムが、角度を示す一連の可能なモードのうちの１つを与えることによって予測方向を与え得る。これらの角度は、垂直予測の場合、ブロックの最下行とブロックの上にある参照行との変位を、または水平予測の場合、ブロックの最右列とブロックから左の参照列との変位を示し得る。その変位は、１ピクセル精度でシグナリングされ得る。予測されたピクセルの投影が参照サンプルの間に入るとき、ピクセルのための予測された値は、参照サンプルから線形補間され得る。
【００３６】
[0048]図２は、本開示で説明する１つまたは複数の例による、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングするための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。一例では、図１のビデオ符号化ユニット１４はビデオエンコーダ２０であり得る。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実施し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指すことがある。
【００３７】
[0049]図２に示されているように、ビデオエンコーダ２０は、符号化されるべきビデオピクチャ内の現在ビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、参照フレームメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピーコーディングユニット５６とを含む。モード選択ユニット４０は、今度は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、パーティションユニット４８とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図２に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。追加のフィルタ（ループ内またはループ後）もデブロッキングフィルタに加えて使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、（ループ内フィルタとして）加算器５０の出力をフィルタ処理し得る。
【００３８】
[0050]符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオピクチャまたはスライスを受信する。ピクチャまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数のブロックに対する受信したビデオブロックのインター予測コーディングを実施する。イントラ予測ユニット４６は、代替的に、空間圧縮を行うために、コーディングされるべきブロックと同じピクチャまたはスライス中の１つまたは複数の隣接ブロックに対する受信したビデオブロックのイントラ予測コーディングを実施し得る。ビデオエンコーダ２０は、たとえば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディングパスを実施し得る。
【００３９】
[0051]その上、パーティションユニット４８は、前のコーディングパスにおける前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、パーティションユニット４８は、初めにピクチャまたはスライスをＬＣＵに区分し、レートひずみ分析（たとえば、レートひずみ最適化）に基づいてＬＣＵの各々をサブＣＵに区分し得る。モード選択ユニット４０は、ＬＣＵをサブＣＵに区分することを示す４分木データ構造をさらに生成し得る。４分木のリーフノードＣＵは、１つまたは複数のＰＵおよび１つまたは複数のＴＵを含み得る。
【００４０】
[0052]モード選択ユニット４０は、たとえば、誤差結果に基づいてコーディングモード、すなわち、イントラまたはインターのうちの１つを選択し得、残差ブロックデータを生成するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器５０に与え、参照ピクチャとして使用するための符号化されたブロックを再構成するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器６２に与える。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報など、シンタックス要素をエントロピーコーディングユニット５６に与える。
【００４１】
[0053]動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット４２によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在ピクチャ（または他のコーディングされたユニット）内でコーディングされている現在ブロックに対する参照ピクチャ（または他のコーディングされたユニット）内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。予測ブロックは、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照フレームメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに関して動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
【００４２】
[0054]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライスにおけるビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、参照フレームメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【００４３】
[0055]動き補償ユニット４４によって実施される動き補償は、動き推定ユニット４２によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット４２と動き補償ユニット４４とは機能的に統合され得る。現在ビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。加算器５０は、以下で説明するように、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット４２はルーマ成分に対して動き推定を実施し、動き補償ユニット４４は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット４０はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【００４４】
[0056]イントラ予測ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実施されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを判断し得る。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
【００４５】
[0057]たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化されたブロックを生成するために使用されるビットレート（すなわち、ビット数）を判断する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを判断するために、様々な符号化されたブロックのひずみおよびレートから比を計算し得る。
【００４６】
[0058]ブロックのためにイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピーコーディングユニット５６に与え得る。エントロピーコーディングユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る、構成データを含め得る。
【００４７】
[0059]ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、モード選択ユニット４０からの予測データを減算することによって残差ビデオブロックを形成する。加算器５０は、この減算演算を実施する１つまたは複数の構成要素を表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を含むビデオブロックを生成する。変換処理ユニット５２は、ＤＣＴと概念的に同様である他の変換を実施し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化された変換係数を含む行列の走査を実施し得る。代替的に、エントロピー符号化ユニット５６が走査を実施し得る。
【００４８】
[0060]量子化の後に、エントロピーコーディングユニット５６は量子化された変換係数をエントロピーコーディングする。たとえば、エントロピーコーディングユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：probability interval partitioning entropy）コーディングまたは別のエントロピーコーディング技法を実施し得る。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピーコーディングユニット５６によるエントロピーコーディングの後に、符号化されたビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。
【００４９】
[0061]逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照フレームメモリ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するためのサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照フレームメモリ６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオピクチャ中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【００５０】
[0062]このようにして、図２のビデオエンコーダ２０は、チェーンの要素の位置を表すデータをコーディングするように構成されたビデオエンコーダの一例を表す。チェーンは、ビデオデータの予測ユニットを区分し得る。さらに、最後の要素を除く要素の位置の各々が予測ユニット内にあり得る。最後の要素の位置は、最後から２番目の要素がチェーンの最後の要素であることを示すために予測ユニット外にあり得る。ビデオエンコーダ２０は、チェーンに基づく予測ユニットのパーティションをもコーディングし得る。
【００５１】
[0063]一例では、モード選択ユニット４０は、深度ＰＵのためのチェーンコーディングモードを選択し得る。ビデオエンコーダ２０は、チェーンコーディングを使用して、開始エッジを表すデータを符号化し得る。ビデオエンコーダ２０は、チェーン開始エッジに沿ったチェーン開始位置をも符号化し得る。ビデオエンコーダ２０は、ビデオ予測ユニットなど、予測ユニット中の各要素のためのチェーンコードワードと、予測ユニットの境界外の座標に対応する追加のチェーンコードワードとをもコーディングし得る。
【００５２】
[0064]さらに、一例では、パーティションユニット４８は、チェーンを使用してＰＵを区分する。たとえば、深度ブロックが直線によって２つの領域に区分され得る。モード選択ユニット４０は、ＰＵのパーティションのためのイントラ予測モードを判断し得る。
【００５３】
[0065]この例では、イントラ予測ユニット４６は、チェーンとイントラ予測モードとに基づいてＰＵのための予測された値を生成し得る。その上、チェーンを表すデータがシンタックス要素としてエントロピーコーディングユニット５６に送られ得、エントロピーコーディングユニット５６は、ＣＡＢＡＣを使用してシンタックス要素をコーディングする。イントラ予測ユニット４６は、残差ブロックを形成するために加算器５０にＰＵをも送る。
【００５４】
[0066]図３は、本開示で説明する１つまたは複数の例による、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングするための技法を実装し得るビデオデコーダ３０の一例を示すブロック図である。一例では、図１のビデオ復号ユニット１６はビデオエンコーダ２０であり得る。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照ピクチャメモリ８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明した符号化パスとは概して逆の復号パスを実施し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成し得、イントラ予測ユニット７４は、エントロピー復号ユニット７０から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
【００５５】
[0067]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化されたビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化されたビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化された係数と、動きベクトルまたはイントラ予測モードインジケータと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動きベクトルと他の予測シンタックス要素とを動き補償ユニット７２に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【００５６】
[0068]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、イントラ予測ユニット７４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオピクチャがインターコード化（すなわち、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされるとき、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ９２に記憶された参照ピクチャに基づいて、デフォルト構成技法を使用して、参照ピクチャリスト、リスト０およびリスト１を構成し得る。
【００５７】
[0069]動き補償ユニット７２は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を判断し、その予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化されたビデオブロックのための動きベクトルと、スライスの各インターコーディングされたビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを判断するために、受信されたシンタックス要素のいくつかを使用する。
【００５８】
[0070]動き補償ユニット７２はまた、補間フィルタに基づいて補間を実施し得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
【００５９】
[0071]逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された、量子化された変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を判断するための、ビデオスライス中のビデオブロックごとにビデオエンコーダ３０によって計算される量子化パラメータＱＰYの使用を含み得る。
【００６０】
[0072]逆変換ユニット７８は、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域において残差ブロックを生成する。
【００６１】
[0073]動き補償ユニット８２が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換ユニット７８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器９０は、この加算演算を実施する１つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号されたブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、他のループフィルタも（コーディングループ中またはコーディングループ後のいずれかで）使用され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照フレームメモリ８２に記憶される。参照フレームメモリ８２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上での後の提示のために、復号されたビデオを記憶する。
【００６２】
[0074]このようにして、図３のビデオデコーダ３０は、チェーンの要素の位置を表すデータをコーディングするように構成されたビデオデコーダの一例を表す。チェーンは、ビデオデータの予測ユニットを区分し得る。さらに、最後の要素を除く要素の位置の各々が予測ユニット内にあり得る。最後の要素の位置は、最後から２番目の要素がチェーンの最後の要素であることを示すために予測ユニット外にあり得る。ビデオデコーダ３０は、チェーンに基づく予測ユニットのパーティションをもコーディングし得る。
【００６３】
[0075]一例では、深度ＰＵのためのチェーンコーディングモードがビデオデコーダ３０内で判断され得る。ビデオデコーダ３０は、チェーンコーディングを使用して、開始エッジを表すデータを復号し得る。ビデオデコーダ３０は、チェーン開始エッジに沿ったチェーン開始位置をも復号し得る。ビデオデコーダ３０は、ビデオ予測ユニットなど、予測ユニット中の各要素のためのチェーンコードワードと、予測ユニットの境界外の座標に対応する追加のチェーンコードワードとをも復号し得る。
【００６４】
[0076]さらに、イントラ予測ユニット７４は、パーティションがどこにあるかを判断するためのチェーンと、パーティションのための予測された値を計算するためのイントラ予測モードの指示とを使用して、パーティションのための予測された値を計算し得る。モード選択ユニット４０は、ＰＵのパーティションのためのイントラ予測モードを判断し得る。
【００６５】
[0077]この例では、イントラ予測ユニット７４は、チェーンとイントラ予測モードとに基づいてＰＵのための予測された値を生成し得る。その上、チェーンを表すデータがシンタックス要素としてエントロピー復号ユニット７０に受信され得、エントロピー復号ユニット７０は、ＣＡＢＡＣを使用してシンタックス要素を復号する。イントラ予測ユニット７４は、復号されたビデオを生成するために残差ブロックと加算されるように、加算器８０に予測データをも送る。
【００６６】
[0078]図４は、たとえば、様々な対応するイントラ予測モードによる、角度予測の一例を示す図である。たとえば、図４に示された様々な角度予測モードは、本開示の技法に従って区分されたＰＵの様々なパーティションを予測するために使用され得る。たとえば、これらの角度予測は、ビデオエンコーダ２０またはビデオデコーダ３０とともに使用され得る。図４に示されているように、ＨＥＶＣは、ＤＣおよび平面予測モードなどの非角度予測モードに加えて、（２から３４までインデックス付けされた）３３個の角度予測モードを利用するイントラ予測コーディング方法を使用し得る。したがって、（図１の符号化ユニット１４および／または復号ユニット１６のいずれかまたは両方などの）ＨＥＶＣを使用するシステムが、たとえば、図４に示されているように角度を示すモード２〜３４のうちの１つを与えることによって予測方向を与え得る。特に、本開示の技法によれば、ビデオコーダが、本開示のチェーンコーディング技法を使用して区分された、ＰＵの各パーティションについてイントラ予測モードの表現をコーディングし得る。ＨＥＶＣは、図４に示されているように、（１でインデックス付けされた）ＤＣモードと（０でインデックス付けされた）平面モードとをも使用し得る。３Ｄ−ＨＥＶＣでは、イントラ予測モードの同じ定義が利用され得る。たとえば、図４に関して、（たとえば、２〜３４のインデックス付けされた）予測モードは、様々なイントラ予測モードを表す値をコーディングするためにビデオエンコーダ２０およびまたはビデオデコーダ３０によって使用され得る。その上、チェーンコーディングから生じるＰＵの２つの異なるパーティションＰ０／Ｐ１が、異なるイントラ予測モードを有し得る。エンコーダおよびデコーダは、それら２つの異なるパーティションの各々についてそれらの異なるイントラ予測モードを表す値をコーディングし得る。
【００６７】
[0079]ＭＰＥＧにおける何らかの例示的なＨＥＶＣベースの３Ｄビデオコーディング（３Ｄ−ＨＥＶＣ）コーデックは、ｍ２２５７０およびｍ２２５７１において提案されたソリューションに基づき得る。３Ｄ−ＨＥＶＣのための参照ソフトウェアＨＴＭバージョン４．０が以下のリンクからダウンロードされ得る。
【００６８】
［ＨＴＭ−４．０］：ｈｔｔｐｓ：／／ｈｅｖｃ．ｈｈｉ．ｆｒａｕｎｈｏｆｅｒ．ｄｅ／ｓｖｎ／ｓｖｎ＿３ＤＶＣＳｏｆｔｗａｒｅ／ｔａｇｓ／ＨＴＭ−４．０。
【００６９】
ソフトウェア記述（文書番号：ｗ１２７７４）が以下から入手可能である。
【００７０】
ｈｔｔｐ：／／ｗｇ１１．ｓｃ２９．ｏｒｇ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１００＿Ｇｅｎｅｖａ／ｗｇ１１／ｗ１２７４４−ｖ２−ｗ１２７４４．ｚｉｐ。
【００７１】
[0080]３Ｄ−ＨＥＶＣでは、各アクセスユニットが複数のビューコンポーネントを含んでいることがあり、各々が、一意のビュー識別情報（ＩＤ）、またはビュー順序インデックス、またはレイヤＩＤを含んでいる。ビューコンポーネントは、テクスチャビューコンポーネントならびに深度ビューコンポーネントを含んでいる。ＨＶＥＣを使用するシステムが、テクスチャビューコンポーネントを１つまたは複数のテクスチャスライスとしてコーディングし得るが、深度ビューコンポーネントは１つまたは複数の深度スライスとしてコーディングされる。一例では、１つの深度ブロックの属性が別のコロケートブロックから継承され得る。たとえば、深度ブロックのルーマは、コロケートルーマブロックからイントラ予測方向を継承し得る。さらに、「コロケート」は、ルーマブロックの位置が、ルーマピクチャと深度ピクチャとの間のピクセル解像度の差に基づいて、スケーリングされることを意味し得る。
【００７２】
[0081]いくつかの例は、３Ｄビデオコーディングにおいて深度マップコーディングを使用し得る。そのような例では、３Ｄビデオデータは、キャプチャされたビュー（テクスチャ）が対応する深度マップに関連する、マルチビュービデオ＋深度フォーマットを使用して表され得る。３Ｄビデオコーディングでは、テクスチャと深度マップとはコーディングされ、３Ｄビデオビットストリーム中に多重化される。深度マップはグレースケールビデオとしてコーディングされ、そこで、ルーマサンプルは深度値を表し、従来のイントラコーディングおよびインターコーディング方法が深度マップコーディングのために適用され得る。
【００７３】
[0082]深度マップは、シャープエッジと一定のエリアとによって特徴づけられ得、深度マップ中のエッジは、常に、対応するテクスチャとの強い相関を提示する。テクスチャと、対応する深度との間の異なる統計値および相関により、異なるコーディング方式が、２Ｄビデオコーデックに基づく深度マップのために設計される。３Ｄ−ＨＥＶＣでは、深度モデリングモード（ＤＭＭ：Depth Modeling Mode）が、深度スライスのイントラ予測ユニットをコーディングするためにＨＥＶＣイントラ予測モードとともに導入され得る。
【００７４】
[0083]深度マップにおけるシャープエッジのより良い表現のために、ＨＴＭバージョン４．０は、深度マップのイントラコーディングのために深度モデリングモード（ＤＭＭ）方法を適用する。ＤＭＭにおいて４つの新しいイントラモードがある。すべての４つのモードでは、深度ブロックが、ＤＭＭパターンによって指定された２つの領域に区分され得、各領域は一定値によって表される。ＤＭＭパターンは、明示的にシグナリングされる（モード１）か、空間的に隣接するブロックによって予測される（モード２）か、またはコロケートテクスチャブロックによって予測される（モード３およびモード４）かのいずれかであり得る。ウェッジレット区分と輪郭区分とを含む、ＤＭＭにおいて定義されている２つの区分モデルがある。本開示の技法は輪郭区分モデルにおいて使用され得る。
【００７５】
[0084]図５は、８×８ブロック３０２のためのウェッジレットパターン３００を示す図である。いくつかの例では、ウェッジレットパターン３００は、図１の符号化ユニット１４および／または復号ユニット１６のいずれかまたは両方などのユニットにおいて処理され得る。ウェッジレットパーティションについて、深度ブロックが、図５に示されているように、直線３０４によって、２つの領域、Ｐ0およびＰ1に区分され得る。ウェッジレットは、潜在的により効率的に画像を近似するための近似として使用され得る。図５に示されているように、これらの近似は、ブロック３０２を２つの領域、Ｐ0およびＰ1に区分することによって取得され得、それらの領域は、番号の２つのセットを形成する（たとえば、「白」を示す一連の「０」を有するＰ0、および「黒」を示す一連の「１」を有するＰ1）。他の色も番号のセットによって示され得ることを理解されよう。したがって、いくつかの例では、ブロック３０２は線３０４によって定義され得る。したがって、８×８ブロック３０２中のすべての６４個のピクセルに関係するデータを送信する代わりに、線３０４に関係するデータが送信され得る。ブロック３０２は、ただ、線３０４のロケーションと、その線の各側の色とから生成され得る。概して、８×８ブロック３０２のためのウェッジレットパターン３００など、いくつかの形状について、パターンを表すために必要なデータは、すべての６４個のピクセルを個々に表すために必要なデータよりも少ないことがある。したがって、たとえば、本開示の技法を使用して、より少数のビットが送信され得る。
【００７６】
[0085]図６は、８×８ブロック４０６のための２つの不規則領域４００、４０２を示す図である。不規則領域４００、４０２について、深度ブロック４０６が、図６に示されているように、線４０８、４１０によって、２つの領域、Ｐ0およびＰ1に区分され得る。図５に関して説明したウェッジレットと同様に、８×８ブロック４０６のための２つの不規則領域４００、４０２は、ブロック４０６を含む画像を潜在的により効率的に近似するための近似として使用され得る。図６に示されているように、これらの近似は、ブロック４０４を、連続していない２つの領域、Ｐ0およびＰ1に区分することによって取得され得る。２つの領域、Ｐ0およびＰ1は、番号の２つのセットを形成する（たとえば、「白」を示す一連の「０」を有するＰ0、および「黒」を示す一連の「１」を有するＰ1）。他の色も番号のセットによって示され得ることを理解されよう。したがって、いくつかの例では、ブロック４０６は線４０８および４１０によって定義され得る。したがって、８×８ブロック４０６中のすべての６４個のピクセルに関係するデータを送信する代わりに、線４０８および４１０に関係するデータが送信され得る。ブロック４０６は、ただ、線４０８および４１０のロケーションと、２つの領域、Ｐ0およびＰ1の各々の上での色とから生成され得る。概して、８×８ブロック４０６のための２つの不規則領域Ｐ0およびＰ1などのいくつかの形状について、パターンを表すために必要なデータは、すべての６４個の個々のピクセルを個々に表すために必要なデータよりも少ないことがある。したがって、たとえば、本開示の技法を使用して、より少数のビットが送信され得る。
【００７７】
[0086]輪郭区分について、深度ブロック４０６は、図６に示されているように、２つの不規則領域４００、４０２に区分され得る。いくつかの例では、不規則領域４００、４０２は、図１の符号化ユニット１４および／または復号ユニット１６のいずれかまたは両方などのユニットにおいて処理され得る。輪郭区分は、ウェッジレット区分よりもフレキシブルであるが、シグナリングすることが困難であり得る。ＤＭＭモード４では、輪郭区分パターンは、コロケートテクスチャブロックの再構成されたルーマサンプルを使用して暗黙的に導出され得る。ＤＭＭ方法は、ＨＥＶＣにおいて指定されたイントラ予測モードの代替として組み込まれる。一例では、ＤＭＭが適用されるのかユニファイドイントラ予測（unified intra prediction）が適用されるのかを指定するために、１ビットフラグが各ＰＵについてシグナリングされ得る。
【００７８】
[0087]いくつかの例は領域境界チェーンコーディングモードを使用し得る。３Ｄ−ＨＥＶＣでは、領域境界チェーンコーディングモードは、深度スライスのイントラ予測ユニットをコーディングするためにＨＥＶＣイントラ予測モードおよびＤＭＭモードとともに導入される。簡潔のために、「領域境界チェーンコーディングモード」は「チェーンコーディング」によって示される。
【００７９】
[0088]チェーンコードは、モノクローム画像のための圧縮アルゴリズムである。チェーンコーディングは、チェーン要素に関してロスレスである。チェーンコードの基本原理は、画像における各連結成分を別個に符号化することである。たとえば、図５および図６に示されているように、領域Ｐ1が符号化され得る。したがって、これらの領域Ｐ1について、境界上の点が選択され得、それの座標が送信され得る。エンコーダは、次いでその領域の境界に沿って移動し、各ステップにおいて、この移動の方向を表すシンボルを送信する。これは、たとえば、図６に示されているように、領域がブロック内に含まれている場合、エンコーダが開始位置に戻るまで、あるいは、領域がブロックのエッジに接触するかまたはブロック内に含まれているとき、エッジに達するまで、続き得る。場合によっては、プロセスは、ブロック内の複数の領域Ｐ1をコーディングするために繰り返され得る。この符号化方法は、適度に少数の大きい連結成分からなる画像のために特に有効であり得る。別の例では、領域Ｐ1ではなくＰ0が符号化され得ることを理解されよう。
【００８０】
[0089]一例では、ＰＵのチェーンコーディングがシグナリングされ得る。たとえば、本開示の技法は、図５に示されたＰＵとともに使用され得る。しかしながら、これらの技法は、概して、図６に示されたＰＵに適用されないことになる。いくつかの例では、チェーンコーディングが使用されるとき、チェーンの開始位置と、チェーンコードの数と、各チェーン要素のための方向インデックスとがシグナリングされ得る。しかしながら、いくつかの例では、チェーンコードの数は、シグナリングされるのではなく、たとえば、受信機において、導出され得る。チェーンコードの数をシグナリングしない例では、送信機がシグナリングするように要求され得るビット数は減少され得る。
【００８１】
[0090]図７は、チェーンコードのための１つの可能な方向インデックス４２５を示す図である。たとえば、図７に示されているように、「０」の方向インデックス値は、１つのチェーン要素から次のチェーン要素への方向が左であることを示す。言い換えれば、１つのチェーンから次のチェーン要素に到達するために、左の１つのピクセルに移動する。同様に、「１」の方向インデックス値は、１つのチェーン要素から次のチェーン要素への方向が右であることを示す。「２」の方向インデックス値は、１つのチェーン要素から次のチェーン要素への方向が上であることを示す。「３」の方向インデックス値は、１つのチェーン要素から次のチェーン要素への方向が下であることを示す。
【００８２】
[0091]図７に示されているように、角度方向は、「４」の方向インデックス値が、１つのチェーン要素から次のチェーン要素への方向が、たとえば、「０」の方向インデックス値によって示された方向と「２」の方向インデックス値によって示された方向との間の、左上であることを示す場合も、可能である。同様に、「５」の方向インデックス値は、１つのチェーン要素から次のチェーン要素への方向が、たとえば、「１」の方向インデックス値によって示された方向と「２」の方向インデックス値によって示された方向との間の、右上であることを示す。「６」の方向インデックス値は、１つのチェーン要素から次のチェーン要素への方向が、たとえば、「０」の方向インデックス値によって示された方向と「３」の方向インデックス値によって示された方向との間の、左下であることを示す。「７」の方向インデックス値は、１つのチェーン要素から次のチェーン要素への方向が、たとえば、「１」の方向インデックス値によって示された方向と「３」の方向インデックス値によって示された方向との間の、右下であることを示す。したがって、いくつかの例では、各チェーンコードの方向インデックス４２５は、前のチェーンコードの方向インデックスに基づいて異なってコーディングされ得る。いくつかの例では、これらの角度方向は、図１の符号化ユニット１４および／または復号ユニット１６のいずれかまたは両方などのユニットにおいて使用され得る。
【００８３】
[0092]一例では、それは、チェーン要素の数を含まないビットストリームのシグナリングを可能にし得、チェーンコーディングは、以下のステップを実施することによってパーティションパターンを指定し得る。
【００８４】
１．  チェーンが上から開始するのか左から開始するのかをシグナリングするフラグ
そのフラグは、チェーンが上から開始する場合、「０」として設定され、そのフラグは、チェーンが左から開始する場合、「１」として設定される。いくつかの例では、より多くのビットが、追加の開始位置のシグナリングを提供するために使用され得る。たとえば、２ビットが、チェーンが上境界から開始するのか（たとえば、００）、左境界から開始するのか（たとえば、０１）、下境界から開始するのか（たとえば、１０）、右境界から開始するのか（たとえば、１１）をシグナリングするために使用され得る。
【００８５】
２．  チェーンの開始点位置
Ｎ×Ｎ  ＰＵについて、ｌｏｇ2Ｎビットが、開始位置を指定するために使用される。
【００８６】
３．  パースされ得る１つの追加のチェーン要素と、ＰＵの境界外の座標に対応するチェーン要素とを含む、一連の連結チェーンの方向。各現在チェーン要素の終了座標（ｘ，ｙ）は、各チェーンコードのパーシング中およびその後に追跡され得、チェーンコードをパースした後の座標がＰＵの境界の外にあり、チェーンの現在のパースされた数が１よりも大きいとき、チェーンコードのパーシングは終了する。
【００８７】
４．  各チェーン要素は、サンプル（すなわち、ピクセル）と、図７に示されているように、０から７までインデックス付けされた、それの８連結性サンプルのうちの１つとを連結する。
【００８８】
[0093]これらのステップについて、図８に関して以下でより詳細に説明する。
【００８９】
[0094]上記で説明した例とは対照的に、チェーン要素の数を含まないビットストリームのシグナリングを提供することなしに、上境界、下境界、左境界、および右境界をシグナリングすることを可能にし得る、別の例では、ＨＴＭ４．０におけるチェーンコーディングが、以下のステップを実施することによってパーティションパターンを指定し得る。
【００９０】
１．  チェーンが上から開始するのか左から開始するのかをシグナリングするフラグ
そのフラグは、チェーンが上から開始する場合、「０」として設定され、そのフラグは、チェーンが左から開始する場合、「１」として設定される。
【００９１】
２．  チェーンの開始点位置
Ｎ×Ｎ  ＰＵについて、ｌｏｇ2Ｎビットが、開始位置を指定するために使用される。
【００９２】
３．  総チェーン要素の数
Ｎ×Ｎ  ＰＵのための総チェーン要素の最大数が２Ｎに制限される。したがって、ｌｏｇ2Ｎ＋１ビットが、総チェーン要素の数をシグナリングするために使用される。
【００９３】
４．  一連の連結チェーン要素の方向
各チェーン要素は、サンプルと、図７に示されているように、０から７までインデックス付けされた、それの８連結性サンプルのうちの１つとを連結する。
【００９４】
[0095]これらのステップについて、図９に関して以下でより詳細に説明する。
【００９５】
[0096]表１は、チェーンインデックスのチェーンコードワードの導出を提供するルックアップテーブルである。（チェーンの現在要素のための）現在チェーンインデックスの値は、表１ではｉｄｘＣｕｒによって示される。（チェーンの前の要素のための）前のチェーンインデックスの値は、表１ではｉｄｘＰｒｅによって示される。したがって、エンコーダにおいて、各チェーン要素について、チェーンインデックスｉｄｘＣｕｒとチェーンの前のチェーンインデックスｉｄｘＰｒｅとを仮定すれば、エンコーダは、表１において与えられるｔａｂＣｏｄｅによって指定されたチェーンコードワードｂｉｎＣｕｒによって後続のチェーン要素への移動を表し得る。表１で使用され、ｉｄｘＣｕｒによって表される、現在チェーンインデックスの値は、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを示す（図７に示された）方向インデックス値である。同様に、表１で使用され、ｉｄｘＰｒｅによって表される、前のチェーンインデックスの値は、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを示す（図７に示された）方向インデックス値である。チェーンの各要素は、図７に示されているように、±ｘおよび／または±ｙ方向において１だけオフセットされ得る。表１で使用され、ｉｄｘＰｒｅによって表される、前のチェーンインデックスの初期値は、チェーンの開始位置である。
【表１】
2015533036.tif 000002
【００９６】
[0097]たとえば、一連のチェーンインデックスが図８に示されている。（チェーン中のそれぞれの要素に対応する）一連のチェーンインデックスは「３」、「３」、「３」、「７」、「１」、「１」、「１」、「１」である。したがって、図８に示された例示的なチェーンの要素は以下の値、すなわち、「３」、「３」、「３」、「７」、「１」、「１」、「１」、「１」を有し得る。これらの値は、一連の矢印を含む、図８に示されている。各矢印は、それの隣に、その特定の矢印のための図７の方向値を示す、関連する番号を有する。同様に、図８に示された例示的なチェーンの一連の遅延した要素は以下の値、すなわち、「３」、「３」、「３」、「３」、「７」、「１」、「１」、「１」を有し得る。図８に示された例示的なチェーンの一連の遅延した要素における最初の「３」はチェーンの開始位置によって与えられ、これは、上の、左から３ピクセルのところ、たとえば、位置「３」にある。したがって、図８の例では、表１からのチェーンコードワード値は、以下の表２において要約されるように「０」、「０」、「０」、「１」、「１」、「０」、「０」、「０」である。
【表２】
2015533036.tif 000003
【００９７】
[0098]各チェーンコードワードｂｉｎＣｕｒは、表３を使用して２進数字のシーケンスとして２値化され得る。各チェーンコードワードが２値化された後、各２進数字は、エントロピーコーディングエンジンを使用して符号化され得る。図８の例のための表１および表３からの値が、以下の表４において要約されている。
【表３】
2015533036.tif 000004
【表４】
2015533036.tif 000005
【００９８】
[0099]デコーダにおいて、パースされたチェーンコードワードｂｉｎＣｕｒとそれの前のチェーンインデックスｉｄｘＰｒｅとを仮定すれば、現在チェーンのチェーンインデックスは、表５に示すテーブルｔａｂＩｎｄｅｘを使用して導出される。上記で説明したように、上の、左から３ピクセルのところ、たとえば、位置「３」にある、チェーンの開始位置。ｉｄｘＰｒｅ値は、チェーンの開始位置から導出される。この例では、チェーンの第１の要素は上にある。下境界、左境界、右境界など、他の位置も可能である。したがって、図８に示された例では、一連の遅延した要素、ｉｄｘＰｒｅの第１の値は「３」である。
【００９９】
[0100]表６に示されているように、「表５からの」行では、受信機において受信されるチェーンインデックスのための値は「３」、「３」、「３」、「７」、「１」、「１」、「１」、「１」であり、これは、送信機からの一連のチェーンインデックス値「３」、「３」、「３」、「７」、「１」、「１」、「１」、「１」に一致する。
【表５】
2015533036.tif 000006
【表６】
2015533036.tif 000007
【０１００】
[0101]様々な例では、ｉｄｘＰｒｅは、チェーンが上から開始するとき、３として初期化され、チェーンが左から開始するとき、１として初期化される。他の値が、以下で説明するように、下または右から開始するチェーンのために使用され得る。
【０１０１】
[0102]図８に、パーティションパターンを含むおよび例示的な深度ＰＵを示す。図８に示されているように、一連のチェーンインデックスは「３」、「３」、「３」、「７」、「１」、「１」、「１」、「１」である。例示的な連続（「３」、「３」、「３」、「７」、「１」、「１」、「１」、「１」）は、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングすることを与える。最後の要素を除く要素（たとえば、「３」、「３」、「３」、「７」、「１」、「１」、「１」）の位置の各々が予測ユニット内にある。最後の要素（最終の「１」）の位置は、図８に示されているように、最後から２番目の要素がチェーンの最後の要素であることを示すために予測ユニット外にある。このようにして、本明細書で説明するいくつかの例は、チェーンの総数を７としてシグナリングするために４ビット「０１１１」をコーディングしない。そうではなく、受信機は、それが、チェーンの総数を導出することによって、いつチェーンのすべてを処理したかを判断し得る。
【０１０２】
[0103]たとえば、エンコーダは、パーティションパターンを識別することと、ビットストリームにおいて以下の情報を符号化することとによって、図８に示された例をチェーンコーディングし得る。
【０１０３】
１．  １ビット「０」が、チェーンが上境界から開始することをシグナリングするために符号化される
２．  ３ビット「０１１」が、上境界における開始位置「３」をシグナリングするために符号化される
３．  一連の連結チェーンインデックス「３」、「３」、「３」、「７」、「１」、「１」、「１」、「１」がビットストリームにおいて符号化される。上記で説明したように、エンコーダは、表１におけるルックアップテーブルを使用して各チェーンインデックスをコードワードに変換し得る。最後の「１」が、デコーダがパースし得る追加のチェーンを与える。最後の「１」は、ＰＵの境界外の座標に対応する。これは、最後から２番目の要素がチェーンの最後の要素であることを示すために使用され得る。
【０１０４】
[0104]したがって、受信機（たとえば、図１の復号ユニット１６）において、最初の「０」は、チェーンが上境界から開始することを示すことになる。次の３ビット「０１１」は、上境界における開始位置「３」をシグナリングするために符号化される。この「３」は、上記で説明したように、表１で使用され、ｉｄｘＰｒｅによって表される、前のチェーンインデックスのための第１の値を与え得る。
【０１０５】
[0105]図８に関して説明した例は、概して、Ｎ×Ｎ  ＰＵのための総チェーン数のシグナリングを必要としないことになる。これは、コーディングおよび送信される必要があるビット数を減少させ得る。たとえば、図８の例は、この例では７である、チェーン要素の総数のためのデータをコーディングおよびシグナリングする必要がないであろう。いくつかの例では、Ｎ×Ｎ  ＰＵのための総チェーンの最大数は２Ｎであるように制限され得る。したがって、ｌｏｇ2Ｎ＋１ビットが、総チェーンの数をシグナリングするために使用され得、この例における信号データはその場合、たとえば、４ビットであり得る。第８のチェーン要素は、ＰＵ内になく、チェーンの総数をシグナリングする例においてシグナリングされないであろう。
【０１０６】
[0106]チェーンコーディングを使用する図８に示された例のための復号プロセスは、概して符号化プロセスの逆であり得る。たとえば、チェーンコーディングを使用してＮ×Ｎ  ＰＵを復号するために、以下のステップが適用される。
【０１０７】
−  ステップ１：１ビットフラグｓｔａｒｔをパースする、
−  ステップ２：開始位置ｐｏｓをパースする、
−  ステップ３：チェーンの要素間の方向を表す２値化値をパースする。これは、ＰＵ外の要素に達するまで繰り返され得る、
−  ステップ４：Ｎ×Ｎバイナリブロックであるパーティションパターンｐａｔｔｅｒｎを再構成する、
−  ステップ５：ｐａｔｔｅｒｎを使用してＰＵを復号する。
【０１０８】
[0107]一例では、ｐａｔｔｅｒｎは、チェーンの開始位置をシグナリングするフラグの値を判断して、作成され得る。パースされ得る１つの追加のチェーン要素と、ＰＵの境界外の座標に対応するチェーン要素とを含む、一連の連結チェーンの方向。各チェーン要素は、サンプル（すなわち、ピクセル）と、図７に示されているように、０から７までインデックス付けされた、それの８連結性サンプルのうちの１つとを連結し得る。Ｎ×Ｎバイナリブロックであり得る、パーティションｐａｔｔｅｒｎが再構成されるとき、値は、予測ユニットを反転するためにスワップされ得る。予測ユニットを上から下にに反転することが、上開始を下開始とは区別するために使用され得る。これについて以下でより詳細に説明する。
【０１０９】
[0108]図９に、パーティションパターンを含む例示的な深度ＰＵを示す。図９に示されているように、一連のチェーンインデックスは「３」、「３」、「３」、「７」、「１」、「１」、「１」である。例示的な連続（「３」、「３」、「３」、「７」、「１」、「１」、「１」）は、ビデオデータの予測ユニットを区分するチェーンの要素の位置を識別するために使用される方向を表すデータをコーディングすることを与える。それらの要素（たとえば、「３」、「３」、「３」、「７」、「１」、「１」、「１」）の位置の各々が予測ユニット内にある。この例では、ＰＵ外にある位置が、図９に示されているように、最後から２番目の要素がチェーンの最後の要素であることを示すために使用されない。そうではなく、エンコーダは、チェーンの総数をコーディングする。一例では、チェーンの総数が０よりも大きいので、チェーンの数ではなくチェーンの数−１が２値化され、ビットストリーム中に符号化され得る。たとえば、図９に示されているように、４ビット「０１１０」が、チェーンの総数を７としてシグナリングするためにコーディングされ得る。他の例は、「０１１１」または他の２進値を２値化し、ビットストリーム中に符号化し得る。これは、チェーン要素の数を含まないビットストリームのシグナリングを提供することなしに、上境界、下境界、左境界、および右境界をシグナリングすることを可能にする、例とともに使用され得る。
【０１１０】
[0109]たとえば、エンコーダは、パーティションパターンを識別し、ビットストリームにおいて以下の情報を符号化し得る。
【０１１１】
１．  １ビット「０」が、チェーンが上境界から開始することをシグナリングするために符号化される
２．  ３ビット「０１１」が、上境界における開始位置「３」をシグナリングするために符号化される
３．  ４ビット「０１１０」が、チェーンの総数を７としてシグナリングするために符号化される
４．  一連の連結チェーンインデックス「３、３、３、７、１、１、１」が符号化され、各チェーンインデックスが、表１におけるルックアップテーブルを使用してコードワードに変換される。
【０１１２】
[0110]図９の例は、以下で説明するように、上境界、下境界、左境界、または右境界と交差するパーティション境界を含むが、チェーンコーディング中に含まれるチェーンの総数をコーディングする、パーティションパターンを提供する態様を含み得る。さらに、いくつかの例では、これは、図１の符号化ユニット１４および／または復号ユニット１６のいずれかまたは両方などのユニットにおいて使用され得る。
【０１１３】
[0111]チェーンコーディングを使用する図１１に示す例のための復号プロセスは、概して符号化プロセスの逆であり得る。いくつかの例では、これは、図１の復号ユニット１６などのユニットにおいて使用され得る。たとえば、チェーンコーディングを使用してＮ×Ｎ  ＰＵを復号するために、以下のステップが適用される。
【０１１４】
−  ステップ１：１ビットフラグｓｔａｒｔをパースする、
−  ステップ２：開始位置ｐｏｓをパースする、
−  ステップ３：チェーン要素の数、ｎｕｍをパースする、
−  ステップ４：ｎｕｍ個のエッジコードワードをパースする、
−  ステップ５：Ｎ×Ｎバイナリブロックであるパーティションパターンｐａｔｔｅｒｎを再構成する、
−  ステップ６：ｐａｔｔｅｒｎを使用してＰＵを復号する。
【０１１５】
[0112]図１０は、本開示で説明する１つまたは複数の例による、例示的な方法を示すフローチャートである。この例では、ビデオエンコーダ２０は、図１０の方法のステップ４３０〜４４２を実施し得、ビデオデコーダ３０は、図１０の方法のステップ４４４〜４５４を実施し得る。説明のために単一の方法として示されているが、符号化プロセスおよび復号プロセスが必ずしも連続的に実施されるとは限らないことを理解されたい。たとえば、ネットワークを介した転送、あるいはＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）、または他のコンピュータ可読媒体など、コンピュータ可読媒体上へのブロードキャストまたは記録など、様々な介在するステップがある場合、著しい量の時間が符号化と復号との間で経過し得る。一例では、イントラ予測ユニット４６は、ＰＵのための輪郭／チェーンコーディングモードを選択する（４３０）。輪郭／チェーンコーディングが選択されたとき、ビデオエンコーダ２０は、チェーン中の要素の数を表すデータをコーディングまたは送信することなしに、ブロックをチェーンコーディングし得る。
【０１１６】
[0113]また、パーティションユニット４８は、チェーンコーディングモードを使用してＰＵを区分する（４３２）。たとえば、イントラ予測ユニット４６は、たとえば、図５に、示されているように、ＰＵを２つの別個の領域に分けるためにチェーンを使用し得る。これらの別個の領域は、チェーンの開始位置をシグナリングするフラグの値を判断することと、パースされ得る１つの追加のチェーン要素と、ＰＵの境界外の座標に対応するチェーン要素とを含む、一連の連結チェーンの方向を判断することとによって生成され得る。各チェーン要素は、サンプル（すなわち、ピクセル）と、図７に示されているように、０から７までインデックス付けされた、それの８連結性サンプルのうちの１つとを連結し得る。
【０１１７】
[0114]ビデオエンコーダ２０のイントラ予測ユニット４６は、チェーン要素を表すデータを符号化する（４３４）。このコーディングは、たとえば、チェーン要素を表すデータを２値化することによって、実施され得る。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。それらの様々なモードは図４に示されている。
【０１１８】
[0115]モード選択ユニット４０は、ＰＵのパーティションのためのイントラモードを選択する（４３６）。たとえば、モード選択ユニット４０は、たとえば、誤差結果に基づいてコーディングモード、すなわち、イントラまたはインターのうちの１つを選択し得、残差ブロックデータを生成するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器５０に与え、参照ピクチャ内で使用するための符号化されたブロックを再構成するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器６２に与える。
【０１１９】
[0116]加算器５０は、図２に示されているように、ＰＵのための残差ブロックを計算する（４３８）。ビデオエンコーダ２０は、残差ブロックを変換し、量子化する（４４０）。たとえば、変換処理ユニット５２は、変換係数を形成するために、残差ブロックのピクセル値に（ＤＣＴなどの）変換を適用し得、量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化し得る。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化された変換係数を含む行列の走査を実施し得る。代替的に、エントロピー符号化ユニット５６が走査を実施し得る。
【０１２０】
[0117]エンコーダ２０は、残差ブロックの量子化された変換係数をＣＡＢＡＣ符号化する（４４２）。たとえば、エントロピーコーディングユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピーコーディング技法を実施し得る。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。
【０１２１】
[0118]ビデオデコーダ３０は、残差ブロックの量子化された変換係数をＣＡＢＡＣ復号する（４４４）。このプロセスは、たとえば、エントロピー復号ユニット７０によって、実施され得る。したがって、エントロピー復号ユニット７０は、残差ブロックの量子化された変換係数を生成するためにビットストリームをエントロピー復号し得る。
【０１２２】
[0119]逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する（４４６）。
【０１２３】
[0120]加算器８０は、図３に示されているように残差ブロックをＰＵ中に追加して戻し（４４８）、ビデオデコーダ３０は、ＰＵを区分するためのイントラモードを判断する（４５０）。
【０１２４】
[0121]ビデオデコーダ３０は、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを復号する（４５２）。この場合も、最後の要素を除く要素の位置の各々が予測ユニット内にあり得、最後の要素の位置は、最後の要素がチェーンの最後の要素であることを示すために予測ユニット外にあり得る。したがって、ビデオデコーダ３０は、ＰＵを区分し、元のブロックを再生するためにチェーンコーディングモードを使用する（４５４）。
【０１２５】
[0122]図１１の例では、デコーダ、たとえば、図１の復号ユニット１６または図３のビデオデコーダ３０が、チェーンが開始するどのエッジを判断するために１ビットフラグｓｔａｒｔをパースする（４７５）。エンコーダ、たとえば、図１の符号化ユニット１４または図３のエンコーダ３０が、上記で説明したように、ビデオデータを符号化するために逆のプロセスを実施し得る。デコーダは、チェーンがエッジ上のどこで開始するかを判断するために、開始位置ｐｏｓをもパースする（４７７）。デコーダは、チェーン要素の数、ｎｕｍをもパースし得る。これは随意である。本明細書で説明するように、一部の例は、チェーン要素の数、および／または各チェーン要素がいつ処理されたかを導出する。デコーダは、本明細書で説明するように、シグナリングされた数に基づいて、またはそのようなシグナリングされた数なしに、上記数のチェーン要素コードワードをパースする（４８１）。チェーン要素から、デコーダは、パーティションパターを再構成し（４８３）、パターンを使用してＰＵを復号する（４８５）。本明細書で前に説明したように、パースされ得る１つの追加のチェーン要素と、ＰＵの境界外の座標に対応するチェーン要素とを含む、一連の連結チェーンの方向。各チェーン要素は、サンプル（すなわち、ピクセル）と、図７に示されているように、０から７までインデックス付けされた、それの８連結性サンプルのうちの１つとを連結し得る。Ｎ×Ｎバイナリブロックであり得る、パーティションｐａｔｔｅｒｎが再構成されるとき、値は、予測ユニットを反転するためにスワップされ得る。予測ユニットを上から下にに反転することが、上開始を下開始とは区別するために使用され得る。これについて以下でより詳細に説明する。
【０１２６】
[0123]本明細書で説明するいくつかの例は、チェーン中の要素の数をシグナリングするのではなく、チェーン中の要素の数を導出することを提供する。チェーン中の要素の総数をシグナリングすることは、Ｎ×Ｎ  ＰＵのためにｌｏｇ2Ｎ＋１ビットを使用することになる。要素の数はビットストリームから除去され得る。１つの追加の要素がパースされ得、ＰＵの境界外の座標に対応する要素がパースされ得る。各現在要素の終了座標（ｘ，ｙ）は、各チェーンコードのパーシング中およびその後に追跡され得る。要素の座標が、チェーンコードをパースした後に、ＰＵの境界の外にあり、チェーンの現在のパースされた数が１よりも大きいとき、チェーンコードのパーシングは終了する。
【０１２７】
[0124]いくつかの例では、パーティションパターンは、チェーンコーディング中に含まれる上境界または左境界のいずれかであると交差するにすぎないことがある。他の例は、上境界、下境界、右境界、または左境界と交差することがあるパーティションパターンを提供する。２ビットが、チェーンが上から開始するのか（たとえば、００）、左から開始するのか（たとえば、０１）、下から開始するのか（たとえば、１０）、右から開始するのか（たとえば、１１）をシグナリングするために使用され得る。別の代替では、チェーンが下から開始するとき、開始位置は、チェーンが上から開始するのと同様の方法で初期化され得、復号されたパーティションパターンは上および下に反転される。チェーンが右から開始するとき、開始位置は、チェーンが左から開始するのと同様の方法で初期化され、復号されたパーティションパターンは右および左に反転される。
【０１２８】
[0125]代替的に、１ビットが、左から開始することを示すために使用され得、２ビットが、上または下のいずれかから開始することを示すために使用され得る。たとえば、０は左を示しており、１０は上を示しており、１１は下を示している。場合によっては、下から開始するとき、チェーンは、ＰＵの右境界において終了しなければならない。
【０１２９】
[0126]一例では、最後のチェーン位置とチェーンの総数との導出は、最後のチェーンが識別されるまで、パースされたチェーンコードワードの数にも基づいて導出され得る。一例では、最後の要素を除く要素の位置は予測ユニット内にあり得、最後の要素の位置は予測ユニット外にある。予測ユニット外に最後の要素の位置を有することは、最後の要素がチェーンの最後の要素であることを示し得る。したがって、デコーダは、各チェーンコードワードの終了座標を追跡し、区分プロセスを実施し得、そのプロセスは、追加のチェーンコードワードが境界外の座標に対応すると、終了される。たとえば、変数が、チェーンの総数を記憶するために０に初期化され得る。いくつかの例では、区分プロセスは、チェーンコードワードの復号中に実施されないことがある。たとえば、区分プロセスは、チェーンコードワードのすべてが復号された後、実施され得る。チェーン上のロケーションを示す、前のインデックスが、チェーンが上境界または下境界のいずれかから開始する場合、たとえば、３に初期化され得る。チェーンが上境界または下境界のいずれかから開始しない場合、前のインデックスは１に初期化され得る。
【０１３０】
[0127]一例は、チェーンコードワードのためのインデックスを判断するためにチェーンコードワードをパースし得る。パースされたチェーンコードワードに基づいて、デコーダは、チェーンの位置が境界上にあるかどうかを判断し得る。これは、デコーダが、最後から２番目の要素がチェーンの最後の要素であるかどうかを判断することを可能にする。チェーンの総数も、最後から２番目の要素に基づいてデコーダにおいて判断され得る。
【０１３１】
[0128]一例では、チェーンコードワードをパースすることは、チェーンコードワードに基づいてｘおよびｙピクセル方向移動を判断するためにルックアップテーブルを使用することをさらに備える。さらに、次のチェーンの位置が境界上にあるかどうかを判断するために検査することが、ルックアップテーブルからのｘおよびｙピクセル方向移動に基づいてｘ位置およびｙ位置を設定することをさらに備える。次のチェーンの位置は、ｘ位置およびｙ位置がＰＵ内にないとき、境界上にある。
【０１３２】
[0129]図１２は、チェーンコーディングにおける最後のチェーン位置の導出を示すフローチャートである。一例では、チェーンがそれから開始する境界をシグナリングするフラグｓｔａｒｔと、開始位置（ｐｏｓｘ，ｐｏｓｙ）とを仮定すれば、チェーンの総数ｎｕｍは以下のステップによって導出される。
【０１３３】
−  ステップ１において、コーダ、概してデコーダが、ｎｕｍを０として初期化し、ｉｄｘＰｒｅをも初期化する（４９０）。チェーンが上境界または下境界から開始する場合、ｉｄｘＰｒｅを３として設定し、他の場合、ｉｄｘＰｒｅを１として設定する、
−  ステップ２において、コーダは、ｂｉｎＣｕｒとしての１つのチェーンコードワードをパースし、ｉｄｘＣｕｒをｔａｂＩｄｘ［ｉｄｘＰｒｅ］［ｂｉｎＣｕｒ］として設定する（４９２）、
−  ステップ３において、コーダは、ｐｏｓｘをｐｏｓｘ＋ｔａｂＤｅｌｔａＸ［ｉｄｘＣｕｒ］として、およびｐｏｓｙをｐｏｓｙ＋ｔａｂＤｅｌｔａＹ［ｉｄｘＣｕｒ］として設定し、ｎｕｍをｎｕｍ＋１として設定し、ｉｄｘＰｒｅをｉｄｘＣｕｒとして設定し得る。「０≦ｐｏｓｘ＜Ｎおよび０≦ｐｏｓｙ＜Ｎ」または「ｎｕｍ≦１である場合、ステップ２（４９２）がコーダによって繰り返され得る、
−  ステップ４において、コーダは、最後のチェーン位置を識別し、ｎｕｍをｎｕｍ−１として設定し得る。このステップは随意である。
【０１３４】
[0130]上記のステップ３において、ｔａｂＤｅｌｔａＸおよびｔａｂＤｅｌｔａＹは、表７に示す２つのあらかじめ定義されたテーブルである。表７におけるｔａｂＤｅｌｔａＸおよびｔａｂＤｅｌｔａＹの値は、現在インデックス値に基づいてｘおよびｙ位置の変化をマッピングすることによってチェーンの要素に沿ったＰＵにおける移動を提供する。言い換えれば、表７は、図７に関して説明したインデックス０〜７に基づいてｘおよびｙの変化を提供する。たとえば、図７に示されているように、左である「０」のインデックスは、ｘ方向における−１およびｙ方向における０の移動を含むであろう。これらは、表７によって与えられるのと同じ値である。
【０１３５】
[0131]同様に、右への移動として、図７に示されている、「１」のインデックスについて、ｘ方向における１およびｙ方向における０の移動を含むであろう。上への移動として、図７に示されている、「２」のインデックスについて、ｘ方向における０およびｙ方向における１の移動を含むであろう。下への移動として、図７に示されている、「３」のインデックスについて、ｘ方向における０およびｙ方向における−１の移動を含むであろう。方向「４」、「５」、「６」、および「７」など、角度方向も表７において提供され、±１のｘおよびｙ値が、インデックスによって指定された角度方向に依存する。
【表７】
2015533036.tif 000008
【０１３６】
チェーンコーディングにおける最後のチェーン位置の導出のためのフローチャートが図１１に示されている。いくつかの例では、これは、図１の符号化ユニット１４および／または復号ユニット１６のいずれかまたは両方などのユニットにおいて使用され得る。
【０１３７】
[0132]いくつかの例は、ＰＵの下境界または右境界から開始するチェーンコーディングをサポートし得る。現在ＰＵがチェーンコーディングを使用して符号化されるとき、２ビットが、２ビットフラグｓｔａｒｔを与えるためにパースされ得る。フラグｓｔａｒｔは、チェーンがそれから開始する境界（上、左、下または右）を識別する。
【０１３８】
[0133]Ｎ×Ｎバイナリブロックであり得る、パーティションパターンｐａｔｔｅｒｎが再構成されるとき、値は、予測ユニットを反転するためにスワップされ得る。予測ユニットを上から下にに反転することが、上開始を下開始とは区別するために使用され得る。これは、０から  までの各ｉおよび０からＮ−１までの各ｊについて、値（ｉ，ｊ）を値（Ｎ−１−ｉ，ｊ）とスワップすることを含み得る。同様に、予測ユニットを右から左に反転することが、左開始または右開始とは区別するために使用され得る。これは、０からＮ−１までの各ｉおよび０から  までの各ｊについて、値（ｉ，ｊ）を値（Ｎ−１−ｉ，ｊ）とスワップすることを含み得る。
【０１３９】
[0134]したがって、以下が適用され得、ただし、「＝」はスワップを示す。
【０１４０】
−  チェーンが下境界から開始する場合、０から  までの各ｉおよび０からＮ−１までの各ｊについて、ｐａｔｔｅｒｎ（ｉ，ｊ）＝ｐａｔｔｅｒｎ（Ｎ−１−ｉ，ｊ）であり、
−  チェーンが右境界から開始する場合、０からＮ−１までの各ｉおよび０から  までの各ｊについて、ｐａｔｔｅｒｎ（ｉ，ｊ）＝ｐａｔｔｅｒｎ（ｉ，Ｎ−１−ｊ）である。
【０１４１】
[0135]スワップ動作を実施するために、チェーンが下境界から開始する場合、以下が実施され得る。
【数１】
2015533036.tif 000009
【０１４２】
[0136]代替的に、チェーンが右境界から開始する場合、以下がスワップ動作を実施するために実施され得る。
【数２】
2015533036.tif 000010
【０１４３】
[0137]図１３は、本開示で説明する１つまたは複数の例による、例示的な方法を示すフローチャートである。符号化ユニット１４など、エンコーダ、または復号ユニット１６など、デコーダが、図１３の方法を使用してチェーンの要素の位置を表すデータをコーディングし得る。チェーンの要素は、ビデオデータの予測ユニットを区分し得る。さらに、最後の要素を除く要素の位置の各々が予測ユニット内にあり得る。最後の要素の位置は、最後から２番目の要素がチェーンの最後の要素であることを示すために予測ユニット外にあり得る（５００）。
【０１４４】
[0138]エンコーダまたはデコーダは、チェーンに基づく予測ユニットのパーティションをコーディングする（５０２）。たとえば、ルックアップテーブルが、チェーンインデックスのチェーンコードワードの導出を提供し得る。現在チェーンインデックスおよび前のチェーンインデックスの値が、チェーンコードワードを判断するためにルックアップテーブルにおいてルックアップを実施するために使用され得る。前のチェーンインデックスの値は、１だけオフセットされた、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを示す方向インデックス値である。使用される、前のチェーンインデックスの初期値はチェーンの開始位置である。たとえば、上記で説明したように、図８に示されているような一連のチェーンインデックスは「３」、「３」、「３」、「７」、「１」、「１」、「１」、「１」である。各チェーンコードワードは、２進数字のシーケンスとして２値化され得る。各チェーンコードワードが２値化された後、各２進数字は、エントロピーコーディングエンジンを使用して符号化され得る。いくつかの例では、これは、図１の符号化ユニット１４および／または復号ユニット１６のいずれかまたは両方などのユニットにおいて使用され得る。図１３の方法は、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングすることと、ここにおいて、最後の要素を除く要素の位置の各々が予測ユニット内にあり、ここにおいて、最後の要素の位置は、最後から２番目の要素がチェーンの最後の要素であることを示すために予測ユニット外にある、チェーンに基づく予測ユニットのパーティションをコーディングすることとを含む、方法の一例を表す。
【０１４５】
[0139]デコーダにおいて、パースされたチェーンコードワードおよびそれの前のチェーンインデックスが、現在チェーンのチェーンインデックスを導出するために使用され得る。上記で説明したように、チェーンの開始位置は、前のチェーンインデックスのための初期値を与え得る。
【０１４６】
[0140]１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、コンピュータ可読媒体上の１つまたは複数の命令またはコード上に記憶されるか、あるいはそのような命令またはコードとして送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１４７】
[0141]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１４８】
[0142]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１４９】
[0143]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実施するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１５０】
[0144]様々な例について説明した。これらおよび他の例は、以下の特許請求の範囲によって定義された本発明の範囲内に入る。
【図１】
2015533036.tif 000011
【図２】
2015533036.tif 000012
【図３】
2015533036.tif 000013
【図４】
2015533036.tif 000014
【図５】
2015533036.tif 000015
【図６】
2015533036.tif 000016
【図７】
2015533036.tif 000017
【図８】
2015533036.tif 000018
【図９】
2015533036.tif 000019
【図１０】
2015533036.tif 000020
【図１１】
2015533036.tif 000021
【図１２】
2015533036.tif 000022
【図１３】
2015533036.tif 000023
【手続補正書】
【提出日】平成27年8月27日(2015.8.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータをコーディングする方法であって、前記方法は、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングすることと、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の位置は、最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットのパーティションをコーディングすることとを備える、方法。
【請求項２】
前記予測ユニットをコーディングすることが、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを符号化することと、
前記チェーンに基づく前記予測ユニットの前記パーティションを符号化することとを備える、請求項１に記載の方法。
【請求項３】
前記予測ユニットをコーディングすることが、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを復号することと、
前記チェーンに基づく前記予測ユニットの前記パーティションを復号することとを備える、請求項１に記載の方法。
【請求項４】
各チェーンコードワードの終了座標を追跡することをさらに備え、前記追跡することは、追加のチェーンコードワードが境界外の座標に対応すると、終了される、請求項３に記載の方法。
【請求項５】
各チェーンコードワードの前記終了座標を追跡することは、
チェーンの総数を記憶するための変数を０に初期化することと、
前記チェーンが上境界または下境界のいずれかから開始する場合、前のインデックスを３に初期化することと、チェーンが上境界または下境界のいずれかから開始しない場合、前記前のインデックスを１に初期化することと、前記前のインデックスが、前記チェーン上のロケーションを示す値を備える、
前記チェーンコードワードのためのインデックスを判断するために前記チェーンコードワードをパースすることと、
前記最後から２番目の要素が前記チェーンの最後の要素であると判断するために、前記チェーンの位置が境界上にあるかどうかを判断することと、
前記最後から２番目の要素に基づいてチェーンの前記総数を判断することとを備える、請求項４に記載の方法。
【請求項６】
前記チェーンコードワードをパースすることが、前記チェーンコードワードに基づいてｘおよびｙピクセル方向移動を判断するためにルックアップテーブルを使用することをさらに備え、
次のチェーンの位置が前記境界上にあるかどうかを判断するために検査することが、前記ルックアップテーブルからの前記ｘおよびｙピクセル方向移動に基づいてｘ位置およびｙ位置を設定することをさらに備え、ここにおいて、前記次のチェーンの前記位置は、前記ｘ位置および前記ｙ位置が前記予測ユニットの境界内にないとき、前記境界上にある、
チェーンの前記総数を判断することは、前記次のチェーンの前記位置が前記境界上にあるという判断が行われたとき、チェーンの前記総数を記憶するための前記変数から１を減算することをさらに備える、請求項５に記載の方法。
【請求項７】
チェーンステーティング位置をコーディングすることは、
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが垂直エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの左エッジ上で開始するのか右エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが水平エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの上エッジ上で開始するのか下エッジ上で開始するのかを示すデータをコーディングすることとを備える、請求項１に記載の方法。
【請求項８】
チェーンステーティング位置をコーディングすることは、
前記要素の前記位置を表す前記データに基づいて、前記チェーンが左エッジまたは上エッジのいずれかにおいて開始する場合、前記予測ユニットのピクセルが第１のパーティションに属するのか第２のパーティションに属するのかを示すパーティションマップを作成することと、
前記チェーンが右エッジ上で開始するとき、前記パーティションマップを水平方向に反転することと、
前記チェーンが前記下エッジ上で開始するとき、前記パーティションマップを垂直方向に反転することとを備える、請求項１に記載の方法。
【請求項９】
チェーンステーティング位置をコーディングすることは、
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングすることと、
上開始を下開始とは区別するために、前記要素の前記位置を表すパーティションマップを上から下に反転することと、左開始または右開始とは区別するために前記パーティションマップを右から左に反転することとを備える、請求項１に記載の方法。
【請求項１０】
上開始を下開始とは区別するために前記予測ユニットを上から下に反転することが、０から
【数１】
2015533036.tif 000024
までの各ｉおよび０からＮ−１までの各ｊについて、値（ｉ，ｊ）を値（Ｎ−１−ｉ，ｊ）とスワップすることを備え、左開始または右開始とは区別するために前記予測ユニットを右から左に反転することが、０からＮ−１までの各ｉおよび０から
【数２】
2015533036.tif 000025
までの各ｊについて、値（ｉ，ｊ）を値（Ｎ−１−ｉ，ｊ）とスワップすることを備える、請求項９に記載の方法。
【請求項１１】
チェーン開始位置をコーディングすることをさらに備え、前記チェーンが、前記予測ユニットの上境界において開始するのか、前記予測ユニットの左境界において開始するのか、前記予測ユニットの下境界において開始するのか、前記予測ユニットの右境界において開始するのかを示す、２ビットフラグをコーディングすることを備える、請求項１に記載の方法。
【請求項１２】
「００」の２進値が上エッジを示し、「０１」の２進値が左エッジを示し、「１０」の２進値が下エッジを示し、「１１」の２進値が右エッジを示す、請求項１１に記載の方法。
【請求項１３】
１ビットが、左境界から開始することを示し、２ビットが、上境界または下境界のいずれかから開始することを示す、請求項１に記載の方法。
【請求項１４】
下境界から開始するとき、前記方法が、前記予測ユニットの右境界において前記チェーンを終了することをさらに備える、請求項１３に記載の方法。
【請求項１５】
ビデオデータをコーディングすることが、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータと、前記チェーンに基づく前記予測ユニットの前記パーティションとを、前記予測ユニットのための前記チェーン中の要素の数を示す値をコーディングすることなしに、コーディングすることを備える、請求項１に記載の方法。
【請求項１６】
ビデオデータをコーディングするためのビデオコーダであって、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングすることと、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の位置は、最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットのパーティションをコーディングすることとを行うように構成された１つまたは複数のプロセッサを備える、ビデオコーダ。
【請求項１７】
前記ビデオコーダが、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを符号化し、
前記チェーンに基づく前記予測ユニットの前記パーティションを符号化する、請求項１６に記載のビデオコーダ。
【請求項１８】
前記ビデオコーダが、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを復号し、
前記チェーンに基づく前記予測ユニットの前記パーティションを復号する、請求項１６に記載のビデオコーダ。
【請求項１９】
前記１つまたは複数のプロセッサが、各チェーンコードワードの終了座標を追跡するように構成され、前記追跡することは、追加のチェーンコードワードが境界外の座標に対応すると、終了される、請求項１８に記載のビデオコーダ。
【請求項２０】
前記１つまたは複数のプロセッサが、各チェーンコードワードの前記終了座標を追跡するように構成され、ここにおいて、前記追跡することは、
チェーンの総数を記憶するための変数を０に初期化することと、
前記チェーンが上境界または下境界のいずれかから開始する場合、前のインデックスを３に初期化することと、チェーンが上境界または下境界のいずれかから開始しない場合、前記前のインデックスを１に初期化することと、前記前のインデックスが、前記チェーン上のロケーションを示す値を備える、
前記チェーンコードワードのためのインデックスを判断するために前記チェーンコードワードをパースすることと、
前記最後から２番目の要素が前記チェーンの最後の要素であると判断するために、前記チェーンの位置が境界上にあるかどうかを判断することと、
前記最後から２番目の要素に基づいてチェーンの前記総数を判断することとを備える、請求項１９に記載のビデオコーダ。
【請求項２１】
前記チェーンコードワードをパースすることが、前記チェーンコードワードに基づいてｘおよびｙピクセル方向移動を判断するためにルックアップテーブルを使用することをさらに備え、
次のチェーンの位置が前記境界上にあるかどうかを判断するために検査することが、前記ルックアップテーブルからの前記ｘおよびｙピクセル方向移動に基づいてｘ位置およびｙ位置を設定することをさらに備え、ここにおいて、前記次のチェーンの前記位置は、前記ｘ位置および前記ｙ位置が前記予測ユニットの境界内にないとき、前記境界上にある、
チェーンの前記総数を判断することは、前記次のチェーンの前記位置が前記境界上にあるという判断が行われたとき、チェーンの前記総数を記憶するための前記変数から１を減算することをさらに備える、請求項２０に記載のビデオコーダ。
【請求項２２】
前記１つまたは複数のプロセッサは、
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが垂直エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの左エッジ上で開始するのか右エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが水平エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの上エッジ上で開始するのか下エッジ上で開始するのかを示すデータをコーディングすることとを行うように構成された、請求項１６に記載のビデオコーダ。
【請求項２３】
チェーンステーティング位置をコーディングすることは、
前記要素の前記位置を表す前記データに基づいて、前記チェーンが左エッジまたは上エッジのいずれかにおいて開始する場合、前記予測ユニットのピクセルが第１のパーティションに属するのか第２のパーティションに属するのかを示すパーティションマップを作成することと、
前記チェーンが右エッジ上で開始するとき、前記パーティションマップを水平方向に反転することと、
前記チェーンが下エッジ上で開始するとき、前記パーティションマップを垂直方向に反転することとを備える、請求項１６に記載のビデオコーダ。
【請求項２４】
チェーンステーティング位置をコーディングすることは、
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングすることと、
上開始を下開始とは区別するために、前記要素の前記位置を表すパーティションマップを上から下に反転することと、左開始または右開始とは区別するために前記パーティションマップを右から左に反転することとを備える、請求項１６に記載のビデオコーダ。
【請求項２５】
上開始を下開始とは区別するために前記予測ユニットを上から下に反転することが、０から
【数３】
2015533036.tif 000026
までの各ｉおよび０からＮ−１までの各ｊについて、値（ｉ，ｊ）を値（Ｎ−１−ｉ，ｊ）とスワップすることを備え、左開始または右開始とは区別するために前記予測ユニットを右から左に反転することが、０からＮ−１までの各ｉおよび０から
【数４】
2015533036.tif 000027
までの各ｊについて、値（ｉ，ｊ）を値（Ｎ−１−ｉ，ｊ）とスワップすることを備える、請求項２４に記載のビデオコーダ。
【請求項２６】
チェーン開始位置をコーディングすることをさらに備え、前記チェーンが、前記予測ユニットの上境界において開始するのか、前記予測ユニットの左境界において開始するのか、前記予測ユニットの下境界において開始するのか、前記予測ユニットの右境界において開始するのかを示す、２ビットフラグをコーディングすることを備える、請求項１６に記載のビデオコーダ。
【請求項２７】
「００」の２進値が上エッジを示し、「０１」の２進値が左エッジを示し、「１０」の２進値が下エッジを示し、「１１」の２進値が右エッジを示す、請求項１６に記載のビデオコーダ。
【請求項２８】
１ビットが、左境界から開始することを示し、２ビットが、上境界または下境界のいずれかから開始することを示す、請求項１６に記載のビデオコーダ。
【請求項２９】
下境界から開始するとき、前記予測ユニットの右境界において前記チェーンを終了する、請求項１６に記載のビデオコーダ。
【請求項３０】
ビデオデータをコーディングすることが、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータと、前記チェーンに基づく前記予測ユニットの前記パーティションとを、前記予測ユニットのための前記チェーン中の要素の数を示す値をコーディングすることなしに、コーディングすることを備える、請求項１６に記載のビデオコーダ。
【請求項３１】
ビデオデータをコーディングするための装置であって、前記装置は、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングするための手段と、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の位置は、最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットのパーティションをコーディングするための手段とを備える、装置。
【請求項３２】
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを符号化するための手段と、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の前記位置は、前記最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットの前記パーティションを符号化するための手段とを備える、請求項３１に記載の装置。
【請求項３３】
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを復号するための手段と、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の前記位置は、前記最後の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットの前記パーティションを復号するための手段とを備える、請求項３１に記載の装置。
【請求項３４】
各チェーンコードワードの終了座標を追跡するための手段を備え、前記追跡することは、追加のチェーンコードワードが境界外の座標に対応すると、終了される、請求項３３に記載の装置。
【請求項３５】
チェーンの総数を記憶するための変数を０に初期化するための手段と、
前記チェーンが上境界または下境界のいずれかから開始する場合、前のインデックスを３に初期化するための手段と、チェーンが上境界または下境界のいずれかから開始しない場合、前記前のインデックスを１に初期化するための手段と、前記前のインデックスが、前記チェーン上のロケーションを示す値を備える、
前記チェーンコードワードのためのインデックスを判断するために前記チェーンコードワードをパースするための手段と、
前記最後から２番目の要素が前記チェーンの最後の要素であると判断するために、前記チェーンの位置が境界上にあるかどうかを判断するための手段と、
前記最後から２番目の要素に基づいてチェーンの前記総数を判断するための手段とを備える、請求項３４に記載の装置。
【請求項３６】
前記チェーンコードワードをパースするための前記手段が、前記チェーンコードワードに基づいてｘおよびｙピクセル方向移動を判断するためにルックアップテーブルを使用することをさらに備え、
次のチェーンの位置が前記境界上にあるかどうかを判断するために検査することが、前記ルックアップテーブルからの前記ｘおよびｙピクセル方向移動に基づいてｘ位置およびｙ位置を設定するための手段をさらに備え、ここにおいて、前記次のチェーンの前記位置は、前記ｘ位置および前記ｙ位置が前記予測ユニットの境界内にないとき、前記境界上にある、
チェーンの前記総数を判断するための前記手段は、前記次のチェーンの前記位置が前記境界上にあるという判断が行われたとき、チェーンの前記総数を記憶するための前記変数から１を減算することをさらに備える、請求項３５に記載の装置。
【請求項３７】
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングするための手段と、
前記データが、前記チェーンが垂直エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの左エッジ上で開始するのか右エッジ上で開始するのかを示すデータをコーディングするための手段と、
前記データが、前記チェーンが水平エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの上エッジ上で開始するのか下エッジ上で開始するのかを示すデータをコーディングする手段とを備える、請求項３１に記載の装置。
【請求項３８】
前記要素の前記位置を表す前記データに基づいて、前記チェーンが左エッジまたは上エッジのいずれかにおいて開始する場合、前記予測ユニットのピクセルが第１のパーティションに属するのか第２のパーティションに属するのかを示すパーティションマップを作成するための手段と、
前記チェーンが右エッジ上で開始するとき、前記パーティションマップを水平方向に反転するための手段と、
前記チェーンが下エッジ上で開始するとき、前記パーティションマップを垂直方向に反転するための手段とを備える、請求項３１に記載の装置。
【請求項３９】
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータと、前記チェーンに基づく前記予測ユニットの前記パーティションとを、前記予測ユニットのための前記チェーン中の要素の数を示す値をコーディングすることなしに、コーディングするための手段をさらに備える、請求項３１に記載の装置。
【請求項４０】
実行されたとき、デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングすることと、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の位置は、最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットのパーティションをコーディングすることとを行わせる、命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
【請求項４１】
前記コンピュータ可読記憶媒体は、実行されたとき、前記デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを符号化することと、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の前記位置は、前記最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットの前記パーティションを符号化することとを行わせる、命令をさらに含む、請求項４０に記載のコンピュータプログラム製品。
【請求項４２】
前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを復号することと、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の前記位置は、前記最後の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットの前記パーティションを復号することとを行わせる、命令をさらに含む、請求項４０に記載のコンピュータプログラム製品。
【請求項４３】
前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、各チェーンコードワードの終了座標を追跡することを行わせる、命令をさらに含み、前記追跡することは、追加のチェーンコードワードが境界外の座標に対応すると、終了される、請求項４２に記載のコンピュータプログラム製品。
【請求項４４】
前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、
チェーンの総数を記憶するための変数を０に初期化することと、
前記チェーンが上境界または下境界のいずれかから開始する場合、前のインデックスを３に初期化することと、チェーンが上境界または下境界のいずれかから開始しない場合、前記前のインデックスを１に初期化することと、前記前のインデックスが、前記チェーン上のロケーションを示す値を備える、
前記チェーンコードワードのためのインデックスを判断するために前記チェーンコードワードをパースすることと、
前記最後から２番目の要素が前記チェーンの最後の要素であると判断するために、前記チェーンの位置が境界上にあるかどうかを判断することと、
前記最後から２番目の要素に基づいてチェーンの前記総数を判断することとを行わせる、命令を含む、請求項４３に記載のコンピュータプログラム製品。
【請求項４５】
前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
前記チェーンコードワードに基づいてｘおよびｙピクセル方向移動を判断するためにをさらに備える前記チェーンコードワードをパースするためにルックアップテーブルを使用することと、
次のチェーンの位置が前記境界上にあるをさらに備えるかどうかを判断するために検査するために、前記ルックアップテーブルからの前記ｘおよびｙピクセル方向移動に基づいてｘ位置およびｙ位置を設定することと、ここにおいて、前記次のチェーンの前記位置は、前記ｘ位置および前記ｙ位置が前記予測ユニットの境界内にないとき、前記境界上にある、
チェーンの前記総数を判断するために、前記次のチェーンの前記位置が前記境界上にあるという判断が行われたとき、チェーンの前記総数を記憶するための前記変数から１を減算することとを行わせる、命令をさらに含む、請求項４４に記載のコンピュータプログラム製品。
【請求項４６】
前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが垂直エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの左エッジ上で開始するのか右エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが水平エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの上エッジ上で開始するのか下エッジ上で開始するのかを示すデータをコーディングすることとを行わせる、命令をさらに含む、請求項４０に記載のコンピュータプログラム製品。
【請求項４７】
前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
前記要素の前記位置を表す前記データに基づいて、前記チェーンが左エッジまたは上エッジのいずれかにおいて開始する場合、前記予測ユニットのピクセルが第１のパーティションに属するのか第２のパーティションに属するのかを示すパーティションマップを作成することと、
前記チェーンが右エッジ上で開始するとき、前記パーティションマップを水平方向に反転することと、
前記チェーンが下エッジ上で開始するとき、前記パーティションマップを垂直方向に反転することとを行わせる、命令をさらに含む、請求項４０に記載のコンピュータプログラム製品。
【請求項４８】
前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、ビデオデータをコーディングするために、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータと、前記チェーンに基づく前記予測ユニットの前記パーティションとを、前記予測ユニットのための前記チェーン中の要素の数を示す値をコーディングすることなしに、コーディングすることを行わせる、命令をさらに含む、請求項４０に記載のコンピュータプログラム製品。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１３８
【補正方法】変更
【補正の内容】
【０１３８】
[0133]Ｎ×Ｎバイナリブロックであり得る、パーティションパターンｐａｔｔｅｒｎが再構成されるとき、値は、予測ユニットを反転するためにスワップされ得る。予測ユニットを上から下に反転することが、上開始を下開始とは区別するために使用され得る。これは、０から
【数１】
2015533036.tif 000028
までの各ｉおよび０からＮ−１までの各ｊについて、値（ｉ，ｊ）を値（Ｎ−１−ｉ，ｊ）とスワップすることを含み得る。同様に、予測ユニットを右から左に反転することが、左開始または右開始とは区別するために使用され得る。これは、０からＮ−１までの各ｉおよび０から
【数２】
2015533036.tif 000029
までの各ｊについて、値（ｉ，ｊ）を値（Ｎ−１−ｉ，ｊ）とスワップすることを含み得る。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１４０
【補正方法】変更
【補正の内容】
【０１４０】
−  チェーンが下境界から開始する場合、０から
【数３】
2015533036.tif 000030
までの各ｉおよび０からＮ−１までの各ｊについて、ｐａｔｔｅｒｎ（ｉ，ｊ）＝ｐａｔｔｅｒｎ（Ｎ−１−ｉ，ｊ）であり、
−  チェーンが右境界から開始する場合、０からＮ−１までの各ｉおよび０から
【数４】
2015533036.tif 000031
までの各ｊについて、ｐａｔｔｅｒｎ（ｉ，ｊ）＝ｐａｔｔｅｒｎ（ｉ，Ｎ−１−ｊ）である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１４１
【補正方法】変更
【補正の内容】
【０１４１】
[0135]スワップ動作を実施するために、チェーンが下境界から開始する場合、以下が実施され得る。
【数５】
2015533036.tif 000032
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１４２
【補正方法】変更
【補正の内容】
【０１４２】
[0136]代替的に、チェーンが右境界から開始する場合、以下がスワップ動作を実施するために実施され得る。
【数６】
2015533036.tif 000033
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１５０
【補正方法】変更
【補正の内容】
【０１５０】
[0144]様々な例について説明した。これらおよび他の例は、以下の特許請求の範囲によって定義された本発明の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］  ビデオデータをコーディングする方法であって、前記方法は、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングすることと、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の位置は、最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットのパーティションをコーディングすることとを備える、方法。
［Ｃ２］  前記予測ユニットをコーディングすることが、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを符号化することと、
前記チェーンに基づく前記予測ユニットの前記パーティションを符号化することとを備える、Ｃ１に記載の方法。
［Ｃ３］  前記予測ユニットをコーディングすることが、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを復号することと、
前記チェーンに基づく前記予測ユニットの前記パーティションを復号することとを備える、Ｃ１に記載の方法。
［Ｃ４］  各チェーンコードワードの終了座標を追跡することをさらに備え、前記追跡することは、追加のチェーンコードワードが境界外の座標に対応すると、終了される、Ｃ３に記載の方法。
［Ｃ５］  各チェーンコードワードの前記終了座標を追跡することは、
チェーンの総数を記憶するための変数を０に初期化することと、
前記チェーンが上境界または下境界のいずれかから開始する場合、前のインデックスを３に初期化することと、チェーンが上境界または下境界のいずれかから開始しない場合、前記前のインデックスを１に初期化することと、前記前のインデックスが、前記チェーン上のロケーションを示す値を備える、
前記チェーンコードワードのためのインデックスを判断するために前記チェーンコードワードをパースすることと、
前記最後から２番目の要素が前記チェーンの最後の要素であると判断するために、前記チェーンの位置が境界上にあるかどうかを判断することと、
前記最後から２番目の要素に基づいてチェーンの前記総数を判断することとを備える、Ｃ４に記載の方法。
［Ｃ６］  前記チェーンコードワードをパースすることが、前記チェーンコードワードに基づいてｘおよびｙピクセル方向移動を判断するためにルックアップテーブルを使用することをさらに備え、
次のチェーンの位置が前記境界上にあるかどうかを判断するために検査することが、前記ルックアップテーブルからの前記ｘおよびｙピクセル方向移動に基づいてｘ位置およびｙ位置を設定することをさらに備え、ここにおいて、前記次のチェーンの前記位置は、前記ｘ位置および前記ｙ位置が前記予測ユニットの境界内にないとき、前記境界上にある、
チェーンの前記総数を判断することは、前記次のチェーンの前記位置が前記境界上にあるという判断が行われたとき、チェーンの前記総数を記憶するための前記変数から１を減算することをさらに備える、Ｃ５に記載の方法。
［Ｃ７］  チェーンステーティング位置をコーディングすることは、
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが垂直エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの左エッジ上で開始するのか右エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが水平エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの上エッジ上で開始するのか下エッジ上で開始するのかを示すデータをコーディングすることとを備える、Ｃ１に記載の方法。
［Ｃ８］  前記チェーンステーティング位置をコーディングすることは、
前記要素の前記位置を表す前記データに基づいて、前記チェーンが前記左エッジまたは前記上エッジのいずれかにおいて開始する場合、前記予測ユニットのピクセルが第１のパーティションに属するのか第２のパーティションに属するのかを示すパーティションマップを作成することと、
前記チェーンが前記右エッジ上で開始するとき、前記パーティションマップを水平方向に反転することと、
前記チェーンが前記下エッジ上で開始するとき、前記パーティションマップを垂直方向に反転することとを備える、Ｃ１に記載の方法。
［Ｃ９］  前記チェーンステーティング位置をコーディングすることは、
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングすることと、
上開始を下開始とは区別するために、前記要素の前記位置を表すパーティションマップを上から下に反転することと、左開始または右開始とは区別するために前記パーティションマップを右から左に反転することとを備える、Ｃ１に記載の方法。
［Ｃ１０］  上開始を下開始とは区別するために前記予測ユニットを上から下に反転することが、０から  までの各ｉおよび０からＮ−１までの各ｊについて、値（ｉ，ｊ）を値（Ｎ−１−ｉ，ｊ）とスワップすることを備え、左開始または右開始とは区別するために前記予測ユニットを右から左に反転することが、０からＮ−１までの各ｉおよび０から  までの各ｊについて、値（ｉ，ｊ）を値（Ｎ−１−ｉ，ｊ）とスワップすることを備える、Ｃ９に記載の方法。
［Ｃ１１］  チェーン開始位置をコーディングすることをさらに備え、前記チェーンが、前記予測ユニットの上境界において開始するのか、前記予測ユニットの左境界において開始するのか、前記予測ユニットの下境界において開始するのか、前記予測ユニットの右境界において開始するのかを示す、２ビットフラグをコーディングすることを備える、Ｃ１に記載の方法。
［Ｃ１２］  「００」の２進値が上エッジを示し、「０１」の２進値が左エッジを示し、「１０」の２進値が下エッジを示し、「１１」の２進値が右エッジを示す、Ｃ１１に記載の方法。
［Ｃ１３］  １ビットが、左境界から開始することを示し、２ビットが、上境界または下境界のいずれかから開始することを示す、Ｃ１に記載の方法。
［Ｃ１４］  下境界から開始するとき、前記方法が、前記予測ユニットの右境界において前記チェーンを終了することをさらに備える、Ｃ１３に記載の方法。
［Ｃ１５］  ビデオデータをコーディングすることが、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータと、前記チェーンに基づく前記予測ユニットの前記パーティションとを、前記予測ユニットのための前記チェーン中の要素の数を示す値をコーディングすることなしに、コーディングすることを備える、Ｃ１に記載の方法。
［Ｃ１６］  ビデオデータをコーディングするためのビデオコーダであって、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングすることと、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の位置は、最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットのパーティションをコーディングすることとを行うように構成された１つまたは複数のプロセッサを備える、ビデオコーダ。
［Ｃ１７］  前記ビデオコーダが、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを符号化し、
前記チェーンに基づく前記予測ユニットの前記パーティションを符号化する、Ｃ１６に記載のビデオコーダ。
［Ｃ１８］  前記ビデオコーダが、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを復号し、
前記チェーンに基づく前記予測ユニットの前記パーティションを復号する、Ｃ１６に記載のビデオコーダ。
［Ｃ１９］  前記１つまたは複数のプロセッサが、各チェーンコードワードの終了座標を追跡するように構成され、前記追跡することは、追加のチェーンコードワードが境界外の座標に対応すると、終了される、Ｃ１８に記載のビデオコーダ。
［Ｃ２０］  前記１つまたは複数のプロセッサが、各チェーンコードワードの前記終了座標を追跡するように構成され、ここにおいて、前記追跡することは、
チェーンの総数を記憶するための変数を０に初期化することと、
前記チェーンが上境界または下境界のいずれかから開始する場合、前のインデックスを３に初期化することと、チェーンが上境界または下境界のいずれかから開始しない場合、前記前のインデックスを１に初期化することと、前記前のインデックスが、前記チェーン上のロケーションを示す値を備える、
前記チェーンコードワードのためのインデックスを判断するために前記チェーンコードワードをパースすることと、
前記最後から２番目の要素が前記チェーンの最後の要素であると判断するために、前記チェーンの位置が境界上にあるかどうかを判断することと、
前記最後から２番目の要素に基づいてチェーンの前記総数を判断することとを備える、Ｃ１９に記載のビデオコーダ。
［Ｃ２１］  前記チェーンコードワードをパースすることが、前記チェーンコードワードに基づいてｘおよびｙピクセル方向移動を判断するためにルックアップテーブルを使用することをさらに備え、
次のチェーンの位置が前記境界上にあるかどうかを判断するために検査することが、前記ルックアップテーブルからの前記ｘおよびｙピクセル方向移動に基づいてｘ位置およびｙ位置を設定することをさらに備え、ここにおいて、前記次のチェーンの前記位置は、前記ｘ位置および前記ｙ位置が前記予測ユニットの境界内にないとき、前記境界上にある、
チェーンの前記総数を判断することは、前記次のチェーンの前記位置が前記境界上にあるという判断が行われたとき、チェーンの前記総数を記憶するための前記変数から１を減算することをさらに備える、Ｃ２０に記載のビデオコーダ。
［Ｃ２２］  前記１つまたは複数のプロセッサは、
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが垂直エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの左エッジ上で開始するのか右エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが水平エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの上エッジ上で開始するのか下エッジ上で開始するのかを示すデータをコーディングすることとを行うように構成された、Ｃ１６に記載のビデオコーダ。
［Ｃ２３］  チェーンステーティング位置をコーディングすることは、
前記要素の前記位置を表す前記データに基づいて、前記チェーンが前記左エッジまたは前記上エッジのいずれかにおいて開始する場合、前記予測ユニットのピクセルが第１のパーティションに属するのか第２のパーティションに属するのかを示すパーティションマップを作成することと、
前記チェーンが前記右エッジ上で開始するとき、前記パーティションマップを水平方向に反転することと、
前記チェーンが前記下エッジ上で開始するとき、前記パーティションマップを垂直方向に反転することとを備える、Ｃ１６に記載のビデオコーダ。
［Ｃ２４］  前記チェーンステーティング位置をコーディングすることは、
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングすることと、
上開始を下開始とは区別するために、前記要素の前記位置を表すパーティションマップを上から下に反転することと、左開始または右開始とは区別するために前記パーティションマップを右から左に反転することとを備える、Ｃ１６に記載のビデオコーダ。
［Ｃ２５］  上開始を下開始とは区別するために前記予測ユニットを上から下に反転することが、０から  までの各ｉおよび０からＮ−１までの各ｊについて、値（ｉ，ｊ）を値（Ｎ−１−ｉ，ｊ）とスワップすることを備え、左開始または右開始とは区別するために前記予測ユニットを右から左に反転することが、０からＮ−１までの各ｉおよび０から  までの各ｊについて、値（ｉ，ｊ）を値（Ｎ−１−ｉ，ｊ）とスワップすることを備える、Ｃ２４に記載のビデオコーダ。
［Ｃ２６］  チェーン開始位置をコーディングすることをさらに備え、前記チェーンが、前記予測ユニットの上境界において開始するのか、前記予測ユニットの左境界において開始するのか、前記予測ユニットの下境界において開始するのか、前記予測ユニットの右境界において開始するのかを示す、２ビットフラグをコーディングすることを備える、Ｃ１６に記載のビデオコーダ。
［Ｃ２７］  「００」の２進値が上エッジを示し、「０１」の２進値が左エッジを示し、「１０」の２進値が下エッジを示し、「１１」の２進値が右エッジを示す、Ｃ１６に記載のビデオコーダ。
［Ｃ２８］  １ビットが、左境界から開始することを示し、２ビットが、上境界または下境界のいずれかから開始することを示す、Ｃ１６に記載のビデオコーダ。
［Ｃ２９］  下境界から開始するとき、前記予測ユニットの右境界において前記チェーンを終了する、Ｃ１６に記載のビデオコーダ。
［Ｃ３０］  ビデオデータをコーディングすることが、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータと、前記チェーンに基づく前記予測ユニットの前記パーティションとを、前記予測ユニットのための前記チェーン中の要素の数を示す値をコーディングすることなしに、コーディングすることを備える、Ｃ１６に記載のビデオコーダ。
［Ｃ３１］  ビデオデータをコーディングするための装置であって、前記装置は、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングするための手段と、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の位置は、最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットのパーティションをコーディングするための手段とを備える、装置。
［Ｃ３２］  ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを符号化するための手段と、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の前記位置は、前記最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットの前記パーティションを符号化するための手段とを備える、Ｃ３１に記載の装置。
［Ｃ３３］  ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを復号するための手段と、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の前記位置は、前記最後の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットの前記パーティションを復号するための手段とを備える、Ｃ３１に記載の装置。
［Ｃ３４］  各チェーンコードワードの終了座標を追跡するための手段を備え、前記追跡することは、追加のチェーンコードワードが境界外の座標に対応すると、終了される、Ｃ３３に記載の装置。
［Ｃ３５］  チェーンの総数を記憶するための変数を０に初期化するための手段と、
前記チェーンが上境界または下境界のいずれかから開始する場合、前のインデックスを３に初期化するための手段と、チェーンが上境界または下境界のいずれかから開始しない場合、前記前のインデックスを１に初期化するための手段と、前記前のインデックスが、前記チェーン上のロケーションを示す値を備える、
前記チェーンコードワードのためのインデックスを判断するために前記チェーンコードワードをパースするための手段と、
前記最後から２番目の要素が前記チェーンの最後の要素であると判断するために、前記チェーンの位置が境界上にあるかどうかを判断するための手段と、
前記最後から２番目の要素に基づいてチェーンの前記総数を判断するための手段とを備える、Ｃ３４に記載の装置。
［Ｃ３６］  前記チェーンコードワードをパースするための前記手段が、前記チェーンコードワードに基づいてｘおよびｙピクセル方向移動を判断するためにルックアップテーブルを使用することをさらに備え、
次のチェーンの位置が前記境界上にあるかどうかを判断するために検査することが、前記ルックアップテーブルからの前記ｘおよびｙピクセル方向移動に基づいてｘ位置およびｙ位置を設定するための手段をさらに備え、ここにおいて、前記次のチェーンの前記位置は、前記ｘ位置および前記ｙ位置が前記予測ユニットの境界内にないとき、前記境界上にある、
チェーンの前記総数を判断するための前記手段は、前記次のチェーンの前記位置が前記境界上にあるという判断が行われたとき、チェーンの前記総数を記憶するための前記変数から１を減算することをさらに備える、Ｃ３５に記載の装置。
［Ｃ３７］  前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングするための手段と、
前記データが、前記チェーンが垂直エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの左エッジ上で開始するのか右エッジ上で開始するのかを示すデータをコーディングするための手段と、
前記データが、前記チェーンが水平エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの上エッジ上で開始するのか下エッジ上で開始するのかを示すデータをコーディングする手段とを備える、Ｃ３１に記載の装置。
［Ｃ３８］  前記要素の前記位置を表す前記データに基づいて、前記チェーンが前記左エッジまたは前記上エッジのいずれかにおいて開始する場合、前記予測ユニットのピクセルが第１のパーティションに属するのか第２のパーティションに属するのかを示すパーティションマップを作成するための手段と、
前記チェーンが前記右エッジ上で開始するとき、前記パーティションマップを水平方向に反転するための手段と、
前記チェーンが前記下エッジ上で開始するとき、前記パーティションマップを垂直方向に反転するための手段とを備える、Ｃ３１に記載の装置。
［Ｃ３９］  ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータと、前記チェーンに基づく前記予測ユニットの前記パーティションとを、前記予測ユニットのための前記チェーン中の要素の数を示す値をコーディングすることなしに、コーディングするための手段をさらに備える、Ｃ３１に記載の装置。
［Ｃ４０］  実行されたとき、デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータをコーディングすることと、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の位置は、最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットのパーティションをコーディングすることとを行わせる、命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［Ｃ４１］  前記コンピュータ可読記憶媒体は、実行されたとき、前記デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを符号化することと、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の前記位置は、前記最後から２番目の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットの前記パーティションを符号化することとを行わせる、命令をさらに含む、Ｃ４０に記載のコンピュータプログラム製品。
［Ｃ４２］  前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータを復号することと、ここにおいて、最後の要素を除く前記要素の前記位置の各々が前記予測ユニット内にあり、ここにおいて、前記最後の要素の前記位置は、前記最後の要素が前記チェーンの最後の要素であることを示すために前記予測ユニット外にある、
前記チェーンに基づく前記予測ユニットの前記パーティションを復号することとを行わせる、命令をさらに含む、Ｃ４０に記載のコンピュータプログラム製品。
［Ｃ４３］  前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、各チェーンコードワードの終了座標を追跡することを行わせる、命令をさらに含み、前記追跡することは、追加のチェーンコードワードが境界外の座標に対応すると、終了される、Ｃ４２に記載のコンピュータプログラム製品。
［Ｃ４４］  前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、
チェーンの総数を記憶するための変数を０に初期化することと、
前記チェーンが上境界または下境界のいずれかから開始する場合、前のインデックスを３に初期化することと、チェーンが上境界または下境界のいずれかから開始しない場合、前記前のインデックスを１に初期化することと、前記前のインデックスが、前記チェーン上のロケーションを示す値を備える、
前記チェーンコードワードのためのインデックスを判断するために前記チェーンコードワードをパースすることと、
前記最後から２番目の要素が前記チェーンの最後の要素であると判断するために、前記チェーンの位置が境界上にあるかどうかを判断することと、
前記最後から２番目の要素に基づいてチェーンの前記総数を判断することとを行わせる、命令を含む、Ｃ４３に記載のコンピュータプログラム製品。
［Ｃ４５］  前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
前記チェーンコードワードに基づいてｘおよびｙピクセル方向移動を判断するためにをさらに備える前記チェーンコードワードをパースするためにルックアップテーブルを使用することと、
次のチェーンの位置が前記境界上にあるをさらに備えるかどうかを判断するために検査するために、前記ルックアップテーブルからの前記ｘおよびｙピクセル方向移動に基づいてｘ位置およびｙ位置を設定することと、ここにおいて、前記次のチェーンの前記位置は、前記ｘ位置および前記ｙ位置が前記予測ユニットの境界内にないとき、前記境界上にある、
チェーンの前記総数を判断するために、前記次のチェーンの前記位置が前記境界上にあるという判断が行われたとき、チェーンの前記総数を記憶するための前記変数から１を減算することとを行わせる、命令をさらに含む、Ｃ４４に記載のコンピュータプログラム製品。
［Ｃ４６］  前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
前記チェーンが前記予測ユニットの水平エッジ上で開始するのか垂直エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが垂直エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの左エッジ上で開始するのか右エッジ上で開始するのかを示すデータをコーディングすることと、
前記データが、前記チェーンが水平エッジ上で開始することを示すとき、前記チェーンが前記予測ユニットの上エッジ上で開始するのか下エッジ上で開始するのかを示すデータをコーディングすることとを行わせる、命令をさらに含む、Ｃ４０に記載のコンピュータプログラム製品。
［Ｃ４７］  前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、以下のステップを実施すること、すなわち、
前記要素の前記位置を表す前記データに基づいて、前記チェーンが前記左エッジまたは前記上エッジのいずれかにおいて開始する場合、前記予測ユニットのピクセルが第１のパーティションに属するのか第２のパーティションに属するのかを示すパーティションマップを作成することと、
前記チェーンが前記右エッジ上で開始するとき、前記パーティションマップを水平方向に反転することと、
前記チェーンが前記下エッジ上で開始するとき、前記パーティションマップを垂直方向に反転することとを行わせる、命令をさらに含む、Ｃ４０に記載のコンピュータプログラム製品。
［Ｃ４８］  前記コンピュータ可読記憶媒体は、実行されたとき、デバイスの１つまたは複数のプロセッサに、ビデオデータをコーディングするために、ビデオデータの予測ユニットを区分するチェーンの要素の位置を表すデータと、前記チェーンに基づく前記予測ユニットの前記パーティションとを、前記予測ユニットのための前記チェーン中の要素の数を示す値をコーディングすることなしに、コーディングすることを行わせる、命令をさらに含む、Ｃ４０に記載のコンピュータプログラム製品。
【国際調査報告】
2015533036.tif 000034
2015533036.tif 000035