JP2023134524A - 動き情報候補リストを構築するための方法、インター予測方法、および装置 - Google Patents

動き情報候補リストを構築するための方法、インター予測方法、および装置 Download PDF

Info

Publication number
JP2023134524A
JP2023134524A JP2023105346A JP2023105346A JP2023134524A JP 2023134524 A JP2023134524 A JP 2023134524A JP 2023105346 A JP2023105346 A JP 2023105346A JP 2023105346 A JP2023105346 A JP 2023105346A JP 2023134524 A JP2023134524 A JP 2023134524A
Authority
JP
Japan
Prior art keywords
motion information
information candidate
image block
candidate list
current image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023105346A
Other languages
English (en)
Inventor
▲煥▼浜 ▲陳▼
Huanbang Chen
▲ティン▼ 符
Ting Fu
▲海▼涛 ▲楊▼
Haitao Yang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN201810990444.2A external-priority patent/CN110868601B/zh
Priority claimed from CN201810997139.6A external-priority patent/CN110876065A/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2023134524A publication Critical patent/JP2023134524A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】動き情報候補リストを構築するための方法、予測方法および装置を提供する。【解決手段】構築方法は、動き情報候補リストの中の動き情報候補セットの量が第1の予め設定された値に等しくなるまで、またはすべての近隣の画像ブロックが走査されるまで、現在の画像ブロックのすべての近隣の画像ブロックに対して第1の処理プロセスを実行するステップと、少なくとも2つの追加の選択対象動き情報セットを走査して、動き情報候補リストに、予め設定された条件を満たす追加の選択対象動き情報セットを格納するステップと、追加の選択対象動き情報セットが走査された後で、動き情報候補リストの中の動き情報候補セットの量が予め設定された量の値よりも少ない場合、動き情報候補リストの中の動き情報候補セットの量が予め設定された量の値に等しくなるまで、第1の予め設定された動き情報候補セットで動き情報候補リストを満たすステップとを含む。【選択図】図6

Description

