KR20230019846A - 비디오 비트스트림의 서브레이어 시그널링 - Google Patents
비디오 비트스트림의 서브레이어 시그널링 Download PDFInfo
- Publication number
- KR20230019846A KR20230019846A KR1020227042894A KR20227042894A KR20230019846A KR 20230019846 A KR20230019846 A KR 20230019846A KR 1020227042894 A KR1020227042894 A KR 1020227042894A KR 20227042894 A KR20227042894 A KR 20227042894A KR 20230019846 A KR20230019846 A KR 20230019846A
- Authority
- KR
- South Korea
- Prior art keywords
- video
- level
- sli
- bitstream
- subpicture
- Prior art date
Links
- 230000011664 signaling Effects 0.000 title description 9
- 238000000034 method Methods 0.000 claims abstract description 75
- 238000006243 chemical reaction Methods 0.000 claims abstract description 13
- 238000013488 ordinary least square regression Methods 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 10
- 101150055297 SET1 gene Proteins 0.000 claims description 2
- 239000010410 layer Substances 0.000 description 76
- 239000013598 vector Substances 0.000 description 20
- 238000010586 diagram Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 11
- 238000000605 extraction Methods 0.000 description 11
- 238000012952 Resampling Methods 0.000 description 8
- 238000013139 quantization Methods 0.000 description 8
- 230000015654 memory Effects 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 5
- 238000003672 processing method Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 239000002356 single layer Substances 0.000 description 5
- 208000034188 Stiff person spectrum disease Diseases 0.000 description 4
- 229920010524 Syndiotactic polystyrene Polymers 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 208000012112 ischiocoxopodopatellar syndrome Diseases 0.000 description 4
- 238000002490 spark plasma sintering Methods 0.000 description 4
- 108091000069 Cystinyl Aminopeptidase Proteins 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 3
- 102100020872 Leucyl-cystinyl aminopeptidase Human genes 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006837 decompression 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
- 230000002688 persistence Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 101150114515 CTBS gene Proteins 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002441 reversible effect 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
- 230000008685 targeting Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/146—Data rate or code amount at the encoder output
-
- 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/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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Aiming, Guidance, Guns With A Light Source, Armor, Camouflage, And Targets (AREA)
Abstract
몇 개의 비디오 인코딩 및 비디오 디코딩 기술이 기재된다. 일 예의 방법은 규칙에 따라 비디오 및 하나 이상의 출력 레이어 세트(OLS)를 포함하는 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함한다. 상기 규칙은, 서브픽처 레벨 정보(SLI) 추가 인핸스먼트 정보(SEI) 메시지가 SLI SEI 메시지가 적용되는 하나 이상의 OLS의 코딩된 비디오 시퀀스의 세트의 서브픽처 시퀀스의 레벨에 대한 정보를 포함함을 명시한다. 상기 SLI SEI 메시지의 신택스 구조는 적어도 (1) 상기 서브픽처 시퀀스에 대한 최대수의 서브레이어를 명시하는 제1 신택스 요소, 및 (2) 상기 서브픽처 시퀀스에 대한 레벨 정보가 하나 이상의 서브레이어 표현에 대해 존재하는지를 명시하는 제2 신택스 요소를 포함한다.
Description
관련 출원의 상호 참조
파리 협약에 따른 적용가능한 특허법 및/또는 규칙에 따라, 본 출원은 2020년 6월 8일에 제출된 미국 가출원 번호 63/036,365에 대한 우선권과 혜택을 적시에 청구하기 위하여 만들어졌다. 법 하의 모든 목적을 위해, 상술한 출원의 전체 개시물은 본 출원의 개시의 일부로서 참고로 통합된다.
본 문서는 이미지 및 비디오 코딩에 관한 것이다.
디지털 비디오는 인터넷 및 다른 디지털 통신 네트워크 상에서 가장 큰 대역폭 사용을 차지한다. 비디오를 수신하고 디스플레이할 수 있는 연결된 사용자 장치의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 요구가 계속 증가할 것으로 기대된다.
본 문서는 비디오 또는 이미지의 코딩된 표현을 처리하는 비디오 인코더 및 디코더에 의해 사용될 수 있는 기술을 개시한다.
일 예시적인 양태에서, 비디오 데이터를 프로세싱하는 방법이 개시된다. 방법은 규칙에 따라 비디오 및 하나 이상의 출력 레이어 세트(OLS)를 포함하는 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함한다. 상기 규칙은, 서브픽처 레벨 정보(SLI) 추가 인핸스먼트 정보(SEI) 메시지가 SLI SEI 메시지가 적용되는 하나 이상의 OLS의 코딩된 비디오 시퀀스의 세트의 서브픽처 시퀀스의 레벨에 대한 정보를 포함함을 명시한다. 상기 SLI SEI 메시지의 신택스 구조는 (1) 상기 서브픽처 시퀀스에 대한 최대수의 서브레이어를 명시하는 제1 신택스 요소, (2) 상기 서브픽처 시퀀스에 대한 레벨 정보가 하나 이상의 서브레이어 표현에 대해 존재하는지를 명시하는 제2 신택스 요소, 및 (3) 비트스트림 레벨 제한의 프랙션(fraction)과 각각의 서브픽처 시퀀스가 따르는 레벨을 나타내는 레벨 지시자와 각각 연관된 서브레이어의 수에 대한 루프를 포함한다.
다른 예시적인 양태에서, 비디오 데이터를 프로세싱하는 방법이 개시된다. 방법은 규칙에 따라 하나 이상의 출력 레이어 세트(OLS)를 포함하는 비디오의 현재 액세스 유닛과 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함한다. 상기 규칙은, 서브픽처 레벨 정보(SLI) 추가 인핸스먼트 정보(SEI) 메시지가 SLI SEI 메시지가 적용되는 하나 이상의 OLS의 코딩된 비디오 시퀀스의 세트의 서브픽처 시퀀스의 레벨에 대한 정보를 포함함을 명시한다. 상기 SLI SEI 메시지는 디코딩 순서로 현재 액세스 유닛으로부터 비트스트림의 끝까지 또는 SLI SEI 메시지와 다른 컨텐츠를 포함하는 후속의 SLI SEI 메시지를 포함하는 다음의 액세스 유닛까지 지속적으로 유지된다.
다른 예시적인 양태에서, 비디오 데이터를 프로세싱하는 방법이 개시된다. 방법은 규칙에 따라 하나 이상의 출력 레이어 세트(OLS)를 포함하는 비디오의 현재 액세스 유닛과 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함한다. 서브픽처 레벨 정보(SLI) 추가 인핸스먼트 정보(SEI) 메시지는 SLI SEI 메시지가 적용되는 하나 이상의 OLS의 코딩된 비디오 시퀀스의 세트의 서브픽처 시퀀스의 레벨에 대한 정보를 포함한다. 서브픽처의 수가 1보다 크다는 것을 나타내는 참조된 시퀀스 파라미터 세트의 변수가 있는 하나 이상의 OLS의 레이어는 멀티서브픽처 레이어라고 한다. OLS 세트의 코딩된 비디오 시퀀스는 타겟 코딩된 비디오 시퀀스(CVS)라고 한다. 규칙은, 서브픽처 시퀀스가 (1) 동일한 서브픽처 인덱스를 갖고 멀티서브픽처 레이어 내의 레이어에 속하는 타겟 CVS 내의 모든 서브픽처 및 (2) 0의 서브픽처 인덱스를 갖고 OLS의 레이어에 속하지만 멀티서브픽처 레이어에는 없는 타겟 CVS 내의 모든 서브픽처를 포함하는 것을 명시한다.
다른 예시적인 양태에서, 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 비디오 서브레이어를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 코딩된 표현은 포맷 규칙을 따르고, 상기 포맷 규칙은 코딩된 표현 내의 서브레이어의 수 이상 반복(loop)하는 신택스 구조 및 상기 신택스 구조에 포함되는 각각의 서브레이어를 나타내는 하나 이상의 신택스 필드를 포함하도록 명시하고, 상기 신택스 구조는 시그널링된 프랙션(fractions) 및 참조 레벨 지시자들에 관한 정보를 포함한다.
다른 예시적인 양태에서, 또다른 비디오 프로세싱 방법이 개시된다. 방법은 하나 이상의 서브픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 변환은 하나 이상의 서브픽처 레벨 정보에 대한 추가 인핸스먼트 정보를 사용하거나 생성한다.
또 다른 예시적인 양태에서, 비디오 인코더 장치가 개시된다. 비디오 인코더는 전술한 방법을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 양태에서, 비디오 디코더 장치가 개시된다. 비디오 디코더는 전술한 방법을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 양태에서, 코드가 저장된 컴퓨터 판독가능 매체가 개시된다. 코드는 프로세서 실행 가능 코드의 형태로 여기에 설명된 방법 중 하나를 구현한다.
이들 및 기타 특징은 본 문서 전체에 걸쳐 설명되어 있다.
도 1은 픽처의 래스터 스캔 슬라이스 분할의 예를 나타내는 도면, 픽처는 12개의 타일 및 3개의 래스터 스캔 슬라이스로 분할됨.
도 2는 픽처의 직사각형 슬라이스 분할의 예를 나타내는 도면, 픽처는 24개의 타일(6개의 타일 열 및 4개의 타일 행) 및 9개의 직사각형 슬라이스로 분할됨.
도 3은 타일 및 직사각형 슬라이스로 분할되는 픽처의 예를 나타내는 도면, 픽처는 4개의 타일(2개의 타일 열 및 2개의 타일 행) 및 4개의 직사각형 슬라이스로 분할됨.
도 4는 15개의 타일, 24개의 슬라이스 및 24개의 서브픽처로 분할되는 픽처를 나타내는 도면.
도 5는 예시적인 비디오 프로세싱 시스템의 블록도.
도 6은 비디오 프로세싱 장치의 블록도.
도 7은 예시적인 비디오 프로세싱 방법의 플로우챠트.
도 8은 본 개시의 일부 실시예에 따른 비디오 코딩 시스템을 나타내는 블록도.
도 9는 본 개시의 일부 실시예에 따른 인코더를 나타내는 블록도.
도 10은 본 개시의 일부 실시예에 따른 디코더를 나타내는 블록도.
도 11은 전형적인 서브픽처 기반 뷰포트 종속 360° 비디오 코딩 스킴의 예를 나타내는 도면.
도 12는 서브픽처 및 공간적 스케일러빌러티에 기초한 뷰포트 종속 360° 비디오 코딩 스킴을 나타내는 도면.
도 13은 본 기술의 하나 이상의 실시예에 따라 비디오 데이터를 프로세싱하는 또다른 방법의 플로우챠트 표현.
도 14는 본 기술의 하나 이상의 실시예에 따라 비디오 데이터를 프로세싱하는 방법의 플로우챠트 표현.
도 15는 본 기술의 하나 이상의 실시예에 따라 비디오 데이터를 프로세싱하는 방법의 플로우챠트 표현
도 2는 픽처의 직사각형 슬라이스 분할의 예를 나타내는 도면, 픽처는 24개의 타일(6개의 타일 열 및 4개의 타일 행) 및 9개의 직사각형 슬라이스로 분할됨.
도 3은 타일 및 직사각형 슬라이스로 분할되는 픽처의 예를 나타내는 도면, 픽처는 4개의 타일(2개의 타일 열 및 2개의 타일 행) 및 4개의 직사각형 슬라이스로 분할됨.
도 4는 15개의 타일, 24개의 슬라이스 및 24개의 서브픽처로 분할되는 픽처를 나타내는 도면.
도 5는 예시적인 비디오 프로세싱 시스템의 블록도.
도 6은 비디오 프로세싱 장치의 블록도.
도 7은 예시적인 비디오 프로세싱 방법의 플로우챠트.
도 8은 본 개시의 일부 실시예에 따른 비디오 코딩 시스템을 나타내는 블록도.
도 9는 본 개시의 일부 실시예에 따른 인코더를 나타내는 블록도.
도 10은 본 개시의 일부 실시예에 따른 디코더를 나타내는 블록도.
도 11은 전형적인 서브픽처 기반 뷰포트 종속 360° 비디오 코딩 스킴의 예를 나타내는 도면.
도 12는 서브픽처 및 공간적 스케일러빌러티에 기초한 뷰포트 종속 360° 비디오 코딩 스킴을 나타내는 도면.
도 13은 본 기술의 하나 이상의 실시예에 따라 비디오 데이터를 프로세싱하는 또다른 방법의 플로우챠트 표현.
도 14는 본 기술의 하나 이상의 실시예에 따라 비디오 데이터를 프로세싱하는 방법의 플로우챠트 표현.
도 15는 본 기술의 하나 이상의 실시예에 따라 비디오 데이터를 프로세싱하는 방법의 플로우챠트 표현
섹션 표제는 이해의 편의를 위해 본 문서에서 사용되며, 각 섹션에 개시된 기술 및 실시예의 적용가능성은 그 섹션에만 제한되지 않는다. 또한, H.266 용어는 단지 이해의 편의를 위해 일부 설명에서 사용되며 개시된 기술의 범위를 제한하기 위한 것이 아니다. 이와 같이, 여기에 기재된 기술은 다른 비디오 코덱 프로토콜 및 설계에 적용가능하다. 본 문서에서, 편집 변경은 VVC 사양의 현재 초안과 관련하여 취소된 텍스트를 나타내는 취소선과 추가된 텍스트(굵은 이탤릭체 포함)를 나타내는 강조 표시로 텍스트에 표시된다.
1. 개요
이 문서는 비디오 코딩 기술에 관한 것이다. 구체적으로, 서브픽처 시퀀스에 대한 레벨 정보 명시 및 시그널링에 관한 것이다. 현재 개발 중인 VVC(Versatile Video Coding)와 같이 단일 레이어 비디오 코딩과 멀티 레이어 비디오 코딩을 지원하는 임의의 비디오 코딩 표준 또는 비표준 비디오 코덱에 적용될 수 있다.
2. 약어
APS
적응 파라미터 세트(Adaptation Parameter Set)
AU
액세스 유닛(Access Unit)
AUD
액세스 유닛 구분자(Access Unit Delimiter)
AVC
어드밴스드 비디오 코딩(Advanced Video Coding)
BP
버퍼링 기간(Buffering Period)
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)
DUI
디코딩 유닛 정보(Decoding Unit Information)
EOB
비트스트림의 끝(End Of Bitstream)
EOS
시퀀스의 끝(End Of Sequence)
GCI
일반 제약 정보(General Constraints Information)
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)
PT
픽처 타이밍(Picture Timing)
PTL
프로파일, 티어, 및 레벨(Profile, Tier and Level)
PU
픽처 유닛(Picture Unit)
RRP
참조 픽처 리샘플링(Reference Picture Resampling)
RBSP
로 바이트 시퀀스 페이로드(Raw Byte Sequence Payload)
SEI
추가 인핸스먼트 정보(Supplemental Enhancement Information)
SH
슬라이스 헤더(Slice header)
SLI
서브픽처 레벨 정보(Subpicture Level Information)
SPS
시퀀스 파라미터 세트(Sequence Parameter Set)
SVC
스케일러블 비디오 코딩(Scalable Video Coding)
VCL
비디오 코딩 레이어(Video Coding Layer)
VPS
비디오 파라미터 세트(Video Parameter Set)
VTM
VVS 테스트 모델(VVC Test Model)
VUI
비디오 사용성 정보(Video Usability Information)
VVC
다목적 비디오 코딩(Versatile Video Coding)
3. 초기 논의
비디오 코딩 표준은 주로 잘 알려진 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(Joint Video Exploration Team)를 설립하였다. 그 후, 많은 새로운 방법이 JVET에 의해 채택되어 왔고, JEM(Joint Exploration Model)이라는 참조 소프트웨어에 적용되었다. JVET 회의는 분기마다 1회 동시 개최되며, 새로운 코딩 표준은 HEVC 대비 50% 비트레이트 감소를 목표로 하고 있다. 새로운 비디오 코딩 표준은 2018년 4월 JVET 회의에서 공식적으로 VVC(Versatile Video Coding)로 명명되었으며, 그 때 VVC 테스트 모델(VTM)의 첫 번째 버전이 출시되었다. VVC 표준화에 기여하는 지속적인 노력이 있기 때문에 모든 JVET 회의에서 새로운 코딩 기술이 VVC 표준에 채택되고 있다. 그런 다음 VVC 작업 초안 및 테스트 모델 VTM이 모든 회의 후에 업데이트된다. VVC 프로젝트는 현재 2020년 7월 회의에서의 기술 완료(FDIS)를 목표로 하고 있다.
3.1 HEVC에서의 픽처 분할 방식
HEVC는 4개의 픽처 분할 방식, 즉, 레귤러 슬라이스, 종속 슬라이스, 타일 및 WPP(Wavefront Parallel Processing)를 포함하며, 이는 MTU(Maximum Transfer Unit) 크기 매칭, 병렬 처리 및 감소된 종단 간 지연(end-to-end delay )에 적용될 수 있다.
레귤러 슬라이스들은 H.264/AVC에서와 유사하다. 각각의 레귤러 슬라이스는 자체 NAL 단위로 캡슐화되며, 인-픽처(in-picture) 예측(인트라 샘플 예측, 모션 정보 예측, 코딩 모드 예측) 및 슬라이스 경계에 걸친 엔트로피 코딩 종속성은 디스에이블된다. 따라서, 레귤러 슬라이스는 (루프 필터링 동작 때문에 상호 종속성이 여전히 있을 수 있지만) 동일한 픽처 내의 다른 레귤러 슬라이스들로부터 독립적으로 복원될 수 있다.
레귤러 슬라이스는 H.264/AVC에서 거의 동일한 형태로 이용가능한 병렬화에 이용될 수 있는 유일한 도구이다.레귤러 슬라이스 기반 병렬화는 (인-픽처 예측으로 인해 일반적으로 프로세서 간 또는 코어 간 데이터 공유보다 훨씬 무거운 예측적으로 코딩된 픽처를 코딩할 때 동작 보상을 위한 프로세서 간 또는 코어 간 데이터 공유 제외하고) 프로세서간 또는 코어간 통신을 필요로 하지 않는다. 그러나, 동일한 이유로, 레귤러 슬라이스들의 사용은 슬라이스 헤더의 비트 비용과 슬라이스 경계에 걸친 예측 부족으로 인한 실질적인 코딩 오버헤드를 일으킬 수 있다. 또한, (이하에서 언급되는 다른 도구와 달리) 레귤러 슬라이스들은 또한, 레귤러 슬라이스들의 인-픽처 독립성과 각각의 레귤러 슬라이스가 자체 NAL 유닛에 캡슐화되기 때문에, MTU 크기 요구사항에 매칭하기 위하여 비트스트림 분할의 핵심 메커니즘 역할을 한다. 많은 경우, 병렬화의 목표와 MTU 크기 매칭의 목표는 픽처의 슬라이스 레이아웃에 대한 요구 사항과 모순된다. 이러한 상황의 실현은 아래에 언급된 병렬화 도구의 개발로 이어졌다.
종속 슬라이스는 짧은 슬라이스 헤더를 가지고 있으며 인-픽처 예측을 깨뜨리지 않고 트리블록 경계에서의 비트스트림의 분할을 허용한다. 기본적으로 종속 슬라이스는, 전체 레귤러 슬라이스의 인코딩이 완료되기 전에 레귤러 슬라이스의 일부가 전송되도록 허용함으로써 감소된 종단 간 지연을 제공하기 위해 다수 NAL 유닛으로의 레귤러 슬라이스의 단편화(fragmentation)를 제공한다.
WPP에서, 픽처는 코딩 트리 블록(CTB)의 단일 행으로 분할된다. 엔트로피 디코딩 및 예측은 다른 분할 내의 CTB의 데이터를 사용하도록 허용된다. CTB 행의 병렬 디코딩을 통해 병렬 처리가 가능하고, 여기서, CTB 행의 디코딩의 시작은 2 CTB만큼 지연되어 대상 CTB가 디코딩되기 전에 대상 CTB의 위쪽 및 오른쪽에 있는 CTB 관련 데이터가 이용가능하도록 보장한다. 이 스태거드(staggered) 시작(그래픽으로 표시할 때 웨이브프론트(wavefront)처럼 나타남)을 사용하여, 픽처가 CTB 행을 포함하는 만큼 많은 프로세서/코어 수만큼 병렬화가 가능하다. 픽처 내의 주변 트리블록 행 간의 인-픽처 예측이 허용되기 때문에, 인-픽처 예측을 가능하게 하는 데 필요한 프로세서 간/코어 간 통신이 상당할 수 있다. WPP 분할은 미적용 시에 비해 추가적인 NAL 유닛 생성을 유발하지 않고, 따라서, WPP는 MTU 크기 매칭을 위한 도구가 아니다. 그러나 MTU 크기 매칭이 필요한 경우, 특정 코딩 오버헤드가 있는 WPP와 함께 레귤러 슬라이스가 사용될 수 있다.
타일은 픽처를 타일 열과 행으로 분할하는 수평 및 수직 경계를 정의한다. 타일 열은 픽처의 위쪽에서 아래쪽으로 이어진다. 마찬가지로, 타일 행은 픽처의 왼쪽에서 그림의 오른쪽으로 이어진다. 픽처 내의 타일 수는, 타일 열 수에 타일 행 수를 곱하여 간단하게 도출될 수 있다.
CTB의 스캔 순서는, 픽처의 타일 래스터 스캔 순서로 다음 타일의 좌측 상부 CTB를 디코딩하기 전에 (타일의 CTB 래스터 스캔 순서로) 타일 내에서 로컬로 변경된다. 레귤러 슬라이스들과 유사하게, 타일은 엔트로피 디코딩 종속성 뿐만 아니라 인-픽처 예측 종속성을 깨뜨린다. 그러나, 개별 NAL 유닛에 포함될 필요는 없다(이 점에서 WPP와 동일). 따라서, 타일은 MTU 크기 매칭에 사용될 수 없다. 각 타일은 하나의 프로세서/코어에 의해 처리될 수 있으며, 주변 타일을 디코딩하는 프로세싱 유닛 간의 인-픽처 예측에 필요한 프로세서/코어 간 통신은, 슬라이스가 하나 이상의 타일을 가로지르는 경우 공유된 슬라이스 헤더를 전달하는 것과 복원된 샘플 및 메타데이터의 루프 필터링 관련 공유로 제한된다. 하나 이상의 타일 또는 WPP 세그먼트가 슬라이스에 포함된 경우, 슬라이스의 첫 번째 타일 또는 WPP 세그먼트 이외의 각 타일 또는 WPP 세그먼트에 대한 진입점 바이트 오프셋이 슬라이스 헤더에서 시그널링된다.
간략화를 위해, HEVC에서 4개의 서로 다른 픽처 분할 스킴의 적용에 대한 제한이 명시되었다. 주어진 코딩된 비디오 시퀀스는 HEVC에 명시된 대부분의 프로파일에 대해 타일과 웨이브프론트(wavefront)를 모두 포함할 수 없다. 각 슬라이스 및 타일에 대해, 다음 조건 중 하나 또는 둘 다 충족되어야 한다: 1) 슬라이스의 모든 코딩된 트리블록은 동일한 타일에 속한다. 2) 타일의 모든 코딩된 트리블록은 동일한 슬라이스에 속한다. 마지막으로, 웨이브프론트 세그먼트에는 정확히 하나의 CTB 행이 포함되며, WPP가 사용 중일 때 슬라이스가 CTB 행 내에서 시작되면 동일한 CTB 행에서 끝나야 한다
HEVC에 대한 최근 개정안은, J. Boyce, A. Ramasubramonian, R. Skupin, G. J. Sullivan, A. Tourapis, Y.-K. Wang(편집자)에 의한, "HEVC 추가 보충 개선 정보(초안 4)", 2017년 10월 24일, http://phenix.int-evry.fr/jct/doc_end_user/documents/29_Macau/wg11/JCTVC -AC1005-v2.zip에서 공개적으로 이용가능한 JCT-VC 출력 문서 JCTVC-AC1005에 명시된다. 이 개정안을 포함하여, HEVC는 3개의 MCTS 관련 SEI 메시지, 즉, 시간적 MCTSs SEI 메시지, MCTSs 추출 정보 세트 SEI 메시지 및 MCTSs 추출 정보 네스팅(nesting) SEI 메시지를 명시한다.
시간적 MCTSs SEI 메시지는 비트스트림에 MCTS가 존재함을 나타내고 MCTSs를 시그널링한다. 각 MCTS에 대해, 모션 벡터는 MCTS 내부의 전체 샘플 위치와 보간을 위해 MCTS 내부의 전체 샘플 위치만 필요한 부분 샘플 위치를 가리키도록 제한되며, MCTS 외부 블록으로부터 도출되는 시간적 모션 벡터 예측을 위한 모션 벡터 후보의 사용은 디스에이블된다. 이와 같이, 각 MCTS는 MCTS에 포함되지 않은 타일의 존재 없이 독립적으로 복호화될 수 있다.
MCTS 추출 정보 세트 SEI 메시지는 MCTS 서브 비트스트림 추출(SEI 메시지의 시맨틱의 일부로 명시됨)에서 MCTS 세트에 대한 적합한 비트스트림을 생성하는 데 사용할 수 있는 보충 정보를 제공한다. 정보는 다수의 추출 정보 세트로 구성되며, 각각은 다수의 MCTS 세트를 정의하고 MCTS 서브 비트스트림 추출 프로세스 동안 사용될 대체 VPS, SPS 및 PPS의 RBSP 바이트를 포함한다. MCTS 서브 비트스트림 추출 과정에 따라 서브 비트스트림을 추출할 때, 파라미터 세트(VPS, SPS, PPS)를 다시 쓰거나 교체해야 하고, 슬라이스 어드레스 관련 신택스 요소(first_slice_segment_in_pic_flag 및 slice_segment_address를 포함) 중의 하나 또는 모두가 일반적으로 상이한 값을 가져야 하기 때문에, 슬라이스 헤더는 약간 업데이트되어야 한다.
3.2 VVC에서의 픽처의 분할
VVC에서, 픽처는 하나 이상의 타일 행과 하나 이상의 타일 열로 분할된다. 타일은 픽처의 직사각형 영역을 덮는 일련의 CTU이다. 타일 내의 CTU는 그 타일 내에서 래스터 스캔 순서로 스캔된다.
슬라이스는 픽처의 타일 내에서 정수개의 완전한 타일 또는 정수개의 연속적인 완전한 CTU 행으로 구성된다.
두 가지 슬라이스 모드, 즉, 래스터 스캔 슬라이스 모드와 직사각형 슬라이스 모드가 지원된다. 래스터 스캔 슬라이스 모드에서, 슬라이스는 픽처의 타일 래스터 스캔에서 완전한 타일의 시퀀스를 포함한다. 직사각형 슬라이스 모드에서, 슬라이스는 픽처의 직사각형 영역을 집합적으로 형성하는 다수의 완전한 타일 또는 픽처의 직사각형 영역을 집합적으로 형성하는 하나의 타일의 다수의 연속적인 완전한 CTU 행을 포함한다. 직사각형 슬라이스 내의 타일은 해당 슬라이스에 해당하는 직사각형 영역 내에서 타일 래스터 스캔 순서로 스캔된다.
서브픽처는 픽처의 직사각형 영역을 집합적으로 커버하는 하나 이상의 슬라이스를 포함한다.
도 1은 픽처의 래스터 스캔 슬라이스 분할의 예를 나타내며, 여기서, 픽처는 12개의 타일과 3개의 래스터 스캔 슬라이스로 분할된다.
도 2는 픽처의 직사각형 슬라이스 분할의 예를 나타내며, 여기서, 픽처는 24개(6개의 타일 열 및 4개의 타일 행) 및 9개의 직사각형 슬라이스로 분할된다.
도 3는 타일 및 직사각형 슬라이스로 분할된 픽처의 예를 나타내며, 여기서, 픽처는 4개(2개의 타일 열 및 2개의 타일 행) 및 4개의 직사각형 슬라이스로 분할된다.
도 4는 픽처의 서브픽처 분할의 예를 나타내고, 여기서, 픽처는 18개의 타일, 즉, 4x4 CTU의 하나의 슬라이스를 각각 커버하는 좌측의 12개 타일, 2x2 CTU의 수직으로 스택된 슬라이스를 각각 커버하는 우측의 6개의 타일로 분할되고, 전체적으로, 변화하는 치수의 24개의 슬라이스 및 24개의 서브픽처를 생성한다(각각의 슬라이스는 서브픽처이다).
3.3. 시퀀스 내의 픽처 해상도 변화
AVC 및 HEVC에서, IRAP 픽처로 새로운 SPS를 사용하는 새로운 시퀀스가 시작되지 않는 한 픽처의 공간 해상도는 변경될 수 없다. VVC는 항상 인트라 코딩되는 IRAP 픽처를 인코딩하지 않고 한 위치에서 시퀀스 내의 픽처 해상도 변화를 가능하게 한다. 이 피처(feature)는 때때로 참조 픽처 리샘플링(RPR)이라고 하는데, 피처는 참조 픽처가 디코딩 중인 현재 픽처와 다른 해상도를 가질 때 인터 예측에 사용되는 참조 픽처의 리샘플링을 필요로 하기 때문이다.
스케일링 비율은 1/2 이상(참조 픽처에서 현재 픽처까지 다운샘플링 2배), 8 이하(업샘플링 8배)로 제한된다. 참조 픽처와 현재 픽처 사이의 다양한 스케일링 비율을 처리하기 위해 서로 다른 주파수 컷오프를 가진 2 세트의 리샘플링 필터가 명시된다. 3 세트의 리샘플링 필터는 1/2에서 1/1.75, 1/1.75에서 1/1.25, 1/1.25에서 8까지의 범위의 스케일링 비율에 대해 각각 적용된다. 각 리샘플링 필터 세트는 루마에 대해 16개의 위상 및 크로마에 대해 32 위상을 가지며, 이는 모션 보상 보간 필터의 경우와 동일하다. 실제로, 정상적인 MC 보간 프로세스는 스케일링 비율이 1/1.25에서 8까지인 리샘플링 프로세스의 특수한 경우이다. 수평 및 수직 스케일링 비율은 픽처의 너비와 높이, 및 참조 픽처와 현재 픽처에 대해 명시된 좌, 우, 상하 스케일링 오프셋을 기반으로 도출된다.
HEVC와 다른 이 피처를 지원하기 위한 VVC 설계의 다른 측면은 다음을 포함한다: i) 픽처 해상도 및 대응하는 적합성 윈도우(conformance window)가 SPS 대신 PPS에서 시그널링되는 반면, SPS에서는 최대 픽처 해상도가 시그널링되고, ii) 단일 레이어 비트스트림의 경우, 각 픽처 스토어(하나의 디코딩된 픽처를 저장하기 위한 DPB의 슬롯)는 최대 픽처 해상도를 갖는 디코딩된 픽처를 저장하는 데 필요한 만큼 버퍼 크기를 차지한다
3.4. 일반 및 VVC에서의 스케일러블 비디오 코딩(SVC)
스케일러블 비디오 코딩(SVC, 때로는 비디오 코딩에서 스케일러빌리티라고도 함)은, 때때로 참조 레이어(RL)라고 하는 베이스 레이어(BL)와 하나 이상의 스케일러블 인핸스먼트 레이어(EL)가 사용되는 비디오 코딩을 나타낸다. SVC에서, 베이스 레이어는 베이스 레벨의 품질로 비디오 데이터를 전달할 수 있다. 하나 이상의 인핸스먼트 레이어는 예를 들어 더 높은 공간, 시간 및/또는 신호 대 잡음(SNR) 레벨을 지원하기 위해 추가 비디오 데이터를 전달할 수 있다. 인핸스먼트 레이어는 이전에 인코딩된 레이어와 관련하여 정의될 수 있다. 예를 들어, 하부(bottom) 레이어는 BL 역할을 하고, 상부 레이어는 EL 역할을 할 수 있다. 중간 레이어는 EL 또는 RL 또는 둘 다의 역할을 할 수 있다. 예를 들어, 중간 레이어(예를 들어, 최하위 레이어 또는 최상위 레이어도 아닌 레이어)는 베이스 레이어 또는 임의의 중간 인핸스먼트 레이어 등의 중간 레이어 아래의 레이어에 대한 EL일 수 있으며, 동시에 중간 레이어 위의 하나 이상의 인핸스먼트 레이어에 대한 RL 역할을 한다. 마찬가지로, HEVC 표준의 3D 확장 또는 멀티뷰에서는, 다중 뷰가 있을 수 있으며, 하나 뷰의 정보는 다른 뷰의 정보를 코딩(예: 인코딩 또는 디코딩)하는 데 활용될 수 있다(예: 움직임 추정, 움직임 벡터 예측 및/또는 다른 리던던시).
SVC에서, 인코더 또는 디코더에 의해 사용되는 파라미터는, 이들이 이용될 수 있는 코딩 레벨(예: 비디오 레벨, 시퀀스 레벨, 픽처 레벨, 슬라이스 레벨 등)에 기초하여 파라미터 세트로 그룹화된다. 예를 들어, 비트스트림에서 상이한 레이어의 하나 이상의 코딩된 비디오 시퀀스에 의해 이용될 수 있는 파라미터는 비디오 파라미터 세트(VPS)에 포함될 수 있고, 코딩된 비디오 시퀀스에서 하나 이상의 픽처에 의해 활용될 수 있는 파라미터는 시퀀스 파라미터 세트(SPS)에 포함될 수 있다. 유사하게, 픽처에서 하나 이상의 슬라이스에 의해 이용되는 파라미터는 픽처 파라미터 세트(PPS)에 포함될 수 있고, 단일 슬라이스에 특정된 다른 파라미터는 슬라이스 헤더에 포함될 수 있다. 유사하게, 특정 레이어가 주어진 시간에 어떤 파라미터 세트(들)를 사용하고 있는지에 대한 표시가 다양한 코딩 레벨에서 제공될 수 있다.
VVC에서의 RPR(Reference Picture Resampling) 지원 덕분에, 여러 레이어(예: VVC에서 SD 및 HD 해상도를 갖는 2개 레이어)를 포함하는 비트스트림의 지원은, 공간 확장성 지원에 필요한 업샘플링이 RPR 업샘플링 필터를 사용할 수 있기 때문에, 추가 신호 처리 수준 코딩 도구의 필요없이 설계될 수 있다. 그럼에도 불구하고, 스케일러빌러티 지원을 위해서는 높은 레벨의 신택스 변경(스케일러빌러티를 지원하지 않는 것에 비해)이 필요하다. 스케일러빌러티 지원은 VVC 버전 1에서 명시된다. AVC 및 HEVC의 확장을 포함하여 이전 비디오 코딩 표준의 스케일러빌러티 지원과 달리, VVC 스케일러빌러티의 설계는 가능한 한 단일 레이어 디코더 설계에 친숙하게 이루어졌다. 멀티 레이어 비트스트림에 대한 디코딩 능력은 비트스트림에 단일 레이어만 있는 것 같은 방식으로 명시된다. 예를 들어, DPB 크기와 같은 디코딩 능력(decoding capability)은 디코딩될 비트스트림 내의 레이어 수와 무관한 방식으로 명시된다. 기본적으로, 단일 레이어 비트스트림용으로 설계된 디코더는 다중 레이어 비트스트림을 디코딩할 수 있도록 많은 변경이 필요하지 않다. AVC 및 HEVC의 멀티레이어 확장 설계와 비교하여, HLS 측면은 약간의 유연성을 희생하면서 상당히 단순화되었다. 예를 들어, IRAP AU는 CVS에 존재하는 각 레이어에 대한 픽처를 포함하는 것이 요구된다.
3.5. 서브픽처에 기초한 뷰포트 종속 360
o
비디오 스트리밍
360° 비디오, 일명, 전방향(omnidirectional) 비디오의 스트리밍에서, 특정 순간에 전체 전방향 비디오 구체(sphere)의 부집합(즉, 현재 뷰포트)만 사용자에게 렌더링되는 반면, 사용자는 언제든지 머리를 돌려 보기 방향과 결과적으로 현재 뷰포트를 변경할 수 있다. 클라이언트에서 사용할 수 있는 현재 뷰포트에 커버되지 않고 사용자가 갑자기 자신의 보기 방향을 구체 상의 어느곳으로든 변경하는 경우에만 사용자에게 렌더링될 준비가 된 영역의 적어도 일부의 저품질 표현을 갖는 것이 바람직한 반면, 전방향 비디오의 고품질 표현은 현재 사용하기 위해 렌더링되고 있는 현재 뷰포트에만 필요하다. 전체 전방향 비디오의 고품질 표현을 적절한 그래뉼러티의 서브픽처로 분할하는 것은 이러한 최적화를 가능하게 한다. VVC를 사용하여, 두 표현은 서로 독립적인 두 레이어로 인코딩될 수 있다.
전형적인 서브픽쳐 기반 뷰포트 종속 360° 비디오 전달 스킴이 도 11에 도시되어 있다. 전체 비디오의 고해상도 표현은 서브픽처로 구성되는 반면, 전체 비디오의 저해상도 표현은 서브픽처를 사용하지 않으며 고해상도 표현보다 덜 빈번한 랜덤 액세스 포인트로 코딩될 수 있다. 클라이언트는 저해상도의 전체 비디오를 수신하고 고해상도 비디오의 경우 현재 뷰포트를 포함하는 서브픽처만 수신 및 디코딩한다.
최신 VVC 드래프트 사양은 도 12에 도시된 바와 같이 개선된 360° 비디오 코딩 스킴도 지원한다. 도 11에 도시된 접근법과 비교한 유일한 차이는 도 12에 도시된 접근법에 대해 레이어간 예측(ILP)이 적용된다는 점이다.
3.6. 파라미터 세트
AVC, HEVC 및 VVC는 파라미터 세트를 명시한다. 파라미터 세트 유형은 SPS, PPS, APS 및 VPS를 포함한다. SPS 및 PPS는 AVC, HEVC 및 VVC 모두에서 지원된다. VPS는 HEVC 이후 도입되었으며 HEVC와 VVC 모두에 포함된다. APS는 AVC 또는 HEVC에 포함되지 않았지만 최신 VVC 초안 텍스트에 포함되었다.
SPS는 시퀀스 레벨 헤더 정보를 전달하도록 설계되었으며, PPS는 드물게 변경되는 픽처 레벨 헤더 정보를 전달하도록 설계되었다. SPS 및 PPS를 사용하면, 각 시퀀스 또는 픽처에 대해 자주 변경되지 않는 정보를 반복할 필요가 없으므로, 이 정보의 중복 시그널링을 피할 수 있다. 또한, SPS 및 PPS의 사용은 중요한 헤더 정보의 대역 외 전송을 가능하게 하고, 따라서, 중복 전송의 필요성을 피할 뿐만 아니라 오류 복원력도 향상시킨다.
VPS는 다중 레이어 비트스트림의 모든 레이어에 공통인 시퀀스 레벨 헤더 정보를 전달하기 위해 도입되었다.
APS는, 코딩하는 데 꽤 많은 비트가 필요한 픽처 레벨 또는 슬라이스 레빌 정보를 전달하기 위하여 도입되었고, 다수의 픽처에 의해 공유될 수 있으며, 시퀀스에서, 꽤 다양한 변형이 있을 수 있다
3.7. 프로파일, 티어 및 레벨
비디오 코딩 표준은 일반적으로 프로파일과 레벨을 명시한다. 일부 비디오 코딩 표준은 티어, 예를 들어, HEVC 및 개발 중인 VVC도 명시한다.
프로파일, 티어 및 레벨은 비트스트림에 대한 제한을 명시하고, 따라서, 비트스트림을 디코딩하는 데 필요한 능력에 대한 제한을 명시한다. 프로파일, 티어 및 레벨은 개별 디코더 구현 간의 상호 운용성 지점을 나타내는데 사용될 수도 있다.
각 프로파일은 해당 프로파일에 맞는 모든 디코더가 지원해야 하는 알고리즘 피처 및 제한의 부집합을 명시한다. 인코더는 프로파일에서 지원되는 모든 코딩 도구 또는 피처를 사용해야 하는 것이 요구되지 않지만 프로파일에 맞는 디코더는 모든 코딩 도구 또는 피처를 지원하도록 요구되는 것에 주의해야 한다.
티어의 각 레벨은 비트스트림 신택스 요소에 의해 취해질 수 있는 값에 대한 제한 세트를 명시한다. 일반적으로 티어 및 레벨 정의의 동일 집합이 모든 프로파일에 사용되지만 개별 구현은 서로 다른 티어를 지원할 수 있으며 티어 내에서 지원되는 각 프로파일에 대해 서로 다른 레벨을 지원할 수 있다. 주어진 프로파일에 대해, 티어의 레벨은 일반적으로 로드 및 메모리 능력을 처리하는 특정 디코더에 해당한다.
비디오 코덱 사양에 맞는 비디오 디코더의 성능은 비디오 코덱 사양에 명시된 프로파일, 티어 및 레벨의 제약 조건에 부합하는 비디오 스트림을 디코딩하는 능력 측면에서 명시된다. 명시된 프로파일에 대한 디코더의 능력을 표현할 때, 해당 프로파일에 대해 지원되는 티어 및 레벨도 표현되어야 한다.
3.8. VVC에서의 서브픽처 시퀀스에 대한 레벨 정보의 명시 및 시그널링
최신 VVC 드래프트 텍스트에서, VVC에서 서브픽처 시퀀스에 대한 레벨 정보의 명시 및 시그널링은 서브픽처 레벨 정보(SLI) SEI 메시지를 통해 이루어지며, VVC의 절 C.7에 명시된 비트스트림 추출 프로세스를 적용함으로써 서브픽처 시퀀스가 비트스트림으로부터 추출될 수 있다.
최신 VVC 드래프트 텍스트에서의 서브픽처 레벨 정보 SEI 메시지의 신택스와 시맨틱은 다음과 같다.
D.7.1. 서브픽처 레벨 정보 SEI 메시지 신택스
D.7.2. 서브픽처 레벨 정보 SEI 메시지 시맨틱
서브픽처 레벨 정보 SEI 메시지는 부록 A에 따라 서브픽처 시퀀스를 포함하는 추출된 비트스트림의 적합성을 테스트할 때 비트스트림 내의 서브픽처 시퀀스가 따르는 레벨에 대한 정보를 포함한다.
서브픽처 레벨 정보 SEI 메시지가 CLVS의 임의의 픽처에 대해 존재하는 경우, 서브픽처 레벨 정보 SEI 메시지는 CLVS의 첫 번째 픽처에 대해 존재해야 한다. 서브픽처 레벨 정보 SEI 메시지는 디코딩 순서로 현재 픽처부터 CLVS의 끝까지 현재 레이어에 대해 지속된다. 동일한 CLVS에 적용되는 모든 서브픽처 레벨 정보 SEI 메시지는 동일한 컨텐츠를 가져야 한다. 서브픽처 시퀀스는 동일한 값의 서브픽처 인덱스를 갖는 CLVS 내의 모든 서브픽처로 구성된다.
서브픽처 레벨 정보 SEI 메시지가 CLVS에 대해 존재할 때 sps_subpic_treated_as_pic_flag[ i ]의 값은 0에서 sps_num_subpics_minus1(포함)까지의 범위에서 i의 각 값에 대해 1과 같아야 하는 것이 비트스트림 적합성의 요구 사항이다.
sli_num_ref_levels_minus1 + 1는 sps_num_subpics_minus1 + 1 서브픽처의 각각에 대하여 시그널링되는 참조 레벨의 수를 명시한다.
0과 동일한 sli_cbr_constraint_flag 는, 추출된 서브 비트스트림에서 임의의 CPB 사양을 이용하는 HRD를 이용하여 절 C.7에 따라 비트스트림의 임의의 서브픽처의 추출 결과 서브 비트스트림을 디코딩하기 위하여, HSS(hypothetical stream scheduler)가 간헐적 비트 레이트 모드에서 동작하는 것을 명시한다. 1과 동일한 sli_cbr_constraint_flag는 HSS가 CBR(constant bit rate) 모드에서 동작하는 것을 명시한다.
1과 동일한 sli_explicit_fraction_present_flag 는 신택스 요소 sli_ref_level_fraction_minus1[ i ]가 존재한다는 것을 명시한다. 0과 동일한 sli_explicit_fraction_present_flag는 신택스 요소 sli_ref_level_fraction_minus1[ i ]가 존재하지 않는 것을 명시한다.
sli_num_subpics_minus1 + 1는 CLVS의 픽처 내의 서브픽처의 수를 명시한다. 존재하면, sli_num_subpics_minus1의 값은 CLVS 내의 픽처에 의해 참조되는 SPS 내의 sps_num_subpics_minus1의 값과 동일해야 한다.
sli_alignment_zero_bit 는 0과 동일해야 한다.
sli_non_subpic_layers_fraction[ i ]는 0과 동일한 sps_num_subpics_minus1를 갖는 비트스트림 내의 레이어와 연관된 비트스트림 레벨 제한의 프랙션(fraction)를 명시한다. vps_max_layers_minus1가 0과 동일하거나 비트스트림 내의 어떤 레이어도 0과 동일한 sps_num_subpics_minus1를 갖지 않으면, sli_non_subpic_layers_fraction[ i ]는 0과 동일해야 한다.
sli_ref_level_idc[ i ]는 부록 A에서 명시된 바와 같이 각각의 서브픽처가 따르는 레벨을 나타낸다. 비트스트림은 부록 A에서 명시된 것 이외의 sli_ref_level_idc의 값을 포함하지 않아야 한다. sli_ref_level_idc[ i ]의 다른 값은 ITU-T | ISO/IEC에 의한 미래 사용을 위해 유보된다. sli_ref_level_idc[ 0 ]의 값이 비트스트림의 general_level_idc의 값과 동일해야 하고 sli_ref_level_idc[ i ]의 값이 sli_ref_level_idc[ k ]보다 작거나 같아야 하는 것이 비트스트림 적합성의 요구사항이며, 여기서, i 의 임의의 값은 0보다 크고 k는 i보다 크다.
sli_ref_level_fraction_minus1[ i ][ j ] + 1는 절 A.4.1에 명시된 바와 같이 j번째 서브픽처가 따르는 sli_ref_level_idc[ i ]와 연관된 레벨 제한의 프랙션을 명시한다.
변수 SubpicSizeY[ j ]는 ( sps_subpic_width_minus1[ j ] + 1 ) * CtbSizeY * ( sps_subpic_height_minus1[ j ] + 1 ) * CtbSizeY와 동일하게 설정된다.
존재하지 않으면, sli_ref_level_fraction_minus1[ i ][ j ]의 값은 Ceil( 256 * SubpicSizeY[ j ] PicSizeInSamplesY * MaxLumaPs( general_level_idc ) MaxLumaPs( sli_ref_level_idc[ i ] ) - 1와 동일한 것으로 추론된다.
변수 LayerRefLevelFraction[ i ][ j ]는 sli_ref_level_fraction_minus1[ i ][ j ] + 1와 동일하게 설정된다.
변수 OlsRefLevelFraction[ i ][ j ]는 sli_non_subpic_layers_fraction[ i ] + ( 256 - sli_non_subpic_layers_fraction[ i ] ) 256 * ( sli_ref_level_fraction_minus1[ i ][ j ] + 1 )와 동일하게 설정된다.
변수 SubpicCpbSizeVcl[ i ][ j ] and SubpicCpbSizeNal[ i ][ j ]는 다음과 같이 도출된다:
절 A.4.2에 명시된 바와 같이 sli_ref_level_idc[ i ]로부터 도출된 MaxCPB에 대하여. 변수 SubpicBitRateVcl[ i ][ j ] and SubpicBitRateNal[ i ][ j ]는 다음과 같이 도출된다:
ValBR의 값은 다음과 같이 도출된다:
-
bit_rate_value_minus1[ Htid ][ ScIdx ]가 VPS 또는 SPS 내의 각각의 HRD 파라미터에서 이용가능하면, ValBR는 ( bit_rate_value_minus1[ Htid ][ ScIdx ] + 1) * 2( 6 + bit_rate_scale ),와 동일하게 설정되고, 여기서, Htid는 고려된 서브레이어어 인덱스이고 ScIdx는 고려된 스케줄 인덱스이다.
-
그렇지 않으면, ValBR는 절 A.4.2에 명시된 바와 같이 sli_ref_level_idc[ 0 ]로부터 도출된 MaxBR 와 동일하게 설정된다.
주 1 - 서브픽처가 추출되면, 결과적인 비트스트림은 SubpicBitRateVcl[ i ][ j ] 및 SubpicBitRateNal[ i ][ j ]보다 크거나 동일한 SubpicCpbSizeVcl[ i ][ j ] 및 SubpicCpbSizeNal[ i ][ j ] 및 (VPS, SPS에서 지시되거나 추론된) BitRate보다 크거나 같은 (VPS, SPS에서 지시되거나 추론된) CpbSize를 갖는다.
추출 프로세스로의 입력 비트스트림 내의 0보다 큰 sps_num_subpics_minus1를 갖는 레이어로부터 j(j는 0에서 sps_num_subpics_minus1(포함)까지의 범위내에 있음)번째 서브픽처를 추출하는 것, 및 0과 동일한 general_tier_flag을 갖는 프로파일과 sli_ref_level_idc[ i ](i는 0에서 num_ref_level_minus1(포함)까지의 범위에 있음)와 동일한 레벨을 따르는 것으로부터 나타나는 비트스트림 내의 각각의 레이어는 부록 C에 명시된 바와 같이 각각의 비트스트림 적합성 테스트에 대하여 다음의 제약을 따라야 하는 것이 비트스트림 적합성의 요구사항이다:
-
Ceil( 256 * SubpicSizeY[ j ] LayerRefLevelFraction[ i ][ j ] )는 MaxLumaPs보다 작거나 동일해야 하고, 여기서, MaxLumaPs는 레벨 sli_ref_level_idc[ i ]에 대하여 표 A.1에 명시된다.
- Ceil( 256 * ( sps_subpic_width_minus1[ j ] + 1 ) * CtbSizeY LayerRefLevelFraction[ i ][ j ] )의 값은 Sqrt( MaxLumaPs * 8 ) 보다 작거나 같아야 한다.
- Ceil( 256 * ( sps_subpic_height_minus1[ j ] + 1 ) * CtbSizeY LayerRefLevelFraction[ i ][ j ] ) 의 값은 Sqrt( MaxLumaPs * 8 ) 보다 작거나 같아야 한다.
-
SubpicWidthInTiles[ j ]의 값은 MaxTileCols보다 작거나 같아야 하고 SubpicHeightInTiles[ j ]의 값은 MaxTileRows보다 작거나 같아야 하고, 여기서, MaxTileCols 및 MaxTileRows는 레벨 sli_ref_level_idc[ i ]에 대하여 표 A.1에서 명시된다.
-
SubpicWidthInTiles[ j ] * SubpicHeightInTiles[ j ]의 값은 MaxTileCols * MaxTileRows * LayerRefLevelFraction[ i ][ j ]보다 작거나 같아야 하고, 여기서 MaxTileCols 및 MaxTileRows 레벨 sli_ref_level_idc[ i ] 에 대하여 표 A.1에서 명시된다.
j(j는 0에서 sps_num_subpics_minus1(포함)까지의 범위내에 있음)번째 서브픽처를 추출하는 것과 0과 동일한 general_tier_flag를 갖는 프로파일과 ref_level_idc[ i ] (i는 0에서 sli_num_ref_level_minus1 (포함)까지의 범위에 있음)와 동일한 레벨을 따르는 것으로부터 나타나는 비트스트림이 부록 C에 명시된 바와 같이 각각의 비트스트림 적합성 테스트에 대하여 다음의 제약을 따라야 하는 것이 비트스트림 적합성의 요구사항이다:
-
j번째 서브픽처에 대응하는 AU0 에 대한 NumBytesInNalUnit 변수의 합은 AU 0의 SubpicSizeInSamplesY의 값에 대한 FormatCapabilityFactor * ( Max(SubpicSizeY[ j ], fR * MaxLumaSr * OlsRefLevelFraction[ i ][ j ] 256 ) + MaxLumaSr * ( AuCpbRemovalTime[ 0 ] - AuNominalRemovalTime[ 0 ] ) * OlsRefLevelFraction[ i ][ j ] ) ( 256 * MinCr ) 보다 작거나 같아야 하고, 여기서, MaxLumaSr 및 FormatCapabilityFactor 각각 레벨 sli_ref_level_idc[ i ]에서 AU0 에 적용되는 표 A2. 및 A.3에 명시된 값이고, MinCr는 A.4.2에 지시된 바와 같이 도출된다.
-
j번째 서브픽처에 대응하는 AUn(n은 0보다 큼)에 대한 NumBytesInNalUnit 변수의 합은 FormatCapabilityFactor * MaxLumaSr * ( AuCpbRemovalTime[ n ] - AuCpbRemovalTime[ n - ] ) * OlsRefLevelFraction[ i ][ j ] ( 256 * MinCr )보다 작거나 같아야 하고, 여기서, MaxLumaSr 및 FormatCapabilityFactor는 각각 레벨 sli_ref_level_idc[ i ]에서 AU n에 적용하는 표 A.2 및 표 A.3에 명시된 값이고, MinCr는 A.4.2에 지시된 바와 같이 도출된다.
서브픽처 시퀀스 레벨 표시자의 값 SubpicLevelIdc은 다음과 같이 도출된다:
general_tier_flag가 0과 동일하고 레벨이 SubpicLevelIdc와 동일한 프로파일을 따르는 서브픽처 시퀀스 비트스트림은 부록 C에 명시된 바와 같이 각각의 비트스트림 적합성 테스트에 대한 다음의 제약을 따라야 한다:
-
VCL HRD 파라미터에 대하여, SubpicCpbSizeVcl[ i ]는 CpbVclFactor * MaxCPB보다 작거나 같아야 하고, 여기서, CpbVclFactor 는 표 A.3에 명시되고, MaxCPB는 CpbVclFactor 비트의 단위로 표 A.1에 명시된다.
-
NAL HRD 파라미터에 대하여, SubpicCpbSizeNal[ i ]는 CpbNalFactor * MaxCPB보다 작거나 같아야 하고, 여기서, CpbNalFactor는 표 A.3에 명시되고, MaxCPB는 CpbNalFactor 비트의 단위로 표 A.1에 명시된다.
-
VCL HRD 파라미터에 대하여, SubpicBitRateVcl[ i ] CpbVclFactor * MaxBR보다 작거나 같아야 하고, 여기서, CpbVclFactor 표 A.3에 명시되고, MaxBR CpbVclFactor 비트의 단위로 표 A.1에 명시된다.
-
NAL HRD 파라미터에 대하여, SubpicBitRateNal[ i ] CpbNalFactor * MaxBR보다 작거나 같아야 하고, 여기서, CpbNalFactor 표 A.3에 명시되고, MaxBR CpbNalFactor 비트의 단위로 표 A.1에 명시된다.
주 2 - 서브픽처 시퀀스가 추출되면, 결과적인 비트스트림은 SubpicCpbSizeVcl[ i ][ j ] 및 SubpicCpbSizeNal[ i ][ j ]보다 크거나 같은 CpbSize(VPS, SPS에서 지시되거나 추론됨) 및 SubpicBitRateVcl[ i ][ j ] 및 SubpicBitRateNal[ i ][ j ]보다 크거나 같은 비트율(BitRate) (VPS, SPS에서 지시되거나 추론됨)을 갖는다.
4. 개시된 기술적 솔루션에 의해 구현되는 기술적 문제점
서브픽처 시퀀스에 대한 레벨 정보의 명시 및 시그널링을 위한 기존의 VVC 설계는 다음과 같은 문제점이 있다.
(1) SLI SEI 메시지는 가장 높은 TemporalId 값에 관계없이 서브픽처 시퀀스에 대한 단일 세트의 레벨 정보만을 시그널링한다. 그러나, 픽처당 단일 서브픽처가 있는 비트스트림과 동일하게, 상이한 서브레이어 표현이 상이한 레벨을 따를 수 있다.
(2) SLI SEI 메시지는 비트스트림을 통해서만 이용가능한 것으로 명시된다. 그러나 파라미터 세트 및 다른 HRD 관련 SEI 메시지와 마찬가지로, SLI SEI 메시지도 외부 수단을 통해 이용가능해져야 한다.
(3) SLI SEI 메시지의 지속성 범위는 하나의 CVS 내에 있도록 명시된다. 그러나 대부분의 경우 SLI SEI 메시지는 다수의 연속적인 CVS에 적용되며 종종 전체 비트스트림에 적용된다.
(4) 서브픽처 시퀀스의 정의는 픽처당 하나의 서브픽처가 있는 하나 이상의 레이어가 있는 경우를 커버하지 않는다.
(5) SLI SEI 메시지가 CVS에 대해 존재할 때 sps_num_subpics_minus1의 값이 픽처당 다수의 서브픽처가 있는 레이어의 픽처가 참조하는 모든 SPS에 대해 동일해야 하는 것을 요구하도록 제약이 생략된다. 그렇지 않으면, sli_num_subpics_minus1의 값이 sps_num_subpics_minus1의 값과 같도록 요구하는 것은 의미가 없다.
(6) sli_num_subpics_minus1의 시맨틱은 픽처당 다수의 서브픽처를 갖는 하나 이상의 레이어가 있는 경우 동작하지 않는다.
(7) 변수 SubpicLevelIdc 및 SubpicLevelIdx는 동일한 원본 비트스트림에서 추출된 상이한 서비픽처 시퀀스가 상이한 레벨을 준수할 수 있으므로 서브픽처 시퀀스 별로 명시될 필요가 있다.
5. 예시적인 실시예 및 솔루션
상기와 같은 문제점을 해결하기 위해 아래와 같은 방법을 개시된다. 발명은 일반적인 개념을 설명하기 위한 예시로 간주되어야 하며 좁은 의미로 해석되어서는 안된다. 또한, 이들 발명은 개별적으로 또는 임의의 방식으로 조합하여 적용될 수 있다.
1)
첫 번째 문제를 해결하기 위해 sli_max_sublayers_minus1, sli_sublayer_info_present_flag, 및 PTL 신택스 구조에서 레벨 정보의 시그널링과 일치하도록 시그널링된 프랙션 및 참조 레벨 지시자에 대한 서브레이어에 대한 루프를 추가한다.
a.
일 예에서, 또한, sli_cbr_constraint_flag는 또한 서브픽처별로 만들어지고, 즉, sli_cbr_constraint_flag[ k ]로 변경되고 서브레이어에 대한 루프 내부로 이동된다.
i.
일 예에서, 또한, 하위 서브레이어에 대한 sli_cbr_constraint_flag[ k ]가 존재하지 않으면, sli_cbr_constraint_flag[ k + 1 ]와 동일한 것으로 추론된다.
b.
일 예에서, 또한, 하위 서브레이어에 대한 프랙션 또는 참조 레벨 지시자가 존재하지 않으면, 다음의 상위 서브레이어와 동일한 것으로 추론된다.
2)
두번째 문제를 해결하기 위하여, SLI SEI 메시지가 비트스트림에서 이용가능하거나 외부 수단을 통해 제공되도록 허용하여 파라미터들 및 다른 3개의 적합성/HRD 관련 SEI 메시지, 즉, PT, BP, DUI SEI 메시지와 일치하도록 한다.
3)
세번째 문제를 해결하기 위하여, 지속성 범위를 하나의 CVS로부터 하나 이상의 CVS로 변경하여 레벨 정보가 시그널링되거나 시그널링될 수 있는 VPS 및 SPS와 일치시킨다.
4)
네번째 문제를 해결하기 위하여, 서브픽처 시퀀스의 정의를 변경하여 픽처당 단일 서브픽처를 갖는 하나 이상의 레이어가 있는 경우를 커버한다.
5)
다섯번째 문제를 해결하기 위하여, SLI SEI 메시지가 CVS에 대해 존재할 때, sps_num_subpics_minus1의 값은 픽처당 다수의 서브픽처를 갖는 레이어의 픽처에 의해 참조되는 모든 SPS에 대하여 동일해야 하는 것이 요구된다.
6)
여섯번째 문제를 해결하기 위하여, 신택스 요소가 픽처당 다수의 서브픽처를 갖는 레이어의 서브픽처에 관한 것이 되도록 sli_num_subpics_minus1의 시맨틱을 명시한다.
7) 일곱번째 문제를 해결하기 위하여, 어레이 인덱스 및 서브픽처 시퀀스의 인덱스를 변수 SubpicLevelIdc 및 SubpicLevelIdx 뿐만 아니라 SLI SEI 메시지의 시맨틱의 제약의 마지막 세트 내의 어레이 SubpicCpbSizeVcl, SubpicCpbSizeNal, SubpicBitRateVcl, 및 SubpicBitRateNal에 추가한다.
6. 실시예
다음은 VVC 사양에 적용될 수 있는 이 섹션에서 위에 요약된 본 발명의 일부 측면에 대한 일부 예시적인 실시예이다. 추가되거나 수정된 대부분의 관련 부분은 굵은 이탤릭체로 밑줄이 그어져 있으며, 일부 삭제된 부분은 [[]]로 표시된다.
6.1 실시예 1
이 실시예는 아이템 1 내지 7 및 그 서브아이템의 일부에 대한 것이다
D.7.1
서브픽처 레벨 정보 SEI 메시지 신택스
D.7.2
서브픽처 레벨 정보 SEI 메시지 시맨틱
서브픽처 레벨 정보(SLI) SEI 메시지는, 부록 A에 따라 서브픽처 시퀀스를 포함하는 추출된 비트스트림의 적합성을 테스트할 때 targetCvss 로 표기되는 SEI 메시지가 적용되는 OLS의 CVS 세트 내의 서브픽처 시퀀스 [[비트스트림]]가 따르는 레벨에 대한 정보를 포함한다. SLI 메시지가 적용되는 OLS는 적용 가능한 OLS 또는 관련 OLS라고도 한다. 이 절의 나머지 부분에 있는 CVS는 적용 가능한 OLS의 CVS를 나타낸다.
[[서브픽처 레벨 정보 SEI 메시지가 CLVS의 임의의 픽처에 대해 존재하는 경우, 서브픽처 레벨 정보 SEI 메시지는 CLVS의 첫 번째 픽처에 대해 존재해야 한다. 서브픽처 레벨 정보 SEI 메시지는 디코딩 순서로 현재 픽처부터 CLVS의 끝까지 현재 레이어에 대해 지속된다. 동일한 CLVS에 적용되는 모든 서브픽처 레벨 정보 SEI 메시지는 동일한 내용을 가져야 한다.]]
SLI SEI 메시지가 CVS의 모든 AU에 대해 존재하는 경우(비트스트림에 있거나 이 사양에 지정되지 않은 외부 수단을 통해 제공됨) SLI SEI 메시지는 CVS의 첫 번째 AU에 대해 존재해야 한다. SLI SEI 메시지는 디코딩 순서로 현재 AU에서 현재 SLI SEI 메시지 또는 비트스트림의 끝과 내용이 다른 SLI SEI 메시지를 포함하는 다음 AU까지 지속된다. 동일한 CVS에 적용되는 모든 SLI SEI 메시지는 동일한 내용을 가져야 한다.
적용 가능한 OLS의 레이어 중 참조된 SPS가 0보다 큰 sps_num_subpics_minus1를 갖는 레이어를 multiSubpicLayers라고 한다.
서브픽처 시퀀스는, 서브픽처 인덱스 subpicIdxA 의 동일한 값을 갖고 multiSubpicLayers의 레이어에 속하는 [[CLVS]] targetCvss 내의 모든 서브픽처와 0과 동일한 서브픽처 인덱스를 갖고 적용가능한 OLS에는 있지만 multiSubpicLayers 에는 없는 레이어에 속하는 targetCvss 내의 모든 서브픽처 로 구성된다. 서브픽처 시퀀스는 서브픽처 인덱스 subpicIdxA에 의해 식별되고 연관된다고 한다 .
[[서브픽처 레벨 정보 SEI 메시지가 CLVS에 대해 존재할 때,]] SLI SEI 메시지가 CVS에 대해 존재할 때, multiSubpicLayers에서 픽처에 의해 참조되는 모든 SPS에 대해, sps_num_subpics_minus1의 값은 동일해야 하고 sps_subpic_treated_as_pic_flag[ i ]의 값은 0에서 sps_num_subpics_minus1(포함)까지의 범위에서 i의 각 값에 대해 1과 같아야 하는 것이 비트스트림 적합성의 요구사항이다.
sli_num_ref_levels_minus1 + 1는 sli_num_subpics_minus1 + 1 서브픽처 시퀀스 의 각각에 대하여 시그널링되는 참조 레벨의 수를 명시한다.
0과 동일한 sli_cbr_constraint_flag 는, 추출된 서브 비트스트림에서 임의의 CPB 사양을 이용하는 HRD를 사용하여 절 C.7에 따라 [[비트스트림의]] 임의의 서브픽처 시퀀스 의 추출로 인한 서브 비트스트림을 디코딩하기 위하여, HSS(hypothetical stream scheduler)가 간헐적 비트 레이트 모드에서 동작하는 것을 명시한다. 1과 동일한 sli_cbr_constraint_flag HSS가 이러한 경우 CBR(constant bit rate) 모드에서 동작하는 것을 명시한다.
1과 동일한 sli_explicit_fraction_present_flag 는 신택스 요소 sli_ref_level_fraction_minus1[ i ]가 존재한다는 것을 명시한다. 0과 동일한 sli_explicit_fraction_present_flag 는 신택스 요소 sli_ref_level_fraction_minus1[ i ]가 존재하지 않음을 명시한다.
sli_num_subpics_minus1 + 1는 targetCvss의 multiSubpicLayers 의 [[CLVS의]] 픽처 내의 서브픽처의 수를 명시한다. 존재하면, sli_num_subpics_minus1의 값은 [[CLVS]] targetCvss의 multiSubpicLayers 의 픽처에 의해 참조되는 SPS들의 sps_num_subpics_minus1의 값과 동일해야 한다.
sli_max_sublayers_minus1 + 1은 SLI SEI 메시지에서 레벨 정보가 표시되는 서브픽처 시퀀스에서 시간적 서브레이어의 최대 수를 명시한다. sli_max_sublayers_minus1의 값은 0에서 vps_max_sublayers_minus1(포함)까지의 범위에 있어야 한다.
1과 동일한 sli_sublayer_info_present_flag는 서브픽처 시퀀스에 대한 레벨 정보가 0에서 sli_max_sublayers_minus1(포함)까지의 범위에서 서브레이어 표현(들)에 대해 존재함을 명시한다. 0과 동일한 sli_sublayer_info_present_flag는 서브픽처 시퀀스에 대한 레벨 정보가 sli_max_sublayers_minus1번째 서브레이어 표현에 대해 존재함을 명시한다. 존재하지 않는 경우 sli_sublayer_info_present_flag의 값은 0으로 추론된다.
sli_alignment_zero_bit 는 0과 동일해야 한다.
sli_non_subpic_layers_fraction[ i ] [ k ] 는 Htid가 k와 동일할 때 0과 동일한 sps_num_subpics_minus1를 갖는 [[비트스트림]] targetCvss 내의 레이어와 연관된 비트스트림 레벨 제한의 i번째 프랙션을 나타낸다. vps_max_layers_minus1가 0과 동일하거나 비트스트림 내의 어떤 레이어도 0과 sps_num_subpics_minus1를 갖지 않으면, sli_non_subpic_layers_fraction[ i ] [ k ] 는 0과 동일해야 한다. K가 is sli_max_sublayers_minus1보다 작고 sli_non_subpic_layers_fraction[ i ][ k ]가 존재하지 않으면, sli_non_subpic_layers_fraction[ i ][ k + 1 ]와 동일한 것으로 추론된다.
sli_ref_level_idc[ i ] [ k ] 는 Htid가 k와 동일할 때 부록 A에서 명시된 바와 같이 각각의 서브픽처 시퀀스 가 따르는 i번째 레벨을 나타낸다. 비트스트림은 부록 A에서 명시된 것과 다른 sli_ref_level_idc [ i ][ k ] 의 값을 포함하지 않아야 한다. sli_ref_level_idc[ i ] [ k ] 의 다른 값은 ITU-T | ISO/IEC에 의한 미래 사용을 위해 유보된다. sli_ref_level_idc[ 0 ] [ k ] 의 값은 비트스트림의 general_level_idc의 값과 동일해야 하고 sli_ref_level_idc[ i ] [ k ] 의 값은 sli_ref_level_idc [ m ] [ k ] 보다 작거나 같아야 하는 것이 비트스트림 적합성의 요구사항이며, 여기서 i 의 임의의 값은 0보다 크고, km은 i보다 크다. k가 sli_max_sublayers_minus1보다 작고 sli_ref_level_idc[ i ][ k ]가 존재하지 않으면, sli_ref_level_idc[ i ][ k + 1 ]와 동일한 것으로 추론된다 .
sli_ref_level_fraction_minus1[ i ][ j ] [ k ] + 1는 Htid가 k와 동일할 때 0보다 큰 sps_num_subpics_minus1를 갖는 targetCvss의 레이어에서 j와 동일한 서브픽처 인덱스를 갖는 서브픽처에 대하여, [[절 A.4.1에 명시된 바와 같이 j번째 서브픽처가 따르는]] sli_ref_level_idc[ i ]와 연관된 레벨 제한의 i번째 프랙션을 명시한다. K가 sli_max_sublayers_minus1보다 작고 sli_ref_level_fraction_minus1[ i ][ j ][ k ]가 존재하지 않으면, sli_ref_level_fraction_minus1[ i ][ j ][ k + 1 ]와 동일한 것으로 추론된다.
변수 SubpicSizeY[ j ]는 ( sps_subpic_width_minus1[ j ] + 1 ) * CtbSizeY * ( sps_subpic_height_minus1[ j ] + 1 ) * CtbSizeY와 동일한 것으로 설정된다.
존재하지 않으면, sli_ref_level_fraction_minus1[ i ][ j ] [ sli_max_sublayers_minus1 ] 의 값은 Ceil( 256 * SubpicSizeY[ j ] PicSizeInSamplesY * MaxLumaPs( general_level_idc ) MaxLumaPs( sli_ref_level_idc[ i ] [ sli_max_sublayers_minus1 ] ) - 1와 동일한 것으로 추론된다.
변수 LayerRefLevelFraction[ i ][ j ] [ k ] 는 sli_ref_level_fraction_minus1[ i ][ j ] [ k ] + 1와 동일한 것으로 설정된다.
변수 OlsRefLevelFraction[ i ][ j ] [ k ] 는 sli_non_subpic_layers_fraction[ i ] [ k ] + ( 256 - sli_non_subpic_layers_fraction[ i ][ k ] ) 256 * ( sli_ref_level_fraction_minus1[ i ][ j ] [ k ] + 1 )와 동일한 것으로 설정된다.
변수 SubpicCpbSizeVcl[ i ][ j ] [ k ] 및 SubpicCpbSizeNal[ i ][ j ] [ k ] 는 다음과 같이 도출된다:
여기서, MaxCPB는 절 A.4.2에서 명시된 바와 같이 sli_ref_level_idc[ i ] [ k ] 로부터 도출된다.
변수 SubpicBitRateVcl[ i ][ j ] [ k ] 및 SubpicBitRateNal[ i ][ j ] [ k ] 는 다음과 같이 도출된다:
여기서, ValBR의 값은 다음과 같이 도출된다:
-
bit_rate_value_minus1[[[ Htid ]]] [ k ] [ ScIdx ]가 VPS 또는 SPS 내의 각각의 HRD 파라미터에서 이용가능하면, ValBR는 ( bit_rate_value_minus1[[[ Htid ]]] [ k ] [ ScIdx ] + 1) * 2( 6 + bit_rate_scale ) 와 동일하게 설정되고, 여기서, [Htid는 고려되는 서브레이어 인덱스이고]] ScIdx는 고려되는 스케줄 인덱스이다.
-
그렇지 않으면, 절 A.4.2에 명시된 바와 같이 ValBR sli_ref_level_idc[ 0 ] [ k ] 로부터 도출된 MaxBR와 동일하게 설정된다.
주 1 - 서브픽처가 추출되면, 결과적인 비트스트림은 ubpicCpbSizeVcl[ i ][ j ] [ k ] 및 SubpicCpbSizeNal[ i ][ j ] [ k ] 보다 크거나 같은 (VPS, SPS에서 지시되거나 추론된) CpbSize 및 SubpicBitRateVcl[ i ][ j ] [ k ] 및 SubpicBitRateNal[ i ][ j ] [ k ] 보다 크거나 같은 (VPS, SPS에서 지시되거나 추론된) BitRate를 갖는다.
sli_max_sublayers_minus1(포함)의 범위에 있는 k의 각각의 값에 대하여, 추출 프로세스로의 입력 비트스트림 내의 0보다 큰 sps_num_subpics_minus1를 갖는 레이어로부터 j(j는 0에서 spssli_num_subpics_minus1(포함)까지의 범위 내임)번째 서브픽처 시퀀스 를 추출하고 sli_ref_level_idc[ i ] [ k ] (i는 0에서 sli_ num_ref_levels_minus1(포함)까지의 범위 내임)와 동일한 레벨 및 0과 동일한 general_tier_flag를 갖는 프로파일을 따르는 것에 의한 비트스트림 내의 레이어가 부록 C에 명시된 바와 같이 각각의 비트스트림 적합성에 대한 다음의 제약을 따라야 하는 것이 비트스트림 적합성의 요구사항이다:
- Ceil( 256 * SubpicSizeY[ j ]LayerRefLevelFraction[ i ][ j ] [ k ] )는 MaxLumaPs 보다 작거나 같아야 하고, 여기서, MaxLumaPs는 레벨 sli_ref_level_idc[ i ] [ k ] 에 대하여 표 A.1에 명시된다.
-
Ceil( 256 * ( sps_subpic_width_minus1[ j ] + 1 ) * CtbSizeY LayerRefLevelFraction[ i ][ j ] [ k ] )의 값은 Sqrt( MaxLumaPs * 8 )보다 작거나 같아야 한다.
-
Ceil( 256 * ( sps_subpic_height_minus1[ j ] + 1 ) * CtbSizeY χ LayerRefLevelFraction[ i ][ j ] [ k ] )의 값은 Sqrt( MaxLumaPs * 8 )보다 작거나 같아야 한다.
-
SubpicWidthInTiles[ j ]의 값은 MaxTileCols보다 작거나 같아야 하고 SubpicHeightInTiles[ j ]의 값은 MaxTileRows보다 작거나 같아야 하고, 여기서, MaxTileCols 및 MaxTileRows 는 레벨 sli_ref_level_idc[ i ] [ k ] 에 대하여 표 A.1에 명시된다.
-
SubpicWidthInTiles[ j ] * SubpicHeightInTiles[ j ]의 값은 MaxTileCols * MaxTileRows * LayerRefLevelFraction[ i ][ j ][ k ]보다 작거나 동일해야 하고, 여기서, MaxTileCols 및 MaxTileRows는 레벨 sli_ref_level_idc[ i ][ k ]에 대하여 표 A.1에 명시된다.
Htid가 k와 동일하면, j번째 서브픽처 시퀀스 (j는 0에서 [[sps]] sli _num_subpics_minus1(포함)까지의 범위에 있음)을 추출하고 0과 동일한 general_tier_flag 및 sli_ ref_level_idc[ i ] [ k ] 와 동일한 레벨(i는 0에서 0 sli_num_ref_level s _minus1(포함)까지의 범위에 있음)을 갖는 프로파일을 따르는 것에 의한 비트스트림이 부록 C에 명시된 바와 같이 각각의 비트스트림 적합성에 대한 다음의 제약을 따라야 하는 것이 비트스트림 적합성의 요구사항이다:
-
j번째 서브픽처 시퀀스 에 대응하는 AU 0에 대한 NumBytesInNalUnit 변수의 합은 FormatCapabilityFactor * ( Max(SubpicSizeY[ j ], fR * MaxLumaSr * OlsRefLevelFraction[ i ][ j ] [ k ] 256 ) + MaxLumaSr * ( AuCpbRemovalTime[ 0 ] - AuNominalRemovalTime[ 0 ] ) * OlsRefLevelFraction[ i ][ j ] [ k ] ) ( 256 * MinCr )보다 작거나 같아야 하고, 여기서, SubpicSizeInSamplesY의 값은 AU0이고, 여기서, MaxLumaSr 및 FormatCapabilityFactor는 각각 레벨 sli_ref_level_idc[ i ] [ k ] 에서 AU0에 적용되는 표 A.2 및 A.3에 명시된 값이고, MinCr는 A.4.2에서 지시된 바와 같이 도출된다.
-
j번째 서브픽처 시퀀스 에 대응하는 AUn (n은 0보다 큼) 에 대한 NumBytesInNalUnit 변수의 합은 FormatCapabilityFactor * MaxLumaSr * ( AuCpbRemovalTime[ n ] - AuCpbRemovalTime[ n-1 ] ) * OlsRefLevelFraction[ i ][ j ] [ k ] ( 256 * MinCr )보다 작거나 같아야 하고, 여기서, MaxLumaSr 및 FormatCapabilityFactor 는 각각 레벨 sli_ref_level_idc[ i ] [ k ] 에서 AUn에 적용되는 표 A.2 및 A.3에 명시된 값이고, MinCr는 A.4.2에서 지시된 바와 같이 도출된다.
Htid가 k와 동일하면 i번째 서브픽처 시퀀스에 대하여, 서브픽처 시퀀스 레벨 지시자의 값 SubpicLevelIdc [ j ][ k ] 은 다음과 같이 도출된다:
0과 동일한 general_tier_flag 및 SubpicLevelIdc [ j ][ k ] 와 동일한 레벨을 갖는 프로파일을 따르는 j번째 서브픽처 [[비트스트림]] 시퀀스 는, Htid가 k와 동일하고 이하의 변수 spLvIdx가 SubpicLevelIdx[ j ][ k ]와 동일하면, 부록 C에 명시된 바와 같이 각각의 비트스트림 적합성에 대한 다음의 제약을 따라야 한다:
-
VCL HRD 파라미터에 대하여, SubpicCpbSizeVcl[[ [ i ] ]] [ spLvIdx ][ j ][ k ] 는 CpbVclFactor * MaxCPB보다 작거나 같아야 하고, 여기서, CpbVclFactor는 표 A.3에 명시되고 MaxCPB는 CpbVclFactor 비트의 단위로 표 A.1에 명시된다.
-
NAL HRD 파라미터에 대하여, SubpicCpbSizeNal[[[ i ]]] [ spLvIdx ][ j ][ k ] 는 CpbNalFactor * MaxCPB보다 작거나 같아야 하고, 여기서, CpbNalFactor는 표 A.3에 명시되고 MaxCPB CpbNalFactor 비트의 단위로 표 A.1에 명시된다.
-
VCL HRD 파라미터에 대하여, SubpicBitRateVcl[[[ i ]]] [ spLvIdx ][ j ][ k ] 는 CpbVclFactor * MaxBR보다 작거나 같아야 하고, 여기서, CpbVclFactor는 표 A.3에 명시되고 MaxBR CpbVclFactor 비트의 단위로 표 A.1에 명시된다.
-
NAL HRD 파라미터에 대하여, SubpicBitRateNal[[[ i ]]] [ spLvIdx ][ j ][ k ] 는 CpbNalFactor * MaxBR보다 작거나 같아야 하고, 여기서, CpbNalFactor 는 표 A.3에 명시되고 MaxBR CpbNalFactor 비트의 단위로 표 A.1에 명시된다.
주 2 - j번째 서브픽처 시퀀스가 추출되면 ( tIdTarget는 k와 동일) , 결과적인 비트스트림은 SubpicCpbSizeVcl[[[ i ][ j ]]] [ spLvIdx ][ j ][ k ] 및 SubpicCpbSizeNal[[[ i ][ j ]]] [ spLvIdx ][ j ][ k ] 보다 크거나 같은 (VPS, SPS에 지시되거나 추론된) CpbSize 및 SubpicBitRateVcl[[[ i ][ j ]]] [ spLvIdx ][ j ][ k ] 및 SubpicBitRateNal[[[ i ][ j ]]] [ spLvIdx ][ j ][ k ] (여기서, spLvIdx 는 SubpicLevelIdx[ j ][ k ]와 동일하다 )보다 크거나 같은 비트율(BitRate) (VPS, SPS에 지시되거나 추론된) 을 갖는다.
도 5은 여기에 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템(1900)을 도시하는 블록도이다. 다양한 구현예는 시스템(1900)의 컴포넌트의 일부 또는 전부를 포함할 수 있다. 시스템(1900)은 비디오 콘텐츠를 수신하기 위한 입력(1902)을 포함할 수 있다. 비디오 콘텐츠는 원(raw) 또는 압축되지 않은 포맷, 예를 들어 8 또는 10비트 다중 컴포넌트 픽셀 값으로 수신될 수 있거나 압축 또는 인코딩된 포맷일 수 있다. 입력(1902)은 네트워크 인터페이스, 주변 버스 인터페이스, 또는 저장 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예로는 이더넷, 수동 광 네트워크(PON) 등과 같은 유선 인터페이스와 Wi-Fi 또는 셀룰러 인터페이스와 같은 무선 인터페이스가 있다.
시스템(1900)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법을 구현할 수 있는 코딩 컴포넌트(704)를 포함할 수 있다. 코딩 컴포넌트(1904)는 비디오의 코딩된 표현을 생성하기 위해 코딩 컴포넌트(1904)의 입력(1902)으로부터 출력으로의 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서, 코딩 기술은 비디오 압축 또는 비디오 트랜스코딩 기술이라고도 한다. 코딩 컴포넌트(1904)의 출력은 컴포넌트(1906)에 의해 표현된 바와 같이 저장되거나 연결된 통신을 통해 전송될 수 있다. 입력(1902)에서 수신된 비디오의 저장 또는 통신된 비트스트림(또는 코딩된) 표현은 디스플레이 인터페이스(1910)로 전송되는 디스플레이가능한 비디오 또는 픽셀 값을 생성하기 위한 컴포넌트(1908)에 의해 사용될 수 있다. 비트스트림 표현으로부터 사용자가 볼 수 있는 비디오를 생성하는 프로세스는 때때로 비디오 압축 해제라고 불린다. 또한, 특정 비디오 처리 동작은 "코딩" 동작 또는 툴로 지칭되지만, 코딩 툴 또는 동작은 인코더에서 사용되며, 코딩의 결과를 역전시키는 해당 디코딩 툴 또는 동작은 디코더에 의해 수행될 것이다.
주변 버스 인터페이스 또는 디스플레이 인터페이스의 예는 USB(Universal Serial Bus) 또는 HDMI(High Definition Multimedia Interface) 또는 Displayport 등을 포함할 수 있다. 저장 인터페이스의 예로는 SATA(Serial Advanced Technology Attachment), PCI, IDE 인터페이스 등이 있다. 본 문서에서 설명된 기술은 디지털 데이터 처리 및/또는 비디오 디스플레이를 수행할 수 있는 휴대폰, 랩탑, 스마트폰 또는 기타 장치와 같은 다양한 전자 장치에서 구현될 수 있다.
도 6은 비디오 프로세싱 장치(3600)의 블록도이다. 장치(3600)는 여기에 설명된 방법들 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(3600)는 스마트폰, 태블릿, 컴퓨터, 사물 인터넷(IoT) 수신기 등으로 구현될 수 있다. 장치(3600)는 하나 이상의 프로세서(3602), 하나 이상의 메모리(3604) 및 비디오 프로세싱 하드웨어(3606)를 포함할 수 있다. 프로세서(들)(3602)는 본 문서에 설명된 하나 이상의 방법을 구현하도록 구성될 수 있다. 메모리(메모리)(3604)는 여기에 설명된 방법 및 기술을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 처리 하드웨어(3806)는 하드웨어 회로에서 본 문서에 설명된 일부 기술을 구현하는 데 사용될 수 있다.
도 8는 본 개시의 기법들을 이용할 수 있는 예시적인 비디오 코딩 시스템(100)을 예시하는 블록도이다.
도 8에 도시된 바와 같이, 비디오 코딩 시스템(100)은 소스 디바이스(110) 및 목적지 디바이스(120)를 포함할 수 있다. 소스 디바이스(110)는 인코딩된 비디오 데이터를 생성하고, 비디오 인코딩 디바이스로 지칭될 수 있다. 목적지 디바이스 (120)는 소스 디바이스 (110)에 의해 생성된 인코딩된 비디오 데이터를 디코딩할 수 있고, 비디오 디코딩 디바이스로 지칭될 수도 있다.
소스 디바이스(110)는 비디오 소스(112), 비디오 인코더(114), 및 입력/출력(I/O) 인터페이스(116)를 포함할 수 있다.
비디오 소스(112)는 비디오 캡처 디바이스와 같은 소스, 비디오 콘텐츠 제공자로부터 비디오 데이터를 수신하기 위한 인터페이스, 및/또는 비디오 데이터를 생성하기 위한 컴퓨터 그래픽 시스템, 또는 이러한 소스들의 조합을 포함할 수 있다. 비디오 데이터는 하나 이상의 픽처를 포함할 수 있다. 비디오 인코더(114)는 비디오 소스(112)로부터의 비디오 데이터를 인코딩하여 비트스트림을 생성한다. 비트스트림은 비디오 데이터의 코딩된 표현을 형성하는 비트들의 시퀀스를 포함할 수 있다. 비트스트림은 코딩된 픽처 및 연관된 데이터를 포함할 수 있다. 코딩된 픽처는 픽처의 코딩된 표현이다. 연관된 데이터는 시퀀스 파라미터 세트, 픽처 파라미터 세트, 및 기타 신택스 구조를 포함할 수 있다. I/O 인터페이스(116)는 변조기/복조기(모뎀) 및/또는 송신기를 포함할 수 있다. 인코딩된 비디오 데이터는 네트워크(130a)를 통해 I/O 인터페이스(116)를 통해 목적지 디바이스(120)로 직접 전송될 수 있다. 인코딩된 비디오 데이터는 또한 목적지 디바이스(120)에 의한 액세스를 위해 저장 매체/서버(130b)에 저장될 수 있다.
목적지 디바이스(120)는 I/O 인터페이스(126), 비디오 디코더(124), 및 디스플레이 디바이스(122)를 포함할 수 있다.
I/O 인터페이스(126)는 수신기 및/또는 모뎀을 포함할 수 있다. I/O 인터페이스(126)는 소스 디바이스(110) 또는 저장 매체/서버(130b)로부터 인코딩된 비디오 데이터를 획득할 수 있다. 비디오 디코더(124)는 인코딩된 비디오 데이터를 디코딩할 수 있다. 디스플레이 디바이스(122)는 디코딩된 비디오 데이터를 사용자에게 디스플레이할 수 있다. 디스플레이 디바이스(122)는 목적지 디바이스(120)와 통합될 수 있거나, 외부 디스플레이 디바이스와 인터페이스하도록 구성된 목적지 디바이스(120)의 외부에 있을 수 있다.
비디오 인코더(114) 및 비디오 디코더(124)는 HEVC(High Efficiency Video Coding) 표준, VVM(Versatile Video Coding) 표준 및 다른 현재 및/또는 추가 표준과 같은 비디오 압축 표준에 따라 동작할 수 있다.
도 9은 도 8에 예시된 시스템(100)의 비디오 인코더(114)일 수 있는 비디오 인코더(200)의 예를 예시하는 블록도이다.
비디오 인코더(200)는 본 개시의 기법들 중 임의의 것 또는 전부를 수행하도록 구성될 수도 있다. 도 9의 예에서. 비디오 인코더(200)는 복수의 기능적 컴포넌트를 포함한다. 본 개시에서 설명된 기법들은 비디오 인코더 (200)의 다양한 컴포넌트들 사이에서 공유될 수도 있다. 일부 예들에서, 프로세서는 본 개시에서 설명된 기법들 중 임의의 것 또는 모든 기법을 수행하도록 구성될 수도 있다.
비디오 인코더(200)의 기능적 컴포넌트는 분할부(201), 모드 선택부(203), 모션 추정부(204), 모션 보상부(205) 및 인트라 예측부(206)을 포함할 수 있는 예측부(202), 잔여 생성부(207), 변환부(208), 양자화부(209), 역양자화부(210), 역변환부(211), 복원부(212), 버퍼(213), 엔트로피 인코딩부(214)를 포함한다.
다른 예들에서, 비디오 인코더 (200)는 더 많거나, 더 적거나, 또는 상이한 기능적 컴포넌트들을 포함할 수 있다. 일 예에서, 예측부(202)는 인트라 블록 카피(IBC) 유닛을 포함할 수 있다. IBC 유닛은, 적어도 하나의 참조 픽처가 현재 비디오 블록이 위치한 픽처인 IBC 모드에서 예측을 수행할 수 있다.
또한, 모션 추정부(204) 및 모션 보상부(205)와 같은 일부 컴포넌트는 고도로 통합될 수 있지만, 도 9의 예에서는 설명을 목적으로 개별적으로 표현된다.
분할부(201)는 픽처를 하나 이상의 비디오 블록으로 분할할 수 있다. 비디오 인코더(200) 및 비디오 디코더(300)는 다양한 비디오 블록 크기들을 지원할 수 있다.
모드 선택부(203)는 예를 들어, 에러 결과들에 기초하여 인트라 또는 인터 코딩 모드들 중 하나를 선택할 수 있고, 결과적인 인트라- 또는 인터-코딩된 블록을 잔차 생성부(207)에 제공하여 잔차 블록 데이터를 생성하고 복원부(212)에 제공하여 참조 픽처로서 사용될 인코딩된 블록을 복원할 수 있다. 일부 예에서, 모드 선택부(203)는 예측이 인터 예측 신호 및 인트라 예측 신호에 기초하는 CIIP(Intra and Inter Predication) 모드의 조합을 선택할 수 있다. 모드 선택부(203)는 또한 인터 예측의 경우 블록에 대한 모션 벡터에 대한 해상도(예를 들어, 서브-픽셀 또는 정수 픽셀 정밀도)를 선택할 수 있다.
현재 비디오 블록에 대한 인터 예측을 수행하기 위해, 모션 추정부 (204)는 버퍼(213)로부터의 하나 이상의 참조 프레임들을 현재 비디오 블록과 비교함으로써 현재 비디오 블록에 대한 모션 정보를 생성할 수 있다. 모션 보상부(205)는 현재 비디오 블록과 연관된 픽처 이외의 버퍼(213)로부터의 픽처들의 디코딩된 샘플들 및 모션 정보에 기초하여 현재 비디오 블록에 대한 예측된 비디오 블록을 결정할 수 있다.
모션 추정부 (204) 및 모션 보상부 (205)는 예를 들어 현재 비디오 블록이 I 슬라이스, P 슬라이스, 또는 B 슬라이스에 있는지 여부에 따라 현재 비디오 블록에 대해 상이한 동작들을 수행할 수 있다.
일부 예들에서, 모션 추정부(204)는 현재 비디오 블록에 대해 단방향 예측을 수행할 수 있고, 모션 추정부(204)는 현재 비디오 블록에 대한 참조 비디오 블록에 대해 리스트 0 또는 리스트 1를 검색할 수 있다. 모션 추정부(204)는 그 다음 현재 비디오 블록과 참조 비디오 블록 사이의 공간적 변위를 나타내는 모션 벡터 및 참조 비디오 블록을 포함하는 리스트 0 또는 리스트 1의 참조 픽처를 나타내는 참조 인덱스를 생성할 수 있다. 모션 추정부(204)는 참조 인덱스, 예측 방향 표시자, 및 모션 벡터를 현재 비디오 블록의 모션 정보로서 출력할 수 있다. 움직임 보상부(205)는 현재 비디오 블록의 움직임 정보가 지시하는 참조 비디오 블록에 기초하여 현재 블록의 예측된 비디오 블록을 생성할 수 있다.
다른 예들에서, 모션 추정부(204)는 현재 비디오 블록에 대한 양방향 예측을 수행할 수 있고, 모션 추정부(204)는 현재 비디오 블록에 대한 참조 비디오 블록에 대해 리스트 0에서 참조 픽처들을 검색할 수 있고, 또한 현재 비디오 블록에 대한 다른 참조 비디오 블록에 대한 리스트 1의 참조 픽처를 검색할 수 있다. 모션 추정부(204)는 그 다음 참조 비디오 블록과 현재 비디오 블록 사이의 공간 변위를 나타내는 모션 벡터 및 참조 비디오 블록을 포함하는 리스트 0 및 리스트 1의 참조 픽처를 나타내는 참조 인덱스를 생성할 수 있다. 모션 추정부(204)는 현재 비디오 블록의 모션 정보로서 현재 비디오 블록의 참조 인덱스 및 모션 벡터를 출력할 수 있다. 움직임 보상부(205)는 현재 비디오 블록의 움직임 정보에 의해 지시되는 참조 비디오 블록들에 기초하여 현재 비디오 블록의 예측된 비디오 블록을 생성할 수 있다.
일부 예들에서, 모션 추정부(204)는 디코더의 디코딩 프로세싱을 위한 모션 정보의 전체 세트를 출력할 수 있다.
일부 예들에서, 모션 추정부(204)는 현재 비디오에 대한 모션 정보의 전체 세트를 출력하지 않을 수 있다. 오히려, 모션 추정부(204)는 다른 비디오 블록의 모션 정보를 참조하여 현재 비디오 블록의 모션 정보를 시그널링할 수 있다. 예를 들어, 모션 추정부(204)는 현재 비디오 블록의 모션 정보가 인접하는 비디오 블록의 모션 정보와 충분히 유사하다고 결정할 수 있다.
일 예에서, 모션 추정부(204)는, 현재 비디오 블록과 연관된 신택스 구조에서, 현재 비디오 블록이 다른 비디오 블록과 동일한 모션 정보를 갖는다는 것을 비디오 디코더(300)에 나타내는 값을 나타낼 수 있다.
다른 예에서, 모션 추정부(204)는, 현재 비디오 블록과 연관된 신택스 구조에서, 다른 비디오 블록 및 모션 벡터 차이(MVD)를 식별할 수 있다. 움직임 벡터 차이는 현재 비디오 블록의 움직임 벡터와 지시된 비디오 블록의 움직임 벡터 간의 차이를 나타낸다. 비디오 디코더(300)는 지시된 비디오 블록의 움직임 벡터와 움직임 벡터 차이를 이용하여 현재 비디오 블록의 움직임 벡터를 결정할 수 있다.
위에서 논의된 바와 같이, 비디오 인코더(200)는 모션 벡터를 예측적으로 시그널링할 수 있다. 비디오 인코더(200)에 의해 구현될 수도 있는 예측 시그널링 기술의 두 가지 예는 AMVP(Advanced Motion Vector Predication) 및 머지 모드 시그널링을 포함한다.
인트라 예측부(206)는 현재 비디오 블록에 대해 인트라 예측을 수행할 수 있다. 인트라 예측부(206)가 현재 비디오 블록에 대해 인트라 예측을 수행할 때, 인트라 예측부(206)는 동일한 픽처의 다른 비디오 블록의 디코딩된 샘플에 기초하여 현재 비디오 블록에 대한 예측 데이터를 생성할 수 있다. 현재 비디오 블록에 대한 예측 데이터는 예측된 비디오 블록 및 다양한 신택스 요소를 포함할 수 있다.
잔차 생성부(207)는 현재 비디오 블록에서 현재 비디오 블록의 예측된 비디오 블록(들)을 감산함으로써(예를 들어, 빼기 부호로 표시됨) 현재 비디오 블록에 대한 잔차 데이터를 생성할 수 있다. 현재 비디오 블록의 잔차 데이터는 현재 비디오 블록의 샘플들의 상이한 샘플 성분들에 대응하는 잔차 비디오 블록들을 포함할 수 있다.
다른 예들에서, 예를 들어 스킵 모드에서 현재 비디오 블록에 대한 현재 비디오 블록에 대한 잔차 데이터가 없을 수 있고, 잔차 생성부(207)는 감산 동작을 수행하지 않을 수 있다.
변환 처리부(208)는 현재 비디오 블록과 연관된 잔차 비디오 블록에 하나 이상의 변환들을 적용함으로써 현재 비디오 블록에 대한 하나 이상의 변환 계수 비디오 블록들을 생성할 수 있다.
변환 처리부(208)가 현재 비디오 블록과 연관된 변환 계수 비디오 블록을 생성한 후, 양자화부(209)는 현재 비디오 블록와 연관된 하나 이상의 양자화 파라미터(QP) 값들에 기초하여 현재 비디오 블록과 연관된 변환 계수 비디오 블록을 양자화할 수 있다.
역양자화부(210) 및 역변환부(211)는 변환 계수 비디오 블록으로부터 잔차 비디오 블록을 복원하기 위해 각각 역양자화 및 역변환을 변환 계수 비디오 블록에 적용할 수 있다. 복원부(212)는 버퍼(213)에 저장될 현재 블록과 연관된 복원된 비디오 블록을 생성하기 위해 예측부(202)에 의해 생성된 하나 이상의 예측된 비디오 블록들로부터의 해당 샘플들에 복원된 잔차 비디오 블록을 추가할 수 있다.
복원부(212)가 비디오 블록을 복원한 후, 루프 필터링 동작이 수행되어 비디오 블록에서 비디오 블록킹 아티팩트(video blocking artifacts)를 감소시킬 수 있다.
엔트로피 인코딩부(214)는 비디오 인코더(200)의 다른 기능적 컴포넌트들로부터 데이터를 수신할 수 있다. 엔트로피 인코딩부(214)가 데이터를 수신하면, 엔트로피 인코딩부(214)는 하나 이상의 엔트로피 인코딩 동작을 수행하여 엔트로피 인코딩된 데이터를 생성하고 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력한다.
도 10은 도 8에 예시된 시스템(100)의 비디오 디코더(114)일 수 있는 비디오 디코더(300)의 예를 나타내는 블록도이다.
비디오 디코더(300)는 본 개시의 기법들 중 임의의 것 또는 전부를 수행하도록 구성될 수 있다. 도 10의 예에서, 비디오 디코더(300)는 복수의 기능적 컴포넌트를 포함한다. 본 개시에서 설명된 기법들은 비디오 디코더(300)의 다양한 컴포넌트들 사이에서 공유될 수도 있다. 일부 예들에서, 프로세서는 본 개시에서 설명된 기법들 중 임의의 것 또는 모두를 수행하도록 구성될 수 있다.
도 10의 예에서, 비디오 디코더(300)는 엔트로피 디코딩부(301), 모션 보상부(302), 인트라 예측부(303), 역양자화부(304), 역변환부(305), 변환부(306) 및 버퍼(307)를 포함한다. 비디오 디코더(300)는, 일부 예들에서, 비디오 인코더(200)(도 9)에 대해 설명된 인코딩 패스(encoding pass)에 일반적으로 역인 디코딩 패스를 수행한다.
엔트로피 디코딩부(301)는 인코딩된 비트스트림을 검색(retrieve)할 수 있다. 인코딩된 비트스트림은 엔트로피 코딩된 비디오 데이터(예를 들어, 비디오 데이터의 인코딩된 블록)를 포함할 수 있다. 엔트로피 디코딩부(301)는 엔트로피 코딩된 비디오 데이터를 디코딩할 수 있고, 엔트로피 디코딩된 비디오 데이터로부터, 모션 보상부(302)는 모션 벡터, 모션 벡터 정밀도, 참조 픽처 리스트 인덱스, 및 다른 모션 정보를 포함하는 모션 정보를 결정할 수 있다. 모션 보상부(302)는 예를 들어 AMVP 및 머지 모드를 수행함으로써 그러한 정보를 결정할 수 있다.
모션 보상부(302)는 모션 보상된 블록을 생성할 수 있고, 가능하게는 보간 필터에 기초하여 보간을 수행할 수 있다. 서브픽셀 정밀도와 함께 사용될 보간 필터에 대한 식별자가 신택스 요소에 포함될 수 있다.
모션 보상부(302)는 비디오 블록의 인코딩 동안 비디오 인코더(200)에 의해 사용되는 보간 필터들을 사용하여 참조 블록의 서브-정수 픽셀들에 대한 보간된 값들을 계산할 수 있다. 모션 보상부(302)는 수신된 신택스 정보에 따라 비디오 인코더(200)에 의해 사용되는 보간 필터들을 결정할 수 있고 보간 필터를 사용하여 예측 블록들을 생성할 수 있다.
모션 보상부(302)는 신택스 정보의 일부를 사용하여 인코딩된 비디오 시퀀스의 프레임(들) 및/또는 슬라이스(들)를 인코딩하는 데 사용되는 블록의 크기, 인코딩된 비디오 시퀀스의 픽처의 각 매크로 블록이 어떻게 분할되는지를 설명하는 분할 정보, 각각의 분할이 인코딩되는 방법을 나타내는 모드, 각각의 인터 인코딩된 블록에 대한 하나 이상의 참조 프레임 (및 참조 프레임 리스트) 및 인코딩된 비디오 시퀀스를 디코딩하기 위한 다른 정보를 결정할 수 있다.
인트라 예측부(303)는 예를 들어 비트스트림에서 수신된 인트라 예측 모드들을 사용하여 공간적으로 인접한 블록들로부터 예측 블록을 형성할 수 있다. 역양자화부(303)는, 비트스트림에 제공되고 엔트로피 디코딩부(301)에 의해 디코딩된 양자화된 비디오 블록 계수를 역양자화(inverse quantize), 즉 역양자화(de-quantize)한다. 역변환부(303)는 역변환을 적용한다.
복원부(306)는 모션 보상부(202) 또는 인트라 예측부(303)에 의해 생성된 해당 예측 블록들과 잔차 블록들을 합산하여 디코딩된 블록들을 형성할 수 있다. 원하는 경우, 블록화(blockiness) 아티팩트를 제거하기 위해 디블로킹 필터를 적용하여 디코딩된 블록을 필터링할 수 있다. 그 다음 디코딩된 비디오 블록은 버퍼(307)에 저장되고, 버퍼는 후속 모션 보상/인트라 예측을 위한 참조 블록을 제공하고 또한 디스플레이 디바이스 상의 프리젠테이션을 위해 디코딩된 비디오를 생성한다.
일부 실시예에 의해 선호되는 솔루션들의 리스트가 다음에 제공된다.
다음의 솔루션들은 이전 섹션(예를 들어, 아이템 1)에서 논의된 기술의 예시적인 실시예를 보여준다.
1. 비디오 프로세싱 방법으로서, 하나 이상의 비디오 서브레이어를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계(702)를 포함하고, 상기 코딩된 표현은 포맷 규칙을 따르고, 상기 포맷 규칙은 상기 코딩된 표현 내의 서브레이어의 수 이상 반복하는 신택스 구조 및 상기 신택스 구조에 포함되는 각각의 서브레이어를 나타내는 하나 이상의 신택스 필드를 포함하도록 명시하고, 상기 신택스 구조는 시그널링된 프랙션(fractions) 및 참조 레벨 지시자들에 관한 정보를 포함하는 방법(예를 들어, 도 7에 도시된 방법(700)).
2. 솔루션 1에 있어서, 상기 포맷 규칙은 상기 신택스 구조에 명시적으로 포함되지 않는 특정 프랙션이 다음 상위 서브레이어와 동일한 값을 갖는 것으로 해석됨을 명시하는 방법.
다음의 솔루션은 이전 섹션(예를 들어, 아이템 2, 5, 6)에서 논의된 기술의 예시적인 실시예를 보여준다.
3. 비디오 프로세싱 방법으로서, 하나 이상의 서브픽처를 포함하는 비디오 및 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함하고, 상기 변환은 하나 이상의 서브픽처 레벨 정보에 대한 추가 인핸스먼트 정보를 사용하거나 생성하는 방법.
4. 솔루션 3에 있어서, 상기 추가의 인핸스먼트 정보는 상기 코딩된 표현에 포함되는 방법.
5. 솔루션 3에 있어서, 상기 추가의 인핸스먼트 정보는 상기 코딩된 표현으로부터 제외되고 상기 코딩된 표현과 다른 메커니즘을 이용하여 인코딩 단과 디코딩 단 사이에서 전달(communicated)되는 방법.
6. 솔루션 4에 있어서, 상기 코딩된 표현은, 동일한 값이 픽처당 다수의 서브픽처를 갖는 레이어 내의 서브픽처의 수를 나타내는 각각의 시퀀스 파라미터 세트에서 시그널링됨을 명시하는 포맷 규칙을 따르는 방법.
7. 솔루션 1 내지 6 중 어느 하나에 있어서, 변환은 비디오를 코딩된 표현으로 인코딩하는 것을 포함하는 방법.
8. 솔루션 1 내지 6 중 어느 하나에 있어서, 변환은 코딩된 표현을 디코딩하여 비디오의 픽셀 값을 생성하는 것을 포함하는 방법.
9. 솔루션 1 내지 6 중 어느 하나에 기재된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 디코딩 장치.
10. 솔루션 1 내지 8 중 어느 하나에 기재된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 인코딩 장치.
11. 컴퓨터 코드가 저장된 컴퓨터 프로그램 제품으로서, 상기 코드는, 프로세서에 의해 실행될 때, 상기 프로세서가 솔루션 1 내지 8 중 어느 하나에 기재된 방법을 구현하도록 하는 컴퓨터 프로그램 제품.
12. 본 문서에 기재된 방법, 장치 또는 시스템.
도 13은 본 기술의 하나 이상의 실시예에 따라 비디오 데이터를 프로세싱하는 방법의 플로우챠트 표현이다. 방법(1300)은, 단계(1310)에서, 규칙에 따라 비디오 및 하나 이상의 출력 레이어 세트(OLS)를 포함하는 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함한다. 규칙은, 서브픽처 레벨 정보(SLI) 추가 인핸스먼트 정보(SEI) 메시지가 SLI SEI 메시지가 적용되는 하나 이상의 OLS의 코딩된 비디오 시퀀스의 세트에서 서브픽처 시퀀스의 레벨에 대한 정보를 포함하는 것을 명시한다. SLI SEI 메시지의 신택스 구조는 (1) 서브픽처 시퀀스에 대한 최대수의 서브레이어를 명시하는 제1 신택스 요소, (2) 서브픽처 시퀀스에 대한 레벨 정보가 하나 이상의 서브레이어 표현에 대하여 존재하는지를 명시하는 제2 신택스 요소, 및 (3) 비트스트림 레벨 제한의 프랙션(fraction)과 각각의 서브픽처 시퀀스가 따르는 레벨을 나타내는 레벨 지시자와 각각 연관된 서브레이어의 수에 대한 루프를 포함한다.
일부 실시예에서, 제1 신택스 요소의 값은 0에서 비디오 파라미터 세트에서 지시된 서브레이어의 최대수 - 1의 범위에 있다. 일부 실시예에서, 제2 신택스 요소는 제2 신택스 요소가 비트스트림에 존재하지 않는 것에 응답하여 0으로 추론된다. 일부 실시예에서, 서브레이어(k)와 연관된 비트스트림 레벨 제한의 프랙션이 존재하지 않는 것에 응답하여, 프랙션은 서브레이어(k+1)와 연관된 프랙션과 동일한 것으로 추론된다. 일부 실시예에서, 서브레이어(k)와 연관된 지시자가 존재하지 않는 것에 응답하여, 레벨 지시자는 서브레이어(k+1)와 연관된 레벨 지시자와 동일한 것으로 추론된다.
일부 실시예에서, 신택스 구조는, 각각의 서브레이어에 대하여, 레벨 지시자와 연관된 비트스트림 레벨 제한의 프랙션을 명시하는 제3 신택스 요소를 추가로 포함한다. 서브레이어(k)와 연관된 제3 신택스 요소가 존재하지 않는 것에 응답하여, 제3 신택스 요소는 서브레이어(k+1)와 연관된 신택스 요소와 동일한 것으로 추론된다. 일부 실시예에서, 신택스 구조는 서브픽처 시퀀스의 각각에 대하여 시그널링되는 참조 레벨의 수를 명시하는 제4 신택스 요소를 추가로 포함한다. 일부 실시예에서, 신택스 구조는 HSS(hypothetical stream scheduler)가 서브픽처 시퀀스에 대하여 간헐적 비트 레이트 모드 또는 CBR(constant bit rate) 모드로 동작하는지를 명시하는 제5 신택스 요소를 더 포함한다.
도 14는 본 기술의 하나 이상의 실시예에 따라 비디오 데이터를 프로세싱하는 방법(1400)의 플로우챠트 표현이다. 방법(1400)은, 단계(1410)에서, 규칙에 따라 하나 이상의 출력 레이어 세트(OLS)를 포함하는 비디오의 현재 액세스 유닛 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함한다. 규칙은, 서브픽처 레벨 정보(SLI) 추가 인핸스먼트 정보(SEI) 메시지가 SLI SEI 메시지가 적용되는 하나 이상의 OLS의 코딩된 비디오 시퀀스의 세트의 서브픽처 시퀀스의 레벨에 대한 정보를 포함하는 것을 명시한다. SLI SEI 메시지는 디코딩 순서로 현재 액세스 유닛으로부터 비트스트림의 끝까지 또는 SLI SEI 메시지와 다른 콘텐츠를 포함하는 후속의 SLI SEI 메시지를 포함하는 다음의 액세스 유닛까지 지속적으로 유지된다.
일부 실시예에서, 규칙은, 동일한 CVS에 적용가능한 모든 SLI SEI 메시지가 동일한 콘텐츠를 가짐을 명시한다. 일부 실시예에서, SLI SEI 메시지는, 비트스트림에 있거나 외부 수단을 통해 제공됨으로써 현재 액세스 유닛에 대하여 존재한다. 일부 실시예에서, 서브픽처 레벨 지시자를 나타내는 제1 변수는 서브픽처 시퀀스의 각각에 대한 값을 포함하는 것으로 명시된다. 일부 실시예에서, 서브픽처 레벨 인덱스를 나타내는 제2 변수는 서브픽처 시퀀스의 각각에 대한 값을 포함하는 것으로 명시된다.
도 15는 본 기술의 하나 이상의 실시예에 따라 비디오 데이터를 프로세싱하는 방법(1500)의 플로우챠트 표현이다. 방법(1500)은, 단계(1510)에서, 규칙에 따라 하나 이상의 출력 레이어 세트(OLS)를 포함하는 비디오의 현재 액세스 유닛 및 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함한다. 서브픽처 레벨 정보(SLI) 추가 인핸스먼트 정보(SEI) 메시지는 SLI SEI 메시지가 적용되는 하나 이상의 OLS의 코딩된 비디오 시퀀스의 세트의 서브픽처 시퀀스의 레벨에 관한 정보를 포함한다. 서브픽처의 수가 1보다 크다는 것을 나타내는 참조된 시퀀스 파라미터 세트의 변수가 있는 하나 이상의 OLS의 레이어는 멀티서브픽처 레이어라고 한다. OLS의 세트 내의 코딩된 비디오 시퀀스는 타겟 코딩된 비디오 시퀀스(CVS)라 한다. 규칙은, 서브픽처 시퀀스가 (1) 동일한 서브픽처 인덱스를 갖고 멀티서브픽처 레이어 내의 레이어에 속하는 타겟 CVS 내의 모든 서브픽처 및 (2) 0의 서브픽처 인덱스를 갖고 OLS의 레이어에 속하지만 멀티서브픽처 레이어에는 없는 타겟 CVS 내의 모든 서브픽처를 포함하는 것을 명시한다.
일부 실시예에서, 비트스트림은, 코딩된 비디오 시퀀스에 대해 SLI SEI 메시지가 존재하는 것에 응답하여 멀티서브픽처 레이어의 픽처가 참조하는 모든 시퀀스 파라미터 세트가 동일한 수의 서브픽처를 갖는다는 것을 명시하는 포맷 규칙을 따른다. 일부 실시예에서, SLI SEI 메시지가 하나 이상의 OLS의 코딩된 비디오 시퀀스(CVS)의 임의의 액세스 유닛에 대해 존재하는 것에 응답하여, 규칙은 SLI SEI 메시지가 CVS의 첫 번째 액세스 유닛에 대해 존재함을 명시한다. 일부 실시예에서, SLI SEI 메시지의 신택스 구조의 신택스 요소는 타겟 CVS의 멀티서브픽처 레이어의 픽처 내의 서브픽처의 수를 명시한다.
일부 실시예에서, 상기 변환은 비디오를 비트스트림으로 인코딩하는 것을 포함한다. 일부 실시예에서, 상기 변환은 비디오를 비트스트림으로부터 디코딩하는 것을 포함한다.
여기에 기재된 솔루션에서, 인코더는 포맷 규칙에 따라 코딩된 표현을 생성함으로써 포맷 규칙을 따를 수 있다. 여기에 기재된 솔루션에서, 디코더는 포맷 규칙에 따라 신택스 요소의 존재 및 부재의 지식으로 코딩된 표현의 신택스 요소를 파싱하여 디코딩된 비디오를 생성하도록 포맷 규칙을 이용할 수 있다.
본 문서에서 "비디오 프로세싱"이라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축해제를 지칭할 수 있다. 예를 들어, 비디오 압축 알고리즘은 비디오의 픽셀 표현에서 대응하는 비트스트림 표현으로 또는 그 반대로 변환하는 동안 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현은, 예를 들어, 신택스에 의해 정의된 바와 같이 비트스트림 내의 다른 위치에 함께 배치되거나 확산되는 비트에 대응할 수 있다. 예를 들어, 매크로블록은, 변환되고 코딩된 에러 잔차 값의 관점에서 그리고 또한 헤더의 비트 및 비트스트림의 다른 필드를 사용하여 인코딩될 수 있다. 또한, 변환 동안 디코더는 위의 솔루션에서 설명된 바와 같이 결정에 기초하여 일부 필드가 존재하거나 없을 수 있다는 지식으로 비트스트림을 구문분석할 수 있다. 유사하게, 인코더는 소정의 신택스 필드가 포함되는지의 여부를 결정할 수 있고, 이에 따라 코딩된 표현으로부터 신택스 필드를 포함하거나 제외함으로써 코딩된 표현을 생성할 수 있다.
이 문서에 설명된 개시된 및 다른 솔루션, 예, 실시예, 모듈 및 기능적 동작은 디지털 전자 회로, 본 문서에 개시된 구조, 그들의 구조적 동등물들을 포함하는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어 또는 이들 중의 하나 이상의 조합으로 구현될 수 있다. 개시된 실시예 및 다른 실시예는 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 프로세싱 장치에 의한 실행 또는 그의 동작의 제어를 위해 컴퓨터 판독가능 매체 상에 인코딩되는 컴퓨터 프로그램 명령의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독가능 매체는 머신-판독가능 저장 장치, 머신-판독가능 저장 기판, 메모리 장치, 머신-판독가능 전파 신호에 영향을 주는 물질의 구성 또는 그들 중의 하나 이상의 조합일 수 있다. 용어 "데이터 프로세싱 장치"는 데이터 처리를 위한 모든 장치, 디바이스 및 머신을 포함하며, 예를 들어 프로그램 가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함한다. 장치는 하드웨어에 더하여 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나의 조합을 구성하는 코드를 포함할 수 있다. 전파되는 신호는 인공적으로 생성된 신호, 예를 들어, 머신 생성 전기, 광, 또는 전자기 신호이며, 이는 적절한 수신기 장치로의 전송을 위한 정보를 인코딩하기 위해 생성된다.
컴퓨터 프로그램 (프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일된 언어 또는 해석된 언어를 포함하여 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램 또는 컴퓨터 환경에서 사용되기에 적합한 모듈, 컴포넌트, 서브루틴 또는 다른 유닛으로서 임의의 형태로 배치(deploy)될 수 있다. 컴퓨터 시스템은 파일 시스템 내의 파일에 반드시 대응되는 것은 아니다. 프로그램은 다른 프로그램 또는 데이터를 보유하는 파일의 일부(예를 들어 마크업 언어 문서에 저장된 하나 이상의 스크립트) 또는 문제의 프로그램의 전용인 단일 파일 또는 다중 편성(coordinated) 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터 또는 한 사이트에 위치하거나 다수의 사이트에 걸쳐 분배되고 통신 네트워크에 의해 상호 접속되는 다수의 컴퓨터 상에서 실행되도록 배치될 수 있다.
본 명세서에 설명된 프로세스 및 로직 흐름은 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍가능한 프로세서에 의해 수행될 수 있다. 프로세스 및 로직 흐름은 또한 FPGA (필드 프로그래밍 가능 게이트 어레이) 또는 ASIC (애플리케이션 특정 집적 회로)와 같은 특수 목적 로직 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적의 마이크로 프로세서와 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 리드 온리 메모리 또는 랜덤 액세스 메모리 또는 둘 다에서 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하기위한 프로세서와 명령과 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 수행하도록 동작 가능하게 결합된다. 그러나 컴퓨터가 이러한 장치를 가질 필요는 없다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치; 내부 하드 디스크 또는 제거가능 디스크 등의 자기 디스크; 광자기 디스크 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적 로직 회로에 의해 보완되거나 통합될 수 있다.
이 특허 문서에는 많은 세부 사항이 포함되어 있지만, 이는 임의의 발명의 범위 또는 청구 대상에 대한 제한으로 해석되어서는 안되며, 특정 발명의 특정 실시예에 특정될 수 있는 특징에 대한 설명으로 해석되어야 한다. 개별 실시예의 맥락에서 본 특허 문서에 설명된 특정 특징은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시 예의 맥락에서 설명된 다양한 특징은 또한 다중 실시 예에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 더욱이, 특징이 특정 조합으로 작용하는 것으로 위에서 설명될 수 있고 심지어 처음에 그렇게 청구될 수도 있지만, 청구된 조합으로부터 하나 이상의 특징이 어떤 경우에는 조합으로부터 삭제될 수 있고, 청구된 조합은 하위 조합 또는 변형일 수 있다.
유사하게, 동작이 특정 순서로 도면에 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해 그러한 동작이 도시된 특정 순서 또는 순차적인 순서로 수행되거나 모든 예시된 동작이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 더욱이, 이 특허 문헌에 설명된 실시예들에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 그러한 분리를 요구하는 것으로 이해되어서는 안된다.
단지 몇 가지 구현예 및 예가 설명되고, 다른 구현예, 향상 및 변형이 특허 문서에 설명되고 예시된 것에 기초하여 이루어질 수 있다.
Claims (15)
- 비디오 데이터를 프로세싱하는 방법으로서,
규칙에 따라 비디오 및 하나 이상의 출력 레이어 세트(OLS)를 포함하는 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고,
상기 규칙은, 서브픽처 레벨 정보(SLI) 추가 인핸스먼트 정보(SEI) 메시지가 SLI SEI 메시지가 적용되는 하나 이상의 OLS의 코딩된 비디오 시퀀스의 세트의 서브픽처 시퀀스의 레벨에 대한 정보를 포함함을 명시하고, 상기 SLI SEI 메시지의 신택스 구조는 (1) 상기 서브픽처 시퀀스에 대한 최대수의 서브레이어를 명시하는 제1 신택스 요소, (2) 상기 서브픽처 시퀀스에 대한 레벨 정보가 하나 이상의 서브레이어 표현에 대해 존재하는지를 명시하는 제2 신택스 요소, 및 (3) 비트스트림 레벨 제한의 프랙션(fraction)과 각각의 서브픽처 시퀀스가 따르는 레벨을 나타내는 레벨 지시자와 각각 연관된 서브레이어의 수에 대한 루프를 포함하는 방법. - 제1항에 있어서,
상기 제1 신택스 요소의 값은 0에서 비디오 파라미터 세트에서 지시된 서브레이어의 최대수 - 1까지의 범위에 있는 방법. - 제1항 또는 제2항에 있어서,
상기 제2 신택스 요소는 상기 제2 신택스 요소가 상기 비트스트림에 존재하지 않는 것에 응답하여 0으로 추론되는 방법. - 제1항 내지 제3항 중 어느 한 항에 있어서,
서브레이어(k)와 연관된 비트스트림 레벨 제한의 프랙션이 존재하지 않는 것에 응답하여, 상기 프랙션은 서브레이어(k+1)와 연관된 프랙션과 동일한 것으로 추론되는 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
서브레이어(k)와 연관된 레벨 지시자가 존재하지 않는 것에 응답하여 상기 레벨 지시자는 서브레이어(k+1)와 연관된 레벨 지시자와 동일한 것으로 추론되는 방법. - 제1항 내지 제5항 중 어느 한 항에 있어서,
상기 신택스 구조는, 각각의 서브레이어에 대하여, 상기 레벨 지시자와 연관된 비트스트림 레벨 제한의 프랙션을 명시하는 제3 신택스 요소를 더 포함하고, 서브레이어(k)와 연관된 제3 신택스 요소가 존재하지 않는 것에 응답하여, 상기 제3 신택스 요소는 서브레이어(k+1)와 연관된 신택스 요소와 동일한 것으로 추론되는 방법. - 제1항 내지 제6항 중 어느 한 항에 있어서,
상기 신택스 구조는 상기 서브픽처 시퀀스의 각각에 대하여 시그널링된 참조 레벨의 수를 명시하는 제4 신택스 요소를 더 포함하는 방법. - 제1항 내지 제7항 중 어느 한 항에 있어서,
상기 신택스 구조는 HSS(hypothetical stream scheduler)가 서브픽처 시퀀스에 대하여 간헐적 비트 레이트 모드 또는 CBR(constant bit rate) 모드에서 동작하는지를 명시하는 제5 신택스 요소를 더 포함하는 방법. - 제1항 내지 제8항 중 어느 한 항에 있어서,
상기 변환은 상기 비디오를 상기 비트스트림으로 인코딩하는 것을 포함하는 방법. - 제1항 내지 제8항 중 어느 한 항에 있어서,
상기 변환은 상기 비디오를 상기 비트스트림으로부터 디코딩하는 것을 포함하는 방법. - 비디오의 비트스트림을 저장하는 방법으로서,
규칙에 따라 하나 이상의 출력 레이어 세트(OLS)를 포함하는 비디오로부터 비디오의 비트스트림을 생성하는 단계; 및
상기 생성된 비트스트림을 저장하는 단계를 포함하고,
상기 규칙은, 서브픽처 레벨 정보(SLI) 추가 인핸스먼트 정보(SEI) 메시지가 SLI SEI 메시지가 적용되는 하나 이상의 OLS의 코딩된 비디오 시퀀스의 세트의 서브픽처 시퀀스의 레벨에 대한 정보를 포함함을 명시하고, 상기 SLI SEI 메시지의 신택스 구조는 (1) 상기 서브픽처 시퀀스에 대한 최대수의 서브레이어를 명시하는 제1 신택스 요소, (2) 상기 서브픽처 시퀀스에 대한 레벨 정보가 하나 이상의 서브레이어 표현에 대해 존재하는지를 명시하는 제2 신택스 요소, 및 (3) 비트스트림 레벨 제한의 프랙션과 각각의 서브픽처 시퀀스가 따르는 레벨을 나타내는 레벨 지시자와 각각 연관된 서브레이어의 수에 대한 루프를 포함하는 방법. - 제1항 내지 제11항 중 어느 한 항에 기재된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 디코딩 장치.
- 제1항 내지 제11항 중 어느 한 항에 기재된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 인코딩 장치.
- 컴퓨터 코드가 저장된 컴퓨터 프로그램 제품으로서, 상기 코드는, 프로세서에 의해 실행될 때, 상기 프로세서가 제1항 내지 제11항 중 어느 한 항에 기재된 방법을 구현하도록 하는 컴퓨터 프로그램 제품.
- 비디오 프로세싱 장치에 의해 수행되는 방법에 의해 생성된 비디오의 비트스트림을 저장하는 비일시적 컴퓨터 판독가능 기록 매체로서, 상기 방법은,
규칙에 따라 하나 이상의 출력 레이어 세트(OLS)를 포함하는 비디오로부터 비디오의 비트스트림을 생성하는 단계; 및
상기 생성된 비트스트림을 저장하는 단계를 포함하고,
상기 규칙은, 서브픽처 레벨 정보(SLI) 추가 인핸스먼트 정보(SEI) 메시지가 SLI SEI 메시지가 적용되는 하나 이상의 OLS의 코딩된 비디오 시퀀스의 세트의 서브픽처 시퀀스의 레벨에 대한 정보를 포함함을 명시하고, 상기 SLI SEI 메시지의 신택스 구조는 (1) 상기 서브픽처 시퀀스에 대한 최대수의 서브레이어를 명시하는 제1 신택스 요소, (2) 상기 서브픽처 시퀀스에 대한 레벨 정보가 하나 이상의 서브레이어 표현에 대해 존재하는지를 명시하는 제2 신택스 요소, 및 (3) 비트스트림 레벨 제한의 프랙션과 각각의 서브픽처 시퀀스가 따르는 레벨을 나타내는 레벨 지시자와 각각 연관된 서브레이어의 수에 대한 루프를 포함하는, 기록 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063036365P | 2020-06-08 | 2020-06-08 | |
US63/036,365 | 2020-06-08 | ||
PCT/US2021/036253 WO2021252393A1 (en) | 2020-06-08 | 2021-06-07 | Sublayer signaling in a video bitstream |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230019846A true KR20230019846A (ko) | 2023-02-09 |
KR102708610B1 KR102708610B1 (ko) | 2024-09-20 |
Family
ID=78846488
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227042895A KR20230019847A (ko) | 2020-06-08 | 2021-06-07 | 비디오 픽처에서 서브픽처 수에 대한 제약들 |
KR1020227042894A KR102708610B1 (ko) | 2020-06-08 | 2021-06-07 | 비디오 비트스트림의 서브레이어 시그널링 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227042895A KR20230019847A (ko) | 2020-06-08 | 2021-06-07 | 비디오 픽처에서 서브픽처 수에 대한 제약들 |
Country Status (7)
Country | Link |
---|---|
US (3) | US11849136B2 (ko) |
EP (2) | EP4154524A4 (ko) |
JP (2) | JP2023529431A (ko) |
KR (2) | KR20230019847A (ko) |
CN (3) | CN115699728A (ko) |
BR (1) | BR112022025036A2 (ko) |
WO (3) | WO2021252393A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3239062A1 (en) * | 2022-01-10 | 2023-07-13 | Guangdong Oppo Mobile Telecomminications Corp., Ltd. | Signaling general constraints information for video coding |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9131245B2 (en) * | 2011-09-23 | 2015-09-08 | Qualcomm Incorporated | Reference picture list construction for video coding |
US9942545B2 (en) * | 2013-01-03 | 2018-04-10 | Texas Instruments Incorporated | Methods and apparatus for indicating picture buffer size for coded scalable video |
SG10201913539SA (en) * | 2013-04-07 | 2020-02-27 | Dolby Int Ab | Signaling change in output layer sets |
KR102698537B1 (ko) * | 2013-04-08 | 2024-08-23 | 지이 비디오 컴프레션, 엘엘씨 | 효율적인 다-시점/계층 코딩을 허용하는 코딩 개념 |
WO2015052943A1 (en) * | 2013-10-13 | 2015-04-16 | Sharp Kabushiki Kaisha | Signaling parameters in vps extension and dpb operation |
US20150237356A1 (en) * | 2014-02-18 | 2015-08-20 | Microsoft Corporation | Host encoder for hardware-accelerated video encoding |
US10701400B2 (en) * | 2017-03-21 | 2020-06-30 | Qualcomm Incorporated | Signalling of summarizing video supplemental information |
WO2018221368A1 (ja) * | 2017-05-31 | 2018-12-06 | シャープ株式会社 | 動画像復号装置、及び動画像符号化装置 |
TW202101985A (zh) * | 2019-03-11 | 2021-01-01 | 美商Vid衡器股份有限公司 | 子圖片適應性解析度改變方法及裝置 |
AU2020406151A1 (en) | 2019-12-20 | 2022-08-11 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Video data stream, video encoder, apparatus and methods for HRD timing fixes, and further additions for scalable and mergeable bitstreams |
CA3184462A1 (en) | 2020-05-22 | 2021-11-25 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Subpicture-related video coding concepts |
US20220109865A1 (en) * | 2020-10-02 | 2022-04-07 | Sharp Kabushiki Kaisha | Systems and methods for signaling picture buffer information for intra random access point picture sub-bitstreams in video coding |
-
2021
- 2021-06-07 JP JP2022575464A patent/JP2023529431A/ja active Pending
- 2021-06-07 KR KR1020227042895A patent/KR20230019847A/ko active Search and Examination
- 2021-06-07 EP EP21821188.6A patent/EP4154524A4/en active Pending
- 2021-06-07 CN CN202180041267.3A patent/CN115699728A/zh active Pending
- 2021-06-07 WO PCT/US2021/036253 patent/WO2021252393A1/en unknown
- 2021-06-07 JP JP2022575463A patent/JP7538256B2/ja active Active
- 2021-06-07 CN CN202180041401.XA patent/CN115804086A/zh active Pending
- 2021-06-07 CN CN202180041271.XA patent/CN115843431A/zh active Pending
- 2021-06-07 BR BR112022025036A patent/BR112022025036A2/pt unknown
- 2021-06-07 EP EP21822302.2A patent/EP4154525A4/en active Pending
- 2021-06-07 KR KR1020227042894A patent/KR102708610B1/ko active IP Right Grant
- 2021-06-07 WO PCT/US2021/036257 patent/WO2021252396A1/en unknown
- 2021-06-07 WO PCT/US2021/036254 patent/WO2021252394A1/en active Application Filing
-
2022
- 2022-12-06 US US18/076,085 patent/US11849136B2/en active Active
- 2022-12-06 US US18/076,045 patent/US11831895B2/en active Active
-
2023
- 2023-11-24 US US18/518,768 patent/US20240107046A1/en active Pending
Non-Patent Citations (3)
Title |
---|
- Robert Skupin, Yago Sanchez, Karsten Suehring, and Thomas Schierl,AHG9/12: On subpicture conformance,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-S0098 * |
- Y.-K. Wang,AHG2: Editorial input of a text integration for the May 2020 HLS AHG meeting outcome,JVET-S0152-v5_SpecText.docx, JVET-S0152 (version 5) * |
- Ye-Kui Wang, and Zhipin Deng,AHG9: On the subpicture level information SEI message,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-S0176-v1 * |
Also Published As
Publication number | Publication date |
---|---|
US20230099628A1 (en) | 2023-03-30 |
WO2021252394A1 (en) | 2021-12-16 |
KR20230019847A (ko) | 2023-02-09 |
US20240107046A1 (en) | 2024-03-28 |
CN115804086A (zh) | 2023-03-14 |
KR102708610B1 (ko) | 2024-09-20 |
EP4154525A1 (en) | 2023-03-29 |
EP4154525A4 (en) | 2023-10-25 |
CN115699728A (zh) | 2023-02-03 |
CN115843431A (zh) | 2023-03-24 |
EP4154524A4 (en) | 2023-11-15 |
BR112022025036A2 (pt) | 2022-12-27 |
EP4154524A1 (en) | 2023-03-29 |
JP7538256B2 (ja) | 2024-08-21 |
US20230100470A1 (en) | 2023-03-30 |
WO2021252393A1 (en) | 2021-12-16 |
US11849136B2 (en) | 2023-12-19 |
WO2021252396A1 (en) | 2021-12-16 |
US11831895B2 (en) | 2023-11-28 |
JP2023529431A (ja) | 2023-07-10 |
JP2023529430A (ja) | 2023-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7506185B2 (ja) | サブビットストリーム抽出処理におけるコーディングされた映像の操作 | |
KR20220156832A (ko) | 서브 픽처 및 스케일러빌러티 조합 | |
KR102708610B1 (ko) | 비디오 비트스트림의 서브레이어 시그널링 | |
JP7511680B2 (ja) | サブピクチャサブビットストリーム抽出プロセスにおける補足エンハンスメント情報の処理 | |
JP7564250B2 (ja) | 映像コーディングにおける補足強化情報メッセージのスケーラブルネスティング | |
KR20230013053A (ko) | 서브계층에 대한 숫자 제한 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |