JP7143435B2 - 双方向インター予測の方法および装置 - Google Patents

双方向インター予測の方法および装置 Download PDF

Info

Publication number
JP7143435B2
JP7143435B2 JP2020552815A JP2020552815A JP7143435B2 JP 7143435 B2 JP7143435 B2 JP 7143435B2 JP 2020552815 A JP2020552815 A JP 2020552815A JP 2020552815 A JP2020552815 A JP 2020552815A JP 7143435 B2 JP7143435 B2 JP 7143435B2
Authority
JP
Japan
Prior art keywords
motion vector
reference frame
image block
current image
determining
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.)
Active
Application number
JP2020552815A
Other languages
English (en)
Other versions
JP2021519548A (ja
Inventor
▲煥▼浜 ▲陳▼
▲海▼涛 ▲楊▼
建▲楽▼ ▲陳▼
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
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2021519548A publication Critical patent/JP2021519548A/ja
Priority to JP2022146320A priority Critical patent/JP2022179516A/ja
Application granted granted Critical
Publication of JP7143435B2 publication Critical patent/JP7143435B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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/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/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Description

本出願は、全体が参照により本明細書に組み込まれている、2018年3月29日に中国国家知識産権局に出願した中国特許出願第201810274457.X号、名称「BIDIRECTIONAL INTER PREDICTION METHOD AND APPARATUS」の優先権を主張するものである。
本出願の実施形態は、動画像符号化(video picture coding)技術の分野に関するものであり、詳細には、双方向インター予測(bidirectional inter prediction)の方法および装置に関するものである。
動画符号化(video coding)技術では、現在の画像ブロックの予測画像ブロック(prediction picture block)は、1つの参照画像ブロック(reference picture block)のみに基づき生成されてもよく(一方向インター予測と称される)、または現在の画像ブロックの予測画像ブロックは、少なくとも2つの参照画像ブロックに基づき生成されてもよい(双方向インター予測と称される)。少なくとも2つの参照画像ブロックは、同じ参照フレームまたは異なる参照フレームからのものであってもよい。
デコーダおよびエンコーダが同じ参照画像ブロックを使用できるようにするために、エンコーダは各画像ブロックの動き情報をビットストリームでデコーダに送信する必要がある。一般に、現在の画像ブロックの動き情報は、参照フレームインデックス値と、動きベクトル予測器(motion Vector Predictor、MVP)フラグと、動きベクトル差分(Motion Vector Difference、MVD)とを含む。デコーダは、参照フレームインデックス値と、MVPフラグと、MVDとに基づき、選択された参照フレーム内の正しい参照画像ブロックを発見してもよい。
これに対応して、双方向インター予測では、エンコーダは各方向の各画像ブロックの動き情報をデコーダに送信する必要がある。その結果、動き情報は、比較的大量の伝送リソースを占有する。これにより、伝送リソースの有効利用率、伝送速度、および符号化圧縮効率が低下する。
本出願の実施形態は、動き情報が比較的大量の伝送リソースを占有するので、伝送リソースの有効利用率、伝送速度、および符号化圧縮効率が低下するという問題を解決するために、双方向インター予測の方法および装置を提供する。
前述の目的を達成するために、本出願の実施形態では、次の技術的解決方法が使用される。
第1の態様により、双方向インター予測方法が提供される。この方法は、第1の動き情報に基づき第2の動き情報を決定することを指示するために使用される指示情報を取得するステップであって、第1の動き情報は第1の方向における現在の画像ブロックの動き情報であり、第2の動き情報は第2の方向における現在の画像ブロックの動き情報である、ステップと、第1の動き情報を取得するステップと、取得された第1の動き情報に基づき第2の動き情報を決定するステップと、取得された第1の動き情報と決定された第2の動き情報とに基づき現在の画像ブロックの予測サンプルを決定するステップとを含む。
本出願において提供される双方向インター予測方法により、指示情報が取得された後に、第1の動き情報に基づき第2の動き情報が決定される。この方法で、ビットストリームは、指示情報と第1の動き情報とを含むだけでよく、第2の動き情報を含む必要はもはやない。ビットストリームが各方向の各画像ブロックの動き情報を含む従来技術と比較して、本出願で提供される双方向インター予測方法は、ビットストリームに含まれる動き情報を効果的に削減し、伝送リソース、伝送速度、および符号化速度の有効利用率を改善する。
任意選択で、本出願の可能な一実装形態において、「第1の動き情報に基づき第2の動き情報を決定する」ための方法は、第1の動き情報内の第1の参照フレームのインデックス値を取得し、第1の参照フレームのインデックス値と第1の参照フレームリストとに基づき、第1の参照フレームのシーケンス番号を決定するステップであって、本明細書における第1の参照フレームは第1の方向における現在の画像ブロックの参照フレームであり、第1の参照フレームのインデックス値は第1の参照フレームリスト内の第1の参照フレームの番号である、ステップ、第2の参照フレームのインデックス値を取得し、第2の参照フレームのインデックス値と第2の参照フレームリストとに基づき、第2の参照フレームのシーケンス番号を決定するステップであって、本明細書における第2の参照フレームは第2の方向における現在の画像ブロックの参照フレームであり、第2の参照フレームのインデックス値は第2の参照フレームリスト内の第2の参照フレームの番号である、ステップ、第1の動き情報内にある第1の動きベクトル差分と第1の動きベクトル予測子フラグとに基づき第1の動きベクトルを決定するステップであって、第1の動きベクトルは第1の方向における現在の画像ブロックの動きベクトルである、ステップ、および式
Figure 0007143435000001
に従って第2の動き情報内の第2の動きベクトルを導出するステップである。
前述の式において、mv_lYは第2の動きベクトルを表し、POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listYは第2の参照フレームのシーケンス番号を表し、mv_lXは第1の動きベクトルを表し、第2の動きベクトルは第2の方向における現在の画像ブロックの動きベクトルである。
任意選択で、本出願の可能な別の実装形態において、「第1の動き情報に基づき第2の動き情報を決定する」ための方法は、第1の動き情報内の第1の参照フレームのインデックス値を取得するステップであって、第1の参照フレームは第1の方向における現在の画像ブロックの参照フレームであり、第1の参照フレームのインデックス値は第1の参照フレームリスト内の第1の参照フレームの番号である、ステップ、第2の参照フレームのインデックス値を取得するステップであって、第2の参照フレームは第2の方向における現在の画像ブロックの参照フレームであり、第2の参照フレームのインデックス値は第2の参照フレームリスト内の第2の参照フレームの番号である、ステップ、第1の動き情報内にある第1の動きベクトル差分と第1の動きベクトル予測子フラグとに基づき第1の動きベクトルを決定するステップであって、第1の動きベクトルは第1の方向における現在の画像ブロックの動きベクトルである、ステップ、および第1の参照フレームが現在の画像ブロックの前方参照フレームであり、第2の参照フレームが現在の画像ブロックの後方参照フレームであるとき、または第1の参照フレームが現在の画像ブロックの後方参照フレームであり、第2の参照フレームが現在の画像ブロックの前方参照フレームであるとき、または第1の参照フレームおよび第2の参照フレームが各々、現在の画像ブロックの前方参照フレームであるとき、または第1の参照フレームおよび第2の参照フレームが各々、現在の画像ブロックの後方参照フレームであるとき、式
mv_lY=-mv_lX
に従って第2の動き情報内の第2の動きベクトルを導出するステップである。
前述の式において、mv_lYは第2の動きベクトルを表し、mv_lXは第1の動きベクトルを表し、第2の動きベクトルは第2の方向における現在の画像ブロックの動きベクトルである。
「第1の参照フレームは現在の画像ブロックの前方参照フレームであり、第2の参照フレームは現在の画像ブロックの後方参照フレームである」、および「第1の参照フレームは現在の画像ブロックの後方参照フレームであり、第2の参照フレームは現在の画像ブロックの前方参照フレームである」は両方とも、式(POC_Cur-POC_listX)*(POC_listY-POC_Cur)>0を使用することによって表されてもよく、または式POC_listY=2*POC_Cur-POC_listXによって表されてもよい。これは、本出願において特には限定されない。
それに加えて、「第1の参照フレームおよび第2の参照フレームは各々、現在の画像ブロックの前方参照フレームである」、および「第1の参照フレームおよび第2の参照フレームは各々、現在の画像ブロックの後方参照フレームである」は両方とも、式(POC_Cur-POC_listX)*(POC_listY-POC_Cur)<0を使用することによって表されてもよい。
POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listYは第2の参照フレームのシーケンス番号を表す。
任意選択で、本出願の可能な別の実装形態において、「第1の動き情報に基づき第2の動き情報を決定する」ための方法は、第1の動き情報内にある第1の参照フレームのインデックス値と第1の動きベクトル差分とを取得し、第1の参照フレームのインデックス値と第1の参照フレームリストとに基づき、第1の参照フレームのシーケンス番号を決定するステップであって、第1の参照フレームは第1の方向における現在の画像ブロックの参照フレームであり、第1の参照フレームのインデックス値は第1の参照フレームリスト内の第1の参照フレームの番号である、ステップ、第2の参照フレームのインデックス値を取得し、第2の参照フレームのインデックス値と第2の参照フレームリストとに基づき第2の参照フレームのシーケンス番号を決定し、第2の参照フレームのインデックス値と第2の候補予測済み動きベクトルリストとに基づき第2の予測済み動きベクトルを決定するステップであって、第2の予測済み動きベクトルは第2の方向における現在の画像ブロックの予測済み動きベクトルであり、第2の参照フレームは第2の方向における現在の画像ブロックの参照フレームであり、第2の参照フレームのインデックス値は第2の参照フレームリスト内の第2の参照フレームの番号である、ステップ、式
Figure 0007143435000002
に従って第2の動き情報内の第2の動きベクトル差分を導出するステップであって、
前述の式において、mvd_lYは第2の動きベクトル差分を表し、POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listYは第2の参照フレームのシーケンス番号を表し、mvd_lXは第1の動きベクトル差分を表す、ステップ、および第2の予測済み動きベクトルと第2の動きベクトル差分とに基づき第2の動きベクトルを決定するステップであって、第2の動きベクトルは第2の方向における現在の画像ブロックの動きベクトルである、ステップである。
任意選択で、本出願の可能な別の実装形態において、「第1の動き情報に基づき第2の動き情報を決定する」ための方法は、第1の動き情報内にある第1の参照フレームのインデックス値と第1の動きベクトルとを取得するステップであって、第1の参照フレームは第1の方向における現在の画像ブロックの参照フレームであり、第1の参照フレームのインデックス値は第1の参照フレームリスト内の第1の参照フレームの番号である、ステップ、第2の参照フレームのインデックス値を取得し、第2の参照フレームのインデックス値と第2の候補予測済み動きベクトルリストとに基づき第2の予測済み動きベクトルを決定するステップであって、第2の予測済み動きベクトルは第2の方向における現在の画像ブロックの予測済み動きベクトルであり、第2の参照フレームは第2の方向における現在の画像ブロックの参照フレームであり、第2の参照フレームのインデックス値は第2の参照フレームリスト内の第2の参照フレームの番号である、ステップ、第1の参照フレームが現在の画像ブロックの前方参照フレームであり、第2の参照フレームが現在の画像ブロックの後方参照フレームであるとき、または第1の参照フレームが現在の画像ブロックの後方参照フレームであり、第2の参照フレームが現在の画像ブロックの前方参照フレームであるとき、または第1の参照フレームおよび第2の参照フレームが各々、現在の画像ブロックの前方参照フレームであるとき、または第1の参照フレームおよび第2の参照フレームが各々、現在の画像ブロックの後方参照フレームであるとき、式
mvd_lY=-mvd_lX
に従って第2の動き情報内の第2の動きベクトル差分を導出するステップであって、
前述の式において、mvd_lYは第2の動きベクトル差分を表し、mvd_lXは第1の動きベクトル差分を表す、ステップ、および第2の予測済み動きベクトルと第2の動きベクトル差分とに基づき第2の動きベクトルを決定するステップであって、第2の動きベクトルは第2の方向における現在の画像ブロックの動きベクトルである、ステップである。
同様に、「第1の参照フレームは現在の画像ブロックの前方参照フレームであり、第2の参照フレームは現在の画像ブロックの後方参照フレームである」、および「第1の参照フレームは現在の画像ブロックの後方参照フレームであり、第2の参照フレームは現在の画像ブロックの前方参照フレームである」は両方とも、式(POC_Cur-POC_listX)*(POC_listY-POC_Cur)>0を使用することによって表されてもよく、または式POC_listY=2*POC_Cur-POC_listXによって表されてもよい。これは、本出願において特には限定されない。
「第1の参照フレームおよび第2の参照フレームは各々、現在の画像ブロックの前方参照フレームである」、および「第1の参照フレームおよび第2の参照フレームは各々、現在の画像ブロックの後方参照フレームである」は両方とも、式(POC_Cur-POC_listX)*(POC_listY-POC_Cur)<0を使用することによって表されてもよい。
POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listYは第2の参照フレームのシーケンス番号を表す。
本出願において提供されている双方向インター予測方法は、第1の動きベクトルに基づき第2の動きベクトルを決定するステップであってもよく、または第1の動きベクトル差分に基づき第2の動きベクトル差分を決定するステップ、および第2の動きベクトル差分に基づき第2の動きベクトルを決定するステップであってもよいことは分かりうる。
任意選択で、本出願の別の可能な実装形態において、「第2の参照フレームのインデックス値を取得する」ための方法は、式POC_listY0=2*POC_Cur-POC_listXに従って現在のフレームのシーケンス番号と第1の参照フレームのシーケンス番号とに基づき第1のシーケンス番号を計算するステップであって、POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listY0は第1のシーケンス番号を表す、ステップ、および第2の参照フレームリストが第1のシーケンス番号を含むときに、第2の参照フレームのインデックス値として、第2の参照フレームリスト内の第1のシーケンス番号によって表される参照フレームの番号を決定するステップである。
任意選択で、本出願の別の可能な実装形態において、「第2の参照フレームのインデックス値を取得する」ための方法は、式(POC_Cur-POC_listX)*(POC_listY0'-POC_Cur)>0に従って現在のフレームのシーケンス番号と第1の参照フレームのシーケンス番号とに基づき第2のシーケンス番号を計算するステップであって、POC_listY0'は第2のシーケンス番号を表す、ステップ、および第2の参照フレームリストが第2のシーケンス番号を含むときに、第2の参照フレームのインデックス値として、第2の参照フレームリスト内の第2のシーケンス番号によって表される参照フレームの番号を決定するステップである。
任意選択で、本出願の別の可能な実装形態において、「第2の参照フレームのインデックス値を取得する」ための方法は、式POC_listX≠POC_listY0''に従って現在のフレームのシーケンス番号と第1の参照フレームのシーケンス番号とに基づき第3のシーケンス番号を計算するステップであって、POC_listY0''は第3のシーケンス番号を表す、ステップ、および第2の参照フレームのインデックス値として、第2の参照フレームリスト内の第3のシーケンス番号によって表される参照フレームの番号を決定するステップである。
任意選択で、本出願の別の可能な実装形態において、「第2の参照フレームのインデックス値を取得する」ための方法は、式POC_listY0=2*POC_Cur-POC_listXに従って現在のフレームのシーケンス番号と第1の参照フレームのシーケンス番号とに基づき第1のシーケンス番号を計算するステップであって、POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listY0は第1のシーケンス番号を表す、ステップである。第2の参照フレームリストが第1のシーケンス番号含んでいるとき、第2の参照フレームリスト内の第1のシーケンス番号によって表される参照フレームの番号は、第2の参照フレームのインデックス値として決定される。第2の参照フレームリストが第1のシーケンス番号を含んでいないときに、第2のシーケンス番号は、式(POC_Cur-POC_listX)*(POC_listY0'-POC_Cur)>0に従って現在のフレームのシーケンス番号と第1の参照フレームのシーケンス番号とに基づき計算され、POC_listY0'は第2のシーケンス番号を表す。第2の参照フレームリストが第2のシーケンス番号含んでいるとき、第2の参照フレームリスト内の第2のシーケンス番号によって表される参照フレームの番号は、第2の参照フレームのインデックス値として決定される。第2の参照フレームリストが第2のシーケンス番号を含んでいないときに、第3のシーケンス番号は、式POC_listX≠POC_listY0''に従って現在のフレームのシーケンス番号と第1の参照フレームのシーケンス番号とに基づき計算され、POC_listY0''は第3のシーケンス番号を表し、第2の参照フレームリスト内の第3のシーケンス番号によって表される参照フレームの番号は、第2の参照フレームのインデックス値として決定される。
任意選択で、本出願の別の可能な実装形態において、「第2の参照フレームのインデックス値を取得する」ための方法は、ビットストリームを解析して第2の参照フレームのインデックス値を取得するステップである。
本出願において、「第2の参照フレームのインデックス値を取得する」ための方法は複数あってもよいことは分かりうる。第2の参照フレームのインデックス値を取得するために使用される特定の方法は、実際の要件に基づき決定されるか、またはプリセットされる必要がある。
第2の態様により、双方向インター予測装置が提供される。双方向インター予測装置は、取得ユニットと、決定ユニットとを備える。
特に、取得ユニットは、指示情報を取得し、指示情報は、第1の動き情報に基づき第2の動き情報を決定することを指示するために使用され、第1の動き情報は第1の方向における現在の画像ブロックの動き情報であり、第2の動き情報は第2の方向における現在の画像ブロックの動き情報であるように構成され、第1の動き情報を取得するように構成される。決定ユニットは、取得ユニットによって取得された第1の動き情報に基づき第2の動き情報を決定し、第1の動き情報と第2の動き情報とに基づき現在の画像ブロックの予測サンプルを決定するように構成される。
任意選択で、本出願の可能な一実装形態において、決定ユニットは、第1の動き情報内の第1の参照フレームのインデックス値を取得し、第1の参照フレームのインデックス値と第1の参照フレームリストとに基づき、第1の参照フレームのシーケンス番号を決定し、第1の参照フレームは第1の方向における現在の画像ブロックの参照フレームであり、第1の参照フレームのインデックス値は第1の参照フレームリスト内の第1の参照フレームの番号であり、第2の参照フレームのインデックス値を取得し、第2の参照フレームのインデックス値と第2の参照フレームリストとに基づき、第2の参照フレームのシーケンス番号を決定し、第2の参照フレームは第2の方向における現在の画像ブロックの参照フレームであり、第2の参照フレームのインデックス値は第2の参照フレームリスト内の第2の参照フレームの番号であり、第1の動き情報内にある第1の動きベクトル差分と第1の動きベクトル予測子フラグとに基づき第1の動きベクトルを決定し、第1の動きベクトルは第1の方向における現在の画像ブロックの動きベクトルであり、式
Figure 0007143435000003
に従って第2の動き情報内の第2の動きベクトルを導出するように特に構成される。
前述の式において、mv_lYは第2の動きベクトルを表し、POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listYは第2の参照フレームのシーケンス番号を表し、mv_lXは第1の動きベクトルを表し、第2の動きベクトルは第2の方向における現在の画像ブロックの動きベクトルである。
任意選択で、本出願の別の可能な実装形態において、決定ユニットは、第1の動き情報内の第1の参照フレームのインデックス値を取得し、第1の参照フレームは第1の方向における現在の画像ブロックの参照フレームであり、第1の参照フレームのインデックス値は第1の参照フレームリスト内の第1の参照フレームの番号であり、第2の参照フレームのインデックス値を取得し、第2の参照フレームは第2の方向における現在の画像ブロックの参照フレームであり、第2の参照フレームのインデックス値は第2の参照フレームリスト内の第2の参照フレームの番号であり、第1の動き情報内にある第1の動きベクトル差分と第1の動きベクトル予測子フラグとに基づき第1の動きベクトルを決定し、第1の動きベクトルは第1の方向における現在の画像ブロックの動きベクトルであり、第1の参照フレームが現在の画像ブロックの前方参照フレームであり、第2の参照フレームが現在の画像ブロックの後方参照フレームであるとき、または第1の参照フレームが現在の画像ブロックの後方参照フレームであり、第2の参照フレームが現在の画像ブロックの前方参照フレームであるとき、または第1の参照フレームおよび第2の参照フレームが各々、現在の画像ブロックの前方参照フレームであるとき、または第1の参照フレームおよび第2の参照フレームが各々、現在の画像ブロックの後方参照フレームであるとき、式
mv_lY=-mv_lX
に従って第2の動き情報内の第2の動きベクトルを導出するように特に構成される。
前述の式において、mv_lYは第2の動きベクトルを表し、mv_lXは第1の動きベクトルを表し、第2の動きベクトルは第2の方向における現在の画像ブロックの動きベクトルである。
任意選択で、本出願の別の可能な実装形態において、決定ユニットは、第1の動き情報内にある第1の参照フレームのインデックス値と第1の動きベクトル差分とを取得し、第1の参照フレームのインデックス値と第1の参照フレームリストとに基づき、第1の参照フレームのシーケンス番号を決定し、第1の参照フレームは第1の方向における現在の画像ブロックの参照フレームであり、第1の参照フレームのインデックス値は第1の参照フレームリスト内の第1の参照フレームの番号であり、第2の参照フレームのインデックス値を取得し、第2の参照フレームのインデックス値と第2の参照フレームリストとに基づき第2の参照フレームのシーケンス番号を決定し、第2の参照フレームのインデックス値と第2の候補予測済み動きベクトルリストとに基づき第2の予測済み動きベクトルを決定し、第2の予測済み動きベクトルは第2の方向における現在の画像ブロックの予測済み動きベクトルであり、第2の参照フレームは第2の方向における現在の画像ブロックの参照フレームであり、第2の参照フレームのインデックス値は第2の参照フレームリスト内の第2の参照フレームの番号であり、式
Figure 0007143435000004
に従って第2の動き情報内の第2の動きベクトル差分を導出し、mvd_lYは第2の動きベクトル差分を表し、POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listYは第2の参照フレームのシーケンス番号を表し、mvd_lXは第1の動きベクトル差分を表し、第2の予測済み動きベクトルと第2の動きベクトル差分とに基づき第2の動きベクトルを決定するように特に構成され、第2の動きベクトルは第2の方向における現在の画像ブロックの動きベクトルである。
任意選択で、本出願の別の可能な実装形態において、決定ユニットは、第1の動き情報内にある第1の参照フレームのインデックス値と第1の動きベクトルとを取得し、第1の参照フレームは第1の方向における現在の画像ブロックの参照フレームであり、第1の参照フレームのインデックス値は第1の参照フレームリスト内の第1の参照フレームの番号であり、第2の参照フレームのインデックス値を取得し、第2の参照フレームのインデックス値と第2の候補予測済み動きベクトルリストとに基づき第2の予測済み動きベクトルを決定し、第2の予測済み動きベクトルは第2の方向における現在の画像ブロックの予測済み動きベクトルであり、第2の参照フレームは第2の方向における現在の画像ブロックの参照フレームであり、第2の参照フレームのインデックス値は第2の参照フレームリスト内の第2の参照フレームの番号であり、第1の参照フレームが現在の画像ブロックの前方参照フレームであり、第2の参照フレームが現在の画像ブロックの後方参照フレームであるとき、または第1の参照フレームが現在の画像ブロックの後方参照フレームであり、第2の参照フレームが現在の画像ブロックの前方参照フレームであるとき、または第1の参照フレームおよび第2の参照フレームが各々、現在の画像ブロックの前方参照フレームであるとき、または第1の参照フレームおよび第2の参照フレームが各々、現在の画像ブロックの後方参照フレームであるとき、式
mvd_lY=-mvd_lX
に従って第2の動き情報内の第2の動きベクトル差分を導出し、mvd_lYは第2の動きベクトル差分を表し、mvd_lXは第1の動きベクトル差分を表し、第2の予測済み動きベクトルと第2の動きベクトル差分とに基づき第2の動きベクトルを決定するように特に構成され、第2の動きベクトルは第2の方向における現在の画像ブロックの動きベクトルである。
任意選択で、本出願の別の可能な実装形態において、取得ユニットは、式POC_listY0=2*POC_Cur-POC_listXに従って現在のフレームのシーケンス番号と第1の参照フレームのシーケンス番号とに基づき第1のシーケンス番号を計算し、POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listY0は第1のシーケンス番号を表し、第2の参照フレームリストが第1のシーケンス番号を含むときに、第2の参照フレームのインデックス値として、第2の参照フレームリスト内の第1のシーケンス番号によって表される参照フレームの番号を決定するように特に構成される。
任意選択で、本出願の別の可能な実装形態において、取得ユニットは、式(POC_Cur-POC_listX)*(POC_listY0'-POC_Cur)>0に従って現在のフレームのシーケンス番号と第1の参照フレームのシーケンス番号とに基づき第2のシーケンス番号を計算し、POC_listY0'は第2のシーケンス番号を表し、第2の参照フレームリストが第2のシーケンス番号を含むときに、第2の参照フレームのインデックス値として、第2の参照フレームリスト内の第2のシーケンス番号によって表される参照フレームの番号を決定するように特に構成される。
任意選択で、本出願の別の可能な実装形態において、取得ユニットは、式POC_listX≠POC_listY0''に従って現在のフレームのシーケンス番号と第1の参照フレームのシーケンス番号とに基づき第3のシーケンス番号を計算し、POC_listY0''は第3のシーケンス番号を表し、第2の参照フレームのインデックス値として、第2の参照フレームリスト内の第3のシーケンス番号によって表される参照フレームの番号を決定するように特に構成される。
第3の態様により、双方向インター予測方法が提供される。双方向インター予測方法の実装形態は複数ある。
一実装形態は、ビットストリームを解析して第1の識別子を取得するステップであって、第1の識別子は第1の動き情報に基づき第2の動き情報を決定するかどうかを指示するために使用され、第1の動き情報は第1の方向における現在の画像ブロックの動き情報であり、第2の動き情報は第2の方向における現在の画像ブロックの動き情報である、ステップ、第1の識別子の値が第1のプリセット値である場合に第1の動き情報を取得し、第1の動き情報に基づき第2の動き情報を決定するステップ、および第1の動き情報と第2の動き情報とに基づき現在の画像ブロックの予測サンプルを決定するステップである。
別の実装形態は、ビットストリームを解析して第2の識別子を取得するステップであって、第2の識別子は、動き情報導出アルゴリズムを使用することによって現在の画像ブロックの動き情報を計算するかどうかを指示するために使用される、ステップ、第2の識別子の値が第2のプリセット値である場合に第3の識別子を取得するステップであって、第3の識別子は第1の動き情報に基づき第2の動き情報を決定するかどうかを指示するために使用され、第1の動き情報は第1の方向における現在の画像ブロックの動き情報であり、第2の動き情報は第2の方向における現在の画像ブロックの動き情報である、ステップ、第3の識別子の値が第3のプリセット値である場合に第1の動き情報を取得し、第1の動き情報に基づき第2の動き情報を決定するステップ、および第1の動き情報と第2の演算情報とに基づき現在の画像ブロックの予測サンプルを決定するステップである。
別の実装形態は、ビットストリームを解析して第2の識別子を取得するステップであって、第2の識別子は、動き情報導出アルゴリズムを使用することによって現在の画像ブロックの動き情報を計算するかどうかを指示するために使用される、ステップ、第2の識別子の値が第2のプリセット値である場合に第1の動き情報を取得し、第1の動き情報に基づき第2の動き情報を決定するステップであって、第1の動き情報は第1の方向における現在の画像ブロックの動き情報であり、第2の動き情報は第2の方向における現在の画像ブロックの動き情報である、ステップ、および第1の動き情報と第2の動き情報とに基づき現在の画像ブロックの予測サンプルを決定するステップである。
別の実装形態は、ビットストリームを解析して第4の識別子を取得するステップであって、第4の識別子は、動き情報導出アルゴリズムを使用することによって現在の画像ブロックの動き情報を計算するかどうかを指示するために使用される、ステップ、第4の識別子の値が第4のプリセット値である場合に第1の参照フレームリストと第2の参照フレームリストとに基づき第1の参照フレームのインデックス値と第2の参照フレームのインデックス値とを決定するステップであって、第1の参照フレームリストは第1の方向における現在の画像ブロックの参照フレームリストであり、第2の参照フレームリストは第2の方向における現在の画像ブロックの参照フレームリストであり、第1の参照フレームは第1の方向における現在の画像ブロックの参照フレームであり、第2の参照フレームは第2の方向における現在の画像ブロックの参照フレームである、ステップ、第1の動きベクトル差分と第1の動きベクトル予測子フラグとを取得し、第1の動き情報に基づき第2の動き情報を決定するステップであって、第1の動き情報は第1の参照フレームのインデックス値と、第1の動きベクトル差分と、第1の動きベクトル予測子フラグとを含み、第2の動き情報は第2の方向における現在の画像ブロックの動き情報である、ステップ、および第1の動き情報と第2の動き情報とに基づき現在の画像ブロックの予測サンプルを決定するステップである。
別の実装形態は、ビットストリームを解析して第1の識別子を取得するステップであって、第1の識別子は第1の動き情報に基づき第2の動き情報を決定するかどうかを指示するために使用され、第1の動き情報は第1の方向における現在の画像ブロックの動き情報であり、第2の動き情報は第2の方向における現在の画像ブロックの動き情報である、ステップ、第1の識別子の値が第8のプリセット値である場合に第5の識別子を取得するステップであって、第5の識別子は第2の動き情報に基づき第1の動き情報を決定するかどうかを指示するために使用される、ステップ、第5の識別子の値が第5のプリセット値である場合に第2の動き情報を取得し、第2の動き情報に基づき第1の動き情報を決定するステップ、および第1の動き情報と第2の動き情報とに基づき現在の画像ブロックの予測サンプルを決定するステップである。
別の実装形態は、ビットストリームを解析して第2の識別子を取得するステップであって、第2の識別子は、動き情報導出アルゴリズムを使用することによって現在の画像ブロックの動き情報を計算するかどうかを指示するために使用される、ステップ、第2の識別子の値が第2のプリセット値である場合に第3の識別子を取得するステップであって、第3の識別子は第1の動き情報に基づき第2の動き情報を決定するかどうかを指示するために使用され、第1の動き情報は第1の方向における現在の画像ブロックの動き情報であり、第2の動き情報は第2の方向における現在の画像ブロックの動き情報である、ステップ、第3の識別子の値が第6のプリセット値である場合に第2の動き情報を取得し、第2の動き情報に基づき第1の動き情報を決定するステップ、および第1の動き情報と第2の演算情報とに基づき現在の画像ブロックの予測サンプルを決定するステップである。
第1の識別子から第4の識別子までの具体的な説明については、次の説明を参照されたい。
本出願において提供される双方向インター予測方法では、ビットストリームを解析することによって識別子が取得された後に、第1の動き情報に基づき第2の動き情報決定するかどうかが識別子の値に基づき決定される。第2の動き情報が第1の動き情報に基づき決定される必要があると決定された後、第1の動き情報が取得され、次いで第2の動き情報が取得された第1の動き情報に基づき決定される。この方法で、ビットストリームは、対応する識別子と第1の動き情報とを含むだけでよく、第2の動き情報を含む必要はもはやない。ビットストリームが各方向の各画像ブロックの動き情報を含む従来技術と比較して、本出願で提供される双方向インター予測方法は、ビットストリームに含まれる動き情報を効果的に削減し、伝送リソース、伝送速度、および符号化速度の有効利用率を改善する。
第4の態様により、双方向インター予測装置が提供される。双方向インター予測装置は、取得ユニットと、決定ユニットとを備える。
特に、一実装形態において、取得ユニットは、ビットストリームを解析して第1の識別子を取得し、第1の識別子は第1の動き情報に基づき第2の動き情報を決定するかどうかを指示するために使用され、第1の動き情報は第1の方向における現在の画像ブロックの動き情報であり、第2の動き情報は第2の方向における現在の画像ブロックの動き情報であるように構成され、第1の識別子の値が第1のプリセット値である場合に第1の動き情報を取得するように構成される。決定ユニットは、取得ユニットによって取得された第1の動き情報に基づき第2の動き情報を決定し、第1の動き情報と第2の動き情報とに基づき現在の画像ブロックの予測サンプルを決定するように構成される。
別の実装形態において、取得ユニットは、ビットストリームを解析して第2の識別子を取得し、第2の識別子は動き情報導出アルゴリズムを使用することによって現在の画像ブロックの動き情報を計算するかどうかを指示するために使用されるように構成され、第2の識別子の値が第2のプリセット値である場合に第3の識別子を取得し、第3の識別子は第1の動き情報に基づき第2の動き情報を決定するかどうかを指示するために使用され、第1の動き情報は第1の方向における現在の画像ブロックの動き情報であり、第2の動き情報は第2の方向における現在の画像ブロックの動き情報であるように構成され、第3の識別子の値が第3のプリセット値である場合に第1の動き情報を取得するように構成される。決定ユニットは、取得ユニットによって取得された第1の動き情報に基づき第2の動き情報を決定し、第1の動き情報と第2の動き情報とに基づき現在の画像ブロックの予測サンプルを決定するように構成される。
別の実装形態において、取得ユニットは、ビットストリームを解析して第2の識別子を取得し、第2の識別子は動き情報導出アルゴリズムを使用することによって現在の画像ブロックの動き情報を計算するかどうかを指示するために使用されるように構成され、第2の識別子の値が第2のプリセット値である場合に第1の動き情報を取得するように構成される。決定ユニットは、取得ユニットによって取得された第1の動き情報に基づき第2の動き情報を決定し、第1の動き情報は第1の方向における現在の画像ブロックの動き情報であり、第2の動き情報は第2の方向における現在の画像ブロックの動き情報であり、第1の動き情報と第2の動き情報とに基づき現在の画像ブロックの予測サンプルを決定するように構成される。
別の実装形態において、取得ユニットは、ビットストリームを解析して第4の識別子を取得するように構成され、第4の識別子は、動き情報導出アルゴリズムを使用することによって現在の画像ブロックの動き情報を計算するかどうかを指示するために使用される。決定ユニットは、取得ユニットによって取得された第4の識別子の値が第4のプリセット値である場合に第1の参照フレームリストと第2の参照フレームリストとに基づき第1の参照フレームのインデックス値と第2の参照フレームのインデックス値とを決定するように構成され、第1の参照フレームリストは第1の方向における現在の画像ブロックの参照フレームリストであり、第2の参照フレームリストは第2の方向における現在の画像ブロックの参照フレームリストであり、第1の参照フレームは第1の方向における現在の画像ブロックの参照フレームであり、第2の参照フレームは第2の方向における現在の画像ブロックの参照フレームである。取得ユニットは、第1の動きベクトル差分と第1の動きベクトル予測子フラグとを取得するようにさらに構成される。決定ユニットは、第1の動き情報に基づき第2の動き情報を決定し、第1の動き情報は第1の参照フレームのインデックス値と、第1の動きベクトル差分と、第1の動きベクトル予測子フラグとを含み、第2の動き情報は第2の方向における現在の画像ブロックの動き情報であり、第1の動き情報と第2の動き情報とに基づき現在の画像ブロックの予測サンプルを決定するようにさらに構成される。
第5の態様により、端末が提供される。端末は、1つ以上のプロセッサと、メモリと、通信インターフェースとを備える。メモリおよび通信インターフェースは、1つ以上のプロセッサに結合される。メモリは、コンピュータプログラムコードを記憶するように構成される。コンピュータプログラムコードは、命令を含む。1つ以上のプロセッサが命令を実行すると、端末は、第1の態様もしくは第1の態様の可能な実装形態のうちのいずれか1つに係る双方向インター予測方法を実行するか、または第3の態様もしくは第3の態様の可能な実装形態のうちのいずれか1つに係る双方向インター予測方法を実行する。
第6の態様により、動画デコーダが提供され、これは不揮発性記憶媒体と中央演算処理装置とを備える。不揮発性記憶媒体は、実行可能プログラムを記憶する。中央演算処理装置は、不揮発性記憶媒体に接続され、第1の態様もしくは第1の態様の可能な実装形態のうちのいずれか1つに係る双方向インター予測方法、または第3の態様もしくは第3の態様の可能な実装形態のうちのいずれか1つに係る双方向インター予測方法を実装する実行可能プログラムを実行する。
第7の態様により、デコーダが提供される。デコーダは、第2の態様における双方向インター予測装置と、再構成モジュールとを備え、再構成モジュールは、双方向インター予測装置によって取得された予測サンプルに基づき現在の画像ブロックの再構成されたサンプル値を決定するように構成されるか、またはデコーダは、第4の態様における双方向インター予測装置と、再構成モジュールとを備え、再構成モジュールは、双方向インター予測装置によって取得された予測サンプルに基づき現在の画像ブロックの再構成されたサンプル値を決定するように構成される。
第8の態様により、コンピュータ可読記憶媒体が提供される。コンピュータ可読記憶媒体は命令を記憶する。第5の態様において命令が端末上で実行されたときに、端末は、第1の態様もしくは第1の態様の可能な実装形態のうちのいずれか1つに係る双方向インター予測方法を実行するか、または第3の態様もしくは第3の態様の可能な実装形態のうちのいずれか1つに係る双方向インター予測方法を実行するように有効化される。
第9の態様により、命令を含むコンピュータプログラム製品が提供される。第5の態様においてコンピュータプログラム製品が端末上で実行されると、端末は、第1の態様もしくは第1の態様の可能な実装形態のうちのいずれか1つに係る双方向インター予測方法を実行するか、または第3の態様もしくは第3の態様の可能な実装形態のうちのいずれか1つに係る双方向インター予測方法を実行するように有効化される。
本出願において、双方向インター予測装置の名称は、デバイスまたは機能モジュールにいっさい制限を課すことはしない。実際の実装形態において、デバイスまたは機能モジュールは、他の名称を有してもよい。デバイスまたは機能モジュールの機能が本出願に含まれるものに類似しているならば、デバイスまたは機能モジュールは、本出願の請求項およびこれの同等の技術の範囲内に収まる。
第5の態様から第9の態様および第5の態様から第9の態様の実装形態の具体的な説明については、第1の態様および第1の態様の実装形態の詳細な説明または第3の態様および第3の態様の実装形態の詳細な説明を参照されたい。それに加えて、第5の態様から第9の態様および第5の態様から第9の態様の実装形態の有益な効果については、第1の態様および第1の態様の実装形態の有益な効果の分析、または第3の態様および第3の態様の実装形態の有益な効果の分析を参照されたい。詳細については、ここで再び説明しない。
本出願におけるこれらの態様または他の態様は、次により簡潔に包括的に説明される。
本出願の一実施形態に係る動画符号化システムの概略構造図である。 本出願の一実施形態に係る動画エンコーダの概略構造図である。 本出願の一実施形態に係る動画デコーダの概略構造図である。 本出願の一実施形態に係る双方向インター予測方法の概略フローチャートである。 本出願の一実施形態に係る双方向インター予測装置の第1の概略構造図である。 本出願の一実施形態に係る双方向インター予測装置の第2の概略構造図である。
本出願の明細書、請求項、および添付図面において、「第1の」、「第2の」、「第3の」、「第4の」などの言い回しは、異なる対象物間を区別することを意図しているが、特定の順序を指示していない。
本出願の実施形態において、「例」という語または「たとえば」という言い回しは、例を与えて、図解、または説明を表すために使用される。本出願の実施形態において「例」または「たとえば」として説明されている任意の実施形態または設計スキームは、別の実施形態または設計スキームより好ましいものとして、またはより多くの利点を有するものとして説明されるべきではない。正確には、「例」または「たとえば」などの言い回しの使用は、特定の方法で関係する概念を提示することを意図されている。
本出願の実施形態の理解を円滑にするために、本出願の実施形態における関係要素は本明細書の最初に説明される。
画像符号化(picture encoding):画像シーケンスをビットストリームに圧縮するプロセス。
画像復号(picture decoding):特定の構文ルールおよび特定の処理方法に従って、ビットストリームを再構成された画像に復元するプロセス。
現在、動画像符号化処理は次のとおりである。最初に、エンコーダが、原画のフレームを互いに重ならない複数の部分に分割し、各部分は画像ブロックとして使用されてもよい。次いで、エンコーダは、各画像ブロックに対して、予測(Prediction)、変換(Transform)、量子化(Quantization)などの演算を実行して、画像ブロックに対応するビットストリームを取得し、予測は、画像ブロックの予測ブロックを取得するために実行され、それにより、画像ブロックと画像ブロックの予測ブロックとの間の差分(または残差もしくは残差ブロックと称される)のみが符号化されて伝送され、伝送オーバーヘッドを低減させることができる。最後に、エンコーダは、画像ブロックに対応するビットストリームをデコーダに送信する。
これに対応して、デコーダは、ビットストリームを受信した後に、動画復号プロセスを実行する。具体的には、デコーダは、受信されたビットストリームに対して、予測、逆量子化、および逆変換などの演算を実行し、再構成された画像ブロック(または再構成後の画像ブロックと称される)を取得する。このプロセスは、画像再構成プロセス(または画像再構成処理)と称される。次いで、デコーダは、原画内の各画像ブロックの再構成ブロックを組み立て、原画の再構成された画像を取得し、再構成された画像を再生する。
既存の動画像符号化技術は、イントラ予測とインター予測とを含む。インター予測は、現在のフレームと現在のフレームの参照フレームとの間の相関関係を使用して画像ブロックを符号化し/画像ブロックを復号することによって完了する予測である。現在のフレームは、1つ以上の参照フレームを有してもよい。具体的には、現在の画像ブロックの予測画像ブロックは、現在の画像ブロックの参照フレーム内のサンプルに基づき生成される。
一般に、現在の画像ブロックの予測画像ブロックは、1つの参照画像ブロックのみに基づき生成されてもよく、または現在の画像ブロックの予測画像ブロックは、少なくとも2つの参照画像ブロックに基づき生成されてもよい。1つの参照画像ブロックに基づき現在の画像ブロックの予測画像ブロックを生成することは、一方向予測と称され、少なくとも2つの参照画像ブロックに基づき現在の画像ブロックの予測画像ブロックを生成することは、双方向インター予測と称される。双方向インター予測における少なくとも2つの参照画像ブロックは、同じ参照フレームからのものであってもよいし、異なる参照フレームからのものであってもよい。言い換えると、本出願における「方向」は、一般化された定義である。本出願における1つの方向は、1つの参照画像ブロックに対応する。次の第1の方向および第2の方向は、異なる参照画像ブロックに対応する。2つの参照画像ブロックは、現在の画像ブロックの前方参照フレーム/後方参照フレームに含まれてもよく、または1つの参照画像ブロックは、現在の画像ブロックの前方参照フレームに含まれてもよく、他の参照画像ブロックは、現在の画像ブロックの後方参照フレームに含まれてもよい。
任意選択で、双方向インター予測は、現在の動画フレームと、現在の動画フレームの前に符号化され再生される動画フレームとの間の相関関係と、現在の動画フレームと、現在の動画フレームの前に符号化され、現在の動画フレームの後に再生される動画フレームとの間の相関関係とを使用することによって実行されるインター予測であってもよい。
双方向インター予測は、通常前方インター予測および後方インター予測と称される2つの方向のインター予測を含むことが分かり得る。前方インター予測は、現在の動画フレームと、現在の動画フレームの前に符号化され再生される動画フレームとの間の相関関係を使用することによって実行されるインター予測である。後方インター予測は、現在の動画フレームと、現在の動画フレームの前に符号化され、現在の動画フレームの後に再生される動画フレームとの間の相関関係を使用することによって実行されるインター予測である。
前方インター予測は前方参照フレームリストL0に対応し、後方インター予測は後方参照フレームリストL1に対応する。2つの参照フレームリストは、同じ数の参照フレーム、または異なる数の参照フレームを含んでもよい。
動き補償(Motion Compensation、MC)は、参照画像ブロックを使用することによって現在の画像ブロックを予測するプロセスである。
大半の符号化フレームワークでは、動画シーケンスは一連の画像(picture)を含み、画像は少なくとも1つのスライス(slice)に分割され、各スライスはさらに画像ブロック(block)に分割される。動画の符号化/復号は、画像ブロックによって実行される。符号化/復号処理は、画像の左上隅の位置を起点として、左から右へ、上から下へと行単位で実行されてもよい。本明細書では、画像ブロックは、動画符号化規格H.264におけるマクロブロック(macro block、MB)であってもよく、または高効率動画符号化規格(High Efficiency Video Coding、HEVC)における符号化ユニット(Coding Unit、CU)であってもよい。これは、本出願の実施形態において特に限定されるものではない。
本出願において、符号化/復号されている画像ブロックは、現在の画像ブロック(current block)と称され、現在の画像ブロックが配置されている画像は、現在のフレームと称される。
一般に、現在のフレームは、一方向予測フレーム(Pフレーム)であってもよく、または双方向予測フレーム(Bフレーム)であってもよい。現在のフレームがPフレームであるときに、現在のフレームは、1つの参照フレームリストを有する。現在のフレームがBフレームであるときに、現在のフレームは2つの参照フレームリストを有し、これら2つのリストは、通常、それぞれL0およびL1と称される。各参照フレームリストは、現在のフレームの参照フレームとして使用される少なくとも1つの再構成されたフレームを含む。参照フレームは、現在のフレームのインター予測に対する参照サンプルを提供するために使用される。
現在のフレームにおいて、現在の画像ブロックの隣接する画像ブロック(たとえば、現在のブロックの左側、上側、または右側)がすでに符号化/復号されていてもよく、再構成された画像が取得される。隣接する画像ブロックは、再構成された画像ブロックと称される。符号化モードおよび再構成された画像ブロックの再構成されたサンプルなどの情報が利用可能である(available)。
現在のフレームが符号化/復号される前に符号化/復号されてしまっているフレームは、再構成されたフレームと称される。
動きベクトル(Motion Vector、MV)は、インター予測プロセスにおける重要なパラメータであり、現在の画像ブロックに関する符号化された画像ブロックの空間的変位を表す。通常、動きベクトルは、動き探索などの動き推定(Motion Estimation、ME)方法を使用することによって取得されてもよい。予備的インター予測技術では、エンコーダは現在の画像ブロックの動きベクトルをビットストリームで伝送し、それにより、デコーダは現在の画像ブロックの予測サンプルを再現して再構成されたブロックを取得する。符号化効率をさらに改善するために、参照動きベクトルを使用することにより動きベクトルを差分符号化するための方法は、後述するが、具体的には、動きベクトル差分(Motion Vector Difference、MVD)のみが符号化される。
デコーダおよびエンコーダが同じ参照画像ブロックを使用できるようにするために、エンコーダは各画像ブロックの動き情報をビットストリームでデコーダに送信する必要がある。エンコーダが各画像ブロックの動きベクトルを直接符号化する場合、大量の伝送リソースが消費される。空間的に隣接する画像ブロックの動きベクトルは強い相関を有するので、現在の画像ブロックの動きベクトルは、符号化された隣接する画像ブロックの動きベクトルに基づき予測できる。予測を通じて取得される動きベクトルは、MVPと称され、現在の画像ブロックの動きベクトルとMVPとの間の差はMVDと称される。
動画符号化規格H.264では、予測精度を改善するために、多重参照フレーム予測が動き推定プロセスにおいて使用される。具体的には、複数の再構成されたフレームを記憶するバッファが作成され、バッファ内のすべての再構成されたフレームが動き補償に対する最適な参照画像ブロックについて探索され、これにより時間的冗長性をうまく除去する。動画符号化規格H.264では、インター予測において2つのバッファ、すなわち、参照フレームリスト0(reference list 0)および参照フレームリスト1(reference list 1)が使用される。各リスト内の最適な参照ブロックが配置されている参照フレームは、インデックス値、すなわちref_idx_l0およびref_idx_l1をマークとして付けられる。各参照フレームリストにおいて、参照画像ブロックの動き情報は、参照フレームインデックス値(ref_idx_l0またはref_idx_l1)と、MVPフラグと、MVDとを含む。デコーダは、参照フレームインデックス値と、MVPフラグと、MVDとに基づき、選択された参照フレーム内の正しい参照画像ブロックを発見してもよい。
現在、HEVC規格で頻繁に使用されているインター予測モードは、高度動きベクトル予測(Advanced Motion Vector Prediction、AMVP)モード、マージ(Merge)モード、および非並進運動モデル予測モードである。
AMVPモードでは、エンコーダは、現在の画像ブロックに空間的または時間的に隣接する符号化された画像ブロックの動きベクトルを使用することによって候補動きベクトルリストを構築し、レート歪みコストに基づき候補動きベクトルリスト内の最適な動きベクトルを現在の画像ブロックのMVPとして決定する。それに加えて、エンコーダは、MVPを中心とした近傍内の動き探索を実行し、現在の画像ブロックの動きベクトルを取得する。エンコーダは、候補動きベクトルリスト内のMVPのインデックス値(すなわち、MVPフラグ)と、参照フレームインデックス値と、MVDとをデコーダに伝送する。
マージモードでは、エンコーダは、現在の画像ブロックに空間的または時間的に隣接する符号化された画像ブロックの動き情報を使用することによって候補動き情報リストを構築し、レート歪みコストに基づき候補動き情報リスト内の最適な動き情報を現在の画像ブロックの動き情報として決定する。エンコーダは、候補動き情報リスト内の最適な動き情報の位置のインデックス値をデコーダに伝送する。
非並進運動モデル予測モードでは、エンコーダおよびデコーダは、同じ動きモデルを使用することによって、現在の画像ブロックのすべてのサブブロックの動き情報を導出し、すべてのサブブロックの動き情報に基づき動き補償を実行し、予測画像ブロックを取得する。これは、予測効率を改善する。エンコーダおよびデコーダによって頻繁に使用される動きモデルは、4パラメータアフィンモデル、6パラメータアフィン変換モデル、または8パラメータ双線形モデルである。
たとえば、4パラメータアフィン変換モデルは、2つのサンプルの動きベクトルと、現在の画像ブロックの左上隅にあるサンプルに関する2つのサンプルの座標とを使用することによって表されてもよい。本明細書では、動きモデルパラメータを表すために使用されるサンプルは、コントロールポイントと称される。現在の画像ブロックの左上隅(0、0)のサンプルおよび現在の画像ブロックの右上隅(W、0)のサンプルがコントロールポイントであり、現在の画像ブロックの左上隅および右上隅のサンプルの動きベクトルがそれぞれ(vx0、vy0)および(vx1、vy1)である場合、現在の画像ブロックの各サブブロックの動き情報は、次の式(1)に従って取得される。次の式(1)において、(x、y)は現在の画像ブロックの左上隅のサンプルに関するサブブロックの座標であり、(vx、vy)はサブブロックの動きベクトルであり、Wは現在の画像ブロックの幅である。
Figure 0007143435000005
たとえば、6パラメータアフィン変換モデルは、3つのサンプルの動きベクトルと、現在の画像ブロックの左上隅にあるサンプルに関する3つのサンプルの座標とを使用することによって表されてもよい。現在の画像ブロックの左上隅(0、0)のサンプル、現在の画像ブロックの右上隅(W、0)のサンプル、および現在の画像ブロックの左下隅(0、H)のサンプルがコントロールポイントであり、現在の画像ブロックの左上隅、右上隅、および左下隅のサンプルの動きベクトルがそれぞれ(vx0、vy0)、(vx1、vy1)、および(vx2、vy2)である場合、次の式(2)に従って、現在の画像ブロックの各サブブロックの動き情報が取得される。次の式(2)において、(x、y)は現在の画像ブロックの左上隅のサンプルに関するサブブロックの座標であり、(vx、vy)はサブブロックの動きベクトルであり、WおよびHは、それぞれ、現在の画像ブロックの幅および高さである。
Figure 0007143435000006
たとえば、8パラメータ双線形モデルは、4つのサンプルの動きベクトルと、現在の画像ブロックの左上隅にあるサンプルに関する4つのサンプルの座標とを使用することによって表されてもよい。現在の画像ブロックの左上隅(0、0)のサンプル、現在の画像ブロックの右上隅(W、0)のサンプル、現在の画像ブロックの左下隅(0、H)のサンプル、および現在の画像ブロックの右下隅(W、H)のサンプルがコントロールポイントであり、現在の画像ブロックの左上隅、右上隅、左下隅、および右下隅のサンプルの動きベクトルがそれぞれ(vx0、vy0)、(vx1、vy1)、(vx2、vy2)、(vx3、vy3)である場合、現在の画像ブロックの各サブブロックの動き情報は、次の式(3)に従って取得される。次の式(3)において、(x、y)は現在の画像ブロックの左上隅のサンプルに関するサブブロックの座標であり、(vx、vy)はサブブロックの動きベクトルであり、WおよびHは、それぞれ、現在の画像ブロックの幅および高さである。
Figure 0007143435000007
前述のインター予測モードのうちのいずれか1つにおいて、インター予測が双方向インター予測である場合、エンコーダは、各方向における各画像ブロックの動き情報をデコーダに送信する必要があることは容易に分かり得る。その結果、動き情報は、比較的大量の伝送リソースを占有する。これにより、伝送リソースの有効利用率、伝送速度、および符号化圧縮効率が低下する。
前述の問題を解決するために、本出願は、双方向インター予測方法を提供する。双方向インター予測では、エンコーダが第1の方向における現在の画像ブロックの動き情報をデコーダに送信し、第1の方向における現在の画像ブロックの動き情報を受信した後、デコーダは第1の方向における現在の画像ブロックの動き情報に基づき第2の方向における現在の画像ブロックの動き情報を計算する。この方法で、現在の画像ブロックの予測サンプルは、第1の方向における現在の画像ブロックの動き情報と、第2の方向における現在の画像ブロックの動き情報とに基づき計算されてもよい。
本出願において提供される双方向インター予測方法は、双方向インター予測装置、動画符号化装置、動画コーデック、または動画符号化機能を有する他のデバイスによって実行されてもよい。
本出願において提供される双方向インター予測方法は、動画符号化システムに適用可能である。動画像符号化システムにおいて、動画エンコーダ100および動画デコーダ200は、本出願において提供される双方向インター予測方法の例に従って現在の画像ブロックの動き情報を計算するように構成される。特に、第2方向における現在の画像ブロックの動き情報は、第1の方向における現在の画像ブロックの動き情報に基づき計算され、これにより、現在の画像ブロックの予測サンプルは、第1の方向における現在の画像ブロックの動き情報と、第2方向における現在の画像ブロックの動き情報とに基づき決定される。この方法では、第1の方向における現在の画像ブロックの動き情報だけ、動画エンコーダ100と動画エンコーダ200との間で伝送されればよい。これは、伝送リソースの利用率を効果的に改善し、符号化圧縮効率を高める。
図1は、動画符号化システム1の構造を示している。図1に示されているように、動画符号化システム1は、ソース装置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は、ブルーレイディスク、高密度デジタルビデオディスク(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は、任意の標準的なデータ接続(たとえば、インターネット接続)を通じて符号化された動画データにアクセスしてもよい。データ接続のタイプの例は、ファイルサーバに記憶されている符号化された動画データにアクセスするのに適しているワイヤレスチャネルまたは有線接続(たとえば、ケーブルモデム)、またはこれらの組み合わせを含む。符号化された動画データは、ストリーミング方式で、ダウンロード方式で、またはこれらの組み合わせでファイルサーバから伝送されてもよい。
本出願における双方向インター予測方法は、ワイヤレスアプリケーションシナリオに限定されない。たとえば、本出願における双方向インター予測方法は、テレビ放送、ケーブルテレビ伝送、衛星テレビ伝送、ストリーミング動画伝送(たとえば、インターネットを介して)、データ記憶媒体に記憶されている動画データの符号化、データ記憶媒体に記憶されている動画データの復号、または別のアプリケーションなどの複数のマルチメディアアプリケーションをサポートするための動画符号化に適用されてもよい。いくつかの例において、動画符号化システム1は、ストリーミング動画伝送、動画再生、ビデオブロードキャスティング、および/またはテレビ電話などのアプリケーションをサポートする一方向もしくは双方向動画伝送をサポートするように構成されてもよい。
図1に示されている動画符号化システム1は、動画符号化システムの一例にすぎず、本出願の動画符号化システムを制限するものではないことに留意されたい。本出願において提供される双方向インター予測方法は、符号化装置と復号装置との間にデータ通信がないシナリオにさらに適用可能であってもよい。他の例では、符号化されるべき動画データまたは符号化された動画データは、ローカルメモリから取り出されてもよく、またはネットワーク上でストリーミング形式により、または類似の方式により、伝送されてもよい。動画符号化装置は、符号化されるべき動画データを符号化し、符号化された動画データをメモリに記憶してもよい。動画復号装置は、また、符号化された動画データをメモリから取得し、符号化された動画データを復号してもよい。
図1において、ソース装置10は、動画ソース101と、動画エンコーダ102と、出力インターフェース103とを備える。いくつかの例において、出力インターフェース103は、レギュレータ/復調器(モデム)および/または送信機を含んでもよい。動画ソース101は、動画キャプチャデバイス(たとえば、カメラ)、以前にキャプチャされた動画データを収めてある動画アーカイブ、動画コンテンツプロバイダから動画データを受信するための動画入力インターフェース、および/もしくは動画データを生成するためのコンピュータグラフィックスシステム、または前述の動画データソースの組み合わせを含んでもよい。
動画エンコーダ102は、動画ソース101をソースとする動画データを符号化してもよい。いくつかの例において、ソース装置10は、出力インターフェース103を通じて符号化された動画データをデスティネーション装置20に直接伝送する。他の例では、符号化された動画データは代替的に記憶装置40内に記憶されてもよく、それにより、デスティネーション装置20は、その後、復号および/または再生のために符号化された動画データにアクセスする。
図1の例において、デスティネーション装置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)に従って演算を実行してもよく、または別の業界規格に従って演算を実行してもよい。これは、本出願において特には限定されない。
動画エンコーダ102は、現在の画像ブロックに対して双方向動き推定を実行して、第1の方向における現在の画像ブロックの動き情報を決定し、第2の方向における現在の画像ブロックの動き情報を、第1の方向における現在の画像ブロックの動き情報に基づき計算するように構成される。この方法で、動画エンコーダ102は、第1の方向における現在の画像ブロックの動き情報と、第2の方向における現在の画像ブロックの動き情報とに基づき現在の画像ブロックの予測画像ブロックを決定する。さらに、動画エンコーダ102は、現在の画像ブロックと現在の画像ブロックの予測画像ブロックとの間の残差に対して、変換および量子化などの演算を実行し、ビットストリームを生成し、そのビットストリームを動画デコーダ202に送信する。ビットストリームは、第1の方向における現在の画像ブロックの動き情報と、第1の動き情報に基づき第2の動き情報を決定することを指示するために使用される指示情報とを含む。指示情報は、異なる識別子を使用することによって表されてもよい。指示情報を表す方法については、次の説明を参照されたい。
任意選択で、第1の方向における現在の画像ブロックの動き情報に基づき第2の方向における現在の画像ブロックの動き情報を計算するために動画エンコーダ102によって使用される方法は、次のとおりであってもよい。動画エンコーダ102が、第1の方向における現在の画像ブロックの動きベクトルに基づき第2の方向における現在の画像ブロックの動きベクトルを決定するか、または動画エンコーダ102が、第1の方向における現在の画像ブロックの動きベクトル差分に基づき第2の方向における現在の画像ブロックの動きベクトル差分を決定し、第2の方向における現在の画像ブロックの動きベクトル差分と、第2の方向における現在の画像ブロックの予測済み動きベクトルとに基づき第2の方向における現在の画像ブロックの動きベクトルを決定する。
次の図4を参照されたい。動画デコーダ202は、ビットストリームを取得し、ビットストリームを解析して、第1の動き情報に基づき第2の動き情報を決定することを指示するために使用される指示情報を取得し(S400)、言い換えると、ある方向における動き情報に基づき、別の方向における動き情報を導出し計算することを決定し、第1の動き情報は第1の方向における現在の画像ブロックの動き情報であり、第2の動き情報は第2の方向における現在の画像ブロックの動き情報であり、本明細書における第1の方向および第2の方向は異なり、第1の動き情報を取得し(S401)、取得された第1の動き情報に基づき第2の動き情報を決定し(S402)、第1の動き情報と第2の動き情報とに基づき現在の画像ブロックの予測サンプルを決定する(S403)ように構成される。
第1の方向における現在の画像ブロックの動き情報に基づき第2の方向における現在の画像ブロックの動き情報を計算するために動画デコーダ202によって使用される方法は、次のとおりであってもよい。動画デコーダ202が、第1の方向における現在の画像ブロックの動きベクトルに基づき第2の方向における現在の画像ブロックの動きベクトルを決定するか、または動画デコーダ202が、第1の方向における現在の画像ブロックの動きベクトル差分に基づき第2の方向における現在の画像ブロックの動きベクトル差分を決定し、第2の方向における現在の画像ブロックの動きベクトル差分と、第2の方向における現在の画像ブロックの予測済み動きベクトルとに基づき第2の方向における現在の画像ブロックの動きベクトルを決定する。
図2は、本出願の一実施形態に係る動画エンコーダ102の概略構造図である。図2に示されているように、動画エンコーダ102は、動画を後処理エンティティ41に出力するように構成される。後処理エンティティ41は、動画エンコーダ102からの符号化された動画データを処理することができる動画エンティティの一例を表し、たとえば、メディアアウェアネットワーク要素(MANE)またはスプライシング装置/編集装置である。いくつかの場合において、後処理処理エンティティ41は、ネットワークエンティティの一例であってもよい。いくつかの動画符号化システムでは、後処理エンティティ41および動画エンコーダ102は、別々の装置のコンポーネントであってもよい。他の場合において、後処理エンティティ41に関して説明されている機能は、動画エンコーダ102を含む同じ装置によって実行されてもよい。一例として、後処理エンティティ41は、図1の記憶装置40の一例である。
動画エンコーダ102は、第1の方向における現在の画像ブロックの動き情報に基づき第2の方向における現在の画像ブロックの動き情報を導出して計算し、第1の方向における現在の画像ブロックの動き情報と第2の方向における現在の画像ブロックの動き情報とに基づき現在の画像ブロックの予測画像ブロックをさらに決定してもよく、双方向インター予測符号化をさらに完全にする。
図2に示されているように、動画エンコーダ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)、磁気抵抗型RAM(magnetoresistive RAM、MRAM)、抵抗変化型RAM(resistive RAM、RRAM)を含むダイナミックランダムアクセスメモリ(dynamic RAM、DRAM)、または他のタイプのメモリ装置であってもよい。
動画エンコーダ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 based 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は組み合わされてよい。
図3は、本出願の一実施形態に係る動画デコーダ202の概略構造図である。図3に示されているように、動画デコーダ202は、エントロピーデコーダ401と、逆量子化器402と、逆変換器403と、フィルタ404と、メモリ405と、予測処理ユニット406と、総和器409とを備える。予測処理ユニット406は、イントラ予測器407とインター予測器408とを備える。いくつかの例において、動画デコーダ202は、図2の動画エンコーダ102に関して説明されている符号化プロセスのおおよそ逆である復号プロセスを実行してもよい。
復号処理において、動画デコーダ202は、動画エンコーダ102からビットストリームを受信する。動画デコーダ202は、ネットワークエンティティ42から動画データを受信してもよく、任意選択で、動画データを動画データメモリ(図示せず)にさらに記憶してもよい。動画データメモリは、動画デコーダ202のコンポーネントによって復号されるべきである動画データ、たとえば、符号化されたビットストリームを記憶してもよい。動画データメモリに記憶されている動画データは、たとえば、有線またはワイヤレスネットワーク通信を通じて、または物理的データ記憶媒体にアクセスすることによって、記憶装置40もしくはカメラなどのローカル動画ソースから取得されてもよい。動画データメモリは図3に図示されていないが、動画データメモリおよびメモリ405は同じメモリであってもよく、または別々に構成されたメモリであってもよい。動画データメモリおよびメモリ405は、各々、複数のタイプのメモリ装置のうちのいずれか1つ、たとえば、シンクロナスDRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗型RAM(MRAM)、抵抗変化型RAM(RRAM)、または別のタイプのメモリ装置によって構成されてもよい。様々な例において、動画データメモリは、動画デコーダ202の他のコンポーネントと一緒にチップ上に一体化されてもよく、またはそれらのコンポーネントに関してチップの外部に配設されてもよい。
ネットワークエンティティ42は、たとえば、サーバ、MANE、動画エディタ/スプライサ、または上で説明されている技術のうちの1つ以上を実装するように構成されている別の類似の装置であってもよい。ネットワークエンティティ42は、動画エンコーダ、たとえば、動画エンコーダ102を含んでも、または含まなくてもよい。ネットワークエンティティ42がビットストリームを動画デコーダ202に送信する前に、ネットワークエンティティ42は、本出願で説明されている技術の一部を実装してもよい。いくつかの動画復号システムでは、ネットワークエンティティ42および動画デコーダ202は、別々の装置のコンポーネントであってもよい。他の場合において、ネットワークエンティティ42に関して説明されている機能は、動画デコーダ202を含む同じ装置によって実行されてもよい。いくつかの場合において、ネットワークエンティティ42は、図1の記憶装置40の一例であってもよい。
動画デコーダ202のエントロピーデコーダ401は、ビットストリームに対してエントロピー復号を実行して、量子化された係数およびいくつかの構文要素を生成する。エントロピーデコーダ401は、構文要素をフィルタ404に転送する。動画デコーダ202は、動画スライスレベルおよび/または画像ブロックレベルで1つ以上の構文要素を受信してもよい。本出願において、本明細書の構文要素は、現在の画像ブロックに関係する指示情報を含んでもよく、指示情報は、第1の動き情報に基づき第2の動き情報を決定することを指示するために使用される。それに加えて、いくつかの例では、動画エンコーダ102は、第1の動き情報に基づき第2の動き情報を決定するかどうかを指示する特定の構文要素を通知する信号を送信してもよい。
逆量子化器402は、ビットストリーム内に提供され、エントロピーデコーダ401によって復号された量子化済み変換係数に対して、逆量子化を実行する、言い換えると、逆量子化する。逆量子化プロセスは、動画スライス内の各画像ブロックについて動画エンコーダ102によって計算された量子化パラメータを使用することによって適用されるべき量子化度を決定することと、同様に、適用されるべき逆量子化度を決定することとを含むものとしてもよい。逆変換器403は、逆変換、たとえば、逆DCT、逆整数変換、または概念的に類似する逆変換プロセスを変換係数に対して実行し、サンプル領域残差ブロックを生成する。
予測処理ユニット406が現在の画像ブロックに対する予測画像ブロックまたは現在の画像ブロックのサブブロックに対する予測画像ブロックを生成した後に、動画デコーダ202は、逆変換器403からの残差ブロックと、予測処理ユニット406によって生成された対応する予測画像ブロックとを総和し、再構成されたブロック、すなわち復号された画像ブロックを取得する。総和器409(再構成器409とも称される)は、この総和演算を実行するコンポーネントを表す。必要なときに、フィルタ(復号ループ内または復号ループの後の)は、サンプルを平滑化するためにさらに使用されてもよく、または動画品質は、別の方式で改善されてもよい。フィルタ404は、1つ以上のループフィルタ、たとえば、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタであってよい。
動画デコーダ202の他の構造変更形態はビットストリームを復号するために使用されてもよいことは理解されるべきである。たとえば、いくつかの画像ブロックまたは画像フレームについて、動画デコーダ202のエントロピーデコーダ401は、復号を通じて量子化済み係数を取得することをせず、それに対応して、逆量子化器402および逆変換器403による処理は必要ない。たとえば、動画デコーダ202内の逆量子化器402および逆変換器403は組み合わされてもよい。
次に、図1に示されている動画符号化システム1、図2に示されている動画エンコーダ102、図3に示されている動画デコーダ202に基づき、本出願で提供される双方向インター予測方法について詳細に説明する。
図4は、本出願の一実施形態に係る双方向インター予測方法の概略フローチャートである。図4に示されている方法は、双方向インター予測装置によって実行される。双方向インター予測装置は、図1の動画デコーダ202であってもよい。図4は、双方向インター予測装置が動画デコーダ202である一例を使用することによって説明される。
図4に示されているように、本出願のこの実施形態における双方向インター予測方法は、次のステップを含んでもよい。
S400:動画デコーダ202は、取得されたビットストリームを解析し、指示情報を取得する。
任意選択で、動画デコーダ202は、ビットストリームを解析し、ビットストリーム内の構文要素の値に基づき、現在のフレーム内の現在の画像ブロックに対してインター予測を実行するために使用されるインター予測モードを決定する。インター予測モードが双方向インター予測モードであるときに、動画デコーダ202は、指示情報を取得する。
動画デコーダ202は、動画エンコーダ102によって送信された符号化済みビットストリームを受信してもよく、または記憶装置40から符号化済みビットストリームを取得してもよい。
任意選択で、本出願のこの実施形態における動画デコーダ202は、構文要素inter_pred_idcの値に基づき、現在のフレーム内の現在の画像ブロックに対してインター予測を実行するために使用されるインター予測モードを決定する。インター予測が一方向インター予測と双方向インター予測とを含むことは、前述の説明から分かり得る。任意選択で、構文要素inter_pred_idcの値が0であるときに、動画デコーダ202は、現在のフレーム内の現在の画像ブロックに対してインター予測を実行するために使用されるインター予測モードが前方インター予測であると決定する。構文要素inter_pred_idcの値が1であるときに、動画デコーダ202は、現在のフレーム内の現在の画像ブロックに対してインター予測を実行するために使用されるインター予測モードが後方インター予測であると決定する。構文要素inter_pred_idcの値が2であるときに、動画デコーダ202は、現在のフレーム内の現在の画像ブロックに対してインター予測を実行するために使用されるインター予測モードが双方向インター予測であると決定する。
任意選択で、構文要素inter_pred_idcの値が2であると決定した後、動画デコーダ202は、第1の動き情報に基づき第2の動き情報を決定することを指示するために使用される指示情報を取得する。第1の動き情報は第1の方向における現在の画像ブロックの動き情報であり、第2の動き情報は第2の方向における現在の画像ブロックの動き情報であり、第1の方向および第2の方向は異なる。
本出願における画像ブロックは、動画符号化または動画復号を実行するための基本ユニット、たとえば、符号化ユニット(Coding Unit、CU)であってもよく、または予測演算を実行するための基本ユニット、たとえば、予測ユニット(Prediction Unit、PU)であってもよい。これは、本出願のこの実施形態において特には限定されない。
画像ブロックが動画符号化または動画復号を実行するための基本ユニットである場合、本出願の本実施形態における現在の画像ブロックは、少なくとも1つのサブブロックを含む。それに対応して、第1の動き情報は、第1の方向における現在の画像ブロック内の少なくとも1つのサブブロックの各々の動き情報を含み、第2の動き情報は、第2の方向における現在の画像ブロック内の少なくとも1つのサブブロックの各々の動き情報を含み、指示情報は、第1の方向におけるサブブロックの動き情報に基づき第2の方向におけるサブブロックの動き情報を決定することを指示するために使用される。
動画デコーダ202は、複数の方式で指示情報を取得してもよい。
第1の実装形態において、動画デコーダ202は、第1の識別子を解析する。第1の識別子の値が第1のプリセット値であるときに、動画デコーダ202は、第1の動き情報を解析することを決定し、第1の動き情報に基づき第2の動き情報を決定する。言い換えると、動画デコーダ202は、指示情報を取得する。第1の識別子の値が第8のプリセット値であるときに、動画デコーダ202は、ビットストリームを解析して第5の識別子を取得する。第5の識別子の値が第5のプリセット値であるときに、動画デコーダ202は、第2の動き情報を解析することを決定し、第2の動き情報に基づき第1の動き情報を計算する。第5の識別子の値が第9のプリセット値であるときに、動画デコーダ202は、第1の動き情報と第2の動き情報とを取得する。第1のプリセット値および第5のプリセット値は同じであってもよく、または異なっていてもよい。これは、本出願のこの実施形態において特には限定されない。
たとえば、第1の識別子がmv_derived_flag_l0であり、第5の識別子がmv_derived_flag_l1であり、第1のプリセット値および第5のプリセット値が両方とも1であり、第8のプリセット値および第9のプリセット値が両方とも0である。動画デコーダ202は、最初に、mv_derived_flag_l0を解析する。mv_derived_flag_l0の値が1であるときに、動画デコーダ202は第1の動き情報を解析し、第1の動き情報に基づき第2の動き情報を決定する。mv_derived_flag_l0の値が0であるときに、動画デコーダ202は、mv_derived_flag_l1を解析する。mv_derived_flag_l1の値が1であるときに、動画デコーダ202は第2の動き情報を解析し、第2の動き情報に基づき第1の動き情報を計算する。mv_derived_flag_l0の値およびmv_derived_flag_l1の値が両方とも0であるときに、動画デコーダ202は、第1の動き情報と第2の動き情報とを解析する。
第2の実装形態において、動画デコーダ202は、第2の識別子を解析する。第2の識別子の値が第2のプリセット値であるときに、動画デコーダ202は、動き情報導出アルゴリズムを使用することによって現在の画像ブロックの動き情報を計算することを決定する。次いで、動画デコーダ202は第3の識別子を解析する。第3の識別子の値が第3のプリセット値であるときに、動画デコーダ202は、第1の動き情報を解析することを決定し、第1の動き情報に基づき第2の動き情報を決定する。言い換えると、動画デコーダ202は、指示情報を取得する。第3の識別子の値が第6のプリセット値であるときに、動画デコーダ202は、第2の動き情報を解析することを決定し、第2の動き情報に基づき第1の動き情報を計算する。
たとえば、第2の識別子はderived_mv_flagであり、第3の識別子はderived_mv_directionであり、第3のプリセット値は1であり、第6のプリセット値は0である。動画デコーダ202は、最初にderived_mv_flagを解析する。derived_mv_flagの値が1であるときに、動画デコーダ202は、動き情報導出アルゴリズムを使用することによって現在の画像ブロックの動き情報を計算することを決定する。derived_mv_flagの値が0であるときに、動画デコーダ202は、第1の動き情報と第2の動き情報とを解析する。derived_mv_directionの値が1であるときに、動画デコーダ202は、第1の動き情報を解析し、第1の動き情報に基づき第2の動き情報を決定する。derived_mv_directionの値が0であるときに、動画デコーダ202は、第2の動き情報を解析し、第2の動き情報に基づき第1の動き情報を計算する。
第3の実装形態において、動画デコーダ202は、第2の識別子を解析する。第2の識別子の値が第2のプリセット値であるときに、動画デコーダ202は、動き情報導出アルゴリズムを使用することによって現在の画像ブロックの動き情報を計算することを決定する。次いで、動画デコーダ202は、プリセットされた導出方向に基づき、第1の動き情報を解析することを決定し、第1の動き情報に基づき第2の動き情報を決定する。言い換えると、動画デコーダ202は、指示情報を取得する。言い換えると、この実装形態では、「第1の動き情報に基づき第2の動き情報を決定すること」はプリセットされている。第2の識別子の値が第7のプリセット値であるときに、動画デコーダ202は、第1の動き情報と第2の動き情報とを解析する。
たとえば、第2の識別子はderived_mv_flagであり、第2のプリセット値は1であり、第7のプリセット値は0である。動画デコーダ202は、derived_mv_flagを解析する。derived_mv_flagの値が1であるときに、動画デコーダ202は、動き情報導出アルゴリズムを使用することによって現在の画像ブロックの動き情報を計算することを決定する。さらに、動画デコーダ202は、第1の動き情報を解析することを決定し、第1の動き情報に基づき第2の動き情報を決定する。derived_mv_flagの値が0であるときに、動画デコーダ202は、第1の動き情報と第2の動き情報とを解析する。
第4の実装形態において、動画デコーダ202は、第4の識別子(たとえば、mv_derived_flag_l0)を解析する。第4の識別子の値が第4のプリセット値であるときに、動画デコーダ202は、動き情報導出アルゴリズムを使用することによって現在の画像ブロックの動き情報を計算することを決定し、第1の参照フレームリストと第2の参照フレームリストとに基づき変数derived_ref_numを計算する。変数は、第1の参照フレームおよび第2の参照フレームによって構成されうるミラー化/線形参照フレーム対の数を表す。参照フレーム対の数が1であるときに、動画デコーダ202は、参照フレームインデックス値を直接決定する。次いで、動画デコーダ202は、プリセットされた導出方向に基づき、第1の動き情報を解析することを決定し、第1の動き情報に基づき第2の動き情報を決定する。言い換えると、動画デコーダ202は、指示情報を取得する。第1の参照フレームリストは、第1の方向における現在の画像ブロックの参照フレームリストであり、第2の参照フレームリストは、第2の方向における現在の画像ブロックの参照フレームリストであり、第1の参照フレームは、第1の方向における現在の画像ブロックの参照フレームであり、第2の参照フレームは、第2の方向における現在の画像ブロックの参照フレームである。本出願のこの実施形態における参照フレームインデックス値は、対応する参照フレームリスト内の参照フレームの番号である。
たとえば、現在のフレームのシーケンス番号が4であり、第1の参照フレームリストは{2、0}であり、第2の参照フレームリストは{6、7}であり、前述の条件Bまたは条件Cに基づき、第1の参照フレームリスト内でそのシーケンス番号が2である参照フレームおよび第2参照フレームリスト内でそのシーケンス番号が6である参照フレームは、参照フレーム対を構成しうると決定される。この場合、第1の参照フレームのインデックス値および第2の参照フレームのインデックス値は両方とも0である。
たとえば、現在のフレームのシーケンス番号が4であり、第1の参照フレームリストは{2、0}であり、第2の参照フレームリストは{6、7}であり、以下の条件Bまたは条件Cに基づき、第1の参照フレームリスト内でそのシーケンス番号が2である参照フレームおよび第2参照フレームリスト内でそのシーケンス番号が6である参照フレームは、参照フレーム対を構成しうると決定される。この場合、第1の参照フレームのインデックス値および第2の参照フレームのインデックス値は両方とも0である。
たとえば、現在のフレームのシーケンス番号は4であり、第1の参照フレームリストは{2、0}であり、第2の参照フレームリストは{6、7}であり、以下の条件Bまたは条件Cに基づき、第1の参照フレームリスト内でそのシーケンス番号が2である参照フレームおよび第2の参照フレームリスト内でそのシーケンス番号が6である参照フレームは参照フレーム対を構成することができ、第1の参照フレームリスト内でそのシーケンス番号が0である参照フレームおよび第2の参照フレームリスト内でそのシーケンス番号が7である参照フレームも参照フレーム対を構成しうると決定される。この場合、動画デコーダ202は、参照フレームインデックス値を解析する必要がある。
現在のフレームの特徴情報は、シーケンス番号、時間レベルID(Temporal Level ID、TID)、または参照フレームの数のうち少なくとも1つを含む。動画デコーダ202によって取得されるビットストリームは、シーケンスパラメータセット(Sequence Parameter Set、SPS)、画像パラメータセット(Picture Parameter Set、PPS)、スライスヘッダ(slice header)またはスライスセグメントヘッダ(slice segment header)、および符号化された画像データを含む。次いで、動画デコーダ202は、ビットストリームを解析して、現在のフレームの特徴情報を取得する。
プリセットされた条件は、次の条件のうちの少なくとも1つを含む。
条件A:現在の画像ブロックは、少なくとも2つの参照フレームを有する。
条件B:現在のフレームのシーケンス番号、第1の参照フレームのシーケンス番号、および第2の参照フレームのシーケンス番号は、条件式
POC_Cur-POC_listX=POC_listY-POC_Cur
を満たす。
前述の式において、POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listYは第2の参照フレームのシーケンス番号を表し、第1の参照フレームは第1の方向における現在の画像ブロックの参照フレームであり、第2の参照フレームは第2の方向における現在の画像ブロックの参照フレームである。
条件C:現在のフレームのシーケンス番号、第1の参照フレームのシーケンス番号、および第2の参照フレームのシーケンス番号は、条件式
(POC_Cur-POC_listX)*(POC_listY-POC_Cur)>0
を満たす。
前述の式において、POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listYは第2の参照フレームのシーケンス番号を表し、第1の参照フレームは第1の方向における現在の画像ブロックの参照フレームであり、第2の参照フレームは第2の方向における現在の画像ブロックの参照フレームである。
条件D:現在のフレームのTIDがプリセット値以上である。
本出願のこの実施形態におけるプリセット条件は、プリセットされてもよく、または上位レイヤ構文、たとえば、SPS、PPS、スライスヘッダ(slice header)、もしくはスライスセグメントヘッダ(slice segment header)などのパラメータセットで指定されてもよい。これは、本出願のこの実施形態において特には限定されない。
特に、条件B(または条件C)について、動画デコーダ202は、第1の参照フレームリストおよび第2の参照フレームリストの各々から1つの参照フレームシーケンス番号を取得し、取得された参照フレームシーケンス番号および現在のフレームのシーケンス番号が条件Bまたは条件Cを満たすか否かを決定する。指示情報は、条件B(または条件C)が満たされたときに取得される。
本出願のこの実施形態において、インター予測モードが双方向インター予測モードであり、現在のフレームの特徴情報がプリセット条件を満たすと決定したときに指示情報を取得するために動画デコーダ202によって使用される方法は、インター予測モードが双方向インター予測モードであると決定したときに指示情報を取得するために動画デコーダ202によって使用される方法と同じである。
前述の説明に基づき、表1は、インター予測モードが双方向インター予測モードであり、現在のフレームの特徴情報がプリセット条件を満たすと決定したときに、動画デコーダ202が第1の実装形態における指示情報を取得する際に使用される構文テーブルである。prediction_unit()は、予測画像ブロックの構文構造であり、現在の画像ブロック内の各サブブロックの動き情報を決定するための方法を記述したものである。
表1において、x0およびy0は、それぞれ、現在の画像ブロックの左上隅に関する現在の画像ブロック内のサブブロックの水平座標オフセットおよび垂直座標オフセットを示し、nPbWは現在の画像ブロックの幅を示し、nPbHは現在の画像ブロックの高さを示す。inter_pred_idc[x0][y0]の値がPRED_L0のときに、現在のサブブロックのインター予測が前方予測であることを示す。inter_pred_idc[x0][y0]の値がPRED_L1のときに、現在のサブブロックのインター予測が後方予測であることを示す。inter_pred_idc[x0][y0]の値がPRED_BIのときに、現在のサブブロックのインター予測が双方向予測であることを示す。
双方向インター予測(すなわち、inter_pred_idc[x0][y0]==PRED_BI)について、プリセット条件(conditions)が満たされている場合、mv_derived_flag_l0[x0][y0]が解析される。mv_derived_flag_l0の値が最初のプリセット値でない場合、mv_derived_flag_l1[x0][y0]が解析される。mv_derived_flag_l0の値が第1のプリセット値であるか、またはmv_derived_flag_l1[x0][y0]の値が第5のプリセット値であるときに、現在の画像ブロックのサブブロックの動き情報が決定され、特に、参照フレームインデックス値ref_idx_l0[x0][y0]、動きベクトル予測子フラグmvp_l0_flag[x0][y0]、および動きベクトル差分mvd_coding(x0、y0、0)が決定される。
Figure 0007143435000008
前述の説明に基づき、表2は、インター予測モードが双方向インター予測モードであり、現在のフレームの特徴情報がプリセット条件を満たすと決定したときに、動画デコーダ202が第3の実装形態を使用することによって指示情報を取得する際に使用される構文テーブルである。
表2において、双方向性インター予測(言い換えると、inter_pred_idc[x0][y0]==PRED_BI)について、プリセット条件(conditions)が満たされている場合に、derived_mv_flag[x0][y0]が解析される。derived_mv_flag[x0][y0]の値が第2のプリセット値であるときに、現在の画像ブロックのサブブロックの動き情報が決定され、具体的には、参照フレームインデックス値ref_idx_lx[x0][y0]、動きベクトル予測子フラグmvp_lx_flag[x0][y0]、および動きベクトル差分mvd_coding(x0、y0、x)が決定される。
Figure 0007143435000009
前述の説明に基づき、表3は、インター予測モードが双方向インター予測モードであり、現在のフレームの特徴情報が第1のプリセット条件を満たすと決定したときに、動画デコーダ202が第4の実装形態を使用することによって指示情報を取得する際に使用される構文テーブルである。
表3において、双方向性インター予測(言い換えると、inter_pred_idc[x0][y0]==PRED_BI)について、プリセット条件(conditions)が満たされている場合に、derived_mv_flag[x0][y0]が解析される。derived_mv_flag[x0][y0]の値が4番目のプリセット値であるときに、derived_ref_numが決定され、derived_ref_numの値が1より大きいときに、現在の画像ブロック内のサブブロックの動き情報が決定され、具体的には、参照フレームインデックス値ref_idx_lx[x0][y0]、動きベクトル予測子フラグmvp_lx_flag[x0][y0]、および動きベクトル差分mvd_coding(x0、y0、x)が決定される。
Figure 0007143435000010
第1の識別子、第2の識別子、第3の識別子、および第4の識別子は、すべて、プリセットされてもよく、または上位レイヤ構文、たとえば、SPS、PPS、スライスヘッダ(slice header)、もしくはスライスセグメントヘッダ(slice segment header)などのパラメータセットで指定されてもよい。これは、本出願のこの実施形態において特には限定されない。
動画デコーダ202は、インター予測モードが双方向インター予測モードであり、現在のフレームの特徴情報が第1のプリセットされた条件を満たすと決定したときに指示情報を取得する。これは、動画デコーダ202の復号率を効果的に改善し、情報冗長性を低減する。
S401:動画デコーダ202は、第1の動き情報を取得する。
任意選択で、動画デコーダ202は、ビットストリームを解析して、第1の参照フレームのインデックス値と、第1の動きベクトル予測子フラグと、第1の動きベクトル差分とを取得する、言い換えると、第1の動き情報を取得する。第1の動きベクトル予測子フラグは、第1の候補動きベクトルリスト内の第1の予測済み動きベクトルのインデックス値を指示するために使用され、第1の予測済み動きベクトルは、第1の方向における現在の画像ブロックの予測済み動きベクトルであり、第1の動きベクトル差分は、第1の予測済み動きベクトルと第1の動きベクトルとの間の差分であり、第1の動きベクトルは、第1の方向における現在の画像ブロックの動きベクトルである。
表1~表3に示されている構文テーブルの各々において、動画デコーダ202は、第1の方向における現在の画像ブロックのサブブロックの動き情報を決定する。
S402:動画デコーダ202は、第1の動き情報に基づき第2の動き情報を決定する。
第1の実装形態において、第2の動き情報を決定するために動画デコーダ202によって使用される方法は、次のとおりである。動画デコーダ202は、第1の動き情報から第1の参照フレームのインデックス値を選択して、第1の参照フレームのインデックス値と第1の参照フレームリストとに基づき第1の参照フレームのシーケンス番号を決定し、プリセットされた式に従って現在のフレームのシーケンス番号と第1の参照フレームのシーケンス番号とに基づき第2の参照フレームのシーケンス番号を計算し、第2の参照フレームのシーケンス番号と第2の参照フレームリストとに基づき第2の参照フレームのインデックス値を決定し、第1の動き情報と第2の参照フレームのインデックス値とに基づき第2の動き情報を決定する。
本明細書において、プリセットされた式は、POC_listY=2*POC_Cur-POC_listXであってもよい。POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listYは第2の参照フレームのシーケンス番号を表す。
たとえば、現在のフレームのシーケンス番号が4であり、第1の参照フレームのシーケンス番号が2であり、第2の参照フレームリストが[6、8]であり、式POC_listY=2*POC_Cur-POC_listXに従って、第2の参照フレームのシーケンス番号が6であると決定された場合、動画デコーダ202は、第2の参照フレームのインデックス値ref_lY_idxが0であると決定する。
任意選択で、プリセットされた式は、代替的に、(POC_Cur-POC_listX)*(POC_listY-POC_Cur)>0であってもよい。第2の参照フレームリスト内の複数の参照フレームシーケンス番号が式を満たす場合に、動画デコーダ202は、最初に、abs((POC_listY-POC_Cur)-(POC_Cur-POC_listX))が最小になる参照フレームを選択し、次いでabs(POC_listY-POC_Cur)が最小となる参照フレームを選択して、第2の参照フレームのインデックス値を決定することに留意されたい。absは絶対値関数である。
たとえば、現在のフレームのシーケンス番号が4であり、第1の参照フレームのシーケンス番号が2であり、第2の参照フレームリストが[5、7、8]であり、式(POC_Cur-POC_listX)*(POC_listY-POC_Cur)>0に従って、第2の参照フレームのシーケンス番号が5であると決定された場合、動画デコーダ202は、第2の参照フレームのインデックス値ref_lY_idxが0であると決定する。
任意選択で、プリセットされた式は、代替的にPOC_listX≠POC_listYであってもよい。第2の参照フレームリスト内の複数の参照フレームシーケンス番号が式を満たす場合に、動画デコーダ202は、最初に、abs((POC_listY-POC_Cur)-(POC_Cur-POC_listX))が最小になる参照フレームを選択し、次いでabs(POC_listY-POC_Cur)が最小となる参照フレームを選択して、第2の参照フレームのインデックス値を決定することに留意されたい。absは絶対値関数である。
たとえば、現在のフレームのシーケンス番号が4であり、第1の参照フレームのシーケンス番号が2であり、第2の参照フレームリストが[3、2、1、0]であり、式POC_listX≠POC_listYに従って、第2の参照フレームのシーケンス番号が3であると決定された場合、動画デコーダ202は、第2の参照フレームのインデックス値ref_lY_idxが0であると決定する。
任意選択で、プリセットされた式は、代替的に、POC_listY0=2*POC_Cur-POC_listX、(POC_Cur-POC_listX)*(POC_listY0'-POC_Cur)>0、およびPOC_listX≠POC_listY0''であってもよい。この場合、第2の参照フレームのインデックス値を決定するために動画デコーダ202によって使用される方法は、特に、式POC_listY0=2*POC_Cur-POC_listXを使用することによって現在のフレームのシーケンス番号と第1の参照フレームのシーケンス番号とに基づき第1のシーケンス番号を計算するステップであって、POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listY0は第1のシーケンス番号を表す、ステップ、および、第2の参照フレームリストが第1のシーケンス番号を含むときに、第2の参照フレームのインデックス値として、第2の参照フレームリスト内の第1のシーケンス番号によって表される参照フレームの番号を決定するステップ、または第2の参照フレームリストが第1のシーケンス番号を含まないときに、現在のフレームのシーケンス番号と第1の参照フレームのシーケンス番号とに基づき(POC_Cur-POC_listX)*(POC_listY0'-POC_Cur)>0を使用することによって、第2のシーケンス番号を計算するステップであって、POC_listY0'は第2のシーケンス番号を表す、ステップ、および第2の参照フレームリストが第2のシーケンス番号を含むときに、第2の参照フレームのインデックス値として、第2の参照フレームリスト内の第2のシーケンス番号によって表される参照フレームの番号を決定するステップ、または第2の参照フレームリストが第2のシーケンス番号を含まないときに、現在のフレームのシーケンス番号と第1の参照フレームのシーケンス番号とに基づき、式POC_listX≠POC_listY0''を使用することによって第3のシーケンス番号を計算するステップであって、POC_listY0''は第3のシーケンス番号を表す、ステップ、および第2の参照フレームのインデックス値として、第2の参照フレームリスト内の第3のシーケンス番号によって表される参照フレームの番号を決定するステップである。
第2の実装形態において、第2の動き情報を決定するために動画デコーダ202によって使用される方法は、次のとおりである。動画デコーダ202がビットストリームを解析して第2の参照フレームのインデックス値を取得し、第1の動き情報と第2の参照フレームのインデックス値とに基づき第2の動き情報を決定する。第2参照フレームのインデックス値は、プリセットされてもよく、または、パラメータセット、たとえば、SPS、PPS、スライスヘッダ(slice header)、スライスセグメントヘッダ(slice segment header)で指定されてもよい。これは、本出願のこの実施形態において特には限定されない。
第1の実装形態および第2の実装形態の両方において、動画デコーダ202は、第1の動き情報と第2の参照フレームのインデックス値とに基づき第2の動き情報を決定することが分かり得る。
任意選択で、動画デコーダ202は、第2の方向における現在の画像ブロックのすべての動き情報を計算してもよく、または第2の方向における現在の画像ブロックの動き情報の一部を計算してもよい。
次に、動画デコーダ202が、第1の動き情報と第2の参照フレームのインデックス値とに基づき第2の動き情報を決定するプロセスを説明する。
任意選択で、第1の動き情報と第2の参照フレームのインデックス値とに基づき第2の動き情報を決定するために動画デコーダ202によって使用される方法は、第1の動き情報における第1の参照フレームのインデックス値を取得し、第1の参照フレームのインデックス値と第1の参照フレームリストとに基づき第1の参照フレームのシーケンス番号を決定するステップ、第2の参照フレームのインデックス値を取得し、第2の参照フレームのインデックス値と第2の参照フレームリストとに基づき第2の参照フレームのシーケンス番号を決定するステップ、第1の動き情報に含まれる第1の動きベクトル差分と第1の動きベクトル予測子フラグとに基づき第1の動きベクトル(第1の方向における現在の画像ブロックの動きベクトル)を決定するステップ、式
Figure 0007143435000011
に従って第2の動き情報内の第2の動きベクトルを導出するステップ、であってもよい。
前述の式において、mv_lYは第2の動きベクトルを表し、POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listYは第2の参照フレームのシーケンス番号を表し、mv_lXは第1の動きベクトルを表し、第2の動きベクトルは第2の方向における現在の画像ブロックの動きベクトルである。
動画デコーダ202は、エンコーダがAMVPモードまたはマージモードで候補動き情報リストを構築する方式と同じである方式で候補動き情報リストを構築し、第1動きベクトル予測フラグに基づき候補動き情報リスト内の第1の予測済み動きベクトルを決定する。この方法で、動画デコーダ202は、第1の予測済み動きベクトルと第1の動きベクトル差分との和を第1の動きベクトルとして決定してもよい。
任意選択で、第1の参照フレームが現在の画像ブロックの前方参照フレームであり、第2の参照フレームが現在の画像ブロックの後方参照フレームであるとき、または第1の参照フレームが現在の画像ブロックの後方参照フレームであり、第2の参照フレームが現在の画像ブロックの前方参照フレームであるとき、または第1の参照フレームおよび第2の参照フレームが各々、現在の画像ブロックの前方参照フレームであるとき、または第1の参照フレームおよび第2の参照フレームが各々、現在の画像ブロックの後方参照フレームであるとき、動画デコーダ202は、mv_lY=-mv_lXを直接設定してもよい。
たとえば、「第1の参照フレームは現在の画像ブロックの前方参照フレームであり、第2の参照フレームは現在の画像ブロックの後方参照フレームである」、および「第1の参照フレームは現在の画像ブロックの後方参照フレームであり、第2の参照フレームは現在の画像ブロックの前方参照フレームである」は両方とも、式(POC_Cur-POC_listX)*(POC_listY-POC_Cur)>0を使用することによって表されてもよく、または式POC_listY=2*POC_Cur-POC_listXを使用することによって表されてもよい。
「第1の参照フレームおよび第2の参照フレームは各々、現在の画像ブロックの前方参照フレームである」、および「第1の参照フレームおよび第2の参照フレームは各々、現在の画像ブロックの後方参照フレームである」は両方とも、式(POC_Cur-POC_listX)*(POC_listY-POC_Cur)<0を使用することによって表されてもよい。
任意選択で、第1の動き情報と第2の参照フレームのインデックス値とに基づき第2の動き情報を決定するために動画デコーダ202によって使用される方法は、第1の動き情報内にある第1の参照フレームのインデックス値と第1の動きベクトル差分とを取得し、第1の参照フレームのインデックス値と第1の参照フレームリストとに基づき第1の参照フレームのシーケンス番号を決定するステップ、第2の参照フレームのインデックス値を取得し、第2の参照フレームのインデックス値と第2の参照フレームリストとに基づき第2の参照フレームのシーケンス番号を決定し、第2の参照フレームのインデックス値と第2の候補予測済み動きベクトルリストとに基づき第2の予測済み動きベクトルを決定するステップであって、第2の予測済み動きベクトルは第2の方向における現在の画像ブロックの予測済み動きベクトルである、ステップ、式
Figure 0007143435000012
に従って第2の動き情報内の第2の動きベクトル差分を導出するステップであって、mvd_lYは第2の動きベクトル差分を表し、POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listYは第2の参照フレームのシーケンス番号を表し、mvd_lXは第1の動きベクトル差分を表す、ステップ、および第2の予測済み動きベクトルと第2の動きベクトル差分とに基づき第2の動きベクトルを決定するステップであって、第2の動きベクトルは第2の方向における現在の画像ブロックの動きベクトルである、ステップ、であってもよい。
任意選択で、第1の参照フレームが現在の画像ブロックの前方参照フレームであり、第2の参照フレームが現在の画像ブロックの後方参照フレームであるとき、または第1の参照フレームが現在の画像ブロックの後方参照フレームであり、第2の参照フレームが現在の画像ブロックの前方参照フレームであるとき、または第1の参照フレームおよび第2の参照フレームが各々、現在の画像ブロックの前方参照フレームであるとき、または第1の参照フレームおよび第2の参照フレームが各々、現在の画像ブロックの後方参照フレームであるとき、動画デコーダ202は、mvd_lY=-mvd_lXを直接設定してもよい。
たとえば、(POC_Cur-POC_listX)*(POC_listY-POC_Cur)>0、POC_listY=2*POC_Cur-POC_listX、または(POC_Cur-POC_listX)*(POC_listY-POC_Cur)<0である場合、動画デコーダ202はmvd_lY=-mvd_lXを直接設定する。
S403:動画デコーダ202は、第1の動き情報と第2の動き情報とに基づき現在の画像ブロックの予測サンプルを決定する。
任意選択で、動画デコーダ202は、S402において、第1の動きベクトルと第2の動きベクトルとを決定する。この方法で、動画デコーダ202は、第1の動きベクトルと第1の参照フレームリストとに基づき第1の参照画像ブロックを決定し、第2の動きベクトルと第2の参照フレームリストとに基づき第2の参照画像ブロックを決定してもよい。さらに、動画デコーダ202は、第1の参照画像ブロックと第2の参照画像ブロックとに基づき現在の画像ブロックの予測サンプルを決定する。言い換えると、動画デコーダ202は、動き補償プロセスを完了する。
第1の参照画像ブロックと第2の参照画像ブロックとに基づき現在の画像ブロックの予測サンプルを決定するために動画デコーダ202によって使用される方法については、任意の既存の方法を参照されたい。これは、本出願のこの実施形態において特には限定されない。
本出願のこの実施形態で提供される双方向インター予測方法において、動画デコーダ202は、符号化されたビットストリームから第1の動き情報のみを取得してもよい。第1の動き情報を取得した後、動画デコーダ202は、第1の動き情報に基づき第2の動き情報を計算し、第1の動き情報と第2の動き情報とに基づき現在の画像ブロックの予測サンプルをさらに決定する。本出願において提供される方法に従って、すべての方向における各画像ブロックの動き情報は、もはや伝送される必要がなくなり、これは従来技術とは異なる。これは、伝送される動き情報の量を効果的に削減し、伝送リソースの有効利用、伝送レート、符号化圧縮効率を改善する。
図4に示されている双方向インター予測方法は、現在の画像ブロックについて説明されており、すなわち、AMVPモードに基づき現在の画像ブロックに対してインター予測が実行されると理解されてもよい。
本出願で提供される双方向インター予測方法は、非並進動きモデル予測モード、たとえば、4パラメータアフィン変換動きモデル、6パラメータアフィン変換動きモデル、または8パラメータ双線形動きモデルにも適用可能であることを理解するのは容易である。このシナリオでは、現在の画像ブロックは、少なくとも1つのサブブロックを含み、現在の画像ブロックの動き情報は、現在の画像ブロックのすべてのサブブロックの各々の動き情報を含む。各サブブロックの動き情報(第1の方向における動き情報および第2の方向における動き情報)を決定するために動画デコーダ202によって使用される方法は、現在の画像ブロックの動き情報を決定するために動画デコーダ202によって使用される方法に類似している。
非並進動きモデル予測モードでは、動画デコーダ202は、式
Figure 0007143435000013
に従って第1の方向におけるi番目のコントロールポイントの動きベクトルに基づき第2の方向におけるi番目のコントロールポイントの動きベクトルを計算する。
前述の式において、mvi_lYは第2方向におけるi番目のコントロールポイントの動きベクトルを表し、mvi_lXは第1方向におけるi番目のコントロールポイントの動きベクトルを表し、POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listYは第2の参照フレームのシーケンス番号を表す。
これに対応して、動画デコーダ202は、式
Figure 0007143435000014
を使用することによって、第1の方向におけるi番目のコントロールポイントの動きベクトル差に基づき第2の方向におけるi番目のコントロールポイントの動きベクトル差を計算する。
前述の式において、mvdi_lYは第2方向におけるi番目のコントロールポイントの動きベクトル差分を表し、mvdi_lXは第1方向におけるi番目のコントロールポイントの動きベクトル差分を表し、POC_Curは現在のフレームのシーケンス番号を表し、POC_listXは第1の参照フレームのシーケンス番号を表し、POC_listYは第2の参照フレームのシーケンス番号を表す。
動画デコーダ202と比較して、本出願のこの実施形態における動画エンコーダ102は、現在の画像ブロックに対して双方向動き推定を実行して、第1の方向における現在の画像ブロックの動き情報を決定し、第1の方向における現在の画像ブロックの動き情報に基づき第2の方向における現在の画像ブロックの動き情報を計算する。この方法において、動画エンコーダ102は、第1の方向における現在の画像ブロックの動き情報と、第2の方向における現在の画像ブロックの動き情報とに基づき現在の画像ブロックの予測画像ブロックを決定する。次いで、動画エンコーダ102は、現在の画像ブロックと現在の画像ブロックの予測画像ブロックとの間の残差に対して、変換および量子化などの演算を実行し、ビットストリームを生成し、そのビットストリームを動画デコーダ202に送信する。ビットストリームは、第1方向における現在の画像ブロックの動き情報を含む。
第1の方向における現在の画像ブロックの動き情報に基づき第2の方向における現在の画像ブロックの動き情報を計算するために動画エンコーダ102によって使用される方法については、第1の動き情報に基づき第2の動き情報を決定するために動画デコーダ202によって使用される方法を参照されたい、言い換えると、S402の説明を参照されたい。詳細については、本出願では再度説明しない。
結論から言うと、本出願において提供される双方向インター予測方法に従って、双方向インター予測時に、すべての方向における各画像ブロックの動き情報が伝送される必要はもはやなく、ある方向の動き情報のみが伝送されるだけでよい。これは、伝送される動き情報の量を効果的に削減し、伝送リソースの有効利用、伝送レート、符号化圧縮効率を改善する。
本出願の一実施形態は、双方向インター予測装置を提供する。双方向インター予測装置は、動画デコーダであってもよい。特に、双方向インター予測装置は、前述の双方向インター予測方法において動画デコーダ202によって実行されるステップを実行するように構成される。本出願のこの実施形態で提供される双方向インター予測装置は、対応するステップに対するモジュールを備えてもよい。
本出願の実施形態において、双方向インター予測装置は、前述の方法例に基づき機能モジュールに分割されてもよい。たとえば、各機能モジュールは、対応する機能に基づく分割によって取得されてもよく、または2つ以上の機能が1つの処理モジュールに一体化されてもよい。一体化されたモジュールは、ハードウェアの形態で実装されてもよく、またはソフトウェア機能モジュールの形態で実装されてもよい。本出願の実施形態において、モジュール分割は一例であり、単なる論理的機能分割にすぎない。実際の実装形態において、別の分割方法が使用されてもよい。
各機能モジュールが、対応する機能に基づく分割を通じて得られるときに、図5は、前述の実施形態における双方向インター予測装置の可能な概略構造図である。図5に示されているように、双方向インター予測装置5は、取得ユニット50と決定ユニット51とを備える。
取得ユニット50は、前述の実施形態においてS400、S401、および同様のステップを実行する双方向インター予測装置をサポートするように構成され、および/または本明細書において説明されている技術の別のプロセスで使用される。
決定ユニット51は、前述の実施形態においてS402、S403、および同様のステップを実行する双方向インター予測装置をサポートするように構成され、および/または本明細書において説明されている技術の別のプロセスで使用される。
前述の方法実施形態におけるステップのすべての関係する内容は、対応する機能モジュールの説明において引用されてもよい。詳細については、ここで再び説明しない。
確かに、本出願のこの実施形態で提供される双方向インター予測装置は、限定はしないが、前述のモジュールを含む。たとえば、双方向インター予測装置は、記憶ユニット52をさらに備えてもよい。
記憶ユニット52は、双方向インター予測装置のプログラムコードおよびデータを記憶するように構成されてもよい。
一体化ユニットが使用されるときに、図6は、本出願の実施形態で提供される双方向インター予測装置の概略構造図である。図6に示されているように、双方向インター予測装置6は、処理モジュール60と通信モジュール61とを備える。処理モジュール60は、双方向インター予測装置の動作を制御し、管理し、たとえば、取得ユニット50および決定ユニット51によって実行されるステップを実行するように構成され、および/または本明細書において説明されている技術の別のプロセスを実行するように構成される。通信モジュール61は、双方向インター予測装置と別のデバイスとの間の相互作用をサポートするように構成される。図6に示されているように、双方向インター予測装置は、記憶モジュール62をさらに備えてもよい。記憶モジュール62は、双方向インター予測装置のプログラムコードおよびデータを記憶する、たとえば、記憶ユニット52によって記憶されているコンテンツを記憶するように構成される。
処理モジュール60は、プロセッサまたはコントローラであってもよく、たとえば、中央演算処理装置(Central Processing Unit、CPU)、汎用プロセッサ、デジタルシグナルプロセッサ(Digital Signal Processor、DSP)、ASIC、FPGAもしくは他のプログラム可能なロジックデバイス、トランジスタロジックデバイス、ハードウェアコンポーネント、またはこれらの任意の組み合わせであってよい。プロセッサまたはコントローラは、本出願において開示されている内容を参照しつつ説明されている様々な例示的な論理ブロック、モジュール、および回路を実装または実行してもよい。プロセッサは、代替的に、コンピューティング機能を実装するための組み合わせ、たとえば、1つ以上のマイクロプロセッサを含む組み合わせ、またはDSPとマイクロプロセッサとの組み合わせであってもよい。通信モジュール61は、トランシーバ、RF回路、通信インターフェース、または同様のものであってもよい。記憶モジュール62はメモリであってもよい。
前述の方法実施形態におけるシナリオのすべての関係する内容は、対応する機能モジュールの機能説明において引用されてもよい。詳細については、ここで再び説明しない。
双方向インター予測装置5および双方向インター予測装置6の両方が、図4に示されている双方向インター予測方法を実行してもよい。特に、双方向インター予測装置5および双方向インター予測装置6は、動画復号装置または動画符号化機能を有する他のデバイスであってもよい。双方向インター予測装置5および双方向インター予測装置6は、復号化プロセスにおいて画像予測を実行するように構成されてもよい。
本出願は、端末をさらに提供する。端末は、1つ以上のプロセッサと、メモリと、通信インターフェースとを備える。メモリおよび通信インターフェースは、1つ以上のプロセッサに結合される。メモリは、コンピュータプログラムコードを記憶するように構成される。コンピュータプログラムコードは、命令を含む。1つ以上のプロセッサが命令を実行するときに、端末は、本出願の実施形態において双方向インター予測方法を実行する。
本明細書における端末は、動画表示デバイス、スマートフォン、ポータブルコンピュータ、または動画を処理もしくは再生することができる他のデバイスであってもよい。
本出願は、不揮発性記憶媒体と中央演算処理装置とを含む、動画デコーダをさらに提供する。不揮発性記憶媒体は、実行可能プログラムを記憶する。中央演算処理装置は、不揮発性記憶媒体に接続され、本出願の実施形態において実行可能プログラムを実行して双方向インター予測方法を実行する。
本出願は、デコーダをさらに提供する。デコーダは、本願の実施形態における双方向インター予測装置(双方向インター予測装置5または双方向インター予測装置6)と、再構成モジュールとを備える。再構成モジュールは、双方向インター予測装置によって取得された予測サンプルに基づき現在の画像ブロックの再構成されたサンプル値を決定するように構成される。
本出願の別の実施形態は、コンピュータ可読記憶媒体をさらに提供する。コンピュータ可読記憶媒体は、1つ以上のプログラムコード断片を含む。1つ以上のプログラムコード断片は命令を含む。端末のプロセッサがプログラムコードを実行するときに、端末は、図4に示されている双方向インター予測方法を実行する。
本出願の別の実施形態では、コンピュータプログラム製品がさらに提供される。コンピュータプログラム製品は、コンピュータ実行可能命令を備える。コンピュータ実行可能命令は、コンピュータ可読記憶媒体に記憶される。端末の少なくとも1つのプロセッサが、コンピュータ可読記憶媒体からコンピュータ実行可能命令を読み出してもよい。少なくとも1つのプロセッサは、コンピュータ実行可能命令を実行し、端末が図4に示されている双方向インター予測方法において動画デコーダ202によって実行されるステップを実行することを可能にする。
前述の実施形態のすべてまたは一部は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせを使用することによって実装されてもよい。実施形態を実装するためにソフトウェアプログラムが使用されるときに、これらの実施形態は、コンピュータプログラム製品の形態で完全にまたは部分的に実装されてもよい。コンピュータプログラム製品は、1つ以上のコンピュータ命令を備える。コンピュータプログラム命令がコンピュータ上にロードされ実行されるときに、本出願の実施形態に係る手順または機能はすべてまたは部分的に生成される。
コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または他のプログラム可能な装置であってもよい。コンピュータ命令は、コンピュータ可読記憶媒体に記録されてもよく、またはコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送されてもよい。たとえば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ、またはデータセンターから別のウェブサイト、コンピュータ、サーバ、またはデータセンターに有線(たとえば、同軸ケーブル、光ファイバ、もしくはデジタル加入者回線(DSL))またはワイヤレス(たとえば、赤外線、無線、もしくはマイクロ波)方式で伝送されてもよい。コンピュータ可読記憶媒体は、コンピュータ、または1つ以上の使用可能な媒体を一体化した、サーバもしくはデータセンターなどの、データ記憶デバイスによってアクセス可能な任意の使用可能な媒体であってもよい。使用可能な媒体は、磁気媒体(たとえば、フロッピィディスク、ハードディスク、もしくは磁気テープ)、光媒体(たとえば、DVD)、半導体媒体(たとえば、ソリッドステートディスクSolid State Disk(SSD))、または同様のものであってもよい。
実装形態に関する前述の説明は、当業者が、簡便で簡潔な説明を目的として前述の機能モジュールの分割が図解のための例として取りあげられていることを明確に理解することを可能にする。実際のアプリケーションにおいて、前述の機能は、要件に基づき異なる機能モジュールに割り振られ、実装されうる、すなわち、装置の内部構造は、上で説明されている機能のすべてまたはいくつかを実装するように異なる機能モジュールに分けられる。
本出願において提供されるいくつかの実施形態において、開示されている装置および方法は、他の方式で実装されてもよいことが理解されるべきである。たとえば、説明されている装置の実施形態は、単なる例にすぎない。たとえば、モジュールまたはユニット分割は、単なる論理機能分割であり、実際の実装では他の分割であってもよい。たとえば、複数のユニットまたは構成要素が、別の装置内に組み合わされ、もしくは一体化されてもよく、またはいくつかの特徴が無視され、もしくは実施されなくてもよい。それに加えて、表示されている、または説明されている相互結合または直接的結合または通信接続は、いくつかのインターフェースを使用することによって実装されてもよい。装置またはユニットの間の間接的結合または通信接続は、電気的な、機械的な、または他の形態で実装されてもよい。
分離している部分として説明されるユニットは、物理的に分離していても分離していなくてもよく、ユニットとして表示される部分は、1つ以上の物理的ユニットであってもよく、1つの場所に配置されてもよく、または異なる場所に分散されてもよい。ユニットの一部またはすべては、実施形態の解決方法の目的を達成するために実際の要件に基づき選択されてもよい。
それに加えて、本出願の実施形態における機能ユニットは、1つの処理ユニット内に一体化されてもよく、またはユニットの各々が、物理的に単独で存在してもよく、または2つ以上のユニットが、1つのユニット内に一体化される。一体化されたユニットは、ハードウェアの形態で実装されてもよく、またはソフトウェア機能ユニットの形態で実装されてもよい。
一体化されたモジュールがソフトウェア機能ユニットの形態で実装され、独立した製品として販売または使用される場合、一体化されたユニットは、可読記憶媒体に記憶されてもよい。このような理解に基づき、本出願の実施形態における技術的解決方法は本質的に、または従来技術に寄与する部分は、または技術的解決方法のすべてもしくはいくつかは、ソフトウェア製品の形態で実装されてもよい。ソフトウェア製品は、記憶媒体に記憶され、本出願の実施形態において説明されている方法のステップのうちのすべてまたはいくつかを実行することをデバイス(シングルチップマイクロコンピュータ、チップ、もしくは同様のものであってもよい)またはプロセッサ(processor)に命令するためのいくつかの命令を備える。前述の記憶媒体は、USBフラッシュドライブ、取り外し可能なハードディスク、読取り専用メモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁気ディスク、または光ディスクなどの、プログラムコードを記憶することができる媒体を含む。
前述の説明は、本出願の単なる特定の実施形態にすぎず、本出願の保護範囲を制限することを意図されていない。本出願において開示されている技術範囲内の変更または置換はどれも、本出願の保護範囲に収まるものとする。したがって、本出願の保護範囲は、請求項の保護範囲に従うものとする。
1 動画符号化システム
5 双方向インター予測装置
6 双方向インター予測装置
10 ソース装置
20 デスティネーション装置
30 リンク
40 記憶装置
41 後処理エンティティ
42 ネットワークエンティティ
50 取得ユニット
51 決定ユニット
52 記憶ユニット
60 処理モジュール
61 通信モジュール
62 記憶モジュール
100 動画エンコーダ
101 動画ソース
102 動画エンコーダ
103 出力インターフェース
140 出力インターフェース
200 動画デコーダ
201 表示装置
202 動画デコーダ
203 入力インターフェース
240 入力インターフェース
301 変換器
302 量子化器
303 エントロピーエンコーダ
304 逆量子化器
305 逆変換器
306 フィルタ
307 メモリ
308 予測処理ユニット
309 イントラ予測器
310 インター予測器
311 総和器
312 総和器
401 エントロピーデコーダ
402 逆量子化器
403 逆変換器
404 フィルタ
405 メモリ
406 予測処理ユニット
407 イントラ予測器
408 インター予測器
409 総和器、再構成器

Claims (27)

  1. 復号方法であって、前記方法は双方向インター予測に適用され、前記方法は、
    ビットストリームを解析して、第1の識別子と現在の画像ブロックの第1の動きベクトル差分とを取得するステップと、
    記第1の識別子の値が第1のプリセット値であるときに前記第1の動きベクトル差分に基づき前記現在の画像ブロックの第2の動きベクトル差分を決定するステップであって、前記第1の動きベクトル差分は第1の方向における前記現在の画像ブロックの動き情報に属し、前記第2の動きベクトル差分は第2の方向における前記現在の画像ブロックの動き情報に属す、ステップと
    前記第1の識別子の前記値が第2のプリセット値であるときに、前記ビットストリームを解析して別の第2の動きベクトル差分を取得するステップと、
    前記第1の動きベクトル差分と前記第2の動きベクトル差分とに基づいて、または前記第1の動きベクトル差分と前記別の第2の動きベクトル差分とに基づいて、前記現在の画像ブロックの予測サンプルを決定するステップと
    を含む復号方法。
  2. 前記第1の動きベクトル差分に基づき前記現在の画像ブロックの第2の動きベクトル差分を決定する前記ステップは、

    mvd_lY=-mvd_lX
    に従って前記第2の動きベクトル差分を取得するステップであって、
    mvd_lYは前記第2の動きベクトル差分を表し、mvd_lXは第1の動きベクトル差分を表す、ステップを含む請求項1に記載の方法。
  3. 前記方法は、
    第1の予測済み動きベクトルと第2の予測済み動きベクトルとを取得するステップと、
    前記第1の予測済み動きベクトルと前記第1の動きベクトル差分とに基づき第1の動きベクトルを決定するステップと、
    前記第2の予測済み動きベクトルと前記第2の動きベクトル差分とに基づき第2の動きベクトルを決定するステップと、
    前記第1の動きベクトルと前記第2の動きベクトルとに基づき前記現在の画像ブロックの予測サンプルを決定するステップであって、
    前記第1の予測済み動きベクトルおよび前記第1の動きベクトルは前記第1の方向に対応し、前記第2の予測済み動きベクトルおよび前記第2の動きベクトルは前記第2の方向に対応する、ステップとをさらに含む請求項1または2に記載の方法。
  4. 前記現在の画像ブロックは、前記第1の方向における第1の参照フレームリストと、前記第2の方向における第2の参照フレームリストとを含み、前記第1の動きベクトルと前記第2の動きベクトルとに基づき前記現在の画像ブロックの予測サンプルを決定する前記ステップは、
    前記第1の参照フレームリストの参照フレームインデックスと、前記第2の参照フレームリストの参照フレームインデックスとを取得するステップと、
    前記第1の参照フレームリストの前記参照フレームインデックスと、前記第1の動きベクトルと、前記第1の参照フレームリストとに基づき第1の参照画像ブロックを決定するステップと、
    前記第2の参照フレームリストの前記参照フレームインデックスと、前記第2の動きベクトルと、前記第2の参照フレームリストとに基づき第2の参照画像ブロックを決定するステップと、
    前記第1の参照画像ブロックと前記第2の参照画像ブロックとに基づき前記現在の画像ブロックの前記予測サンプルを決定するステップとを含む、請求項3に記載の方法。
  5. 第1の識別子を取得する前記ステップの前に、前記現在の画像ブロックが配置されている現在のフレームのシーケンス番号がプリセット条件を満たしていると決定するステップであって、前記プリセット条件は、前記現在のフレームの前記シーケンス番号が第1の参照フレームのシーケンス番号と第2の参照フレームのシーケンス番号との間にあり、前記第1の参照フレームは第1の参照フレームリストに属し、前記第2の参照フレームは第2の参照フレームリストに属すという条件を含む、ステップをさらに含む請求項1から4のいずれか一項に記載の方法。
  6. 第1の識別子を取得する前記ステップの前に、前記現在の画像ブロックが配置されている現在のフレームのシーケンス番号がプリセット条件を満たしていないと決定するステップであって、前記プリセット条件は、前記現在のフレームの前記シーケンス番号が第1の参照フレームのシーケンス番号と第2の参照フレームのシーケンス番号との間にあり、前記第1の参照フレームは第1の参照フレームリストに属し、前記第2の参照フレームは第2の参照フレームリストに属すという条件を含む、ステップをさらに含む請求項1から5のいずれか一項に記載の方法。
  7. 双方向インター予測装置であって、
    取得ユニットであって、ビットストリームを解析して、第1の識別子現在の画像ブロックの第1の動きベクトル差分を取得するように構成されている取得ユニットと、
    決定ユニットであって、前記第1の識別子の値が第1のプリセット値であるときに前記第1の動きベクトル差分に基づき前記現在の画像ブロックの第2の動きベクトル差分を決定、前記第1の動きベクトル差分は第1の方向における前記現在の画像ブロックの動き情報に属し、前記第2の動きベクトル差分は第2の方向における前記現在の画像ブロックの動き情報に属前記第1の識別子の前記値が第2のプリセット値であるときに、前記ビットストリームを解析して別の第2の動きベクトル差分を取得し、前記第1の動きベクトル差分と前記第2の動きベクトル差分とに基づいて、または前記第1の動きベクトル差分と前記別の第2の動きベクトル差分とに基づいて、前記現在の画像ブロックの予測サンプルを決定するように構成される、決定ユニットとを備える双方向インター予測装置。
  8. 前記決定ユニットは、式
    mvd_lY=-mvd_lX
    に従って前記第2の動きベクトル差分を取得するように特に構成され、
    mvd_lYは前記第2の動きベクトル差分を表し、mvd_lXは前記第1の動きベクトル差分を表す請求項7に記載の装置。
  9. 前記取得ユニットは、第1の予測済み動きベクトルと第2の予測済み動きベクトルとを取得するように特に構成され、前記決定ユニットは、前記第1の予測済み動きベクトルと前記第1の動きベクトル差分とに基づき第1の動きベクトルを決定し、前記第2の予測済み動きベクトルと前記第2の動きベクトル差分とに基づき第2の動きベクトルを決定し、前記第1の動きベクトルと前記第2の動きベクトルとに基づき前記現在の画像ブロックの予測サンプルを決定するように特に構成され、前記第1の予測済み動きベクトルおよび前記第1の動きベクトルは前記第1の方向に対応し、前記第2の予測済み動きベクトルおよび前記第2の動きベクトルは前記第2の方向に対応する、請求項7または8に記載の装置。
  10. 前記現在の画像ブロックは、前記第1の方向における第1の参照フレームリストと、前記第2の方向における第2の参照フレームリストとを含み、前記取得ユニットは、前記第1の参照フレームリストの参照フレームインデックスと、前記第2の参照フレームリストの参照フレームインデックスとを取得するように特に構成され、前記決定ユニットは、前記第1の参照フレームリストの前記参照フレームインデックスと、前記第1の動きベクトルと、前記第1の参照フレームリストとに基づき第1の参照画像ブロックを決定し、前記第2の参照フレームリストの前記参照フレームインデックスと、前記第2の動きベクトルと、前記第2の参照フレームリストとに基づき第2の参照画像ブロックを決定し、前記第1の参照画像ブロックと前記第2の参照画像ブロックとに基づき前記現在の画像ブロックの前記予測サンプルを決定するように特に構成される請求項9に記載の装置。
  11. 前記取得ユニットは、前記第1の識別子を取得する前に、前記現在の画像ブロックが配置されている現在のフレームのシーケンス番号がプリセット条件を満たしていると決定するようにさらに特に構成され、前記プリセット条件は、前記現在のフレームの前記シーケンス番号が第1の参照フレームのシーケンス番号と第2の参照フレームのシーケンス番号との間にあり、前記第1の参照フレームは第1の参照フレームリストに属し、前記第2の参照フレームは第2の参照フレームリストに属すという条件を含む、請求項7から10のいずれか一項に記載の装置。
  12. 符号化方法であって、前記方法は双方向インター予測に適用され、前記方法は、
    現在の画像ブロックの第1の動きベクトル差分第1の識別子を決定するステップであって、前記第1の識別子の値が第1のプリセット値であるときに前記第1の識別子は、前記現在の画像ブロックの第2の動きベクトル差分が前記第1の動きベクトル差分に基づき決定されてよいことを指示するために使用され、前記第1の動きベクトル差分は第1の方向における前記現在の画像ブロックの動き情報に属し、前記第2の動きベクトル差分は第2の方向における前記現在の画像ブロックの動き情報に属す、ステップと、
    前記第1の識別子と前記第1の動きベクトル差分とをビットストリーム内に符号化するステップと
    前記第1の識別子の前記値が第2のプリセット値であるときに、前記現在の画像ブロックの別の第2の動きベクトル差分を決定し、前記別の第2の動きベクトル差分を前記ビットストリームに符号化するステップと
    を含む符号化方法。
  13. 前記現在の画像ブロックの第2の動きベクトル差分が前記第1の動きベクトル差分に基づき決定され得ることは、式
    mvd_lY=-mvd_lX
    に従って前記第2の動きベクトル差分を取得するステップであって、
    mvd_lYは前記第2の動きベクトル差分を表し、mvd_lXは第1の動きベクトル差分を表す、ステップを含む請求項12に記載の方法。
  14. 現在の画像ブロックの第1の動きベクトル差分を決定する前記ステップは、
    第1の予測済み動きベクトルを決定し、第1の予測済み動きベクトルを取得するステップと、
    前記第1の動きベクトルと前記第1の予測済み動きベクトルとに基づき前記第1の動きベクトル差分を決定するステップとを含む請求項12または13に記載の方法。
  15. 前記方法は、
    第2の予測済み動きベクトルを取得するステップと、
    前記第2の予測済み動きベクトルと前記第2の動きベクトル差分とに基づき第2の動きベクトルを決定するステップと、
    前記第1の動きベクトルと前記第2の動きベクトルとに基づき前記現在の画像ブロックの予測サンプルを決定するステップとをさらに含み、
    前記第1の予測済み動きベクトルおよび前記第1の動きベクトルは前記第1の方向に対応し、前記第2の予測済み動きベクトルおよび前記第2の動きベクトルは前記第2の方向に対応する、請求項14に記載の方法。
  16. 前記現在の画像ブロックは、前記第1の方向における第1の参照フレームリストと、前記第2の方向における第2の参照フレームリストとを含み、前記第1の動きベクトルと前記第2の動きベクトルとに基づき前記現在の画像ブロックの予測サンプルを決定する前記ステップは、
    前記第1の参照フレームリストの参照フレームインデックスと、前記第2の参照フレームリストの参照フレームインデックスとを取得するステップと、
    前記第1の参照フレームリストの前記参照フレームインデックスと、前記第1の動きベクトルと、前記第1の参照フレームリストとに基づき第1の参照画像ブロックを決定するステップと、
    前記第2の参照フレームリストの前記参照フレームインデックスと、前記第2の動きベクトルと、前記第2の参照フレームリストとに基づき第2の参照画像ブロックを決定するステップと、
    前記第1の参照画像ブロックと前記第2の参照画像ブロックとに基づき前記現在の画像ブロックの前記予測サンプルを決定するステップとを含む請求項15に記載の方法。
  17. 前記第1の識別子をビットストリーム内に符号化する前記ステップの前に、前記現在の画像ブロックが配置されている現在のフレームのシーケンス番号がプリセット条件を満たしていると決定するステップであって、前記プリセット条件は、前記現在のフレームの前記シーケンス番号が第1の参照フレームのシーケンス番号と第2の参照フレームのシーケンス番号との間にあり、前記第1の参照フレームは第1の参照フレームリストに属し、前記第2の参照フレームは第2の参照フレームリストに属すという条件を含む、ステップをさらに含む請求項12から16のいずれか一項に記載の方法。
  18. 前記第1の識別子をビットストリーム内に符号化する前記ステップの前に、前記現在の画像ブロックが配置されている現在のフレームのシーケンス番号がプリセット条件を満たしていないと決定するステップであって、前記プリセット条件は、前記現在のフレームの前記シーケンス番号が第1の参照フレームのシーケンス番号と第2の参照フレームのシーケンス番号との間にあり、前記第1の参照フレームは第1の参照フレームリストに属し、前記第2の参照フレームは第2の参照フレームリストに属すという条件を含む、ステップをさらに含む請求項12から16のいずれか一項に記載の方法。
  19. 双方向インター予測装置であって、
    現在の画像ブロックの第1の動きベクトル差分を決定するように構成されている取得ユニットと、
    第1の識別子を決定するように構成されている決定ユニットであって、前記第1の識別子の値が第1のプリセット値であるときに前記第1の識別子は、前記現在の画像ブロックの第2の動きベクトル差分が前記第1の動きベクトル差分に基づき決定されてよいことを指示するために使用され、前記第1の動きベクトル差分は第1の方向における前記現在の画像ブロックの動き情報に属し、前記第2の動きベクトル差分は第2の方向における前記現在の画像ブロックの動き情報に属前記第1の識別子の前記値が第2のプリセット値であるときに前記現在の画像ブロックの別の第2の動きベクトル差分を決定する、決定ユニットと、
    前記第1の識別子と前記第1の動きベクトル差分とをビットストリーム内に符号化し、前記第1の識別子の前記値が第2のプリセット値であるときに前記別の第2の動きベクトル差分を前記ビットストリームに符号化するように構成されている符号化ユニットとを備え
    る双方向インター予測装置。
  20. 前記決定ユニットは、式
    mvd_lY=-mvd_lX
    に従って前記第2の動きベクトル差分を取得するように特に構成され、
    mvd_lYは前記第2の動きベクトル差分を表し、mvd_lXは前記第1の動きベクトル差分を表す、請求項19に記載の装置。
  21. 前記取得ユニットは、
    第1の予測済み動きベクトルを決定し、第1の予測済み動きベクトルを取得し、
    前記第1の動きベクトルと前記第1の予測済み動きベクトルとに基づき前記第1の動きベクトル差分を決定するように特に構成される、請求項19または20に記載の装置。
  22. 前記取得ユニットは、第2の予測済み動きベクトルを取得し、前記第2の予測済み動きベクトルと前記第2の動きベクトル差分とに基づき第2の動きベクトルを決定するようにさらに構成され、
    前記装置は、前記第1の動きベクトルと前記第2の動きベクトルとに基づき前記現在の画像ブロックの予測サンプルを決定するように構成されている予測ユニットをさらに備え、
    前記第1の予測済み動きベクトルおよび前記第1の動きベクトルは前記第1の方向に対応し、前記第2の予測済み動きベクトルおよび前記第2の動きベクトルは前記第2の方向に対応する、請求項21に記載の装置。
  23. 前記現在の画像ブロックは、前記第1の方向における第1の参照フレームリストと、前記第2の方向における第2の参照フレームリストとを含み、前記予測ユニットは、
    前記第1の参照フレームリストの参照フレームインデックスと、前記第2の参照フレームリストの参照フレームインデックスとを取得し、
    前記第1の参照フレームリストの前記参照フレームインデックスと、前記第1の動きベクトルと、前記第1の参照フレームリストとに基づき第1の参照画像ブロックを決定し、
    前記第2の参照フレームリストの前記参照フレームインデックスと、前記第2の動きベクトルと、前記第2の参照フレームリストとに基づき第2の参照画像ブロックを決定し、
    前記第1の参照画像ブロックと前記第2の参照画像ブロックとに基づき前記現在の画像ブロックの前記予測サンプルを決定するように特に構成される、請求項22に記載の装置。
  24. 前記装置は、前記符号化ユニットが前記第1の識別子を前記ビットストリーム内に符号化する前に、前記現在の画像ブロックが配置されている現在のフレームのシーケンス番号がプリセット条件を満たすと決定するように構成されている判定ユニットを備え、前記プリセット条件は、前記現在のフレームの前記シーケンス番号が第1の参照フレームのシーケンス番号と第2の参照フレームのシーケンス番号との間にあり、前記第1の参照フレームは第1の参照フレームリストに属し、前記第2の参照フレームは第2の参照フレームリストに属すという条件を含む、請求項19から23のいずれか一項に記載の装置。
  25. 前記装置は、前記符号化ユニットが前記第1の識別子を前記ビットストリーム内に符号化する前に、前記現在の画像ブロックが配置されている現在のフレームのシーケンス番号がプリセット条件を満たさないと決定するように構成されている判定ユニットを備え、前記プリセット条件は、前記現在のフレームの前記シーケンス番号が第1の参照フレームのシーケンス番号と第2の参照フレームのシーケンス番号との間にあり、前記第1の参照フレームは第1の参照フレームリストに属し、前記第2の参照フレームは第2の参照フレームリストに属すという条件を含む、請求項19から23のいずれか一項に記載の装置。
  26. プロセッサと、メモリと、通信インターフェースと、バスとを備える、画像処理装置であって、前記プロセッサは、前記バスを使用することによって前記メモリおよび前記通信インターフェースに接続され、
    記メモリは、命令を記憶するように構成され、
    前記プロセッサは前記命令を実行するように構成され、前記プロセッサが前記メモリに記憶されている前記命令を実行したときに、前記プロセッサは請求項1から6のいずれか一項に記載の前記復号方法を実行する、画像処理装置。
  27. プロセッサと、メモリと、通信インターフェースと、バスとを備える、画像処理装置であって、前記プロセッサは、前記バスを使用することによって前記メモリおよび前記通信インターフェースに接続され、
    前記メモリは、命令を記憶するように構成され、
    前記プロセッサは前記命令を実行するように構成され、前記プロセッサが前記メモリに記憶されている前記命令を実行したときに、前記プロセッサは請求項12から18のいずれか一項に記載の前記符号化方法を実行する、画像処理装置。
JP2020552815A 2018-03-29 2019-01-11 双方向インター予測の方法および装置 Active JP7143435B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022146320A JP2022179516A (ja) 2018-03-29 2022-09-14 双方向インター予測の方法および装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810274457.X 2018-03-29
CN201810274457.XA CN110324637B (zh) 2018-03-29 2018-03-29 一种双向帧间预测方法及装置
PCT/CN2019/071471 WO2019184556A1 (zh) 2018-03-29 2019-01-11 一种双向帧间预测方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022146320A Division JP2022179516A (ja) 2018-03-29 2022-09-14 双方向インター予測の方法および装置

Publications (2)

Publication Number Publication Date
JP2021519548A JP2021519548A (ja) 2021-08-10
JP7143435B2 true JP7143435B2 (ja) 2022-09-28

Family

ID=68062196

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020552815A Active JP7143435B2 (ja) 2018-03-29 2019-01-11 双方向インター予測の方法および装置
JP2022146320A Pending JP2022179516A (ja) 2018-03-29 2022-09-14 双方向インター予測の方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022146320A Pending JP2022179516A (ja) 2018-03-29 2022-09-14 双方向インター予測の方法および装置

Country Status (14)

Country Link
US (3) US11350122B2 (ja)
EP (1) EP3771211A4 (ja)
JP (2) JP7143435B2 (ja)
KR (2) KR102525178B1 (ja)
CN (6) CN112040244B (ja)
AU (1) AU2019240981B2 (ja)
BR (1) BR112020018923A2 (ja)
CA (1) CA3095220C (ja)
MX (1) MX2020010174A (ja)
PH (1) PH12020551544A1 (ja)
RU (1) RU2762262C1 (ja)
SG (1) SG11202009509VA (ja)
WO (1) WO2019184556A1 (ja)
ZA (1) ZA202006408B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112040244B (zh) 2018-03-29 2021-06-29 华为技术有限公司 一种双向帧间预测方法及装置
CN113709488B (zh) * 2020-06-30 2023-02-28 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN114071159B (zh) * 2020-07-29 2023-06-30 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器及计算机可读存储介质
CN116320428A (zh) * 2021-12-20 2023-06-23 维沃移动通信有限公司 帧间预测方法及终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007505529A (ja) 2003-09-12 2007-03-08 中国科学院▲計▼算技▲術▼研究所 映像符号化の符号化側/復号化側に使用される双方向予測方法
JP2013106312A (ja) 2011-11-16 2013-05-30 Jvc Kenwood Corp 画像符号化装置、画像符号化方法及び画像符号化プログラム
WO2016160609A1 (en) 2015-03-27 2016-10-06 Qualcomm Incorporated Motion information derivation mode determination in video coding

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2354253T3 (es) * 2002-10-04 2011-03-11 Lg Electronics Inc. Método para extraer vectores de movimiento de modo directo.
US8917769B2 (en) 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
KR20110071047A (ko) * 2009-12-20 2011-06-28 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치
EP2528332A4 (en) 2010-01-19 2015-08-05 Samsung Electronics Co Ltd METHOD AND DEVICE FOR CODING / DECODING PICTURES USING A MOTION VECTOR OF A PREVIOUS BLOCK AS A MOTION VECTOR OF THE PRESENT BLOCK
JP5281597B2 (ja) * 2010-02-04 2013-09-04 日本電信電話株式会社 動きベクトル予測方法,動きベクトル予測装置および動きベクトル予測プログラム
US9503743B2 (en) * 2010-05-12 2016-11-22 Thomson Licensing Methods and apparatus for uni-prediction of self-derivation of motion estimation
CN105744282B (zh) * 2010-05-26 2018-10-23 Lg电子株式会社 用于处理视频信号的方法和设备
US9398308B2 (en) * 2010-07-28 2016-07-19 Qualcomm Incorporated Coding motion prediction direction in video coding
US9148666B2 (en) * 2011-02-09 2015-09-29 Lg Electronics Inc. Method for storing motion information and method for inducing temporal motion vector predictor using same
US9288501B2 (en) * 2011-03-08 2016-03-15 Qualcomm Incorporated Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
WO2013006386A1 (en) 2011-07-01 2013-01-10 General Instrument Corporation Motion vector prediction design simplification
CN107277533B (zh) * 2011-10-28 2020-04-24 三星电子株式会社 帧间预测的方法及其装置和运动补偿的方法及其装置
CN103188490A (zh) * 2011-12-29 2013-07-03 朱洪波 视频编码中的合并补偿模式
WO2013109124A1 (ko) 2012-01-19 2013-07-25 삼성전자 주식회사 쌍방향 예측 및 블록 병합을 제한하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2013157791A1 (ko) 2012-04-15 2013-10-24 삼성전자 주식회사 인터 예측의 참조영상을 결정하는 방법과 그 장치
RU2647674C1 (ru) 2012-07-02 2018-03-16 Самсунг Электроникс Ко., Лтд. Способ и устройство для кодирования видео и способ и устройство для декодирования видео, определяющие список опорных изображений внешнего прогнозирования в зависимости от размера блока
JP6120707B2 (ja) * 2013-07-08 2017-04-26 ルネサスエレクトロニクス株式会社 動画像符号化装置およびその動作方法
CN104427345B (zh) * 2013-09-11 2019-01-08 华为技术有限公司 运动矢量的获取方法、获取装置、视频编解码器及其方法
CN111193930B (zh) * 2013-12-16 2021-11-30 浙江大学 一种前向双假设编码图像块的编解码方法和装置
GB2524476B (en) 2014-03-14 2016-04-27 Canon Kk Method, device and computer program for optimizing transmission of motion vector related information when transmitting a video stream
EP3202143B8 (en) 2014-11-18 2019-09-25 MediaTek Inc. Method of bi-prediction video coding based on motion vectors from uni-prediction and merge candidate
EP3316580A4 (en) * 2015-10-13 2018-09-26 Samsung Electronics Co., Ltd. Method and device for encoding or decoding image
CN109076213A (zh) * 2016-04-28 2018-12-21 Lg 电子株式会社 基于间预测模式的图像处理方法及其装置
CN109196864B (zh) 2016-05-24 2023-07-11 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
US10462462B2 (en) * 2016-09-29 2019-10-29 Qualcomm Incorporated Motion vector difference coding technique for video coding
US20180192071A1 (en) * 2017-01-05 2018-07-05 Mediatek Inc. Decoder-side motion vector restoration for video coding
CN112040244B (zh) * 2018-03-29 2021-06-29 华为技术有限公司 一种双向帧间预测方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007505529A (ja) 2003-09-12 2007-03-08 中国科学院▲計▼算技▲術▼研究所 映像符号化の符号化側/復号化側に使用される双方向予測方法
JP2013106312A (ja) 2011-11-16 2013-05-30 Jvc Kenwood Corp 画像符号化装置、画像符号化方法及び画像符号化プログラム
WO2016160609A1 (en) 2015-03-27 2016-10-06 Qualcomm Incorporated Motion information derivation mode determination in video coding

Also Published As

Publication number Publication date
EP3771211A1 (en) 2021-01-27
KR20230054916A (ko) 2023-04-25
CN117528116A (zh) 2024-02-06
CN117560506A (zh) 2024-02-13
CN112040244A (zh) 2020-12-04
CN113315975A (zh) 2021-08-27
ZA202006408B (en) 2022-09-28
US11838535B2 (en) 2023-12-05
US11350122B2 (en) 2022-05-31
BR112020018923A2 (pt) 2020-12-29
EP3771211A4 (en) 2021-05-05
JP2021519548A (ja) 2021-08-10
US20220256184A1 (en) 2022-08-11
US20220286703A1 (en) 2022-09-08
CN117560505A (zh) 2024-02-13
WO2019184556A1 (zh) 2019-10-03
JP2022179516A (ja) 2022-12-02
SG11202009509VA (en) 2020-10-29
CN112040244B (zh) 2021-06-29
CA3095220A1 (en) 2019-10-03
CA3095220C (en) 2023-12-12
KR102525178B1 (ko) 2023-04-21
CN110324637B (zh) 2023-11-17
KR20200131317A (ko) 2020-11-23
US20210021853A1 (en) 2021-01-21
AU2019240981A1 (en) 2020-10-15
RU2762262C1 (ru) 2021-12-17
CN110324637A (zh) 2019-10-11
KR102622150B1 (ko) 2024-01-05
AU2019240981B2 (en) 2023-02-02
PH12020551544A1 (en) 2021-06-07
CN113315975B (zh) 2022-12-06
US11924458B2 (en) 2024-03-05
MX2020010174A (es) 2020-10-28

Similar Documents

Publication Publication Date Title
JP7143435B2 (ja) 双方向インター予測の方法および装置
JP7148612B2 (ja) ビデオデータインター予測の方法、装置、ビデオエンコーダ、ビデオデコーダ及びプログラム
JP7277587B2 (ja) 双方向インター予測方法および装置
JP2021529483A (ja) 動きベクトル予測方法及び関連する装置
CN110876065A (zh) 候选运动信息列表的构建方法、帧间预测方法及装置
JP2023134524A (ja) 動き情報候補リストを構築するための方法、インター予測方法、および装置
RU2818520C2 (ru) Способ и устройство двунаправленного интер-предсказания
RU2795934C2 (ru) Способ и устройство двунаправленного интер-предсказания

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220418

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220815

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220914

R150 Certificate of patent or registration of utility model

Ref document number: 7143435

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150