(57)【要約】一般化された双予測を使用するビデオ符号化のためのシステムおよび方法が、説明される。例示的な実施形態においては、ビットストリームにおいてビデオの現在ブロックを符号化するために、第１の基準ブロックが、第１の基準画像から選択され、第２の基準ブロックが、第２の基準画像から選択される。各基準ブロックは、重みと関連付けられ、重みは、例えば、０から１の間の範囲の、任意の重みであることができる。現在ブロックは、基準ブロックの加重和を使用して予測される。重みは、複数の候補重みの中から選択されることができる。候補重みは、ビットストリーム内でシグナリングされることができ、またはテンプレートに基づいて暗黙的に導出されることができる。候補重みは、範囲外または実質的に重複する候補重みを回避するために、削減されることができる。一般化された双予測は、フレームレートアップコンバージョン内において、追加的に使用されることができる。
2019519148.tif 000002
【特許請求の範囲】
【請求項１】
現在画像、第１の基準画像、および第２の基準画像を含んでいる複数の画像を含んでいるビデオを符号化する方法であって、各画像は複数のブロックを含み、前記方法は前記現在画像における少なくとも現在ブロックに対して、
第１の重みおよび第２の重みを識別しているブロックレベル情報を符号化するステップであって、前記第１の重みおよび前記第２の重みのうちの少なくとも一方は０、０．５または１に等しくない値を有する、ステップと、
前記第１の基準画像における第１の基準ブロックと前記第２の基準画像における第２の基準ブロックとの加重和として前記現在ブロックを予測するステップであって、前記第１の基準ブロックは前記第１の重みによって重み付けされ、および前記第２のブロックは前記第２の重みによって重み付けされる、ステップと
を備えたことを特徴とする方法。
【請求項２】
前記第１の基準ブロックおよび前記第２の基準ブロックは、前記現在画像のためのビットストリームにおいてシグナリングされる少なくとも１つのスケーリング係数によってさらにスケーリングされることを特徴とする請求項１に記載の方法。
【請求項３】
前記現在ブロックはマージモードで符号化され、前記ブロックレベル情報は複数のマージ候補ブロックから候補ブロックを識別し、前記第１の重みおよび前記第２の重みは前記識別された候補ブロックを符号化するのに使用された重みに基づいて識別されることを特徴とする請求項１に記載の方法。
【請求項４】
前記ブロックレベル情報は重みのセットの中から前記第１の重みおよび前記第２の重みを識別するブロックレベルインデックスを含むことを特徴とする請求項１に記載の方法。
【請求項５】
重みの前記セットは少なくとも４つの重みを含むことを特徴とする請求項４に記載の方法。
【請求項６】
重みの前記セットは重みの予め定められたセットであることを特徴とする請求項４に記載の方法。
【請求項７】
前記ビットストリームにおいて重みの前記セットを符号化するステップをさらに備えたことを特徴とする請求項４に記載の方法。
【請求項８】
重みの前記セットを符号化するステップは２分木における対応するリーフノードに重みを割り当てるステップを含み、および前記第１の重みに対応している前記リーフノードを識別する、前記ビットストリームにおける符号語を使用して、前記第１の重みの選択は実行されることを特徴とする請求項７に記載の方法。
【請求項９】
前記第２の重みは前記選択された第１の重みを１から減算することによって識別されることを特徴とする請求項８に記載の方法。
【請求項１０】
前記２分木は片予測ブランチおよび双予測ブランチを含み、
前記片予測ブランチは１および０の重みを含み、
前記双予測ブランチは１から０の間の少なくとも１つの重みを含む
ことを特徴とする請求項８に記載の方法。
【請求項１１】
前記ビットストリームにおいて重みを符号化する前記ステップは、重みの数を識別している情報を前記ビットストリームにおいてシグナリングすることをさらに含むことを特徴とする請求項７に記載の方法。
【請求項１２】
前記ビットストリームにおいて重みを符号化する前記ステップは、第１のレベルにおいて重みの少なくとも第１のセットを、および、前記第１のレベルより低い第２のレベルにおいて重みの少なくとも第２のセットを階層的に符号化することを含み、前記第２のレベルにおいてシグナリングされた重みは、前記第１のレベルにおいてシグナリングされた前記重みの少なくともいくつかを置換することを特徴とする請求項７に記載の方法。
【請求項１３】
前記第１のレベルはシーケンスレベルであり、ならびに前記第２のレベルは画像レベルおよびスライスレベルの１つであることを特徴とする請求項１２に記載の方法。
【請求項１４】
対応する重みに符号語を割り当てるステップをさらに備え、前記ブロックレベルインデックスの符号化は前記対応する符号語を使用して実行されることを特徴とする請求項４に記載の方法。
【請求項１５】
重みへの符号語の前記割り当ては、予め定められた割り当てであることを特徴とする請求項１４に記載の方法。
【請求項１６】
重みへの符号語の前記割り当ては、以前に符号化されたブロックにおいて使用された重みに基づいて適合されることを特徴とする請求項１４に記載の方法。
【請求項１７】
重みの前記セットにおいて少なくとも１つの実質的に冗長な重みを識別するステップをさらに備え、および前記実質的に冗長な重みは前記ビデオの少なくともいくつかのブロックに対する符号語に割り当てられないことを特徴とする請求項１４に記載の方法。
【請求項１８】
前記予測された現在ブロックを入力ブロックから減算して残差を生成するステップと、
前記ビットストリームに前記残差を符号化するステップと
をさらに備え、エンコーダによって実行されることを特徴とする請求項１に記載の方法。
【請求項１９】
前記現在ブロックに対する残差を前記ビットストリームからデコードするステップと、
前記残差を前記予測された現在ブロックに追加して、再構成されたブロックを生成するステップと
をさらに備え、デコーダによって実行されることを特徴とする請求項１に記載の方法。
【請求項２０】
現在画像、第１の基準画像および第２の基準画像を含んでいる複数の画像を含んでいるビデオを符号化する装置であって、各画像は複数のブロックを含み、前記装置はプロセッサと、前記プロセッサによって実行されたときに、前記現在画像における少なくとも現在ブロックに対して、
第１の重みおよび第２の重みを識別しているブロックレベル情報を符号化するステップであって、前記第１の重みおよび前記第２の重みのうちの少なくとも一方は０、０．５または１に等しくない値を有する、ステップと、
前記第１の基準画像における第１の基準ブロックと前記第２の基準画像における第２の基準ブロックとの加重和として前記現在ブロックを予測するステップであって、前記第１の基準ブロックは前記第１の重みによって重み付けされ、および前記第２のブロックは前記第２の重みによって重み付けされる、ステップと
を含んでいる方法を実行するように動作する命令を記憶している非一時的コンピュータ可読記憶媒体とを備えたことを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ符号化のための一般化された多重仮説予測のためのシステムおよび方法に関する。
【背景技術】
【０００２】
関連出願の相互参照
本出願は、以下の米国仮特許出願、すなわち、２０１６年５月１３日に出願された「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍｕｌｔｉ−Ｈｙｐｏｔｈｅｓｉｓ  Ｐｒｅｄｉｃｔｉｏｎ  ｆｏｒ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」と題する第６２／３３６２２７号、２０１６年５月２７日に出願された「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍｕｌｔｉ−Ｈｙｐｏｔｈｅｓｉｓ  Ｐｒｅｄｉｃｔｉｏｎ  ｆｏｒ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」と題する第６２／３４２７７２号、２０１６年９月２３日に出願された「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍｕｌｔｉ−Ｈｙｐｏｔｈｅｓｉｓ  Ｐｒｅｄｉｃｔｉｏｎ  ｆｏｒ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」と題する第６２／３９９２３４号、および２０１６年１０月３１日に出願された「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍｕｌｔｉ−Ｈｙｐｏｔｈｅｓｉｓ  Ｐｒｅｄｉｃｔｉｏｎ  ｆｏｒ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」と題する第６２／４１５１８７号の非仮出願であり、米国特許法第１１９条（ｃ）の下で、それらからの利益を主張する。これらの出願のすべては、それらの全体が、参照によって本明細書に組み込まれる。
【０００３】
ビデオ符号化システムは、デジタルビデオ信号を圧縮して、そのような信号の記憶要求および／または送信帯域幅を低減させるために、広く使用されている。ブロックベース、ウェーブレットベース、およびオブジェクトベースのシステムなど、ビデオ符号化システムの様々なタイプの中で、今日、ブロックベースのハイブリッドビデオ符号化システムが、最も広く使用され、展開されている。ブロックベースのビデオ符号化システムの例は、ＭＰＥＧ−１／２／４  ｐａｒｔ  ２、Ｈ．２６４／ＭＰＥＧ−４  ｐａｒｔ  １０  ＡＶＣ、ＶＣ−１、ならびにＩＴＵ−Ｔ／ＳＧ１６／Ｑ．６／ＶＣＥＧおよびＩＳＯ／ＩＥＣ／ＭＰＥＧのＪＣＴ−ＶＣ（ビデオ符号化に関する共同作業チーム（Joint Collaborative Team on Video Coding））によって開発された、高効率ビデオ符号化（ＨＥＶＣ）と呼ばれる、最新のビデオ符号化規格などの、国際ビデオ符号化規格を含む。
【０００４】
ブロックベースの符号化を使用してエンコードされたビデオは、例えば、インターネット上において、電子的に送信されるデータのかなりの割合を占める。高品質のビデオコンテンツが、より少ないビットを使用して、記憶および送信されることができるように、ビデオ圧縮の効率を増加させることが望ましい。
【発明の概要】
【０００５】
例示的な実施形態においては、一般化された双予測（bi-prediction）（ＧＢｉ）を実行するためのシステムおよび方法が、説明される。例示的な方法は、現在画像、第１の基準画像、および第２の基準画像を含む、複数の画像を含む、ビデオをエンコードおよびデコード（一括して「符号化」）するステップを含み、各画像は、複数のブロックを含む。例示的な方法においては、少なくとも現在画像内の現在ブロックについて、重みのセットの中から第１の重みおよび第２の重みを識別する、ブロックレベルインデックスが、符号化され、重みのセット内の重みのうちの少なくとも１つは、０、０．５、または１に等しくない値を有する。現在ブロックは、第１の基準画像内の第１の基準ブロックと、第２の基準画像内の第２の基準ブロックとの加重和として予測され、第１の基準ブロックは、第１の重みによって重み付けされ、第２のブロックは、第２の重みによって重み付けされる。
【０００６】
いくつかの実施形態においては（またはいくつかのブロックについては）、現在ブロックについての、第１の重みおよび第２の重みを識別するブロックレベル情報は、そのブロックのためのインデックスを符号化すること以外の手段によって、符号化されることができる。例えば、ブロックは、マージモードで符号化されることができる。そのようなケースにおいては、ブロックレベル情報は、複数のマージ候補ブロックから候補ブロックを識別する情報であることができる。その場合、第１の重みおよび第２の重みは、識別された候補ブロックを符号化するのに使用された重みに基づいて、識別されることができる。
【０００７】
いくつかの実施形態においては、第１の基準ブロックおよび第２の基準ブロックは、現在画像のためのビットストリーム内においてシグナリングされる少なくとも１つのスケーリング係数によって、さらにスケーリングされる。
【０００８】
いくつかの実施形態においては、重みのセットは、ビットストリーム内に符号化され、異なる重みセットが、異なるスライス、画像、またはシーケンスにおける使用のために、適合させられることを可能にする。他の実施形態においては、重みのセットは、予め定められる。いくつかの実施形態においては、２つの重みのうちの一方だけが、ビットストリーム内においてシグナリングされ、他方の重みは、シグナリングされた重みを１から減算することによって導出される。
【０００９】
いくつかの実施形態においては、符号語（codeword）が、それぞれの重みに割り当てられ、重みは、対応する符号語を使用して識別される。重みへの符号語の割り当ては、予め定められた割り当てであることができ、または割り当ては、以前に符号化されたブロック内において使用された重みに基づいて、適合させられることができる。
【００１０】
一般化された双予測を実行するための例示的なエンコーダおよびデコーダも、本明細書において説明される。
【００１１】
本明細書において説明されるシステムおよび方法は、サンプル値のブロックの予測のための新規な技法を提供する。そのような技法は、エンコーダおよびデコーダの両方によって、使用されることができる。ブロックの予測は、エンコーディング方法において、ビットストリーム内にエンコードされる残差を決定するために、元の入力ブロックから減算されることができる、サンプル値のブロックをもたらす。デコーディング方法においては、残差が、ビットストリームからデコードされ、元の入力ブロックと同じ、または近似的に同じ再構成されたブロックを獲得するために、予測ブロックに加算されることができる。したがって、本明細書において説明されるような予測方法は、ビデオをエンコードおよびデコードするのに必要とされるビットの数を、少なくともいくつかの実装においては、減少させることによって、ビデオエンコーダおよびデコーダの動作を改善する。ビデオエンコーダおよびデコーダの動作に対する例示的な予測方法のさらなる利益は、詳細な説明において提供される。
【図面の簡単な説明】
【００１２】
より詳細な理解は、以下でまず簡潔に説明される添付の図面と併せて、例として提示される、以下の説明から得られることができる。
【００１３】
【図１】ブロックベースのビデオエンコーダの例を示す機能ブロック図である。
【図２】ブロックベースのビデオデコーダの例を示す機能ブロック図である。
【図３】テンプレートＴCならびに関連付けられた予測ブロックＴ0およびＴ1を使用する予測の概略図である。
【図４】経時的な照度変化の概略図を提供するグラフである。
【図５】いくつかの実施形態に従った、一般化された双予測を使用するように構成されたビデオエンコーダを示す機能ブロック図である。
【図６】ビデオエンコーダにおいて使用するための例示的な一般化された双予測モジュールの機能ブロック図である。
【図７】一般化された双予測において使用するための暗黙的な重み値の例示的なデコーダ側導出の概略図である。
【図８】各円がシグナリングされるビットを表す、ｗｅｉｇｈｔ＿ｉｄｘを２進化するためのツリー構造の概略図である。
【図９】いくつかの実施形態に従った、一般化された双予測を使用するように構成されたビデオデコーダを示す機能ブロック図である。
【図１０】ビデオデコーダにおいて使用するための例示的な一般化された双予測モジュールの機能ブロック図である。
【図１１Ａ】符号語割り当て方法のうちの一定割り当ての概略図である。
【図１１Ｂ】符号語割り当て方法のうちの代替的割り当ての概略図である。
【図１２Ａ】ブロック適応的符号語割り当ての例のうちの重み値フィールドを提供する概略図である。
【図１２Ｂ】ブロック適応的符号語割り当ての例のうちの一定割り当てから更新された結果の符号語割り当てを提供する概略図である。
【図１３】マージ候補位置の概略図である。
【図１４】重ね合わされたブロック動き補償（ＯＢＭＣ）の例の概略図であって、ｍが、ＯＢＭＣを実行するための基本処理ユニットであり、Ｎ1からＮ8が、因果関係のある近隣内のサブブロックであり、Ｂ1からＢ7が、現在ブロック内のサブブロックである、概略図である。
【図１５】フレームレートアップコンバージョン（ＦＲＵＣ）の例を示す図であって、ｖ0が、基準リストＬ０に対応する与えられた動きベクトルであり、ｖ1が、ｖ0および時間距離に基づいたスケーリングされたＭＶである、図である。
【図１６】符号化されたビットストリーム構造の例を示す図である。
【図１７】例示的な通信システムを示す図である。
【図１８】いくつかの実施形態においてエンコーダまたはデコーダとして使用されることができる、例示的な無線送受信ユニット（ＷＴＲＵ）を示す図である。
【発明を実施するための形態】
【００１４】
ブロックベースのエンコーディング
図１は、汎用的なブロックベースのハイブリッドビデオエンコーディングシステム１００のブロック図である。入力ビデオ信号１０２は、ブロック毎に処理される。ＨＥＶＣにおいては、高解像度（１０８０ｐ以上）のビデオ信号を効率的に圧縮するために、（「符号化ユニット」またはＣＵと呼ばれる）拡張されたブロックサイズが、使用される。ＨＥＶＣにおいては、ＣＵは、最大で６４×６４ピクセルであることができる。ＣＵは、予測ユニットまたはＰＵにさらに区分されることができ、それらに対して、別々の予測方法が、適用される。入力ビデオブロック（ＭＢまたはＣＵ）毎に、空間的予測（１６０）および／または時間的予測（１６２）が、実行されることができる。空間的予測（または「イントラ予測」）は、同じビデオ画像／スライス内のすでに符号化された近隣ブロックからのピクセルを使用して、現在のビデオブロックを予測する。空間的予測は、ビデオ信号に内在する空間的冗長性を低減させる。（「インター予測」または「動き補償予測」とも呼ばれる）時間的予測は、すでに符号化されたビデオ画像からのピクセルを使用して、現在のビデオブロックを予測する。時間的予測は、ビデオ信号に内在する時間的冗長性を低減させる。与えられたビデオブロックについての時間的予測信号は、現在ブロックとそれの基準ブロックとの間の動きの量および方向を示す、１つまたは複数の動きベクトルによってシグナリングされることができる。また、（Ｈ．２６４／ＡＶＣまたはＨＥＶＣなど、最近のビデオ符号化規格のケースのように）複数の基準画像が、サポートされる場合、ビデオブロック毎に、基準画像の基準インデックスも、送信されることができる。基準インデックスは、時間的予測信号が、基準画像ストア（１６４）内のどの基準画像に由来するかを識別するために、使用される。空間的および／または時間的予測の後、エンコーダ内のモード決定ブロック（１８０）は、例えば、レート−歪み最適化方法に基づいて、最良の予測モードを選択する。予測ブロックは、その後、現在のビデオブロックから減算され（１１６）、予測残差は、変換（１０４）を使用して脱相関され、目標ビットレートを達成するために、量子化される（１０６）。量子化された残差係数は、逆量子化（１１０）および逆変換（１１２）されて、再構成された残差を形成し、それは、その後、予測ブロックに加算され戻されて（１２６）、再構成されたビデオブロックを形成する。さらに、デブロッキングフィルタおよび適応ループフィルタなどのインループフィルタリングが、再構成されたビデオブロックに適用されることができ（１６６）、その後、それは、基準画像ストア（１６４）に入れられ、さらなるビデオブロックを符号化するために使用される。出力ビデオビットストリーム１２０を形成するために、符号化モード（インターまたはイントラ）、予測モード情報、動き情報、および量子化された残差係数は、すべてが、エントロピ符号化ユニット（１０８）に送信され、さらに圧縮およびパックされて、ビットストリームを形成する。
【００１５】
ブロックベースのデコーディング
図２は、ブロックベースのビデオデコーダ２００の全体的なブロック図を与える。ビデオビットストリーム２０２は、エントロピデコーディングユニット２０８において、アンパックおよびエントロピデコードされる。符号化モードおよび予測情報は、（イントラ符号化の場合は）空間的予測ユニット２６０に、または（インター符号化の場合は）時間的予測ユニット２６２に送信されて、予測ブロックを形成する。残差変換係数は、逆量子化ユニット２１０および逆変換ユニット２１２に送信されて、残差ブロックを再構成する。予測ブロックおよび残差ブロックは、その後、２２６において、合算される。再構成されたブロックは、さらに、インループフィルタリングを通過することができ、その後、それは、基準画像ストア２６４内に記憶される。基準画像ストア内の再構成されたビデオは、その後、ディスプレイデバイスを駆動するために送出されるほか、さらなるビデオブロックを予測するためにも使用される。
【００１６】
最新のビデオコーデックにおいては、双方向動き補償予測（ＭＣＰ）が、画像間の時間的相関を利用することによって時間的冗長性を除去する際の、それの高い効率のために知られており、最新式のビデオコーデックのほとんどにおいて、広く採用されている。しかしながら、双予測信号は、単純に、０．５に等しい重み値を使用して、２つの片予測（uni-prediction）信号を結合することによって、形成される。これは、片予測信号を結合するためには最適であるとは限らず、１つの基準画像から別の基準画像に替わる際に照度が急速に変化する、ある条件において、特にそうである。したがって、いくつかの大域的または局所的な重みおよびオフセット値を、基準画像内のサンプル値の各々に適用することによって、経時的な照度変動を補償することを目指して、いくつかの予測技法が、開発されてきた。
【００１７】
重み付けされた双予測
重み付けされた双予測は、動き補償を実行するときに、フェージング推移など、経時的な照度変化を補償するために主に使用される、符号化ツールである。スライス毎に、乗算的な重み値および加算的なオフセット値の２つのセットが、明示的に示され、基準リスト毎に、一度に１つずつ、動き補償予測に別々に適用される。この技法は、照度が、どの画像についても直線的かつ等しく変化するときは、最も効果的である。
【００１８】
局所的な照度補償
局所的な照度補償においては、パラメータ（乗算的な重み値および加算的なオフセット値の２つのペア）が、ブロック毎に適合させられる。これらのパラメータをスライスレベルにおいて示す、重み付けされた双予測と異なり、この技法は、テンプレート（ＴC）の再構成信号と、テンプレートの予測信号（Ｔ0およびＴ1）との間の照度変化に、最適なパラメータを適合させることに訴える（図３を参照）。結果のパラメータは、（重みとオフセット値の第１のペアについては）ＴCとＴ0との間の照度差を、また（重みとオフセット値の第２のペアについては）ＴCとＴ1との間の照度差を、別々に最小化することによって、最適化される。その後、重み付けされた双予測に関するものと同じ動き補償プロセスが、導出されたパラメータを用いて実行される。
【００１９】
照度変化の効果
空間および時間にわたる照度の変化は、動き補償予測の性能に深刻な影響を与えることができる。図４に見ることができるように、照度が、時間方向に沿って弱まるとき、動き補償予測は、良好な性能を提供しない。例えば、オブジェクトのサンプルが、ｔ−３からｔまでの時間の期間にわたって、移動し、このサンプルの強度値が、それの動きの軌跡に沿って、ｖt-3からｖtに変化する。このサンプルが、第ｔの画像において予測されることになると仮定すると、それの予測値は、ｖt-3からｖt-1のうちに制限され、したがって、貧弱な動き補償予測が、もたらされることがある。重み付けされた双予測および局所的な照度補償の上述の技法は、この問題を十分には解決しないことがある。照度は、画像内において、激しく変動することがあるので、重み付けされた双予測は、失敗することがある。局所的な照度補償は、ブロックとそれの関連付けられたテンプレートブロックとの間の低い照度相関が原因で、重みおよびオフセット値の貧弱な推定をときには生成する。これらの例は、大域的な記述およびテンプレートベースの局所的な記述が、空間および時間にわたる照度変動を表すために十分ではないことを示している。
【００２０】
例示的な実施形態
本明細書において説明される例示的な実施形態は、重み付けされた動き補償予測についての予測効率を改善させることができる。いくつかの実施形態においては、動き補償予測、および多重仮説予測信号を線形結合するためのブロックレベルの重み値を使用する、一般化された多重仮説予測のためのシステムおよび方法が、提案される。いくつかの実施形態においては、重み値を使用する一般化された双予測フレームワークが、説明される。いくつかの実施形態においては、重みの有限セットが、シーケンス、画像、またはスライスレベルにおいて、使用され、重みのセットについての構築プロセスが、説明される。いくつかの実施形態においては、重み値は、与えられた重みセットに基づいて、決定され、現在ブロックおよびそれの基準ブロックの信号を考慮して、最適化される。重み値をシグナリングするための例示的な符号化方法が、説明される。提案される予測についての動き推定プロセスのための例示的なエンコーダ探索基準が、説明され、開示される時間的予測技法と組み合わされた、提案される予測プロセスが、説明される。
【００２１】
本開示においては、一般化された多重仮説予測を使用する時間的予測のためのシステムおよび方法が、説明される。一般化された双予測を使用する、例示的なエンコーダおよびデコーダが、図５および図９に関して、説明される。本明細書において開示されるシステムおよび方法は、以下のように、セクションにおいて体系化される。セクション「一般化された多重仮説予測」は、一般化された多重仮説予測を使用する例示的な実施形態について説明する。セクション「一般化された双予測」は、一般化された双予測の例示的なフレームワークおよび予測プロセスを開示する。セクション「重みセットの構築」および「重みインデックス符号化」は、それぞれ、重みセットのための例示的な構築プロセスについて、およびこのセット内における重みの選択をシグナリングするための例示的な技法について説明する。セクション「高度な時間的予測技法への拡張」においては、例示的な提案される予測方法を、局所的な照度補償および重み付けされた双予測、マージモード、重ね合わされたブロック動き補償、アフィン予測、双予測オプティカルフロー、ならびにフレームレートアップコンバージョン双予測と呼ばれるデコーダ側動きベクトル導出技法を含む、高度なインター予測技法と組み合わせるための、システムおよび方法が、説明される。セクション「ＧＢｉ予測探索戦略」においては、例示的な予測方法の効率を向上させるための、例示的なエンコーダ限定の方法が、説明される。
【００２２】
一般化された多重仮説予測
本明細書において説明される例示的なシステムおよび方法は、一般化された多重仮説予測を利用する。一般化された多重仮説予測は、複数の動き補償予測信号の線形結合に基づいて、ピクセルの強度値の推定値を提供する、多重仮説予測の一般化された形式として、説明されることができる。一般化された多重仮説予測は、異なる品質を有する複数の予測を一緒に組み合わせることによって、それらの利益を利用することができる。正確な推定値に到達するために、動き補償予測信号が、予め定められた関数ｆ（●）を通して、処理されることができ（例えば、ガンマ補正、局所的な照度補正、ダイナミックレンジ補正）、その後、線形結合されることができる。一般化された多重仮説予測は、式（１）を参照して、説明されることができ、
【００２３】
【数１】
2019519148.tif 000003
【００２４】
ここで、Ｐ［ｘ］は、画像位置ｘに配置されたサンプルｘの結果の予測信号を表し、ｗiは、第ｉの基準画像からの、第ｉの動き仮説に適用される重み値を表し、Ｐi［ｘ＋ｖi］は、動きベクトル（ＭＶ）ｖiを使用した、ｘの動き補償予測信号であり、ｎは、動き仮説の総数である。
【００２５】
動き補償予測に関して検討すべき１つの因子は、最大のレート−歪み性能に到達するために、動きフィールド（motion fieldt）の正確性と必要とされる動きオーバヘッドとのバランスがどのように取られるかである。正確な動きフィールドは、より良好な予測を暗示するが、しかしながら、必要とされる動きオーバヘッドが、予測正確性の利益をときには上回ることがある。そのため、例示的な実施形態においては、提案されるビデオエンコーダは、動き仮説の異なる数ｎの間で、適応的に切り換わることが可能であり、最適なレート−歪み性能を提供するｎ値は、それぞれのＰＵ毎に見出される。ほとんどの最新のビデオ符号化規格においては、２つの動き仮説が一般的に使用されるので、一般化された多重仮説予測がどのように機能するかについての説明を容易にするために、以下のセクションにおいては、例として、ｎ＝２の値が選択されるが、ｎの他の値も、代替的に使用されることができる。例示的な実施形態の理解を簡単にするために、式ｆ（●）は、恒等関数として扱われ、したがって、明示的には説明されない。ｆ（●）が恒等関数ではないケースに対する、本明細書において開示されるシステムおよび方法の適用は、本開示に照らして、当業者には明らかである。
【００２６】
一般化された双予測
一般化された双予測（ＧＢｉ）という用語は、動き仮説の数が２に制限される、すなわち、ｎ＝２である、一般化された多重仮説予測の特別なケースを指すために、本明細書においては使用される。このケースにおいては、式（１）によって与えられる、サンプルｘにおける予測信号は、
Ｐ［ｘ］＝ｗ0＊Ｐ0［ｘ＋ｖ0］＋ｗ1＊Ｐ1［ｘ＋ｖ1］    （２）
に簡略化されることができ、ここで、ｗ0およびｗ1は、ブロック内のすべてのサンプルにわたって共用される、２つの重み値である。この式に基づいて、重み値ｗ0およびｗ1を調整することによって、多種多様な予測信号が、生成されることができる。基準リストＬ０を用いる片予測については、（ｗ0，ｗ1）＝（１，０）、基準リストＬ１を用いる片予測については、（ｗ0，ｗ1）＝（０，１）、および２つの基準リストを用いる双予測については、（ｗ0，ｗ1）＝（０．５，０．５）など、ｗ0およびｗ1についてのいくつかの構成は、従来の片予測および双予測と同じ予測をもたらすことができる。（１，０）および（０，１）のケースにおいては、動き情報の一方のセットだけが、シグナリングされるが、その理由は、ゼロに等しい重み値と関連付けられた他方のセットは、予測信号Ｐ［ｘ］に対していかなる効力も生じないからである。
【００２７】
特に、高いレベルの精度における、ｗ0およびｗ1の値における柔軟性は、高いシグナリングオーバヘッドというコストを招くことができる。シグナリングオーバヘッドを減じるために、いくつかの実施形態においては、ｗ0＋ｗ1＝１という、ユニットゲイン制約が、適用され、したがって、ＧＢｉ符号化されたＰＵのために、ブロック当たりただ１つの重み値が、明示的に示される。重みシグナリングのオーバヘッドをさらに低減させるために、ＰＵレベルの代わりに、ＣＵレベルにおいて、重み値が、シグナリングされることができる。説明を容易にするために、本開示の説明においては、ｗ1が、シグナリングされ、したがって、式（２）は、
Ｐ［ｘ］＝（１−ｗ1）＊Ｐ0［ｘ＋ｖ0］＋ｗ1＊Ｐ1［ｘ＋ｖ1］    （３）
のように、さらに簡略化されることができる。例示的な実施形態においては、シグナリングオーバヘッドをさらに制限するために、頻繁に使用される重み値は、（これ以降、ＷL1と呼ばれる）セット内に配置されることができ、そのため、各重み値は、それがＷL1内においてどのエントリを占有するかを指し示す、制限された範囲内のインデックス値ｗｅｉｇｈｔ＿ｉｄｘによって示されることができる。
【００２８】
例示的な実施形態においては、一般化された双予測は、２つの基準ブロックの加重平均の生成をサポートするために、追加のデコーディング負荷を導入しない。最新のビデオ規格のほとんど（例えば、ＡＶＣ、ＨＥＶＣ）は、重み付けされた双予測をサポートするので、同じ予測モジュールが、ＧＢｉ予測における使用のために、適合させられることができる。例示的な実施形態においては、一般化された双予測は、従来の片予測および双予測ばかりでなく、アフィン予測、高度な時間的動きベクトル導出、および双予測オプティカルフローなど、他の高度な時間的予測技法にも適用されることができる。これらの技法は、非常に低い動きオーバヘッドを用いて、より精細なユニット（例えば、４×４）において、動きフィールド表現を導出することを目指す。アフィン予測は、モデルベースの動きフィールド符号化方法であり、１つのＰＵ内の各ユニットの動きは、モデルパラメータに基づいて、導出されることができる。高度な時間的動きベクトル導出は、時間的基準画像の動きフィールドから、各ユニットの動きを導出することを含む。双予測オプティカルフローは、オプティカルフローモデルを使用して、各ピクセルのための動き微調整を導出することを含む。ユニットのサイズが何であったとしても、ブロックレベルにおいて、重み値が、ひとたび指定されると、提案されるビデオコーデックは、これらの導出された動き、および与えられた重み値を使用して、ユニット毎に一般化された双予測を実行することができる。
【００２９】
一般化された双予測を利用する、例示的なエンコーダおよびデコーダが、以下でより詳細に説明される。
【００３０】
一般化された双予測のための例示的なエンコーダ
図５は、一般化された双予測を実行するように適合された、例示的なビデオエンコーダのブロック図である。図１に示されたビデオエンコーダに類似して、例示的なビデオエンコーダにおいても、空間的予測および時間的予測は、２つの基本的なピクセル領域予測モジュールである。空間的予測モジュールは、図１に示されたものと同じであることができる。図１において「動き予測」と命名された時間的予測モジュールは、一般化された双予測（ＧＢｉ）モジュール５０２によって置換されることができる。一般化された双予測（ＧＢｉ）モジュールは、加重平均の方法で、２つの別々の動き補償予測（ＭＣＰ）信号を結合するように動作可能であることができる。図６に示されるように、ＧＢｉモジュールは、以下のように、最終的なインター予測信号を生成するためのプロセスを実装することができる。ＧＢｉモジュールは、現在のビデオブロックと双予測との間の重み付けされた双予測誤差を最小化する２つの基準ブロックを指し示す、２つの最適な動きベクトル（ＭＶ）を探索するために、基準画像において動き推定を実行することができる。ＧＢｉモジュールは、これら２つの予測ブロックを、それらの２つの最適なＭＶを用いた動き補償を通して、フェッチすることができる。ＧＢｉモジュールは、その後、２つの予測ブロックの加重平均として、一般化された双予測の予測信号を計算することができる。
【００３１】
いくつかの実施形態においては、すべての利用可能な加重値が、単一のセット内において指定される。加重値は、それらが、ＰＵレベルにおいて両方の基準リストのためにシグナリングされる場合、それは、それが双予測ＰＵ当たり２つの別々の加重値をシグナリングすることを意味し、多数のビットというコストがかかることができるので、ユニットゲイン制約（重み値の和が１に等しい）が、適用されることができる。この制約下においては、ＰＵ当たり一方の単一の重み値だけが、シグナリングされ、一方、他方のものは、シグナリングされた重み値を１から減算することから導出されることができる。説明を容易にするために、本開示においては、基準リストＬ１と関連付けられた重み値が、シグナリングされ、重み値のセットは、ＷL1によって表される。シグナリングオーバヘッドをさらに減じるために、重み値は、ＷL1内におけるエントリ位置を指し示すインデックス値ｗｅｉｇｈｔ＿ｉｄｘによって符号化される。ＷL1への適切な割り当てを用いて、（一方の基準リストについては０、他方のリストについては１に等しい重みを有する）従来の片予測、および（両方の基準リストについて０．５に等しい重み値を有する）従来の双予測の両方は、ＧＢｉのフレームワーク下において表されることができる。ＷL1＝｛０，０．５，１｝の特別なケースにおいては、ＧＢｉモジュールは、図１に示された動き予測モジュールと同じ機能性を達成することができる。
【００３２】
｛０，０．５，１｝に加えて、ＷL1のための追加の重み値が、スライス、画像、またはシーケンスレベルにおいて指定されることができ、非負の整数ｅｘｔｒａ＿ｎｕｍｂｅｒ＿ｏｆ＿ｗｅｉｇｈｔｓは、それらの数を示し、そのため、ＧＢｉのフレームワーク内には、ｅｘｔｒａ＿ｎｕｍｂｅｒ＿ｏｆ＿ｗｅｉｇｈｔｓ＋３個の別個の重みが、存在する。特に、例示的な実施形態においては、ｅｘｔｒａ＿ｎｕｍｂｅｒ＿ｏｆ＿ｗｅｉｇｈｔｓが、ゼロよりも大きいとき、これらの追加の重み値のうちの１つは、スライス、画像、またはシーケンスレベルにおいて存在する、フラグｉｍｐｌｉｃｉｔ＿ｗｅｉｇｈｔ＿ｆｌａｇの制御に依存して、ブロック毎ベースで導出されることができる。このフラグが、１に等しく設定されたとき、この特定の重み値は、シグナリングされないが、図７に示されるように、（テンプレートと呼ばれる）直接的な逆Ｌ字近傍の一般化された双予測信号と、テンプレートの再構成信号との間の差を最小化することができるものを見つけることによって、導出されることができる。ＷL1の構築に関連する上述のプロセスは、重みセット構築モジュール５０４によって実行されることができる。
【００３３】
ＷL1内の追加の重み値を、ダイナミクスの高い照度変化を有する画像に適合させるために、２つのスケーリング係数（ｇｂｉ＿ｓｃａｌｉｎｇ＿ｆａｃｔｏｒｓ）が、画像レベルにおいて、適用され、シグナリングされることができる。それらを用いて、重みセット構築モジュールは、ＧＢｉ予測のための追加の重みの値をスケーリングすることができる。（提案されるビデオエンコーダにおけるＧＢｉ予測である）インター予測、およびイントラ予測の後、元の信号が、この最終的な予測信号から減算されることができ、そのようにして、符号化のための結果の予測残差信号が、生成される。
【００３４】
例示的な提案されるビデオエンコーダにおいては、ブロック動き（動きベクトルおよび基準画像インデックス）、ならびに重み値インデックスが、各インター符号化されたＰＵ毎に示される、唯一のブロックレベル情報である。
【００３５】
例示的な実施形態においては、ＧＢｉ予測のブロック動き情報は、基礎となるビデオコーデックのそれと同じ方法で、符号化される。ｗｅｉｇｈｔ＿ｉｄｘが、０または１に等しい重みと関連付けられるときを除いて、すなわち、片予測と等価なケースを除いて、ＰＵ当たり動き情報の２つのセットが、シグナリングされる。
【００３６】
例示的なビデオエンコーダにおいては、各ＰＵのｗｅｉｇｈｔ＿ｉｄｘを２進化するために、重みインデックス符号化モジュール５０６が、使用される。重みインデックス符号化モジュールの出力は、ｗｅｉｇｈｔ＿ｉｄｘの一意的な２進表現ｂｉｎａｒｙ＿ｗｅｉｇｈｔ＿ｉｄｘであることができる。例示的な２進化方式のツリー構造が、図８に示されている。従来のインター予測におけるように、ｂｉｎａｒｙ＿ｗｅｉｇｈｔ＿ｉｄｘの第１のビットは、インターＰＵ毎に、片予測（０または１に等しい重み値と関連付けられた重みインデックス）、ならびに双予測（ＷL1内の０および１以外の重み値と関連付けられた重みインデックス）を区別することができる。片予測ブランチにおいては、Ｌ０基準リスト（０に等しい重み値と関連付けられた重みインデックス）、またはＬ１基準リスト（１に等しい重み値と関連付けられた重みインデックス）のどちらが、参照されるかを示すために、別のビットが、シグナリングされる。双予測ブランチにおいては、各リーフノードは、ＷL1内の残りの重み値、すなわち、０でも１でもない重み値のうちの１つと関連付けられた、一意的な重みインデックス値を割り当てられる。スライスまたは画像レベルにおいて、例示的なビデオエンコーダは、いくつかの予め定められた割り当て方式の間で適応的に切り換わることができ、または先行する符号化ブロックからの重み値の使用に基づいて、各重みをＰＵ毎ベースで動的に一意的なリーフノードに割り当てることができる。一般に、頻繁に使用される重みインデックスは、双予測ブランチ内のルートに近いリーフノードに割り当てられ、一方、その他は、対照的に、ルートから遠いより深部のリーフノードに割り当てられる。図８におけるこの木を辿りながら、あらゆるｗｅｉｇｈｔ＿ｉｄｘは、エントロピ符号化のために、一意的なｂｉｎａｒｙ＿ｗｅｉｇｈｔ＿ｉｄｘに変換されることができる。
【００３７】
一般化された双予測のデコーディングフレームワーク
図９は、いくつかの実施形態における、ビデオデコーダのブロック図である。図９のデコーダは、図５に示されたビデオエンコーダによって生成されたビットストリームをデコードするように動作可能であることができる。符号化モードおよび予測情報は、空間的予測または一般化された双予測を使用して、予測信号を導出するために、使用されることができる。一般化された双予測のために、ブロック動き情報および重み値が、受信され、デコードされる。
【００３８】
重みインデックスデコーディングモジュール９０２は、提案されるビデオエンコーダ内の重みインデックス符号化モジュール５０６によって符号化された、重みインデックスをデコードする。重みインデックスデコーディングモジュール９０２は、図８において指定されたものと同じツリー構造を再構築し、ツリー上の各リーフノードは、提案されるビデオエンコーダにおけるのと同じ方法で、一意的なｗｅｉｇｈｔ＿ｉｄｘを割り当てられる。この方法においては、このツリーは、提案されるビデオエンコーダおよびデコーダの間で同期させられる。このツリーを辿りながら、あらゆる受信されたｂｉｎａｒｙ＿ｗｅｉｇｈｔ＿ｉｄｘは、それと関連付けられたｗｅｉｇｈｔ＿ｉｄｘを、ツリー上のあるリーフノードにおいて見出すことができる。例示的なビデオデコーダは、図５のビデオエンコーダと同様に、重みセットＷL1を構築するための重みセット構築モジュール９０４を含む。ｉｍｐｌｉｃｉｔ＿ｗｅｉｇｈｔ＿ｆｌａｇが１に等しいとき、ＷL1内の追加の重み値のうちの１つは、明示的にシグナリングされる代わりに、導出されることができ、ＷL1内のすべての追加の重み値は、ｇｂｉ＿ｓｃａｌｉｎｇ＿ｆａｃｔｏｒｓによって示されるスケーリング係数を使用して、さらにスケーリングされることができる。その後、重み値の再構成が、ＷL1からｗｅｉｇｈｔ＿ｉｄｘによって指し示されるものをフェッチすることによって、行われることができる。
【００３９】
デコーダは、各ブロックにおける重み値の選択に応じて、動き情報の１つまたは２つのセットを受信することができる。再構成された重み値が、０でも１でもないときは、動き情報の２つのセットが、受信されることができ、それ以外は（それが０または１であるときは）、非ゼロの重みと関連付けられた動き情報の１つのセットだけが、受信される。例えば、重み値が０に等しい場合は、基準リストＬ０のための動き情報だけが、シグナリングされ、そうではなく、重み値が１に等しい場合は、基準リストＬ１のための動き情報だけが、シグナリングされる。
【００４０】
ブロック動き情報および重み値を用いて、図１０に示される一般化された双予測モジュール１０５０は、一般化された双予測の予測信号を、２つの動き補償予測ブロックの加重平均として、計算するように動作することができる。
【００４１】
再構成されたビデオブロック信号を取得するために、符号化モードに応じて、空間的予測信号または一般化された双予測信号が、再構成された残差信号と合算されることができる。
【００４２】
重みセットの構築
明示的にシグナリングされた重み、デコーダ側で導出された重み、およびスケーリングされた重みを使用する、重みセットＷL1の例示的な構築プロセスが、重みセットＷL1のサイズをコンパクトにするための例示的な削減プロセスとともに、以下で説明される。
【００４３】
明示的な重み値
明示的な重み値は、シーケンス、画像、およびスライスレベルの各々において、シグナリングされ、階層的に管理されることができる。より低いレベルにおいて指定された重みは、より高いレベルにおけるそれらを置換することができる。より高いレベルにおける明示的な重みの数がｐであり、相対的により低いレベルにおけるそれがｑであると仮定すると、より低いレベルにおいて重み値リストを構築するときに、置換のための以下のルールが、適用されることができる。
●  ｐ＞ｑであるとき、より高いレベルにおける最後のｑ個の重みが、より低いレベルにおけるｑ個の重みによって置換される。
●  ｐ≦ｑであるとき、より高いレベルにおけるすべての重みが、より低いレベルにおいて指定されたそれらによって置換される。
【００４４】
明示的な重み値の数は、シーケンス、画像、およびスライスレベルの各々において、ｅｘｔｒａ＿ｎｕｍｂｅｒ＿ｏｆ＿ｗｅｉｇｈｔｓによって示されることができる。いくつかの実施形態においては、スライスレベルにおいて、基本重みセットは、ＧＢｉが従来の片予測および双予測をサポートするために、｛０，０．５，１｝を形成する３つのデフォルト値を常に含み、そのため、ブロック毎に、合計で、（ｅｘｔｒａ＿ｎｕｍｂｅｒ＿ｏｆ＿ｗｅｉｇｈｔｓ＋３）個の重みが、使用されることができる。例えば、シーケンス、画像、およびスライスレベルにおいて存在するｅｘｔｒａ＿ｎｕｍｂｅｒ＿ｏｆ＿ｗｅｉｇｈｔｓの値が、それぞれ、２（例えば、ｗA、ｗB）、１（例えば、ｗC）、および３（例えば、ｗD、ｗE、ｗF）であるとき、シーケンス、画像、およびスライスレベルにおける利用可能な重み値は、それぞれ、｛ｗA，ｗB｝、｛ｗA，ｗC｝、および｛０，０．５，１｝∪｛ｗD，ｗE，ｗF｝である。この例においては、セクション「一般化された双予測」において言及されたＷL1は、スライスレベルの重みセットである。
【００４５】
暗黙的な重み値の導出プロセス
いくつかの実施形態においては、スライスレベルの重みセットＷL1内の重み値は、シグナリングを用いずに、エンコーダおよびデコーダの両方において、テンプレートマッチングを通して導出される。図７に示されるように、この暗黙的な重み値は、現在ブロックの動き情報を有するテンプレートの予測信号（Ｔ0およびＴ1）と、テンプレートの再構成信号（すなわち、ＴC）との間の差を最小化することによって、導出されることができる。この問題は、
ｗ*  ＝  ａｒｇｍｉｎwΣX（ＴC［ｘ］−（１−ｗ）＊Ｔ0［ｘ＋ｖ0］−ｗ＊Ｔ1［ｘ＋ｖ1］）2    （４）
として定式化されることができ、ここで、ｖ0およびｖ1は、現在ブロックの動きベクトルである。式（４）は、２次関数であるので、Ｔ0およびＴ1が、正確に同じでない場合、導出される重みの閉形式表現が、獲得されることができ、すなわち、
【００４６】
【数２】
2019519148.tif 000004
【００４７】
となる。
【００４８】
この方法の有効性は、現在ブロックの信号の重み値が、関連付けられたテンプレート予測信号のそれと相関させられるときに、見ることができるが、しかしながら、これは、常に保証されるとは限らず、現在ブロック内のピクセル、およびそれの関連付けられたテンプレートが、異なる動きオブジェクト内に配置されるときは、特にそうである。ＧＢｉの予測性能を最大化するために、ｅｘｔｒａ＿ｎｕｍｂｅｒ＿ｏｆ＿ｗｅｉｇｈｔｓ≧１であるとき、暗黙的な重みが使用されるかどうかを決定するために、フラグｉｍｐｌｉｃｉｔ＿ｗｅｉｇｈｔ＿ｆｌａｇが、スライス、画像、またはシーケンスレベルにおいて、シグナリングされることができる。これが、ひとたび１に等しく設定されると、ＷL1内の最後のスライスレベルの重み値は、導出され、したがって、シグナリングされる必要はない。例えば、上のセクション「明示的な重み値」において上述されたｗFは、シグナリングされる必要がなく、ｉｍｐｌｉｃｉｔ＿ｗｅｉｇｈｔ＿ｆｌａｇが１に等しいときは、ブロックのための重みは、暗黙的に導出されることができる。
【００４９】
重み値のスケーリングプロセス
いくつかの実施形態においては、明示的な重み値は、画像レベルにおいて示された２つのスケーリング係数ｇｂｉ＿ｓｃａｌｉｎｇ＿ｆａｃｔｏｒｓを使用することによって、さらにスケーリングされることができる。画像内における経時的なダイナミクスが高い可能な照度変化が原因で、これらの重み値のダイナミックレンジは、これらすべてのケースをカバーするには十分でないことがある。重み付けされた双予測は、画像間の照度差を補償することができるが、基礎となるビデオコーデックにおいてそれが可能にされると常に保証されるとは限らない。そのため、これらのスケーリング係数は、重み付けされた双予測が使用されないときに、複数の基準画像にわたる照度差を調節するために、使用されることができる。
【００５０】
第１のスケーリング係数は、ＷL1内の各明示的な重み値を増大させることができる。これを用いると、式（３）におけるＧＢｉの予測関数は、
【００５１】
【数３】
2019519148.tif 000005
【００５２】
のように表現されることができ、ここで、αは、現在画像の第１のスケーリング係数であり、ｗ1’は、スケーリングされた重み値（すなわち、α＊（ｗ1−０．５）＋０．５）を表す。式（６）の第１の式は、式（３）と同じ形式で表現されることができる。唯一の違いは、式（６）および式（３）に適用される重み値である。
【００５３】
第２のスケーリング係数は、Ｐ0およびＰ1の関連付けられた基準画像間の照度に関する差を低減させるために、使用されることができる。このスケーリング係数を用いると、式（６）は、
【００５４】
【数４】
2019519148.tif 000006
【００５５】
のようにさらに再定式化されることができ、ここで、ｓ、ｓ0、およびｓ1は、それぞれ、現在画像、およびそれの２つの基準画像における、シグナリングされた第２のスケーリング係数を表す。式（７）によれば、変数ｓに対する１つの最適な割り当ては、現在画像におけるサンプルの平均値であることができる。したがって、基準画像の平均値は、第２のスケーリング係数が適用された後は、同様であることが予想されることができる。可換性のために、スケーリング係数をＰ0およびＰ1に適用することは、それらを重み値に適用することと同じであり、したがって、式（７）は、
【００５６】
【数５】
2019519148.tif 000007
【００５７】
のように再解釈されることができる。
【００５８】
したがって、重みセットの構築プロセスは、明示的な重み、暗黙的な重み、スケーリング係数、および基準画像の関数として表現されることができる。例えば、上述のスライスレベルの重みセットＷL1は、｛０，０．５，１｝∪｛（ｓ／ｓ1）＊ｗD’，（ｓ／ｓ1）＊ｗE’，（ｓ／ｓ1）＊ｗF’｝になり、Ｌ０のための重みセットは、｛１，０．５，１｝∪｛（ｓ／ｓ0）＊（１−ｗD’），（ｓ／ｓ0）＊（１−ｗE’），（ｓ／ｓ0）＊（１−ｗF’）｝になり、ここで、ｓ1は、現在ブロックのためのリストＬ１内の基準画像の平均サンプル値であり、ｓ0は、現在ブロックのためのリストＬ０内の基準画像の平均サンプル値である。
【００５９】
重み値の削減
例示的な実施形態は、ＷL1内の重み値の数をさらに低減させるように動作する。重み値を削減するための２つの例示的な手法が、以下で詳細に説明される。第１の手法は、動き補償予測結果に応答して、動作し、第２の手法は、０から１までの間の範囲の外の重み値に基づいて、動作する。
【００６０】
予測ベースの手法。ＰＵの動き情報が、与えられたとき、すべての重みが、実質的に他と異なる双予測を生成するわけではない。例示的な実施形態は、（類似した双予測信号を生成する）冗長な重み値を削減し、冗長な値の中からただ１つの重みを維持して、ＷL1をよりコンパクトにすることによって、この特性を利用する。そうするために、２つの異なる重み値の双予測信号の間の類似度を計算する関数が、使用されることができる。この関数は、コサイン類似度関数であることができるが、それに限定されず、以下のように動作し、
【００６１】
【数６】
2019519148.tif 000008
【００６２】
ここで、ｗ(i)およびｗ(j)は、ＷL1内の２つの独立した重み値であり、ｖ0およびｖ1は、与えられた双予測動き情報であり、Ρ［ｘ；ｗ，ｖ0，ｖ1］は、与えられたｗ、ｖ0、およびｖ1を用いる、式（３）、（６）、および（８）において示されたのと同じ予測関数を表す。式（９）の値が、（スライスレベルにおいて、ｗｅｉｇｈｔ＿ｐｒｕｎｉｎｇ＿ｔｈｒｅｓｈｏｌｄによって示される）与えられた閾値を下回るとき、重みのうちの１つが、このスライスレベルのシンタックスｐｒｕｎｉｎｇ＿ｓｍａｌｌｅｒ＿ｗｅｉｇｈｔ＿ｆｌａｇに応じて、削減され得る。このフラグが１に等しく設定された場合、削減プロセスは、ＷL1からｗ(i)およびｗ(j)のうちの小さい方の重みを除去する。それ以外の場合は（このフラグが０に等しく設定されたときは）、大きい方が、除去される。例示的な実施形態においては、この削減プロセスは、ＷL1内の重み値の各ペアに適用され、結果として、結果のＷL1内のどの２つの重み値も、類似した双予測信号を生成しない。２つの重み値間の類似度は、変換された差の絶対値の和（sum of absolute transformed differences）（ＳＡＴＤ）を使用することによって、評価されることもできる。計算の複雑度を低減させるために、この類似度は、２つのサブサンプリングされた予測ブロックを使用して、評価されることができる。例えば、それは、水平および垂直方向の両方において、サンプルのサブサンプリングされた行またはサブサンプリングされた列を用いて、計算されることができる。
【００６３】
重み値ベースの手法。０から１までの間の範囲の外の重み値（または、略して、範囲外重み）は、異なる符号化構造（例えば、階層的構造または低遅延構造）下における符号化性能に関して、異なる挙動を示すことができる。この事実を利用して、例示的な実施形態は、時間的レイヤ毎に別々に、範囲外重みの使用を制限するために、シーケンスレベルのインデックスｗｅｉｇｈｔ＿ｃｏｎｔｒｏｌ＿ｉｄｘのセットを利用する。そのような実施形態においては、各ｗｅｉｇｈｔ＿ｃｏｎｔｒｏｌ＿ｉｄｘは、特定の時間的レイヤにおいて、すべての画像と関連付けられる。このインデックスがどのように構成されるかに応じて、範囲外重みは、以下のように条件別に、使用するために利用可能であることができ、または削減されることができる。
●  ｗｅｉｇｈｔ＿ｃｏｎｔｒｏｌ＿ｉｄｘ＝０の場合、ＷL1は、関連付けられた画像について無変化のままである。
●  ｗｅｉｇｈｔ＿ｃｏｎｔｒｏｌ＿ｉｄｘ＝１の場合、ＷL1内の範囲外重みは、関連付けられた画像に対して利用可能ではない。
●  ｗｅｉｇｈｔ＿ｃｏｎｔｒｏｌ＿ｉｄｘ＝２の場合、ＷL1内の範囲外重みは、それの基準フレームが純粋に過去に由来する（例えば、ＨＥＶＣおよびＪＥＭにおける低遅延構成）、関連付けられた画像のいくつかに対して利用可能である。
●  ｗｅｉｇｈｔ＿ｃｏｎｔｒｏｌ＿ｉｄｘ＝３の場合、ＷL1内の範囲外重みは、ＨＥＶＣおよびＪＥＭにおけるスライスレベルのフラグｍｖｄ＿ｌｌ＿ｚｅｒｏ＿ｆｌａｇが有効であるときに限って、関連付けられた画像に対して利用可能である。
【００６４】
重みインデックス符号化
重みインデックス符号化のための２進化および符号語割り当てのための例示的なシステムおよび方法が、以下でより詳細に説明される。
【００６５】
重みインデックス符号化のための２進化プロセス
例示的な実施形態においては、各重みインデックス（ｗｅｉｇｈｔ＿ｉｄｘ）は、エントロピ符号化の前に、システマティック符号を通して、一意的な２進表現（ｂｉｎａｒｙ＿ｗｅｉｇｈｔ＿ｉｄｘ）に変換される。説明の目的で、提案される２進化方法のツリー構造が、図８に示されている。ｂｉｎａｒｙ＿ｗｅｉｇｈｔ＿ｉｄｘの第１のビットは、（０または１に等しい重みと関連付けられた）片予測と、双予測とを区別するために使用される。片予測ブランチにおいては、別のビットが、２つの基準リスト、すなわち、（０に等しい重み値を指し示す重みインデックスと関連付けられた）基準リストＬ０、または（１に等しい重み値を指し示す重みインデックスと関連付けられた）基準リストＬ１のうちのどちらが参照されるかを示すために、シグナリングされる。双予測ブランチにおいては、各リーフノードは、ＷL1内の残りの重み値、すなわち、０でも１でもない重み値のうちの１つと関連付けられた、一意的な重みインデックス値を割り当てられる。例示的なビデオコーデックは、切断単進符号（truncated unary code）（例えば、図８）、および指数ゴロム符号（Exponential-Golomb code）など、双予測ブランチを２進化するための、多様なシステマティック符号をサポートする。双予測ブランチ内の各リーフノードが一意的なｗｅｉｇｈｔ＿ｉｄｘを割り当てられる、例示的な技法が、以下でより詳細に説明される。このツリー構造を調べることを通して、各重みインデックスは、一意的な符号語（例えば、ｂｉｎａｒｙ＿ｗｅｉｇｈｔ＿ｉｄｘ）にマッピングされることができ、またはそれから回復されることができる。
【００６６】
重みインデックス符号化のための適応的符号語割り当て
例示的な２進ツリー構造においては、各リーフノードは、１つの符号語に対応する。重みインデックスのシグナリングオーバヘッドを低減させるために、様々な適応的符号語割り当て方法が、双予測ブランチ内の各リーフノードを、一意的な重みインデックスにマッピングするために、使用されることができる。例示的な方法は、予め定められた符号語割り当て、ブロック適応的符号語割り当て、時間的レイヤベースの符号語割り当て、および時間遅延ＣＴＵ適応的符号語割り当てを含む。これらの例示的な方法は、先に符号化されたブロックにおいて使用された重み値の発生に基づいて、双予測ブランチにおける符号語割り当てを更新する。頻繁に使用される重みは、より短い長さの符号語（すなわち、双予測ブランチにおけるより浅いリーフノード）に割り当てられることができ、一方、それ以外は、相対的により長い長さの符号語に割り当てられることができる。
【００６７】
１）予め定められた符号語割り当て。予め定められた符号語割り当てを使用して、双予測ブランチ内のリーフノードに対して、一定の符号語割り当てが、提供されることができる。この方法においては、０．５の重みと関連付けられた重みインデックスは、最も短い符号語、すなわち、例えば、図８におけるノードｉを割り当てられる。０．５以外の重み値は、２つのセットに分けられることができ、セット１は、０．５よりも大きいすべての値を含み、それは、昇順に順序付けられ、セット２は、０．５よりも小さいすべての値を含み、それは、降順に順序付けられる。その後、これら２つのセットは、インターリーブされて、セット１またはセット２から開始する、セット３を形成する。長さが短いものから長いものへと並んだ残りのすべての符号語は、セット３内の重み値に順番に割り当てられる。例えば、双予測ブランチ内のすべての可能な重み値からなるセットが、｛０．１，０．３，０．５，０．７，０．９｝であるとき、セット１は、｛０．７，０．９｝であり、セット２は、｛０．３，０．１｝であり、セット３は、インターリービングがセット１から開始する場合は、｛０．７，０．３，０．９，０．１｝である。長さが短いものから長いものへと並んだ符号語は、順番に、０．５、０．７、０．３、０．９、および０．１に割り当てられる。
【００６８】
この割り当ては、動き情報の２つのセットが送信されたとき、あるコーデックが１つの動きベクトル差を落すことができる環境において、変化することができる。例えば、この挙動は、ＨＥＶＣにおいては、スライスレベルのフラグｍｖｄ＿ｌｌ＿ｚｅｒｏ＿ｆｌａｇから、見出されることができる。このケースにおいては、代替的な符号語割り当ては、０．５よりも大きく、かつ最も近い、重み値（例えば、ｗ+）と関連付けられた重みインデックスに割り当てる。その後、ｗ+よりも大きい（または小さい）もののうちでｎ番目に小さい（または大きい）ものである重み値と関連付けられた重みインデックスは、（２ｎ＋１）番目（または２ｎ番目）に短い符号語を割り当てられる。先の例に基づくと、長さが短いものから長いものへと並んだ符号語は、順番に、０．７、０．５、０．９、０．３、および０．１に割り当てられる。両方の例の結果の割り当てが、図１１Ａ〜図１１Ｂに示されている。
【００６９】
２）因果関係のある近隣重み（causal-neighboring weight）を使用する、ブロック適応的符号語割り当て。因果関係のある近隣ブロックにおいて使用される重み値は、現在ブロックのために使用されるものと相関させられることができる。この知識、および与えられた符号語割り当て方法（例えば、一定割り当て、または代替的割り当て）に基づいて、因果関係のある近隣ブロックから見出されることができる重みインデックスは、より短い符号語長を有する、双予測ブランチ内のリーフノードに奨励される。動きベクトル予測リストの構築プロセスに類似して、因果関係のある近隣ブロックは、図１２Ａに示されるような順序付けられた順番で、アクセスされることができ、たかだか２つの重みインデックスが、奨励されることができる。図から分かるように、左下ブロックから左ブロックに向かって、最初の利用可能な重みインデックスは（存在すれば）、最も短い符号語長を奨励されることができ、右上ブロックから左上ブロックに向かって、最初の利用可能な重みインデックスは（存在すれば）、２番目に短い符号語長を奨励されることができる。他の重みインデックスについては、それらは、残りのリーフノードに、最初に与えられた割り当てにおけるそれらの符号語長に従って、最も浅いものから最も深いものに向かって、割り当てられることができる。図１２Ｂは、与えられた符号語割り当てが、自らを因果関係のある近隣重みに対してどのように適合させることができるかを示す、例を与える。この例においては、一定割り当てが、使用され、０．３および０．９に等しい重み値が、奨励される。
【００７０】
３）時間的レイヤベースの符号語割り当て。時間的レイヤベースの符号語割り当てを使用する例示的な方法においては、提案されるビデオエンコーダは、一定符号語割り当てと代替的符号語割り当てとの間で適応的に切り換わる。同じ時間的レイヤにおいて、または同じＱＰ値を用いて、先に符号化された画像からの重みインデックスの使用に基づいて、最小の予想される符号語長の重みインデックスを用いる、最適な符号語割り当て方法は、以下のように見出されることができ、
【００７１】
【数７】
2019519148.tif 000009
【００７２】
ここで、Ｌm（ｗ）は、ある符号語割り当て方法ｍを使用したｗの符号語長を表し、ＷL1Biは、双予測だけのために使用される重み値セットであり、Ｐｒｏｂk（ｗ）は、時間的レイヤにおけるｋ個の画像にわたるｗの累積確率を表す。最良の符号語割り当て方法が、ひとたび決定されると、それは、現在画像についての重みインデックスのエンコーディング、または２進重みインデックスの解析に対して、適用されることができる。
【００７３】
時間的画像にわたって重みインデックスの使用を蓄積するための、いくつかの異なる方法が、企図される。例示的な方法は、共通の式で定式化されることができ、
【００７４】
【数８】
2019519148.tif 000010
【００７５】
ここで、ｗiは、ＷL1内のある重みであり、Ｃｏｕｎｔj（ｗ）は、時間的レイヤの第ｊの画像における、ある重み値の発生を表し、ｎは、記憶される最近の画像の数を決定し、λは、忘却項（forgetting term）である。ｎおよびλは、エンコーダ限定のパラメータであり、それらは、各画像において、シーン変化に対するｎ＝０、動きビデオに対するより小さいλなど、様々なエンコーディング条件に自らを適合させることができる。
【００７６】
いくつかの実施形態においては、符号語割り当て方法の選択は、スライスレベルのシンタックス要素を使用して、明示的に示されることができる。そのため、デコーダは、経時的に重みインデックスの使用を維持する必要がなく、したがって、時間的画像にわたる重みインデックスに対する解析依存性は、完全に回避されることができる。そのような方法は、デコーディングロバスト性も改善する。
【００７７】
４）ＣＴＵ適応的符号語割り当て。先に符号化された画像の重み使用だけに基づいた、符号語割り当てのための異なる方法間の切り換えは、現在画像のそれと常によく合致するとは限らないことがある。これは、現在画像の重み使用に対する考慮の欠如に起因することができる。ＣＴＵ適応的符号語割り当てを使用する例示的な実施形態においては、Ｐｒｏｂk（ｗi）は、現在のＣＴＵ行および直上のＣＴＵ行内における符号化されたブロックの重み使用に基づいて、更新されることができる。現在画像が、時間的レイヤ内における第（ｋ＋１）の画像であると仮定すると、Ｐｒｏｂk（ｗi）は、以下のように、ＣＴＵ毎に更新されることができ、
【００７８】
【数９】
2019519148.tif 000011
【００７９】
ここで、Ｂは、現在のＣＴＵ行および直上のＣＴＵ行における、符号化されたＣＴＵのセットを表し、Ｃｏｕｎｔ’j（ｗ）は、セットＢにおいて収集された、第ｊのＣＴＵにおける、ある重み値の発生を表す。Ｐｒｏｂk（ｗi）が、ひとたび更新されると、それは、式（１０）に適用され、したがって、最良の符号語割り当て方法が、決定されることができる。
【００８０】
高度な時間的予測技法への拡張
一般化された双予測の適用を拡張して、局所的な照度補償、重み付けされた双予測、マージモード、双予測オプティカルフロー、アフィン動き予測、重ね合わされたブロック動き補償、およびフレームレートアップコンバージョン双予測を含む、他の符号化技術と一緒に用いるための実施形態が、以下で説明される。
【００８１】
局所的な照度補償および重み付けされた双予測
例示的な一般化された双予測技法は、他の技法の中でもとりわけ、局所的な照度補償（ＩＣ）、および／または重み付けされた双予測の上で実行されることができる。ＩＣおよび重み付けされた双予測の両方は、基準ブロック上における照度変化を補償するように動作する。それらの間の１つの相違は、ＩＣの使用においては、重み（ｃ0およびｃ1）ならびにオフセット値（ｏ0およびｏ1）は、ブロック毎のテンプレートマッチングを通して導出され、一方、重み付けされた双予測の使用においては、これらのパラメータは、スライス毎に明示的にシグナリングされることである。これらのパラメータ（ｃ0、ｃ1、ｏ0、ｏ1）を用いると、ＧＢｉの予測信号は、
【００８２】
【数１０】
2019519148.tif 000012
【００８３】
のように計算されることができ、ここで、上述のセクション「重み値のスケーリングプロセス」において説明された、重み値のスケーリングプロセスが、適用される。このスケーリングプロセスが、適用されないとき、ＧＢｉの予測信号は、
Ｐ［ｘ］＝（１−ｗ1）＊（ｃ0＊Ｐ0［ｘ＋ｖ0］＋ｏ0）＋ｗ1＊（ｃ1＊Ｐ1［ｘ＋ｖ1］＋ｏ1）    （１４）
のように計算されることができる。
【００８４】
例えば、式（１３）または式（１４）において説明される、これらの組み合わされた予測プロセスの使用は、シーケンスレベル、画像レベル、またはスライスレベルにおいて、シグナリングされることができる。シグナリングは、ＧＢｉおよびＩＣの組み合わせ用と、ＧＢｉおよび重み付けされた双予測の組み合わせ用とで、別々に行われることができる。いくつかの実施形態においては、式（１３）または式（１４）の組み合わされた予測プロセスは、重み値（ｗ1）が、０、０．５、または１に等しくないときだけ、適用される。特に、組み合わされた予測プロセスの使用が、アクティブであるとき、（ＩＣの使用を示すために使用される）ブロックレベルのＩＣフラグの値は、（ｗ1≠０，０．５，１を用いる）ＧＢｉがＩＣと組み合わされるかどうかを決定する。そうではなく、組み合わされた予測プロセスが、使用されていないとき、（ｗ1≠０，０．５，１を用いる）ＧＢｉおよびＩＣは、２つの独立した予測モードを実行し、ブロック毎に、このブロックレベルのＩＣフラグは、シグナリングされる必要はなく、したがって、ゼロであると推測される。
【００８５】
いくつかの実施形態においては、ＧＢｉが、ＩＣと組み合わされることができるか、それとも重み付けされた双予測と組み合わされることができるかは、ｇｂｉ＿ｉｃ＿ｃｏｍｂ＿ｆｌａｇおよびｇｂｉ＿ｗｂ＿ｃｏｍｂ＿ｆｌａｇなどのフラグを使用する、高レベルのシンタックスを用いて、シーケンスパラメータセット（ＳＰＳ）、画像パラメータセット（ＰＰＳ）、またはスライスヘッダにおいて、別々にシグナリングされる。いくつかの実施形態においては、ｇｂｉ＿ｉｃ＿ｃｏｍｂ＿ｆｌａｇが０に等しい場合、ＧＢｉおよびＩＣは、組み合わされず、したがって、ＧＢｉ重み値（ｗ1≠０，０．５，１）およびＩＣフラグは、いずれの双予測符号化ユニットについても、共存しない。例えば、いくつかの実施形態においては、符号化ユニットのために、ｗ1≠０、０．５、１であるＧＢｉ重みが、シグナリングされる場合、シグナリングされるＩＣフラグは、存在せず、このフラグの値は、ゼロと推測され、それ以外の場合、ＩＣフラグは、明示的にシグナリングされる。いくつかの実施形態においては、ｇｂｉ＿ｉｃ＿ｃｏｍｂ＿ｆｌａｇが、１に等しい場合、ＧＢｉおよびＩＣは、組み合わされ、１つの符号化ユニットのために、ＧＢｉ重みおよびＩＣフラグの両方が、独立してシグナリングされる。同じセマンティクスが、ｇｂｉ＿ｗｂ＿ｃｏｍｂ＿ｆｌａｇに適用されることができる。
【００８６】
マージモード
いくつかの実施形態においては、因果関係のある近隣ブロックからの動き情報ばかりではなく、同じ時間におけるそのブロックの重みインデックスも推測するために、マージモードが、使用される。（図１３に示されるような）因果関係のある近隣ブロックに対するアクセス順序は、ＨＥＶＣにおいて指定されたものと同じであることができ、空間的ブロックは、左、上、右上、左下、および右上ブロックの順序でアクセスされ、一方、時間的ブロックは、右下、および中央ブロックの順序でアクセスされる。いくつかの実施形態においては、空間的ブロックから最大で４つ、時間的ブロックから最大で１つ、最大で５つのマージ候補が、構築される。マージ候補を与えられると、式（３）、式（８）、式（１３）、または式（１４）において指定されたＧＢｉ予測プロセスが、適用されることができる。重みインデックスは、選択されたマージ候補の重み情報から推測されるので、それは、シグナリングされる必要がないことに留意されたい。
【００８７】
ＪＥＭプラットフォームにおいては、高度時間的動きベクトル予測（advanced temporal motion vector prediction）（ＡＴＭＶＰ）と呼ばれる追加のマージモードが、提供される。本開示のいくつかの実施形態においては、ＡＴＭＶＰは、ＧＢｉ予測と組み合わされる。ＡＴＭＶＰにおいては、１つのＣＵ内の各４×４ユニットの動き情報は、時間的基準画像の動きフィールドから導出される。ＡＴＭＶＰを使用する例示的な実施形態においては、ＧＢｉ予測モードが有効であるとき（例えば、ｅｘｔｒａ＿ｎｕｍｂｅｒ＿ｏｆ＿ｗｅｉｇｈｔｓが０よりも大きいとき）、各４×４ユニットのための重みインデックスも、時間的基準画像内の対応する時間的ブロックのそれから推測されることができる。
【００８８】
双予測オプティカルフロー
いくつかの実施形態においては、ＧＢｉの重み値は、双予測オプティカルフロー（ＢＩＯ）モデルに適用されることができる。動き補償予測信号（Ｐ0［ｘ＋ｖ0］およびＰ1［ｘ＋ｖ1］）に基づいて、ＢＩＯは、Ｌ０およびＬ１内の２つの対応するサンプル間の差を、それらの空間的垂直および水平勾配値に関して、低減させるために、オフセット値ＯBIO［ｘ］を推定することができる。このオフセット値をＧＢｉ予測と組み合わせるために、式（３）は、
Ｐ［ｘ］＝（１−ｗ1）＊Ｐ0［ｘ＋ｖ0］＋ｗ1＊Ｐ1［ｘ＋ｖ1］＋ｏBIO［ｘ］    （１５）
のように、再定式化されることができ、ここで、ｗ1は、ＧＢｉ予測を実行するために使用される重み値である。このオフセット値も、式（８）、式（１３）、または式（１４）のように、Ｐ0およびＰ1内の予測信号がスケーリングされた後、加算的オフセットとして、他のＧＢｉ変動に適用されることができる。
【００８９】
アフィン予測
例示的な実施形態においては、ＧＢｉ予測は、従来の双予測に対する拡張に類似した方式で、アフィン予測と組み合わされることができる。しかしながら、動き補償を実行するために使用される基本処理ユニットに、相違が存在する。アフィン予測は、ＰＵの微細粒度の動きフィールド表現を形成するための、モデルベースの動きフィールド導出技法であり、各４×４ユニットの動きフィールド表現が、片予測または双予測変換動きベクトル、および与えられたモデルパラメータに基づいて導出される。すべての動きベクトルは、同じ基準画像を指し示すので、重み値を４×４ユニットの各々に適合させる必要はない。そのため、重み値は、各ユニットにわたって共用されることができ、ＰＵ当たりただ１つの重みインデックスが、シグナリングされることができる。４×４ユニットにおける動きベクトル、および重み値を用いて、ＧＢｉは、ユニット毎ベースで実行されることができ、そのため、同じ式（３）、式（８）、式（１３）、および式（１４）が、変更なしに、直接的に適用されることができる。
【００９０】
重ね合わされたブロック動き補償
重ね合わされたブロック動き補償（ＯＢＭＣ）は、サンプル自らの動きベクトル、およびそれの因果関係のある近隣におけるそれらから導出された、動き補償信号に基づいて、このサンプルの強度値の予測を提供するための方法である。ＧＢｉの例示的な実施形態においては、ＯＢＭＣのための動き補償においては、重み値も、考慮されることができる。例が、図１４において示されており、現在ブロック内のサブブロックＢ1は、３つの動き補償予測ブロックを有し、それらの各々は、ブロックＮ1、Ｎ5、またはＢ1自体からの動き情報および重み値を使用することによって形成され、Ｂ1の結果の予測信号は、３つの加重平均であることができる。
【００９１】
フレームレートアップコンバージョン双予測
いくつかの実施形態においては、ＧＢｉは、フレームレートアップコンバージョン（ＦＲＵＣ）と一緒に動作することができる。ＦＲＵＣのために、２つの異なるモードが、使用されることができる。現在画像が、Ｌ０内の第１の基準画像とＬ１内の第１の基準画像との間に収まる場合、双予測モードが、使用されることができる。Ｌ０内の第１の基準画像およびＬ１内の第１の基準画像が、ともに、前方基準画像または後方基準画像である場合、片予測モードが、使用されることができる。ＦＲＵＣにおける双予測ケースが、以下で詳細に説明される。ＪＥＭにおいては、ＦＲＵＣ双予測のために、等しい重み（すなわち、０．５）が、使用される。ＦＲＵＣ双予測における２つの予測因子の品質は、異なることができるが、等しい重みを使用して、等しくない予測品質を有する２つの予測因子を結合することは、準最適であることができる。ＧＢｉの使用は、等しくない重みの使用が原因で、最終的な双予測品質を改善することができる。例示的な実施形態においては、ＧＢｉの重み値は、ＦＲＵＣ双予測を用いて符号化されたブロックについて導出され、したがって、シグナリングされる必要はない。ＷL1内の各重み値は、ＦＲＵＣ双予測のＭＶ導出プロセスを用いて、ＰＵ内の４×４サブブロックの各々について、独立に評価される。４×４ブロックについて、（２つの基準リストと関連付けられた２つの片予測動き補償予測因子間の絶対差の和である）最小バイラテラルマッチング誤差（minimal bilateral matching error）をもたらす重み値が、選択される。
【００９２】
例示的な実施形態においては、ＦＲＵＣ双予測は、双予測マッチングを使用することによってＭＶを導出する、デコーダ側のＭＶ導出技法である。ＰＵ毎に、因果関係のある近隣ブロックから収集された候補ＭＶのリストが、形成される。一定の動きという仮定の下で、各候補ＭＶは、他方の基準リスト内の第１の基準画像上に線形に投影され、投影のためのスケーリング係数は、（例えば、時間ｔ0またはｔ1における）基準画像と、現在画像（ｔc）との間の時間距離に比例するように設定される。ｖ0が、基準リストＬ０と関連付けられた候補ＭＶである例として、図１５を取ると、ｖ1は、ｖ0＊（ｔ1−ｔc）／（ｔ0−ｔc）として計算される。したがって、バイラテラルマッチング誤差が、各候補ＭＶのために、まだ計算されることができ、最小バイラテラルマッチング誤差に到達する最初のＭＶが、候補リストから選択される。この最初のＭＶをｖ0INITと表す。ｖ0INITが指し示す最初のＭＶから開始して、予め定められた探索範囲内においてＭＶを見つけるために、デコーダ側の動き推定が、実行され、最小バイラテラルマッチング誤差に到達するＭＶが、ＰＵレベルのＭＶとして選択される。ｖ1が投影されたＭＶであると仮定すると、最適化プロセスは、
【００９３】
【数１１】
2019519148.tif 000013
【００９４】
のように定式化されることができる。ＦＲＵＣ双予測が、ＧＢｉと組み合わされるとき、式（１６）における探索プロセスは、ＷL1内の重み値ｗを用いて、再定式化され、すなわち、
【００９５】
【数１２】
2019519148.tif 000014
【００９６】
となる。このＰＵレベルｖ0は、式（１７）におけるのと同じバイラテラルマッチングを使用して、式（１８）に示されるように、ＰＵ内の４×４サブブロック毎に、独立してさらに精緻化されることができる。
【００９７】
【数１３】
2019519148.tif 000015
【００９８】
ＷL1内の利用可能な重み値毎に、式（１８）は、評価されることができ、バイラテラルマッチング誤差を最小化する重み値が、最適な重みとして選択される。評価プロセスの終りに、ＰＵ内の各４×４サブブロックは、一般化された双予測を実行するための、それ自体の双予測ＭＶおよび重み値を有する。そのような網羅的な探索方法の複雑度は、重みおよび動きベクトルが、共同方式で探索されるので、高くなることがある。別の実施形態においては、最適な動きベクトルおよび最適な重みを探すための探索は、２つのステップで行われることができる。第１のステップにおいて、４×４ブロック毎の動きベクトルが、ｗを初期値に、例えば、ｗ＝０．５に設定することによって、式（１８）を使用して獲得されることができる。第２のステップにおいて、最適な動きベクトルを所与として、最適な重みが、探索されることができる。
【００９９】
また別の実施形態においては、動き探索の正確性を改善するために、３つのステップが、適用されることができる。第１のステップにおいて、初期重みが、初期動きベクトルｖ0INITを使用して、探索される。この初期最適重みをｗINITと表す。第２のステップにおいて、４×４ブロック毎の動きベクトルが、ｗをｗINITに設定することによって、式（１８）を使用して獲得されることができる。第３のステップにおいて、最適な動きベクトルを所与として、最終的な最適重みが、探索されることができる。
【０１００】
式（１７）および式（１８）から、目標は、２つの基準リストとそれぞれ関連付けられた２つの重み付けされた予測因子間の差を最小化することである。負の重みは、この目的にとっては、適切でないことがある。一実施形態においては、ＦＲＵＣベースのＧＢｉモードは、ゼロよりも大きい重み値を評価するだけである。複雑度を低減させるために、絶対差の和の計算は、各サブブロック内の部分的なサンプルを使用して、実行されることができる。例えば、絶対差の和は、偶数番目の行および列（またはあるいは、奇数番目の行および列）に配置されたサンプルだけを使用して、計算されることができる。
【０１０１】
ＧＢｉ予測探索戦略
双予測探索のための初期基準リスト
双予測の動き推定（ＭＥ）ステージにおいて、２つの基準リストのうちのどちらが最初に探索されるべきかを決定することによって、ＧＢｉの予測性能を改善するための方法が、以下で説明される。従来の双予測と同様に、ＭＥステージコスト、すなわち、
Ｃｏｓｔ（ｔi，Ｕj）＝Σx｜Ｉ［ｘ］−Ｐ［ｘ］｜＋λ＊Ｂｉｔｓ（ｔi，ｕj，重みインデックス）    （１９）
を最小化するために決定される、それぞれ基準リストＬ０および基準リストＬ１と関連付けられた、２つの動きベクトルが、存在し、ここで、Ｉ［ｘ］は、現在画像内のｘに配置されたサンプルｘの元の信号であり、Ｐ［ｘ］は、ＧＢｉの予測信号であり、ｔiおよびｕjは、それぞれ、Ｌ０内の第ｉの基準画像およびＬ１内の第ｊの基準画像を指し示す、動きベクトルであり、λは、ＭＥステージにおいて使用されるラグランジュパラメータであり、Ｂｉｔｓ（●）関数は、入力変数をエンコードするためのビットの数を推定する。式（３）、式（８）、式（１３）、および式（１４）の各々は、式（１９）におけるＰ［ｘ］を置換するために、適用されることができる。説明を簡潔にするために、以下のプロセスのための例として、式（３）について考察する。したがって、式（１９）におけるコスト関数は、
Ｃｏｓｔ（ｔi，ｕj）＝Σx｜Ｉ［ｘ］−（１−ｗ1）＊Ｐ0［ｘ＋ｔi］−ｗ1＊Ｐ1［ｘ＋ｕj］｜＋λ＊Ｂｉｔｓ（ｔi，ｕj，重みインデックス）    （２０）
のように書き直されることができる。
【０１０２】
決定される２つのパラメータ（ｔiおよびｕj）が、存在するので、反復手順が、利用されることができる。第１のそのような手順は、以下のように進行することができる。
１．｛ｕj｜∀ｊ｝における最良の動きを用いて、ｔi，∀ｉを最適化する。
２．｛ｔi｜∀ｉ｝における最良の動きを用いて、ｕj，∀ｊを最適化する。
３．ｔiおよびｕjが変更されなくなるまで、または反復の最大数に到達するまで、ステップ１およびステップ２を繰り返す。
【０１０３】
第２の例示的な反復手順は、以下のように進行することができる。
１．｛ｔi｜∀ｉ｝における最良の動きを用いて、ｕj，∀ｊを最適化する。
２．｛ｕj｜∀ｊ｝における最良の動きを用いて、ｔi，∀ｉを最適化する。
３．ｕjおよびｔiが変更されなくなるまで、または反復の最大数に到達するまで、ステップ１およびステップ２を繰り返す。
【０１０４】
どちらの反復手順が選択されるかは、ｔiおよびｕjのＭＥステージコストにのみ依存することができ、すなわち、
【０１０５】
【数１４】
2019519148.tif 000016
【０１０６】
であり、ここで、ＭＥステージコスト関数は、以下であることができる。
Ｃｏｓｔ（ｔi）＝Σx｜Ｉ［ｘ］−Ｐ0［ｘ＋ｔi］｜＋λ＊Ｂｉｔｓ（ｔi）    （２２）
Ｃｏｓｔ（ｕj）＝Σx｜Ｉ［ｘ］−Ｐ1［ｘ＋ｕj］｜＋λ＊Ｂｉｔｓ（ｕj）    （２３）
しかしながら、この初期化プロセスは、１−ｗ1およびｗ1が等しくないケースにおいては、最適でないことがある。重み値の一方が、０にきわめて近い、例えば、ｗ1＝ｌｉｍw→0ｗであり、それの関連付けられた動きのＭＥステージコストが、他方よりもたまたま低い、典型的な例。このケースにおいては、式（２０）は、
Ｃｏｓｔ（ｔi，ｕj）＝Σx｜Ｉ［ｘ］−Ｐ0［ｘ＋ｔi］｜＋λ＊Ｂｉｔｓ（ｔi，ｕj，重みインデックス）    （２４）
に退化する。ｕjのための費やされるオーバヘッドは、予測信号に何の貢献もせず、ＧＢｉについての貧弱な探索結果をもたらす。本開示においては、式（２１）の代わりに、重み値の大きさが、使用され、すなわち、
【０１０７】
【数１５】
2019519148.tif 000017
【０１０８】
である。
【０１０９】
重みインデックスのための２分探索
評価される重み値の数は、追加の複雑度をエンコーダに導入することができるので、例示的な実施形態は、２分探索法を利用して、エンコーディングの初期ステージにおいて、可能性の低い重み値を削減する。１つのそのような探索方法においては、（０および１の重みと関連付けられた）従来の片予測、ならびに（０．５の重みと関連付けられた）双予測が、まさに開始時に実行され、ＷL1内の重み値は、４つのグループ、すなわち、Ａ＝［ｗmin，０］、Ｂ＝［０，０．５］、Ｃ＝［０．５，１］、およびＤ＝［１，ｗmax］に分類されることができる。ｗminおよびｗmaxは、それぞれ、ＷL1内の最小の重み値および最大の重み値を表し、一般性を失うことなく、ｗmin＜０、およびｗmax＞１であることが、仮定される。可能性のある重み値の範囲を決定するために、以下のルールが、適用されることができる。
●  ｗ＝０が、ｗ＝１よりも良いＭＥステージコストを与える場合、以下のルールが、適用される。
○  ｗ＝０．５が、ｗ＝０およびｗ＝１よりも良いＭＥステージコストを与える場合、Ｂ内の重み値に基づいて、重みセットＷ(0)が、形成される。
○  それ以外の場合、Ａ内の重み値に基づいて、Ｗ(0)が、形成される。
●  それ以外の場合（ｗ＝１が、ｗ＝０よりも良いＭＥステージコストを与える場合）、以下のルールが、適用される。
○  ｗ＝０．５が、ｗ＝０およびｗ＝１よりも良いＭＥステージコストを与える場合、Ｃ内の重み値に基づいて、Ｗ(0)が、形成される。
○  それ以外の場合、Ｄ内の重み値に基づいて、Ｗ(0)が、形成される。
【０１１０】
Ｗ(0)が、形成された後、Ｗ(0)内の最小値および最大値に従って、それぞれ、ｗminおよびｗmaxの値が、リセットされることができる。Ｗ(0)が、ＡおよびＤと関連付けられる場合、それぞれ、Ａ内のｗminおよびＤ内のｗmaxのＭＥステージコストが、計算されることができる。
【０１１１】
第ｋの反復において、３つ以上の重み値がセット内に存続するまで、反復プロセスが、動作して、Ｗ(k)を更新し続けることができる。プロセスが、第ｋの反復にあると仮定すると、反復プロセスは、以下のように指定されることができる。
１．（ｗmin＋ｗmax）／２に最も近い重み値であるｗmiddleを用いて、ＧＢｉを実行する。
２．ｗmiddleが、ｗminおよびｗmaxよりも良いＭＥステージコストを与える場合、［ｗmin，ｗmiddle］および［ｗmiddle，ｗmax］の両方を独立にテストするために、Ｗ(k+1)に対する再帰プロセスが、呼び出され、反復プロセスは、ステップ６にジャンプする。
３．そうではなく、ｗmiddleが、ｗminおよびｗmaxよりも悪いＭＥステージコストを与える場合、反復プロセスは、終了する。
４．そうではなく、ｗminが、ｗmaxよりも良いＭＥステージコストを与える場合、［ｗmin，ｗmiddle］内の重み値に基づいて、Ｗ(k+1)が、形成され、反復プロセスは、ステップ６にジャンプする。
５．それ以外の場合（ｗminが、ｗmaxよりも悪いＭＥステージコストを与える場合）、［ｗmiddle，ｗmax］内の重み値に基づいて、Ｗ(k+1)が、形成され、反復プロセスは、ステップ６にジャンプする。
６．Ｗ(k+1)内に存続する重み値の数が、３つ以上の場合、Ｗ(k+1)内の最小値および最大値に従って、ｗminおよびｗmaxが、リセットされ、反復プロセスは、ステップ１に戻り、それ以外の場合、反復プロセスは、終了する。
【０１１２】
反復プロセスが、停止した後、すべてのテスト値の中で最も低いＭＥステージコストを達成した重み値が、一般化された双予測を実行するために、選択されることができる。
【０１１３】
非２Ｎ×２Ｎパーティションのための重み値推定
いくつかの実施形態においては、２Ｎ×２Ｎパーティションについての各重み値をテストした後、０、０．５、および１以外の最良実行重み値は、非２Ｎ×２Ｎパーティションの最適な重み値についての推定値として役立つことができる。いくつかの実施形態においては、ｎ個の一意的な推定値が、存在すると仮定すると、０、０．５、１、およびｎ個の推定値に等しい重み値だけが、非２Ｎ×２Ｎパーティションのために評価される。
【０１１４】
非２Ｎ×２Ｎパーティションのためのパーティションサイズ推定
いくつかの実施形態においては、非２Ｎ×２Ｎパーティションのすべてが、例示的なビデオエンコーダによって、テストされるとは限らない。非２Ｎ×２Ｎパーティションは、２つのサブカテゴリに、すなわち、２Ｎ×ＮおよびＮ×２Ｎパーティションタイプを有する、対称的動きパーティション（ＳＭＰ）と、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２Ｎパーティションタイプを有する、非対称的動きパーティション（ＡＭＰ）とに、分類されることができる。ＳＭＰにおけるパーティションについてのレート−歪み（Ｒ−Ｄ）コストが、２Ｎ×２Ｎのそれよりも小さい場合、ＡＭＰ内のパーティションタイプのいくつかが、エンコーダにおいて評価される。ＡＭＰ内のどのパーティションタイプをテストするかについての決定は、２Ｎ×ＮおよびＮ×２Ｎのうちのどちらが、Ｒ−Ｄコストに関して、より良い性能を示すかに依存することができる。２Ｎ×Ｎのレート−歪みコストが、より小さい場合、パーティションタイプ２Ｎ×ｎＵおよび２Ｎ×ｎＤが、さらにチェックされることができ、それ以外の場合（Ｎ×２Ｎのコストが、より小さい場合）、パーティションタイプｎＬ×２ＮおよびｎＲ×２Ｎが、さらにチェックされることができる。
【０１１５】
マルチパスエンコーディングのための高速パラメータ推定
マルチパスエンコーダを使用する、例示的な実施形態においては、より以前のエンコーディングパスから最適化された（ブロック動きおよび重み値などの）予測パラメータが、後続のエンコーディングパスにおける初期パラメータ推定として、採用されることができる。そのようなエンコーダにおいては、画像から区分された符号化ブロックは、２回またはさらに多く、予測およびエンコードされることができ、エンコーディング複雑度のかなりの増加をもたらす。この複雑度を低減させるための１つの技法は、初期エンコーディングパスからの最適化された予測パラメータをバッファし、以降のエンコーディングパスにおいて、それらをさらなる精緻化のための初期パラメータ推定として取ることである。例えば、初期パスにおいて、インター予測モードが、たまたま最良のモードである場合、エンコーダは、エンコーディングパスの残りにおいて、インター予測モードだけを評価する。いくつかの実施形態においては、バッファリングが、ＷL1内における重み値の選択、選択された重み値と関連付けられた双予測ＭＶ、ＩＣフラグ、ＯＢＭＣフラグ、整数動きベクトル（ＩＭＶ）フラグ、および符号化ブロックフラグ（ＣＢＦ）など、ＧＢｉに関連する予測パラメータについて実行される。そのような実施形態においては、これらのバッファされたパラメータの値は、後続のエンコーディングパスにおいて、再使用または精緻化されることができる。特に、上述の双予測ＭＶが、取られるとき、これらのＭＶは、双予測探索のための初期探索位置として役立つことができる。その後、それらは、動き推定ステージにおいて精緻化され、その後、次のエンコーディングパスのための初期探索位置として取られる。
【０１１６】
例示的なビットストリーム通信フレームワーク
図１６は、符号化されたビットストリーム構造の例を示す概略図である。符号化されたビットストリーム１０００は、多数のＮＡＬ（ネットワークアブストラクションレイヤ）ユニット１００１から成る。ＮＡＬユニットは、符号化されたスライス１００６などの、符号化されたサンプルデータ、またはパラメータセットデータ、スライスヘッダデータ１００５、もしくは（ＳＥＩメッセージと呼ばれることがある）補助強化情報（supplemental enhancement information）データ１００７などの、高レベルシンタックスメタデータを含み得る。パラメータセットは、複数のビットストリームレイヤに適用することができる（例えば、ビデオパラメータセット１００２（ＶＰＳ））、または１つのレイヤ内の符号化されたビデオシーケンスに適用することができる（例えば、シーケンスパラメータセット１００３（ＳＰＳ））、または１つの符号化されたビデオシーケンス内の多数の符号化された画像に適用することができる（例えば、画像パラメータセット１００４（ＰＰＳ））、基本的なシンタックス要素を含む、高レベルシンタックス構造である。パラメータセットは、ビデオビットストリームの符号化された画像と一緒に送信されること、または（信頼できるチャネルを使用した帯域外送信、ハードコーディングなどを含む）他の手段を通して送信されることができる。スライスヘッダ１００５も、相対的に小さい、またはあるスライスもしくは画像タイプにだけ関連する、何らかの画像関連情報を含むことができる、高レベルシンタックス構造である。ＳＥＩメッセージ１００７は、デコーディングプロセスによって必要とされないことがあるが、画像出力タイミングまたは表示、ならびに損失検出および隠蔽など、様々な他の目的のために使用されることができる情報を搬送する。
【０１１７】
図１７は、通信システムの例を示す概略図である。通信システム１３００は、エンコーダ１３０２と、通信ネットワーク１３０４と、デコーダ１３０６とを備えることができる。エンコーダ１３０２は、有線接続または無線接続であることができる、接続１３０８を介して、ネットワーク１３０４と通信することができる。エンコーダ１３０２は、図１のブロックベースのビデオエンコーダに類似することができる。エンコーダ１３０２は、シングルレイヤコーデック（例えば、図１）、またはマルチレイヤコーデックを含むことができる。例えば、エンコーダ１３０２は、画像レベルのＩＬＰサポートを有する、マルチレイヤ（例えば、２レイヤ）スケーラブル符号化システムであることができる。デコーダ１３０６は、有線接続または無線接続であることができる、接続１３１０を介して、ネットワーク１３０４と通信することができる。デコーダ１３０６は、図２のブロックベースのビデオデコーダに類似することができる。デコーダ１３０６は、シングルレイヤコーデック（例えば、図２）、またはマルチレイヤコーデックを含むことができる。例えば、デコーダ１３０６は、画像レベルのＩＬＰサポートを有する、マルチレイヤ（例えば、２レイヤ）スケーラブルデコーディングシステムであることができる。
【０１１８】
エンコーダ１３０２および／またはデコーダ１３０６は、デジタルテレビ、無線放送システム、ネットワーク要素／端末、（例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）サーバなど）コンテンツもしくはウェブサーバなどのサーバ、パーソナルデジタルアシスタント（ＰＤＡ）、ラップトップもしくはデスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタル録画デバイス、ビデオゲームデバイス、ビデオゲームコンソール、セルラもしくは衛星無線電話、および／またはデジタルメディアプレーヤなどの、しかし、それらに限定されない、多種多様な有線通信デバイスおよび／または無線送受信ユニット（ＷＴＲＵ）内に組み込まれることができる。
【０１１９】
通信ネットワーク１３０４は、適切なタイプの通信ネットワークであることができる。例えば、通信ネットワーク１３０４は、音声、データ、ビデオ、メッセージング、放送などのコンテンツを複数の無線ユーザに提供する、多元接続システムであることができる。通信ネットワーク１３０４は、複数の無線ユーザが、無線帯域幅を含むシステムリソースの共用を通して、そのようなコンテンツにアクセスすることを可能にすることができる。例えば、通信ネットワーク１３０４は、符号分割多元接続（ＣＤＭＡ）、時分割多元接続（ＴＤＭＡ）、周波数分割多元接続（ＦＤＭＡ）、直交ＦＤＭＡ（ＯＦＤＭＡ）、および／またはシングルキャリアＦＤＭＡ（ＳＣ−ＦＤＭＡ）など、１つまたは複数のチャネルアクセス方法を利用することができる。通信ネットワーク１３０４は、複数の接続された通信ネットワークを含むことができる。通信ネットワーク１３０４は、インターネット、ならびに／またはセルラネットワーク、ＷｉＦｉホットスポット、および／もしくはインターネットサービスプロバイダ（ＩＳＰ）ネットワークなどの、１つもしくは複数のプライベート商用ネットワークを含むことができる。
【０１２０】
図１８は、本明細書において説明されたエンコーダまたはデコーダが実装されることができる、例示的なＷＴＲＵのシステム図である。示されるように、例示的なＷＴＲＵ１２０２は、プロセッサ１２１８、送受信機１２２０、送信／受信要素１２２２、スピーカ／マイクロフォン１２２４、キーパッドもしくはキーボード１２２６、ディスプレイ／タッチパッド１２２８、非リムーバブルメモリ１２３０、リムーバブルメモリ１２３２、電源１２３４、全地球測位システム（ＧＰＳ）チップセット１２３６、および／または他の周辺機器１２３８を含むことができる。ＷＴＲＵ１２０２は、実施形態との整合性を保ちながら、上記の要素の任意のサブコンビネーションを含むことができることが理解されよう。さらに、エンコーダ（例えば、エンコーダ１００）および／またはデコーダ（例えば、デコーダ２００）が組み込まれる端末は、図１８のＷＴＲＵ１２０２内に示され、それを参照して本明細書において説明される、要素のいくつかまたはすべてを含むことができる。
【０１２１】
プロセッサ１２１８は、汎用プロセッサ、専用プロセッサ、従来型プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、グラフィックス処理ユニット（ＧＰＵ）、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）回路、他の任意のタイプの集積回路（ＩＣ）、および状態機械などであることができる。プロセッサ１２１８は、信号符号化、データ処理、電力制御、入力／出力処理、ならびに／またはＷＴＲＵ１２２０が有線および／もしくは無線環境において動作することを可能にする他の任意の機能性を実行することができる。プロセッサ１２１８は、送受信機１２２０に結合されることができ、送受信機１２２０は、送信／受信要素１２２２に結合されることができる。図１８は、プロセッサ１２１８と送受信機１２２０を別個の構成要素として示しているが、プロセッサ１２１８と送受信機１２２０は、電子パッケージおよび／またはチップ内に一緒に統合されることができることが理解されよう。
【０１２２】
送信／受信要素１２２２は、エアインターフェース１２１５上において、別の基地局に信号を送信し、および／または別の基地局から信号を受信するように構成されることができる。例えば、１つまたは複数の実施形態においては、送信／受信要素１２２２は、ＲＦ信号を送信および／または受信するように構成されたアンテナであることができる。１つまたは複数の実施形態においては、送信／受信要素１２２２は、例えば、ＩＲ、ＵＶ、または可視光信号を送信および／または受信するように構成された放射器／検出器であることができる。１つまたは複数の実施形態においては、送信／受信要素１２２２は、ＲＦ信号および光信号の両方を送信および／または受信するように構成されることができる。送信／受信要素１２２２は、無線信号の任意の組み合わせを送信および／または受信するように構成されることができることが理解されよう。
【０１２３】
加えて、図１８においては、送信／受信要素１２２２は単一の要素として示されているが、ＷＴＲＵ１２０２は、任意の数の送信／受信要素１２２２を含むことができる。より具体的には、ＷＴＲＵ１２０２は、ＭＩＭＯ技術を利用することができる。したがって、一実施形態においては、ＷＴＲＵ１２０２は、エアインターフェース１２１５上において無線信号を送信および受信するための２つ以上の送信／受信要素１２２２（例えば、複数のアンテナ）を含むことができる。
【０１２４】
送受信機１２２０は、送信／受信要素１２２２によって送信されることになる信号を変調し、および／または送信／受信要素１２２２によって受信された信号を復調するように構成されることができる。上で言及されたように、ＷＴＲＵ１２０２は、マルチモード機能を有することができる。したがって、送受信機１２２０は、ＷＴＲＵ１２０２が、例えば、ＵＴＲＡおよびＩＥＥＥ８０２．１１など、複数のＲＡＴを介して通信することを可能にするための、複数の送受信機を含むことができる。
【０１２５】
ＷＴＲＵ１２０２のプロセッサ１２１８は、スピーカ／マイクロフォン１２２４、キーパッド１２２６、および／またはディスプレイ／タッチパッド１２２８（例えば、液晶表示（ＬＣＤ）ディスプレイユニットもしくは有機発光ダイオード（ＯＬＥＤ）ディスプレイユニット）に結合されることができ、それらからユーザ入力データを受信することができる。プロセッサ１２１８は、スピーカ／マイクロフォン１２２４、キーパッド１２２６、および／またはディスプレイ／タッチパッド１２２８にユーザデータを出力することもできる。加えて、プロセッサ１２１８は、非リムーバブルメモリ１２３０および／またはリムーバブルメモリ１２３２など、任意のタイプの適切なメモリから情報を入手することができ、それらにデータを記憶することができる。非リムーバブルメモリ１２３０は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、ハードディスク、または他の任意のタイプのメモリ記憶デバイスを含むことができる。リムーバブルメモリ１２３２は、加入者識別モジュール（ＳＩＭ）カード、メモリスティック、およびセキュアデジタル（ＳＤ）メモリカードなどを含むことができる。１つまたは複数の実施形態においては、プロセッサ１２１８は、サーバまたはホームコンピュータ（図示されず）上などの、ＷＴＲＵ１２０２上に物理的に配置されていないメモリから情報を入手することができ、それらにデータを記憶することができる。
【０１２６】
プロセッサ１２１８は、電源１２３４から電力を受信することができ、ＷＴＲＵ１２０２内の他の構成要素への電力の分配および／または制御を行うように構成されることができる。電源１２３４は、ＷＴＲＵ１２０２に給電するための任意の適切なデバイスであることができる。例えば、電源１２３４は、１つまたは複数の乾電池（例えば、ニッケル−カドミウム（ＮｉＣｄ）、ニッケル−亜鉛（ＮｉＺｎ）、ニッケル水素（ＮｉＭＨ）、リチウムイオン（Ｌｉ−ｉｏｎ）など）、太陽電池、および燃料電池などを含むことができる。
【０１２７】
プロセッサ１２１８は、ＧＰＳチップセット１２３６に結合されることができ、ＧＰＳチップセット１２３６は、ＷＴＲＵ１２０２の現在ロケーションに関するロケーション情報（例えば、経度および緯度）を提供するように構成されることができる。ＧＰＳチップセット１２３６からの情報に加えて、またはその代わりに、ＷＴＲＵ１２０２は、端末（例えば、基地局）からエアインターフェース１２１５上においてロケーション情報を受信することができ、および／または２つ以上の近くの基地局から受信されている信号のタイミングに基づいて、自らのロケーションを決定することができる。ＷＴＲＵ１２０２は、実施形態との整合性を保ちながら、任意の適切なロケーション決定方法を用いて、ロケーション情報を獲得することができることが理解されよう。
【０１２８】
プロセッサ１２１８は、他の周辺機器１２３８にさらに結合されることができ、他の周辺機器１２３８は、追加的な特徴、機能性、および／または有線もしくは無線接続性を提供する、１つまたは複数のソフトウェアモジュールおよび／またはハードウェアモジュールを含むことができる。例えば、周辺機器１２３８は、加速度計、向きセンサ、動きセンサ、近接センサ、ｅコンパス、衛星送受信機、（写真および／またはビデオ用の）デジタルカメラおよび／またはビデオレコーダ、ユニバーサルシリアルバス（ＵＳＢ）ポート、バイブレーションデバイス、テレビ送受信機、ハンズフリーヘッドセット、Ｂｌｕｅｔｏｏｔｈ（登録商標）モジュール、周波数変調（ＦＭ）ラジオユニット、ならびにデジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュールなどのソフトウェアモジュール、ならびにインターネットブラウザなどを含むことができる。
【０１２９】
例として、ＷＴＲＵ１２０２は、無線信号を送信および／または受信するように構成されることができ、ユーザ機器（ＵＥ）、移動局、固定もしくは移動加入者ユニット、ページャ、セルラ電話、パーソナルデジタルアシスタント（ＰＤＡ）、スマートフォン、ラップトップ、ネットブック、タブレットコンピュータ、パーソナルコンピュータ、無線センサ、家電製品、または圧縮されたビデオ通信を受信および処理することが可能な他の任意の端末を含むことができる。
【０１３０】
ＷＴＲＵ１２０２および／または通信ネットワーク（例えば、通信ネットワーク１３０４）は、広帯域ＣＤＭＡ（ＷＣＤＭＡ（登録商標））を使用してエアインターフェース１２１５を確立することができる、ユニバーサル移動体通信システム（ＵＭＴＳ）地上無線アクセス（ＵＴＲＡ）などの無線技術を実装することができる。ＷＣＤＭＡは、高速パケットアクセス（ＨＳＰＡ）および／またはＥｖｏｌｖｅｄ  ＨＳＰＡ（ＨＳＰＡ＋）などの通信プロトコルを含むことができる。ＨＳＰＡは、高速ダウンリンクパケットアクセス（ＨＳＤＰＡ）および／または高速アップリンクパケットアクセス（ＨＳＵＰＡ）を含むことができる。ＷＴＲＵ１２０２および／または通信ネットワーク（例えば、通信ネットワーク１３０４）は、ロングタームエボリューション（ＬＴＥ）および／またはＬＴＥアドバンスト（ＬＴＥ−Ａ）を使用してエアインターフェース１２１５を確立することができる、Ｅｖｏｌｖｅｄ  ＵＭＴＳ地上無線アクセス（Ｅ−ＵＴＲＡ）などの無線技術を実装することができる。
【０１３１】
ＷＴＲＵ１２０２および／または通信ネットワーク（例えば、通信ネットワーク１３０４）は、ＩＥＥＥ８０２．１６（例えば、マイクロ波アクセス用の世界的相互運用性（Worldwide Interoperability for Microwave Access）（ＷｉＭＡＸ））、ＣＤＭＡ２０００、ＣＤＭＡ２０００  １Ｘ、ＣＤＭＡ２０００  ＥＶ−ＤＯ、暫定標準２０００（ＩＳ−２０００）、暫定標準９５（ＩＳ−９５）、暫定標準８５６（ＩＳ−８５６）、移動体通信用グローバルシステム（ＧＳＭ（登録商標））、ＧＳＭエボリューション用の高速データレート（Enhanced Data rates for GSM Evolution）（ＥＤＧＥ）、およびＧＳＭ  ＥＤＧＥ（ＧＥＲＡＮ）などの無線技術を実装することができる。ＷＴＲＵ１２２０および／または通信ネットワーク（例えば、通信ネットワーク８０４）は、ＩＥＥＥ８０２．１１またはＩＥＥＥ８０２．１５などの無線技術を実装することができる。
【０１３２】
説明された実施形態の１つまたは複数における様々なハードウェア要素は、「モジュール」と呼ばれ、それぞれのモジュールに関連する、本明細書において説明された様々な機能を実行（すなわち、実行、実行など）することに留意されたい。本明細書において使用される場合、モジュールは、与えられた実装のために適切であると当業者によって見なされたハードウェア（例えば、１つまたは複数のプロセッサ、１つまたは複数のマイクロプロセッサ、１つまたは複数のマイクロコントローラ、１つまたは複数のマイクロチップ、１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）、１つまたは複数のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、１つまたは複数のメモリデバイス）を含む。各説明されたモジュールは、それぞれのモジュールによって実行されるものとして説明された１つまたは複数の機能を実行するための、実行可能な命令も含むことができ、それらの命令は、ハードウェア（すなわち、配線接続）命令、ファームウェア命令、および／もしくはソフトウェア命令などの形態を取ること、またはそれらを含むことができ、一般に、ＲＡＭ、ＲＯＭなどと呼ばれる、１つまたは複数の任意の適切な非一時的コンピュータ可読媒体内に記憶されることができることが注目される。
【０１３３】
上では特徴および要素が特定の組み合わせで説明されたが、各特徴または要素は、単独で使用されることができ、または他の特徴および要素との任意の組み合わせで使用されることができることを当業者は理解されよう。加えて、本明細書において説明された方法は、コンピュータまたはプロセッサによって実行するための、コンピュータ可読媒体内に組み込まれた、コンピュータプログラム、ソフトウェア、またはファームウェアで実装されることができる。コンピュータ可読媒体の例は、（有線または無線接続上で送信される）電子信号、およびコンピュータ可読記憶媒体を含む。コンピュータ可読記憶媒体の例は、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスクおよびリムーバブルディスクなどの磁気媒体、光磁気媒体、ならびにＣＤ−ＲＯＭディスクおよびデジタル多用途ディスク（ＤＶＤ）などの光媒体を含むが、それらに限定されない。ＷＴＲＵ、ＵＥ、端末、基地局、ＲＮＣ、または任意のホストコンピュータにおいて使用するための無線周波数送受信機を実装するために、ソフトウェアと連携するプロセッサが、使用されることができる。
【図１】
2019519148.tif 000018
【図２】
2019519148.tif 000019
【図３】
2019519148.tif 000020
【図４】
2019519148.tif 000021
【図５】
2019519148.tif 000022
【図６】
2019519148.tif 000023
【図７】
2019519148.tif 000024
【図８】
2019519148.tif 000025
【図９】
2019519148.tif 000026
【図１０】
2019519148.tif 000027
【図１１Ａ】
2019519148.tif 000028
【図１１Ｂ】
2019519148.tif 000029
【図１２Ａ】
2019519148.tif 000030
【図１２Ｂ】
2019519148.tif 000031
【図１３】
2019519148.tif 000032
【図１４】
2019519148.tif 000033
【図１５】
2019519148.tif 000034
【図１６】
2019519148.tif 000035
【図１７】
2019519148.tif 000036
【図１８】
2019519148.tif 000037
【手続補正書】
【提出日】平成31年1月10日(2019.1.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
現在画像、第１の基準画像および第２の基準画像を含んでいる複数の画像を含んでいるビデオを符号化する方法であって、各画像は複数のブロックを含み、前記方法は前記現在画像における少なくとも現在ブロックに対して、
重みのセットの中から少なくとも第１の重みを識別しているブロックレベルインデックスを符号化するステップであって、前記第１の重みは０、０．５または１に等しくない値を有する、ステップと、
前記第１の基準画像における第１の基準ブロックと前記第２の基準画像における第２の基準ブロックとの加重和として前記現在ブロックを予測するステップであって、前記第１の基準ブロックは前記第１の重みによって重み付けされ、および前記第２の基準ブロックは第２の重みによって重み付けされる、ステップと
を備えたことを特徴とする方法。
【請求項２】
前記第１の基準ブロックおよび前記第２の基準ブロックは、前記現在画像のためのビットストリームにおいてシグナリングされる少なくとも１つのスケーリング係数によってさらにスケーリングされることを特徴とする請求項１に記載の方法。
【請求項３】
前記第２の重みは前記第１の重みを１から減算することによって識別されることを特徴とする請求項１に記載の方法。
【請求項４】
重みの前記セットは少なくとも４つの重みを含むことを特徴とする請求項１に記載の方法。
【請求項５】
重みの前記セットは重みの予め定められたセットであることを特徴とする請求項１に記載の方法。
【請求項６】
ビットストリームにおいて重みの前記セットを符号化するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項７】
重みの前記セットを符号化するステップは２分木における対応するリーフノードに重みを割り当てるステップを含み、および前記第１の重みに対応している前記リーフノードを識別する、前記ビットストリームにおける符号語を使用して、前記第１の重みの選択は実行されることを特徴とする請求項６に記載の方法。
【請求項８】
前記第２の重みは前記選択された第１の重みを１から減算することによって識別されることを特徴とする請求項７に記載の方法。
【請求項９】
前記２分木は片予測ブランチおよび双予測ブランチを含み、
前記片予測ブランチは１および０の重みを含み、
前記双予測ブランチは１から０の間の少なくとも１つの重みを含む
ことを特徴とする請求項７に記載の方法。
【請求項１０】
前記ビットストリームにおいて重みを符号化する前記ステップは、重みの数を識別している情報を前記ビットストリームにおいてシグナリングすることをさらに含むことを特徴とする請求項６に記載の方法。
【請求項１１】
前記ビットストリームにおいて重みを符号化する前記ステップは、第１のレベルにおいて重みの少なくとも第１のセットを、および、前記第１のレベルより低い第２のレベルにおいて重みの少なくとも第２のセットを階層的に符号化することを含み、ならびに前記第２のレベルにおいてシグナリングされた重みは、前記第１のレベルにおいてシグナリングされた前記重みの少なくともいくつかを置換することを特徴とする請求項６に記載の方法。
【請求項１２】
前記第１のレベルはシーケンスレベルであり、ならびに前記第２のレベルは画像レベルおよびスライスレベルの１つであることを特徴とする請求項１１に記載の方法。
【請求項１３】
対応する重みに符号語を割り当てるステップをさらに備え、前記ブロックレベルインデックスの符号化は前記対応する符号語を使用して実行されることを特徴とする請求項１に記載の方法。
【請求項１４】
重みへの符号語の前記割り当ては、予め定められた割り当てであることを特徴とする請求項１３に記載の方法。
【請求項１５】
重みへの符号語の前記割り当ては、以前に符号化されたブロックにおいて使用された重みに基づいて適合されることを特徴とする請求項１３に記載の方法。
【請求項１６】
重みの前記セットにおいて少なくとも１つの実質的に冗長な重みを識別するステップをさらに備え、および前記実質的に冗長な重みは前記ビデオの少なくともいくつかのブロックに対する符号語に割り当てられないことを特徴とする請求項１３に記載の方法。
【請求項１７】
前記予測された現在ブロックを入力ブロックから減算して残差を生成するステップと、
ビットストリームに前記残差を符号化するステップと
をさらに備え、エンコーダによって実行されることを特徴とする請求項１に記載の方法。
【請求項１８】
前記現在ブロックに対する残差をビットストリームからデコードするステップと、
前記残差を前記予測された現在ブロックに追加して、再構成されたブロックを生成するステップと
をさらに備え、デコーダによって実行されることを特徴とする請求項１に記載の方法。
【請求項１９】
現在画像、第１の基準画像および第２の基準画像を含んでいる複数の画像を含んでいるビデオを符号化する装置であって、各画像は複数のブロックを含み、前記装置はプロセッサと、前記プロセッサ上で実行されたときに、前記現在画像における少なくとも現在ブロックに対して、
重みのセットの中から少なくとも第１の重みを識別しているブロックレベルインデックスを符号化するステップであって、前記第１の重みは０、０．５または１に等しくない値を有する、ステップと、
前記第１の基準画像における第１の基準ブロックと前記第２の基準画像における第２の基準ブロックとの加重和として前記現在ブロックを予測するステップであって、前記第１の基準ブロックは前記第１の重みによって重み付けされ、および前記第２の基準ブロックは第２の重みによって重み付けされる、ステップと
を含んでいる方法を実行するように動作する命令を記憶している非一時的コンピュータ可読記憶媒体とを備えたことを特徴とする装置。
【請求項２０】
前記装置はデコーダであることを特徴とする請求項１９に記載の装置。
【国際調査報告】
2019519148.tif 000038
2019519148.tif 000039
2019519148.tif 000040
2019519148.tif 000041
2019519148.tif 000042