本出願は、2018年8月28日に中国国家知識産権局に出願された、「INTER PREDICTION METHOD AND APPARATUS, VIDEO ENCODER, AND VIDEO DECODER」という表題の中国特許出願第201810990444.2号の優先権、および、2018年8月29日に中国国家知識産権局に出願された、「METHOD FOR CONSTRUCTING CANDIDATE MOTION INFORMATION LIST, INTER PREDICTION METHOD, AND APPARATUS」という表題の中国特許出願第201810997139.6号の優先権を主張し、これらは全体が参照によって本明細書に組み込まれる。
本出願の実施形態は、ビデオ画像コーディング技術の分野に関し、具体的には、動き情報候補リストを構築するための方法、インター予測方法、および装置に関する。
非並進運動モデル予測モードでは、エンコーダ/デコーダ側が、現在の画像ブロックの制御点の動き情報に基づいて、同じ動きモデルを使用することによって現在の画像ブロックのすべてのサブブロックの動き情報を導出し、すべてのサブブロックの動き情報に基づいて動き補償を実行して予測画像ブロックを取得する。一般に、この方式で予測される画像ブロックは、アフィンコーディングブロックと呼ばれる。
普通は、エンコーダ/デコーダ側は、アフィン高度動きベクトル予測モード(Affine AMVP mode)またはアフィンマージモード(Affine Merge mode)を使用することによって、アフィンコーディングブロックの制御点の動き情報を取得し得る。具体的には、エンコーダ/デコーダ側は、動き情報候補リストを構築し、リストの中の動き情報候補に基づいて制御点の動き情報を決定する。動き情報候補リストを構築するプロセスにおいて、新しい動き情報候補セットを動き情報候補リストに毎回追加する前に、エンコーダ/デコーダ側が、同じ動き情報セットが動き情報候補リストにすでに存在するかどうかをまず確認する。同じ動き情報セットが動き情報候補リストに存在する場合、エンコーダ/デコーダ側は新しい動き情報候補セットをリストに追加しない。
このプロセスは動き情報候補リストのプルーニングと呼ばれる。動き情報候補リストのプルーニングは、動き情報候補リストの中に同じ動き情報があることを防ぎ、冗長なレート歪みコスト計算を避けることができる。しかしながら、このプロセスの計算の複雑さも比較的高く、遅延が比較的長い。
本出願の実施形態は、計算の複雑さが比較的高く遅延が比較的長いという問題を解決するための、動き情報候補リストを構築するための方法、インター予測方法、および装置を提供する。
前述の目的を達成するために、次の技術的な解決法が本出願の実施形態において使用される。
第1の態様によれば、動き情報候補リストを構築するための方法が提供される。動き情報候補リストを構築するための装置(以下では構築装置と呼ばれる)は、動き情報候補リストの中の動き情報候補セットの量が第1のあらかじめ設定された値に等しくなるまで、またはすべての近隣の画像ブロックが走査されるまで、第1のあらかじめ設定された順序で現在の画像ブロックのすべての近隣の画像ブロックに対して第1の処理プロセスを逐次実行する。動き情報候補リストの中の動き情報候補セットの量が第1のあらかじめ設定された値に等しくなった後、またはすべての近隣の画像ブロックが走査された後、構築装置は、第2のあらかじめ設定された順序で、少なくとも2つの追加の選択対象動き情報セットを逐次走査し、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、またはすべての追加の選択対象動き情報セットが走査されるまで、動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納する。本明細書では、あらかじめ設定された量の値は第1のあらかじめ設定された値よりも大きく、追加の選択対象動き情報セットは、現在の画像ブロックの少なくとも2つの制御点の追加の選択対象動き情報セットを含み、制御点の追加の選択対象動き情報は、現在の画像ブロックに隣接するインターコーディングされた画像ブロックの動き情報である。すべての追加の選択対象動き情報セットが走査された後で、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも少ない場合、構築装置は、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、第1のあらかじめ設定された動き情報候補セットで動き情報候補リストを満たす。具体的には、第1の処理プロセスは次の通りである。i番目(i∈[1,n])の近隣の画像ブロックについて、i番目の近隣の画像ブロックがアフィンコーディングブロックであるとき、構築装置は、i番目の近隣の画像ブロックおよび動き情報候補リストに格納された動き情報候補セットが同じコーディングユニットに由来するかどうかを決定する。i番目の近隣の画像ブロックが属するコーディングユニットからの動き情報候補セットが動き情報候補リストに存在しない場合、構築装置は、i番目の近隣の画像ブロックのx個の制御点の動き情報に基づいて、現在の画像ブロックのx個の制御点の動き情報候補を決定し、動き情報候補リストに、現在の画像ブロックのx個の制御点の動き情報候補を含む動き情報候補セットを格納し、nは現在の画像ブロックの近隣の画像ブロックの量であり、xとnの両方が2以上の整数である。
第1の処理プロセスにおいて、i番目の近隣の画像ブロックがアフィンコーディングブロックであるとき、構築装置は、i番目の近隣の画像ブロックおよび動き情報候補リストに格納された動き情報候補セットが同じコーディングユニットに由来するかどうかを決定し、決定の結果に基づいて、新しい動き情報候補セットを動き情報候補リストに追加するかどうかを決定するだけでよく、新しい動き情報候補セットを計算し、次いで同じ動き情報が動き情報候補リストに存在するかどうかを決定する必要はないことがわかり得る。これは、計算の複雑さと遅延を実質的に低減する。
任意選択で、本出願の考えられる実装形態では、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、または、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中の少なくとも2つの制御点の追加の選択対象動きベクトルが異なる。
構築装置は、追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスおよび追加の選択対象動きベクトルを決定するだけであり、決定の結果に基づいて、動きベクトルスケーリングを実行することなく、動き情報候補リストに追加の選択対象動き情報セットを格納するかどうかを決定する。これは、計算の複雑さを低減する。
任意選択で、本出願の別の考えられる実装形態では、i番目の近隣の画像ブロックおよび動き情報候補リストに格納された動き情報候補セットが同じコーディングユニットに由来するかどうかを決定するために、構築装置によって使用される方法は次の通りである。構築装置が、i番目の近隣の画像ブロックが属するコーディングユニットの左上の角の情報が標的コーディングユニットの左上の角の情報と同じであるかどうかを決定し、本明細書の標的コーディングユニットは、動き情報候補リストに格納された動き情報候補セットを計算するために使用される近隣の画像ブロックが属するコーディングユニットである。
画像ブロック予測プロセスにおいて、コーディングユニットのサイズは固定される。構築装置は、コーディングユニットの左上の角の情報に基づいて、i番目の近隣の画像ブロックおよび動き情報候補リストに格納された動き情報候補セットが同じコーディングユニットに由来するかどうかを直接決定し得る。この決定プロセスは簡単であり効率的である。
任意選択で、本出願の別の考えられる実装形態では、追加の選択対象動き情報セットは、第1の制御点の追加の選択対象動き情報および第2の制御点の追加の選択対象動き情報を少なくとも含み、第1の制御点および第2の制御点は現在の画像ブロックの近隣の制御点である。
第2の態様によれば、動き情報候補リストを構築するための方法が提供される。構築装置は、動き情報候補リストの中の動き情報候補セットの量が第1のあらかじめ設定された値に等しくなるまで、またはすべての近隣の画像ブロックが走査されるまで、第1のあらかじめ設定された順序で現在の画像ブロックのすべての近隣の画像ブロックに対して第1の処理プロセスを逐次実行する。加えて、構築装置はさらに、第2のあらかじめ設定された順序で少なくとも2つの追加の選択対象動き情報セットを逐次走査し、第2の動き情報候補リストの中の動き情報候補セットの量が第2のあらかじめ設定された値に等しくなるまで、またはすべての追加の選択対象動き情報セットが走査されるまで、第2の動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納する。追加の選択対象動き情報セットは、現在の画像ブロックの少なくとも2つの制御点の追加の選択対象動き情報を含み、制御点の追加の選択対象動き情報は、現在の画像ブロックに隣接するインターコーディングされた画像ブロックの動き情報である。すべての追加の選択対象動き情報セットが走査された後で、第2の動き情報候補リストの中の動き情報候補セットの量が第2のあらかじめ設定された値よりも少ない場合、構築装置は、第2の動き情報候補リストの中の動き情報候補セットの量が第2のあらかじめ設定された値に等しくなるまで、第2のあらかじめ設定された動き情報候補セットで第2の動き情報候補リストを満たす。次いで、構築装置は、あらかじめ設定された規則に従って第1の動き情報候補リストおよび第2の動き情報候補リストを併合し、第3の動き情報候補リストを取得する。第3の動き情報候補リストの中の動き情報候補セットの量は、あらかじめ設定された量の値に等しく、第1のあらかじめ設定された値と第2のあらかじめ設定された値の合計は、あらかじめ設定された量の値以上である。
具体的には、第1の処理プロセスは次の通りである。i番目(i∈[1,n])の近隣の画像ブロックについて、i番目の近隣の画像ブロックがアフィンコーディングブロックであるとき、構築装置は、i番目の近隣の画像ブロックおよび動き情報候補リストに格納された動き情報候補セットが同じコーディングユニットに由来するかどうかを決定する。i番目の近隣の画像ブロックが属するコーディングユニットからの動き情報候補セットが動き情報候補リストに存在しない場合、構築装置は、i番目の近隣の画像ブロックのx個の制御点の動き情報に基づいて、現在の画像ブロックのx個の制御点の動き情報候補を決定し、動き情報候補リストに、現在の画像ブロックのx個の制御点の動き情報候補を含む動き情報候補セットを格納し、nは現在の画像ブロックの近隣の画像ブロックの量であり、xとnの両方が2以上の整数である。
あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、または、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中の少なくとも2つの制御点の追加の選択対象動きベクトルが異なる。
第1の処理プロセスと、本出願における追加の選択対象動き情報セットの処理プロセスの両方において、動き情報候補リストに新しい動き情報候補セットを追加するかどうかが、決定の結果に基づいて決定され、新しい動き情報候補セットをまず計算して、次いで同じ動き情報が動き情報候補リストに存在するかどうかを決定する必要はない。これは、計算の複雑さおよび遅延を実質的に減らす。
任意選択で、本出願の別の考えられる実装形態では、追加の選択対象動き情報セットは、第1の制御点の追加の選択対象動き情報および第2の制御点の追加の選択対象動き情報を少なくとも含み、第1の制御点および第2の制御点は、現在の画像ブロックの近隣の制御点である。
任意選択で、本出願の別の考えられる実装形態では、あらかじめ設定された規則に従って第1の動き情報候補リストおよび第2の動き情報候補リストを併合し、第3の動き情報候補リストを取得するために、構築装置によって使用される方法は次の通りである。構築装置は、標的動き情報候補リストを生成するために、第2の動き情報候補リストの中のすべての動き情報候補セットよりも前に第1の動き情報候補リストの中のすべての動き情報候補セットを置き、標的動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも少ない場合、標的動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、第2のあらかじめ設定された動き情報候補セットで標的動き情報候補リストを満たし、第3の動き情報候補リストとして、満たした後に得られる標的動き情報候補リストを使用し、標的動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しい場合、第3の動き情報候補リストとして標的動き情報候補リストを使用し、または、標的動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも多い場合、削除の後に得られる標的動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるように、標的動き情報候補リストから少なくとも1つの動き情報候補を削除し、第3の動き情報候補リストとして、削除の後に得られる標的動き情報候補リストを使用する。
第3の態様によれば、動き情報候補リストを構築するための方法が提供される。構築装置は、少なくとも1つの動き情報候補セットを含む動き情報候補リストを生成するために、第1のあらかじめ設定された順序で現在の画像ブロックのすべての近隣の画像ブロックを走査し、動き情報候補セットは現在の画像ブロックのx個の制御点の動き情報候補を含み、xは2以上の整数である。現在の画像ブロックのすべての近隣の画像ブロックを走査した後で、構築装置は、第2のあらかじめ設定された順序で少なくとも2つの追加の選択対象動き情報セットを逐次走査し、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、またはすべての追加の選択対象動き情報セットが走査されるまで、動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納する。すべての追加の選択対象動き情報セットが走査された後で、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも少ない場合、構築装置は、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、第3のあらかじめ設定された動き情報候補セットで動き情報候補リストを満たす。本明細書では、追加の選択対象動き情報セットは、現在の画像ブロックの少なくとも2つの制御点の追加の選択対象動き情報を含み、制御点の追加の選択対象動き情報は、現在の画像ブロックに隣接するインターコーディングされた画像ブロックの動き情報である。あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、または、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中の少なくとも2つの制御点の追加の選択対象動きベクトルが異なる。
追加の選択対象動き情報セットを処理するとき、構築装置は、参照フレームインデックスおよび追加の選択対象動き情報セットの中のすべての制御点の追加の選択対象動きベクトルを決定するだけであり、決定の結果に基づいて、動き情報候補リストに追加の選択対象動き情報セットを格納するかどうかを決定することがわかり得る。構築装置は、動きベクトルスケーリングを実行する必要も、新しい動き情報候補セットをまず計算して、次いで同じ動き情報が動き情報候補リストに存在するかどうかを決定する必要もない。これは、計算の複雑さおよび遅延を減らす。
任意選択で、本出願の別の考えられる実装形態では、追加の選択対象動き情報セットは、第1の制御点の追加の選択対象動き情報および第2の制御点の追加の選択対象動き情報を少なくとも含み、第1の制御点および第2の制御点は、現在の画像ブロックの近隣の制御点である。
第4の態様によれば、インター予測方法が提供される。インター予測装置が、ビットストリームを取得し構文解析して、第1のインデックス値および動き情報差分を取得し、本明細書の第1のインデックス値は、動き情報候補リストの中の現在の画像ブロックの制御点の動き情報予測子のインデックス値であり、動き情報候補リストは、第1の態様、第2の態様、第3の態様、またはこれらの考えられる実装形態のいずれか1つにおいて説明される構築方法を使用することによって、前述の構築装置によって生成される。次いで、インター予測装置は、第1のインデックス値に基づいて動き情報候補リストから制御点の動き情報予測子を取得し、制御点の動き情報予測子および動き情報差分に基づいて制御点の動き情報を決定する。このやり方では、インター予測装置は、制御点の動き情報に基づいて、現在の画像ブロックの予測ピクセルを決定し得る。
インター予測装置は、第1の態様、第2の態様、第3の態様、またはこれらの考えられる実装形態のいずれか1つにおいて説明される構築方法に従って生成される動き情報候補リストに基づいて、インター予測を実行する。本出願における構築装置が動き情報候補リストを生成するプロセスでは、計算の複雑さおよび遅延が実質的に減る。したがって、インター予測装置は、比較的高速にインター予測を実行する。
第5の態様によれば、インター予測方法が提供される。インター予測装置は、ビットストリームを取得し構文解析して、第2のインデックス値を取得し、第2のインデックス値は、動き情報候補リストの中の現在の画像ブロックの制御点の動き情報のインデックス値であり、動き情報候補リストは、第1の態様、第2の態様、第3の態様、またはこれらの考えられる実装形態のいずれか1つにおいて説明される構築方法を使用することによって、前述の構築装置によって生成される。次いで、インター予測装置は、第2のインデックス値に基づいて動き情報候補リストから制御点の動き情報を取得し、制御点の動き情報に基づいて現在の画像ブロックの予測ピクセルを決定する。
インター予測装置は、第1の態様、第2の態様、第3の態様、またはこれらの考えられる実装形態のいずれか1つにおいて説明される構築方法に従って生成される動き情報候補リストに基づいて、インター予測を実行する。本出願における構築装置が動き情報候補リストを生成するプロセスでは、計算の複雑さおよび遅延が実質的に減る。したがって、インター予測装置は、比較的高速にインター予測を実行する。
第6の態様によれば、動き情報候補リストを構築するための装置が提供される。動き情報候補リストを構築するための装置は、第1の処理ユニット、第2の処理ユニット、充填ユニット、および記憶ユニットを含む。
具体的には、第1の処理ユニットは、動き情報候補リストの中の動き情報候補セットの量が第1のあらかじめ設定された値に等しくなるまで、またはすべての近隣の画像ブロックが走査されるまで、第1のあらかじめ設定された順序で現在の画像ブロックのすべての近隣の画像ブロックに対して第1の処理プロセスを逐次実行するように構成され、動き情報候補リストは記憶ユニットに記憶される。第1の処理プロセスは次の通りである。i番目の近隣の画像ブロックについて、i番目の近隣の画像ブロックがアフィンコーディングブロックであるとき、i番目の近隣の画像ブロックおよび動き情報候補リストに格納された動き情報候補セットが同じコーディングユニットに由来するかどうかを決定し、i番目の近隣の画像ブロックが属するコーディングユニットからの動き情報候補セットが動き情報候補リストに存在しない場合、i番目の近隣の画像ブロックのx個の制御点の動き情報に基づいて、現在の画像ブロックのx個の制御点の動き情報候補を決定し、動き情報候補リストに、現在の画像ブロックのx個の制御点の動き情報候補を含む動き情報候補セットを格納し、i∈[1,n]であり、nは現在の画像ブロックの近隣の画像ブロックの量であり、xおよびnはともに2以上の整数である。第2の処理ユニットは、記憶ユニットに記憶されている動き情報候補リストの中の動き情報候補セットの量が第1のあらかじめ設定された値に等しくなった後、またはすべての近隣の画像ブロックが走査された後、第2のあらかじめ設定された順序で少なくとも2つの追加の選択対象動き情報セットを逐次走査し、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、またはすべての追加の選択対象動き情報セットが走査されるまで、動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納するように構成される。あらかじめ設定された量の値は、第1のあらかじめ設定された値よりも大きく、追加の選択対象動き情報セットは、現在の画像ブロックの少なくとも2つの制御点の追加の選択対象動き情報を含み、制御点の追加の選択対象動き情報は、現在の画像ブロックに隣接するインターコーディングされた画像ブロックの動き情報である。充填ユニットは、第2の処理ユニットがすべての追加の選択対象動き情報セットを走査した後で動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも少ない場合、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、第1のあらかじめ設定された動き情報候補セットで動き情報候補リストを満たすように構成される。
任意選択で、本出願のある考えられる実装形態では、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、または、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中の少なくとも2つの制御点の追加の選択対象動きベクトルが異なる。
任意選択で、本出願の別の考えられる実装形態では、第1の処理ユニットは、i番目の近隣の画像ブロックが属するコーディングユニットの左上の角の情報が標的コーディングユニットの左上の角の情報と同じであるかどうかを決定するように特に構成され、標的コーディングユニットは、動き情報候補リストに格納された動き情報候補セットを計算するために使用される近隣の画像ブロックが属するコーディングユニットである。
任意選択で、本出願の別の考えられる実装形態では、追加の選択対象動き情報セットは、第1の制御点の追加の選択対象動き情報および第2の制御点の追加の選択対象動き情報を少なくとも含み、第1の制御点および第2の制御点は現在の画像ブロックの近隣の制御点である。
第6の態様または本出願におけるその考えられる実装形態のいずれか1つの具体的な説明については、第1の態様またはその考えられる実装形態のいずれか1つの詳細な説明を参照されたい。加えて、第6の態様またはその考えられる実装形態のいずれか1つの有益な効果については、第1の態様またはその考えられる実装形態のいずれか1つの有益な効果についての分析を参照されたい。詳細はここでは再び説明されない。
第7の態様によれば、動き情報候補リストを構築するための装置が提供される。動き情報候補リストを構築するための装置は、第1の処理ユニット、第2の処理ユニット、併合ユニット、および記憶ユニットを含む。
具体的には、第1の処理ユニットは、第1の動き情報候補リストの中の動き情報候補セットの量が第1のあらかじめ設定された値に等しくなるまで、またはすべての近隣の画像ブロックが走査されるまで、第1のあらかじめ設定された順序で現在の画像ブロックのすべての近隣の画像ブロックに対して第1の処理プロセスを逐次実行するように構成され、第1の動き情報候補リストが記憶ユニットに記憶される。第1の処理プロセスは次の通りである。i番目の近隣の画像ブロックについて、i番目の近隣の画像ブロックがアフィンコーディングブロックであるとき、i番目の近隣の画像ブロックおよび第1の動き情報候補リストに格納された動き情報候補セットが同じコーディングユニットに由来するかどうかを決定し、i番目の近隣の画像ブロックが属するコーディングユニットからの動き情報候補セットが第1の動き情報候補リストに存在しない場合、i番目の近隣の画像ブロックのx個の制御点の動き情報に基づいて、現在の画像ブロックのx個の制御点の動き情報候補を決定し、第1の動き情報候補リストに、現在の画像ブロックのx個の制御点の動き情報候補を含む動き情報セットを格納し、i∈[1,n]であり、nは現在の画像ブロックの近隣の画像ブロックの量であり、xおよびnはともに2以上の整数である。第2の処理ユニットは、第2のあらかじめ設定された順序で少なくとも2つの追加の選択対象動き情報セットを逐次走査し、第2の動き情報候補リストの中の動き情報候補セットの量が第2のあらかじめ設定された値に等しくなるまで、またはすべての追加の選択対象動き情報セットが走査されるまで、第2の動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納するように構成され、追加の選択対象動き情報セットは、現在の画像ブロックの少なくとも2つの制御点の追加の選択対象動き情報を含み、制御点の追加の選択対象動き情報は、現在の画像ブロックに隣接するインターコーディングされた画像ブロックの動き情報であり、第2の動き情報候補リストは記憶ユニットに記憶される。あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、または、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中の少なくとも2つの制御点の追加の選択対象動きベクトルが異なる。併合ユニットは、あらかじめ設定された規則に従って、記憶ユニットの中にある第1の動き情報候補リストおよび第2の動き情報候補リストを併合して、第3の動き情報候補リストを取得するように構成され、第3の動き情報候補リストの中の動き情報候補セットの量はあらかじめ設定された量の値に等しく、第1のあらかじめ設定された値および第2のあらかじめ設定された値の合計はあらかじめ設定された量の値以上である。
任意選択で、本出願のある考えられる実装形態では、追加の選択対象動き情報セットは、第1の制御点の追加の選択対象動き情報および第2の制御点の追加の選択対象動き情報を少なくとも含み、第1の制御点および第2の制御点は現在の画像ブロックの近隣の制御点である。
任意選択で、本出願の別の考えられる実装形態では、併合ユニットは、第2の動き情報候補リストの中のすべての動き情報候補セットよりも前に第1の動き情報候補リストの中のすべての動き情報候補セットを置き、標的動き情報候補リストを生成し、標的動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも少ない場合、標的動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、第2のあらかじめ設定された動き情報候補セットで標的動き情報候補リストを満たし、第3の動き情報候補リストとして、満たした後に得られる標的動き情報候補リストを使用し、標的動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しい場合、第3の動き情報候補リストとして標的動き情報候補リストを使用し、または、標的動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも多い場合、削除の後に得られる標的動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるように、標的動き情報候補リストから少なくとも1つの動き情報候補を削除し、第3の動き情報候補リストとして、削除の後に得られる標的動き情報候補リストを使用するように特に構成される。
任意選択で、本出願の別の考えられる実装形態では、第1の処理ユニットは、i番目の近隣の画像ブロックが属するコーディングユニットの左上の角の情報が標的コーディングユニットの左上の角の情報と同じであるかどうかを決定するように特に構成され、標的コーディングユニットは、動き情報候補リストに格納された動き情報候補セットを計算するために使用される近隣の画像ブロックが属するコーディングユニットである。
第7の態様または本出願におけるその考えられる実装形態のいずれか1つの具体的な説明については、第2の態様またはその考えられる実装形態のいずれか1つの詳細な説明を参照されたい。加えて、第7の態様またはその考えられる実装形態のいずれか1つの有益な効果については、第2の態様またはその考えられる実装形態のいずれか1つの有益な効果についての分析を参照されたい。詳細はここでは再び説明されない。
第8の態様によれば、動き情報候補リストを構築するための装置が提供される。動き情報候補リストを構築するための装置は、第1の処理ユニット、第2の処理ユニット、充填ユニット、および記憶ユニットを含む。
具体的には、第1の処理ユニットは、少なくとも1つの動き情報候補セットを含む動き情報候補リストを生成するために、第1のあらかじめ設定された順序で現在の画像ブロックのすべての近隣の画像ブロックを走査するように構成され、動き情報候補セットは現在の画像ブロックのx個の制御点の動き情報候補を含み、動き情報候補リストは記憶ユニットに記憶され、xは2以上の整数である。第2の処理ユニットは、第1の処理ユニットが現在の画像ブロックのすべての近隣の画像ブロックを走査した後で、第2のあらかじめ設定された順序で少なくとも2つの追加の選択対象動き情報セットを逐次走査し、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、またはすべての追加の選択対象動き情報セットが走査されるまで、動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納するように構成され、追加の選択対象動き情報セットは、現在の画像ブロックの少なくとも2つの制御点の追加の選択対象動き情報を含み、制御点の追加の選択対象動き情報は、現在の画像ブロックに隣接するインターコーディングされた画像ブロックの動き情報である。あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、または、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中の少なくとも2つの制御点の追加の選択対象動きベクトルが異なる。充填ユニットは、第2の処理ユニットがすべての追加の選択対象動き情報セットを走査した後で、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも少ない場合、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、第3の動き情報候補セットで動き情報候補リストを満たすように構成される。
任意選択で、本出願のある考えられる実装形態では、追加の選択対象動き情報セットは、第1の制御点の追加の選択対象動き情報および第2の制御点の追加の選択対象動き情報を少なくとも含み、第1の制御点および第2の制御点は現在の画像ブロックの近隣の制御点である。
第8の態様または本出願におけるその考えられる実装形態のいずれか1つの具体的な説明については、第3の態様またはその考えられる実装形態のいずれか1つの詳細な説明を参照されたい。加えて、第8の態様またはその考えられる実装形態のいずれか1つの有益な効果については、第3の態様またはその考えられる実装形態のいずれか1つの有益な効果についての分析を参照されたい。詳細はここでは再び説明されない。
第9の態様によれば、インター予測装置が提供される。インター予測装置は、取得ユニットおよび決定ユニットを含む。
具体的には、取得ユニットは、ビットストリームを取得し構文解析して、第1のインデックス値および動き情報差分を取得するように構成され、第1のインデックス値は、動き情報候補リストの中の現在の画像ブロックの制御点の動き情報予測子のインデックス値であり、動き情報候補リストは、第1の態様、第2の態様、第3の態様、またはこれらの考えられる実装形態のいずれか1つにおける構築方法を使用することによって、第6の態様、第7の態様、第8の態様、またはこれらの考えられる実装形態のいずれか1つにおける構築装置によって生成される。取得ユニットは、第1のインデックス値に基づいて動き情報候補リストから制御点の動き情報予測子を取得するようにさらに構成される。決定ユニットは、取得ユニットによって取得される制御点の動き情報予測子および動き情報差分に基づいて、制御点の動き情報を決定するように構成される。決定ユニットは、制御点の動き情報に基づいて、現在の画像ブロックの予測ピクセルを決定するようにさらに構成される。
本出願における第9の態様の具体的な説明については、第4の態様の詳細な説明を参照されたい。加えて、第9の態様の有益な効果については、第4の態様の有益な効果についての分析を参照されたい。詳細はここでは再び説明されない。
第10の態様によれば、インター予測装置が提供される。インター予測装置は、取得ユニットおよび決定ユニットを含む。
取得ユニットは、ビットストリームを取得し構文解析して、第2のインデックス値を取得するように構成され、第2のインデックス値は、動き情報候補リストの中の現在の画像ブロックの制御点の動き情報のインデックス値であり、動き情報候補リストは、第1の態様、第2の態様、第3の態様、またはこれらの考えられる実装形態のいずれか1つにおける構築方法を使用することによって、第6の態様、第7の態様、第8の態様、またはこれらの考えられる実装形態のいずれか1つにおける構築装置によって生成される。取得ユニットは、第2のインデックス値に基づいて動き情報候補リストから制御点の動き情報を取得するようにさらに構成される。決定ユニットは、取得ユニットによって取得される制御点の動き情報に基づいて、現在の画像ブロックの予測ピクセルを決定するように構成される。
本出願における第10の態様の具体的な説明については、第5の態様の詳細な説明を参照されたい。加えて、第10の態様の有益な効果については、第5の態様の有益な効果についての分析を参照されたい。詳細はここでは再び説明されない。
第11の態様によれば、端末が提供される。端末は、1つまたは複数のプロセッサ、メモリ、および通信インターフェースを含む。メモリおよび通信インターフェースは、1つまたは複数のプロセッサに接続される。メモリは、コンピュータプログラムコードを記憶するように構成される。コンピュータプログラムコードは、命令を含む。1つまたは複数のプロセッサが命令を実行するとき、端末は、第1の態様、第2の態様、第3の態様、もしくはこれらの考えられる実装形態のいずれか1つにおける動き情報候補リストを構築するための方法を実行し、または、第4の態様、第5の態様、もしくはこれらの考えられる実装形態のいずれか1つにおけるインター予測方法を実行する。
第12の態様によれば、不揮発性記憶媒体および中央処理装置を含む、ビデオデコーダが提供される。不揮発性記憶媒体は、実行可能プログラムを記憶する。中央処理装置は、不揮発性記憶媒体に接続され、第1の態様、第2の態様、第3の態様、もしくはこれらの考えられる実装形態のいずれか1つにおける動き情報候補リストを構築するための方法を実行し、または、第4の態様、第5の態様、もしくはこれらの考えられる実装形態のいずれか1つにおけるインター予測方法を実行する。
第13の態様によれば、デコーダが提供される。デコーダは、第6の態様、第7の態様、第8の態様、またはこれらの考えられる実装形態のいずれか1つにおける動き情報候補リストを構築するための装置、第9の態様、第10の態様、またはこれらの考えられる実装形態のいずれか1つにおけるインター予測装置、および再構築モジュールを含む。再構築モジュールは、インター予測装置によって取得される予測ピクセルに基づいて、現在の画像ブロックの再構築されたピクセル値を決定するように構成される。
第14の態様によれば、コンピュータ可読記憶媒体が提供される。コンピュータ可読記憶媒体は命令を記憶する。命令が第11の態様における端末で実行されるとき、端末は、第1の態様、第2の態様、第3の態様、もしくはこれらの考えられる実装形態のいずれか1つにおける動き情報候補リストを構築するための方法を実行すること、または、第4の態様、第5の態様、もしくはこれらの考えられる実装形態のいずれか1つにおけるインター予測方法を実行することが可能にされる。
第15の態様によれば、命令を含むコンピュータプログラム製品が提供される。コンピュータプログラム製品が第11の態様における端末で実行されるとき、端末は、第1の態様、第2の態様、第3の態様、もしくはこれらの考えられる実装形態のいずれか1つにおける動き情報候補リストを構築するための方法を実行すること、または、第4の態様、第5の態様、もしくはこれらの考えられる実装形態のいずれか1つにおけるインター予測方法を実行することが可能にされる。
本出願では、動き情報候補リストおよびインター予測装置を構築するための装置の名称は、デバイスまたは機能モジュールに対する制約を課さない。実際の実装形態では、デバイスまたは機能モジュールは他の名称を有し得る。デバイスまたは機能モジュールの機能が本出願におけるそれらの機能と類似している限り、デバイスまたは機能モジュールは、本出願およびそれらの等価な技術における特許請求の範囲内にある。
第11の態様から第15の態様および本出願におけるそれらの考えられる実装形態の具体的な説明については、第1の態様、第2の態様、第3の態様、第4の態様、第5の態様、またはこれらの考えられる実装形態のいずれか1つの詳細な説明を参照されたい。加えて、第11から第15の態様およびそれらの考えられる実装形態の有益な効果については、第1の態様、第2の態様、第3の態様、第4の態様、第5の態様、またはこれらの考えられる実装形態のいずれか1つの有益な効果についての分析を参照されたい。詳細はここでは再び説明されない。
本出願のこれらの態様または他の態様は、以下の説明においてより簡潔であり理解可能である。
本出願の実施形態による、承継制御点動きベクトル予測方法の原理を示す図である。 本出願の実施形態による、構築制御点動きベクトル予測方法の原理を示す図である。 本出願の実施形態による、ビデオコーディングシステムの概略構造図である。 本出願の実施形態による、ビデオエンコーダの概略構造図である。 本出願の実施形態による、ビデオデコーダの概略構造図である。 本出願の実施形態による、動き情報候補リストを構築するための方法の第1の概略フローチャートである。 本出願の実施形態による、動き情報候補リストを構築するための方法の第2の概略フローチャートである。 本出願の実施形態による、動き情報候補リストを構築するための方法の第3の概略フローチャートである。 本出願の実施形態による、動き情報候補リストを構築するための装置の第1の概略構造図である。 本出願の実施形態による、動き情報候補リストを構築するための装置の第2の概略構造図である。 本出願の実施形態による、インター予測装置の第1の概略構造図である。 本出願の実施形態による、インター予測装置の第2の概略構造図である。
本出願の実施形態では、「例」または「たとえば」という語は、例、例示、または説明を与えることを表すために使用される。本出願の実施形態において「例」または「たとえば」として説明されるいずれの実施形態または設計方式も、別の実施形態または設計方式よりも好ましいものとして、または有益であるものとして説明されるべきではない。実際には、「例」、「たとえば」などの語の使用は、関連する概念を特定の方式で提示することが意図されている。
本出願の実施形態の理解を容易にするために、本出願の実施形態における関連する要素が、本明細書で最初に説明される。
画像符号化(image encoding):画像シーケンスをビットストリームへと圧縮するプロセス
画像復号(image decoding):特定のシンタックス規則および特定の処理方法に従ってビットストリームを再構築された画像へと復元するプロセス
現在、ビデオ画像符号化プロセスは次の通りである。エンコーダ側が、互いに重複しない複数の部分へと元の画像のフレームをまず区分し、各部分が画像ブロックとして使用され得る。次いで、エンコーダ側が、各画像ブロックに対して予測(prediction)、変換(transform)、および量子化(quantization)などの操作を実行して、画像ブロックに対応するビットストリームを取得する。予測は、画像ブロックと画像ブロックの予測ブロックとの間の差(または残差もしくは残差ブロックと呼ばれる)だけが符号化され送信されて、それにより送信オーバーヘッドが減り得るように、画像ブロックの予測ブロックを取得するために実行される。最後に、エンコーダ側が、画像ブロックに対応するビットストリームをデコーダ側に送信する。
それに対応して、ビットストリームを受信した後、デコーダ側がビデオ復号プロセスを実行する。具体的には、デコーダ側が、予測、逆量子化、および逆変換などの操作を受信されたビットストリームに対して実行して、再構築された画像ブロック(または再構築の後は画像ブロックと呼ばれる)を取得する。このプロセスは、画像再構築プロセス(または画像再建プロセス)と呼ばれる。次いで、デコーダ側が、元の画像の中の各画像ブロックの再構築されたブロックを集めて、元の画像の再構築された画像を取得し、再構築された画像を再生する。
既存のビデオ画像コーディング技術は、イントラ予測およびインター予測を含む。インター予測は、現在のフレームと現在のフレームの参照フレームとの間の相関を使用することによって、画像ブロックをコーディングすること/画像ブロックを復号することによって完成される予測である。現在のフレームは1つまたは複数の参照フレームを有し得る。具体的には、現在の画像ブロックの予測画像ブロックは、現在の画像ブロックの参照フレームの中のピクセルに基づいて生成される。
一般に、現在の画像ブロックの予測画像ブロックは1つだけの参照画像ブロックに基づいて生成されてもよく、または、現在の画像ブロックの予測画像ブロックは少なくとも2つの参照画像ブロックに基づいて生成されてもよい。1つの参照画像ブロックに基づいて現在の画像ブロックの予測画像ブロックを生成することは単方向予測と呼ばれ、少なくとも2つの参照画像ブロックに基づいて現在の画像ブロックの予測画像ブロックを生成することは双方向インター予測と呼ばれる。双方向インター予測における少なくとも2つの参照画像ブロックは、同じ参照フレームまたは異なる参照フレームからのものであり得る。言い換えると、本出願における「方向」は一般的な定義である。本出願における1つの方向は1つの参照画像ブロックに対応する。
動き補償(motion compensation, MC)は、参照画像ブロックを使用することによって現在の画像ブロックを予測するプロセスである。
大半のコーディングフレームワークでは、ビデオシーケンスは一連の画像(picture)を含み、画像は少なくとも1つのスライス(slice)へと分割され、各スライスは画像ブロック(block)へとさらに分割される。ビデオ符号化/復号は画像ブロックによって実行される。符号化/復号は、画像の左上の位置から、左から右へ、かつ上から下へ、行ごとに実行され得る。本明細書では、画像ブロックは、高効率ビデオコーディング(High Efficiency Video Coding, HEVC)規格におけるコーディングユニット(coding unit, CU)に含まれるブロックであり得る。たとえば、画像ブロックは、CUの中の輝度ブロックであり、またはCUの中の色差ブロックであってもよい。これは、本出願の実施形態では特に限定されない。
本出願では、符号化/復号されている画像ブロックは現在の画像ブロック(current block)と呼ばれ、現在の画像ブロックが位置する画像は現在のフレームと呼ばれる。
現在のフレームにおいて、現在の画像ブロックの隣接する画像ブロック(たとえば、現在のブロックの左側、上側、または右側の)は符号化/復号された可能性があり、再構築された画像が取得される。近隣の画像ブロックは再構築された画像ブロックと呼ばれる。コーディングモードおよび再構築された画像ブロックの再構築されたピクセルなどの情報が利用可能(available)である。
現在のフレームが符号化/復号されるよりも前に符号化/復号されたフレームは、再構築されたフレームと呼ばれる。
動きベクトル(motion vector, MV)は、インター予測プロセスにおける重要なパラメータであり、現在の画像ブロックに対する相対的な、符号化された画像ブロックの空間変位を表す。通常、動きベクトルは、動き探索などの動き推定(motion estimation, ME)方法を使用することによって取得され得る。予備的なインター予測技術では、再構築されたブロックを取得するために、デコーダ側が現在の画像ブロックの予測ピクセルを再現するように、エンコーダ側がビットストリームにおいて現在の画像ブロックの動きベクトルを送信する。符号化効率をさらに改善するために、参照動きベクトルを使用することによって動きベクトルを差分的に符号化するための方法が提供される。具体的には、動きベクトル差分(motion vector difference, MVD)のみが符号化される。
デコーダ側およびエンコーダ側が同じ参照画像ブロックを使用することを可能にするために、エンコーダ側は、ビットストリームにおいて、各画像ブロックの動き情報をデコーダ側に送信する必要がある。エンコーダ側が各画像ブロックの動きベクトルを直接符号化する場合、大量の送信リソースが消費される。空間的に近隣の画像ブロックの動きベクトルは強く相関しているので、現在の画像ブロックの動きベクトルは、近隣の符号化された画像ブロックの動きベクトルに基づいて予測され得る。予測を通じて取得される動きベクトルはMVPと呼ばれ、現在の画像ブロックの動きベクトルとMVPとの間の差はMVDと呼ばれる。
ビデオコーディング規格H.264では、予測の正確さを改善するために、動き推定プロセスにおいて多参照フレーム予測が使用される。具体的には、複数の再構築されたフレームを記憶するバッファが作成され、バッファの中のすべての再構築されたフレームが、時間領域における冗長性をよりなくすために、動き補償のための最適な参照画像ブロックについて探索される。ビデオコーディング規格H.264において、参照フレームリスト0(参照リスト0)および参照フレームリスト1(参照リスト1)という2つのバッファがインター予測において使用される。各リストの中の最適な参照ブロックが位置する参照フレームは、インデックス値、すなわち、ref_idx_l0およびref_idx_11によってマークされる。各参照フレームリストにおいて、参照画像ブロックの動き情報は、参照フレームインデックス値(ref_idx_l0またはref_idx_l1)、動き情報候補リストにおけるMVPのインデックス値、およびMVDを含む。デコーダ側は、参照フレームインデックス値、動き情報候補リストにおけるMVPのインデックス値、およびMVDに基づいて、選択された参照フレームの中で正しい参照画像ブロックを見つけ得る。
現在、HEVC規格において頻繁に使用されるインター予測モードは、高度動きベクトル予測(advanced motion vector prediction, AMVP)モード、およびマージ(merge)モードである。
AMVPモードでは、エンコーダ側が、現在の画像ブロックに空間的または時間的に隣接する符号化された画像ブロックの動きベクトルを使用することによって動き情報候補リストを構築し、レート歪みコストに基づいて現在の画像ブロックのMVPとして動き情報候補リストの中の最適な動きベクトルを決定する。加えて、エンコーダ側が、MVPを中心とする近隣において動き探索を実行して現在の画像ブロックの動きベクトルを取得する。エンコーダ側が、動き情報候補リストの中のMVPのインデックス値、参照フレームインデックス値、およびMVDをデコーダ側に送信する。
マージモードでは、エンコーダ側が、現在の画像ブロックに空間的または時間的に隣接する符号化された画像ブロックの動きベクトルを使用することによって動き情報候補リストを構築し、レート歪みコストに基づいて現在の画像ブロックのMVとして動き情報候補リストの中の最適な動きベクトルを決定する。エンコーダ側が、動き情報候補リストにおける最適な動きベクトルの位置のインデックス値をデコーダ側に送信する。
既存のビデオコーディング規格では、並進運動モデルベースの動き補償技術が使用され、画像ブロックの中のすべてのサンプルの動きが一貫していると仮定される。しかしながら、現実の世界では、多くの物体、たとえば回転している物体、異なる方向に回転するジェットコースター、花火、および映画における一部のスタントは、並進運動をしていない。既存のコーディング規格における並進運動モデルベースの動き補償技術が、これらの動いている物体のために使用され、コーディング効率が大きく影響を受ける。したがって、非並進運動モデルについての研究が業界において行われている。
非並進運動モデル予測モードでは、エンコーダ/デコーダ側が、同じ動きモデルを使用することによって現在の画像ブロックのすべてのサブブロックの動き情報を導出し、すべてのサブブロックの動き情報に基づいて動き補償を実行して予測画像ブロックを取得する。これは予測効率を改善する。エンコーダ/デコーダ側によって頻繁に使用される動きモデルは、4パラメータアフィン動きモデルまたは6パラメータアフィン動きモデルである。
たとえば、4パラメータアフィン動きモデルは、現在の画像ブロックの左上の角にあるピクセルに対して相対的な、2つのサンプルの動きベクトルおよび2つのサンプルの座標を使用することによって表され得る。本明細書では、動きモデルパラメータを表すために使用されるサンプルは制御点と呼ばれる。現在の画像ブロックの左上の角(0,0)におけるサンプルおよび現在の画像ブロックの右上の角(W,0)におけるサンプルが制御点であり、現在の画像ブロックの左上の角および右上の角の動きベクトルがそれぞれ(vx0,vy0)および(vx1,vy1)である場合、現在の画像ブロックの各サブブロックの動き情報が以下の式(1)に従って取得される。以下の式(1)において、(x,y)は現在の画像ブロックの左上の角におけるピクセルに対する相対的なサブブロックの座標であり、(vx,vy)はサブブロックの動きベクトルであり、Wは現在の画像ブロックの幅である。
たとえば、6パラメータアフィン動きモデルは、現在の画像ブロックの左上の角にあるピクセルに対して相対的な、3つのサンプルの動きベクトルおよび3つのサンプルの座標を使用することによって表され得る。現在の画像ブロックの左上の角(0,0)にあるサンプル、現在の画像ブロックの右上の角(W,0)にあるサンプル、および現在の画像ブロックの左下の角(0,H)にあるサンプルが制御点であり、現在の画像ブロックの左上の角、右上の角、および左下の角の動きベクトルがそれぞれ(vx0,vy0)、(vx1,vy1)、および(vx2,vy2)である場合、現在の画像ブロックの各サブブロックの動き情報は以下の式(2)に従って取得される。以下の式(2)において、(x,y)は現在の画像ブロックの左上の角にあるピクセルに対して相対的なサブブロックの座標であり、(vx,vy)はサブブロックの動きベクトルであり、WおよびHはそれぞれ現在の画像ブロックの幅および高さである。
説明を簡単にするために、本出願の実施形態では、非並進運動モデル予測モードを使用することによって予測される画像ブロックは、アフィンコーディングブロックと呼ばれる。当然、代替として、このタイプの画像ブロックは、別の名称を使用することによって表されてもよい。これは、本出願の実施形態では特に限定されない。
非並進運動モデル予測モードの前述の説明から、アフィンコーディングブロックの制御点の動き情報が予測プロセスにおいて取得される必要があることがわかり得る。
普通は、エンコーダ/デコーダ側が、アフィン高度動きベクトル予測モード(Affine AMVP mode)またはアフィンマージモード(Affine Merge mode)を使用することによって、制御点の動き情報を取得し得る。
エンコーダ/デコーダ側がアフィンAMVPモードを使用して現在の画像ブロックの制御点の動き情報を取得するプロセスは、次の通りである。
ステップ1:エンコーダ/デコーダ側が、制御点動き情報候補リストを構築する。
エンコーダ/デコーダ側が、承継制御点動きベクトル予測方法(以下の説明を参照)および/または構築制御点動きベクトル予測方法(以下の説明を参照)を使用することによって、動き情報候補リストを構築する。
動き情報候補リストは、複数の動き情報候補セットを含み、動き情報候補の各々が、2つ(4パラメータアフィンモデル)または3つ(6パラメータアフィンモデル)の制御点の動きベクトルを含み得る。
任意選択で、エンコーダ/デコーダ側が、あらかじめ設定された規則に従って、動き情報候補リストをプルーニングおよびソートし、動き情報候補リストを切り詰め、または満たし、特定の量(後であらかじめ設定される量の値に対応する)の動き情報候補セットを取得し得る。
ステップ2:エンコーダ/デコーダ側が、最適な動き情報候補セットを決定し、最適な動き情報候補を制御点の動き情報予測子として使用する。
エンコーダ側は、動き情報候補リストの中の動き情報候補セットを各々使用して、前述の式(1)/(2)に従って現在の画像ブロックの各サブブロックの動きベクトルを取得し、各サブブロックの動きベクトルが指す参照フレームの中の位置のピクセル値を取得し、サブブロックのピクセル予測子としてピクセル値を使用してアフィン変換動き補償を実行する。エンコーダ側は、現在の画像ブロックの中のすべてのサンプルの元の値と予測子との間の差の平均値を計算し、最適な動き情報候補セットとして、最小の平均値に対応する動き情報候補セットを選択する。エンコーダ側は、動き情報候補リストにおける最適な動き情報候補セットのインデックス番号をデコーダ側に送信する。
デコーダ側は、インデックス番号を構文解析し、インデックス番号に基づいて、動き情報候補リストの中の制御点の動き情報予測子(control point motion vectors predictor, CPMVP)を決定する。
ステップ3:エンコーダ/デコーダ側が制御点の動きベクトルを決定する。
エンコーダ側は、制御点の動き情報予測子の中の動きベクトル(制御点の動きベクトル予測子と呼ばれる)を探索の開始点として使用して特定の範囲内で動き探索を実行して、制御点の動きベクトル(control point motion vectors, CPMV)を取得し、制御点の動きベクトルと制御点の動きベクトル予測子との間の差分(control point motion vectors differences, CPMVD)をデコーダ側に送信する。
デコーダ側は、制御点の動きベクトル差分を構文解析し、制御点の動きベクトル差分と制御点の動きベクトル予測子を加算して制御点の動きベクトルを取得する。
エンコーダ/デコーダ側がアフィンマージモードを使用して現在の画像ブロックの制御点の動きベクトルを取得するプロセスは、次の通りである。
ステップI:エンコーダ/デコーダ側が、制御点動き情報候補リストを構築する。
エンコーダ/デコーダ側は、承継制御点動きベクトル予測方法および/または構築制御点動きベクトル予測方法を使用することによって、制御点動き情報候補リストを構築する。
任意選択で、エンコーダ/デコーダ側は、あらかじめ設定された規則に従って、制御点動き情報候補リストをプルーニングおよびソートし、制御点動き情報候補リストを切り詰め、または満たし、特定の量(後であらかじめ設定される量の値に対応する)の動き情報候補セットを取得し得る。
ステップII:エンコーダ/デコーダ側が、制御点の動き情報を決定する。
エンコーダ側は、動き情報候補リストの中の動き情報候補セットを各々使用して、前述の式(1)/(2)に従って現在の画像ブロックの各サブブロックの動き情報を取得し、各サブブロックの動き情報が指す参照フレームの中の位置のピクセル値を取得し、サブブロックのピクセル予測子としてピクセル値を使用してアフィン動き補償を実行する。エンコーダ側は、現在のコーディングブロックの中のすべてのサンプルの元の値と予測子との間の差の平均値を計算し、現在の画像ブロックの制御点の動き情報として、最小の平均値に対応する動き情報候補セットを選択する。エンコーダ側は、動き情報候補リストにおける制御点の動き情報のインデックス値をデコーダ側に送信する。
デコーダ側は、ビットストリームを構文解析して動き情報候補リストにおける制御点の動き情報のインデックス値を取得し、インデックス値に基づいて動き情報候補リストの中の制御点の動き情報を決定する。
前述の説明から、エンコーダ/デコーダ側が、承継制御点動きベクトル予測方法(inherited control point motion vectors)および/または構築制御点動きベクトル予測方法(constructed control point motion vectors)を使用することによって、動き情報候補リストを構築し得ることがわかり得る。以下は、承継制御点動きベクトル予測方法および構築制御点動きベクトル予測方法を別々に説明する。
承継制御点動きベクトル予測方法において、エンコーダ/デコーダ側は、現在の画像ブロックに空間的に隣接する符号化されたアフィンコーディングブロックの動きモデルを使用することによって、現在の画像ブロックの制御点の動きベクトルを導出する。
たとえば、図1に示されるように、画像ブロックB2、画像ブロックB1、画像ブロックB0、画像ブロックA1、および画像ブロックB0が、現在の画像ブロックに空間的に隣接する場合、エンコーダ/デコーダ側は、あらかじめ設定された順序で、たとえば、画像ブロックA1、画像ブロックB1、画像ブロックB0、画像ブロックA0、そして画像ブロックB2の順序で、現在の画像ブロックの空間的に近隣の画像ブロックを走査して(順番に確認して)、空間的に近隣の画像ブロックの中のアフィンコーディングブロックを決定し、アフィンコーディングブロックの制御点の動きベクトルを取得し、アフィンコーディングブロックのために使用される動きモデルに基づいて、現在の画像ブロックの制御点の動きベクトルまたは現在の画像ブロックの制御点の動きベクトル予測子を導出する。
理解を容易にするために、図1を参照して、承継制御点動きベクトル予測方法は、画像ブロックA1がアフィンコーディングブロックである例を使用することによって説明される。図1に示されるように、現在の画像ブロックの左上の角(x0,y0)におけるサンプルおよび現在の画像ブロックの右上の角(x1,y1)におけるサンプルが制御点である場合、現在の画像ブロックの左上の角および右上の角の動きベクトルは、それぞれ(vx0,vy0)および(vx1,vy1)である。
画像ブロックA1が4パラメータアフィンコーディングブロックである場合、画像ブロックA1の左上の角(x4,y4)におけるサンプルおよび画像ブロックA1の右上の角(x5,y5)におけるサンプルが制御点であり、画像ブロックA1の左上の角および右上の角の動きベクトルは、それぞれ(vx4,vy4)および(vx5,vy5)である。エンコーダ/デコーダ側は、以下の式(3)に従って現在の画像ブロックの左上の角の動きベクトルを計算し、以下の式(4)に従って現在の画像ブロックの右上の角の動きベクトルを計算する。言い換えると、現在の画像ブロックの制御点の動きベクトルは、4パラメータアフィン動きモデルに基づいて計算される。
現在の画像ブロックの左上の角(x0,y0)におけるサンプル、現在の画像ブロックの右上の角(x1,y1)におけるサンプル、および現在の画像ブロックの左下の角(x2,y2)におけるサンプルが制御点である場合、現在の画像ブロックの左上の角、右上の角、および左下の角の動きベクトルは、それぞれ(vx0,vy0)、(vx1,vy1)、および(vx2,vy2)である。
画像ブロックA1が6パラメータアフィンコーディングブロックである場合、画像ブロックA1の左上の角(x4,y4)におけるサンプル、画像ブロックA1の右上の角(x5,y5)におけるサンプル、および画像ブロックA1の左下の角(x6,y6)におけるサンプルが制御点であり、画像ブロックA1の左上の角、右上の角、および左下の角の動きベクトルは、それぞれ(vx4,vy4)、(vx5,vy5)、および(vx6,vy6)である。エンコーダ/デコーダ側は、以下の式(5)に従って現在の画像ブロックの左上の角の動きベクトルを計算し、以下の式(6)に従って現在の画像ブロックの右上の角の動きベクトルを計算し、以下の式(7)に従って現在の画像ブロックの左下の角の動きベクトルを計算する。言い換えると、現在の画像ブロックの制御点の動きベクトルは、6パラメータアフィン動きモデルに基づいて計算される。
当然、エンコーダ側は代替として、4パラメータアフィン動きモデルおよび6パラメータアフィン動きモデル以外の動きモデルを使用することによって、現在の画像ブロックの制御点の動きベクトルを計算してもよい。
構築制御点動きベクトル予測方法において、エンコーダ/デコーダ側は、現在の画像ブロックの制御点に空間的/時間的に隣接する符号化された画像ブロックの動きベクトルを組み合わせて、現在の画像ブロックの制御点の動きベクトル候補を取得し、符号化された空間的/時間的に近隣の画像ブロックがアフィンコーディングブロックであるかどうかを考慮する必要がない。
構築制御点動きベクトル予測方法は、以下の2つの方式で実施され得る。
第1の実装形態では、エンコーダ/デコーダ側は、現在の画像ブロックの制御点の動きベクトル候補として、現在の画像ブロックに空間的/時間的に隣接する符号化された画像ブロックの動きベクトルを使用する。次いで、エンコーダ/デコーダ側は、制御点の動きベクトル候補からある最適な動きベクトル候補を制御点の動きベクトルとして選択する。
たとえば、図2に示されるように、現在の画像ブロックの左上の角および右上の角は、現在の画像ブロックの制御点である。現在の画像ブロックの左上の角に隣接する符号化された画像ブロックが、画像ブロックA2、画像ブロックB2、および画像ブロックB3であり、現在の画像ブロックの右上の角に隣接する符号化された画像ブロックが、画像ブロックB0および画像ブロックB1である場合、エンコーダ/デコーダ側は、画像ブロックA2の動きベクトルvA2、画像ブロックB2の動きベクトルvB2、および画像ブロックB3の動きベクトルvB3を現在の画像ブロックの左上の角の動きベクトル候補として使用し、画像ブロックB0の動きベクトルvB0および画像ブロックB1の動きベクトルvB1を現在の画像ブロックの右上の角の動きベクトル候補として使用する。次いで、エンコーダ/デコーダ側は、現在の画像ブロックの左上の角の動きベクトル候補の各々と現在の画像ブロックの右上の角の動きベクトル候補の各々を組み合わせて、2つの制御点の動きベクトル候補2タプルキュー{(vA2,vB1),(vA2,vB0),(vB2,vB1),(vB2,vB0),(vB3,vB1),(vB3,vB0)}を生成する。次いで、エンコーダ/デコーダ側は、動きベクトル候補2タプルキューから最適な動きベクトル候補を現在の画像ブロックの制御点の動きベクトルとして選択し得る。
第2の実装形態では、エンコーダ/デコーダ側は、現在の画像ブロックの各制御点の追加の選択対象動きベクトルをまず計算する。次いで、エンコーダ/デコーダ側は、非並進運動モデルを使用することによって各制御点の動きベクトルを組み合わせて、動き情報候補リストを生成する。最後に、エンコーダ/デコーダ側は、動き情報候補リストから最適な動き情報候補を現在の画像ブロックの制御点の動き情報として選択する。
たとえば、図2に示されるように、本出願の実施形態において、現在の画像ブロックのk番目の制御点を表すためにCPk(k=1,2,3,4)が使用され、CP1、CP2、CP3、およびCP4の座標は、それぞれ(0,0)、(W,0)、(0,H)、および(W,H)であり、WおよびHは、それぞれ現在の画像ブロックの幅および高さである。画像ブロックA2、画像ブロックB2、画像ブロックB3、画像ブロックB0、および画像ブロックB1はすべて、現在の画像ブロックに空間的に隣接し、CP1、CP2、またはCP3を予測するために使用され得る。画像ブロックTは、現在の画像ブロックに時間的に隣接し、CP4を予測するために使用され得る。
ステップA:エンコーダ/デコーダ側が、現在の画像ブロックの各制御点の追加の選択対象動きベクトルを次の順序で取得する。
CP1に対して、エンコーダ/デコーダ側は、画像ブロックB2、画像ブロックA2、および画像ブロックB3を逐次問い合わせる。画像ブロックB2がインターコーディングを通じて取得される場合、エンコーダ/デコーダ側は、画像ブロックB2の動きベクトルをCP1の追加の選択対象動きベクトルvcp1として使用する。画像ブロックB2がインターコーディングを通じて取得されない場合、エンコーダ/デコーダ側は、画像ブロックA2および画像ブロックB3を逐次検出する。画像ブロックB2、画像ブロックA2、および画像ブロックB3のいずれもがインターコーディングを通じて取得されない場合、エンコーダ/デコーダ側は、CP1の追加の選択対象動きベクトルを決定できない。
CP2に対して、エンコーダ/デコーダ側は、画像ブロックB0および画像ブロックB1を逐次問い合わせ、問合せ結果に基づいてCP2の追加の選択対象動きベクトルvcp2を決定する。
CP3に対して、エンコーダ/デコーダ側は、画像ブロックA0および画像ブロックA1を逐次問い合わせ、問合せ結果に基づいてCP3の追加の選択対象動きベクトルvcp3を決定する。
CP4に対して、エンコーダ/デコーダ側は、画像ブロックTの動きベクトルをCP4の追加の選択対象動きベクトルvcp4として使用する。
ステップB:エンコーダ/デコーダ側が、前述の制御点の追加の選択対象動きベクトルを組み合わせて、制御点動き情報候補リストを生成する。
具体的には、エンコーダ/デコーダ側は、任意の2つの制御点の追加の選択対象動きベクトルを組み合わせて、4パラメータアフィン動きモデルを構築する。2つの制御点の追加の選択対象動きベクトルは、(vcp1,vcp4)、(vcp2,vcp3)、(vcp1,vcp2)、(vcp2,vcp4)、(vcp1,vcp3)、および(vcp3,vcp4)のように組み合わせられ得る。たとえば、本出願の実施形態では、vcp1およびvcp2を使用することによって構築される4パラメータアフィン動きモデルは、Affine(vcp1,vcp2)と表記される。
エンコーダ/デコーダ側は、任意の3つの制御点の追加の選択対象動きベクトルを組み合わせて、6パラメータアフィン動きモデルを構築する。3つの制御点の追加の選択対象動きベクトルは、(vcp1,vcp2,vcp4)、(vcp1,vcp2,vcp3)、(vcp2,vcp3,vcp4)、および(vcp1,vcp3,vcp4)のように組み合わせられ得る。たとえば、本出願の実施形態では、vcp1、vcp2、およびvcp3を使用することによって構築される6パラメータアフィン動きモデルは、Affine(vcp1,vcp2,vcp3)と表記される。
エンコーダ/デコーダ側は、前述の4つの制御点の追加の選択対象動きベクトルを組み合わせて、8パラメータアフィン動きモデルを構築する。たとえば、本出願の実施形態では、vcp1、vcp2、vcp3、およびvcp4を使用することによって構築される8パラメータ双線形モデルは、Bilinear(vcp1,vcp2,vcp3,vcp4)と表記される。
実際の適用例では、エンコーダ/デコーダ側は前述の順序で走査を実行する。セットの中の追加の選択対象動きベクトルを取得できない場合、エンコーダ/デコーダ側はセットを決定することができない。そうではない場合、エンコーダ/デコーダ側は、セットの中のすべての制御点の参照フレームインデックスを決定し、以下の式(8)に従ってモデルの中の追加の選択対象動きベクトルをスケーリングする。さらに、スケーリングの後に取得されるすべての追加の選択対象動きベクトルが一貫している場合、エンコーダ/デコーダ側によって取得されるセットは無効である。そうではない場合、エンコーダ/デコーダ側は、セットを動き情報候補リストに追加する。
言い換えると、エンコーダ/デコーダ側は、各制御点の追加の選択対象動きベクトルをまず予備的に計算し、取得された追加の選択対象動きベクトルを前述の順序で組み合わせる。セットの中の追加の選択対象動きベクトルの参照フレームインデックスが一貫していない場合、エンコーダ/デコーダ側は、セットの中の追加の選択対象動きベクトルをスケーリングする。スケーリングの後で得られる追加の選択対象動きベクトルが一貫している場合、エンコーダ/デコーダ側は、セットを動き情報候補リストに追加する。
式(8)において、CurPocは現在のフレームのシーケンス番号を表し、DesPocは現在の画像ブロックの参照フレームのシーケンス番号を表し、SrcPocは制御点の参照フレームのシーケンス番号を表し、MVsはスケーリングの後に得られるMVを表す。
前述の異なる制御点の追加の選択対象動きベクトルのセットは相互に変換され得ることに留意されたい。
たとえば、エンコーダ/デコーダ側は、次の式(9)に従って(vcp1,vcp2)を(vcp1,vcp2,vcp3)に変換し得る。
vcp1は具体的には(vx0,vy0)であり、vcp2は具体的には(vx1,vy1)であり、vcp3は具体的には(vx2,vy2)である。
エンコーダ/デコーダ側は、次の式(10)に従って(vcp1,vcp3)を(vcp1,vcp2,vcp3)または(vcp1,vcp2)に変換し得る。
エンコーダ/デコーダ側は、次の式(11)に従って(vcp2,vcp3)を(vcp1,vcp2,vcp3)または(vcp1,vcp2)に変換し得る。
エンコーダ/デコーダ側は、次の式(12)および(13)に従って(vcp1,vcp4)を(vcp1,vcp2,vcp3)または(vcp1,vcp2)に変換し得る。
vcp4は具体的には(vx3,vy3)である。
エンコーダ/デコーダ側は、次の式(14)および(15)に従って(vcp2,vcp4)を(vcp1,vcp2,vcp3)または(vcp1,vcp2)に変換し得る。
エンコーダ/デコーダ側は、次の式(16)および(17)に従って(vcp3,vcp4)を(vcp1,vcp2,vcp3)または(vcp1,vcp2)に変換し得る。
エンコーダ/デコーダ側は、次の式(18)に従って(vcp1,vcp2,vcp4)を(vcp1,vcp2,vcp3)に変換し得る。
エンコーダ/デコーダ側は、次の式(19)に従って(vcp2,vcp3,vcp4)を(vcp1,vcp2,vcp3)に変換し得る。
エンコーダ/デコーダ側は、次の式(20)に従って(vcp1,vcp3,vcp4)を(vcp1,vcp2,vcp3)に変換し得る。
従来技術では、制御点動き情報候補リストを構築するためにエンコーダ/デコーダ側によって使用される方法は、普通は次の通りである。S1:エンコーダ/デコーダ側が、承継制御点動きベクトル予測方法を使用することによって、現在の画像ブロックの複数の制御点の動き情報候補を計算し、動き情報候補を動き情報候補リストに追加する。S2:エンコーダ/デコーダ側が、構築制御点動きベクトル予測方法を使用することによって、現在の画像ブロックの複数の制御点の動き情報候補を計算し、動き情報候補を動き情報候補リストに追加する。S3:動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも少ない場合、エンコーダ/デコーダ側が、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に達するまで、あらかじめ設定された動き情報候補セットで動き情報候補リストを満たす。
S1およびS2において、新しい動き情報候補セットを動き情報候補リストに毎回追加する前に、エンコーダ/デコーダ側は、同じ動き情報セットが動き情報候補リストにすでに存在するかどうかをまず確認する。同じ動き情報セットが動き情報候補リストに存在する場合、エンコーダ/デコーダ側は新しい動き情報候補をリストに追加しない。このプロセスは、動き情報候補リストのプルーニングと呼ばれる。動き情報候補リストのプルーニングは、動き情報候補リストに同じ動き情報があることを防ぎ、冗長なレート歪みコスト計算を避けることができる。しかしながら、このプロセスの計算の複雑さも比較的高く、遅延が比較的長い。
加えて、承継制御点動きベクトル予測方法を使用することによってエンコーダ/デコーダ側により制御点の動き情報候補を計算することは、非常に複雑である。制御点の動き情報候補が構築制御点動きベクトル予測方法を使用することによって計算されるとき、追加の選択対象動き情報セットの中の参照フレームインデックスが一貫していない場合、エンコーダ/デコーダ側はさらに、追加の選択対象動きベクトルをスケーリングする必要がある。スケーリングの計算の複雑さは大きく、これも遅延を増やす。
前述の問題を解決するために、本出願は、動き情報候補リストを構築するための方法と、対応する構築装置とを提供する。方法または構築装置は、動き情報候補リストの中の動き情報候補セットの量が第1のあらかじめ設定された値に等しくなるまで、またはすべての近隣の画像ブロックが走査されるまで、第1のあらかじめ設定された順序で現在の画像ブロックのすべての近隣の画像ブロックに対して第1の処理プロセスを逐次実行する。動き情報候補リストの中の動き情報候補セットの量が第1のあらかじめ設定された値に等しくなった後、またはすべての近隣の画像ブロックが走査された後、構築装置は、第2のあらかじめ設定された順序で、少なくとも2つの追加の選択対象動き情報セットを逐次走査し、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、またはすべての追加の選択対象動き情報セットが走査されるまで、動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納する。本明細書では、あらかじめ設定された量の値は第1のあらかじめ設定された値よりも大きく、追加の選択対象動き情報セットは、現在の画像ブロックの少なくとも2つの制御点の追加の選択対象動き情報を含み、制御点の追加の選択対象動き情報は、現在の画像ブロックに隣接するインターコーディングされた画像ブロックの動き情報である。すべての追加の選択対象動き情報セットが走査された後で、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも少ない場合、構築装置は、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、第1のあらかじめ設定された動き情報候補セットで動き情報候補リストを満たす。
代替として、構築装置は、動き情報候補リストの中の動き情報候補セットの量が第1のあらかじめ設定された値に等しくなるまで、またはすべての近隣の画像ブロックが走査されるまで、第1のあらかじめ設定された順序で、現在の画像ブロックのすべての近隣の画像ブロックに対して第1の処理プロセスを逐次実行し得る。加えて、構築装置はさらに、第2のあらかじめ設定された順序で、少なくとも2つの追加の選択対象動き情報セットを逐次走査し、第2の動き情報候補リストの中の動き情報候補セットの量が第2のあらかじめ設定された値に等しくなるまで、またはすべての追加の選択対象動き情報セットが走査されるまで、第2の動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納する。次いで、構築装置は、あらかじめ設定された規則で第1の動き情報候補リストおよび第2の動き情報候補リストを併合して、第3の動き情報候補リストを取得する。第3の動き情報候補リストの中の動き情報候補セットの量は、あらかじめ設定された量の値に等しい。第1のあらかじめ設定された値および第2のあらかじめ設定された値の合計は、あらかじめ設定された量の値以上である。
代替として、構築装置は、現在の画像ブロックのすべての近隣の画像ブロックを第1のあらかじめ設定された順序で走査し、少なくとも1つの動き情報候補セットを含む動き情報候補リストを生成してもよく、動き情報候補セットは現在の画像ブロックのx個の制御点の動き情報候補を含み、xは2以上の整数である。現在の画像ブロックのすべての近隣の画像ブロックを走査した後で、構築装置は、第2のあらかじめ設定された順序で、少なくとも2つの追加の選択対象動き情報セットを逐次走査し、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、またはすべての追加の選択対象動き情報セットが走査されるまで、動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納する。すべての追加の選択対象動き情報セットが走査された後で、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも少ない場合、構築装置は、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、第3のあらかじめ設定された動き情報候補セットで動き情報候補リストを満たす。
具体的には、第1の処理プロセスは次の通りである。i番目(i∈[1,n])の近隣の画像ブロックについて、i番目の近隣の画像ブロックがアフィンコーディングブロックであるとき、構築装置は、i番目の近隣の画像ブロックおよび動き情報候補リストに格納された動き情報候補セットが同じコーディングユニットに由来するかどうかを決定する。i番目の近隣の画像ブロックが属するコーディングユニットからの動き情報候補セットが動き情報候補リストに存在しない場合、構築装置は、i番目の近隣の画像ブロックのx個の制御点の動き情報に基づいて、現在の画像ブロックのx個の制御点の動き情報候補を決定し、動き情報候補リストに、現在の画像ブロックのx個の制御点の動き情報候補を含む動き情報候補セットを格納し、nは現在の画像ブロックの近隣の画像ブロックの量であり、xとnの両方が2以上の整数である。
追加の選択対象動き情報セットは、現在の画像ブロックの少なくとも2つの制御点の追加の選択対象動き情報を含み、制御点の追加の選択対象動き情報は、現在の画像ブロックに隣接するインターコーディングされた画像ブロックの動き情報である。あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、または、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中の少なくとも2つの制御点の追加の選択対象動きベクトルが異なる。
第1の処理プロセスおよび追加の選択対象動き情報の処理プロセスの両方において、新しい動き情報候補セットを動き情報候補リストに追加するかどうかが決定の結果に基づいて決定され、新しい動き情報候補セットをまず計算して、次いで同じ動き情報が動き情報候補リストに存在するかどうかを決定する必要はないことがわかり得る。これは、計算の複雑さおよび遅延を実質的に減らす。
加えて、本出願はインター予測方法をさらに提供する。インター予測装置は、ビットストリームを構文解析して、インデックス値(すなわち、第1のインデックス値)および動き情報差分を取得し、インデックス値は、前述の構築方法を使用することによって構築装置により生成される動き情報候補リストにおける現在の画像ブロックの制御点の動き情報予測子のインデックス値である。このやり方では、インター予測装置は、第1のインデックス値に基づいて動き情報候補リストから制御点の動き情報予測子を取得し、制御点の動き情報予測子および動き情報差分に基づいて制御点の動き情報を決定し、制御点の動き情報に基づいて現在の画像ブロックの予測ピクセルを決定する。
代替として、インター予測装置は、ビットストリームを構文解析して、前述の構築方法を使用することによって構築装置によって生成される動き情報候補リストにおける現在の画像ブロックの制御点の動き情報のインデックス値(すなわち、第2のインデックス値)を取得し得る。このやり方では、インター予測装置は、第2のインデックス値に基づいて動き情報候補リストから制御点の動き情報を取得し、制御点の動き情報に基づいて現在の画像ブロックの予測ピクセルを決定する。
本出願において提供される構築方法は、計算の複雑さおよび遅延を実質的に減らす。したがって、構築方法を使用することによって生成される動き情報候補リストに基づいて実行されるインター予測は、計算の複雑さおよび遅延も実質的に減らす。
本出願において提供される動き情報候補リストを構築するための方法は、構築装置、ビデオコーディング装置、ビデオコーデック、またはビデオコーディング機能を有する別のデバイスによって実行され得る。本出願において提供されるインター予測方法は、インター予測装置、ビデオコーディング装置、ビデオコーデック、またはビデオコーディング機能を有する別のデバイスによって実行され得る。構築装置およびインター予測装置は、同じデバイスに配設されてもよく、または独立に配設されてもよい。これは、本出願の実施形態では特に限定されない。
本出願において提供される動き情報候補リストを構築するための方法およびインター予測方法は、ビデオコーディングシステムに適用可能である。ビデオコーディングシステムの中のビデオエンコーダ100およびビデオデコーダ200は、本出願における動き情報候補リストを構築するための方法の例に従って動き情報候補リストを生成し、現在の画像ブロックを予測するように構成される。
図3は、ビデオコーディングシステムの構造を示す。図3に示されるように、ビデオコーディングシステムは、ソース装置10および宛先装置20を含む。ソース装置10は、符号化されたビデオデータを生成する。ソース装置10は、ビデオ符号化装置またはビデオ符号化デバイスとも呼ばれ得る。宛先装置20は、ソース装置10によって生成される符号化されたビデオデータを復号し得る。宛先装置20は、ビデオ復号装置またはビデオ復号デバイスとも呼ばれ得る。ソース装置10および/または宛先装置20は、少なくとも1つのプロセッサおよび少なくとも1つのプロセッサに接続されるメモリを含み得る。メモリは、限定はされないが、読取り専用メモリ(read-only memory, ROM)、ランダムアクセスメモリ(random access memory, RAM)、電気的消去可能プログラマブル読取り専用メモリ(electrically erasable programmable read-only memory, EEPROM)、フラッシュメモリ、または、命令もしくはデータ構造の形で必要とされるプログラムコードを記憶するように構成され得る、かつコンピュータによってアクセスされ得る、任意の他の媒体を含み得る。これは、本出願では特に限定されない。
ソース装置10および宛先装置20は、デスクトップコンピュータ、モバイルコンピューティング装置、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、「スマート」フォンなどのハンドヘルド電話セット、テレビジョンセット、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、車載コンピュータ、または同様の装置を含む、様々な装置を含み得る。
宛先装置20は、リンク30を通じてソース装置10から符号化されたビデオデータを受信し得る。リンク30は、ソース装置10から宛先装置20に符号化されたビデオデータを移すことができる1つまたは複数の媒体および/または装置を含み得る。ある例では、リンク30は、ソース装置10が符号化されたビデオデータをリアルタイムで宛先装置20に直接送信することを可能にする、1つまたは複数の通信媒体を含み得る。この例では、ソース装置10は、通信規格(たとえば、ワイヤレス通信プロトコル)に従って符号化されたビデオデータを変調してもよく、変調されたビデオデータを宛先装置20に送信してもよい。1つまたは複数の通信媒体は、ワイヤレスおよび/または有線通信媒体、たとえば、高周波(radio frequency, RF)スペクトルまたは1つもしくは複数の物理送信ケーブルを含み得る。1つまたは複数の通信媒体は、パケットベースネットワークの一部であってもよく、パケットベースネットワークは、たとえば、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク(たとえば、インターネット)である。1つまたは複数の通信媒体は、ソース装置10から宛先装置20への通信を実施する、ルータ、スイッチ、基地局、または別のデバイスを含み得る。
別の例では、符号化されたビデオデータは、出力インターフェース140を通じて記憶装置40に出力され得る。同様に、符号化されたビデオデータは、入力インターフェース240を通じて記憶装置40からアクセスされ得る。記憶装置40は、Blu-ray(登録商標)ディスク、高密度デジタルビデオディスク(digital video disc, DVD)、コンパクトディスク読取り専用メモリ(compact disc read-Only memory, CD-ROM)、フラッシュメモリ、または、符号化されたビデオデータを記憶するように構成される別の適切なデジタル記憶媒体などの、複数のタイプのローカルにアクセス可能なデータ記憶媒体を含み得る。
別の例では、記憶装置40は、ソース装置10によって生成される符号化されたビデオデータを記憶する、ファイルサーバまたは別の中間記憶装置に対応し得る。この例では、宛先装置20は、ストリーミング送信またはダウンロードを通じて、記憶装置40から記憶されているビデオデータを取得し得る。ファイルサーバは、符号化されたビデオデータを記憶して符号化されたビデオデータを宛先装置20に送信することができる任意のタイプのサーバであり得る。たとえば、ファイルサーバは、ワールドワイドウェブ(world wide web, Web)サーバ(たとえば、ウェブサイトのために使用される)、ファイル転送プロトコル(file transfer protocol, FTP)サーバ、ネットワークアタッチトストレージ(network attached storage, NAS)装置、およびローカルディスクドライブを含み得る。
宛先装置20は、任意の標準的なデータ接続(たとえば、インターネット接続)を通じて、符号化されたビデオデータにアクセスし得る。例示的なタイプのデータ接続は、ファイルサーバに記憶されている符号化されたビデオデータにアクセスするために使用され得るワイヤレスチャネルもしくは有線接続(たとえば、ケーブルモデム)、またはこれらのセットを含む。ファイルサーバからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはこれらのセットであり得る。
本出願における動き情報候補リスト構築するための方法およびインター予測方法は、ワイヤレス用途のシナリオには限定されない。たとえば、本出願における動き情報候補リストを構築するための方法およびインター予測方法は、以下の用途、すなわち、地上波テレビ放送、ケーブルテレビ送信、衛星テレビ送信、ストリーミングビデオ送信(たとえば、インターネットを通じた)、データ記憶媒体に記憶されているビデオデータの符号化、データ記憶媒体に記憶されているビデオデータの復号、または別の用途などの複数のマルチメディア用途をサポートするためのビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステムは、ストリーミングビデオ送信、ビデオ再生、ビデオブロードキャスト、および/またはビデオ電話などの用途をサポートするために、単方向または双方向ビデオ送信をサポートするように構成され得る。
図3に示されるビデオコーディングシステムは、ビデオコーディングシステムの例にすぎず、本出願におけるビデオコーディングシステムを限定しないことに留意されたい。本出願において提供される動き情報候補リストを構築するための方法は、符号化装置と復号装置との間にデータ通信がないシナリオにも適用可能であり得る。他の例では、符号化されるべきビデオデータまたは符号化されたビデオデータは、ローカルメモリから取り出されてもよく、ネットワーク上でストリーミング方式で送信されてもよい、などである。ビデオ符号化装置は、符号化されるべきビデオデータを符号化し、符号化されたビデオデータをメモリに記憶し得る。ビデオ復号装置はまた、メモリから符号化されたビデオデータを取得し、符号化されたビデオデータを復号し得る。
図3において、ソース装置10は、ビデオソース101、ビデオエンコーダ102、および出力インターフェース103を含む。いくつかの例では、出力インターフェース103は、変調器/復調器(モデム)および/または送信機を含み得る。ビデオソース101は、ビデオキャプチャ装置(たとえば、カメラ)、以前にキャプチャされたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオ入力インターフェース、および/もしくはビデオデータを生成するためのコンピュータプラフィクスシステム、または前述のビデオデータソースのセットを含み得る。
ビデオエンコーダ102は、ビデオソース101からのビデオデータを符号化し得る。いくつかの例では、ソース装置10は、出力インターフェース103を通じて、符号化されたビデオデータを宛先装置20に直接送信する。他の例では、符号化されたビデオデータは、記憶装置40に代替的に記憶され得るので、宛先装置20は、復号および/または再生のために符号化されたビデオデータに後でアクセスする。
図3の例では、宛先装置20は、表示装置201、ビデオデコーダ202、および入力インターフェース203を含む。いくつかの例では、入力インターフェース203は受信機および/またはモデムを含む。入力インターフェース203は、リンク30を通じて、および/または記憶装置40から、符号化されたビデオデータを受信し得る。表示装置201は、宛先装置20と統合されてもよく、または宛先装置20の外側に配設されてもよい。通常、表示装置201は復号されたビデオデータを表示する。表示装置201は、複数のタイプの表示装置、たとえば、液晶ディスプレイ、プラズマディスプレイ、有機発光ダイオードディスプレイ、または別のタイプの表示装置を含み得る。
任意選択で、ビデオエンコーダ102およびビデオデコーダ202はそれぞれ、オーディオエンコーダおよびオーディオデコーダと統合されてもよく、合成されたデータストリームまたは別個のデータストリームにおいてオーディオとビデオの両方を符号化するために、適切なマルチプレクサ-デマルチプレクサユニットまたは他のハードウェアおよびソフトウェアを含んでもよい。
ビデオエンコーダ102およびビデオデコーダ202は、少なくとも1つのマイクロプロセッサ、デジタルシグナルプロセッサ(digital signal processor, DSP)、特定用途向け集積回路(application-specific integrated circuit, ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array, FPGA)、ディスクリート論理、ハードウェア、またはこれらの任意のセットを各々含み得る。本出願において提供される動き情報候補リストを構築するための方法がソフトウェアを使用することによって実施される場合、ソフトウェアのために使用される命令は、適切な不揮発性コンピュータ可読記憶媒体に記憶されてもよく、少なくとも1つのプロセッサが、本出願を実装するようにハードウェアの中の命令を実行するために使用されてもよい。前述の内容(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む)のいずれの1つも、少なくとも1つのプロセッサと見なされ得る。ビデオエンコーダ102はエンコーダに含まれてもよく、ビデオデコーダ202はデコーダに含まれてもよく、エンコーダまたはデコーダは対応する装置の中の組み合わせられたエンコーダ/デコーダ(コーデック)の一部であってもよい。
本出願におけるビデオエンコーダ102およびビデオデコーダ202は、ビデオ圧縮規格(たとえば、HEVC)に従って動作を実行してもよく、または、別の産業規格に従って動作を実行してもよい。これは、本出願において特に限定されない。
図6を参照する。ビデオエンコーダ102とビデオデコーダ202の両方が、動き情報候補リストの中の動き情報候補セットの量が第1のあらかじめ設定された値に等しくなるまで、またはすべての近隣の画像ブロックが走査されるまで、第1のあらかじめ設定された順序で現在の画像ブロックのすべての近隣の画像ブロックに対して第1の処理プロセスを逐次実行し(S601)、S601の後で、第2のあらかじめ設定された順序で、少なくとも2つの追加の選択対象動き情報セットを逐次走査し、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、またはすべての追加の選択対象動き情報セットが走査されるまで、動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納し(S602)、すべての追加の選択対象動き情報セットが走査された後で、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも少ない場合、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、第1のあらかじめ設定された動き情報候補セットで動き情報候補リストを満たす(S603)ように構成される。
図7を参照する。ビデオエンコーダ102およびビデオデコーダ202は代替として、動き情報候補リストの中の動き情報候補セットの量が第1のあらかじめ設定された値に等しくなるまで、またはすべての近隣の画像ブロックが走査されるまで、第1のあらかじめ設定された順序で現在の画像ブロックのすべての近隣の画像ブロックに対して第1の処理プロセスを逐次実行し(S701)、第2のあらかじめ設定された順序で少なくとも2つの追加の選択対象動き情報セットを逐次走査して、第2の動き情報候補リストの中の動き情報候補セットの量が第2のあらかじめ設定された値に等しくなるまで、またはすべての追加の選択対象動き情報セットが走査されるまで、第2の動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納し(S702)、あらかじめ設定された規則に従って第1の動き情報候補リストおよび第2の動き情報候補リストを併合して、第3の動き情報候補リストを取得する(S703)ように構成される。
図8を参照する。ビデオエンコーダ102およびビデオデコーダ202は代替として、少なくとも1つの動き情報候補セットを含む動き情報候補リストを生成するために、第1のあらかじめ設定された順序で現在の画像ブロックのすべての近隣の画像ブロックを走査し(S800)、現在の画像ブロックのすべての近隣の画像ブロックを走査した後で、第2のあらかじめ設定された順序で少なくとも2つの追加の選択対象動き情報セットを逐次走査して、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、またはすべての追加の選択対象動き情報セットが走査されるまで、動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納し(S801)、すべての追加の選択対象動き情報セットが走査された後で、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも少ない場合、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、第3のあらかじめ設定された動き情報候補セットで動き情報候補リストを満たす(S802)ように構成される。
加えて、ビデオエンコーダ102は、動き情報候補リストから最適な動き情報候補セットを現在の画像ブロックの動き情報予測子として選択し、現在の画像ブロックの動き情報を決定し、動き情報予測子と動き情報との間の差分を計算し、差分値および動き情報候補リストにおける最適な動き情報候補セットのインデックス値をピア端に送信するようにさらに構成される。
ビデオデコーダ202は、ビットストリームを構文解析して、第1のインデックス値および動き情報差分を取得し、言い換えると、動き情報候補リストにおける現在の画像ブロックの制御点の動き情報予測子のインデックス値および動き情報差分を決定し、制御点の動き情報予測子を取得し、制御点の動き情報予測子および動き情報差分に基づいて制御点の動き情報を決定するようにさらに構成される。このやり方では、ビデオデコーダ202は、制御点の動き情報に基づいて現在の画像ブロックの予測ピクセルを決定し得る。
任意選択で、ビデオデコーダ202は、ビットストリームを構文解析して、第2のインデックス値を取得し、言い換えると、動き情報候補リストにおける現在の画像ブロックの制御点の動き情報のインデックス値を決定し、制御点の動き情報を取得するようにさらに構成される。このやり方では、ビデオデコーダ202は、制御点の動き情報に基づいて現在の画像ブロックの予測ピクセルを決定し得る。
図4は、本出願の実施形態によるビデオエンコーダ102の概略構造図である。図4に示されるように、ビデオエンコーダ102は、後処理エンティティ41にビデオを出力するように構成される。後処理エンティティ41は、ビデオエンコーダ102からの符号化されたビデオデータを処理することが可能なビデオエンティティ、たとえば、媒体認識ネットワーク要素(MANE)または統合装置/編集装置の例を表す。いくつかの場合、後処理エンティティ41はネットワークエンティティの例であり得る。いくつかのビデオ符号化システムでは、後処理エンティティ41およびビデオエンコーダ102は別々の装置のコンポーネントであり得る。他の場合には、後処理エンティティ41の機能は、ビデオエンコーダ100を含む同じ装置によって実行されてもよい。ある例では、後処理エンティティ41は、図3の記憶装置40の例である。
図4に示されるように、ビデオエンコーダ102は、変換器301、量子化器302、エントロピーエンコーダ303、フィルタ306、メモリ307、予測処理ユニット308、および加算器312を含む。予測処理ユニット308は、イントラ予測器309およびインター予測器310を含む。画像ブロックを再構築するために、ビデオエンコーダ102は、逆量子化器304、逆変換器305、および加算器311をさらに含む。フィルタ306は、1つまたは複数のループフィルタ、たとえば、デブロッキングフィルタ、適応ループフィルタ、およびサンプル適応オフセットフィルタを表すものとして定められる。
メモリ307は、ビデオエンコーダ102のコンポーネントによって符号化されるビデオデータを記憶し得る。メモリ307に記憶されるビデオデータは、ビデオソース101から取得され得る。メモリ307は、イントラコーディングモードまたはインターコーディングモードでビデオデータを符号化するためにビデオエンコーダ102によって使用される参照ビデオデータを記憶する、参照画像メモリであり得る。メモリ307は、同期DRAM(synchronous DRAM, SDRAM)を含むダイナミックランダムアクセスメモリ(dynamic RAM, DRAM)、磁気抵抗性RAM(magnetic RAM, MRAM)、抵抗性RAM(resistive RAM, RRAM(登録商標))、または別のタイプのメモリ装置であり得る。
ビデオエンコーダ102は、ビデオデータを受信し、ビデオデータメモリにビデオデータを記憶する。区分ユニットは、ビデオデータをいくつかの画像ブロックに区分し、これらの画像ブロックは、より小さいブロックにさらに区分されてもよく、たとえば、四分木構造または二分木構造に基づいて区分されてもよい。区分は、スライス(slice)、タイル(tile)、または他のより大きい単位へと区分することをさらに含み得る。ビデオエンコーダ102は通常、符号化されるべきビデオスライスにおいて画像ブロックを符号化するためのコンポーネントである。スライスは、複数の画像ブロックに区分され得る(タイルと呼ばれる画像ブロックセットへと区分され得る)。
予測処理ユニット308の中のイントラ予測器309は、空間的な冗長性をなくすために、現在の画像ブロックと同じフレームまたはスライスの中にある1つまたは複数の近隣の画像ブロックに対して相対的に、現在の画像ブロックに対するイントラ予測符号化を実行し得る。予測処理ユニット308の中のインター予測器310は、時間的な冗長性をなくすために、1つまたは複数の参照画像の中の1つまたは複数の予測画像ブロックに対して相対的に、現在の画像ブロックに対するインター予測符号化を実行し得る。
予測処理ユニット308は、取得されたイントラコーディングされた画像ブロックおよびインターコーディングされた画像ブロックを加算器310に提供して残差ブロックを生成し、残差ブロックを加算器309に提供して参照画像として使用される符号化されたブロックを再構築し得る。
予測処理ユニット308がインター予測およびイントラ予測を通じて現在の画像ブロックの予測画像ブロックを生成した後で、ビデオエンコーダ102は、符号化されるべき現在の画像ブロックから予測画像を差し引くことによって残差画像ブロックを生成する。加算器312は、この減算演算を実行する1つまたは複数のコンポーネントを表す。残差ブロックの中の残差ビデオデータは、1つまたは複数の変換ユニット(transform unit, TU)に含まれ、変換器301に適用され得る。変換器301は、離散コサイン変換(discrete cosine transform, DCT)または概念的に同様の変換などの変換を通じて、残差ビデオデータを残差変換係数に変換する。変換器301は、ピクセル値領域から変換領域、たとえば周波数領域に残差ビデオデータを変換し得る。
変換器301は、取得された変換係数を量子化器302に送信し得る。量子化器302は、ビットレートをさらに下げるために変換係数を量子化する。いくつかの例では、量子化器302は、量子化された変換係数を含む行列をさらにスキャンし得る。代替として、エントロピーエンコーダ303がスキャンを実行し得る。
量子化の後、エントロピーエンコーダ303は、量子化された変換係数に対してエントロピー符号化を実行する。たとえば、エントロピーエンコーダ303は、コンテキスト適応可変長コーディング(context-adaptive variable-length coding, CAVLC)、コンテキスト適応バイナリ算術コーディング(context-adaptive binary arithmetic coding, CABAC)、または別のエントロピーコーディング方法もしくは技術を実行し得る。エントロピーエンコーダ303がエントロピー符号化を実行した後、符号化されたビットストリームは、ビデオデコーダ202に送信され、または、後の送信もしくはビデオデコーダ202による後の取り出しのためにアーカイブされ得る。エントロピーエンコーダ303は、符号化されるべき現在の画像ブロックのシンタックス要素に対してエントロピー符号化をさらに実行し得る。
逆量子化器304および逆変換器305は、たとえば参照画像の参照ブロックとして後で使用されることになるピクセル領域の中の残差ブロックを再構築するために、逆量子化および逆変換をそれぞれ実行する。加算器311は、インター予測器310またはイントラ予測器309によって生成される予測画像ブロックに再構築された残差ブロックを加算して、再構築された画像ブロックを生成する。画像ブロックの予測画像ブロックは、画像ブロックの参照画像ブロックに対して処理(補間など)を実行することによって取得され得る。
ビデオエンコーダ102の他の構造的な変形が、ビデオストリームを符号化するために使用され得ることを理解されたい。たとえば、一部の画像ブロックまたは画像フレームに対して、ビデオエンコーダ102は残差信号を直接量子化してもよく、それに対応して、変換器301および逆変換器305による処理は必要とされない。代替として、一部の画像ブロックまたは画像フレームに対して、ビデオエンコーダ102は残差データを生成せず、それに対応して、変換器301、量子化器302、逆量子化器304、および逆変換器305による処理は必要とされない。代替として、ビデオエンコーダ102は、フィルタ306による処理なしで、再構築された画像ブロックを参照ブロックとして直接記憶してもよい。代替として、ビデオエンコーダ102の中の量子化器302および逆量子化器304は組み合わせられてもよい。
図5は、本出願の実施形態によるビデオデコーダ202の概略構造図である。図5に示されるように、ビデオデコーダ202は、エントロピーデコーダ401、逆量子化器402、逆変換器403、フィルタ404、メモリ405、予測処理ユニット406、および加算器409を含む。予測処理ユニット406は、イントラ予測器407およびインター予測器408を含む。いくつかの例では、ビデオデコーダ202は、図4のビデオエンコーダ102によって実行される符号化プロセスとは概ね逆の復号プロセスを実行し得る。
復号プロセスにおいて、ビデオデコーダ202はビデオエンコーダ102からビットストリームを受信する。ビデオデコーダ202は、ネットワークエンティティ42からビデオデータを受信してもよく、任意選択で、ビデオデータメモリ(図に示されない)にビデオデータをさらに記憶してもよい。ビデオデータメモリは、ビデオデコーダ202のコンポーネントによって復号されるべきビデオデータ、たとえば符号化されたビットストリームを記憶し得る。ビデオデータメモリに記憶されているビデオデータは、ビデオデータの有線ネットワーク通信もしくはワイヤレスネットワーク通信を通じて、または物理データ記憶媒体にアクセスすることによって、たとえば記憶装置40またはカメラなどのローカルビデオソースから取得され得る。ビデオデータメモリは図5に示されないが、ビデオデータメモリおよびメモリ405は、同じメモリであってもよく、または別々に配設されるメモリであってもよい。ビデオデータメモリおよびメモリ405は、複数のタイプのメモリ装置、たとえば、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗性RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または別のタイプのメモリ装置の任意の1つによって各々構成され得る。様々な例において、ビデオデータメモリは、ビデオデコーダ202の他のコンポーネントと一緒にチップへと統合されてもよく、またはそれらのコンポーネントに対して相対的にチップの外側に配設されてもよい。
ネットワークエンティティ42は、たとえば、サーバ、MANE、ビデオエディタ/スプライサ、または、上で説明された技術の1つまたは複数を実装するように構成される別の装置であり得る。ネットワークエンティティ42は、ビデオエンコーダ、たとえばビデオエンコーダ102を含んでもよく、または含まなくてもよい。ネットワークエンティティ42がビットストリームをビデオデコーダ202に送信する前に、ネットワークエンティティ42が、本出願において説明される技術の一部を実施し得る。いくつかのビデオ復号システムでは、ネットワークエンティティ42およびビデオデコーダ202は、別個の装置のコンポーネントであり得る。他の場合には、ネットワークエンティティ42の機能は、ビデオデコーダ202を含む同じ装置によって実行され得る。いくつかの場合、ネットワークエンティティ42は、図3の記憶装置40の例であり得る。
ビデオデコーダ202のエントロピーデコーダ401は、ビットストリームに対してエントロピー復号を実行して、量子化された係数およびいくつかのシンタックス要素を生成する。エントロピーデコーダ401は、シンタックス要素をフィルタ404に転送する。ビデオデコーダ202は、ビデオスライスレベルおよび/または画像ブロックレベルで複数のシンタックス要素/1つのシンタックス要素を受信し得る。
逆量子化器402は、ビットストリームにおいて提供されエントロピーデコーダ401によって復号される、量子化された変換係数に対して逆量子化を実行し、言い換えると逆量子化する。逆量子化プロセスは、ビデオスライスの中の各画像ブロックに対してビデオエンコーダ102によって計算された量子化パラメータを使用することによって適用されるべき量子化の程度を決定することと、適用されるべき逆量子化の程度を同様に決定することとを含み得る。逆変換器403は、逆変換、たとえば逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用して、ピクセル領域残差ブロックを生成する。
予測処理ユニット406が現在の画像ブロックまたは現在の画像ブロックのサブブロックに対する予測画像ブロックを生成した後、ビデオデコーダ202は、逆変換器403からの残差ブロックと予測処理ユニット406によって生成される対応する予測画像ブロックとを加算して、再構築されたブロック、すなわち復号された画像ブロックを取得する。加算器409(これは再構築器409とも呼ばれる)は、この加算演算を実行するコンポーネントを表す。必要なとき、フィルタ(復号ループの中または後の)がピクセルを滑らかにするためにさらに使用されてもよく、またはビデオ品質が別の方式で改善されてもよい。フィルタ404は、1つまたは複数のループフィルタ、たとえばデブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタであり得る。
ビデオデコーダ202の他の構造的な変形が、ビットストリームを復号するために使用され得ることを理解されたい。たとえば、一部の画像ブロックまたは画像フレームに対して、ビデオデコーダ202のエントロピーデコーダ401は、復号を通じて量子化された係数を取得せず、それに対応して、逆量子化器402および逆変換器403による処理は必要とされない。たとえば、ビデオデコーダ202の中の逆量子化器402および逆変換器403は組み合わせられてもよい。
図3に示されるビデオコーディングシステム、図4に示されるビデオエンコーダ102、および図5に示されるビデオデコーダ202に基づいて、以下では、本出願において提供される動き情報候補リストを構築するための方法およびインター予測方法を詳しく説明する。
図6は、本出願の実施形態による動き情報候補リストを構築するための方法の概略フローチャートである。図6に示される方法は、構築装置によって実行される。構築装置は、図3のビデオデコーダ202またはビデオエンコーダ102であり得る。
図6に示されるように、本出願のこの実施形態における動き情報候補リストを構築するための方法は、以下のステップを含み得る。
S601:構築装置が、動き情報候補リストの中の動き情報候補セットの量が第1のあらかじめ設定された値に等しくなるまで、またはすべての近隣の画像ブロックが走査されるまで、第1のあらかじめ設定された順序で現在の画像ブロックのすべての近隣の画像ブロックに対する第1の処理プロセスを逐次実行する。
第1の処理プロセスは次の通りである。i番目の近隣の画像ブロックについて、i番目の近隣の画像ブロックがアフィンコーディングブロックであるとき、構築装置は、i番目の近隣の画像ブロックおよび動き情報候補リストに格納された動き情報候補セットが同じコーディングユニットに由来するかどうかを決定する。i番目の近隣の画像ブロックが属するコーディングユニットからの動き情報候補セットが動き情報候補リストに存在しない場合、構築装置は、i番目の近隣の画像ブロックのx個の制御点の動き情報に基づいて、現在の画像ブロックのx個の制御点の動き情報候補を決定し、動き情報候補リストに、現在の画像ブロックのx個の制御点の動き情報候補を含む動き情報候補セットを格納し、i∈[1,n]であり、nは現在の画像ブロックの近隣の画像ブロックの量であり、xとnの両方が2以上の整数である。
任意選択で、i番目の近隣の画像ブロックおよび動き情報候補リストに格納された動き情報候補セットが同じコーディングユニットに由来するかどうかを決定するために構築装置によって使用される方法は、次の通りである。構築装置が、i番目の近隣の画像ブロックが属するコーディングユニットの左上の角の情報が標的コーディングユニットの左上の角の情報と同じであるかどうかを決定し、標的コーディングユニットは、動き情報候補リストに格納された動き情報候補セットを計算するために使用される近隣の画像ブロックが属するコーディングユニットである。本明細書では、左上の角の情報は左上の角の位置情報であり得る。
たとえば、画像ブロックA0および画像ブロックB1が現在の画像ブロックに隣接する場合、画像ブロックB1が属するコーディングユニットはCU2であり、CU2の左上の角の座標は(x0,y0)であり、画像ブロックA0が属するコーディングユニットはCU1であり、CU1の左上の角の座標は(x1,y1)である。この場合に動き情報候補リストが空である場合、構築装置は、画像ブロックB1の制御点の動き情報に基づいて現在の画像ブロックの制御点の動き情報候補を決定し、動き情報候補リストに動き情報候補を格納する。この場合に動き情報候補リストが空ではなく、画像ブロックA0の制御点の動き情報に基づいて決定される動き情報候補を含む場合、構築装置は、x1≠x0||y1≠y0が満たされるかどうかを決定する。x1≠x0||y1≠y0であることを構築装置が決定する場合、構築装置は、画像ブロックB1の制御点の動き情報に基づいて現在の画像ブロックの制御点の動き情報候補を決定し、動き情報候補リストに動き情報候補を格納する。それ以外の場合、構築装置は次の近隣の画像ブロックを走査する。
任意選択で、構築装置は、標的コーディングユニットの左上の角の座標を格納するために使用される候補リストを生成し得る。このやり方では、構築装置は、i番目の近隣の画像ブロックが属するコーディングユニットの左上の角の情報が候補リストに存在するかどうかを直接決定する。構築装置は代替として、動き情報候補リストに標的コーディングユニットの左上の角の座標を格納し得る。これは、本出願のこの実施形態では特に限定されない。
構築装置は代替として、別の方法を使用することによって、i番目の近隣の画像ブロックおよび動き情報候補リストに格納された動き情報候補セットが同じコーディングユニットに由来するかどうかを決定し得ることに留意されたい。これは、本出願のこの実施形態では特に限定されない。たとえば、構築装置は、カウント値を各コーディングユニットに割り振り、または固有のIDを各コーディングユニットに割り振り得る。このやり方では、構築装置は、カウント値を比較することによって、またはIDに基づいて決定を実行する。
第1の処理プロセスは、前述の承継制御点動きベクトル予測方法と類似していることがわかり得る。違いは、第1の処理プロセスでは、構築装置が、i番目の近隣の画像ブロックおよび動き情報候補リストに格納された動き情報候補セットが同じコーディングユニットに由来するかどうかを決定して、i番目の近隣の画像ブロックのx個の制御点の動き情報に基づいて現在の画像ブロックのx個の制御点の動き情報候補を決定するかどうかを決定し、動き情報候補リストに、現在の画像ブロックのx個の制御点の動き情報候補を含む動き情報候補セットをさらに格納するという点である。新しい動き情報候補を動き情報候補リストに毎回追加するとき、構築装置は、新しい動き情報候補が動き情報候補リストに存在するかどうかを決定する必要がない。これは、計算の複雑さおよび遅延を実質的に減らす。
本出願の実施形態における第1のあらかじめ設定された値は、最大の承継リスト長MaxNumInheritMrgCandであり得る。第1のあらかじめ設定された値は、あらかじめ設定された量の値、たとえば1、2、または3よりも小さい整数である。あらかじめ設定された量の値は、動き情報候補の最大の長さの値である。構築装置は、第1のあらかじめ設定された順序で、現在の画像ブロックのすべての近隣の画像ブロックに対して第1の処理プロセスを逐次実行する。動き情報候補リストの中の動き情報候補セットの量が第1のあらかじめ設定された値に達する場合、構築装置は、動き情報候補リストの生成を終了する。それ以外の場合、構築装置は、次の近隣の画像ブロックを走査することに続く。
本出願のこの実施形態では、構築装置が第1の処理プロセスを使用することによって近隣の画像を走査する回数は、第1のあらかじめ設定された値によって制限される。言い換えると、承継制御点動きベクトル予測方法を実行する回数は減らされる。承継制御点動きベクトル予測方法の計算の複雑さは比較的高いので、承継制御点動きベクトル予測方法を実行する回数が減らされた後、計算の複雑さは比較的低下する。
S602:S601を実行した後、構築装置は、少なくとも2つの追加の選択対象動き情報セットを第2のあらかじめ設定された順序で逐次走査し、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、またはすべての追加の選択対象動き情報セットが走査されるまで、動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納する。
あらかじめ設定された量の値は、第1のあらかじめ設定された値よりも大きい。追加の選択対象動き情報セットは、現在の画像ブロックの少なくとも2つの制御点の追加の選択対象動き情報を含み、制御点の追加の選択対象動き情報は、現在の画像ブロックに隣接するインターコーディングされた画像ブロックの動き情報である。
具体的には、動き情報候補リストの中の動き情報候補セットの量が第1のあらかじめ設定された値に等しくなった後、構築装置は、現在の画像ブロックの各制御点の追加の選択対象動き情報を決定し、制御点の取得された追加の選択対象動き情報を組み合わせて少なくとも2つの追加の選択対象動き情報セットを取得する。
さらに、構築装置は、以下の3つの最適な実装形態のいずれか1つを実行する。
第1の最適な実装形態では、少なくとも2つの追加の選択対象動き情報セットを生成し、少なくとも2つの追加の選択対象動き情報セットを逐次走査し、動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択された動き情報セットを格納するために、構築装置によって使用される方法については、ステップAおよびステップBの説明を参照されたい。
第2の最適な実装形態では、少なくとも2つの追加の選択対象動き情報セットが生成された後、少なくとも2つの追加の選択対象動き情報セットを逐次走査し、動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納するために、構築装置によって使用される方法は、各々の追加の選択対象動き情報セットに対して、構築装置が、追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであるかどうかを決定するというものであり得る。追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであるとき、構築装置は、動き情報候補リストに追加の選択対象動き情報セットを格納する。構築装置は、セットの中の制御点の動きベクトルを決定せず、または動きベクトルスケーリングを実行しない。これは、前述のステップAおよびステップBとは異なり、動きベクトルスケーリングにより引き起こされる比較的高い計算の複雑さを回避する。言い換えると、このシナリオでは、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスは同じである。
第3の最適な実装形態では、少なくとも2つの追加の選択対象動き情報セットが生成された後、少なくとも2つの追加の選択対象動き情報セットを逐次走査し、動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納するために、構築装置によって使用される方法は、各々の追加の選択対象動き情報セットに対して、構築装置が、追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであるかどうかを決定する。追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであるとき、構築装置は、追加の選択対象動き情報セットの中のすべての制御点の追加の選択対象動きベクトルが同じであるかどうかを決定する。追加の選択対象動き情報セットの中のすべての制御点の追加の選択対象動きベクトルが異なる場合、構築装置は、動き情報候補リストに追加の選択対象動き情報セットを格納する。構築装置は、動きベクトルスケーリングを実行しない。これは、前述のステップAおよびステップBとは異なり、動きベクトルスケーリングにより引き起こされる比較的高い計算の複雑さを回避する。言い換えると、このシナリオでは、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中の少なくとも2つの制御点の追加の選択対象動きベクトルは異なる。
任意選択で、構築装置によって生成される追加の選択対象動き情報セットはさらに、第1の制御点の追加の選択対象動き情報および第2の制御点の追加の選択対象動き情報を少なくとも含んでもよく、第1の制御点および第2の制御点は現在の画像ブロックの近隣の制御点である。言い換えると、本出願のこの実施形態における追加の選択対象動き情報セットは、現在の画像ブロックの対角制御点の追加の選択対象動き情報のみを含むことはできない。
たとえば、前述のステップBを参照すると、本出願の構築装置は、任意の2つの制御点の追加の選択対象動きベクトルを組み合わせて、4パラメータアフィン動きモデルを構築し得る。2つの制御点の追加の選択対象動きベクトルは、(vcp1,vcp2)、(vcp2,vcp4)、(vcp1,vcp3)、および(vcp3,vcp4)のように組み合わせられ得る。たとえば、本出願のこの実施形態では、vcp1およびvcp2を使用することによって構築される4パラメータアフィン動きモデルは、Affine(vcp1,vcp2)と表記される。
構築装置は、任意の3つの制御点の追加の選択対象動きベクトルを組み合わせて、6パラメータアフィン動きモデルを構築する。3つの制御点の追加の選択対象動きベクトルは、(vcp1,vcp2,vcp4)、(vcp1,vcp2,vcp3)、(vcp2,vcp3,vcp4)、および(vcp1,vcp3,vcp4)のように組み合わせられ得る。たとえば、本出願のこの実施形態では、vcp1、vcp2、およびvcp3を使用することによって構築される6パラメータアフィン動きモデルは、Affine(vcp1,vcp2,vcp3)と表記される。
構築装置は、前述の4つの制御点の追加の選択対象動きベクトルを組み合わせて、8パラメータアフィン動きモデルを構築する。たとえば、本出願のこの実施形態では、vcp1、vcp2、vcp3、およびvcp4を使用することによって構築される8パラメータ双線形モデルは、Bilinear(vcp1,vcp2,vcp3,vcp4)と表記される。
構築装置は、参照フレームインデックスと、各々の追加の選択対象動き情報セットの中の追加の選択対象動きベクトルとを、Affine(vcp1,vcp2,vcp3)→Affine(vcp1,vcp2,vcp4)→Affine(vcp1,vcp3,vcp4)→Affine(vcp2,vcp3,vcp4)→Affine(vcp1,vcp2)→Affine(vcp1,vcp3)→Affine(vcp2,vcp4)→Affine(vcp3,vcp4)の順序で逐次決定する。
S603:すべての追加の選択対象動き情報セットが走査された後で、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも少ない場合、構築装置は、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、第1のあらかじめ設定された動き情報候補セットで動き情報候補リストを満たす。
本出願のこの実施形態では、第1の処理プロセスを実行する回数が実質的に制限されるように、第1のあらかじめ設定された値が設定される。これは、計算の複雑さおよび遅延を減らす。さらに、追加の選択対象動き情報セットは、2つの近隣の制御点の動き情報を少なくとも含んでもよく、構築装置は動きベクトルスケーリングをもはや実行しない。これは、計算の複雑さおよび遅延をさらに減らす。
図7は、本出願の実施形態による、動き情報候補リストを構築するための方法の別の概略フローチャートである。図7に示される方法は、構築装置によって実行される。構築装置は、図3のビデオデコーダ202またはビデオエンコーダ102であり得る。
図7に示されるように、本出願のこの実施形態における動き情報候補リストを構築するための方法は、次のステップを含み得る。
S701:構築装置が、第1の動き情報候補リストの中の動き情報候補セットの量が第1のあらかじめ設定された値に等しくなるまで、またはすべての近隣の画像ブロックが走査されるまで、現在の画像ブロックのすべての近隣の画像ブロックに対して第1の処理プロセスを第1のあらかじめ設定された順序で逐次実行する。
S701については、前述のS601の説明を参照されたい。詳細はここでは再び説明されない。
S702:構築装置が、少なくとも2つの追加の選択対象動き情報セットを第2のあらかじめ設定された順序で逐次走査し、第2の動き情報候補リストの中の動き情報候補セットの量が第2のあらかじめ設定された値に等しくなるまで、またはすべての追加の選択対象動き情報セットが走査されるまで、第2の動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納する。
追加の選択対象動き情報セットは、現在の画像ブロックの少なくとも2つの制御点の追加の選択対象動き情報を含み、制御点の追加の選択対象動き情報は、現在の画像ブロックに隣接するインターコーディングされた画像ブロックの動き情報である。
あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが、同じである。代替として、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、あらかじめ設定された条件を満たす追加の選択対象動き情報セットの中の少なくとも2つの制御点の追加の選択対象動きベクトルが異なる。
S702については、前述のS602の第2のまたは第3の最適な実装形態の説明を参照されたい。詳細はここでは再び説明されない。
S703:構築装置が、あらかじめ設定された規則に従って第1の動き情報候補リストおよび第2の動き情報候補リストを併合して、第3の動き情報候補リストを取得する。
任意選択で、構築装置は、第2の動き情報候補リストの中の(部分的な)動き情報候補の前または後に、第1の動き情報候補リストの中の(部分的な)動き情報候補を置き得る。これは、本出願のこの実施形態では特に限定されない。
任意選択で、構築装置は、第1の動き情報候補リストおよび第2の動き情報候補リストを直接併合し得る。代替として、構築装置は、同じ動き情報候補セットが第1の動き情報候補リストおよび第2の動き情報候補リストに存在するかどうかを決定し得る。同じ動き情報候補セットが第1の動き情報候補リストおよび第2の動き情報候補リストに存在する場合、構築装置は反復する動き情報候補セットを削除する。
本明細書では、構築装置が、第2の動き情報候補リストの中のすべての動き情報候補よりも前に第1の動き情報候補リストの中のすべての動き情報候補を置く例を使用することによって、説明が与えられる。
具体的には、構築装置は、第2の動き情報候補リストの中のすべての動き情報候補の前に第1の動き情報候補リストの中のすべての動き情報候補を置き、標的動き情報候補リストを生成する。次いで、構築装置は、標的動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも少ないかどうかを決定する。標的動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも少ない場合、構築装置は、標的動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、第2のあらかじめ設定された動き情報候補セットで標的動き情報候補リストを満たす。このやり方では、構築装置は、第3の動き情報候補リストとして、満たした後に得られる標的動き情報候補リストを使用する。標的動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しい場合、構築装置は、第3の動き情報候補リストとして標的動き情報候補リストを使用する。標的動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも多い場合、構築装置は、削除の後に得られる標的動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるように、標的動き情報候補リストの中の少なくとも1つの動き情報候補を削除し、第3の動き情報候補リストとして、削除の後に得られる標的動き情報候補を使用する。
当然、前述の例に加えて、あらかじめ設定された量の値に基づいて、構築装置はまた、第1の動き情報候補リストからA個の動き情報候補セットを選択し、第2の動き情報候補リストからB個の動き情報候補セットを選択して、A個の動き情報候補セットおよびB個の動き情報候補セットを含む第3の動き情報候補セットを生成し得る。本明細書では、AおよびBの合計はあらかじめ設定された量の値に等しい。本出願のこの実施形態では、第3の動き情報候補リストを生成するための方法は特に限定されない。
構築装置は、S702の前にS701を実行してもよく、またはS701の前にS702を実行してもよく、またはS701およびS702を同時に実行してもよいことに留意されたい。これは、本出願のこの実施形態では特に限定されない。
構築装置は、第1の動き情報候補リストおよび第2の動き情報候補リストを別々に構築し、次いで、第1の動き情報候補リストおよび第2の動き情報候補リストを統合する。第1の動き情報候補リストおよび第2の動き情報候補リストを構築するプロセスでは、構築装置は、第1の動き情報候補リストおよび第2の動き情報候補リストの長さを制限する。これは、計算の複雑さおよび遅延を実質的に減らす。
図8は、本出願の実施形態による、動き情報候補リストを構築するための方法の別の概略フローチャートである。図8に示される方法は、構築装置によって実行される。構築装置は、図3のビデオデコーダ202またはビデオエンコーダ102であり得る。
図8に示されるように、本出願のこの実施形態における動き情報候補リストを構築するための方法は次のステップを含み得る。
S800:構築装置が、第1のあらかじめ設定された順序で現在の画像ブロックのすべての近隣の画像ブロックを走査し、少なくとも1つの動き情報候補セットを含む動き情報候補リストを生成する。
現在の画像ブロックの近隣の位置を走査するプロセスにおいて、走査された近隣の位置が位置する画像ブロックがアフィンコーディングブロックであるかどうかが、さらに決定される必要があることに留意されたい。画像ブロックがアフィンコーディングブロックである場合、アフィンコーディングブロックが取得され得る。加えて、現在の画像ブロックの制御点動き情報候補は、アフィンコーディングブロックの制御点の動き情報に基づいて導出される。近隣の位置が位置する画像ブロックが並進ブロックである場合、現在の画像ブロックの制御点動き情報候補を、並進ブロックに基づいて導出することはできない。したがって、ステップS800では、近隣の位置が位置する画像ブロックが並進ブロックである場合、走査される近隣の位置が位置する画像ブロックがアフィンコーディングブロックになるまで、現在の画像ブロックの別の近隣の位置が継続的に走査される必要がある。
動き情報候補セットは、現在の画像ブロックのx個の制御点の動き情報候補を含み、xは2以上の整数である。
S800のプロセスでは、前述の承継制御点動きベクトル予測方法の説明または図1の説明を参照されたい。詳細はここでは再び説明されない。
S801:現在の画像ブロックのすべての近隣の画像ブロックを走査した後、構築装置が、第2のあらかじめ設定された順序で少なくとも2つの追加の選択対象動き情報セットを逐次走査し、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、またはすべての追加の選択対象動き情報セットが走査されるまで、動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納する。
S801については、前述のS602の第2または第3の最適な実装形態の説明を参照されたい。詳細はここでは再び説明されない。
S802:すべての追加の選択対象動き情報セットが走査された後で、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値よりも少ない場合、構築装置が、動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、第3のあらかじめ設定された動き情報候補セットで動き情報候補リストを満たす。
S802については、前述のS603の説明を参照されたい。詳細はここでは再び説明されない。
追加の選択対象動き情報セットを処理するとき、構築装置は、参照フレームインデックス、および追加の選択対象動き情報セットの中のすべての制御点の追加の選択対象動きベクトルだけを決定し、決定の結果に基づいて、追加の選択対象動き情報セットを動き情報候補リストに格納すべきかどうかを決定する。構築装置は、動きベクトルスケーリングを実行する必要も、新しい動き情報候補セットをまず計算して次いで同じ動き情報が動き情報候補リストに存在するかどうかを決定する必要もない。これは、計算の複雑さおよび遅延を減らす。
加えて、本出願の実施形態は、インター予測方法をさらに提供する。具体的には、インター予測装置は、ビットストリームを取得し構文解析して、第1のインデックス値および動き情報差分を取得し、第1のインデックス値は、動き情報候補リストの中の現在の画像ブロックの制御点の動き情報予測子のインデックス値であり、動き情報候補リストは、図6から図8のいずれか1つにおいて説明される構築方法を使用することによって、前述の構築装置によって生成される。インター予測装置は、第1のインデックス値に基づいて、動き情報候補リストから制御点の動き情報予測子を取得する。インター予測装置は、制御点の動き情報予測子および動き情報差分に基づいて、制御点の動き情報を決定する。インター予測装置は、制御点の動き情報に基づいて現在の画像ブロックの予測ピクセルを決定する。
インター予測方法は、基本的に、本出願の実施形態において提供される構築方法に従って動き情報候補リストを生成すること、および、デコーダ側によって、あらかじめ設定されたアフィンAMVPモードを使用することによって動き情報候補リストに基づいてインター予測を実行することであることを理解するのは容易である。
本出願の実施形態は、インター予測方法をさらに提供する。具体的には、インター予測装置は、ビットストリームを取得し構文解析して、第2のインデックス値を取得し、第2のインデックス値は、動き情報候補リストの中の現在の画像ブロックの制御点の動き情報のインデックス値であり、動き情報候補リストは、図6から図8のいずれか1つにおいて説明される構築方法を使用することによって、前述の構築装置によって生成される。インター予測装置は、第2のインデックス値に基づいて動き情報候補リストから制御点の動き情報を取得する。インター予測装置は、制御点の動き情報に基づいて現在の画像ブロックの予測ピクセルを決定する。
インター予測方法は、基本的に、本出願の実施形態において提供される構築方法に従って動き情報候補リストを生成すること、および、デコーダ側によって、アフィンマージモードを使用することによって動き情報候補リストに基づいてインター予測を実行することであることを理解するのは容易である。
本出願の実施形態は、動き情報候補リストを構築するための装置を提供する。構築装置は、ビデオデコーダ、ビデオエンコーダ、またはデコーダであり得る。具体的には、動き情報候補リストを構築するための装置は、動き情報候補リストを構築するための前述の方法における構築装置によって実行されるステップを実行するように構成される。本出願のこの実施形態において提供される構築装置は、対応するステップに対応するモジュールを含み得る。
本出願の実施形態では、動き情報候補リストを構築するための装置は、前述の方法の例に基づいて機能モジュールへと分割され得る。たとえば、各機能モジュールは、対応する機能に基づく分割を通じて取得されてもよく、または、2つ以上の機能が1つの処理モジュールに統合されてもよい。統合されたモジュールは、ハードウェアの形で実装されてもよく、または、ソフトウェア機能モジュールの形で実装されてもよい。本出願の実施形態では、モジュールへの分割は例であり、論理的な機能の分割にすぎず、実際の実装形態では他の分割であってもよい。
各機能モジュールが対応する機能に基づく分割を通じて取得されるとき、図9は、前述の実施形態における動き情報候補リストを構築するための装置の可能な概略構造図である。図9に示されるように、動き情報候補リストを構築するための装置9は、第1の処理ユニット90、第2の処理ユニット91、充填ユニット92、併合ユニット93、および記憶ユニット94を含む。
第1の処理ユニット90は、動き情報候補リストを構築して、前述の実施形態におけるS601、S701、S801などを実行するための装置をサポートするように構成され、かつ/または、本明細書において説明される技術の別のプロセスにおいて使用される。
第2の処理ユニット91は、動き情報候補リストを構築して、前述の実施形態におけるS602、S702、S802などを実行するための装置をサポートするように構成され、かつ/または、本明細書において説明される技術の別のプロセスにおいて使用される。
充填ユニット92は、動き情報候補リストを構築して、前述の実施形態におけるS603、S802などを実行するための装置をサポートするように構成され、かつ/または本明細書において説明される技術の別のプロセスにおいて使用される。
併合ユニット93は、動き情報候補リストを構築して、前述の実施形態におけるS703などを実行するための装置をサポートするように構成され、かつ/または、本明細書において説明される技術の別のプロセスにおいて使用される。
記憶ユニット94は、動き情報候補リストを構築するための装置のプログラムコードおよびデータを記憶するように構成されてもよく、動き情報候補リストを記憶するようにさらに構成されてもよい。
前述の方法の実施形態におけるステップのすべての関連する内容は、対応する機能モジュールの機能の説明において引用され得る。詳細はここでは再び説明されない。
統合されたユニットが使用されるとき、図10は、本出願の実施形態において提供される動き情報候補リストを構築するための装置の概略構造図である。図10では、動き情報候補リストを構築するための装置10は、処理モジュール100および通信モジュール101を含む。処理モジュール100は、動き情報候補リストを構築するための装置の行動を制御して管理し、たとえば、第1の処理ユニット90、第2の処理ユニット91、充填ユニット92、および併合ユニット93によって実行されるステップを実行するように構成され、かつ/または、本明細書において説明される技術の別のプロセスを実行するように構成される。通信モジュール101は、動き情報候補リストを構築するための装置と別のデバイスとの間の対話をサポートするように構成される。図10に示されるように、動き情報候補リストを構築するための装置は、記憶モジュール102をさらに含み得る。記憶モジュール102は、動き情報候補リストを構築するための装置のプログラムコードおよびデータを記憶し、たとえば、記憶ユニット94によって記憶されている内容を記憶するように構成される。
処理モジュール100は、プロセッサまたはコントローラであってもよく、たとえば、中央処理装置(Central Processing Unit, CPU)、汎用プロセッサ、デジタルシグナルプロセッサ(Digital Signal Processor, DSP)、ASIC、FPGAもしくは別のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェアコンポーネント、またはこれらの任意のセットであり得る。処理モジュール100は、本出願において開示される内容を参照して説明される様々な例示的な論理ブロック、モジュール、および回路を、実装または実行し得る。プロセッサは、代替として、計算機能を実装するためのセット、たとえば、1つまたは複数のマイクロプロセッサを含むセット、またはDSPおよびマイクロプロセッサの組合せであり得る。通信モジュール101は、トランシーバ、RF回路、通信インターフェースなどであり得る。記憶モジュール102はメモリであり得る。
前述の方法の実施形態におけるシナリオのすべての関連する内容が、対応する機能モジュールの機能の説明において引用され得る。詳細はここでは再び説明されない。
動き情報候補リストを構築するための装置9と動き情報候補リストを構築するための装置10の両方が、図6から図8に示される動き情報候補リストを構築するための方法を実行し得る。動き情報候補リストを構築するための装置9および動き情報候補リストを構築するための装置10は各々、具体的にはビデオ復号装置またはビデオコーディング機能を有する別のデバイスであり得る。動き情報候補リストを構築するための装置9および動き情報候補リストを構築するための装置10は、復号プロセスにおいて画像予測を実行するように構成され得る。
本出願の実施形態はインター予測装置を提供する。インター予測装置は、ビデオデコーダ、ビデオエンコーダ、またはデコーダであり得る。具体的には、インター予測装置は、前述のインター予測方法においてインター予測装置によって実行されるステップを実行するように構成される。本出願の実施形態において提供されるインター予測装置は、対応するステップに対応するモジュールを含み得る。
本出願の実施形態において、インター予測装置は、前述の方法の例に基づいて機能モジュールへと分割され得る。たとえば、各機能モジュールは、対応する機能に基づく分割を通じて取得されてもよく、または、2つ以上の機能が1つの処理モジュールへと統合されてもよい。統合されたモジュールは、ハードウェアの形で実装されてもよく、または、ソフトウェア機能モジュールの形で実装されてもよい。本出願の実施形態では、モジュールへの分割は例であり、論理的な機能の分割にすぎず、実際の実装形態では他の分割であってもよい。
各機能モジュールが対応する機能に基づく分割を通じて取得されるとき、図11は、前述の実施形態におけるインター予測装置の考えられる概略構造図である。図11に示されるように、インター予測装置11は、取得ユニット110、決定ユニット111、および記憶ユニット112を含む。
取得ユニット110は、「ビットストリームを取得し構文解析して第1のインデックス値および動き情報差分を取得する」、「第1のインデックス値に基づいて動き情報候補リストから制御点の動き情報予測子を取得する」、「ビットストリームを取得し構文解析して第2のインデックス値を取得する」、および「第2のインデックス値に基づいて動き情報候補リストから制御点の動き情報を取得する」などの前述のステップを実行するためにインター予測装置をサポートするように構成され、かつ/または、本明細書において説明される技術の別のプロセスにおいて使用される。
決定ユニット111は、「制御点の取得された動き情報予測子および取得された動き情報差分に基づいて制御点の動き情報を決定する」、「制御点の動き情報に基づいて現在の画像ブロックの予測ピクセルを決定する」、「制御点の動き情報に基づいて現在の画像ブロックの予測ピクセルを決定する」などの前述のステップを実行するために、インター予測装置をサポートするように構成され、かつ/または、本明細書において説明される技術の別のプロセスにおいて使用される。
記憶ユニット112は、インター予測装置のプログラムコードおよびデータを記憶するように構成され得る。
前述の方法の実施形態におけるステップのすべての関連する内容が、対応する機能モジュールの機能の説明において引用され得る。詳細はここでは再び説明されない。
統合されたユニットが使用されるとき、図12は、本出願の実施形態において提供されるインター予測装置の概略構造図である。図12において、インター予測装置12は、処理モジュール120および通信モジュール121を含む。処理モジュール120は、インター予測装置の行動を制御して管理し、たとえば、取得ユニット110および決定ユニット111によって実行されるステップを実行するように構成され、かつ/または、本明細書で説明される技術の別のプロセスを実行するように構成される。通信モジュール121は、インター予測装置と別のデバイスとの間の対話をサポートするように構成される。図12に示されるように、インター予測装置は、記憶モジュール122をさらに含み得る。記憶モジュール122は、インター予測装置のプログラムコードおよびデータを記憶し、たとえば、記憶ユニット112によって記憶される内容を記憶するように構成される。
処理モジュール120は、プロセッサまたはコントローラであってもよく、たとえば、CPU、汎用プロセッサ、DSP、ASIC、FPGAもしくは別のプログラミング論理デバイス、トランジスタ論理デバイス、ハードウェアコンポーネント、またはこれらの任意の組合せであってもよい。処理モジュール120は、本出願において開示される内容を参照して説明される様々な例示的な論理ブロック、モジュール、および回路を、実装または実行し得る。プロセッサは代替として、計算機能を実装するための組合せ、たとえば、1つもしくは複数のマイクロプロセッサを含む組合せ、またはDSPおよびマイクロプロセッサの組合せであり得る。通信モジュール121は、トランシーバ、RF回路、通信インターフェースなどであり得る。記憶モジュール122はメモリであり得る。
前述の方法の実施形態におけるシナリオのすべての関連する内容が、対応する機能モジュールの機能の説明において引用され得る。詳細はここでは再び説明されない。
インター予測装置11とインター予測装置12の両方が、前述のインター予測方法を実行し得る。インター予測装置11およびインター予測装置12は各々、具体的にはビデオ復号装置またはビデオコーディング機能を有する別のデバイスであり得る。インター予測装置11およびインター予測装置12は、復号プロセスにおいて画像予測を実行するように構成され得る。
本出願は、端末をさらに提供する。端末は、1つまたは複数のプロセッサ、メモリ、および通信インターフェースを含む。メモリおよび通信インターフェースは、1つまたは複数のプロセッサに接続される。メモリは、コンピュータプログラムコードを記憶するように構成される。コンピュータプログラムコードは命令を含む。1つまたは複数のプロセッサが命令を実行するとき、端末は、本出願の実施形態における、動き情報候補リストを構築するための方法またはインター予測方法を実行する。
本明細書の端末は、ビデオ表示デバイス、スマートフォン、ポータブルコンピュータ、またはビデオを処理もしくは再生できる別のデバイスであり得る。
本出願は、不揮発性記憶媒体および中央処理装置を含む、ビデオデコーダをさらに提供する。不揮発性記憶媒体は、実行可能プログラムを記憶する。中央処理装置は、不揮発性記憶媒体に接続され、本出願の実施形態における動き情報候補リストを構築するための方法およびインター予測方法を実行するために実行可能プログラムを実行する。
本出願は、デコーダをさらに提供する。デコーダは、本出願の実施形態における動き情報候補リストを構築するための装置(動き情報候補リストを構築するための装置9または動き情報候補リストを構築するための装置10)、本出願の実施形態におけるインター予測装置(インター予測装置11またはインター予測装置12)、および再構築モジュールを含む。再構築モジュールは、インター予測装置によって取得される予測ピクセルに基づいて、現在の画像ブロックの再構築されたピクセル値を決定するように構成される。
本出願の別の実施形態は、コンピュータ可読記憶媒体をさらに提供する。コンピュータ可読記憶媒体は、1つまたは複数のプログラムコードを含む。1つまたは複数のプログラムは命令を含む。端末のプロセッサがプログラムコードを実行するとき、端末は、図6から図8のいずれか1つにおける動き情報候補リストを構築するための方法を実行し、またはインター予測方法を実行する。
本出願の別の実施形態では、コンピュータプログラム製品がさらに提供される。コンピュータプログラム製品はコンピュータ実行可能命令を含み、コンピュータ実行可能命令はコンピュータ可読記憶媒体に記憶される。端末の少なくとも1つのプロセッサは、コンピュータ可読記憶媒体からコンピュータ実行可能命令を読み取り得る。少なくとも1つのプロセッサは、端末が、図6から図8のいずれか1つにおける動き情報候補リストを構築するための方法を実行すること、またはインター予測方法を実行することを可能にするために、コンピュータ実行可能命令を実行する。
前述の実施形態のすべてまたは一部が、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組合せを使用することによって実装され得る。実施形態を実装するためにソフトウェアプログラムが使用されるとき、実施形態は、コンピュータプログラム製品の形で完全にまたは部分的に実装され得る。コンピュータプログラム製品は、1つまたは複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータにロードされてコンピュータ上で実行されるとき、本出願の実施形態による手順または機能は、すべてまたは部分的に生成される。
コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラム可能装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてもよく、またはあるコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。たとえば、コンピュータ命令は、あるウェブサイト、コンピュータ、サーバ、またはデータセンターから、別のウェブサイト、コンピュータ、サーバ、またはデータセンターへ、有線(たとえば、同軸ケーブル、光ファイバ、またはデジタル加入者線(DSL))またはワイヤレス(たとえば、赤外線、無線、またはマイクロ波)の方式で送信され得る。コンピュータ可読記憶媒体は、1つまたは複数の使用可能な媒体を統合する、コンピュータによってアクセス可能な任意の使用可能な媒体、または、サーバもしくはデータセンターなどのデータ記憶デバイスであり得る。使用可能な媒体は、磁気媒体(たとえば、フロッピー(登録商標)ディスク、ハードディスク、または磁気テープ)、光学媒体(たとえば、DVD)、半導体媒体(たとえば、ソリッドステートドライブ(solid-state disk, SSD))などであり得る。
実装形態についての前述の説明は、便宜的に、かつ簡潔な説明のために、前述の機能モジュールへの分割が説明のための例として見なされることを、当業者が明確に理解することを可能にする。実際の適用例では、前述の機能は、要件に基づいて異なる機能モジュールに割り振られて実装されてもよく、すなわち、上で説明された機能のすべてまたは一部を実装するために、装置の内部構造が異なる機能モジュールへと分割される。
本出願において提供されるいくつかの実施形態では、開示される装置および方法は他の方式で実装され得ることを理解されたい。たとえば、説明される装置の実施形態は例にすぎない。たとえば、モジュールまたはユニットへの分割は論理的な機能の分割にすぎず、実際の実装形態では、他の分割であってもよい。たとえば、複数のユニットまたはコンポーネントが組み合わせられてもよく、もしくは別の装置へと統合されてもよく、または一部の特徴が無視されてもよく、もしくは実行されなくてもよい。加えて、表示または議論される、相互の結合または直接の結合または通信接続は、何らかのインターフェースを使用することによって実装され得る。装置またはユニット間の間接的な結合または通信接続は、電子的な、機械的な、または他の形式で実装され得る。
別々の部分として説明されるユニットは、物理的に分離していてもまたはしていなくてもよく、ユニットとして表示される部分は、1つまたは複数の物理的なユニットであってもよく、1つの場所に位置していてもよく、または異なる場所に分散していてもよい。ユニットの一部またはすべてが、実施形態の解決法の目的を達成するために、実際の要件に基づいて選択され得る。
加えて、本出願の実施形態における機能ユニットは、1つの処理ユニットへと統合されてもよく、または、ユニットの各々が物理的に単独で存在してもよく、または、2つ以上のユニットが1つのユニットへと統合される。統合されたユニットは、ハードウェアの形で実装されてもよく、またはソフトウェア機能ユニットの形で実装されてもよい。
統合されたユニットがソフトウェア機能ユニットの形で実装され、独立した製品として販売または使用されるとき、統合されたユニットは可読記憶媒体に記憶され得る。そのような理解に基づいて、本出願の実施形態の技術的な解決法は基本的にソフトウェア製品の形で実装されてもよく、または従来技術に寄与する部分、または技術的な解決法のすべてもしくは一部が、ソフトウェア製品の形で実装されてもよい。ソフトウェア製品は、記憶媒体に記憶され、本出願の実施形態における方法のステップのすべてまたは一部を実行するようにデバイス(これはシングルチップマイクロコンピュータ、チップなどであり得る)またはプロセッサ(processor)に命令するための、いくつかの命令を含む。前述の記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、読取り専用メモリ(read-only memory, ROM)、ランダムアクセスメモリ(random access memory, RAM)、磁気ディスク、または光学ディスクなどの、プログラムコードを記憶できる任意の媒体を含む。
前述の説明は、本出願の特定の実装形態にすぎず、本出願の保護範囲を限定することは意図しない。本出願において開示される技術的な範囲内でのあらゆる変形または置換が、本出願の保護範囲内にあるものとする。したがって、本出願の保護範囲は、特許請求の範囲の保護範囲に依存するものとする。
9 動き情報候補リストを構築するための装置
10 ソース装置
11 インター予測装置
12 インター予測装置
20 宛先装置
30 リンク
40 記憶装置
90 第1の処理ユニット
91 第2の処理ユニット
92 充填ユニット
93 併合ユニット
94 記憶ユニット
101 ビデオソース
102 ビデオエンコーダ
103 出力インターフェース
110 取得ユニット
111 決定ユニット
112 記憶ユニット
120 処理モジュール
121 通信モジュール
122 記憶モジュール
201 表示装置
202 ビデオデコーダ
203 入力インターフェース
301 変換器
302 量子化器
303 エントロピーエンコーダ
304 逆量子化器
305 逆変換器
306 フィルタ
307 メモリ
308 予測処理ユニット
309 イントラ予測器
310 インター予測器
311 加算器
312 加算器
401 エントロピーエンコーダ
402 逆量子化器
403 逆変換器
404 フィルタ
405 メモリ
406 予測処理ユニット
407 イントラ予測器
408 インター予測器

Claims (12)

  1. 動きベクトル候補リストを構築するための方法であって、
    少なくとも1つの動き情報候補セットを含む動き情報候補リストを生成するステップであって、前記少なくとも1つの動き情報候補セットが、承継制御点動きベクトル予測方法を使用することによって前記現在の画像ブロックの近隣のアフィン画像ブロックから取得され、前記動き情報候補セットが、前記現在の画像ブロックのx個の制御点の動き情報候補を含み、xが2以上の整数である、ステップと、
    前記動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、前記動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納するステップであって、前記追加の選択対象動き情報セットが、前記現在の画像ブロックの少なくとも2つの制御点の追加の選択対象動き情報を含み、前記制御点の前記追加の選択対象動き情報が、前記現在の画像ブロックに隣接するインターコーディングされた画像ブロックの動き情報であり、
    前記あらかじめ設定された条件を満たす前記追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、または、前記あらかじめ設定された条件を満たす前記追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、前記あらかじめ設定された条件を満たす前記追加の選択対象動き情報セットの中の少なくとも2つの制御点の追加の選択対象動きベクトルが異なる、ステップと、
    前記動き情報候補リストの中の動き情報候補セットの量が前記あらかじめ設定された量の値よりも少ないとき、前記動き情報候補リストの中の動き情報候補セットの前記量が前記あらかじめ設定された量の値に等しくなるまで、第3のあらかじめ設定された動き情報候補セットで前記動き情報候補リストを満たすステップと
    を有する構築方法。
  2. 前記追加の選択対象動き情報セットが、第1の制御点の追加の選択対象動き情報および第2の制御点の追加の選択対象動き情報を少なくとも含み、前記第1の制御点および前記第2の制御点が、前記現在の画像ブロックの近隣の制御点である、請求項1に記載の構築方法。
  3. 前記現在の画像ブロックの前記近隣のアフィン画像ブロックが、前記現在の画像ブロックの左側および/または上側の複数の所定の位置または1つの所定の位置に位置する、請求項1または2に記載の構築方法。
  4. 前記追加の選択対象動き情報セットが、前記現在の画像ブロックの前記少なくとも2つの制御点の前記追加の選択対象動き情報を含み、前記少なくとも2つの制御点の中の各制御点の前記追加の選択対象動き情報が、前記制御点に隣接する特定の位置における画像ブロックに由来し、インター予測モードが、前記隣接する特定の位置における前記画像ブロックのために使用される、請求項1または2に記載の構築方法。
  5. ビットストリームを取得し構文解析して、第1のインデックス値および動き情報差分を取得するステップであって、前記第1のインデックス値が、動き情報候補リストの中の現在の画像ブロックの制御点の動き情報予測子のインデックス値であり、前記動き情報候補リストが、請求項1から4のいずれか一項に記載の構築方法を使用することによって生成される、ステップと、
    前記第1のインデックス値に基づいて前記動き情報候補リストから前記制御点の前記動き情報予測子を取得するステップと、
    前記制御点の前記動き情報予測子および前記動き情報差分に基づいて前記制御点の動き情報を決定するステップと、
    前記制御点の前記動き情報に基づいて前記現在の画像ブロックの予測ピクセルを決定するステップと
    を有する、インター予測方法。
  6. ビットストリームを取得し構文解析して、第2のインデックス値を取得するステップであって、前記第2のインデックス値が、前記動き情報候補リストの中の現在の画像ブロックの制御点の動き情報のインデックス値であり、前記動き情報候補リストが、請求項1から4のいずれか一項に記載の構築方法を使用することによって生成される、ステップと、
    前記第2のインデックス値に基づいて前記動き情報候補リストから前記制御点の前記動き情報を取得するステップと、
    前記制御点の前記動き情報に基づいて前記現在の画像ブロックの予測ピクセルを決定するステップと
    を有する、インター予測方法。
  7. 動きベクトル候補リストを構築するための装置であって、
    少なくとも1つの動き情報候補セットを含む動き情報候補リストを生成するように構成される第1の処理ユニットであって、前記少なくとも1つの動き情報候補セットが、承継制御点動きベクトル予測方法を使用することによって前記現在の画像ブロックの近隣のアフィン画像ブロックから取得され、前記動き情報候補セットが、前記現在の画像ブロックのx個の制御点の動き情報候補を含み、前記動き情報候補リストが記憶ユニットに記憶され、xが2以上の整数である、第1の処理ユニットと、
    前記動き情報候補リストの中の動き情報候補セットの量があらかじめ設定された量の値に等しくなるまで、前記動き情報候補リストに、あらかじめ設定された条件を満たす追加の選択対象動き情報セットを格納するように構成される第2の処理ユニットであって、前記追加の選択対象動き情報セットが、前記現在の画像ブロックの少なくとも2つの制御点の追加の選択対象動き情報を含み、前記制御点の前記追加の選択対象動き情報が、前記現在の画像ブロックに隣接するインターコーディングされた画像ブロックの動き情報であり、
    前記あらかじめ設定された条件を満たす前記追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、または、前記あらかじめ設定された条件を満たす前記追加の選択対象動き情報セットの中のすべての制御点の参照フレームインデックスが同じであり、前記あらかじめ設定された条件を満たす前記追加の選択対象動き情報セットの中の少なくとも2つの制御点の追加の選択対象動きベクトルが異なる、第2の処理ユニットと、
    前記動き情報候補リストの中の動き情報候補セットの量が前記あらかじめ設定された量の値よりも少ないとき、前記動き情報候補リストの中の動き情報候補セットの前記量が前記あらかじめ設定された量の値に等しくなるまで、第3のあらかじめ設定された動き情報候補セットで前記動き情報候補リストを満たすように構成される充填ユニットと
    を備える装置。
  8. 前記追加の選択対象動き情報セットが、第1の制御点の追加の選択対象動き情報および第2の制御点の追加の選択対象動き情報を少なくとも含み、前記第1の制御点および前記第2の制御点が、前記現在の画像ブロックの近隣の制御点である、請求項7に記載の構築装置。
  9. 前記現在の画像ブロックの前記近隣のアフィン画像ブロックが、前記現在の画像ブロックの左側および/または上側の複数の所定の位置または1つの所定の位置に位置する、請求項7または8に記載の構築装置。
  10. 前記追加の選択対象動き情報セットが、前記現在の画像ブロックの前記少なくとも2つの制御点の前記追加の選択対象動き情報を含み、前記少なくとも2つの制御点の中の各制御点の前記追加の選択対象動き情報が、前記制御点に隣接する特定の位置における画像ブロックに由来し、インター予測モードが、前記隣接する特定の位置における前記画像ブロックのために使用される、請求項7または8に記載の構築装置。
  11. ビットストリームを取得し構文解析して、第1のインデックス値および動き情報差分を取得するように構成される取得ユニットであって、前記第1のインデックス値が、動き情報候補リストの中の現在の画像ブロックの制御点の動き情報予測子のインデックス値であり、前記動き情報候補リストが、請求項7から10のいずれか一項に記載の構築装置によって生成され、
    前記取得ユニットが、前記第1のインデックス値に基づいて前記動き情報候補リストから前記制御点の前記動き情報予測子を取得するようにさらに構成される、取得ユニットと、
    前記取得ユニットによって取得される前記制御点の前記動き情報予測子および前記動き情報差分に基づいて前記制御点の動き情報を決定するように構成される決定ユニットであって、
    前記決定ユニットが、前記制御点の前記動き情報に基づいて前記現在の画像ブロックの予測ピクセルを決定するようにさらに構成される、決定ユニットと
    を備える、インター予測装置。
  12. ビットストリームを取得し構文解析して、第2のインデックス値を取得するように構成される取得ユニットであって、前記第2のインデックス値が、動き情報候補リストの中の現在の画像ブロックの制御点の動き情報のインデックス値であり、前記動き情報候補リストが、請求項7から10のいずれか一項に記載の構築装置によって生成され、
    前記取得ユニットが、前記第2のインデックス値に基づいて前記動き情報候補リストから前記制御点の前記動き情報を取得するようにさらに構成される、取得ユニットと、
    前記取得ユニットによって取得される前記制御点の前記動き情報に基づいて前記現在の画像ブロックの予測ピクセルを決定するように構成される決定ユニットと
    を備える、インター予測装置。
JP2023105346A 2018-08-28 2023-06-27 動き情報候補リストを構築するための方法、インター予測方法、および装置 Pending JP2023134524A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
CN201810990444.2 2018-08-28
CN201810990444.2A CN110868601B (zh) 2018-08-28 2018-08-28 帧间预测方法、装置以及视频编码器和视频解码器
CN201810997139.6A CN110876065A (zh) 2018-08-29 2018-08-29 候选运动信息列表的构建方法、帧间预测方法及装置
CN201810997139.6 2018-08-29
PCT/CN2019/102026 WO2020043004A1 (zh) 2018-08-28 2019-08-22 候选运动信息列表的构建方法、帧间预测方法及装置
JP2021511631A JP7374999B2 (ja) 2018-08-28 2019-08-22 動き情報候補リストを構築するための方法、インター予測方法、および装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021511631A Division JP7374999B2 (ja) 2018-08-28 2019-08-22 動き情報候補リストを構築するための方法、インター予測方法、および装置

Publications (1)

Publication Number Publication Date
JP2023134524A true JP2023134524A (ja) 2023-09-27

Family

ID=69643910

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021511631A Active JP7374999B2 (ja) 2018-08-28 2019-08-22 動き情報候補リストを構築するための方法、インター予測方法、および装置
JP2023105346A Pending JP2023134524A (ja) 2018-08-28 2023-06-27 動き情報候補リストを構築するための方法、インター予測方法、および装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021511631A Active JP7374999B2 (ja) 2018-08-28 2019-08-22 動き情報候補リストを構築するための方法、インター予測方法、および装置

Country Status (9)

Country Link
US (2) US11895319B2 (ja)
EP (1) EP3840384A4 (ja)
JP (2) JP7374999B2 (ja)
KR (1) KR20210046767A (ja)
CN (5) CN112055970B (ja)
BR (1) BR112021003917A2 (ja)
MX (1) MX2021002399A (ja)
SG (1) SG11202102005PA (ja)
WO (2) WO2020043000A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2021002399A (es) 2018-08-28 2021-07-15 Huawei Tech Co Ltd Método y aparato para construir una lista de información de movimiento candidata, método de interpredicción y aparato.

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2487200A (en) * 2011-01-12 2012-07-18 Canon Kk Video encoding and decoding with improved error resilience
US9319716B2 (en) * 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
CN104813667B (zh) * 2012-11-15 2018-03-16 联发科技股份有限公司 用于可伸缩视频编码的帧间层预测方法及装置
US9438910B1 (en) * 2014-03-11 2016-09-06 Google Inc. Affine motion prediction in video coding
WO2016008157A1 (en) * 2014-07-18 2016-01-21 Mediatek Singapore Pte. Ltd. Methods for motion compensation using high order motion model
WO2016034058A1 (en) * 2014-09-01 2016-03-10 Mediatek Inc. Method of intra picture block copy for screen content and video coding
WO2017003063A1 (ko) 2015-06-28 2017-01-05 엘지전자(주) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
CN104935938B (zh) 2015-07-15 2018-03-30 哈尔滨工业大学 一种混合视频编码标准中帧间预测方法
US10412407B2 (en) * 2015-11-05 2019-09-10 Mediatek Inc. Method and apparatus of inter prediction using average motion vector for video coding
CN108293131B (zh) * 2015-11-20 2021-08-31 联发科技股份有限公司 基于优先级运动矢量预测子推导的方法及装置
WO2017118411A1 (en) * 2016-01-07 2017-07-13 Mediatek Inc. Method and apparatus for affine inter prediction for video coding system
WO2017147765A1 (en) * 2016-03-01 2017-09-08 Mediatek Inc. Methods for affine motion compensation
KR20230143623A (ko) * 2016-03-28 2023-10-12 로즈데일 다이나믹스 엘엘씨 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
KR102321394B1 (ko) 2016-08-01 2021-11-03 한국전자통신연구원 영상 부호화/복호화 방법
JP7048503B2 (ja) * 2016-09-27 2022-04-05 シャープ株式会社 復号装置、符号化装置、復号方法、および、符号化方法
US10448010B2 (en) * 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
JP2019535202A (ja) * 2016-10-06 2019-12-05 エルジー エレクトロニクス インコーポレイティド インター予測モードベースの画像処理方法及びそのための装置
US10681370B2 (en) * 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
US20190335170A1 (en) * 2017-01-03 2019-10-31 Lg Electronics Inc. Method and apparatus for processing video signal by means of affine prediction
CN108271023B (zh) * 2017-01-04 2021-11-19 华为技术有限公司 图像预测方法和相关设备
RU2770185C2 (ru) * 2017-06-26 2022-04-14 ИНТЕРДИДЖИТАЛ ВиСи ХОЛДИНГЗ, ИНК. Множество кандидатов предсказателя для компенсации движения
CN111052739A (zh) * 2017-08-03 2020-04-21 Lg 电子株式会社 基于帧间预测模式的图像处理的方法和设备
CN109729352B (zh) * 2017-10-27 2020-07-21 华为技术有限公司 确定仿射编码块的运动矢量的方法和装置
MX2021002399A (es) * 2018-08-28 2021-07-15 Huawei Tech Co Ltd Método y aparato para construir una lista de información de movimiento candidata, método de interpredicción y aparato.

