JP2023179684A - ピクチャ予測方法および装置、およびコンピュータ可読記憶媒体 - Google Patents

ピクチャ予測方法および装置、およびコンピュータ可読記憶媒体 Download PDF

Info

Publication number
JP2023179684A
JP2023179684A JP2023176755A JP2023176755A JP2023179684A JP 2023179684 A JP2023179684 A JP 2023179684A JP 2023176755 A JP2023176755 A JP 2023176755A JP 2023176755 A JP2023176755 A JP 2023176755A JP 2023179684 A JP2023179684 A JP 2023179684A
Authority
JP
Japan
Prior art keywords
mode
merge mode
current picture
ciip
merge
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
JP2023176755A
Other languages
English (en)
Inventor
旭 ▲陳▼
Xu Chen
▲煥▼浜 ▲陳▼
Huanbang Chen
▲海▼涛 ▲楊▼
Haitao Yang
恋 ▲張▼
Lian Zhang
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 CN201910474007.XA external-priority patent/CN111866502A/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2023179684A publication Critical patent/JP2023179684A/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/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
    • 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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/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
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

【課題】マージモード決定プロセスにおいて生成される冗長性を削減するピクチャ予測方法、装置及び記憶媒体を提供する。【解決手段】ピクチャ予測方法は、マージモードが現在のピクチャブロックに対して使用されるかどうかを判定するステップと、マージモードが現在のピクチャブロックに対して使用されるとき、レベル1のマージモードが現在のピクチャブロックに対して利用可能であるかどうかを判定するステップと、第1のマージモードが利用可能でなく、かつ第1のマージモードに対応する上位層シンタックス要素が、第1のマージモードが使用されることを禁止されていることを示しているならば、現在のピクチャブロックに適用可能なターゲットマージモードとして第2のマージモードを直接決定するステップと、を含む。【選択図】図13

Description

