JP7494289B2 - 異なるパーティション構造をもつパレット・モード - Google Patents
異なるパーティション構造をもつパレット・モード Download PDFInfo
- Publication number
- JP7494289B2 JP7494289B2 JP2022509098A JP2022509098A JP7494289B2 JP 7494289 B2 JP7494289 B2 JP 7494289B2 JP 2022509098 A JP2022509098 A JP 2022509098A JP 2022509098 A JP2022509098 A JP 2022509098A JP 7494289 B2 JP7494289 B2 JP 7494289B2
- Authority
- JP
- Japan
- Prior art keywords
- palette
- block
- current
- video
- equal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000005192 partition Methods 0.000 title description 12
- 238000000034 method Methods 0.000 claims description 187
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 108
- 241000023320 Luma <angiosperm> Species 0.000 claims description 107
- 230000009977 dual effect Effects 0.000 claims description 57
- 230000008569 process Effects 0.000 claims description 56
- 238000012545 processing Methods 0.000 claims description 48
- 238000013139 quantization Methods 0.000 claims description 42
- 238000006243 chemical reaction Methods 0.000 claims description 29
- 238000000638 solvent extraction Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 15
- 230000009466 transformation Effects 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 7
- 230000001131 transforming effect Effects 0.000 claims 1
- 230000011664 signaling Effects 0.000 description 23
- 239000013598 vector Substances 0.000 description 19
- 238000009795 derivation Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 239000011449 brick Substances 0.000 description 8
- 238000013461 design Methods 0.000 description 8
- 238000013138 pruning Methods 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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 a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/1883—Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
この出願は、2020年8月15日に出願された国際特許出願第PCT/US2020/046574号に基づく。同出願は、2019年8月15日に出願された国際特許出願第PCT/CN2019/100850号および2019年10月29日に出願された同PCT/CN2019/113931の優先権および利益を適時に主張してなされる。前述したすべての特許出願は、ここに参照によりその全体において組み込まれる。
本稿は、ビデオおよび画像の符号化・復号技術に関する。
本稿は、ビデオ符号化〔コーディング〕技術に関する。具体的には、パレット符号化〔コーディング〕におけるインデックスおよびエスケープ・シンボル符号化〔コーディング〕に関する。これは、HEVCのような既存のビデオ符号化〔コーディング〕規格、またはこれから最終化される規格(多用途ビデオ符号化〔コーディング〕)に適用されてもよい。これは、将来のビデオ符号化〔コーディング〕規格またはビデオ・コーデックにも適用可能でありうる。
ビデオ符号化規格は、主に、周知のITU-TおよびISO/IEC規格の開発を通じて発展してきた。ITU-TはH.261とH.263を生み出し、ISO/IECはMPEG-1とMPEG-4 Visualを生み出し、両組織は合同して、H.262/MPEG-2 VideoとH.264/MPEG-4 Advanced Video Coding(AVC)とH.265/HEVC規格とを生み出した。H.262以来、ビデオ符号化規格は、時間的予測と変換符号化が利用されるハイブリッドビデオ符号化構造に基づいている。HEVCを越えた将来のビデオ符号化技術を探求するため、2015年にVCEGとMPEGが合同で合同ビデオ探査チーム(JVET)を設立した。それ以来、JVETによって多くの新しい方法が採用され、合同探査モデル(Joint Exploration Model、JEM)と名付けられた参照ソフトウェアに入れられた。2018年4月には、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)の間の合同ビデオエキスパートチーム(JVET)が発足し、HEVCに比べ50%のビットレート削減を目指すVVC規格に取り組んでいる。
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/15_Gothenburg/wg11/JVET-O2001-v14.zip
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-5.0
2.1.1 パレット・モードの概念
パレット項目の符号化のために、パレット予測子が維持される。パレットの最大サイズとパレット予測子は、SPSにおいて信号伝達される。HEVC-SCCでは、palette_predictor_initializer_present_flagがPPSにおいて導入される。このフラグが1である場合、パレット予測子を初期化するための項目が、ビットストリームにおいて信号伝達される。パレット予測子は、各CTU行、各スライスおよび各タイルの先頭において初期化される。palette_predictor_initializer_present_flagの値に依存して、パレット予測子は0にリセットされるか、PPSにおいて信号伝達されたパレット予測子初期化子項目(palette predictor initializer entries)を使用して初期化される。HEVC-SCCでは、サイズ0のパレット予測子初期化子により、PPSレベルでパレット予測子初期化の明示的な無効化を許容することができるようにされた。
パレット・インデックスは、図3に示されるように水平および垂直横断走査を用いて符号化される。走査順序は、palette_transpose_flagを使用してビットストリームにおいて明示的に信号伝達される。サブセクションの残りについては、走査は水平であると想定される。
によって表現される配列へのインデックスである。配列インデックスxC、yCは、ピクチャーの左上のルーマ・サンプルに対するサンプルの位置(xC,yC)を指定する。PaletteIndexMap[xC][yC]の値は、0からMaxPaletteIndexの範囲である(両端含む)。変数adjustedRefPaletteIndexは次のように導出される:
adjustedRefPaletteIndex=MaxPaletteIndex+1
if(PaletteScanPos>0){
xcPrev=x0+TraverseScanOrder[log2CbWidth][log2bHeight][PaletteScanPos-1][0]
ycPrev=y0+TraverseScanOrder[log2CbWidth][log2bHeight][PaletteScanPos-1][1]
if(CopyAboveIndicesFlag[xcPrev][ycPrev]==0){
adjustedRefPaletteIndex=PaletteIndexMap[xcPrev][ycPrev]{ (7-157)
else{
if(!palette_transpose_flag)
adjustedRefPaletteIndex=PaletteIndexMap[xC][yC-1]
else
adjustedRefPaletteIndex=PaletteIndexMap[xC-1][yC]
}
}
if(CurrPaletteIndex>=adjustedRefPaletteIndex)
CurrPaletteIndex++
構文要素palette_run_prefixについてのctxIncの導出プロセス
このプロセスへの入力は、ビン・インデックスbinIdxならびに構文要素copy_above_palette_indices_flagおよびpalette_idx_idcである。
このプロセスの出力は変数ctxIncである。
変数ctxIncは次のように導出される:
・copy_above_palette_indices_flagが0に等しく、binIdxが0に等しい場合、ctxIncは以下のように導出される:
ctxInc=(palette_idx_idc<1)? 0:((palette_idx_idc<3)?1:2) (9-69)
・それ以外の場合、ctxIncは表1によって与えられる:
2.2.1 デュアル・ツリーにおけるパレット
VVCでは、デュアル・ツリー符号化構造がイントラスライスの符号化に使用されるため、ルーマ成分と2つのクロマ成分は、異なるパレットおよびパレット・インデックスをもつことがある。さらに、2つのクロマ成分は、同じパレットおよびパレット・インデックスを共有する。
JVET-N0258および現在のVTMでは、符号化単位についての予測モードはMODE_INTRA、MODE_INTER、MODE_IBC、MODE_PLTとすることができる。予測モードのバイナリ化はそれに応じて変更される。
以下のセマンティクスでは、配列インデックスx0、y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮される符号化ブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。配列インデックスxC、yCは、ピクチャーの左上のルーマ・サンプルに対する、サンプルの位置(xC,yC)を指定する。配列インデックスstartCompは、現在のパレット・テーブルの最初の色成分を指定する。0に等しいstartCompはY成分を示し、1に等しいstartCompはCb成分を示し、2に等しいstartCompはCr成分を示す。numCompsは、現在のパレット・テーブルにおける色成分の数を指定する。
変数PredictorPaletteSize[startComp]は、現在のパレット・テーブルの最初の色成分startCompについての予測子パレットのサイズを指定する。PredictorPaletteSizeは、節8.4.5.3において規定されるように導出される。
変数PalettePredictorEntryReuseFlags[i]が1に等しいことは、予測子パレットにおけるi番目の項目が現在のパレットにおいて再利用されることを指定する。PalettePredictorEntryReuseFlags[i]が0に等しいことは、予測子パレットのi番目の項目が現在のパレットにおける項目ではないことを指定する。配列PalettePredictorEntryReuseFlags[i]のすべての要素が0に初期化される。
palette_predictor_runの値は、0から(PredictorPaletteSize-predictorEntryIdx)の範囲内(両端含む)であることがビットストリーム適合性の要件である。ここで、predictorEntryIdxは、配列PalettePredictorEntryReuseFlagsにおける現在位置に対応する。変数NumPredictedPaletteEntriesは、予測子パレットから再利用される現在のパレットにおける項目数を指定する。NumPredictedPalletteEntriesの値は、0からpalette_max_sizeの範囲内(両端含む)である。
num_signalled_palette_entriesが存在しない場合、0に等しいと推定される。
変数CurrentPaletteSize[startComp]は、現在のパレット・テーブルの最初の色成分startCompについての現在のパレットのサイズを指定し、次のように導出される:
CurrentPaletteSize[startComp]=NumPredictedPaletteEntries+num_signalled_palette_entries (7-155)
CurrentPaletteSize[startComp]の値は、0からpalette_max_sizeの範囲内(両端含む)である。
変数PredictorPaletteEntries[cIdx][i]は、色成分cIdxについての予測子パレットにおけるi番目の要素を指定する。
変数CurrentPaletteEntries[cIdx][i]は、色成分cIdxについての現在のパレットにおけるi番目の要素を指定し、次のように導出される:
変数MaxPaletteIndexは、現在の符号化単位についてのパレット・インデックスの可能な最大値を指定する。MaxPaletteIndexの値は
CurrentPaletteSize[startComp]-1+palette_escape_val_presen_flag
に等しく設定される。
palette_idx_idcは、パレット・テーブル、CurrentPaletteEntriesへのインデックスの指示である。palette_idx_idcの値は、ブロック内の最初のインデックスについては0からMaxPaletteIndexの範囲内(両端含む)であり、ブロック内の残りのインデックスについては0から(MaxPaletteIndex-1)の範囲内(両端含む)である。
palette_idx_idcが存在しない場合、0に等しいと推定される。
変数PaletteIndexIdc[i]は、明示的に信号伝達されるまたは推定されるi番目のpalette_idx_idcを格納する。配列PaletteIndexIdc[i]のすべての要素は0に初期化される。
copy_above_indices_for_final_run_flagが0に等しいことは、符号化単位における最後の諸位置のパレット・インデックスがPaletteIndexIdc[num_palette_indices_minus1]からコピーされることを指定する。
copy_above_indices_for_final_run_flagが存在しない場合、0に等しいと推定される。
配列TraverseScanOrderは、パレット符号化のための走査順序配列を指定する。palette_transpose_flagが0に等しい場合、TraverseScanOrderは水平走査順序HorTravScanOrderを割り当てられ、palette_transpose_flagが1に等しい場合、TraverseScanOrderは垂直走査順序VerTravScanOrderを割り当てられる。
CopyAboveIndicesFlag[xC][yC]が0に等しいことは、パレット・インデックスがビットストリームにおいて明示的に符号化されるか、推定されることを指定する。配列インデックスxC、yCは、ピクチャーの左上のルーマ・サンプルに対する、サンプルの位置(xC,yC)を指定する。PaletteIndexMap[xC][yC]の値は、0から(MaxPaletteIndex-1)の範囲内(両端含む)とする。
if(CurrPaletteIndex>=adjustedRefPaletteIndex)
CurrPaletteIndex++ (7-158)
・PaletteMaxRunMinus1が0に等しい場合、PaletteRunMinus1は0に等しく設定される。
・それ以外の場合(PaletteMaxRunMinus1が0より大きい場合)、次が適用される:
・palette_run_prefixが2より小さい場合、次が適用される:
PaletteRunMinus1=palette_run_prefix (7-159)
・それ以外の場合(palette_run_prefixが2以上)、次が適用される:
PrefixOffset=1<<(palette_run_prefix-1)
PaletteRunMinus1=PrefixOffset+palette_run_suffix (7-160)
・CopyAboveIndicesFlag[xC][yC]が0に等しい場合、PaletteRunMinus1は、同じパレット・インデックスをもつ連続する位置の数から1を引いた数を指定する。
・それ以外の場合、palette_transpose_flagが0に等しい場合、PaletteRunMinus1は、上の行における対応する位置で使用されるのと同じパレット・インデックスをもつ、連続する位置の数から1を引いた数を指定する。
・それ以外の場合、PaletteRunMinus1は、左の列における対応する位置で使用されるのと同じパレット・インデックスをもつ、連続する位置の数から1を引いた数を指定する。
RunToEndが0に等しい場合、変数PaletteMaxRunMinus1はPaletteRunMinus1について可能な最大値を表し、PaletteMaxRunMinus1の値が0以上であることはビットストリーム適合性の要件である。
変数PaletteEscapeVal[cIdx][xC][yC]は、PaletteIndexMap[xC][yC]がMaxPaletteIndexに等しく、palette_escape_val_present_flagが1に等しいサンプルのエスケープ値を指定する。配列インデックスcIdxは、色成分を指定する。配列インデックスxC、yCは、ピクチャーの左上のルーマ・サンプルに対するサンプルの位置(xC,yC)を指定する。
PaletteEscapeVal[cIdx][xC][yC]が、0に等しいcIdxについては0から(1<<(BitDepthY+1)-1の範囲内(両端含む)であり、0に等しくないcIdxについては0から(1<<((BitDepthC+1))-1)の範囲内(両端含む)であることがビットストリーム適合性の要件である。
ライン・ベースのCGパレット・モードがVVCに採用された。この方法では、パレット・モードの各CUは、横断走査モードに基づいて複数のサンプル・セグメント(この試験では)に分割される。各セグメントにおけるパレット・ラン符号化のためのエンコード順序は、次のとおり:各ピクセルについて、1つのコンテキスト符号化されたビンrun_copy_flag=0が信号伝達されて、ピクセルが前のピクセルと同じモードであるかどうか、すなわち前の走査されたピクセルと現在のピクセルが両方ともラン・タイプCOPY_ABOVEであるかどうか、または前の走査されたピクセルと現在のピクセルが両方ともラン・タイプINDEXであり、同じインデックス値であるかどうかを示す。そうでない場合、run_copy_flag=1が信号伝達される。ピクセルと前のピクセルが異なるモードである場合、1つのコンテキスト符号化されたビンcopy_above_palette_indices_flagが信号伝達されて、ピクセルのラン・タイプ、すなわち、INDEXまたはCOPY_ABOVEを示す。VTM6.0におけるパレット・モードと同じく、サンプルが最初の行(水平横断走査)または最初の列(垂直横断走査)にある場合、デフォルトでINDEXモードが使用されるため、デコーダはラン・タイプをパースする必要はない。また、前にパースされたラン・タイプがCOPY_ABOVEである場合も、デコーダはラン・タイプをパースする必要はない。1つのセグメントにおけるピクセルのパレット・ラン符号化の後、インデックス値(INDEXモードについて)および量子化されたエスケープ色は、各ラインCG内のスループットを改善するために、コンテキスト符号化されたビンのエンコード/パースとは別に、バイパス符号化およびグループ化される。インデックス値は、VTMのようにパレット・ラン符号化の前に処理されるのではなく、今やラン符号化の後に符号化/パースされるので、エンコーダは、インデックス値の数num_palette_indices_minus1と最後のラン・タイプcopy_above_indices_for_final_run_flagを信号伝達する必要はない。
JVET-P0077におけるライン・ベースのCGパレット・モードのテキストを以下に示す。
以下のセマンティクスでは、配列インデックスx0、y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮される符号化ブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。配列インデックスxC、yCは、ピクチャーの左上のルーマ・サンプルに対するサンプルの位置(xC,yC)を指定する。配列インデックスstartCompは、現在のパレット・テーブルの最初の色成分を指定する。0に等しいstartCompはY成分を示し、1に等しいstartCompはCb成分を示し、2に等しいstartCompはCr成分を示す。numCompsは、現在のパレット・テーブルにおける色成分の数を指定する。
予測子パレットは、現在のパレット内の項目を予測するために使用される、以前の符号化単位からのパレット項目で構成される。
変数PredictorPaletteSize[startComp]は、現在のパレット・テーブルの最初の色成分startCompについての予測子パレットのサイズを指定する。PredictorPaletteSizeは、節8.4.5.3において規定されるように導出される。
変数PalettePredictorEntryReuseFlags[i]が1に等しいことは、予測子パレットにおけるi番目の項目が現在のパレットにおいて再利用されることを指定する。PalettePredictorEntryReuseFlags[i]が0に等しいことは、予測子パレットのi番目の項目が現在のパレットにおける項目ではないことを指定する。配列PalettePredictorEntryReuseFlags[i]のすべての要素が0に初期化される。
palette_predictor_runの値は、0から(PredictorPaletteSize-predictorEntryIdx)の範囲内(両端含む)であることがビットストリーム適合性の要件である。ここで、predictorEntryIdxは、配列PalettePredictorEntryReuseFlagsにおける現在位置に対応する。変数NumPredictedPaletteEntriesは、予測子パレットから再利用される現在のパレットにおける項目数を指定する。NumPredictedPalletteEntriesの値は、0からpalette_max_sizeの範囲内(両端含む)である。
num_signalled_palette_entriesが存在しない場合、0に等しいと推定される。
変数CurrentPaletteSize[startComp]は、現在のパレット・テーブルの最初の色成分startCompについての現在のパレットのサイズを指定し、次のように導出される:
CurrentPaletteSize[startComp]=NumPredictedPaletteEntries+num_signalled_palette_entries (7-155)
CurrentPaletteSize[startComp]の値は、0からpalette_max_sizeの範囲内(両端含む)である。
変数PredictorPaletteEntries[cIdx][i]は、色成分cIdxについての予測子パレットにおけるi番目の要素を指定する。
変数CurrentPaletteEntries[cIdx][i]は、色成分cIdxについての現在のパレットにおけるi番目の要素を指定し、次のように導出される:
変数MaxPaletteIndexは、現在の符号化単位についてのパレット・インデックスの可能な最大値を指定する。MaxPaletteIndexの値は
CurrentPaletteSize[startComp]-1+palette_escape_val_presen_flag
に等しく設定される。
palette_idx_idcが存在しない場合、0に等しいと推定される。
配列TraverseScanOrderは、パレット符号化のための走査順序配列を指定する。palette_transpose_flagが0に等しい場合、TraverseScanOrderは水平走査順序HorTravScanOrderを割り当てられ、palette_transpose_flagが1に等しい場合、TraverseScanOrderは垂直走査順序VerTravScanOrderを割り当てられる。
CopyAboveIndicesFlag[xC][yC]が0に等しいことは、パレット・インデックスがビットストリームにおいて明示的に符号化されるか、推定されることを指定する。配列インデックスxC、yCは、ピクチャーの左上のルーマ・サンプルに対する、サンプルの位置(xC,yC)を指定する。
if(CurrPaletteIndex>=adjustedRefPaletteIndex)
CurrPaletteIndex++ (7-158)
変数PaletteEscapeVal[cIdx][xC][yC]は、PaletteIndexMap[xC][yC]がMaxPaletteIndexに等しく、palette_escape_val_present_flagが1に等しいサンプルのエスケープ値を指定する。配列インデックスcIdxは、色成分を指定する。配列インデックスxC、yCは、ピクチャーの左上のルーマ・サンプルに対するサンプルの位置(xC,yC)を指定する。
PaletteEscapeVal[cIdx][xC][yC]が、0に等しいcIdxについては0から(1<<(BitDepthY+1)-1の範囲内(両端含む)であり、0に等しくないcIdxについては0から(1<<((BitDepthC+1))-1)の範囲内(両端含む)であることがビットストリーム適合性の要件である。
典型的なハードウェア・ビデオ・エンコーダおよびデコーダでは、ピクチャーがより多くの小さなイントラブロックを有する場合、近傍のイントラブロック間のサンプル処理データ依存性のため、処理スループットが低下する。イントラブロックの予測子生成は、近傍ブロックからの上部および左の境界の再構成されたサンプルを必要とする。よって、イントラ予測はブロックごとに順次処理されなければならない。
HEVCの場合と同様に、ブロックの残差は変換スキップ・モードで符号化されることができる。構文符号化の冗長性を避けるために、CUレベルMTS_CU_flagがゼロに等しくない場合、変換スキップ・フラグは信号伝達されない。変換スキップのためのブロック・サイズ制限は、JEM4におけるMTSについての場合と同じである。このことは、ブロック幅と高さの両方が32以下の場合に、変換スキップがCUに適用できることを示している。現在のCUについてLFNSTまたはMIPがアクティブ化される場合、暗黙的なMTS変換がDCT2に設定されることに注意されたい。また、暗黙的なMTSは、インター符号化されたブロックについてMTSが有効にされている場合でも、有効にされることができる。
JVET-N0309では、代替的な半画素補間フィルタが提案されている。
図6は、ACTが適用される復号フローチャートを示す。図6に示されるように、色空間変換は、残差ドメインで実行される。具体的には、1つの追加的な復号モジュール、すなわち逆ACTが、YCgCoドメインからの残差をもとのドメインに戻す変換をするための逆変換の後に、導入される。
色空間変換のために使用されるコア変換は、HEVCのために使用されるものと同じに保たれる。具体的には、以下の順方向および逆方向YCgCo色変換行列が適用される。
他方、順色変換と逆色変換は、3つの成分すべての残差にアクセスする必要がある。対応して、提案される実装では、ACTは、3つの成分のすべての残差が利用可能ではない以下の2つのシナリオでは無効にされる。
1.別個木パーティション(separate-tree partition):別個の木が適用される場合、1つのCTU内のルーマおよびクロマ・サンプルは、異なる構造によって分割される。その結果、ルーマ・ツリー内のCUはルーマ成分のみを含み、クロマ・ツリー内のCUは2つのクロマ成分のみを含むことになる。イントラ・サブパーティション予測(Intra sub-partition prediction、ISP):ISPサブパーティションはルーマに適用されるだけであり、一方、クロマ信号は分割なしに符号化される。現在のISP設計では、最後の諸ISPサブパーティションを除いて、他のサブパーティションはルーマ成分だけを含む。
1. エスケープ・シンボルの現在のバイナリ化は固定長ではなく、このことは、一様分布をもつ源に好適でありうる。
2. 現在のパレット符号化設計は、可能性のある冗長性を除去するためにインデックス調整プロセスを実行し、これは、たとえばエスケープ値インデックスが誤って導出された場合に、パース依存性(parsing dependency)を導入する可能性がある。
3. 現在インデックスを導出するために使用される参照インデックスは、エンコーダ制約条件を必要とすることがあり、これは、現在の設計では考慮されず、コーデック設計のために望ましくない。
4. ローカル・デュアル・ツリーが有効にされる場合、前のブロックと現在のブロックのパレット項目は、異なる数の色成分をもつ可能性がある。そのような場合の対処方法は不明である。
5. ローカル・デュアル・ツリーとPLTは、単一ツリー領域からデュアル・ツリー領域に符号化する際に、いくつかのパレット項目が繰り返される可能性があるため、同時に適用できなかった。一例が図7に示される。
6. joint_cbcrモードのためのクロマQPテーブルが制約される可能性がある。
7. ある種の条件下では、エスケープ・サンプルが冗長になることがある。
8. ライン・ベースのCGモードは、高スループットで処理できなかった。
以下のリストは、一般的な概念を説明するための例として考慮されるべきである。これらの項目は狭義に解釈すべきではない。さらに、これらの項目は、任意の仕方で組み合わせることができる。
a.一例では、エスケープ・シンボルは、固定長バイナリ化で信号伝達されてもよい。
b.一例では、エスケープ・シンボルは、Nビットを使用して固定長バイナリ化で信号伝達されてもよい。
c.一例では、エスケープ・シンボルを信号伝達するための符号長(たとえば、項目1.bで言及されているN)は、内部ビット深さに依存しうる。
i.あるいはまた、エスケープ・シンボルを信号伝達するための符号長は、入力ビット深さに依存してもよい。
ii.あるいはまた、エスケープ・シンボルを信号伝達するための符号長は、内部ビット深さと入力ビット深さとの間の差に依存してもよい。
iii.一例では、Nは入力/内部ビット深さに等しく設定される。
d.一例では、エスケープ・シンボルを信号伝達するための符号長(たとえば、項目1.bで言及されているN)は、量子化パラメータ、すなわちQpに依存してもよい。
i.一例では、エスケープ・シンボルを信号伝達するための符号長は、f(Qp)で示されるような量子化パラメータの関数であってもよい。
1.一例では、関数fは(内部ビット深さ-g(Qp))と定義されてもよい。
2.一例では、Nは(内部ビット深さ-max(16,(Qp-4)/6))に設定されてもよい。
3.一例では、Nは(内部ビット深さ-max(QpPrimeTsMin,(Qp-4)/6))に設定されてもよい。ここで、qPは、デコードされた量子化パラメータであり、QpPrimeTsMinは、変換スキップ・モードのための最小の許容される量子化パラメータである。
4.あるいはまた、さらに、符号長Nは、max(A,内部ビット深さ-(Max(QpPrimeTsMin,Qp)-4)/6)に設定されてもよく、ここで、Aは、0または1のような負でない整数値である。
e.上記の諸例において、Nは、0以上であってもよい。
a.あるいはまた、さらに、エスケープ・シンボルの存在 の指示を信号伝達することはスキップされる。
b.一例では、エスケープ・シンボルの使用を有効/無効にするかどうかは、量子化パラメータおよび/またはビット深さに依存してもよい。
i.一例では、(内部ビット深さ-(Max(QpPrimeTsMin,Qp)-4)/6)が0より大きくない場合、エスケープ・シンボルの使用は無効にされてもよい。
a.一例では、エスケープ・シンボルのバイナリ化は、入力パラメータKをもつ打ち切りされたバイナリ(truncated binary、TB)であってもよい。
b.一例では、エスケープ・シンボルのバイナリ化は、K次のEGであってもよい。ここで、Kは3に等しくない。
i.一例では、エスケープ・シンボルのバイナリ化は、0次のEGであってもよい。
1.あるいはまた、一例では、エスケープ・シンボルのバイナリ化は、1次のEGであってもよい。
2.あるいはまた、一例では、エスケープ・シンボルのバイナリ化は、2次のEGであってもよい。
c.上記の諸例では、Kは整数であってもよく、以下に依存してもよい。
i.SPS/VPS/PPS/ピクチャー・ヘッダ/スライス・ヘッダ/タイル・グループ・ヘッダ/LCU行/LCUのグループ/ブリックにおいて信号伝達されるメッセージ。
ii.内部ビット深さ
iii.入力ビット深さ
iv.内部ビット深さと入力深さの差
v.現在ブロックのブロック寸法
vi.現在ブロックの現在の量子化パラメータ
vii.カラー・フォーマットの指示(4:2:0、4:4:4、RGBまたはYUVなど)
viii.符号化構造(単一ツリーまたはデュアル・ツリーなど)
ix.色成分(ルーマ成分および/またはクロマ成分など)
a.一例では、複数のバイナリ化方法のうちの1つをどのようにして選択するかが、ビデオ単位および/またはエスケープ・シンボルの一つまたは複数の値について信号伝達されてもよい。
b.一例では、複数のバイナリ化方法のうちの1つをどのようにして選択するかが、ビデオ単位および/またはエスケープ・シンボルの一つまたは複数の値について導出されてもよい。
c.一例では、1つのビデオ単位および/またはエスケープ・シンボルの一つまたは複数の値について、2つ以上のバイナリ化方法が適用されてもよい。
i.一例では、インデックスまたはフラグが、選択されたバイナリ化方法を知らせるためにエンコード/デコードされてもよい。
a.一例では、エスケープ・シンボルについての量子化および/または逆量子化プロセスは、量子化が適用された通常のイントラ/インター符号化されたブロックについて使用されるものとは異なっていてもよい。
a.一例では、エスケープ・シンボルを量子化するために右ビットシフトが使用されてもよい。
i.一例では、エスケープ・シンボルは、f(p,Qp)として信号伝達されてもよく、ここで、pは入力シンボル値(たとえば、入力ルーマ/クロマ・サンプル値)であり、Qpは、対応する色成分についての導出された量子化パラメータである。
1.一例では、関数fはp>>g(Qp)として定義されてもよい。
2.一例では、関数fは(p+(1<<(g(QP)-1))>>g(Qp))として定義されてもよい。
3.一例では、関数fは、(0,(1<<bd)-1,(p+(1<<(g(QP)-1)))>g(Qp))として定義されてもよい。
ii.一例では、エスケープ・シンボルは、h(p)として信号伝達されてもよい。
1.一例では、関数hは、p>>Nとして定義されてもよい。
2.一例では、関数hは、(p+(1<<(N-1)))>>Nとして定義されてもよい。
3.一例では、cu_transquant_bypass_flagが1に等しい場合、Nは0に設定されてもよい。
4.一例では、cu_transquant_bypass_flagが1に等しい場合、Nは(bd-ibd)に等しくてもよい。ここで、bdは内部ビット深さであり、ibdは入力ビット深さである。
5.一例では、関数hはclip(0,(1<<(bd-N)-1,p>>N)として定義されてもよく、ここで、bdは現在の色成分についての内部ビット深さである。
6.一例では、関数hはclip(0,(1<<(bd-N)-1,(p+(1<<(N-1)))>>N)として定義されてもよく、ここで、bdは現在の色成分についての内部ビット深さである。
7.上記の例において、Nは[0,(bd-1)]の範囲であってもよい。
b.一例では、左ビットシフトは、エスケープ・シンボルを逆量子化するために使用されてもよい。
i.一例では、エスケープ・シンボルは、f(p,Qp)として脱量子化されてもよい。ここで、pは、復号されたエスケープ・シンボルであり、Qpは、対応する色成分についての導出された量子化パラメータである。
1.一例では、fはp<<g(Qp)として定義されてもよい。
2.一例では、fは(p<<g(Qp))+(1<<(g(Qp)-1))として定義されてもよい。
ii.一例では、エスケープ・シンボルは、f(p,Qp)として再構成されてもよい。ここで、pは、復号されたエスケープ・シンボルである。
1.一例では、fはclip(0,(1<<bd)-1,p<<g(Qp))として定義されてもよい。
2.一例では、fは、clip(0,(1<<bd)-1,(p<<g(Qp))+(1<<(g(Qp)-1)))として定義されてもよい。
iii.一例では、エスケープ・シンボルはh(p)として再構成されてもよい。
1.一例では、関数hはp<<Nとして定義されてもよい。
2.一例では、関数hは、(p<<N)+(1<<(N-1))として定義されてもよい。
3.一例では、cu_transquant_bypass_flagが1に等しい場合、Nは0に設定されてもよい。
4.一例では、cu_transquant_bypass_flagが1に等しい場合、Nは(bd-ibd)に等しくてもよく、ここで、bdは内部ビット深さであり、ibdは入力ビット深さである。
5.一例では、Nは(max(QpPrimeTsMin,qP)-4)/6に設定され、ここで、qPは復号された量子化パラメータであり、QpPrimeTsMinは変換スキップ・モードのための最小の許容される量子化パラメータである。
a)上記の例では、ルーマとクロマの両方が変換スキップ・モードをもつ場合、変換スキップ・モードのための異なる最小の許容される量子化パラメータが、異なる色成分について適用されてもよい。
6.あるいはまた、上記の諸例について、Nは、min(bd-1,N)のように、さらにクリップされてもよい。
7.上記の例では、Nは[0,(bd-1)]の範囲であってもよい。
a.一例では、それは、内部ビット深さと入力ビット深さの間の差、すなわち、deltaBD=内部ビット深さ-入力ビット深さに依存してもよい。
b.KがdeltaBD以下である場合、再構成された値はp<<Kであってもよい。
c.KがdeltaBDより大きい場合、再構成値は(p<<K)+(1<<(K-1))であってもよい。
d.KがT0以下である場合(たとえば、T0=2)、再構成された値はp<<Kであってもよい。
e.KがT1より大きい場合(たとえば、T1=2)、再構成値は(p<<K)+(1<<(K-1))であってもよい。
f.一例では、項目dおよびeにおけるT0およびT1は、シーケンス/ピクチャー/スライス/タイル/ブリック/サブピクチャー・レベルなどで、ビットストリームにおいて信号伝達されてもよい。
g.一例では、再構成値は、(p<<K)+((1<<(K-1)>>deltaBD<<deltaBD))であってもよい。
h.一例では、再構成値は、((p<<(K+1))+(1<<K))>>(deltaBD+1)<<deltaBD)であってもよい。
i.一例では、deltaBDは、シーケンス/ピクチャー/スライス/タイル/ブリック/サブピクチャー・レベルなどでビットストリームにおいて信号伝達されてもよい。
j.一例では、どの再構成値が使用されるか(たとえば、項目bないしe)は、現在のブロックの量子化パラメータに依存してもよい。
k.一例では、どの再構成値が使用されるか(たとえば、項目bないしe)は、deltaBDの値に依存してもよい。
l.一例では、Kは、g(Qp)に設定されてもよい。
a.一例では、エスケープ・シンボルは、コンテキスト符号化されてもよい。
b.一例では、エスケープ・シンボルはバイパス符号化されてもよい。
c.一例では、g(Qp)は、(Qp-4)/6またはQP/8として定義されてもよい。
i.あるいはまた、g(Qp)はQp/6またはQP/8として定義されてもよい。
ii.あるいはまた、g(Qp)はmax(16,Qp/6)として定義されてもよい。
iii.あるいはまた、g(Qp)はmax(16,(Qp-4)/6)として定義されてもよい。
iv.あるいはまた、g(Qp)はmax((bd-ibd)*6+4,(Qp-4)/6)として定義されてもよい。
v.あるいはまた、g(Qp)はmax(M,(Qp-4)/6)として定義されてもよい。
1.一例では、Mはデコーダに信号伝達されてもよい。
vi.あるいはまた、g(Qp)はmax((M,Qp)-4)/6として定義されてもよい。
1.一例では、MはSPSにおいて示されてもよい。
2.一例では、ルーマ成分およびクロマ成分に同じMまたは異なるMが適用されうる。
3.一例では、Mは(bd-ibd)*6+4に等しくてもよい。
vii.あるいはまた、g(Qp)はQp/6またはQP/8として定義されてもよい。
viii.あるいはまた、g(Qp)は(max(16,Qp)/6)として定義されてもよい。
ix.あるいはまた、g(Qp)は(max(16,Qp)-4)/6として定義されてもよい。
d.一例では、g(Qp)の値は[0,(bd-1)]の範囲であってもよい。
e.一例では、最大関数max(a,i)は(i<=a?a:i)として定義されてもよい。
i.あるいはまた、一例では、最大関数max(a,i)は(i<a?a:i)として定義されてもよい。
f.一例では、Nは整数(たとえば、8または10)であってもよく、以下に依存してもよい。
i.SPS/VPS/PPS/ピクチャー・ヘッダ/スライス・ヘッダ/タイル・グループ・ヘッダ/LCU行/LCUのグループ/ブリックにおいて信号伝達されるメッセージ
ii.内部ビット深さ
iii.入力ビット深さ
iv.内部ビット深さと入力深さの差
v.現在ブロックのブロック寸法
vi.現在ブロックの現在の量子化パラメータ
vii.カラー・フォーマットの指示(4:2:0、4:4:4、RGB、またはYUVなど)
viii.符号化構造(単一ツリーまたはデュアル・ツリーなど)
ix.色成分(ルーマ成分および/またはクロマ成分など)
x.スライス/タイル・グループ・タイプおよび/またはピクチャー・タイプ
g.一例では、Nはデコーダに信号伝達されてもよい。
a.一例では、エスケープ値に適用される最低のQpは、min_qp_prime_ts_minus4と等しくてもよい。
b.一例では、エスケープ値に適用される最低のQpは、min_qp_prime_ts_minus4に関係してもよい。
i.一例では、エスケープ値に適用される最低のQpは、min_qp_prime_ts_minus4+4と等しくてもよい。
c.一例では、各色成分についての最低のQpは、SPS/PPS/VPD/DPS/タイル/スライス・ヘッダにおいて示されてもよい。
d.一例では、エスケープ値に適用される最低のQpは、(bd-ibd)*6+4であってもよい。ここで、bdは、内部ビット深さであり、ibdは、ある色成分についての入力ビット深さを示す。
e.一例では、上記の諸例は、ある色成分に適用されてもよい。
a.一例では、パレット・インデックスは、参照インデックス(たとえば、adjustedRefPaletteIndex)の可能性を排除することなく、直接的に信号伝達されてもよい。
i.あるいはまた、一例では、エンコーダは、参照インデックスが常に現在インデックスと異なることを可能にするように制約されてもよい。そのような場合、パレット・インデックスは、参照インデックスの可能性を排除することによって、信号伝達されてもよい。
b.一例では、パレット・インデックスのバイナリ化は、バイナリ化入力パラメータとして最大パレット・インデックスを用いることを伴う打ち切りされたバイナリ(TB)であってもよい。
c.一例では、パレット・インデックスのバイナリ化は固定長であってもよい。
d.一例では、パレット・インデックスのバイナリ化は、K次のEGであってもよい。
i.一例では、Kは整数(たとえば、1、2または3)であってもよく、以下に依存してもよい
1.SPS/VPS/PPS/ピクチャー・ヘッダ/スライス・ヘッダ/タイル・グループ・ヘッダ/LCU行/LCUのグループ/ブリックにおいて信号伝達されるメッセージ
2.内部ビット深さ
3.入力ビット深さ
4.内部ビット深さと入力深さの差
5.現在ブロックのブロック寸法
6.現在ブロックの現在の量子化パラメータ
7.カラー・フォーマットの指示(4:2:0、4:4:4、RGB、またはYUVなど)
8.符号化構造(単一ツリーまたはデュアル・ツリーなど)
9.色成分(ルーマ成分および/またはクロマ成分など)
e.一例では、上記の諸例は、現在のブロックが少なくとも、1つのエスケープ・サンプルを有する場合にのみ適用されうる。
a.一例では、以前の諸パレット・インデックスを使用するかどうか、および/または、どのように使用するかは、現在のブロックにおいてエスケープ・サンプル(単数または複数)があるかどうかに依存してもよい。
a.一例では、エスケープ・シンボルが適用され、パレット・インデックスがエスケープ・シンボルについてのインデックスと等しくない場合、それらのシンボルをエスケープ・シンボルとしてデコードすることは許されなくてもよい。
a.一例では、エスケープ・シンボルが適用され、パレット・インデックスがエスケープ・シンボルについてのインデックスと等しい場合、それらのシンボルを非エスケープ・シンボルとしてデコードすることは許されなくてもよい。
a.一例では、パレット・インデックスがMaxPaletteIndexより大きい場合、MaxPaletteIndexと等しくなるように修正されてもよい。
a.一例では、エスケープ・シンボルが適用されず、パレット・インデックスがMaxPaletteIndexより大きい場合、MaxPaletteIndexと等しくなるように修正されてもよい。
b.一例では、エスケープ・シンボルが適用され、パレット・インデックスが(MaxPaletteIndex-1)より大きい場合、(MaxPaletteIndex-1)と等しくなるように修正されてもよい。
a.一例では、インデックスがMaxPaletteIndexと等しいことは、現在のブロックにエスケープ・シンボルが存在する場合、常に、エスケープ・シンボルを示してもよい。
b.一例では、MaxPaletteIndexと等しくないインデックスは、エスケープ・シンボルを示すインデックスとしてデコードされることはできない。
a.一例では、0に等しい差は、符号化されることが許されなくてもよい。
b.あるいはまた、パレット符号化されたブロック内の最初のインデックスについて、インデックスは直接符号化されてもよい。
a.一例では、I=Modulo(C-R,MaxPaletteIndex)が符号化されてもよい。
i.一例では、インデックスは、Modulo(I+R,MaxPaletteIndex)として再構成されてもよい。
ii.一例では、0に等しいModulo(C-R,MaxPaletteIndex)は、ビットストリームにおいて許されなくてもよい。
iii.一例では、cMax=MaxPaletteIndexである打ち切りされたバイナリ符号が、前記値を符号化するために使用されてもよい。
iv.あるいはまた、パレット符号化されたブロック内の最初のインデックスについては、インデックスは直接符号化されてもよい。
b.一例では、I=Modulo(C-R,MaxPaletteIndex)-1が符号化されてもよい。
i.一例では、インデックスは、Modulo(I+1+R,MaxPaletteIndex)として再構成されてもよい。
ii.一例では、0より小さいModulo(C-R,MaxPaletteIndex)-1は、ビットストリームにおいて許されなくてもよい。
iii.一例では、cMax=(MaxPaletteIndex-1)である打ち切りされたバイナリ符号が、値Iを符号化するために使用されてもよい。
iv.あるいはまた、パレット符号化されたブロック内の最初のインデックスについて、Modulo(C-R,MaxPaletteIndex)が符号化されてもよい。
v.あるいはまた、パレット符号化されたブロック内の最初のインデックスについては、インデックスは直接符号化されてもよい。
a.あるいはまた、参照インデックスRは0に等しく設定されてもよい。
a.一例では、パレット・モードが有効にされている場合、ローカル・デュアル・ツリーは許容されなくてもよい。
i.あるいはまた、一例では、ローカル・デュアル・ツリーが有効にされている場合、パレット・モードは許容されなくてもよい。
b.一例では、ローカル・デュアル・ツリーは、4:4:4のような特定のカラー・フォーマットでは有効にされない。
c.一例では、パレット・モードは、符号化ツリーがMODE_TYPE_INTRAの場合には、許されなくてもよい。
d.ローカル・デュアル・ツリーの使用に基づいてパレット予測子をリセットすることが提案される。
i.一例では、パレット予測子は、単一ツリーがローカル・デュアル・ツリーに切り換えられるときにリセットされてもよい。
ii.一例では、パレット予測子は、ローカル・デュアル・ツリーが単一ツリーに切り換えられるときにリセットされてもよい。
iii.あるいはまた、さらに、パレット予測子における諸項目の使用(たとえば、palette_predictor_run)を信号伝達するかどうかは、ツリー・タイプに依存してもよい。
1.一例では、ローカル・デュアル・ツリーと単一ツリーとの間の切り換えに出会うとき、パレット予測子における諸項目の使用(たとえば、palette_predictor_run)の信号伝達は省略される。
a.一例では、パレット予測テーブルは、ローカル・デュアル・ツリーが適用される場合にリセットされてもよい。
i.あるいはまた、一例では、デコーダは、ローカル・デュアル・ツリーが適用されるときに、予測テーブル内のすべてのパレット項目をチェックし、反復される項目を除去してもよい。
ii.あるいはまた、一例では、デコーダは、ローカル・デュアル・ツリーが適用されるときに、予測テーブル内の部分的なパレット項目をチェックし、反復された項目を除去してもよい。
iii.一例では、パレット項目をチェックする際に、フル剪定(full pruning)または部分剪定(partial pruning)が適用されてもよい。
1.一例では、選択された項目の集合がチェックされてもよい(たとえば、該集合は、パレット予測子における全部のパレット項目または部分的なパレット項目を含む)。
a)一例では、フル剪定または部分剪定は、選択された項目に対して適用されてもよい。
2.一例では、フル剪定は、1つの項目が、追加されうるすべての項目と比較されることを表してもよい。
3.一例では、部分剪定は、1つの項目が、追加されうる部分的な項目と比較されることを表してもよい。
iv.一例では、2つのパレット項目が同じであるかどうかは、それらのルーマ成分値が同じであるかどうかだけに基づいていてもよい。
1.あるいはまた、一例では、2つのパレット項目が同じであるかどうかは、それらのクロマ成分値が同じであるかどうかのみに基づいていてもよい。
2.あるいはまた、一例では、2つのパレット項目が同じであるかどうかは、それらのルーマとクロマ成分値の両方が同じであるかどうかに基づいていてもよい。
v.一例では、上記の方法は、ローカル・デュアル・ツリーがルーマ成分を処理し始めるときにのみ、ルーマ・ブロックに対して適用されてもよい。
1.あるいはまた、一例では、上記の方法は、ローカル・デュアル・ツリーがクロマ成分を処理し始めるときにのみ、クロマ・ブロックに適用されてもよい。
vi.あるいはまた、一例では、エンコーダは、項目の3つの成分が異なる場合に、2つのパレット項目を異なると考える制約条件を追加してもよい。
a.一例では、パレット予測テーブル内のすべての項目についての再利用フラグ(reused flag)が真であるとマークされることがありうるが、現在のパレット項目が予測とは異なる数の色成分を有する場合には、現在のブロックについては使用されなくてもよい。
b.一例では、パレット予測テーブル内のすべての項目についての再利用フラグは、現在のパレット項目が予測とは異なる数の色成分を有する場合には、偽としてマークされてもよい。
a.一例では、パレット予測テーブル内のすべての項目についての再利用フラグが真であるとマークされることがありうるが、予測テーブルと現在のパレット・テーブルが異なる色成分を有する場合には、現在のブロックについては使用されなくてもよい。
b.一例では、パレット予測テーブル内のすべての項目についての再利用フラグは、予測テーブルと現在のパレット・テーブルが異なる色成分を有する場合には、偽としてマークされてもよい。
a.一例では、ある成分のエスケープ・シンボルは、同じ色成分における符号化された値によって予測されてもよい。
i.一例では、エスケープ・シンボルは、同じ成分における前に符号化されたあるエスケープ・シンボルを予測子として使用してもよく、それらの間の残差が信号伝達されてもよい。
ii.代替的に、エスケープ・シンボルは、同じ成分における前に符号化されたK番目のエスケープ・シンボルを予測子として使用してもよく、それらの間の残差が信号伝達されてもよい。
iii.あるいはまた、エスケープ・シンボルは、同じ成分における複数の(たとえば、K個の)符号化されたエスケープ・シンボルから予測されてもよい。
1.一例では、Kは整数(たとえば、1、2または3)であってもよく、以下に依存してもよい
a)SPS/VPS/PPS/ピクチャー・ヘッダ/スライス・ヘッダ/タイル・グループ・ヘッダ/LCU行/LCUのグループ/ブリックにおいて信号伝達されるメッセージ
b)内部ビット深さ
c)入力ビット深さ
d)内部ビット深さと入力深さの差
e)現在ブロックのブロック寸法
f)現在ブロックの現在の量子化パラメータ
g)カラー・フォーマットの指示(4:2:0、4:4:4、RGB、またはYUVなど)
h)符号化構造(単一ツリーまたはデュアル・ツリーなど)
i)色成分(ルーマ成分および/またはクロマ成分など)
b.一例では、ある成分のエスケープ・シンボルは、別の成分の符号化された値によって予測されてもよい。
c.一例では、ピクセルは複数の色成分を有してもよく、ピクセルがエスケープ・シンボルとして扱われる場合、ある成分の値は、他の成分のサンプルの値によって予測されてもよい。
i.一例では、エスケープ・シンボルのU成分が、そのシンボルのV成分によって予測されてもよい。
d.一例では、上記の諸方法は、ある色成分に対して(たとえば、ルーマ成分またはクロマ成分に対して)、または符号化された情報などに基づくある種の条件のもとで適用されるだけであってもよい。
a.一例では、無損失符号ブロックの場合および/またはQPが閾値以下である場合および/または変換スキップが適用される場合、ブロックのパレット・サイズはブロック寸法と等しいと推定される。
i.あるいはまた、無損失符号ブロックの場合および/またはQPが閾値以下である場合、ブロックのパレット・サイズはmin(ブロック寸法,最大パレット・サイズ)に等しいと推定される。
b.ブロック内のエスケープ・サンプルの使用を信号伝達するかどうかは、ブロック寸法および/または無損失符号化モードの使用(たとえば、QPが所与の値(たとえば4)に等しいか否か;および/またはtransform_skip_flagが1に等しいか;またはtransquant_bypass_flagがtrueに等しいか否か)および/またはQPに依存してもよい。
i.あるいはまた、さらに、エスケープ・サンプルの使用を信号伝達するかどうかは、現在のブロックのブロック寸法と現在のパレット・サイズとの間の関係に依存してもよい。
1.一例では、それを信号伝達するかどうかは、ブロック寸法が現在のパレット・サイズに等しいかどうかに依存してもよい。
a)あるいはまた、さらに、ブロック寸法が現在のパレット・サイズに等しい場合、それは信号伝達されず、偽であると推定される。
2.あるいはまた、それを信号伝達するかどうかは、ブロック寸法が現在のパレット・サイズより小さくないかどうかに依存してもよい。
a)あるいはまた、さらに、ブロック寸法が現在のパレット・サイズよりも小さくない場合、それは信号伝達されず、偽であると推定される。
ii.あるいはまた、さらに、エスケープ・サンプルの使用を信号伝達するかどうかは、ブロック寸法、パレットの最大サイズ、および/または無損失モードの間の関係に依存してもよい。
1.一例では、あるブロックが無損失モードで符号化され、かつブロック寸法がパレットの最大サイズより小さい場合、エスケープ・サンプルの使用の信号伝達は省略されてもよく、それは偽であると推定される。
2.一例では、あるブロックが閾値より大きくないQPで符号化され、かつブロック寸法がパレットの最大サイズより小さい場合、エスケープ・サンプルの使用の信号伝達は省略されてもよく、それは偽であると推定される。
iii.エスケープ・サンプルの使用の指示(たとえば、palette_escape_val_present_flag)は、ある種の条件下では推定されてもよい。
1.一例では、現在のブロック・サイズが最大許容されるパレット・サイズ(たとえば、palette_max_size)以下である場合、エスケープ・サンプルの使用の指示は偽に推定されてもよい。
a)あるいはまた、一例では、現在のブロック・サイズが最大許容されるパレット・サイズより大きい場合、エスケープ・サンプルの使用の指示が信号伝達されてもよい。
b)あるいはまた、一例では、現在のブロック・サイズが最大許容されるパレット・サイズより大きい場合、エスケープ・サンプルの使用の指示は偽に推定されてもよい。
2.一例では、上記の諸方法は、無損失符号化条件の下で適用されうる。
3.一例では、上記の諸方法は、無損失符号化されるCUに適用されうる。
4.一例では、現在のブロック・サイズが現在のブロックのパレット・サイズ以下である場合、エスケープ・サンプルの使用の指示は偽に推定されてもよい。
5.一例では、エスケープ・サンプルの使用フラグが推定されるとき、対応する構文要素、たとえばpalette_escape_val_present_flagはビットストリームにおいてスキップされてもよい。
a.一例では、デコーダでのインデックス調整プロセス(セクション2.1.3において述べた)の後のパレット・インデックスが、長さ要素のプレフィックス(たとえば、palette_run_prefix)のためのコンテキストを導出するために用いられてもよい。
b.あるいはまた、一例では、項目13で定義されたIは、長さ要素のプレフィックス(たとえば、palette_run_prefix)のためのコンテキストを導出するために、パレット・インデックスを置き換えてもよい。
a.量子化パラメータのための導出プロセスで使用される左近傍ブロックおよび/または上近傍ブロックの位置は、マージ/AMVP候補リスト導出プロセスにおいて使用される位置と整列されてもよい。
b.一例では、量子化パラメータのための導出プロセスにおいて使用される近傍左ブロックおよび/または上ブロックの位置は、図8に示される左/上の隣接ブロックであってもよい。
a.一例では、ブロック・レベルのQP差を送信するかどうか、および/またはどのように送信するかは、パレット以外のモードで符号化されたブロックに従うことができる。
b.一例では、ブロック・レベルのQP差は、あるパレット・ブロックについて常に送信されないのでもよい。
c.一例では、ブロック幅が閾値よりも大きい場合、ブロック・レベルのQP差がパレット・ブロックについて送信されてもよい。
d.一例では、ブロック高さが閾値よりも大きい場合、ブロック・レベルのQP差がパレット・ブロックについて送信されてもよい。
e.一例では、ブロック・サイズが閾値より大きい場合、ブロック・レベルのQP差がパレット・ブロックについて送信されてもよい。
f.一例では、上記の諸例はルーマ・ブロックまたはクロマ・ブロックにのみ適用されうる。
a.一例では、パレット・ブロックについてのCBFは、常に1に等しく設定されてもよい。
b.パレット・ブロックについてのCBFのうちの一つまたは複数は、エスケープ・ピクセルが現在のブロックに存在するかどうかに依存してもよい。
i.一例では、パレット・ブロックがエスケープ・サンプルを有する場合、そのcbfを1に設定されてもよい。
ii.あるいはまた、パレット・ブロックがエスケープ・サンプルを有しない場合、そのcbfは0に設定されてもよい。
c.あるいはまた、近傍のパレット符号化されたブロックにアクセスするとき、それは、1に等しいCBFを有するイントラ符号化されたブロックとして扱われてもよい。
a.一例では、ルーマおよび/またはクロマQPオフセットが0に設定されてもよい。
b.一例では、CbとCrについてのクロマQPオフセットが異なっていてもよい。
c.一例では、ルーマQPオフセットとクロマQPオフセットは異なっていてもよい。
d.一例では、クロマQPオフセット(単数または複数)がDPS/VPS/SPS/PPS/スライス/ブリック/タイル・ヘッダにおいて示されてもよい。
a.一例では、Kは、現在のパレット・サイズ、エスケープ・フラグ、および/またはパレット符号化されたブロックの他の情報に基づいて決定されてもよい。Sを現在のブロックの現在のパレット・サイズ、Eをエスケープ存在フラグ(たとえば、palette_escape_val_present_flag)の値とする。BlkSを現在のブロック・サイズとする。
i.一例では、KはSに等しく設定されてもよい。
ii.あるいはまた、一例では、Kは、S+Eに等しく設定されてもよい。
iii.あるいはまた、一例では、Kは(予測されたパレット項目の数+信号伝達されたパレット項目の数+palette_escape_val_present_flag)(たとえば、NumPredictedPaletteEntries+num_signalled_palette_entries+palette_escape_val_present_flag)に等しく設定されてもよい。
iv.あるいはまた、一例では、Kは、(パレット・インデックスの最大値(たとえば、MaxPaletteIndex)+1)に等しく設定されてもよい。
v.あるいはまた、一例では、Kはデコーダに信号伝達されてもよい。
i.一例では、Kは固定された整数値であってもよい。
ii.一例では、Kは整数であり、以下に基づいて決定されてもよい
1.以前に符号化されたブロック/現在のブロックのデコードされた情報
2.現在ブロック/近傍(隣接または非隣接)ブロックの量子化パラメータ
3.ビデオ・コンテンツ(たとえば、スクリーン・コンテンツまたは自然コンテンツ)
4.DPS/SPS/VPS/PPS/APS/ピクチャー・ヘッダ/スライス・ヘッダ/タイル・グループ・ヘッダ/最大符号化単位(Largest coding unit、LCU)/符号化単位(CU)/LCU行/LCUのグループ/TU/PUブロック/ビデオ符号化単位において信号伝達されるメッセージ
5.CU/PU/TU/ブロック/ビデオ符号化単位の位置
6.現在ブロックおよび/またはその近傍ブロックのブロック寸法
7.現在ブロックおよび/またはその近傍ブロックのブロック形状
8.カラー・フォーマットの指示(4:2:0、4:4:4、RGB、またはYUVなど)
9.符号化ツリー構造(デュアル・ツリーまたは単一ツリーなど)
10.スライス/タイル・グループ・タイプおよび/またはピクチャー・タイプ
11.色成分(たとえば、ルーマ成分および/またはクロマ成分に対してのみ適用されうる)
12.時間的レイヤーID
13.規格のプロファイル/レベル/層(Tier)
b.一例では、num_palette_indices_minus1の代わりに(NumPltIdx-K)が信号伝達/パースされてもよい。
i.あるいはまた、さらに、それは、(S+E)が1より小さくない場合にのみ、信号伝達されてもよい。
ii.一例では、(NumPltIdx-K)の値は、バイナリ化されたビン・ストリングがプレフィックス(たとえば、打ち切りされた単進(truncated unary))および/または第m EG符号をもつサフィックスを有していてもよいというバイナリ化方法で信号伝達されてもよい。
iii.一例では、(NumPltIdx-K)の値は、打ち切りされたバイナリ・バイナリ化法(truncated binary binarization method)で信号伝達されてもよい。
iv.一例では、(NumPltIdx-K)の値は、打ち切りされた単進バイナリ化法(truncated unary binarization method)で信号伝達されてもよい。
v.一例では、(NumPltIdx-K)の値は、第m EGバイナリ化法(m-th EG binarization method)で信号伝達されてもよい。
vi.一例では、BlkS-Kの値は、打ち切りされた単進/打ち切りされたバイナリ・バイナリ化方法に対する最大値として使用されるなど、上記の諸バイナリ化方法における入力パラメータ(たとえば、cMax)として使用されてもよい。
c.一例では、適合ビットストリームは、NumPltIdxがK以上であることを満たす。
d.一例では、適合ビットストリームは、NumPltIdxがK'以下であることを満たす。
i.一例では、K'は(ブロック幅*ブロック高さ)に設定される。
ii.一例では、K'は(ブロック幅*ブロック高さ-K)に設定される。
a.ビデオ・コンテンツ(たとえば、スクリーン・コンテンツまたは自然コンテンツ)
b.DPS/SPS/VPS/PPS/APS/ピクチャー・ヘッダ/スライス・ヘッダ/タイル・グループ・ヘッダ/最大符号化単位(Largest coding unit、LCU)/符号化単位(CU)/LCU行/LCUのグループ/TU/PUブロック/ビデオ符号化単位において信号伝達されるメッセージ
c.CU/PU/TU/ブロック/ビデオ符号化単位の位置
d.現在ブロックおよび/またはその近傍ブロックのブロック寸法
e.現在ブロックおよび/またはその近傍ブロックのブロック形状
f.カラー・フォーマットの指示(4:2:0、4:4:4、RGB、またはYUVなど)
g.符号化ツリー構造(デュアル・ツリーまたは単一ツリーなど)
h.スライス/タイル・グループ・タイプおよび/またはピクチャー・タイプ
i.色成分(たとえば、ルーマ成分および/またはクロマ成分に対してのみ適用されうる)
j.時間的レイヤーID
k.規格のプロファイル/レベル/層(Tier)
l.現在のブロックが1つのエスケープ・サンプルをもつか否か
i.一例では、上記の諸方法は、現在のブロックが少なくとも、1つのエスケープ・サンプルを有する場合にのみ適用されうる。
m.現在のブロックが無損失モードで符号化されるか否か(たとえば、cu_transquant_bypass_flag)
i.一例では、上記の諸方法は、現在のブロックが無損失モードで符号化されない場合にのみ適用されうる。
n.無損失符号化が有効にされているか否か(たとえば、transquant_bypass_enabled、cu_transquant_bypass_flag)
i.一例では、上記の諸方法は、無損失符号化が無効にされている場合にのみ適用されうる。
34.これらがエスケープ・サンプルであるかどうかは、各CGについて示されてもよい。
a.一例では、各CGについて、構文要素、たとえばpalette_escape_val_present_flagが、エスケープ・サンプルが存在するか否かを示すためにビットストリームにおいて送られてもよい。
i.一例では、palette_escape_val_present_flagは、CGサイズ、現在のブロック中のデコードされたサンプルの数、および/または現在のブロックのパレット・サイズに基づいて推定される、または信号伝達されるのでもよい。
b.一例では、現在のCGについて、エスケープ・サンプルが存在しない場合、インデックス調整が適用されてもよい。
c.一例では、現在のCGについて、エスケープ・サンプルが存在する場合、インデックス調整は適用されるべきではない。
d.あるいはまた、上記の諸方法は、現在のブロックがエスケープ・サンプルを含む場合にのみ適用されうる。
e.あるいはまた、一例では、上のインデックスをコピーの使用の指示(たとえば、copy_above_palette_indices_flag)は、いかなるコンテキストも使用することなくバイパス符号化されてもよい。
i.一例では、上のインデックスをコピーの使用の指示(たとえば、copy_above_palette_indices_flag)および現在のセグメントにおけるコピー・フラグ(たとえば、run_copy_flag)は、インターリーブされて信号伝達されてもよい。
f.一例では、上のインデックスをコピーの使用の指示(たとえば、copy_above_palette_indices_flag)は、現在のセグメントにおけるすべてのコピー・フラグ(たとえば、run_copy_flag)の後に符号化されてもよい。
g.一例では、上のインデックスをコピーの使用の指示(たとえば、copy_above_palette_indices_flag)および信号伝達されるインデックスは、インターリーブされて符号化されてもよい。
h.上記の諸方法は、他のパレット・ベースの符号化モードにも適用されうる。
i.一例では、第1のコピー・フラグ、ラン・タイプ、上のインデックスをコピーの使用の指示、およびエスケープ値が順に符号化されてもよく;続いて第2のコピー・フラグ、ラン・タイプ、上のインデックスをコピーの使用の指示、およびエスケープ値が符号化されてもよい。
j.あるいはまた、さらに、所与のCGについて、上記の方法が適用されてもよい。
k.一例では、Thは、ライン・ベースのCGパレット・モードにおけるセグメントのサンプル数に等しい。
l.一例では、Thは固定した数(たとえば16)であり、以下に基づいてもよい
i.ビデオ・コンテンツ(たとえば、スクリーン・コンテンツまたは自然コンテンツ)
ii.DPS/SPS/VPS/PPS/APS/ピクチャー・ヘッダ/スライス・ヘッダ/タイル・グループ・ヘッダ/最大符号化単位(Largest coding unit、LCU)/符号化単位(CU)/LCU行/LCUのグループ/TU/PUブロック/ビデオ符号化単位において信号伝達されるメッセージ
iii.CU/PU/TU/ブロック/ビデオ符号化単位の位置
iv.現在ブロックおよび/またはその近傍ブロックのブロック寸法
v.現在ブロックおよび/またはその近傍ブロックのブロック形状
vi.カラー・フォーマットの指示(4:2:0、4:4:4、RGB、またはYUVなど)
vii.符号化ツリー構造(デュアル・ツリーまたは単一ツリーなど)
viii.スライス/タイル・グループ・タイプおよび/またはピクチャー・タイプ
ix.色成分(たとえば、ルーマ成分および/またはクロマ成分に対してのみ適用されうる)
x.時間的レイヤーID
xi.規格のプロファイル/レベル/層(Tier)
xii.現在のブロックの量子化パラメータ
xiii.現在のブロックが1つのエスケープ・サンプルをもつか否か
xiv.無損失符号化が有効にされているか否か(たとえば、transquant_bypass_enabled、cu_transquant_bypass_flag)
38.1つのブロックがBDPCMで符号化され、それが複数の変換ブロックまたはサブブロックに分割される場合、残差予測はブロック・レベルで行われてもよく、残差の信号伝達はサブブロック/変換ブロック・レベルで行われる。
a.あるいはまた、さらに、あるサブブロックの再構成は、別のサブブロックの再構成プロセスにおいては許可されない。
b.あるいはまた、残差予測および残差の信号伝達は、サブブロック/変換ブロック・レベルで行われる。
i.このようにして、あるサブブロックの再構成は、別のサブブロックの再構成プロセスにおいて利用されうる。
39.所与のインデックスについて、joint_cb_crモードについてのクロマQPテーブルの値は、CbについてのクロマQPテーブルの値とCrについてのクロマQPテーブルの値の両方によって制約されうる。
c.一例では、joint_cb_crモードについてのクロマQPテーブルの値の値は、CbについてのクロマQPテーブルの値とCrについてのクロマQPテーブルの値との間(両端含む)に制約されうる。
40.ブロッキング解除におけるMVの比較は、代替的な半画素補間フィルタが使用されるかどうか(たとえば、JVET-O2001-vE仕様におけるhpelIfIdxによって示される)に依存してもよい。
d.一例では、異なる補間フィルタを使用するブロックは、異なるMVを有するものとして扱われてもよい。
e.一例では、代替的な半画素補間フィルタが関与する場合、ブロッキング解除比較のためにMV差に一定のオフセットが加算されてもよい。
41.上記の諸方法を適用するかどうか、および/または、どのように適用するかは下記に基づいていてもよい:
a.ビデオ・コンテンツ(たとえば、スクリーン・コンテンツまたは自然コンテンツ)
b.DPS/SPS/VPS/PPS/APS/ピクチャー・ヘッダ/スライス・ヘッダ/タイル・グループ・ヘッダ/最大符号化単位(Largest coding unit、LCU)/符号化単位(CU)/LCU行/LCUのグループ/TU/PUブロック/ビデオ符号化単位において信号伝達されるメッセージ
c.CU/PU/TU/ブロック/ビデオ符号化単位の位置
d.現在ブロックおよび/またはその近傍ブロックのブロック寸法
e.現在ブロックおよび/またはその近傍ブロックのブロック形状
f.現在ブロックの量子化パラメータ
g.カラー・フォーマットの指示(4:2:0、4:4:4、RGB、またはYUVなど)
h.符号化ツリー構造(デュアル・ツリーまたは単一ツリーなど)
i.スライス/タイル・グループ・タイプおよび/またはピクチャー・タイプ
j.色成分(たとえば、ルーマ成分および/またはクロマ成分に対してのみ適用されうる)
k.時間的レイヤーID
l.規格のプロファイル/レベル/層(Tier)
m.現在のブロックが1つのエスケープ・サンプルをもつか否か
i.一例では、上記の諸方法は、現在のブロックが少なくとも、1つのエスケープ・サンプルを有する場合にのみ適用されうる。
n.現在のブロックが無損失モードで符号化されるか否か(たとえば、cu_transquant_bypass_flag)
ii.一例では、上記の諸方法は、現在のブロックが無損失モードで符号化されない場合にのみ適用されうる。
o.無損失符号化が有効にされているか否か(たとえば、transquant_bypass_enabled、cu_transquant_bypass_flag)
実施形態は、JVET-O2001-vEに基づく。新しく追加されたテキストは、二重括弧で囲まれる。たとえば、{{a}}は、"a"が追加されたことを示す。削除されるテキストは、二重ブラケットで囲まれる。たとえば、[[b]]は、"b"が削除されることを示す。
パレット・モードについてのデコード・プロセス
このプロセスへの入力は以下の通り:
・現在のピクチャーの左上のルーマ・サンプルに対して現在のブロックの左上のルーマ・サンプルを指定する位置(xCb,yCb)
・パレット・テーブルにおける最初の色成分を指定する変数startComp
・現在のブロックの色成分を指定する変数cIdx、
・現在のブロックの幅と高さをそれぞれ指定する2つの変数nCbWとnCbH
このプロセスの出力は、ブロックについての再構成されたサンプル値を指定する配列recSamples[x][y]であり、x=0..nCbW-1、y=0..nCbH-1
・cIdxが0に等しい場合、nSubWidthは1に設定され、nSubHeightは1に設定される。
・それ以外の場合、nSubWidthはSubWidthCに設定され、nSubHeightはSubHeightCに設定される。
・変数xLおよびyLは次のように導出される:
xL=palette_transpose_flag ? x*nSubHeight : x*nSubWidth (8-268)
yL=palette_transpose_flag ? y*nSubWidth : y*nSubHeight (8-269)
・変数bIsEscapeSampleは、次のように導出される:
・PaletteIndexMap[xCb+xL][yCb+yL]がMaxPaletteIndexに等しく、palette_escape_val_present_flagが1に等しい場合、bIsEscapeSampleは1に等しく設定される。
・それ以外の場合、bIsEscapeSampleは0に等しく設定される。
・bIsEscapeSampleが0に等しい場合、以下が適用される:
recSamples[x][y]=CurrentPaletteEntries[cIdx][PaletteIndexMap[xCb+xL][yCb+yL]] (8-270)
・それ以外の場合、cu_transquant_bypass_flagが1に等しい場合、以下が適用される:
recSamples[x][y]=PaletteEscapeVal[cIdx][xCb+xL][yCb+yL] (8-271)
・それ以外の場合(bIsEscapeSampleが1に等しく、cu_transquant_bypass_flagが0に等しい)、次の順序付けられたステップが適用される:
・cIdxが0に等しい場合、
qP=Max(0,Qp'Y) (8-272)
・それ以外で、cIdxが1に等しい場合、
qP=Max(0,Qp'Cb) (8-273)
・それ以外の場合(cIdxが2に等しい)、
qP=Max(0,Qp'Cr) (8-274)
2.変数bitDepthは次のように導出される:
bitDepth=(cIdx==0) ? BitDepthY : BitDepthC (8-275)
3.[[リストlevelScale[]はlevelScale[k]={40,45,51,57,64,72}として指定される。ここで、k=0..5]]
4.下記が適用される:
[[tmpVal=(PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]*levelScale[qP%6])<<(qP/6)+32)>>6 (8-276)]]
{{Tは、成分cIdxについて(internal_bit_depth-input_bit_depth)〔内部ビット深さ-入力ビット深さ〕に等しく設定される。
Nbits=max(T,(qP-4)/6)
・NbitsがTに等しい場合、
recSamples[x][y]=PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]<<Nbits
・それ以外の場合、
recSamples[x][y]=(PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]<<Nbits)+(1<<(Nbits-1)}}
[[recSamples[x][y]=Clip3(0,(1<<bitDepth)-1,tmpVal) (8-277)]]
・cIdxが0に等しく、numCompsが1に等しい;
・cIdxが2に等しい
のいずれかが真である場合、
変数PredictorPaletteSize[startComp]と配列PredictorPaletteEntriesは次のように導出または修正される:
この実施形態は、パレット・インデックス導出を記載する。
パレット符号化のセマンティクス
[[変数adjustedRefPaletteIndex]は次のように導出される:
if(CurrPaletteIndex>=adjustedRefPaletteIndex)
CurrPaletteIndex++]]
このプロセスへの入力は、構文要素palette_idx_idcについてのバイナリ化の要求と変数MaxPaletteIndexである。
このプロセスの出力は、前記構文要素のバイナリ化である。
変数cMaxは次のように導出される:
・[[このプロセスが現在のブロックについて初めて呼び出される場合、]]cMaxはMaxPaletteIndexに等しく設定される。
・[[それ以外の場合(このプロセスが現在のブロックについて初めて呼び出されたのでない)、cMaxはMaxPaletteIndexから1を引いたものに等しく設定される。]]
palette_idx_idcについてのバイナリ化は、cMaxで節9.3.3.4で規定されているTBバイナリ化プロセスを呼び出すことによって導出される。
このプロセスへの入力は以下の通り:
・現在のピクチャーの左上のルーマ・サンプルに対して現在のブロックの左上のルーマ・サンプルを指定する位置(xCb,yCb)
・パレット・テーブルにおける最初の色成分を指定する変数startComp
・現在のブロックの色成分を指定する変数cIdx、
・現在のブロックの幅と高さをそれぞれ指定する2つの変数nCbWとnCbH
このプロセスの出力は、ブロックについての再構成されたサンプル値を指定する配列recSamples[x][y]であり、x=0..nCbW-1、y=0..nCbH-1
……
・それ以外の場合(bIsEscapeSampleが1に等しく、cu_transquant_bypass_flagが0に等しい)、次の順序付けられたステップが適用される:
・cIdxが0に等しい場合、
qP=Max(0,Qp'Y) (8-272)
・それ以外で、cIdxが1に等しい場合、
qP=Max(0,Qp'Cb) (8-273)
・それ以外の場合(cIdxが2に等しい)、
qP=Max(0,Qp'Cr) (8-274)
6.変数bitDepthは次のように導出される:
bitDepth=(cIdx==0) ? BitDepthY : BitDepthC (8-275)
3.[[リストlevelScale[]はlevelScale[k]={40,45,51,57,64,72}として指定される。ここで、k=0..5]]
4.下記が適用される:
[[tmpVal=(PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]*levelScale[qP%6])<<(qP/6)+32)>>6 (8-276)]]
{{shift=(max(QpPrimeTsMin,qP)-4)/6
tmpVal=(PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]<<shift)}}
recSamples[x][y]=Clip3(0,(1<<bitDepth)-1,tmpVal) (8-277)
copy_above_palette_indices_flagが1に等しいことは、パレット・インデックスが、水平横断走査が使用される場合は上の行における同じ位置、または垂直横断走査が使用される場合は左の列における同じ位置にあるパレット・インデックスに等しいことを指定する。copy_above_palette_indices_flagが0に等しいことは、サンプルのパレット・インデックスの指示がビットストリームにおいて符号化されるか、または推定されることを指定する。
……
変数adjustedRefPaletteIndexは次のように導出される:
if(CurrPaletteIndex>=adjustedRefPaletteIndex)
CurrPaletteIndex++ (7-158)
このプロセスへの入力は以下の通り:
・現在のピクチャーの左上のルーマ・サンプルに対して現在のブロックの左上のルーマ・サンプルを指定する位置(xCb,yCb)
・パレット・テーブルにおける最初の色成分を指定する変数startComp
・現在のブロックの色成分を指定する変数cIdx、
・現在のブロックの幅と高さをそれぞれ指定する2つの変数nCbWとnCbH
このプロセスの出力は、ブロックについての再構成されたサンプル値を指定する配列recSamples[x][y]であり、x=0..nCbW-1、y=0..nCbH-1
……
・それ以外の場合(bIsEscapeSampleが1に等しく、cu_transquant_bypass_flagが0に等しい)、次の順序付けられたステップが適用される:
・cIdxが0に等しい場合、
qP=Max(0,Qp'Y) (8-272)
・それ以外で、cIdxが1に等しい場合、
qP=Max(0,Qp'Cb) (8-273)
・それ以外の場合(cIdxが2に等しい)、
qP=Max(0,Qp'Cr) (8-274)
10.変数bitDepthは次のように導出される:
bitDepth=(cIdx==0) ? BitDepthY : BitDepthC (8-275)
11.[[リストlevelScale[]はlevelScale[k]={40,45,51,57,64,72}として指定される。ここで、k=0..5]]
12.下記が適用される:
[[tmpVal=(PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]*levelScale[qP%6])<<(qP/6)+32)>>6 (8-276)]]
{{shift=min(bitDepth-1,(max(QpPrimeTsMin,qP)-4)/6)
tmpVal=(PaletteEscapeVal[cIdx][xCb+xL][yCb+yL]<<shift)}}
recSamples[x][y]=Clip3(0,(1<<bitDepth)-1,tmpVal) (8-277)
この実施形態は、変換スキップのための変換シフトをスキップするための設計を示しており、JVET-O2001-vEに基づいている。
このプロセスへの入力は以下の通りである:
・現在のピクチャーの左上のルーマ・サンプルに対して現在のルーマ変換ブロックの左上のサンプルを指定するルーマ位置(xTbY,yTbY)
・現在のブロックの色成分を指定する変数cIdx
・変換ブロック幅を指定する変数nTbW
・変換ブロック高さを指定する変数nTbH。
このプロセスの出力は、x=0..nTbW-1、y=0..nTbH-1として、残差サンプルの(nTbW)×(nTbH)配列resSamples[x][y]である。
変数bitDepth、bdShiftおよびtsShiftは、次のように導出される:
bitDepth=(cIdx==0) ? BitDepthY : BitDepthC (8-942)
bdShift=Max(20-bitDepth,0) (8-943)
[[tsShift=5+((Log2(nTbW)+Log2(nTbH))/2) (8-944)
変数codedCIdxは次のように導出される:
・cIdxが0に等しい、またはTuCResMode[xTbY][yTbY]が0に等しい場合、codedCIdxはcIdxに等しく設定される。
・それ以外で、TuCResMode[xTbY][yTbY]が1または2に等しい場合、codedCIdxは1に等しく設定される。
・それ以外の場合、codedCIdxは2に等しく設定される。
変数cSignは(1-2*slice_joint_cbcr_sign_flag)に等しく設定される。
残差サンプルの(nTbW)×(nTbH)配列resSampleは以下のように導出される:
2.残差サンプルrの(nTbW)×(nTbH)配列は以下のように導出される:
・[[transform_skip_flag[xTbY][yTbY]が1に等しく、cIdxが0に等しい場合、x=0..nTbW-1、y=0..nTbH-1として、残差サンプル配列値r[x][y]は次のように導出される:
r[x][y]=d[x][y]<<tsShift (8-945)]]
・[[それ以外の場合(transform_skip_flag[xTbY][yTbY]が0に等しい、またはおよびcIdxが0に等しくない場合]]節8.7.4.1で規定されたスケーリングされた変換係数のための変換プロセスが、変換ブロック位置(xTbY,yTbY)、変換ブロック幅nTbWおよび変換ブロック高さnTbH、色成分変数cIdxならびにスケーリングされた変換係数dの(nTbW)×(nTbH)配列を入力として呼び出され、出力は、残差サンプルrの(nTbW)×(nTbH)配列である。
3.x=0..nTbW-1、y=0..nTbH-1として、中間残差サンプルres[x][y]は、次のように導出される:
・{{transform_skip_flag[xTbY][yTbY]が1に等しく、かつcIdxが0に等しい場合、次が適用される:
res[x][y]=d[x][y]}}
・{{それ以外の場合(transform_skip_flag[xTbY][yTbY]が0に等しい、またはおよびcIdxが0に等しくない)、次が適用される:}}
res[x][y]=(r[x][y]+(1<<(bdShift-1)))>>bdShift (8-946)
4.x=0..nTbW-1、y=0..nTbH-1として、残差サンプルresSamples[x][y]は次のように導出される:
・cIdxがcodedCIdxに等しい場合、次が適用される:
resSamples[x][y]=res[x][y] (8-947)
・それ以外で、TuCResMode[xTbY][yTbY]が2に等しい場合、次が適用される:
resSamples[x][y]=cSign*res[x][y] (8-948)
・それ以外の場合、次が適用される:
resSamples[x][y]=(cSign*res[x][y])>>1
……
変数rectNonTsFlagは次のように導出される:
rect[[NonTs]]Flag=(((Log2(nTbW)+Log2(nTbH))&1)==1[[&&]]
(8-955)
[[transform_skip_flag[xTbY][yTbY]=]]=0)
変数bdShift、rectNormおよびbdOffsetは次のように導出される:
・{{transform_skip_flag[xTbY][yTbY]が1に等しく、かつcIdxが0に等しい場合、次が適用される:
bdShift=10}}
・{{それ以外の場合、次が適用される:}}
bdShift=bitDepth+((rect[[NonTs]]Flag ? 1 : 0)+
(Log2(nTbW)+Log2(nTbH))/2)-5+dep_quant_enabled_flag (8-956)
dOffset=(1<<bdShift)>>1 (8-957)
リストlevelScale[][]は、levelScale[j][k]={{40,45,51,57,64,72},{57,64,72,80,90,102}として指定される。ここで、j=0..1、k=0..5。
(nTbW)×(nTbH)配列dzは、(nTbW)×(nTbH)配列TransCoeffLevel[xTbY][yTbY][cIdx]に等しく設定される。
x=0..nTbW-1、y=0..nTbH-1として、スケーリングされた変換係数d[x][y]の導出については、以下が適用される:
・中間スケーリング因子m[x][y]は以下のように導出される:
・次の条件のうちの一つまたは複数が真である場合、m[x][y]は16に等しく設定される:
・sps_scaling_list_enabled_flagが0に等しい。
・transform_skip_flag[xTbY][yTbY]が1に等しい。
・それ以外の場合、次が適用される:
m[x][y]=ScalingFactor[Log2(nTbW)][Log2(nTbH)][matrixId][x][y]
ここで、matrixIdはテーブル7において指定される (8-958)
・スケーリング因子ls[x][y]は次のように導出される:
・dep_quant_enabled_flagが1に等しい場合、次が適用される:
ls[x][y]=(m[x][y]*levelScale[rect[[NonTs]]Flag][(qP+1)%6])<<((qP+1)/6) (8-960)
・それ以外の場合(dep_quant_enabled_flagが0に等しい)、次が適用される:
ls[x][y]=(m[x][y]*levelScale[rect[[NonTs]]Flag][qP%6])<<(qP/6) (8-961)
・BdpcmFlag[xTbY][yYbY]が1に等しい場合、dz[x][y]は次のように修正される:
・BdpcmDir[xTbY][yYbY]が0に等しく、xが0より大きい場合、次が適用される:
dz[x][y]=Clip3(CoeffMin,CoeffMax,dz[x-1][y]+dz[x][y]) (8-961)
・それ以外で、BdpcmDir[xTbY][yYbY]が1に等しく、yが0より大きい場合、次が適用される:
dz[x][y]=Clip3(CoeffMin,CoeffMax,dz[x][y-1]+dz[x][y]) (8-962)
・値dnc[x][y]は次のように導出される:
dnc[x][y]=(dz[x][y]*ls[x][y]+bdOffset)>>bdShift (8-963)
・スケーリングされた変換係数d[x][y]は次のように導出される:
d[x][y]=Clip3(CoeffMin,CoeffMax,dnc[x][y]) (8-964)
この実施形態は、パレット・インデックスの数を信号伝達するための設計を示す。
{{NumPaletteIndicesは(num_palette_indices_diff+MaxPaletteIndex+1)に設定される。}}
num_palette_indices{{_diff}}[[_minus1]]が存在しない場合は、0に等しいと推定される。
{{num_palette_indices_diffの値は、0からcbWidth*cbHeight-(MaxPaletteIndex+1)(両端含む)の範囲とする。}}
copy_above_indices_for_final_run_flagが1に等しいことは、符号化単位における最後の諸位置のパレット・インデックスが、水平横断走査が使用される場合は上の行におけるパレット・インデックスから、垂直横断走査が使用される場合は左の列におけるパレット・インデックスからコピーされることを指定する。
copy_above_indices_for_final_run_flagが0に等しいことは、符号化単位における最後の諸位置のパレット・インデックスがPaletteIndexIdc[ [[num_palette_indices_minus1]]{{NumPaletteIndices-1}} ]からコピーされることを指定する。
このプロセスへの入力は、構文要素num_palette_indices{{_diff}}[[_minus1]]についてのバイナリ化の要求およびMaxPaletteIndexである。
このプロセスの出力は、前記構文要素のバイナリ化である。
変数cRiceParamは次のように導出される:
cRiceParam=3+((MaxPaletteIndex+1)>>3) (9-26)
変数cMaxは、cRiceParamから次のように導出される:
cMax=4<<cRiceParam (9-27)
構文要素num_palette_indices{{_diff}}[[_minus1]]のバイナリ化は、プレフィックスのビン・ストリングと(存在する場合は)サフィックスのビン・ストリングの連結である。
プレフィックス・ビン・ストリングの導出のためには、次が適用される:
・num_palette_indices{{_diff}}[[_minus1]]のプレフィックス値prefixValは次のように導出される:
prefixVal=Min(cMax,num_palette_indices{{_diff}}[[_minus1]]) (9-28)
・プレフィックス・ビン・ストリングは、prefixValについて節9.3.3.3で規定されるTRバイナリ化プロセスを、変数cMaxとcRiceParamを入力として呼び出すことによって指定される。
プレフィックス・ビン・ストリングが長さ4ですべてのビットが1に等しいビット・ストリングに等しい場合、サフィックス・ビン・ストリングが存在し、それは次のように導出される:
・num_palette_indices{{_diff}}[[_minus1]]のサフィックス値suffixValは次のように導出される:
suffixVal=num_palette_indices{{_diff}}[[_minus1]]-cMax (9-29)
・サフィックス・ビン・ストリングは、指数ゴロム次数kをcRiceParam+1に等しく設定して、suffixValのバイナリ化について節9.3.3.5で規定されたk次のEGkバイナリ化プロセスを呼び出すことによって指定される。
方法1400は、動作1420において、前記変換にローカル・デュアル・ツリー符号化が適用されることを決定することを含む。
方法1400は、動作1430において、前記決定に基づいて、前記パレット予測テーブルを修正することを含む。
方法1400は、動作1440において、前記修正の後の前記パレット予測テーブルに基づいて、前記変換を実行することを含む。いくつかの実施形態では、前記パレット・モード符号化ツールは、代表的な色値のパレットを使用して現在のビデオ・ブロックを表現し、前記ローカル・デュアル・ツリー符号化は、ブロック・サイズに基づいて、対応するルーマ・ブロックとは独立してクロマ・ブロックのパーティション分割を可能にする。
Claims (13)
- ビデオ・データを処理する方法であって:
ビデオの現在のルーマ・ブロックと、該ビデオのビットストリームとの間の変換のために、ある予測モードが現在のルーマ・ブロックのために適用されることを決定する段階であって、前記予測モードでは、再構成されたサンプルはパレット予測子、エスケープされたサンプルのうちの少なくとも1つによって表現される、段階と;
現在のルーマ・ブロックについて、パレット予測テーブルから導出される一つまたは複数のパレット予測子を含む現在のパレットを構築する段階と;
前記現在のパレットに基づいて前記変換を実行する段階と;
現在のルーマ・ブロックにローカル・デュアル・ツリーコーディングが適用されるという決定をする段階と;
前記決定に基づいて、前記パレット予測テーブルを修正する段階であって、該修正はリセット・プロセスを含む、段階とを含む、
方法。 - 前記ローカル・デュアル・ツリーコーディングは、クロマ親ブロックのサイズに基づいて、対応するルーマ親ブロックのパーティション分割を有効にし、前記クロマ親ブロックのパーティション分割を無効にするものであり、
前記ルーマ親ブロックは、再帰的パーティション動作を含むルーマ・パーティション方式に基づいてルーマコーディングツリー・ブロックから生成され、前記クロマ親ブロックは、前記ルーマ・パーティション方式と同じ再帰的パーティション動作を有するクロマ・パーティション方式に基づいてクロマコーディングツリー・ブロックから生成される、
請求項1に記載の方法。 - 前記リセット・プロセスが、前記パレット予測テーブルの項目を固定値にリセットすることを含む、請求項1または2に記載の方法。
- 前記エスケープされたサンプルは、クリップ関数と、前記エスケープされたサンプルの量子化された値とに基づいて再構成される、請求項1ないし3のうちいずれか一項に記載の方法。
- 再構成されたエスケープ・サンプルが、Clip3(0,(1<<BitDepth)-1,tmpVal)に基づいて決定され、
tmpValは、m<<((qP/6)+32)>>6に基づいて決定され、
qPは量子化パラメータを指定し、
mは前記エスケープされたサンプルの前記量子化された値に基づいて決定される、
請求項4に記載の方法。 - 前記qPは、Max(QpPrimeTsMin,Qp'Y)に基づいて決定され、
QpPrimeTsMinは、変換スキップ・モードのための最小の許容される量子化パラメータを表し、
Qp'Yは、ルーマ量子化パラメータを表す、
請求項5に記載の方法。 - QpPrimeTsMinは6*n+4として定義され、ここで、nは前記ビットストリームに含まれる第2の構文要素の値である、請求項6に記載の方法。
- 前記第2の構文要素は前記ビットストリームのシーケンス・レベルで含まれる、請求項7に記載の方法。
- 前記変換は、現在のルーマ・ブロックを前記ビットストリームにエンコードすることを含む、請求項1ないし8のうちいずれか一項に記載の方法。
- 前記変換は、現在のルーマ・ブロックを前記ビットストリームからデコードすることを含む、請求項1ないし8のうちいずれか一項に記載の方法。
- プロセッサおよび命令を有する非一時的なメモリを有する、ビデオ・データを処理する装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに:
ビデオの現在のルーマ・ブロックと、該ビデオのビットストリームとの間の変換のために、ある予測モードが現在のルーマ・ブロックのために適用されることを決定する段階であって、前記予測モードでは、再構成されたサンプルはパレット予測子、またはエスケープされたサンプルのうちの少なくとも1つによって表現される、段階と;
現在のルーマ・ブロックについて、パレット予測テーブルから導出される一つまたは複数のパレット予測子を含む現在のパレットを構築する段階と;
前記現在のパレットに基づいて前記変換を実行する段階と;
現在のルーマ・ブロックにローカル・デュアル・ツリーコーディングが適用されるという決定をする段階と;
前記決定に基づいて、前記パレット予測テーブルを修正する段階であって、該修正はリセット・プロセスを含む、段階とを実行させるものである、
装置。 - 命令を記憶している非一時的なコンピュータ読み取り可能な記憶媒体であって、前記命令は、プロセッサに:
ビデオの現在のルーマ・ブロックと、該ビデオのビットストリームとの間の変換のために、ある予測モードが現在のルーマ・ブロックのために適用されることを決定する段階であって、前記予測モードでは、再構成されたサンプルはパレット予測子、またはエスケープされたサンプルのうちの少なくとも1つによって表現される、段階と;
現在のルーマ・ブロックについて、パレット予測テーブルから導出される一つまたは複数のパレット予測子を含む現在のパレットを構築する段階と;
前記現在のパレットに基づいて前記変換を実行する段階と;
現在のルーマ・ブロックにローカル・デュアル・ツリーコーディングが適用されるという決定をする段階と;
前記決定に基づいて、前記パレット予測テーブルを修正する段階であって、該修正はリセット・プロセスを含む、段階とを実行させるものである、
記憶媒体。 - ビデオのビットストリームを記憶する方法であって、前記方法は:
ビデオの現在のルーマ・ブロックについて、ある予測モードが現在のルーマ・ブロックに適用されることを決定する段階であって、前記予測モードでは、再構成されたサンプルはパレット予測子、またはエスケープされたサンプルのうちの少なくとも1つによって表現される、段階と;
現在のルーマ・ブロックについて、パレット予測テーブルから導出される一つまたは複数のパレット予測子を含む現在のパレットを構築する段階と;
前記現在のパレットに基づいて前記ビットストリームを生成する段階と;
生成された前記ビットストリームを非一時的なコンピュータ読み取り可能な記録媒体に記憶する段階と;
現在のルーマ・ブロックにローカル・デュアル・ツリーコーディングが適用されるという決定をする段階と;
前記決定に基づいて、前記パレット予測テーブルを修正する段階であって、該修正はリセット・プロセスを含む、段階とを含む、
方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2024014907A JP2024054189A (ja) | 2019-08-15 | 2024-02-02 | 異なるパーティション構造をもつパレット・モード |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2019/100850 | 2019-08-15 | ||
CN2019100850 | 2019-08-15 | ||
CNPCT/CN2019/113931 | 2019-10-29 | ||
CN2019113931 | 2019-10-29 | ||
PCT/US2020/046574 WO2021030786A1 (en) | 2019-08-15 | 2020-08-15 | Palette mode with different partition structures |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2024014907A Division JP2024054189A (ja) | 2019-08-15 | 2024-02-02 | 異なるパーティション構造をもつパレット・モード |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022546235A JP2022546235A (ja) | 2022-11-04 |
JP7494289B2 true JP7494289B2 (ja) | 2024-06-03 |
Family
ID=74570791
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022509098A Active JP7494289B2 (ja) | 2019-08-15 | 2020-08-15 | 異なるパーティション構造をもつパレット・モード |
JP2024014907A Pending JP2024054189A (ja) | 2019-08-15 | 2024-02-02 | 異なるパーティション構造をもつパレット・モード |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2024014907A Pending JP2024054189A (ja) | 2019-08-15 | 2024-02-02 | 異なるパーティション構造をもつパレット・モード |
Country Status (6)
Country | Link |
---|---|
US (1) | US11528497B2 (ja) |
EP (1) | EP4000269A4 (ja) |
JP (2) | JP7494289B2 (ja) |
KR (1) | KR102705477B1 (ja) |
CN (1) | CN114223206A (ja) |
WO (1) | WO2021030786A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113475062A (zh) | 2019-02-24 | 2021-10-01 | 北京字节跳动网络技术有限公司 | 确定屏幕内容编解码的条件 |
JP7359936B2 (ja) * | 2019-07-20 | 2023-10-11 | 北京字節跳動網絡技術有限公司 | パレットモードの使用の指示の条件依存符号化 |
CN117221536A (zh) | 2019-07-23 | 2023-12-12 | 北京字节跳动网络技术有限公司 | 调色板模式编解码的模式确定 |
WO2021018167A1 (en) | 2019-07-29 | 2021-02-04 | Beijing Bytedance Network Technology Co., Ltd. | Palette mode coding in prediction process |
CN117395420A (zh) | 2019-08-15 | 2024-01-12 | 字节跳动有限公司 | 用于调色板逸出符号的熵编解码 |
US20220224890A1 (en) * | 2019-08-23 | 2022-07-14 | Hfi Innovation Inc. | Method and Apparatus of Partitioning Small Size Coding Units with Partition Constraints |
TWI751657B (zh) * | 2019-08-23 | 2022-01-01 | 聯發科技股份有限公司 | 具有分割限制條件之小尺寸編碼單元分割方法和裝置 |
BR112022005150A2 (pt) | 2019-09-19 | 2022-06-14 | Bytedance Inc | Método de processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador |
US11683489B2 (en) * | 2019-12-26 | 2023-06-20 | Qualcomm Incorporated | Monochrome palette mode for video coding |
EP4128797A4 (en) * | 2020-03-27 | 2023-09-13 | Beijing Dajia Internet Information Technology Co., Ltd. | METHODS AND APPARATUS FOR VIDEO CODING USING PALETTE MODE |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106067973B (zh) | 2010-05-19 | 2019-06-18 | Sk电信有限公司 | 视频解码设备 |
US20130272390A1 (en) | 2012-04-16 | 2013-10-17 | Qualcomm Incorporated | Uniform granularity for quantization matrix in video coding |
GB2501535A (en) | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
US9426466B2 (en) | 2012-06-22 | 2016-08-23 | Qualcomm Incorporated | Transform skip mode |
US9554146B2 (en) | 2012-09-21 | 2017-01-24 | Qualcomm Incorporated | Indication and activation of parameter sets for video coding |
US9805442B2 (en) | 2012-10-03 | 2017-10-31 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fine-grained bit-rate control |
GB2513110A (en) | 2013-04-08 | 2014-10-22 | Sony Corp | Data encoding and decoding |
CN105874793B (zh) | 2013-10-07 | 2019-10-11 | Vid拓展公司 | 用于多层视频编码的组合可分级性处理的方法和设备 |
KR101951083B1 (ko) | 2014-01-02 | 2019-05-10 | 브이아이디 스케일, 인크. | 스크린 컨텐츠 코딩을 위한 2차원 팔레트 코딩 |
US10237575B2 (en) | 2014-03-14 | 2019-03-19 | Vid Scale, Inc. | Palette coding for screen content coding |
CN106464869B (zh) * | 2014-03-14 | 2019-07-19 | 寰发股份有限公司 | 调色板表初始化和管理的方法 |
WO2015176685A1 (en) | 2014-05-23 | 2015-11-26 | Mediatek Inc. | Methods for palette size signaling and conditional palette escape flag signaling |
US10091512B2 (en) * | 2014-05-23 | 2018-10-02 | Futurewei Technologies, Inc. | Advanced screen content coding with improved palette table and index map coding methods |
US10136141B2 (en) | 2014-06-11 | 2018-11-20 | Qualcomm Incorporated | Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding |
US9900617B2 (en) | 2014-06-20 | 2018-02-20 | Qualcomm Incorporated | Single color palette mode in video coding |
EP3917146A1 (en) | 2014-09-30 | 2021-12-01 | Microsoft Technology Licensing, LLC | Rules for intra-picture prediction modes when wavefront parallel processing is enabled |
US20160100177A1 (en) | 2014-10-06 | 2016-04-07 | Qualcomm Incorporated | Non-uniform exponential-golomb codes for palette mode coding |
KR20200051066A (ko) | 2014-10-06 | 2020-05-12 | 브이아이디 스케일, 인크. | 화면 콘텐츠 코딩에 대한 개선된 팔레트 코딩 |
CN105960802B (zh) | 2014-10-08 | 2018-02-06 | 微软技术许可有限责任公司 | 切换色彩空间时对编码和解码的调整 |
KR101981725B1 (ko) | 2014-12-19 | 2019-05-23 | 에이치에프아이 이노베이션 인크. | 비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법 |
TW201637448A (zh) | 2015-01-14 | 2016-10-16 | Vid衡器股份有限公司 | 非4:4:4螢幕內容視訊調色盤編碼 |
WO2016123388A1 (en) | 2015-01-29 | 2016-08-04 | Vid Scale, Inc. | Palette coding modes and palette flipping |
EP3251352A1 (en) | 2015-01-29 | 2017-12-06 | VID SCALE, Inc. | Escape color coding for palette coding mode |
US20160234498A1 (en) * | 2015-02-05 | 2016-08-11 | Sharp Laboratories Of America, Inc. | Methods and systems for palette table coding |
CN107409227B (zh) | 2015-03-20 | 2020-01-21 | 联发科技(新加坡)私人有限公司 | 视频编解码方法及装置 |
CN107431824B (zh) | 2015-04-08 | 2020-10-02 | 寰发股份有限公司 | 视频编解码中调色板模式上下文编解码和二值化的方法 |
US10659783B2 (en) | 2015-06-09 | 2020-05-19 | Microsoft Technology Licensing, Llc | Robust encoding/decoding of escape-coded pixels in palette mode |
US11146788B2 (en) | 2015-06-12 | 2021-10-12 | Qualcomm Incorporated | Grouping palette bypass bins for video coding |
US10097842B2 (en) * | 2015-09-18 | 2018-10-09 | Qualcomm Incorporated | Restriction of escape pixel signaled values in palette mode video coding |
CN113727109B (zh) | 2016-05-28 | 2023-12-29 | 寰发股份有限公司 | 用于彩色视频数据的调色板模式编解码的方法及装置 |
US10992941B2 (en) | 2017-06-29 | 2021-04-27 | Dolby Laboratories Licensing Corporation | Integrated image reshaping and video coding |
EP4415366A2 (en) * | 2017-08-03 | 2024-08-14 | Sharp Kabushiki Kaisha | Systems and methods for partitioning video blocks in an inter prediction slice of video data |
US20190246122A1 (en) | 2018-02-08 | 2019-08-08 | Qualcomm Incorporated | Palette coding for video coding |
TWI720584B (zh) | 2018-08-16 | 2021-03-01 | 聯發科技股份有限公司 | 視訊處理系統中色度量化參數導出的方法以及裝置 |
US11025905B2 (en) * | 2018-09-14 | 2021-06-01 | Tencent America LLC | Method and device for decoding with palette mode |
WO2020156534A1 (en) | 2019-02-01 | 2020-08-06 | Beijing Bytedance Network Technology Co., Ltd. | Interactions between in-loop reshaping and intra block copy |
US11277611B2 (en) | 2019-07-24 | 2022-03-15 | Qualcomm Incorporated | Delta quantization parameter (QP) signaling in palette mode |
US11206413B2 (en) * | 2019-08-13 | 2021-12-21 | Qualcomm Incorporated | Palette predictor updates for local dual trees |
CN117395420A (zh) | 2019-08-15 | 2024-01-12 | 字节跳动有限公司 | 用于调色板逸出符号的熵编解码 |
BR112022005150A2 (pt) | 2019-09-19 | 2022-06-14 | Bytedance Inc | Método de processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador |
-
2020
- 2020-08-15 JP JP2022509098A patent/JP7494289B2/ja active Active
- 2020-08-15 EP EP20851940.5A patent/EP4000269A4/en active Pending
- 2020-08-15 CN CN202080057647.1A patent/CN114223206A/zh active Pending
- 2020-08-15 WO PCT/US2020/046574 patent/WO2021030786A1/en unknown
- 2020-08-15 KR KR1020227004036A patent/KR102705477B1/ko active IP Right Grant
-
2022
- 2022-02-14 US US17/671,486 patent/US11528497B2/en active Active
-
2024
- 2024-02-02 JP JP2024014907A patent/JP2024054189A/ja active Pending
Non-Patent Citations (2)
Title |
---|
Jizheng Xu, et al.,"Overview of the Emerging HEVC Screen Content Coding Extension",IEEE Transactions on Circuits and Systems for Video Technology,IEEE,2015年09月14日,Vol.26, No.1,Pages 50-62,ISSN: 1051-8215, <DOI: 10.1109/TCSVT.2015.2478706>. |
Yu-Chen Sun, et al.,"Analysis of Palette Mode on Versatile Video Coding",Proceedings of 2019 IEEE Conference on Multimedia Information Processing and Retrieval (MIPR),IEEE,2019年03月30日,Pages 455-458,ISBN: 978-1-7281-1198-8, <DOI: 10.1109/MIPR.2019.00091>. |
Also Published As
Publication number | Publication date |
---|---|
KR102705477B1 (ko) | 2024-09-11 |
EP4000269A1 (en) | 2022-05-25 |
US11528497B2 (en) | 2022-12-13 |
KR20220044278A (ko) | 2022-04-07 |
JP2022546235A (ja) | 2022-11-04 |
CN114223206A (zh) | 2022-03-22 |
WO2021030786A1 (en) | 2021-02-18 |
US20220182655A1 (en) | 2022-06-09 |
JP2024054189A (ja) | 2024-04-16 |
EP4000269A4 (en) | 2022-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7494289B2 (ja) | 異なるパーティション構造をもつパレット・モード | |
US11943481B2 (en) | Entropy coding for palette escape symbol | |
JP7451731B2 (ja) | クロマ成分のためのデブロッキングパラメータ | |
JP2024096202A (ja) | パレット・モードのための量子化パラメータ導出 | |
JP2024014958A (ja) | ローカルデュアルツリー向けのパレットモード | |
CN115088192A (zh) | 视频数据的基于字典的编解码 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220303 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220303 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220616 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230322 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230622 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20231003 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240202 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20240213 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240423 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240522 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7494289 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |