(57)【特許請求の範囲】
【請求項１】
ビデオデータを符号化する方法であって、
現在のビデオフレームの現在の部分に関連する、前記現在の部分に隣接する前記現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定することと、
前記現在のビデオフレームの前記現在の部分に関連する、前記現在のビデオフレームの前記現在の部分と時間的に同位置に配置された参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを決定することと、
プルーニングプロセス中に、前記時間的候補動きベクトルを考慮することなく、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングすることと、
動きベクトル予測プロセスにおいて被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することと、
前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルを有するリスト内における前記被選択候補動きベクトルの位置を識別するインデックスを決定することと、
ビットストリームにおいて前記インデックスを信号伝達することと
を備える方法。
【請求項２】
前記空間的候補動きベクトルをプルーニングすることは、前記空間的候補動きベクトルのうちの前記重複するものを除去するために前記空間的候補動きベクトルのみをプルーニングすることを備える、請求項１に記載の方法。
【請求項３】
前記現在の部分は現在の予測単位（ＰＵ）を備え、
前記参照ビデオフレームの前記部分は、前記現在のビデオフレームの前記現在のＰＵと時間的に同位置に配置された前記参照ビデオフレームのＰＵを備える、請求項１に記載の方法。
【請求項４】
少なくとも前記被選択候補動きベクトルを定義する予測データを含む予測単位（ＰＵ）を生成することを更に備え、
前記被選択候補動きベクトルを信号伝達することは、前記ビットストリームにおいて前記ＰＵを信号伝達することを備える、請求項１に記載に方法。
【請求項５】
前記インデックスを信号伝達することは、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルを有する前記リスト内における前記被選択候補動きベクトルの前記位置を識別する動きベクトル予測子（ＭＶＰ）インデックスを信号伝達することを備える、請求項１に記載の方法。
【請求項６】
単項コード又は短縮単項コードのうちの１つを使用して前記インデックスを符号化して、符号化インデックスを生成すること
を更に備え、
前記インデックスを信号伝達することは、前記ビットストリームにおいて前記符号化インデックスを信号伝達することを備える、請求項１に記載に方法。
【請求項７】
前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することは、
前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルの各々に関してレート歪み分析を実行することと、
前記レート歪み分析に基づいて、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することと
を備える、請求項１に記載の方法。
【請求項８】
決定された前記空間的候補動きベクトルの各々が空間的に予測されたか、それとも時間的に予測されたかを決定することを更に備え、
前記空間的候補動きベクトルのうちの前記重複するものを除去するために前記空間的候補動きベクトルをプルーニングすることは、決定された前記空間的候補動きベクトルのうちで、時間的に予測されると決定されたものは一切プルーニングせず、決定された前記空間的候補動きベクトルのうちで、空間的に予測されると決定されたもののみをプルーニングすることを備え、
前記被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することは、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、時間的に予測されると決定された前記空間的候補動きベクトルのうちの１つ、又はプルーニング後に残存する空間的に予測されると決定された前記空間的候補動きベクトルのうちの１つを選択することを備える、請求項１に記載の方法。
【請求項９】
決定された前記空間的候補動きベクトルの各々が空間的に予測されたか、それとも時間的に予測されたかを決定することと、
前記空間的候補動きベクトルのうちで、時間的に予測されると決定されたものをデフォルト候補動きベクトルに差し替えることとを更に備え、前記デフォルト候補動きベクトルはデフォルト動きベクトル情報を含み、前記デフォルト動きベクトル情報は、動きベクトル振幅と、前記参照ビデオフレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照ビデオフレームを識別する参照インデックスとを備え、
前記空間的候補動きベクトルのうちの前記重複するものを除去するために前記空間的候補動きベクトルをプルーニングすることは、前記空間的候補動きベクトルのうちの前記重複するものを除去するために、前記デフォルト候補動きベクトルのうちの１つ以上を含む前記空間的候補動きベクトルをプルーニングすることを備える、請求項１に記載の方法。
【請求項１０】
時間的に予測されず、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルのいずれとも異なる１つ以上の追加の空間的候補動きベクトルを決定することを更に備え、
前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することは、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、プルーニング後に残存する前記空間的候補動きベクトルのうちの１つ、又は前記追加の空間的候補動きベクトルのうちの１つを選択することを備える、請求項１に記載の方法。
【請求項１１】
ビデオデータを符号化するための装置であって、
現在のビデオフレームの現在の部分に関連する、前記現在の部分に隣接する前記現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定するための手段と、
前記現在のビデオフレームの前記現在の部分に関連する、前記現在のビデオフレームの前記現在の部分と時間的に同位置に配置された参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを決定するための手段と、
プルーニングプロセス中に、前記時間的候補動きベクトルを考慮することなく、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングするための手段と、
動きベクトル予測プロセスにおいて被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択するための手段と、
前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルを有するリスト内における前記被選択候補動きベクトルの位置を識別するインデックスを決定するための手段と、
ビットストリームにおいて前記インデックスを信号伝達するための手段と
を備える装置。
【請求項１２】
前記空間的候補動きベクトルをプルーニングするための前記手段は、前記空間的候補動きベクトルのうちの前記重複するものを除去するために前記空間的候補動きベクトルのみをプルーニングするための手段を備える、請求項１１に記載の装置。
【請求項１３】
決定された前記空間的候補動きベクトルの各々が空間的に予測されたか、それとも時間的に予測されたかを決定するための手段を更に備え、
前記空間的候補動きベクトルのうちの前記重複するものを除去するために前記空間的候補動きベクトルをプルーニングするための前記手段は、決定された前記空間的候補動きベクトルのうちで、時間的に予測されると決定されたものは一切プルーニングせず、決定された前記空間的候補動きベクトルのうちで、空間的に予測されると決定されたもののみをプルーニングするための手段を備え、
前記被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択するための前記手段は、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、時間的に予測されると決定された前記空間的候補動きベクトルのうちの１つ、又はプルーニング後に残存する空間的に予測されると決定された前記空間的候補動きベクトルのうちの１つを選択するための手段を備える、請求項１１に記載の装置。
【請求項１４】
決定された前記空間的候補動きベクトルの各々が空間的に予測されたか、それとも時間的に予測されたかを決定するための手段と、
前記空間的候補動きベクトルのうちで、時間的に予測されると決定されたものをデフォルト候補動きベクトルに差し替えるための手段とを更に備え、前記デフォルト候補動きベクトルはデフォルト動きベクトル情報を含み、前記デフォルト動きベクトル情報は、動きベクトル振幅と、前記参照ビデオフレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照ビデオフレームを識別する参照インデックスとを備え、
前記空間的候補動きベクトルのうちの前記重複するものを除去するために前記空間的候補動きベクトルをプルーニングするための前記手段は、前記空間的候補動きベクトルのうちの前記重複するものを除去するために、前記デフォルト候補動きベクトルのうちの１つ以上を含む前記空間的候補動きベクトルをプルーニングするための手段を備える、請求項１１に記載の装置。
【請求項１５】
時間的に予測されず、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルのいずれとも異なる１つ以上の追加の空間的候補動きベクトルを決定するための手段を更に備え、
前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択するための前記手段は、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、プルーニング後に残存する前記空間的候補動きベクトルのうちの１つ、又は前記追加の空間的候補動きベクトルのうちの１つを選択するための手段を備える、請求項１１に記載の装置。
【請求項１６】
ビデオデータを符号化するための装置であって、
現在のビデオフレームの現在の部分に関連する、前記現在の部分に隣接する前記現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定し、前記現在のビデオフレームの前記現在の部分に関連する、前記現在のビデオフレームの前記現在の部分と時間的に同位置に配置された参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを決定し、プルーニングプロセス中に、前記時間的候補動きベクトルを考慮することなく、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングする動き補償ユニットと、
動きベクトル予測プロセスにおいて被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択し、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルを有するリスト内における前記被選択候補動きベクトルの位置を識別するインデックスを決定するモード選択ユニットと、
ビットストリームにおいて前記インデックスを信号伝達するエントロピーコード化ユニットと
を備える装置。
【請求項１７】
前記動き補償ユニットは、前記空間的候補動きベクトルのうちの前記重複するものを除去するために前記空間的候補動きベクトルのみをプルーニングする、請求項１６に記載の装置。
【請求項１８】
前記現在の部分は現在の予測単位（ＰＵ）を備え、
前記参照ビデオフレームの前記部分は、前記現在のビデオフレームの前記現在のＰＵに時間的に同位置に配置された前記参照ビデオフレームのＰＵを備える、請求項１６に記載の装置。
【請求項１９】
前記動き補償ユニットは、少なくとも前記被選択候補動きベクトルを定義する予測データを含む予測単位（ＰＵ）を更に生成し、
前記エントロピーコード化ユニットは、前記ビットストリームにおいて前記ＰＵを信号伝達する、請求項１６に記載の装置。
【請求項２０】
前記エントロピーコード化ユニットは、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルを有する前記リスト内における前記被選択候補動きベクトルの前記位置を識別する動きベクトル予測子（ＭＶＰ）インデックスとして、前記インデックスを信号伝達する、請求項１６に記載の装置。
【請求項２１】
前記エントロピーコード化ユニットは、単項コード又は短縮単項コードのうちの１つを使用して前記インデックスを符号化して、符号化インデックスを生成し、前記ビットストリームにおいて前記符号化インデックスを信号伝達する、請求項１６に記載の装置。
【請求項２２】
前記モード選択ユニットは、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルの各々に関してレート歪み分析を実行し、前記レート歪み分析に基づいて、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択する、請求項１６に記載の装置。
【請求項２３】
前記動き補償ユニットは、更に、決定された前記空間的候補動きベクトルの各々が空間的に予測されたか、それとも時間的に予測されたかを決定し、決定された前記空間的候補動きベクトルのうちで、時間的に予測されると決定されたものは一切プルーニングせず、決定された前記空間的候補動きベクトルのうちで、空間的に予測されると決定されたもののみをプルーニングし、
前記モード選択ユニットは、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、時間的に予測されると決定された前記空間的候補動きベクトルのうちの１つ、又はプルーニング後に残存する空間的に予測されると決定された前記空間的候補動きベクトルのうちの１つを選択する、請求項１６に記載の装置。
【請求項２４】
前記動き補償ユニットは、決定された前記空間的候補動きベクトルの各々が空間的に予測されたか、それとも時間的に予測されたかを決定し、前記空間的候補動きベクトルのうちで、時間的に予測されると決定されたものをデフォルト候補動きベクトルに差し替え、前記デフォルト候補動きベクトルはデフォルト動きベクトル情報を含み、前記デフォルト動きベクトル情報は、動きベクトル振幅と、前記参照ビデオフレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照ビデオフレームを識別する参照インデックスとを備え、前記動き補償ユニットは、前記空間的候補動きベクトルのうちの前記重複するものを除去するために、前記デフォルト候補動きベクトルのうちの１つ以上を含む前記空間的候補動きベクトルをプルーニングする、請求項１６に記載の装置。
【請求項２５】
前記動き補償ユニットは、時間的に予測されず、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルのいずれとも異なる１つ以上の追加の空間的候補動きベクトルを更に決定し、
前記モード選択ユニットは、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、プルーニング後に残存する前記空間的候補動きベクトルのうちの１つ、又は前記追加の空間的候補動きベクトルのうちの１つを選択する、請求項１６に記載の装置。
【請求項２６】
実行されたとき、１つ以上のプロセッサに、
現在のビデオフレームの現在の部分に関連する、前記現在の部分に隣接する前記現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定することと、
前記現在のビデオフレームの前記現在の部分に関連する、前記現在のビデオフレームの前記現在の部分と時間的に同位置に配置された参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを決定することと、
プルーニングプロセス中に、前記時間的候補動きベクトルを考慮することなく、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングすることと、
動きベクトル予測プロセスにおいて被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することと、
前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルを有するリスト内における前記被選択候補動きベクトルの位置を識別するインデックスを決定することと、
ビットストリームにおいて前記インデックスを信号伝達することと
を行わせる命令を備えるコンピュータ可読記憶媒体。
【請求項２７】
ビデオデータを復号する方法であって、
現在のビデオフレームの現在の部分に関連する、前記現在のビデオフレーム内の前記現在の部分に隣接する空間的近傍部分に関して決定された近傍動きベクトルを備える空間的候補動きベクトルを決定することと、
プルーニングプロセス中に、前記現在のビデオフレームの前記現在の部分に関して決定された、前記現在のビデオフレームの前記現在の部分と時間的に同位置に配置された参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを考慮することなく、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングすることと、
ビットストリームにおいて信号伝達された動きベクトル予測子（ＭＶＰ）インデックスに基づいて、動きベクトル予測プロセスにおいて被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することと、
前記被選択候補動きベクトルに基づいて動き補償を実行することと
を備える方法。
【請求項２８】
前記空間的候補動きベクトルをプルーニングすることは、前記空間的候補動きベクトルのうちの前記重複するものを除去するために前記空間的候補動きベクトルのみをプルーニングすることを備える、請求項２７に記載の方法。
【請求項２９】
前記時間的候補動きベクトルと前記空間的候補動きベクトルのうちでプルーニング後に残存するものとを合わせた候補動きベクトルの数を決定することと、
候補動きベクトルの前記決定された数に基づいて、前記ビットストリームから、単項コード化ＭＶＰインデックス及び短縮単項コード化ＭＶＰインデックスのうちの１つを備えるコード化ＭＶＰインデックスを構文解析することと、
前記コード化ＭＶＰインデックスを復号して前記ＭＶＰインデックスを決定することと
を更に備える、請求項２７に記載の方法。
【請求項３０】
前記現在のフレームの前記現在の部分に関する前記時間的候補動きベクトルは利用不可能であると決定することと、
前記時間的候補動きベクトルは利用不可能であると決定したことに応答して、前記時間的候補動きベクトルに関するデフォルト動きベクトル情報を決定することとを更に備え、前記デフォルト動きベクトル情報は、動きベクトル振幅と、前記参照ビデオフレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照ビデオフレームを識別する参照インデックスとを備える、請求項２７に記載の方法。
【請求項３１】
決定された前記デフォルト動きベクトル情報に基づいて、コンテキスト適応型可逆統計的復号を実行するためのコンテキストを決定することを更に備え、前記コンテキストは、前記ビデオデータを復号するために使用するコード化テーブルを識別する、請求項３０に記載の方法。
【請求項３２】
前記デフォルト動きベクトル情報を決定することは、
前記参照ビデオフレームがイントラコード化されたかどうかを決定することと、
前記参照ビデオフレームがイントラコード化されていると決定されたときに、前記参照ビデオフレームの前記部分に関して決定された空間的動きベクトルに基づいて、前記デフォルト動きベクトル情報を導出することと
を備える、請求項３０に記載の方法。
【請求項３３】
前記空間的候補動きベクトルのうちの１つが利用不可能であると決定することと、
前記空間的候補動きベクトルのうちの前記１つが利用不可能であると決定したことに応答して、動きベクトル予測モードに基づいて、前記空間的候補動きベクトルのうちの前記１つに関するデフォルト動きベクトル情報を含むデフォルト候補動きベクトルを決定することと
を更に備え、
前記空間的候補動きベクトルのうちの前記重複するものを除去するために前記空間的候補動きベクトルをプルーニングすることは、前記空間的候補動きベクトルのうちの前記重複するものを除去するために、前記デフォルト候補動きベクトルのうちの１つ以上を含む前記空間的候補動きベクトルをプルーニングすることを備え、
前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、プルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することは、前記ビットストリームにおいて信号伝達された前記動きベクトル予測子（ＭＶＰ）インデックスに基づいて、前記時間的候補動きベクトル、又は利用不可能であると決定された前記空間的候補動きベクトルのうちの１つ、又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することを備える、請求項２７に記載の方法。
【請求項３４】
前記デフォルト動きベクトル情報を決定することは、前記動きベクトル予測モードが適応型動きベクトル予測（ＡＭＶＰ）モードであるときに、前記参照ビデオフレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向、又は前記参照ビデオフレームを識別する参照インデックスを決定することなしに、動きベクトル振幅を決定することを備える、請求項３３に記載の方法。
【請求項３５】
前記デフォルト動きベクトル情報を決定することは、前記動きベクトル予測モードがマージモードであるときに、動きベクトル振幅と、前記参照ビデオフレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照ビデオフレームを識別する参照インデックスとを決定することを備える、請求項３３に記載の方法。
【請求項３６】
決定された前記デフォルト動きベクトル情報に基づいて、コンテキスト適応型可逆統計的復号を実行するためのコンテキストを決定することを更に備え、前記コンテキストは、前記ビデオデータを復号するために使用するコード化テーブルを識別する、請求項３３に記載の方法。
【請求項３７】
前記空間的候補動きベクトルのうちの１つが利用不可能であると決定することと、
前記空間的候補動きベクトルのうちの前記１つが利用不可能であると決定したことに応答して、利用不可能であると決定された前記空間的候補動きベクトルのうちの前記１つを前記プルーニングプロセスから除去することと
を更に備え、
前記空間的候補動きベクトルをプルーニングすることは、前記現在のビデオフレームの前記現在の部分に関して決定された時間的候補動きベクトル、又は利用不可能であると決定された前記空間的候補動きベクトルのうちの前記１つを除去することなく、前記空間的候補動きベクトルのうちの前記重複するものを除去するために、前記空間的候補動きベクトルのうちで利用可能であると決定されたもののみをプルーニングすることを備える、請求項２７に記載の方法。
【請求項３８】
時間的に予測されず、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルのいずれとも異なる１つ以上の追加の空間的候補動きベクトルを決定することを更に備え、
前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することは、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、プルーニング後に残存する前記空間的候補動きベクトルのうちの１つ、又は前記追加の空間的候補動きベクトルのうちの１つを選択することを備える、請求項１に記載の方法。
【請求項３９】
ビデオデータを復号するための装置であって、
現在のビデオフレームの現在の部分に関連する、前記現在の部分に隣接する前記現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定するための手段と、
プルーニングプロセス中に、前記現在のビデオフレームの前記現在の部分に関して決定された、前記現在のビデオフレームの前記現在の部分と時間的に同位置に配置された参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを考慮することなく、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングするための手段と、
ビットストリームにおいて信号伝達された動きベクトル予測子（ＭＶＰ）インデックスに基づいて、動きベクトル予測プロセスにおいて被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つのうちの１つを選択するための手段と、
前記被選択候補動きベクトルに基づいて動き補償を実行するための手段と
を備える装置。
【請求項４０】
前記空間的候補動きベクトルをプルーニングするための前記手段は、前記空間的候補動きベクトルのうちの前記重複するものを除去するために前記空間的候補動きベクトルのみをプルーニングするための手段を備える、請求項３９に記載の装置。
【請求項４１】
前記時間的候補動きベクトルと前記空間的候補動きベクトルのうちでプルーニング後に残存するものとを合わせた候補動きベクトルの数を決定するための手段と、
候補動きベクトルの前記決定された数に基づいて、前記ビットストリームから、単項コード化ＭＶＰインデックス及び短縮単項コード化ＭＶＰインデックスのうちの１つを備えるコード化ＭＶＰインデックスを構文解析するための手段と、
前記コード化ＭＶＰインデックスを復号して前記ＭＶＰインデックスを決定するための手段と
を更に備える、請求項３９に記載の装置。
【請求項４２】
前記現在のフレームの前記現在の部分に関する前記時間的候補動きベクトルは利用不可能であると決定するための手段と、
前記時間的候補動きベクトルは利用不可能であると決定したことに応答して、前記時間的候補動きベクトルに関するデフォルト動きベクトル情報を決定するための手段とを更に備え、前記デフォルト動きベクトル情報は、動きベクトル振幅と、前記参照ビデオフレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照ビデオフレームを識別する参照インデックスとを備える、請求項３９に記載の装置。
【請求項４３】
決定された前記デフォルト動きベクトル情報に基づいて、コンテキスト適応型可逆統計的復号を実行するためのコンテキストを決定するための手段を更に備え、前記コンテキストは、前記ビデオデータを復号するために使用するコード化テーブルを識別する、請求項４２に記載の装置。
【請求項４４】
前記デフォルト動きベクトル情報を決定するための前記手段は、
前記参照ビデオフレームがイントラコード化されたかどうかを決定するための手段と、
前記参照ビデオフレームがイントラコード化されていると決定されたときに、前記参照ビデオフレームの前記部分に関して決定された空間的動きベクトルに基づいて、前記デフォルト動きベクトル情報を導出するための手段と
を備える、請求項４２に記載の装置。
【請求項４５】
前記空間的候補動きベクトルのうちの１つが利用不可能であると決定するための手段と、
前記空間的候補動きベクトルのうちの前記１つが利用不可能であると決定したことに応答して、動きベクトル予測モードに基づいて、前記空間的候補動きベクトルのうちの前記１つに関するデフォルト動きベクトル情報を含むデフォルト候補動きベクトルを決定するための手段と
を更に備え、
前記空間的候補動きベクトルのうちの前記重複するものを除去するために前記空間的候補動きベクトルをプルーニングするための前記手段は、前記空間的候補動きベクトルのうちの前記重複するものを除去するために、前記デフォルト候補動きベクトルのうちの１つ以上を含む前記空間的候補動きベクトルをプルーニングするための手段を備え、
前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、プルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択するための前記手段は、前記ビットストリームにおいて信号伝達された前記動きベクトル予測子（ＭＶＰ）インデックスに基づいて、前記時間的候補動きベクトル、又は利用不可能であると決定された前記空間的候補動きベクトルのうちの１つ、又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することを備える、請求項３９に記載の装置。
【請求項４６】
前記デフォルト動きベクトル情報を決定するための前記手段は、前記動きベクトル予測モードが適応型動きベクトル予測（ＡＭＶＰ）モードであるときに、前記参照ビデオフレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向、又は前記参照ビデオフレームを識別する参照インデックスを決定することなしに、動きベクトル振幅を決定するための手段を備える、請求項４５に記載の装置。
【請求項４７】
前記デフォルト動きベクトル情報を決定するための前記手段は、前記動きベクトル予測モードがマージモードであるときに、動きベクトル振幅と、前記参照ビデオフレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照ビデオフレームを識別する参照インデックスとを決定するための手段を備える、請求項４５に記載の装置。
【請求項４８】
決定された前記デフォルト動きベクトル情報に基づいて、コンテキスト適応型可逆統計的復号を実行するためのコンテキストを決定するための手段を更に備え、前記コンテキストは、前記ビデオデータを復号するために使用するコード化テーブルを識別する、請求項４５に記載の装置。
【請求項４９】
前記空間的候補動きベクトルのうちの１つが利用不可能であると決定するための手段と、
前記空間的候補動きベクトルのうちの前記１つが利用不可能であると決定したことに応答して、利用不可能であると決定された前記空間的候補動きベクトルのうちの前記１つを前記プルーニングプロセスから除去するための手段と
を更に備え、
前記空間的候補動きベクトルのみをプルーニングするための前記手段は、前記現在のビデオフレームの前記現在の部分に関して決定された時間的候補動きベクトル、又は利用不可能であると決定された前記空間的候補動きベクトルのうちの前記１つを除去することなく、前記空間的候補動きベクトルのうちの前記重複するものを除去するために、前記空間的候補動きベクトルのうちで利用可能であると決定されたもののみをプルーニングするための手段を備える、請求項３９に記載の装置。
【請求項５０】
時間的に予測されず、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルのいずれとも異なる１つ以上の追加の空間的候補動きベクトルを決定するための手段を更に備え、
前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択するための前記手段は、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、プルーニング後に残存する前記空間的候補動きベクトルのうちの１つ、又は前記追加の空間的候補動きベクトルのうちの１つを選択するための手段を備える、請求項３９に記載の装置。
【請求項５１】
ビデオデータを復号するための装置であって、
現在のビデオフレームの現在の部分に関連する、前記現在の部分に隣接する近傍部分に関して決定された近傍動きベクトルを備える空間的候補動きベクトルを決定し、プルーニングプロセス中に、前記現在のビデオフレームの前記現在の部分に関して決定された、前記現在のビデオフレームの前記現在の部分と時間的に同位置に配置された参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを考慮することなく、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングし、ビットストリームにおいて信号伝達された動きベクトル予測子（ＭＶＰ）インデックスに基づいて、動きベクトル予測プロセスにおいて被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つのうちの１つを選択し、前記被選択候補動きベクトルに基づいて動き補償を実行する動き補償ユニットを備える装置。
【請求項５２】
前記動き補償ユニットは、前記空間的候補動きベクトルのうちの前記重複するものを除去するために前記空間的候補動きベクトルのみをプルーニングする、請求項５１に記載の装置。
【請求項５３】
前記動き補償ユニットは、前記時間的候補動きベクトルと前記空間的候補動きベクトルのうちでプルーニング後に残存するものとを合わせた候補動きベクトルの数を決定し、
前記装置は、候補動きベクトルの前記決定された数に基づいて、前記ビットストリームから、単項コード化ＭＶＰインデックス及び短縮単項コード化ＭＶＰインデックスのうちの１つを備えるコード化ＭＶＰインデックスを構文解析し、前記コード化ＭＶＰインデックスを復号して前記ＭＶＰインデックスを決定するエントロピー復号ユニットを更に備える、請求項５１に記載の装置。
【請求項５４】
前記現在のフレームの前記現在の部分に関する前記時間的候補動きベクトルは利用不可能であると決定することと、
前記時間的候補動きベクトルは利用不可能であると決定したことに応答して、前記時間的候補動きベクトルに関するデフォルト動きベクトル情報を決定することとを更に備え、前記デフォルト動きベクトル情報は、動きベクトル振幅と、前記参照ビデオフレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照ビデオフレームを識別する参照インデックスとを備える、請求項５１に記載の装置。
【請求項５５】
決定された前記デフォルト動きベクトル情報に基づいて、コンテキスト適応型可逆統計的復号を実行するためのコンテキストを決定するエントロピー復号ユニットを更に備え、前記コンテキストは、前記ビデオデータを復号するために使用するコード化テーブルを識別する、請求項５４に記載の装置。
【請求項５６】
前記動き補償ユニットは、更に、前記参照ビデオフレームがイントラコード化されたかどうかを決定し、前記参照ビデオフレームがイントラコード化されていると決定されたときに、前記現在のフレームに前記現在の部分があるように、前記参照ビデオフレームの同じ位置に配置される前記参照ビデオフレームの前記部分に関して決定された空間的動きベクトルに基づいて、前記デフォルト動きベクトル情報を導出する、請求項５４に記載の装置。
【請求項５７】
前記動き補償ユニットは、前記空間的候補動きベクトルのうちの１つが利用不可能であると決定し、前記空間的候補動きベクトルのうちの前記１つが利用不可能であると決定したことに応答して、動きベクトル予測モードに基づいて、前記空間的候補動きベクトルのうちの前記１つに関するデフォルト動きベクトル情報を含むデフォルト候補動きベクトルを決定し、前記空間的候補動きベクトルのうちの前記重複するものを除去するために、前記デフォルト候補動きベクトルのうちの１つ以上を含む前記空間的候補動きベクトルをプルーニングし、ビットストリームにおいて信号伝達された動きベクトル予測子（ＭＶＰ）インデックスに基づいて、前記時間的候補動きベクトルのうちの１つ、利用不可能であると決定された前記空間的候補動きベクトルのうちの１つ、又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択する、請求項５１に記載の装置。
【請求項５８】
前記動き補償ユニットは、前記動きベクトル予測モードが適応型動きベクトル予測（ＡＭＶＰ）モードであるときに、前記参照ビデオフレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向、又は前記参照ビデオフレームを識別する参照インデックスを決定することなしに、動きベクトル振幅を決定する、請求項５７に記載の装置。
【請求項５９】
前記動き補償ユニットは、前記動きベクトル予測モードがマージモードであるときに、動きベクトル振幅と、前記参照ビデオフレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照ビデオフレームを識別する参照インデックスとを決定する、請求項５７に記載の装置。
【請求項６０】
決定された前記デフォルト動きベクトル情報に基づいて、コンテキスト適応型可逆統計的復号を実行するためのコンテキストを決定するエントロピー復号ユニットを更に備え、前記コンテキストは、前記ビデオデータを復号するために使用するコード化テーブルを識別する、請求項５７に記載の装置。
【請求項６１】
前記動き補償ユニットは、前記空間的候補動きベクトルのうちの１つが利用不可能であると決定し、前記空間的候補動きベクトルのうちの前記１つが利用不可能であると決定したことに応答して、利用不可能であると決定された前記空間的候補動きベクトルのうちの前記１つを前記プルーニングプロセスから除去し、前記現在のビデオフレームの前記現在の部分に関して決定された時間的候補動きベクトル、又は利用不可能であると決定された前記空間的候補動きベクトルのうちの前記１つを除去することなく、前記空間的候補動きベクトルのうちの前記重複するものを除去するために、前記空間的候補動きベクトルのうちで利用可能であると決定されたもののみをプルーニングする、請求項５１に記載の装置。
【請求項６２】
前記動き補償ユニットは、更に、時間的に予測されず、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルのいずれとも異なる１つ以上の追加の空間的候補動きベクトルを決定し、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、プルーニング後に残存する前記空間的候補動きベクトルのうちの１つ、又は前記追加の空間的候補動きベクトルのうちの１つを選択する、請求項５１に記載の装置。
【請求項６３】
実行されたとき、１つ以上のプロセッサに、
現在のビデオフレームの現在の部分に関連する、前記現在の部分に隣接する前記現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定することと、
プルーニングプロセス中に、前記現在のビデオフレームの前記現在の部分に関して決定された、前記現在のビデオフレームの前記現在の部分と時間的に同位置に配置された参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを考慮することなく、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングすることと、
ビットストリームにおいて信号伝達された動きベクトル予測子（ＭＶＰ）インデックスに基づいて、動きベクトル予測プロセスにおいて被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つのうちの１つを選択することと、
前記被選択候補動きベクトルに基づいて動き補償を実行することと
を行わせる命令を記憶したコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その各々の全体が参照により本明細書に組み込まれる、２０１１年１月２７日に出願された米国仮出願第６１／４３６，９９７号、２０１１年３月７日に出願された米国仮出願第６１／４４９，９８５号、及び２０１１年１１月１８日に出願された米国仮出願第６１／５６１，６０１号の利益を主張する。
【０００２】
本開示は、ビデオコード化に関し、より詳細には、ビデオコード化の動き補償の態様に関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー電話又は衛星無線電話、ビデオ遠隔会議機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、デジタルビデオ情報をより効率的に送信及び受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）によって定義された規格、及びそのような規格の拡張版に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実施する。ＭＰＥＧとＩＴＵ−Ｔとのコラボレーションである「Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ−Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」（ＪＣＴ−ＶＣ）によって開発されているＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格など、新しいビデオコード化規格が開発されつつある。新生ＨＥＶＣ規格は、Ｈ．２６５と呼ばれることもあるが、そのような名称は公式になされたものでない。
【発明の概要】
【０００４】
概して、本開示では、動きベクトル予測子（ＭＶＰ）を特定するための技法について説明する。ＭＶＰは通常、動き補償が実行される際の効率性を高める方法としてビデオコード化において採用される。ビデオエンコーダは、現在のブロックに一致する参照フレーム内のブロックの探索を実行するのではなく、ＭＶＰのリストから現在のブロックに関する動きベクトルを選択することができる。幾つかの例では、ＭＶＰのリストは、現在のブロックに対する空間的近傍ブロックである４つのブロックからの動きベクトルを含むことができ、参照フレームのコロケートブロックからの動きベクトルは時間的に、現在のフレームの前又は後にある。その場合、ＭＶＰのうちの選択された１つが現在のブロックに使用され、動き補償のプロセスがなくならないにしても減少する。
【０００５】
一例では、ビデオデータを符号化する方法が、現在のビデオフレームの現在の部分に関連する、現在の部分に隣接する現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定することと、空間的候補動きベクトルのうちの少なくとも１つを除去するために空間的候補動きベクトルをプルーニング（pruning）することと、現在のビデオフレームの現在の部分に関連する時間的候補動きベクトルを決定することとを備える。時間的候補動きベクトルは、参照ビデオフレームの部分に関して決定された動きベクトルを備える。本方法はまた、被選択候補動きベクトルとして、時間的候補動きベクトル又は刈り込み後に残存する空間的候補動きベクトルのうちの１つを選択することと、ビットストリームにおいて被選択候補動きベクトルを信号伝達することとを備える。
【０００６】
別の例では、ビデオデータを符号化するための装置が、現在のビデオフレームの現在の部分に関連する、現在の部分に隣接する現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定するための手段と、空間的候補動きベクトルのうちの少なくとも１つを除去するために空間的候補動きベクトルをプルーニングするための手段と、現在のビデオフレームの現在の部分に関連する時間的候補動きベクトルを決定するための手段とを備える。時間的候補動きベクトルは、参照ビデオフレームの部分に関して決定された動きベクトルを備える。本装置は、被選択候補動きベクトルとして、時間的候補動きベクトル又はプルーニング後に残存する空間的候補動きベクトルのうちの１つを選択するための手段と、ビットストリームにおいて被選択候補動きベクトルを信号伝達するための手段とを更に備える。
【０００７】
別の例では、ビデオデータを符号化するための装置が、現在のビデオフレームの現在の部分に関連する、現在の部分に隣接する現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定し、空間的候補動きベクトルのうちの少なくとも１つを除去するために空間的候補動きベクトルをプルーニングし、現在のビデオフレームの現在の部分に関連する時間的候補動きベクトルを決定する動き補償ユニットを備える。時間的候補動きベクトルは、参照ビデオフレームの部分に関して決定された動きベクトルを備える。本装置はまた、被選択候補動きベクトルとして、時間的候補動きベクトル又はプルーニング後に残存する空間的候補動きベクトルのうちの１つを選択するモード選択ユニットと、ビットストリームにおいて被選択候補動きベクトルを信号伝達するエントロピーコード化ユニットとを備える。
【０００８】
別の例では、非一時的コンピュータ可読媒体が、実行されたとときに、１つ以上のプロセッサに、現在のビデオフレームの現在の部分に関連する、現在の部分に隣接する現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定することと、空間的候補動きベクトルのうちの少なくとも１つを除去するために空間的候補動きベクトルをプルーニングすることと、現在のビデオフレームの現在の部分に関連する、参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを決定することと、被選択候補動きベクトルとして、時間的候補動きベクトル又はプルーニング後に残存する空間的候補動きベクトルのうちの１つを選択することと、ビットストリームにおいて被選択候補動きベクトルを信号伝達することとを行わせる命令を備える。
【０００９】
別の例では、ビデオデータを復号する方法が、現在のビデオフレームの現在の部分に関連する、現在の部分に隣接する現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定することと、現在のビデオフレームの現在の部分に関して決定された時間的候補動きベクトルを除去することなく、空間的候補動きベクトルのうちの少なくとも１つを除去するために空間的候補動きベクトルをプルーニングすることとを備える。時間的候補動きベクトルは、現在のビデオフレームに現在の部分があるように、参照ビデオフレームの同じ位置に配置される（コロケートされる）参照ビデオフレームの部分に関して決定された動きベクトルを備える。本方法はまた、ビットストリームにおいて信号伝達された動きベクトル予測子（ＭＶＰ）インデックスに基づいて、被選択候補動きベクトルとして、時間的候補動きベクトル又はプルーニング後に残存する空間的候補動きベクトルのうちの１つのうちの１つを選択することと、被選択候補動きベクトルに基づいて動き補償を実行することとを備える。
【００１０】
別の例では、ビデオデータを復号するための装置が、現在のビデオフレームの現在の部分に関連する、現在の部分に隣接する現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定するための手段と、現在のビデオフレームの現在の部分に関して決定された時間的候補動きベクトルを除去することなく、空間的候補動きベクトルのうちの少なくとも１つを除去するために空間的候補動きベクトルをプルーニングするための手段とを備える。時間的候補動きベクトルは、参照ビデオフレームの部分に関して決定された動きベクトルを備える。本装置はまた、ビットストリームにおいて信号伝達された動きベクトル予測子（ＭＶＰ）インデックスに基づいて、被選択候補動きベクトルとして、時間的候補動きベクトル又はプルーニング後に残存する空間的候補動きベクトルのうちの１つのうちの１つを選択するための手段と、被選択候補動きベクトルに基づいて動き補償を実行するための手段とを備える。
【００１１】
別の例では、ビデオデータを復号するための装置が、現在のビデオフレームの現在の部分に関連する、現在の部分に隣接する現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定し、現在のビデオフレームの現在の部分に関して決定された、参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを除去することなく、空間的候補動きベクトルのうちの少なくとも１つを除去するために空間的候補動きベクトルをプルーニングし、ビットストリームにおいて信号伝達された動きベクトル予測子（ＭＶＰ）インデックスに基づいて、被選択候補動きベクトルとして、時間的候補動きベクトル又はプルーニング後に残存する空間的候補動きベクトルのうちの１つのうちの１つを選択し、被選択候補動きベクトルに基づいて動き補償を実行する動き補償ユニットを備える。
【００１２】
別の例では、非一時的コンピュータ可読媒体が、実行されたときに、１つ以上のプロセッサに、現在のビデオフレームの現在の部分に関連する、現在の部分に隣接する現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定することと、現在のビデオフレームの現在の部分に関して決定された、参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを除去することなく、空間的候補動きベクトルのうちの少なくとも１つを除去するために空間的候補動きベクトルをプルーニングすることと、ビットストリームにおいて信号伝達された動きベクトル予測子（ＭＶＰ）インデックスに基づいて、被選択候補動きベクトルとして、時間的候補動きベクトル又はプルーニング後に残存する空間的候補動きベクトルのうちの１つのうちの１つを選択することと、被選択候補動きベクトルに基づいて動き補償を実行することとを行わせる命令を備える。
【００１３】
１つ以上の例の詳細を添付の図面及び以下の説明に記載する。他の特徴、目的、及び利点は、その説明及び図面、並びに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１４】
【図１】動きベクトル予測子（ＭＶＰ）を特定するための本開示で説明する技法を利用するように構成され得る例示的なビデオ符号化及び復号システムを示すブロック図。
【図２】動きベクトル予測子を特定するための本開示で説明する技法を実施し得るビデオエンコーダの一例を示すブロック図。
【図３】本開示で説明する動きベクトル予測技法を実施するビデオデコーダの一例を示すブロック図。
【図４】本開示で説明する動きベクトル予測技法を実行する際のビデオエンコーダの例示的な動作を示すフローチャート。
【図５】本開示で説明する動きベクトル予測技法を実施する際のビデオデコーダの例示的な動作を示すフローチャート。
【図６】現在の予測ユニット（ＰＵ）に対する隣接する近傍ＰＵ及び時間的に同位置に配置されたＰＵ（コロケートＰＵ）の例示的配置を示す図。
【発明を実施するための形態】
【００１５】
本開示で説明する技法の実施形態は、ビデオエンコーダがロバストであるが効率的な方法で、プルーニングプロセス中に時間的に同位置に配置されたＭＶＰを含めることなく冗長な空間的ＭＶＰをプルーニングすることによって、ＭＶＰを特定することを可能にする。言い換えれば、本技法は、空間的ＭＶＰのみを含むＭＶＰ中間リストを作成し、このＭＶＰ中間リストに関してプルーニングを実行し、次いで、プルーニングされたＭＶＰ中間リストに時間的に同位置に配置されたＭＶＰを追加して、プルーニングされたＭＶＰリストを作成する。このようにして、従来型のシステムではよくある、時間的に同位置に配置されたＭＶＰを特定する参照フレームの消失がビットストリームのパーシングを妨げることのないようにしつつ、プルーニングプロセスの適用を通じて実現されるコード化効率向上をなお確保することができる。
【００１６】
図１は、動きベクトル予測子（ＭＶＰ）を特定するための本開示で説明する技法を利用するように構成され得る例示的なビデオ符号化及び復号システム１０を示すブロック図である。図１の例に示すように、システム１０は、宛先機器１４によって復号される符号化ビデオを生成する発信源１２を含む。発信源１２は、通信チャネル１６を介して宛先機器１４に符号化ビデオを送信することができ、又は記憶媒体３４若しくはファイルサーバ３６に符号化ビデオを記憶して、符号化ビデオが必要に応じて宛先機器１４によってアクセスされ得るようにすることができる。発信源１２及び宛先機器１４は、デスクトップコンピュータ、ノートブック（即ち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、（セルラー電話又はハンドセット及び所謂スマートフォンを含む）電話ハンドセット、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、広範囲にわたる機器のいずれかを備え得る。
【００１７】
多くの場合、そのような機器はワイヤレス通信が可能であり得る。従って、通信チャネル１６はワイヤレスチャネルを備え得る。代替的に、通信チャネル１６は、有線チャネル、ワイヤレスチャネルと有線チャネルの組合せ、又は符号化ビデオデータの送信に好適な任意の他のタイプの通信チャネル若しくは通信チャネルの組合せ、例えば、無線周波数（ＲＦ）スペクトル又は１つ以上の物理伝送線路を備え得る。幾つかの例では、通信チャネル１６は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。従って、通信チャネル１６は、概して、有線媒体又はワイヤレス媒体の任意の好適な組合せを含む、ビデオデータを発信源１２から宛先機器１４に送信するのに好適な任意の通信媒体、又は様々な通信媒体の集合体を表す。通信チャネル１６は、発信源１２から宛先機器１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
【００１８】
図１の例に更に示すように、発信源１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器２２（「モデム２２」）と、送信機２４とを含む。発信源１２において、ビデオソース１８は撮像装置などの信号源を含み得る。撮像装置は、例として、ビデオカメラ、以前に撮影されたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、及び／又はソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムのうちの１つ又は複数を含み得る。一例として、ビデオソース１８がビデオカメラである場合、発信源１２及び宛先機器１４は、所謂カメラ付き携帯電話又はビデオ電話を形成し得る。但し、本開示で説明する技法は、ワイヤレスアプリケーション又は設定に限定されず、ビデオ符号化及び／又は復号機能を含む非ワイヤレス機器に適用され得る。従って、発信源１２及び宛先機器１４は、本明細書で説明する技法をサポートすることができるコード化機器の例にすぎない。
【００１９】
ビデオエンコーダ２０は、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成ビデオを符号化することができる。符号化されると、ビデオエンコーダ２０は、この符号化ビデオをモデム２２に出力することができる。次いでモデム２２は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオを変調することができ、その後、送信機２４は、変調された符号化ビデオデータを宛先機器１４に送信することができる。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、及び１つ以上のアンテナを含む、データを送信するために設計された回路を含むことができる。
【００２０】
ビデオエンコーダ２０によって符号化された、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成ビデオはまた、後の取出し、復号及び消費のために記憶媒体３４又はファイルサーバ３６に記憶され得る。記憶媒体３４は、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、又は符号化ビデオを記憶するための任意の他の好適なデジタル記憶媒体を含み得る。宛先機器１４は、記憶媒体３４又はファイルサーバ３６に記憶された符号化ビデオにアクセスし、この符号化ビデオを復号して復号ビデオを生成し、この復号ビデオを再生することができる。
【００２１】
ファイルサーバ３６は、符号化ビデオを記憶することと、その符号化ビデオを宛先機器１４に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（例えば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）機器、ローカルディスクドライブ、又は符号化ビデオデータを記憶することと、符号化ビデオデータを宛先機器に送信することとが可能な任意の他のタイプの機器を含む。ファイルサーバ３６からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又は両方の組合せであり得る。宛先機器１４は、インターネット接続を含む任意の標準的なデータ接続によりファイルサーバ３６にアクセスすることができる。この接続は、ワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ接続又はワイヤレスセルラーデータ接続）、有線接続（例えば、ＤＳＬ、ケーブルモデムなど）、有線チャネルとワイヤレスチャネルの両方の組合せ、又はファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適な任意の他のタイプの通信チャネルを含むことができる。
【００２２】
図１の例では、宛先機器１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、表示装置３２とを含む。宛先機器１４の受信機２６はチャネル１６を介して情報を受信し、モデム２８はその情報を復調して、ビデオデコーダ３０のための復調されたビットストリームを生成する。チャネル１６を介して通信される情報は、関連する符号化ビデオデータを復号する際にビデオデコーダ３０が使用する、ビデオエンコーダ２０によって生成された様々なシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体３４又はファイルサーバ３６に記憶された符号化ビデオデータとともに含まれ得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は、ビデオデータを符号化又は復号することが可能であるそれぞれのエンコーダデコーダ（コーデック）の一部を形成し得る。
【００２３】
宛先機器１４の表示装置３２は、閲覧者が消費するビデオデータを提示することが可能な任意のタイプの表示器を表す。表示装置３２は宛先機器１４に統合されているものとして示されているが、宛先機器１４に統合されても、宛先機器１４の外部にあってもよい。幾つかの例では、宛先機器１４は、一体型表示装置を含み、また、外部表示装置とインターフェースするように構成され得る。他の例では、宛先機器１４は表示装置であり得る。概して、表示装置３２は、復号ビデオデータをユーザに対して表示し、液晶表示器（ＬＣＤ）、プラズマ表示器、有機発光ダイオード（ＯＬＥＤ）表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
【００２４】
本開示は全般的に、ビデオデコーダ３０などの別の機器にシンタックス情報を「信号伝達する」ビデオエンコーダ２０に言及することがある。但し、ビデオエンコーダ２０は、ビデオデータの様々な符号化部分にシンタックス要素を関連付けることによって、情報を信号伝達し得ることを理解されたい。即ち、ビデオエンコーダ２０は、ビデオデータの様々な符号化部分のヘッダに幾つかのシンタックス要素を記憶することによって、データを「信号伝達する」ことができる。場合によっては、そのようなシンタックス要素は、ビデオデコーダ３０によって受信され、復号される前に符号化され、記憶され（例えば、記憶媒体３４又はファイルサーバ３６に記憶され）得る。従って、「信号伝達」という用語は全般的に、圧縮されたビデオデータを復号するために使用されるシンタックス又は他のデータの通信を指すことがあり、そのような通信がリアルタイム又はほぼリアルタイムで生じるか、それともある時間スパンで生じるか、例えば符号化時に媒体にシンタックス要素を記憶する（シンタックス要素は、この媒体に記憶された後、任意の時間に復号機器によって取り出され得る）ときに生じるかを問わない。
【００２５】
ビデオエンコーダ２０及びビデオデコーダ３０は、現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格などのビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０及びビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格、又はそのような規格の拡張版など、他のプロプライエタリ又は業界標準に従って動作し得る。但し、本開示の技法は、いかなる決定のコード化規格にも限定されない。他の例にはＭＰＥＧ−２及びＩＴＵ−Ｔ  Ｈ．２６３がある。
【００２６】
ＨＭでは、ビデオデータのブロックをコード化単位（ＣＵ）と呼ぶ。概して、ＣＵは、ＣＵがＨ．２６４のマクロブロックに関連するサイズ差異を有しないことを除いて、Ｈ．２６４に従ってコード化されたマクロブロックと同様の目的を有する。従って、ＣＵはサブＣＵに分割され得る。概して、本開示におけるＣＵへの言及は、ピクチャの最大コード化ユニット（ＬＣＵ）又はＬＣＵのサブＣＵを指すことがある。例えば、ビットストリーム内のシンタックスデータが、画素の数に関して最大のコード化単位であるＬＣＵを定義し得る。ＬＣＵはサブＣＵに分割され得、各サブＣＵはサブＣＵに分割され得る。ビットストリームのシンタックスデータは、最大ＣＵ深さと呼ばれる、ＬＣＵが分割され得る最大回数を定義し得る。従って、ビットストリームは最小コード化単位（ＳＣＵ）をも定義し得る。
【００２７】
ＬＣＵは階層型４分木データ構造に関連付けられ得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはＬＣＵに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは、サブＣＵに対応する４つのノードの各々に関する参照を含む。４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。例えば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。
【００２８】
分割されないＣＵは、１つ以上の予測単位を含み得る。概して、ＰＵは、対応するＣＵの全部又は一部分を表し、そのＰＵの参照サンプルを取り出すためのデータを含む。例えば、ＰＵがイントラモード符号化されるとき、ＰＵは、そのＰＵのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵの１つ以上の動きベクトルを定義するデータを含み得る。動きベクトルは全般的に、１つ以上の参照フレーム内のコロケートＣＵを識別し、「参照フレーム」という用語は、時間的に、ＰＵが位置するフレームの前又は後に生じるフレームを指す。また、（１つ以上の）ＰＵを定義するＣＵについてのデータは、例えば、１つ以上のＰＵへのＣＵの区分について記述し得る。区分モードは、ＣＵがコード化されないか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかとの間で異なり得る。
【００２９】
動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４画素精度又は１／８画素精度）、動きベクトルがポイントする参照フレーム、識別された参照フレームが現在のフレームの前にあるか後にあるかを識別する予測方向、及び／又は動きベクトルの参照リスト（例えば、リスト０もしくはリスト１）を記述し得る。代替的に、動きベクトルを定義するデータは、動きベクトル予測子（ＭＶＰ）と呼ばれるものに関して動きベクトルを記述し得る。動きベクトル予測子は、近傍ＰＵ又は時間的に同位置配置のＰＵの動きベクトルを含み得る。一般に、５つのＭＶＰを有するリストが、規定された方法で（例えば、最大振幅を有するＭＶＰから最小振幅を有するＭＶＰまでのＭＶＰ、即ち、コード化される現在のＰＵと参照ＰＵとの間の最大変位又は最小変位を有するＭＶＰを含むＭＶＰを記載する、若しくは位置、即ち上ブロック、左ブロック、隅ブロック、時間ブロックに基づいてＭＶＰを記載する、など）形成され、この場合、５つのＭＶＰのうちの４つは、４つの近傍ＰＵから選択された空間ＭＶＰであり、５番目のＭＶＰは、参照フレーム内の時間的に同位置に配置されたＰＵから選択された時間的に同位置配置のＭＶＰである。
【００３０】
一般に、時間的候補動きベクトルは参照フレームにおいて、現在のフレーム内の現在の部分と同じ部分に同位置配置されるが、本技法は、同位置配置される時間的候補動きベクトルに厳密に限定されるものではない。代わりに、本技法は、同位置配置されるかどうかにかかわらず、任意の時間的候補動きベクトルに関して実施され得る。場合によっては、ビデオエンコーダは、現在のフレームの現在のブロック又は部分と同位置配置されていない時間的候補動きベクトルを識別し、この時間的候補動きベクトルを時間的ＭＶＰとして選択することができる。通常、ビデオエンコーダは、コロケートされていない時間的ＭＶＰが使用されることを信号伝達することがあり、又は場合によっては、所与の文脈が、コロケートされていない時間的ＭＶＰが使用されることを示す（この場合、ビデオエンコーダは、同位置配置されていない時間的ＭＶＰが選択されたかどうかを信号伝達しなくてよい）ことがある。
【００３１】
５つのＭＶＰを有するリストを作成した後、ビデオエンコーダ２０は、ＭＶＰの各々を評価して、ビデオを符号化するために選択された所与のレート及び歪みのプロファイルに最も良く合致する最良のレート及び歪みの特性をもたらすのはどれかを決定することができる。ビデオエンコーダ２０は、５つのＭＶＰの各々に関してレート歪み最適化（ＲＤＯ）手順を実行し、最良のＲＤＯ結果を有するＭＶＰのうちの１つを選択することができる。代替的に、ビデオエンコーダ２０は、現在のＰＵに関して決定された動きベクトルに最も近似する、リストに記憶された５つのＭＶＰのうちの１つを選択することができる。
【００３２】
いずれの場合も、ビデオエンコーダ２０は、５つのＭＶＰを有するリスト内のＭＶＰのうちの選択された１つを識別するインデックス、（リスト形式であることが多い）動きベクトルがポイントする１つ以上の参照フレーム、及び予測が単方向であるか双方向であるかを識別する予測方向を備えるデータを使用して、動きベクトルを特定することができる。代替的に、動きベクトルを定義するデータは、参照フレームと予測方向とを特定することなく、５つのＭＶＰを有するリスト内の選択されたＭＶＰのインデックスを特定するだけでもよく、この場合、ＭＶＰのうちの選択された１つが現在のＰＵに全体的に使用されることが、ビデオデコーダに信号伝達される。
【００３３】
１つ以上の動きベクトルを定義する１つ以上のＰＵを有することに加えて、ＣＵは１つ以上の変換ユニット（ＴＵ）を含むことができる。ＰＵを使用した予測の後に、ビデオエンコーダは、ＰＵに対応するＣＵの部分の残差値を計算することができ、この残差値は残差データと呼ばれることもある。残差値は変換され、量子化され、走査され得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。従って、各ＴＵは、同じＣＵについての対応するＰＵよりも大きくても小さくてもよい。幾つかの例では、ＴＵの最大サイズは、対応するＣＵのサイズであり得る。本開示ではまた、ＣＵ、ＰＵ、及び／又はＴＵの任意の１つ又は組合せを指すために「ブロック」という用語を使用する。
【００３４】
概して、符号化ビデオデータは予測データと残差データとを含み得る。ビデオエンコーダ２０は、イントラ予測モード又はインター予測モード中に予測データを生成し得る。イントラ予測は、概して、あるピクチャのブロック中の画素値を、同じピクチャの近傍にある、前にコード化されたブロック中の参照サンプルに対して予測することを伴う。インター予測は、概して、あるピクチャのブロック中の画素値を、前にコード化されたピクチャのデータに対して予測することを伴う。
【００３５】
イントラ予測又はインター予測の後に、ビデオエンコーダ２０はブロックの残差画素値を計算し得る。その残差値は、概して、ブロックの予測画素値データとブロックの真の画素値データとの間の差分に対応する。例えば、残差値は、コード化画素と予測画素との間の差分を示す画素差分値を含み得る。幾つかの例では、コード化画素は、コード化されるべき画素のブロックに関連し得、予測画素は、コード化ブロックを予測するために使用される画素の１つ以上のブロックに関連し得る。
【００３６】
ブロックの残差値を更に圧縮するために、残差値は、（「エネルギー」とも呼ばれる）できるだけ多くのデータをできるだけ少数の係数に構成する変換係数のセットに変換され得る。変換技法は、離散コサイン変換（ＤＣＴ）プロセス又は概念的に同様のプロセス、整数変換、ウェーブレット変換、又は他のタイプの変換を備え得る。その変換は、画素の残差値を空間領域から変換領域に変換する。変換係数は、元のブロックと通常同じサイズである係数の２次元行列に対応する。言い換えれば、元のブロック中の画素とちょうど同数の変換係数がある。但し、変換により、変換係数の多くは、０に等しい値を有し得る。
【００３７】
ビデオエンコーダ２０は、次いで、ビデオデータを更に圧縮するために変換係数を量子化し得る。量子化は、概して、相対的に大きい範囲内の値を相対的に小さい範囲中の値にマッピングし、それによって、量子化変換係数を表すために必要とされるデータの量を低減することを伴う。より詳細には、量子化は、ＬＣＵレベルにおいて定義され得る量子化パラメータ（ＱＰ）に従って適用され得る。従って、ＬＣＵ内のＣＵの様々なＰＵに関連するＴＵにおける全ての変換係数に、同じレベルの量子化が適用され得る。但し、ＱＰ自体を信号伝達するのではなく、ＱＰの変化（即ち、差分）がＬＣＵとともに信号伝達され得る。差分ＱＰは、前に通信されたＬＣＵのＱＰのような何らかの参照ＱＰに対するＬＣＵの量子化パラメータの変化を定義する。
【００３８】
量子化の後に、ビデオエンコーダ２０は、変換係数を走査して、量子化変換係数を含む２次元行列から１次元ベクトルを生成し得る。次いでビデオエンコーダ２０は、（誤称によって「エントロピー符号化」と一般に呼ばれる）統計的可逆符号化を実行して、得られたアレイを符号化することで、データをなお一層圧縮することができる。概して、エントロピーコード化は、一連の量子化変換係数及び／又は他のシンタックス情報をまとめて圧縮する１つ以上のプロセスを備える。例えば、差分ＱＰ、予測ベクトル、コード化モード、フィルタ、オフセット、又は他の情報などのシンタックス要素も、エントロピーコード化ビットストリームに含まれ得る。走査された係数は次いで、例えば、コンテンツ適応型可変長コード化（ＣＡＶＬＣ：content adaptive variable length coding）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、又は任意の他の統計的可逆コード化プロセスによって、任意のシンタックス情報とともにエントロピーコード化される。
【００３９】
上述のように、ＰＵに関する動きベクトルを定義するデータは幾つかの形態をとり得る。ビデオエンコーダ２０は、動きベクトルデータを圧縮するように動きベクトルが表現され得る様々な方法を実施することができる。ビデオエンコーダ２０は、規定された方法で構成されたＭＶＰのリストに記憶されたＭＶＰを識別するインデックスとして動きベクトルを表現する、マージモードと呼ばれるものを実施することができる。ビデオデコーダ３０は、このマージモードの逆を実施する中で、このインデックスを受信し、規定された方法に従って５つのＭＶＰからなるリストを再構成し、インデックスによって示されるリスト内の５つのＭＶＰのうちの１つを選択する。次いでビデオデコーダ３０は、ＭＶＰのうちの選択された１つの同じ解像度による、ＭＶＰのうちの選択された１つがポイントするのと同じ参照フレームをポイントする関連ＰＵに関する動きベクトルとして、ＭＶＰのうちの選択された１つをインスタンス化することができる。マージモードを実施する際、ビデオエンコーダ２０は、動きベクトルを導出するのに必要な全範囲で動き推定を実行しなくてよく、動きベクトルの水平成分及び垂直成分、動きベクトルの解像度、（動きベクトルが時間的に現在のフレームの前にあるフレームをポイントするか、それとも後にあるフレームをポイントするかを意味する）動きベクトル方向、又は参照フレームインデックスを特定しなくてよく、それにより潜在的に、動きベクトルを決定するのに必要なプロセッササイクルを減らし、動きベクトルデータを圧縮する。
【００４０】
ビデオエンコーダ２０は、マージモードに類似する、規定された方法で構成されたＭＶＰのリストに記憶されたＭＶＰを識別するインデックスとして動きベクトルを表現することを含む適応型動きベクトル予測（ＡＭＶＰ）モードを実施することもできる。但し、マージモードとは異なり、ビデオエンコーダ２０は予測方向と参照フレームとを特定して、ＭＶＰのうちの選択された１つのこれらの部分を効果的に無効にすることもできる。ＡＭＶＰモードを実施する際、ビデオエンコーダ２０は、動きベクトルを導出するのに必要な全範囲で動き推定を実行しなくてよく、動きベクトルの水平成分及び垂直成分と動きベクトルの解像度とを特定しなくてよく、それにより潜在的に、動きベクトルを決定するのに必要なプロセッササイクルを減らし、動きベクトルデータを圧縮する。
【００４１】
様々なコード化規格が進化する中、なお一層効率的な動きベクトル表現が進化してきた。例えば、新生ＨＥＶＣ規格に対する提案は、ＭＶＰインデックスが「プルーニング」又は「ＭＶＰプルーニング」と呼ばれるプロセスを通じて圧縮され得る方法を提案している。このプルーニングプロセスを実行する際、ビデオエンコーダ２０は、規定された方法で５つのＭＶＰを有するリストを構成し、次いで冗長なＭＶＰをプルーニング又は除去する。即ち、ビデオエンコーダ２０は、Ｘ成分とＹ成分の両方に対して同じ振幅を有し、同じ参照フレームを参照するＭＶＰを除去することができ、これらのＭＶＰは本開示では「冗長なＭＶＰ」と考えられる。代替的に、ビデオエンコーダ２０は、「一意」であるＭＶＰをリストに追加することができ、この「一意」は、これらのＭＶＰが、リストにすでに含まれているその他のＭＶＰとは異なる振幅をＸ方向及びＹ方向において有し、及び／又は異なる参照フレームを参照することを意味する。リストに追加された後にプルーニングするか、リストを作成するときにプルーニングするかにかかわらず、プルーニングプロセスは、リストのサイズを縮小し、その結果、ＭＶＰのうちの選択された１つを信号伝達あるいは特定するために使用されるビットを少なくすることができ、その理由は、一般にリストが短いほど、最大インデックス値を表現するのに必要なビットの数が小さくなることにある。
【００４２】
例えば、説明のために、５つのＭＶＰのうちのいずれもプルーニングされないと仮定する。この場合、ビデオエンコーダは最大４ビットを備える短縮単項コード（truncated unary code）を使用して、選択される決定のＭＶＰを示すために、５つのＭＶＰを有するこのリストへのインデックスを信号伝達することができる。提案では、５つのＭＶＰを有するリスト内の５番目のＭＶＰの選択を信号伝達するために使用される短縮単項コードは１１１１、５つのＭＶＰを有するリスト内の４番目のＭＶＰは１１１０、５つのＭＶＰを有するリスト内の３番目のＭＶＰは１１０、５つのＭＶＰを有するリスト内の２番目のＭＶＰは１０、５つのＭＶＰを有するリスト内の１番目のＭＶＰは０である。一方、ＭＶＰのリストを３つのＭＶＰまでプルーニングすることができる（これは、ＭＶＰのうちの２つが冗長であることを意味する）場合、ビデオエンコーダ２０は、最大２ビットを消費する短縮単項コードを使用し（例えばこの場合、３番目のＭＶＰが１１のコードを使用して信号伝達され得る）、潜在的に、プルーニングが採用されないか、又は可能ではなく（例えば、冗長なＭＶＰがないとき）、５つのＭＶＰを有するリスト内の５番目のＭＶＰ又は４番目のＭＶＰが選択された場合と比べて、１ビット節約することができる。従って、ある程度まで、コードはＭＶＰリストのサイズに依存し、ＭＶＰリストが小さい（つまり、リストが有するＭＶＰが少ない）ほど、コードが小さくなる（つまり、プルーニングされたＭＶＰリストから選択されたＭＶＰを表現するのにコードが必要とするビットが少なくなる）。
【００４３】
プルーニングは、ＭＶＰリスト内の選択されたＭＶＰのインデックスを信号伝達するために使用されるコードの長さを短縮することによってコード化効率を高めることができるが、このプルーニングは、ビデオデコーダ３０がビットストリームを首尾よく構文解析する能力に影響を与えることもある。コードはプルーニングされたＭＶＰリストのサイズに依存するので、ビデオデコーダ３０は、プルーニングされたＭＶＰリストにあるＭＶＰの数を把握する必要がある。しかしながら、時間的に同位置に配置されたＭＶＰを特定する参照フレームが消失したときには、この時間的に同位置に配置されたＭＶＰは利用不可能であり、ビデオデコーダ３０は、このＭＶＰが一意であるか冗長であるかを決定することができない。その結果、ビデオデコーダ３０は、プルーニングされたＭＶＰリストがこの時間的に同位置に配置されたＭＶＰを含んでいたはずであるかどうかを決定できず、従って、プルーニングされたＭＶＰリストのサイズを決定することができない。プルーニングされたＭＶＰリストのサイズを決定することができないので、ビデオデコーダ３０は、コードの最大長さを決定することができず、その結果、ビデオデコーダ３０は、ビットストリームからコードを構文解析できない。
【００４４】
本開示で説明する技法によれば、ビデオエンコーダ２０は潜在的にロバストであるが効率的な方法で、プルーニングプロセス中に時間的に同位置に配置されたＭＶＰを含めることなく冗長な空間的ＭＶＰをプルーニングすることによって、ＭＶＰを特定することができる。言い換えれば、ビデオエンコーダ２０は、本開示で説明する技法を実施して、空間的ＭＶＰのみを含むＭＶＰ中間リストを作成し、このＭＶＰ中間リストに関してプルーニングを実行し、次いで、時間的に同位置に配置されたＭＶＰをプルーニングされたＭＶＰ中間リストと組み合わせて、プルーニングされたＭＶＰリストを作成することができる。このようにして、従来型のシステムではよくある、時間的に同位置に配置されたＭＶＰを特定する参照フレームの消失がビットストリームのパーシングを妨げることのないようにしつつ、プルーニングプロセスを採用することによって実現されるコード化効率向上の少なくとも一部をなお確保することができる。
【００４５】
説明のために、ビデオエンコーダ２０は、最初に、ＣＵのような現在のビデオフレームの現在の部分に関連する空間的候補動きベクトルを決定する。この場合も、空間的候補動きベクトルは、対応するＣＵに関連する現在のＰＵに隣接する近傍ＰＵに関して決定された近傍動きベクトルを含む。一般に、これらの近傍ＰＵは、図６の例に関連してより詳細に示すように、左、左上、真上及び右上に、現在のＰＵに隣接して位置する。これらの空間的候補動きベクトルがこれらのブロックに関してすでに決定されているので、ビデオエンコーダ２０は、これらの空間的候補動きベクトルを使用する。現在のＰＵの右又は真下に位置するブロックの場合、ビデオエンコーダ２０が上から下、左から右の動き推定／補償を一般に実行することに鑑み、ビデオエンコーダ２０は、これらのブロックの動きベクトルをまだ計算していない。しかしながら、本技法は、これらの空間的動きベクトルに関して説明したが、異なる順序で（例えば、上から下、右から左に）動き推定／補償を実行するビデオエンコーダ２０において実施され得る。加えて、本技法は、より多くの、又はより少ない空間的動きベクトル又は時間的動きベクトルに関して実施され得る。
【００４６】
これらの空間的動きベクトルを決定した後、ビデオエンコーダ２０は、空間的候補動きベクトルのうちの重複するものを除去するために空間的候補動きベクトルをプルーニングする。ビデオエンコーダ２０は、重複する空間的候補動きベクトルを、候補動きベクトルのｘ軸成分とｙ軸成分の両方に関して同じ振幅を有し、同じ参照フレームから来る候補の空間的動きベクトルのいずれかであると識別することができる。ビデオエンコーダ２０は、空間的候補動きベクトルの中間リストと呼ばれ得るリストから重複するものを除去すること、又は単に、この中間リストに追加する候補の空間的動きベクトルは重複するものではないと決定して、このリストに候補の空間的動きベクトルを追加すること、のいずれかによってプルーニングを実行する。
【００４７】
この方法で空間的候補動きベクトルをプルーニングした後、ビデオエンコーダ２０は、現在のビデオフレームの現在のＰＵに関して時間的候補動きベクトルを決定することができる。この場合も、時間的候補動きベクトルは、現在のビデオフレーム内の現在のＰＵと同じ位置に配置される参照ビデオフレームのＰＵに関して決定された動きベクトルを備える。次いでビデオエンコーダ２０は、被選択候補動きベクトルとして、時間的候補動きベクトル又はプルーニングプロセスを実行した後に残存する空間的候補動きベクトルのうちの１つを選択することができる。次いでビデオエンコーダ２０は、ビットストリームにおいて被選択候補動きベクトルを信号伝達する。
【００４８】
場合によっては、ビデオエンコーダ２０は、決定された空間的候補動きベクトルの各々が空間的に予測されるか、それとも時間的に予測されるかを決定することができる。言い換えれば、決定された空間的候補動きベクトル自体は、参照フレーム内の同位置に配置されたブロックから時間的に予測されること、又は空間的候補動きベクトルの各々が決定される際の対象ブロックに隣接するブロックから空間的に予測されることがある。ビデオエンコーダ２０は、この決定に応答して、決定された空間的候補動きベクトルのうちの１つ又は複数をプルーニングプロセスから更に除去することができる。ビデオエンコーダ２０は、例えば、空間的候補動きベクトルのうちで、それら自体時間的に予測されると決定されたものをプルーニングプロセスから除去することができ、その理由は、これらの時間的に予測される空間的候補動きベクトルが予測される際の元になる参照フレームの部分が消失した場合に、これらの時間的に予測される空間的候補動きベクトルをデコーダが利用できなくなり得ることにある。次いでビデオエンコーダ２０は、時間的候補動きベクトル、時間的に予測される空間的候補動きベクトルのうちの１つ、又はプルーニング後に残存する空間的に予測される空間的候補動きベクトルのうちの１つを選択し、この被選択候補動きベクトルをビットストリームにおいて信号伝達することができる。
【００４９】
代替的に、ビデオエンコーダ２０は、時間的に予測される空間的候補動きベクトルをプルーニングプロセスから除去するのではなく、これらの時間的に予測される空間的候補動きベクトルを、デフォルト動き情報を定義するデフォルト候補動きベクトルに差し替えることができる。このデフォルト動きベクトル情報は、例えば、動きベクトル振幅、参照フレームが時間的に現在のフレームの前に来るか後に来るかを識別する予測方向、及び参照フレームを識別する参照インデックスを備えることができる。ビデオエンコーダ２０は、幾つかの例を挙げれば、それらの利用可能な空間的に予測される空間的候補動きベクトルの平均を取得すること、第１の利用可能な空間的に予測される空間的候補動きベクトルを選ぶこと、又はビデオエンコーダ２０とビデオデコーダ３０の両方の中に空間的に構成されるデフォルト動きベクトル情報を使用することによって、このデフォルト動きベクトル情報を決定することができる。
【００５０】
空間的候補動きベクトルのうちで、（例えば、圧縮されたビデオデータの送信エラーあるいはビデオエンコーダ２０又はビデオデコーダ３０のいずれかにおける記憶エラーに起因して）消失しているか、ビデオデコーダ３０にとって利用不可能であることのあるものをプルーニングプロセスから消去することによって、ビデオエンコーダ２０は、これらの時間的に予測される空間的候補動きベクトルが消失したか利用不可能になった場合に、ビデオデコーダ３０がビットストリームを適切に構文解析できるように、被選択候補動きベクトルを信号伝達することができる。同様に、代替として、時間的に予測される空間的候補動きベクトルをデフォルト候補動きベクトルに差し替えることによって、ビデオエンコーダ２０は、これらの時間的に予測される空間的候補動きベクトルが消失したか利用不可能になった場合に、ビデオデコーダ３０がビットストリームを適切に構文解析できるように、被選択候補動きベクトルを信号伝達することができる。
【００５１】
一般に、ビデオエンコーダ２０は、リスト内に配置された被選択候補動きベクトルのインデックスを表す単項コードを使用して、被選択候補動きベクトルを信号伝達することができる。ビデオエンコーダ２０は、時間的候補動きベクトルと、プルーニングプロセスを実行した後に残存する空間的候補動きベクトルとを、所定の方法又は規定された方法で（例えば、最高振幅から最低振幅へ、最低振幅から最高振幅へ、最初に時間的動きベクトル、続いて残存する空間的動きベクトルを、最高振幅から最低振幅又は最低振幅から最高振幅のいずれかの順序で、など）配置して、候補動きベクトルのリストを作成することができる。代替的に、ビデオエンコーダ２０は、動きベクトルがリスト内でどのように配置されているかを示す何らかの識別子を信号伝達することができる。いずれにせよ、次いでビデオエンコーダ２０は、このリストに記憶された候補動きベクトルのうちの１つを識別し、上記の方法で単項コードを使用してこのリストに記憶された候補動きベクトルのうちの選択された１つのインデックスを符号化する。
【００５２】
ビデオデコーダ３０はこのビットストリームを受信し、インデックスを復号し、可能な場合に空間的候補動きベクトルの中間リストを作成する。上述のように、空間的候補動きベクトルのうちの１つ又は複数は、ビデオエンコーダ２０が近傍ブロックに関する動きベクトルを符号化するために動きベクトル予測を採用し、時間的動きベクトルを選択した場合に、この時間的動きベクトルを定義する参照フレームが（例えば、メモリの破損、バスエラー又は伝送エラーに起因して）消失した場合、利用できないことがある。代替的に、空間的候補動きベクトルのうちの１つ又は複数は、ビデオエンコーダ２０がこの近傍ＰＵに関する動きベクトルを符号化するために動きベクトル予測を採用し、それ自体が時間的動きベクトルから予測される動きベクトルであった空間的動きベクトルのうちの１つを選択したときに、この時間的動きベクトルを定義する参照フレームが（例えば、メモリの破損、バスエラー又は伝送エラーに起因して）消失した場合、利用できないことがある。ビデオデコーダ３０はこの問題を、利用不可能な時間的に予測される候補動きベクトルをプルーニングプロセスから除去すること、又は代替として、これらの利用不可能な時間的に予測される空間的候補動きベクトルをデフォルト候補動きベクトルに差し替えること、のいずれかによって克服することができる。ビデオデコーダ３０はこの点で、ビットストリームから信号伝達された被選択候補動きベクトルを適切に構文解析するために、ビデオエンコーダ２０に関して上述した技法を実質的に同様の方法で実施する。
【００５３】
いずれの場合も、１つ以上の候補動きベクトルが消失すると仮定しても、本技法は、ビットストリームのパーシングを容易にする方法でＭＶＰを信号伝達することができる。プルーニング後にリストに常に時間的候補動きベクトルが存在するようにすることによって、ビデオエンコーダ２０は、ビデオデコーダ３０が利用可能な動きベクトルの数を決定し、それによりビットストリームからインデックスを構文解析することがきるようにする。同様に、時間的に予測される空間的候補動きベクトルがリスト内に常にあるか、ビデオデコーダ３０が常に再生できるデフォルト候補動きベクトルに差し替えられるようにすることによって、ビデオエンコーダ２０は、ビデオデコーダ３０が利用可能な動きベクトルの数を決定し、それによりビットストリームからインデックスを構文解析することがきるようにする。このようにして、時間的候補動きベクトル及び／又は時間的に予測される空間的候補動きベクトルを記憶しているスライスが消失したとしても、ビデオデコーダ３０は依然として、単項コードが使用されるかどうかにかかわらずビットストリームを構文解析することができる。特に、ビデオデコーダ３０は、時間的候補動きベクトル及び／又は時間的に予測される空間的候補動きベクトルが常にＭＶＰリストに含まれ、ＭＶＰリストからプルーニングされることは決してないことを把握した状態で、ビットストリームを構文解析することができる。代替として、時間的に予測される空間的候補動きベクトルがデフォルト候補動きベクトルに差し替えられる場合、ビデオエンコーダ２０は、そのような時間的に予測される空間的候補動きベクトルが消失することはないことを効果的に保証するが、その理由は、ビデオデコーダ３０が、これらの動きベクトルを、このデフォルト候補動きベクトルを決定するためにビデオエンコーダ２０が実行した同じ技法を使用して常に決定できるように構成されることにある。
【００５４】
時間的候補動きベクトルが消失する場合を例示するために、空間的候補動きベクトルの振幅が１、１、１及び１であり、時間的候補動きベクトルの振幅が−１である場合を考える。ビデオデコーダ３０は本技法を実施して、ＭＶＰリストと呼ばれることがあるリストを、ＭＶＰリストが１、１、１及び１となるように最初に空間的候補動きベクトルのみにより作成することができる。次いでデコーダは、この空間のみＭＶＰリストを、このＭＶＰリストが１と定義されるようにプルーニングする。次いでデコーダは、ＭＶＰリストが−１及び１と定義されるように、ＭＶＰリストに時間的候補動きベクトルを追加する。エンコーダは、これらの動きベクトルのうちの１つが選択されたことを示すために、０又は１のいずれかのｍｖｐ＿ｉｄｘ（又は短縮単項コードを使用しない場合に０及び１０のｍｖｐ＿ｉｄｘ）を信号伝達することができる。上記で説明した単項コードに関して、本開示の技法は、少なくとも１つの空間的候補動きベクトル及び時間的候補空間的動きベクトルが常に存在することになるので、プルーニング後にたった１つの候補動きベクトルが利用可能であったと推測せざるを得ない可能性を除去する。
【００５５】
このようにして、本技法は、ビデオエンコーダが潜在的にロバストであるが効率的な方法で、プルーニングプロセス中に時間的に同位置に配置されたＭＶＰを考慮することなく冗長な空間的ＭＶＰをプルーニングすることによって、ＭＶＰを特定することを可能にする。言い換えれば、本技法は、空間的ＭＶＰのみを含むＭＶＰ中間リストを作成し、このＭＶＰ中間リストに関してプルーニングを実行し、次いで、プルーニングされたＭＶＰ中間リストに時間的に同位置に配置されたＭＶＰを追加して、プルーニングされたＭＶＰリストを作成する。このようにして、従来型のシステムではよくある、時間的に同位置に配置されたＭＶＰを特定する参照フレームの消失がビットストリームのパーシングを妨げることのないようにしつつ、プルーニングプロセスを採用することによって実現されるコード化効率向上をなお確保することができる。
【００５６】
場合によっては、本技法は他の文脈において適用され得る。例えば、ＨＥＶＣテストモデルの第４のバージョン（ＨＭ４．０）は、ＭＶＰをプルーニングし、次いで、プルーニング後に残存するＭＶＰの総数が５未満である場合にさらなるＭＶＰを追加することを提案している。言い換えれば、ＨＭ４．０は５つのＭＶＰ（即ち、１つの時間的ＭＶＰ及び４つの空間的ＭＶＰ）をプルーニングして、プルーニングされたＭＶＰリストを生成する。このプルーニングされたＭＶＰリストにおけるＭＶＰの数が５未満である場合、プルーニングされたリストにおけるＭＶＰの総数が５に等しくなるまで、ＨＭ４．０は非冗長ＭＶＰを追加する。これらの非冗長ＭＶＰは、他の空間的ブロック又は時間的ブロックから選択されてよく、又はプルーニングされたＭＶＰリスト内のＭＶＰに基づいて（例えば、プルーニングされたＭＶＰリスト内の１つのＭＶＰのｙ成分とプルーニングされたＭＶＰリスト内の別の異なるＭＶＰによるｘ成分とを選択して）生成されてよい。この文脈では、ビデオエンコーダは、本開示で説明する技法を実施して追加の非冗長ＭＶＰを選択することができ、それにより空間的ＭＶＰのみが選択され、かつ／又は使用されて、これらの追加の非冗長ＭＶＰが生成される。
【００５７】
空間的ＭＶＰのみを選択すること、又はプルーニング後に残存する既存の空間的ＭＶＰを使用することで、これらの追加の非冗長ＭＶＰを生成することによって、ビデオエンコーダは、ＭＶＰのうちの選択された１つをビデオデコーダが適切に決定できるようにし得る。即ち、５つのＭＶＰを常に有することによって、ビデオエンコーダは、ビデオデコーダが常にビットストリームからＭＶＰインデックスを構文解析できるようにするが、時間的ＭＶＰが消失した場合、ビデオデコーダはＭＶＰリストを正確に構成きないことがあり、その理由は、時間的ＭＶＰが消失したときに互いに関してＭＶＰの順序をＭＶＰは決定できないことにある。本開示で説明する技法は、時間的ＭＶＰ又は時間的ＭＶＰからそれら自体予測される空間的ＭＶＰを追加の非冗長ＭＶＰとして選択しないことによって、時間的ＭＶＰを消失することによる影響を低減又は潜在的に除去することができる。
【００５８】
本開示の例に関して説明した動きベクトル予測を特定するための技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、及び／又はビデオテレフォニーなどの適用例のために、一方向又は双方向のビデオ送信をサポートするように構成され得る。
【００５９】
図１には示されていないが、幾つかの態様では、ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれオーディオエンコーダ及びオーディオデコーダと統合でき、適切なＭＵＸ−ＤＥＭＵＸユニット又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理することができる。適用可能な場合、幾つかの例では、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００６０】
ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、決定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、又はそれらの任意の組合せとして実装され得る。本技法がソフトウェアで部分的に実施されるとき、機器は、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つ以上のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は１つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれも、それぞれの機器において複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００６１】
図２は、動きベクトル予測子を特定するための技法を実施し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、マクロブロックあるいはマクロブロックのパーティション又はサブパーティションを含むビデオフレーム内のブロックのイントラコード化及びインターコード化を実行し得る。イントラコード化は、所与のビデオフレーム内のビデオの空間的冗長性を低減又は除去するために空間的予測に依拠する。インターコード化は、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、幾つかの空間ベースの圧縮モードのいずれかを指し、単方向予測（Ｐモード）又は双方向予測（Ｂモード）などのインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指し得る。図２にはインターモード符号化のための構成要素が示されているが、ビデオエンコーダ２０はイントラモード符号化のための構成要素を更に含み得ることを理解されたい。但し、簡潔及び明快のために、そのような構成要素は示されていない。
【００６２】
図２に示すように、ビデオエンコーダ２０は、符号化されるビデオフレーム内の現在のビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、動き補償ユニット４４と、動き推定ユニット４２と、メモリ６４と、加算器５０と、変換ユニット５２と、量子化ユニット５４と、エントロピーコード化ユニット５６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成ビデオからブロック歪みを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図２に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。全般的にランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、フラッシュメモリ又は他の持続的もしくは非持続的なチップベースの記憶媒体を指し得るメモリ６４を含むものとして記述しているが、ハードドライブ、光学式ドライブ、ディスクドライブなどを含む任意のタイプの非一時的コンピュータ可読媒体を利用してよい。
【００６３】
符号化プロセス中に、ビデオエンコーダ２０はコード化されるビデオフレーム又はスライスを受信する。フレーム又はスライスは、複数のビデオブロックに分割され得る。動き推定ユニット４２及び動き補償ユニット４４は、時間圧縮を行うために、１つ以上の参照フレーム中の１つ以上のブロックに対する受信したビデオブロックのインター予測コード化を実行する。また、イントラ予測ユニット４６は、空間圧縮を行うために、コード化されるブロックと同じフレーム又はスライス中の１つ以上の近傍ブロックに対する受信したビデオブロックのイントラ予測コード化を実行し得る。
【００６４】
図２の例に更に示すように、ビデオエンコーダ２０はモード選択ユニット４０も含む。モード選択ユニット４０は、例えば、誤差結果に基づいてコード化モード、即ち、イントラ又はインターのうちの１つを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロック又はインターコード化ブロックを加算器５０に与え、参照フレームとして使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロック又はインターコード化ブロックを加算器６２に与え得る。
【００６５】
動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在のフレーム（又は、他のコード化ユニット）内のコード化されている現在のブロックに対する予測参照フレーム（又は、他のコード化ユニット）内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されるブロックにぴったり一致することがわかるブロックである。動きベクトルはまた、マクロブロックの区分の変位を示し得る。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックを取り込む又は生成することに関与し得る。この場合も、幾つかの例では、動き推定ユニット４２と動き補償ユニット４４とは機能的に統合され得る。
【００６６】
動き推定ユニット４２は、ビデオブロックをメモリ６４中の参照フレームのビデオブロックと比較することによってインターコード化フレームのビデオブロックの動きベクトルを計算する。動き補償ユニット４４はまた、参照フレーム、例えば、Ｉフレーム又はＰフレームのサブ整数画素を補間し得る。新生ＨＥＶＣ規格（及びＩＴＵ  Ｈ．２６４規格）は、一般に「リスト」と呼ばれる１つ以上のリストデータ構造によって参照フレームを記憶する。従って、メモリ６４に記憶されたデータをリストと見なすこともできる。動き推定ユニット４２は、メモリ６４からの１つ以上の参照フレーム（又はリスト）のブロックを現在のフレーム、例えば、Ｐフレーム又はＢフレームの符号化されるべきブロックと比較する。メモリ６４中の参照フレームがサブ整数画素の値を含むとき、動き推定ユニット４２によって計算される動きベクトルは参照フレームのサブ整数画素位置を参照し得る。動き推定ユニット４２は、計算された動きベクトルをエントロピーコード化ユニット５６と動き補償ユニット４４とに送る。動きベクトルによって識別される（ＣＵを備え得る）参照フレームブロックは予測ブロックと呼ばれることがある。動き補償ユニット４４は参照フレームの予測ブロックの誤差値を計算する。
【００６７】
動き補償ユニット４４は、予測ブロックに基づいて予測データを計算し得る。ビデオエンコーダ２０は、コード化されている元のビデオブロックから、動き補償ユニット４４からの予測データを減算することによって残差ビデオブロックを形成する。加算器５０は、この減算演算を実行する１つ以上の構成要素を表す。変換ユニット５２は、離散コサイン変換（ＤＣＴ）又は概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換ユニット５２は、概念的にＤＣＴと同様である、Ｈ．２６４規格によって定義される変換などの他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換又は他のタイプの変換をも使用することができる。いずれの場合も、変換ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報を画素値領域から周波数領域などの変換領域に変換し得る。量子化ユニット５４は、ビットレートを更に低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減させることができる。量子化の程度は、量子化パラメータを調整することによって変更され得る。
【００６８】
量子化の後、エントロピーコード化ユニット５６が量子化変換係数をエントロピーコード化する。例えば、エントロピーコード化ユニット５６は、コンテンツ適応型可変長コード化（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）、又は別のエントロピーコード化技法を実行し得る。エントロピーコード化ユニット５６によるエントロピーコード化の後、符号化ビデオは、別の機器に送信されるか、又は後の送信又は取出しのためにアーカイブされ得る。コンテキスト適応型バイナリ算術コード化の場合、コンテキストは近傍マクロブロックに基づき得る。
【００６９】
場合によっては、エントロピーコード化ユニット５６又はビデオエンコーダ２０の別のユニットは、エントロピーコード化に加えて他のコード化機能を実行するように構成され得る。例えば、エントロピーコード化ユニット５６はマクロブロック及び区分のＣＢＰ値を決定するように構成され得る。また、場合によっては、エントロピーコード化ユニット５６は、マクロブロック又はそれの区分中の係数のランレングスコード化を実行し得る。特に、エントロピーコード化ユニット５６は、マクロブロック又は区分中の変換係数を走査するためにジグザグ走査又は他の走査パターンを適用し、さらなる圧縮のためにゼロのランを符号化し得る。エントロピーコード化ユニット５６はまた、符号化ビデオビットストリーム中での送信のために適切なシンタックス要素とともにヘッダ情報を構成し得る。
【００７０】
逆量子化ユニット５８及び逆変換ユニット６０は、それぞれ逆量子化及び逆変換を適用して、例えば参照ブロックとして後で使用するために、画素領域中で残差ブロックを再構成する。動き補償ユニット４４は、メモリ６４内の参照フレーム記憶部のフレームのうちの１つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成残差ブロックに１つ以上の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器６２は、再構成残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、メモリ６４の参照フレーム記憶部に記憶するための再構成ビデオブロックを生成する。再構成ビデオブロックは、後続のビデオフレーム中のブロックをインターコード化するために動き推定ユニット４２及び動き補償ユニット４４によって参照ブロックとして使用され得る。
【００７１】
上述のように、動き推定ユニット４２は、場合によっては、動きベクトルを計算せず、代わりに、４つが空間的候補動きベクトル、１つが時間的候補動きベクトルである動きベクトル予測子のリストを決定することがある。一般に、動き推定ユニット４２は、動き推定の計算の複雑さを低減し、それによってビデオデータの符号化速度を改善する一方で電力消費も減らすために、動きベクトルの計算を控える。本開示で説明する技法によれば、動き推定ユニット４２は、４つの空間的候補動きベクトルを有する（又は、空間的候補動きベクトルのうちの１つ又は複数がそれら自体時間的に予測されると決定される場合には、より少ない空間的候補動きベクトルを有し、この場合、そのように時間的に予測される空間的候補動きベクトルはプルーニングプロセスから除去される）中間リストを決定し、（潜在的にもっぱら空間的に予測される）空間的候補動きベクトルを有するこのリストをプルーニングし、（潜在的にもっぱら空間的に予測される）空間的候補動きベクトルを有するこのプルーニングされたリストに時間的候補動きベクトル（及び潜在的に時間的に予測される空間的候補動きベクトル）を追加することができる。代替的に、動き推定ユニット４２は、（これらの時間的に予測される空間的候補動きベクトルをデフォルト候補動きベクトルに差し替えるとき）４つの空間的候補動きベクトルを有する中間リストを決定し、（決定されたデフォルト候補動きベクトルのうちの１つ又は複数を含む）空間的候補動きベクトルを有するこのリストをプルーニングし、空間的候補動きベクトルを有するプルーニングされたリストに時間的候補動きベクトルを追加することができる。動き推定ユニット４２は、時間的動きベクトル候補とプルーニングされた空間的動きベクトル候補とを含むこのリストを、動き補償ユニット４４に出力することができる。
【００７２】
次いで動き補償ユニット４４は、リストに含まれる候補動きベクトルごとに（この場合も、予測ブロックと呼ばれ得る）参照フレームブロックを識別することができる。次いで動き補償ユニット４４は、候補動きベクトルごとに決定された予測ブロックに基づいて、予測データを計算することができる。次いでビデオエンコーダ２０は、候補動きベクトルの対応する１つについて計算された予測データごとに残差データを決定し、残差データを変換し、トランスコードされた残差データを量子化し、次いで上記で説明した方法で量子化残差データをエントロピー符号化することができる。次いでビデオエンコーダ２０は逆演算を実行して、プルーニング後に残存する候補動きベクトルの各々に関して生成されたこのエントロピー符号化残差データを復号して、再構成ビデオブロックの形態で参照データを再生することができる。モード選択ユニット４０は、候補動きベクトルの各々に関して生成された再構成ビデオブロックの各々を分析して、候補動きベクトルのうちの１つを選択することができる。モード選択ユニット４０は、一般にレート歪み最適化と呼ばれ、通常「ＲＤＯ」と略されるプロセスを通じて最良のレート対歪み比をもたらす候補動きベクトルのうちの１つを選択することができる。
【００７３】
ＲＤＯは一般に、あるレート（一般に、圧縮されたフレーム、スライス又はブロックを含む圧縮されたビデオデータが送られる場合のビットレートを指す）を達成するために圧縮された再構成されたフレーム、スライス又はブロックを、元のフレーム、スライス又はブロックと比較し、元のフレーム、スライス又はブロックと所与のレートによる再構成されたフレーム、スライス又はブロックとの間の歪みの程度を決定することを伴う。モード選択ユニット４０は、所与のレートを達成するか、達成することを試みる複数の異なるメトリクスを使用して同じビデオデータを符号化し、これらの様々なメトリクスに関して歪み最適化プロセスを実行することができる。この場合、モード選択ユニット４０は、各再構成ビデオブロックのＲＤ出力を比較し、目標レートにおいて歪みが最も小さいものを選択することができる。
【００７４】
次いでモード選択ユニット４０は、この選択を動き推定ユニット４２に示すことができ、続いて動き推定ユニット４２は、エントロピーコード化ユニット５６とインターフェースして、この選択をエントロピーコード化ユニット５６に知らせる。一般に、動き推定ユニット４２は、エントロピーコード化ユニット５６とインターフェースして、被選択候補動きベクトルを識別するインデックスとともに動きベクトル予測が実行されたことを示す。上述のように、動き推定ユニット４２は、候補動きベクトルを規定された方法で、例えば、最高振幅から最低振幅へ、又は最低振幅から最高振幅へ、又は任意の他の規定された方法で配置することができる。代替的に、動き推定ユニット４２はエントロピーコード化ユニット５６に対し、ＭＶＰリストと呼ばれることもあるこのリスト内で候補動きベクトルがどのように配置されたかを信号伝達してもよい。次いでエントロピーコード化ユニット５６は、動きデータを符号化するようにＭＶＰが実行されたことを示すのに必要であり得る任意の他の情報とともに、単項コード又は短縮単項コードのいずれかを使用して、このインデックスを符号化することができる。エントロピーコード化ユニット５６は、ビットストリームにおいて（「ｍｖｐ＿ｉｄｘ」と示され得る）シンタックス要素として符号化インデックスを出力することができ、これは図１に関連して上述した方法で記憶又は送信され得る。
【００７５】
場合によっては、エントロピーコード化ユニット５６は、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）と呼ばれる形式のエントロピーコード化を実行する。ＣＡＢＡＣを実行する中で、エントロピーコード化ユニット５６は、（対応するコンテキストに関連するビデオデータをより効率的に圧縮するために様々なコンテキストについて特定された様々なコードテーブルである）複数の所謂コンテキストのうちの１つを選択することができ、選択されたコンテキストについて定義されたコードテーブルに従って、圧縮された残差データを符号化する。エントロピーコード化ユニット５６は、コンテキスト情報に基づいてコンテキストのうちの１つを選択することができ、このコンテキスト情報は、動きベクトル予測を実行するときに決定される参照インデックスと、一意の動きベクトル候補の数と、動きベクトル予測を実行するときに決定される予測方向とを含み得る。
【００７６】
図３は、符号化ビデオシーケンスを復号するビデオデコーダ３０の一例を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、メモリ８２と、加算器８０とを含む。ビデオデコーダ３０は、幾つかの例では、図１及び図２の例に示すビデオエンコーダ２０のようなビデオエンコーダに関して説明した符号化構文解析とは概して逆の復号構文解析を実行し得る。概して逆であるが、ビデオデコーダ３０は、場合によっては、ビデオエンコーダ２０によって実行される技法と同様の技法を実行することがある。言い換えれば、ビデオデコーダ３０は、ビデオエンコーダ２０によって実行されるプロセスと実質的に同様のプロセスを実行することができる。更に、上記のように、ビデオエンコーダ２０は、ビデオ符号化を実行するプロセスにおいてビデオ復号を実行し得る。説明すると、ビデオエンコーダ２０の逆量子化ユニット５８、逆変換ユニット６０、及び加算器６２は、ビデオデコーダ３０の逆量子化ユニット７６、逆変換ユニット７８、及び加算器８０と実質的に同様の動作を実行することができる。
【００７７】
図３の例に示すように、エントロピー復号ユニット７０は符号化ビットストリームを受信し、符号化ビットストリームは説明のために、被選択候補動きベクトル（この場合も、これらの候補動きベクトルは動きベクトル予測子又はＭＶＰと呼ばれることがある）を識別する単項コード化インデックス又は短縮単項コード化インデックスを含むと仮定される。エントロピー復号ユニット７０は、ビデオエンコーダ２０のエントロピーコード化ユニット５６とは概して逆のプロセスを実行する中で、現在のＰＵに関する動きベクトルを決定するように動きベクトル予測が実行されたことを示す、現在のＰＵに関するシンタックス要素又は他のコード化データを受信することができる。このシンタックス要素又は他のコード化データに応答して、エントロピー復号ユニット７０は、ビットストリームから単項コード又は短縮単項コードを適切に構文解析するために、プルーニング後に残存する候補動きベクトルの数を決定するように本開示で説明する技法を実施する。
【００７８】
候補動きベクトルの数を決定するために、エントロピーコード化ユニット７０は本開示で説明する技法に従って、動き補償ユニット７２とインターフェースし、動き補償ユニット７２に対し、候補動きベクトルの数を決定するように命令することができる。動き補償ユニット７２は、現在のＰＵに隣接するＰＵに関する空間的候補動きベクトルと参照フレーム内のコロケートＰＵに関する時間的候補動きベクトルとを取り出す。エントロピーコード化ユニット７０は動き補償ユニット７２に対し、（一般に、ビットストリームにおいて別のシンタックス要素として）現在のＰＵに関して識別される参照フレームを提供することができる。代替的に、動き補償ユニット７２は、ＡＭＶＰ又はマージモードのいずれかに関して、所定の方法で（例えば、現在のＰＵが位置する現在のフレームから１つ、２つ又は任意の他の数だけ後退又は前進して、など）識別される参照フレームから時間的候補動きベクトルを取り出すように構成され得る。
【００７９】
次いで動き補償ユニット７２は、ビデオエンコーダ２０の動き補償ユニット４４に関して上述した方法と実質的に同様の方法で、４つの空間的候補動きベクトルを含む（又は、空間的候補動きベクトルのうちの１つ以上がそれら自体時間的に予測されると決定される場合には、より少ない空間的候補動きベクトルを含み、この場合、そのように時間的に予測される空間的候補動きベクトルはプルーニングプロセスから除去される）中間リストを構成し、（潜在的にもっぱら空間的に予測される）空間的候補動きベクトルを有するこのリストをプルーニングし、（潜在的にもっぱら空間的に予測される）空間的候補動きベクトルを有するこのプルーニングされたリストと時間的候補動きベクトル（及び潜在的に時間的に予測される空間的候補動きベクトル）とを組み合わせることができる。代替的に、動き補償ユニット７２は、ビデオエンコーダ２０の動き補償ユニット４４に関して上述した方法と実質的に同様の方法で、（時間的に予測される空間的候補動きベクトルをデフォルト候補動きベクトルに差し替えた）４つの空間的候補動きベクトルを有する中間リストを決定し、（決定されたデフォルト候補動きベクトルのうちの１つ以上を含む）空間的候補動きベクトルを有するこのリストをプルーニングし、空間的候補動きベクトルを有するプルーニングされたリストと時間的候補動きベクトルとを組み合わせることができる。各場合において、動き補償ユニット７２は、プルーニングされたＭＶＰリストとしてプルーニングを実行した後に決定された候補動きベクトルのこのリストを出力する。このプルーニングされたＭＶＰリストを生成した後、動き補償ユニット７２はこのリスト内の候補動きベクトルの数をカウントし、この数をエントロピーコード化ユニット７０に信号伝達する。次いでエントロピーコード化ユニット７０は、上記の理由により提供されるビットストリームから単項コード化インデックス又は短縮単項コード化インデックスを適切に構文解析することができる。［良］
単項コード化インデックス又は短縮単項コード化インデックスを構文解析した後、エントロピーコード化ユニット７０は、単項コード化インデックス又は短縮単項コード化インデックスを復号して、ＭＶＰリストへのインデックスを生成することができる。次いでエントロピーコード化ユニット７０は、このインデックスを動き補償ユニット７２に渡し、次いで動き補償ユニット７２は、インデックスによって識別されるプルーニングされたＭＶＰリストから候補動きベクトルのうちの１つを選択する。インターコード化ブロックの場合、動き補償ユニット７２は、識別された動きベクトルに基づいて、インター予測データを生成することができる。動き補償ユニット７２は、この動きベクトルを使用して、メモリ８２に記憶された参照フレーム中の予測ブロックを識別し得る。イントラコード化ブロックの場合、イントラ予測ユニット７４は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット７６は、ビットストリーム中で供給され、エントロピー復号ユニット７０によって復号された量子化ブロック係数を逆量子化（inverse quantize）、即ち、逆量子化（de-quantize）する。逆量子化プロセスは、例えば、Ｈ．２６４復号規格によって定義された従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を決定し、同様に、適用すべき逆量子化の程度を決定するための、各マクロブロックについて加算器５０によって計算される量子化パラメータＱＰYの使用を含み得る。
【００８０】
逆変換ユニット６０は、逆変換、例えば、逆ＤＣＴ、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用して、画素領域において残差ブロックを生成する。動き補償ユニット７２は動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブ画素精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用される補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。動き補償ユニット７２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【００８１】
動き補償ユニット７２は、シンタックス情報の幾つかを使用して、符号化ビデオシーケンスの（１つ以上の）フレームを符号化するために使用されるＣＵのサイズと、符号化ビデオシーケンスのフレームの各ＣＵがどのように区分されるのかを記述する区分情報と、各ＣＵがどのように符号化されるのかを示すモードと、各インター符号化ＣＵのための１つ以上の参照フレーム（又はリスト）と、符号化ビデオシーケンスを復号するための他の情報とを決定する。
【００８２】
加算器８０は、残差ブロックを、動き補償ユニット７２又はイントラ予測ユニットによって生成される対応する予測ブロックと加算して、復号ブロックを形成する。所望される場合、ブロック歪みを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。復号ビデオブロックは、次いで、ＨＥＶＣ規格において復号ピクチャバッファと呼ばれることがあるメモリ８２内の参照フレーム記憶部に記憶され、参照フレーム記憶部は、参照ブロックをその後の動き補償に供給し、また、表示装置（図１の表示装置３２など）上での提示のために復号ビデオを生成する。
【００８３】
場合によっては、一例として、時間的候補動きベクトルを特定するスライスが消失したとき、即ち、符号化ビットストリームにおいて回復又は受信されないときのように、時間的候補動きベクトルは利用できないことがある。この時間的候補動きベクトルが利用不可能であるとき、動き補償ユニット７２は、この時間的候補動きベクトルをデフォルト値にセットするか、又はこの時間的候補動きベクトルに関するデフォルト動きベクトル情報を決定することができる。場合によっては、時間的候補動きベクトルに関するこのデフォルト動きベクトル情報は、参照フレームがイントラコード化されたかどうかに応じて再構成され得る。参照フレームがイントラコード化されていると決定されたとき、動き補償ユニット７２は、現在のフレームに現在の部分があるように、参照フレームの同じ位置に配置される参照フレームの部分に関して決定された空間的動きベクトルに基づいて、デフォルト候補動きベクトルに関するデフォルト動きベクトル情報を導出することができる。同様に、時間的に予測される空間的候補動きベクトルのうちの１つ以上は、利用不可能であるか消失していることがあり、現在のフレームに現在の部分があるように、参照フレームの同じ位置にコロケートされる参照フレームの部分に関して決定された空間的動きベクトルに基づいて、デフォルト候補動きベクトルに関するデフォルト動きベクトル情報を導出することができる。
【００８４】
本開示に示す技法の様々な態様はまた、消失又は紛失した時間的動きベクトルからそれら自体予測された空間的候補動きベクトルの結果として、ＣＡＢＡＣ又は任意の他のコンテキスト依存型可逆統計的コード化プロセスを実行するときに生じる問題に対処することができる。エントロピーコード化ユニット７０はこの問題を、本技法のこれらの態様に従い、消失した空間的候補動きベクトルを無効にすることによって克服することができる。代替的に、エントロピーコード化ユニット７０は、この消失した空間的候補動きベクトルをデフォルト動き情報に差し替えることができる。エントロピーコード化ユニット７０は、動き補償ユニット７２とインターフェースして、このデフォルト動き情報を決定することができる。このデフォルト動き情報は、デフォルト動きベクトルと、予測方向と、参照インデックスとを特定することができる。場合によっては、動き補償ユニット７２はこの差し替え動き情報を、（現在のスライスがイントラ予測型であるか、インター予測型であるかなどを示す）スライスタイプ、（現在のＰＵが存在する上記の４分木階層におけるＣＵの深さによる）現在のＣＵ深さ、現在のＰＵのサイズ又は任意の他の利用可能な情報に基づいて生成する。次いで動き補償ユニット７２は、このデフォルト動き情報をエントロピーコード化ユニット７０に提供することができる。このデフォルト動き情報を利用することによって、エントロピーコード化ユニット７０は、引き続きＣＡＢＡＣプロセスを実行することができる。
【００８５】
本開示で説明する技法は、幾つかの例では、空間的候補動きベクトルがそれ自体、空間的候補動きベクトルから予測されたか、それとも時間的候補動きベクトルから予測されたかを動き補償ユニット７２が決定できないとき（例えば、その時間的候補動きベクトルが消失したとき）に生じる問題を克服することもできる。これらの場合に、空間的候補動きベクトルのうちの１つが利用不可能であるとき、動き補償ユニット７２は、本開示の技法を実施して、空間的動きベクトル予測を無効化する（更に、それによって、エンコーダによって何が信号伝達されたかにかかわらず、コロケート時間的候補動きベクトルを利用する）ことができる。代替的に、動き補償ユニット７２は、上記で説明した方法でデフォルト動き情報を決定することができる。
【００８６】
本技法は更に、空間的候補動きベクトルがそれ自体、時間的候補動きベクトルから予測されたかどうかを動き補償ユニット７２が決定できないとき（例えば、その時間的候補動きベクトルが消失したとき）に生じる問題を克服することもできる。これらの場合に、空間的候補動きベクトルのうちの１つが利用不可能であるとき、動き補償ユニット７２は、本開示の技法を実施して、空間的動きベクトル予測を無効化する（更に、それによって、エンコーダによって何が信号伝達されたかにかかわらず、同位置に配置された時間的候補動きベクトルを利用する）ことができる。代替的に、動き補償ユニット７２は、上記で説明した方法でデフォルト動き情報を決定し、デフォルト候補動きベクトルのこのデフォルト動き情報に関してプルーニングを実行するか、又はこのデフォルト候補動きベクトルをプルーニングから完全に除去して（但し、それを別個に特定して）、ビットストリームの構文解析を有効にすることができる。
【００８７】
上述のように、マージモードとＡＭＶＰという、２つのタイプの動きベクトル予測がある。マージモードの場合、動き補償ユニット７２は、デフォルト動き情報を決定するときに、動きベクトル振幅と、予測方向と、参照インデックスとを決定する。ＡＭＶＰの場合、動き補償ユニット７２は、動きベクトル振幅を決定するが、予測方向と参照インデックスとを決定する必要はなく、その理由は、これらが現在のＰＵに関してビットストリームにおいて別個に信号伝達されることにある。従って、動き補償ユニット７２は、デフォルト動き情報の決定を、動きベクトル予測を実行するために信号伝達されたモード、即ち現在のＰＵに関して、信号伝達された動きベクトル予測のタイプがマージモードであるか、それともＡＭＶＰであるかに依拠し得る。
【００８８】
図４は、本開示で説明する動きベクトル予測技法を実施する際の、図２の例に示すビデオエンコーダ２０などのビデオエンコーダの例示的な動作を示すフローチャートである。初めに、動き推定ユニット４２は、上記のように、現在のＣＵに対応する現在のＰＵに関する空間的候補動きベクトルを決定することができる（９０）。動き推定ユニット４２は、これらの空間的候補動きベクトルを記憶する中間リスト又は中間空間的ＭＶＰリストと呼ばれ得るものを例示化することができる。次いで動き推定ユニット４２は、上記の方法のうちの１つにより、冗長な空間的候補動きベクトルをプルーニングすることができる（９２）。この意味で、動き推定ユニット４２は、残存する空間的候補動きベクトルを有する中間空間的ＭＶＰリストを生成することができる。
【００８９】
残存する空間的候補動きベクトルを有するこの中間空間的ＭＶＰリストを生成した後、動き推定ユニット４２は、この場合も上記のように、参照フレーム内の同位置に配置されたＰＵ（コロケートＰＵ）からの、現在のＰＵに関する時間的候補動きベクトルを決定することができる（９４）。次に、動き推定ユニット４２は、残存する空間的候補動きベクトルと時間的候補動きベクトルとを含むようにＭＶＰリストを作成することができる（９６）。動き推定ユニット４２は、このＭＶＰリストを動き補償ユニット４４に提供することができ、動き補償ユニット４４は、ＭＶＰリストに含まれる各候補動きベクトルに関して、上記の方法で動き補償を実行する。次いでビデオエンコーダ２０は、ＭＶＰリストに含まれる候補動きベクトルの各々に関して実行された動き補償によって生成された予測データに基づいて、残差データを生成する。ビデオエンコーダ２０は、残差データに１つ以上の変換を適用し、変換された残差データを量子化し、次いで残差データを再構成する。次いで再構成残差データは、ＭＶＰリストに含まれる候補動きベクトルの各々に基づいて生成された予測データによって増強されて、再構成ビデオデータが生成される。
【００９０】
次いでモード選択ユニット４０は、再構成ビデオデータに基づいて、現在のＰＵに関してＭＶＰリストから候補動きベクトルのうちの１つを選択することができる（９８）。例えば、モード選択ユニット４０は、ＭＶＰリスト内の候補動きベクトルの各々に関して再構成された再構成ビデオデータに対して何らかの形態のレート歪み分析を実行し、最良のレート対歪みメトリックをもたらす候補動きベクトルのうちの１つをリストから選択することができる。次いでモード選択ユニット４０は、動き推定ユニット４２とインターフェースして、その候補動きベクトル選択を示すことができる。次いで動き推定ユニット４２は、上記のように、候補動きベクトルのうちの選択された１つを識別するＭＶＰリストへのインデックスを決定することができる（１００）。次いで動き推定ユニット４２は、このインデックスをエントロピーコード化ユニット５６に提供することができる。次いでエントロピーコード化ユニット５６は、上記で更に説明したように、ＭＶＰリスト内の候補動きベクトルのうちの選択された１つを識別するインデックスをコード化することができる（１０２）。次いでエントロピーコード化ユニット５６は、コード化インデックスをビットストリームに挿入することができる（１０４）。
【００９１】
図５は、本開示で説明する動きベクトル予測技法を実施する際の、図３の例に示すビデオデコーダ３０などのビデオデコーダの例示的な動作を示すフローチャートである。上記のように、ビデオデコーダ３０のエントロピー復号ユニット７０は最初に、一般にそのシンタックス要素名によって「ｍｖｐ＿ｉｄｘ」又は「ＭＶＰインデックス」と呼ばれるコード化インデックスを含むビットストリームを受信する（１１０）。エントロピー復号ユニット７０はまた、動きベクトル予測として表現される動きベクトルを現在のＰＵが有することを示す、このＭＶＰインデックスの前又は後のいずれかにある他のシンタックス要素を復号する。ビットストリームからこのＭＶＰインデックスを構文解析するために、エントロピー復号ユニット７０は最初に、プルーニングプロセスを実行した後に残存する候補動きベクトルの数を決定しなければならない。候補動きベクトルの数を決定するために、エントロピー復号ユニット７０は、動き補償ユニット７２とインターフェースし、動き補償ユニット７２に対し、現在のＰＵに関するこの候補動きベクトルの数を提示するように要求することができる。
【００９２】
この要求に応答して、動き補償ユニット７２は、上記で説明した方法で、現在のＰＵに関する空間的候補動きベクトルを決定する（１１２）。空間的候補動きベクトルうちの１つ又は複数が、上記でより詳しく述べた理由により利用不可能である場合（「はい」１１４）、動き補償ユニット７２は、上記の方法のうちのいずれかにより、（デフォルト動き情報などの）動き情報を生成し、生成された動き情報に基づいて動き補償を実行することができる（１１６、１１８）。空間的候補動きベクトルの全てが利用可能である場合（「いいえ」１１４）、動き補償ユニット７２は、上記で更に説明したように、冗長な空間的候補動きベクトルをプルーニングする（１２０）。
【００９３】
冗長な空間的候補動きベクトルをプルーニングした後、動き補償ユニット７２は、上記のように、参照フレーム内の同位置に配置されたＰＵからの、現在のＰＵに関する時間的候補動きベクトルを決定する（１２２）。この時間的候補動きベクトルが上記の理由により利用不可能である場合（「はい」１２４）、動き補償ユニット７２は動き情報を生成し、生成された動き情報に基づいて動き補償を実行する（１１６、１１８）。一方、時間的候補動きベクトルが利用可能である場合（「いいえ」１２４）、動き補償ユニット７２は、残存する空間的候補動きベクトルと時間的候補動きベクトルとを含むようにＭＶＰリストを作成する（１２６）。次いで動き補償ユニット７２は、ＭＶＰリスト内の候補動きベクトルの数を決定して（１２８）、この数をエントロピー復号ユニット７０に渡すことができる。
【００９４】
次いでエントロピー復号ユニット７０は、決定された数に基づいて、ビットストリームからＭＶＰインデックスを構文解析することができる（１３０）。次いでエントロピー復号ユニット７０は、コード化ＭＶＰインデックスを復号する（１３１）。エントロピー復号ユニット７０は、復号ＭＶＰインデックスを動き補償ユニット７２に渡し、動き補償ユニット７２は、上記のように復号ＭＶＰインデックスに基づいて、ＭＶＰリストから候補動きベクトルのうちの１つを選択する（１３２）。次いで動き補償ユニット７２は、候補動きベクトルのうちの選択された１つに基づいて、上記で説明した方法で動き補償を実行する（１３４）。動き補償ユニット７２は、いずれのモードがビットストリームで信号伝達されるか、又は動き補償ユニット７２によって決定されるか、のいずれかに応じて、マージモード又はＡＭＶＰのいずれかに従って動き補償を実行することができる。
【００９５】
図６は、現在のＰＵ１４４に対する隣接する近傍ＰＵ１４０Ａ〜１４０Ｄ及び時間的に同位置に配置されたＰＵ１４２Ａの例示的配置を示す図である。図６の例に示すように、現在のＰＵ１４４は現在のフレーム１４６Ａ内に含まれる。時間的に、現在のフレーム１４６Ａの１つ前に参照フレーム１４６Ｂがあり、その１つ前に参照フレーム１４６Ｃがある。隣接する近傍ＰＵ１４０Ａは、現在のＰＵ１４４の左に空間的に隣接して存在する。隣接する近傍ＰＵ１４０Ｂは、現在のＰＵ１４４の左上に空間的に隣接して存在する。隣接する近傍ＰＵ１４０Ｃは、現在のＰＵ１４４の上に空間的に隣接して存在する。隣接する近傍ＰＵ１４０Ｄは、現在のＰＵ１４４の右上に空間的に隣接して存在する。時間的に同位置に配置されたＰＵ１４２Ａは、現在のＰＵ１４４に時間的に先行し、現在のＰＵ１４４が現在のフレーム１４６Ａ内で位置するのと同じ位置に参照フレーム１４６Ｂ内で位置する。
【００９６】
隣接する近傍ＰＵ１４０Ａ〜１４０Ｄの各々は、現在のＰＵ１４４に関する空間的候補動きベクトルを記憶あるいは提供し、時間的に同位置に配置されたＰＵ１４２Ａは、現在のＰＵ１４４に関する時間的候補動きベクトルを記憶あるいは提供する。図２の例に示すビデオデコーダ３０の動き補償ユニット７２のようなビデオデコーダの動き補償ユニットは、これらの空間的候補動きベクトル及び時間的候補動きベクトルを、それぞれＰＵ１４０Ａ〜１４０Ｄ及び１４２Ａから取り出すことができる。時間的に同位置に配置されたＰＵ１４２Ａは、現在のＰＵ１４４のフレームとは異なる参照フレーム１４６Ｂ内に含まれるので、この時間的に同位置に配置されたＰＵ１４２Ａは通常、（新生ＨＥＶＣ規格ではスライスと呼ばれることが多い）異なる単独で復号可能な部分に関連付けられる。参照フレーム１４６Ｂのスライスは（例えば、伝送中に、又はメモリ若しくは記憶機器の破損により）消失することがあり、動き補償ユニット７２は、現在のＰＵ１４４に関する時間的候補動きベクトルを記憶しているこの時間的に同位置に配置されたＰＵ１４２Ａを取り出すことができないことがある。この時間的候補動きベクトルを消失することにより、エントロピー復号ユニット７０は上記の理由によりビットストリームを構文解析できないことがある。本開示で説明する技法は、プルーニングプロセスに時間的候補動きベクトルを含めないことによって動き補償ユニット７２がこの問題を克服することを可能にし得る。
【００９７】
同様に、隣接する近傍ＰＵ１４０Ａ〜１４０Ｄのうちの１つに関する動きベクトルを決定するようにＭＶＰが実行され、その結果、時間的候補動きベクトルが選択されており、時間的候補動きベクトルを記憶しているその時間的に同位置に配置されたＰＵが消失したとき、現在のＰＵ１４４に関する空間的候補動きベクトルが消失することがある。例示のために、時間的に同位置に配置されたＰＵが図６の例では時間的に同位置に配置されたＰＵ１４２Ｂとして識別される、隣接する近傍ＰＵ１４０Ａについて考える。ＰＵ１４２Ｂが消失し、空間的近傍ＰＵ１４０Ａに関する動きベクトルが、ＰＵ１４２Ｂに関連する時間的候補動きベクトルとして選択されている場合、ＰＵ１４０Ａに関する動きベクトル情報がない。その結果、現在のＰＵ１４４に関する空間的候補動きベクトルも消失する。この消失した空間的候補動きベクトルを潜在的に克服するために、本技法は、動き補償ユニット７２が（デフォルト動き情報などの）動き情報を生成することを可能にし、この動き情報は、現在のＰＵ１４４に関する空間的候補動きベクトルとして使用され得る。
【００９８】
更に、この消失した空間的候補動きベクトル（又は、更に言えば消失した時間的候補動きベクトル）は、ＭＶＰが実行され、複数の時間的に同位置に配置されたＰＵに関して時間的候補動きベクトルが選択されたときに生じ得る。例示のために、ＰＵ１４０Ａと時間的に同位置に配置されるＰＵ１４２Ｂに関する動きベクトルを決定するようにＭＶＰが実行され、その時間的に同位置に配置されたＰＵ、即ち、図６の例ではＰＵ１４２Ｃが消失したと仮定する。この消失は、本開示で説明する技法がなければ、ビットストリームからＭＶＰインデックスを構文解析することを妨げるだけでなく、ＰＵ１４２Ｂに関する動きベクトルの消失を招くことにもなる。ＰＵ１４０Ａに関する動きベクトルを決定するようにＭＶＰが実行されており、時間的に同位置に配置されたＰＵ１４２Ｂが選択されていると仮定すると、ＰＵ１４２Ｂに関する動きベクトルの消失は、本開示で説明する技法がなければ、ＰＵ１４０Ａに関する動きベクトルの消失を招く。この動きベクトルの消失は、空間的候補動きベクトルが利用できないという点で、現在のＰＵ１４４に影響を与える。このために、本技法は、複数消失効果（multiple loss effect）と呼ばれ得る事態を防ぐために、動き補償ユニット７２が動き情報を生成する（又は、場合によっては、消失した動き情報を再生する）ことを可能にする。
【００９９】
上記の例は、重複する空間的候補動きベクトルを除去することに言及しているが、本技法は必ずしも、重複する空間的候補動きベクトルを除去することのみを要求するとは限らない。本技法は、全般的に空間的候補動きベクトルのうちの少なくとも１つを除去するためにプルーニングを実行するように実施され得る。例えば、ビデオエンコーダは、ピクチャ、フレーム、スライス又はブロックのレベルにおいて、幾つかの例を挙げれば最大振幅又は最小振幅を有する空間的候補動きベクトルをプルーニングすることを信号伝達し得る。代替的に、ビデオエンコーダは、ビットストリームにおいて、プルーニング用の基準としてＭＶＰが特定される場合のしきい値などの任意の基準を信号伝達し得る。幾つかの実施形態では、ビデオエンコーダ及びビデオデコーダは、候補動きベクトルがプルーニングされる場合の一定のプロファイル又は他の構成に同意し得る。場合によっては、ビデオデコーダは、コンテキスト又は他の情報に基づいて、幾つかの候補動きベクトルをいつプルーニングするかを暗示し得る。従って、本技法は重複する候補動きベクトルを除去するためだけにプルーニングを実行することに厳密に限定されるものではなく、少なくとも１つの空間的候補動きベクトルをプルーニングするように実施され得る任意の技法を包含するものである。
【０１００】
１つ以上の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装する場合、機能は、１つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータデータ記憶媒体又は通信媒体を含み得る。データ記憶媒体は、本開示で説明した技法を実施するための命令、コード及び／又はデータ構造を取り出すために１つ以上のコンピュータ若しくは１つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく、例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又は他の光ディスク記憶、磁気ディスク記憶若しくは他の磁気記憶機器、フラッシュメモリ、又は命令若しくはデータ構造の形態の所望のプログラムコードを搬送又は記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。同様に、いかなる接続も適切にコンピュータ可読媒体と称される。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）及びブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１０１】
符号は、１つ以上のデジタル信号プロセッサ（ＤＳＰ）など１つ以上のプロセッサ、汎用マイクロプロセッサ、決定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、又は他の等価な集積若しくは個別論理回路によって実行できる。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明する技法の実施に好適な任意の他の構造のいずれかを指す。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び／又はソフトウェアモジュール内に提供され得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つ以上の回路又は論理要素において十分に実施され得る。
【０１０２】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）又はＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置において実施され得る。本開示では、開示する技法を実行するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットは、好適なソフトウェア及び／又はファームウェアとともに、上記で説明したように１つ以上のプロセッサを含む、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって実現され得る。
【０１０３】
様々な例について説明した。これら及び他の例は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオデータを符号化する方法であって、現在のビデオフレームの現在の部分に関連する、前記現在の部分に隣接する前記現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定することと、前記空間的候補動きベクトルのうちの少なくとも１つを除去するために前記空間的候補動きベクトルをプルーニングすることと、前記現在のビデオフレームの前記現在の部分に関連する、参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを決定することと、被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することと、ビットストリームにおいて前記被選択候補動きベクトルを信号伝達することを備える方法。
［２］  前記空間的候補動きベクトルをプルーニングすることは、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングすることを備える、請求項１］に記載の方法。
［３］  前記現在の部分は現在のコード化ユニット（ＣＵ）を備え、前記参照フレームの前記部分は前記参照フレームのＣＵを備える、請求項１］に記載の方法。
［４］  少なくとも前記被選択候補動きベクトルを備える予測データを含む予測単位（ＰＵ）を生成することを更に備え、前記被選択候補動きベクトルを信号伝達することは、前記ビットストリームにおいて前記ＰＵを信号伝達することを備える、［１］に記載に方法。
［５］  前記被選択候補動きベクトルを信号伝達することは、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルを有するリスト内における前記被選択候補動きベクトルの位置を識別する動きベクトル予測子（ＭＶＰ）インデックスとして、前記被選択候補動きベクトルを信号伝達することを備える、［１］に記載の方法。
［６］  前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルを有するリスト内における前記被選択候補動きベクトルの位置を識別する動きベクトル予測子（ＭＶＰ）インデックスを決定することと、単項コード又は短縮単項コードを使用して前記ＭＶＰインデックスを符号化して、符号化ＭＶＰインデックスを生成することを更に備え、前記被選択候補動きベクトルを信号伝達することは、前記ビットストリームにおいて前記符号化ＭＶＰインデックスを信号伝達することを備える、［１］に記載に方法。
［７］  前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することは、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルの各々に関してレート歪み分析を実行することと、前記レート歪み分析に基づいて、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することを備える、［１］に記載の方法。
［８］  決定された前記空間的候補動きベクトルの各々が空間的に予測されたか、それとも時間的に予測されたかを決定することを更に備え、前記空間的候補動きベクトルのうちの前記重複するものを除去するために前記空間的候補動きベクトルをプルーニングすることは、決定された前記空間的候補動きベクトルのうちで、時間的に予測されると決定されたものは一切プルーニングせず、決定された前記空間的候補動きベクトルのうちで、空間的に予測されると決定されたもののみをプルーニングすることを備え、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することは、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、時間的に予測されると決定された前記空間的候補動きベクトルのうちの１つ、又はプルーニング後に残存する空間的に予測されると決定された前記空間的候補動きベクトルのうちの１つを選択することを備える、［１］に記載の方法。
［９］  決定された前記空間的候補動きベクトルの各々が空間的に予測されたか、それとも時間的に予測されたかを決定することと、前記空間的候補動きベクトルのうちで、時間的に予測されると決定されたものをデフォルト候補動きベクトルに差し替えることとを更に備え、前記デフォルト候補動きベクトルはデフォルト動きベクトル情報を含み、前記デフォルト動きベクトル情報は、動きベクトル振幅と、前記参照フレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照フレームを識別する参照インデックスとを備え、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングすることは、前記空間的候補動きベクトルのうちの重複するものを除去するために、前記デフォルト候補動きベクトルのうちの１つ以上を含む前記空間的候補動きベクトルをプルーニングすることを備える、［１］に記載の方法。
［１０］  時間的に予測されず、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルのいずれとも異なる１つ以上の追加の空間的候補動きベクトルを決定することを更に備え、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することは、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、プルーニング後に残存する前記空間的候補動きベクトルのうちの１つ、又は前記追加の空間的候補動きベクトルのうちの１つを選択することを備える、［１］に記載の方法。
［１１］  ビデオデータを符号化するための装置であって、現在のビデオフレームの現在の部分に関連する、前記現在の部分に隣接する前記現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定するための手段と、前記空間的候補動きベクトルのうちの少なくとも１つを除去するために前記空間的候補動きベクトルをプルーニングするための手段と、前記現在のビデオフレームの前記現在の部分に関連する、参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを決定するための手段と、被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択するための手段と、ビットストリームにおいて前記被選択候補動きベクトルを信号伝達するための手段を備える装置。
［１２］  前記空間的候補動きベクトルをプルーニングするための前記手段は、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングするための手段を備える、［１１］に記載の装置。
［１３］  決定された前記空間的候補動きベクトルの各々が空間的に予測されたか、それとも時間的に予測されたかを決定するための手段を更に備え、前記空間的候補動きベクトルのうちの前記重複するものを除去するために前記空間的候補動きベクトルをプルーニングするための前記手段は、決定された前記空間的候補動きベクトルのうちで、時間的に予測されると決定されたものは一切プルーニングせず、決定された前記空間的候補動きベクトルのうちで、空間的に予測されると決定されたもののみをプルーニングするための手段を備え、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択するための前記手段は、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、時間的に予測されると決定された前記空間的候補動きベクトルのうちの１つ、又はプルーニング後に残存する空間的に予測されると決定された前記空間的候補動きベクトルのうちの１つを選択するための手段を備える、［１１］に記載の装置。
［１４］  決定された前記空間的候補動きベクトルの各々が空間的に予測されたか、それとも時間的に予測されたかを決定するための手段と、前記空間的候補動きベクトルのうちで、時間的に予測されると決定されたものをデフォルト候補動きベクトルに差し替えるための手段とを更に備え、前記デフォルト候補動きベクトルはデフォルト動きベクトル情報を含み、前記デフォルト動きベクトル情報は、動きベクトル振幅と、前記参照フレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照フレームを識別する参照インデックスとを備え、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングするための前記手段は、前記空間的候補動きベクトルのうちの重複するものを除去するために、前記デフォルト候補動きベクトルのうちの１つ以上を含む前記空間的候補動きベクトルをプルーニングするための手段を備える、［１１］に記載の装置。
［１５］  時間的に予測されず、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルのいずれとも異なる１つ以上の追加の空間的候補動きベクトルを決定するための手段を更に備え、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択するための前記手段は、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、プルーニング後に残存する前記空間的候補動きベクトルのうちの１つ、又は前記追加の空間的候補動きベクトルのうちの１つを選択するための手段を備える、［１１］に記載の装置。
［１６］  ビデオデータを符号化するための装置であって、現在のビデオフレームの現在の部分に関連する、前記現在の部分に隣接する前記現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定し、前記空間的候補動きベクトルのうちの少なくとも１つを除去するために前記空間的候補動きベクトルをプルーニングし、前記現在のビデオフレームの前記現在の部分に関連する、参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを決定する動き補償ユニットと、被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択するモード選択ユニットと、ビットストリームにおいて前記被選択候補動きベクトルを信号伝達するエントロピーコード化ユニットを備える装置。
［１７］  前記動き補償ユニットは、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングする、［１６］に記載の装置。
［１８］  前記現在の部分は現在のコード化ユニット（ＣＵ）を備え、前記参照フレームの前記部分は前記参照フレームのＣＵを備える、［１６］に記載の装置。
［１９］  前記動き補償ユニットは、少なくとも前記被選択候補動きベクトルを備える予測データを含む予測単位（ＰＵ）を更に生成し、前記エントロピーコード化ユニットは、前記ビットストリームにおいて前記ＰＵを信号伝達する、［１６］に記載の装置。
［２０］  前記エントロピーコード化ユニットは、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルを有するリスト内における前記被選択候補動きベクトルの位置を識別する動きベクトル予測子（ＭＶＰ）インデックスとして、前記被選択候補動きベクトルを信号伝達する、［１６］に記載の装置。
［２１］  前記動き補償ユニットは、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルを有するリスト内における前記被選択候補動きベクトルの位置を識別する動きベクトル予測子（ＭＶＰ）インデックスを決定し、前記エントロピーコード化ユニットは、単項コード又は短縮単項コードのうちの１つを使用して前記ＭＶＰインデックスを符号化して、符号化ＭＶＰインデックスを生成し、前記ビットストリームにおいて前記符号化ＭＶＰインデックスを信号伝達する、［１６］に記載の装置。
［２２］  前記モード選択ユニットは、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルの各々に関してレート歪み分析を実行し、前記レート歪み分析に基づいて、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択する、［１６］に記載の装置。
［２３］  前記動き補償ユニットは、更に、決定された前記空間的候補動きベクトルの各々が空間的に予測されたか、それとも時間的に予測されたかを決定し、決定された前記空間的候補動きベクトルのうちで、時間的に予測されると決定されたものは一切プルーニングせず、決定された前記空間的候補動きベクトルのうちで、空間的に予測されると決定されたもののみをプルーニングし、前記モード選択ユニットは、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、時間的に予測されると決定された前記空間的候補動きベクトルのうちの１つ、又はプルーニング後に残存する空間的に予測されると決定された前記空間的候補動きベクトルのうちの１つを選択する、［１６］に記載の装置。
［２４］  前記動き補償ユニットは、決定された前記空間的候補動きベクトルの各々が空間的に予測されたか、それとも時間的に予測されたかを決定し、前記空間的候補動きベクトルのうちで、時間的に予測されると決定されたものをデフォルト候補動きベクトルに差し替え、前記デフォルト候補動きベクトルはデフォルト動きベクトル情報を含み、前記デフォルト動きベクトル情報は、動きベクトル振幅と、前記参照フレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照フレームを識別する参照インデックスとを備え、前記動き補償ユニットは、前記空間的候補動きベクトルのうちの重複するものを除去するために、前記デフォルト候補動きベクトルのうちの１つ以上を含む前記空間的候補動きベクトルをプルーニングする、［１６］に記載の装置。
［２５］  前記動き補償ユニットは、時間的に予測されず、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルのいずれとも異なる１つ以上の追加の空間的候補動きベクトルを更に決定し、前記モード選択ユニットは、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、プルーニング後に残存する前記空間的候補動きベクトルのうちの１つ、又は前記追加の空間的候補動きベクトルのうちの１つを選択する、［１］に記載の装置。
［２６］  実行されたとき、１つ以上のプロセッサに、現在のビデオフレームの現在の部分に関連する、前記現在の部分に隣接する前記現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定することと、前記空間的候補動きベクトルのうちの少なくとも１つを除去するために前記空間的候補動きベクトルをプルーニングすることと、前記現在のビデオフレームの前記現在の部分に関連する、参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを決定することと、被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することと、ビットストリームにおいて前記被選択候補動きベクトルを信号伝達することを行わせる命令を備える非一時的コンピュータ可読媒体。
［２７］  ビデオデータを復号する方法であって、現在のビデオフレームの現在の部分に関連する、前記現在のビデオフレーム内の前記現在の部分に隣接する空間的近傍部分に関して決定された近傍動きベクトルを備える空間的候補動きベクトルを決定することと、前記現在のビデオフレームの前記現在の部分に関して決定された、参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを除去することなく、前記空間的候補動きベクトルのうちの少なくとも１つを除去するために前記空間的候補動きベクトルをプルーニングすることと、ビットストリームにおいて信号伝達された動きベクトル予測子（ＭＶＰ）インデックスに基づいて、被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することと、前記被選択候補動きベクトルに基づいて動き補償を実行することを備える方法。
［２８］  前記空間的候補動きベクトルをプルーニングすることは、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングすることを備える、［２７］に記載の方法。
［２９］  前記時間的候補動きベクトルと前記空間的候補動きベクトルのうちでプルーニング後に残存するものとを合わせた候補動きベクトルの数を決定することと、候補動きベクトルの前記決定された数に基づいて、前記ビットストリームから、単項コード化ＭＶＰインデックス及び短縮単項コード化ＭＶＰインデックスのうちの１つを備えるコード化ＭＶＰインデックスを構文解析することと、前記コード化ＭＶＰインデックスを復号して前記ＭＶＰインデックスを決定することを更に備える、［２７］に記載の方法。
［３０］  前記現在のフレームの前記現在の部分に関する前記時間的候補動きベクトルは利用不可能であると決定することと、前記時間的候補動きベクトルは利用不可能であると決定したことに応答して、前記時間的候補動きベクトルに関するデフォルト動きベクトル情報を決定することとを更に備え、前記デフォルト動きベクトル情報は、動きベクトル振幅と、前記参照フレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照フレームを識別する参照インデックスとを備える、［２７］に記載の方法。
［３１］  決定された前記デフォルト動きベクトル情報に基づいて、コンテキスト適応型可逆統計的復号を実行するためのコンテキストを決定することを更に備え、前記コンテキストは、前記ビデオデータを復号するために使用するコード化テーブルを識別する、［３０］に記載の方法。
［３２］  前記デフォルト動きベクトル情報を決定することは、前記参照フレームがイントラコード化されたかどうかを決定することと、前記参照フレームがイントラコード化されていると決定されたときに、前記参照フレームの前記部分に関して決定された空間的動きベクトルに基づいて、前記デフォルト動きベクトル情報を導出することを備える、［３０］に記載の方法。
［３３］  前記空間的候補動きベクトルのうちの１つが利用不可能であると決定することと、前記空間的候補動きベクトルのうちの前記１つが利用不可能であると決定したことに応答して、動きベクトル予測モードに基づいて、前記空間的候補動きベクトルのうちの前記１つに関するデフォルト動きベクトル情報を含むデフォルト候補動きベクトルを決定することを更に備え、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングすることは、前記空間的候補動きベクトルのうちの重複するものを除去するために、前記デフォルト候補動きベクトルのうちの１つ以上を含む前記空間的候補動きベクトルをプルーニングすることを備え、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、プルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することは、前記ビットストリームにおいて信号伝達された前記動きベクトル予測子（ＭＶＰ）インデックスに基づいて、前記時間的候補動きベクトル、又は利用不可能であると決定された前記空間的候補動きベクトルのうちの１つ、又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することを備える、［２７］に記載の方法。
［３４］  前記デフォルト動きベクトル情報を決定することは、前記動きベクトル予測モードが適応型動きベクトル予測（ＡＭＶＰ）モードであるときに、前記参照フレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向、又は前記参照フレームを識別する参照インデックスを決定することなしに、動きベクトル振幅を決定することを備える、［３３］に記載の方法。
［３５］  前記デフォルト動きベクトル情報を決定することは、前記動きベクトル予測モードがマージモードであるときに、動きベクトル振幅と、前記参照フレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照フレームを識別する参照インデックスとを決定することを備える、［３３］に記載の方法。
［３６］  決定された前記デフォルト動きベクトル情報に基づいて、コンテキスト適応型可逆統計的復号を実行するためのコンテキストを決定することを更に備え、前記コンテキストは、前記ビデオデータを復号するために使用するコード化テーブルを識別する、［３３］に記載の方法。
［３７］  前記空間的候補動きベクトルのうちの１つが利用不可能であると決定することと、前記空間的候補動きベクトルのうちの前記１つが利用不可能であると決定したことに応答して、利用不可能であると決定された前記空間的候補動きベクトルのうちの前記１つを前記プルーニングプロセスから除去することを更に備え、前記空間的候補動きベクトルをプルーニングすることは、前記現在のビデオフレームの前記現在の部分に関して決定された時間的候補動きベクトル、又は利用不可能であると決定された前記空間的候補動きベクトルのうちの前記１つを除去することなく、前記空間的候補動きベクトルのうちの重複するものを除去するために、前記空間的候補動きベクトルのうちで利用可能であると決定されたもののみをプルーニングすることを備える、［２７］に記載の方法。
［３８］  時間的に予測されず、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルのいずれとも異なる１つ以上の追加の空間的候補動きベクトルを決定することを更に備え、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することは、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、プルーニング後に残存する前記空間的候補動きベクトルのうちの１つ、又は前記追加の空間的候補動きベクトルのうちの１つを選択することを備える、［１］に記載の方法。
［３９］  ビデオデータを復号するための装置であって、現在のビデオフレームの現在の部分に関連する、前記現在の部分に隣接する前記現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定するための手段と、前記現在のビデオフレームの前記現在の部分に関して決定された、参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを除去することなく、前記空間的候補動きベクトルのうちの少なくとも１つを除去するために前記空間的候補動きベクトルをプルーニングするための手段と、ビットストリームにおいて信号伝達された動きベクトル予測子（ＭＶＰ）インデックスに基づいて、被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つのうちの１つを選択するための手段と、前記被選択候補動きベクトルに基づいて動き補償を実行するための手段を備える装置。
［４０］  前記空間的候補動きベクトルをプルーニングするための前記手段は、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングするための手段を備える、［３９］に記載の装置。
［４１］  前記時間的候補動きベクトルと前記空間的候補動きベクトルのうちでプルーニング後に残存するものとを合わせた候補動きベクトルの数を決定するための手段と、候補動きベクトルの前記決定された数に基づいて、前記ビットストリームから、単項コード化ＭＶＰインデックス及び短縮単項コード化ＭＶＰインデックスのうちの１つを備えるコード化ＭＶＰインデックスを構文解析するための手段と、前記コード化ＭＶＰインデックスを復号して前記ＭＶＰインデックスを決定するための手段を更に備える、［３９］に記載の装置。
［４２］  前記現在のフレームの前記現在の部分に関する前記時間的候補動きベクトルは利用不可能であると決定するための手段と、前記時間的候補動きベクトルは利用不可能であると決定したことに応答して、前記時間的候補動きベクトルに関するデフォルト動きベクトル情報を決定するための手段とを更に備え、前記デフォルト動きベクトル情報は、動きベクトル振幅と、前記参照フレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照フレームを識別する参照インデックスとを備える、［３９］に記載の装置。
［４３］  決定された前記デフォルト動きベクトル情報に基づいて、コンテキスト適応型可逆統計的復号を実行するためのコンテキストを決定するための手段を更に備え、前記コンテキストは、前記ビデオデータを復号するために使用するコード化テーブルを識別する、［４２］に記載の装置。
［４４］  前記デフォルト動きベクトル情報を決定するための前記手段は、前記参照フレームがイントラコード化されたかどうかを決定するための手段と、前記参照フレームがイントラコード化されていると決定されたときに、前記参照フレームの前記部分に関して決定された空間的動きベクトルに基づいて、前記デフォルト動きベクトル情報を導出するための手段を備える、［４２］に記載の装置。
［４５］  前記空間的候補動きベクトルのうちの１つが利用不可能であると決定するための手段と、前記空間的候補動きベクトルのうちの前記１つが利用不可能であると決定したことに応答して、動きベクトル予測モードに基づいて、前記空間的候補動きベクトルのうちの前記１つに関するデフォルト動きベクトル情報を含むデフォルト候補動きベクトルを決定するための手段を更に備え、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングするための前記手段は、前記空間的候補動きベクトルのうちの重複するものを除去するために、前記デフォルト候補動きベクトルのうちの１つ以上を含む前記空間的候補動きベクトルをプルーニングするための手段を備え、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、プルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択するための前記手段は、前記ビットストリームにおいて信号伝達された前記動きベクトル予測子（ＭＶＰ）インデックスに基づいて、前記時間的候補動きベクトル、又は利用不可能であると決定された前記空間的候補動きベクトルのうちの１つ、又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択することを備える、［３９］に記載の装置。
［４６］  前記デフォルト動きベクトル情報を決定するための前記手段は、前記動きベクトル予測モードが適応型動きベクトル予測（ＡＭＶＰ）モードであるときに、前記参照フレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向、又は前記参照フレームを識別する参照インデックスを決定することなしに、動きベクトル振幅を決定するための手段を備える、［４５］に記載の装置。
［４７］  前記デフォルト動きベクトル情報を決定するための前記手段は、前記動きベクトル予測モードがマージモードであるときに、動きベクトル振幅と、前記参照フレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照フレームを識別する参照インデックスとを決定するための手段を備える、［４５］に記載の装置。
［４８］  決定された前記デフォルト動きベクトル情報に基づいて、コンテキスト適応型可逆統計的復号を実行するためのコンテキストを決定するための手段を更に備え、前記コンテキストは、前記ビデオデータを復号するために使用するコード化テーブルを識別する、［４５］に記載の装置。
［４９］  前記空間的候補動きベクトルのうちの１つが利用不可能であると決定するための手段と、前記空間的候補動きベクトルのうちの前記１つが利用不可能であると決定したことに応答して、利用不可能であると決定された前記空間的候補動きベクトルのうちの前記１つを前記プルーニングプロセスから除去するための手段を更に備え、前記空間的候補動きベクトルをプルーニングするための前記手段は、前記現在のビデオフレームの前記現在の部分に関して決定された時間的候補動きベクトル、又は利用不可能であると決定された前記空間的候補動きベクトルのうちの前記１つを除去することなく、前記空間的候補動きベクトルのうちの重複するものを除去するために、前記空間的候補動きベクトルのうちで利用可能であると決定されたもののみをプルーニングするための手段を備える、［３９］に記載の装置。
［５０］  時間的に予測されず、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルのいずれとも異なる１つ以上の追加の空間的候補動きベクトルを決定するための手段を更に備え、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択するための前記手段は、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、プルーニング後に残存する前記空間的候補動きベクトルのうちの１つ、又は前記追加の空間的候補動きベクトルのうちの１つを選択するための手段を備える、［３９］に記載の装置。
［５１］  ビデオデータを復号するための装置であって、現在のビデオフレームの現在の部分に関連する、前記現在の部分に隣接する近傍部分に関して決定された近傍動きベクトルを備える空間的候補動きベクトルを決定し、前記現在のビデオフレームの前記現在の部分に関して決定された、参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを除去することなく、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングし、ビットストリームにおいて信号伝達された動きベクトル予測子（ＭＶＰ）インデックスに基づいて、被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つのうちの１つを選択し、前記被選択候補動きベクトルに基づいて動き補償を実行する動き補償ユニットを備える装置。
［５２］  前記動き補償ユニットは、前記空間的候補動きベクトルのうちの重複するものを除去するために前記空間的候補動きベクトルをプルーニングする、［５１］に記載の装置。
［５３］  前記動き補償ユニットは、前記時間的候補動きベクトルと前記空間的候補動きベクトルのうちでプルーニング後に残存するものとを合わせた候補動きベクトルの数を決定し、前記装置は、候補動きベクトルの前記決定された数に基づいて、前記ビットストリームから、単項コード化ＭＶＰインデックス及び短縮単項コード化ＭＶＰインデックスのうちの１つを備えるコード化ＭＶＰインデックスを構文解析し、前記コード化ＭＶＰインデックスを復号して前記ＭＶＰインデックスを決定するエントロピー復号ユニットを更に備える、［５１］に記載の装置。
［５４］  前記現在のフレームの前記現在の部分に関する前記時間的候補動きベクトルは利用不可能であると決定することと、前記時間的候補動きベクトルは利用不可能であると決定したことに応答して、前記時間的候補動きベクトルに関するデフォルト動きベクトル情報を決定することとを更に備え、前記デフォルト動きベクトル情報は、動きベクトル振幅と、前記参照フレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照フレームを識別する参照インデックスとを備える、［５１］に記載の装置。
［５５］  決定された前記デフォルト動きベクトル情報に基づいて、コンテキスト適応型可逆統計的復号を実行するためのコンテキストを決定するエントロピー復号ユニットを更に備え、前記コンテキストは、前記ビデオデータを復号するために使用するコード化テーブルを識別する、［５４］に記載の装置。
［５６］  前記動き補償ユニットは、更に、前記参照フレームがイントラコード化されたかどうかを決定し、前記参照フレームがイントラコード化されていると決定されたときに、前記現在のフレームに前記現在の部分があるように、前記参照フレームの同じ位置にコロケートされる前記参照フレームの前記部分に関して決定された空間的動きベクトルに基づいて、前記デフォルト動きベクトル情報を導出する、［５４］に記載の装置。
［５７］  前記動き補償ユニットは、前記空間的候補動きベクトルのうちの１つが利用不可能であると決定し、前記空間的候補動きベクトルのうちの前記１つが利用不可能であると決定したことに応答して、動きベクトル予測モードに基づいて、前記空間的候補動きベクトルのうちの前記１つに関するデフォルト動きベクトル情報を含むデフォルト候補動きベクトルを決定し、前記空間的候補動きベクトルのうちの重複するものを除去するために、前記デフォルト候補動きベクトルのうちの１つ以上を含む前記空間的候補動きベクトルをプルーニングし、ビットストリームにおいて信号伝達された動きベクトル予測子（ＭＶＰ）インデックスに基づいて、前記時間的候補動きベクトルのうちの１つ、利用不可能であると決定された前記空間的候補動きベクトルのうちの１つ、又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つを選択する、［５１］に記載の装置。
［５８］  前記動き補償ユニットは、前記動きベクトル予測モードが適応型動きベクトル予測（ＡＭＶＰ）モードであるときに、前記参照フレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向、又は前記参照フレームを識別する参照インデックスを決定することなしに、動きベクトル振幅を決定する、［５７］に記載の装置。
［５９］  前記動き補償ユニットは、前記動きベクトル予測モードがマージモードであるときに、動きベクトル振幅と、前記参照フレームが時間的に前記現在のフレームの前に来るか、それとも後に来るかを識別する予測方向と、前記参照フレームを識別する参照インデックスとを決定することを備える、［５７］に記載の装置。
［６０］  決定された前記デフォルト動きベクトル情報に基づいて、コンテキスト適応型可逆統計的復号を実行するためのコンテキストを決定するエントロピー復号ユニットを更に備え、前記コンテキストは、前記ビデオデータを復号するために使用するコード化テーブルを識別する、［５７］に記載の装置。
［６１］  前記動き補償ユニットは、前記空間的候補動きベクトルのうちの１つが利用不可能であると決定し、前記空間的候補動きベクトルのうちの前記１つが利用不可能であると決定したことに応答して、利用不可能であると決定された前記空間的候補動きベクトルのうちの前記１つを前記プルーニングプロセスから除去し、前記現在のビデオフレームの前記現在の部分に関して決定された時間的候補動きベクトル、又は利用不可能であると決定された前記空間的候補動きベクトルのうちの前記１つを除去することなく、前記空間的候補動きベクトルのうちの重複するものを除去するために、前記空間的候補動きベクトルのうちで利用可能であると決定されたもののみをプルーニングする、［５１］に記載の装置。
［６２］  前記動き補償ユニットは、時間的に予測されず、前記時間的候補動きベクトル及びプルーニング後に残存する前記空間的候補動きベクトルのいずれとも異なる１つ以上の追加の空間的候補動きベクトルを決定し、前記被選択候補動きベクトルとして、前記時間的候補動きベクトル、プルーニング後に残存する前記空間的候補動きベクトルのうちの１つ、又は前記追加の空間的候補動きベクトルのうちの１つを選択する、［５１］に記載の装置。
［６３］  実行されたとき、１つ以上のプロセッサに、現在のビデオフレームの現在の部分に関連する、前記現在の部分に隣接する前記現在のビデオフレームの近傍部分に関して決定された動きベクトルを備える空間的候補動きベクトルを決定することと、前記現在のビデオフレームの前記現在の部分に関して決定された、参照ビデオフレームの部分に関して決定された動きベクトルを備える時間的候補動きベクトルを除去することなく、前記空間的候補動きベクトルのうちの少なくとも１つを除去するために前記空間的候補動きベクトルをプルーニングすることと、ビットストリームにおいて信号伝達された動きベクトル予測子（ＭＶＰ）インデックスに基づいて、被選択候補動きベクトルとして、前記時間的候補動きベクトル又はプルーニング後に残存する前記空間的候補動きベクトルのうちの１つのうちの１つを選択することと、前記被選択候補動きベクトルに基づいて動き補償を実行することを行わせる命令を備える非一時的コンピュータ可読媒体。
【図１】
0005813784.tif 000002
【図２】
0005813784.tif 000003
【図３】
0005813784.tif 000004
【図４】
0005813784.tif 000005
【図５】
0005813784.tif 000006
【図６】
0005813784.tif 000007