この出願は、2019年4月25日に中国国家知識産権局に出願された、発明の名称を「ビデオピクチャ符号化/復号方法および装置」とする中国特許出願第201910341218.6号の優先権を主張し、その全体が参照によりここに組み込まれる。
この出願は、2019年6月2日に中国国家知識産権局に出願された、発明の名称を「ピクチャ予測方法および装置、およびコンピュータ可読記憶媒体」とする中国特許出願第201910474007.Xの優先権を主張し、その全体が参照によりここに組み込まれる。
この出願は、ビデオコーディング技術の分野、より具体的には、ピクチャ予測方法および装置、およびコンピュータ可読記憶媒体に関する。
デジタルビデオ能力は、デジタルテレビ、デジタル生放送システム、ワイヤレス放送システム、パーソナルデジタルアシスタント(personal digital assistant、PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子書籍リーダ、デジタルカメラ、デジタル記録装置、デジタルメディアプレーヤ、ビデオゲーム装置、ビデオゲームコンソール、携帯または衛星無線電話(すなわち「スマートフォン」)、ビデオ会議装置、ビデオストリーミング装置、および同様のものを含む広く多種の装置に組み込まれることが可能である。デジタルビデオ装置は、MPEG-2、MPEG-4、ITU-T H.263、およびITU-T H.264/MPEG-4パート10アドバンスドビデオコーディング(AVC)、ビデオコーディング規格H.265/高効率ビデオコーディング(high efficiency video coding、HEVC)規格、ならびにそのような規格の拡張において定義されている規格において説明されているビデオ圧縮技術などのビデオ圧縮技術を実現している。ビデオ装置は、そのようなビデオ圧縮技術を実現することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶することができる。
ビデオ圧縮技術は、ビデオシーケンス内の固有の冗長性を削減または除去するために、空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を実行するために使用される。ブロックに基づくビデオコーディングにおいて、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部)がピクチャブロックに区分されてもよく、ピクチャブロックは、ツリーブロック、コーディングユニット(CU)、および/またはコーディングノードとも呼ばれ得る。ピクチャのイントラコーディングされるべき(I)スライス内のピクチャブロックは、同じピクチャ内の隣接するブロック内の参照サンプルに基づいて、空間的予測を通じてコーディングされる。ピクチャのインターコーディングされるべき(PまたはB)スライス内のピクチャブロックについて、同じピクチャ内の隣接するブロック内の参照サンプルに基づく空間的予測、または別の参照ピクチャ内の参照サンプルに基づく時間的予測が使用され得る。ピクチャは、フレームと呼ばれることがあり、参照ピクチャは、参照フレームと呼ばれることがある。
ピクチャブロックを予測するためにマージモードが使用されるとき、一般に、複数のオプションのマージモードが存在する。従来の解決策では、現在のピクチャブロックに適用可能なマージモードは、通常、複数の候補マージモードから1つずつ決定される。マージモードが利用可能でないとき、次のマージモードが利用可能であるかどうかが決定されることに続く。従来の解決策では、現在のブロックに適用可能なマージモードが最後の2つの残りのマージモードから決定されるときに冗長性が存在する。
この出願は、ピクチャ予測プロセスにおける冗長性を可能な限り削減するために、ピクチャ予測方法および装置、およびコンピュータ可読記憶媒体を提供する。
第1の態様によれば、ピクチャ予測方法が提供される。方法は、マージモードが現在のピクチャブロックに対して使用されるかどうかを判定するステップと、マージモードが現在のピクチャブロックに使用されるとき、レベル1のマージモードが利用可能であるかどうかを判定することに続くステップと、レベル1のマージモードが利用可能でなく、かつ第1のマージモードに対応する上位層シンタックス要素が、第1のマージモードが使用されることを禁止されていることを示しているとき、現在のピクチャブロックに適用可能なターゲットマージモードとして第2のマージモードを決定するステップと、ターゲットマージモードに基づいて現在のピクチャブロックを予測するステップとを含む。
第1のマージモードと第2のマージモードの両方は、レベル2のマージモードに属し、レベル2のマージモードは、第1のマージモードおよび第2のマージモードを含む。加えて、現在のピクチャブロックについて、レベル1のマージモードおよびレベル2のマージモードは、現在のピクチャブロックのすべてのオプションのマージモードをすでに含んでおり、現在のピクチャブロックについて、最終的なターゲットマージモードが、レベル1のマージモードおよびレベル2のマージモードから決定される必要がある。
オプションで、レベル1のマージモードの優先度は、レベル2のマージモードの優先度よりも高い。
レベル1のマージモードの優先度がレベルの2のマージモードの優先度よりも高いことは、現在のピクチャブロックのターゲットマージモードを決定するプロセスにおいて、ターゲットマージモードがレベル1のマージモードから優先的に決定されることを意味する。レベル1のマージモードにおいて利用可能なマージモードが存在しないならば、ターゲットマージモードは、次いで、レベル2のマージモードから決定される。
オプションで、マージモードが現在のピクチャブロックに対して使用されるかどうかを判定するステップは、現在のピクチャブロックに対応するmerge_flagが1であるとき、マージモードが現在のピクチャブロックに対して使用されると判定するステップと、現在のピクチャブロックに対応するmerge_flagが0であるとき、マージモードが現在のピクチャブロックに対して使用されないと判定するステップとを含む。
マージモードが現在のピクチャブロックに対して使用されないと判定されたとき、マージモード以外の別のモードが現在のピクチャブロックを予測するために使用され得ることが理解されるべきである。たとえば、マージモードが現在のピクチャブロックに対して使用されないと判定されたとき、高度動きベクトルAMVPモードが現在のピクチャブロックを予測するために使用され得る。
この出願では、第1のマージモードの上位層シンタックス要素が、第1のマージモードが使用されることを禁止されていることを示しているとき、残りの第2のマージモードの利用可能なステータス情報を解析する必要はなく、第2のマージモードは、最終的なターゲットマージモードとして直接決定され得る。これは、ピクチャ予測プロセスにおけるターゲットマージモードの決定により生成される冗長性を可能な限り削減することができる。
オプションで、方法は、レベル1のマージモードが利用可能であるかどうかを判定するステップをさらに含む。
具体的には、レベル1のマージモードが利用可能であるかどうかは、レベル1のマージモードに対応する上位層シンタックス要素および/またはレベル1のマージモードに対応する利用可能なステータス情報に基づいて判定される。
第1の態様を参照して、第1の態様のいくつかの実装において、レベル1のマージモードが利用可能でなく、かつ第1のマージモードに対応する上位層シンタックス要素が、第1のマージモードが使用されることを許可されていることを示しているとき、ターゲットマージモードは、第2のマージモードに対応する上位層シンタックス要素および/または第2のマージモードの利用可能なステータス情報に基づいて決定される。
第2のマージモードの利用可能なステータス情報は、現在のピクチャブロックが予測されるときに第2のマージモードが使用されるかどうかを示すために使用される。
たとえば、第2のマージモードは、CIIPモードであり、第2のマージモードの利用可能なステータス情報は、ciip_flagの値である。ciip_flagが0であるとき、CIIPモードは、現在のピクチャブロックに対して利用可能でない。ciip_flagが1であるとき、CIIPモードは、現在のピクチャブロックに対して利用可能である。
CIIPモードについて、CIIPモードがターゲットマージモードとして選択されるべきであるならば、CIIPに対応する上位層シンタックス要素は、CIIPモードが使用されることを許可されていることを示す必要があり、CIIPモードの利用可能なステータスを示す利用可能なステータス情報は、CIIPが利用可能であることを示す必要があることが理解されるべきである。
たとえば、sps_ciip_enabled_flag=1かつciip_flag=1のとき、CIIPモードは、現在のピクチャブロックのターゲットマージモードとして決定され得る。
第1の態様を参照して、第1の態様のいくつかの実装において、ターゲットマージモードが第2のマージモードに対応する上位層シンタックス要素および/または第2のマージモードの利用可能なステータス情報に基づいて決定されることは、第2のマージモードに対応する上位層シンタックス要素および/または第2のマージモードの利用可能なステータス情報が、第2のマージモードが使用されることを禁止されていることを示しているとき、第1のマージモードがターゲットマージモードとして決定されることを含む。
第2のマージモードに対応する上位層シンタックス要素および/または第2のマージモードの利用可能なステータス情報が、第2のマージモードが使用されることを禁止されていることを示していることは、以下を含む。
第2のマージモードに対応する上位層シンタックス要素は、第2のマージモードが使用されることを禁止されていることを示し、第2のマージモードの利用可能なステータス情報は、第2のマージモードが使用されることが可能でないことを示し、第2のマージモードに対応する上位層シンタックス要素は、第2のマージモードが使用されることを許可されていることを示し、第2のマージモードの利用可能なステータス情報は、第2のマージモードが使用されることが可能でないことを示す。
オプションで、ターゲットマージモードが第2のマージモードに対応する上位層シンタックス要素および/または第2のマージモードの利用可能なステータス情報に基づいて決定されることは、第2のマージモードに対応する上位層シンタックス要素が、第2のマージモードが使用されることを許可されていることを示しており、第2のマージモードの利用可能なステータス情報が、第2のマージモードが利用可能であることを示しているとき、第2のマージモードがターゲットマージモードとして決定されることをさらに含む。
第1の態様を参照して、第1の態様のいくつかの実装において、ターゲットマージモードが第2のマージモードに対応する上位層シンタックス要素および/または第2のマージモードの利用可能なステータス情報に基づいて決定される前に、方法は、以下の条件、すなわち、現在のピクチャブロックのサイズが事前設定された条件を満たしている、および現在のピクチャブロックを予測するためにスキップモードが使用されない、のうちの少なくとも1つが満たされていることを判定するステップをさらに含む。
言い換えれば、ターゲットマージモードが決定される前に、現在のピクチャブロックのサイズが条件を満たしており、現在のピクチャブロックに対してスキップモードが使用されないことをさらに保証する必要がある。そうでなければ、マージモード以外の別のモードが、現在のピクチャブロックを予測するために使用され得る。
第1の態様を参照して、第1の態様のいくつかの実装において、現在のピクチャブロックのサイズが事前設定された条件を満たすことは、現在のピクチャブロックが以下の3つの条件、すなわち、
(cdWidth*cbHeight)≧64、
cbWidth<128、および
cbHeight<128
を満たすことを含む。
cdWidthは、現在のピクチャブロックの幅であり、cbHeightは、現在のピクチャブロックの高さである。
第1の態様を参照して、第1の態様のいくつかの実装において、第1のマージモードは、三角形区分モードTPMを含み、第2のマージモードは、組み合わされたイントラおよびインター予測CIIPモードを含む。
オプションで、TPMモードに対応する上位層シンタックス要素が、TPMモードが使用されることを禁止されていることを示しているとき、CIIPモードがターゲットマージモードとして決定される。
この出願において、TPMモードに対応する上位層シンタックス要素が、TPMモードが使用されることを禁止されていることを示しているとき、CIIPモードに対応する上位層シンタックスおよび/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報を解析することによって、CIIPモードが利用可能であるかどうかを判定する必要はない。代わりに、CIIPモードは、ターゲットマージモードとして直接決定され得る。これは、ターゲットマージモードを決定するプロセスにおける冗長性を削減することができる。
オプションで、TPMモードに対応する上位層シンタックス要素が、TPMモードが使用されることを許可されていることを示しているとき、ターゲットマージモードは、CIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報に基づいて決定される。
オプションで、CIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報が、CIIPモードが使用されることを禁止されていることを示しているとき、TPMモードがターゲットマージモードとして決定される。
オプションで、CIIPモードに対応する上位層シンタックス要素が、CIIPモードが使用されることを許可されていることを示しており、CIIPモードの利用可能なステータスを示す利用可能なステータス情報が、CIIPモードが利用可能であることを示しているとき、CIIPモードがターゲットマージモードとして決定される。
第1の態様を参照して、第1の態様のいくつかの実装において、ターゲットマージモードが第2のマージモードに対応する上位層シンタックス要素および/または第2のマージモードの利用可能なステータス情報に基づいて決定される前に、方法は、現在のピクチャブロックが配置されているスライスまたはスライスグループのタイプがBであることを判定するステップと、現在のピクチャブロックが配置されているスライスまたはスライスグループによってサポートされている候補TPMモードの最大数量が2以上であることを判定するステップとをさらに含む。
オプションで、ターゲットマージモードがCIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報に基づいて決定される前に、方法は、現在のピクチャブロックが配置されているスライスまたはスライスグループのタイプがBであることを判定するステップと、現在のピクチャブロックが配置されているスライスまたはスライスグループによってサポートされている候補TPMモードの最大数量が2以上であることを判定するステップとをさらに含む。
第1の態様を参照して、第1の態様のいくつかの実装において、第1のマージモードは、三角形区分モードTPMであり、第2のマージモードは、組み合わされたイントラおよびインター予測CIIPモードである。方法は、レベル1のマージモードが利用可能でなく、TPMモードに対応する上位層シンタックス要素が、TPMモードが使用されることを許可されていることを示しているが、現在のピクチャブロックが条件Aおよび条件Bのうちの少なくとも1つを満たしていないとき、CIIPモードをターゲットマージモードとして決定するステップをさらに含む。
条件Aおよび条件Bは、以下の通りである。
条件A:現在のピクチャブロックが配置されているスライスのタイプがBである。
条件B:現在のピクチャブロックが配置されているスライスまたはスライスグループによってサポートされている候補TPMモードの最大数量が2以上である。
TPMモードは、条件Aと条件Bの両方が満たされているときのみ、現在のピクチャブロックを予測するために最終的に使用されるターゲットマージモードとして選択されることが可能である。
一方では、条件Aまたは条件Bのいずれかが満たされていないならば、CIIPモードがターゲットマージモードとして決定される。
もう一方では、TPMモードに対応する上位層シンタックス要素が、TPMモードが使用されることを禁止されていることを示しているとき、条件Aまたは条件Bのいずれかが満たされていないならば、CIIPモードがターゲットマージモードとして決定される。
もう一方では、TPMモードに対応する上位層シンタックス要素が、TPMモードが使用されることを許可されていることを示しているとき、条件Aまたは条件Bのいずれかが満たされていないならば、CIIPモードがターゲットマージモードとして決定される。
言い換えれば、CIIPモードは、sps_trangle_enabled_flag=1、条件A、および条件Bのうちの1つが満たされていないことを条件に、ターゲットマージモードとして決定され得る。
もう一方では、sps_trangle_enabled_flag=1、条件A、および条件Bがすべて満たされているならば、ターゲットマージモードは、先行技術におけるいくつかの条件に従って、ciip_flagに基づいて決定される必要がある。
第1の態様を参照して、第1の態様のいくつかの実装において、上位層シンタックス要素は、シーケンスレベル、ピクチャレベル、スライスレベル、およびスライスグループレベルのうちの少なくとも1つにおけるシンタックス要素である。
第1の態様を参照して、第1の態様のいくつかの実装において、レベル1のマージモードは、通常のマージモードと、動きベクトル差分を用いるマージMMVDモードと、サブブロックマージモードとを含む。
レベル1のマージモードが利用可能であるかどうかが判定されるとき、これらのモードが利用可能であるかどうかは、通常のマージモード、MMVDモード、およびサブブロックマージモードのシーケンスで順次判定され得る。
たとえば、通常のマージモードが利用可能であるかどうかが最初に判定され得る。通常のマージモードが利用可能でないとき(通常のマージモードが利用可能であるならば、通常のマージモードが最終的なターゲットマージモードとして直接使用され得る)、MMVDモードが利用可能であるかどうかが判定されることに続く。MMVDモードが利用可能でないとき、サブブロックマージモードが利用可能であるかどうかが判定されることに続く。
第1の態様を参照して、第1の態様のいくつかの実装において、方法は、レベル1のマージモードが利用可能でないとき、レベル2のマージモードからターゲットマージモードを決定するステップであって、レベル2のマージモードがTPMモードおよびCIIPモードを含む、ステップと、CIIPモードが使用されることを許可されており、以下の条件のうちのいずれか1つが満たされていないとき、CIIPモードをターゲットマージモードとして決定するステップとをさらに含む。
条件D:TPMモードが使用されることを許可されている。
条件E:現在のピクチャブロックを予測するためにスキップモードが使用されない。
条件F:(cbWidth*cbHeight)≧64。
条件G:cbWidth<128。
条件H:cbHeight<128。
cbWidthは、現在のピクチャブロックの幅であり、cbHeightは、現在のピクチャブロックの高さである。
第1の態様を参照して、第1の態様のいくつかの実装において、予測方法は、現在のピクチャブロックを符号化するために、エンコーダ側に適用される。
第1の態様を参照して、第1の態様のいくつかの実装において、予測方法は、現在のピクチャブロックを復号するために、デコーダ側に適用される。
第2の態様によれば、ピクチャ予測方法が提供される。方法は、マージモードが現在のピクチャブロックに対して使用されるかどうかを判定するステップと、マージモードが現在のピクチャブロックに対して使用されるとき、レベル1のマージモードが利用可能であるかどうかを判定するステップと、レベル1のマージモードが利用可能でないとき、レベル2のマージモードからターゲットマージモードを決定するステップであって、レベル2のマージモードがTPMモードおよびCIIPモードを含む、ステップと、CIIPモードが使用されることを許可されており、以下の条件(条件1から条件5)のうちのいずれか1つが満たされていないとき、CIIPモードをターゲットマージモードとして決定するステップとを含む。
条件1:TPMモードが使用されることを許可されている。
条件2:現在のピクチャブロックが配置されているスライスまたはスライスグループのタイプがBである。
条件3:現在のピクチャブロックが配置されているスライスまたはスライスグループによってサポートされている候補TPMモードの最大数量が2以上であると判定されている。
条件4:現在のピクチャブロックのサイズが事前設定された条件を満たす。
条件5:現在のピクチャブロックを予測するためにスキップモードが使用されない。
第1の条件は、具体的には、sps_triangle_enabled_flag=1によって表現されてもよく、第2の条件は、具体的には、slice_type==Bによって表現されてもよく、第3の条件は、具体的には、MaxNumTriangleMergeCand≧2によって表現されてもよい。MaxNumTriangleMergeCandは、現在のピクチャブロックが配置されているスライスまたはスライスのグループによってサポートされている候補TPMモードの最大数量を示す。
加えて、現在のピクチャブロックについて、レベル1のマージモードおよびレベル2のマージモードは、現在のピクチャブロックのすべてのオプションのマージモードを含んでもよく、現在のピクチャブロックについて、最終的なターゲットマージモードは、レベル1のマージモードおよびレベル2のマージモードから決定される必要がある。
オプションで、レベル1のマージモードの優先度は、レベル2のマージモードの優先度よりも高い。
レベル1のマージモードの優先度がレベル2のマージモードの優先度よりも高いことは、現在のピクチャブロックのターゲットマージモードを決定するプロセスにおいて、ターゲットマージモードがレベル1のマージモードから優先的に決定されることを意味する。レベル1のマージモードにおいて利用可能なマージモードが存在しないならば、ターゲットマージモードは、次いで、レベル2のマージモードから決定される。
オプションで、現在のピクチャブロックのサイズが事前設定された条件を満たすことは、現在のピクチャブロックが、以下の3つの条件、すなわち、
(cdWidth*cbHeight)≧64、
cbWidth<128、および
cbHeight<128
を満たすことを含む。
オプションで、マージモードが現在のピクチャブロックに対して使用されるかどうかを判定するステップは、現在のピクチャブロックに対応するmerge_flagが1であるとき、マージモードが現在のピクチャブロックに対して使用されると判定するステップと、現在のピクチャブロックに対応するmerge_flagが0であるとき、マージモードが現在のピクチャブロックに対して使用されないと判定するステップとを含む。
マージモードが現在のピクチャブロックに対して使用されないと判定されたとき、マージモード以外の別のモードが現在のピクチャブロックを予測するために使用され得ることが理解されるべきである。たとえば、マージモードが現在のピクチャブロックに対して使用されないと判定されたとき、高度動きベクトルAMVPモードが現在のピクチャブロックを予測するために使用され得る。
オプションで、レベル1のマージモードは、通常のマージモードと、MMVDモードと、サブブロックマージモードとを含む。
レベル1のマージモードが利用可能であるかどうかが判定されるとき、これらのモードが利用可能であるかどうかは、通常のマージモード、MMVDモード、およびサブブロックマージモードのシーケンスで順次判定され得る。すべてのモードが利用可能でないとき、レベル1のマージモードが利用可能でないと判定される。
この出願において、レベル1のマージモードが利用可能でないとき、いくつかの事前設定された条件に基づいて、CIIPモードを最終的なマージモードとして選択するかどうかが判定されてもよく、事前設定された条件のうちのいずれか1つが満たされていないことを条件に、CIIPモードは、ターゲットマージモードとして直接決定され得る。これは、ターゲットマージを決定するプロセスにおいて生成される冗長性を削減する。
第2の態様を参照して、第2の態様のいくつかの実装において、レベル2のマージモードからターゲットマージモードを決定するステップは、条件1から条件5のうちのいずれか1つが満たされないとき、CIIPモードの利用可能なステータスを示す利用可能なステータス情報の値を第1の値に設定するステップであって、CIIPモードの利用可能なステータスを示す利用可能なステータス情報の値が第1の値であるとき、CIIPモードが現在のピクチャブロックに対してピクチャ予測を実行するために使用される、ステップを含む。
ここでCIIPモードの利用可能なステータスを示す利用可能なステータス情報の値を第1の値に設定するステップは、CIIPをターゲットマージモードとして決定するステップと等価であることが理解されるべきである。
オプションで、CIIPモードの利用可能なステータスを示す利用可能なステータス情報は、ciip_flagである。
CIIPモードの利用可能なステータスを示す利用可能なステータス情報の値を第1の値に設定するステップは、具体的には、ciip_flagを1に設定するステップであり得る。
加えて、CIIPモードの利用可能なステータスを示す利用可能なステータス情報の値が第2の値に設定されるとき、それは、CIIPモードが現在のピクチャブロックに対してピクチャ予測を実行するために使用されないことを意味し得る。たとえば、CIIPモードの利用可能なステータスを示す利用可能なステータス情報がciip_flagであり、ciip_flag=0のとき、CIIPモードは、現在のピクチャブロックに対してピクチャ予測を実行するために使用されない。
第2の態様を参照して、第2の態様のいくつかの実装において、レベル2のマージモードからターゲットマージモードを決定するステップは、条件1から条件5のすべての条件が満たされているとき、CIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報に基づいてターゲットマージモードを決定するステップであって、CIIPモードの利用可能なステータスを示す利用可能なステータス情報は、現在のピクチャブロックが予測されるときにCIIPモードが使用されるかどうかを示すために使用される、ステップを含む。
たとえば、CIIPモードの利用可能なステータスを示す利用可能なステータス情報は、ciip_flagの値である。ciip_flagが0であるとき、CIIPモードは、現在のピクチャブロックに対して利用可能でない。ciip_flagが1であるとき、CIIPモードは、現在のピクチャブロックに対して利用可能である。
この出願において、ターゲットマージモードは、5つの事前設定された条件が満たされているときのみ、CIIPモードの上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報に基づいて決定されることが可能である。従来の解決策と比較して、ターゲットマージモードがCIIPモードの上位層シンタックス要素および利用可能なステータス情報に基づいてさらに決定される前に、より多くの条件が満たされる必要がある。そうでなければ、CIIPモードがターゲットマージモードとして直接決定され得る。これは、ターゲットマージモードを決定するプロセスにおけるいくつかの冗長なプロセスを削減することができる。
第2の態様を参照して、第2の態様のいくつかの実装において、CIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報に基づいてターゲットマージモードを決定するステップは、CIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報が、CIIPモードが使用されることを禁止されていることを示しているとき、TPMモードをターゲットマージモードとして決定するステップを含む。
第2の態様を参照して、第2の態様のいくつかの実装において、CIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報が、CIIPモードが使用されることを禁止されていることを示しているとき、TPMモードをターゲットマージモードとして決定するステップが、
CIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報が、CIIPモードが使用されることを禁止されていることを示しているとき、TPMモードの利用可能なステータスを示す利用可能なステータス情報の値を第1の値に設定するステップであって、TPMモードの利用可能なステータスを示す利用可能なステータス情報の値が第1の値であるとき、TPMモードは、現在のピクチャブロックに対してピクチャ予測を実行するために使用される、ステップを含む。
ここでTPMモードの利用可能なステータスを示す利用可能なステータス情報の値を第1の値に設定するステップは、TPMをターゲットマージモードとして決定するステップと等価であることが理解されるべきである。
オプションで、TPMモードの利用可能なステータスを示す利用可能なステータス情報は、MergeTriangleFlagである。
TPMモードの利用可能なステータスを示す利用可能なステータス情報の値を第1の値に設定するステップは、具体的には、MergeTriangleFlagを1に設定するステップであり得る。
第2の態様を参照して、第2の態様のいくつかの実装において、ターゲットマージモードがCIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報に基づいて決定される前に、方法は、
以下の条件のうちの少なくとも1つが満たされていることを判定するステップをさらに含む。
現在のピクチャブロックのサイズが事前設定された条件を満たす、および
現在のピクチャブロックを予測するためにスキップモードが使用されない。
cdWidthは、現在のピクチャブロックの幅であり、cbHeightは、現在のピクチャブロックの高さである。
第3の態様によれば、ピクチャ予測方法が提供される。方法は、マージモードが現在のピクチャブロックに対して使用されるかどうかを判定するステップと、マージモードが現在のピクチャブロックに対して使用されるとき、レベル1のマージモードが利用可能であるかどうかを判定するステップと、レベル1のマージモードが利用可能でないとき、レベル2のマージモードからターゲットマージモードを決定するステップとを含む。レベル2のマージモードは、TPMモードおよびCIIPモードを含む。CIIPモードが使用されることを許可されており、以下のすべての条件(条件1から条件3)が満たされているとき、ビットストリームを解析することによって、CIIPモードの利用可能なステータス情報が取得され、ターゲットマージモードは、CIIPモードの利用可能なステータス情報に基づいて決定される。
条件1:TPMモードが使用されることを許可されている。
条件2:現在のピクチャブロックのサイズが事前設定された条件を満たす。
条件3:現在のピクチャブロックを予測するためにスキップモードが使用されない。
第3の態様による可能な実装形式において、ビットストリームを解析することによって取得されたCIIPモードの利用可能なステータス情報が、CIIPモードが利用可能でないことを示しているならば、TPMがターゲットマージモードとして使用される。
この出願において、レベル1のマージモードが利用可能でないとき、いくつかの事前設定された条件に基づいて、CIIPモードを最終的なマージモードとして選択するかどうかが判定されてもよく、事前設定された条件のうちのいずれか1つが満たされていないことを条件に、CIIPモードは、ターゲットマージモードとして直接決定され得る。これは、ターゲットマージを決定するプロセスにおいて生成される冗長性を削減する。
第4の態様によれば、ピクチャ予測方法が提供される。方法は、マージモードが現在のピクチャブロックに対して使用されるかどうかを判定するステップと、マージモードが現在のピクチャブロックに対して使用されるとき、レベル1のマージモードが利用可能であるかどうかを判定するステップと、レベル1のマージモードが利用可能でないとき、レベル2のマージモードからターゲットマージモードを決定するステップとを含む。レベル2のマージモードは、TPMモードおよびCIIPモードを含む。CIIPモードが使用されることを許可されており、以下のすべての条件(条件1から条件5)が満たされているとき、ビットストリームを解析することによってCIIPモードの利用可能なステータス情報が取得され、CIIPモードの利用可能なステータス情報に基づいてターゲットマージモードが決定される。
条件1:TPMモードが使用されることを許可されている。
条件2:現在のピクチャブロックが配置されているスライスまたはスライスグループのタイプがBである。
条件3:現在のピクチャブロックが配置されているスライスまたはスライスグループによってサポートされている候補TPMモードの最大数量が2以上であると判定されている。
条件4:現在のピクチャブロックのサイズが事前設定された条件を満たす。
条件5:現在のピクチャブロックを予測するためにスキップモードが使用されない。
第4の態様による可能な実装形式において、ビットストリームを解析することによって取得されたCIIPモードの利用可能なステータス情報が、CIIPモードが利用可能でないことを示しているならば、TPMがターゲットマージモードとして使用される。
この出願において、レベル1のマージモードが利用可能でないとき、いくつかの事前設定された条件に基づいて、CIIPモードを最終的なマージモードとして選択するかどうかが判定されてもよく、事前設定された条件のうちのいずれか1つが満たされていないことを条件に、CIIPモードは、ターゲットマージモードとして直接決定され得る。これは、ターゲットマージを決定するプロセスにおいて生成される冗長性を削減する。
第5の態様によれば、ピクチャ予測方法が提供される。方法は、マージモードが現在のピクチャブロックに対して使用されるかどうかを判定するステップと、マージモードが現在のピクチャブロックに対して使用されるとき、レベル1のマージモードが利用可能であるかどうかを判定することに続くステップと、レベル1のマージモードが利用可能でなく、第1のマージモードセットに対応する上位層シンタックス要素が、第1のマージモードセット内のマージモードが使用されることを禁止されていることを示しているとき、第2のマージモードセットから現在のピクチャブロックに適用可能なターゲットマージモードを決定するステップと、ターゲットマージモードを使用することによって現在のピクチャブロックを予測するステップとを含む。
第1のマージモードセットと第2のマージモードセットの両方は、レベル2のマージモードに属する。言い換えれば、レベル2のマージモードは、第1のマージモードセットおよび第2のマージモードセットを含む。加えて、現在のピクチャブロックについて、レベル1のマージモードおよびレベル2のマージモードは、現在のピクチャブロックのすべてのオプションのマージモードをすでに含んでおり、現在のピクチャブロックについて、最終的なターゲットマージモードは、レベル1のマージモードおよびレベル2のマージモードから決定される必要がある。
オプションで、第1のマージモードセットは、少なくとも1つのマージモードを含み、第2のマージモードセットは、少なくとも1つのマージモードを含む。
第1のマージモードセットおよび第2のマージモードセットは、単に、説明の容易さのために導入された概念であり、異なるマージモードの間で区別するために主に使用されることが理解されるべきである。最終的なターゲットマージモードを決定する実際のプロセスでは、第1のマージモードセットおよび第2のマージモードセットは、存在しなくてもよい。
この出願において、いくつかのマージモードの上位層シンタックス要素が、これらのマージモードが使用されることを禁止されていることを示しているとき、これらのマージモードの利用可能なステータス情報を解析する必要はない。代わりに、最終的なターゲットマージモードは、残りのオプションのマージモードから直接決定され得る。これは、ピクチャ予測プロセスにおいてターゲットマージモードの決定により生成される冗長性を可能な限り削減することができる。
第5の態様を参照して、第5の態様のいくつかの実装において、レベル1のマージモードが利用可能でなく、第1のマージモードセットに対応する上位層シンタックス要素が、第1のマージモードセット内のマージモードが使用されることを許可されていることを示しているとき、ターゲットマージモードは、第2のマージモードセットに対応する上位層シンタックス要素および/または第2のマージモードセットの利用可能なステータス情報に基づいて決定される。
第2のマージモードセットの利用可能なステータス情報は、現在のピクチャブロックが予測されるときに第2のマージモードセット内のマージモードが使用されるかどうかを示すために使用される。
たとえば、第2のマージモードセットがCIIPモードを含んでいるならば、第2のマージモードセットの利用可能なステータス情報は、ciip_flagの値であり得る。ciip_flagが0であるとき、CIIPモードは、現在のピクチャブロックに対して利用可能でない。ciip_flagが1であるとき、CIIPモードは、現在のピクチャブロックに対して利用可能である。
第5の態様を参照して、第5の態様のいくつかの実装において、第1のマージモードセットは、三角形区分モードTPMを含み、第2のマージモードセットは、組み合わされたイントラおよびインター予測CIIPモードを含む。
オプションで、第1のマージモードセットは、TPMモードからなり、第2のモードセットは、CIIPモードからなる。
第1のマージモードセットおよび第2のマージモードが各々1つのマージモードのみを含んでいるとき、第1のマージモードセット内のマージモードが使用されることを禁止されているならば、第2のマージモードセット内のマージモードがターゲットマージモードとして決定されてもよく、第2のマージモードセット内のマージモードが使用されることを禁止されているならば、第1のマージモードセット内のマージがターゲットマージモードとして決定されてもよい。
第1のマージモードセットおよび第2のマージモードセットが各々1つのマージモードのみを含んでいるとき、マージモードセットの1つにおけるマージモードが使用されることを禁止されている限り、他のマージモードセット内のマージモードが最終的なターゲットマージモードとして直接決定され得る。
第5の態様を参照して、第5の態様のいくつかの実装において、レベル1のマージモードが利用可能でなく、第1のマージモードセットに対応する上位層シンタックス要素が、第1のマージモードセット内のマージモードが使用されることを禁止されていることを示しているとき、現在のピクチャブロックに適用可能なターゲットマージモードを第2のマージモードセットから決定するステップは、レベル1のマージモードが利用可能でなく、TPMモードに対応する上位層シンタックス要素が、TPMモードが使用されることを禁止されていることを示しているとき、CIIPモードをターゲットマージモードとして決定するステップを含む。
第6の態様によれば、ピクチャ予測装置が提供される。装置は、第1の態様から第5の態様のうちのいずれか1つによる方法に対応するモジュールを含み、対応するモジュールは、第1の態様から第5の態様のうちのいずれか1つによる方法のステップを実現することができる。
第6の態様におけるピクチャ予測装置は、1つまたは複数のモジュールを含んでもよく、1つまたは複数のモジュールのうちのいずれか1つは、回路、フィールドプログラマブルゲートアレイFPGA、特定用途向け集積回路ASIC、および汎用プロセッサのうちのいずれか1つを含み得る。
第6の態様におけるピクチャ予測装置は、エンコーダ装置または復号装置内に配置され得る。
第7の態様によれば、メモリとプロセッサとを含むピクチャ予測装置が提供される。プロセッサは、第1の態様、第2の態様、および第3の態様のうちのいずれか1つによる方法を実行するために、メモリに記憶されたプログラムコードを呼び出す。
第7の態様におけるピクチャ予測装置は、ピクチャ符号化装置またはピクチャ復号装置内に配置され得る。
第8の態様によれば、ピクチャ符号化/復号装置が提供される。装置は、第1の態様から第5の態様のうちのいずれか1つによる方法に対応するモジュールを含み、対応するモジュールは、第1の態様から第5の態様のうちのいずれか1つによる方法のステップを実現することができる。
第9の態様によれば、メモリとプロセッサとを含むピクチャ符号化/復号装置が提供される。プロセッサは、第1の態様から第5の態様のうちのいずれか1つによる方法を実行するために、メモリに記憶されたプログラムコードを呼び出す。
オプションで、メモリは、不揮発性メモリである。
オプションで、メモリおよびプロセッサは、互いに結合されている。
第10の態様によれば、この出願の一実施形態は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、命令を記憶し、命令は、1つまたは複数のプロセッサが第1の態様から第5の態様のうちのいずれか1つによる方法を実行することを可能にする。
1つまたは複数のプロセッサのうちのいずれか1つは、回路、フィールドプログラマブルゲートアレイFPGA、特定用途向け集積回路ASIC、および汎用プロセッサのうちのいずれか1つを含み得る。
第11の態様によれば、この出願の一実施形態は、コンピュータプログラム製品を提供する。コンピュータプログラム製品がコンピュータにおいて実行されるとき、コンピュータは、第1の態様から第5の態様のうちのいずれか1つによる方法のいくつかまたはすべてのステップを実行することが可能にされる。
この出願の一実施形態を実現するためのビデオコーディングシステムの一例の概略ブロック図である。 この出願の一実施形態を実現するためのビデオエンコーダの一例の概略構造ブロック図である。 この出願の一実施形態を実現するためのビデオデコーダの一例の概略構造ブロック図である。 この出願の一実施形態を実現するためのビデオコーディングシステムの一例の概略構造ブロック図である。 この出願の一実施形態を実現するためのビデオコーディングデバイスの一例の概略構造ブロック図である。 この出願の一実施形態を実現するための符号化装置または復号装置の一例の概略ブロック図である。 現在のコーディングユニットの空間的および時間的候補動き情報の概略図である。 この出願の一実施形態を実現するために使用されるMMVD探索点の概略図である。 この出願の一実施形態を実現するために使用されるMMVD探索点の別の概略図である。 三角形区分の概略図である。 三角形区分方式における予測方法の概略図である。 この出願の一実施形態によるビデオ通信システムの概略ブロック図である。 この出願の一実施形態によるピクチャ予測方法の概略フローチャートである。 この出願の一実施形態によるピクチャ予測方法の概略フローチャートである。 この出願の一実施形態によるピクチャ予測方法の概略フローチャートである。 この出願の一実施形態によるピクチャ予測装置の概略ブロック図である。 この出願の一実施形態によるピクチャ予測装置の概略ブロック図である。 この出願の一実施形態によるピクチャ符号化/復号装置の概略ブロック図である。
以下は、添付図面を参照して、この出願の技術的解決策を説明する。
以下の説明において、この出願の一部を形成し、この出願の実施形態の具体的な態様、またはこの出願の実施形態が使用され得る具体的な態様を例示によって表す添付図面への参照が行われる。この出願の実施形態は、別の態様においてさらに使用されてもよく、添付図面において描写されていない構造的または論理的変更を含み得ることが理解されるべきである。したがって、以下の詳細な説明は、限定する意味に受け取られるべきではなく、この出願の範囲は、添付されている請求項によって定義されるべきである。
たとえば、説明されている方法に関連する開示は、方法を実行するように構成された対応するデバイスまたはシステムにも当てはまることが可能であり、その逆もまた同様であることが理解されるべきである。
別の例について、1つまたは複数の特定の方法のステップが説明されているならば、対応するデバイスは、そのような1つまたは複数のユニットが明示的に説明されていないか、または添付図面に例示されていなくても、説明されている1つまたは複数の方法のステップを実行するために、機能ユニットなどの1つまたは複数のユニット(たとえば、1つまたは複数のステップを実行する1つのユニット、または複数のステップのうちの1つもしくは複数を各々が実行する複数のユニット)を含み得る。
加えて、特定の装置が機能ユニットなどの1つまたは複数のユニットに基づいて説明されているならば、対応する方法は、そのような1つまたは複数のステップが明示的に説明されていないか、または添付図面に例示されていなくても、1つまたは複数のユニットの機能を実行するために使用される1つのステップ(たとえば、1つまたは複数のユニットの機能を実行するために使用される1つのステップ、または複数のユニットのうちの1つもしくは複数の機能を実行するために各々が使用される複数のステップ)を含み得る。さらに、この明細書で説明されている様々な例示の実施形態および/または態様の特徴は、特にそうでなく注記されなければ、互いに組み合わされ得ることが理解されるべきである。
この出願の実施形態における技術的解決策は、H.266規格および将来のビデオコーディング規格に適用され得る。この出願の実装において使用されている用語は、単に、この出願の特定の実施形態を説明するように意図されており、この出願を限定するように意図されていない。以下は、最初に、この出願の実施形態における関連する概念を簡単に説明する。
ビデオコーディングは、通常、ビデオまたはビデオシーケンスを構成するピクチャのシーケンスを処理することを指す。ビデオコーディングの分野では、用語「ピクチャ(picture)」、「フレーム(frame)」、および「画像(image)」は、同義語として使用され得る。この明細書において使用されるビデオコーディングは、ビデオ符号化とビデオ復号を含む。ビデオ符号化は、ソース側において実行され、通常、より効率的な記憶および/または伝送のために、ビデオピクチャを表現するためのデータ量を削減するために元のビデオピクチャを(たとえば、圧縮することによって)処理することを含む。ビデオ復号は、宛先側において実行され、通常、ビデオピクチャを再構築するために、エンコーダに対しての逆処理を含む。実施形態におけるビデオピクチャの「コーディング」は、ビデオシーケンスの「符号化」または「復号」として理解されるべきである。符号化部分と復号部分の組み合わせは、コーデック(符号化および復号)とも呼ばれる。
ビデオシーケンスは、一連のピクチャ(picture)を含み、ピクチャは、スライス(slice)にさらに分割され、スライスは、ブロック(block)にさらに分割される。ビデオコーディングは、ブロック単位で実行される。いくつかの新しいビデオコーディング規格では、概念「ブロック」がさらに拡張されている。たとえば、マクロブロック(macroblock、MB)がH.264規格において導入されている。マクロブロックは、予測コーディングのために使用されることが可能である複数の予測ブロック(partition)にさらに分割され得る。高効率ビデオコーディング(high efficiency video coding、HEVC)規格では、「コーディングユニット」(coding unit、CU)、「予測ユニット」(prediction unit、PU)、および「変換ユニット」(transform unit、TU)などの基本的な概念が使用される。複数のブロックユニットは、機能分割を通じて取得され、新しいツリーに基づく構造を使用することによって記述される。たとえば、四分木構造を生成するために、CUが四分木に基づいてより小さいCUに分割されてもよく、より小さいCUは、さらに分割されてもよい。CUは、コーディングされたピクチャを分割および符号化するための基本ユニットである。PUおよびTUも、類似のツリー構造を有する。PUは、予測ブロックに対応してもよく、予測コーディングのための基本ユニットである。CUは、分割パターンに基づいて複数のPUにさらに分割される。TUは、変換ブロックに対応してもよく、予測残差を変換するための基本ユニットである。しかしながら、本質的には、CU、PU、およびTUのすべては、概念的にはブロック(またはピクチャブロック)である。
たとえば、HEVCでは、CTUは、コーディングツリーとして表現される四分木構造を使用することによって、複数のCUに分割される。インターピクチャ(時間的)またはイントラピクチャ(空間的)予測のどちらを使用することによってピクチャエリアを符号化するかについての判断は、CUレベルで行われる。各CUは、PU分割パターンに基づいて、1つ、2つ、または4つのPUにさらに分割され得る。1つのPU内部で、同じ予測プロセスが適用され、関連する情報がPUを基にしてデコーダに送信される。PU分割パターンに基づく予測プロセスを適用することによって残差ブロックを取得した後、CUは、CUに対して使用されたコーディングツリーと類似の別の四分木構造に基づいて、変換ユニット(transform unit、TU)に区分され得る。ビデオ圧縮技術の最近の開発では、四分木プラス二分木(quad-tree and binary tree、QTBT)区分フレームが、コーディングブロックを区分するために使用される。QTBTブロック構造では、CUは、正方形または長方形であり得る。
この明細書において、説明および理解の容易さのために、現在のコーディングされたピクチャ内の符号化されるべきピクチャブロックは、現在のピクチャブロックと呼ばれ得る。たとえば、符号化において、現在のピクチャブロックは、現在符号化されているブロックであり、復号において、現在のピクチャブロックは、現在復号されているブロックである。現在のピクチャブロックを予測するために使用される、参照ピクチャ内の復号されたピクチャブロックは、参照ブロックと呼ばれる。言い換えれば、参照ブロックは、現在のピクチャブロックのための参照信号を提供するブロックであり、参照信号は、ピクチャブロック内のピクセル値を表現する。参照ピクチャ内の現在のピクチャブロックのための予測信号を提供するブロックは、予測ブロックと呼ばれてもよく、予測信号は、予測ブロック内のピクセル値、サンプリング値、またはサンプリング信号を表現する。たとえば、複数の参照ブロックをトラバースした後、最適な参照ブロックが見つけられ、最適な参照ブロックは、現在のピクチャブロックについての予測を提供し、このブロックは、予測ブロックと呼ばれる。
損失のないビデオコーディングの場合、元のビデオピクチャが再構築されることが可能であり、これは、再構築されたビデオピクチャが元のビデオピクチャと同じ品質を有することを意味する(記憶または伝送の間に伝送損失または他のデータ損失が発生しないと仮定する)。損失のあるビデオコーディングの場合、ビデオピクチャを表現するために要求されるデータ量を削減するために、たとえば、量子化を通じてさらなる圧縮が実行され、デコーダ側においてビデオピクチャが完全に再構築されることが可能でなく、これは、再構築されたビデオピクチャの品質が元のビデオピクチャのそれよりも低いか、または劣っていることを意味する。
いくつかのH.261ビデオコーディング規格は、「損失のあるハイブリッドビデオコーデック」のためのものである(具体的には、サンプル領域における空間的および時間的予測が、変換領域における量子化を適用するための2D変換コーディングと組み合わされる)。ビデオシーケンスの各ピクチャは、通常、重複しないブロックのセットに区分され、コーディングは、通常、ブロックレベルにおいて実行される。言い換えれば、エンコーダ側において、ビデオは、通常、ブロック(ビデオブロック)レベルにおいて処理、すなわち、符号化される。たとえば、予測ブロックが空間的(イントラピクチャ)予測および時間的(インターピクチャ)予測を通じて生成され、予測ブロックは、残差ブロックを取得するために現在のピクチャブロック(現在処理されているまたは処理されるべきブロック)から減算され、残差ブロックは、送信される(圧縮される)べきデータ量を削減するために、変換領域において変換され、量子化される。デコーダ側において、表現のための現在のピクチャブロックを再構築するために、符号化されたまたは圧縮されたブロックに対して、エンコーダに対しての逆処理部分が適用される。さらに、エンコーダは、エンコーダおよびデコーダが後続のブロックを処理するために、すなわち、コーディングするために同じ予測(たとえば、イントラ予測およびインター予測)および/または再構築を生成するように、デコーダ処理ループを二重化する。
以下は、本発明の実施形態に適用可能なシステムアーキテクチャを説明する。図1は、この出願の実施形態に適用可能なビデオ符号化および復号システム10の一例の概略ブロック図である。図1に表されているように、ビデオ符号化および復号システム10は、ソースデバイス12と宛先デバイス14を含み得る。ソースデバイス12は、符号化されたビデオデータを生成し、したがって、ソースデバイス12は、ビデオ符号化装置と呼ばれてもよい。宛先デバイス14は、ソースデバイス12によって生成された符号化されたビデオデータを復号することが可能であり、したがって、宛先デバイス14は、ビデオ復号装置と呼ばれてもよい。様々な実装解決策において、ソース装置12、宛先装置14、またはソース装置12と宛先装置14の両方は、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合されたメモリとを含み得る。メモリは、限定しないが、リードオンリメモリ(read-only memory、ROM)、ランダムアクセスメモリ(random access memory、RAM)、消去可能プログラム可能リードオンリメモリ(erasable programmable read-only memory、EPROM)、フラッシュメモリ、またはこの明細書において説明されているように、命令またはデータ構造の形式で要求されるプログラムコードを記憶するように構成されることが可能であり、コンピュータによってアクセスされることが可能である任意の他の媒体を含み得る。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、モバイルコンピューティング装置、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビ、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、車載コンピュータ、ワイヤレス通信デバイス、または同様のものを含む様々な装置を含み得る。
図1は、ソースデバイス12および宛先デバイス14を別個のデバイスとして描写しているが、デバイスの実施形態は、代替的には、ソースデバイス12と宛先デバイス14の両方、またはソースデバイス12と宛先デバイス14の両方の機能、すなわち、ソースデバイス12または対応する機能と、宛先デバイス14または対応する機能とを含み得る。そのような実施形態において、ソースデバイス12または対応する機能、および宛先デバイス14または対応する機能は、同じハードウェアおよび/またはソフトウェア、別個のハードウェアおよび/またはソフトウェア、またはそれらの任意の組み合わせを使用することによって実現され得る。
ソースデバイス12と宛先デバイス14の間の通信接続は、リンク13を通じて実現され得る。宛先デバイス14は、リンク13を通じてソースデバイス12から符号化されたビデオデータを受信し得る。リンク13は、符号化されたビデオデータをソースデバイス12から宛先デバイス14に移動することができる1つまたは複数の媒体または装置を含み得る。一例において、リンク13は、ソースデバイス12が符号化されたビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にする1つまたは複数の通信媒体を含み得る。この例では、ソースデバイス12は、通信規格(たとえば、ワイヤレス通信プロトコル)に従って、符号化されたビデオデータを変調してもよく、変調されたビデオデータを宛先デバイス14に送信してもよい。1つまたは複数の通信媒体は、ワイヤレス通信媒体および/または有線通信媒体、たとえば、無線周波数(RF)スペクトル、または1つまたは複数の物理的伝送ケーブルを含み得る。1つまたは複数の通信媒体は、パケットに基づくネットワークの一部であってもよく、パケットに基づくネットワークは、たとえば、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク(たとえば、インターネット)である。1つまたは複数の通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にする別のデバイスを含み得る。
ソースデバイス12は、エンコーダ20を含む。オプションで、ソースデバイス12は、ピクチャソース16と、ピクチャプリプロセッサ18と、通信インターフェース22とをさらに含み得る。具体的な実装形式において、エンコーダ20、ピクチャソース16、ピクチャプリプロセッサ18、および通信インターフェース22は、ソースデバイス12内のハードウェア構成要素であってもよく、またはソースデバイス12内のソフトウェアプログラムであってもよい。説明は、以下のように別個に提供される。
ピクチャソース16は、たとえば、現実世界のピクチャをキャプチャするように構成された任意のタイプのピクチャキャプチャデバイス、および/またはピクチャまたはコメント(画面コンテンツの符号化について、画面上のいくらかのテキストも符号化されるべきピクチャまたは画像の一部として考えられる)を生成するための任意のタイプのデバイス、たとえば、コンピュータアニメーションピクチャを生成するように構成されたコンピュータグラフィックスプロセッサ、または現実世界のピクチャまたはコンピュータアニメーションピクチャ(たとえば、画面コンテンツまたは仮想現実(virtual reality、VR)ピクチャ)を取得および/または提供するように構成された任意のタイプのデバイス、および/またはそれらの任意の組み合わせ(たとえば、拡張現実(augmented reality、AR)ピクチャ)を含み、またはそれらであり得る。ピクチャソース16は、ピクチャをキャプチャするように構成されたカメラ、またはピクチャを記憶するように構成されたメモリであり得る。ピクチャソース16は、それを通じて以前にキャプチャまたは生成されたピクチャが記憶され、および/またはピクチャが取得または受信される任意のタイプの(内部または外部)インターフェースをさらに含み得る。ピクチャソース16がカメラであるとき、ピクチャソース16は、たとえば、ローカルカメラ、またはソースデバイスに統合された統合カメラであり得る。ピクチャソース16がメモリであるとき、ピクチャソース16は、ローカルメモリ、または、たとえば、ソースデバイスに統合された統合メモリであり得る。ピクチャソース16がインターフェースを含むとき、インターフェースは、たとえば、外部ビデオソースからピクチャを受信するための外部インターフェースであり得る。外部ビデオソースは、たとえば、カメラ、外部メモリ、または外部ピクチャ生成デバイスなどの外部ピクチャキャプチャデバイスである。外部ピクチャ生成デバイスは、たとえば、外部コンピュータグラフィックスプロセッサ、コンピュータ、またはサーバである。インターフェースは、任意の独自のまたは標準化されたインターフェースプロトコルに従う、任意のタイプのインターフェース、たとえば、有線またはワイヤレスインターフェース、または光インターフェースであり得る。
ピクチャは、ピクセル要素(picture element)の2次元配列または行列と見なされ得る。配列内のピクセル要素は、サンプルとも呼ばれ得る。配列またはピクチャの水平および垂直方向(または軸)におけるサンプルの数量は、ピクチャのサイズおよび/または解像度を定義する。色の表現のために、通常、3つの色成分が用いられる。具体的には、ピクチャは、3つのサンプル配列として表現され、またはそれらを含み得る。たとえば、RGBフォーマットまたは色空間において、ピクチャは、対応する赤、緑、および青のサンプル配列を含む。しかしながら、ビデオコーディングでは、各ピクセルは、通常、輝度/色度フォーマットまたは色空間において表現される。たとえば、YUVフォーマットにおけるピクチャは、Yによって示される(代替的に時々Lによって示される)輝度成分と、UおよびVによって示される2つの色度成分とを含む。輝度(luma)成分Yは、明るさまたはグレーレベル強度(たとえば、グレースケールピクチャでは、両方は同じである)を表現し、2つの色度(chroma)成分UおよびVは、色度または色情報成分を表現する。これに対応して、YUVフォーマットにおけるピクチャは、輝度サンプル値(Y)の輝度サンプル配列と、色度値(UおよびV)の2つの色度サンプル配列とを含む。RGBフォーマットにおけるピクチャは、YUVフォーマットに変換またはコンバートされてもよく、その逆もまた同様である。このプロセスは、色コンバージョンまたは変換とも呼ばれる。ピクチャがモノクロであるならば、ピクチャは、輝度サンプル配列のみを含み得る。この出願のこの実施形態では、ピクチャソース16によってピクチャプロセッサに送信されるピクチャは、生ピクチャデータとも呼ばれ得る。
ピクチャプリプロセッサ18は、生ピクチャデータ17を受信し、前処理されたピクチャ19または前処理されたピクチャデータ19を取得するために、生ピクチャデータ17に対して前処理を実行するように構成されている。たとえば、ピクチャプリプロセッサ18によって実行される前処理は、トリミング、(たとえば、RGBフォーマットからYUVフォーマットへの)色フォーマットコンバージョン、色補正、またはノイズ除去を含み得る。
エンコーダ20(ビデオエンコーダ20とも呼ばれる)は、前処理されたピクチャデータ19を受信し、符号化されたピクチャデータ21を提供するために、関連する予測モード(この明細書の各実施形態における予測モードなど)を使用することによって、前処理されたピクチャデータ19を処理するように構成されている(エンコーダ20の構造的詳細は、図2、図4、または図5に基づいて以下でさらに説明されている)。いくつかの実施形態において、エンコーダ20は、この明細書において説明されているピクチャ予測方法のエンコーダ側アプリケーションを実現するために、以下で説明されている各実施形態を実行するように構成され得る。
通信インターフェース22は、符号化されたピクチャデータ21を受信し、記憶または直接の再構築のために、リンク13を通じて、符号化されたピクチャデータ21を宛先デバイス14または任意の他のデバイス(たとえば、メモリ)に送信するように構成され得る。他のデバイスは、復号または記憶のために使用される任意のデバイスであり得る。通信インターフェース22は、たとえば、符号化されたピクチャデータ21を、リンク13上の伝送のための適切なフォーマット、たとえば、データパケットにカプセル化するように構成され得る。
宛先デバイス14は、デコーダ30を含む。オプションで、宛先デバイス14は、通信インターフェース28と、ピクチャポストプロセッサ32と、表示デバイス34とをさらに含み得る。説明は、以下のように別個に提供される。
通信インターフェース28は、ソースデバイス12または任意の他のソースから符号化されたピクチャデータ21を受信するように構成され得る。任意の他のソースは、たとえば、記憶デバイスである。記憶デバイスは、たとえば、符号化されたピクチャデータ記憶デバイスである。通信インターフェース28は、ソースデバイス12と宛先デバイス14の間のリンク13を通じて、または任意のタイプのネットワークを通じて、符号化されたピクチャデータ21を送信または受信するように構成され得る。リンク13は、たとえば、直接の有線またはワイヤレス接続である。任意のタイプのネットワークは、たとえば、有線またはワイヤレスネットワーク、またはそれらの任意の組み合わせ、または任意のタイプのプライベートまたはパブリックネットワーク、またはそれらの任意の組み合わせである。通信インターフェース28は、たとえば、符号化されたピクチャデータ21を取得するために、通信インターフェース22を通じて送信されたデータパケットをカプセル化解除するように構成され得る。
通信インターフェース28と通信インターフェース22の両方は、単方向通信インターフェースまたは双方向通信インターフェースとして構成されてもよく、たとえば、接続を確立するためにメッセージを送信および受信し、通信リンクおよび/または符号化されたピクチャデータ伝送などのデータ伝送に関連する任意の他の情報を確認および交換するように構成されてもよい。
デコーダ30(デコーダ30とも呼ばれる)は、符号化されたピクチャデータ21を受信し、復号されたピクチャデータ31または復号されたピクチャ31を提供するように構成されている(デコーダ30の構造的詳細は、図3、図4、または図5に基づいて以下でさらに説明されている)。いくつかの実施形態において、デコーダ30は、この出願において説明されているピクチャ予測方法のデコーダ側アプリケーションを実現するために、以下で説明されている各実施形態を実行するように構成され得る。
ピクチャポストプロセッサ32は、後処理されたピクチャデータ33を取得するために、復号されたピクチャデータ31(再構築されたピクチャデータとも呼ばれる)を後処理するように構成されている。ピクチャポストプロセッサ32によって実行される後処理は、(たとえば、YUVフォーマットからRGBフォーマットへの)色フォーマットコンバージョン、色補正、トリミング、再サンプリング、または任意の他の処理を含み得る。ピクチャポストプロセッサ32は、後処理されたピクチャデータ33を表示デバイス34に送信するようにさらに構成され得る。
表示デバイス34は、たとえば、ユーザまたは視聴者に対してピクチャを表示するために、後処理されたピクチャデータ33を受信するように構成されている。表示デバイス34は、再構築されたピクチャを提示するための任意のタイプのディスプレイ、たとえば、統合されたまたは外部のディスプレイまたはモニタであるか、またはそれを含み得る。たとえば、ディスプレイは、液晶ディスプレイ(liquid crystal display、LCD)、有機発光ダイオード(organic light emitting diode、OLED)ディスプレイ、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、液晶オンシリコン(liquid crystal on silicon、LCoS)、デジタルライトプロセッサ(digital light processor、DLP)、または任意のタイプの他のディスプレイを含み得る。
図1は、ソースデバイス12および宛先デバイス14を別個のデバイスとして描写しているが、デバイスの実施形態は、代替的には、ソースデバイス12と宛先デバイス14の両方、またはソースデバイス12と宛先デバイス14の両方の機能、すなわち、ソースデバイス12または対応する機能と、宛先デバイス14または対応する機能とを含み得る。そのような実施形態において、ソースデバイス12または対応する機能、および宛先デバイス14または対応する機能は、同じハードウェアおよび/またはソフトウェア、別個のハードウェアおよび/またはソフトウェア、またはそれらの任意の組み合わせを使用することによって実現され得る。
説明に基づいてこの技術分野の当業者には明らかであるように、図1に表されている異なるユニットの機能またはソースデバイス12および/または宛先デバイス14の機能の存在および(正確な)分割は、実際のデバイスおよびアプリケーションに依存して異なり得る。ソースデバイス12および宛先デバイス14は、任意のタイプのハンドヘルドまたは据え置き型デバイス、たとえば、ノートブックもしくはラップトップコンピュータ、携帯電話、スマートフォン、タブレットもしくはタブレットコンピュータ、ビデオカメラ、デスクトップコンピュータ、セットトップボックス、テレビ、カメラ、車載デバイス、表示デバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス(コンテンツサービスサーバまたはコンテンツ配信サーバなど)、放送受信機デバイス、または放送送信機デバイスを含む広範囲のデバイスのいずれかを含んでもよく、任意のタイプのオペレーティングシステムを使用しても、使用しなくてもよい。
エンコーダ20およびデコーダ30は、各々、様々な適した回路、たとえば、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ (digital signal processor、DSP)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)、個別のロジック、ハードウェア、またはそれらの任意の組み合わせのいずれかとして実現され得る。技術がソフトウェアを使用することによって部分的に実現されているならば、デバイスは、適した非一時的コンピュータ可読記憶媒体にソフトウェア命令を記憶してもよく、この明細書の技術を実行するために、1つまたは複数のプロセッサなどのハードウェアを使用することによって命令を実行してもよい。前述の内容(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組み合わせ、および同様のものを含む)のいずれかが、1つまたは複数のプロセッサとして考えられ得る。
いくつかの場合において、図1に表されているビデオ符号化および復号システム10は、単に一例であり、この出願の技術は、符号化デバイスと復号デバイスの間の任意のデータ通信を必ずしも含まないビデオコーディング設定(たとえば、ビデオ符号化またはビデオ復号)に適用可能であり得る。別の例では、データは、ローカルメモリから取り出され、ネットワーク上でストリーミングされ、または同様にされてもよい。ビデオ符号化デバイスは、データを符号化し、データをメモリに記憶してもよく、および/またはビデオ復号デバイスは、メモリからデータを取り出し、データを復号してもよい。いくつかの例では、符号化および復号は、互いに通信しないが、単にデータをメモリに符号化し、および/またはメモリからデータを取り出し、データを復号するデバイスによって実行される。
図2は、本発明の一実施形態を実現するように構成されたエンコーダ20の一例の概略/概念ブロック図である。図2の例では、エンコーダ20は、残差計算ユニット204と、変換処理ユニット206と、量子化ユニット208と、逆量子化ユニット210と、逆変換処理ユニット212と、再構築ユニット214と、バッファ216と、ループフィルタユニット220と、復号されたピクチャバッファ(decoded picture buffer、DPB)230と、予測処理ユニット260と、エントロピー符号化ユニット270とを含む。予測処理ユニット260は、インター予測ユニット244と、イントラ予測ユニット254と、モード選択ユニット262とを含み得る。インター予測ユニット244は、動き推定ユニットと動き補償ユニットとを含み得る(図には表されていない)。図2に表されているエンコーダ20は、ハイブリッドビデオエンコーダ、またはハイブリッドビデオコーデックに基づくビデオエンコーダとも呼ばれ得る。
たとえば、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、予測処理ユニット260、およびエントロピー符号化ユニット270は、エンコーダ20の順方向信号経路を形成し、一方、たとえば、逆量子化ユニット210、逆変換処理ユニット212、再構築ユニット214、バッファ216、ループフィルタ220、復号されたピクチャバッファ(decoded picture buffer、DPB)230、予測処理ユニット260は、エンコーダの逆方向信号経路を形成する。エンコーダの逆方向信号経路は、デコーダの信号経路に対応する(図3におけるデコーダ30を参照されたい)。
エンコーダ20は、たとえば、入力202を介して、ピクチャ201またはピクチャ201のピクチャブロック203、たとえば、ビデオまたはビデオシーケンスを形成するピクチャのシーケンス内のピクチャを受信する。ピクチャブロック203は、また、現在のピクチャブロックまたは符号化されるべきピクチャブロックと呼ばれてもよく、ピクチャ201は、現在のピクチャまたは符号化されるべきピクチャと呼ばれてもよい(特にビデオコーディングにおいて、現在のピクチャを他のピクチャ、たとえば、同じビデオシーケンス、すなわち、現在のピクチャも含むビデオシーケンス内の以前に符号化および/または復号されたピクチャから区別するために)。
エンコーダ20の一実施形態は、ピクチャ201をピクチャブロック203などの複数のブロックに区分するように構成された区分ユニット(図2には示されていない)を含み得る。ピクチャ201は、通常、複数の重複しないブロックに区分される。区分ユニットは、ビデオシーケンス内のすべてのピクチャについて同じブロックサイズ、およびブロックサイズを定義する対応するグリッドを使用するか、またはピクチャ間、またはピクチャのサブセットまたはグループ間でブロックサイズを変更し、各ピクチャを対応するブロックに区分するように構成され得る。
一例では、エンコーダ20の予測処理ユニット260は、上記で説明されている区分技術の任意の組み合わせを実行するように構成され得る。
ピクチャブロック203のサイズは、ピクチャ201のサイズよりも小さいが、ピクチャ210と同様に、ピクチャブロック203も、サンプル値を有するサンプルの2次元配列または行列であるか、またはそれとして考えられ得る。言い換えれば、ピクチャブロック203は、たとえば、1つのサンプル配列(たとえば、モノクロピクチャ201の場合にルマ配列)、3つのサンプル配列(たとえば、カラーピクチャの場合に1つのルマ配列および2つのクロマ配列)、または適用されるカラーフォーマットに依存して任意の他の数量および/またはタイプの配列を含み得る。ピクチャブロック203の水平および垂直方向(または軸)におけるサンプルの数量は、ピクチャブロック203のサイズを定義する。
図2に表されているエンコーダ20は、ピクチャ201をブロックごとに符号化し、たとえば、各ピクチャブロック203に対して符号化および予測を実行するように構成されている。
残差計算ユニット204は、ピクチャ画像ブロック203と予測ブロック265(予測ブロック265に関する詳細は、以下でさらに提供されている)に基づいて、たとえば、サンプル領域における残差ブロック205を取得するためにサンプルごとに(ピクセルごとに)ピクチャ画像ブロック203のサンプル値から予測ブロック265のサンプル値を減算することによって、残差ブロック205を計算するように構成されている。
変換処理ユニット206は、変換領域における変換係数207を取得するために、変換、たとえば、離散コサイン変換(discrete cosine transform、DCT)または離散サイン変換(discrete sine transform、DST)を残差ブロック205のサンプル値に適用するように構成されている。変換係数207は、また、変換残差係数と呼ばれてもよく、変換領域における残差ブロック205を表現する。
変換処理ユニット206は、HEVC/H.265で指定されている変換などのDCT/DSTの整数近似を適用するように構成され得る。直交DCT変換と比較して、そのような整数近似は、通常、係数によってスケーリングされる。順変換と逆変換を使用することによって処理された残差ブロックのノルムを維持するために、変換プロセスの一部として追加のスケール係数が適用される。スケール係数は、通常、いくつかの制約、たとえば、スケール係数がシフト演算のために2の累乗であること、変換係数のビット深度、および精度と実装コストの間のトレードオフに基づいて選択される。たとえば、特定のスケール係数が、たとえば、デコーダ30側における逆変換処理ユニット212による逆変換(および、たとえば、エンコーダ20側における逆変換処理ユニット212による対応する逆変換)に対して指定され、これに対応して、対応するスケール係数が、エンコーダ20側における変換処理ユニット206による順変換に対して指定され得る。
量子化ユニット208は、たとえば、スカラー量子化またはベクトル量子化を適用することによって、量子化された変換係数209を取得するために変換係数207を量子化するように構成されている。量子化された変換係数209は、量子化された残差係数209とも呼ばれ得る。量子化プロセスは、変換係数207のうちのいくつかまたはすべてに関連するビット深度を削減し得る。たとえば、nビット変換係数は、量子化の間にmビット変換係数に切り捨てられてもよく、nはmよりも大きい。量子化度は、量子化パラメータ(quantization parameter、QP)を調整することによって修正され得る。たとえば、スカラー量子化について、より細かいまたはより粗い量子化を達成するために、様々なスケールが適用され得る。より小さい量子化ステップは、より細かい量子化に対応し、より大きい量子化ステップは、より粗い量子化に対応する。適切な量子化ステップは、量子化パラメータ(quantization parameter、QP)によって示され得る。たとえば、量子化パラメータは、適切な量子化ステップの事前定義されたセットに対するインデックスであり得る。たとえば、より小さい量子化パラメータは、より細かい量子化(より小さい量子化ステップ)に対応してもよく、より大きい量子化パラメータは、より粗い量子化(より大きい量子化ステップ)に対応してもよく、逆もまた同様である。量子化は、たとえば、逆量子化ユニット210によって実行される、量子化ステップによる除算と、対応する量子化または逆量子化とを含んでもよく、または量子化ステップによる乗算を含んでもよい。HEVCなどのいくつかの規格に従う実施形態は、量子化ステップを決定するために量子化パラメータを使用し得る。一般に、量子化ステップは、除算を含む方程式の固定小数点近似を使用することによって、量子化パラメータに基づいて計算され得る。残差ブロックのノルムを復元するために、量子化および量子化解除に対して追加のスケール係数が導入されてもよく、量子化ステップおよび量子化パラメータに対して方程式の固定小数点近似において使用されるスケールのために、残差ブロックのノルムが修正され得る。一例の実装において、逆変換のスケールは、量子化解除のスケールと組み合わされ得る。代替的には、カスタマイズされた量子化テーブルが使用され、たとえば、ビットストリームにおいて、エンコーダからデコーダにシグナリングされ得る。量子化は、損失のある動作であり、より大きい量子化ステップがより大きい損失を示す。
逆量子化ユニット210は、量子化解除された係数211を取得するために、量子化ユニット208の逆量子化を量子化された係数に適用し、たとえば、量子化ユニット208と同じ量子化ステップに基づくか、またはそれを使用することによって、量子化ユニット208によって適用された量子化方式の逆を適用するように構成されている。量子化解除された係数211は、量子化解除された残差係数211とも呼ばれ、通常、量子化により引き起こされる損失のために変換係数とは異なるが、変換係数207に対応し得る。
逆変換処理ユニット212は、サンプル領域における逆変換ブロック213を取得するために、変換処理ユニット206によって適用される変換の逆変換、たとえば、逆離散コサイン変換(discrete cosine transform、DCT)または逆離散サイン変換(discrete sine transform、DST)を適用するように構成されている。逆変換ブロック213は、逆変換量子化解除されたブロック213または逆変換残差ブロック213とも呼ばれ得る。
再構築ユニット214(たとえば、加算器214)は、サンプル領域における再構築されたブロック215を取得するために、たとえば、再構築された残差ブロック213のサンプル値と予測ブロック265のサンプル値とを加算することによって、逆変換ブロック213(すなわち、再構築された残差ブロック213)を予測ブロック265に加算するように構成されている。
オプションで、たとえば、ラインバッファ216のバッファユニット216(略して「バッファ」216)は、たとえば、イントラ予測のために、再構築されたブロック215と対応するサンプル値とをバッファに入れるまたは記憶するように構成されている。別の実施形態において、エンコーダは、任意のタイプの推定および/または予測、たとえば、イントラ予測を実行するために、バッファユニット216に記憶されているフィルタリングされていない再構築されたブロックおよび/または対応するサンプル値を使用するように構成され得る。
たとえば、一実施形態において、エンコーダ20は、バッファユニット216が、イントラ予測254のために使用されるだけでなく、ループフィルタユニット220(図2には表されていない)のためにも使用される再構築されたブロック215を記憶するように構成されるように、および/または、たとえば、バッファユニット216および復号されたピクチャバッファ230が1つのバッファを形成するように構成され得る。別の実施形態において、フィルタリングされたブロック211および/または復号されたピクチャバッファ230からのブロックもしくはサンプル(図2には表されていない)が、イントラ予測254のための入力または基礎として使用される。
ループフィルタユニット220(略して「ループフィルタ」220)は、ピクセル遷移を滑らかにするか、またはビデオ品質を改善するために、フィルタリングされたブロック221を取得するために、再構築されたブロック215をフィルタリングするように構成されている。ループフィルタユニット220は、デブロッキングフィルタ、サンプル適応オフセット(sample-adaptive offset、SAO)フィルタ、または別のフィルタ、たとえば、バイラテラルフィルタ、適応ループフィルタ(adaptive loop filter、ALF)、鮮鋭化もしくは平滑化フィルタ、もしくは協調フィルタなどの、1つまたは複数のループフィルタを表現することが意図されている。ループフィルタユニット200は、図2においてループ内フィルタとして表されているが、別の実装では、ループフィルタユニット200は、ポストループフィルタとして実現され得る。フィルタリングされたブロック221は、フィルタリングされた再構築されたブロック221とも呼ばれ得る。復号されたピクチャバッファ230は、ループフィルタユニット220が再構築された符号化されたブロックに対してフィルタリング動作を実行した後、再構築された符号化されたブロックを記憶し得る。
一実施形態において、エンコーダ20(これに対応して、ループフィルタユニット220)は、デコーダ30が復号のために同じループフィルタパラメータを受信および適用することができるように、たとえば、直接、またはエントロピー符号化ユニット270もしくは任意の他のエントロピー符号化ユニットによって実行されるエントロピー符号化の後に、ループフィルタパラメータ(たとえば、サンプル適応オフセット情報)を出力するように構成され得る。
復号されたピクチャバッファ(decoded picture buffer、DPB)230は、エンコーダ20によるビデオデータ符号化における使用のための参照ピクチャデータを記憶する参照ピクチャメモリであり得る。DPB230は、ダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM)(同期DRAM(synchronous DRAM、SDRAM)、磁気抵抗RAM(magnetoresistive RAM、MRAM)、抵抗性RAM(resistive RAM、RRAM)を含む)、または別のタイプのメモリデバイスなどの多種のメモリデバイスのうちのいずれか1つによって形成され得る。DPB230およびバッファ216は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。一例では、復号されたピクチャバッファ(decoded picture buffer、DPB)230は、フィルタリングされたブロック221を記憶するように構成されている。復号されたピクチャバッファ230は、同じ現在のピクチャ、または異なるピクチャ、たとえば、以前に再構築されたピクチャの、他の以前にフィルタリングされたブロック、たとえば、以前に再構築されフィルタリングされたブロック221を記憶するようにさらに構成されてもよく、たとえば、インター予測のために、完全に以前に再構築された、すなわち、復号されたピクチャ(および対応する参照ブロックおよびサンプル)および/または部分的に再構築された現在のピクチャ(および対応する参照ブロックおよびサンプル)を提供してもよい。一例では、再構築されたブロック215がループ内フィルタリングなしで再構築されるならば、復号されたピクチャバッファ(decoded picture buffer、DPB)230は、再構築されたブロック215を記憶するように構成される。
ブロック予測処理ユニット260とも呼ばれる予測処理ユニット260は、ピクチャブロック203(現在のピクチャ201の現在のピクチャブロック203)と、再構築されたピクチャデータ、たとえば、バッファ216からの同じ(現在の)ピクチャの参照サンプル、および/または復号されたピクチャバッファ230からの1つもしくは複数の以前に復号されたピクチャの参照ピクチャデータ231とを受信または取得し、具体的には、インター予測ブロック245またはイントラ予測ブロック255であり得る予測ブロック265を提供するために、予測のためにそのようなデータを処理するように構成されている。
モード選択ユニット262は、残差ブロック205の計算のために、および再構築されたブロック215の再構築のために、予測モード(たとえば、イントラまたはインター予測モード)および/または予測ブロック265として使用されるべき対応する予測ブロック245もしくは255を選択するように構成され得る。
一実施形態において、モード選択ユニット262は、(たとえば、予測処理ユニット260によってサポートされている予測モードから)予測モードを選択するように構成されてもよく、予測モードは、ベストマッチ、または言い換えれば、最小の残差(最小の残差は、伝送または記憶のためのより良い圧縮を意味する)を提供するか、または最小のシグナリングオーバヘッド(最小のシグナリングオーバヘッドは、伝送または記憶のためのより良い圧縮を意味する)を提供するか、または両方を考慮もしくはバランスさせる。モード選択ユニット262は、レート歪み最適化(rate distortion optimization、RDO)に基づいて予測モードを決定する、具体的には、最小のレート歪み最適化を提供する予測モードを選択するか、または関連するレート歪みが少なくとも予測モード選択基準を満たす予測モードを選択するように構成され得る。
以下は、エンコーダ20の例によって、(たとえば、予測処理ユニット260によって)実行される予測処理と、(たとえば、モード選択ユニット262によって)実行されるモード選択とを詳細に説明する。
上記で説明されているように、エンコーダ20は、(事前決定された)予測モードのセットから最適なまたは最上の予測モードを決定または選択するように構成されている。予測モードのセットは、たとえば、イントラ予測モードおよび/またはインター予測モードを含み得る。
イントラ予測モードのセットは、35の異なるイントラ予測モード、たとえば、DC(または平均)モードおよび平面モードなどの無指向性モード、もしくはH.265において定義されているものなどの指向性モードを含んでもよく、または67の異なるイントラ予測モード、たとえば、DC(または平均)モードおよび平面モードなどの無指向性モード、もしくは開発中のH.266において定義されているものなどの指向性モードを含んでもよい。
可能な実装において、インター予測モードのセットは、利用可能な参照ピクチャ(すなわち、たとえば、上記で説明されているように、DBP230に記憶された少なくとも部分的に復号されているピクチャ)と、他のインター予測パラメータとに依存し、たとえば、最も一致する参照ブロックを探索するために、参照ピクチャ全体が使用されるか、もしくは参照ピクチャの一部のみ、たとえば、現在のピクチャブロックのエリアの周りの探索ウィンドウエリアが使用されるかに依存し、および/または、たとえば、ハーフペルおよび/またはクォーターペル補間などのピクセル補間が適用されるかどうかに依存する。インター予測モードのセットは、たとえば、高度動きベクトル(Advanced Motion Vector Prediction、AMVP)モードおよびマージ(merge)モードを含み得る。具体的な実装において、インター予測モードのセットは、この出願の実施形態では、改善された制御点に基づくAMVPモードと、改善された制御点に基づくマージモードとを含み得る。一例では、イントラ予測ユニット254は、以下で説明されているインター予測技術の任意の組み合わせを実行するように構成され得る。
前述の予測モードに加えて、スキップモードおよび/または直接モードも、この出願の実施形態において適用され得る。
予測処理ユニット260は、たとえば、四分木(quad-tree、QT)区分、二分木(binary-tree、BT)区分、三分木(triple-tree、TT)区分、またはそれらの任意の組み合わせを繰り返し使用することによって、ピクチャブロック203をより小さいブロック区分またはサブブロックに区分し、たとえば、ブロック区分またはサブブロックの各々に対して予測を実行するようにさらに構成され得る。モード選択は、区分されたピクチャブロック203のツリー構造の選択と、ブロック区分またはサブブロックの各々に適用される予測モードの選択とを含む。
インター予測ユニット244は、動き推定(motion estimation、ME)ユニット(図2には表されていない)と、動き補償(motion compensation、MC)ユニット(図2には表されていない)とを含み得る。動き推定ユニットは、動き推定のために、ピクチャ画像ブロック203(現在のピクチャ201の現在のピクチャ画像ブロック203)と、復号されたピクチャ231、または少なくとも1つまたは複数の以前に再構築されたブロック、たとえば、他の/異なる以前に復号されたピクチャ231の1つまたは複数の再構築されたブロックとを受信または取得するように構成されている。たとえば、ビデオシーケンスは、現在のピクチャと、以前に復号されたピクチャ31とを含んでもよく、または、言い換えれば、現在のピクチャおよび以前に復号されたピクチャ31は、ビデオシーケンスを形成するピクチャのシーケンスの一部であるか、またはそのシーケンスを形成し得る。
たとえば、エンコーダ20は、同じピクチャまたは複数の他のピクチャの異なるピクチャの複数の参照ブロックから参照ブロックを選択し、動き推定ユニット(図2には表されていない)へのインター予測パラメータとして、参照ピクチャ、および/または参照ブロックの位置(X、Y座標)と現在のピクチャブロックの位置との間のオフセット(空間オフセット)を提供するように構成され得る。オフセットは、動きベクトル(motion vector、MV)とも呼ばれる。
動き補償ユニットは、インター予測パラメータを取得し、インター予測ブロック245を取得するために、インター予測パラメータに基づいて、またはそれを使用することによってインター予測を実行するように構成されている。動き補償ユニット(図2には表されていない)によって実行される動き補償は、動き補償を通じて決定された動き/ブロックベクトルに基づいて、予測ブロックをフェッチまたは生成する(場合によっては、サブピクセル精度で補間を実行する)ことを含み得る。補間フィルタリングは、既知のピクセルサンプルから追加のピクセルサンプルを生成することが可能であり、それによって、ピクチャブロックをコーディングするために使用され得る候補予測ブロックの数量を潜在的に増加させる。現在のピクチャブロックのPUについての動きベクトルを受信すると、動き補償ユニット246は、参照ピクチャリストのうちの1つにおいて動きベクトルが指し示す予測ブロックを位置特定し得る。動き補償ユニット246は、また、デコーダ30がビデオスライス内のピクチャブロックを復号するためにシンタックス要素を使用するように、ブロックおよびビデオスライスに関連付けられているシンタックス要素を生成し得る。
具体的には、インター予測ユニット244は、シンタックス要素をエントロピー符号化ユニット270に送信し得る。シンタックス要素は、インター予測パラメータ(複数のインター予測モードのトラバース後に現在のピクチャブロックの予測のために使用されるインター予測モードの選択の指標情報など)を含む。可能なアプリケーションシナリオにおいて、1つのインター予測モードのみが存在するならば、インター予測パラメータは、代替的には、シンタックス要素内に保持されなくてもよい。この場合、デコーダ側30は、デフォルトの予測モードを使用することによって復号を直接実行し得る。インター予測ユニット244は、インター予測技術の任意の組み合わせを実行するように構成され得ることが理解され得る。
イントラ予測ユニット254は、イントラ推定のために、ピクチャブロック203(現在のピクチャブロック)と、同じピクチャの1つまたは複数の以前に再構築されたブロック、たとえば、再構築された隣接するブロックを取得、たとえば、受信するように構成されている。エンコーダ20は、たとえば、複数の(事前決定された)イントラ予測モードからイントラ予測モードを選択するように構成され得る。
一実施形態において、最適化基準に従って、たとえば、最小残差(たとえば、現在のピクチャブロック203に最も類似する予測ブロック255を提供するイントラ予測モード)または最小レート歪みに基づいて、イントラ予測モードを選択するように構成されているエンコーダ20。
イントラ予測ユニット254は、たとえば、選択されたイントラ予測モードにおけるイントラ予測パラメータに基づいて、イントラ予測ブロック255を決定するようにさらに構成されている。いずれの場合も、ブロックに対してイントラ予測モードを選択した後、イントラ予測ユニット254は、イントラ予測パラメータ、すなわち、ブロックに対して選択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット270に提供するようにさらに構成されている。一例では、イントラ予測ユニット254は、イントラ予測技術の任意の組み合わせを実行するように構成され得る。
具体的には、イントラ予測ユニット254は、シンタックス要素をエントロピー符号化ユニット270に送信し得る。シンタックス要素は、イントラ予測パラメータ(複数のイントラ予測モードのトラバース後に現在のピクチャブロックの予測のために使用されるイントラ予測モードの選択の指標情報など)を含む。可能なアプリケーションシナリオにおいて、1つのイントラ予測モードのみが存在するならば、イントラ予測パラメータは、代替的には、シンタックス要素内に保持されなくてもよい。この場合、デコーダ側30は、デフォルトの予測モードを使用することによって復号を直接実行し得る。
エントロピー符号化ユニット270は、たとえば、符号化されたビットストリーム21の形式で出力272を介して出力され得る符号化されたピクチャデータ21を取得するために、エントロピー符号化アルゴリズムまたは方式(たとえば、可変長コーディング(variable length coding、VLC)方式、コンテキスト適応型VLC(context adaptive VLC、CAVLC)方式、算術コーディング方式、コンテキスト適応型バイナリ算術コーディング(context adaptive binary arithmetic coding、CABAC)、シンタックスに基づくコンテキスト適応型バイナリ算術コーディング(syntax-based context-adaptive binary arithmetic coding、SBAC)、確率間隔区分エントロピー(probability interval partitioning entropy、PIPE)コーディング、または別のエントロピー符号化方法論または技術)を、量子化された残差係数209、インター予測パラメータ、イントラ予測パラメータ、および/またはループフィルタパラメータのうちの1つまたはすべてに適用する(または適用しない)ように構成されている。符号化されたビットストリームは、ビデオデコーダ30に送信されるか、またはビデオデコーダ30による後の伝送もしくは検索のためにアーカイブされ得る。エントロピー符号化ユニット270は、符号化されている現在のビデオスライスのための別のシンタックス要素をエントロピー符号化するようにさらに構成され得る。
ビデオエンコーダ20の別の構造的変形が、ビデオストリームを符号化するために使用されることが可能である。たとえば、非変換に基づくエンコーダ20は、いくつかのブロックまたはフレームについて変換処理ユニット206なしで残差信号を直接量子化し得る。別の実装において、エンコーダ20は、単一のユニットに組み合わされた量子化ユニット208と逆量子化ユニット210とを有し得る。
具体的には、この出願のこの実施形態において、エンコーダ20は、以下の実施形態において説明されているビデオ符号化プロセスを実現するように構成され得る。
この出願におけるビデオエンコーダは、ビデオエンコーダ20内のいくつかのモジュールのみを含み得ることが理解されるべきである。たとえば、この出願におけるビデオエンコーダは、ピクチャ復号ユニットと区分ユニットとを含み得る。ピクチャ復号ユニットは、エントロピー復号ユニット、予測ユニット、逆変換ユニット、および逆量子化ユニットのうちの1つまたは複数を含み得る。
加えて、ビデオストリームを符号化するために、ビデオエンコーダ20の別の構造的変形が使用されることが可能である。たとえば、いくつかのピクチャブロックまたはピクチャフレームについて、ビデオエンコーダ20は、残差信号を直接量子化してもよく、変換処理ユニット206による処理が要求されず、これに対応して、逆変換処理ユニット212による処理も要求されない。代替的に、いくつかのピクチャブロックまたはピクチャフレームについて、ビデオエンコーダ20は、残差データを生成せず、これに対応して、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、および逆変換処理ユニット212による処理は要求されない。代替的に、ビデオエンコーダ20は、再構築されたピクチャブロックを参照ブロックとして直接記憶してもよく、フィルタ220による処理は要求されない。代替的に、ビデオエンコーダ20における量子化ユニット208および逆量子化ユニット210は組み合わされ得る。ループフィルタ220はオプションである。加えて、損失のない圧縮符号化の場合、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、および逆変換処理ユニット212は、オプションである。異なるアプリケーションシナリオにおいて、インター予測ユニット244およびイントラ予測ユニット254は、選択的に使用され得ることが理解されるべきである。
図3は、本発明の一実施形態を実現するように構成されたデコーダ30の一例の概略/概念ブロック図である。ビデオデコーダ30は、復号されたピクチャ231を取得するために、たとえば、エンコーダ20によって符号化された、符号化されたピクチャデータ(たとえば、符号化されたビットストリーム)21を受信するように構成されている。復号プロセスにおいて、ビデオデコーダ30は、ビデオエンコーダ20からビデオデータ、たとえば、符号化されたビデオスライスのピクチャブロックおよび関連するシンタックス要素を表現する符号化されたビデオビットストリームを受信する。
図3の例では、デコーダ30は、エントロピー復号ユニット304と、逆量子化ユニット310と、逆変換処理ユニット312と、再構築ユニット314(たとえば、加算器314)と、バッファ316と、ループフィルタ320と、復号されたピクチャバッファ330と、予測処理ユニット360とを含む。予測処理ユニット360は、インター予測ユニット344と、イントラ予測ユニット354と、モード選択ユニット362とを含み得る。いくつかの例では、ビデオデコーダ30は、図2におけるビデオエンコーダ20を参照して説明されている符号化過程と概して相反的な復号過程を実行し得る。
エントロピー復号ユニット304は、たとえば、量子化された係数309および/または復号された符号化パラメータ(図3には表されていない)、たとえば、(復号されている)インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、および/または別のシンタックス要素のうちの任意の1つまたはすべてを取得するために、符号化されたピクチャデータ21に対してエントロピー復号を実行するように構成されている。エントロピー復号ユニット304は、インター予測パラメータ、イントラ予測パラメータ、および/または別のシンタックス要素を予測処理ユニット360に転送するようにさらに構成されている。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルにおいてシンタックス要素を受信し得る。
逆量子化ユニット310は、逆量子化ユニット110と同じ機能を有し得る。逆変換処理ユニット312は、逆変換処理ユニット212と同じ機能を有し得る。再構築ユニット314は、再構築ユニット214と同じ機能を有し得る。バッファ316は、バッファ216と同じ機能を有し得る。ループフィルタ320は、ループフィルタ220と同じ機能を有し得る。復号されたピクチャバッファ330は、復号されたピクチャバッファ230と同じ機能を有し得る。
予測処理ユニット360は、インター予測ユニット344とイントラ予測ユニット354とを含み得る。インター予測ユニット344は、機能においてインター予測ユニット244に類似することが可能であり、イントラ予測ユニット354は、機能においてイントラ予測ユニット254に類似することが可能である。予測処理ユニット360は、通常、ブロック予測を実行し、および/または符号化されたデータ21から予測ブロック365を取得し、たとえば、エントロピー復号ユニット304から、予測関連パラメータおよび/または選択された予測モードに関する情報を(明示的または暗黙的に)受信または取得するように構成される。
ビデオスライスがイントラ符号化された(I)スライスに符号化されるとき、予測処理ユニット360のイントラ予測ユニット354は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの以前に復号されたブロックのデータとに基づいて、現在のビデオスライスのピクチャブロックに対する予測ブロック365を生成するように構成されている。ビデオフレームがインター符号化された(すなわち、BまたはP)スライスに符号化されるとき、予測処理ユニット360におけるインター予測ユニット344(たとえば、動き補償ユニット)は、エントロピー復号ユニット304から受信された動きベクトルおよび別のシンタックス要素に基づいて、現在のビデオスライス内のビデオブロックの予測ブロック365を生成するように構成されている。インター予測について、予測ブロックは、1つの参照ピクチャリスト内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、デフォルトの構築技術を使用することによって、DPB330に記憶されている参照ピクチャに基づいて、参照フレームリスト、リスト0およびリスト1を構築し得る。
予測処理ユニット360は、動きベクトルと他のシンタックス要素とを解析することによって、現在のビデオスライスのビデオブロックに対する予測情報を決定し、復号されている現在のビデオブロックに対する予測ブロックを生成するために予測情報を使用するように構成されている。この出願の一例では、予測処理ユニット360は、現在のビデオスライス内のビデオブロックを復号するために、いくつかの受信されたシンタックス要素を使用することによって、ビデオスライス内のビデオブロックを符号化するための予測モード(たとえば、イントラまたはインター予測)、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)、スライスについての参照ピクチャリストのうちの1つまたは複数の構築情報、スライスについての各インター符号化されたビデオブロックの動きベクトル、スライス内の各インター符号化されたビデオブロックのインター予測ステータス、および他の情報を決定する。この出願の別の例では、ビットストリームからビデオデコーダ30によって受信されるシンタックス要素は、適応パラメータセット(adaptive parameter set、APS)、シーケンスパラメータセット(sequence parameter set、SPS)、ピクチャパラメータセット(picture parameter set、PPS)、またはスライスヘッダのうちの1つまたは複数におけるシンタックス要素を含む。
逆量子化ユニット310は、ビットストリームにおいて提供され、エントロピー復号ユニット304によって復号されている量子化された変換係数に対して逆量子化(すなわち、量子化解除)を実行するように構成され得る。逆量子化プロセスは、適用されるべき量子化度と、同様に、適用されるべき逆量子化度とを決定するために、ビデオスライス内の各ビデオブロックに対してビデオエンコーダ20によって計算された量子化パラメータを使用することを含み得る。
逆変換処理ユニット312は、ピクセル領域における残差ブロックを生成するために、逆変換(たとえば、逆DCT、逆整数変換、または概念的に類似する逆変換プロセス)を変換係数に適用するように構成されている。
再構築ユニット314(たとえば、加算器314)は、サンプル領域における再構築されたブロック315を取得するために、たとえば、再構築された残差ブロック313のサンプル値と予測ブロック365のサンプル値とを加算することによって、逆変換ブロック313(すなわち、再構築された残差ブロック313)を予測ブロック365に加算するように構成されている。
ループフィルタユニット320(コーディングループ内の、またはコーディングループ後の)は、ピクセル遷移を滑らかにするか、またはビデオ品質を改善するために、フィルタリングされたブロック321を取得するために、再構築されたブロック315をフィルタリングするように構成されている。一例では、ループフィルタユニット320は、以下で説明されているフィルタリング技術の任意の組み合わせを実行するように構成され得る。ループフィルタユニット320は、デブロッキングフィルタ、サンプル適応オフセット(sample-adaptive offset、SAO)フィルタ、または別のフィルタ、たとえば、バイラテラルフィルタ、適応ループフィルタ(adaptive loop filter、ALF)、鮮鋭化もしくは平滑化フィルタ、もしくは協調フィルタなどの、1つまたは複数のループフィルタを表現することが意図されている。ループフィルタユニット320は、図3においてループ内フィルタとして表されているが、別の実装では、ループフィルタユニット320は、ポストループフィルタとして実現され得る。
次いで、所与のフレームまたはピクチャ内の復号されたビデオブロック321は、後続の動き補償のために使用される参照ピクチャを記憶する復号されたピクチャバッファ330に記憶される。
デコーダ30は、たとえば、ユーザに対して提示または見ることのために、出力332を介して復号されたピクチャ31を出力するように構成されている。
ビデオデコーダ30の別の変形は、圧縮されたビットストリームを復号するために使用され得る。たとえば、デコーダ30は、ループフィルタユニット320なしで出力ビデオストリームを生成し得る。たとえば、非変換に基づくデコーダ30は、いくつかのブロックまたはフレームについて、逆変換処理ユニット312なしで、残差信号を直接逆量子化し得る。別の実装において、ビデオデコーダ30は、単一のユニットに組み合わされた逆量子化ユニット310と逆変換処理ユニット312とを有し得る。
具体的には、この出願のこの実施形態において、デコーダ30は、以下の実施形態において説明されているビデオ復号方法を実現するように構成されている。
この出願におけるビデオエンコーダは、ビデオエンコーダ30内のいくつかのモジュールのみを含み得ることが理解されるべきである。たとえば、この出願におけるビデオエンコーダは、区分ユニットとピクチャコーディングユニットとを含み得る。ピクチャコーディングユニットは、予測ユニット、変換ユニット、量子化ユニット、およびエントロピー符号化ユニットのうちの1つまたは複数を含み得る。
加えて、符号化されたビデオビットストリームを復号するために、ビデオデコーダ30の別の構造的変形が使用されることが可能である。たとえば、ビデオデコーダ30は、フィルタ320による処理なしで出力ビデオストリームを生成し得る。代替的には、いくつかのピクチャブロックまたはピクチャフレームについて、ビデオデコーダ30のエントロピー復号ユニット304は、復号を通じて量子化された係数を取得せず、これに対応して、逆量子化ユニット310および逆変換処理ユニット312が処理を実行する必要はない。ループフィルタ320は、オプションである。加えて、損失のない圧縮の場合、逆量子化ユニット310および逆変換処理ユニット312もオプションである。異なるアプリケーションシナリオにおいて、インター予測ユニットおよびイントラ予測ユニットは、選択的に使用され得ることが理解されるべきである。
この出願におけるエンコーダ20およびデコーダ30において、手順に対する処理結果は、さらに処理された後に次の手順に対して出力され得ることが理解されるべきである。たとえば、補間フィルタリング、動きベクトル導出、またはループフィルタリングなどの手順の後、対応する手順の処理結果に対して(clip)クリップまたはシフト(shift)などの動作がさらに実行される。
たとえば、現在のピクチャブロックの制御点の、隣接するアフィンコーディングブロック(アフィン動きモデルを使用することによって予測されたコーディングブロックは、アフィンコーディングブロックと呼ばれ得る)の動きベクトルに基づいて導出された動きベクトル、または現在のピクチャブロックのサブブロックの、隣接するアフィンコーディングブロックの動きベクトルに基づいて導出された動きベクトルがさらに処理され得る。これは、この出願において限定されない。たとえば、動きベクトルの値は、特定のビット幅範囲内にあるように制約される。動きベクトルの許容されるビット幅は、bitDepthであり、動きベクトルの値は、-2^(bitDepth-1)から2^(bitDepth-1)-1の範囲にわたり、記号「^」は、べき乗を表現すると仮定されている。bitDepthが16であるならば、値は、-32768から32767の範囲にわたる。bitDepthが18であるならば、値は、-131072から131071の範囲にわたる。
別の例について、動きベクトル(たとえば、1つの8×8ピクチャブロック内の4つの4×4サブブロックの動きベクトルMV)の値は、4つの4×4サブブロックのMVの整数部分の間の最大差がN(たとえば、Nは、1に設定され得る)ピクセルを超えないようにさらに制約され得る。
図4は、一例の実施形態による、図2におけるエンコーダ20および/または図3におけるデコーダ30を含むビデオコーディングシステム40の一例の例示的な図である。ビデオコーディングシステム40は、この出願の実施形態における様々な技術の組み合わせを実現することができる。例示されている実装において、ビデオコーディングシステム40は、画像化デバイス41、エンコーダ20、デコーダ30(および/または処理ユニット46の論理回路47によって実現されたビデオエンコーダ/デコーダ)、アンテナ42、1つもしくは複数のプロセッサ43、1つもしくは複数のメモリ44、および/または表示デバイス45を含み得る。
図4に表されているように、画像化デバイス41、アンテナ42、処理ユニット46、論理回路47、エンコーダ20、デコーダ30、プロセッサ43、メモリ44、および/または表示デバイス45は、互いに通信することができる。説明されているように、ビデオコーディングシステム40は、エンコーダ20およびデコーダ30とともに例示されているが、ビデオコーディングシステム40は、異なる例では、エンコーダ20のみ、またはデコーダ30のみを含んでもよい。
いくつかの例では、アンテナ42は、ビデオデータの符号化されたビットストリームを送信または受信するように構成され得る。さらに、いくつかの例では、表示デバイス45は、ビデオデータを提示するように構成され得る。いくつかの例では、論理回路47は、処理ユニット46によって実現され得る。処理ユニット46は、特定用途向け集積回路(application-specific integrated circuit、ASIC)ロジック、グラフィックスプロセッサ、汎用プロセッサ、または同様のものを含み得る。ビデオコーディングシステム40は、オプションのプロセッサ43も含み得る。オプションのプロセッサ43は、同様に、特定用途向け集積回路(application-specific integrated circuit、ASIC)ロジック、グラフィックスプロセッサ、汎用プロセッサ、または同様のものを含み得る。いくつかの例では、論理回路47は、ハードウェア、たとえば、ビデオコーディングのための専用ハードウェアによって実現され得る。プロセッサ43は、汎用ソフトウェア、オペレーティングシステム、または同様のものによって実現され得る。加えて、メモリ44は、任意のタイプのメモリ、たとえば、揮発性メモリ(たとえば、スタティックランダムアクセスメモリ(static random access memory、SRAM)またはダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM))または不揮発性メモリ(たとえば、フラッシュメモリ)であり得る。非限定的な例では、メモリ44は、キャッシュメモリとして実現され得る。いくつかの例では、論理回路47は、(たとえば、ピクチャバッファの実装のために)メモリ44にアクセスし得る。別の例では、論理回路47および/または処理ユニット46は、ピクチャバッファまたは同様のものの実装のためのメモリ(たとえば、キャッシュ)を含み得る。
いくつかの例では、論理回路によって実現されているエンコーダ20は、(たとえば、処理ユニット46またはメモリ44によって実現されている)ピクチャバッファと、(たとえば、処理ユニット46によって実現されている)グラフィックス処理ユニットとを含み得る。グラフィックス処理ユニットは、ピクチャバッファに通信可能に結合され得る。グラフィックス処理ユニットは、図2を参照して説明されている様々なモジュールおよび/またはこの明細書において説明されている任意の他のエンコーダシステムもしくはサブシステムを実現するために、論理回路47によって実現されているエンコーダ20を含み得る。論理回路は、この明細書において説明されている様々な動作を実行するように構成され得る。
いくつかの例では、デコーダ30は、図3におけるデコーダ30を参照して説明されている様々なモジュールおよび/またはこの明細書において説明されている任意の他のデコーダシステムもしくはサブシステムを実現するために、類似する方式で論理回路47によって実現され得る。いくつかの例では、論理回路によって実現されているデコーダ30は、(たとえば、処理ユニット2820またはメモリ44によって実現されている)ピクチャバッファと、(たとえば、処理ユニット46によって実現されている)グラフィックス処理ユニットとを含み得る。グラフィックス処理ユニットは、ピクチャバッファに通信可能に結合され得る。グラフィックス処理ユニットは、図3を参照して説明されている様々なモジュールおよび/またはこの明細書において説明されている任意の他のデコーダシステムもしくはサブシステムを実現するために、論理回路47によって実現されているデコーダ30を含み得る。
いくつかの例では、アンテナ42は、ビデオデータの符号化されたビットストリームを受信するように構成され得る。説明されているように、符号化されたビットストリームは、ビデオフレーム符号化に関連する、この明細書において説明されているデータ、インジケータ、インデックス値、モード選択データ、または同様のもの、たとえば、コーディング区分に関連するデータ(たとえば、変換係数もしくは量子化された変換係数、(説明されているような)オプションのインジケータ、および/またはコーディング区分を定義するデータ)を含み得る。ビデオコーディングシステム40は、アンテナ42に結合され、符号化されたビットストリームを復号するように構成されているデコーダ30をさらに含み得る。表示デバイス45は、ビデオフレームを提示するように構成されている。
この出願のこの実施形態では、エンコーダ20を参照して説明されている例に対して、デコーダ30は、逆プロセスを実行するように構成され得ることが理解されるべきである。シンタックス要素をシグナリングすることに関して、デコーダ30は、そのようなシンタックス要素を受信して解析し、これに対応して、関連するビデオデータを復号するように構成され得る。いくつかの例では、エンコーダ20は、シンタックス要素を符号化されたビデオビットストリームにエントロピー符号化し得る。そのような例では、デコーダ30は、シンタックス要素を解析し、これに対応して、関連するビデオデータを復号し得る。
図5は、本発明の一実施形態によるビデオコーディングデバイス400(たとえば、ビデオ符号化デバイス400またはビデオ復号デバイス400)の概略構造図である。ビデオコーディングデバイス400は、この明細書で説明されている実施形態を実現するために適している。一実施形態において、ビデオコーディングデバイス400は、ビデオデコーダ(たとえば、図3におけるデコーダ30)またはビデオエンコーダ(たとえば、図2におけるエンコーダ20)であり得る。別の実施形態において、ビデオコーディングデバイス400は、図3におけるデコーダ30または図2におけるエンコーダ20の1つまたは複数の構成要素であり得る。
ビデオコーディングデバイス400は、データを受信するように構成されている入力ポート410および受信ユニット(Rx)420と、データを処理するように構成されているプロセッサ、論理ユニット、または中央処理ユニット(CPU)430と、データを送信するように構成されている送信機ユニット(Tx)440および出力ポート450と、データを記憶するように構成されているメモリ460とを含む。ビデオコーディングデバイス400は、光または電気信号の出力または入力のために、入力ポート410、受信機ユニット420、送信機ユニット440、および出力ポート450に結合されている光電気構成要素と電気光(EO)構成要素とをさらに含み得る。
プロセッサ430は、ハードウェアおよびソフトウェアによって実現されている。プロセッサ430は、1つまたは複数のCPUチップ、コア(たとえば、マルチコアプロセッサ)、FPGA、ASIC、およびDSPとして実現され得る。プロセッサ430は、入力ポート410、受信機ユニット420、送信機ユニット440、出力ポート450、およびメモリ460と通信する。プロセッサ430は、コーディングモジュール470(たとえば、符号化モジュール470または復号モジュール470)を含む。符号化/復号モジュール470は、本発明の実施形態において提供されているピクチャ予測方法を実現するために、この明細書において開示されている実施形態を実現する。たとえば、符号化/復号モジュール470は、様々なコーディング動作を実行し、処理し、または提供する。したがって、符号化/復号モジュール470は、ビデオコーディングデバイス400の機能を実質的に改善し、ビデオコーディングデバイス400の異なる状態への変換に影響する。代替的には、符号化/復号モジュール470は、メモリ460に記憶され、プロセッサ430によって実行される命令として実現される。
メモリ460は、1つまたは複数のディスクと、テープドライブと、ソリッドステートデバイスとを含み、プログラムを、そのようなプログラムが実行のために選択されたときに記憶するために、およびプログラム実行の間に読み出される命令およびデータを記憶するために、オーバフローデータ記憶デバイスとして使用され得る。メモリ460は、揮発性および/または不揮発性であってもよく、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、ランダムアクセスメモリ(ternary content-addressable memory、TCAM)、および/またはスタティックランダムアクセスメモリ(SRAM)であってもよい。
図6は、一例の実施形態による、図1におけるソースデバイス12および宛先デバイス14のうちのいずれかまたは2つとして使用され得る装置500の簡略化されたブロック図である。装置500は、この出願の実施形態におけるピクチャ予測方法を実現し得る。言い換えれば、図6は、この出願の一実施形態による、符号化デバイスまたは復号デバイス(略してコーディングデバイス500と呼ばれる)の一実装の概略ブロック図である。コーディングデバイス500は、プロセッサ510と、メモリ530と、バスシステム550とを含み得る。プロセッサおよびメモリは、バスシステムを通じて接続されている。メモリは、命令を記憶するように構成されている。プロセッサは、メモリに記憶されている命令を実行するように構成されている。コーディングデバイスのメモリは、プログラムコードを記憶している。プロセッサは、この出願において説明されている様々なビデオ符号化または復号方法、特に、様々な新しいピクチャブロック区分方法を実行するために、メモリに記憶されているプログラムコードを呼び出し得る。繰り返しを避けるために、詳細は、ここで再び説明されない。
この出願のこの実施形態では、プロセッサ510は、中央処理ユニット(central processing unit、CPU)であり得る。代替的には、プロセッサ510は、別の汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または別のプログラマブル論理デバイス、個別のゲートまたはトランジスタ論理デバイス、個別のハードウェア構成要素、または同様のものであり得る。汎用プロセッサは、マイクロプロセッサであってもよく、またはプロセッサは、任意の従来のプロセッサまたは同様のものであってもよい。
メモリ530は、リードオンリメモリ(ROM)デバイス、またはランダムアクセスメモリ(RAM)デバイスを含み得る。代替的には、任意の他の適したタイプの記憶デバイスがメモリ530として使用され得る。メモリ530は、バス550を通じてプロセッサ510によってアクセスされるコードおよびデータ531を含み得る。メモリ530は、オペレーティングシステム533とアプリケーションプログラム535とをさらに含み得る。アプリケーションプログラム535は、プロセッサ510がこの出願において説明されているビデオ符号化または復号方法を実行することを可能にする少なくとも1つのプログラムを含む。たとえば、アプリケーションプログラム535は、アプリケーション1からNを含み、この出願において説明されているビデオ符号化または復号方法を実行するビデオ符号化または復号アプリケーション(略してビデオコーディングアプリケーションと呼ばれる)をさらに含み得る。
データバスに加えて、バスシステム550は、電力バス、制御バス、ステータス信号バス、および同様のものをさらに含み得る。しかしながら、明確な説明のために、図における様々なタイプのバスは、バスシステム550としてマークされている。
オプションで、コーディングデバイス500は、1つまたは複数の出力デバイス、たとえば、ディスプレイ570をさらに含み得る。一例では、ディスプレイ570は、ディスプレイと、タッチ入力を動作可能に感知するタッチユニットとを組み合わせたタッチディスプレイであり得る。ディスプレイ570は、バス550を通じてプロセッサ510に接続され得る。
この出願の実施形態におけるピクチャ予測方法をよりよく理解するために、以下は、最初に、いくつかの関連する概念およびインター予測の基本的な内容を詳細に説明している。
インター予測は、現在のピクチャ内の現在のピクチャブロックに対して一致する参照ブロックについて、再構築されたピクチャを探索し、現在のピクチャブロック内のピクセル要素のピクセル値の予測子として、参照ブロック内のピクセル要素のピクセル値を使用することを意味する(このプロセスは、動き推定(Motion estimation、ME)と呼ばれる)。
動き推定は、現在のピクチャブロックに対して参照ピクチャ内の複数の参照ブロックを試行し、次いで、レート歪み最適化(rate-distortion optimization、RDO)または別の方法を使用することによって、複数の参照ブロックから1つまたは2つの参照ブロック(双予測のためには2つの参照ブロックが要求される)を最終的に決定することである。参照ブロックは、現在のピクチャブロックに対してインター予測を実行するために使用される。
現在のピクチャブロックの動き情報は、予測方向(これは、通常、前方予測、後方予測、または双予測である)の指標情報と、参照ブロックを指し示す1つまたは2つの動きベクトル(motion vector、MV)と、参照ブロックが配置されているピクチャの指標情報(これは、通常、参照インデックス(reference index)を使用することによって表現される)とを含む。
前方予測は、現在のピクチャブロックのための参照ブロックを取得するために、前方参照ピクチャセットから参照ピクチャを選択することを意味する。後方予測は、現在のピクチャブロックのための参照ブロックを取得するために、後方参照ピクチャセットから参照ピクチャを選択することを意味する。双予測は、参照ブロックを取得するために、前方参照ピクチャセットから参照ピクチャを選択し、後方参照ピクチャセットから参照ピクチャを選択することを意味する。双予測方法が使用されるとき、現在のコーディングブロック内に2つの参照ブロックが存在する。各参照ブロックは、動きベクトルと参照インデックスとを使用することによって示されることが必要である。次いで、2つの参照ブロック内のピクセル要素のピクセル値に基づいて、現在のピクチャブロック内のピクセル要素のピクセル値の予測子が決定される。
HEVCでは、2つのインター予測モード、すなわち、AMVPモードおよびマージモードが存在する。
AMVPモードでは、現在のコーディングブロックの空間的または時間的に隣接する符号化されたブロック(隣接するブロックとして表記される)が最初にトラバースされる。隣接するブロックの動き情報に基づいて、候補動きベクトルリストが構築される。次いで、レート歪みコストに基づいて、候補動き情報リストから最適な動きベクトルが決定され、最小のレート歪みコストを有する候補動き情報が、現在のコーディングブロックの動きベクトル予測子(motion vector predictor、MVP)として使用される。
隣接するブロックの位置およびトラバース順序は、事前定義されている。レート歪みコストは、式(1)を使用することによって計算を通じて取得されることが可能であり、Jは、レート歪みコスト(rate-distortion cost)であり、SADは、元のピクセル値と、候補動きベクトル予測子を使用することによって実行された動き推定を通じて取得された予測されたピクセル値との間の絶対差の和(sum of absolute differences、SAD)であり、Rは、ビットレートであり、λは、ラグランジュ乗数である。エンコーダ側は、候補動きベクトルリスト内の選択された動きベクトル予測子のインデックス値と参照インデックス値とをデコーダ側に転送する。さらに、エンコーダ側は、現在のコーディングブロックの実際の動きベクトルを取得するために、MVPを中心とする近傍において動き探索を実行し、次いで、MVPと実際の動きベクトルとの間の差(motion vector difference)をデコーダ側に転送し得る。
J=SAD+λR (1)
加えて、異なる動きモデルに関して、AMVPモードは、並進モデルに基づくAMVPモードと非並進モデルに基づくAMVPモードとに分類され得る。
マージモードにおいて、最初に、現在のコーディングユニットの空間的または時間的に符号化されたユニットの動き情報に基づいて、候補動き情報リストが構築される。次いで、レート歪みコストに基づいて、現在のコーディングユニットの動き情報として候補動き情報リストから最適な動き情報が決定される。最後に、候補動き情報リスト内の最適な動き情報の位置のインデックス値(以後、merge indexとして表記される)がデコーダ側に転送される。
マージモードにおいて、現在のコーディングユニットの空間的および時間的候補動き情報が図7に表され得る。空間的候補動き情報は、5つの空間的に隣接するブロック(A0、A1、B0、B1、およびB2)からのものである。隣接するブロックが利用可能でない、または予測モードがイントラ予測であるならば、隣接するブロックは、候補動き情報リストに追加されない。
現在のコーディングユニットの時間的候補動き情報は、参照フレームおよび現在のフレームのピクチャ順序カウント(picture order count、POC)に基づいて、参照フレーム内の対応する位置におけるブロックのMVをスケーリングすることによって取得され得る。参照フレーム内の対応する位置におけるブロックが取得されるとき、最初に、参照フレーム内の位置Tにおけるブロックが利用可能であるかどうかが決定され得る。位置Tにおけるブロックが利用可能でないならば、位置Cにおけるブロックが選択される。
並進モデルが予測のために使用されるとき、同じ動き情報がコーディングユニット内のすべてのピクセルに対して使用され、次いで、コーディングユニット内のピクセルの予測子を取得するために、動き情報に基づいて動き補償が実行される。しかしながら、現実の世界では、多種の動きが存在する。多くの物体、たとえば、回転する物体、異なる方向において回転するジェットコースター、花火、および映画におけるいくつかのスタントは、並進運動でない。これらの移動する物体、特にユーザ生成コンテンツ(user generated content、UGC)シナリオにおけるそれらが、現在のコーディング規格における並進運動モデルに基づくブロック動き補償技術を使用することによって符号化されるならば、コーディング効率が大きく影響される。したがって、符号化効果を改善するために、非並進運動モデルに基づく予測が提供される。
非並進運動モデルに基づく予測では、現在のコーディングブロック内の各サブ動き補償ユニットの動き情報を導出するために、エンコーダ側およびデコーダ側において同じ動きモデルが使用され、次いで、予測効率を改善するために、各サブブロックの予測サブブロックを取得するために、サブ動き補償ユニットの動き情報に基づいて、動き補償が実行される。頻繁に使用される非並進運動モデルは、4パラメータアフィン動きモデルと、6パラメータアフィン動きモデルとを含む。
加えて、スキップ(skip)モードは、マージモードの特別なモデルである。違いは、スキップ(skip)モードでは伝送の間に残差が存在せず、マージ候補インデックス(merge index)のみが転送されることにある。merge indexは、マージ候補動き情報リスト内の最良のまたはターゲット候補動き情報を示すために使用される。
ピクチャが予測されるとき、異なるモードが使用され得る。以下は、これらの一般的なモードを詳細に説明している。
動きベクトル差分を用いるマージモード
動きベクトル差分を用いるマージ(merge with motion vector difference、MMVD)モードでは、マージ候補動きベクトルリストから1つまたは複数の候補動きベクトルが選択され、次いで、候補動きベクトルに基づいて、動きベクトル(MV)拡張表現が実行される。MV拡張表現は、MVの開始点と、動きステップと、動き方向とを含む。
一般に、MMVDモードにおいて選択される候補動きベクトルのタイプは、デフォルトのマージタイプ(たとえば、MRG_TYPE_DEFAULT_N)である。選択された候補動きベクトルは、MVの開始点である。言い換えれば、選択された候補動きベクトルは、MVの初期位置を決定するために使用される。
表1に表されているように、ベース候補インデックス(Base candidate IDX)は、どの候補動きベクトルが候補動きベクトルリストから最適な候補動きベクトルとして選択されるかを示す。マージ候補動きベクトルリストが選択のための1つの候補動きベクトルを含むならば、Base candidate IDXは、決定されなくてもよい。
たとえば、ベース候補インデックスが1であるならば、選択された候補動きベクトルは、マージ候補動きベクトルリスト内の第2の動きベクトルである。
距離インデックス(Distance IDX)は、動きベクトルのオフセット距離情報を表現する。距離インデックスの値は、初期位置からオフセットされた距離(たとえば、事前設定された距離)を表現する。ここでの距離は、ピクセル距離(Pixel distance)によって表現される。ピクセル距離は、さらに簡単にペルと呼ばれ得る。距離インデックスとピクセル距離との間の対応が表2に表され得る。
方向インデックス(Direction IDX)は、初期位置に基づく動きベクトル差分(MVD)の方向を表現するために使用される。方向インデックスは、合計4つのケースを含み得る。具体的な定義が表3において表され得る。
MMVD方式に基づいて現在のピクチャブロックの予測されたピクセル値を決定するプロセスは、以下のステップを含む。
ステップ1:Base candidate IDXに基づいてMVの開始点を決定する。
図8は、この出願の一実施形態によるMMVD探索点の概略図であり、図9は、この出願のこの実施形態によるMMVD探索処理の概略図である。
たとえば、MVの開始点は、図8における中央の中空の点、または図9における実線に対応する位置である。
ステップ2:Direction IDXに基づいて、MVの開始点に基づくabオフセット方向を決定する。
ステップ3:Distance IDXに基づいて、Direction IDXによって示されている方向においてオフセットされているピクセル要素の数量を決定する。
たとえば、Direction IDX==00およびDistance IDX=2は、現在のピクチャブロックの予測されたピクセル値を予測または取得するために、正のX方向において1ピクセル要素だけオフセットされた動きベクトルが現在のピクチャブロックの動きベクトルとして使用されることを示す。組み合わされたイントラおよびインターモード。
マージ(merge)モードにおいて符号化されたコーディングブロック/CUにおいて、インジケータ(たとえば、ciip_flag)は、組み合わされたイントラおよびインター予測(combined inter and intra prediction、CIIP)モードが現在のピクチャに対して使用されるかどうかを示すために送信され得る。CIIPモードが使用されるとき、関連するシンタックス要素に従って、イントラ候補モードリスト(intra candidate list)から選択されたイントラ予測モードに基づいてイントラ予測ブロックが生成されてもよく、従来のインター予測方法を使用することによってインター予測ブロックが生成される。最後に、最終的な予測ブロックを生成するために、イントラコーディング予測ブロックとインターコーディング予測ブロックとを組み合わせるために、適応重み付け形態が使用される。
輝度ブロックについて、イントラ候補モードリストは、4つのモード、すなわち、DCモード、平面モード、水平(horizontal)モード、および垂直(vertical)モードから選択され得る。イントラ候補モードリストのサイズは、現在のコーディングブロックの形状に基づいて選択され、イントラ候補モードリスト内に3つまたは4つのモードが存在し得る。現在のコーディングブロック/CUの幅が高さの2倍よりも大きいとき、イントラ候補モードリストは、水平モードを含まない。現在のコーディングブロック/CUの高さが幅の2倍よりも大きいとき、イントラ候補モードリストは、垂直モードを含まない。
イントラコーディングとインターコーディングとを組み合わせた重み付け方法では、異なるイントラ予測モードのために異なる重み付け係数が使用される。具体的には、DCまたは平面モードがイントラコーディングのために使用されるとき、または現在のコーディングブロックの長さまたは幅が4以下であるとき、イントラ予測を通じて取得された予測子とインター予測を通じて取得された予測子のために同じ重み値/重み係数が使用される。そうでなければ、重み値/重み係数は、現在のブロックによって使用されているイントラ予測モードおよび/または現在のブロック内の予測サンプルの位置に基づいて決定され得る。たとえば、水平および垂直モードがイントラコーディングのために使用されるとき、可変重み係数が使用される。
三角形予測ユニットモード:
三角形予測ユニットモード(triangle prediction unit mode、triangle PU)は、三角形区分モード(triangle partition mode、TPM)またはマージ三角形モードとも呼ばれ得る。説明の容易さのために、この出願では、三角形予測ユニットモードまたは三角形区分モードは、簡単にTPMと呼ばれ、これは、後続においても適用可能である。
図11に表されているように、現在のピクチャブロックは、2つの三角形予測ユニットに分割され、各三角形予測ユニットのための単予測候補リストから動きベクトルおよび参照インデックスが選択される。次いで、2つの三角形予測ユニットの各々について予測子が取得され、各斜辺領域に含まれるピクセルに対して適応重み付けを実行することによって、予測子が取得される。次いで、変換および量子化プロセスが、現在のピクチャブロック全体に対して実行される。三角形予測ユニット方法は、通常、スキップモードまたはマージモードにおいてのみ適用されることが留意されるべきである。図10の左側は、左上から右下への分割モード(言い換えれば、左上から右下への分割)を表しており、図10の右側は、右上から左下への分割モード(言い換えれば、右上から左下への分割)を表している。
三角形予測ユニットモードにおける単予測候補リストは、通常、5つの候補予測動きベクトルを含み得る。これらの候補予測動きベクトルは、たとえば、図5における7つの周辺の隣接するブロック(5つの空間的に隣接するブロックおよび2つの時間的に同じ位置に配置されたブロック)を使用することによって取得される。7つの隣接するブロックの動き情報が探索され、7つの隣接するブロックは、単予測候補リストに順番に配置される。たとえば、シーケンスは、L0における双予測動きベクトル、L1における双予測動きベクトル、ならびにL0およびL1における動きベクトルの平均であり得る。5つよりも少ない候補が存在するならば、ゼロ動きベクトル0が単予測候補リストに追加される。符号化の間、単予測候補リストは、前述の方式で取得される。たとえば、単予測候補リストにおいて、1つの三角形PUのピクセル予測子を予測するために前方予測動き情報が使用され、他の三角形PUのピクセル予測子を予測するために後方予測動き情報が使用される。エンコーダ側は、トラバーサルを通じて最適な動きベクトルを選択する。たとえば、以下の方式{m,i,j}、すなわち、
{0,1,0}、{1,0,1}、{1,0,2}、{0,0,1}、{0,2,0}
{1,0,3}、{1,0,4}、{1,1,0}、{0,3,0}、{0,4,0}
{0,0,2}、{0,1,2}、{1,1,2}、{0,0,4}、{0,0,3}
{0,1,3}、{0,1,4}、{1,1,4}、{1,1,3}、{1,2,1}
{1,2,0}、{0,2,1}、{0,4,3}、{1,3,0}、{1,3,2}
{1,3,4}、{1,4,0}、{1,3,1}、{1,2,3}、{1,4,1}
{0,4,1}、{0,2,3}、{1,4,2}、{0,3,2}、{1,4,3}
{0,3,1}、{0,2,4}、{1,2,4}、{0,4,2}、{0,3,4}
が使用されてもよく、{m,i,j}において、第1の位置におけるmは、左上から右下への分割モード、または右上から左下への分割モードを表現し、第2の位置は、第1の三角形PUのために使用されるi番目の候補予測動きベクトルの前方動き情報を表現し、第3の位置は、第2の三角形PUのために使用されるj番目の候補予測動きベクトルの後方動き情報を表現する。
斜辺領域に含まれているピクセルの予測子に基づいて実行される適応重み付けプロセスについて、図11を参照されたい。三角形予測ユニットP1およびP2に対する予測が完了した後、適応重み付けプロセスは、現在のピクチャブロックの最終的な予測子を取得するために、斜辺領域に含まれているピクセルに対して実行される。
たとえば、図11の左側におけるピクチャにおいて、位置2におけるピクセルの予測子は、
である。P1は、図11の右上領域におけるピクセルの予測子を表現し、P2は、図11の左下領域におけるピクセルの予測子を表現する。
重み付けされたパラメータの2つのセットは、以下の通りである。
重み付けされたパラメータの第1のセット{7/8,6/8,4/8,2/8,1/8}および{7/8,4/8,1/8}は、それぞれ、ルマ点およびクロマ点に対して使用される。
重み付けされたパラメータの第2のセット{7/8,6/8,5/8,4/8,3/8,2/8,1/8}および{6/8,4/8,2/8}は、それぞれ、ルマ点およびクロマ点に対して使用される。
重み付けされたパラメータの1つのセットは、現在のピクチャブロックを符号化および復号するために使用される。2つの予測ユニットの参照ピクチャが異なる、または2つの予測ユニット間の動きベクトルの差が16ピクセルよりも大きいとき、重み付けされたパラメータの第2のセットが選択され、そうでなければ、重み付けされたパラメータの第1のセットが使用される。
図12は、この出願の一実施形態によるビデオ通信システムの概略ブロック図である。
図12に表されているビデオ通信システム500は、ソース装置600と、宛先装置700とを含む。ソース装置600は、取得されたビデオを符号化し、符号化されたビデオビットストリームを受信装置700に送信することができる。宛先装置700は、ビデオピクチャを取得するために受信されたビデオビットストリームを解析し、表示装置を使用することによってビデオを表示することができる。
この出願の実施形態におけるピクチャ予測方法は、ソース装置600または宛先装置700によって実行され得る。具体的には、この出願の実施形態におけるピクチャ予測方法は、ビデオエンコーダ603またはビデオデコーダ702によって実行され得る。
ビデオ通信システム500は、ビデオコーディングシステムとも呼ばれ得る。ソース装置600は、ビデオ符号化装置またはビデオ符号化デバイスとも呼ばれ得る。宛先装置700は、ビデオ復号装置またはビデオ復号デバイスとも呼ばれ得る。
図12において、ソース装置600は、ビデオキャプチャ装置601と、ビデオメモリ602と、ビデオエンコーダ603と、送信機604とを含む。ビデオメモリ602は、ビデオキャプチャ装置601によって取得されたビデオを記憶し得る。ビデオエンコーダ603は、ビデオメモリ602およびビデオキャプチャ装置601からのビデオデータを符号化し得る。いくつかの例では、ソース装置600は、送信機604を通じて、符号化されたビデオデータを宛先装置700に直接送信する。符号化されたビデオデータは、宛先装置700が復号および/または再生のために符号化されたビデオデータを後に抽出するように、記憶媒体またはファイルサーバにさらに記憶され得る。
図12において、宛先装置700は、受信機701と、ビデオデコーダ702と、表示装置703とを含む。いくつかの例では、受信機701は、チャネル800を通じて符号化されたビデオデータを受信し得る。表示装置703は、宛先装置700と統合されてもよく、または宛先装置7000の外部にあってもよい。通常、表示装置700は、復号されたビデオデータを表示する。表示装置700は、液晶ディスプレイ、プラズマディスプレイ、有機発光ダイオードディスプレイ、または別のタイプの表示装置などの複数のタイプの表示装置を含み得る。
ソース装置600および宛先装置700の具体的な実装は、以下のデバイス、すなわち、デスクトップコンピュータ、モバイルコンピューティング装置、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、スマートフォン、ハンドセット、テレビ、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、車載コンピュータ、または別の類似するデバイスのうちのいずれか1つであり得る。
宛先装置700は、チャネル800を通じてソース装置600から符号化されたビデオデータを受信し得る。チャネル800は、符号化されたビデオデータをソース装置600から宛先装置700に移動することができる1つまたは複数の媒体および/または装置を含み得る。一例では、チャネル800は、ソース装置600が符号化されたビデオデータを宛先装置700にリアルタイムで直接送信することを可能にすることができる1つまたは複数の通信媒体を含み得る。この例では、ソース装置600は、通信規格(たとえば、ワイヤレス通信プロトコル)に従って符号化されたビデオデータを変調してもよく、変調されたビデオデータを宛先装置700に送信してもよい。1つまたは複数の通信媒体は、ワイヤレスおよび/または有線通信媒体、たとえば、無線周波数(radio frequency、RF)スペクトルまたは1つもしくは複数の物理的伝送ラインを含み得る。1つまたは複数の通信媒体は、パケットに基づくネットワーク(たとえば、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク(たとえば、インターネット))の一部を形成し得る。1つまたは複数の通信媒体は、ルータ、スイッチ、基地局、またはソース装置600と宛先装置700との間の通信を実現する別のデバイスを含み得る。
別の例では、チャネル800は、ソース装置600によって生成された符号化されたビデオデータを記憶する記憶媒体を含み得る。この例では、宛先装置700は、ディスクアクセスまたはカードアクセスを通じて記憶媒体にアクセスし得る。記憶媒体は、Blu-ray(登録商標)、高密度デジタルビデオディスク(digital video disc、DVD)、コンパクトディスク・リードオンリメモリ(compact disc read-only memory、CD-ROM)、フラッシュメモリ、または符号化されたビデオデータを記憶するように構成されている別の適したデジタル記憶媒体などの、複数のローカルにアクセス可能なデータ記憶媒体を含み得る。
別の例では、チャネル800は、ソース装置600によって生成された符号化されたビデオデータを記憶するファイルサーバまたは別の中間記憶装置を含み得る。この例では、宛先装置700は、ストリーミング伝送またはダウンロードを通じて、ファイルサーバまたは別の中間記憶装置に記憶されている符号化されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、符号化されたビデオデータを宛先装置700に送信することができるサーバタイプのものであり得る。たとえば、ファイルサーバは、ワールドワイドウェブ(world wide web、Web)サーバ(たとえば、ウェブサイトのために使用される)、ファイル転送プロトコル(file transfer protocol、FTP)サーバ、ネットワーク接続ストレージ(network attached storage、NAS)装置、およびローカルディスクドライブを含み得る。
宛先装置700は、標準的なデータ接続(たとえば、インターネット接続)を通じて符号化されたビデオデータにアクセスし得る。データ接続の一例のタイプは、ワイヤレスチャネル、有線接続(たとえば、ケーブルモデム)、またはファイルサーバ上に記憶されている符号化されたビデオデータにアクセスするために適したそれらの組み合わせを含む。ファイルサーバからの符号化されたビデオデータの伝送は、ストリーミング伝送、ダウンロード伝送、またはそれらの組み合わせであり得る。
以下は、特定の添付図面を参照してこの出願の実施形態におけるピクチャ予測方法を詳細に説明する。
図13は、この出願の一実施形態によるピクチャ予測方法の概略フローチャートである。図13に表されているピクチャ予測方法は、ピクチャ予測装置によって実行され得る(ピクチャ予測装置は、ピクチャ符号化装置(システム)またはピクチャ復号装置(システム)内に配置され得る)。具体的には、図13に表されている方法は、ピクチャ符号化装置またはピクチャ復号装置によって実行され得る。図13に表されている方法は、エンコーダ側において実行されてもよく、またはデコーダ側において実行されてもよい。図13に表されている方法は、ステップ1001からステップ1008を含む。以下は、これらのステップを詳細に別個に説明する。
1001:開始する。
ステップ1001は、ピクチャ予測が開始することを示す。
1002:マージモードが現在のピクチャブロックに対して使用されるかどうかを判定する。
オプションで、図13に表されている方法は、ステップ1002の前に現在のピクチャブロックを取得するステップをさらに含む。
現在のピクチャブロックは、現在の符号化されるべきまたは復号されるべきピクチャ内のピクチャブロックであり得る。
この出願において、現在のピクチャブロックは、現在のピクチャブロックのターゲットマージモードを決定するプロセスにおいて、または現在のピクチャブロックのターゲットマージモードが決定された後に、取得され得ることが理解されるべきである。
デコーダ側について、ステップ1002において、マージモードが現在のピクチャブロックに対して使用されるかどうかは、具体的には、CUレベルのシンタックス要素merge_flag[x0][y0]に基づいて判定され得る。
merge_flag[x0][y0]=1ならば、マージモードが現在のピクチャブロックを予測するために使用されると判定される。merge_flag[x0][y0]=1ならば、マージモードが現在のピクチャブロックを予測するために使用されないと判定される。x0およびy0は、現在のピクチャの左上隅における輝度ピクセル要素に対しての、現在のピクチャブロックの左上隅における輝度ピクセル要素の座標位置を表現する。
CUレベルのシンタックス要素merge_flag[x0][y0]に基づいて、マージモードが現在のピクチャブロックに対して使用されると判定された後、最終的に使用されるターゲットマージモードは、CUレベルのシンタックス要素merge_flag[x0][y0]における特定の情報を解析することによって決定され得る。
ステップ1002において、マージモードが現在のピクチャブロックに対して使用されないと判定されたとき、マージモード以外の別のモードが、現在のピクチャブロックを予測するために使用され得る。たとえば、マージモードが現在のピクチャブロックに対して使用されないと判定されたとき、AMVPモードが、現在のピクチャブロックを予測するために使用され得る。
ステップ1002において、マージモードが現在のピクチャブロックに対して使用されると判定された後、現在のピクチャブロックに適用可能なターゲットマージモードを決定するために、ステップ1003が実行されることに続く。
1003:レベル1のマージモードを使用するかどうかを決定する。
具体的には、レベル1のマージモードが利用可能であるかどうかは、レベル1のマージモードに対応する上位層シンタックス要素、および/またはレベル1のマージモードに対応する利用可能なステータス情報に基づいて判定され得る。
本発明の可能な実装において、レベル1のマージモードは、合計2つのマージモード、すなわち、マージモードAとマージモードBを含むと仮定されている。この場合、レベル1のマージモードにおいて利用可能なマージモードが存在するかどうかは、1つずつ判定される。利用可能なマージモードが存在するならば、ステップ1005が実行される。レベル1のマージモードにおいてどのマージモードも利用可能でないならば、レベル1のマージモードは利用可能でないと判定される。この場合、ターゲットマージモードは、レベル2のマージモードから決定される必要がある。言い換えれば、ステップ1004が実行される。
1004:第1のマージモードに対応する上位層シンタックス要素が、第1のマージモードが使用されることを禁止されていることを示しているかどうかを判定する。
第1のマージモードは、レベル2のマージモードに属しており、レベル2のマージモードは、第2のマージモードをさらに含んでいる。
ステップ1004において、第1のマージモードに対応する上位層シンタックス要素が、第1のマージモードが使用されることを禁止されていることを示していると判定されたとき、第2のマージモードをターゲットマージモードとして決定するために、ステップ1006が実行される。
このアプリケーションでは、第1のマージモードの上位層シンタックス要素が、第1のマージモードが使用されることを禁止されていることを示しているとき、残りの第2のマージモードの利用可能なステータス情報を解析する必要はなく、第2のマージモードは、最終的なターゲットマージモードとして直接決定され得る。これは、ピクチャ予測プロセスにおいてターゲットマージモードを決定することによって引き起こされる冗長性を可能な限り削減することができる。
ステップ1004において、第1のマージモードに対応する上位層シンタックス要素が、第1のマージモードが使用されることを許可されていることを示していると判定されたとき、ターゲットマージモードをさらに決定するために、ステップ1007が実行される。
1005:レベル1のマージモードに基づいて現在のピクチャブロックを予測する。
ステップ1005において、レベル1のマージモードのうちのマージモードAが利用可能であるならば、現在のピクチャブロックは、マージモードAに基づいて予測されることが理解されるべきである。
1006:現在のピクチャブロックに適用可能なターゲットマージモードとして第2のマージモードを決定する。
第1のマージモードに対応する上位層シンタックス要素が、第1のマージモードが使用されることを禁止されていること示しているとき、第2のマージモードに対応する上位層シンタックス要素および/または利用可能なステータス情報を解析する必要はなく、第2のマージモードは、ターゲットマージモードとして直接決定され得る。
1007:第2のマージモードに対応する上位層シンタックス要素および/または第2のマージモードの利用可能なステータス情報に基づいて、ターゲットマージモードを決定する。
第2のマージモードの利用可能なステータス情報は、現在のピクチャブロックが予測されるときに第2のマージモードが使用されるかどうかを示すために使用される。
たとえば、第2のマージモードは、CIIPモードであり、第2のマージモードの利用可能なステータス情報は、ciip_flagの値である。ciip_flagが0であるとき、CIIPモードは、現在のピクチャブロックのために使用されない。ciip_flagが1であるとき、CIIPモードは、現在のピクチャブロックを予測するために使用される。
CIIPモードについて、CIIPモードがターゲットマージモードとして選択されるべきであるならば、CIIPに対応する上位層シンタックス要素は、CIIPモードが使用されることを許可されていることを示す必要があり、CIIPモードの利用可能なステータスを示す利用可能なステータス情報は、CIIPが利用可能であることを示す必要があることが理解されるべきである。
たとえば、sps_ciip_enabled_flag=1かつciip_flag=1のとき、CIIPモードは、現在のピクチャブロックのターゲットマージモードとして決定され得る。
ステップ1007において、第1のマージモードは、使用されることを許可されているので、第1のマージモードと第2のマージモードの両方が、現在のピクチャブロックのターゲットマージモードとして使用され得る。したがって、ターゲットマージモードは、マージモードのうちの1つに対応する上位層シンタックスおよび利用可能なステータス情報に基づいて、レベル2のマージモードから決定され得る。
オプションで、第1のマージモードは、TPMモードであり、第2のマージモードは、CIIPモードである。
以下は、第1のマージモードがTPMモードであり、第2のマージモードがCIIPモードであるときにターゲットマージモードをどのように決定するかを詳細に説明する。
オプションで、TPMモードに対応する上位層シンタックス要素が、TPMモードが使用されることを禁止されていることを示しているとき、CIIPモードがターゲットマージモードとして決定される。
たとえば、TPMモードに対応するsps_triangle_enabled_flagが0であるとき、TPMモードは、使用されることを禁止されている。この場合、ciip_flagの特定の値を解析する必要はない。代わりに、CIIPモードは、ターゲットマージモードとして直接決定され得る。このようにして、不要な解析処理が削減されることが可能であり、解決策の冗長性が削減されることが可能である。
この出願において、TPMモードに対応する上位層シンタックス要素が、TPMモードが使用されることを禁止されていることを示しているとき、CIIPモードに対応する上位層シンタックスおよび/またはCIIPモードの利用可能なステータスを示している利用可能なステータス情報を解析することによって、CIIPモードが利用可能であるかどうかを判定する必要はない。代わりに、CIIPモードは、ターゲットマージモードとして直接決定され得る。これは、ターゲットマージモードを決定するプロセスにおける冗長性を削減することができる。
オプションで、TPMモードに対応する上位層シンタックス要素が、TPMモードが使用されることを許可されていることを示しているとき、ターゲットマージモードは、CIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報に基づいて決定される。
たとえば、TPMモードに対応するsps_triangle_enabled_flagが1であるとき、TPMモードは、使用されることを許可されている。この場合、TPMモードとCIIPモードの両方がターゲットマージモードとして使用され得る。したがって、ターゲットマージモードとしてTPMモードまたはCIIPモードのどちらを選択するかをさらに決定する必要がある。
オプションで、CIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報が、CIIPモードが使用されることを禁止されていることを示しているとき、TPMモードがターゲットマージモードとして決定される。
CIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報が、CIIPモードが使用されることを禁止されていることを示していることは、ケース1から3を含む。
ケース1:CIIPモードに対応する上位層シンタックス要素は、CIIPモードが使用されることを禁止されていることを示しており、CIIPモードの利用可能なステータスを示す利用可能なステータス情報は、CIIPモードが利用可能でないことを示している。
ケース2:CIIPモードに対応する上位層シンタックス要素は、CIIPモードが使用されることを許可されていることを示しており、CIIPモードの利用可能なステータスを示す利用可能なステータス情報は、CIIPモードが利用可能でないことを示している。
ケース3:CIIPモードの利用可能なステータスを示す利用可能なステータス情報は、CIIPモードが利用可能でないことを示している。
オプションで、CIIPモードに対応する上位層シンタックス要素が、CIIPモードが使用されることを許可されていることを示しており、CIIPモードの利用可能なステータスを示す利用可能なステータス情報が、CIIPモードが利用可能であることを示しているとき、CIIPモードは、ターゲットマージモードとして決定される。
1008:ターゲットマージモードに基づいて現在のピクチャブロックを予測する。
図13に表されている方法では、ステップ1007が実行される前に、図13に表されている方法は、現在のピクチャブロックが配置されているスライスまたはスライスグループのタイプがBであることを判定するステップと、現在のピクチャブロックが配置されているスライスまたはスライスグループによってサポートされている候補TPMモードの最大数量が2以上であることを判定するステップとをさらに含む。
オプションで、ターゲットマージモードがCIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報に基づいて決定される前に、方法は、現在のピクチャブロックが配置されているスライスまたはスライスグループのタイプがBであることを判定するステップと、現在のピクチャブロックが配置されているスライスまたはスライスグループによってサポートされている候補TPMモードの最大数量が2以上であることを判定するステップとをさらに含む。
オプションで、一実施形態において、図13に表されている方法は、レベル1のマージモードが利用可能でなく、TPMモードに対応する上位層シンタックス要素が、TPMモードが使用されることを許可されていることを示しているが、現在のピクチャブロックが条件Aおよび条件Bのうちの少なくとも1つを満たしていないとき、CIIPモードがターゲットマージモードとして決定されることをさらに含む。
条件Aおよび条件Bは、以下の通りである。
条件A:現在のピクチャブロックが配置されているスライスのタイプがBである。
条件B:現在のピクチャブロックが配置されているスライスまたはスライスグループによってサポートされている候補TPMモードの最大数量が2以上である。
条件Aおよび条件Bは、いくつかの特定の形態で表現され得る。たとえば、条件Aは、具体的にはslice_type==Bによって表現されてもよく、条件Bは、具体的には、MaxNumTriangleMergeCand≧2によって表現されてもよい。MaxNumTriangleMergeCandは、現在のピクチャブロックが配置されているスライスまたはスライスグループによってサポートされている候補TPMモードの最大数量を示す。
TPMモードは、条件Aと条件Bの両方が満たされているときのみ、現在のピクチャブロックを予測するために最終的に使用されるターゲットマージモードとして選択されることが可能である。
条件Aまたは条件Bのいずれかが満たされていないならば、CIIPモードがターゲットマージモードとして決定される。
TPMモードに対応する上位層シンタックス要素が、TPMモードが使用されることを禁止されていることを示しているとき、条件Aまたは条件Bのいずれかが満たされていないならば、CIIPモードがターゲットマージモードとして決定される。
TPMモードに対応する上位層シンタックス要素が、TPMモードが使用されることを許可されていることを示しているとき、条件Aまたは条件Bのいずれかが満たされていないならば、CIIPモードがターゲットマージモードとして決定される。
言い換えれば、CIIPモードは、sps_trangle_enabled_flag=1、条件A、および条件Bのうちの1つが満たされていないことを条件に、ターゲットマージモードとして決定され得る。
逆に、sps_trangle_enabled_flag=1、条件A、および条件Bがすべて満たされているならば、ターゲットマージモードは、先行技術におけるいくつかの条件に従って、ciip_flagに基づいて決定される必要がある。
オプションで、上位層シンタックス要素は、シーケンスレベル、ピクチャレベル、スライスレベル、およびスライスグループレベルのうちの少なくとも1つにおけるシンタックス要素である。
オプションで、レベル1のマージモードは、通常のマージモードと、MMVDモードと、サブブロックマージモードとを含む。
レベル1のマージモードが利用可能であるかどうかが判定されるとき、これらのモードが利用可能であるかどうかは、通常のマージモード、MMVDモード、およびサブブロックマージモードのシーケンスで順次判定され得る。
たとえば、通常のマージモードが利用可能であるかどうかが最初に判定され得る。通常のマージモードが利用可能でないとき(通常のマージモードが利用可能であるならば、通常のマージモードが最終的なターゲットマージモードとして直接使用され得る)、MMVDモードが利用可能であるかどうかが判定されることに続く。MMVDモードが利用可能でないとき、サブブロックマージモードが利用可能であるかどうかが判定されることに続く。
オプションで、図13に表されている方法は、現在のピクチャブロックを符号化するために、エンコーダ側に適用され得る。
オプションで、図13に表されている方法は、現在のピクチャブロックを復号するために、デコーダ側に適用され得る。
この出願の実施形態におけるピクチャ予測方法の具体的なプロセスをよりよく理解するために、以下は、具体的な例を参照してこの出願の実施形態におけるピクチャ予測方法におけるピクチャマージモードを決定するプロセスを詳細に説明する。
以下は、図14と表4を参照してこの出願の実施形態におけるピクチャ予測方法を詳細に説明する。
図14は、この出願の一実施形態によるマージモードを決定するプロセスを表している。図14に表されているプロセスは、ステップ3001からステップ3007を含む。以下は、これらのステップを詳細に説明する。
3001:開始する。
ステップ3001は、ピクチャ予測が開始することを示している。
3002:マージモードが現在のピクチャブロックに対して使用されるかどうかを判定する。
具体的には、ステップ3002がデコーダ側によって実行されるとき、ステップ3002において、マージモードが現在のピクチャブロックに対して使用されるかどうかは、現在のピクチャブロックに対応するCUレベルのシンタックス要素merge_flag[x0][y0]の値に基づいて決定され得る。
たとえば、表4に表されているように、merge_flag[x0][y0]=0のとき、マージモードは、現在のピクチャブロックに対して使用されない。この場合、現在のピクチャブロックは、別の方式で予測され得る。たとえば、現在のピクチャブロックは、AMVPモードにおいて予測され得る。
merge_flag[x0][y0]=1のとき、マージモードは、現在のピクチャブロックに対して使用される。次に、どのマージモードが現在のピクチャブロックを予測するために使用されるかがさらに決定され得る。
ビットストリーム内にmerge_flag[x0][y0]が存在しないとき、merge_flag[x0][y0]は、デフォルトで0であることが理解されるべきである。
(x0,y0)は、現在のピクチャの左上隅における輝度ピクセル要素に対しての、現在のピクチャブロックの左上隅における輝度ピクセル要素の座標位置を表現する。以下のシンタックス要素における(x0,y0)の意味は、これと同じであり、詳細はここで説明されない。
オプションで、図14に表されている方法は、ステップ3002の前に現在のピクチャブロックを取得するステップをさらに含む。
現在のピクチャブロックは、現在の符号化されるべきまたは復号されるべきピクチャ内のピクチャブロックであり得る。
この出願において、現在のピクチャブロックは、現在のピクチャブロックのターゲットマージモードを決定するプロセスにおいて、または現在のピクチャブロックのターゲットマージモードが決定された後に、取得され得ることが理解されるべきである。
3003:通常のマージモードが現在のピクチャブロックに対して使用されるかどうかを判定する。
具体的には、ステップ3003において、通常のマージモードが現在のピクチャブロックに対して使用されるかどうかは、シンタックス要素regular_merge_flag[x0][y0]の値を解析することによって判定され得る。
regular_merge_flag[x0][y0]=1のとき、通常のマージモードは、現在のピクチャブロックに対して使用されると判定される。この場合、ステップ3007が実行され得る。具体的には、現在のピクチャブロックは、通常のマージモードに基づいて予測される。
regular_merge_flag[x0][y0]=0のとき、通常のマージモードは、現在のピクチャブロックに対して使用されないと判定される。この場合、現在のピクチャブロックに対して使用されるマージモードをさらに決定するために、ステップ3004を実行することに続く必要である。
ビットストリーム内にregular_merge_flag[x0][y0]が存在しないとき、regular_merge_flag[x0][y0]は、デフォルトで0であることが理解されるべきである。
3004:MMVDモードが現在のピクチャブロックに対して使用されるかどうかを判定する。
具体的には、ステップ3004において、MMVDモードに対応する上位層シンタックス要素が、MMVDが使用されることを許可され得ることを示しており、現在のピクチャブロックのエリアが32に等しくないとき、MMVDが現在のピクチャブロックに対して使用されるかどうかは、シンタックス要素mmvd_flag[x0][y0]の値を解析することによって判定され得る。
mmvd_flag[x0][y0]=1のとき、MMVDモードが現在のピクチャブロックに対して使用されると判定される。この場合、ステップ3007が実行され得る。具体的には、現在のピクチャブロックは、MMVDモードに基づいて予測される。
mmvd_flag[x0][y0]=0のとき、MMVDモードが現在のピクチャブロックに対して使用されないと判定される。この場合、現在のピクチャブロックに対して使用されるマージモードをさらに決定するために、ステップ3005を実行することに続く必要がある。
ビットストリーム内にmmvd_flag[x0][y0]が存在しないとき、mmvd_flag[x0][y0]は、デフォルトで0であることが理解されるべきである。
3005:サブブロックマージモードが現在のピクチャブロックに対して使用されるかどうかを判定する。
ステップ3004において、サブブロックマージモードが現在のピクチャブロックに対して使用されるかどうかは、ビットストリームを解析することによって取得されたシンタックス要素merge_subblock_flag[x0][y0]の値に基づいて判定され得る。
merge_subblock_flag[x0][y0]=1のとき、サブブロックマージモードが現在のピクチャブロックに対して使用されると判定される。この場合、ステップ3007が実行され得る。具体的には、現在のピクチャブロックは、サブブロックマージモードに基づいて予測される。
merge_subblock_flag[x0][y0]=0のとき、サブブロックマージモードが現在のピクチャブロックに対して使用されないと判定される。この場合、現在のピクチャブロックに対して使用されるマージモードをさらに決定するために、ステップ3006を実行することに続く必要がある。
ビットストリーム内にmerge_subblock_flag[x0][y0]が存在しないとき、merge_subblock_flag[x0][y0]は、デフォルトで0であることが理解されるべきである。
さらに、ステップ3004において、シンタックス要素merge_subblock_flag[x0][y0]の値は、サブブロックマージ候補リストの最大長が0よりも大きく、現在のピクチャブロックの幅と高さの両方が8以上であるときのみ解析されてもよく、merge_subblock_flag[x0][y0]の取得された値が0であるとき、ステップ3007が実行されることに続く。
3006:CIIPモードおよびTPMモードから、現在のピクチャブロックに対して使用されるマージモードを決定する。
具体的には、ステップ3006において、以下の条件(1)から(6)における6つの条件すべてが満たされているならば、ビットストリームからciip_flag[x0][y0]が解析され、現在のピクチャブロックに対して使用されるマージモードは、ciip_flag[x0][y0]の値に基づいて決定される。ciip_flag[x0][y0]=1のとき、CIIPモードが現在のピクチャブロックを予測するために使用される。
加えて、以下の条件(1)が満たされているとき、以下の条件(2)から(6)のうちのいずれか1つが満たされていないならば、CIIPモードが現在のピクチャブロックを予測するために使用される。
(1)sps_ciip_enabled_flag=1、
(2)sps_triangle_enabled_flag=1、
(3)cu_skip_flag[x0][y0]==0、
(4)(cbWidth*cbHeight)≧64、
(5)cbWidth<128、および
(6)cbHeight<128。
cbWidthおよびcbHeightは、それぞれ、現在のピクチャブロックの幅および高さである。
オプションで、現在のブロックに対して使用されるマージモードがステップ3006において決定されるとき、より多くの決定条件がさらに追加され得る。
前述の条件(1)から(6)に基づいて、条件(7)および(8)がさらに追加され得る。
(7)slice_type==B、および
(8)MaxNumTriangleMergeCand≧2。
オプションで、ステップ3006において、前述の条件(1)から(8)における8つの条件すべてが満たされているならば、ビットストリームからciip_flag[x0][y0]が解析され、現在のピクチャブロックに対して使用されるマージモードは、ciip_flag[x0][y0]の値に基づいて決定される。ciip_flag[x0][y0]=1のとき、CIIPモードが現在のピクチャブロックを予測するために使用される。
加えて、前述の条件(1)が満たされているとき、前述の条件(2)から(8)のうちのいずれか1つが満たされていないならば、CIIPモードが現在のピクチャブロックを予測するために使用される。
3007:現在のピクチャブロックに対して使用されるマージモードに基づいて現在のピクチャブロックを予測する。
ステップ3003において、通常のマージモードが現在のピクチャブロックに対して使用されると決定されたとき、ステップ3007において、現在のピクチャブロックは、通常のマージモードに基づいて予測される。ステップ3004において、MMVDモードが現在のピクチャブロックに対して使用されると決定されたとき、ステップ3007において、現在のピクチャブロックは、MMVDモードに基づいて予測される。ステップ3005において、サブブロックマージモードが現在のピクチャブロックに対して使用されると決定されたとき、ステップ3007において、現在のピクチャブロックは、サブブロックマージモードに基づいて予測される。
表4は、対応するシンタックス要素に基づいて、マージモードが使用されるときに現在のピクチャブロックに対して使用されるマージモードをどのように決定するかを表す。以下は、表4を参照して現在のピクチャブロックのマージモードの決定を詳細に説明する。
表4に表されているregular_merge_flag[x0][y0]が1であるとき、通常のマージモードが現在のピクチャブロックに対して使用されると決定される。この場合、通常のマージモードのパラメータが、シンタックス要素merge_idx[x0][y0]を解析することによって取得され得る。表4に表されているregular_merge_flag[x0][y0]が0であるとき、通常のマージモードが現在のピクチャブロックに対して使用されないと決定され、現在のピクチャブロックに対して使用されるマージモードは、さらに決定される必要がある。
表4に表されているsps_mmvd_enabled_flagおよびcbWidth*cbHeight !がそれぞれ1および32であるとき、それは、MMVDモードが現在のピクチャブロックに対して使用され得ることを示している。この場合、現在のピクチャブロックのマージモードは、mmvd_flag[x0][y0]の値に基づいて決定され得る。mmvd_flag[x0][y0]=1ならば、MMVDモードが現在のピクチャブロックに対して使用されると決定され、MMVDモードのパラメータが、シンタックス要素mmvd_merge_flag[x0][y0]、mmvd_distance_idx[x0][y0]、およびmmvd_direction_idx[x0][y0]を解析することによって判定され得る。mmvd_flag[x0][y0]=0ならば、現在のピクチャブロックに対して使用されるマージモードは、さらに決定される必要がある。
表4に表されているmerge_subblock_flag[x0][y0]が1であるとき、サブブロックマージモードが現在のピクチャブロックに対して使用されると決定される。表4に表されているmerge_subblock_flag[x0][y0]が0であるとき、サブブロックマージモードが現在のピクチャブロックに対して使用されないと決定され、現在のピクチャブロックに対して使用されるマージモードは、さらに決定される必要がある。
表4に表されているsps_ciip_enabled_flagが0であるとき、TPMモードが現在のピクチャブロックに対して使用されると直接決定され得る。しかしながら、表4に表されているsps_ciip_enabled_flagおよびsps_ciip_enabled_flagがそれぞれ1および0であるとき、CIIPモードが現在のピクチャブロックに対して使用されると直接決定され得る。
表4に表されているように、以下の条件(1)から(6)における6つの条件すべてが満たされているとき、Ciipモードの利用可能なステータス情報の指標、すなわち、ciip_flag[x0][y0]の値が、ビットストリームから取得される必要がある。ciip_flag[x0][y0]=1ならば、CIIPモードが現在のピクチャブロックに対して使用されると決定される。ciip_flag[x0][y0]=0ならば、TPMモードが現在のピクチャブロックに対して使用されると決定される。
(1)sps_ciip_enabled_flag=1、
(2)sps_triangle_enabled_flag=1、
(3)cu_skip_flag[x0][y0]==0、
(4)(cbWidth*cbHeight)≧64、
(5)cbWidth<128、
(6)cbHeight<128。
オプションで、表4におけるif(sps_ciip_enabled_flag && sps_triangle_enabled_flag && cu_skip_flag[x0][y0]==0 && (cbWidth*cbHeight)≧64 && cbWidth<128 && cbHeight<128)は、代替的に、if(sps_triangle_enabled_flag && sps_ciip_enabled_flag && cu_skip_flag[x0][y0]==0 && (cbWidth*cbHeight)≧64 && cbWidth<128 && cbHeight<128)で置き換えられ得る。言い換えれば、sps_ciip_enabled_flagおよびsps_triangle_enabled_flagのシーケンスが調整され得る。具体的な結果が表5に表され得る。
表4および表5において、CIIPを決定する時間シーケンスは、TPMを決定する時間シーケンスよりも早いことが留意されるべきである。具体的には、CIIPが最初に決定され、現在のブロックに対して最終的に使用される予測モードが、CIIPのステータスに基づいて決定される。CIIPが真であるならば、TPMに関する情報をさらに決定する必要はない。CIIPが偽であるならば、それは、TPMのみが利用可能であることを意味する。この場合、現在のブロックの最終的な予測モードは、TPMモードに設定され得る。時間シーケンスを決定する優先順位の設定またはロジックは、単に一例であり、代替的には、必要に応じて調整され得る。たとえば、TPMの時間シーケンスは、CIIPの時間シーケンスよりも早くされる。この場合、TPMモードが適用可能であるかどうかを判定するための条件も、必要に応じて調整される必要がある。
表6に表されているように、以下の条件(1)から(8)における8つの条件すべてが満たされているとき、CIIPモードの利用可能なステータス情報の指標、すなわち、ciip_flag[x0][y0]の値が、ビットストリームから取得される必要がある。ciip_flag[x0][y0]=1ならば、CIIPモードが現在のピクチャブロックに対して使用されると決定される。ciip_flag[x0][y0]=0ならば、TPMモードが現在のピクチャブロックに対して使用されると決定される。
(1)sps_ciip_enabled_flag=1、
(2)sps_triangle_enabled_flag=1、
(3)cu_skip_flag[x0][y0]==0、
(4)(cbWidth*cbHeight)≧64、
(5)cbWidth<128、
(6)cbHeight<128。
オプションで、表6におけるif(sps_ciip_enabled_flag && sps_triangle_enabled_flag && slice_type==B && MaxNumTriangleMergeCand≧2 && cu_skip_flag[x0][y0]==0 && (cbWidth*cbHeight)≧64 && cbWidth<128 && cbHeight<128)は、代替的には、if(sps_triangle_enabled_flag && sps_ciip_enabled_flag && slice_type==B && MaxNumTriangleMergeCand≧2 && cu_skip_flag[x0][y0]==0 && (cbWidth*cbHeight)≧64 && cbWidth<128 && cbHeight<128)で置き換えられ得る。言い換えれば、sps_ciip_enabled_flagおよびsps_triangle_enabled_flagのシーケンスは、調整され得る。具体的な結果が表7に表され得る。
上記は、図13および図14を参照してこの出願の実施形態におけるピクチャ予測方法を詳細に説明している。以下は、図15を参照してこの出願の実施形態におけるピクチャ予測方法を説明する。
図15は、この出願の一実施形態によるピクチャ予測方法の概略フローチャートである。図15に表されているピクチャ予測方法は、ピクチャ予測装置によって実行され得る(ピクチャ予測装置は、ピクチャ復号装置(システム)またはピクチャ符号化装置(システム)内に配置され得る)。具体的には、図15に表されている方法は、ピクチャ符号化装置またはピクチャ復号装置によって実行され得る。図15に表されている方法は、エンコーダ側において実行されてもよく、またはデコーダ側において実行されてもよい。図15に表されている方法は、ステップ4001からステップ4007を含む。以下は、これらのステップを詳細に別個に説明する。
4001:開始する。
ステップ4001は、ピクチャ予測が開始することを示している。
4002:マージモードが現在のピクチャブロックに対して使用されるかどうかを判定する。
デコーダ側について、ステップ4002において、マージモードが現在のピクチャブロックに対して使用されるかどうかは、CUレベルのシンタックス要素merge_flag[x0][y0]に基づいて判定され得る。具体的な決定プロセスについては、ステップ1003の下の関連する説明を参照されたい。
ステップ4002において、マージモードが現在のピクチャブロックに対して使用されないと判定されたとき、マージモード以外の別のモードが、現在のピクチャブロックを予測するために使用され得る。たとえば、マージモードが現在のピクチャブロックに対して使用されないと判定されたとき、AMVPモードが、現在のピクチャブロックを予測するために使用され得る。
ステップ4002において、マージモードが現在のピクチャブロックに対して使用されると判定された後に、現在のピクチャブロックに適用可能なターゲットマージモードを決定するために、ステップ4003が実行されることに続く。
オプションで、図15に表されている方法は、ステップ4002の前に、現在のピクチャブロックを取得するステップをさらに含む。
現在のピクチャブロックは、現在の符号化されるべきまたは復号されるべきピクチャ内のピクチャブロックであり得る。
この出願において、現在のピクチャブロックは、現在のピクチャブロックのターゲットマージモードを決定するプロセスにおいて、または現在のピクチャブロックのターゲットマージモードが決定された後に、取得され得ることが理解されるべきである。
4003:レベル1のマージモードを使用するかどうかを決定する。
具体的には、レベル1のマージモードが利用可能であるかどうかは、レベル1のマージモードに対応する上位層シンタックス要素および/またはレベル1のマージモードに対応する利用可能なステータス情報に基づいて判定され得る。
オプションで、ステップ4003におけるレベル1のマージモードは、通常のマージモードと、MMVDモードと、サブブロックマージモードとを含む。
レベル1のマージモードが利用可能であるかどうかが判定されるとき、これらのモードが利用可能であるかどうかは、通常のマージモード、MMVDモード、およびサブブロックマージモードのシーケンスで順次判定され得る。すべてのモードが利用可能でないとき、レベル1のマージモードが利用可能でないと判定される。
ステップ4003において、レベル1のマージモードが利用可能でないと判定されたとき、レベル2のマージモードからターゲットマージモードを決定するために、ステップ4004が実行されることに続き得る。
図15に表されているピクチャ予測方法について、レベル1のマージモードおよびレベル2のマージモードは、現在のピクチャブロックのすべてのオプションのマージモードを含んでもよく、現在のピクチャブロックについて、最終的なターゲットマージモードが、レベル1のマージモードおよびレベル2のマージモードから決定される必要がある。
オプションで、レベル1のマージモードの優先度は、レベル2のマージモードの優先度よりも高い。
レベル1のマージモードの優先度がレベル2のマージモードの優先度よりも高いことは、現在のピクチャブロックのターゲットマージモードを決定するプロセスにおいて、ターゲットマージモードがレベル1のマージモードから優先的に決定されることを意味する。レベル1のマージモードにおいて利用可能なマージモードが存在しないならば、ターゲットマージモードは、次いで、レベル2のマージモードから決定される。
4004:条件1から条件5が満たされているかどうかを判定する。
条件1から条件5は、以下の通りである。
条件1:TPMモードが使用されることを許可されている。
条件2:現在のピクチャブロックが配置されているスライスまたはスライスグループのタイプがBである。
条件3:現在のピクチャブロックが配置されているスライスまたはスライスグループによってサポートされている候補TPMモードの最大数量が2以上であると判定されている。
条件4:現在のピクチャブロックのサイズが事前設定された条件を満たしている。
条件5:スキップモードが現在のピクチャブロックを予測するために使用されない。
条件1は、具体的には、sps_triangle_enabled_flag=1によって表現されてもよく、条件2は、具体的には、slice_type==Bによって表現されてもよく、条件3は、具体的には、MaxNumTriangleMergeCand≧2によって表現されてもよい。MaxNumTriangleMergeCandは、現在のピクチャブロックが配置されているスライスまたはスライスグループによってサポートされている候補TPMモードの最大数量を示している。
ステップ4004において、条件1から条件5のうちのいずれか1つが満たされていないと判定されたとき、CIIPモードがターゲットマージモードとして直接決定され得る。言い換えれば、ステップ4005が実行される。ステップ4004において、5つの条件、すなわち、条件1から条件5が満たされていると判定されたとき、ターゲットマージモードは、CIIPモードの関連する情報に基づいてさらに決定される必要がある。言い換えれば、ステップ4006が実行される。
4005:CIIPモードが使用されることを許可されているとき、ターゲットマージモードとしてCIIPモードを決定する。
言い換えれば、ステップ4005において、CIIPモードが使用されることを許可されており、条件1から条件5のうちのいずれか1つが満たされていないとき、CIIPモードがターゲットマージモードとして決定される。
オプションで、条件1から条件5のうちのいずれか1つが満たされていないとき、CIIPモードの利用可能なステータスを示す利用可能なステータス情報の値が第1の値に設定される。CIIPモードの利用可能なステータスを示す利用可能なステータス情報の値が第1の値であるとき、CIIPモードは、現在のピクチャブロックに対してピクチャ予測を実行するために使用される。
ここでCIIPモードの利用可能なステータスを示す利用可能なステータス情報の値が第1の値に設定されることは、CIIPがターゲットマージモードとして決定されることと等価であることが理解されるべきである。
オプションで、CIIPモードの利用可能なステータスを示す利用可能なステータス情報は、ciip_flagである。
CIIPモードの利用可能なステータスを示す利用可能なステータス情報の値が第1の値に設定されることは、具体的には、ciip_flagが1に設定されることであり得る。
加えて、CIIPモードの利用可能なステータスを示す利用可能なステータス情報の値が第2の値に設定されているとき、それは、CIIPモードが現在のピクチャブロックに対してピクチャ予測を実行するために使用されないことを意味し得る。たとえば、CIIPモードの利用可能なステータスを示す利用可能なステータス情報がciip_flagであり、ciip_flag=0のとき、CIIPモードは、現在のピクチャブロックに対してピクチャ予測を実行するために使用されない。
4006:CIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報に基づいてターゲットマージモードを決定する。
CIIPモードの利用可能なステータスを示す利用可能なステータス情報は、現在のピクチャブロックが予測されるときにCIIPモードが使用されるかどうかを示すために使用される。
言い換えれば、ステップ4006において、条件1から条件5までのすべての条件が満たされているとき、ターゲットマージモードは、CIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報に基づいてさらに決定される必要がある。
CIIPモードの利用可能なステータスを示す利用可能なステータス情報は、ciip_flagの値であり得る。ciip_flagが0であるとき、CIIPモードは、現在のピクチャブロックに対して利用可能でない。ciip_flagが1であるとき、CIIPモードは、現在のピクチャブロックに対して利用可能である。
オプションで、ターゲットマージモードがCIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報に基づいて決定されることは、CIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報が、CIIPモードが使用されることを禁止されていることを示しているとき、TPMモードがターゲットマージモードとして決定されることを含む。
CIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報が、CIIPモードが使用されることを禁止されていることを示していることは、ケース1および3を含む。
ケース1:CIIPモードに対応する上位層シンタックス要素が、CIIPモードが使用されることを禁止されていることを示しており、CIIPモードの利用可能なステータスを示す利用可能なステータス情報が、CIIPモードが利用可能でないことを示している。
ケース2:CIIPモードに対応する上位層シンタックス要素が、CIIPモードが使用されることを許可されていることを示しており、CIIPモードの利用可能なステータスを示す利用可能なステータス情報が、CIIPモードが利用可能でないことを示している。
ケース3:CIIPモードの利用可能なステータスを示す利用可能なステータス情報が、CIIPモードが利用可能でないことを示している。
CIIPモードに対応する上位層シンタックス要素が、CIIPモードが使用されることを許可されていることを示しており、CIIPモードの利用可能なステータスを示す利用可能なステータス情報が、CIIPモードが利用可能であることを示しているとき、CIIPモードがターゲットマージモードとして決定されることが理解されるべきである。
オプションで、CIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報が、CIIPモードが使用されることを禁止されていることを示しているとき、TPMモードがターゲットマージモードとして決定されることは、以下を含む。
CIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報が、CIIPモードが使用されることを禁止されていることを示しているとき、TPMモードの利用可能なステータスを示す利用可能なステータス情報の値が第1の値に設定され、TPMモードの利用可能なステータスを示す利用可能なステータス情報の値が第1の値であるとき、TPMモードが、現在のピクチャブロックに対してピクチャ予測を実行するために使用される。
ここでTPMモードの利用可能なステータスを示す利用可能なステータス情報の値が第1の値に設定されることは、TPMがターゲットマージモードとして決定されることと等価であることが理解されるべきである。
オプションで、TPMモードの利用可能なステータスを示す利用可能なステータス情報は、MergeTriangleFlagである。
TPMモードの利用可能なステータスを示す利用可能なステータス情報の値が第1の値に設定されることは、具体的には、MergeTriangleFlagが1に設定されることであり得る。
この出願において、ターゲットマージモードは、5つの事前設定された条件が満たされているときのみ、CIIPモードの上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報に基づいて決定されることが可能である。従来の解決策と比較して、ターゲットマージモードがCIIPモードの上位層シンタックス要素および利用可能なステータス情報に基づいてさらに決定される前に、より多くの条件が満たされる必要がある。そうでなければ、CIIPモードは、ターゲットマージモードとして直接決定され得る。これは、ターゲットマージモードを決定するプロセスにおけるいくつかの冗長なプロセスを削減することができる。
別の観点から、レベル1のマージモードが利用可能でないとき、いくつかの事前設定された条件に基づいて、CIIPモードを最終的なマージモードとして選択するかどうかが判定されてもよく、CIIPモードは、事前設定された条件のうちのいずれか1つが満たされていないことを条件に、ターゲットマージモードとして直接決定されてもよい。これは、ターゲットマージを決定するプロセスにおいて生成される冗長性を削減する。
4007:ターゲットマージモードに基づいて現在のピクチャブロックを予測する。
オプションで、ターゲットマージモードがCIIPモードに対応する上位層シンタックス要素および/またはCIIPモードの利用可能なステータスを示す利用可能なステータス情報に基づいて決定される前に、図15に表されている方法は、
以下の条件のうちの少なくとも1つが満たされていることを判定するステップをさらに含む。
現在のピクチャブロックのサイズが事前設定された条件を満たしている、および
スキップモードが現在のピクチャブロックを予測するために使用されない。
オプションで、現在のピクチャブロックのサイズが事前設定された条件を満たしていることは、現在のピクチャブロックが以下の3つの条件、すなわち、
(cdWidth*cbHeight)≧64、
cbWidth<128、および
cbHeight<128
を満たしていることを含む。
cdWidthは、現在のピクチャブロックの幅であり、cbHeightは、現在のピクチャブロックの高さである。
上記は、添付図面を参照してこの出願の実施形態におけるピクチャ予測方法を詳細に説明している。以下は、図16を参照してこの出願の一実施形態におけるピクチャ予測装置を説明する。図16に表されているピクチャ予測装置は、この出願の実施形態におけるピクチャ予測方法におけるステップを実行することができることが理解されるべきである。不要な繰り返しを避けるために、以下は、この出願のこの実施形態におけるピクチャ予測装置を説明するときに、繰り返される説明を適切に省略している。
図16は、この出願の一実施形態によるピクチャ予測装置の概略ブロック図である。
図16に表されているピクチャ予測装置5000は、決定ユニット5001と、予測ユニット5002とを含む。
図16に表されているピクチャ予測装置5000は、この出願の実施形態におけるピクチャ予測方法を実行するように構成されている。具体的には、ピクチャ予測装置5000における決定ユニット5001は、図13から図15に表されているピクチャ予測方法におけるターゲットマージモードを決定するプロセスを実行するように構成され得る。ピクチャ予測装置5000における予測ユニット5002は、図13から図15に表されているピクチャ予測方法におけるターゲットマージモードに基づいて現在のピクチャブロックに対してピクチャ予測を実行するプロセスを実行するように構成されている。
図17は、この出願の一実施形態によるピクチャ予測装置のハードウェア構造の概略図である。図17に表されているピクチャ予測装置6000(装置6000は、具体的には、コンピュータデバイスであり得る)は、メモリ6001と、プロセッサ6002と、通信インターフェース6003と、バス6004とを含む。メモリ6001と、プロセッサ6002と、通信インターフェース6003との間の通信接続は、バス6004を通じて実現されている。
メモリ6001は、リードオンリメモリ(read only memory、ROM)、静的記憶デバイス、動的記憶デバイス、またはランダムアクセスメモリ(random access memory、RAM)であり得る。メモリ6001は、プログラムを記憶し得る。メモリ6001に記憶されているプログラムがプロセッサ6002によって実行されるとき、プロセッサ6002は、この出願の実施形態におけるピクチャ予測方法のステップを実行するように構成される。
プロセッサ6002は、汎用中央処理ユニット(central processing unit、CPU)、マイクロプロセッサ、特定用途向け集積回路(application specific integrated circuit、ASIC)、グラフィックス処理ユニット(graphics processing unit、GPU)、または1つもしくは複数の集積回路を使用してもよく、この出願の方法の実施形態におけるピクチャ検出方法を実現するために、関連するプログラムを実行するように構成されている。
プロセッサ6002は、集積回路チップであってもよく、信号処理能力を有する。実装プロセスにおいて、この出願におけるピクチャ予測方法のステップは、ハードウェア集積論理回路、またはプロセッサ6002におけるソフトウェアの形式における命令を使用することによって完了され得る。
プロセッサ6002は、代替的には、汎用プロセッサ、デジタル信号プロセッサ(digital signal processing、DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは別のプログラマブル論理デバイス、個別のゲートもしくはトランジスタ論理デバイス、または個別のハードウェア構成要素であり得る。プロセッサ602は、この出願の実施形態において開示されている方法、ステップ、および論理ブロック図を実現または実行し得る。汎用プロセッサは、マイクロプロセッサであってもよく、またはプロセッサは、任意の従来のプロセッサまたは同様のものであってもよい。この出願の実施形態を参照して開示されている方法のステップは、ハードウェア復号プロセッサによって直接実行および完了されてもよく、または復号プロセッサ内のハードウェアおよびソフトウェアモジュールの組み合わせによって実行および完了されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、リードオンリメモリ、プログラマブルリードオンリメモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの、この技術分野における成熟した記憶媒体内に配置され得る。記憶媒体は、メモリ6001内に配置されている。プロセッサ6002は、メモリ6001内の情報を読み取り、プロセッサ6002のハードウェアと組み合わせて、ピクチャ予測装置に含まれるユニットによって実行される必要がある機能を完了するか、またはこの出願の方法の実施形態におけるピクチャ予測方法を実行する。
通信インターフェース6003は、装置6000と別のデバイスまたは通信ネットワークとの間の通信を実現するために、トランシーバ装置、たとえば、限定はしないが、トランシーバを使用する。たとえば、構築されるべきニューラルネットワークに関する情報、およびニューラルネットワーク構築プロセスにおいて要求される訓練データは、通信インターフェース6003を通じて取得され得る。
バス6004は、装置6000の構成要素(たとえば、メモリ6001、プロセッサ6002、および通信インターフェース6003)の間で情報を送信するための経路を含み得る。
ピクチャ予測装置5000内の決定ユニット5001および予測ユニット5002は、ピクチャ予測装置6000内のプロセッサ6002と等価である。
図18は、この出願の一実施形態によるピクチャ符号化/復号装置のハードウェア構造の概略図である。図18に表されているピクチャ符号化/復号装置7000(装置7000は、具体的には、コンピュータデバイスであり得る)は、メモリ7001と、プロセッサ7002と、通信インターフェース7003と、バス7004とを含んでいる。メモリ7001と、プロセッサ7002と、通信インターフェース7003との間の通信接続は、バス7004を通じて実現されている。
ピクチャ予測装置6000内のモジュールの前述の限定および説明は、ピクチャ符号化/復号装置7000にも適用可能であり、詳細は、ここで再び説明されない。
メモリ7001は、プログラムを記憶するように構成され得る。プロセッサ7002は、メモリ7001に記憶されているプログラムを実行するように構成されている。メモリ7001に記憶されているプログラムが実行されるとき、プロセッサ7002は、この出願の実施形態におけるピクチャ予測方法のステップを実行するように構成される。
加えて、ビデオピクチャを符号化するとき、ピクチャ符号化/復号装置7000は、通信インターフェースを通じてビデオピクチャを取得し、次いで、符号化されたビデオデータを取得するために、取得されたビデオピクチャを符号化し得る。符号化されたビデオデータは、通信インターフェース7003を通じてビデオ復号デバイスに送信され得る。
ビデオピクチャを復号するとき、ピクチャ符号化/復号装置7000は、通信インターフェースを通じてビデオピクチャを取得し、次いで、表示されるべきビデオピクチャを取得するために、取得されたビデオピクチャを復号し得る。
この技術分野の当業者は、この明細書において開示されている実施形態において説明されている例と組み合わせて、ユニットおよびアルゴリズムのステップが、電子ハードウェア、またはコンピュータソフトウェアと電子ハードウェアとの組み合わせによって実現され得ることを認識し得る。機能がハードウェアによってまたはソフトウェアによって実行されるかは、特定のアプリケーションと、技術的解決策の設計制約条件とに依存する。この技術分野の当業者は、特定のアプリケーションごとに、説明されている機能を実現するために異なる方法を使用し得るが、実装がこの出願の範囲を超えていると考えられるべきではない。
便利で簡単な説明のために、前述のシステム、装置、およびユニットの詳細な動作プロセスについて、前述の方法の実施形態における対応するプロセスを参照されたく、詳細は、ここで再び説明されないことは、この技術分野の当業者によって明確に理解され得る。
この出願において提供されているいくつかの実施形態において、開示されているシステム、装置、および方法は、別の方式で実現され得ることが理解されるべきである。たとえば、説明されている装置の実施形態は、単に一例である。たとえば、ユニット分割は、単に論理的な機能分割であり、実際の実装では他の分割であり得る。たとえば、複数のユニットまたは構成要素が、別のシステムに組み合わされるかもしくは統合されてもよく、またはいくつかの特徴が、無視され、または実行されなくてもよい。加えて、表示され、または論じられている相互結合または直接結合または通信接続は、いくつかのインターフェースを通じて実現され得る。装置またはユニットの間の間接的な結合または通信接続は、電子的形式、機械的形式、または別の形式で実現され得る。
別個の部分として説明されているユニットは、物理的に別個であってもよく、またはそうでなくてもよく、ユニットとして表示されている部分は、物理的なユニットであってもよく、またはそうでなくてもよく、1つの位置において配置されてもよく、または複数のネットワークユニットにおいて分散されてもよい。ユニットのうちのいくつかまたはすべては、実施形態の解決策の目的を達成するための実際の要件に基づいて選択され得る。
加えて、この出願の実施形態における機能ユニットが、1つの処理ユニットに統合されてもよく、またはユニットの各々が、物理的に単独で存在してもよく、または2つ以上のユニットが、1つのユニットに統合される。
機能がソフトウェア機能ユニットの形式で実現され、独立した製品として販売または使用されるとき、機能は、コンピュータ可読記憶媒体に記憶され得る。そのような理解に基づいて、本質的にこの出願の技術的解決策、または先行技術に寄与する部分、または技術的解決策のいくつかは、ソフトウェア製品の形式で実現され得る。ソフトウェア製品は、記憶媒体に記憶され、この出願の実施形態において説明されている方法のステップのすべてまたはいくつかを実行するようにコンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイスであり得る)に命令するためのいくつかの命令を含む。前述の記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、リードオンリメモリ(read-only memory、ROM)、ランダムアクセスメモリ(random access memory、RAM)、磁気ディスク、または光ディスクなどの、プログラムコードを記憶することができる任意の媒体を含む。
前述の説明は、単にこの出願の具体的な実装であるが、この出願の保護範囲を限定するように意図されない。この出願において開示されている技術的範囲内でこの技術分野の当業者によって容易に理解される任意の変形または置換は、この出願の保護範囲内に入るべきである。したがって、この出願の保護範囲は、請求項の保護範囲に従うべきである。
10 ビデオ符号化および復号システム
12 ソースデバイス、ソース装置
13 リンク
14 宛先デバイス、宛先装置
16 ピクチャソース
17 生ピクチャデータ
18 ピクチャプリプロセッサ
19 前処理されたピクチャ、前処理されたピクチャデータ
20 エンコーダ
21 符号化されたピクチャデータ
22 通信インターフェース
28 通信インターフェース
30 デコーダ
31 復号されたピクチャ、復号されたピクチャデータ
32 ピクチャポストプロセッサ
33 後処理されたピクチャデータ
34 表示デバイス
40 ビデオコーディングシステム
41 画像化デバイス
42 アンテナ
43 プロセッサ
44 メモリ
45 表示デバイス
46 処理ユニット
47 論理回路
201 ピクチャ
202 入力
203 ピクチャブロック、ピクチャ画像ブロック
204 残差計算ユニット
205 残差ブロック
206 変換処理ユニット
207 変換係数
208 量子化ユニット
209 量子化された変換係数、量子化された残差係数
210 逆量子化ユニット
211 量子化解除された係数、量子化解除された残差係数
212 逆変換処理ユニット
213 逆変換ブロック、逆変換量子化解除されたブロック、逆変換残差ブロック、再構築された残差ブロック
214 再構築ユニット
215 再構築されたブロック
216 バッファ、バッファユニット、ラインバッファ
220 ループフィルタユニット、ループフィルタ、フィルタ
221 フィルタリングされたブロック、フィルタリングされた再構築されたブロック
230 復号されたピクチャバッファ、DBP
231 復号されたピクチャ
244 インター予測ユニット
245 インター予測ブロック、予測ブロック
254 イントラ予測ユニット
255 イントラ予測ブロック、予測ブロック
260 予測処理ユニット、ブロック予測処理ユニット
262 モード選択ユニット
265 予測ブロック
270 エントロピー符号化ユニット
272 出力
304 エントロピー復号ユニット
309 量子化された係数
310 逆量子化ユニット
312 逆変換処理ユニット
313 再構築された残差ブロック、逆変換ブロック
314 再構築ユニット、加算器
315 再構築されたブロック
316 バッファ
320 ループフィルタ、ループフィルタユニット、フィルタ
321 フィルタリングされたブロック、復号されたビデオブロック
330 復号されたピクチャバッファ、DPB
332 出力
344 インター予測ユニット
354 イントラ予測ユニット
360 予測処理ユニット
362 モード選択ユニット
365 予測ブロック
400 ビデオコーディングデバイス、ビデオ符号化デバイス、ビデオ復号デバイス
410 入力ポート
420 受信ユニット(Rx)、受信機ユニット
430 中央処理ユニット(CPU)、プロセッサ
440 送信機ユニット(Tx)、送信機ユニット
450 出力ポート
460 メモリ
470 コーディングモジュール、符号化モジュール、復号モジュール、符号化/復号モジュール
500 装置、コーディングデバイス、ビデオ通信システム
510 プロセッサ
530 メモリ
533 オペレーティングシステム
535 アプリケーションプログラム
550 バスシステム、バス
570 ディスプレイ
600 ソース装置
601 ビデオキャプチャ装置
602 ビデオメモリ、プロセッサ
603 ビデオエンコーダ
604 送信機
700 宛先装置
701 受信機
702 ビデオデコーダ
703 表示装置
800 チャネル
5000 ピクチャ予測装置
5001 決定ユニット
5002 予測ユニット
6000 ピクチャ予測装置、装置
6001 メモリ
6002 プロセッサ
6003 通信インターフェース
6004 バス
7000 宛先装置、ピクチャ符号化/復号装置、装置
7001 メモリ
7002 プロセッサ
7003 通信インターフェース
7004 バス

Claims (27)

  1. マージモードが現在のピクチャブロックに対して使用されるかどうかを判定するステップと、
    前記マージモードが前記現在のピクチャブロックに対して使用されるとき、レベル1のマージモードが利用可能であるかどうかを判定するステップと、
    前記レベル1のマージモードが利用可能でなく、かつレベル2のマージモードにおける第1のマージモードに対応する上位層シンタックス要素が、前記第1のマージモードが使用されることを禁止されていることを示しているとき、前記現在のピクチャブロックに適用可能なターゲットマージモードとして前記レベル2のマージモードにおける第2のマージモードを決定するステップであって、前記レベル2のマージモードが前記第1のマージモードおよび前記第2のマージモードを含む、ステップと、
    前記ターゲットマージモードに基づいて前記現在のピクチャブロックを予測するステップと
    を含むピクチャ予測方法。
  2. 前記方法が、
    前記レベル1のマージモードが利用可能でなく、かつ前記レベル2のマージモードにおける前記第1のマージモードに対応する前記上位層シンタックス要素が、前記第1のマージモードが使用されることを許可されていることを示しているとき、前記レベル2のマージモードにおける前記第2のマージモードに対応する上位層シンタックス要素および/または前記第2のマージモードの利用可能なステータス情報に基づいて前記ターゲットマージモードを決定するステップであって、前記第2のマージモードの前記利用可能なステータス情報が、前記現在のピクチャブロックが予測されるときに前記第2のマージモードが使用されるかどうかを示すために使用される、ステップをさらに含む、請求項1に記載の方法。
  3. 前記第2のマージモードに対応する上位層シンタックス要素および/または前記第2のマージモードの利用可能なステータス情報に基づいて前記ターゲットマージモードを決定する前記ステップが、
    前記第2のマージモードに対応する前記上位層シンタックス要素および/または前記第2のマージモードの前記利用可能なステータス情報が、前記第2のマージモードが使用されることを禁止されていることを示しているとき、前記第1のマージモードを前記ターゲットマージモードとして決定するステップを含む、請求項2に記載の方法。
  4. 前記第2のマージモードに対応する上位層シンタックス要素および/または前記第2のマージモードの利用可能なステータス情報に基づいて前記ターゲットマージモードを決定する前記ステップの前に、前記方法が、
    前記現在のピクチャブロックが以下の条件、すなわち、
    前記現在のピクチャブロックのサイズが事前設定された条件を満たしている、
    スキップモードが前記現在のピクチャブロックを予測するために使用されない
    のうちの少なくとも1つを満たしていると判定するステップをさらに含む、請求項2または3に記載の方法。
  5. 前記現在のピクチャブロックのサイズが事前設定された条件を満たしていることが、
    前記現在のピクチャブロックが以下の3つの条件、すなわち、
    (cdWidth*cbHeight)≧64、
    cbWidth<128、および
    cbHeight<128
    を満たしていることを含み、
    cdWidthが前記現在のピクチャブロックの幅であり、cbHeightが前記現在のピクチャブロックの高さである、請求項4に記載の方法。
  6. 前記第1のマージモードが三角形区分モードTPMであり、前記第2のマージモードが組み合わされたイントラおよびインター予測CIIPモードである、請求項1から5のいずれか一項に記載の方法。
  7. 前記第2のマージモードに対応する上位層シンタックス要素および/または前記第2のマージモードの利用可能なステータス情報に基づいて前記ターゲットマージモードを決定する前記ステップの前に、前記方法が、
    前記現在のピクチャブロックが配置されているスライスまたはスライスグループのタイプがBであると判定するステップと、
    前記現在のピクチャブロックが配置されている前記スライスまたはスライスグループによってサポートされている候補TPMモードの最大数量が2以上であると判定するステップと
    をさらに含む、請求項6に記載の方法。
  8. 前記第1のマージモードがTPMモードであり、前記第2のマージモードがCIIPモードであり、前記方法が、
    前記レベル1のマージモードが利用可能でなく、かつ前記TPMモードに対応する上位層シンタックス要素が、前記TPMモードが使用されることを許可されていることを示しているが、前記現在のピクチャブロックが条件Aおよび条件Bのうちの少なくとも1つを満たしていないとき、前記CIIPモードを前記ターゲットマージモードとして決定するステップであって、前記条件Aが、前記現在のピクチャブロックが配置されているスライスのタイプがBであることであり、前記条件Bが、前記現在のピクチャブロックが配置されている前記スライスまたはスライスグループによってサポートされている候補TPMモードの最大数量が2以上であることである、ステップをさらに含む、請求項1に記載の方法。
  9. 前記上位層シンタックス要素が、シーケンスレベル、ピクチャレベル、スライスレベル、およびスライスグループレベルのうちの少なくとも1つにおけるシンタックス要素である、請求項1から8のいずれか一項に記載の方法。
  10. 前記レベル1のマージモードが、通常のマージモードと、動きベクトル差分を用いるマージMMVDモードと、サブブロックマージモードとを含む、請求項1から9のいずれか一項に記載の方法。
  11. 前記方法が、
    前記レベル1のマージモードが利用可能でないとき、前記レベル2のマージモードから前記ターゲットマージモードを決定するステップであって、前記レベル2のマージモードがTPMモードとCIIPモードとを含む、ステップと、
    前記CIIPモードが使用されることを許可されており、かつ以下の条件、すなわち、
    条件D:前記TPMモードが使用されることを許可されている、
    条件E:スキップモードが前記現在のピクチャブロックを予測するために使用されない、
    条件F:(cbWidth*cbHeight)≧64、
    条件G:cbWidth<128、および
    条件H:cbHeight<128
    のうちのいずれか1つが満たされていないとき、前記CIIPモードを前記ターゲットマージモードとして決定するステップであって、cbWidthが前記現在のピクチャブロックのものであり、前記現在のピクチャブロックの幅であり、cbHeightが前記現在のピクチャブロックの高さである、ステップと
    をさらに含む、請求項1に記載の方法。
  12. 前記予測方法が、前記現在のピクチャブロックを符号化するためにエンコーダ側に適用される、請求項1から11のいずれか一項に記載の方法。
  13. 前記予測方法が、前記現在のピクチャブロックを復号するためにデコーダ側に適用される、請求項1から11のいずれか一項に記載の方法。
  14. マージモードが現在のピクチャブロックに対して使用されるかどうかを判定するステップと、
    前記マージモードが前記現在のピクチャブロックに対して使用されるとき、レベル1のマージモードが利用可能であるかどうかを判定するステップと、
    前記レベル1のマージモードが利用可能でないとき、前記レベル2のマージモードからターゲットマージモードを決定するステップであって、前記レベル2のマージモードがTPMモードおよびCIIPモードを含む、ステップと、
    前記CIIPモードが使用されることを許可されており、かつ以下の条件、すなわち、
    条件1:前記TPMモードが使用されることを許可されている、
    条件2:前記現在のピクチャブロックが配置されているスライスまたはスライスグループのタイプがBである、
    条件3:前記現在のピクチャブロックが配置されている前記スライスまたは前記スライスグループによってサポートされている候補TPMモードの最大数量が2以上であると判定されている、
    条件4:前記現在のピクチャブロックのサイズが事前設定された条件を満たしている、および
    条件5:スキップモードが前記現在のピクチャブロックを予測するために使用されない
    のうちのいずれか1つが満たされていないとき、前記CIIPモードを前記ターゲットマージモードとして決定するステップと
    を含むピクチャ予測方法。
  15. 前記レベル2のマージモードからターゲットマージモードを決定する前記ステップが、
    前記条件1から前記条件5のうちのいずれか1つが満たされていないとき、前記CIIPモードの利用可能なステータスを示す利用可能なステータス情報の値を第1の値に設定するステップであって、前記CIIPモードの前記利用可能なステータスを示す前記利用可能なステータス情報の前記値が前記第1の値であるとき、前記CIIPモードが前記現在のピクチャブロックに対してピクチャ予測を実行するために使用される、ステップを含む、請求項14に記載の方法。
  16. 前記レベル2のマージモードからターゲットマージモードを決定する前記ステップが、
    前記条件1から前記条件5のすべての条件が満たされているとき、前記CIIPモードに対応する上位層シンタックス要素および/または前記CIIPモードの前記利用可能なステータスを示す前記利用可能なステータス情報に基づいて前記ターゲットマージモードを決定するステップであって、前記CIIPモードの前記利用可能なステータスを示す前記利用可能なステータス情報が、前記現在のピクチャブロックが予測されるときに前記CIIPモードが使用されるかどうかを示すために使用される、ステップを含む、請求項14に記載の方法。
  17. 前記CIIPモードに対応する上位層シンタックス要素および/または前記CIIPモードの前記利用可能なステータスを示す前記利用可能なステータス情報に基づいて前記ターゲットマージモードを決定する前記ステップが、
    前記CIIPモードに対応する前記上位層シンタックス要素および/または前記CIIPモードの前記利用可能なステータスを示す前記利用可能なステータス情報が、前記CIIPモードが使用されることを禁止されていることを示しているとき、前記TPMモードを前記ターゲットマージモードとして決定するステップを含む、請求項16に記載の方法。
  18. 前記CIIPモードに対応する前記上位層シンタックス要素および/または前記CIIPモードの前記利用可能なステータスを示す前記利用可能なステータス情報が、前記CIIPモードが使用されることを禁止されていることを示しているとき、前記TPMモードを前記ターゲットマージモードとして決定する前記ステップが、
    前記CIIPモードに対応する前記上位層シンタックス要素および/または前記CIIPモードの前記利用可能なステータスを示す前記利用可能なステータス情報が、前記CIIPモードが使用されることを禁止されていることを示しているとき、前記TPMモードの利用可能なステータスを示す利用可能なステータス情報の値を第1の値に設定するステップであって、前記TPMモードの前記利用可能なステータスを示す前記利用可能なステータス情報の前記値が前記第1の値であるとき、前記TPMモードが前記現在のピクチャブロックに対してピクチャ予測を実行するために使用される、ステップを含む、請求項17に記載の方法。
  19. 前記予測方法が、前記現在のピクチャブロックを符号化するためにエンコーダ側に適用される、請求項14から18のいずれか一項に記載の方法。
  20. 前記予測方法が、前記現在のピクチャブロックを復号するためにデコーダ側に適用される、請求項14から18のいずれか一項に記載の方法。
  21. ピクチャ予測装置であって、前記ピクチャ予測装置が、請求項1から12または請求項13から19のいずれか一項に記載の方法を実行するように構成されているモジュールを含む、ピクチャ予測装置。
  22. プログラムを記憶するように構成されているメモリと、
    前記メモリに記憶されている前記プログラムを実行するように構成されているプロセッサであって、前記メモリに記憶されている前記プログラムが前記プロセッサによって実行されるとき、前記プロセッサが、請求項1から13または請求項14から20のいずれか一項に記載の方法を実行する、プロセッサと
    を含むピクチャ予測装置。
  23. 符号化装置であって、前記符号化装置が、請求項21または22に記載のピクチャ予測装置を含む、符号化装置。
  24. 復号装置であって、前記復号装置が、請求項21または22に記載のピクチャ予測装置を含む、復号装置。
  25. 電子デバイスであって、前記電子デバイスが、請求項23に記載の符号化装置および/または請求項24に記載の復号装置を含む、電子デバイス。
  26. コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体が、プロセッサによって実行されることが可能であるコンピュータプログラムを記憶しており、前記コンピュータプログラムが前記プロセッサによって実行されるとき、前記プロセッサが、請求項1から13または14から20のいずれか一項に記載の方法を実行する、コンピュータ可読記憶媒体。
  27. 記憶媒体であって、前記記憶媒体が、請求項1から13または請求項14から20のいずれか一項に記載の方法を使用することによって取得されたビットストリームを記憶している、記憶媒体。
JP2023176755A 2019-04-25 2023-10-12 ピクチャ予測方法および装置、およびコンピュータ可読記憶媒体 Pending JP2023179684A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
CN201910341218.6 2019-04-25
CN201910341218 2019-04-25
CN201910474007.X 2019-06-02
CN201910474007.XA CN111866502A (zh) 2019-04-25 2019-06-02 图像预测方法、装置和计算机可读存储介质
PCT/CN2020/086418 WO2020216294A1 (zh) 2019-04-25 2020-04-23 图像预测方法、装置和计算机可读存储介质
JP2021563353A JP2022530883A (ja) 2019-04-25 2020-04-23 ピクチャ予測方法および装置、およびコンピュータ可読記憶媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021563353A Division JP2022530883A (ja) 2019-04-25 2020-04-23 ピクチャ予測方法および装置、およびコンピュータ可読記憶媒体

Publications (1)

Publication Number Publication Date
JP2023179684A true JP2023179684A (ja) 2023-12-19

Family

ID=72940826

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021563353A Pending JP2022530883A (ja) 2019-04-25 2020-04-23 ピクチャ予測方法および装置、およびコンピュータ可読記憶媒体
JP2023176755A Pending JP2023179684A (ja) 2019-04-25 2023-10-12 ピクチャ予測方法および装置、およびコンピュータ可読記憶媒体

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021563353A Pending JP2022530883A (ja) 2019-04-25 2020-04-23 ピクチャ予測方法および装置、およびコンピュータ可読記憶媒体

Country Status (9)

Country Link
US (1) US12010293B2 (ja)
EP (1) EP3955569A4 (ja)
JP (2) JP2022530883A (ja)
KR (1) KR20220003021A (ja)
AU (1) AU2024201357A1 (ja)
BR (1) BR112021021226A2 (ja)
MX (1) MX2021012996A (ja)
SG (1) SG11202111818UA (ja)
WO (1) WO2020216294A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11109041B2 (en) * 2019-05-16 2021-08-31 Tencent America LLC Method and apparatus for video coding
WO2020256453A1 (ko) * 2019-06-19 2020-12-24 엘지전자 주식회사 결정된 예측 모드를 적용하여 예측 샘플들을 생성하는 영상 디코딩 방법 및 그 장치
US20230059035A1 (en) * 2021-08-23 2023-02-23 Netflix, Inc. Efficient encoding of film grain noise

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9066104B2 (en) * 2011-01-14 2015-06-23 Google Inc. Spatial block merge mode
US9648334B2 (en) 2011-03-21 2017-05-09 Qualcomm Incorporated Bi-predictive merge mode based on uni-predictive neighbors in video coding
US9866859B2 (en) 2011-06-14 2018-01-09 Texas Instruments Incorporated Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding
US9131239B2 (en) 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
CN105376576B (zh) * 2011-08-29 2017-07-28 苗太平洋控股有限公司 用于解码合并模式下的运动信息的装置
JP2013236358A (ja) 2012-03-14 2013-11-21 Sharp Corp 画像フィルタ装置、画像復号装置、画像符号化装置、およびデータ構造
US9918105B2 (en) 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
WO2016167538A1 (ko) 2015-04-12 2016-10-20 엘지전자(주) 비디오 신호의 인코딩, 디코딩 방법 및 그 장치
CN106303534B (zh) * 2015-06-08 2022-05-31 上海天荷电子信息有限公司 多种索引串与像素串融合复制方式的图像压缩方法和装置
CN108293131B (zh) 2015-11-20 2021-08-31 联发科技股份有限公司 基于优先级运动矢量预测子推导的方法及装置
CN116582679A (zh) * 2016-05-24 2023-08-11 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
WO2018028615A1 (en) * 2016-08-12 2018-02-15 Mediatek Inc. Methods and apparatuses of predictor-based partition in video processing system
CN109587479B (zh) 2017-09-29 2023-11-10 华为技术有限公司 视频图像的帧间预测方法、装置及编解码器
WO2020147772A1 (en) * 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Motion candidates derivation
KR20210107733A (ko) * 2019-01-18 2021-09-01 주식회사 윌러스표준기술연구소 모션 보상을 이용한 비디오 신호 처리 방법 및 장치
US10742972B1 (en) * 2019-03-08 2020-08-11 Tencent America LLC Merge list construction in triangular prediction
CN111866502A (zh) 2019-04-25 2020-10-30 华为技术有限公司 图像预测方法、装置和计算机可读存储介质
US11109041B2 (en) * 2019-05-16 2021-08-31 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
MX2021012996A (es) 2022-01-26
SG11202111818UA (en) 2021-11-29
JP2022530883A (ja) 2022-07-04
US20220046234A1 (en) 2022-02-10
US12010293B2 (en) 2024-06-11
BR112021021226A2 (pt) 2021-12-21
EP3955569A1 (en) 2022-02-16
AU2024201357A1 (en) 2024-03-21
WO2020216294A1 (zh) 2020-10-29
KR20220003021A (ko) 2022-01-07
EP3955569A4 (en) 2022-07-27