Also Published As

Publication number Publication date
CN112004098B (zh) 2021-06-29
MX2021002399A (es) 2021-07-15
CN111656786A (zh) 2020-09-11
WO2020043004A1 (zh) 2020-03-05
CN118175325A (zh) 2024-06-11
JP7374999B2 (ja) 2023-11-07
EP3840384A4 (en) 2021-12-08
EP3840384A1 (en) 2021-06-23
CN112055970A (zh) 2020-12-08
CN112055970B (zh) 2024-04-09
US11895319B2 (en) 2024-02-06
CN118200574A (zh) 2024-06-14
US20240196003A1 (en) 2024-06-13
BR112021003917A2 (pt) 2021-05-18
SG11202102005PA (en) 2021-04-29
WO2020043000A1 (zh) 2020-03-05
CN112004098A (zh) 2020-11-27
US20210185351A1 (en) 2021-06-17
CN111656786B (zh) 2024-04-09
JP2021535685A (ja) 2021-12-16
KR20210046767A (ko) 2021-04-28

Similar Documents

Publication Publication Date Title
TWI741239B (zh) 視頻資料的幀間預測方法和裝置
JP7368396B2 (ja) 動きベクトル予測方法及び関連する装置
JP7143435B2 (ja) 双方向インター予測の方法および装置
JP7242861B2 (ja) 二方向インター予測に適用される参照フレーム取得方法および装置
CN110876065A (zh) 候选运动信息列表的构建方法、帧间预测方法及装置
US20240196003A1 (en) Method for constructing candidate motion information list, inter prediction method, and apparatus
CN110971899B (zh) 一种确定运动信息的方法、帧间预测方法及装置
KR102566569B1 (ko) 인터 예측 방법 및 장치, 비디오 인코더 및 비디오 디코더

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230718