JP2023514623A - スライスとタイルピクチャ分割の信号通知 - Google Patents
スライスとタイルピクチャ分割の信号通知 Download PDFInfo
- Publication number
- JP2023514623A JP2023514623A JP2022549959A JP2022549959A JP2023514623A JP 2023514623 A JP2023514623 A JP 2023514623A JP 2022549959 A JP2022549959 A JP 2022549959A JP 2022549959 A JP2022549959 A JP 2022549959A JP 2023514623 A JP2023514623 A JP 2023514623A
- Authority
- JP
- Japan
- Prior art keywords
- slice
- video
- tile
- picture
- slices
- 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.)
- Granted
Links
- 230000011664 signaling Effects 0.000 title description 32
- 230000011218 segmentation Effects 0.000 title description 8
- 238000000034 method Methods 0.000 claims abstract description 145
- 238000012545 processing Methods 0.000 claims abstract description 29
- 230000009466 transformation Effects 0.000 claims abstract description 7
- 238000003672 processing method Methods 0.000 claims description 78
- 230000001131 transforming effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000033001 locomotion Effects 0.000 description 72
- 238000000638 solvent extraction Methods 0.000 description 60
- 238000005516 engineering process Methods 0.000 description 44
- 238000005192 partition Methods 0.000 description 21
- 239000013598 vector Substances 0.000 description 21
- 238000006243 chemical reaction Methods 0.000 description 10
- 238000009795 derivation Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000013139 quantization Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000001174 ascending effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- 230000015654 memory Effects 0.000 description 6
- 230000002441 reversible effect Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 241000023320 Luma <angiosperm> Species 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000153 supplemental effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 229920000069 polyphenylene sulfide Polymers 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- 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/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
- H04N19/105—Selection 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
-
- 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/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- 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/172—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 picture, frame or field
-
- 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/174—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 slice, e.g. a line of blocks or a group of 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/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/184—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 bits, e.g. of the compressed video stream
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234345—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【選択図】図29
Description
パリ条約に基づく適用可能な特許法および/または規則に基づいて、本願は、2020年2月21日出願の国際特許出願第PCT/CN2020/076158号の優先権および利益を適時に主張することを目的とする。法に基づくすべての目的のために、上記出願の開示全体は、本明細書の開示の一部として参照により援用される。
本明細書は、映像コーディング技術に関する。具体的には、サブピクチャ、タイル、及びスライスの信号通知に関する。この考えは、個々に又は様々な組み合わせで、マルチレイヤ映像コーディング、例えば、現在開発されているVersatile Video Coding(VVC)をサポートする任意の映像コーディング標準又は非標準映像コーデックに適用されてもよい。
APS (Adaptation Parameter Set) 適応パラメータセット
AU (Access Unit) アクセスユニット
AUD (Access Unit Delimiter) アクセスユニットデリミター
AVC (Advanced Video Coding) 高度映像コーディング
CLVS (Coded Layer Video Sequence) コーディングレイヤ映像シーケンス
CPB (Coded Picture Buffer) コーディングピクチャバッファ
CRA (Clean Random Access) クリーンランダムアクセス
CTU (Coding Tree Unit) コーディングツリーユニット
CVS (Coded Video Sequence) コーディング映像シーケンス
DPB (Decoded Picture Buffer) 復号ピクチャバッファ
DPS (Decoding Parameter Set) 復号パラメータセット
EOB (End Of Bitstream) ビットストリーム終端
EOS (End Of Sequence) シーケンス終端
GDR (Gradual Decoding Refresh) 漸次的復号リフレッシュ
HEVC (High Efficiency Video Coding) 高効率映像コーディング
HRD (Hypothetical Reference Decoder) 仮想参照デコーダ
IDR (Instantaneous Decoding Refresh) 瞬時復号リフレッシュ
JEM (Joint Exploration Model) 共同探索モデル
MCTS (Motion-Constrained Tile Sets) 動作制約タイルセット
NAL (Network Abstraction Layer) ネットワーク抽象化レイヤ
OLS (Output Layer Set) 出力レイヤセット
PH (Picture Header) ピクチャヘッダ
PPS (Picture Parameter Set) ピクチャパラメータセット
PTL (Profile,Tier and Level) プロファイル、ティアおよびレベル
PU (Picture Unit) ピクチャユニット
RBSP (Raw Byte Sequence Payload) 生バイトシーケンスペイロード
SEI (Supplemental Enhancement Information) 補足強化情報
SPS (Sequence Parameter Set) シーケンスパラメータセット
SVC (Scalable Video Coding) スケーラブル映像コーディング
VCL (Video Coding Layer) 映像コーディングレイヤ
VPS (Video Parameter Set) 映像パラメータセット
VTM (VVC Test Model) VVC試験モデル
VUI (Video Usability Information) 映像ユーザビリティ情報
VVC (Versatile Video Coding) 汎用映像コーディング
映像コーディング規格は、主に周知の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 AVC(Advanced Video Coding)とH.265/HEVC規格を共同で作った。H.262以来、映像コーディング規格は、時間予測と変換コーディングが利用されるハイブリッド映像コーディング構造に基づく。HEVCを超えた将来の映像コーディング技術を探索するため、2015年には、VCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Model)と呼ばれる参照ソフトウェアに組み込まれてきた。JVETは四半期に1回開催され、新しいコーディング規格はHEVCに比べて50%のビットレート低減を目指している。2018年4月のJVET会議において、新しい映像コーディング規格を汎用映像コーディング(Versatile Video Coding:VVC)と正式に命名し、その時、第1版のVVCテストモデル(VTM)をリリースした。VVCの標準化に寄与する努力が続けられているので、すべてのJVET会議において、VVC標準に新しいコーディング技術が採用されている。毎回の会議の後、VVC作業草案およびテストモデルVTMを更新する。VVCプロジェクトは、現在、2020年7月の会合における技術完成(FDIS)を目指している。
HEVCには、正規のスライス、依存性のあるスライス、タイル、WPP(Wavefront Parallel Processing)という4つの異なる画像分割スキームがあり、これらを適用することで、最大転送ユニット(MTU)サイズのマッチング、並列処理、エンドツーエンドの遅延の低減が可能になる。
VVCにおいて、1つのピクチャは、1つ以上のタイル行および1つ以上のタイル列に分割される。1つのタイルは、1つの画像の1つの矩形領域を覆う1つのCTUのシーケンスである。1つのタイルにおけるCTUは、そのタイル内でラスタスキャン順にスキャンされる。
7.3.2.3 シーケンスパラメータセットRBSP構文
3 定義
ピクチャレベルスライスインデックス:rect_slice_flagが1に等しい場合、PPSで信号通知される順番で、ピクチャにおけるスライスのリストに対するスライスのインデックスを示す。
サブピクチャレベルスライスインデックス:rect_slice_flagが1に等しい場合、PPSで信号通知される順番にサブピクチャにおけるスライスのリストへのスライスのインデックスを示す。
6.5.1 CTBラスタスキャン、タイルスキャン、及びサブピクチャスキャン処理
タイル列の数を規定する変数NumTileColumns、及びCTB単位でi番目のタイル列の幅を規定するiのための0からNumTileColumn-1の範囲(両端含む)のリストcolWidth[i]は、以下のように導出される。
remainingWidthInCtbsY=PicWidthInCtbsY
for(i=0;i<num_exp_tile_columns_minus1;i++){
colWidth[i]=tile_column_width_minus1[i]+1
remainingWidthInCtbsY-=colWidth[i]
}
uniformTileColWidth=tile_column_width_minus1[num_exp_tile_columns_minus1]+1 (23)
while(remainingWidthInCtbsY>=uniformTileColWidth){
colWidth[i++]=uniformTileColWidth
remainingWidthInCtbsY-=uniformTileColWidth
}
if(remainingWidthInCtbsY>0)
colWidth[i++]=remainingWidthInCtbsY
NumTileColumns=i
タイル行の数を規定する変数NumTileRows、及びCTB単位でj番目のタイル行の高さを規定する0からNumTileRows-1までの範囲(両端含む)のjのリストRowHeight[j]は、以下のように導出される。
remainingHeightInCtbsY=PicHeightInCtbsY
for(j=0;j<num_exp_tile_rows_minus1;j++){
RowHeight[j]=tile_row_height_minus1[j]+1
remainingHeightInCtbsY-=RowHeight[j]
}
uniformTileRowHeight=tile_row_height_minus1[num_exp_tile_rows_minus1]+1 (24)
while(remainingHeightInCtbsY>=uniformTileRowHeight){
RowHeight[j++]=uniformTileRowHeight
remainingHeightInCtbsY-=uniformTileRowHeight
}
if(remainingHeightInCtbsY>0)
RowHeight[j++]=remainingHeightInCtbsY
NumTileRows=j
変数NumTileInPicは、NumTileColumns*NumTileRowsに等しく設定される。
iが0からNumTileColumnsまでの範囲(両端含む)にあり、CTBの単位でi番目のタイル列境界の位置を規定する場合、リストtileColBd[i]は、以下のように導出される。
for(tileColBd[0]=0,i=0;i<NumTileColumns;i++)
tileColBd[i+1]=tileColBd[i]+colWidth[i] (25)
注1-配列tileColBd[]のサイズは、CtbToleBd[]の導出における実際のタイル列の数よりも1大きい。
j番目のタイル行境界の位置をCTB単位で規定する、jが0からNumTileRowsまでの範囲(両端含む)にあるリストtileRowBd[j]は、以下のように導出される。
for(tileRowBd[0]=0,j=0;j<NumTileRows;j++)
tileRowBd[j+1]=tileRowBd[j]+RowHeight[j] (26)
注2-上記導出における配列tileRowBd[]のサイズは、CtbToleRowBd[ ]の導出における実際のタイル行の数よりも1大きい。
CTB単位で水平CTBアドレスから左側タイル列境界への変換を規定する、0からPicWidthInCtbsYまでの範囲(両端含む)のctbAddrXのリストCtbToTileColBd[ctbAddrX]は、以下のように導出される。
tileX=0
for(ctbAddrX=0;ctbAddrX<=PicWidthInCtbsY;ctbAddrX++){
if(ctbAddrX==tileColBd[tileX+1])(27)
tileX++
CtbToTileColBd[ctbAddrX]=tileColBd[tileX]
}
注3-上記導出における配列CtbToTileColBd[]のサイズは、derivation slice_data()信号通知におけるCTBにおける実際のピクチャ幅の数よりも1大きい。
ctbAddrYが0からPicHeightInCtbsYまでの範囲(両端含む)にあり、CTB単位で垂直CTBアドレスから上部タイル列境界への変換を規定するためのリストCtbToTileRowBd[ctbAddrY]は、以下のように導出される。
tileY=0
for(ctbAddrY=0;ctbAddrY<=PicHeightInCtbsY;ctbAddrY++){
if(ctbAddrY==tileRowBd[tileY+1])(28)
tileY++
CtbToTileRowBd[ctbAddrY]=tileRowBd[tileY]
}
注4-上記導出における配列CtbToleRowBd[]のサイズは、slice_data()信号通知におけるCTBにおける実際のピクチャの高さの数よりも1大きい。
矩形スライスの場合、iが0からnum_slices_in_pic_minus1の範囲(両端含む)のリストNumCtusInSlice[i]は、i番目のスライスにおけるCTUの数を規定し、iが0からnum_slices_in_pic_minus1の範囲(両端含む)のリストSliceTopLeftTileIdx[i]は、スライスの左上のタイルのインデックスを規定し、jは0からNumCtusInSlice[i]-1の範囲(両端含む)で、i番目のスライス内のj番目のCTBのピクチャラスタスキャンアドレスを規定し、以下のように導出される。
if(single_slice_per_subpic_flag){
for(i=0;i<=sps_num_subpics_minus1;i++)
NumCtusInSlice[i]=0
for(i=0;i<PicSizeInCtbsY;i++){
sliceIdx=subpic_info_present_flag?CtbToSubpicIdx[i]:0
CtbAddrInSlice[sliceIdx][NumCtusInSlice[sliceIdx]]=i
NumCtusInSlice[sliceIdx]++
}
}else{
tileIdx=0
for(i=0;i<=num_slices_in_pic_minus1;i++)
NumCtusInSlice[i]=0
for(i=0;i<=num_slices_in_pic_minus1;i++){
SliceTopLeftTileIdx[i]=tileIdx
tileX=tileIdx%NumTileColumns
tileY=tileIdx/NumTileColumns
if(i==num_slices_in_pic_minus1){
slice_width_in_tiles_minus1[i]=NumTileColumns-1-tileX
slice_height_in_tiles_minus1[i]=NumTileRows-1-tileY
NumSlicesInTile[i]=1
}
if(slice_width_in_tiles_minus1[i]==0&&slice_height_in_tiles_minus1[i]==0){(29)
ctbY=tileRowBd[tileY]
for(j=0;j<NumSlicesInTile[i]-1;j++){
AddCtbsToSlice(i,tileColBd[tileX],tileColBd[tileX+1],ctbY,ctbY+SliceHeightInCtusMinus1[i]+1)
ctbY+=SliceHeightInCtusMinus1[i]+1
i++
}
AddCtbsToSlice(i,tileColBd[tileX],tileColBd[tileX+1],ctbY,tileRowBd[tileY+1])
}else
for(j=0;j<=slice_height_in_tiles_minus1[i];j++)
for(k=0;k<=slice_width_in_tiles_minus1[i];k++)
AddCtbsToSlice(i,tileColBd[tileX+k],tileColBd[tileX+k+1],tileRowBd[tileY+j],tileRowBd[tileY+j+1])
if(tile_idx_delta_present_flag)
tileIdx+=tile_idx_delta[i]
else{
tileIdx+=slice_width_in_tiles_minus1[i]+1
if(tileIdx%NumTileColumns==0)
tileIdx+=slice_height_in_tiles_minus1[i]*NumTileColumns
}
}
}
関数AddCtbsToSlice(sliceIdx,startX,stopX,startY,stopY)を以下のように規定する。
for(ctbY=startY;ctbY<stopY;ctbY++)
for(ctbX=startX;ctbX<stopX;ctbX++){
CtbAddrInSlice[sliceIdx][NumCtusInSlice[sliceIdx]]=ctbY*PicWidthInCtbsY+ctbX (30)
NumCtusInSlice[sliceIdx]++
}
iが0からnum_slices_in_pic_minus1までの範囲(両端含む)にある場合、NumCtusInSlice[i]の値は、0よりも大きいことが、ビットストリーム準拠の要件である。また、iが0からnum_slices_in_pic_minus1の範囲(両端含む)であり、jが0からNumCtusInSlice[i]-1の範囲(両端含む)である行列CtbAddrInSlice[i][j]は、0からPicSizeInCtbsY-1の範囲(両端含む)のすべてのCTBアドレスを1度に限り、含むべきであることが、ビットストリーム準拠の要件である。
ピクチャラスタスキャンにおけるCTBアドレスからサブピクチャインデックスへの変換を規定する、0からPicSizeInCtbsY_1までの範囲(両端含む)のctbAddrRのリストCtbToSubpicIdx[ctbAddrRs]は、以下のように導出される。
for(ctbAddrRs=0;ctbAddrRs<PicSizeInCtbsY;ctbAddrRs++){
posX=ctbAddrRs%PicWidthInCtbsY
posY=ctbAddrRs/PicWidthInCtbsY
CtbToSubpicIdx[ctbAddrRs]=-1
for(i=0;CtbToSubpicIdx[ctbAddrRs]<0&&i<=sps_num_subpics_minus1;i++){ (31)
if((posX>=subpic_ctu_top_left_x[i])&&
(posX<subpic_ctu_top_left_x[i]+subpic_width_minus1[i]+1)&&
(posY>=subpic_ctu_top_left_y[i])&&
(posY<subpic_ctu_top_left_y[i]+subpic_height_minus1[i]+1))
CtbToSubpicIdx[ctbAddrRs]=i
}
}
i番目のサブピクチャの矩形スライスの数を規定するリストNumSlicesInSubpic[i]は以下のように導出される。
for(j=0;j<=sps_num_subpics_minus1;j++)
NumSlicesInSubpic[j]=0
for(i=0;i<=num_slices_in_pic_minus1;i++){
posX=CtbAddrInSlice[i][0]%PicWidthInCtbsY
posY=CtbAddrInSlice[i][0]/PicWidthInCtbsY
for(j=0;j<=sps_num_subpics_minus1;j++){
if((posX>=subpic_ctu_top_left_x[j])&&(32)
(posX<subpic_ctu_top_left_x[j]+subpic_width_minus1[j]+1)&&
(posY>=subpic_ctu_top_left_y[j])&&
(posY<subpic_ctu_top_left_y[j]+subpic_height_minus1[j]+1)){
NumSlicesInSubpic[j]++
}
}
}
subpic_id_mapping_in_pps_flagが1に等しい場合、サブピクチャIDマッピングがPPSで信号通知されることを規定する。
subpic_id_mapping_in_pps_flagが0に等しい場合、PPSにおいてサブピクチャIDのマッピングは信号通知されないことを規定する。subpic_id_mapping_explicitly_signalled_flagが0に等しい場合、又は、subpic_id_mapping_in_sps_flagが1に等しい場合は、subpic_id_mapping_in_pps_flagの値は0に等しいとする。そうでない場合(subpic_id_mapping_explicitly_signalled_flagが1に等しく、かつ、subpic_id_mapping_in_sps_flagが0に等しい場合)、subpic_id_mapping_in_pps_flagの値は1に等しいとする。
pps_num_subpics_minus1は、sps_num_subpics_minus1に等しいとする。
pps_subpic_id_len_minus1は、sps_subpic_id_len_minus1に等しいとする。
pps_subpic_id[i]は、i番目のサブピクチャのサブピクチャIDを規定する。pps_subpic_id[i]構文要素の長さは、pps_subpic_id_len_minus1+1ビットである。
変数SubpicIdVal[i]は、0からsps_num_subpics_minus1の範囲(両端含む)のiの各値について、以下のように導出される。
for(i=0;i<=sps_num_subpics_minus1;i++)
if(subpic_id_mapping_explicitly_signalled_flag)
SubpicIdVal[i]=subpic_id_mapping_in_pps_flag?pps_subpic_id[i]:sps_subpic_id[i] (80)
else
SubpicIdVal[i]=i
ビットストリーム適合性の要件は、以下の制約の双方が適用されることである。
- 0からsps_num_subpics_minus1の範囲(両端含む)のi及びjの任意の2つの異なる値の場合、SubpicIdVal[i]はSubpicIdVal[j]に等しくならないものとする。
- 現在のピクチャがCLVSの第1ピクチャでない場合、0からsps_num_subpics_minus1の範囲(両端含む)のiの各値について、SubpicIdVal[i]の値が、同じレイヤにおける復号順に前のピクチャのSubpicIdVal[i]の値に等しくない場合、サブピクチャインデックスiを有する現在のピクチャにおけるサブピクチャのすべてのコーディングされたスライスNALユニットのnal_unit_typeは、IDR_W_RADLからCRA_NUTの範囲(両端含む)の特定の値に等しいものとする。
no_pic_partition_flagが1に等しい場合、PPSを参照する各ピクチャに対してピクチャ分割が適用されないことを規定する。
no_pic_partition_flagが0に等しい場合、PPSを参照する各ピクチャを複数のタイル又はスライスに分割してよいことを規定する。
1つのCLVS内のコーディングされたピクチャによって参照されるすべてのPPSについて、no_pic_partition_flagの値が同じであることが、ビットストリーム適合性の要件である。
sps_num_subpics_minus1+1の値が1よりも大きい場合、no_pic_partition_flagの値が1に等しくないことが、ビットストリーム準拠の要件である。
pps_log2_ctu_size_minus5プラス5は、各CTUの輝度コーディングツリーブロックサイズを規定する。
pps_log2_ctu_size_minus5は、sps_log2_ctu_size_minus5に等しいものとする。
num_exp_tile_columns_minus1プラス1は、明確に提供されるタイルの列の幅の数を規定する。num_exp_tile_columns_minus1の値は、0からPicWidthInCtbsY-1までの範囲内にあるべきである。no_pic_partition_flagが1に等しい場合、num_exp_tile_columns_minus1の値は0に等しいと推測される。
num_exp_tile_rows_minus1プラス1は、明確に提供されるタイルの行の高さの数を規定する。num_exp_tile_rows_minus1の値は、0からPicHeightInCtbsY-1までの範囲内にあるべきである。no_pic_partition_flagが1に等しい場合、num_tile_rows_minus1の値は0に等しいと推測される。
tile_column_width_minus1[i]プラス1は、i番目のタイル列の幅を、0からnum_exp_tile_columns_minus1-1の範囲内にあるi番目のタイル列の幅をCTB単位で規定する。tile_column_width_minus1[num_exp_tile_columns_minus1]は、6.5.1項で規定されたようにnum_exp_tile_columns_minus1以上であるインデックスでタイル列の幅を導出するのに使用される。tile_column_width_minus1[i]の値は、0からPicWidthInCtbsY-1までの範囲内にあるべきである。存在しない場合、tile_column_width_minus1[0]の値は、PicWidthInCtbsY-1に等しいと推測される。
tile_row_height_minus1[i]プラス1は、i番目のタイル列の高さを、0からnum_exp_tile_rows_minus1-1の範囲(両端含む)にあるi番目のタイル行の高さをCTBの単位で規定する。tile_row_height_minus1[num_exp_tile_rows_minus1]は、6.5.1項で規定されたようにnum_exp_tile_rows_minus1以上であるインデックスでタイル行の高さを導出するのに使用される。tile_row_height_minus1[i]の値は、0からPicHeightInCtbsY-1までの範囲内にあるべきである。存在しない場合、tile_row_height_minus1[0]の値は、PicHeightInCtbsY_1に等しいと推測される。
rect_slice_flagが0に等しい場合、各スライス内のタイルがラスタスキャン順に配列されており、且つスライス情報がPPSで信号通知されないことを規定する。rect_slice_flagが1に等しい場合、各スライス内のタイルがピクチャの矩形領域を覆い、且つスライス情報がPPSで信号通知されることを規定する。存在しない場合、rect_slice_flagは1に等しいと推測される。subpic_info_present_flagが1に等しい場合、rect_slice_flagの値は1である。
single_slice_per_subpic_flagが1に等しい場合、各サブピクチャは1つの矩形スライスのみで構成される。single_slice_per_subpic_flagが0に等しい場合、各サブピクチャは1つ又は複数の矩形スライスで構成されてもよいことを規定する。single_slice_per_subpic_flagが1に等しい場合、num_slices_in_pic_minus1はsps_num_subpics_minus1に等しいと推測される。存在しない場合、single_slice_per_subpic_flagの値は0に等しいと推測される。
num_slices_in_pic_minus1プラス1は、PPSを参照する各ピクチャの矩形スライスの数を規定する。num_slices_in_pic_minus1の値は、0からMaxSlicesPerPicture-1の範囲(両端含む)とし、MaxSlicesPerPictureは附属書Aで規定されるものとする。no_pic_partition_flagが1の場合、num_slices_in_pic_minus1の値は0に等しいと推定される。
tile_idx_delta_present_flagが0に等しい場合、PPSにtile_idx_delta値が存在しないことを規定し、6.5.1項に定義された処理に従って、PPSを参照するピクチャにおけるすべての矩形スライスをラスタ順に規定する。tile_idx_delta_present_flagが1に等しい場合、PPSにtile_idx_delta値が存在してもよいことを規定し、PPSを参照するピクチャのすべての矩形スライスが、tile_idx_deltaの値によって示された順で規定される。存在しない場合、tile_idx_delta_present_flagの値は0と推測される。
slice_width_in_tiles_minus1[i]プラス1は、i番目の矩形スライスの幅をタイルの列の単位で規定する。slice_width_in_tiles_minus1[i]の値は、0からNumTileColumns-1までの範囲内にあるべきである。slice_width_in_tiles_minus1[i]が存在しない場合、以下が適用される。
- NumTileColumnsが1に等しい場合、slice_width_in_tiles_minus1[i]の値は0に等しいと推論される。
- そうでない場合、6.5.1項に規定されるように、slice_width_in_tiles_minus1[i]の値を推論する。
slice_height_in_tiles_minus1[i]プラス1は、i番目の矩形スライスの高さをタイル行単位で規定する。slice_height_in_tiles_minus1[i]の値は、0からNumTileRows-1までの範囲内にあるべきである。slice_height_in_tiles_minus1[i]が存在しない場合、以下が適用される。
- NumTileRowsが1に等しい場合、又は、tile_idx_delta_present_flagが0に等しく、且つtileIdx%NumTileColumnsが0より大きい場合、slice_height_in_tiles_minus1[i]の値は0に等しいと推論される。
- そうでない場合(NumTileRowsが1に等しくなく、かつ、tile_idx_delta_present_flagが1に等しいか又はtileIdx%NumTileColumnsが0に等しい場合)、tile_idx_delta_present_flagが1に等しいか、又はtileIdx%NumTileColumnsが0に等しい場合、slice_height_in_tiles_minus1[i]の値は、slice_height_in_tiles_minus1[i-1]と等しいと推論される。
num_exp_slices_in_tile[i]は、2つ以上の矩形スライスを含む、現在のタイルに明確に提供されるスライスの高さの数を規定する。num_exp_slices_in_tile[i]の値は、0からRowHeight[tileY]-1の範囲(両端含む)とする。ここで、tileYは、i番目のスライスを含むタイル行インデックスである。存在しない場合、num_exp_slices_in_tile[i]の値は0に等しいと推測される。num_exp_slices_in_tile[i]が0に等しい場合、変数NumSlicesInTile[i]の値は1に等しいと導出される。
exp_slice_height_in_ctus_minus1[j]プラス1は、現在のタイルにおけるj番目の矩形スライスの高さをCTU行単位で規定する。exp_slice_height_in_ctus_minus1[j]の値は、0からRowHeight[tileY]-1の範囲(両端含む)とする。ここで、tileYは、現在のタイルのタイル行インデックスである。
num_exp_slices_in_tile[i]が変数より大きい場合、0からNumSlicesInTile[i]-1の範囲のkに対する変数NumSlicesInTile[i]とSliceHeightInCtusMinus1[i+k]は、以下のように導出される。
remainingHeightInCtbsY=RowHeight[SliceTopLeftTileIdx[i]/NumTileColumns]
numExpSliceInTile=num_exp_slices_in_tile[i]
for(j=0;j<numExpSliceInTile-1;j++){
SliceHeightInCtusMinus1[i++]=exp_slice_height_in_ctu_minus1[j]
remainingHeightInCtbsY-=SliceHeightInCtusMinus1[j]
}
uniformSliceHeightMinus1=SliceHeightInCtusMinus1[i-1] (81)
while(remainingHeightInCtbsY>=(uniformSliceHeightMinus1+1)){
SliceHeightInCtusMinus1[i++]=uniformSliceHeightMinus1
remainingHeightInCtbsY-=(uniformSliceHeightMinus1+1)
j++
}
if(remainingHeightInCtbsY>0){
SliceHeightInCtusMinus1[i++]=remainingHeightInCtbsY
j++
}
NumSlicesInTile[i]=j
tile_idx_delta[i]は,i番目の矩形スライスの最初のタイルのタイルインデックスと、(i+1)番目の矩形スライスの最初のタイルのタイルインデックスの差を規定する。tile_idx_delta[i]の値は、-NumTilesInPic+1からNumTilesInPic-1までの範囲内にあるべきである。存在しない場合、tile_idx_delta[i]iの値は0に等しいと推測される。存在する場合、tile_idx_delta[i]の値は0に等しいと推測される。
…
コーディングされたピクチャにおけるVCL NALユニットの順序は、以下のように制約される。
- 1つのコーディングされたピクチャの任意の2つのコーディングされたスライスNALユニットA及びBについて、subpicIdxA及びsubpicIdxBをそれらのサブピクチャレベルインデックス値とし、sliceAddrA及びsliceddrBをそれらのslice_address値とする。
- 以下の条件のいずれかが真である場合、コーディングされたスライスNALユニットAは、コーディングされたスライスNALユニットBに先行するものとする。
- subpicIdxAは、subpicIdxB未満である。
- subpicIdxAはsubpicIdxBに等しく、sliceAddrAはsliceAddrB未満である。
Cu_qp_delta_absを含むコーディングユニットの輝度量子化パラメータとその予測値の差を規定する変数CuQpDeltaValは、0に等しく設定される。cu_chroma_qp_offset_flagを含むコーディングユニットの量子化パラメータQp’Cb,Qp’Cr,Qp’CbCrのそれぞれの値を判定する際に用いる値を規定する変数CuQpOffsetCb,CuQpOffsetCrは、すべて0に等しく設定される。
picture_header_in_slice_header_flagが1に等しい場合、スライスヘッダにPH構文構造が存在する。picture_header_in_slice_header_flagが0に等しい場合、スライスヘッダにPH構文構造が存在しない。
CLVS内のすべてのコーディングされたスライスにおいてpicture_header_in_slice_header_flagの値が同じであることは、ビットストリームコンフォーマンスの要件である。
コーディングされたスライスでpicture_header_in_slice_header_flagが1に等しい場合、CLVS内にnal_unit_typeがPH_NUTであるVCL NALユニットが存在しないことが適合性の要件となる。
picture_header_in_slice_header_flagが0に等しい場合、現在のピクチャのすべてのコーディングされたスライスはpicture_header_in_slice_header_flagが0に等しくなり、現在のPUはPH NAL ユニットを持つものとする。
slice_subpic_idは、スライスを含むサブピクチャのサブピクチャIDを規定する。slice_subpic_idが存在する場合、変数CurrSubpicIdxの値は、SubpicIdVal[CurrSubpicIdx]がslice_subpic_idに等しくなるように導出される。そうでない場合(slice_subpic_idが存在しない場合)、CurrSubpicIdxは0に等しくなるように導出される。slice_subpic_idの長さは、sps_subpic_id_len_minus1+1ビットである。
slice_addressは、スライスのスライスアドレスを規定する。存在しない場合、slice_addressの値は0に等しいと推測される。rect_slice_flagが1でNumSlicesInSubpic[CurrSubpicIdx]が1に等しい場合、slice_addressの値は0と推測される.
rect_slice_flagが0に等しい場合、以下が適用される。
- スライスアドレスは、ラスタスキャンタイルインデックスである。
- slice_addressの長さは、Ceil(Log2(NumTilesInPic))ビットである。
- slice_addressの値は、0からNumTilesInPic-1までの範囲内にあるべきである。
そうでない場合(rect_slice_flagが1に等しい場合)、以下が適用される。
- スライスアドレスは、スライスのサブピクチャレベルスライスインデックスである。
- slice_addressの長さは、Ceil(Log2(NumSlicesInSubpic[CurrSubpicIdx]))ビットである。
- slice_addressの値は、0からNumSlicesInSubpic[CurrSubpicIdx]-1までの範囲内とする。
ビットストリーム適合性の要件は、以下の制約が適用されることである。
- rect_slice_flagが0に等しい、又はsubpic_info_present_flagが0に等しい場合、slice_addressの値は、同じコーディングされたピクチャにおいて任意の他のコーディングされたスライスNALユニットのslice_addressの値に等しくてはならない。
- そうでない場合、slice_subpic_id及びslice_address値の組は、同じコーディングされたピクチャにおいて任意の他のコーディングされたスライスNALユニットのslice_subpic_id及びslice_address値の組に等しくてはならない。
- ピクチャのスライスの形状は、各CTUが復号された場合、その左側境界全体及び最上の境界全体が1つのピクチャの境界、又は、以前に復号されたCTUの境界を含むものでなければならない。
sh_extra_bit[i]は1又は0に等しくてもよい。本明細書バージョンに準拠するデコーダは、sh_extra_bit[i]の値を無視すべきである。その値は、本明細書のバージョンで特定された特徴に対するのデコーダの適合性に影響を与えない。
num_tiles_in_slice_minus1プラス1は、存在する場合、スライス内のタイル数を規定する。num_tiles_in_slice_minus1の値は、0からNumTilesInPic-1までの範囲内にあるべきである。
現在のスライス内のCTUの数を規定する変数NumCtusInCurrSliceと、0からNumCtusInCurrSlice-1の範囲(両端含む)のiについて、スライス内のi番目のCTBのピクチャラスタスキャンアドレスを規定するリストCtbAddrInCurrSlice[i]は、次のように導出される。
if(rect_slice_flag){
picLevelSliceIdx=slice_address
for(j=0;j<CurrSubpicIdx;j++)
picLevelSliceIdx+=NumSlicesInSubpic[j]
NumCtusInCurrSlice=NumCtusInSlice[picLevelSliceIdx]
for(i=0;i<NumCtusInCurrSlice;i++)
CtbAddrInCurrSlice[i]=CtbAddrInSlice[picLevelSliceIdx][i] (117)
}else{
NumCtusInCurrSlice=0
for(tileIdx=slice_address;tileIdx<=slice_address+num_tiles_in_slice_minus1;tileIdx++){
tileX=tileIdx%NumTileColumns
tileY=tileIdx/NumTileColumns
for(ctbY=tileRowBd[tileY];ctbY<tileRowBd[tileY+1];ctbY++){
for(ctbX=tileColBd[tileX];ctbX<tileColBd[tileX+1];ctbX++){
CtbAddrInCurrSlice[NumCtusInCurrSlice]=ctbY*PicWidthInCtb+ctbX
NumCtusInCurrSlice++
}
}
}
}
変数SubpicLeftBoundaryPos、SubpicTopBoundaryPos、SubpicRightBoundaryPos、SubpicBotBoundaryPosは以下のように導出される。
if(subpic_treated_as_pic_flag[CurrSubpicIdx]){
SubpicLeftBoundaryPos=subpic_ctu_top_left_x[CurrSubpicIdx]*CtbSizeY
SubpicRightBoundaryPos=Min(pic_width_max_in_luma_samples-1,
(subpic_ctu_top_left_x[CurrSubpicIdx]+
subpic_width_minus1[CurrSubpicIdx]+1)*CtbSizeY-1)
SubpicTopBoundaryPos=subpic_ctu_top_left_y[CurrSubpicIdx]*CtbSizeY (118)
SubpicBotBoundaryPos=Min(pic_height_max_in_luma_samples-1,
(subpic_ctu_top_left_y[CurrSubpicIdx]+
subpic_height_minus1[CurrSubpicIdx]+1)*CtbSizeY-1)
}
色空間は、カラーモデル(又はカラーシステム)としても知られ、色の範囲を数字のタプル(tuple)として簡単に記述する抽象的な数学モデルであり、典型的には3又は4つの値又は色成分(例えばRGB)である。基本的には、色空間は座標系とサブ空間とを精緻化したものである。
3つのY’CbCr成分の各々は、同じサンプルレートを有し、従って、クロマサブサンプリングは存在しない。この方式は、ハイエンドフィルムスキャナ及びシネマティックポストプロダクションに用いられることがある。
2つのクロマ成分は、輝度のサンプルレートの半分でサンプリングされ、水平クロマ解像度は半分にされ、垂直クロマ解像度は変化しない。これにより、視覚的にほとんどまたは全く差がなく、非圧縮の映像信号の帯域幅を1/3に低減することができる。4:2:2カラーフォーマットの名目上の垂直および水平の位置の例が、例えば、VVC作業草案の図5に示されている。
4:2:0では、水平サンプリングは4:1:1に比べて2倍になるが、このスキームではCb及びCrチャネルを各1行おきのラインでのみサンプリングするので、垂直解像度は半分になる。従って、データレートは同じである。Cb及びCrはそれぞれ水平及び垂直方向の両方に2倍ずつサブサンプリングされる。異なる水平及び垂直位置を有する4:2:0スキームの3つの変形がある。
● MPEG-2において、CbおよびCrは水平方向に共座している。CbおよびCrは垂直方向の画素間に位置する(格子間に位置する)。
● JPEG/JFIFにおいて、H.261、およびMPEG-1、Cb、およびCrは、交互の輝度サンプルの中間の格子間に位置する。
● 4:2:変数DVにおいて、CbおよびCrは、水平方向に共座している。垂直方向には、それらは交互に共座している。
表3-1.chroma_format_idcおよびseparate_colour_plane_flagから導出したSubWidthCおよびSubHeightCの値
VVCにおけるSPS/PPS/ピクチャヘッダ/スライスヘッダの信号化に関する既存の設計には以下のような問題がある。
1) rect_slice_flagが1に等しい場合、現在のVVCのテキストによれば、以下のようになる。
a.slice_addressは、スライスのサブピクチャレベルのスライスインデックスを表す。
b. サブピクチャレベルのスライスインデックスとは、サブピクチャのスライスをPPSで信号化した順番に並べたリストに対するスライスのインデックスと定義される。
c. ピクチャレベルのスライスインデックスとは、ピクチャ内のスライスをPPSで信号化された順に並べたリストに対するスライスのインデックスと定義される。
d. 異なる2つのサブピクチャに属する2つのスライスについては、サブピクチャインデックスの小さい方が復号順が早くなり、同じサブピクチャに属する2つのスライスについては、サブピクチャレベルのスライスインデックスが小さい方が復号順が早くなる。
e. そして、現在のスライスのCTU数を規定する変数NumCtusInCurrSliceの今回のVVCテキストの式117による導出は、ピクチャレベルのスライスインデックス値の増加順序がスライスの復号順序と同じであることを仮定している。
しかし、1枚のタイルを分割した結果、いくつかのスライスが生じた場合、上記のような点に抵触する可能性がある。図6に示す例では、ピクチャが垂直方向のタイル境界によって2つのタイルに分割され、2つのタイルのそれぞれがピクチャ全体にわたって同じ水平方向の境界によって2つのスライスに分割される場合、上側の2つのスライスが第1サブピクチャに含まれ、下側の2つのスライスが第2サブピクチャに含まれる。この場合、現在のVVCテキストによれば、スライスラスタスキャン順の4つのスライスのピクチャレベルのスライスインデックス値は0、2、1、3となり、スライスラスタスキャン順の4つのスライスの復号順序インデックス値は0、1、2、3ということになる。その結果、NumCtusInCurrSliceの導出が正しくなくなり、スライスデータの解析に問題が生じ、復号化されたサンプル値が正しくなくなり、デコーダがクラッシュする可能性が高くなる。
2)スライス信号方式には2種類ある。矩形モードでは、すべてのスライス分割情報がPPSで信号化される。非矩形モードでは、スライスヘッダでスライス分割情報の一部が通知されるため、このモードではピクチャのすべてのスライスを解析する前にピクチャの完全なスライス分割を知ることができない。
3)矩形モードではtile_idx_deltaを設定することにより、スライスを任意に信号化することができる。邪悪なビットストリームは、このメカニズムでデコーダをクラッシュさせる場合がある。
4)本発明の実施例において、iがnum_slices_in_pic_minus1に等しい場合、初期化されていないtile_idx_delta[i]
上述した課題等を解決するために、以下に示す方法が開示されている。本発明は、一般的な概念を説明するための例と見なされるべきであり、狭い意味で解釈されるべきではない。さらに、本発明は、個々に適用されてもよいし、任意に組み合わせて適用されてもよい。
1. 矩形スライスモードのスライス(rect_slice_flagが1に等しい場合)については、各サブピクチャの各スライスに対するピクチャレベルのスライスインデックスを導出し、その導出した値を用いて各スライスにおけるCTU数を導出する。
2. サブピクチャレベルのスライスインデックスは、以下の方法で定義/導出することができる。
a. 一例では、サブピクチャレベルのスライスインデックスは、“rect_slice_flagが1に等しいとき、そのデコード順でサブピクチャ内のスライスのリストへのスライスのインデックス”と定義される。
b. あるいは、サブピクチャレベルのスライスインデックスは、“rect_slice_flagが1に等しいときのサブピクチャのスライスリストに対するスライスのインデックスで、式32(実施の形態1と同様)で導かれる変数SubpicLevelSliceIdx[i]で規定され、iはそのスライスのピクチャレベルスライスインデックス”として定義される。
c. 一例として、ピクチャレベルのスライスインデックスが特定の値である各スライスのサブピクチャインデックスを導出する。
d. 一例として、ピクチャレベルのスライスインデックスが特定の値である各スライスのサブピクチャレベルのスライスインデックスを導出する。
e. 一例では、rect_slice_flagが1に等しいとき、スライスアドレスのセマンティクスは、“スライスアドレスは、式32で導出される変数SubpicLevelSliceIdx[i]で規定されるスライスのサブピクチャレベルスライスインデックス(例えば、実施形態1のように)、iはそのスライスのピクチャレベルスライスインデックス”と規定される。
3. スライスのサブピクチャレベルのスライスインデックスは、そのスライスを含む最初のサブピクチャ内のスライスに割り当てられる。各スライスのサブピクチャレベルのスライスインデックスは、ピクチャレベルのスライスインデックスをインデックスとする配列(例えば、実施の形態1におけるSubpicLevelSliceIdx[i])に格納されてもよい。
a. 一例として、サブピクチャレベルのスライスインデックスは、非負の整数である。
b. 一例として、スライスのサブピクチャレベルのスライスインデックスの値は、0以上である。
c. ある例では、スライスのサブピクチャレベルのスライスインデックスの値はNより小さく、Nはサブピクチャのスライス数である。
d. 一例として、第1スライス(スライスA)の第1サブピクチャレベルのスライスインデックス(subIdxAと表記)は、第1スライスと第2スライス(スライスB)が同じサブピクチャ内にありながら異なる場合、第2スライス(スライスB)の第2サブピクチャレベルのスライスインデックス(subIdxBと表記)と異なる必要がある。
e. 一例では、第1サブピクチャにおける第1スライス(スライスA)の第1サブピクチャレベルのスライスインデックス(subIdxAと表記)が、同じ第1サブピクチャにおける第2スライス(スライスB)の第2サブピクチャレベルのスライスインデックス(subIdxBと表記)より小さい場合、IdxAはIdxBより小さく、idxAとidxBとは全画面に占めるスライスインデックスを表す(a。ここで、idxAはスライスAの、idxBはスライスBの、それぞれピクチャレベルのスライスインデックス(sliceIdxなど)である。
f. 一例として、第1サブピクチャ内の第1スライス(スライスA)の第1サブピクチャレベルのスライスインデックス(subIdxAと表記)が、同じ第1サブピクチャ内の第2スライス(スライスB)の第2サブピクチャレベルのスライスインデックス(subIdxBと表記)より小さい場合、復号順ではスライスAがスライスBより先行する。
g. 一例として、サブピクチャにおけるサブピクチャレベルのスライスインデックスは、ピクチャレベルのスライスインデックス(例えば、sliceIdx)に基づいて導出される。
4. サブピクチャ内のサブピクチャレベルのスライスインデックスとピクチャレベルのスライスインデックスのマッピング関数/テーブルを導出することを提案する。
a. 一例として、二次元配列PicLevelSliceIdx[subPicIdx][SubPicLevelSliceIdx]が、サブピクチャ内のサブピクチャレベルスライスインデックスをピクチャレベルスライスインデックスにマッピングするように導出される。ここで、PicLevelSliceIdxはスライスのピクチャレベルスライスインデックス、subPicIdxはサブピクチャのインデックス、SubPicLevelSliceIdxはサブピクチャのスライスのサブピクチャレベルスライスインデックスを示す。
i. 一例では、配列NumSlicesInSubpic[subPicIdx]がPicLevelSliceIdxの導出に用いられ、NumSlicesInSubpic[subPicIdx]は、subPicIdxに等しいインデックスのサブピクチャにおけるスライス数であることを示す。
1) 一例として、NumSlicesInSubpic[subPicIdx]とPicLevelSliceIdx[subPicIdx][SubPicLevelSliceIdx]は、ピクチャレベルスライスのインデックス順にすべてのスライスをスキャンして一度の処理で導出される。
a. NumSlicesInSubpic[subPicIdx]は、処理前のすべての有効なsubPicIdxに対して0に等しく設定される。
b. ピクチャレベルインデックスがSであるスライスをチェックするとき、それがサブピクチャインデックスがPであるサブピクチャ内にあれば、PicLevelSliceIdx[P][NumSlicesInSubpic[P]]をSとし、次にNumSlicesInSubpic[P]をNumSlicesInSubpic[P]+1とする。
ii. 一例では、SliceIdxInPic[subPicIdx][SubPicLevelSliceIdx]を使用して、ピクチャレベルのスライスインデックス(例えばpicLevelSliceIdx)を導出し、これを使用して、スライスヘッダの解析時にスライス内のCTBの数及び/又はアドレスを導出する。
5. コンフォーマンスビットストリームでは、1つのタイルが2つ以上のサブピクチャに含まれないことが要求される。
6. スライスAはタイルAの中にあるがタイルAより小さく、スライスBはタイルBの中にあるがタイルBより小さく、タイルAとタイルBが異なる場合、一つのサブピクチャはスライスAとスライスBで示される二つのスライスを含むことができないことがコンフォーマンスビットストリームで要求される。
7. ピクチャのタイル及び/又はスライス分割情報を、関連するピクチャヘッダにおいて信号通知することを提案する。
a. 一例では、ピクチャのタイル及び/又はスライス分割情報がPPSで信号通知されるか、関連するピクチャヘッダで信号通知されるかは、関連するPPSで信号通知される。
b. 一例では、ピクチャのタイル及び/又はスライス分割情報が、関連するピクチャヘッダにあるかどうかが信号通知される。
i. 一例として、ピクチャのタイル及び/又はスライス分割情報が、関連するPPSと関連するピクチャヘッダの両方で信号通知されている場合、ピクチャヘッダで信号通知されたピクチャのタイル及び/又はスライス分割情報が使用されることになる。
ii. 一例として、ピクチャのタイル及び/又はスライス分割情報が、関連するPPSと関連するピクチャヘッダの両方で信号通知される場合、PPSで信号通知されたピクチャのタイル及び/又はスライス分割情報が使用される。
c. 一例として、ピクチャよりも高いレベル(SPSなど)の映像ユニットにおいて、ピクチャのタイル及び/又はスライス分割情報が、関連するPPSにおいて信号通知されているか、又は関連するピクチャヘッダにおいて信号通知されているかを示すために信号通知される。
8. 非矩形モードで関連ピクチャをスライス分割する場合、スライスレベルより上位の映像ユニット(例えば、PPS及び/又はピクチャヘッダ内)でスライス分割情報を信号通知することを提案する。
a. 一例として、関連するピクチャが非矩形モードでスライス分割されている場合、スライス数を示す情報(例えばnum_slices_in_pic_minus1)が上位の映像ユニットで信号通知されてもよい。
b. 一例として、関連するピクチャが非矩形モードを有するスライスで分割されるとき、上位映像ユニットにおけるスライスの最初のブロックユニットのインデックス(又はアドレス、又は位置、又は座標)を示すための情報である。例えば、ブロック単位は、CTUまたはタイルであってもよい。
c. 一例として、関連するピクチャが非矩形モードでスライス分割されている場合に、上位の映像ユニットにおけるスライスのブロックユニットの数を示すための情報を提供する。例えば、ブロック単位は、CTUまたはタイルであってもよい。
d. 一例では、関連するピクチャが非矩形モードを有するスライスで分割されるとき、スライス分割情報(例えば、num_tiles_in_slice_minus1)は、スライスヘッダで信号通知されない。
e. 一例として、関連するピクチャが非矩形モードでスライスに分割されている場合、スライスインデックスはスライスヘッダで信号通知される。
i. 一例として、slice_addressは、関連するピクチャが非矩形モードでスライスに分割される場合、ピクチャレベルのスライスインデックスとして解釈される。
f. 一例では、関連するピクチャが非矩形モードを有するスライスで分割されるとき、ピクチャ内の各スライスの分割情報(第1ブロックユニットのインデックス及び/又はブロックユニットの数など)は、上位の映像ユニットで順番に信号通知されてもよい。
i. 一例として、関連するピクチャが非矩形モードでスライスに分割されている場合、上位映像ユニットの各スライスに対してスライスのインデックスが信号通知されてもよい。
ii. 一例として、各スライスのパーティショニング情報は、スライスインデックスの昇順で信号通知される。
1) 一例として、各スライスの分割情報は、スライス0、スライス1、...、スライスK-1、スライスK、スライスK+1、...スライスS-2、スライスS-1の順で信号通知し、Kはスライスインデックス、Sはピクチャのスライス枚数を表す。
iii. 一例として、各スライスのパーティショニング情報は、スライスインデックスの降順で信号通知される。
1) 一例として、各スライスの分割情報は、スライスS-2、スライスS-1、...、スライスK+1、スライスK、スライスK-1、...、スライス1、スライス0の順で信号通知し、Kはスライスインデックス、Sはピクチャのスライス数を表す。
iv. 一例として、関連するピクチャが非矩形モードでスライスに分割されている場合、スライスに対する第1ブロックユニットのインデックスは、上位の映像ユニットで信号通知されないことがある。
1) 例えば、スライス0(スライスインデックスが0であるスライス)の最初のブロックユニットのインデックスは0であると推論される。
2) 例えば、スライスK(スライスインデックスがKに等しいスライス、K>0)の最初のブロックユニットのインデックスは、
と推論され、Niはスライスiのブロックユニットの数を表す。
v. 一例として、関連するピクチャが非矩形モードでスライスに分割されている場合、スライスに対する第1ブロックユニットのインデックスは、上位の映像ユニットで信号通知されないことがある。
1) 例えば、スライス0(スライスインデックスが0であるスライス)の最初のブロックユニットのインデックスは0であると推論される。
2) 例えば、スライスK(スライスインデックスがKに等しいスライス、K>0)の最初のブロックユニットのインデックスは、
と推論され、Niはスライスiのブロックユニットの数を表す。
vi. 一例として、関連するピクチャが非矩形モードでスライスに分割されている場合、スライスに対するブロックユニットの数は、上位の映像ユニットで信号通知されないことがある。
1) ピクチャ中にスライスが1つしかなく、ピクチャ中にブロックユニットがM個あるとき、スライス0のブロックユニットの数はM個である。
2) 例えば、スライスK(スライスインデックスが0に等しいスライス)のブロックユニットの数はTK+1-TKと推論され、TKはK<S-1(Sはピクチャのスライス数でS>1)のときのスライスKの最初のブロックユニットのインデックスを表す。
3) 例えば、スライスS-1のブロックユニットの数は
vii. 一例として、関連するピクチャが非矩形モードのスライスで分割されている場合、1つ以上のスライスの分割情報は、上位の映像ユニットで信号通知されない場合がある。
1) 一例として、上位の映像ユニットで信号化しない1つ以上のスライスの分割情報を、信号化される他のスライスの分割情報から推論することができる。
2) 一例として、最後のCスライスの分割情報は信号通知されないことがある。例えば、Cが1に等しい。
3) 例えば、スライスS-1のブロックユニットの数は信号通知されず、Sはピクチャのスライス数で、S>1である。
a. 例えば、スライスS-1のブロックユニットの数は、
と推論され、ピクチャ中にM個のブロックユニットがある。
9. 矩形分割を行うか、非矩形分割を行うかによって、ピクチャの最小スライス数が異なる可能性があることを提案する。
a. 一例として、非矩形分割モードが適用された場合、ピクチャは少なくとも2つのスライスに分割され、矩形分割モードが適用された場合、ピクチャは少なくとも1つのスライスに分割される。
i. 例えば、num_slices_in_pic_minus2プラス2は、非矩形分割モードを適用した場合に、ピクチャのスライス数を規定する信号となる場合がある。
b. 一例として、非矩形分割モードが適用された場合、ピクチャは少なくとも1つのスライスに分割され、矩形分割モードが適用された場合、ピクチャは少なくとも1つのスライスに分割される。
i. 例えば、矩形分割モードを適用した場合、ピクチャのスライス数を規定するnum_slices_in_pic_minus2プラス2が信号通知されることがある。
c. 一例として、ピクチャがサブピクチャに分割されていない場合に矩形分割を適用するか、1つのサブピクチャにのみ分割されている場合に非矩形分割を適用するかによって、ピクチャ内の最小スライス数は異なる場合がある。
10. PPSやピクチャヘッダなどの映像単位で分割情報を信号通知する場合、左上の位置とスライスの幅/高さでスライスを表現することを提案する。
a. 一例として、スライスの左上のブロックユニット(CTUやタイルなど)のインデックス/位置/座標、及び映像単位(CTUやタイルなど)で測定した幅、及び映像ユニット(CTUやタイルなど)で測定した高さが信号通知される。
b. 一例として、左上の位置と各スライスの幅/高さの情報を順番に信号通知する。
i. 例えば、左上の位置や各スライスの幅/高さの情報は、0、1、2、...、S-1(Sはピクチャのスライス数)のようにスライスインデックスの昇順で信号通知される。
11. サブピクチャ内のスライスの分割情報(位置/幅/高さなど)をSPS/PPS/ピクチャヘッダなどの映像ユニットで信号通知することを提案する。
a. 一例として、各サブピクチャのスライス分割情報を順番に信号通知する。
i. 例えば、各サブピクチャのスライス分割情報は、サブピクチャのインデックスの昇順で信号通知される。
b. 一例として、サブピクチャ内の各スライスの分割情報(位置/幅/高さなど)が順番に信号通知される。
i. 一例として、サブピクチャ内の各スライスの分割情報(位置/幅/高さなど)は、サブピクチャレベルのスライスインデックスで昇順に信号通知される。
12. i番目の矩形スライスの最初のタイルのタイルインデックスと(i+1)番目の矩形スライスの最初のタイルのタイルインデックスとの差(tile_idx_delta[i]とする)を信号通知せず、導出することを提案する。
a. 一例として、0番目の矩形スライスからi番目の矩形スライスまでの矩形スライスに基づいて、(i+1)番目の矩形スライスにおける最初のタイルのタイルインデックスを導出する。
b. 一例として、(i+1)番目の矩形スライスにおける最初のタイルのタイルインデックスは、0th番目の矩形スライスからi番目の矩形スライスまで、矩形スライス内にないタイルの最小インデックスであると導出される。
13. タイルの列数/行数(例えばNumTileColumns又はNumTileRows)を導出するための情報の信号通知は、ピクチャの幅とCTUのサイズとの関係を条件とすることを提案する。
a. 例えば、ピクチャの幅がCTUのサイズ又は幅より小さいか等しい場合、num_exp_tile_columns_minus1及び/又はtile_column_width_minus1が信号通知されない場合がある。
b. 例えば、ピクチャの高さがCTUのサイズ又は高さより小さいか又は等しい場合、num_exp_tile_rows_minus1及び/又はtile_row_height_minus1が信号通知されないことがある。
14. slice_subpic_idが存在する場合、SubpicIdVal[CurrSubpicIdx]がslice_subpic_idと等しいことを満たすCurrSubpicIdxは1つだけでなければならない。
15. rect_slice_flagが0、又はsubpic_info_present_flagが0の場合、slice_address+iの値は、iが0からnum_tiles_in_slice_minus1の範囲(両端含む)において、slice_address+jの値に一致しないものとし、ここでjは、同じコーディングされたピクチャの他のコーディングされたスライスNALユニットの0からnum_tiles_in_slice_minus1の範囲(両端含む)で、iはその範囲にある。
16. ピクチャ内に均一間隔のタイルと非均一間隔のタイルが存在する場合、PPS(又はSPS)において、タイルレイアウトのタイプを規定する構文要素を信号通知することができる。
a. 一例として、PPSで信号通知される構文フラグがあり、タイルレイアウトが非均一間隔の後に均一間隔が続くか、均一間隔の後に非均一間隔が続くかを指定することができる。
b. 例えば、不均一な間隔のタイルがあるときはいつでも、明確に提供されるタイル列/行の数(例えば、num_exp_tile_columns_minus1、num_exp_tile_rows_minus1)は不均一タイルの総数と同程度であり得る。
c. 例えば、均一な間隔のタイルがあるときはいつでも、明確に提供されるタイル列/行の数(例えば、num_exp_tile_columns_minus1、num_exp_tile_rows_minus1)は均一タイルの総数よりも少ないか、等しくなり得る。
d. タイルのレイアウトが、均一な間隔の後に不均一な間隔が続くような場合(つまり、均一な間隔のタイルで始まり、複数の不均一な間隔のタイルで終わるような絵の場合)、
i. 一例では、ピクチャの後者に位置する非均一間隔タイルのタイル列の幅は、まず逆順に割り当てられ(すなわち、タイルインデックスの順序がNumTileColumns、NumTileColumns-1、NumTileColumns-2、...に等しい)、次にピクチャの前者に位置する均一間隔タイルのタイル列の幅は逆順に暗に導き出されてもよい(すなわち、タイルインデックスの順序がNumTileColumns-T,NumTileColumns-T-1,...,2,1,0に等しく、ここでTは不均一なタイル列の数を示す)。
ii. タイル列の高さは、前述したタイル列の幅と同様にして求めることができる。
17. 二つの矩形スライス(一方がi番目のスライス)の代表的なタイルインデックスの差を規定する構文要素(例えばtile_idx_delta[i])は、条件が真である場合にのみ使用することが可能である。
a. 一例として、条件は(i!=num_slices_in_pic_minus1)であり、num_slices_in_pic_minus1プラス1がピクチャ中のスライス数を表している。
b. 一例として、条件は(i!=num_slices_in_pic_minus1)であり、num_slices_in_pic_minus1プラス1がピクチャ中のスライス数を表している。
18. マージ推定領域(MER)サイズ(例えばlog2_parallel_merge_level_minus2で信号通知される)を信号通知するか、及び/又は解釈するか、又は制限するかは、最小許容コーディングブロックサイズ(例えばlog2_min_luma_coding_block_size_minus2及び/又はMinCbSizeYとして信号通知/表示される)によっても決まりうる。
a. 一例として、MERのサイズは、最小許容コーディングブロックサイズより小さくできないことが要求される。
i. 例えば、log2_parallel_merge_level_minus2はlog2_min_luma_coding_block_size_minus2と同等かそれ以上であることが必要である。
ii. 例えば、log2_parallel_merge_level_minus2はlog2_min_luma_coding_block_size_minus2からCtbLog2SizeY-2の範囲であることが必要である。
b. 一例として、Log2(MERサイズ)とLog2(MinCbSizeY)の差を信号通知とし、これをlog2_parallel_merge_level_minus_log2_mincbと表現する。
i. 例えば、log2_parallel_merge_level_minus_log2_mincbは単項のコード(ue)でコーディングされる。
ii. 例えば、log2_parallel_merge_level_minus_log2_mincbは、0からCtbLog2SizeY-log2_min_luma_coding_block_size_minus2-2の範囲であることが必要である。
iii. 例えば、Log2ParMrgLevel=log2_parallel_merge_level_minus_log2_mincb+log2_min_luma_coding_block_size_minus2+2、ここでLog2ParMrgLevelはMERサイズの制御に使用される。
19. num_exp_slices_in_tile[i]が0に等しい場合、i番目のスライスのCTU行のユニットでのスライス高、例えば、sliceHeightInCtus[i]と表記することが提案される。
a. 一例では、sliceHeightInCtus[i]は、num_exp_slices_in_tile[i]が0に等しいとき、RowHeight[SliceTopLeftTileIdx[i]/NumTileColumns]に等しいように導出される。
20. ピクチャのi番目のスライスを含むタイルの(num_exp_slices_in_tile[i]-1)番目のスライスは常に存在し、高さは常にexp_slice_height_in_ctus_minus1[i][num_exp_slices_in_tile[i]-1]+1CTU行とすることが提案される。
a. あるいは、ピクチャのi番目のスライスを含むタイルの(num_exp_slices_in_tile[i]-1)番目のスライスは存在してもしなくてもよく、高さはexp_slice_height_in_ctus_minus1[i][num_exp_slices_in_tile[i]-1]+1CTU行以下である。
21. 矩形スライスの情報導出の際、num_slices_in_pic_minus1より小さいピクチャレベルのスライスインデックスを持つスライスに対してのみ変数tileIdxを更新する、すなわちPPSを参照する各ピクチャの最後のスライスに対しては更新しないことが提案される。
22. PPSを参照するピクチャでは、num_exp_tile_columns_minus1番目のタイル列が常に存在し、幅は常にtile_column_width_minus1[num_exp_tile_columns_minus1]+1CTBsであることが提案される。
23. PPSを参照するピクチャでは、num_exp_tile_rows_minus1番目のタイル行が常に存在し、高さは常にtile_column_height_minus1[num_exp_tile_rows_minus1]+1CTBsであること提案される。
24. 最大ピクチャ幅と最大ピクチャ高さがともにCtbSizeYよりも大きくない場合、sps_num_subpics_minus1の構文要素の信号通知をスキップすることが提案される。
a. あるいは、追加的に、上記条件が成立する場合、sps_num_subpics_minus1の値は0に等しいと推論される。
25. ピクチャ幅がCtbSizeYよりも大きくない場合、構文要素num_exp_tile_columns_minus1の信号通知はスキップされてもよいことが提案される。
b. あるいは、追加的に、num_exp_tile_columns_minus1の値は、上記条件が真のとき、0に等しいと推論される。
26. ピクチャの高さがCtbSizeYよりも大きくない場合、構文要素num_exp_tile_rows_minus1の信号通知はスキップされてもよいことが提案される。
c. あるいは、追加的に、num_exp_tile_row_minus1の値は、上記条件が真のとき、0に等しいと推論される。
27. num_exp_tile_columns_minus1がPicWidthInCtbsY-1に等しい場合、0からnum_exp_tile_columns_minus1の範囲(両端含む)のiに対する構文要素tile_column_width_minus1[i]の信号通知はスキップされてもよいことが提案される。
d. あるいは、追加的に、tile_column_width_minus1[i]の値は0に等しいと推論される。
28. num_exp_tile_rows_minus1がPicHeightInCtbsY-1に等しい場合、0からnum_exp_tile_rows_minus1の範囲(両端含む)のiに対する構文要素tile_row_height_minus1[i]の信号通知はスキップされてもよいことが提案される。
e. あるいは、追加的に、tile_row_height_minus1[i]の値は0に等しいと推論される。
29. タイルを分割する一様なスライスの高さは、そのタイルのスライスの高さを示すexp_slice_height_in_ctus_minus1[]の最後のエントリで示されることが提案される。ユニフォームスライスとは、明確に信号通知されるスライスより下のスライスを指す。例:uniformSliceHeight=exp_slice_height_in_ctus_minus1[i][num_exp_slices_in_tile[i]-1]+1
30. 「num_exp_tile_columns_minus1」番目のタイル列の幅のリセットを禁止すること、すなわち、ビットストリームから解析された値(例えば、tile_column_width_minus1[num_exp_tile_columns_minus1]で示される)を他の情報を参照せずに直接使用して幅を導出してもよいことが提案される。
a. 一例として、「num_exp_tile_columns_minus1」番目のタイルカラムの幅は、tile_column_width_minus1[num_exp_tile_columns_minus1]プラス1に直接設定される。あるいは、さらに、tile_column_width_minus1[num_exp_tile_columns_minus1]を使用して、num_exp_tile_columns_minus1より大きいインデックスのタイル列の幅を、例えば、6.5.1項で規定されるように導出する。
b. 同様に、「num_exp_tile_columns_minus1」番目のタイル行の高さについては、リセットが禁止されている、つまり、ビットストリームからの解析値(例えば、tile_row_height_minus1[num_exp_tile_columns_minus1]で示される)が他の情報を参照せずに直接高さを導くために使用されてもよい。
i. 一例として、「num_exp_tile_columns_minus1」番目のタイル行の高さは、tile_row_height_minus1[num_exp_tile_columns_minus1]プラス1に直接設定される。あるいは、さらに、tile_row_height_minus1[num_exp_tile_columns_minus1]を用いて、num_exp_tile_columns_minus1より大きいインデックスを持つタイル行の高さを導き出す、例えば、6.5.1項で規定されるように、タイル行を導出する。
31. タイル内の(num_exp_slices_in_tile[i]-1)番目のスライスの高さのリセットを禁止し、すなわち、ビットストリームからの解析値(例えば、exp_slice_height_inctus_minus1[i][num_exp_slices_in_tile[i]-1]で示される)を直接用いて他の情報を参照せずに高さを導出してもよいと提案される。
a. 一例では、タイル内の(num_exp_slices_in_tile[i]-1)番目のスライスの高さは、exp_slice_height_in_ctus_minus1[i][num_exp_slices_in_tile[i]-1]プラス1に直接設定される。あるいは、さらに、num_exp_slices_in_tile[i]-1より大きいインデックスを有するスライスの高さを導出するために、exp_slice_height_in_ctus_minus1[i][num_exp_slices_in_tile[i]-1]が使用されてもよい。
以下の実施例において、追加された部分には太字、下線、イタリック体の文字を付している。削除された部分は[]内にマークされる。
3 定義
…
NumSlicesInSubpic[j]=0
for(i=0;i<=num_slices_in_pic_minus1;i++){
posX=CtbAddrInSlice[i][0]%PicWidthInCtbsY
posY=CtbAddrInSlice[i][0]/PicWidthInCtbsY
for(j=0;j<=sps_num_subpics_minus1;j++){
if((posX>=subpic_ctu_top_left_x[j])&& (32)
(posX<subpic_ctu_top_left_x[j]+subpic_width_minus1[j]+1)&&
(posY>=subpic_ctu_top_left_y[j])&&
(posY<subpic_ctu_top_left_y[j]+subpic_height_minus1[j]+1)){
NumSlicesInSubpic[j]++
}
}
}
…
...
slice_addressは、スライスのスライスアドレスを規定する。存在しない場合、slice_addressの値は0に等しいと推測される。rect_slice_flagが1でNumSlicesInSubpic[CurrSubpicIdx]が1のとき、slice_addressの値は0と推測される.
rect_slice_flagが0に等しい場合、以下が適用される。
- スライスアドレスは、ラスタスキャンタイルインデックスである。
- slice_addressの長さは、Ceil(Log2(NumTilesInPic))ビットである。
- slice_addressの値は、0からNumTilesInPic-1までの範囲内にあるべきである。
そうでない場合(rect_slice_flagが1に等しい場合)、以下が適用される。
- slice_addressの長さは、Ceil(Log2(NumSlicesInSubpic[CurrSubpicIdx]))ビットである。
- slice_addressの値は、0からNumSlicesInSubpic[CurrSubpicIdx]-1までの範囲内とする。
ビットストリーム適合性の要件は、以下の制約が適用されることである。
- rect_slice_flagが0に等しい、又はsubpic_info_present_flagが0に等しい場合、slice_addressの値は、同じコーディングされたピクチャにおいて任意の他のコーディングされたスライスNALユニットのslice_addressの値に等しくてはならない。
- そうでない場合、slice_subpic_id及びslice_address値の組は、同じコーディングされたピクチャにおいて任意の他のコーディングされたスライスNALユニットのslice_subpic_id及びslice_address値の組に等しくてはならない。
- ピクチャのスライスの形状は、各CTUが復号された場合、その左側境界全体及び最上の境界全体が1つのピクチャの境界、又は、以前に復号されたCTUの境界を含むものでなければならない。
...
num_tiles_in_slice_minus1プラス1は、存在する場合、スライス内のタイル数を規定する。num_tiles_in_slice_minus1の値は、0からNumTilesInPic-1までの範囲内にあるべきである。
現在のスライス内のCTUの数を規定する変数NumCtusInCurrSliceと、0からNumCtusInCurrSlice-1の範囲(両端含む)のiについて、スライス内のi番目のCTBのピクチャラスタスキャンアドレスを規定するリストCtbAddrInCurrSlice[i]は、次のように導出される。
if(rect_slice_flag){
[[for(j=0;j<CurrSubpicIdx;j++)
picLevelSliceIdx+=NumSlicesInSubpic[j]}]
NumCtusInCurrSlice=NumCtusInSlice[picLevelSliceIdx]
for(i=0;i<NumCtusInCurrSlice;i++)
CtbAddrInCurrSlice[i]=CtbAddrInSlice[picLevelSliceIdx][i] (117)
}else{
NumCtusInCurrSlice=0
for(tileIdx=slice_address;tileIdx<=slice_address+num_tiles_in_slice_minus1;tileIdx++){
tileX=tileIdx%NumTileColumns
tileY=tileIdx/NumTileColumns
for(ctbY=tileRowBd[tileY];ctbY<tileRowBd[tileY+1];ctbY++){
for(ctbX=tileColBd[tileX];ctbX<tileColBd[tileX+1];ctbX++){
CtbAddrInCurrSlice[NumCtusInCurrSlice]=ctbY*PicWidthInCtb+ctbX
NumCtusInCurrSlice++
}
}
}
}
…
7.3.2.4 ピクチャパラメータセットRBSP構文
num_slices_in_pic_minus1プラス1は、PPSを参照し、各ピクチャの[[矩形]]スライスの数を規定する。num_slices_in_pic_minus1の値は、0からMaxSlicesPerPicture-1の範囲(両端含む)とし、MaxSlicesPerPictureは附属書Aで規定されるものとする。no_pic_partition_flagが1の場合、num_slices_in_pic_minus1の値は0に等しいと推定される。
…
…
slice_addressは、スライスのスライスアドレスを規定する。存在しない場合、slice_addressの値は0に等しいと推測される。rect_slice_flagが1でNumSlicesInSubpic[CurrSubpicIdx]が1のとき、slice_addressの値は0と推測される.rect_slice_flagが0であり、NumSlicesInPicが1である場合、slice_addressの値は0であると推測される
rect_slice_flagが0に等しい場合、以下が適用される。
そうでない場合(rect_slice_flagが1に等しい場合)、以下が適用される。
- スライスアドレスは、スライスのサブピクチャレベルスライスインデックスである。
- slice_addressの長さは、Ceil(Log2(NumSlicesInSubpic[CurrSubpicIdx]))ビットである。
- slice_addressの値は、0からNumSlicesInSubpic[CurrSubpicIdx]-1までの範囲内とする。
ビットストリーム適合性の要件は、以下の制約が適用されることである。
- [[rect_slice_flagが0に等しい、又はsubpic_info_present_flagが0に等しい場合、slice_addressの値は、同じコーディングされたピクチャにおいて任意の他のコーディングされたスライスNALユニットのslice_addressの値に等しくてはならない。
- ピクチャのスライスの形状は、各CTUが復号された場合、その左側境界全体及び最上の境界全体が1つのピクチャの境界、又は、以前に復号されたCTUの境界を含むものでなければならない。
…
現在のスライス内のCTUの数を規定する変数NumCtusInCurrSliceと、0からNumCtusInCurrSlice-1の範囲(両端含む)のiについて、スライス内のi番目のCTBのピクチャラスタスキャンアドレスを規定するリストCtbAddrInCurrSlice[i]は、次のように導出される。
if(rect_slice_flag){
picLevelSliceIdx=slice_address
for(j=0;j<CurrSubpicIdx;j++)
picLevelSliceIdx+=NumSlicesInSubpic[j]
NumCtusInCurrSlice=NumCtusInSlice[picLevelSliceIdx]
for(i=0;i<NumCtusInCurrSlice;i++)
CtbAddrInCurrSlice[i]=CtbAddrInSlice[picLevelSliceIdx][i] (117)
}else{
NumCtusInCurrSlice=0
tileX=tileIdx%NumTileColumns
tileY=tileIdx/NumTileColumns
for(ctbY=tileRowBd[tileY];ctbY<tileRowBd[tileY+1];ctbY++){
for(ctbX=tileColBd[tileX];ctbX<tileColBd[tileX+1];ctbX++){
CtbAddrInCurrSlice[NumCtusInCurrSlice]=ctbY*PicWidthInCtb+ctbX
NumCtusInCurrSlice++
}
}
}
}
7.3.2.4 ピクチャパラメータセットRBSP構文
7.4.3.4 ピクチャパラメータセットRBSP意味論
…
…
7.4.3.4 ピクチャパラメータセットRBSP意味論
…
…
6.5 走査プロセス
6.5.1 CTBラスタスキャン、タイルスキャン、及びサブピクチャスキャン処理
…
矩形スライスの場合、iが0からnum_slices_in_pic_minus1の範囲(両端含む)のリストNumCtusInSlice[i]は、i番目のスライスにおけるCTUの数を規定し、iが0からnum_slices_in_pic_minus1の範囲(両端含む)のリストSliceTopLeftTileIdx[i]は、スライスの左上のタイルのインデックスを規定し、jは0からNumCtusInSlice[i]-1の範囲(両端含む)で、i番目のスライス内のj番目のCTBのピクチャラスタスキャンアドレスを規定し、以下のように導出される。
if(single_slice_per_subpic_flag){
for(i=0;i<=sps_num_subpics_minus1;i++)
NumCtusInSlice[i]=0
for(i=0;i<PicSizeInCtbsY;i++){
sliceIdx=subpic_info_present_flag?CtbToSubpicIdx[i]:0
CtbAddrInSlice[sliceIdx][NumCtusInSlice[sliceIdx]]=i
NumCtusInSlice[sliceIdx]++
}
}else{
tileIdx=0
for(i=0;i<=num_slices_in_pic_minus1;i++)
NumCtusInSlice[i]=0
for(i=0;i<=num_slices_in_pic_minus1;i++){
SliceTopLeftTileIdx[i]=tileIdx
tileX=tileIdx%NumTileColumns
tileY=tileIdx/NumTileColumns
if(i==num_slices_in_pic_minus1){
slice_width_in_tiles_minus1[i]=NumTileColumns-1-tileX
slice_height_in_tiles_minus1[i]=NumTileRows-1-tileY
}
if(slice_width_in_tiles_minus1[i]==0&&slice_height_in_tiles_minus1[i]==0){ (29)
ctbY=tileRowBd[tileY]
for(j=0;j<NumSlicesInTile[i]-1;j++){
AddCtbsToSlice(i,tileColBd[tileX],tileColBd[tileX+1],
ctbY,ctbY+SliceHeightInCtusMinus1[i]+1)
ctbY+=SliceHeightInCtusMinus1[i]+1
i++
}
AddCtbsToSlice(i,tileColBd[tileX],tileColBd[tileX+1],ctbY,tileRowBd[tileY+1])
}else
for(j=0;j<=slice_height_in_tiles_minus1[i];j++)
for(k=0;k<=slice_width_in_tiles_minus1[i];k++)
AddCtbsToSlice(i,tileColBd[tileX+k],tileColBd[tileX+k+1],
tileRowBd[tileY+j],tileRowBd[tileY+j+1])
}
}
7.3.2.3 シーケンスパラメータセットRBSP構文
log2_parallel_merge_level_minu_log2_mincb_coding_block_size_minus2+2は、変数Log2ParMrgLevelの値を規定し、これは8.5.2.3に規定される空間マージ候補の派生処理と、8.5.5.2に規定されるサブブロックマージモードにおける動きベクトル及び参照インデックスの派生処理とにおいて、8.5.2.1項の履歴に基づく動きベクトル予測子リストの更新処理の呼び出しを制御するために使用する。log2_parallel_merge_level_minus_log2_mincbの値は、0からCtbLog2SizeY-log2_min_luma_coding_block_size_minus2-2を含む範囲内とする。変数Log2ParMrgLevelは、以下のように導出される。
Log2ParMrgLevel=log2_parallel_merge_level_minus2+log2_min_luma_coding_block_size_minus2+2 (68)
6.5.1 CTBラスタスキャン、タイルスキャン、及びサブピクチャスキャン処理
...
ピクチャラスタスキャンにおけるCTBアドレスからサブピクチャインデックスへの変換を規定する、0からPicSizeInCtbsY_1までの範囲(両端含む)のctbAddrRのためのリストctbToSubpicIdx[ctbAddrRs]は、以下のように導出される。
for(ctbAddrRs=0;ctbAddrRs<PicSizeInCtbsY;ctbAddrRs++){
posX=ctbAddrRs%PicWidthInCtbsY
posY=ctbAddrRs/PicWidthInCtbsY
ctbToSubpicIdx[ctbAddrRs]=-1
for(i=0;ctbToSubpicIdx[ctbAddrRs]<0&&i<=sps_num_subpics_minus1;i++){ (29)
if((posX>=subpic_ctu_top_left_x[i])&&
(posX<subpic_ctu_top_left_x[i]+subpic_width_minus1[i]+1)&&
(posY>=subpic_ctu_top_left_y[i])&&
(posY<subpic_ctu_top_left_y[i]+subpic_height_minus1[i]+1))
ctbToSubpicIdx[ctbAddrRs]=i
}
}
if(single_slice_per_subpic_flag) {
for(i=0;i<=sps_num_subpics_minus1;i++)
NumCtusInSlice[i]=0
for(i=0;i<PicSizeInCtbsY;i++){
sliceIdx=ctbToSubpicIdx[i]
CtbAddrInSlice[sliceIdx][NumCtusInSlice[sliceIdx]]=i
NumCtusInSlice[sliceIdx]++
}
}else{
tileIdx=0
for(i=0;i<=num_slices_in_pic_minus1;i++)
NumCtusInSlice[i]=0
for(i=0;i<=num_slices_in_pic_minus1;i++){
SliceTopLeftTileIdx[i]=tileIdx
tileX=tileIdx%NumTileColumns
tileY=tileIdx/NumTileColumns
if(sliceWidthInTiles[i]==1&&sliceHeightInTiles[i]==1){ (30)
if(num_exp_slices_in_tile[i]==0){
NumSlicesInTile[i]=1
NumSlicesInTile[i]=j
}
ctbY=tileRowBd[tileY]
for(j=0;j<NumSlicesInTile[i]-1;j++){
AddCtbsToSlice(i,tileColBd[tileX],tileColBd[tileX+1],
ctbY,ctbY+sliceHeightInCtus[i])
ctbY+=sliceHeightInCtus[i]
i++
}
AddCtbsToSlice(i,tileColBd[tileX],tileColBd[tileX+1],ctbY,tileRowBd[tileY+1])
}else
for(j=0;j<sliceHeightInTiles[i];j++)
for(k=0;k<sliceWidthInTiles[i];k++)
AddCtbsToSlice(i,tileColBd[tileX+k],tileColBd[tileX+k+1],
tileRowBd[tileY+j],tileRowBd[tileY+j+1])
}
}
iが0からnum_slices_in_pic_minus1までの範囲(両端含む)にある場合、NumCtusInSlice[i]の値は、0よりも大きいことが、ビットストリーム準拠の要件である。また、iが0からnum_slices_in_pic_minus1の範囲(両端含む)であり、jが0からNumCtusInSlice[i]-1の範囲(両端含む)である行列CtbAddrInSlice[i][j]には、0からPicSizeInCtbsY-1の範囲(両端含む)のすべてのCTBアドレスをそれぞれ一度のみ含まれることが、ビットストリーム準拠の要件である。
...
7.3.2.4 ピクチャパラメータセットRBSP構文
...
tile_idx_delta_present_flagが0に等しい場合、tile_idx_delta[i]構文要素がPPSに含まれていないことを規定し、PPSを参照するすべてのピクチャは、スライスラスタ順に矩形スライス行と矩形スライス列に分割される。tile_idx_delta_present_flagが1に等しい場合、PPSにtile_idx_delta[i]構文要素が存在してもよく、PPSを参照するピクチャのすべての矩形スライスは、iの値の増加によりtile_idx_delta[i]が示す順序で規定されることを規定する。存在しない場合、tile_idx_delta_present_flagの値は0と推測される。
slice_width_in_tiles_minus1[i]プラス1は、i番目の矩形スライスの幅をタイルの列の単位で規定する。slice_width_in_tiles_minus1[i]の値は、0からNumTileColumns-1までの範囲内にあるべきである。
iがnum_slices_in_pic_minus1未満であり、かつNumTileColumnsが1に等しい場合、slice_width_in_tiles_minus1[i]の値は0に等しいと推測される。
slice_height_in_tiles_minus1[i]プラス1は、num_exp_slices_in_tile[i]が0に等しい場合、i番目の矩形スライスの高さをタイル行の単位で規定する。slice_height_in_tiles_minus1[i]の値は、0からNumTileRows-1までの範囲内にあるべきである。
iがnum_slices_in_pic_minus1未満であり、かつslice_height_in_tiles_minus1[i]が存在しない場合、NumTileRows==1?0:slice_height_in_tiles_minus1[i-1]と等しいと推測される。
num_exp_slices_in_tile[i]は、i番目のスライスを含むタイルにおけるスライスのために明確に提供されるスライスの高さの数を規定する(すなわち、タイルインデックスがSliceTopLeftTileIdx[i]に等しいタイル)。num_exp_slices_in_tile[i]の値は、0からRowHeight[SliceTopLeftTileIdx[i]/NumTileColumns]-1の範囲(両端含む)とする。存在しない場合、num_exp_slices_in_tile[i]の値は0に等しいと推測される。
...
6.5.1 CTBラスタスキャン、タイルスキャン、及びサブピクチャスキャン処理
...
rect_slice_flagが1に等しい場合、i番目のスライスにおけるCTUの数を規定するリストNumCtusInSlice[i](iは0からnum_slices_in_pic_minus1の範囲で両端含む)、スライスにおける最初のCTUを含むタイルのタイルインデックスを規定するリストSliceTopLeftTileIdx[i](iは0からnum_slices_in_pic_minus1の範囲で両端含む)、i番目のスライス内のj番目のCTBのピクチャラスタスキャンアドレスを規定する行列CtbAddrInSlice[i][j](iは0からnum_slices_in_pic_minus1の範囲で両端含み、jは0からNumCtusInSlice[i]-1の範囲で両端含む)、i番目のスライスを含むタイル(すなわち、タイルインデックスがSliceTopLeftTileIdx[i]に等しいタイル)内のスライス数を規定する変数NumSlicesInTile[i]は、以下のように導出される。
if(single_slice_per_subpic_flag){
for(i=0;i<=sps_num_subpics_minus1;i++)
NumCtusInSlice[i]=0
for(i=0;i<PicSizeInCtbsY;i++){
sliceIdx=ctbToSubpicIdx[i]
CtbAddrInSlice[sliceIdx][NumCtusInSlice[sliceIdx]]=i
NumCtusInSlice[sliceIdx]++
}
}else{
tileIdx=0
for(i=0;i<=num_slices_in_pic_minus1;i++)
NumCtusInSlice[i]=0
for(i=0;i<=num_slices_in_pic_minus1;i++){
SliceTopLeftTileIdx[i]=tileIdx
tileX=tileIdx%NumTileColumns
tileY=tileIdx/NumTileColumns
if(i<num_slices_in_pic_minus1){
sliceWidthInTiles[i]=slice_width_in_tiles_minus1[i]+1
sliceHeightInTiles[i]=slice_height_in_tiles_minus1[i]+1
}else{
sliceWidthInTiles[i]=NumTileColumns-tileX
sliceHeightInTiles[i]=NumTileRows-tileY
NumSlicesInTile[i]=1
}
if(sliceWidthInTiles[i]==1&&sliceHeightInTiles[i]==1){ (30)
if( num_exp_slices_in_tile[i]==0){
NumSlicesInTile[i]=1
sliceHeightInCtus[i]=RowHeight[SliceTopLeftTileIdx[i]/NumTileColumns]
}
else{
remainingHeightInCtbsY=RowHeight[SliceTopLeftTileIdx[i]/NumTileColumns]
[[for(j=0;j<num_exp_slices_in_tile[i];j++){}]
sliceHeightInCtus[i+j]=exp_slice_height_in_ctus_minus1[i][j]+1
remainingHeightInCtbsY-=sliceHeightInCtus[i+j]
}
[[uniformSliceHeight=sliceHeightInCtus[i+j-1]]]
while(remainingHeightInCtbsY>=uniformSliceHeight){
sliceHeightInCtus[i+j]=uniformSliceHeight
remainingHeightInCtbsY-=uniformSliceHeight
j++
}
if(remainingHeightInCtbsY>0){
sliceHeightInCtus[i+j]=remainingHeightInCtbsY
j++
}
NumSlicesInTile[i]=j
}
ctbY=tileRowBd[tileY]
for(j=0;j<NumSlicesInTile[i]-1;j++){
AddCtbsToSlice(i,tileColBd[tileX],tileColBd[tileX+1],
ctbY,ctbY+sliceHeightInCtus[i])
ctbY+=sliceHeightInCtus[i]
i++
}
AddCtbsToSlice(i,tileColBd[tileX],tileColBd[tileX+1],ctbY,tileRowBd[tileY+1])
}else
for(j=0;j<sliceHeightInTiles[i];j++)
for(k=0;k<sliceWidthInTiles[i];k++)
AddCtbsToSlice(i,tileColBd[tileX+k],tileColBd[tileX+k+1],
tileRowBd[tileY+j],tileRowBd[tileY+j+1])
if(i<num_slices_in_pic_minus1){
if(tile_idx_delta_present_flag)
tileIdx+=tile_idx_delta[i]
else{
tileIdx+=sliceWdithInTiles[i]
if(tileIdx%NumTileColumns==0)
tileIdx+=(sliceHeightInTiles[i]-1)*NumTileColumns
}
}
}
}
...
6.5.1 CTBラスタスキャン、タイルスキャン、及びサブピクチャスキャン処理
タイル列の数を規定する変数NumTileColumns、及びCTBの単位でi番目のタイル列の幅を規定するリストcolWidth[i](iは0からNumTileColumns-1の範囲で両端含む)は、以下のように導出される。
remainingWidthInCtbsY=PicWidthInCtbsY
colWidth[i]=tile_column_width_minus1[i]+1
remainingWidthInCtbsY-=colWidth[i]
}
uniformTileColWidth=tile_column_width_minus1[num_exp_tile_columns_minus1]+1 (23)
while(remainingWidthInCtbsY>=uniformTileColWidth){
colWidth[i++]=uniformTileColWidth
remainingWidthInCtbsY-=uniformTileColWidth
}
if(remainingWidthInCtbsY>0)
colWidth[i++]=remainingWidthInCtbsY
NumTileColumns=i
タイル行の数を規定する変数NumTileRows、及びCTB単位でj番目のタイル行の高さを規定する0からNumTileRows_1までの範囲(両端含む)のjのリストRowHeight[j]は、以下のように導出される。
remainingHeightInCtbsY=PicHeightInCtbsY
RowHeight[j]=tile_row_height_minus1[j]+1
remainingHeightInCtbsY-=RowHeight[j]
}
uniformTileRowHeight=tile_row_height_minus1[num_exp_tile_rows_minus1]+1 (24)
while(remainingHeightInCtbsY>=uniformTileRowHeight){
RowHeight[j++]=uniformTileRowHeight
remainingHeightInCtbsY-=uniformTileRowHeight
}
if(remainingHeightInCtbsY>0)
RowHeight[j++]=remainingHeightInCtbsY
NumTileRows=j
7.3.2.3 シーケンスパラメータセットRBSP構文
本願は、2020年2月21日出願の国際特許出願第PCT/CN2020/076158号の優先権と利益を主張する、2021年2月22日出願の国際特許出願第PCT/CN2021/077216号に基づく。前述のすべての特許出願は、その全体が参照により本明細書に組み込まれる。
Claims (16)
- 規則に従って、1つ以上のスライスを含む映像タイルを備える映像ピクチャを含む映像と前記映像のビットストリームとの間の変換を行うこと、を含む映像処理方法であって、
前記規則は、ピクチャ内の第1スライスを含むタイル内の第2スライスがコーディングツリーユニットの単位で表される高さを有することを規定し、
前記第1スライスは第1スライスインデックスを有し、
前記第2スライスは、前記第1スライスインデックスと前記映像タイルにおける明確に提供されるスライス高さの数とに基づき判定される第2スライスインデックスを有し、
前記第2スライスの前記高さは、前記第1スライスインデックスおよび前記第2スライスインデックスに基づき判定される、映像処理方法。 - 前記第1スライスインデックスはiとして表され、
前記第2スライスインデックスは、(num_exp_slices_in_tile[i]-1)として表され、num_exp_slices_in_tileは、前記映像タイルにおいて明確に提供されるスライス高さの数を規定し、
前記第2スライスの前記高さは、exp_slice_height_in_ctus_minus1[i][num_exp_slices_in_tile[i]-1]+1に基づき判定され、
exp_slice_height_in_ctus_minus1は、前記映像タイルにおいてコーディングツリーユニットの前記単位でスライス高さを規定する、請求項1に記載の方法。 - 前記映像タイルを分割する均一なスライスの高さが、exp_slice_height_in_ctus_minus1の最後のエントリによって示される、請求項1又は2に記載の方法。
- 前記第2スライスは、常に前記ピクチャ内に存在する、請求項1から3のいずれか1項に記載の方法。
- 前記第2スライスの前記高さは、前記変換のためにリセットされることが許可されない、請求項1から4のいずれか1項に記載の方法。
- (num_exp_slices_in_tile[i]-1)より大きいインデックスを有する第3のスライスの高さが、exp_slice_in_ctus_minus1[i][num_exp_slices_in_tile[i]-1]に基づき判定される、請求項1から4のいずれか1項に記載の方法。
- 前記第2スライスは、前記映像タイル内に存在しない、請求項1から3のいずれか1項に記載の方法。
- 前記第2スライスの前記高さは、exp_slice_height_in_ctus_minus1[i][num_exp_slices_in_tile[i]-1]+1以下である、請求項1から7のいずれか1項に記載の方法。
- 前記変換は、前記映像を前記ビットストリームに符号化することを含む、請求項1~8のいずれか1項に記載の方法。
- 前記変換は、前記映像を前記ビットストリームから復号することを含む、請求項1~8のいずれか1項に記載の方法。
- 映像のビットストリームを記憶するための方法であって、
規則に従って、前記映像のビットストリームをブロックから生成することと、
前記映像は1つ以上のスライスを含む映像タイルを備え、
前記規則は、ピクチャ内の第1スライスを含むタイル内の第2スライスがコーディングツリーユニットの単位で表される高さを有することを規定し、
前記第1スライスは第1スライスインデックスを有し、
前記第2スライスは、前記第1スライスインデックスと前記映像タイルにおける明確に提供されるスライス高さの数とに基づき判定される第2スライスインデックスを有し、
前記第2スライスの前記高さは、前記第1スライスインデックスおよび前記第2スライスインデックスに基づき判定され、
非一時的なコンピュータ可読記録媒体に前記ビットストリームを記憶することと、を備える映像のビットストリームを記憶するための方法。 - 請求項1~11の1項以上に記載の方法を実装するように構成される処理装置を備える、映像復号装置。
- 請求項1~11の1項以上に記載の方法を実装するように構成される処理装置を備える、映像符号化装置。
- コンピュータコードが記憶されたコンピュータプログラム製品であって、前記コードは、プロセッサにより実行されると、前記プロセッサに、請求項1~11のいずれかに記載の方法を実装させるコンピュータプログラム製品。
- 映像処理装置で行われる方法により生成される映像のビットストリームを記憶する非一時的なコンピュータ可読記録媒体であって、前記方法は、
規則に従って、前記映像のビットストリームをブロックから生成することを備え、
前記映像は1つ以上のスライスを含む映像タイルを備え、
前記規則は、ピクチャ内の第1スライスを含むタイル内の第2スライスがコーディングツリーユニットの単位で表される高さを有することを規定し、
前記第1スライスは第1スライスインデックスを有し、
前記第2スライスは、前記第1スライスインデックスと前記映像タイルにおける明確に提供されるスライス高さの数とに基づき判定される第2スライスインデックスを有し、
前記第2スライスの前記高さは、前記第1スライスインデックスおよび前記第2スライスインデックスに基づき判定される、非一時的なコンピュータ可読記録媒体。 - 本明細書に記載の方法、装置、方法に従って生成されたビットストリーム、又はシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2024039105A JP2024081676A (ja) | 2020-02-21 | 2024-03-13 | スライスとタイルピクチャ分割の信号通知 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2020/076158 | 2020-02-21 | ||
CN2020076158 | 2020-02-21 | ||
PCT/CN2021/077216 WO2021164783A1 (en) | 2020-02-21 | 2021-02-22 | Signaling of slice and tile picture partitions |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2024039105A Division JP2024081676A (ja) | 2020-02-21 | 2024-03-13 | スライスとタイルピクチャ分割の信号通知 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023514623A true JP2023514623A (ja) | 2023-04-06 |
JP7495508B2 JP7495508B2 (ja) | 2024-06-04 |
Family
ID=77391818
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022549959A Active JP7495508B2 (ja) | 2020-02-21 | 2021-02-22 | スライスとタイルピクチャ分割の信号通知 |
JP2022549960A Active JP7495509B2 (ja) | 2020-02-21 | 2021-02-22 | 映像コーディングにおけるスライス及びタイル分割 |
JP2024039105A Pending JP2024081676A (ja) | 2020-02-21 | 2024-03-13 | スライスとタイルピクチャ分割の信号通知 |
JP2024039123A Pending JP2024081677A (ja) | 2020-02-21 | 2024-03-13 | 映像コーディングにおけるスライス及びタイル分割 |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022549960A Active JP7495509B2 (ja) | 2020-02-21 | 2021-02-22 | 映像コーディングにおけるスライス及びタイル分割 |
JP2024039105A Pending JP2024081676A (ja) | 2020-02-21 | 2024-03-13 | スライスとタイルピクチャ分割の信号通知 |
JP2024039123A Pending JP2024081677A (ja) | 2020-02-21 | 2024-03-13 | 映像コーディングにおけるスライス及びタイル分割 |
Country Status (7)
Country | Link |
---|---|
US (3) | US11962814B2 (ja) |
EP (2) | EP4097976A4 (ja) |
JP (4) | JP7495508B2 (ja) |
KR (2) | KR20220143822A (ja) |
CN (4) | CN115552899A (ja) |
BR (1) | BR112022016608A2 (ja) |
WO (4) | WO2021164783A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR112022019661A2 (pt) * | 2020-03-31 | 2022-11-29 | Sharp Kk | Aparelho de decodificação de vídeo, aparelho de codificação de vídeo, método de decodificação de vídeo e método de codificação de vídeo |
CN114584806A (zh) * | 2022-03-07 | 2022-06-03 | 湖南国科微电子股份有限公司 | 视频源文件的处理方法、视频播放方法、装置及设备 |
WO2024179418A1 (en) * | 2023-02-27 | 2024-09-06 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7965296B2 (en) * | 2006-06-20 | 2011-06-21 | Via Technologies, Inc. | Systems and methods for storing texture map data |
US20080285652A1 (en) * | 2007-05-14 | 2008-11-20 | Horizon Semiconductors Ltd. | Apparatus and methods for optimization of image and motion picture memory access |
US8990435B2 (en) | 2011-01-17 | 2015-03-24 | Mediatek Inc. | Method and apparatus for accessing data of multi-tile encoded picture stored in buffering apparatus |
US9325999B2 (en) | 2011-03-10 | 2016-04-26 | Sharp Kabushiki Kaisha | Video decoder for slices |
US8767824B2 (en) | 2011-07-11 | 2014-07-01 | Sharp Kabushiki Kaisha | Video decoder parallelization for tiles |
US9332259B2 (en) * | 2012-01-18 | 2016-05-03 | Qualcomm Incorporated | Indication of use of wavefront parallel processing in video coding |
CN103220507B (zh) * | 2012-01-19 | 2018-04-20 | 中兴通讯股份有限公司 | 一种视频编解码方法及系统 |
CA2898147C (en) * | 2012-01-30 | 2017-11-07 | Samsung Electronics Co., Ltd. | Method and apparatus for video encoding for each spatial sub-area, and method and apparatus for video decoding for each spatial sub-area |
TWI752680B (zh) | 2012-04-13 | 2022-01-11 | 美商Ge影像壓縮有限公司 | 用以自資料串流重構圖像的解碼器及方法、用以將圖像編碼入資料串流的編碼器及方法、與相關電腦程式及機器可存取媒體 |
CN115442623B (zh) * | 2012-06-29 | 2024-08-23 | Ge视频压缩有限责任公司 | 解码视频数据流的方法、存储介质、编码器、解码器 |
US20140192899A1 (en) * | 2013-01-09 | 2014-07-10 | Mediatek Inc. | Method and apparatus for referring to bitstream address related information derived from segment of multi-tile picture to determine bitstream start address of tile of multi-tile picture |
GB2516224A (en) | 2013-07-11 | 2015-01-21 | Nokia Corp | An apparatus, a method and a computer program for video coding and decoding |
US20150016503A1 (en) * | 2013-07-15 | 2015-01-15 | Qualcomm Incorporated | Tiles and wavefront processing in multi-layer context |
US11425395B2 (en) * | 2013-08-20 | 2022-08-23 | Google Llc | Encoding and decoding using tiling |
KR101782454B1 (ko) | 2013-12-06 | 2017-09-28 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 이미지 복호화 장치, 이미지 부호화 장치, 및 부호화된 데이터 변환 장치 |
WO2016090568A1 (en) * | 2014-12-10 | 2016-06-16 | Mediatek Singapore Pte. Ltd. | Binary tree block partitioning structure |
GB2539461B (en) * | 2015-06-16 | 2020-01-08 | Canon Kk | Image data encapsulation |
ES2710234B1 (es) | 2015-09-11 | 2020-03-09 | Kt Corp | Procedimiento y dispositivo para procesar señales de vídeo |
CN116156163A (zh) * | 2016-03-30 | 2023-05-23 | 韩国电子通信研究院 | 使用画面划分信息对视频进行编码和解码的方法和设备 |
KR102424829B1 (ko) * | 2017-02-22 | 2022-07-25 | 에스케이텔레콤 주식회사 | 비디오 데이터가 부호화된 비트스트림을 처리하는 방법 |
US11039143B2 (en) * | 2017-11-20 | 2021-06-15 | Qualcomm Incorporated | Memory reduction for context initialization with temporal prediction |
CN110662057B (zh) * | 2018-06-29 | 2022-06-21 | 北京字节跳动网络技术有限公司 | 视频处理方法、装置、设备以及存储比特流的方法 |
EP3818716A4 (en) * | 2018-07-02 | 2022-06-01 | Nokia Technologies Oy | DEVICE, METHOD AND COMPUTER PROGRAM FOR VIDEO ENCODING AND DECODING |
US11290728B2 (en) * | 2018-07-02 | 2022-03-29 | Nokia Technologies Oy | Method and apparatus for tile-relative addressing in video coding |
CN118301325A (zh) | 2018-07-04 | 2024-07-05 | 松下电器(美国)知识产权公司 | 编码方法、解码方法、和非暂时性的计算机可读介质 |
CN118118693A (zh) | 2018-11-30 | 2024-05-31 | 夏普株式会社 | 用于对视频数据进行解码或编码的方法和设备 |
EP4373084A2 (en) | 2018-12-31 | 2024-05-22 | Huawei Technologies Co., Ltd. | An encoder, a decoder and corresponding methods for tile configuration signaling |
WO2020209478A1 (ko) * | 2019-04-08 | 2020-10-15 | 엘지전자 주식회사 | 픽처를 복수의 타일들로 분할하는 방법 및 장치 |
WO2020256442A1 (ko) * | 2019-06-20 | 2020-12-24 | 주식회사 엑스리스 | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 |
WO2021029646A1 (ko) | 2019-08-12 | 2021-02-18 | 한국항공대학교산학협력단 | 하이 레벨 영상 분할과 영상 부호화/복호화 방법 및 장치 |
WO2021049890A1 (ko) * | 2019-09-10 | 2021-03-18 | 주식회사 엑스리스 | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 |
KR20220087514A (ko) | 2019-11-28 | 2022-06-24 | 엘지전자 주식회사 | 영상/비디오 코딩 방법 및 장치 |
CN114902662A (zh) | 2019-12-23 | 2022-08-12 | 华为技术有限公司 | 用于视频译码的跨分量自适应环路滤波 |
WO2021153475A1 (en) * | 2020-01-28 | 2021-08-05 | Sharp Kabushiki Kaisha | Systems and methods for signaling picture information in a slice header in video coding |
WO2021178501A1 (en) * | 2020-03-03 | 2021-09-10 | Bytedance Inc. | Controlling a scaling process using slice header signaling |
-
2021
- 2021-02-22 EP EP21756578.7A patent/EP4097976A4/en active Pending
- 2021-02-22 JP JP2022549959A patent/JP7495508B2/ja active Active
- 2021-02-22 JP JP2022549960A patent/JP7495509B2/ja active Active
- 2021-02-22 WO PCT/CN2021/077216 patent/WO2021164783A1/en unknown
- 2021-02-22 BR BR112022016608A patent/BR112022016608A2/pt unknown
- 2021-02-22 EP EP21757952.3A patent/EP4097988A4/en active Pending
- 2021-02-22 WO PCT/CN2021/077214 patent/WO2021164781A1/en active Application Filing
- 2021-02-22 CN CN202180016194.2A patent/CN115552899A/zh active Pending
- 2021-02-22 KR KR1020227026963A patent/KR20220143822A/ko unknown
- 2021-02-22 WO PCT/CN2021/077215 patent/WO2021164782A1/en unknown
- 2021-02-22 CN CN202180016147.8A patent/CN115211130B/zh active Active
- 2021-02-22 CN CN202180016200.4A patent/CN115211110A/zh active Pending
- 2021-02-22 WO PCT/CN2021/077217 patent/WO2021164784A1/en active Application Filing
- 2021-02-22 KR KR1020227026950A patent/KR20220137903A/ko unknown
- 2021-02-22 CN CN202180016121.3A patent/CN115211124A/zh active Pending
-
2022
- 2022-08-22 US US17/892,866 patent/US11962814B2/en active Active
- 2022-08-22 US US17/892,746 patent/US11917211B2/en active Active
- 2022-08-22 US US17/892,858 patent/US11812067B2/en active Active
-
2024
- 2024-03-13 JP JP2024039105A patent/JP2024081676A/ja active Pending
- 2024-03-13 JP JP2024039123A patent/JP2024081677A/ja active Pending
Non-Patent Citations (4)
Title |
---|
BAE-KEUN LEE, AND DONGSAN JUN: "AHG12: Singalling of rectangular slices", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-Q0228, JPN6023028132, January 2020 (2020-01-01), pages 1 - 5, ISSN: 0005105671 * |
BENJAMIN BROSS, JIANLE CHEN, SHAN LIU, AND YE-KUI WANG: "Versatile Video Coding (Draft 8)", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-Q2001 (version 13), JPN6023028131, 9 February 2020 (2020-02-09), pages 21 - 23, ISSN: 0005196834 * |
KAI ZHANG, ET AL.: "AHG12: A direct signalling method of rectangular slice partitioning", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-R0241, JPN6023028130, April 2020 (2020-04-01), pages 1 - 7, ISSN: 0005105673 * |
SEETHAL PALURI, HENDRY, AND SEUNG HWAN KIM: "[AHG12]: Misc improvements to tile and rectangular slice signalling", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-Q0244-v2, JPN6023028133, January 2020 (2020-01-01), pages 1 - 7, ISSN: 0005105672 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021164782A1 (en) | 2021-08-26 |
US20230027555A1 (en) | 2023-01-26 |
US11917211B2 (en) | 2024-02-27 |
WO2021164783A1 (en) | 2021-08-26 |
EP4097988A4 (en) | 2023-03-01 |
US20230007307A1 (en) | 2023-01-05 |
KR20220137903A (ko) | 2022-10-12 |
JP7495508B2 (ja) | 2024-06-04 |
CN115552899A (zh) | 2022-12-30 |
US11962814B2 (en) | 2024-04-16 |
JP2024081676A (ja) | 2024-06-18 |
CN115211130A (zh) | 2022-10-18 |
EP4097976A1 (en) | 2022-12-07 |
JP2023514624A (ja) | 2023-04-06 |
KR20220143822A (ko) | 2022-10-25 |
CN115211110A (zh) | 2022-10-18 |
CN115211130B (zh) | 2024-04-09 |
WO2021164784A1 (en) | 2021-08-26 |
US11812067B2 (en) | 2023-11-07 |
EP4097988A1 (en) | 2022-12-07 |
EP4097976A4 (en) | 2023-03-01 |
US20220417565A1 (en) | 2022-12-29 |
WO2021164781A1 (en) | 2021-08-26 |
JP7495509B2 (ja) | 2024-06-04 |
BR112022016608A2 (pt) | 2022-10-04 |
JP2024081677A (ja) | 2024-06-18 |
CN115211124A (zh) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7495509B2 (ja) | 映像コーディングにおけるスライス及びタイル分割 | |
JP2023526374A (ja) | サブピクチャサブビットストリーム抽出の改良 | |
KR20220124702A (ko) | 비디오 비트스트림들에서의 값 범위들에 대한 제약들 | |
JP2023515884A (ja) | ビデオ・コーディングにおける低周波ノン・セパラブル変換シグナリング | |
JP7524355B2 (ja) | ビデオコーディングでのサブピクチャ及びタイルの使用 | |
JP2023529431A (ja) | 映像ピクチャにおけるサブピクチャ数の制約 | |
JP2023519937A (ja) | 映像コーディングにおける同一位置に配置されたピクチャに対する制約 | |
KR20220143841A (ko) | 비디오 코딩에서의 픽처 레벨 슬라이스 인덱스의 사용 | |
JP7460784B2 (ja) | スライスおよびタイルを含むピクチャのコーディング | |
JP2023529423A (ja) | 映像コーディングにおけるサブピクチャレベル情報の信号通知 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220829 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220829 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231011 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20231114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240313 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240315 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20240404 |
|
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: 20240523 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7495508 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |