(57)【要約】予測スキームは、ビデオブロックを符号化または復号化するために選択される。第１の複合動きブロックは、１つまたは複数の量子化重み付け係数を使用して、第１の参照フレームからビデオフレームまでの距離、および第２の参照フレームからビデオフレームまでの距離を重み付けすることにより決定され得る。第２の複合動きブロックは、第１の参照フレームのビデオブロックからの画素値と第２の参照フレームのビデオブロックからの画素値の平均に基づいて決定され得る。第１の複合動きブロックまたは第２の複合動きブロックのうちの１つが、予測ブロックを生成するために選択され使用される。代替的には、ビデオフレームを含むビットストリームに符号化されたデータが使用されて、予測ブロックの生成に使用する複合動きブロックを決定し得る。ビデオフレームの現在のブロックは、予測ブロックを使用して符号化または復号化され得る。
2020522185.tif 000002
【特許請求の範囲】
【請求項１】
ビデオフレームの現在のブロックを符号化する方法であって、
第１の複合動きブロックを、１つまたは複数の量子化重み付け係数を使用して、第１の参照フレームから前記ビデオフレームまでの距離、および第２の参照フレームから前記ビデオフレームまでの距離を重み付けすることによって決定すること、
第２の複合動きブロックを、前記第１の参照フレームのビデオブロックからの複数の画素値および前記第２の参照フレームのビデオブロックからの複数の画素値の平均に基づいて決定すること、
前記第１の複合動きブロックおよび前記第２の複合動きブロックのうちの１つを選択すること、
前記第１の複合動きブロックおよび前記第２の複合動きブロックのうちの選択された１つを使用して、予測ブロックを生成すること、
前記予測ブロックを使用して前記現在のブロックを符号化すること、を備える方法。
【請求項２】
前記第１の複合動きブロックを、１つまたは複数の量子化重み付け係数を使用して、前記第１の参照フレームから前記ビデオフレームまでの距離、および前記第２の参照フレームから前記ビデオフレームまでの距離を重み付けすることによって決定することは、
前記第１の参照フレームから前記ビデオフレームまでの第１の距離を前記第２の参照フレームから前記ビデオフレームまでの第２の距離と比較することにより、第１の量子化重み付け係数および第２の量子化重み付け係数を決定すること、を含み、
前記第１の量子化重み付け係数および前記第２の量子化重み付け係数は、前記比較することに基づいて量子化され、前記第１の複合動きブロックは、前記第１の量子化重み付け係数および前記第２の量子化重み付け係数を用いて決定される、請求項１に記載の方法。
【請求項３】
前記第１の距離を前記第２の距離と比較することにより前記第１の量子化重み付け係数および前記第２の量子化重み付け係数を決定することは、
前記第１の距離が前記第２の距離よりも大きいと決定したことに応答して、前記第１の量子化重み付け係数は「１」の値を有し、前記第２の量子化重み付け係数は少なくとも「１」の値を有すると決定すること、または
前記第１の距離が前記第２の距離よりも小さいと決定したことに応答して、前記第１の量子化重み付け係数が少なくとも「１」の値を有し、前記第２の量子化重み付け係数が「１」の値を有すると決定すること、を含む、請求項２に記載の方法。
【請求項４】
第１の値を、前記第１の参照フレームの前記ビデオブロックからの前記複数の画素値に対して前記第１の量子化重み付け係数を適用することによって決定すること、
第２の値を、前記第２の参照フレームの前記ビデオブロックからの前記複数の画素値に対して前記第２の量子化重み付け係数を適用することによって決定すること、をさらに備え、
前記第１の複合動きブロックは、前記第１の値および前記第２の値の合計を前記第１の量子化重み付け係数および前記第２の量子化重み付け係数の合計で除算することによって決定される、請求項２または３に記載の方法。
【請求項５】
前記第１の複合動きブロックおよび前記第２の複合動きブロックのうちの１つを選択することは、
前記第１の複合動きブロックおよび前記第２の複合動きブロックの各々に関連付けられた複数の動きベクトルを使用して現在のブロックの動きを予測した結果から取得される複数のレート歪み値を決定すること、
前記第１の複合動きブロックおよび第２の複合動きブロックのうちの１つを選択して、前記複数のレート歪み値のうちの１つを低下させること、を含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記第１の複合動きブロックおよび前記第２の複合動きブロックの選択を示す１つまたは複数の構文要素を、前記現在のブロックが符号化されるビットストリームに符号化することをさらに備える請求項１〜５のいずれか１項に記載の方法。
【請求項７】
符号化されたビデオフレームの符号化されたブロックを復号化する方法であって、
前記符号化されたビデオフレームを含むビットストリームに符号化された１つまたは複数の構文要素に基づいて、前記符号化されたブロックが、複数の参照フレームの各々から前記符号化されたビデオフレームまでの複数の距離を重み付けすることによって符号化されたかどうかを判定すること、
前記複数の参照フレームの各々から前記符号化されたビデオフレームまでの複数の距離を重み付けすることによって前記符号化されたブロックが符号化されたと判定したことに応答して、第１の参照フレームから前記符号化されたビデオフレームまでの第１の距離と、第２の参照フレームから前記符号化されたビデオフレームまでの第２の距離とを、１つまたは複数の量子化重み付け係数を用いて重み付けすることによって複合動きブロックを決定すること、
前記複合動きブロックを使用して予測ブロックを生成すること、
前記予測ブロックを使用して前記符号化されたブロックを復号化すること、を備える方法。
【請求項８】
前記第１の距離と、前記第２の距離とを、前記１つまたは複数の量子化重み付け係数を用いて重み付けすることによって前記複合動きブロックを決定することは、
前記第１の距離を前記第２の距離と比較することによって第１の量子化重み付け係数および第２の量子化重み付け係数を決定すること、を含み、
前記第１の量子化重み付け係数および前記第２の量子化重み付け係数は、前記比較することに基づいて量子化され、前記複合動きブロックは、前記第１の量子化重み付け係数および前記第２の量子化重み付け係数を用いて決定される、請求項７に記載の方法。
【請求項９】
前記第１の距離を前記第２の距離と比較することにより前記第１の量子化重み付け係数および前記第２の量子化重み付け係数を決定することは、
前記第１の距離が前記第２の距離よりも大きいと決定したことに応答して、前記第１の量子化重み付け係数は「１」の値を有し、前記第２の量子化重み付け係数は少なくとも「１」の値を有すると決定すること、または
前記第１の距離が前記第２の距離よりも小さいと決定したことに応答して、前記第１の量子化重み付け係数が少なくとも「１」の値を有し、前記第２の量子化重み付け係数が「１」の値を有すると決定すること、を含む、請求項８に記載の方法。
【請求項１０】
第１の値を、前記第１の参照フレームのビデオブロックからの複数の画素値に対して前記第１の量子化重み付け係数を適用することにより決定すること、
第２の値を、前記第１の参照フレームの前記ビデオブロックからの複数の画素値に対して前記第２の量子化重み付け係数を適用することによって決定すること、をさらに備え、
前記複合動きブロックは、前記第１の値および前記第２の値の合計を前記第１の量子化重み付け係数および前記第２の量子化重み付け係数の合計で除算することによって決定される、請求項８または９に記載の方法。
【請求項１１】
前記複合動きブロックは、第１の複合動きブロックであり、前記予測ブロックは、第１の予測ブロックであり、
前記符号化されたブロックが、前記１つまたは複数の量子化重み付け係数を使用して前記複数の距離を重み付けすることによって符号化されなかったと判定したことに応答して、前記第１の参照フレームの符号化されたビデオブロックの複数の画素値と前記第２の参照フレームの符号化されたビデオブロックの複数の画素値との平均に基づいて第２の複合動きブロックを決定すること、
前記第２の複合動きブロックを使用して第２の予測ブロックを生成すること、
前記第２の予測ブロックを使用して前記符号化されたブロックを復号化すること、をさらに備える請求項７〜１０のいずれか１項に記載の方法。
【請求項１２】
前記符号化されたブロックが、前記複数の参照フレームの各々から前記符号化されたビデオフレームまでの複数の距離を重み付けすることによって符号化されたかどうかを判定する前に、前記ビットストリームから１つまたは複数の構文要素を復号化することをさらに備える請求項７〜１１のいずれか１項に記載の方法。
【請求項１３】
前記符号化されたビデオフレーム、前記第１の参照フレーム、および前記第２の参照フレームを含むビデオシーケンスの符号化されたビデオフレームの順序が、前記ビットストリーム内で示されている、請求項７〜１２のいずれか１項に記載の方法。
【請求項１４】
符号化されたビデオフレームの符号化されたブロックを復号化する装置であって、
前記符号化されたビデオフレームを含むビットストリームに符号化された１つまたは複数の構文要素に基づいて、前記符号化されたブロックが、前記複数の参照フレームの各々から前記符号化されたビデオフレームまでの距離を重み付けすることによって符号化されたかどうかを判定すること、
前記符号化されたブロックが、前記複数の参照フレームの各々から前記符号化されたビデオフレームまでの距離を重み付けすることによって符号化されたと判定したことに応答して、第１の参照フレームから前記符号化されたビデオフレームまでの第１の距離と、第２の参照フレームから前記符号化されたビデオフレームまでの第２の距離とを、１つまたは複数の量子化重み付け係数を用いて重み付けすることによって複合動きブロックを決定すること、
前記複合動きブロックを使用して予測ブロックを生成すること、
前記予測ブロックを使用して前記符号化されたブロックを復号化すること、を行うための非一時メモリに格納された命令を実行するように構成されたプロセッサを備える装置。
【請求項１５】
前記第１の距離と、前記第２の距離とを、前記１つまたは複数の量子化重み付け係数を用いて重み付けすることによって前記複合動きブロックを決定することを行うための命令は、
前記第１の距離を前記第２の距離と比較することによって第１の量子化重み付け係数および第２の量子化重み付け係数を決定することを行うための命令を含み、
前記第１の量子化重み付け係数および前記第２の量子化重み付け係数は、前記比較することに基づいて量子化され、前記複合動きブロックは、前記第１の量子化重み付け係数および前記第２の量子化重み付け係数を用いて決定される、請求項１４に記載の装置。
【請求項１６】
前記第１の距離を前記第２の距離と比較することによって前記第１の量子化重み付け係数および前記第２の量子化重み付け係数を決定することを行うための命令は、
前記第１の距離が前記第２の距離よりも大きいと決定したことに応答して、前記第１の量子化重み付け係数は「１」の値を有し、前記第２の量子化重み付け係数は少なくとも「１」の値を有すると決定すること、または
前記第１の距離が前記第２の距離よりも小さいと決定したことに応答して、前記第１の量子化重み付け係数が少なくとも「１」の値を有し、前記第２の量子化重み係数が「１」の値を有すると決定すること、を含む、請求項１５に記載の装置。
【請求項１７】
前記命令は、
第１の値を、前記第１の参照フレームのビデオブロックからの複数の画素値に対して前記第１の量子化重み付け係数を適用することにより決定すること、
第２の値を、前記第１の参照フレームの前記ビデオブロックからの複数の画素値に対して前記第２の量子化重み付け係数を適用することによって決定すること、を行うための命令を含み、
前記複合動きブロックは、前記第１の値および前記第２の値の合計を前記第１の量子化重み付け係数および前記第２の量子化重み付け係数の合計で除算することによって決定される、請求項１５または１６に記載の装置。
【請求項１８】
前記複合動きブロックは、第１の複合動きブロックであり、前記予測ブロックは、第１の予測ブロックであり、前記命令は、
前記符号化されたブロックが、前記１つまたは複数の量子化重み付け係数を使用して前記複数の距離を重み付けすることによって符号化されなかったと判定したことに応答して、前記第１の参照フレームの符号化されたビデオブロックの複数の画素値と前記第２の参照フレームの符号化されたビデオブロックの複数の画素値との平均に基づいて第２の複合動きブロックを決定すること、
前記第２の複合動きブロックを使用して第２の予測ブロックを生成すること、
前記第２の予測ブロックを使用して前記符号化されたブロックを復号化すること、を行うための命令を含む、請求項１４〜１７のいずれか１項に記載の装置。
【請求項１９】
前記命令は、
前記符号化されたブロックが、前記複数の参照フレームの各々から前記符号化されたビデオフレームまでの距離を重み付けすることによって符号化されたかどうかを判定する前に、前記ビットストリームから１つまたは複数の構文要素を復号化することを行うための命令を含む、請求項１４〜１８のいずれか１項に記載の装置。
【請求項２０】
前記符号化されたビデオフレーム、前記第１の参照フレーム、および前記第２の参照フレームを含むビデオシーケンスの符号化されたビデオフレームの順序が、前記ビットストリーム内で示される、請求項１４〜１９のいずれか１項に記載の装置。
【請求項２１】
ビデオフレームの現在のブロックを符号化する装置であって、
第１の複合動きブロックを、１つまたは複数の量子化重み付け係数を使用して、第１の参照フレームから前記ビデオフレームまでの距離、および第２の参照フレームから前記ビデオフレームまでの距離を重み付けすることにより決定すること、
第２の複合動きブロックを、前記第１の参照フレームのビデオブロックからの複数の画素値および前記第２の参照フレームのビデオブロックからの複数の画素値の平均に基づいて決定すること、
前記第１の複合動きブロックおよび前記第２の複合動きブロックのうちの１つを選択すること、
前記第１の複合動きブロックおよび前記第２の複合動きブロックのうちの選択された１つを使用して、予測ブロックを生成すること、
前記予測ブロックを使用して前記現在のブロックを符号化すること、を行うための非一時メモリに格納された命令を実行するように構成されたプロセッサを備える装置。
【発明の詳細な説明】
【背景技術】
【０００１】
デジタルビデオストリームは、一連のフレームまたは静止画像を使用して映像を表現する。デジタルビデオは、例えば、ビデオ会議、高精細度ビデオエンターテイメント、ビデオ広告、またはユーザ生成ビデオの共有を含む様々なアプリケーションに使用される。デジタルビデオストリームは、大量のデータを含み、ビデオデータの処理、送信、または記憶のために、コンピューティングデバイスの大量のコンピューティングリソースまたは通信リソースを消費する。符号化または復号化技術を含むビデオストリームにおけるデータ量を低減するための様々なアプローチが提案されている。
【発明の概要】
【０００２】
本開示の実施形態によるビデオフレームの現在のブロックを符号化する方法は、１つまたは複数の量子化重み付け係数を用いて、第１の参照フレームからビデオフレームまでの距離、および第２の参照フレームからビデオフレームまでの距離を重み付けすることによって、第１の複合動きブロックを決定することを備える。本方法は、第１の参照フレームのビデオブロックからの複数の画素値および第２の参照フレームのビデオブロックからの複数の画素値の平均に基づいて第２の複合動きブロックを決定すること、をさらに備える。本方法は、第１の複合動きブロックおよび第２の複合動きブロックのうちの一つを選択すること、をさらに備える。本方法は、第１の複合動きブロックおよび第２の複合動きブロックのうちの選択された一つを使用して、予測ブロックを生成すること、をさらに備える。本方法は、予測ブロックを使用して現在のブロックを符号化すること、をさらに備える。
【０００３】
本開示の実施形態による符号化されたビデオフレームの符号化されたブロックを復号化する方法は、符号化されたビデオフレームを含むビットストリームに符号化された１つまたは複数の構文要素に基づいて、符号化されたブロックが、複数の参照フレームの各々から符号化されたビデオフレームまでの複数の距離を重み付けすることによって符号化されたかどうかを判定すること、を備える。本方法は、符号化されたブロックが、複数の参照フレームの各々から符号化されたビデオフレームまでの距離を重み付けすることによって符号化されたと判定したことに応答して、第１の参照フレームから符号化されたビデオフレームまでの第１の距離と、第２の参照フレームから符号化されたビデオフレームまでの第２の距離とを、１つまたは複数の量子化重み付け係数を用いて重み付けすることによって、複合動きブロックを決定すること、をさらに備える。本方法は、複合動きブロックを使用して予測ブロックを生成すること、をさらに備える。本方法は、予測ブロックを使用して符号化されたブロックを復号化すること、をさらに備える。
【０００４】
本開示の実施形態による、符号化されたビデオフレームの符号化されたブロックを復号化する装置は、非一時的メモリに格納された命令を実行するように構成されたプロセッサを備える。前記命令は、符号化されたビデオフレームを含むビットストリームに符号化された１つまたは複数の構文要素に基づいて、複数の参照フレームの各々から符号化されたビデオフレームまでの距離を重み付けすることによって、符号化されたブロックが符号化されたかどうかを判定することを行うための命令を含む。前記命令は、符号化されたブロックが、複数の参照フレームの各々から符号化されたビデオフレームまでの距離を重み付けすることによって符号化されたと判定したことに応答して、第１の参照フレームから符号化されたビデオフレームまでの第１の距離と、第２の参照フレームから符号化されたビデオフレームまでの第２の距離とを１つまたは複数の量子化重み付け係数を用いて重み付けすることによって、複合動きブロックを決定することを行うための命令を含む。前記命令は、複合動きブロックを使用して予測ブロックを生成するための命令をさらに含む。前記命令は、予測ブロックを使用して符号化されたブロックを復号化するための命令をさらに含む。
【０００５】
本開示の実施形態による、ビデオフレームの現在のブロックを符号化する装置は、非一時的メモリに格納された命令を実行するように構成されたプロセッサを備える。前記命令は、１つまたは複数の量子化重み付け係数を使用して、第１の参照フレームからビデオフレームまでの距離、および第２の参照フレームからビデオフレームまでの距離を重み付けすることによって、第１の複合動きブロックを決定するための命令を含む。前記命令は、第１の参照フレームのビデオブロックからの複数の画素値と第２の参照フレームのビデオブロックからの複数の画素値との平均に基づいて、第２の複合動きブロックを決定し、第１の複合動きブロックおよび第２の複合動きブロックのうちの１つを選択し、第１の複合動きブロックおよび第２の複合動きブロックのうちの選択された１つを用いて予測ブロックを生成し、予測ブロックを用いて現在のブロックを符号化するための命令をさらに含む。
【０００６】
本開示のこれらおよび他の態様は、以下の実施形態の詳細な説明、添付の特許請求の範囲および添付の図面において開示される。
【図面の簡単な説明】
【０００７】
本明細書の記載は、以下に記載される添付の図面を参照し、いくつかの図面に亘って同様の参照番号が同様の構成を参照している。
【図１】ビデオ符号化および復号化システムの概略図である。
【図２】送信局または受信局を具体化することができるコンピューティングデバイスの一例のブロック図である。
【図３】符号化され、続いて復号化される典型的なビデオストリームの図である。
【図４】本開示の具体化に従った符号化器のブロック図である。
【図５】本開示の具体化に従った復号化器のブロック図である。
【図６】選択された予測スキームを使用してビデオブロックを符号化する技術の一例のフローチャート図である。
【図７】選択された予測スキームを使用して符号化されたブロックを復号化する技術の一例のフローチャート図である。
【図８】ビデオシーケンスのフレーム間の複数の距離の一例を示す。
【図９】量子化重み付け係数を決定するためのツリーの一例の図である。
【発明を実施するための形態】
【０００８】
ビデオ圧縮スキームは、各画像またはビデオフレームをビデオブロックなどのより小さな複数の部分に分割し、これらの各ビデオブロックに含まれる情報を制限する技術を使用して符号化されたビットストリームを生成することを含み得る。符号化されたビットストリームは復号化されて、制限された情報からソース画像を再生成することができる。場合によっては、複合動き予測が用いられて、２つ以上の参照フレームの動き情報を組み合わせることにより、現在のビデオブロック内の動きを予測し得る。
【０００９】
例えば、２つの参照フレームが使用される場合、それらの参照フレームのそれぞれのブロックからの画素値が識別および平均されて、現在のビデオブロックの動きを予測するために使用する複合動きブロック（compound motion block）を決定し得る。ただし、この平均化に基づく予測スキームでは、ビデオシーケンスの符号化または復号化で常に最高のパフォーマンスが得られるとは限らない。たとえば、複数の参照フレームは、現在のビデオブロックを含むビデオフレームから等距離にない場合がある。その結果、平均化に基づく予測スキームは、ビデオシーケンスの動きの変化を正確に反映しない場合がある。
【００１０】
本開示の実施例は、最適な複合動き予測スキームを選択することにより、ビデオフレームのビデオブロックを符号化または復号化することを含む。第１の複合動きブロックは、１つまたは複数の量子化重み付け係数（quantized weighting coefficient）を使用して、第１の参照フレームからビデオフレームまでの距離、および第２の参照フレームからビデオフレームまでの距離を重み付けすることにより決定され得る。第２の複合動きブロックは、第１の参照フレームのビデオブロックからの画素値と第２の参照フレームのビデオブロックからの画素値の平均に基づいて決定され得る。第１の複合動きブロックまたは第２の複合動きブロックのうちの１つが、予測ブロックを生成するために選択され使用される。代替的には、ビデオフレームを含むビットストリームに符号化されたデータが使用されて、予測ブロックの生成に使用する複合動きブロックを決定し得る。ビデオフレームのビデオブロックは、予測ブロックを使用して符号化または復号化され得る。
【００１１】
例えば、符号化動作中、符号化器は、レート歪み値などに基づいて、距離に基づく予測スキーム（例えば、第１の複合動きブロック）または平均化に基づく予測スキーム（例えば、第２の複合動きブロック）のうちの１つを選択して、選択を示すデータを、ビデオブロックが符号化されるビットストリームに符号化する。復号化動作中、復号化器は、ビットストリームからの符号化データを復号化して、符号化されたブロックを復号化するために選択すべき距離に基づく予測スキームまたは平均化に基づく予測スキームのいずれかを決定し得る。本明細書で使用される場合、複合動きブロックは、他の２つ以上の画素値のグループの組み合わせに基づいて決定またはそうでなければ計算された画素値のグループを指し得る。
【００１２】
フレーム回転を使用するビデオ符号化技術のさらなる詳細は、それらが実装され得るシステムを最初に参照して本明細書で説明される。図１は、ビデオ符号化及び復号化システム１００の概略図である。送信局１０２は、例えば、図２に記載されているようなハードウェアの内部構成を有するコンピュータとすることができる。しかしながら、送信局１０２の他の実施形態も可能である。例えば、送信局１０２の処理を複数の装置に分散させることができる。
【００１３】
ネットワーク１０４は、ビデオストリームの符号化および復号化のために、送信局１０２および受信局１０６を接続することができる。具体的には、ビデオストリームを送信局１０２で符号化することができ、符号化されたビデオストリームを受信局１０６で復号化することができる。ネットワーク１０４は、例えばインターネットであってもよい。ネットワーク１０４は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、仮想プライベートネットワーク（ＶＰＮ）、携帯電話ネットワーク、または送信局１０２から、この例では、受信局１０６にビデオストリームを転送する任意の他の手段とすることができる。
【００１４】
受信局１０６は、一例では、図２に記載されたようなハードウェアの内部構成を有するコンピュータとすることができる。しかしながら、受信局１０６の他の適切な実施形態も可能である。例えば、受信局１０６の処理を複数の装置に分散させることができる。
【００１５】
ビデオ符号化および復号化システム１００の他の実施形態も可能である。例えば、実施形態はネットワーク１０４を省略することができる。別の実施形態では、ビデオストリームを符号化し、後で受信局１０６またはメモリを有する任意の他の装置に送信するために格納することができる。一実施形態では、受信局１０６は、符号化されたビデオストリームを（例えば、ネットワーク１０４、コンピュータバス、および／または何らかの通信経路を介して）受信し、後の復号化のためにビデオストリームを記憶する。一実施形態では、ネットワーク１０４を介して符号化されたビデオを伝送するためにリアルタイム転送プロトコル（RTP:real-time transport protocol）が使用される。別の実施形態では、ビデオストリーミングプロトコルに基づくハイパーテキスト転送プロトコル（HTTP:Hypertext Transfer Protocol）などのＲＴＰ以外の転送プロトコルが使用されてもよい。
【００１６】
ビデオ会議システムで使用される場合、例えば、送信局１０２および／または受信局１０６は、以下に説明するように、ビデオストリームを符号化および復号化する能力を含むことができる。例えば、受信局１０６は、ビデオ会議サーバ（例えば、送信局１０２）から符号化されたビデオビットストリームを受信して復号化および視聴し、さらにそのビデオビットストリームを他の参加者による復号化および視聴のために符号化してビデオ会議サーバに送信するビデオ会議参加者とし得る。
【００１７】
図２は、送信局または受信局を実施することができるコンピューティングデバイス２００の一例のブロック図である。例えば、コンピューティングデバイス２００は、図１の送信局１０２および受信局１０６の一方または両方を実施することができる。コンピューティングデバイス２００は、複数のコンピューティングデバイスを含むコンピューティングシステムの形態、または例えば、携帯電話、タブレットコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、デスクトップコンピュータなどの単一のコンピューティングデバイスの形態とすることができる。
【００１８】
コンピューティングデバイス２００のプロセッサ２０２は、従来の中央処理装置とすることができる。代替的に、プロセッサ２０２は、現在存在するか、または今後開発される情報を操作または処理することができる他のタイプのデバイスまたは複数のデバイスであってもよい。例えば、開示された実施態様は、図示のような単一のプロセッサ、例えばＣＰＵ２０２で実施することができるが、複数のプロセッサを使用することにより速度と効率の利点を達成することができる。
【００１９】
コンピューティングデバイス２００内のメモリ２０４は、実施形態では読み出し専用メモリ（ＲＯＭ）デバイスまたはランダムアクセスメモリ（ＲＡＭ）デバイスであってもよい。ただし、任意の他の適切なタイプの記憶装置をメモリ２０４として使用することができる。メモリ２０４は、プロセッサ２０２がバス２１２を使用してアクセスするコードおよびデータ２０６を含むことができる。メモリ２０４は、オペレーティングシステム２０８およびアプリケーションプログラム２１０をさらに含むことができ、アプリケーションプログラム２１０は、本明細書に記載された技術をプロセッサ２０２が実行するのを可能にする少なくとも１つのプログラムを含む。例えば、アプリケーションプログラム２１０は、アプリケーション１〜Ｎを含むことができ、アプリケーション１〜Ｎは、本明細書で説明する技術を実行するビデオ符号化アプリケーションをさらに含む。コンピューティングデバイス２００はまた、例えば、モバイルコンピューティングデバイスと共に使用されるメモリカードとすることができる二次ストレージ２１４を含むことができる。ビデオ通信セッションは、かなりの量の情報を含み得るので、それらは、二次ストレージ２１４に全体的または部分的に記憶され、処理のために必要に応じてメモリ２０４にロードされる。
【００２０】
コンピューティングデバイス２００は、ディスプレイ２１８などの１つまたは複数の出力デバイスを含むこともできる。ディスプレイ２１８は、一例では、ディスプレイを、タッチ入力を感知するように動作可能なタッチセンシティブエレメントと組み合わせたタッチセンシティブディスプレイであってもよい。ディスプレイ２１８は、バス２１２を介してプロセッサ２０２に接続することができる。ユーザがコンピューティングデバイス２００をプログラムするかまたは他の方法で使用することを可能にする他の出力デバイスが、ディスプレイ２１８に加えて、またはディスプレイ２１８に代えて設けられてもよい。出力デバイスがディスプレイであるか、またはディスプレイを含む場合、ディスプレイは、液晶ディスプレイ（ＬＣＤ）、陰極線管（ＣＲＴ）ディスプレイ、または有機ＬＥＤ（ＯＬＥＤ）ディスプレイなどの発光ダイオード（ＬＥＤ）ディスプレイを含む様々な方法で実施することができる。
【００２１】
コンピューティングデバイス２００は、コンピューティングデバイス２００を操作するユーザの画像等の画像を検出することができる、例えば、カメラなどの撮像デバイス２２０、または現在または将来開発される任意の他の撮像デバイス２２０を含むか、または撮像デバイス２２０と通信することができる。撮像デバイス２２０は、コンピューティングデバイス２００を操作するユーザの方に向けられるように配置することができる。一例では、撮像デバイス２２０の位置および光軸は、視野が、ディスプレイ２１８に直接隣接する領域であって、その領域からディスプレイ２１８が視認可能な領域を含むように構成することができる。
【００２２】
コンピューティングデバイス２００は、コンピューティングデバイス２００の近くの音を感知することができる、例えば、マイクロホンなどの音声感知デバイス２２２、または現在または今後開発される任意の他の音声感知デバイスを含むか、または音声感知デバイス２２２と通信することができる。音声感知デバイス２２２は、コンピューティングデバイス２００を操作するユーザの方に向けられ、かつユーザがコンピューティングデバイス２００を操作している間にユーザによって発せられた例えば音声、他の発話を受信するように構成することができる。
【００２３】
図２は、コンピューティングデバイス２００のプロセッサ２０２およびメモリ２０４が特定のユニットに統合されていることを示しているが、他の構成を利用することもできる。プロセッサ２０２の動作は、直接的にまたはローカルエリアネットワークまたは他のネットワークを介して接続することができる複数のマシン（個別のマシンは１つまたは複数のプロセッサを有することができる）にわたって分散させることができる。メモリ２０４は、ネットワークベースのメモリのような複数のマシンに分散するか、またはコンピューティングデバイス２００の動作を実行する複数のマシンにおけるメモリとすることができる。本明細書では特定のバスとして示されているが、コンピューティングデバイス２００のバス２１２は、複数のバスから構成することができる。さらに、二次ストレージ２１４は、コンピューティングデバイス２００の他の構成要素に直接接続されるか、またはネットワークを介してアクセスされ、かつメモリカードなどの統合されたユニットまたは複数のメモリカードなどの複数のユニットを含むことができる。従って、コンピューティングデバイス２００は、多種多様な構成で実施することができる。
【００２４】
図３は、符号化され、続いて復号化されるビデオストリーム３００の一例の図である。ビデオストリーム３００は、ビデオシーケンス３０２を含む。次のステージでは、ビデオシーケンス３０２はいくつかの隣接フレーム３０４を含む。３つのフレームが隣接フレーム３０４として示されているが、ビデオシーケンス３０２は任意の数の隣接フレーム３０４を含むことができる。隣接フレーム３０４はさらに、個々のフレーム、例えばフレーム３０６に細分化することができる。次のステージでは、フレーム３０６は、一連のプレーンまたはセグメント３０８に分割することができる。セグメント３０８は、例えば、並列処理を可能にするフレームのサブセットとすることができる。セグメント３０８は、ビデオデータを別々の色に分離することができるフレームのサブセットとすることができる。例えば、カラービデオデータのフレーム３０６は、輝度プレーン（luminance plane）および２つの色度プレーン（chrominance plane）を含むことができる。セグメント３０８は、異なる解像度でサンプリングすることができる。
【００２５】
フレーム３０６がセグメント３０８に分割されているか否かにかかわらず、フレーム３０６は、さらに、フレーム３０６内の例えば１６×１６画素に対応するデータを含むことができるブロック３１０に細分化されてもよい。ブロック３１０は、１つまたは複数のセグメント３０８の画素データからのデータを含むように構成される。ブロック３１０は、４ｘ４画素、８ｘ８画素、１６ｘ８画素、８ｘ１６画素、１６ｘ１６画素、またはそれ以上等の任意の他の適切なサイズであってもよい。特に明記しない限り、ブロックおよびマクロブロックという用語は、本明細書では交換可能に使用される。
【００２６】
図４は、本開示の実施形態による符号化器４００のブロック図である。符号化器４００は、例えばメモリ２０４などのメモリに格納されたコンピュータソフトウェアプログラムを提供するなどして、上述のように送信局１０２内で実施することができる。コンピュータソフトウェアプログラムは、ＣＰＵ２０２等のプロセッサよる実行時に、送信局１０２に図４で説明した方法でビデオデータを符号化させる機械命令を含むことができる。符号化器４００は、例えば、送信局１０２に含まれる専用のハードウェアとして実施することもできる。特に望ましい一実施形態では、符号化器４００は、ハードウェア符号化器である。
【００２７】
符号化器４００は、ビデオストリーム３００を入力として使用してフォワードパス（実線の接続線で示す）において様々な機能を実行して、符号化または圧縮されたビットストリーム４２０を生成するイントラ予測／インター予測ステージ４０２、変換ステージ４０４、量子化ステージ４０６、およびエントロピー符号化ステージ４０８を有する。符号化器４００は、将来のブロックの符号化のためのフレームを再構成する再構成パス（点線の接続線で示す）をも含む。図４において、符号化器４００は、再構成パスにおいて様々な機能を実行する以下のステージ、逆量子化ステージ４１０、逆変換ステージ４１２、再構成ステージ４１４、およびループフィルタリングステージ４１６を有する。符号化器４００の他の構成的な変形例を使用してビデオストリーム３００を符号化することができる。
【００２８】
ビデオストリーム３００が符号化のために提示される場合、フレーム３０６のようなそれぞれの隣接するフレーム３０４は、ブロック単位で処理され得る。イントラ予測／インター予測ステージ４０２において、各ブロックは、イントラフレーム予測（イントラ予測とも称する）またはインターフレーム予測（ここではインター予測とも呼ばれる）を用いて符号化することができる。いずれの場合でも、予測ブロックを形成することができる。イントラ予測の場合、予測ブロックが、以前に符号化され、かつ再構成された現在のフレーム内のサンプルから形成され得る。インター予測の場合、予測ブロックは、１つまたは複数の以前に構築された参照フレーム内のサンプルから形成され得る。
【００２９】
次に、イントラ予測／インター予測ステージ４０２において予測ブロックが現在のブロックから減算され、残差ブロック（残差とも呼ばれる）が生成される。変換ステージ４０４は、ブロックベースの変換を使用して、残差を、例えば周波数領域の変換係数に変換する。量子化ステージ４０６は、変換係数を量子化値または量子化レベルを使用して量子化変換係数と呼ばれる離散量子値に変換する。例えば、変換係数は、量子化値で除算され、切り捨てられてもよい。
【００３０】
次に、量子化された変換係数は、エントロピー符号化ステージ４０８によってエントロピー符号化される。（例えば、使用される予測のタイプ、変換タイプ、動きベクトルおよび量子化値などを示すように用いられる複数の構文要素（syntax element）を含み得る）ブロックを復号化するために使用される他の情報とともに、エントロピー符号化された係数は、圧縮されたビットストリーム４２０に出力される。圧縮されたビットストリーム４２０は、可変長符号化（variable length coding : VLC）または算術符号化などの様々な技術を使用してフォーマットされ得る。圧縮されたビットストリーム４２０は、符号化されたビデオストリームまたは符号化されたビデオビットストリームとも称され、これらの用語は本明細書では互換的に使用される。
【００３１】
符号化器４００および復号化器５００（図５を参照して以下に説明する）が、圧縮されたビットストリーム４２０を復号化するために同じ参照フレームを使用することを確実にするために、再構成パス（点線の接続線で示す）が使用される。再構成パスは、逆量子化ステージ４１０で量子化された変換係数を逆量子化すること、および逆変換ステージ４１２で逆量子化された変換係数を逆変換して微分残差ブロック（微分残差とも称される）を生成することを含む（図５を参照して以下に説明される）復号化プロセス中に行われる機能と同様の機能を実行する。再構成ステージ４１４において、イントラ予測／インター予測ステージ４０２で予測された予測ブロックを微分残差に加えて、再構成されたブロックが作成される。ブロック化アーチファクトなどの歪みを低減するために、ループフィルタリングステージ４１６が再構成されたブロックに適用される。
【００３２】
符号化器４００の他の変形例を使用して圧縮されたビットストリーム４２０を符号化することができる。幾つかの実施形態では、非変換ベースの符号化器は、あるブロックまたはフレームに関して変換ステージ４０４を使用せずに残差信号を直接量子化することができる。幾つかの実装形態では、符号化器は、共通のステージに組み合わせられた量子化ステージ４０６および逆量子化ステージ４１０を有し得る。
【００３３】
図５は、本開示の実施形態による復号化器５００のブロック図である。復号化器５００は、例えば、メモリ２０４に格納されたコンピュータソフトウェアプログラムを提供することによって、受信局１０６で実施することができる。コンピュータソフトウェアプログラムは、プロセッサ２０２などのプロセッサによる実行時に、受信局１０６に、図５において説明した方法でビデオデータを復号化させる機械命令を含む。復号化器５００は、例えば、送信局１０２または受信局１０６に含まれるハードウェアで実施することもできる。
【００３４】
復号化器５００は、上述の符号化器４００の再構成パスと同様に、一例では、様々な機能を実行して圧縮されたビットストリーム４２０から出力ビデオストリーム５１６を生成するための以下のステージ、エントロピー復号化ステージ５０２、逆量子化ステージ５０４、逆変換ステージ５０６、イントラ予測／インター予測ステージ５０８、再構成ステージ５１０、ループフィルタリングステージ５１２、およびデブロッキングフィルタリングステージ５１４を含む。圧縮されたビットストリーム４２０を復号化するために復号化器５００の他の構造的な変形例を使用することができる。
【００３５】
圧縮されたビットストリーム４２０が復号化のために提示されると、圧縮されたビットストリーム４２０内のデータ要素が、エントロピー復号化ステージ５０２によって復号化されて、一組の量子化変換係数が生成される。逆量子化ステージ５０４は、（例えば、量子化された変換係数に量子化値を乗算することにより）量子化された変換係数を逆量子化し、逆変換ステージ５０６は、逆量子化された変換係数を逆変換して、符号化器４００における逆変換ステージ４１２によって生成されたものと同一である微分残差を生成する。圧縮されたビットストリーム４２０から復号化されたヘッダ情報を使用して、復号化器５００は、イントラ予測／インター予測ステージ５０８を用いて、（例えばイントラ予測／インター予測ステージ４０２において）符号化器４００で生成されたのと同じ予測ブロックを作成する。
【００３６】
再構成ステージ５１０において、予測ブロックを微分残差に加えて再構成ブロックが作成される。ループフィルタリングステージ５１２は、ブロッキングアーチファクトを低減するために再構成されたブロックに適用される。再構成されたブロックに他のフィルタリングを適用することができる。この例では、ブロッキング歪を低減するためにデブロッキングフィルタリングステージ５１４が再構成ブロックに適用され、その結果が出力ビデオストリーム５１６として出力される。出力ビデオストリーム５１６は、復号化されたビデオストリームとも呼ばれ、用語は本明細書では互換的に使用される。復号化器５００の他の変形例を使用して、圧縮されたビットストリーム４２０を復号化することができる。幾つかの実施形態では、復号化器５００は、デブロッキングフィルタリングステージ５１４を用いずに出力ビデオストリーム５１６を生成することができる。
【００３７】
次に、図６および図７を参照して、複数のビデオブロックを符号化または復号化する技術について説明する。図６は、選択された予測スキームを使用してビデオブロックを符号化する方法または技術６００の一例のフローチャート図である。図７は、選択された予測スキームを使用してビデオブロックを復号化する方法または技術７００の一例のフローチャート図である。技術６００および技術７００の一方または両方は、例えば、送信局１０２または受信局１０６などのコンピューティングデバイスによって実行されるソフトウェアプログラムとして実施することができる。例えば、ソフトウェアプログラムは、メモリ２０４または二次ストレージ２１４などのメモリに格納され、プロセッサ２０２のようなプロセッサによる実行時に、コンピューティングデバイスに技術６００および／または技術７００を実行させる機械可読命令を含むことができる。技術６００または技術７００の一方または両方は、特殊化されたハードウェアまたはファームウェアを用いて具体化され得る。上述したように、いくつかのコンピューティングデバイスは、複数のメモリまたはプロセッサを有してもよく、技術６００または技術７００の一方または両方において説明される複数の動作は、複数のプロセッサ、メモリ、またはその両方を使用して分散されてもよい。
【００３８】
説明を簡単にするために、技術６００および技術７００は、それぞれ一連のステップまたは動作として示され説明されている。しかしながら、本開示による複数のステップまたは複数の動作は、様々な順序でおよび／または同時に進行することができる。加えて、本明細書で提示および説明されていない他の複数のステップまたは複数の動作が使用されてもよい。さらに、開示された主題に従って技術を実施するために、図示された全てのステップまたは動作が必要とされるわけではない。
【００３９】
図６を参照すると、選択された予測スキームを使用してビデオブロックを符号化する技術６００のフローチャート図が示されている。６０２において、第１の複合動きブロックは、１つまたは複数の量子化重み付け係数を使用して、第１の参照フレームからビデオフレームまでの距離、および第２の参照フレームからビデオフレームまでの距離を重み付けすることにより決定される。第１の参照フレームおよび第２の参照フレームは、過去の複数のフレーム（例えば、表示順序で現在のビデオフレームの前に現れる複数のフレーム）または将来のフレーム（例えば、表示順序で現在のビデオフレームの後に現れる複数のフレーム）であり得る。例えば、第１の参照フレームは過去のフレームであり、第２の参照フレームは将来のフレームであり得る。別例では、第１の参照フレームおよび第２の参照フレームは両方とも過去のフレームであり得る。さらに別例では、第１の参照フレームおよび第２の参照フレームは両方とも将来のフレームであり得る。
【００４０】
第１の複合動きブロックを決定することは、第１の参照フレームからビデオフレームまでの第１の距離を第２の参照フレームからビデオフレームまでの第２の距離と比較することにより、第１の量子化重み付け係数および第２の量子化重み付け係数を決定することを含み得る。第１の距離および第２の距離の比較される値は、例えば、第１の距離および第２の距離の絶対値であってもよい。第１の量子化重み付け係数および第２の量子化重み付け係数は、比較に基づいて量子化され、第１の複合動きブロックは、第１の量子化重み付け係数および第２の量子化重み付け係数を用いて決定される。例えば、図９に関して以下に説明するように、第１の量子化重み付け係数及び第２の量子化重み付け係数のそれぞれは、１、２、３又は４の値に量子化され得る。別例では、第１の量子化重み付け係数および第２の量子化重み付け係数は、第１の距離と第２の距離との関係を示す他の値に量子化されてもよい。
【００４１】
第１の距離を第２の距離と比較することにより第１の量子化重み付け係数および第２の量子化重み付け係数を決定することは、第１の距離が第２の距離より大きいかまたは小さいかを決定することを含み得る。第１の距離が第２の距離よりも大きいと決定したことに応答して、第１の量子化重み付け係数は「１」の値を有するように決定され、第２の量子化重み付け係数が少なくとも「１」の値を有する。第１の距離が第２の距離よりも小さいと決定したことに応答して、第１の量子化重み付け係数は少なくとも「１」の値を有するように決定され、第２の量子化重み付け係数が「１」の値を有する。
【００４２】
第１の複合動きブロックは、例えば、CMB=((Ref1_MB*a))+(Ref2_MB*b))/(a+b)として決定され、ここで、Ｒｅｆ１＿ＭＢは、現在のビデオブロック内の動きを予測するために使用可能な第１の参照フレームの複数の画素値のブロックであり、Ｒｅｆ２＿ＭＢは、現在のビデオブロック内の動きを予測するために使用可能な第２の参照フレームの複数の画素値のブロックであり、ａは、第１の参照フレームと現在のビデオフレームとの間の距離に第１の量子化重み付け係数を適用することによって決定される値であり、ｂは、第２の参照フレームと現在のビデオフレームとの間の距離に第２の量子化重み付け係数を適用することによって決定される値である。
【００４３】
すなわち、第１の値は、第１の参照フレームのビデオブロックからの複数の画素値に対して第１の量子化重み付け係数を適用することにより決定され得る。第２の値は、第２の参照フレームのビデオブロックからの複数の画素値に対して第２の量子化重み付け係数を適用することにより決定され得る。次いで、第１の複合動きブロックは、第１の値および第２の値の合計を第１の量子化重み付け係数および第２の量子化重み付け係数の合計で除算することによって決定され得る。
【００４４】
６０４において、第２の複合動きブロックは、第１の参照フレームのビデオブロックからの画素値と第２の参照フレームのビデオブロックからの画素値の平均に基づいて決定される。例えば、第１の参照フレームのビデオブロックからの複数の画素値と第２の参照フレームのビデオブロックからの複数の画素値との平均を決定することは、２つのビデオブロックの対応する位置の画素値を合計し、それらの合計された画素値を「２」で除算することを含み得る。別例では、第１の参照フレームのビデオブロックからの複数の画素値と第２の参照フレームのビデオブロックからの複数の画素値との平均を決定することは、その平均を決定する前に、第１の参照フレームまたは第２の参照フレームのビデオブロックからの複数の画素値の全部または一部分を重み付けすることを含んでもよい。
【００４５】
６０６において、第１の複合動きブロックおよび第２の複合動きブロックの一方が選択される。第１の複合動きブロックおよび第２の複合動きブロックの一方を選択することは、第１の複合動きブロックおよび第２の複合動きブロックのそれぞれを使用して現在のブロックの動きを予測したことから取得される複数のレート歪み値（rate-distortion value）を決定することを含む。これらのレート歪み値は、第１の複合動きブロックおよび第２の複合動きブロックに基づいてレート歪み解析を実行することにより決定され得る。例えば、第１の複合動きブロックについて第１のレート歪み値を決定することができ、第２の複合動きブロックについて第２のレート歪み値を決定することができる。次に、第１および第２のレート歪み値の低い方をもたらす第１の複合動きブロックまたは第２の複合動きブロックのうちの１つが選択される。例えば、レート歪み解析を実行することは、第１のレート歪み値と第２のレート歪み値を比較することを含み得る。
【００４６】
レート歪み値とは、ブロックまたは他のビデオコンポーネントをコーディングするための歪みの量（例えば、ビデオ品質の低下）とレート（rate）（例えば、ビット数）とのバランスをとる比率のことである。したがって、レート歪み値を最小化してビデオブロックを符号化する予測スキームが、現在のブロックを符号化するために選択される。例えば、第１の複合動きブロック（例えば、距離に基づく予測スキーム）のレート歪み値が第２の複合動きブロック（例えば、平均化に基づく予測スキーム）のレート歪み値よりも高い場合、参照フレームと現在のビデオフレームとの間の動きが比較的低いことを反映してもよい。しかしながら、第１の複合動きブロックのレート歪み値が第２の複合動きブロックのレート歪み値よりも低い場合、参照フレームと現在のビデオフレームとの間の動きが比較的高いことを反映してもよい。
【００４７】
６０８において、第１の複合動きブロックまたは第２の複合動きブロックの選択された１つを使用して、予測ブロックが生成される。予測ブロックは、第１の複合動きブロックまたは第２の複合動きブロックの選択された１つによる現在のブロックの動きの予測を示す複数の画素値を含み得る。予測ブロックを生成することは、現在のブロックと予測ブロックとの間の差に基づいて予測残差（prediction residual）を生成することを含み得る。例えば、図４に示す符号化器４００により実行される複数の動作（例えば、イントラ／インター予測ステージ４０２で）を利用して、予測残差が生成され得る。６１０において、現在のブロックが、予測ブロックを使用して符号化される。例えば、予測ブロックを使用して現在のブロックを符号化することは、予測残差を符号化ビットストリーム（例えば、図４に示される圧縮ビットストリーム４２０）に変換、量子化、エントロピー符号化することを含み得る。
【００４８】
いくつかの実装形態では、技術６００は、第１の複合動きブロックまたは第２の複合動きブロックの選択を示す１つまたは複数の構文要素を、現在のブロックが符号化されるビットストリームに符号化することを含む。たとえば、１つまたは複数の構文要素はビットを含み得る。ビットの値は、現在のブロックを符号化するために使用される動きベクトルに関連する予測スキームを示すことができる。例えば、第１の複合動きブロック、つまり距離に基づく予測スキームが使用される場合、ビットの値は「０」であってもよい。第２の複合動きブロック、つまり、平均化に基づく予測スキームが使用されるとき、ビットの値は「１」であってもよい。１つまたは複数の構文要素は、符号化された現在のブロックを含むビデオフレームのフレームヘッダに符号化され得る。
【００４９】
技術６００は、３つ以上の基準フレームを使用することを含むことができる。たとえば、３つの参照フレームが使用されている場合、第１の複合動きブロックは、第１の量子化重み付け係数を用いて、第１の参照フレームと現在のビデオフレームとの間の距離を重み付けし、第２の量子化重み付け係数を用いて第２の参照フレームと現在のビデオフレームとの間の距離を重み付けし、第３の量子化重み付け係数を用いて第３の参照フレームと現在のビデオフレームとの間の距離を重み付けすることによって決定され得る。
【００５０】
これら３つの参照フレームを用いて現在のビデオブロック内の動きを予測するために使用される複合動きブロックは、例えば、CMB = ((Ref1_MB*(1/a))+(Ref2_MB*(1/b)) + (Ref3_MB*(1/c)))/((1/a)+(1/b)+(1/c))として決定され、ここで、Ｒｅｆ１＿ＭＢは、現在のビデオブロック内の動きを予測するのに使用可能な第１の参照フレームの複数の画素値のブロックであり、Ｒｅｆ２＿ＭＢは、現在のビデオブロック内の動きを予測するのに使用可能な第２の参照フレームの複数の画素値のブロックであり、Ｒｅｆ３＿ＭＢは、現在のビデオブロック内の動きを予測するのに使用可能な第３の参照フレームの画素値のブロックであり、ａは、第１の参照フレームと現在のビデオフレームとの間の距離に第１の量子化重み係数を適用することによって決定される値であり、ｂは、第２の参照フレームと現在のビデオフレームとの間の距離に第２の量子化重み付け係数を適用することによって決定される値であり、ｃは、第３の参照フレームと現在のビデオフレームとの間の距離に第３の量子化重み付け係数を適用することによって決定される値である。
【００５１】
技術６００は、ビデオフレームに関連する確率モデルを更新して、距離に基づく予測スキーム（例えば、第１の複合動きブロック）または平均化に基づく予測スキーム（例えば、第２の複合動きブロック）が、現在のブロックの動きを予測するために選択されたかどうかを示すことを含み得る。例えば、現在のブロックの予測スキームに対するコンテキスト（ｃｏｎｔｅｘｔ）は、現在のブロックの上の隣接ブロックまたは現在のブロックの左の隣接ブロックのうちの１つまたは複数のブロックの複数のコンテキストに基づいて決定され、これらのコンテキストは、これらの隣接ブロックを符号化するために選択された予測スキームを示す。ビデオフレームの任意のブロックに対するコンテキストは、距離に基づく予測スキームが使用されたことを示す第１の値、または平均化に基づく予測スキームが使用されたことを示す第２の値を有することができる。確率モデルは、使用されているこれらの予測スキームの各々の確率を反映するように更新され得る。
【００５２】
図７を参照すると、選択された予測スキームを使用して符号化されたブロックを復号化する技術７００が示されている。７０２において、１つまたは複数の構文要素が、符号化されたビデオフレームを含むビットストリームから復号化され、符号化されたビデオフレームは、符号化されたブロックを含む。１つまたは複数の構文要素は、例えば、符号化されたビデオフレームのフレームヘッダから復号化され得る。１つまたは複数の構文要素は、符号化されたビットストリームに符号化されて、符号化されたブロックを符号化するために使用された符号化器が、符号化する前に、符号化されたブロックの動きを予測するために、距離に基づく予測スキームまたは平均化に基づく予測スキームを選択したかどうかを示し得る。
【００５３】
７０４において、複数の参照フレームのそれぞれから符号化されたビデオフレームまでの複数の距離を重み付けすることによって符号化されたブロックが符号化されたかどうかに関して判定が実行される。判定は、符号化されたフレームを含むビットストリームから復号化された１つまたは複数の構文要素の値に基づいて実行され得る。たとえば、復号化された構文要素は、特定のビットを含み得る。ビットが第１の値（例えば、０）を有する場合、符号化されたブロックは、複数の参照フレームのそれぞれから符号化されたビデオフレームまでの複数の距離を重み付けすることによって符号化されたと判定され得る。しかしながら、ビットが第２の値（例えば、１）を有する場合、符号化されたブロックは、複数の参照フレームのそれぞれから符号化されたビデオフレームまでの複数の距離を重み付けすることによって符号化されていないと判定され得る。
【００５４】
７０６において、符号化されたブロックが、複数の参照フレームの各々から符号化されたビデオフレームまでの複数の距離を重み付けすることによって符号化されたと判定したことに応答して、複合動きブロックは、第１の参照フレームから符号化されたビデオフレームまでの第１の距離と、第２の参照フレームから符号化されたビデオフレームまでの第２の距離とを、１つまたは複数の量子化重み付け係数を用いて重み付けすることによって決定される。上述したように、第１の参照フレームおよび第２の参照フレームは、過去の複数のフレーム（例えば、表示順序で現在のビデオフレームの前に現れる複数のフレーム）または将来のフレーム（例えば、表示順序で現在のビデオフレームの後に現れる複数のフレーム）であり得る。
【００５５】
複合動きブロックは、７０６において、技術６００に関して説明された第１の複合動きブロックを決定するための実施形態と同じまたは同様の方法で決定され得る。しかしながら、技術６００を実行するエンコーダは、ビデオフレーム、第１の参照フレーム、および第２の参照フレームを含むビデオシーケンスの表示順序を示す情報を入力ビデオストリームから受信するが、技術７００を実行するデコーダは、その情報を入力ビデオストリームから受信しない。
【００５６】
代わりに、符号化されたビデオフレーム、第１の参照フレーム、および第２の参照フレームを含むビデオシーケンスの符号化された複数のビデオフレームの順序は、符号化されたビデオフレーム（および、たとえば、以前に復号化された１つまたは複数の構文要素）を含むビットストリーム内で示され得る。例えば、符号化されたビットストリームは、符号化されたビットストリームに符号化された複数のビデオフレームのそれぞれのフレームインデックスを示すデータを含み得る。これらのフレームインデックスは、ビデオシーケンスの表示順序を決定するために技術７００を実行する復号化器により、単独で、または他のデータ（例えば、パケットスタンプデータ、他の時間オフセットデータなど）と関連して使用され得る。
【００５７】
あるいは、７０８において、１つまたは複数の量子化重み付け係数を使用して複数の距離を重み付けすることによって、符号化されたブロックが符号化されなかったと判定したことに応答して、複合動きブロックが、第１の参照フレームの符号化されたビデオブロックの複数の画素値と第２の参照フレームの符号化されたビデオブロックの複数の画素値との平均値に基づいて決定され得る。複合動きブロックは、７０８において、技術６００に関して説明された第２の複合動きブロックを決定する実施形態と同じまたは同様の方法で決定され得る。
【００５８】
７１０において、７０６または７０８において決定された複合動きブロックを使用して予測ブロックが生成される。技術６００に関して上述したように、予測ブロックは、決定された複合動きブロックに従って符号化されたブロックの動きの予測を示す複数の画素値を含み得る。予測ブロックを生成することは、符号化されたブロックと予測ブロックとの間の差に基づいて予測残差を生成することを含み得る。例えば、図５に示す復号化器５００により実行される複数の動作を利用して（例えば、イントラ／インター予測ステージ５０８で）、予測残差が生成され得る。７１２において、予測ブロックを使用して、符号化されたブロックが復号化される。例えば、予測ブロックを使用して符号化されたブロックを復号化することは、予測残差に基づいてビデオブロックを再構成し、再構成されたビデオブロックをフィルタリングし、フィルタリングされたビデオブロックをビデオストリーム（例えば、図５に示される出力ビデオストリーム５１６）に出力することを含み得る。
【００５９】
いくつかの実装形態では、技術７００は、３つ以上の参照フレームを使用することを含む。例えば、技術７００は、符号化されたブロックを符号化するのに使用された符号化器と同じ数の参照フレームを使用して符号化されたブロックを復号化することができる。３つ以上の参照フレームを使用する実施形態は、技術６００に関して上述されている。
【００６０】
技術７００は、符号化されたビデオフレームに関連する確率モデルを更新して、距離に基づく予測スキームに対応する複合動きブロック（例えば、第１の複合動きブロック）または平均化に基づく予測スキームに対応する複合動きブロック（例えば、第２の複合動きブロック）が、符号化されたブロックの動きを予測するために選択されたかどうかを示すことを含み得る。確率モデルを更新する実施形態は、技術６００に関して上述されている。
【００６１】
ビデオシーケンスのフレーム間の複数の距離の一例を示す。ビデオフレーム８００は、符号化または復号化されたビデオブロック８０２を含む。ビデオブロック８０２は、第１の参照フレーム８０４および第２の参照フレーム８０６を使用して符号化または復号化され得る。例えば、第１の参照フレームのビデオブロック８０８の複数の画素値のすべてまたは一部分は、第２の参照フレームのビデオブロック８１０の複数の画素値のすべてまたは一部分と組み合わされてもよい。これらの画素値の組み合わせは、第１の参照フレーム８０４とビデオフレーム８００との間の表示順序の距離を示す第１の距離８１２に基づき、且つ第２の参照フレーム８０６とビデオフレーム８００との間の表示順序の距離を示す第２の距離８１４に基づいてもよい。
【００６２】
第１の距離８１２と第２の距離８１４が等しい場合、ビデオブロック８０８の複数の画素値とビデオブロック８１０の複数の画素値が等しく組み合わされて、ビデオブロック８０２の動きを予測し得る。しかしながら、第１の距離８１２および第２の距離８１４の一方は、他方より大きくてもよい。そのような場合、ビデオフレーム８００から２つの参照フレーム８０４、８０６がより遠いほど、ビデオブロック８０２の動きの全体的な予測に影響が小さくなる可能性が高い。示されている例では、第２の距離８１４は第１の距離８１２よりも大きい。このため、第１の参照フレームのビデオブロック８０８の対応する複数の画素値は、ビデオブロック８０２の動きを予測するためにこれらの画素値が組み合わされるときに、第２の参照フレームのビデオブロック８１０の対応する複数の画素値よりも大きな重みが付与されるべきである。
【００６３】
図９は、量子化重み付け係数を決定するためのツリー９００の一例の図である。本開示の実施形態において説明されるような複合動き予測のために距離に基づく予測スキームを使用する場合、どのように各参照フレームからの複数の画素値を重み付けするかを決定することによって、これらの参照フレームのそれぞれによって付与される量子化ノイズを隠すのに役立つ。量子化ノイズをさらに低減するために、各参照フレームの複数の画素値に適用される重みは、量子化係数である。複数の参照フレームの複数の画素値の複数のグループの各々に対して適用される量子化重み付け係数は、これらの参照フレームの各々と、符号化または復号化されるべきビデオブロックを含むビデオフレームとの間の距離の比較に基づいて決定され得る。
【００６４】
示される例では、ツリー９００の各葉は、距離Ｄ１（例えば、図８に示される第１の距離８１２）および距離Ｄ２（例えば、図８に示される第２の距離８１４）の比較または第１の参照フレームおよび第２の参照フレームからの複数の画素値を使用してビデオブロックの動きを予測するための１対の量子化重み付け係数を含む。上述したように、Ｄ１およびＤ２の比較される値は、例えば、Ｄ１およびＤ２の絶対値であってもよい。
【００６５】
最初の葉において、Ｄ１とＤ２が比較されてどちらが大きいかを判定する。その比較に基づいて、ツリー９００は、異なる値に対してＤ１およびＤ２の比をさらに比較して、異なる可能な８つの対の量子化重み付け係数のうちの一つを決定し、各対は、第１の参照フレームのビデオブロックの複数の画素値に対して適用される第１の量子化重み付け係数と、第２の参照フレームのビデオブロックの複数の画素値に対して適用される第２の量子化重み付け係数とを含む。
【００６６】
例えば、Ｄ１がＤ２より大きく、Ｄ１のＤ２に対する比が１．５未満である場合、第１の量子化重み付け係数は「１」であり、第２の量子化重み付け係数は「１」である。Ｄ１がＤ２より大きく、Ｄ１のＤ２に対する比が１．５以上２．５より小さい場合、第１の量子化重み付け係数は「１」であり、第２の量子化重み付け係数は「２」である。Ｄ１がＤ２より大きく、Ｄ１のＤ２に対する比が２．５以上３．５より小さい場合、第１の量子化重み付け係数は「１」であり、第２の量子化重み付け係数は「３」である。ただし、Ｄ１がＤ２より大きく、Ｄ１のＤ２に対する比が３．５以上の場合、第１の量子化重み付け係数は「１」であり、第２の量子化重み付け係数は「４」である。
【００６７】
別例では、Ｄ２がＤ１より大きく、Ｄ２のＤ１に対する比が１．５未満である場合、第１の量子化重み付け係数は「１」であり、第２の量子化重み付け係数は「１」である。Ｄ２がＤ１より大きく、Ｄ２のＤ１に対する比が１．５以上２．５未満である場合、第１の量子化重み付け係数は「２」であり、第２の量子化重み付け係数は「１」である。Ｄ２がＤ１より大きく、Ｄ２のＤ１に対する比が２．５以上３．５よりも小さい場合、第１の量子化重み付け係数は「３」であり、第２の量子化重み付け係数は「１」である。ただし、Ｄ２がＤ１より大きく、Ｄ２のＤ１に対する比が３．５以上である場合、第１の量子化重み付け係数は「４」であり、第２の量子化重み付け係数は「１」である。
【００６８】
したがって、第１の量子化重み付け係数および第２の量子化重み付け係数の値は、第１の参照フレームと現在のビデオフレームとの間の第１の距離と第２の参照フレームと現在のビデオフレームとの間の第２の距離との関係を示す。たとえば、第１の距離と第２の距離の比が、第１の距離が第２の距離の２倍であることを示す場合、第１の量子化重み付け係数は「２」の値を有し、第２の量子化重み付け係数は「１」の値を有する。別例では、第１の距離と第２の距離の比が、第２の距離が第２の距離の４倍以上であることを示す場合、第１の量子化重み係数は「１」の値を有し、第２の量子化重み係数は「４」の値を有する。
【００６９】
上述の符号化および復号化の態様は、符号化および復号化技術のいくつかの例を示す。しかしながら、符号化および復号化は、特許請求の範囲で使用されるそれらの用語として圧縮、圧縮解除、変換、または任意の他の処理またはデータの変更を意味し得ることを理解されたい。
【００７０】
「例」という語は、本明細書では、例、事例、または実例としての役割を意味するものとして使用される。本明細書において「例」と記載された任意の態様または設計は、必ずしも他の態様または設計に対して好ましいまたは有利であるとして解釈されるべきではない。むしろ、「例」という言葉の使用は、具体的な方法で概念を提示することを意図している。本出願で使用される場合、用語「または」は、排他的な「または」ではなく、包括的な「または」を意味することが意図される。即ち、他に明記されていない限り、または文脈によって明らかに別の形で示されない限り、「ＸはＡまたはＢを含む」という表現は、任意の自然な包含的置換（natural inclusive permutations）を意味することを意図する。即ち、「ＸはＡまたはＢを含む」は、以下の場合、ＸがＡを含む場合、ＸがＢを含む場合、またはＸがＡおよびＢの両方を含む場合のいずれにおいても満足される。さらに、本出願および添付の特許請求の範囲で使用される冠詞「ａ」および「ａｎ」は、他に明記されない限り、または単数形に向けられる文脈により明らかに示されない限り、「１つまたは複数」を意味すると一般に解釈されるべきである。さらに、本開示において「実施形態」または「一実施形態」という用語の使用は、そのように記載されない限り、同じ実施形態または実施を意味することを意図するものではない。
【００７１】
送信局１０２および／または受信局１０６（ならびに、符号化器４００および復号化器５００が含む、それに記憶され、かつ／またはそれによって実行されるアルゴリズム、方法、命令など）の実施形態は、ハードウェア、ソフトウェア、またはそれらの任意の組み合わせにおいて実現することができる。ハードウェアは、例えば、コンピュータ、知的財産（ＩＰ）コア、特定用途向け集積回路（ASIC:application-specific integrated circuits）、プログラマブル論理アレイ、光プロセッサ、プログラマブル論理コントローラ、マイクロコード、マイクロコントローラ、サーバ、マイクロプロセッサ、デジタル信号プロセッサ、または他の適切な回路を含むことができる。特許請求の範囲において、「プロセッサ」という用語は、前述のハードウェアのいずれかを単独でまたは組み合わせて含むものとして理解されるべきである。用語「信号」および「データ」は互換的に使用される。さらに、送信局１０２および受信局１０６の一部は、必ずしも同じ方法で実施される必要はない。
【００７２】
さらに、一態様では、例えば、送信局１０２または受信局１０６は、実行時に、本明細書に記載された個々の方法、アルゴリズム、および／または命令をのうちのいずれかを実行するコンピュータプログラムを備えた汎用コンピュータまたは汎用プロセッサを使用して実施することができる。加えて、または代替的に、例えば、本明細書に記載された方法、アルゴリズム、または命令のいずれかを実行するための他のハードウェアを含むことができる専用コンピュータ／プロセッサを利用することができる。
【００７３】
送信局１０２および受信局１０６は、例えば、ビデオ会議システム内のコンピュータ上で実施することができる。あるいは、送信局１０２はサーバ上で実施することができ、受信局１０６はサーバとは別のハンドヘルド通信デバイスのようなデバイス上で実施することができる。この場合、送信局１０２は、符号化器４００を使用してコンテンツを符号化されたビデオ信号に符号化し、符号化されたビデオ信号を通信デバイスに送信することができる。通信デバイスは、復号化器５００を使用して符号化されたビデオ信号を復号化することができる。あるいは、通信デバイスは、通信デバイス上に局所的に格納されたコンテンツ、例えば、送信局１０２によって送信されなかったコンテンツを復号化することができる。他の適切な送信および受信の実施方式が利用可能である。例えば、受信局１０６は、ポータブル通信デバイスではなく、一般に固定のパーソナルコンピュータであってもよく、かつ／または符号化器４００を含むデバイスは、復号化器５００を含んでもよい。
【００７４】
さらに、本開示の実施形態の全部または一部は、例えばコンピュータ使用可能またはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品の形態を取ることができる。コンピュータ使用可能またはコンピュータ可読媒体は、例えば、任意のプロセッサによって使用されるプログラムを有形に包含、格納、通信、または輸送することができる任意のデバイスであり得る。媒体は、例えば、電子、磁気、光学、電磁気、または半導体デバイスであり得る。他の適切な媒体も利用可能である。
【００７５】
上述した実施形態、実施例及び態様は、本開示の理解を容易にするために記載されており、本開示を限定するものではない。本開示は、添付の特許請求の範囲内に含まれる様々な改変および均等の構成を包含することを意図しており、その範囲は、すべての改変および均等の構造を包含するように法律で許容されるような最も広い解釈が与えられる。
【図１】
2020522185.tif 000003
【図２】
2020522185.tif 000004
【図３】
2020522185.tif 000005
【図４】
2020522185.tif 000006
【図５】
2020522185.tif 000007
【図６】
2020522185.tif 000008
【図７】
2020522185.tif 000009
【図８】
2020522185.tif 000010
【図９】
2020522185.tif 000011
【手続補正書】
【提出日】令和1年11月28日(2019.11.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
符号化されたビデオフレームの符号化されたブロックを復号化する装置であって、
復号化器を備え、該復号化器は、
前記符号化されたビデオフレームを含む符号化されたビットストリームから、前記符号化されたブロックの予測を実行する方法を示す１つまたは複数の構文要素を復号化すること、
前記１つまたは複数の構文要素が、重み付け距離アプローチを使用して前記符号化されたブロックの予測を実行することを示しているか否かを判定すること、
前記１つまたは複数の構文要素が、前記重み付け距離アプローチを使用して前記符号化されたブロックの予測を実行することを示していると判定したことに応答して、
前記符号化されたビデオフレームから第１の距離にある第１の参照フレームのビデオデータに第１の重みを適用して第１の値を決定すること、
前記符号化されたビデオフレームから第２の距離にある第２の参照フレームのビデオデータに第２の重みを適用して第２の値を決定すること、
前記第１の重みおよび前記第２の重みに基づいて第１の複合動きブロックを形成すること、
前記第１の複合動きブロックを使用して、前記符号化されたブロックを復号化すること、
前記１つまたは複数の構文要素が、前記重み付け距離アプローチを使用して前記符号化されたブロックの予測を実行することを示していないと判定したことに応答して、
前記第１の参照フレームのビデオデータと前記第２の参照フレームのビデオデータとの平均に基づいて、第２の複合動きブロックを形成すること、
前記第２の複合動きブロックを使用して、前記符号化されたブロックを復号化すること、を実行するように構成される、装置。
【請求項２】
前記符号化されたビットストリームに含まれる複数の符号化されたビデオフレームの順序は、前記符号化されたビットストリームに含まれる複数のパケットスタンプを用いて示され、前記複数の符号化されたビデオフレームは、前記符号化されたビデオフレーム、前記第１の参照フレーム、および前記第２の参照フレームを含む、請求項１に記載の装置。
【請求項３】
前記第１の距離が前記第２の距離よりも大きい場合、前記第１の重みは１の値を有し、前記第２の重みは少なくとも１の値を有し、前記第１の距離が前記第２の距離よりも小さい場合、前記第１の重みは少なくとも１の値を有し、前記第２の重みは１の値を有する、請求項１または２に記載の装置。
【請求項４】
前記第１の距離が前記第２の距離よりも大きい場合、前記第１の距離と前記第２の距離との比は、前記第２の距離に対する前記第１の距離の第１の比であり、前記第１の距離が前記第２の距離よりも大きくない場合、前記第１の距離と前記第２の距離との比は、前記第１の距離に対する前記第２の距離の第２の比であり、
前記第１の比または前記第２の比が１．５未満である場合、前記第１の重みおよび前記第２の重みは両方とも１に等しく、
前記第１の比が１．５よりも大きく、２．５よりも小さい場合、前記第１の重みは１であり、前記第２の重みは２であり、
前記第１の比が２．５よりも大きく、３．５よりも小さい場合、前記第１の重みは１であり、前記第２の重みは３であり、
前記第１の比が３．５よりも大きい場合、前記第１の重みは１であり、前記第２の重みは４であり、
前記第２の比が１．５よりも大きく、２．５よりも小さい場合、前記第１の重みは２であり、前記第２の重みは１であり、
前記第２の比が２．５よりも大きく、３．５よりも小さい場合、前記第１の重みは３であり、前記第２の重みは１であり、
前記第２の比が３．５よりも大きい場合、前記第１の重みは４であり、前記第２の重みは１である、請求項１または２に記載の装置。
【請求項５】
前記復号化器は、
確率モデルを更新して、前記重み付け距離アプローチが前記符号化されたブロックの予測を実行するために用いられたか否かを示すように構成された、請求項１〜４のいずれか１項に記載の装置。
【請求項６】
前記復号化器は、
プロセッサと、
メモリに格納された複数の命令を実行するように構成された前記メモリと、含む、請求項１〜５のいずれか１項に記載の装置。
【請求項７】
符号化されたビデオフレームの符号化されたブロックを復号化する方法であって、
第１の参照フレームから前記符号化されたビデオフレームまでの第１の距離を、第２の参照フレームから前記符号化されたビデオフレームまでの第２の距離と比較して、前記第１の距離と前記第２の距離との比を決定すること、
前記第１の距離と前記第２の距離との比に基づいて、２つの量子化重み係数を特定すること、
前記２つの量子化重み係数を使用して複合動きブロックを形成すること、
前記複合動きブロックを使用して、前記符号化されたブロックを復号化すること、を備える方法。
【請求項８】
前記２つの量子化重み係数を使用して前記複合動きブロックを形成することは、
前記２つの量子化重み係数の第１の量子化重み係数を前記第１の参照フレームのビデオデータに適用することによって第１の値を決定すること、
前記２つの量子化重み係数の第２の量子化重み係数を前記第２の参照フレームのビデオデータに適用することによって第２の値を決定すること、
前記第１の値および前記第２の値の合計を前記第１の量子化重み付け係数および前記第２の量子化重み付け係数の合計で除算すること、を含む、請求項７に記載の方法。
【請求項９】
前記複合動きブロックは、第１の複合動きブロックであり、
前記符号化されたビデオフレームを含む符号化されたビットストリームから、前記符号化されたブロックの予測を実行する方法を示す１つまたは複数の構文要素を復号化すること、
前記１つまたは複数の構文要素が、重み付け距離アプローチを使用して前記符号化されたブロックの予測を実行することを示しているか否かを判定することであって、前記１つまたは複数の構文要素が前記重み付け距離アプローチを使用して前記符号化されたブロックの予測を実行することを示していると判定したことに応答して、前記第１の複合動きブロックは、前記符号化されたブロックを復号化するために形成されて使用される、前記判定すること、
前記１つまたは複数の構文要素が、前記重み付け距離アプローチを使用して前記符号化されたブロックの予測を実行することを示していないと判定したことに応答して、
前記第１の参照フレームのビデオデータと前記第２の参照フレームのビデオデータとの平均に基づいて、第２の複合動きブロックを形成すること、
前記第２の複合動きブロックを使用して、前記符号化されたブロックを復号化すること、をさらに備える請求項７または８に記載の方法。
【請求項１０】
前記２つの量子化重み係数は、第１の量子化重み係数および第２の量子化重み係数を含み、
前記比が、前記第１の距離が前記第２の距離よりも大きいことを示す場合、前記第１の距離と前記第２の距離との比に基づいて、前記２つの量子化重み係数を特定することは、前記第１の量子化重み係数が１の値を有し、前記第２の量子化重み係数が少なくとも１の値を有することを特定することを含み、
前記比が、前記第１の距離が前記第２の距離よりも小さいことを示す場合、前記第１の距離と前記第２の距離との比に基づいて、前記２つの量子化重み係数を特定することは、前記第１の量子化重み係数が少なくとも１の値を有し、前記第２の量子化重み係数が１の値を有することを特定することを含む、請求項７に記載の方法。
【請求項１１】
前記２つの量子化重み係数は、第１の量子化重み係数および第２の量子化重み係数を含み、
前記第１の距離が前記第２の距離よりも大きい場合、前記比は、前記第２の距離に対する前記第１の距離の第１の比であり、前記第１の距離が前記第２の距離よりも大きくない場合、前記比は、前記第１の距離に対する前記第２の距離の第２の比であり、
前記第１の比または前記第２の比が１．５未満である場合、前記第１の量子化重み係数および前記第２の量子化重み係数は両方とも１に等しく、
前記第１の比が１．５よりも大きく、２．５よりも小さい場合、前記第１の量子化重み係数は１であり、前記第２の量子化重み係数は２であり、
前記第１の比が２．５よりも大きく、３．５よりも小さい場合、前記第１の量子化重み係数は１であり、前記第２の量子化重み係数は３であり、
前記第１の比が３．５よりも大きい場合、前記第１の量子化重み係数は１であり、前記第２の量子化重み係数は４であり、
前記第２の比が１．５よりも大きく、２．５よりも小さい場合、前記第１の量子化重み係数は２であり、前記第２の量子化重み係数は１であり、
前記第２の比が２．５よりも大きく、３．５よりも小さい場合、前記第１の量子化重み係数は３であり、前記第２の量子化重み係数は１であり、
前記第２の比が３．５よりも大きい場合、前記第１の量子化重み係数は４であり、前記第２の量子化重み係数は１である、請求項７に記載の方法。
【請求項１２】
前記第１の距離および第２の距離は、符号化されたビットストリームの複数の符号化されたビデオストリームの順序に基づいて決定され、前記複数の符号化されたビデオフレームは、前記符号化されたビデオフレーム、前記第１の参照フレーム、および前記第２の参照フレームを含む、請求項７〜１１のいずれか１項に記載の方法。
【請求項１３】
符号化されたビデオフレームの符号化されたブロックを復号化する方法であって、
第１の値及び第２の値に基づいて複合動きブロックを形成することであって、前記第１の値は、第１の重みを第１の参照フレームのビデオデータに適用することによって決定され、前記第２の値は、第２の重みを第２の参照フレームのビデオデータに適用することによって決定され、前記第１の重みは、前記第１の参照フレームから前記符号化されたビデオフレームまでの第１の距離に基づいて決定され、前記第２の重みは、前記第２の参照フレームから前記符号化されたビデオフレームまでの第２の距離に基づいて決定される、前記形成すること、
前記複合動きブロックを使用して、前記符号化されたブロックを復号化すること、を備える方法。
【請求項１４】
前記符号化されたビデオフレームを含む符号化されたビットストリームから、前記符号化されたブロックの予測を実行する方法を示す１つまたは複数の構文要素を復号化すること、
前記１つまたは複数の構文要素が、重み付け距離アプローチを使用して前記符号化されたブロックの予測を実行することを示しているか否かを判定すること、をさらに備え、
前記１つまたは複数の構文要素が、前記重み付け距離アプローチを使用して前記符号化されたブロックの予測を実行することを示していると判定したことに応答して、前記複合動きブロックが形成される、請求項１３に記載の方法。
【請求項１５】
前記複合動きブロックは、第１の複合動きブロックであり、
前記１つまたは複数の構文要素が、前記重み付け距離アプローチを使用して前記符号化されたブロックの予測を実行することを示していないと判定したことに応答して、前記第１の参照フレームのビデオデータと前記第２の参照フレームのビデオデータとの平均に基づいて第２の複合動きブロックを形成すること、
前記第２の複合動きブロックを使用して、前記符号化されたブロックを復号化すること、をさらに備える請求項１４に記載の方法。
【請求項１６】
前記複合動きブロックは、前記第１の値および前記第２の値の合計を前記第１の重みおよび前記第２の重みの合計で除算することによって形成される、請求項１３〜１５のいずれか１項に記載の方法。
【請求項１７】
前記第１の距離および第２の距離は、符号化されたビットストリームの複数の符号化されたビデオストリームの順序に基づいて決定され、前記複数の符号化されたビデオフレームは、前記符号化されたビデオフレーム、前記第１の参照フレーム、および前記第２の参照フレームを含む、請求項１３〜１６のいずれか１項に記載の方法。
【請求項１８】
前記第１の重みおよび前記第２の重みの値が、前記第１の距離と前記第２の距離との比に基づく、請求項１３〜１７のいずれか１項に記載の方法。
【請求項１９】
前記第１の距離が前記第２の距離よりも大きい場合、前記第１の重みは１の値を有し、前記第２の重みは少なくとも１の値を有し、前記第１の距離が前記第２の距離よりも小さい場合、前記第１の重みは少なくとも１の値を有し、前記第２の重みは１の値を有する、請求項１８に記載の方法。
【請求項２０】
前記第１の距離が前記第２の距離よりも大きい場合、前記比は、前記第２の距離に対する前記第１の距離の第１の比であり、前記第１の距離が前記第２の距離よりも大きくない場合、前記比は、前記第１の距離に対する前記第２の距離の第２の比である、請求項１８に記載の方法。
【請求項２１】
前記第１の比または前記第２の比が１．５未満である場合、前記第１の重みおよび前記第２の重みは両方とも１に等しく、
前記第１の比が１．５よりも大きく、２．５よりも小さい場合、前記第１の重みは１であり、前記第２の重みは２であり、
前記第１の比が２．５よりも大きく、３．５よりも小さい場合、前記第１の重みは１であり、前記第２の重みは３であり、
前記第１の比が３．５よりも大きい場合、前記第１の重みは１であり、前記第２の重みは４であり、
前記第２の比が１．５よりも大きく、２．５よりも小さい場合、前記第１の重みは２であり、前記第２の重みは１であり、
前記第２の比が２．５よりも大きく、３．５よりも小さい場合、前記第１の重みは３であり、前記第２の重みは１であり、
前記第２の比が３．５よりも大きい場合、前記第１の重みは４であり、前記第２の重みは１である、請求項２０に記載の方法。
【国際調査報告】
2020522185.tif 000012
2020522185.tif 000013
2020522185.tif 000014