IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 華為技術有限公司の特許一覧

<>
  • 特許-インター予測方法および装置 図1A
  • 特許-インター予測方法および装置 図1B
  • 特許-インター予測方法および装置 図2
  • 特許-インター予測方法および装置 図3
  • 特許-インター予測方法および装置 図4
  • 特許-インター予測方法および装置 図5
  • 特許-インター予測方法および装置 図6
  • 特許-インター予測方法および装置 図7
  • 特許-インター予測方法および装置 図8
  • 特許-インター予測方法および装置 図9
  • 特許-インター予測方法および装置 図10
  • 特許-インター予測方法および装置 図11
  • 特許-インター予測方法および装置 図12
  • 特許-インター予測方法および装置 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-30
(45)【発行日】2024-09-09
(54)【発明の名称】インター予測方法および装置
(51)【国際特許分類】
   H04N 19/52 20140101AFI20240902BHJP
【FI】
H04N19/52
【請求項の数】 14
【外国語出願】
(21)【出願番号】P 2023117744
(22)【出願日】2023-07-19
(62)【分割の表示】P 2021568601の分割
【原出願日】2019-08-15
(65)【公開番号】P2023156315
(43)【公開日】2023-10-24
【審査請求日】2023-08-15
(31)【優先権主張番号】201910414914.5
(32)【優先日】2019-05-17
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133569
【弁理士】
【氏名又は名称】野村 進
(72)【発明者】
【氏名】▲陳▼ ▲煥▼浜
(72)【発明者】
【氏名】▲楊▼ ▲海▼涛
(72)【発明者】
【氏名】▲張▼ 恋
【審査官】田中 純一
(56)【参考文献】
【文献】特表2018-506908(JP,A)
【文献】国際公開第2019/089933(WO,A1)
【文献】米国特許出願公開第2016/0219278(US,A1)
【文献】特表2021-502038(JP,A)
【文献】Li Zhang, et.al.,CE2-related: Early awareness of accessing temporal blocks in sub-block merge list construction,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakech, MA, 9-18 Jan. 2019,JVET-M0273,2019年01月03日,pp.1-4
【文献】大久保 榮、他,5.5■ H.264/AVCにおけるBピクチャ,改訂三版H.264/AVC教科書 第1版 H.264/AVC TEXTBOOK,株式会社インプレスR&D,2009年01月01日,pp.125-131
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
インター予測方法であって、
処理されるべきブロックの空間近傍ブロックの動き情報を取得するステップと、
前記空間近傍ブロックの前記動き情報に基づいて、第1の条件が真であるかどうかを決定するステップであって、前記第1の条件が、
第1の参照フレームリストに位置する第1の方向参照フレームを前記空間近傍ブロックが有することと、現在のフレームの同一位置のフレームが前記第1の方向参照フレームと同じであることとを備える、ステップと、
前記第1の条件が真であると決定されるとき、前記空間近傍ブロックの第1の方向動きベクトルに従って時間オフセットベクトルを決定するステップであって、前記第1の方向動きベクトルが前記第1の方向参照フレームに対応する、ステップと、
前記第1の条件が真ではないと決定されるとき、第2の条件が真であるかどうかを決定するステップであって、前記第2の条件が、
前記処理されるべきブロックが位置するコーディング領域の予測タイプがBタイプ予測であることと、第2の参照フレームリストに位置する第2の方向参照フレームを前記空間近傍ブロックが有することと、前記現在のフレームの同一位置のフレームが前記第2の方向参照フレームと同じであることとを備える、ステップと、
前記第2の条件が真であると決定されるとき、前記空間近傍ブロックの第2の方向動きベクトルに従って時間オフセットベクトルを決定するステップであって、前記第2の方向動きベクトルが前記第2の方向参照フレームに対応する、ステップとを含む、インター予測方法。
【請求項2】
前記時間オフセットベクトルおよび前記処理されるべきブロックのサブブロックの位置に従って、前記処理されるべきブロックの前記サブブロックの同一位置のサブブロックを決定するステップであって、前記処理されるべきブロックの前記サブブロックの前記同一位置のサブブロックが前記現在のフレームの前記同一位置のフレームに位置する、ステップと、
前記同一位置のサブブロックの動きベクトルに基づいて、前記処理されるべきブロックの前記サブブロックの動きベクトルを決定するステップとをさらに含む、請求項1に記載の方法。
【請求項3】
前記第2の条件が真ではないと決定されるとき、ゼロ動きベクトルが前記時間オフセットベクトルとして使用されることをさらに含む、請求項1または2に記載の方法。
【請求項4】
前記現在のフレームの前記同一位置のフレームが前記第1の方向参照フレームと同じであることが、
前記現在のフレームの前記同一位置のフレームのピクチャ順序カウントPOCが前記第1の方向参照フレームのPOCと同じであることを備える、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記現在のフレームの前記同一位置のフレームが前記第2の方向参照フレームと同じであることが、
前記現在のフレームの前記同一位置のフレームのピクチャ順序カウントPOCが前記第2の方向参照フレームのPOCと同じであることを備える、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記空間近傍ブロックが、前記処理されるべきブロックの左の近傍ブロックである、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記処理されるべきブロックが位置する前記コーディング領域の前記予測タイプがBタイプ予測であることが、
前記処理されるべきブロックがBスライスに位置することを備える、請求項1から6のいずれか一項に記載の方法。
【請求項8】
インター予測装置であって、
オフセット取得モジュールおよび動きベクトル取得モジュールを備え、
前記動きベクトル取得モジュールが、処理されるべきブロックの空間近傍ブロックの動き情報を取得するように構成され、
前記動きベクトル取得モジュールが、前記空間近傍ブロックの前記動き情報に基づいて、第1の条件が真であるかどうかを決定するように構成され、前記第1の条件が、
第1の参照フレームリストに位置する第1の方向参照フレームを前記空間近傍ブロックが有することと、現在のフレームの同一位置のフレームが前記第1の方向参照フレームと同じであることとを備え、
前記第1の条件が真であると決定されるとき、前記オフセット取得モジュールが、前記空間近傍ブロックの第1の方向動きベクトルに従って時間オフセットベクトルを決定するように構成され、前記第1の方向動きベクトルが前記第1の方向参照フレームに対応し、
前記第1の条件が真ではないと決定されるとき、前記動きベクトル取得モジュールが、第2の条件が真であるかどうかを決定するように構成され、前記第2の条件が、
前記処理されるべきブロックが位置するコーディング領域の予測タイプがBタイプ予測であることと、第2の参照フレームリストに位置する第2の方向参照フレームを前記空間近傍ブロックが有することと、前記現在のフレームの同一位置のフレームが前記第2の方向参照フレームと同じであることとを備え、
前記第2の条件が真であると決定されるとき、前記オフセット取得モジュールが、前記空間近傍ブロックの第2の方向動きベクトルに従って時間オフセットベクトルを決定するように構成され、前記第2の方向動きベクトルが前記第2の方向参照フレームに対応する、インター予測装置。
【請求項9】
前記動きベクトル取得モジュールが、前記時間オフセットベクトルおよび前記処理されるべきブロックのサブブロックの位置に従って、前記処理されるべきブロックの前記サブブロックの同一位置のサブブロックを決定し、前記処理されるべきブロックの前記サブブロックの前記同一位置のサブブロックが前記現在のフレームの前記同一位置のフレームに位置し、
前記同一位置のサブブロックの動きベクトルに基づいて、前記処理されるべきブロックの前記サブブロックの動きベクトルを決定するように構成される、請求項8に記載の装置。
【請求項10】
前記第2の条件が真ではないと決定されるとき、前記オフセット取得モジュールが、前記時間オフセットベクトルとしてゼロ動きベクトルイズを使用するように構成される、請求項8または9に記載の装置。
【請求項11】
前記現在のフレームの前記同一位置のフレームが前記第1の方向参照フレームと同じであることが、
前記現在のフレームの前記同一位置のフレームのピクチャ順序カウントPOCが前記第1の方向参照フレームのPOCと同じであることを備える、請求項8から10のいずれか一項に記載の装置。
【請求項12】
前記現在のフレームの前記同一位置のフレームが前記第2の方向参照フレームと同じであることが、
前記現在のフレームの前記同一位置のフレームのピクチャ順序カウントPOCが前記第2の方向参照フレームのPOCと同じであることを備える、請求項8から11のいずれか一項に記載の装置。
【請求項13】
前記空間近傍ブロックが、前記処理されるべきブロックの左の近傍ブロックである、請求項8から12のいずれか一項に記載の装置。
【請求項14】
前記処理されるべきブロックが位置する前記コーディング領域の前記予測タイプがBタイプ予測であることが、
前記処理されるべきブロックがBスライスに位置することを備える、請求項8から13のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、全体が参照によって本明細書に組み込まれる、「INTER PREDICTION METHOD
AND APPARATUS」という表題の2019年5月17日に中国国家知識産権局に出願された中国特許
出願第201910414914.5の優先権を主張する。
【0002】
本発明は、ビデオコーディング分野に関し、具体的には、ビデオピクチャのためのイン
ター予測方法および装置に関する。
【背景技術】
【0003】
デジタルビデオ能力は、デジタルテレビジョン、デジタルライブブロードキャストシス
テム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたは
デスクトップコンピュータ、タブレットコンピュータ、電子書籍リーダー、デジタルカメ
ラ、デジタル記録装置、デジタルメディアプレーヤ、ビデオゲーム装置、ビデオゲームコ
ンソール、セルラーまたは衛星無線電話(いわゆる「スマートフォン」)、ビデオ会議装置
、ビデオストリーミング装置などを含む、多種多様な装置へと組み込まれ得る。デジタル
ビデオ装置は、ビデオ圧縮技術、たとえば、MPEG-2、MPEG-4、ITU-T H.263、およびITU-T
H.264/MPEG-4 Part10:アドバンストビデオコーディング(AVC)、ビデオコーディング規格
H.265/高効率ビデオコーディング(HEVC)規格、およびそのような規格の拡張によって定義
される規格において説明されるビデオ圧縮技術を実装する。ビデオ装置は、そのようなビ
デオ圧縮技術を実装することによって、デジタルビデオ情報をより効率的に送信し、受信
し、符号化し、復号し、および/または記憶することができる。
【0004】
空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を実行してビ
デオシーケンスに内在する冗長性を低減または除去するために、ビデオ圧縮技術が使用さ
れる。ブロックベースのビデオコーディングにおいて、ビデオスライス(すなわち、ビデ
オフレームまたはビデオフレームの一部)は、ピクチャブロックへと区分されることがあ
り、ピクチャブロックは、ツリーブロック、コーディングユニット(CU)、および/または
コーディングノードとも呼ばれることがある。ピクチャのイントラコーディングされるべ
き(I)スライスの中のピクチャブロックは、同じピクチャの中の近傍ブロックの中の参照
サンプルに基づく空間予測を通じてコーディングされる。ピクチャのインターコーディン
グされるべき(PまたはB)スライスの中のピクチャブロックは、同じピクチャの中の近傍ブ
ロックの中の参照サンプルに基づく空間予測を通じてコーディングされてもよく、または
、別の参照ピクチャの中の参照サンプルに基づく時間予測が使用されてもよい。ピクチャ
はフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【発明の概要】
【課題を解決するための手段】
【0005】
本出願の実施形態は、ビデオピクチャのためのインター予測方法および装置、ならびに
、ピクチャブロックの動き情報を予測する正確さを高めながら実装の複雑さを下げるため
の、対応するエンコーダおよびデコーダを提供する。
【0006】
第1の態様によれば、本出願の実施形態はインター予測方法を提供し、処理されるべき
ブロックは1つまたは複数のサブブロックを含み、方法は、処理されるべきブロックの空
間近傍ブロックに基づいて処理されるべきブロックの時間オフセットベクトルを決定する
ステップであって、時間オフセットベクトルが、処理されるべきブロックのサブブロック
の同一位置のサブブロックを決定するために使用される、ステップと、同一位置のサブブ
ロックの動きベクトルに基づいて、処理されるべきブロックのサブブロックの動きベクト
ルを決定するステップであって、処理されるべきブロックのサブブロックの動きベクトル
が、同一位置のサブブロックの動きベクトルが利用不可能であるとき、第1のあらかじめ
設定された動きベクトルに基づいて取得される、ステップとを含む。
【0007】
この実装形態では、動きベクトルはサブブロックを基礎として取得される。これは、動
きベクトル予測の正確さを改善し、コーディング効率を高める。加えて、サブブロックの
動きベクトルは、同一位置のサブブロックの動きベクトルが利用不可能であるとき、あら
かじめ設定された動きベクトルに基づいて取得される。デフォルトの動きベクトルを導出
するための方法との比較において、この実装形態は実装の複雑さを下げる。
【0008】
ある実現可能な実装形態では、処理されるべきブロックの空間近傍ブロックに基づいて
処理されるべきブロックの時間オフセットベクトルを決定するステップは、あらかじめ設
定された順序で、複数の第1のあらかじめ設定された位置における空間近傍ブロックの動
きベクトルが利用可能であるかどうかを、その動きベクトルがあらかじめ設定された順序
で利用可能である第1の空間近傍ブロックの動きベクトルが取得されるまで逐次確認する
ステップと、時間オフセットベクトルとして、その動きベクトルがあらかじめ設定された
順序で利用可能である第1の空間近傍ブロックの動きベクトルを使用するステップとを含
む。
【0009】
この実装形態では、時間オフセットベクトルは、複数の空間近傍ブロックを使用するこ
とによって取得される。このようにして、予測オブジェクトの空間的な相関が完全に利用
される。
【0010】
ある実現可能な実装形態では、複数の第1のあらかじめ設定された位置における空間隣
接ブロックの動きベクトルがすべて利用不可能であるとき、第2のあらかじめ設定された
動きベクトルが時間オフセットベクトルとして使用される。
【0011】
ある実現可能な実装形態では、第2のあらかじめ設定された動きベクトルは、ゼロ動き
ベクトルである。
【0012】
この実装形態では、複数のあらかじめ設定された位置における空間近傍ブロックの動き
ベクトルが利用不可能であるとき、ゼロ動きベクトルが代替的な解決策として使用される
。これは、実装の複雑さを下げる。
【0013】
ある実現可能な実装形態では、処理されるべきブロックの空間近傍ブロックに基づいて
処理されるべきブロックの時間オフセットベクトルを決定するステップは、第2のあらか
じめ設定された位置における空間近傍ブロックの動きベクトルおよび参照フレームを取得
するステップであって、第2のあらかじめ設定された位置における空間近傍ブロックの動
きベクトルが利用可能である、ステップと、第2のあらかじめ設定された位置における空
間近傍ブロックの動きベクトルを時間オフセットベクトルとして使用するステップとを含
む。
【0014】
この実装形態では、時間オフセットベクトルは、あらかじめ設定された位置における空
間近傍ブロックを使用することによって取得される。これは、前述の実施形態の確認ステ
ップを飛ばし、実装の複雑さをさらに下げる。
【0015】
ある実現可能な実装形態では、第2のあらかじめ設定された位置における空間近傍ブロ
ックの動きベクトルが利用不可能であるとき、第3のあらかじめ設定された動きベクトル
が時間オフセットベクトルとして使用される。
【0016】
ある実現可能な実装形態では、第3のあらかじめ設定された動きベクトルは、ゼロ動き
ベクトルである。
【0017】
この実装形態では、あらかじめ設定された位置における空間近傍ブロックの動きベクト
ルが利用不可能であるとき、ゼロ動きベクトルが代替的な解決策として使用される。これ
は、実装の複雑さを下げる。
【0018】
ある実現可能な実装形態では、第2のあらかじめ設定された位置における空間近傍ブロ
ックの動きベクトルは、第1の参照フレームリストに基づく第1の方向動きベクトルを含み
、第2のあらかじめ設定された位置における空間近傍ブロックの参照フレームは、第1の方
向動きベクトルに対応する第1の方向参照フレームを含み、時間オフセットベクトルとし
て第2のあらかじめ設定された位置における空間近傍ブロックの動きベクトルを使用する
ことは、同一位置のサブブロックが位置する画像フレームと第1の方向参照フレームが同
じであるとき、時間オフセットベクトルとして第1の方向動きベクトルを使用することを
含む。
【0019】
ある実現可能な実装形態では、同一位置のサブブロックが位置する画像フレームと第1
の方向参照フレームが異なるとき、方法は、時間オフセットベクトルとして第3のあらか
じめ設定された動きベクトルを使用するステップを含む。
【0020】
ある実現可能な実装形態では、第2のあらかじめ設定された位置における空間近傍ブロ
ックのために双方向予測が使用されるとき、第2のあらかじめ設定された位置における空
間近傍ブロックの動きベクトルはさらに、第2の参照フレームリストに基づく第2の方向動
きベクトルを含み、第2のあらかじめ設定された位置における空間近傍ブロックの参照フ
レームは、第2の方向動きベクトルに対応する第2の方向参照フレームを含み、第1の方向
参照フレームが、処理されるべきブロックの対応する時間ブロックが位置する画像フレー
ムとは異なるとき、方法は、同一位置のサブブロックが位置する画像フレームと第2の方
向参照フレームが同じであるとき、時間オフセットベクトルとして第2の方向動きベクト
ルを使用するステップ、または、同一位置のサブブロックが位置する画像フレームと第2
の方向参照フレームが異なるとき、時間オフセットベクトルとして第3のあらかじめ設定
された動きベクトルを使用するステップを含む。
【0021】
ある実現可能な実装形態では、双方向予測が第2のあらかじめ設定された位置における
空間近傍ブロックのために使用されるとき、第2のあらかじめ設定された位置における空
間近傍ブロックの動きベクトルは、第1の参照フレームリストに基づく第1の方向動きベク
トルおよび第2の参照フレームリストに基づく第2の方向動きベクトルを含み、第2のあら
かじめ設定された位置における空間近傍ブロックの参照フレームは、第1の方向動きベク
トルに対応する第1の方向参照フレームおよび第2の方向動きベクトルに対応する第2の方
向参照フレームを含み、時間オフセットベクトルとして第2のあらかじめ設定された位置
における空間近傍ブロックの動きベクトルを使用することは、同一位置のサブブロックが
位置する画像フレームが第2の参照フレームリストから取得されるとき、同一位置のサブ
ブロックが位置する画像フレームと第2の方向参照フレームが同じであるときは、時間オ
フセットベクトルとして第2の方向動きベクトルを使用し、もしくは、同一位置のサブブ
ロックが位置する画像フレームと第2の方向参照フレームが異なり、同一位置のサブブロ
ックが位置する画像フレームと第1の方向参照フレームが同じであるときは、時間オフセ
ットベクトルとして第1の方向動きベクトルを使用すること、または、同一位置のサブブ
ロックが位置する画像フレームが第1の参照フレームリストから取得されるとき、同一位
置のサブブロックが位置する画像フレームと第1の方向参照フレームが同じであるときは
、第1の方向動きベクトルを時間オフセットベクトルとして使用し、もしくは、同一位置
のサブブロックが位置する画像フレームと第1の方向参照フレームが異なり、同一位置の
サブブロックが位置する画像フレームと第2の方向参照フレームが同じであるとき、時間
オフセットベクトルとして第2の方向動きベクトルを使用することを含む。
【0022】
ある実現可能な実装形態では、時間オフセットベクトルとして第2のあらかじめ設定さ
れた位置における空間近傍ブロックの動きベクトルを使用することは、同一位置のサブブ
ロックが位置する画像フレームが第2の参照フレームリストから取得され、処理されるべ
きブロックの参照フレームリストの中のすべての参照フレームが、処理されるべきブロッ
クが位置する画像フレームの前に表示されるとき、同一位置のサブブロックが位置する画
像フレームと第2の方向参照フレームが同じであるときは、時間オフセットベクトルとし
て第2の方向動きベクトルを使用し、または、同一位置のサブブロックが位置する画像フ
レームと第2の方向参照フレームが異なり、同一位置のサブブロックが位置する画像フレ
ームと第1の方向参照フレームが同じであるときは、時間オフセットベクトルとして第1の
方向動きベクトルを使用すること、あるいは、同一位置のサブブロックが位置する画像フ
レームが第1の参照フレームリストから取得される、もしくは処理されるべきブロックの
参照フレームリストの中の少なくとも1つの参照フレームが、処理されるべきブロックが
位置する画像フレームの後に表示されるとき、同一位置のサブブロックが位置する画像フ
レームが第1の方向参照フレームと同じであるときは、時間オフセットベクトルとして第1
の方向動きベクトルを使用し、または、同一位置のサブブロックが位置する画像フレーム
と第1の方向参照フレームが異なり、同一位置のサブブロックが位置する画像フレームと
第2の方向参照フレームが同じであるときは、時間オフセットベクトルとして第2の方向動
きベクトルを使用することを含む。
【0023】
ある実現可能な実装形態では、同一位置のサブブロックが位置する画像フレームと第2
の方向参照フレームが異なり、同一位置のサブブロックが位置する画像フレームと第1の
方向参照フレームが異なるとき、時間オフセットベクトルとして第3のあらかじめ設定さ
れた動きベクトルが使用される。
【0024】
前述の実装形態は、時間オフセットベクトルを取得するための異なる方法であり、異な
る性能および実装の複雑さを有する。具体的な実装形態は、実装の複雑さの要件に基づい
て選択され得る。
【0025】
ある実現可能な実装形態では、同一位置のサブブロックが位置する、かつ処理されるべ
きブロックの空間近傍ブロックの参照フレームリストの中にある画像フレームのインデッ
クスは、ビットストリームを解析することによって取得される。
【0026】
この実装形態では、同一位置のサブブロックが位置する画像フレームを選択するための
複数の可能性がある。これは、コーディング性能を高める。
【0027】
ある実現可能な実装形態では、空間近傍ブロックの動きベクトルが利用不可能である条
件は、以下の項目のうちの1つまたは組合せを含む。空間近傍ブロックが符号化/復号され
ない、空間近傍ブロックのためにイントラ予測モードまたはイントラブロックコピーモー
ドが使用される、空間近傍ブロックが存在しない、または空間近傍ブロックおよび処理さ
れるべきブロックが異なるコーディング領域に位置する。
【0028】
ある実現可能な実装形態では、コーディング領域は、ピクチャ、スライス、タイル、ま
たはタイルグループを含む。
【0029】
ある実現可能な実装形態では、処理されるべきブロックのサブブロックの動きベクトル
を決定する前に、方法はさらに、同一位置のサブブロックのあらかじめ設定されたイント
ラブロック位置に対応する動きベクトルが利用可能であるかどうかを決定するステップを
含み、それに対応して、処理されるべきブロックのサブブロックの動きベクトルを決定す
るステップは、あらかじめ設定されたイントラブロック位置に対応する動きベクトルが利
用可能であるとき、あらかじめ設定されたイントラブロック位置に対応する動きベクトル
に基づいて、処理されるべきブロックのサブブロックの動きベクトルを取得するステップ
、または、あらかじめ設定されたイントラブロック位置に対応する動きベクトルが利用不
可能であるとき、第1のあらかじめ設定された動きベクトルに基づいて、処理されるべき
ブロックのサブブロックの動きベクトルを取得するステップを含む。
【0030】
ある実現可能な実装形態では、あらかじめ設定されたイントラブロック位置は、同一位
置のサブブロックの幾何学的な中心位置である。
【0031】
この実装形態では、幾何学的な中心位置は、あらかじめ設定されたイントラブロック位
置として使用され、または、同一位置のサブブロックの左上の角などの別のイントラブロ
ック位置は、あらかじめ設定されたイントラブロック位置として使用され得る。
【0032】
ある実現可能な実装形態では、あらかじめ設定されたイントラブロック位置が位置する
予測ユニットのためにイントラ予測モードまたはイントラブロックコピーモードが使用さ
れるとき、あらかじめ設定されたイントラブロック位置に対応する動きベクトルは利用不
可能であり、または、あらかじめ設定されたイントラブロック位置が位置する予測ユニッ
トのためにインター予測が使用されるとき、あらかじめ設定されたイントラブロック位置
に対応する動きベクトルは利用可能である。
【0033】
この実装形態では、同一位置のサブブロックの動きベクトルが利用可能であるかどうか
を決定するために、予測モードが使用される。これは、実装の複雑さをさらに下げる。
【0034】
ある実現可能な実装形態では、処理されるべきブロックのサブブロックの動きベクトル
が第1のあらかじめ設定された動きベクトルに基づいて取得されることは、処理されるべ
きブロックのサブブロックの動きベクトルとして第1のあらかじめ設定された動きベクト
ルを使用することを含む。
【0035】
ある実現可能な実装形態では、第1のあらかじめ設定された動きベクトルは、ゼロ動き
ベクトルである。
【0036】
この実装形態では、同一位置のサブブロックの動きベクトルが利用不可能であるとき、
処理されるべきブロックのサブブロックの動きベクトルの代替的な解決策として、ゼロ動
きベクトルが使用される。これは、実装の複雑さをさらに下げる。
【0037】
ある実現可能な実装形態では、サブブロックの動きベクトルは、第1の参照フレームリ
ストに基づく第1の方向サブブロック動きベクトルおよび/または第2の参照フレームリス
トに基づく第2の方向サブブロック動きベクトルを含み、あらかじめ設定されたイントラ
ブロック位置に対応する動きベクトルが利用不可能であるとき、処理されるべきブロック
のサブブロックの動きベクトルが第1のあらかじめ設定された動きベクトルに基づいて取
得されることは、第1の方向サブブロック動きベクトルに基づく単方向予測が、処理され
るべきブロックのサブブロックのために使用されると決定し、第1のあらかじめ設定され
た動きベクトルに基づいて、処理されるべきブロックのサブブロックの第1の方向サブブ
ロック動きベクトルを取得すること、または、第2の方向サブブロック動きベクトルに基
づく単方向予測が、処理されるべきブロックのサブブロックのために使用されると決定し
、第1のあらかじめ設定された動きベクトルに基づいて、処理されるべきブロックのサブ
ブロックの第2の方向サブブロック動きベクトルを取得することを含む。
【0038】
ある実現可能な実装形態では、あらかじめ設定されたイントラブロック位置に対応する
動きベクトルが利用不可能であるとき、処理されるべきブロックのサブブロックの動きベ
クトルが第1のあらかじめ設定された動きベクトルに基づいて取得されることは、処理さ
れるべきブロックが位置するコーディング領域の予測タイプがBタイプ予測であるとき、
双方向予測が、処理されるべきブロックのサブブロックのために使用されると決定し、第
1のあらかじめ設定された動きベクトルに基づいて、処理されるべきブロックのサブブロ
ックの第1の方向サブブロック動きベクトルおよび処理されるべきブロックのサブブロッ
クの第2の方向サブブロック動きベクトルを別々に取得すること、または、処理されるべ
きブロックが位置するコーディング領域の予測タイプがPタイプ予測であるとき、単方向
予測が、処理されるべきブロックのサブブロックのために使用されると決定し、第1のあ
らかじめ設定された動きベクトルに基づいて、処理されるべきブロックのサブブロックの
第1の方向サブブロック動きベクトルを取得することを含む。
【0039】
処理されるべきブロックがBタイプ予測であるコーディング領域の予測タイプは、処理
されるべきブロックが位置する領域がBタイプ領域であることを意味することを理解され
たい。たとえば、処理されるべきブロックは、Bフレーム、Bスライス、Bタイル、Bタイル
グループなどに位置する。この場合、双方向予測と単方向予測の両方が、処理されるべき
ブロックに対して許容される。処理されるべきブロックが位置するコーディング領域の予
測タイプがPタイプ予測であることは、処理されるべきブロックが位置する領域がPタイプ
領域であることを意味する。たとえば、処理されるべきブロックは、Pフレーム、Pスライ
ス、Pタイル、Pタイルグループなどに位置する。この場合、単方向予測のみが、処理され
るべきブロックに対して許容される。
【0040】
前述の実装形態は、同一位置のサブブロックの動きベクトルに基づいて、処理されるべ
きブロックのサブブロックを取得するための異なる方法であり、異なる性能および実装の
複雑さを有する。具体的な実装形態は、実装の複雑さの要件に基づいて選択され得る。
【0041】
ある実現可能な実装形態では、あらかじめ設定されたイントラブロック位置に対応する
動きベクトルに基づいて、処理されるべきブロックのサブブロックの動きベクトルを取得
することは、処理されるべきブロックのサブブロックの動きベクトルを取得するために、
第2の時間距離差分に対する第1の時間距離差分の比に基づいて、あらかじめ設定されたイ
ントラブロック位置に対応する動きベクトルに対してスケーリング処理を実行することを
含み、第1の時間距離差分は、処理されるべきブロックが位置する画像フレームと処理さ
れるべきブロックの参照フレームとの間のピクチャ順序カウント差分であり、第2の時間
距離差分は、同一位置のサブブロックが位置する画像フレームと同一位置のサブブロック
の参照フレームとの間のピクチャ順序カウント差分である。
【0042】
ある実現可能な実装形態では、処理されるべきブロックの参照フレームリストの中の処
理されるべきブロックの参照フレームのインデックスは、ビットストリームを解析するこ
とによって取得される。
【0043】
この実装形態では、参照フレームを選択するための複数の可能性がある。これは、コー
ディング性能を高める。
【0044】
ある実現可能な実装形態では、処理されるべきブロックの参照フレームリストの中の処
理されるべきブロックの参照フレームのインデックスは0である。
【0045】
インデックスの値がプロトコルに従ってエンコーダ側とデコーダ側により合意される値
であるとき、関連する情報を送信するためのビットレートが低減される。
【0046】
ある実現可能な実装形態では、方法はさらに、処理されるべきブロックのサブブロック
の予測値を取得するために、処理されるべきブロックのサブブロックの動きベクトルおよ
び処理されるべきブロックの参照フレームに基づいて、処理されるべきブロックのサブブ
ロックに対する動き補償を実行するステップを含む。
【0047】
この予測モードは、複数の可能性のあるインター予測モードのうちの1つとして使用さ
れてもよく、予測ベクトル候補リストの構築において使用されてもよく、処理されるべき
ブロックの再構築を実施するために、マージ(merge)モードまたはアフィン(affine)予測
モードなどの別の予測モードと組み合わせられてもよい。
【0048】
第2の態様によれば、本出願の実施形態はインター予測装置を提供し、処理されるべき
ブロックは1つまたは複数のサブブロックを含み、装置は、処理されるべきブロックの空
間近傍ブロックに基づいて、処理されるべきブロックの時間オフセットベクトルを決定す
るように構成されるオフセット取得モジュールであって、時間オフセットベクトルが、処
理されるべきブロックのサブブロックの同一位置のサブブロックを決定するために使用さ
れる、オフセット取得モジュールと、同一位置のサブブロックの動きベクトルに基づいて
、処理されるべきブロックのサブブロックの動きベクトルを決定するように構成される動
きベクトル取得モジュールであって、処理されるべきブロックのサブブロックの動きベク
トルが、同一位置のサブブロックの動きベクトルが利用不可能であるとき、第1のあらか
じめ設定された動きベクトルに基づいて取得される、動きベクトル取得モジュールとを含
む。
【0049】
ある実現可能な実装形態では、オフセット取得モジュールは特に、あらかじめ設定され
た順序で、複数の第1のあらかじめ設定された位置における空間近傍ブロックの動きベク
トルが利用可能であるかどうかを、その動きベクトルがあらかじめ設定された順序で利用
可能である第1の空間近傍ブロックの動きベクトルが取得されるまで逐次確認し、時間オ
フセットベクトルとして、その動きベクトルがあらかじめ設定された順序で利用可能であ
る第1の空間近傍ブロックの動きベクトルを使用するように構成される。
【0050】
ある実現可能な実装形態では、オフセット取得モジュールは特に、複数の第1のあらか
じめ設定された位置における空間近傍ブロックの動きベクトルがすべて利用不可能である
とき、第2のあらかじめ設定された動きベクトルを時間オフセットベクトルとして使用す
るように構成される。
【0051】
ある実現可能な実装形態では、第2のあらかじめ設定された動きベクトルは、ゼロ動き
ベクトルである。
【0052】
ある実現可能な実装形態では、オフセット取得モジュールは特に、第2のあらかじめ設
定された位置における空間近傍ブロックの動きベクトルおよび参照フレームを取得し、第
2のあらかじめ設定された位置における空間近傍ブロックの動きベクトルが利用可能であ
り、第2のあらかじめ設定された位置における空間近傍ブロックの動きベクトルを時間オ
フセットベクトルとして使用するように構成される。
【0053】
ある実現可能な実装形態では、オフセット取得モジュールは特に、第2のあらかじめ設
定された位置における空間近傍ブロックの動きベクトルが利用不可能であるとき、第3の
あらかじめ設定された動きベクトルを時間オフセットベクトルとして使用するように構成
される。
【0054】
ある実現可能な実装形態では、第3のあらかじめ設定された動きベクトルは、ゼロ動き
ベクトルである。
【0055】
ある実現可能な実装形態では、第2のあらかじめ設定された位置における空間近傍ブロ
ックの動きベクトルは、第1の参照フレームリストに基づく第1の方向動きベクトルを含み
、第2のあらかじめ設定された位置における空間近傍ブロックの参照フレームは、第1の方
向動きベクトルに対応する第1の方向参照フレームを含み、オフセット取得モジュールは
特に、同一位置のサブブロックが位置する画像フレームと第1の方向参照フレームが同じ
であるとき、時間オフセットベクトルとして第1の方向動きベクトルを使用するように構
成される。
【0056】
ある実現可能な実装形態では、同一位置のサブブロックが位置する画像フレームと第1
の方向参照フレームが異なるとき、オフセット取得モジュールは特に、時間オフセットベ
クトルとして第3のあらかじめ設定された動きベクトルを使用するように構成される。
【0057】
ある実現可能な実装形態では、第2のあらかじめ設定された位置における空間近傍ブロ
ックのために双方向予測が使用されるとき、第2のあらかじめ設定された位置における空
間近傍ブロックの動きベクトルはさらに、第2の参照フレームリストに基づく第2の方向動
きベクトルを含み、第2のあらかじめ設定された位置における空間近傍ブロックの参照フ
レームは、第2の方向動きベクトルに対応する第2の方向参照フレームを含み、第1の方向
参照フレームが、処理されるべきブロックの対応する時間ブロックが位置する画像フレー
ムとは異なるとき、オフセット取得モジュールは特に、同一位置のサブブロックが位置す
る画像フレームと第2の方向参照フレームが同じであるとき、時間オフセットベクトルと
して第2の方向動きベクトルを使用し、または、同一位置のサブブロックが位置する画像
フレームと第2の方向参照フレームが異なるとき、時間オフセットベクトルとして第3のあ
らかじめ設定された動きベクトルを使用するように構成される。
【0058】
ある実現可能な実装形態では、双方向予測が第2のあらかじめ設定された位置における
空間近傍ブロックのために使用されるとき、第2のあらかじめ設定された位置における空
間近傍ブロックの動きベクトルは、第1の参照フレームリストに基づく第1の方向動きベク
トルおよび第2の参照フレームリストに基づく第2の方向動きベクトルを含み、第2のあら
かじめ設定された位置における空間近傍ブロックの参照フレームは、第1の方向動きベク
トルに対応する第1の方向参照フレームおよび第2の方向動きベクトルに対応する第2の方
向参照フレームを含み、オフセット取得モジュールは特に、同一位置のサブブロックが位
置する画像フレームが第2の参照フレームリストから取得されるとき、同一位置のサブブ
ロックが位置する画像フレームと第2の方向参照フレームが同じであるときは、時間オフ
セットベクトルとして第2の方向動きベクトルを使用し、もしくは、同一位置のサブブロ
ックが位置する画像フレームと第2の方向参照フレームが異なり、同一位置のサブブロッ
クが位置する画像フレームと第1の方向参照フレームが同じであるときは、時間オフセッ
トベクトルとして第1の方向動きベクトルを使用し、または、同一位置のサブブロックが
位置する画像フレームが第1の参照フレームリストから取得されるとき、同一位置のサブ
ブロックが位置する画像フレームと第1の方向参照フレームが同じであるときは、時間オ
フセットベクトルとして第1の方向動きベクトルを使用し、もしくは、同一位置のサブブ
ロックが位置する画像フレームが第1の方向参照フレームと異なり、同一位置のサブブロ
ックが位置する画像フレームと第2の方向参照フレームが同じであるとき、時間オフセッ
トベクトルとして第2の方向動きベクトルを使用するように構成される。
【0059】
ある実現可能な実装形態では、オフセット取得モジュールは特に、同一位置のサブブロ
ックが位置する画像フレームが第2の参照フレームリストから取得され、処理されるべき
ブロックの参照フレームリストの中のすべての参照フレームが、処理されるべきブロック
が位置する画像フレームの前に表示されるとき、同一位置のサブブロックが位置する画像
フレームと第2の方向参照フレームが同じであるときは、時間オフセットベクトルとして
第2の方向動きベクトルを使用し、または、同一位置のサブブロックが位置する画像フレ
ームと第2の方向参照フレームが異なり、同一位置のサブブロックが位置する画像フレー
ムと第1の方向参照フレームが同じであるときは、時間オフセットベクトルとして第1の方
向動きベクトルを使用し、あるいは、同一位置のサブブロックが位置する画像フレームが
第1の参照フレームリストから取得される、もしくは処理されるべきブロックの参照フレ
ームリストの中の少なくとも1つの参照フレームが、処理されるべきブロックが位置する
画像フレームの後に表示されるとき、同一位置のサブブロックが位置する画像フレームが
第1の方向参照フレームと同じであるときは、時間オフセットベクトルとして第1の方向動
きベクトルを使用し、または、同一位置のサブブロックが位置する画像フレームと第1の
方向参照フレームが異なり、同一位置のサブブロックが位置する画像フレームと第2の方
向参照フレームが同じであるときは、時間オフセットベクトルとして第2の方向動きベク
トルを使用するように構成される。
【0060】
ある実現可能な実装形態では、オフセット取得モジュールは特に、同一位置のサブブロ
ックが位置する画像フレームと第2の方向参照フレームが異なり、同一位置のサブブロッ
クが位置する画像フレームと第1の方向参照フレームが異なるとき、時間オフセットベク
トルとして第3のあらかじめ設定された動きベクトルを使用するように構成される。
【0061】
ある実現可能な実装形態では、同一位置のサブブロックが位置する、かつ処理されるべ
きブロックの空間近傍ブロックの参照フレームリストの中にある画像フレームのインデッ
クスは、ビットストリームを解析することによって取得される。
【0062】
ある実現可能な実装形態では、空間近傍ブロックの動きベクトルが利用不可能である条
件は、以下の項目のうちの1つまたは組合せを含む。空間近傍ブロックが符号化/復号され
ない、空間近傍ブロックのためにイントラ予測モードまたはイントラブロックコピーモー
ドが使用される、空間近傍ブロックが存在しない、または空間近傍ブロックおよび処理さ
れるべきブロックが異なるコーディング領域に位置する。
【0063】
ある実現可能な実装形態では、コーディング領域は、ピクチャ、スライス、タイル、ま
たはタイルグループを含む。
【0064】
ある実現可能な実装形態では、装置はさらに、同一位置のサブブロックのあらかじめ設
定されたイントラブロック位置に対応する動きベクトルが利用可能であるかどうかを決定
するように構成される決定モジュールを含み、それに対応して、動きベクトル取得モジュ
ールは特に、あらかじめ設定されたイントラブロック位置に対応する動きベクトルが利用
可能であるとき、あらかじめ設定されたイントラブロック位置に対応する動きベクトルに
基づいて、処理されるべきブロックのサブブロックの動きベクトルを取得し、または、あ
らかじめ設定されたイントラブロック位置に対応する動きベクトルが利用不可能であると
き、第1のあらかじめ設定された動きベクトルに基づいて、処理されるべきブロックのサ
ブブロックの動きベクトルを取得するように構成される。
【0065】
ある実現可能な実装形態では、あらかじめ設定されたイントラブロック位置は、同一位
置のサブブロックの幾何学的な中心位置である。
【0066】
ある実現可能な実装形態では、あらかじめ設定されたイントラブロック位置が位置する
予測ユニットのためにイントラ予測モードまたはイントラブロックコピーモードが使用さ
れるとき、あらかじめ設定されたイントラブロック位置に対応する動きベクトルは利用不
可能であり、または、あらかじめ設定されたイントラブロック位置が位置する予測ユニッ
トのためにインター予測が使用されるとき、あらかじめ設定されたイントラブロック位置
に対応する動きベクトルは利用可能である。
【0067】
ある実現可能な実装形態では、動きベクトル取得モジュールは特に、処理されるべきブ
ロックのサブブロックの動きベクトルとして第1のあらかじめ設定された動きベクトルを
使用するように構成される。
【0068】
ある実現可能な実装形態では、第1のあらかじめ設定された動きベクトルは、ゼロ動き
ベクトルである。
【0069】
ある実現可能な実装形態では、サブブロックの動きベクトルは、第1の参照フレームリ
ストに基づく第1の方向サブブロック動きベクトルおよび/または第2の参照フレームリス
トに基づく第2の方向サブブロック動きベクトルを含み、あらかじめ設定されたイントラ
ブロック位置に対応する動きベクトルが利用不可能であるとき、動きベクトル取得モジュ
ールは特に、第1の方向サブブロック動きベクトルに基づく単方向予測が、処理されるべ
きブロックのサブブロックのために使用されると決定し、第1のあらかじめ設定された動
きベクトルに基づいて、処理されるべきブロックのサブブロックの第1の方向サブブロッ
ク動きベクトルを取得し、または、第2の方向サブブロック動きベクトルに基づく単方向
予測が、処理されるべきブロックのサブブロックのために使用されると決定し、第1のあ
らかじめ設定された動きベクトルに基づいて、処理されるべきブロックのサブブロックの
第2の方向サブブロック動きベクトルを取得するように構成される。
【0070】
ある実現可能な実装形態では、あらかじめ設定されたイントラブロック位置に対応する
動きベクトルが利用不可能であるとき、動きベクトル取得モジュールは特に、処理される
べきブロックが位置するコーディング領域の予測タイプがBタイプ予測であるとき、双方
向予測が、処理されるべきブロックのサブブロックのために使用されると決定し、第1の
あらかじめ設定された動きベクトルに基づいて、処理されるべきブロックのサブブロック
の第1の方向サブブロック動きベクトルおよび処理されるべきブロックのサブブロックの
第2の方向サブブロック動きベクトルを別々に取得し、または、処理されるべきブロック
が位置するコーディング領域の予測タイプがPタイプ予測であるとき、単方向予測が、処
理されるべきブロックのサブブロックのために使用されると決定し、第1のあらかじめ設
定された動きベクトルに基づいて、処理されるべきブロックのサブブロックの第1の方向
サブブロック動きベクトルを取得するように構成される。
【0071】
ある実現可能な実装形態では、動きベクトル取得モジュールは特に、処理されるべきブ
ロックのサブブロックの動きベクトルを取得するために、第2の時間距離差分に対する第1
の時間距離差分の比に基づいて、あらかじめ設定されたイントラブロック位置に対応する
動きベクトルに対してスケーリング処理を実行するように構成され、第1の時間距離差分
は、処理されるべきブロックが位置する画像フレームと処理されるべきブロックの参照フ
レームとの間のピクチャ順序カウント差分であり、第2の時間距離差分は、同一位置のサ
ブブロックが位置する画像フレームと同一位置のサブブロックの参照フレームとの間のピ
クチャ順序カウント差分である。
【0072】
ある実現可能な実装形態では、処理されるべきブロックの参照フレームリストの中の処
理されるべきブロックの参照フレームのインデックスは、ビットストリームを解析するこ
とによって取得される。
【0073】
ある実現可能な実装形態では、処理されるべきブロックの参照フレームリストの中の処
理されるべきブロックの参照フレームのインデックスは0である。
【0074】
ある実現可能な実装形態では、装置はさらに、処理されるべきブロックのサブブロック
の予測値を取得するために、処理されるべきブロックのサブブロックの動きベクトルおよ
び処理されるべきブロックの参照フレームに基づいて、処理されるべきブロックのサブブ
ロックに対する動き補償を実行するように構成される、動き補償モジュールを含む。
【0075】
第3の態様によれば、本出願の実施形態はビデオエンコーダを提供する。ビデオエンコ
ーダは、ピクチャブロックを符号化するように構成され、本出願の実施形態の第2の態様
によるインター予測装置であって、目標動き情報候補に基づいて現在の符号化ピクチャブ
ロックの動き情報を予測し、現在の符号化ピクチャブロックの動き情報に基づいて現在の
符号化ピクチャブロックの予測されるピクセル値を決定するように構成される、インター
予測装置と、
目標動き情報候補のインデックス識別子をビットストリームへと符号化するように構成
される、エントロピー符号化モジュールであって、インデックス識別子が現在の符号化ピ
クチャブロックのために使用される目標動き情報候補を示す、エントロピー符号化モジュ
ールと、
予測されるピクセル値に基づいて現在の符号化ピクチャブロックを再構築するように構
成される、再構築モジュールとを含む。
【0076】
第4の態様によれば、本出願の実施形態はビデオデコーダを提供する。ビデオデコーダ
は、ビットストリームからピクチャブロックを復号するように構成され、ビットストリー
ムからインデックス識別子を復号するように構成されるエントロピー復号モジュールであ
って、インデックス識別子が現在の復号ピクチャブロックの目標動き情報候補を示すため
に使用される、エントロピー復号モジュールと、本出願の実施形態の第2の態様によるイ
ンター予測装置であって、インデックス識別子によって示される目標動き情報候補に基づ
いて現在の復号ピクチャブロックの動き情報を予測し、現在の復号ピクチャブロックの動
き情報に基づいて現在の復号ピクチャブロックの予測されるピクセル値を決定するように
構成される、インター予測装置と、予測されるピクセル値に基づいて現在の復号ピクチャ
ブロックを再構築するように構成される、再構築モジュールとを含む。
【0077】
第5の態様によれば、本出願のある実施形態は、互いに結合される不揮発性メモリおよ
びプロセッサを含む、符号化デバイスを提供する。プロセッサは、第1の態様による任意
の方法のステップの一部またはすべてを実行するために、メモリに記憶されているプログ
ラムコードを呼び出す。
【0078】
第6の態様によれば、本出願のある実施形態は、互いに結合される不揮発性メモリおよ
びプロセッサを含む、復号デバイスを提供する。プロセッサは、第1の態様による任意の
方法のステップの一部またはすべてを実行するために、メモリに記憶されているプログラ
ムコードを呼び出す。
【0079】
第7の態様によれば、本出願の実施形態はコンピュータ可読記憶媒体を提供する。コン
ピュータ可読記憶媒体はプログラムコードを記憶し、プログラムコードは、第1の態様に
よる任意の方法のステップの一部またはすべてを実行するために使用される命令を含む。
【0080】
第8の態様によれば、本出願の実施形態はコンピュータプログラム製品を提供する。コ
ンピュータプログラム製品がコンピュータ上で実行されるとき、コンピュータは、第1の
態様による任意の方法のステップの一部またはすべてを実行することが可能にされる。
【0081】
第9の態様によれば、本出願のある実施形態は、インター予測方法を提供し、処理され
るべきブロックは1つまたは複数のサブブロックを含み、方法は、処理されるべきブロッ
クの空間近傍ブロックを取得するステップと、空間近傍ブロックに基づいて時間オフセッ
トベクトルを取得するステップとを含み、処理されるべきブロックのサブブロックの同一
位置のサブブロックを決定するために時間オフセットベクトルが使用され、空間近傍ブロ
ックが第1の参照フレームリストに位置する第1の方向参照フレームを有し、同一位置のサ
ブブロックが位置する画像フレームが第1の方向参照フレームと同じであるとき、時間オ
フセットベクトルが空間近傍ブロックの第1の方向動きベクトルであり、第1の方向動きベ
クトルが第1の方向参照フレームに対応する。
【0082】
ある実現可能な実装形態では、空間近傍ブロックが第1の参照フレームリストに位置す
る第1の方向参照フレームを有しないとき、または同一位置のサブブロックが位置する画
像フレームが第1の方向参照フレームと異なるとき、方法はさらに、空間近傍ブロックが
第2の参照フレームリストに位置する第2の方向参照フレームを有し、および同一位置のサ
ブブロックが位置する画像フレームが第2の方向参照フレームと同じであるとき、時間オ
フセットベクトルが空間近傍ブロックの第2の方向動きベクトルであり、第2の方向動きベ
クトルが第2の方向参照フレームに対応することを含む。
【0083】
ある実現可能な実装形態では、処理されるべきブロックの空間近傍ブロックを取得する
ことは、空間近傍ブロックが利用可能であるかどうかを確認することと、空間近傍ブロッ
クが利用可能であるとき空間近傍ブロックを取得することとを含む。
【0084】
ある実現可能な実装形態では、同一位置のサブブロックが位置する画像フレームが第1
の方向参照フレームと同じであることは、同一位置のサブブロックが位置する画像フレー
ムのPOCが第1の方向参照フレームのPOCと同じであることを含む。
【0085】
ある実現可能な実装形態では、同一位置のサブブロックが位置する画像フレームが第2
の方向参照フレームと同じであることは、同一位置のサブブロックが位置する画像フレー
ムのPOCが第2の方向参照フレームのPOCと同じであることを含む。
【0086】
ある実現可能な実装形態では、方法はさらに、同一位置のサブブロックが位置する画像
フレームのインデックス情報を取得するためにビットストリームを解析するステップを含
む。
【0087】
ある実現可能な実装形態では、方法はさらに、同一位置のサブブロックが位置する画像
フレームとして、処理されるべきブロックとのあらかじめ設定された関係を有する画像フ
レームを使用するステップを含む。
【0088】
ある実現可能な実装形態では、あらかじめ設定された関係は、同一位置のサブブロック
が位置する画像フレームが、処理されるべきブロックが位置する画像フレームに復号順序
において隣接し、処理されるべきブロックが位置する画像フレームより早く復号されるこ
とを含む。
【0089】
ある実現可能な実装形態では、あらかじめ設定された関係は、同一位置のサブブロック
が位置する画像フレームが、処理されるべきブロックの第1の方向参照フレームリストま
たは第2の方向参照フレームリストにおいて、その参照フレームインデックスが0である参
照フレームであることを含む。
【0090】
ある実現可能な実装形態では、空間近傍ブロックが第2の参照フレームリストに位置す
る第2の方向参照フレームを有しないとき、または同一位置のサブブロックが位置する画
像フレームが第2の方向参照フレームと異なるとき、方法はさらに、時間オフセットベク
トルとしてゼロ動きベクトルを使用するステップを含む。
【0091】
第10の態様によれば、本出願のある実施形態は、互いに結合される不揮発性メモリおよ
びプロセッサを含む、ビデオコーディングデバイスを提供する。プロセッサは、第9の態
様において説明される方法を実行するために、メモリに記憶されているプログラムコード
を呼び出す。
【0092】
本出願の第2の態様から第10の態様における技術的な解決策は、第1の態様における技術
的な解決策と矛盾しないことを理解されたい。様々な態様および対応する実現可能な実装
形態において達成される有益な効果は類似しており、詳細は再び説明されない。
【0093】
本出願の実施形態または背景における技術的な解決策をより明確に説明するために、以
下は簡単に、本出願または背景の実施形態を説明するための添付の図面を説明する。
【図面の簡単な説明】
【0094】
図1A】本発明の実施形態を実装するためのビデオ符号化および復号システム10の例のブロック図である。
図1B】本発明の実施形態を実装するためのビデオコーディングシステム40の例のブロック図である。
図2】本発明の実施形態を実装するためのエンコーダ20の例示的な構造のブロック図である。
図3】本発明の実施形態を実装するためのデコーダ30の例示的な構造のブロック図である。
図4】本発明の実施形態を実装するためのビデオコーディングデバイス400の例のブロック図である。
図5】本発明の実施形態を実装するための符号化装置または復号装置の別の例のブロック図である。
図6】本発明の実施形態を実装するために使用される空間近傍ブロックおよび時間参照ブロックの例の概略図である。
図7】本発明の実施形態を実装するためのAMVP予測モードの例の概略図である。
図8】本発明の実施形態を実装するためのサブブロックの例の概略図である。
図9】本発明の実施形態を実装するためのインター予測方法の例のフローチャートである。
図10】本発明の実施形態を実装するための動きベクトルスケーリング処理の例の概略図である。
図11】処理されるべきブロックのサブブロック、および本発明の実施形態を実装するために使用されるサブブロックの同一位置のサブブロックの例の概略図である。
図12】本発明の実施形態を実装するための別のインター予測方法の例のフローチャートである。
図13】本発明の実施形態を実装するためのインター予測装置の例のブロック図である。
【発明を実施するための形態】
【0095】
以下は、本発明の実施形態における添付の図面を参照して本発明の実施形態を説明する
。以下の説明では、本開示の一部を形成し、例として、本発明の実施形態の特定の態様ま
たは本発明の実施形態が使用され得る特定の態様を示す、添付の図面への参照が行われる
。本発明の実施形態は、他の態様において使用されてもよく、添付の図面に図示されない
構造的なまたは論理的な変更を含んでもよいことを理解されたい。したがって、以下の詳
細な説明は、限定的な意味で理解されるべきではなく、本発明の範囲は添付の特許請求の
範囲によって定義される。たとえば、説明される方法を参照して開示される内容は、方法
を実行するように構成される対応するデバイスまたはシステムにも適用可能であり、その
逆も然りであることを理解されたい。たとえば、1つまたは複数の特定の方法ステップが
説明される場合、対応するデバイスは、説明された1つまたは複数の方法ステップを実行
するための機能ユニット(たとえば、1つのユニットが1つまたは複数のステップを実行し
、または、その各々が複数のステップのうちの1つまたは複数を実行する複数のユニット)
などの1つまたは複数のユニットを、そのような1つまたは複数のユニットが添付の図面に
おいて明示的に説明または図示されない場合であっても含み得る。加えて、たとえば、特
定の装置が、機能ユニットなどの1つまたは複数のユニットに基づいて説明される場合、
対応する方法は、1つまたは複数のユニットの1つまたは複数の機能を実行するために使用
されるステップ(たとえば、1つまたは複数のユニットの1つまたは複数の機能を実行する
ために使用される1つのステップ、またはその各々が複数のユニットの中の1つまたは複数
のユニットの1つまたは複数の機能を実行するために使用される複数のステップ)を、その
ようなステップのうちの1つまたは複数が添付の図面において明示的に説明または図示さ
れない場合であっても含み得る。さらに、本明細書において説明される様々な例示的な実
施形態および/または態様の特徴は、別段指定されない限り、互いに組み合わせられ得る
ことを理解されたい。
【0096】
本発明の実施形態における技術的な解決策は、既存のビデオコーディング規格(たとえ
ば、H.264およびHEVCなどの規格)だけに適用されるのではなく、未来のビデオコーディン
グ規格(たとえば、H.266規格)にも適用され得る。本発明の実施形態において使用される
用語は、本発明の特定の実施形態を説明することが意図されているだけであり、本発明を
限定することは意図されていない。以下では、まず、本発明の実施形態において使用され
得るいくつかの概念を簡単に説明する。
【0097】
ビデオコーディングは通常、ピクチャのシーケンスの処理を指し、ここで、ピクチャの
シーケンスはビデオまたはビデオシーケンスを形成する。ビデオコーディング分野では、
「ピクチャ(picture)」、「フレーム(frame)」、および「画像(image)」という用語は、
同義語として使用され得る。本明細書において使用されるビデオコーディングは、ビデオ
符号化またはビデオ復号を示す。ビデオ符号化は、ソース側で実行され、通常は、より効
率的な記憶および/または送信のために、ビデオピクチャを表現するためのデータの量を
減らすように元のビデオピクチャを処理する(たとえば、圧縮によって)ことを含む。ビデ
オ復号は、デスティネーション側で実行され、通常、ビデオピクチャを再構築するための
、エンコーダと比較して逆の処理を含む。実施形態におけるビデオピクチャの「コーディ
ング」は、ビデオシーケンスの「符号化」または「復号」として理解されるべきである。
符号化部分と復号部分の組合せは、コーディング(符号化および復号)とも呼ばれる。
【0098】
ビデオシーケンスは一連のピクチャ(picture)を含み、ピクチャはさらにスライス(slic
e)に分割され、スライスはさらにブロック(block)に分割される。ビデオコーディングは
ブロックによって実行される。一部の新しいビデオコーディング規格では、「ブロック」
という概念はさらに拡張される。たとえば、H.264規格では、マクロブロック(macroblock
、MB)があり、マクロブロックはさらに、予測コーディングのために使用され得る複数の
予測ブロック(区分)に分割され得る。高効率ビデオコーディング(high efficiency video
coding、HEVC)規格では、複数のブロックユニットは、コーディングユニット(coding un
it、CU)、予測ユニット(prediction unit、PU)、および変換ユニット(transform unit、T
U)を使用することによって機能に基づいて分類され、新しい木ベースの構造を使用するこ
とによって記述される。たとえば、CUは四分木に基づいてより小さいCUへと分割されても
よく、より小さいCUは、四分木構造を生成するためにさらに分割されてもよい。CUは、コ
ーディングピクチャを分割して符号化するための基本単位である。PUおよびTUは、同様の
木構造も有する。PUは、予測ブロックに対応してもよく、予測コーディングのための基本
単位である。CUはさらに、分割モードにおいて複数のPUへと分割される。TUは、変換ブロ
ックに対応してもよく、予測残差を変換するための基本単位である。しかしながら、基本
的に、CU、PU、およびTUのすべてが、ブロック(またはピクチャブロック)の概念である。
【0099】
たとえば、HEVCにおいて、CTUは、コーディングツリーとして表現される四分木構造を
使用することによって複数のCUへと分割される。インターピクチャ(時間)予測を使用する
ことによってピクチャ領域をコーディングするか、またはイントラピクチャ(空間)予測を
使用することによってピクチャ領域をコーディングするかの決定は、CUレベルで行われる
。各CUはさらに、PU分割タイプに基づいて、1つ、2つ、または4つのPUへと分割され得る
。1つのPUにおいて、同じ予測処理が適用され、関連する情報がPUごとにデコーダに送信
される。PU分割タイプに基づいて予測処理を適用することによって残差ブロックが取得さ
れた後で、CUは、CUのために使用されるコーディングツリーに類似する別の四分木構造に
基づいて、変換ユニット(transform unit、TU)へと区分され得る。ビデオ圧縮技術の最近
の発展において、四分木プラス二分木(Quadtree plus Binary Tree、QTBT)区分フレーム
が、コーディングブロックを区分するために使用される。QTBTブロック構造では、CUは正
方形または長方形であり得る。
【0100】
本明細書では、説明および理解を容易にするために、現在のコーディングピクチャの中
のコーディングされるべきピクチャブロックは、現在のブロックと呼ばれ得る。たとえば
、符号化では、現在のブロックは、符号化されているブロックであり、復号では、現在の
ブロックは、復号されているブロックである。現在のブロックを予測するために使用され
る、参照ピクチャの中の復号されたピクチャブロックは、参照ブロックと呼ばれる。具体
的には、参照ブロックは、現在のブロックのための参照信号を提供するブロックであり、
参照信号は、ピクチャブロックの中のピクセル値を表す。参照ピクチャの中にあり、現在
のブロックのための予測信号を提供するブロックは、予測ブロックと呼ばれ得る。予測信
号は、予測ブロックの中のピクセル値、サンプリング値、またはサンプリング信号を表す
。たとえば、複数の参照ブロックが走査された後で、最適な参照ブロックが発見される。
最適な参照ブロックは、現在のブロックのための予測をもたらし、このブロックは予測ブ
ロックと呼ばれる。
【0101】
無損失ビデオコーディングの場合、元のビデオピクチャを再構築することができ、すな
わち、再構築されたビデオピクチャは、元のビデオピクチャと同じ品質を有する(記憶ま
たは送信の間に送信損失または他のデータ損失が生じないと仮定すると)。有損失ビデオ
コーディングの場合、ビデオピクチャを表現するために必要とされるデータの量を減らす
ために、たとえば量子化を通じて、さらなる圧縮が実行され、ビデオピクチャをデコーダ
側で完全に再構築することができず、すなわち、再構築されたビデオピクチャの品質は、
元のビデオピクチャの品質より低くまたは悪い。
【0102】
いくつかのH.261ビデオコーディング規格は、「有損失ハイブリッドビデオコーデック
」のために使用される(すなわち、サンプル領域における空間予測および時間予測は、変
換領域において量子化を適用するための2D変換コーディングと組み合わせられる)。ビデ
オシーケンスの各ピクチャは通常、重複しないブロックのセットへと区分され、コーディ
ングは通常、ブロックレベルで実行される。言い換えると、エンコーダ側では、ビデオは
通常、ブロック(ビデオブロック)レベルで処理され、すなわち符号化される。たとえば、
予測ブロックは、空間(イントラピクチャ)予測および時間(インターピクチャ)予測を通じ
て生成され、予測ブロックは、残差ブロックを取得するために現在のブロック(現在処理
されている、または処理されるべきブロック)から差し引かれ、残差ブロックが変換領域
において変換され、送信(圧縮)されるべきデータの量を減らすために量子化される。デコ
ーダ側では、エンコーダとは逆の処理部分が、現在のブロックを表現のために再構築する
ために、符号化または圧縮されたブロックに適用される。さらに、エンコーダは、デコー
ダの処理ループを複製するので、エンコーダおよびデコーダは、後続のブロックを処理す
るための、すなわちコーディングするための、同一の予測(たとえば、イントラ予測およ
びインター予測)および/または再構築を生成する。
【0103】
以下は、本発明の実施形態が適用されるシステムアーキテクチャを説明する。図1Aは、
本発明の実施形態が適用されるビデオ符号化および復号システム10の例の概略ブロック図
である。図1Aに示されるように、ビデオ符号化および復号システム10は、ソースデバイス
12およびデスティネーションデバイス14を含み得る。ソースデバイス12は符号化されたビ
デオデータを生成するので、ソースデバイス12はビデオ符号化装置と呼ばれ得る。デステ
ィネーションデバイス14はソースデバイス12によって生成される符号化されたビデオデー
タを復号し得るので、デスティネーションデバイス14はビデオ復号装置と呼ばれ得る。様
々な実装の解決策において、ソースデバイス12、デスティネーションデバイス14、または
ソースデバイス12とデスティネーションデバイス14の両方が、1つまたは複数のプロセッ
サと、1つまたは複数のプロセッサに結合されるメモリとを含み得る。メモリは、限定は
されないが、RAM、ROM、EEPROM、フラッシュメモリ、または、本明細書において説明され
るように、コンピュータによってアクセス可能な命令もしくはデータ構造の形で所望のプ
ログラムコードを記憶するために使用され得る任意の他の媒体を含み得る。ソースデバイ
ス12およびデスティネーションデバイス14は、デスクトップコンピュータ、モバイルコン
ピューティング装置、ノートブック(たとえば、ラップトップ)コンピュータ、タブレット
コンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセ
ット、テレビジョン、カメラ、ディスプレイ装置、デジタルメディアプレーヤ、ビデオゲ
ームコンソール、車載コンピュータ、ワイヤレス通信デバイスなどを含む、様々な装置を
含み得る。
【0104】
図1Aは、ソースデバイス12およびデスティネーションデバイス14を別々のデバイスとし
て示すが、デバイスの実施形態は代替として、ソースデバイス12とデスティネーションデ
バイス14の両方、または、ソースデバイス12とデスティネーションデバイス14の両方の機
能、すなわち、ソースデバイス12または対応する機能およびデスティネーションデバイス
14または対応する機能を含み得る。そのような実施形態では、ソースデバイス12または対
応する機能およびデスティネーションデバイス14または対応する機能は、同じハードウェ
アおよび/もしくはソフトウェア、別個のハードウェアおよび/もしくはソフトウェア、ま
たはこれらの任意の組合せを使用することによって実装され得る。
【0105】
ソースデバイス12とデスティネーションデバイス14との間の通信接続は、リンク13を通
じて実装されてもよく、デスティネーションデバイス14は、リンク13を通じてソースデバ
イス12から符号化されたビデオデータを受信してもよい。リンク13は、符号化されたビデ
オデータをソースデバイス12からデスティネーションデバイス14に移動することが可能な
、1つまたは複数の媒体または装置を含み得る。ある例では、リンク13は、ソースデバイ
ス12が符号化されたビデオデータをデスティネーションデバイス14にリアルタイムで直接
送信することを可能にする、1つまたは複数の通信媒体を含み得る。この例では、ソース
デバイス12は、通信規格(たとえば、ワイヤレス通信プロトコル)に従って、符号化された
ビデオデータを変調してもよく、変調されたビデオデータをデスティネーションデバイス
14に送信してもよい。1つまたは複数の通信媒体は、ワイヤレス通信媒体および/または有
線通信媒体、たとえば、無線周波数(RF)スペクトルまたは1つまたは複数の物理送信ケー
ブルを含み得る。1つまたは複数の通信媒体は、パケットベースのネットワークの一部を
構成してもよく、パケットベースのネットワークは、たとえば、ローカルエリアネットワ
ーク、ワイドエリアネットワーク、またはグローバルネットワーク(たとえば、インター
ネット)である。1つまたは複数の通信媒体は、ルータ、スイッチ、基地局、ソースデバイ
ス12からデスティネーションデバイス14への通信を容易にする別のデバイスを含み得る。
【0106】
ソースデバイス12はエンコーダ20を含む。任意選択で、ソースデバイス12はさらに、ピ
クチャソース16、ピクチャプリプロセッサ18、および通信インターフェース22を含み得る
。ある特定の実装形式では、エンコーダ20、ピクチャソース16、ピクチャプリプロセッサ
18、および通信インターフェース22は、ソースデバイス12の中のハードウェアコンポーネ
ントであってもよく、またはソースデバイス12の中のソフトウェアプログラムであっても
よい。説明は次のように別々に与えられる。
【0107】
ピクチャソース16は、たとえば、現実世界のピクチャをキャプチャするように構成され
る任意のタイプのピクチャキャプチャデバイス、ならびに/あるいは、ピクチャもしくは
コメントを生成するための任意のタイプのデバイス(スクリーンコンテンツのコーディン
グのために、スクリーン上の一部のテキストは、コーディングされるべきピクチャまたは
画像の一部であるとも見なされる)、たとえば、コンピュータアニメーションピクチャを
生成するように構成されるコンピュータグラフィクス処理ユニット、あるいは、現実世界
のピクチャもしくはコンピュータアニメーションピクチャ(たとえば、スクリーンコンテ
ンツまたは仮想現実(virtual reality、VR)ピクチャ)を取得および/または提供するよう
に構成される任意のタイプのデバイス、ならびに/あるいは、これらの任意の組合せ(たと
えば、拡張現実(augmented reality、AR)ピクチャ)を含んでもよく、またはそれらであっ
てもよい。ピクチャソース16は、ピクチャをキャプチャするように構成されるカメラ、ま
たはピクチャを記憶するように構成されるメモリであり得る。ピクチャソース16はさらに
、以前にキャプチャまたは生成されたピクチャが記憶される、および/またはピクチャが
取得もしくは受信される、任意のタイプの(内部または外部)インターフェースを含み得る
。ピクチャソース16がカメラであるとき、ピクチャソース16は、たとえば、ローカルカメ
ラまたはソースデバイスへと統合されたカメラであり得る。ピクチャソース16がメモリで
あるとき、ピクチャソース16は、ローカルメモリ、またはたとえば、ソースデバイスへと
統合されたメモリであり得る。ピクチャソース16がインターフェースを含むとき、インタ
ーフェースは、たとえば、外部ビデオソースからピクチャを受信するための外部インター
フェースであり得る。外部ビデオソースは、たとえば、カメラ、外部メモリ、または外部
ピクチャ生成デバイスなどの外部ピクチャキャプチャデバイスである。外部ピクチャ生成
デバイスは、たとえば、外部コンピュータグラフィクス処理ユニット、コンピュータ、ま
たはサーバである。インターフェースは、任意のプロプライエタリインターフェースプロ
トコルまたは標準化されたインターフェースプロトコルに従って、任意のタイプのインタ
ーフェース、たとえば、有線インターフェースまたはワイヤレスインターフェースまたは
光学インターフェースであり得る。
【0108】
ピクチャは、ピクセル(ピクチャ要素)の2次元アレイまたは行列として見なされ得る。
アレイの中のピクセルはサンプルとも呼ばれ得る。アレイのピクチャの水平方向および垂
直方向(または軸)の中のサンプルの量は、ピクチャのサイズおよび/または分解能を定義
する。色の表現のために、3つの色成分が通常は使用される。たとえば、ピクチャは、3つ
のサンプルアレイとして表現されてもよく、またはそれを含んでもよい。たとえば、RBG
フォーマットまたは色空間において、ピクチャは、対応する赤、緑、および青のサンプル
アレイを含む。しかしながら、ビデオコーディングにおいて、各ピクセルは通常、ルマ/
クロマフォーマットまたは色空間において表現される。たとえば、YUVフォーマットのピ
クチャは、Yによって示される(または場合によってはLによって示される)ルマ成分および
UとVによって示される2つのクロマ成分を含む。輝度(ルマ)成分Yは、明るさまたはグレー
レベルの強度(たとえば、グレースケールピクチャでは両方が同じである)を表し、2つの
彩度(クロマ)成分UおよびVは、クロマまたは色情報成分を表す。それに対応して、YUVフ
ォーマットのピクチャは、ルマサンプル値(Y)のルマサンプルアレイおよびクロマ値の2つ
のクロマサンプルアレイ(UおよびV)を含む。RGBフォーマットのピクチャは、YUVフォーマ
ットへと変換または転換されてもよく、逆もまた然りである。この処理は、色転換または
色変換とも呼ばれる。ピクチャがモノクロームである場合、ピクチャはルマサンプルアレ
イを含み得る。本発明のこの実施形態では、ピクチャプロセッサにピクチャソース16によ
って送信されるピクチャは、生のピクチャデータ17とも呼ばれ得る。
【0109】
ピクチャプリプロセッサ18は、生のピクチャデータ17を受信し、生のピクチャデータ17
に対して前処理を実行して、前処理されたピクチャ19または前処理されたピクチャデータ
19を取得するように構成される。たとえば、ピクチャプリプロセッサ18によって実行され
る前処理は、トリミング、カラーフォーマット変換(たとえば、RGBフォーマットからYUV
フォーマット)、カラーコレクション、またはノイズ除去を含み得る。
【0110】
エンコーダ20(またはビデオエンコーダ20と呼ばれる)は、前処理されたピクチャデータ
19を受信し、符号化されたピクチャデータ21を提供するために、関連する予測モード(本
明細書の実施形態における予測モードなど)で前処理されたピクチャデータ19を処理する
ように構成される(エンコーダ20の構造的な詳細は、図2図4、または図5に基づいて以下
でさらに説明される)。いくつかの実施形態では、エンコーダ20は、本発明において説明
されるクロマブロック予測方法のエンコーダ側の適用を実施するために、以下で説明され
る様々な実施形態を実行するように構成され得る。
【0111】
通信インターフェース22は、符号化されたピクチャデータ21を受信し、記憶または直接
の再構築のために、リンク13を通じて、符号化されたピクチャデータ21をデスティネーシ
ョンデバイス14または任意の他のデバイス(たとえば、メモリ)に送信するように構成され
得る。任意の他のデバイスは、復号または記憶のために使用される任意の他のデバイスで
あり得る。通信インターフェース22は、たとえば、リンク13を介した送信のために、符号
化されたピクチャデータ21を適切なフォーマット、たとえばデータパケットへとカプセル
化するように構成され得る。
【0112】
デスティネーションデバイス14はデコーダ30を含む。任意選択で、デスティネーション
デバイス14はさらに、通信インターフェース28、ピクチャポストプロセッサ32、およびデ
ィスプレイデバイス34を含み得る。説明は次のように別々に与えられる。
【0113】
通信インターフェース28は、ソースデバイス12または任意の他のソースから符号化され
たピクチャデータ21を受信するように構成され得る。任意の他のソースは、たとえばスト
レージデバイスである。ストレージデバイスは、たとえば、符号化ピクチャデータストレ
ージデバイスである。通信インターフェース28は、ソースデバイス12とデスティネーショ
ンデバイス14との間のリンク13を通じて、または任意のタイプのネットワークを通じて、
符号化されたピクチャデータ21を送信または受信するように構成され得る。リンク13は、
たとえば、直接の有線接続またはワイヤレス接続である。任意のタイプのネットワークが
、たとえば、有線ネットワークもしくはワイヤレスネットワークもしくはこれらの任意の
組合せ、または、任意のタイプのプライベートネットワークもしくはパブリックネットワ
ークもしくはこれらの任意の組合せである。通信インターフェース28は、たとえば、符号
化されたピクチャデータ21を取得するために、通信インターフェース22を通じて送信され
るデータパケットをカプセル化解除するように構成され得る。
【0114】
通信インターフェース28と通信インターフェース22の両方が、単方向通信インターフェ
ースまたは双方向通信インターフェースとして構成されてもよく、たとえば、接続を確立
するためのメッセージを送信して受信し、通信リンクおよび/または符号化されたピクチ
ャデータの送信などのデータ送信に関する任意の他の情報に肯定応答してそれを交換する
ように構成されてもよい。
【0115】
デコーダ30(またはデコーダ30と呼ばれる)は、符号化されたピクチャデータ21を受信し
、復号されたピクチャデータ31または復号されたピクチャ31を提供するように構成される
(デコーダ30の構造的な詳細は、図3図4、または図5に基づいて以下でさらに説明される
)。いくつかの実施形態では、デコーダ30は、本発明において説明されるクロマブロック
予測方法のデコーダ側の適用を実施するために、以下で説明される様々な実施形態を実行
するように構成され得る。
【0116】
ピクチャポストプロセッサ32は、復号されたピクチャデータ31(再構築されたピクチャ
データとも呼ばれる)に対して後処理を実行して、後処理されたピクチャデータ33を取得
するように構成される。ピクチャポストプロセッサ32によって実行される後処理は、カラ
ーフォーマット転換(たとえば、YUVフォーマットからRGBフォーマット)、カラーコレクシ
ョン、トリミング、再サンプリング、または任意の他の処理を含み得る。ピクチャポスト
プロセッサ32はさらに、後処理されたピクチャデータ33をディスプレイデバイス34に送信
するように構成され得る。
【0117】
ディスプレイデバイス34は、後処理されたピクチャデータ33を受信して、ピクチャを、
たとえばユーザまたは視聴者に表示するように構成される。ディスプレイデバイス34は、
再構築されたピクチャを提示するための任意のタイプのディスプレイ、たとえば、統合さ
れたもしくは外部の、ディスプレイもしくはモニタであってもよく、またはそれらを含ん
でもよい。たとえば、ディスプレイは、液晶ディスプレイ(liquid crystal display、LCD
)、有機発光ダイオード(organic light emitting diode、OLED)ディスプレイ、プラズマ
ディスプレイ、プロジェクタ、マイクロLEDディスプレイ、リキッドクリスタルオンシリ
コン(liquid crystal on silicon、LCoS)、デジタル光プロセッサ(digital light proces
sor、DLP)、または任意のタイプの他のディスプレイを含み得る。
【0118】
図1Aは、ソースデバイス12およびデスティネーションデバイス14を別々のデバイスとし
て示すが、デバイスの実施形態は代替として、ソースデバイス12とデスティネーションデ
バイス14の両方、または、ソースデバイス12とデスティネーションデバイス14の両方の機
能、すなわち、ソースデバイス12または対応する機能およびデスティネーションデバイス
14または対応する機能を含み得る。そのような実施形態では、ソースデバイス12または対
応する機能およびデスティネーションデバイス14または対応する機能は、同じハードウェ
アおよび/もしくはソフトウェア、別個のハードウェアおよび/もしくはソフトウェア、ま
たはこれらの任意の組合せを使用することによって実装され得る。
【0119】
説明に基づいて、当業者は、図1Aに示されるソースデバイス12および/またはデスティ
ネーションデバイス14の様々なユニットの機能、もしくはそれらのデバイスの機能の、存
在および(厳密な)分割は、実際のデバイスおよび適用形態に応じて変化し得ることを、当
業者は必ず知ることができる。ソースデバイス12およびデスティネーションデバイス14は
、任意のタイプのハンドヘルドデバイスもしくは固定式デバイス、たとえば、ノートブッ
クもしくはラップトップコンピュータ、携帯電話、スマートフォン、タブレットもしくは
タブレットコンピュータ、ビデオカメラ、デスクトップコンピュータ、セットトップボッ
クス、テレビジョン、カメラ、車載デバイス、ディスプレイデバイス、デジタルメディア
プレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス(コンテンツサービ
スサーバまたはコンテンツ配信サーバなど)、放送受信機デバイス、または放送送信機デ
バイスを含む、広範囲のデバイスのいずれか1つを含んでもよく、任意のタイプのオペレ
ーティングシステムを使用してもしなくてもよい。
【0120】
エンコーダ20およびデコーダ30は各々、様々な適切な回路、たとえば、1つまたは複数
のマイクロプロセッサ、デジタルシグナルプロセッサ(digital signal processor、DSP)
、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィール
ドプログラマブルゲートアレイ(field-programmable gate array、FPGA)、ディスクリー
ト論理回路、ハードウェア、またはこれらの任意の組合せのいずれか1つとして実装され
得る。技術がソフトウェアを使用することによって部分的に実装される場合、デバイスは
、適切な非一時的コンピュータ可読記憶媒体にソフトウェア命令を記憶してもよく、本開
示の技術を実行するために、1つまたは複数のプロセッサなどのハードウェアを使用する
ことによって命令を実行してもよい。前述の内容(ハードウェア、ソフトウェア、ハード
ウェアとソフトウェアの組合せなどを含む)のいずれか1つが、1つまたは複数のプロセッ
サとして見なされ得る。
【0121】
いくつかの場合、図1Aに示されるビデオ符号化および復号システム10は例にすぎず、本
出願の技術は、符号化デバイスと復号デバイスとの間のどのようなデータ通信も必ずしも
含まないビデオコーディング環境(たとえば、ビデオ符号化またはビデオ復号)に適用され
得る。他の例では、データは、ローカルメモリから取り出されること、ネットワークを介
してストリーミングされることなどが行われ得る。ビデオ符号化デバイスは、データを符
号化し、符号化されたデータをメモリへと記憶してもよく、および/または、ビデオ復号
デバイスは、メモリからデータを取り出し、データを復号してもよい。いくつかの例では
、符号化および復号は、互いに通信せず、単にデータをメモリへと符号化し、しかし、お
よび/またはメモリからデータを取り出し、データを復号する、デバイスによって実行さ
れる。
【0122】
図1Bは、ある例示的な実施形態による、図2のエンコーダ20および/または図3のデコー
ダ30を含むビデオコーディングシステム40の例の図を示す。ビデオコーディングシステム
40は、本発明の実施形態において様々な技術の組合せを実施することができる。示される
実装形態では、ビデオコーディングシステム40は、イメージングデバイス41、エンコーダ
20、デコーダ30(および/または処理ユニット46の論理回路47によって実装されるビデオエ
ンコーダ/デコーダ)、アンテナ42、1つまたは複数のプロセッサ43、1つまたは複数のメモ
リ44、および/またはディスプレイデバイス45を含み得る。
【0123】
図1Bに示されるように、イメージングデバイス41、アンテナ42、処理ユニット46、論理
回路47、エンコーダ20、デコーダ30、プロセッサ43、メモリ44、および/またはディスプ
レイデバイス45は、互いに通信することができる。説明されるように、ビデオコーディン
グシステム40はエンコーダ20およびデコーダ30とともに示されるが、異なる例では、ビデ
オコーディングシステム40は、エンコーダ20しか含まなくてもよく、またはデコーダ30し
か含まなくてもよい。
【0124】
いくつかの例では、アンテナ42は、ビデオデータの符号化されたビットストリームを送
信または受信するように構成され得る。加えて、いくつかの例では、ディスプレイデバイ
ス45は、ビデオデータを提示するように構成され得る。いくつかの例では、論理回路47は
、処理ユニット46によって実装され得る。処理ユニット46は、特定用途向け集積回路(app
lication-specific integrated circuit、ASIC)論理、グラフィクス処理ユニット、汎用
プロセッサなどを含み得る。ビデオコーディングシステム40は代替として、任意選択のプ
ロセッサ43を含み得る。任意選択のプロセッサ43は同様に、特定用途向け集積回路(appli
cation-specific integrated circuit、ASIC)論理、グラフィクス処理ユニット、汎用プ
ロセッサなどを含み得る。いくつかの例では、論理回路47は、ハードウェア、たとえばビ
デオコーディングのための専用ハードウェアを使用することによって実装され得る。プロ
セッサ43は、汎用ソフトウェア、オペレーティングシステムなどを使用することによって
実装され得る。加えて、メモリ44は、任意のタイプのメモリ、たとえば、揮発性メモリ(
たとえば、スタティックランダムアクセスメモリ(Static Random Access Memory、SRAM)
、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory、DRAM))、また
は不揮発性メモリ(たとえば、フラッシュメモリ)であり得る。非限定的な例では、メモリ
44は、キャッシュメモリによって実装され得る。いくつかの例では、論理回路47は、メモ
リ44(たとえば、ピクチャバッファを実装するための)にアクセスし得る。他の例では、論
理回路47および/または処理ユニット46は、ピクチャバッファなどを実装するためのメモ
リ(たとえば、キャッシュ)を含み得る。
【0125】
いくつかの例では、論理回路によって実装されるエンコーダ20は、ピクチャバッファ(
これはたとえば、処理ユニット46またはメモリ44によって実装される)およびグラフィク
ス処理ユニット(これはたとえば、処理ユニット46によって実装される)を含み得る。グラ
フィクス処理ユニットは、ピクチャバッファに通信可能に結合され得る。グラフィクス処
理ユニットは、図2および/または本明細書において説明される任意の他のエンコーダシス
テムもしくはサブシステムを参照して説明される様々なモジュールを実装するために、論
理回路47によって実装されるエンコーダ20を含み得る。論理回路は、本明細書において説
明される様々な動作を実行するように構成され得る。
【0126】
いくつかの例では、デコーダ30は、図3のデコーダ30および/または本明細書において説
明される任意の他のデコーダシステムもしくはサブシステムを参照して説明される様々な
モジュールを実装するために、同様の方式で論理回路47によって実装され得る。いくつか
の例では、論理回路によって実装されるデコーダ30は、ピクチャバッファ(これは、処理
ユニット2820またはメモリ44によって実装される)およびグラフィクス処理ユニット(これ
はたとえば、処理ユニット46によって実装される)を含み得る。グラフィクス処理ユニッ
トは、ピクチャバッファに通信可能に結合され得る。グラフィクス処理ユニットは、図3
および/または本明細書において説明される任意の他のデコーダシステムもしくはサブシ
ステムを参照して説明される様々なモジュールを実装するために、論理回路47によって実
装されるデコーダ30を含み得る。
【0127】
いくつかの例では、アンテナ42は、ビデオデータの符号化されたビットストリームを受
信するように構成され得る。説明されるように、符号化されたビットストリームは、ビデ
オフレームコーディングに関し、本明細書において説明される、データ、インジケータ、
インデックス値、モード選択データなど、たとえば、コーディング区分に関するデータ(
たとえば、変換係数もしくは量子化された変換係数、任意選択のインジケータ(説明され
るような)、および/またはコーディング区分を定義するデータ)を含み得る。ビデオコー
ディングシステム40はさらに、アンテナ42に結合され、符号化されたビットストリームを
復号するように構成される、デコーダ30を含み得る。ディスプレイデバイス45は、ビデオ
フレームを提示するように構成される。
【0128】
本発明のこの実施形態では、エンコーダ20を参照して説明される例の逆の処理を実行す
るように、デコーダ30は構成され得ることを理解されたい。シグナリングシンタックス要
素に関して、デコーダ30は、シンタックス要素を受信して解析し、それに対応して関連す
るビデオデータを復号するように構成され得る。いくつかの例では、エンコーダ20は、シ
ンタックス要素を符号化されたビデオビットストリームへとエントロピー符号化し得る。
そのような例では、デコーダ30は、シンタックス要素を解析し、それに対応して関連する
ビデオデータを復号し得る。
【0129】
本開示の実施形態において説明される動きベクトル予測方法は、インター予測処理にお
いて主に使用されることに留意されたい。この処理は、エンコーダ20とデコーダ30の両方
に存在する。本発明の実施形態におけるエンコーダ20およびデコーダ30は、たとえば、H.
263、H.264、HEVV、MPEG-2、MPEG-4、VP8、もしくはVP9などのビデオ規格プロトコル、ま
たは次世代ビデオ規格プロトコル(H.266など)に対応するエンコーダ/デコーダであり得る
【0130】
図2は、本発明の実施形態を実装するためのエンコーダ20の例の概略/概念ブロック図で
ある。図2の例では、エンコーダ20は、残差計算ユニット204、変換処理ユニット206、量
子化ユニット208、逆量子化ユニット210、逆変換処理ユニット212、再構築ユニット214、
バッファ216、ループフィルタユニット220、復号ピクチャバッファ(decoded picture buf
fer、DPB)230、予測処理ユニット260、およびエントロピー符号化ユニット270を含む。予
測処理ユニット260は、インター予測ユニット244、イントラ予測ユニット254、およびモ
ード選択ユニット262を含み得る。インター予測ユニット244は、動き推定ユニットおよび
動き補償ユニット(図に示されない)を含み得る。図2に示されるエンコーダ20はまた、ハ
イブリッドビデオコーデックに基づくハイブリッドビデオエンコーダまたはビデオエンコ
ーダと呼ばれ得る。
【0131】
たとえば、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、予測処
理ユニット260、およびエントロピー符号化ユニット270は、エンコーダ20の順方向信号経
路を形成し、一方、たとえば、逆量子化ユニット210、逆変換処理ユニット212、再構築ユ
ニット214、バッファ216、ループフィルタ220、復号ピクチャバッファ(decoded picture
buffer、DPB)230、および予測処理ユニット260は、エンコーダの逆方向信号経路を形成す
る。エンコーダの逆方向信号経路は、デコーダの信号経路に対応する(図3のデコーダ30を
参照されたい)。
【0132】
エンコーダ20は、たとえば、入力202を通じて、ピクチャ201またはピクチャ201のピク
チャブロック203、たとえば、ビデオまたはビデオシーケンスを形成するピクチャのシー
ケンスの中のピクチャを受信する。ピクチャブロック203はまた、現在のピクチャブロッ
クまたはコーディングされるべきピクチャブロックとも呼ばれてもよく、ピクチャ201は
、現在のピクチャまたはコーディングされるべきピクチャと呼ばれてもよい(特にビデオ
コーディングにおいて、現在のピクチャを他のピクチャ、たとえば、同じビデオシーケン
スの中の以前に符号化および/または復号されたピクチャ、すなわち、現在のピクチャも
含むビデオシーケンスと区別するために)。
【0133】
ある実施形態では、エンコーダ20は、ピクチャブロック203などの複数のブロックへと
ピクチャ201を区分するように構成される、区分ユニット(図2に図示されない)を含み得る
。ピクチャ201は通常、複数の重複しないブロックへと区分される。区分ユニットは、ビ
デオシーケンスの中のすべてのピクチャに対する同じブロックサイズと、そのブロックサ
イズを定義する対応するグリッドとを使用し、または、ピクチャ間またはピクチャのサブ
セットもしくはグループ間でブロックサイズを変更し、各ピクチャを対応するブロックへ
と区分するように構成され得る。
【0134】
ある例では、エンコーダ20の予測処理ユニット260は、上で説明された区分技術の任意
の組合せを実行するように構成され得る。
【0135】
ピクチャ201のように、ピクチャブロック203は、サンプル値を伴うサンプルの二次元ア
レイまたは行列でもあり、またはそれとして見なされてもよいが、ピクチャブロック203
のサイズは、ピクチャ201のサイズより小さい。言い換えると、ピクチャブロック203は、
たとえば、1つのサンプルアレイ(たとえば、モノクロームピクチャ201の場合はルマアレ
イ)、3つのサンプルアレイ(たとえば、カラーピクチャの場合は1つのルマアレイおよび2
つのクロマアレイ)、または適用されるカラーフォーマットに応じて任意の他の量および/
もしくはタイプのアレイを含み得る。ピクチャブロック203の水平方向および垂直方向(ま
たは軸)におけるサンプルの量は、ピクチャブロック203のサイズを定義する。
【0136】
図2に示されるエンコーダ20は、ピクチャ201をブロックごとに符号化し、たとえば、各
ピクチャブロック203上で符号化と予測を実行するように構成される。
【0137】
残差計算ユニット204は、サンプル領域における残差ブロック205を取得するために、た
とえば、サンプルごとに(ピクセルごとに)ピクチャブロック203のサンプル値から予測ブ
ロック265のサンプル値を差し引くことによって、ピクチャブロック203および予測ブロッ
ク265(予測ブロック265についての他の詳細は以下で与えられる)に基づいて残差ブロック
205を計算するように構成される。
【0138】
変換処理ユニット206は、変換、たとえば離散コサイン変換(discrete cosine transfor
m、DCT)または離散サイン変換(discrete sine transform、DST)を残差ブロック205のサン
プル値に適用して、変換領域において変換係数207を取得するように構成される。変換係
数207は、変換残差係数とも呼ばれることがあり、変換領域における残差ブロック205を表
す。
【0139】
変換処理ユニット206は、HEVC/H.265において指定される変換などの、DCT/DSTの整数近
似を適用するように構成され得る。直交DCT変換との比較において、そのような整数近似
は通常、係数によってスケーリングされる。順方向変換および逆方向変換を使用すること
によって処理される残差ブロックのノルムを保持するために、追加のスケール係数を適用
することは、変換処理の一部である。スケール係数は通常、何らかの制約に基づいて選ば
れる。たとえば、スケール係数は、シフト演算に対して2のべき乗であり、変換係数のビ
ット深度であり、または正確さと実装コストとのトレードオフである。たとえば、特定の
スケール係数が、たとえば、デコーダ30の側にある逆変換処理ユニット212による逆変換(
および、たとえば、エンコーダ20の側にある逆変換処理ユニット212による対応する逆変
換)のために指定され、それに対応して、対応するスケール係数は、エンコーダ20の側に
おける変換処理ユニット206による順方向変換のために指定されてもよい。
【0140】
量子化ユニット208は、たとえば、スカラー量子化またはベクトル量子化を適用するこ
とによって、変換係数207を量子化して量子化された変換係数209を取得するように構成さ
れる。量子化された変換係数209は、量子化された残差係数209とも呼ばれ得る。量子化処
理は、変換係数207の一部またはすべてに関するビット深度を低減し得る。たとえば、nビ
ットの変換係数は、量子化の間にmビットの変換係数まで切り捨てられてもよく、nはmよ
り大きい。量子化の程度は、量子化パラメータ(quantization parameter、QP)を調整する
ことによって修正され得る。たとえば、スカラー量子化では、より細かいまたは粗い量子
化を達成するために、異なるスケールが適用され得る。より小さい量子化ステップはより
細かい量子化に対応し、より大きい量子化ステップはより粗い量子化に対応する。適用可
能な量子化ステップは、量子化パラメータ(quantization parameter、QP)によって示され
得る。たとえば、量子化パラメータは、適用可能な量子化ステップのあらかじめ定められ
たセットに対するインデックスであり得る。たとえば、より小さい量子化パラメータはよ
り細かい量子化(またはより小さい量子化ステップ)に対応してもよく、より大きい量子化
パラメータはより粗い量子化(より大きい量子化ステップ)に対応してもよく、またはその
逆も然りである。量子化は、たとえば逆量子化ユニット210によって実行される、量子化
ステップおよび対応する量子化もしくは逆量子化による除算を含んでもよく、または、量
子化ステップによる乗算を含んでもよい。HEVCなどのいくつかの規格による実施形態では
、量子化パラメータは、量子化ステップを決定するために使用され得る。一般に、量子化
ステップは、除算を含む式の固定点近似を使用することによって量子化パラメータに基づ
いて計算され得る。残差ブロックのノルムを復元するための量子化および量子化解除のた
めに、追加のスケール係数が導入されてもよく、残差ブロックのノルムは、量子化ステッ
プおよび量子化パラメータのための式の固定点近似において使用されるスケールにより修
正され得る。ある例示的な実装形態では、逆変換および量子化解除のスケールは組み合わ
せられてもよい。代替的に、カスタマイズされた量子化テーブルが使用され、たとえばビ
ットストリームにおいて、エンコーダからデコーダにシグナリングされてもよい。量子化
は有損失演算であり、損失は量子化ステップの増大とともに増大する。
【0141】
逆量子化ユニット210は、量子化ユニット208の逆量子化を量子化係数に適用して量子化
解除された係数211を取得し、たとえば、量子化ユニット208と同じ量子化ステップに基づ
いて、またはそれを使用することによって、量子化ユニット208によって適用される量子
化スキームの逆を適用するように構成される。量子化解除された係数211はまた、量子化
解除された残差係数211とも呼ばれ、変換係数207に対応し得るが、量子化解除された係数
211は通常、量子化により引き起こされる損失により変換係数とは異なる。
【0142】
逆変換処理ユニット212は、サンプル領域において逆変換ブロック213を取得するために
、変換処理ユニット206によって適用される変換の逆変換、たとえば、逆離散コサイン変
換(discrete cosine transform、DCT)または逆離散サイン変換(discrete sine transform
、DST)を適用するように構成される。逆変換ブロック213はまた、逆変換量子化解除され
たブロック213または逆変換残差ブロック213とも呼ばれ得る。
【0143】
再構築ユニット214(たとえば、加算器214)は、サンプル領域の中の再構築されたブロッ
ク215を取得するために、たとえば、再構築された残差ブロック213のサンプル値および予
測ブロック265のサンプル値を加算することによって、逆変換ブロック213(すなわち、再
構築された残差ブロック213)を予測ブロック265に加算するように構成される。
【0144】
任意選択で、たとえばラインバッファ216のバッファユニット216(略して「バッファ」2
16)は、たとえばイントラ予測のために、再構築されたブロック215および対応するサンプ
ル値をバッファリングまたは記憶するように構成される。他の実施形態では、エンコーダ
は、任意のタイプの推定および/または予測、たとえばイントラ予測のために、バッファ
ユニット216に記憶されている、フィルタリングされていない再構築されたブロックおよ
び/または対応するサンプル値を使用するように構成され得る。
【0145】
たとえば、ある実施形態では、バッファユニット216が、イントラ予測254のためだけに
使用されるのではなくループフィルタユニット220(図2に示されない)のためにも使用され
る再構築されたブロック215を記憶するように構成されるように、および/または、たとえ
ば、バッファユニット216および復号ピクチャバッファ230が1つのバッファを形成するよ
うに、エンコーダ20が構成され得る。他の実施形態では、フィルタリングされたブロック
221および/または復号ピクチャバッファ230(ブロックまたはサンプルは図2に示されない)
からのブロックもしくはサンプルが、イントラ予測ユニット254のための入力または基礎
として使用される。
【0146】
ループフィルタユニット220(略して「ループフィルタ」220)は、ピクセル遷移を滑らか
にするために、またはビデオ品質を高めるために、再構築されたブロック215をフィルタ
リングして、フィルタリングされたブロック221を取得するように構成される。ループフ
ィルタユニット220は、1つまたは複数のループフィルタ、たとえば、デブロッキングフィ
ルタ、サンプル適応オフセット(sample-adaptive offset、SAO)フィルタ、または、バイ
ラテラルフィルタ、適応ループフィルタ(adaptive loop filter、ALF)、先鋭化フィルタ
、平滑化フィルタ、もしくは協調フィルタなどの別のフィルタを表すことが意図される。
ループフィルタユニット220は図2ではループ内フィルタとして示されているが、別の構成
では、ループフィルタユニット220はポストループフィルタとして実装され得る。フィル
タリングされたブロック221は、フィルタリングされた再構築されたブロック221とも呼ば
れ得る。復号ピクチャバッファ230は、ループフィルタユニット220が再構築された符号化
されたブロックに対してフィルタリング動作を実行した後、再構築された符号化されたブ
ロックを記憶し得る。
【0147】
ある実施形態では、たとえば、デコーダ30が復号のために同じループフィルタパラメー
タを受信して適用できるように、エンコーダ20(それに対応して、ループフィルタユニッ
ト220)は、たとえば、直接、または、エントロピー符号化ユニット270もしくは任意の他
のエントロピー符号化ユニットによって実行されるエントロピー符号化の後で、ループフ
ィルタパラメータ(たとえば、サンプル適応オフセット情報)を出力するように構成され得
る。
【0148】
復号ピクチャバッファ(decoded picture buffer、DPB)230は、エンコーダ20によるビデ
オデータ符号化において使用するための参照ピクチャデータを記憶する参照ピクチャメモ
リであり得る。DPB230は、ダイナミックランダムアクセスメモリ(dynamic random access
memory、DRAM)(同期DRAM(synchronous DRAM、SDRAM)、磁気抵抗RAM(magnetoresistive R
AM、MRAM)、および抵抗性RAM(resistive RAM、RRAM))、または別のタイプのメモリデバイ
スなどの、種々のメモリデバイスのいずれか1つによって形成され得る。DPB230およびバ
ッファ216は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。
ある例では、復号ピクチャバッファ(decoded picture buffer、DPB)230は、フィルタリン
グされたブロック221を記憶するように構成される。復号ピクチャバッファ230はさらに、
同じ現在のピクチャまたは異なるピクチャ、たとえば、以前に再構築されたピクチャの、
別の以前にフィルタリングされたブロック、たとえば以前に再構築されフィルタリングさ
れたブロック221を記憶するように構成されてもよく、完全な以前に再構築された、すな
わち復号されたピクチャ(および対応する参照ブロックとサンプル)および/または部分的
に再構築された現在のピクチャ(および対応する参照ブロックとサンプル)を、たとえばイ
ンター予測のために提供してもよい。ある例では、再構築されたブロック215がループ内
フィルタリングなしで再構築される場合、復号ピクチャバッファ(decoded picture buffe
r、DPB)230は、再構築されたブロック215を記憶するように構成される。
【0149】
ブロック予測処理ユニット260とも呼ばれる予測処理ユニット260は、ピクチャブロック
203(現在のピクチャ201の現在のピクチャブロック203)および再構築されたピクチャデー
タ、たとえば、バッファ216からの同じ(現在の)ピクチャの参照サンプル、および/もしく
は、復号ピクチャバッファ230からの1つまたは複数の以前に復号されたピクチャの参照ピ
クチャデータ231を受信または取得するように構成され、予測のために、すなわちインタ
ー予測ブロック245またはイントラ予測ブロック255であり得る予測ブロック265を提供す
るために、そのようなデータを処理するように構成される。
【0150】
モード選択ユニット262は、残差ブロック205を計算して再構築されたブロック215を再
構築するために、予測ブロック265として使用されるべき予測モード(たとえば、イントラ
予測モードまたはインター予測モード)および/または対応する予測ブロック245もしくは2
55を選択するように構成され得る。
【0151】
ある実施形態では、モード選択ユニット262は、予測モードを選択する(たとえば、予測
処理ユニット260によってサポートされる予測モードから)ように構成されてもよく、予測
モードは、最良の一致もしくは最小の残差(最小の残差は送信または記憶のためのより良
い圧縮を意味する)をもたらし、または、最小のシグナリングオーバーヘッド(最小のシグ
ナリングオーバーヘッドは送信または記憶のためのより良い圧縮を意味する)をもたらし
、またはこれらの両方を考慮し、もしくはバランスをとる。モード選択ユニット262は、
レート歪み最適化(rate-distortion optimization、RDO)に基づいて予測モードを決定し
、具体的には、最小のレート歪み最適化をもたらす予測モードを選択し、または関連する
レート歪みが少なくとも予測モード選択基準を満たすような予測モードを選択するように
構成され得る。
【0152】
以下は詳細に、エンコーダ20の例において(たとえば、予測処理ユニット260によって)
実行される予測処理および(たとえば、モード選択ユニット262によって)実行されるモー
ド選択を説明する。
【0153】
上で説明されたように、エンコーダ20は、(所定の)予測モードのセットから最適なまた
は最高の予測モードを、決定または選択するように構成される。予測モードのセットは、
たとえば、イントラ予測モードおよび/またはインター予測モードを含み得る。
【0154】
イントラ予測モードのセットは、35個の異なるイントラ予測モード、たとえば、DC(ま
たは平均)モードおよび平面モードなどの非指向性モード、もしくはH.265において定義さ
れるものなどの指向性モードを含んでもよく、または、67個の異なるイントラ予測モード
、たとえば、DC(または平均)モードおよび平面モードなどの非指向性モード、もしくは開
発中のH.266において定義されるものなどの指向性モードを含んでもよい。
【0155】
ある可能な実装形態では、インター予測モードのセットは、利用可能な参照ピクチャ(
すなわち、たとえば、上で説明されたような、DBP230に記憶されている復号されたピクチ
ャの少なくとも一部)および他のインター予測パラメータに依存し、たとえば、最適な一
致する参照ブロックを探すために、参照ピクチャ全体が使用されるか、もしくは参照ピク
チャの一部のみ、たとえば、現在のブロックの領域の周りの探索ウィンドウ領域が使用さ
れるかに依存し、ならびに/または、たとえば、2分の1ピクセル補間および/もしくは4分
の1ピクセル補間などのピクセル補間が適用されるかどうかに依存する。インター予測モ
ードのセットは、たとえば、進化型動きベクトル予測(Advanced Motion Vector Predicti
on、AMVP)モードおよびマージ(merge)モードを含み得る。特定の実装形態の間、インター
予測モードのセットは、制御点に基づくAMVPモードと、本発明の実施形態において改善さ
れる制御点に基づくマージモードとを含み得る。ある例では、イントラ予測ユニット254
は、以下で説明されるインター予測技術の任意の組合せを実行するように構成され得る。
【0156】
前述の予測モードに加えて、スキップモードおよび/またはダイレクトモードは、本発
明の実施形態においても適用され得る。
【0157】
予測処理ユニット260はさらに、たとえば、四分木(quadtree、QT)区分、二分木(binary
tree、BT)区分、三分木(triple tree、TT)区分、またはこれらの任意の組合せを繰り返
し使用することによって、ピクチャブロック203をより小さいブロック区分またはサブブ
ロックへと区分し、たとえば、ブロック区分またはサブブロックの各々に対して予測を実
行するように構成され得る。モード選択は、区分されたピクチャブロック203の木構造の
選択およびブロック区分またはサブブロックの各々に対して適用される予測モードの選択
を含む。
【0158】
インター予測ユニット244は、動き推定(motion estimation、ME)ユニット(図2に示され
ない)および動き補償(motion compensation、MC)ユニット(図2に示されない)を含み得る
。動き推定ユニットは、ピクチャブロック203(現在のピクチャ201の現在のピクチャブロ
ック203)および復号されたピクチャ231、または少なくとも1つまたは複数の以前に再構築
されたブロック、たとえば、他の/異なる以前に復号されたピクチャ231の1つまたは複数
の再構築されたブロックを、動き推定のために受信または取得するように構成される。た
とえば、ビデオシーケンスは、現在のピクチャおよび以前に復号されたピクチャ31を含ん
でもよく、または言い換えると、現在のピクチャおよび以前に復号されたピクチャ31は、
ビデオシーケンスを形成するピクチャのシーケンスの一部であってもよく、もしくはそれ
を形成してもよい。
【0159】
たとえば、エンコーダ20は、複数の他のピクチャの中の同じピクチャまたは異なるピク
チャの複数の参照ブロックからある参照ブロックを選択し、動き推定ユニット(図2に示さ
れない)のために、参照ピクチャを提供し、および/または、参照ブロックの位置(座標Xお
よびY)と現在のブロックの位置との間のオフセット(空間オフセット)をインター予測パラ
メータとして提供するように構成され得る。このオフセットは動きベクトル(motion vect
or、MV)とも呼ばれる。
【0160】
動き補償ユニットは、インター予測パラメータを取得し、インター予測ブロック245を
取得するためにインター予測パラメータに基づいて、またはそれを使用することによって
インター予測を実行するように構成される。動き補償ユニット(図2に示されない)によっ
て実行される動き補償は、動き推定を通じて(場合によってはサブピクセル精度で補間を
実行することによって)決定される動き/ブロックベクトルに基づいて、予測ブロックをフ
ェッチまたは生成することを含み得る。補間フィルタリングは、既知のピクセルサンプル
から追加のピクセルサンプルを生成し得る。これは、場合によっては、ピクチャブロック
をコーディングするために使用され得る予測ブロック候補の量を増やす。現在のピクチャ
ブロックのPUのための動きベクトルを受信すると、動き補償ユニット246は、1つの参照ピ
クチャリストにおいて動きベクトルが指し示す予測ブロックを特定し得る。動き補償ユニ
ット246はさらに、デコーダ30によってビデオスライスのピクチャブロックを復号するた
めの、ブロックおよびビデオスライスと関連付けられるシンタックス要素を生成し得る。
【0161】
具体的には、インター予測ユニット244は、シンタックス要素をエントロピー符号化ユ
ニット270に送信してもよく、シンタックス要素は、インター予測パラメータ(複数のイン
ター予測モードを網羅した後で現在のブロックの予測のために使用されるインター予測モ
ードの選択の指示情報など)を含む。ある可能な適用シナリオでは、1つだけのインター予
測モードがある場合、インター予測パラメータは代替的に、シンタックス要素において搬
送されないことがある。この場合、デコーダ30は、デフォルト予測モードで復号を直接実
行してもよい。インター予測ユニット244は、インター予測技術の任意の組合せを実行す
るように構成され得ることが理解され得る。
【0162】
イントラ予測ユニット254は、ピクチャブロック203(現在のピクチャブロック)および同
じピクチャの1つまたは複数の以前に再構築されたブロック、たとえば、再構築された隣
接ブロックを、イントラ推定のために取得し、たとえば受信するように構成される。たと
えば、エンコーダ20は、複数の(所定の)イントラ予測モードからイントラ予測モードを選
択するように構成され得る。
【0163】
ある実施形態では、エンコーダ20は、たとえば、最小の残差(たとえば、現在のピクチ
ャブロック203に最も類似している予測ブロック255を提供するイントラ予測モード)また
は最小のレート歪みに基づいて、最適化基準に従ってイントラ予測モードを選択するよう
に構成され得る。
【0164】
イントラ予測ユニット254はさらに、たとえば、選択されたイントラ予測モードにおけ
るイントラ予測パラメータに基づいて、イントラ予測ブロック255を決定するように構成
される。いずれの場合でも、ブロックのためのイントラ予測モードを選択した後、イント
ラ予測ユニット254はさらに、イントラ予測パラメータ、すなわち、ブロックのための選
択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット270に提供する
ように構成される。ある例では、イントラ予測ユニット254は、イントラ予測技術の任意
の組合せを実行するように構成され得る。
【0165】
具体的には、イントラ予測ユニット254は、シンタックス要素をエントロピー符号化ユ
ニット270に送信してもよく、シンタックス要素は、イントラ予測パラメータ(複数のイン
トラ予測モードを網羅した後で現在のブロックの予測のために使用されるイントラ予測モ
ードの選択の指示情報など)を含む。ある可能な適用シナリオでは、1つだけのイントラ予
測モードがある場合、イントラ予測パラメータは代替的に、シンタックス要素において搬
送されないことがある。この場合、デコーダ30は、デフォルト予測モードで復号を直接実
行してもよい。
【0166】
エントロピー符号化ユニット270は、エントロピー符号化アルゴリズムまたはスキーム(
たとえば、可変長コーディング(variable length coding、VLC)スキーム、コンテキスト
適応VLC(context adaptive VLC、CALVC)スキーム、算術コーディングスキーム、コンテキ
スト適応バイナリ算術コーディング(context adaptive binary arithmetic coding、CABA
C)、シンタックスベースコンテキスト適応バイナリ算術コーディング(syntax-based cont
ext-adaptive binary arithmetic coding、SBAC)、確率間隔区分エントロピー(probabili
ty interval partitioning entropy、PIPE)コーディング、または別のエントロピー符号
化方法もしくは技法)を、量子化された係数209、インター予測パラメータ、イントラ予測
パラメータ、および/またはループフィルタパラメータのうちの1つまたはすべてに適用し
(または適用をスキップし)、たとえば符号化されたビットストリーム21の形で、出力272
を通じて出力され得る符号化されたピクチャデータ21を取得するように構成される。符号
化されたビットストリームは、ビデオデコーダ30に送信され、または、ビデオデコーダ30
による後の送信もしくは取り出しのためにアーカイブされ得る。エントロピー符号化ユニ
ット270はさらに、符号化されている現在のビデオスライスのために別のシンタックス要
素をエントロピー符号化するように構成され得る。
【0167】
ビデオエンコーダ20の別の構造的な変形が、ビデオビットストリームを符号化するため
に使用され得る。たとえば、非変換ベースのエンコーダ20は直接、一部のブロックまたは
フレームに対して、変換処理ユニット206なしで残差信号を量子化することができる。別
の実装形態では、エンコーダ20は、単一のユニットへと組み合わせられる量子化ユニット
208および逆量子化ユニット210を有し得る。
【0168】
具体的には、本発明のこの実施形態において、エンコーダ20は、以下の実施形態におい
て説明される動きベクトル予測方法を実施するように構成され得る。
【0169】
ビデオエンコーダ20の別の構造的な変形が、ビデオビットストリームを符号化するため
に使用され得ることを理解されたい。たとえば、一部のピクチャブロックまたはピクチャ
フレームに対して、ビデオエンコーダ20は直接残差信号を量子化してもよく、変換処理ユ
ニット206による処理は必要ではなく、それに対応して、逆変換処理ユニット212による処
理も必要ではない。代替として、一部のピクチャブロックまたはピクチャフレームに対し
て、ビデオエンコーダ20は残差データを生成せず、それに対応して、変換処理ユニット20
6、量子化ユニット208、逆量子化ユニット210、および逆変換処理ユニット212による処理
は必要ではない。代替的に、ビデオエンコーダ20は、再構築されたピクチャブロックを参
照ブロックとして直接記憶してもよく、フィルタ220による処理は必要ではない。代替的
に、ビデオエンコーダ20の中の量子化ユニット208および逆量子化ユニット210は組み合わ
せられてもよい。ループフィルタ220は任意選択であり、無損失圧縮コーディングの場合
、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、および逆変換処理
ユニット212は任意選択である。異なる適用シナリオによれば、インター予測ユニット244
およびイントラ予測ユニット254は選択的に有効にされ得ることを理解されたい。
【0170】
図3は、本発明の実施形態を実装するためのデコーダ30の例の概略/概念ブロック図であ
る。ビデオデコーダ30は、復号されたピクチャ231を取得するために、たとえばエンコー
ダ20による符号化を通じて取得される、符号化されたピクチャデータ(たとえば、符号化
されたビットストリーム)21を受信するように構成される。復号処理において、ビデオデ
コーダ30は、ビデオエンコーダ20からのビデオデータ、たとえば、符号化されたビデオス
ライスのピクチャブロックを表現する符号化されたビデオビットストリーム、および関連
するシンタックス要素を受信する。
【0171】
図3の例では、デコーダ30は、エントロピー復号ユニット304、逆量子化ユニット310、
逆変換処理ユニット312、再構築ユニット314(たとえば、加算器314)、バッファ316、ルー
プフィルタ320、復号ピクチャバッファ330、および予測処理ユニット360を含む。予測処
理ユニット360は、インター予測ユニット344、イントラ予測ユニット354、およびモード
選択ユニット362を含み得る。いくつかの例では、ビデオデコーダ30は、図2のビデオエン
コーダ20を参照して説明される符号化処理と全般に逆の復号処理を実行し得る。
【0172】
エントロピー復号ユニット304は、たとえば、量子化された係数309および/または復号
されたコーディングパラメータ(図3に示されない)、たとえば、インター予測パラメータ
、イントラ予測パラメータ、ループフィルタパラメータ、および/または(復号される)別
のシンタックス要素のうちのいずれか1つまたはすべてを取得するために、符号化された
ピクチャデータ21に対してエントロピー復号を実行するように構成される。エントロピー
復号ユニット304はさらに、インター予測パラメータ、イントラ予測パラメータ、および/
または別のシンタックス要素を予測処理ユニット360に転送するように構成される。ビデ
オデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタッ
クス要素を受信し得る。
【0173】
逆量子化ユニット310は、逆量子化ユニット110と同じ機能を有し得る。逆変換処理ユニ
ット312は、逆変換処理ユニット212と同じ機能を有し得る。再構築ユニット314は、再構
築ユニット214と同じ機能を有し得る。バッファ316は、バッファ216と同じ機能を有し得
る。ループフィルタ320は、ループフィルタ220と同じ機能を有し得る。復号ピクチャバッ
ファ330は、復号ピクチャバッファ230と同じ機能を有し得る。
【0174】
予測処理ユニット360は、インター予測ユニット344およびイントラ予測ユニット354を
含み得る。インター予測ユニット344の機能はインター予測ユニット244の機能と類似して
いてもよく、イントラ予測ユニット354の機能はイントラ予測ユニット254の機能と類似し
ていてもよい。予測処理ユニット360は通常、ブロック予測を実行し、ならびに/または符
号化されたデータ21から予測ブロック365を取得し、たとえばエントロピー復号ユニット3
04から、選択された予測モードについての予測関連パラメータおよび/もしくは情報を受
信または取得する(明示的にまたは暗黙的に)ように構成される。
【0175】
ビデオスライスがイントラ符号化された(I)スライスとして符号化されるとき、予測処
理ユニット360のイントラ予測ユニット354は、シグナリングされたイントラ予測モードお
よび現在のフレームまたはピクチャの以前に復号されたブロックからのデータに基づいて
、現在のビデオスライスのピクチャブロックのための予測ブロック365を生成するように
構成される。ビデオフレームがインター符号化された(BまたはP)スライスとして符号化さ
れるとき、予測処理ユニット360のインター予測ユニット344(たとえば、動き補償ユニッ
ト)は、動きベクトルおよびエントロピー復号ユニット304から受信される別のシンタック
ス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロック365を
生成するように構成される。インター予測のために、予測ブロックは、1つの参照ピクチ
ャリストの中の1つの参照ピクチャから生成され得る。ビデオデコーダ30は、DPB330に記
憶されている参照ピクチャに基づいてデフォルト構築技術を使用することによって、リス
ト0およびリスト1という参照フレームリストを構築し得る。
【0176】
予測処理ユニット360は、動きベクトルおよび別のシンタックス要素を解析することに
よって、現在のビデオスライスのビデオブロックのための予測情報を決定し、予測情報を
使用して、復号されている現在のビデオブロックのための予測ブロックを生成するように
構成される。本発明の例では、予測処理ユニット360は、現在のビデオスライスのビデオ
ブロックを復号するために、いくつかの受信されたシンタックス要素を使用することによ
って、ビデオスライスのビデオブロックを符号化するための予測モード(たとえば、イン
トラ予測またはインター予測)、インター予測スライスタイプ(たとえば、Bスライス、Pス
ライス、またはGPBスライス)、スライスのための参照ピクチャリストのうちの1つまたは
複数の構築情報、スライスの各々のインター符号化されたビデオブロックのための動きベ
クトル、スライスの各々のインター符号化されたビデオブロックのインター予測ステータ
ス、および他の情報を決定する。本開示の別の例では、ビットストリームからビデオデコ
ーダ30によって受信されるシンタックス要素は、適応パラメータセット(adaptive parame
ter set、APS)、シーケンスパラメータセット(sequence parameter set、SPS)、ピクチャ
パラメータセット(picture parameter set、PPS)、またはスライスヘッダのうちの1つま
たは複数の中のシンタックス要素を含む。
【0177】
逆量子化ユニット310は、ビットストリームにおいて提供され、エントロピー復号ユニ
ット304によって復号される、量子化された変換係数に対して、逆量子化(inverse quanti
zation)(すなわち、量子化解除(dequantization))を実行するように構成され得る。逆量
子化処理は、適用されるべき量子化の程度、および同様に、適用されるべき逆量子化の程
度を決定するために、ビデオスライスの中の各ビデオブロックのためにビデオエンコーダ
20によって計算される量子化パラメータを使用することを含み得る。
【0178】
逆変換処理ユニット312は、ピクセル領域において残差ブロックを生成するために、逆
変換(たとえば、逆DCT、逆整数変換、または概念的に類似する逆変換処理)を変換係数に
適用するように構成される。
【0179】
再構築ユニット314(たとえば、加算器314)は、サンプル領域の中の再構築されたブロッ
ク315を取得するために、たとえば、再構築された残差ブロック313のサンプル値および予
測ブロック365のサンプル値を加算することによって、逆変換ブロック313(すなわち、再
構築された残差ブロック313)を予測ブロック365に加算するように構成される。
【0180】
ループフィルタユニット320は(コーディングループの間に、またはコーディングループ
の後に)、ピクセル遷移を滑らかにするために、またはビデオ品質を高めるために、再構
築されたブロック315をフィルタリングして、フィルタリングされたブロック321を取得す
るように構成される。ある例では、ループフィルタユニット320は、以下で説明されるフ
ィルタリング技術の任意の組合せを実行するように構成され得る。ループフィルタユニッ
ト320は、1つまたは複数のループフィルタ、たとえば、デブロッキングフィルタ、サンプ
ル適応オフセット(sample-adaptive offset、SAO)フィルタ、または、バイラテラルフィ
ルタ、適応ループフィルタ(adaptive loop filter、ALF)、先鋭化フィルタ、平滑化フィ
ルタ、もしくは協調フィルタなどの別のフィルタを表すことが意図される。ループフィル
タユニット320は図3ではループ内フィルタとして示されているが、別の構成では、ループ
フィルタユニット320はポストループフィルタとして実装され得る。
【0181】
所与のフレームまたはピクチャの中の復号されたビデオブロック321は次いで、後続の
動き補償のために使用される参照ピクチャを記憶する復号ピクチャバッファ330に記憶さ
れる。
【0182】
デコーダ30は、たとえば、ユーザへの提示またはユーザによる視聴のために、出力332
を通じて復号されたピクチャ31を取得するように構成される。
【0183】
ビデオデコーダ30の別の変形が、圧縮されたビットストリームを復号するために使用さ
れ得る。たとえば、デコーダ30は、ループフィルタユニット320なしで出力ビデオビット
ストリームを生成し得る。たとえば、非変換ベースのデコーダ30は直接、一部のブロック
またはフレームに対して、逆変換処理ユニット312なしで残差信号を逆量子化することが
できる。別の実装形態では、ビデオデコーダ30は、単一のユニットへと組み合わせられる
逆量子化ユニット310および逆変換処理ユニット312を有し得る。
【0184】
具体的には、本発明のこの実施形態において、デコーダ30は、以下の実施形態において
説明される動きベクトル予測方法を実施するように構成される。
【0185】
ビデオデコーダ30の別の構造的な変形が、符号化されたビデオビットストリームを復号
するように構成され得ることを理解されたい。たとえば、ビデオデコーダ30は、フィルタ
320による処理なしで出力ビデオビットストリームを生成し得る。代替的に、一部のピク
チャブロックまたはピクチャフレームに対して、ビデオデコーダ30のエントロピー復号ユ
ニット304は、復号を通じて量子化された係数を取得せず、それに対応して、逆量子化ユ
ニット310および逆変換処理ユニット312による処理は必要ではない。ループフィルタ320
は任意選択であり、無損失圧縮の場合、逆量子化ユニット310および逆変換処理ユニット3
12は任意選択である。異なる適用シナリオによれば、インター予測ユニットおよびイント
ラ予測ユニットは選択的に有効にされ得ることを理解されたい。
【0186】
本出願におけるエンコーダ20およびデコーダ30上で、手順の処理結果は、さらに処理さ
れた後で次の手順に出力され得ることを理解されたい。たとえば、補間フィルタリング、
動きベクトル導出、またはループフィルタリングなどの手順の後で、クリップまたはシフ
ト(shift)などの動作がさらに、対応する手順の処理結果に対して実行される。
【0187】
たとえば、現在のピクチャブロックの制御点の動きベクトルまたは近傍アフィンコーデ
ィングブロックの動きベクトルから導出される現在のピクチャブロックのサブブロックの
動きベクトルが、さらに処理され得る。これは本出願では限定されない。たとえば、動き
ベクトルの値は、特定のビット深度範囲内にあるように制約される。動きベクトルの許容
されるビット深度がbitDepthであると仮定すると、動きベクトルの値は、-2^(bitDepth-1
)から2^(bitDepth-1)-1にわたり、記号「^」は指数を表す。bitDepthが16である場合、値
は-32768から32767にわたる。bitDepthが18である場合、値は-131072から131071にわたる
。別の例では、4つの4×4サブブロックのMVの整数部分間の最大の差が、Nピクセルを超え
ず、たとえば1ピクセルを超えないように、動きベクトル(たとえば、1つの8×8ピクチャ
ブロックの中の4つの4×4サブブロックの動きベクトルMV)の値が制約される。
【0188】
特定のビット深度範囲内にあるように動きベクトルの値を制約するために、以下の2つ
の方式が使用され得る。
【0189】
方式1: 動きベクトルのオーバーフロー最上位ビットが取り除かれる。
ux=(vx+2bitDepth)%2bitDepth
vx=(ux>=2bitDepth-1)?(ux-2bitDepth):ux
uy=(vy+2bitDepth)%2bitDepth
vy=(uy>=2bitDepth-1)?(uy-2bitDepth):uy
【0190】
vxは、ピクチャブロックの動きベクトルまたはピクチャブロックのサブブロックの水平
成分である。vyは、ピクチャブロックの動きベクトルまたはピクチャブロックのサブブロ
ックの垂直成分を表す。uxおよびuyは中間値である。bitDepthはビット深度を表す。
【0191】
たとえば、vxの値は-32769であり、32767は前述の式に従って取得される。値は2の補数
の表現でコンピュータに記憶され、-32769の2の補数の表現は1,0111,1111,1111,1111(17
桁)であり、オーバーフローのためにコンピュータによって実行される処理は、最上位ビ
ットを廃棄している。したがって、vxの値は0111,1111,1111,1111、すなわち32767である
。この値は、式に従った処理を通じて取得される結果と一貫している。
【0192】
方式2: 以下の式に従ってクリッピングが動きベクトルに対して実行される。
vx=Clip 3(-2bitDepth-1,2bitDepth-1-1,vx)
vy=Clip 3(-2bitDepth-1,2bitDepth-1-1,vy)
【0193】
vxは、ピクチャブロックの動きベクトルまたはピクチャブロックのサブブロックの水平
成分である。vyは、ピクチャブロックの動きベクトルまたはピクチャブロックのサブブロ
ックの垂直成分を表す。x、y、およびzはそれぞれ、MVクランピング処理Clip 3の3つの入
力値に対応する。Clip 3は、範囲[x,y]へのzの値のクリッピングを示すために定義される
【0194】
【数1】
【0195】
図4は、本発明のある実施形態による、ビデオコーディングデバイス400(たとえば、ビ
デオ符号化デバイス400またはビデオ復号デバイス400)の構造の概略図である。ビデオコ
ーディングデバイス400は、本明細書において説明される実施形態を実装するのに適して
いる。ある実施形態では、ビデオコーディングデバイス400は、ビデオデコーダ(たとえば
図1Aのデコーダ30)またはビデオエンコーダ(たとえば、図1Aのエンコーダ20)であり得
る。別の実施形態では、ビデオコーディングデバイス400は、図1Aのデコーダ30または図1
Aのエンコーダ20の1つまたは複数のコンポーネントであり得る。
【0196】
ビデオコーディングデバイス400は、データを受信するための入口ポート410および受信
機ユニット(Rx)420、データを処理するためのプロセッサ、論理ユニット、または中央処
理装置(CPU)430、データを送信するための送信機ユニット(Tx)440および出口ポート450、
ならびにデータを記憶するためのメモリ460を含む。ビデオコーディングデバイス400はさ
らに、光信号または電気信号の出入のために、入口ポート410、受信機ユニット420、送信
機ユニット440、および出口ポート450に結合される、光電気転換コンポーネントおよび電
気光(EO)コンポーネントを含み得る。
【0197】
プロセッサ430は、ハードウェアおよびソフトウェアを使用することによって実装され
る。プロセッサ430は、1つまたは複数のCPUチップ、コア(たとえば、マルチコアプロセッ
サ)、FPGA、ASIC、およびDSPとして実装され得る。プロセッサ430は、入口ポート410、受
信機ユニット420、送信機ユニット440、出口ポート450、およびメモリ460と通信する。プ
ロセッサ430は、コーディングモジュール470(たとえば、符号化モジュール470または復号
モジュール470)を含む。符号化/復号モジュール470は、本発明の実施形態において提供さ
れるクロマブロック予測方法を実施するために、本明細書において開示される実施形態を
実施する。たとえば、符号化/復号モジュール470は、処理を実施し、または様々なコーデ
ィング動作を提供する。したがって、符号化/復号モジュール470は、ビデオコーディング
デバイス400の機能にかなりの改善をもたらし、異なる状態へのビデオコーディングデバ
イス400の変換に影響を及ぼす。代替的に、符号化/復号モジュール470は、メモリ460に記
憶されてプロセッサ430によって実行される命令として実装される。
【0198】
メモリ460は、1つまたは複数のディスク、テープドライブ、およびソリッドステートド
ライブを含み、そのようなプログラムが実行のために選択されるときにプログラムを記憶
するための、および、プログラム実行の間に読み取られる命令およびデータを記憶するた
めの、オーバーフローデータストレージデバイスとして使用され得る。メモリ460は、揮
発性および/または不揮発性であってもよく、読取り専用メモリ(ROM)、ランダムアクセス
メモリ(RAM)、三値連想メモリ(ternary content-addressable memory、TCAM)、および/ま
たはスタティックランダムアクセスメモリ(SRAM)であってもよい。
【0199】
図5は、ある例示的な実施形態による、図1Aのソースデバイス12とデスティネーション
デバイス14のいずれかまたは両方として使用され得る、装置500の簡略化されたブロック
図である。装置500は、本出願の技術を実装し得る。言い換えると、図5は、本出願のある
実施形態による、符号化デバイスまたは復号デバイス(略してコーディングデバイス500)
の実装形態の概略ブロック図である。コーディングデバイス500は、プロセッサ510、メモ
リ530、およびバスシステム550を含み得る。プロセッサおよびメモリはバスシステムを通
じて接続される。メモリは命令を記憶するように構成される。プロセッサは、メモリに記
憶されている命令を実行するように構成される。コーディングデバイスのメモリはプログ
ラムコードを記憶する。プロセッサは、本出願において説明される様々なビデオ符号化ま
たは復号方法、特に、様々な新しいインター予測方法を実行するために、メモリに記憶さ
れているプログラムコードを呼び出し得る。反復を避けるために、詳細はここでは説明さ
れない。
【0200】
本出願のこの実施形態では、プロセッサ510は、中央処理装置(Central Processing Uni
t、略して「CPU」)であってもよく、またはプロセッサ510は、別の汎用プロセッサ、デジ
タルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブ
ルゲートアレイ(FPGA)、また別のプログラマブルロジックデバイス、ディスクリートゲー
トまたはトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントな
どであってもよい。汎用プロセッサはマイクロプロセッサであってもよく、または、プロ
セッサは任意の従来のプロセッサなどであってもよい。
【0201】
メモリ530は、読取り専用メモリ(ROM)デバイスまたはランダムアクセスメモリ(RAM)デ
バイスを含み得る。代替的に、任意の他の適切なタイプのストレージデバイスが、メモリ
530として使用され得る。メモリ530は、バス550を通じてプロセッサ510によってアクセス
されるコードおよびデータ531を含み得る。メモリ530はさらに、オペレーティングシステ
ム533およびアプリケーションプログラム535を含み得る。アプリケーションプログラム53
5は、本出願において説明されるビデオ符号化方法または復号方法(具体的には、本出願に
おいて説明される動きベクトル予測方法)をプロセッサ510が実行することを可能にする少
なくとも1つのプログラムを含む。たとえば、アプリケーションプログラム535は、アプリ
ケーション1からNを含んでもよく、さらに、本出願において説明されるビデオ符号化また
は復号方法を実行するために使用されるビデオ符号化または復号アプリケーション(簡潔
にビデオコーディングアプリケーションと呼ばれる)を含む。
【0202】
バスシステム550はさらに、データバスに加えて、電力バス、制御バス、ステータス信
号バスなどを含み得る。しかしながら、説明を明確にするために、図の中の様々なタイプ
のバスは、バスシステム550としてマークされる。
【0203】
任意選択で、コーディングデバイス500はさらに、1つまたは複数の出力デバイス、たと
えばディスプレイ570を含み得る。ある例では、ディスプレイ570は、ディスプレイと、タ
ッチ入力を感知するように動作可能なタッチ感知ユニットとを組み合わせる、タッチ感知
ディスプレイであり得る。ディスプレイ570は、バス550を通じてプロセッサ510に接続さ
れ得る。
【0204】
図4および図5に示される装置またはデバイスの両方が、本出願の実施形態における方法
を実行するように構成され得る。
【0205】
上で説明されたように、インター予測は、ビデオ符号化および復号システムの重要な部
分である。
【0206】
HEVCでは、進化型動きベクトル予測(Advanced Motion Vector Prediction、AMVP)モー
ドおよびマージ(Merge)モードという、以下の2つのインター予測モードが導入される。
【0207】
AMVPモードでは、動きベクトル候補リストはまず、現在のコーディングユニットに空間
的または時間的に隣接するコーディングされるユニットの動き情報に基づいて構築され、
次いで、最適な動きベクトルが、動きベクトル候補リストから決定され、現在のコーディ
ングユニットの動きベクトル予測子(Motion vector predictor、MVP)として使用される。
レート歪みコストは式(1)に従って計算され、Jはレート歪みコスト(RD Cost)を表し、SAD
は、動きベクトル候補予測子を使用することによって実行される動き推定を通じて取得さ
れる元のピクセル値と、予測されるピクセル値との間の絶対値差分和(Sum of Absolute D
ifferences、SAD)を表し、Rはビットレートを表し、λはラグランジュ乗数を表す。エン
コーダ側は、デコーダ側に、参照フレームのインデックス値と、動きベクトル候補リスト
の中にある、レート歪みコストに基づいて選択される動きベクトル予測子のインデックス
値とを転送する。さらに、現在のコーディングユニットの実際の動きベクトルを取得する
ために、MVP中心の隣接領域において動き探索が実行される。エンコーダ側は、MVPと実際
の動きベクトルとの差分(Motion vector difference、MVD)をデコーダ側に転送する。
J=SAD+λR (1)
【0208】
マージモードでは、動き情報候補リストはまず、現在のコーディングユニットに空間的
または時間的に隣接するコーディングされるユニットの動き情報に基づいて構築され、次
いで、最適な動き情報が、レート歪みコストに基づいて動き情報候補リストから決定され
、現在のコーディングユニットの動き情報として使用され、動き情報候補リストの中の最
適な動き情報の位置のインデックス値(マージインデックスと表記される、以下同様)が、
デコーダ側に転送される。現在のコーディングユニットの空間的および時間的な動き情報
候補が、図6に示される。空間動き情報候補は、5つの空間近傍ブロック(A0、A1、B0、B1
、およびB2)からのものである。近傍ブロックが利用不可能である、またはイントラコー
ディングモードもしくはイントラブロックコピーモードの中にある場合、近傍ブロックは
、動き情報候補リストに追加されない。現在のコーディングユニットの時間動き情報候補
は、参照フレームおよび現在のフレームのピクチャ順序カウント(Picture order count、
POC)に基づいて、参照フレームの中の同一位置のブロックのMVをスケーリングすることに
よって取得される。同一位置のブロックを決定することは、参照フレームの中の位置Tに
おけるブロックが利用可能であるかどうかをまず決定することと、参照フレームの中の位
置Tにおけるブロックが利用不可能である場合、位置Cにおけるブロックを同一位置のブロ
ックとして選択することとを含む。
【0209】
HEVCにおけるインター予測の間、コーディングユニットの中のピクセルの予測値を取得
するために、コーディングユニットの中のすべてのピクセルが同じ動き情報を有するとい
う仮定に基づいて、動き補償が実行される。しかしながら、コーディングユニットにおい
て、すべてのピクセルが必ずしも同じ動きの特徴を有するとは限らない。したがって、同
じ動き情報を使用することによるCUの中のすべてのピクセルの予測は、動き補償の正確さ
を下げ、さらに残差情報を増やすことがある。
【0210】
コーディング効率をさらに高めるために、いくつかの実現可能な実装形態では、コーデ
ィングユニットは少なくとも2つのコーディングサブユニットへと分割され、各コーディ
ングサブユニットの動き情報が導出され、コーディングサブユニットの動き情報に基づい
て動き補償が実行される。これは、予測の正確さを高める。たとえば、サブコーディング
ユニットに基づく動きベクトル予測(Sub-CU based motion vector prediction、SMVP)技
術が使用される。
【0211】
SMVPに従って、現在のコーディングユニットが、M×Nのサイズを有するコーディングサ
ブユニットへと分割され、各コーディングサブユニットの動き情報が導出され、次いで、
現在のコーディングユニットの予測値を取得するために、各コーディングサブユニットの
動き情報を使用することによって、動き補償が実行される。
【0212】
SMVP技術に基づいて、1つまたは2つのタイプの動き情報候補、すなわち、進化型時間動
きベクトル予測(Advanced temporal motion vector prediction、ATMVP)および/または空
間時間動きベクトル予測(Spatial-temporal motion vector prediction、STMVP)が、マー
ジモードの予測動き情報候補リストに追加される。それに対応して、予測動き情報候補リ
ストは、サブブロックベースのマージ候補リスト(subblock-based merging candidate li
st)とも呼ばれる。
【0213】
いくつかの実現可能な実装形態では、サブブロックベースのマージ候補リストは、ATMV
P予測モード、アフィンモデルベースの予測モード(継承された制御点動きベクトルが使用
される予測方法、および/または、構築された制御点動きベクトルが使用される予測方法)
、インター平面(PLANAR)予測モードのうちの1つまたは複数を含む。
【0214】
図7に示されるように、ATMVP技術に従って、同一位置の参照フレーム(Collocated refe
rence picture)がまず決定され、次いで、現在のコーディングユニットは、M×Nのサイズ
を有するコーディングサブユニットへと分割され、各々の現在のコーディングサブユニッ
トに対応する、および同一位置の参照フレームの中にある、コーディングサブユニットの
中心位置におけるピクセルの動き情報が、取得され、スケーリングされ、現在のコーディ
ングサブユニットの動き情報へと転換される。ATMVPは、サブブロックベース時間動きベ
クトル予測(subblock-based temporal motion vector prediction、SbTMVP)とも呼ばれる
【0215】
STMVP技術によれば、各々の現在のコーディングサブユニットの、上の空間的な隣接位
置における動き情報、左の空間的な隣接位置における動き情報、および右下の時間的な隣
接位置における動き情報が取得され、動き情報の平均が計算され、現在のコーディングサ
ブユニットの動き情報へと転換される。図8に示されるように、現在のコーディングユニ
ットは、A、B、C、およびDという4つのコーディングサブユニットへと分割される。Aが例
として使用される。コーディングサブユニットAの動き情報は、空間的な隣接位置cおよび
dにおける動き情報と、同一位置の参照フレームの中の位置Dにおける動き情報とを使用す
ることによって導出される。
【0216】
SMVP技術が使用された後、ATMVP動き情報候補およびSTMVP動き情報候補が、マージモー
ドの動き情報候補リストに追加される。この場合、マージモードにおける符号化処理は次
のようになる。
【0217】
(1)空間的な隣接位置A1、B1、B0、およびA0における動き情報を逐次取得し、各位置に
おける動き情報の利用可能性を確認し、任意選択で、重複する項目を除去し、利用可能な
除去されない動き情報を動き情報候補リストへと挿入する。
【0218】
(2)ATMVP技術およびSTMVP技術を使用することによって対応する動き情報を取得し、利
用可能性を確認して重複する項目を除去し、取得された動き情報の利用可能性を確認し、
任意選択で、重複する項目を除去し、利用可能な除去されない動き情報を動き情報候補リ
ストへと挿入する。
【0219】
(3)動き情報候補リストの長さが6未満であるとき、位置B2における動き情報を取得し、
動き情報の利用可能性を確認し、任意選択で、重複する項目を除去し、動き情報が利用可
能であり除去されない場合、動き情報を動き情報候補リストへと挿入する。
【0220】
(4)隣接する符号化されたフレームの中の位置Tに対応するブロックの動き情報を取得し
(動き情報が存在しない場合、位置Cに対応するブロックの動き情報が取得される)、隣接
する符号化されたフレームと現在のフレームとの間のPOC関係に基づいてスケーリングを
実行し、スケーリングされた動き情報を動き情報候補リストへと挿入する。
【0221】
(5)動き情報候補リストの長さが7未満である場合、長さが7である動き情報候補リスト
を取得するために、動き情報を埋め、埋められる動き情報は、0またはあらかじめ合意さ
れた方式で得られた他の動き情報であり得る。これは限定されない。
【0222】
(6)動き情報候補リストの中の各々の動き情報候補を走査し、再構築された値を取得す
るために動き補償および再構築を実行し、次いで、レート歪みコスト(Rate-distortion c
ost、RD cost)が最小である動き情報候補に対応するマージインデックスを取得するため
に、レート歪み最適化(Rate-distortion optimization、RDO)方法に従って、RD costが最
小である動き情報候補を決定する。
【0223】
(7)動き情報候補リストの長さに基づいてマージインデックスをビットストリームへと
書き込み、ビットストリームをデコーダ側に転送する。
【0224】
ATMVP技術を使用することによって現在の処理されるべきピクチャに対してインター予
測を実行する処理は主に、現在の処理されるべきピクチャの中の現在の処理されるべきブ
ロックのオフセット動きベクトルを決定するステップと、現在の処理されるべきブロック
における処理されるべきサブブロックの位置およびオフセット動きベクトルに基づいて、
同一位置の参照ピクチャにおける処理されるべきサブブロックの同一位置のサブブロック
を決定するステップと、同一位置のサブブロックの動きベクトルに基づいて現在の処理さ
れるべきサブブロックの動きベクトルを決定するステップと、処理されるべきサブブロッ
クの予測されるピクセル値を取得するために、処理されるべきサブブロックの動きベクト
ルに基づいて、処理されるべきサブブロックに対する動き補償予測を実行するステップと
を含む。
【0225】
具体的には、図9に示されるように、ある実現可能な実装形態では、方法は以下のステ
ップを含む。
【0226】
S901: オフセット動きベクトル(offset motion vector)を取得する。
【0227】
オフセット動きベクトルは、現在のCUの中のあらかじめ設定された位置の点(すなわち
、現在の処理されるべきCU、または、処理されるべきブロック、符号化されるべきブロッ
ク、復号されるべきブロックなどとも呼ばれ得る)に対応し、同一位置のピクチャ(colloc
ated picture)の中にある、点の位置を決定するために使用される。現在のCUの空間近傍
ブロックの動きベクトルは、オフセット動きベクトルとして使用され得る。現在のCUが位
置するフレームの同一位置のピクチャは、ビットストリームを解析することによって取得
されてもよく、または、あらかじめ設定された値を有するピクチャであってもよい(あら
かじめ設定される値は、エンコーダ側とデコーダ側において同じである)。たとえば、同
一位置のピクチャは、その参照フレームインデックスが現在のCUの参照フレームリストに
おいて0であるピクチャであると仮定される。いくつかの実現可能な実装形態では、同一
位置のピクチャブロックにおける現在のCUの位置はまた、オフセット動きベクトルおよび
同一位置のピクチャブロックに基づいて決定され得る。その位置におけるブロックは、同
一位置のブロック(対応する/同一位置のブロック)とも呼ばれ得る。
【0228】
たとえば、オフセット動きベクトルは、次の方法のうちのいずれか1つを使用すること
によって取得され得る。
【0229】
方法1: 図6におけるA1の動きベクトルが利用可能であるかどうかを決定する。動きベ
クトルが利用可能であることは、動きベクトルが存在し、取得され得ることを意味するこ
とを理解されたい。たとえば、近傍ブロックが存在しないとき、近傍ブロックおよび現在
のブロックが同じコーディング領域(たとえば、スライス(slice)、タイル(tile)、または
タイルグループ(tile group))の中にないとき、または、イントラ予測モードもしくはイ
ントラブロックコピーモード(intra block copy、IBC)が近傍ブロックのために使用され
るとき、近傍ブロックの動きベクトルは利用不可能である。逆に、インター予測モードが
近傍ブロックのために使用されるとき、または、インター予測モードが近傍ブロックのた
めに使用され、近傍ブロックおよび現在のブロックが同じコーディング領域の中にあると
き、近傍ブロックの動きベクトルは利用可能である。
【0230】
イントラブロックコピーモードでは、イントラブロックコピーコーディングツールが、
HEVCのスクリーンコンテンツコーディング規格(screen content coding、SCC)などの拡張
規格において使用され、スクリーンコンテンツビデオのコーディング効率を高めるために
主に使用される。IBCモードはブロックレベルのコーディングモードである。エンコーダ
側において、各CUのための最適なブロックベクトルまたは動きベクトルを発見するために
、ブロック照合方法が使用される。本明細書の動きベクトルは主に、現在のブロックから
参照ブロックまでの変位を表すために使用され、変位ベクトル(displacement vector)と
も呼ばれる。参照ブロックは、現在のピクチャの中の再構築されたブロックである。IBC
モードは、イントラ予測モードまたはインター予測モード以外の第3の予測モードである
と見なされ得る。ストレージ空間を節約して、デコーダの複雑さを下げるために、いくつ
かの実装形態では、IBCモードは、現在のCTUのあらかじめ定められた領域の中の再構築さ
れた部分のみが、予測のために使用されることを許容する。
【0231】
A1が利用不可能であるとき、現在のCUのオフセット動きベクトルとして、ゼロ動きベク
トルが使用され得る。
【0232】
A1は、第1の参照フレームリスト0に基づく第1の方向動きベクトル、および第2の参照フ
レームリスト1に基づく第2の方向動きベクトルを有し得ると仮定される。
【0233】
A1が利用可能であるとき、A1が以下の条件(1)から(5)のすべてを満たす場合、リスト1
に基づく、A1の第2の方向動きベクトルが、現在のCUのオフセット動きベクトルとして使
用される。条件は次の通りである。
【0234】
(1)リスト1の中の参照フレームが、予測のためにA1に使用される。
【0235】
(2)予測のために使用されるA1のリスト1の中の参照フレームが、現在のCUが位置する画
像フレームの同一位置のピクチャと同じである。
【0236】
たとえば、リスト1の中の参照フレームのPOCが、現在のCUが位置する画像フレームの同
一位置のピクチャのPOCと同じであるかどうかが決定されてもよく、同一位置のピクチャ
を表す情報は、ビットストリームを解析することによって取得され得る。
【0237】
(3)低レイテンシのコーディング構造が使用され、具体的には、符号化/復号/処理され
るべきピクチャの参照フレームがすべて、符号化/復号/処理されるピクチャの前に表示さ
れる。
【0238】
(4)現在のCUが位置するピクチャのピクチャタイプがBピクチャであり、現在のCUが位置
するタイルがBタイルであり、または、現在のCUが位置するタイルグループ(tile group)
がBタイルグループである。
【0239】
(5)現在のCUが位置するピクチャの同一位置のピクチャが、リスト1から取得される。た
とえば、シンタックス要素collocated_from_l0_flagの値は0である。
【0240】
そうではなく、A1が利用可能であるが、前述の条件のうちの少なくとも1つを満たさな
いとき、A1が以下の条件(6)および(7)を満たす場合、リスト0に基づく、A1の第1の方向動
きベクトルが、現在のCUのオフセット動きベクトルとして使用される。条件は次の通りで
ある。
【0241】
(6)リスト0の中の参照フレームが、予測のためにA1に使用される。
【0242】
(7)予測のために使用されるA1のリスト0の中の参照フレームが、現在のCUが位置する画
像フレームの同一位置のピクチャと同じである。
【0243】
方法2: 図6のA1、B1、B0、およびA0のシーケンスにおける、第1の利用可能な近傍ブロ
ックの動きベクトルを見つける。近傍ブロックの参照フレームが、現在のCUが位置するフ
レームの同一位置のピクチャである場合、すなわち、発見された動きベクトルが同一位置
のピクチャを指し示す場合、近傍ブロックの動きベクトルが、現在のCUのオフセット動き
ベクトルとして使用される。そうではなく、近傍ブロックの参照フレームが、現在のCUが
位置するフレームの同一位置のピクチャではない場合、ある実現可能な実装形態では、ゼ
ロ動きベクトルが、現在のCUのオフセット動きベクトルとして使用され得る。別の実現可
能な実装形態では、第1の利用可能な近傍ブロックの動きベクトルは、同一位置のピクチ
ャのPOC、現在のCUが位置するピクチャのPOC、第1の利用可能な近傍ブロックの参照フレ
ームのPOCに基づいてスケーリングされるので、スケーリングされた動きベクトルが同一
位置のピクチャを指し示し、スケーリングされた動きベクトルが現在のCUのオフセット動
きベクトルとして使用される。具体的なスケーリング方法については、従来の技術におい
て時間動きベクトルを取得するための方法、または本実施形態のステップ1005におけるス
ケーリング方法を参照されたい。詳細は説明されない。
【0244】
オフセット動きベクトルがゼロ動きベクトルであるとき、同一位置のピクチャの中にあ
り、現在のCUと同じ位置にあるピクチャブロックが、同一位置のピクチャの中の現在のCU
の同一位置のブロックであることを理解されたい。
【0245】
条件を満たす現在のCUのオフセット動きベクトルを、前述の方法を使用することによっ
て取得できないとき、現在のCUのサブブロックの動きベクトルは、ATMVP予測モードを使
用することによって取得されない。
【0246】
S902: オフセット動きベクトルに基づいて、ATMVPモードが利用可能であるかどうかを
決定する。
【0247】
具体的には、現在のCUの中のあらかじめ設定された位置の点に対応する、かつ同一位置
のピクチャの中にある点がサブブロックSであるピクチャブロック、サブブロックSの座標
位置は(xcol,ycol)であると仮定される。たとえば、
【0248】
【数2】
【0249】
(x,y)は現在のCUの左上の角の座標を表し、Wは現在のCUの幅を表し、Hは現在のCUの高
さを表し、(xoff,yoff)はオフセット動きベクトルを表す。
【0250】
サブブロックSの予測モードがイントラ予測モードまたはイントラブロックコピーモー
ドであるとき、ATMVPモードが利用可能であると決定され、ステップ902および後続のステ
ップは実行されない。
【0251】
サブブロックSの予測モードがインター予測モードであるとき、ATMVPモードが利用可能
であると決定される。さらに、サブブロックSの動き情報、具体的には、座標位置(xcol,y
col)に対応する動き情報が取得され、初期のデフォルト動きベクトルとして決定される。
【0252】
処理されるべきサブブロックのデフォルト動きベクトル(MV)を取得するために、初期の
デフォルト動きベクトルMVがスケーリングされる。
【0253】
たとえば、図10に示されるように、MVは式(3)に従って取得され得る。
【0254】
【数3】
【0255】
CurPocは現在のCUが位置するフレームのPOCを表し、ColPocは同一位置のピクチャのPOC
を表し、CurRefPocは現在のCUの参照フレームのPOCを表し、ColRefPocはサブブロックSの
参照フレームのPOCを表す。
【0256】
MVは、水平方向の動きベクトルMVxおよび垂直方向の動きベクトルMVyを含み、水平方向
のスケーリングされた動きベクトルMVsxおよび垂直方向のスケーリングされた動きベクト
ルMVsyは、前述の式に従った計算を通じて別々に取得され得ることを理解されたい。
【0257】
S903: 同一位置のサブブロックの動き情報に基づいて、処理されるべきサブブロック
の動き情報を決定する。
【0258】
たとえば、図11に示されるように、処理されるべきブロック、すなわち現在のCUは現在
のピクチャの中に位置し、処理されるべきブロックは4つのサブブロックを含み、1つの処
理されるべきサブブロックは処理されるべきブロックの左上のサブブロックである。この
場合、同一位置のピクチャの中の左上の位置におけるサブブロックは、処理されるべきサ
ブブロックの同一位置のサブブロックとして決定され得る。異なる同一位置のサブブロッ
クは、全体として1つの同一位置のブロックの形で存在してもよく、または別々のサブブ
ロックの形で存在してもよいことを理解されたい。
【0259】
たとえば、同一位置のサブブロックの幾何学的な中心位置に対応する動き情報が取得さ
れ得る。具体的には、現在のCUの(i,j)番目の処理されるべきサブブロック(すなわち、左
から右に向かってi番目のサブブロックであり、上から下に向かってj番目のサブブロック
であるサブブロック)の中心位置(x(i,j),y(i,j))は、式(4)に従って取得され得る。
【0260】
【数4】
【0261】
(x,y)は現在のCUの左上の角の座標を表し、Mは処理されるべきサブブロックの幅を表し
、Hは処理されるべきサブブロックの高さを表す。
【0262】
中心位置が位置するピクチャブロックの予測モードが決定される。
【0263】
ピクチャブロックの予測モードがインター予測モードであるとき、中心位置における動
きベクトルが利用可能であり、その位置における動きベクトルが取得される。処理される
べきサブブロックの動きベクトルを取得するために、処理されるべきサブブロックが位置
する画像フレームと、同一位置のサブブロックが位置する画像フレームとの間の時間的な
関係に基づいて、スケーリング処理が動きベクトルに対して実行される。スケーリング処
理方法は、式(2)におけるものと同様である。たとえば、
【0264】
【数5】
【0265】
MVは中心位置における動きベクトルを表し、MVRは処理されるべきサブブロックの動き
ベクトルを表す。
【0266】
ある実現可能な実装形態では、現在のCUの参照フレームのPOC CurRefPocは、その参照
フレームインデックスが、現在のCUが位置するフレームの参照ピクチャリストにおいて0
である、参照フレームのPOCにあらかじめ設定され得る。
【0267】
CurRefPocは代替として、現在のCUが位置するフレームの参照ピクチャリストの中の別
の参照フレームであってもよく、これは限定されないことを理解されたい。
【0268】
ピクチャブロックの予測モードがイントラ予測モードまたはイントラブロックコピーモ
ードであるとき、中心位置における動きベクトルが利用不可能であり、ステップS902にお
いて決定される処理されるべきサブブロックのデフォルトの動きベクトル(MV)が、処理さ
れるべきサブブロックの動きベクトルとして使用される。
【0269】
S904: 現在のCUの予測されるピクセル値を取得するために、現在のCUのサブブロック
の動き情報に基づいて動き補償を実行する。
【0270】
各サブブロックに対して、サブブロックの予測されたピクセル値を取得するために、動
き補償が、ステップ903において決定された動きベクトルおよび現在のCUが位置するピク
チャの参照フレーム、たとえば、動きベクトルMVRおよび参照フレームCurRefPocに基づい
て実行される。動き補償処理については、前述の説明または従来の技術のあらゆる改善策
を参照されたい。詳細は再び説明されない。
【0271】
現在のCUはサブブロックを含む。したがって、各サブブロックの予測されるピクセル値
が前述の方式で取得された後で、現在のCUの予測されるピクセル値が取得される。
【0272】
この実装形態では、処理されるべきブロックの内部のより複雑な動きの状況を反映でき
るように、各サブブロックの動きベクトルが取得される。これは、動きベクトルの正確さ
を改善し、コーディング効率も高める。しかしながら、同一位置のサブブロックの動き情
報が利用不可能であるとき、デフォルトの動き情報が計算される必要がある。これはコー
ディング速度に影響を及ぼす。
【0273】
図12に示されるように、別の実現可能な実装形態では、処理されるべきブロックは1つ
または複数のサブブロックを含み、処理されるべきブロックの同一位置のピクチャの識別
情報は、ビットストリームを解析することによって取得される。処理されるべきブロック
のあらかじめ設定された位置における空間近傍ブロックの動きベクトルが利用可能であり
、動きベクトルに対応する参照フレームが同一位置のピクチャであるとき、動きベクトル
は時間オフセットベクトルとして決定される。処理されるべきブロックのサブブロックの
同一位置のサブブロックの位置は、時間オフセットベクトルに基づいて同一位置のピクチ
ャにおいて決定される。同一位置のサブブロックの動きベクトルが利用可能であるかどう
かが決定され、処理されるべきブロックのサブブロックの動きベクトルは、同一位置のサ
ブブロックの動きベクトルに基づいて決定される。インター予測方法は特に、以下のステ
ップを含む。
【0274】
S1201: 処理されるべきブロックの空間近傍ブロックに基づいて、処理されるべきブロ
ックの時間オフセットベクトルを決定する。
【0275】
処理されるべきブロックのサブブロックの同一位置のサブブロックを決定するために、
時間オフセットベクトルが使用される。
【0276】
たとえば、図11に示されるように、処理されるべきブロックは4つの処理されるべきサ
ブブロックを含み、処理されるべきブロックの各サブブロックの同一位置のサブブロック
は、現在のピクチャにおける処理されるべきブロックのサブブロックの位置および時間オ
フセットベクトル(図ではオフセット動きベクトルとして表記される)に基づいて、同一位
置のピクチャ(これは、目標ピクチャ、すなわち、同一位置のサブブロックが位置するピ
クチャとして表記される)において決定されることを理解されたい。
【0277】
同一位置のサブブロックが位置する、かつ処理されるべきブロックの空間近傍ブロック
の参照フレームリストの中にある画像フレーム(同一位置のピクチャ)のインデックスは、
ビットストリームを解析することによって取得される。具体的には、デコーダ側は、ビッ
トストリームの中の対応する情報を解析することによって同一位置のピクチャを決定して
もよく、エンコーダ側は、RDO選択方式で、同一位置のピクチャとして最適な性能をもつ
画像フレームを決定し、または同一位置のピクチャとしてフレームを指定し、同一位置の
ピクチャの指示情報をビットストリームへと書き込んでもよい。代替として、同一位置の
ピクチャは、プロトコルに従ってエンコーダ側およびデコーダ側によってあらかじめ設定
され得る。
【0278】
ある実現可能な実装形態では、ステップ1201は具体的には次の通りであり得る。
あらかじめ設定された順序で、複数の第1のあらかじめ設定された位置における空間隣
接ブロックの動きベクトルが利用可能であるかどうかを、その動きベクトルがあらかじめ
設定された順序で利用可能である第1の空間近傍ブロックの動きベクトルが取得されるま
で、逐次確認し、
時間オフセットベクトルとして、その動きベクトルがあらかじめ設定された順序で利用
可能である第1の空間近傍ブロックの動きベクトルを使用する。
【0279】
複数の第1のあらかじめ設定された位置における空間近傍ブロックの動きベクトルがす
べて利用不可能であるとき、第2のあらかじめ設定された動きベクトルが時間オフセット
ベクトルとして使用される。
【0280】
たとえば、図6に示されるように、処理されるべきブロックの空間近傍ブロックA1、B1
、B0、およびA0の動きベクトルが利用可能であるかどうかが、その動きベクトルが利用可
能である第1の空間近傍ブロックが見つかるまで、逐次確認され得る。第1の空間近傍ブロ
ックはB0であると仮定される。この場合、確認は止められ、B0の動きベクトルが時間オフ
セットベクトルとして使用される。
【0281】
ある実現可能な実装形態では、スケーリングされた動きベクトルが参照フレームとして
同一位置のピクチャを使用するように、B0の参照フレームと、処理されるべきブロックが
位置する画像フレームと、処理されるべきブロックの同一位置のピクチャとの間の時間的
な関係に基づいて、スケーリング処理がさらにB0の動きベクトルに対して実行され得る。
【0282】
第2のあらかじめ設定された動きベクトル、すなわちゼロ動きベクトルは、空間近傍ブ
ロックの動きベクトルがすべて利用不可能であるとき、時間オフセットベクトルとして使
用され得る。
【0283】
第1のあらかじめ設定された位置における空間近傍ブロックが、プロトコルに従ってエ
ンコーダ側およびデコーダ側によってあらかじめ設定され、または、高水準のシンタック
ス要素に基づいてエンコーダ側およびデコーダ側によって決定されることを理解されたい
。これは本出願のこの実施形態では限定されない。
【0284】
空間近傍ブロックの動きベクトルが利用不可能である条件は、以下の項目のうちの1つ
または組合せを含む。空間近傍ブロックは符号化/復号されず(予測方法がエンコーダ側で
実装される場合、空間近傍ブロックは符号化されず、または、予測方法がデコーダ側で実
装される場合、空間近傍ブロックは復号されない)、イントラ予測モードまたはイントラ
ブロックコピーモードは空間近傍ブロックのために使用され、空間近傍ブロックは存在せ
ず、または、空間近傍ブロックおよび処理されるべきブロックは異なるコーディング領域
に位置する。
【0285】
たとえば、コーディング領域は、ピクチャ、スライス(slice)、タイル(tile)、または
タイルグループ(tile group)を含む。
【0286】
別の実現可能な実装形態では、代替的に、ステップ1201は具体的には次の通りであり得
る。
第2のあらかじめ設定された位置における空間近傍ブロックの動きベクトルおよび参照
フレームを取得し、第2のあらかじめ設定された位置における空間近傍ブロックの動きベ
クトルが利用可能であり、
時間オフセットベクトルとして、第2のあらかじめ設定された位置における空間近傍ブ
ロックの動きベクトルを使用する。
【0287】
第2のあらかじめ設定された位置における空間近傍ブロックの動きベクトルが利用不可
能であるとき、第3のあらかじめ設定された動きベクトルが時間オフセットベクトルとし
て使用される。
【0288】
いくつかの実現可能な実装形態では、第2のあらかじめ設定された位置における空間隣
接ブロックはさらに、空間近傍ブロックの参照フレームが、同一位置のピクチャが位置す
るのと同じであるという条件を満たす。
【0289】
たとえば、図6に示されるように、第2のあらかじめ設定された位置における空間近傍ブ
ロックはA1であると仮定される。
【0290】
第2のあらかじめ設定された位置における空間近傍ブロックの動きベクトルが、第1の参
照フレームリストに基づく第1の方向動きベクトルを含むことと、第2のあらかじめ設定さ
れた位置における空間近傍ブロックの参照フレームが、第1の方向動きベクトルに対応す
る第1の方向参照フレームを含むこととを理解されたい。
【0291】
ある実現可能な実装形態では、第2のあらかじめ設定された位置における空間近傍ブロ
ックの動きベクトルを時間オフセットベクトルとして使用することは具体的に、同一位置
のサブブロックが位置する画像フレームと第1の方向参照フレームが同じであるとき、第1
の方向動きベクトルを時間オフセットベクトルとして使用すること、または、同一位置の
サブブロックが位置する画像フレームと第1の方向参照フレームが異なるとき、第3のあら
かじめ設定された動きベクトルを時間オフセットベクトルとして使用することである。
【0292】
たとえば、第3のあらかじめ設定された動きベクトルは、ゼロ動きベクトルである。
【0293】
双方向予測が第2のあらかじめ設定された位置における空間近傍ブロックのために使用
されるとき、第2のあらかじめ設定された位置における空間近傍ブロックの動きベクトル
がさらに、第2の参照フレームリストに基づく第2の方向動きベクトルを含むことと、第2
のあらかじめ設定された位置における空間近傍ブロックの参照フレームが、第2の方向動
きベクトルに対応する第2の方向参照フレームを含むこととを理解されたい。
【0294】
別の実現可能な実装形態では、第2のあらかじめ設定された位置における空間近傍ブロ
ックの動きベクトルを時間オフセットベクトルとして使用することは具体的に、同一位置
のサブブロックが位置する画像フレームと第1の方向参照フレームが同じであるとき、第1
の方向動きベクトルを時間オフセットベクトルとして使用すること、または、同一位置の
サブブロックが位置する画像フレームと第1の方向参照フレームが異なるとき、同一位置
のサブブロックが位置する画像フレームと第2の方向参照フレームが同じであるかどうか
を決定することと、同一位置のサブブロックが位置する画像フレームと第2の方向参照フ
レームが同じであるとき、第2の方向動きベクトルを時間オフセットベクトルとして使用
すること、または、同一位置のサブブロックが位置する画像フレームと第2の方向参照フ
レームが異なるとき、第3のあらかじめ設定された動きベクトルを時間オフセットベクト
ルとして使用することとである。任意選択で、同一位置のサブブロックが位置する画像フ
レームと第2の方向参照フレームが同じであるかどうかを決定する前に、方法はさらに、
空間近傍ブロックが位置するコーディング領域のタイプがBタイプであるかどうか、すな
わち、コーディング領域がBフレームであるか、Bタイルであるか、Bスライスであるか、
またはBタイルグループであるかを決定するステップを含む。
【0295】
別の実現可能な実装形態では、双方向予測が第2のあらかじめ設定された位置における
空間近傍ブロックのために使用されるとき、時間オフセットベクトルとして第2のあらか
じめ設定された位置における空間近傍ブロックの動きベクトルを使用することは具体的に
、同一位置のサブブロックが位置する画像フレームが第2の参照フレームリストから取得
されるときは、同一位置のサブブロックが位置する画像フレームと第2の方向参照フレー
ムが同じであるかどうかを決定し、同一位置のサブブロックが位置する画像フレームと第
2の方向参照フレームが同じであるときは、時間オフセットベクトルとして第2の方向動き
ベクトルを使用し、もしくは、同一位置のサブブロックが位置する画像フレームと第2の
方向参照フレームが異なり、同一位置のサブブロックが位置する画像フレームと第1の方
向参照フレームが同じであるときは、時間オフセットベクトルとして第1の方向動きベク
トルを使用すること、または、同一位置のサブブロックが位置する画像フレームが第1の
参照フレームリストから取得されるとき、同一位置のサブブロックが位置する画像フレー
ムと第1の方向参照フレームが同じであるときは、同一位置のサブブロックが位置する画
像フレームと第1の方向参照フレームが同じであるかどうかを決定し、時間オフセットベ
クトルとして第1の方向動きベクトルを使用し、もしくは、同一位置のサブブロックが位
置する画像フレームと第1の方向参照フレームが異なり、同一位置のサブブロックが位置
する画像フレームと第2の方向参照フレームが同じであるときは、時間オフセットベクト
ルとして第2の方向動きベクトルを使用することである。加えて、同一位置のサブブロッ
クが位置する画像フレームと第2の方向参照フレームが異なり、同一位置のサブブロック
が位置する画像フレームと第1の方向参照フレームが異なるとき、時間オフセットベクト
ルとして第3のあらかじめ設定された動きベクトルが使用される。
【0296】
別の実現可能な実装形態では、双方向予測が第2のあらかじめ設定された位置における
空間近傍ブロックのために使用されるとき、時間オフセットベクトルとして第2のあらか
じめ設定された位置における空間近傍ブロックの動きベクトルを使用することは具体的に
、同一位置のサブブロックが位置する画像フレームが第2の参照フレームリストから取得
され、処理されるべきブロックが位置する画像フレームの前に、処理されるべきブロック
の参照フレームリストの中のすべての参照フレームが表示されるときは、同一位置のサブ
ブロックが位置する画像フレームと第2の方向参照フレームが同じであるかどうかを決定
し、同一位置のサブブロックが位置する画像フレームと第2の方向参照フレームが同じで
あるときは、時間オフセットベクトルとして第2の方向動きベクトルを使用し、もしくは
、同一位置のサブブロックが位置する画像フレームと第2の方向参照フレームが異なり、
同一位置のサブブロックが位置する画像フレームと第1の方向参照フレームが同じである
ときは、時間オフセットベクトルとして第1の方向動きベクトルを使用すること、または
、同一位置のサブブロックが位置する画像フレームが第1の参照フレームリストから取得
されるとき、もしくは、処理されるべきブロックが位置する画像フレームの後で、処理さ
れるべきブロックの参照フレームリストの中の少なくとも1つの参照フレームが表示され
るとき、同一位置のサブブロックが位置する画像フレームと第1の方向参照フレームが同
じであるときは、同一位置のサブブロックが位置する画像フレームと第1の方向参照フレ
ームが同じであるかどうかを決定し、時間オフセットベクトルとして第1の方向動きベク
トルを使用し、もしくは、同一位置のサブブロックが位置する画像フレームと第1の方向
参照フレームが異なり、同一位置のサブブロックが位置する画像フレームと第2の方向参
照フレームが同じであるときは、時間オフセットベクトルとして第2の方向動きベクトル
を使用することである。加えて、同一位置のサブブロックが位置する画像フレームと第2
の方向参照フレームが異なり、同一位置のサブブロックが位置する画像フレームと第1の
方向参照フレームが異なるとき、時間オフセットベクトルとして第3のあらかじめ設定さ
れた動きベクトルが使用される。
【0297】
たとえば、同一位置のサブブロックが位置する画像フレームが第1/第2の参照フレーム
リストから取得されるかどうかは、ビットストリームの中のシンタックス要素collocated
_from_l0_flagを解析することによって決定され得る。具体的には、1に等しいcollocated
_from_l0_flagは、同一位置のサブブロックが位置する画像フレーム(同一位置のピクチャ
)が第1の参照フレームリストから取得されることを指定し、0に等しいcollocated_from_l
0_flagは、同一位置のサブブロックが位置する画像フレームが第2の参照フレームリスト
から取得されることを指定する。ビットストリームがcollocated_from_l0_flagについて
の情報を搬送しないとき、同一位置のサブブロックが位置する画像フレームは、デフォル
トで第1の参照フレームリストから取得される。
【0298】
たとえば、処理されるべきブロックの参照フレームリストの中のすべての参照フレーム
は、処理されるべきブロックが位置する画像フレームの前に表示され、すなわち、低レイ
テンシフレームコーディング構造が使用される。このコーディング構造では、ピクチャの
各フレームが符号化されるとき、すべての使用される参照フレームが、現在の符号化され
るべきフレームの前に表示される。それに対応して、デコーダ側で、すべての使用される
参照フレームが、現在の復号されるべきフレームの前に表示される。
【0299】
空間近傍ブロックが位置するコーディング領域のタイプがBタイプではないとき、空間
近傍ブロックのために双方向予測が使用されず、双方向予測が使用される実装形態は、良
好な技術的効果を達成しないことがあることを理解されたい。したがって、任意選択で、
双方向予測が使用される前述の実装形態が実行される前に、空間近傍ブロックが位置する
コーディング領域がBタイプであるかどうかが決定され得る。
【0300】
S1202: 同一位置のサブブロックのあらかじめ設定されたイントラブロック位置に対応
する動きベクトルが利用可能であるかどうかを決定する。
【0301】
処理されるべきブロックにおけるサブブロック(例示的なサブブロックと呼ばれる)の同
一位置のサブブロックの位置は、処理されるべきブロックのサブブロックの位置座標、お
よびステップS1201において決定される時間オフセットベクトルに基づいて、同一位置の
ピクチャにおいて決定され得る。たとえば、同一位置のサブブロックの位置は、本明細書
の式(4)に従って取得され得る。具体的には、式(4)を参照して、xおよびyはそれぞれ、処
理されるべきブロックの左上の角の水平座標および垂直座標を表し、iおよびjは、例示的
なサブブロックが、処理されるべきブロックにおいて並べられるサブブロックであり、左
から右に向かってi番目のサブブロックであり、かつ上から下に向かってj番目のサブブロ
ックであることを表し、xoffおよびyoffはそれぞれ、時間オフセットベクトルの水平座標
および垂直座標を表し、MおよびNはそれぞれ、サブブロックの幅および高さを表し、x(i,
j)およびy(i,j)は例示的なサブブロックの同一位置のサブブロック(略して同一位置のサ
ブブロックと呼ばれる)の位置座標を表す。
【0302】
式(4)のM/2およびN/2は、あらかじめ設定されたイントラブロック位置が同一位置のサ
ブブロックの幾何学的な中心位置であることを表すことを理解されたい。代替的に、あら
かじめ設定されたイントラブロック位置は、同一位置のサブブロックの左上の角などの、
別のイントラブロック位置であってもよい。これは限定されない。
【0303】
同一位置のサブブロックのあらかじめ設定されたイントラブロック位置に対応する動き
ベクトルはまた、同一位置のサブブロックの動きベクトルとして使用され得る。
【0304】
位置座標(x(i,j),y(i,j))が位置する同一位置のピクチャの中の予測ユニットは、位置
座標に基づいて決定されてもよく、同一位置のサブブロックのあらかじめ設定されたイン
トラブロック位置に対応する動きベクトルが利用可能であるかどうかは、予測ユニットの
予測情報に基づいて決定されてもよい。
【0305】
予測ユニットは、同一位置のピクチャが実際に符号化された後で得られる結果であり、
同一位置のサブブロックとは一貫していないことがあることを理解されたい。
【0306】
たとえば、予測ユニットの予測モードがインター予測モードであるとき、あらかじめ設
定されたイントラブロック位置に対応する動きベクトルは利用可能であり、または、予測
ユニットの予測モードがイントラ予測モードもしくはイントラブロックコピーモードであ
るとき、あらかじめ設定されたイントラブロック位置に対応する動きベクトルは利用不可
能である。
【0307】
ある実現可能な実装形態では、予測ユニットの予測モード情報が確認されてもよく、予
測モード情報に基づいて、予測ユニットの予測モードが、イントラ予測モード、インター
予測モード、イントラブロックコピーモード、または別のモードであることが決定される
【0308】
別の実現可能な実装形態では、予測ユニットの動き情報が確認されてもよく、たとえば
予測方向が確認されてもよい。予測方向フラグpredFlagL0および/またはpredFlagL1が1で
あるとき、予測モードはインター予測モードである。それ以外の場合、予測モードはイン
トラ予測モードであり、または動きベクトルが利用不可能である別の予測モードである。
【0309】
S1203: 同一位置のサブブロックの動きベクトルに基づいて、処理されるべきブロック
のサブブロックの動きベクトルを決定する。
【0310】
処理されるべきブロックのサブブロックの動きベクトルは、同一位置のサブブロックの
動きベクトルが利用不可能であるとき、第1のあらかじめ設定された動きベクトルに基づ
いて取得される。
【0311】
予測ユニットの予測モードがインター予測モードであるとき、あらかじめ設定されたイ
ントラブロック位置に対応する動きベクトルは利用可能であり、処理されるべきブロック
のサブブロックの動きベクトルは、あらかじめ設定されたイントラブロック位置に対応す
る動きベクトルに基づいて取得される。
【0312】
具体的には、処理されるべきブロックのサブブロックの動きベクトルを取得するために
、第2の時間距離差分に対する第1の時間距離差分の比に基づいて、あらかじめ設定された
イントラブロック位置に対応する動きベクトルに対して、スケーリング処理が実行されて
もよく、第1の時間距離差分は、処理されるべきブロックが位置する画像フレームと処理
されるべきブロックの参照フレームとの間のピクチャ順序カウント差分であり、第2の時
間距離差分は、同一位置のサブブロックが位置する画像フレームと同一位置のサブブロッ
クの参照フレームとの間のピクチャ順序カウント差分である。スケーリング処理の具体的
な計算手順については、たとえば、本明細書の式(3)を参照されたい。詳細は再び説明さ
れない。
【0313】
処理されるべきブロックの参照フレームリストの中の処理されるべきブロックの参照フ
レームのインデックスは、ビットストリームを解析することによって取得される。具体的
には、デコーダ側は、ビットストリームの中の対応する情報を解析することによって、処
理されるべきブロックの参照フレームを決定してもよく、エンコーダ側は、RDO選択方式
で、処理されるべきブロックの参照フレームとして最適な性能をもつ画像フレームを決定
し、または処理されるべきブロックの参照フレームとしてフレームを指定し、処理される
べきブロックの参照フレームの指示情報をビットストリームへと書き込んでもよい。代替
として、処理されるべきブロックの参照フレームは、プロトコルに従ってエンコーダ側お
よびデコーダ側によってあらかじめ設定され得る。たとえば、処理されるべきブロックの
参照フレームリストの中の処理されるべきブロックの参照フレームのインデックスは0で
ある。
【0314】
あらかじめ設定されたイントラブロック位置に対応する動きベクトルは、位置に対応す
る動きベクトルストレージユニットから直接取得されてもよく、隣接位置に対応する動き
ベクトルストレージユニットから取得されてもよく、または、隣接位置に対応する動きベ
クトルストレージユニットの中の動きベクトルに基づいて補間フィルタリングを通じて取
得されてもよいことを理解されたい。これは限定されない。
【0315】
予測ユニットの予測モードがイントラ予測モードまたはイントラブロックコピーモード
であるとき、あらかじめ設定されたイントラブロック位置に対応する動きベクトルは利用
不可能であり、処理されるべきブロックのサブブロックの動きベクトルは、第1のあらか
じめ設定された動きベクトルに基づいて取得される。
【0316】
ある実現可能な実装形態では、サブブロックの動きベクトルは、第1の参照フレームリ
ストに基づく第1の方向サブブロック動きベクトルおよび/または第2の参照フレームリス
トに基づく第2の方向サブブロック動きベクトルを含み、あらかじめ設定されたイントラ
ブロック位置に対応する動きベクトルが利用不可能であるとき、処理されるべきブロック
のサブブロックの動きベクトルが第1のあらかじめ設定された動きベクトルに基づいて取
得されることは具体的に、第1の方向サブブロック動きベクトルに基づく単方向予測が、
処理されるべきブロックのサブブロックのために使用されると決定し、第1のあらかじめ
設定された動きベクトルに基づいて、処理されるべきブロックのサブブロックの第1の方
向サブブロック動きベクトルを取得すること、または、第2の方向サブブロック動きベク
トルに基づく単方向予測が、処理されるべきブロックのサブブロックのために使用される
と決定し、第1のあらかじめ設定された動きベクトルに基づいて、処理されるべきブロッ
クのサブブロックの第2の方向サブブロック動きベクトルを取得することである。
【0317】
ある実現可能な実装形態では、サブブロックの動きベクトルは、第1の参照フレームリ
ストに基づく第1の方向サブブロック動きベクトルおよび第2の参照フレームリストに基づ
く第2の方向サブブロック動きベクトルを含み、あらかじめ設定されたイントラブロック
位置に対応する動きベクトルが利用不可能であるとき、処理されるべきブロックのサブブ
ロックの動きベクトルが第1のあらかじめ設定された動きベクトルに基づいて取得される
ことは具体的に、処理されるべきブロックが位置するコーディング領域の予測タイプがB
タイプ予測であるとき、双方向予測が、処理されるべきブロックのサブブロックのために
使用されると決定し、第1のあらかじめ設定された動きベクトルに基づいて、処理される
べきブロックのサブブロックの第1の方向サブブロック動きベクトルおよび処理されるべ
きブロックのサブブロックの第2の方向サブブロック動きベクトルを別々に取得すること
、または、処理されるべきブロックが位置するコーディング領域の予測タイプがPタイプ
予測であるとき、単方向予測が、処理されるべきブロックのサブブロックのために使用さ
れると決定し、第1のあらかじめ設定された動きベクトルに基づいて、処理されるべきブ
ロックのサブブロックの第1の方向サブブロック動きベクトルを取得することである。
【0318】
たとえば、コーディング領域は、ピクチャ、スライス、タイル、またはタイルグループ
を含む。
【0319】
ある実現可能な実装形態では、処理されるべきブロックのサブブロックの動きベクトル
が第1のあらかじめ設定された動きベクトルに基づいて取得されることは、処理されるべ
きブロックのサブブロックの動きベクトルとして第1のあらかじめ設定された動きベクト
ルを使用することを含む。
【0320】
ある実現可能な実装形態では、第1のあらかじめ設定された動きベクトルは、ゼロ動き
ベクトルである。
【0321】
たとえば、第1の方向予測フラグpredFlagL0は1に設定されてもよく、第2の方向予測フ
ラグpredFlagL1は0に設定されてもよく、第1の方向サブブロック動きベクトルmvL0は(0,0
)に設定されてもよい。
【0322】
代替的に、第1の方向予測フラグpredFlagL0は0に設定されてもよく、第2の方向予測フ
ラグpredFlagL1は1に設定されてもよく、第2の方向サブブロック動きベクトルmvL1は(0,0
)に設定されてもよい。
【0323】
代替的に、例示的なサブブロックが位置するコーディング領域が、Bフレーム、Bスライ
ス、Bタイル、またはBタイルグループであるとき、第1の方向予測フラグpredFlagL0は1に
設定されてもよく、第2の方向予測フラグpredFlagL1は1に設定されてもよく、第1の方向
サブブロック動きベクトルmvL0は(0,0)に設定されてもよく、第2の方向サブブロック動き
ベクトルmvL1は(0,0)に設定されてもよい。それ以外の場合(例示的なサブブロックが位置
するコーディング領域が前述の双方向予測領域に対応しないとき)、第1の方向予測フラグ
predFlagL0は1に設定されてもよく、第2の方向予測フラグpredFlagL1は0に設定されても
よく、第1の方向サブブロック動きベクトルmvL0は(0,0)に設定されてもよい。
【0324】
S1204: 処理されるべきブロックのサブブロックの予測値を取得するために、処理され
るべきブロックのサブブロックの動きベクトルおよび処理されるべきブロックの参照フレ
ームに基づいて、処理されるべきブロックのサブブロックに対する動き補償を実行する。
【0325】
各サブブロックの予測値を取得するために、例示的なサブブロックを処理する前述の手
順が、処理されるべきブロックの中の各サブブロックに対して実行されることを理解され
たい。処理されるべきブロックはサブブロックを含む。したがって、各サブブロックの予
測値が決定された後で、処理されるべきブロックの予測値はそれに対応して決定される。
【0326】
この実施形態では、時間オフセットベクトルを取得するためのいくつかの簡略化された
方法が提供される。これは、同一位置のサブブロックを取得することの正確さを確保しな
がら、計算の複雑さを下げる。加えて、同一位置のサブブロックが利用不可能であるとき
、対応する処理されるべきブロックのサブブロックの動きベクトルを決定する方式は簡略
化され、計算の複雑さがさらに下がる。
【0327】
図13に示されるように、処理されるべきブロックは1つまたは複数のサブブロックを含
む。インター予測装置1300は、
処理されるべきブロックの空間近傍ブロックに基づいて、処理されるべきブロックの時
間オフセットベクトルを決定するように構成されるオフセット取得モジュール1301であっ
て、時間オフセットベクトルが、処理されるべきブロックのサブブロックの同一位置のサ
ブブロックを決定するために使用される、オフセット取得モジュール1301と、同一位置の
サブブロックの動きベクトルに基づいて、処理されるべきブロックのサブブロックの動き
ベクトルを決定するように構成される動きベクトル取得モジュール1302であって、処理さ
れるべきブロックのサブブロックの動きベクトルが、同一位置のサブブロックの動きベク
トルが利用不可能であるとき、第1のあらかじめ設定された動きベクトルに基づいて取得
される、動きベクトル取得モジュール1302とを含む。
【0328】
ある実現可能な実装形態では、オフセット取得モジュール1301は特に、あらかじめ設定
された順序で、複数の第1のあらかじめ設定された位置における空間近傍ブロックの動き
ベクトルが利用可能であるかどうかを、その動きベクトルがあらかじめ設定された順序で
利用可能である第1の空間近傍ブロックの動きベクトルが取得されるまで逐次確認し、時
間オフセットベクトルとして、その動きベクトルがあらかじめ設定された順序で利用可能
である第1の空間近傍ブロックの動きベクトルを使用するように構成される。
【0329】
ある実現可能な実装形態では、オフセット取得モジュール1301は特に、複数の第1のあ
らかじめ設定された位置における空間近傍ブロックの動きベクトルがすべて利用不可能で
あるとき、第2のあらかじめ設定された動きベクトルを時間オフセットベクトルとして使
用するように構成される。
【0330】
ある実現可能な実装形態では、第2のあらかじめ設定された動きベクトルは、ゼロ動き
ベクトルである。
【0331】
ある実現可能な実装形態では、オフセット取得モジュール1301は特に、第2のあらかじ
め設定された位置における空間近傍ブロックの動きベクトルおよび参照フレームを取得し
、第2のあらかじめ設定された位置における空間近傍ブロックの動きベクトルが利用可能
であり、第2のあらかじめ設定された位置における空間近傍ブロックの動きベクトルを時
間オフセットベクトルとして使用するように構成される。
【0332】
ある実現可能な実装形態では、オフセット取得モジュール1301は特に、第2のあらかじ
め設定された位置における空間近傍ブロックの動きベクトルが利用不可能であるとき、第
3のあらかじめ設定された動きベクトルを時間オフセットベクトルとして使用するように
構成される。
【0333】
ある実現可能な実装形態では、第3のあらかじめ設定された動きベクトルは、ゼロ動き
ベクトルである。
【0334】
ある実現可能な実装形態では、第2のあらかじめ設定された位置における空間近傍ブロ
ックの動きベクトルは、第1の参照フレームリストに基づく第1の方向動きベクトルを含み
、第2のあらかじめ設定された位置における空間近傍ブロックの参照フレームは、第1の方
向動きベクトルに対応する第1の方向参照フレームを含み、オフセット取得モジュール130
1は特に、同一位置のサブブロックが位置する画像フレームと第1の方向参照フレームが同
じであるとき、時間オフセットベクトルとして第1の方向動きベクトルを使用するように
構成される。
【0335】
ある実現可能な実装形態では、同一位置のサブブロックが位置する画像フレームと第1
の方向参照フレームが異なるとき、オフセット取得モジュール1301は特に、時間オフセッ
トベクトルとして第3のあらかじめ設定された動きベクトルを使用するように構成される
【0336】
ある実現可能な実装形態では、第2のあらかじめ設定された位置における空間近傍ブロ
ックのために双方向予測が使用されるとき、第2のあらかじめ設定された位置における空
間近傍ブロックの動きベクトルはさらに、第2の参照フレームリストに基づく第2の方向動
きベクトルを含み、第2のあらかじめ設定された位置における空間近傍ブロックの参照フ
レームは、第2の方向動きベクトルに対応する第2の方向参照フレームを含み、第1の方向
参照フレームが、処理されるべきブロックの対応する時間ブロックが位置する画像フレー
ムとは異なるとき、オフセット取得モジュール1301は特に、同一位置のサブブロックが位
置する画像フレームと第2の方向参照フレームが同じであるとき、時間オフセットベクト
ルとして第2の方向動きベクトルを使用し、または、同一位置のサブブロックが位置する
画像フレームと第2の方向参照フレームが異なるとき、時間オフセットベクトルとして第3
のあらかじめ設定された動きベクトルを使用するように構成される。
【0337】
ある実現可能な実装形態では、双方向予測が第2のあらかじめ設定された位置における
空間近傍ブロックのために使用されるとき、第2のあらかじめ設定された位置における空
間近傍ブロックの動きベクトルは、第1の参照フレームリストに基づく第1の方向動きベク
トルおよび第2の参照フレームリストに基づく第2の方向動きベクトルを含み、第2のあら
かじめ設定された位置における空間近傍ブロックの参照フレームは、第1の方向動きベク
トルに対応する第1の方向参照フレームおよび第2の方向動きベクトルに対応する第2の方
向参照フレームを含み、オフセット取得モジュール1301は特に、同一位置のサブブロック
が位置する画像フレームが第2の参照フレームリストから取得されるとき、同一位置のサ
ブブロックが位置する画像フレームと第2の方向参照フレームが同じであるときは、時間
オフセットベクトルとして第2の方向動きベクトルを使用し、もしくは、同一位置のサブ
ブロックが位置する画像フレームと第2の方向参照フレームが異なり、同一位置のサブブ
ロックが位置する画像フレームと第1の方向参照フレームが同じであるときは、時間オフ
セットベクトルとして第1の方向動きベクトルを使用し、または、同一位置のサブブロッ
クが位置する画像フレームが第1の参照フレームリストから取得されるとき、同一位置の
サブブロックが位置する画像フレームと第1の方向参照フレームが同じであるときは、時
間オフセットベクトルとして第1の方向動きベクトルを使用し、もしくは、同一位置のサ
ブブロックが位置する画像フレームと第1の方向参照フレームが異なり、同一位置のサブ
ブロックが位置する画像フレームと第2の方向参照フレームが同じであるとき、時間オフ
セットベクトルとして第2の方向動きベクトルを使用するように構成される。
【0338】
ある実現可能な実装形態では、オフセット取得モジュール1301は特に、同一位置のサブ
ブロックが位置する画像フレームが第2の参照フレームリストから取得され、処理される
べきブロックの参照フレームリストの中のすべての参照フレームが、処理されるべきブロ
ックが位置する画像フレームの前に表示されるとき、同一位置のサブブロックが位置する
画像フレームと第2の方向参照フレームが同じであるときは、時間オフセットベクトルと
して第2の方向動きベクトルを使用し、または、同一位置のサブブロックが位置する画像
フレームと第2の方向参照フレームが異なり、同一位置のサブブロックが位置する画像フ
レームと第1の方向参照フレームが同じであるときは、時間オフセットベクトルとして第1
の方向動きベクトルを使用し、あるいは、同一位置のサブブロックが位置する画像フレー
ムが第1の参照フレームリストから取得される、もしくは処理されるべきブロックの参照
フレームリストの中の少なくとも1つの参照フレームが、処理されるべきブロックが位置
する画像フレームの後に表示されるとき、同一位置のサブブロックが位置する画像フレー
ムが第1の方向参照フレームと同じであるときは、時間オフセットベクトルとして第1の方
向動きベクトルを使用し、または、同一位置のサブブロックが位置する画像フレームと第
1の方向参照フレームが異なり、同一位置のサブブロックが位置する画像フレームと第2の
方向参照フレームが同じであるときは、時間オフセットベクトルとして第2の方向動きベ
クトルを使用するように構成される。
【0339】
ある実現可能な実装形態では、オフセット取得モジュール1301は特に、同一位置のサブ
ブロックが位置する画像フレームと第2の方向参照フレームが異なり、同一位置のサブブ
ロックが位置する画像フレームと第1の方向参照フレームが異なるとき、時間オフセット
ベクトルとして第3のあらかじめ設定された動きベクトルを使用するように構成される。
【0340】
ある実現可能な実装形態では、同一位置のサブブロックが位置する、かつ処理されるべ
きブロックの空間近傍ブロックの参照フレームリストの中にある画像フレームのインデッ
クスは、ビットストリームを解析することによって取得される。
【0341】
ある実現可能な実装形態では、空間近傍ブロックの動きベクトルが利用不可能である条
件は、以下の項目のうちの1つまたは組合せを含む。空間近傍ブロックが符号化/復号され
ない、空間近傍ブロックのためにイントラ予測モードまたはイントラブロックコピーモー
ドが使用される、空間近傍ブロックが存在しない、または空間近傍ブロックおよび処理さ
れるべきブロックが異なるコーディング領域に位置する。
【0342】
ある実現可能な実装形態では、コーディング領域は、ピクチャ、スライス、タイル、ま
たはタイルグループを含む。
【0343】
ある実現可能な実装形態では、装置はさらに、同一位置のサブブロックのあらかじめ設
定されたイントラブロック位置に対応する動きベクトルが利用可能であるかどうかを決定
するように構成される決定モジュール1303を含み、それに対応して、動きベクトル取得モ
ジュール1302は特に、あらかじめ設定されたイントラブロック位置に対応する動きベクト
ルが利用可能であるとき、あらかじめ設定されたイントラブロック位置に対応する動きベ
クトルに基づいて、処理されるべきブロックのサブブロックの動きベクトルを取得し、ま
たは、あらかじめ設定されたイントラブロック位置に対応する動きベクトルが利用不可能
であるとき、第1のあらかじめ設定された動きベクトルに基づいて、処理されるべきブロ
ックのサブブロックの動きベクトルを取得するように構成される。
【0344】
ある実現可能な実装形態では、あらかじめ設定されたイントラブロック位置は、同一位
置のサブブロックの幾何学的な中心位置である。
【0345】
ある実現可能な実装形態では、あらかじめ設定されたイントラブロック位置が位置する
予測ユニットのためにイントラ予測モードまたはイントラブロックコピーモードが使用さ
れるとき、あらかじめ設定されたイントラブロック位置に対応する動きベクトルは利用不
可能であり、または、あらかじめ設定されたイントラブロック位置が位置する予測ユニッ
トのためにインター予測が使用されるとき、あらかじめ設定されたイントラブロック位置
に対応する動きベクトルは利用可能である。
【0346】
ある実現可能な実装形態では、動きベクトル取得モジュール1302は特に、処理されるべ
きブロックのサブブロックの動きベクトルとして第1のあらかじめ設定された動きベクト
ルを使用するように構成される。
【0347】
ある実現可能な実装形態では、第1のあらかじめ設定された動きベクトルは、ゼロ動き
ベクトルである。
【0348】
ある実現可能な実装形態では、サブブロックの動きベクトルは、第1の参照フレームリ
ストに基づく第1の方向サブブロック動きベクトルおよび/または第2の参照フレームリス
トに基づく第2の方向サブブロック動きベクトルを含み、あらかじめ設定されたイントラ
ブロック位置に対応する動きベクトルが利用不可能であるとき、動きベクトル取得モジュ
ール1302は特に、第1の方向サブブロック動きベクトルに基づく単方向予測が、処理され
るべきブロックのサブブロックのために使用されると決定し、第1のあらかじめ設定され
た動きベクトルに基づいて、処理されるべきブロックのサブブロックの第1の方向サブブ
ロック動きベクトルを取得し、または、第2の方向サブブロック動きベクトルに基づく単
方向予測が、処理されるべきブロックのサブブロックのために使用されると決定し、第1
のあらかじめ設定された動きベクトルに基づいて、処理されるべきブロックのサブブロッ
クの第2の方向サブブロック動きベクトルを取得するように構成される。
【0349】
ある実現可能な実装形態では、あらかじめ設定されたイントラブロック位置に対応する
動きベクトルが利用不可能であるとき、動きベクトル取得モジュール1302は特に、処理さ
れるべきブロックが位置するコーディング領域の予測タイプがBタイプ予測であるとき、
双方向予測が、処理されるべきブロックのサブブロックのために使用されると決定し、第
1のあらかじめ設定された動きベクトルに基づいて、処理されるべきブロックのサブブロ
ックの第1の方向サブブロック動きベクトルおよび処理されるべきブロックのサブブロッ
クの第2の方向サブブロック動きベクトルを別々に取得し、または、処理されるべきブロ
ックが位置するコーディング領域の予測タイプがPタイプ予測であるとき、単方向予測が
、処理されるべきブロックのサブブロックのために使用されると決定し、第1のあらかじ
め設定された動きベクトルに基づいて、処理されるべきブロックのサブブロックの第1の
方向サブブロック動きベクトルを取得するように構成される。
【0350】
ある実現可能な実装形態では、動きベクトル取得モジュール1302は特に、処理されるべ
きブロックのサブブロックの動きベクトルを取得するために、第2の時間距離差分に対す
る第1の時間距離差分の比に基づいて、あらかじめ設定されたイントラブロック位置に対
応する動きベクトルに対してスケーリング処理を実行するように構成され、第1の時間距
離差分は、処理されるべきブロックが位置する画像フレームと処理されるべきブロックの
参照フレームとの間のピクチャ順序カウント差分であり、第2の時間距離差分は、同一位
置のサブブロックが位置する画像フレームと同一位置のサブブロックの参照フレームとの
間のピクチャ順序カウント差分である。
【0351】
ある実現可能な実装形態では、処理されるべきブロックの参照フレームリストの中の処
理されるべきブロックの参照フレームのインデックスは、ビットストリームを解析するこ
とによって取得される。
【0352】
ある実現可能な実装形態では、処理されるべきブロックの参照フレームリストの中の処
理されるべきブロックの参照フレームのインデックスは0である。
【0353】
ある実現可能な実装形態では、装置はさらに、処理されるべきブロックのサブブロック
の予測値を取得するために、処理されるべきブロックのサブブロックの動きベクトルおよ
び処理されるべきブロックの参照フレームに基づいて、処理されるべきブロックのサブブ
ロックに対する動き補償を実行するように構成される、動き補償モジュール1304を含む。
【0354】
図13に示される本出願のこの実施形態におけるモジュールは、図12に示される方法およ
び実現可能な実装形態を実行するように構成され、同じ技術的な効果を有することを理解
されたい。
【0355】
以下では、例を使用することによって、本出願の実施形態に関するいくつかの実装形態
を説明する。
【0356】
実施形態A
ステップ1: オフセット動きベクトル(offset motion vector)を決定する。
【0357】
オフセット動きベクトル(offset motion vector)は、同一位置のピクチャ(collocated
picture)における現在のCUの同一位置のブロックの位置を決定するために使用される。現
在のCUの空間近傍ブロックの動きベクトルは、オフセット動きベクトルとして使用され得
る。同一位置のピクチャにおける現在のCUの位置は、オフセット動きベクトルおよび現在
のフレームの同一位置のピクチャに基づいて決定される。この位置におけるブロックは、
同一位置のブロック(対応する/同一位置のブロック)と呼ばれる。オフセット動きベクト
ルは、次の方法のうちの1つを使用することによって取得され得る。
【0358】
方法1: ある実装形態において、図6に示されるように、A1が利用可能である場合、オ
フセット動きベクトルは、以下の方法に従って決定される。
【0359】
A1が利用不可能である場合、オフセット動きベクトルの値は0である。A1が利用不可能
であることは、位置A1におけるブロックが復号されない場合、ブロックがインター予測ブ
ロックではない(イントラ予測ブロックまたはイントラブロックコピー(Intra block copy
、IBC)ブロック)であること、または、ブロックが現在のスライス(slice)、タイル、タイ
ルグループ(tile group)、もしくはピクチャの外側に位置する場合、ブロックが利用不可
能なブロックであると考えられることを意味する。
【0360】
すべての以下の条件が満たされる場合、現在のブロックのオフセット動きベクトルは、
A1のリスト1に対応する動きベクトルである。
【0361】
リスト1が、予測のためにA1に使用される。
【0362】
予測のために使用されるA1のリスト1の中の参照フレームが、現在のフレームの同一位
置のピクチャ(collocated picture)と同じである。(POCが同じであるかどうかが決定され
、参照フレームのインデックスおよび同一位置のピクチャのインデックスが同じPOCに対
応し、現在のブロックの同一位置のピクチャのインデックスがビットストリームから取得
され得る。)
【0363】
低レイテンシコーディング構造が使用され、具体的には、現在のピクチャの前に表示さ
れるピクチャのみが予測に使用される。
【0364】
現在のブロックが位置するピクチャ、タイル、またはタイルグループのタイプは、Bタ
イプである。
【0365】
collocated_from_l0_flagは0である。1に等しいcollocated_from_l0_flagは、時間動き
ベクトル予測のための同一位置のピクチャが、参照ピクチャキューリスト0から取得され
ることを指定する。0に等しいcollocated_from_l0_flagは、時間動きベクトル予測のため
の同一位置のピクチャが、参照ピクチャキューリスト1から取得されることを指定する。c
ollocated_from_l0_flagがビットストリームに存在しないとき、collocated_from_l0_fla
gの値は1である。
【0366】
そうではなく、すべての以下の条件が満たされる場合、オフセット動きベクトルは、A1
のリスト0に対応する動きベクトルである。
【0367】
リスト0が、予測のためにA1に使用される。
【0368】
予測のために使用されるA1のリスト0の中の参照フレームが、現在のフレームの同一位
置のピクチャと同じである。
【0369】
方法2: たとえば、図6のA1、B1、B0、およびA0のシーケンスにおいて、第1の利用可能
な近傍ブロックの動きベクトルが見つけられる。動きベクトルが同一位置のピクチャを指
し示す場合、動きベクトルは現在のCUのオフセット動きベクトルとして使用される。それ
以外の場合、ゼロ動きベクトルが使用されてもよく、または、ゼロ動きベクトルが同一位
置のピクチャを指し示し、スケーリングされた動きベクトルが現在のCUのオフセット動き
ベクトルとして使用されるように、第1の利用可能な近傍ブロックの動きベクトルがスケ
ーリングされる。
【0370】
使用されるオフセットベクトルは代替として、ゼロオフセットベクトルであってもよい
ことを理解されたい。この場合、処理されるべきブロックと同じ位置にある同一位置のピ
クチャの中のピクチャブロックは、同一位置のピクチャの中の処理されるべきブロックの
同一位置のブロックである。加えて、要件を満たす目標オフセットベクトルを見つけるこ
とができないとき、ATMVP技術は使用されないことがあるが、処理されるべきサブブロッ
クの動きベクトルを取得するために、別の技術が使用される。
【0371】
ステップ2: ATMVPモードにある利用可能性情報およびデフォルト動き情報を取得する
【0372】
同一位置のブロックがまず、オフセットベクトルに基づいて取得されてもよく、同一位
置のブロックの中のあらかじめ設定された位置が位置する、同一位置のサブブロックSの
予測モードが取得される。同一位置のブロックのあらかじめ設定された位置の座標(xcol,
ycol)は、式(6)に従って取得され得る。ATMVPモードにおけるデフォルト動き情報および
利用可能性は、同一位置のサブブロックSの予測モードおよび動き情報に基づいて取得さ
れる。具体的な方法は次の通りである。
【0373】
具体的には、あらかじめ設定された位置に対応するサブブロックの予測モードを取得す
るために、まず、あらかじめ設定された位置の座標が同一位置のブロックにおいて決定さ
れ、ATMVPが現在利用可能であるかどうかが、あらかじめ設定された位置に対応するサブ
ブロックSの予測モードに基づいて決定される。
【0374】
【数6】
【0375】
(x,y)は現在のCUの左上の角の座標を表し、(xoff,yoff)はオフセット動きベクトルを表
し、Wは現在のCUの幅を表し、Hは現在のCUの高さを表す。
【0376】
あらかじめ設定された位置が位置する同一位置のサブブロックSの予測モードがイント
ラ予測モードまたはイントラブロックコピーモードである場合、ATMVPモードにおける動
き情報は利用不可能である。
【0377】
あらかじめ設定された位置が位置する同一位置のサブブロックSの予測モードがインタ
ー予測モードである場合、同一位置のサブブロックSの動き情報がさらに抽出され、あら
かじめ設定された位置の座標は、式(6)に従って取得される。さらに、同一位置のピクチ
ャの動きベクトルフィールドの中の位置の動き情報が、同一位置のサブブロックSの動き
情報として使用され、同一位置のサブブロックSの動き情報は、同一位置のサブブロック
のデフォルト動き情報と呼ばれる。
【0378】
処理されるべきサブブロックのデフォルト動きベクトル(MV)を取得するために、同一位
置のサブブロックSのデフォルト動きベクトルMVがスケーリングされ、スケーリングされ
た動きベクトル(MV)がデフォルト動き情報として使用される。
【0379】
たとえば、図10に示されるように、スケーリングされたMVは、式(7)の方法を使用する
ことによって取得され得る。スケーリング方法は、本明細書では特に限定されない。
【0380】
【数7】
【0381】
現在のブロックが位置するフレームのPOCがCurPocであり、現在のブロックの参照フレ
ームのPOCがCurRefPocであり、同一位置のピクチャのPOCがColPocであり、同一位置のサ
ブブロックの参照フレームのPOCがColRefPocであり、スケーリングされるべき動きベクト
ルがMVであると仮定される。
【0382】
任意選択で、MVが水平方向の動きベクトルMVxおよび垂直方向の動きベクトルMVyへと分
解され、水平方向の動きベクトルMVsxおよび垂直方向の動きベクトルMVsyは、前述の式に
従った計算を通じて別々に取得される。
【0383】
(あらかじめ設定された位置は、1つのサブブロックSのみに対応し、同一位置のサブブ
ロックSを選択することは、同一位置のサブブロックSの予測モードに基づいて、ATMVPが
利用可能であるかどうかを決定することであることを理解されたい。)
【0384】
ステップ3: 同一位置のサブブロックの動き情報に基づいて、処理されるべきサブブロ
ックの動き情報を決定する。
【0385】
図11に示されるように、現在のCUの中の各サブブロックに対して、同一位置のピクチャ
の中のサブブロックの同一位置のサブブロックが、オフセット動きベクトルおよびサブブ
ロックの位置座標に基づいて決定され、同一位置のサブブロックの動き情報が取得される
【0386】
同一位置のサブブロックの中心点の位置座標は、式(8)に従って取得される。(x,y)は現
在のCUの左上の角の座標を表し、iは左から右に向かってi番目のサブブロックを表し、j
は上から下に向かってj番目のサブブロックを表し、(xoff,yoff)はオフセット動きベクト
ルを表し、M×Nはサブブロックのサイズ(たとえば、4×4または8×8)を表し、(x(i,j),y(
i,j))は対応する(i,j)番目のサブブロックの位置座標を表す。
【0387】
【数8】
【0388】
同一位置のサブブロックの予測モードは、同一位置のサブブロックの中心点の位置座標
に基づいて取得される。同一位置のサブブロックの予測モードがインター予測モードであ
る場合、同一位置のサブブロックの動き情報が利用可能である。この場合、同一位置のピ
クチャの動きベクトルフィールドの中の位置の動き情報が、同一位置のサブブロックの動
き情報として使用される。処理されるべきサブブロックの動き情報を取得するために、同
一位置のサブブロックの動き情報がスケーリングされる。スケーリング方法はステップ2
の方法と同じであり、詳細はここでは再び説明されない。
【0389】
同一位置のサブブロックの予測モードがイントラ予測モードまたはイントラブロックコ
ピーモードである場合、同一位置のサブブロックの動き情報は利用不可能である。この場
合、ステップ2において取得されるデフォルト動き情報が、同一位置のサブブロックの動
き情報として使用され得る。
【0390】
ステップ4: 現在のCUの予測されるピクセル値を取得するために、各サブブロックの動
き情報に基づいて動き補償予測を実行する。
【0391】
参照フレームの中の対応する座標点を見つけるために、サブブロックの動き情報に基づ
いて、各サブブロックの左上の角におけるピクセルの座標に動きベクトルが加算される。
動きベクトルが分数サンプルの正確さである場合、サブブロックの予測されるピクセル値
を取得するために、補間フィルタリングが実行される必要がある。それ以外の場合、参照
フレームの中のピクセル値が直接取得され、サブブロックの予測されるピクセル値として
使用される。
【0392】
ATMVPモードにある利用可能性情報を決定するために、オフセット動きベクトルが導入
される必要がある。これは、オフセット動きベクトル探索プロセスに依存する。加えて、
同一位置のサブブロックの動き情報が利用不可能であるとき、デフォルトの動き情報が計
算される必要がある。これはコーディング速度に影響を及ぼす。
【0393】
実施形態B
ステップ1: オフセット動きベクトル(offset motion vector)を決定する。
【0394】
オフセット動きベクトル(offset motion vector)は、同一位置のピクチャにおける現在
のCUの同一位置のブロックの位置を決定するために使用される。現在のCUの空間近傍ブロ
ックの動きベクトルは、オフセット動きベクトルとして使用され得る。空間近傍ブロック
の参照フレームが、現在のCUの同一位置のピクチャ(collocated picture)として使用され
る。同一位置のピクチャブロックにおける現在のCUの位置は、オフセット動きベクトルお
よび同一位置のピクチャブロックに基づいて決定される。この位置におけるブロックは、
同一位置のブロック(対応する/同一位置のブロック)と呼ばれる。
【0395】
具体的な方法は、実施形態Aのステップ1と同じである。
【0396】
ステップ2: 同一位置のサブブロックの動き情報を取得する。
【0397】
図11に示されるように、同一位置のブロックがまず、オフセットベクトルに基づいて取
得され、次いで、処理されるべきサブブロックとのある相対的な位置関係を有する同一位
置のサブブロックが、処理されるべきサブブロックの位置に基づいて目標ピクチャにおい
て決定される(処理されるべきサブブロックとのある相対的な位置関係を有する同一位置
のサブブロックが、同一位置のブロックにおいて決定されることとしても理解され得る)
【0398】
現在のCUの中の各サブブロックに対して、同一位置のピクチャの中のサブブロックの同
一位置のサブブロックが、オフセット動きベクトルおよびサブブロックの位置座標に基づ
いて決定され、同一位置のサブブロックの動き情報が取得される。
【0399】
同一位置のサブブロックの中心点の位置座標は、式(9)に従って取得される。(x,y)は現
在のCUの左上の角の座標を表し、iは左から右に向かってi番目のサブブロックを表し、j
は上から下に向かってj番目のサブブロックを表し、(xoff,yoff)はオフセット動きベクト
ルを表し、M×Nはサブブロックのサイズ(たとえば、4×4または8×8)を表し、(x(i,j),y(
i,j))は対応する(i,j)番目のサブブロックの位置座標を表す。
【0400】
【数9】
【0401】
同一位置のサブブロックの予測モードは、同一位置のサブブロックの中心点の位置座標
に基づいて取得される。同一位置のサブブロックの予測モードがインター予測モードであ
る場合、同一位置のサブブロックの動き情報が利用可能である。この場合、同一位置のピ
クチャの動きベクトルフィールドの中の位置の動き情報が、同一位置のサブブロックの動
き情報として使用される。同一位置のサブブロックの動き情報に基づいて、現在のサブブ
ロックの動き情報が導出される。同一位置のサブブロックの動きベクトルがスケーリング
され、サブブロックの動きベクトルへと転換される。従来の技術におけるスケーリング方
法が使用されてもよく、詳細はここでは説明されない。
【0402】
同一位置のサブブロックの予測モードがイントラ予測モードまたはイントラブロックコ
ピーモードである場合、同一位置のサブブロックの動き情報は利用不可能である。この場
合、以下の処理方法のうちの1つが使用され得る。
【0403】
方法1: 現在のCUのサブブロックが位置するピクチャ、スライス、またはタイルグルー
プのタイプがBタイプである場合、双方向ゼロ動きベクトルは、同一位置のサブブロック
または処理されるべきサブブロックにおいて満たされ、たとえば、predFlagL0=1、predFl
agL1=1、mvL0=0、およびmvL1=0である。
【0404】
それ以外の場合、単方向リスト0動きベクトルが満たされ、たとえば、predFlagL0=1、p
redFlagL1=0、mvL0=0、およびmvL1=0である。
【0405】
方法2: 単方向リスト0ゼロ動きベクトル情報は、同一位置のサブブロックまたは処理
されるべきサブブロックにおいて満たされ、たとえば、predFlagL0=1、predFlagL1=0、mv
L0=0、およびmvL1=0である。
【0406】
方法3: 単方向リスト1ゼロ動きベクトル情報は、同一位置のサブブロックまたは処理
されるべきサブブロックにおいて満たされ、たとえば、predFlagL0=0、predFlagL1=1、mv
L0=0、およびmvL1=0である。
【0407】
predFlagL0およびpredFlagL1はそれぞれ、リスト0およびリスト1を使用することによっ
て予測を実行するための予測方向を表し、mvL0およびmvL1はそれぞれ、リスト0およびリ
スト1を使用することによって予測を実行するために使用される動きベクトルを表す。mvL
0=0は、mvL0の水平成分と垂直成分の両方が0で満たされることを表し、mvL1=0は、mvL1の
水平成分と垂直成分の両方が0であることを表す。
【0408】
ステップ3: 現在のCUの予測されるピクセル値を取得するために、各サブブロックの動
き情報に基づいて動き補償予測を実行する。
【0409】
参照フレームの中の対応する座標点を見つけるために、サブブロックの動き情報に基づ
いて、各サブブロックの左上の角におけるピクセルの座標に動きベクトルが加算される。
動きベクトルが分数サンプルの正確さである場合、サブブロックの予測されるピクセル値
を取得するために、補間フィルタリングが実行される必要がある。それ以外の場合、参照
フレームの中のピクセル値が直接取得され、サブブロックの予測されるピクセル値として
使用される。
【0410】
文書の改正は次の通りである(改正の基礎として、JVET-N1001-v3を参照されたい。以下
の擬似コードの意味については、この文書を参照し、この文書はウェブサイトhttp://phe
nix.int-evry.fr/jvet/からダウンロードすることができる)。
- availableFlagL0SbColとavailableFlagL1SbColの両方が0に等しいとき、以下のこと
が当てはまる。
mvL0SbCol[xSbIdx][ySbIdx][0]=0 (8-638)
mvL0SbCol[xSbIdx][ySbIdx][1]=0 (8-638)
predFlagL0SbCol[xSbIdx][ySbIdx]=1 (8-639)
mvL1SbCol[xSbIdx][ySbIdx][0]=0 (8-638)
mvL1SbCol[xSbIdx][ySbIdx][1]=0 (8-638)
predFlagL1SbCol[xSbIdx][ySbIdx]=slice_type==B?1:0 (8-639)
mvL0SbCol[xSbIdx][ySbIdx][0]=0 (8-638)
mvL0SbCol[xSbIdx][ySbIdx][1]=0 (8-638)
predFlagL0SbCol[xSbIdx][ySbIdx]=1 (8-639)
mvL1SbCol[xSbIdx][ySbIdx][0]=0 (8-638)
mvL1SbCol[xSbIdx][ySbIdx][1]=0 (8-638)
predFlagL1SbCol[xSbIdx][ySbIdx]=0 (8-639)
【0411】
本出願のこの実施形態によれば、同一位置のサブブロックの動き情報が利用不可能であ
るとき、複雑な開始オフセット動きベクトル計算が必要とされる従来技術の問題、利用可
能性情報を決定するために、あらかじめ設定された動き情報が直接満たされ、ATMVPモー
ドにあるデフォルトの動き情報が解決される。これは、コーディングの複雑さを下げる。
【0412】
実施形態C
この実施形態は、インター予測方法に関し、オフセット動きベクトルを取得するための
方法が最適化される。ステップ2および3は、実施形態Aにおけるものと同じである。具体
的な説明が次のように与えられる。
【0413】
ステップ1: オフセット動きベクトル(offset motion vector)を決定する。
【0414】
オフセット動きベクトル(offset motion vector)は、同一位置のピクチャにおける現在
のCUの同一位置のブロックの位置を決定するために使用される。現在のCUの空間近傍ブロ
ックの動きベクトルは、オフセット動きベクトルとして使用され得る。空間近傍ブロック
の参照フレームが、現在のCUの同一位置のピクチャ(collocated picture)として使用され
る。同一位置のピクチャブロックにおける現在のCUの位置は、オフセット動きベクトルお
よび同一位置のピクチャブロックに基づいて決定される。この位置におけるブロックは、
同一位置のブロック(対応する/同一位置のブロック)と呼ばれる。
【0415】
図10に示されるように、A1が利用可能であり、A1の動きベクトルが指し示す同一位置の
ピクチャがA1の同一位置のピクチャである(すなわち、A1の参照ピクチャがA1の同一位置
のフレームである)場合、A1の動きベクトルは現在のCUのオフセット動きベクトルとして
使用される。オフセット動きベクトルは、次の方法のうちの1つを使用することによって
取得され得る。A1が利用不可能である場合、オフセット動きベクトルの値は0である。A1
が利用不可能であることは、位置A1におけるブロックが復号されない場合、ブロックは、
イントラ予測ブロックまたはイントラブロックコピーブロックであり、または、ブロック
が現在のスライス(slice)、タイル、タイルグループ(tile group)、もしくはピクチャの
外側に位置する場合、ブロックが利用不可能なブロックであると考えられることを意味す
る。
【0416】
方法1: すべての以下のあらかじめ設定された条件が満たされるかどうかが決定される
。すべてのあらかじめ設定された条件が満たされる場合、A1のリスト1に対応する参照フ
レームが現在のフレームの同一位置のピクチャと同じであるかどうかが確認される。A1の
リスト1に対応する参照フレームが現在のフレームの同一位置のピクチャと同じである場
合、リスト1に対応する動きベクトルがオフセット動きベクトルとして使用され、または
、A1のリスト1に対応する参照フレームが現在のフレームの同一位置のピクチャと異なる
場合、リスト0に対応する参照フレームが現在のフレームの同一位置のピクチャと同じで
あるかどうかが確認される。リスト0に対応する参照フレームが現在のフレームの同一位
置のピクチャと同じである場合、リスト0に対応する動きベクトルは、オフセット動きベ
クトルとして使用され、それ以外の場合、オフセット動きベクトルは0である。
【0417】
(1)低レイテンシコーディング構造が使用され、具体的には、現在のピクチャの前に表
示されるピクチャのみが予測に使用される。
【0418】
(2)現在のブロックが位置するピクチャ、タイル、またはタイルグループのタイプは、B
タイプである。
【0419】
(3)collocated_from_l0_flagは0である。1に等しいcollocated_from_l0_flagは、時間
動きベクトル予測のための同一位置のピクチャが、参照ピクチャキューリスト0から取得
されることを指定する。0に等しいcollocated_from_l0_flagは、時間動きベクトル予測の
ための同一位置のピクチャが、参照ピクチャキューリスト1から取得されることを指定す
る。collocated_from_l0_flagがビットストリームに存在しないとき、collocated_from_l
0_flagの値は1である。
【0420】
それ以外の場合(前述のあらかじめ設定された条件が満たされない場合)、A1のリスト0
に対応する参照フレームが現在のフレームの同一位置のピクチャと同じであるかどうかが
まず確認される。A1のリスト0に対応する参照フレームが現在のフレームの同一位置のピ
クチャと同じである場合、リスト0に対応する動きベクトルがオフセット動きベクトルと
して使用され、または、A1のリスト0に対応する参照フレームが現在のフレームの同一位
置のピクチャと異なる場合、リスト1に対応する参照フレームが現在のフレームの同一位
置のピクチャと同じであるかどうかが確認される。リスト1に対応する参照フレームが現
在のフレームの同一位置のピクチャと同じである場合、リスト1に対応する動きベクトル
は、オフセット動きベクトルとして使用され、それ以外の場合、オフセット動きベクトル
は0である。
【0421】
方法2: 両方の以下のあらかじめ設定された条件が満たされるかどうかが決定される。
両方のあらかじめ設定された条件が満たされる場合、A1のリスト1に対応する参照フレー
ムが現在のフレームの同一位置のピクチャと同じであるかどうかが確認される。A1のリス
ト1に対応する参照フレームが現在のフレームの同一位置のピクチャと同じである場合、
リスト1に対応する動きベクトルがオフセット動きベクトルとして使用され、または、A1
のリスト1に対応する参照フレームが現在のフレームの同一位置のピクチャと異なる場合
、リスト0に対応する参照フレームが現在のフレームの同一位置のピクチャと同じである
かどうかが確認される。リスト0に対応する参照フレームが現在のフレームの同一位置の
ピクチャと同じである場合、リスト0に対応する動きベクトルは、オフセット動きベクト
ルとして使用され、それ以外の場合、オフセット動きベクトルは0である。
【0422】
(1)現在のブロックが位置するピクチャ、タイル、またはタイルグループのタイプは、B
タイプである。
【0423】
(2)collocated_from_l0_flagは0である。1に等しいcollocated_from_l0_flagは、時間
動きベクトル予測のための同一位置のピクチャが、参照ピクチャキューリスト0から取得
されることを指定する。0に等しいcollocated_from_l0_flagは、時間動きベクトル予測の
ための同一位置のピクチャが、参照ピクチャキューリスト1から取得されることを指定す
る。collocated_from_l0_flagがビットストリームに存在しないとき、collocated_from_l
0_flagの値は1である。
【0424】
それ以外の場合(前述のあらかじめ設定された条件が満たされない場合)、A1のリスト0
に対応する参照フレームが現在のフレームの同一位置のピクチャと同じであるかどうかが
まず確認される。A1のリスト0に対応する参照フレームが現在のフレームの同一位置のピ
クチャと同じである場合、リスト0に対応する動きベクトルがオフセット動きベクトルと
して使用され、または、A1のリスト0に対応する参照フレームが現在のフレームの同一位
置のピクチャと異なる場合、リスト1に対応する参照フレームが現在のフレームの同一位
置のピクチャと同じであるかどうかが確認される。リスト1に対応する参照フレームが現
在のフレームの同一位置のピクチャと同じである場合、リスト1に対応する動きベクトル
は、オフセット動きベクトルとして使用され、それ以外の場合、オフセット動きベクトル
は0である。
【0425】
方法3: A1のリスト0に対応する参照フレームが現在のフレームの同一位置のピクチャ
と同じであるかどうかがまず確認される。A1のリスト0に対応する参照フレームが現在の
フレームの同一位置のピクチャと同じである場合、A1のリスト0に対応する動きベクトル
がオフセット動きベクトルとして使用される。リスト1に対応する参照フレームが現在の
フレームの同一位置のピクチャと同じであるかどうかが確認される必要はない。A1のリス
ト0に対応する参照フレームが現在のフレームの同一位置のピクチャと異なり、現在のブ
ロックが位置するピクチャ、タイル、またはタイルグループのタイプがBタイプである場
合、リスト1の参照フレームが現在のフレームの同一位置のピクチャと同じであるかどう
かがさらに決定される必要がある。リスト1の参照フレームが現在のフレームの同一位置
のピクチャと同じである場合、A1のリスト1に対応する動きベクトルは、オフセット動き
ベクトルとして使用されることがあり、それ以外の場合、オフセット動きベクトルは0で
ある。
【0426】
方法4: A1のリスト0に対応する参照フレームが現在のフレームの同一位置のピクチャ
と同じであるかどうかが確認される。A1のリスト0に対応する参照フレームが現在のフレ
ームの同一位置のピクチャと同じである場合、A1のリスト0に対応する動きベクトルは、
オフセット動きベクトルとして使用され、それ以外の場合、オフセット動きベクトルは0
である。
【0427】
ピクチャブロックの現在のフレームの同一位置のピクチャのインデックス番号(idx)は
、ビットストリームから取得され得る。
【0428】
使用されるオフセットベクトルは代替として、ゼロオフセットベクトルであってもよい
ことを理解されたい。この場合、処理されるべきブロックと同じ位置にある同一位置のピ
クチャの中のピクチャブロックは、同一位置のピクチャの中の処理されるべきブロックの
同一位置のブロックである。加えて、要件を満たす目標オフセットベクトルを見つけるこ
とができないとき、ATMVP技術は使用されないことがあるが、処理されるべきサブブロッ
クの動きベクトルを取得するために、別の技術が使用される。
【0429】
文書の改正は次の通りである。
【0430】
方法1:
【0431】
availableFlagA1がTRUEであるとき、以下のことが当てはまる。
- 以下の条件のすべてが真である場合、checkL1Firstが1に等しく設定される:
- DiffPicOrderCnt(aPic,currPic)が、現在のスライスの1つ1つの参照ピクチャの中
の1つ1つのピクチャaPicに対して0以下である、
- slice_typeがBに等しい、
- collocated_from_l0_flagが0に等しい。
- KがcheckL1Firstに等しく設定され、以下の条件のすべてが真である場合、tempMVが
mvLKA1に等しく設定される:
- predFlagLKA1が1に等しい、
- DiffPicOrderCnt(ColPic,RefPicList[K][refIdxLKA1])が0に等しい。
- そうではなく、Kが(1-checkL1First)に等しく設定され、以下の条件のすべてが真で
ある場合、tempMVがmvLKA1に等しく設定される:
- predFlagLKA1が1に等しい、
- DiffPicOrderCnt(ColPic,RefPicList[K][refIdxLKA1])が0に等しい。
【0432】
方法2:
【0433】
availableFlagA1がTRUEであるとき、以下のことが当てはまる。
- 以下の条件のすべてが真である場合、checkL1Firstが1に等しく設定される:
- slice_typeがBに等しい、
- collocated_from_l0_flagが0に等しい。
- KがcheckL1Firstに等しく設定され、以下の条件のすべてが真である場合、tempMVが
mvLKA1に等しく設定される:
- predFlagLKA1が1に等しい、
- DiffPicOrderCnt(ColPic,RefPicList[K][refIdxLKA1])が0に等しい。
- そうではなく、Kが(1-checkL1First)に等しく設定され、以下の条件のすべてが真で
ある場合、tempMVがmvLKA1に等しく設定される:
- predFlagLKA1が1に等しい、
- DiffPicOrderCnt(ColPic,RefPicList[K][refIdxLKA1])が0に等しい。
【0434】
方法3:
【0435】
availableFlagA1がTRUEであるとき、以下のことが当てはまる。
- 以下の条件のすべてが真である場合、tempMVがmvL0A1に等しく設定される:
- predFlagL0A1が1に等しい、
- DiffPicOrderCnt(ColPic,RefPicList[0][refIdxL0A1])が0に等しい。
- そうではなく、以下の条件のすべてが真である場合、tempMVがmvL1A1に等しく設定
される:
- slice_typeがBに等しい、
- predFlagL1A1が1に等しい、
- DiffPicOrderCnt(ColPic,RefPicList[1][refIdxL1A1])が0に等しい。
【0436】
方法4:
【0437】
availableFlagA1がTRUEであるとき、以下のことが当てはまる。
- 以下の条件のすべてが真である場合、tempMVがmvL0A1に等しく設定される:
- predFlagL0A1が1に等しい、
- DiffPicOrderCnt(ColPic,RefPicList[0][refIdxL0A1])が0に等しい。
【0438】
本出願の実施形態は、コーディングの複雑さを下げてコーディング効率を高めるために
、新しいオフセット動きベクトル計算方法を提供する。
【0439】
本明細書において開示され説明される様々な例示的な論理ブロック、モジュール、およ
びアルゴリズムステップを参照して説明された機能は、ハードウェア、ソフトウェア、フ
ァームウェア、またはこれらの任意の組合せを使用することによって実装され得ることを
、当業者は理解することができる。ソフトウェアが実装のために使用される場合、例示的
な論理ブロック、モジュール、およびステップを参照して説明される機能は、1つまたは
複数の命令またはコードとしてコンピュータ可読媒体に記憶され、もしくはそれを介して
送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読
媒体は、コンピュータ可読記憶媒体を含み得る。コンピュータ可読記憶媒体は、データ記
憶媒体などの有形媒体に対応し、または、ある場所から別の場所へのコンピュータプログ
ラムの転送(たとえば、通信プロトコルに従った)を容易にする任意の媒体を含む通信媒体
に対応する。このようにして、コンピュータ可読媒体は一般に、(1)非一時的有形コンピ
ュータ可読記憶媒体、または(2)信号もしくはキャリアなどの通信媒体に対応し得る。デ
ータ記憶媒体は、本出願において説明される技術を実装するための命令、コード、および
/またはデータ構造を取り出すために、1つまたは複数のコンピュータまたは1つまたは複
数のプロセッサによってアクセスされ得る任意の使用可能な媒体であり得る。コンピュー
タプログラム製品は、コンピュータ可読媒体を含み得る。
【0440】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、
CD-ROMもしくは別の光学ディスクストレージ装置、磁気ディスクストレージ装置もしくは
別の磁気ストレージ装置、フラッシュメモリ、または、命令もしくはデータ構造の形で所
望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ
得る任意の他の媒体を含み得る。加えて、あらゆる接続がコンピュータ可読媒体と適切に
呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または別のリモートソースから、
同軸ケーブル、光ファイバ、ツイストペア、デジタル加入者線(DSL)、または、赤外線、
無線、およびマイクロ波などのワイヤレス技術を通じて送信される場合、同軸ケーブル、
光ファイバ、ツイストペア、DSL、または、赤外線、無線、およびマイクロ波などのワイ
ヤレス技術が、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体および
データ記憶媒体は、接続、キャリア、信号、または他の一時的媒体を含まず、実際は、非
一時的有形記憶媒体を意味することを理解されたい。本明細書において使用されるディス
ク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商
標)、光学ディスク、デジタル多用途ディスク(DVD)、およびBlu-ray(登録商標)ディスク
を含む。ディスク(disk)は通常は磁気的にデータを再生し、一方、ディスク(disc)はレー
ザーを用いて光学的にデータを再生する。前述の項目の組合せも、コンピュータ可読媒体
の範囲に含まれるべきである。
【0441】
命令は、1つまたは複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ
、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または
他の等価な集積回路もしくはディスクリート論理回路などの、1つまたは複数のプロセッ
サによって実行され得る。したがって、本明細書において使用される「プロセッサ」とい
う用語は、前述の構造、または本明細書において説明される技術を実装するのに適切な任
意の他の構造を指し得る。加えて、いくつかの態様では、本明細書において説明される例
示的な論理ブロック、モジュール、およびステップを参照して説明される機能は、符号化
および復号のために構成される専用ハードウェアならびに/もしくはソフトウェアモジュ
ール内で提供されてもよく、または合成コーデックへと組み込まれてもよい。加えて、技
術はすべて、1つまたは複数の回路または論理要素において実装され得る。
【0442】
本出願における技術は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(
たとえば、チップセット)を含む、様々な装置またはデバイスにおいて実装され得る。開
示される技術を実行するように構成される装置の機能的な態様を強調するために、様々な
コンポーネント、モジュール、またはユニットが本出願において説明されるが、異なるハ
ードウェアユニットを使用することによって実装されるとは限らない。実際には、上で説
明されたように、様々なユニットが、適切なソフトウェアおよび/もしくはファームウェ
アとの組合せでコーデックハードウェアユニットへと組み合わせられてもよく、または、
相互運用可能なハードウェアユニット(上で説明された1つまたは複数のプロセッサを含む
)によって提供されてもよい。
【0443】
前述の実施形態では、実施形態の説明にはそれぞれの注目点がある。実施形態において
詳しく説明されない部分については、他の実施形態における関連する説明を参照されたい
【0444】
前述の説明は、本出願の特定の例示的な実装形態にすぎず、本出願の保護範囲を制限す
ることは意図されていない。本出願において開示される技術範囲内で当業者により容易に
理解されるあらゆる変形または置換が、本出願の保護範囲内に入るものとする。したがっ
て、本出願の保護範囲は、請求項の保護範囲に左右されるものとする。
【符号の説明】
【0445】
12 ソースデバイス
13 リンク
14 デスティネーションデバイス
16 ピクチャソース
17 生のピクチャデータ
18 ピクチャプリプロセッサ
19 前処理されたピクチャデータ
20 エンコーダ
21 符号化されたピクチャデータ
22 通信インターフェース
28 通信インターフェース
30 デコーダ
31 復号されたピクチャデータ
32 ピクチャポストプロセッサ
33 後処理されたピクチャデータ
34 ディスプレイデバイス
40 ビデオコーディングシステム
41 イメージングデバイス
42 アンテナ
43 プロセッサ
44 メモリ
45 ディスプレイデバイス
46 処理ユニット
47 論理回路
110 逆量子化ユニット
201 ピクチャ
202 入力
203 ピクチャブロック
204 残差計算ユニット
205 残差ブロック
206 変換処理ユニット
207 変換係数
208 量子化ユニット
209 量子化された係数
210 逆量子化ユニット
211 量子化解除された係数
212 逆変換処理ユニット
213 再構築された残差ブロック
214 再構築ユニット
215 再構築されたブロック
216 バッファ
217 参照サンプル
220 ループフィルタ
221 フィルタリングされたブロック
230 復号ピクチャバッファ
231 復号されたピクチャ
244 インター予測ユニット
245 インター予測ブロック
254 イントラ予測ユニット
255 イントラ予測ブロック
260 予測処理ユニット
262 モード選択ユニット
265 予測ブロック
270 エントロピー符号化ユニット
272 出力
304 エントロピー復号ユニット
309 量子化された係数
310 逆量子化ユニット
311 量子化解除された係数
312 逆変換処理ユニット
313 再構築された残差ブロック
314 再構築ユニット
315 再構築されたブロック
316 バッファ
317 参照サンプル
320 ループフィルタ
321 フィルタリングされたブロック
330 復号ピクチャバッファDPB
331 復号されたピクチャ
332 出力
344 インター予測ユニット
354 イントラ予測ユニット
360 予測処理ユニット
362 モード選択ユニット
365 予測ブロック
400 ビデオコーディングデバイス
410 入口ポート
420 受信機ユニット
430 プロセッサ
440 送信機ユニット
450 出口ポート
460 メモリ
470 符号化/復号モジュール
500 コーディングデバイス
510 プロセッサ
530 メモリ
531 データ
533 オペレーティングシステム
535 アプリケーションプログラム
550 バスシステム
570 ディスプレイ
1300 インター予測装置
1301 オフセット取得モジュール
1302 動きベクトル取得モジュール
1303 決定モジュール
1304 動き補償モジュール
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13