Similar Documents

Publication Publication Date Title
CN112005551B (zh) 一种视频图像预测方法及装置
JP7279154B2 (ja) アフィン動きモデルに基づく動きベクトル予測方法および装置
KR102621958B1 (ko) 후보 모션 벡터 리스트 획득 방법, 장치, 인코더 및 디코더
AU2020261145B2 (en) Picture prediction method and apparatus, and computer-readable storage medium
US12010293B2 (en) Picture prediction method and apparatus, and computer-readable storage medium
CN115243048B (zh) 视频图像解码、编码方法及装置
US20210360275A1 (en) Inter prediction method and apparatus
WO2020232845A1 (zh) 一种帧间预测的方法和装置
JP2022535859A (ja) Mpmリストを構成する方法、クロマブロックのイントラ予測モードを取得する方法、および装置
CN111277828A (zh) 视频编解码方法、视频编码器和视频解码器
JP2024056899A (ja) インター予測の方法および装置、並びに対応するエンコーダおよびデコーダ
JP2024037999A (ja) ビデオエンコーダ、ビデオデコーダ、及び対応する方法
CN112135137B (zh) 视频编码器、视频解码器及相应方法
CN111432219B (zh) 一种帧间预测方法及装置
CN111327907B (zh) 一种帧间预测的方法、装置、设备及存储介质
KR20210103561A (ko) 인터 예측 방법 및 장치
RU2810126C2 (ru) Способ и устройство прогнозирования изображений и считываемый компьютером носитель данных
WO2020135368A1 (zh) 一种帧间预测的方法和装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231025

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231025