KR20230019845A - 코딩된 비디오 픽처에서 슬라이스 카운트의 제약들 - Google Patents

코딩된 비디오 픽처에서 슬라이스 카운트의 제약들 Download PDF

Info

Publication number
KR20230019845A
KR20230019845A KR1020227042893A KR20227042893A KR20230019845A KR 20230019845 A KR20230019845 A KR 20230019845A KR 1020227042893 A KR1020227042893 A KR 1020227042893A KR 20227042893 A KR20227042893 A KR 20227042893A KR 20230019845 A KR20230019845 A KR 20230019845A
Authority
KR
South Korea
Prior art keywords
video
bitstream
picture
aucpbremovaltime
access unit
Prior art date
Application number
KR1020227042893A
Other languages
English (en)
Inventor
이에-쿠이 왕
Original Assignee
바이트댄스 아이엔씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 바이트댄스 아이엔씨 filed Critical 바이트댄스 아이엔씨
Publication of KR20230019845A publication Critical patent/KR20230019845A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

비디오 코딩 및 비디오 디코딩에서 사용되는 제약들을 구현하기 위한 방법들, 시스템들 및 디바이스들이 설명된다. 비디오 처리의 예시적 방법은 하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 간의 변환을 실시하는 단계를 포함하고, 이때 상기 비트스트림은 포맷 규칙에 따라 복수의 액세스 유닛(AU)들, 즉 AU 0 내지 AU n으로 구성되며, n은 양의 정수이고, 상기 포맷 규칙은 상기 복수의 AU들 각각을 디코딩 동안 코딩된 픽처 버퍼(CPB)로부터 제거하는 시간들과 상기 복수의 AU들 각각에서의 슬라이스들의 수 사이의 관계를 명시한다.

Description

코딩된 비디오 픽처에서 슬라이스 카운트의 제약들
관련 출원들에 대한 상호 참조
파리협약에 따른 적용가능한 특허법 및/또는 규칙에 따라, 본 출원은 2020년 6월 8일에 제출된 US 가출원 No. 63/036,321의 우선권과 혜택을 적시에 주장하기 위해 만들어졌다. 상기 법 하의 모든 목적을 위해, 상기 출원의 전체 개시물은 본 출원의 개시의 일부로서 참고로 통합된다.
본 특허 문서는 영상 및 비디오 코딩에 관한 것이다.
디지털 비디오는 인터넷 및 기타 디지털 통신 네트워크에서 가장 큰 대역폭을 차지한다. 비디오를 수신하고 표시할 수 있는 접속된 사용자 디바이스들의 수가 증가함에 따라, 디지털 비디오 사용을 위한 대역폭 수요가 계속 증가할 것으로 예상된다
본 문서는 비디오 인코더들 및 디코더들이 비디오 인코딩 또는 디코딩을 실시하기 위해 사용하는 제약들을 구현할 수 있는 기술들을 개시한다.
일 예시적 측면에서, 비디오 처리 방법이 개시된다. 상기 방법은 하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 간의 변환을 실시하는 단계를 포함하고, 이때 상기 비트스트림은 포맷 규칙에 기반하여 AU 0 내지 AU n인 복수의 액세스 유닛들 (AU들)로 구성되며, 이때 n은 양의 정수이며, 상기 포맷 규칙은 상기 복수의 AU들 각각을 디코딩 동안 코딩된 픽처 버퍼 (coded picture buffer (CPB))로부터 제거하는 시간과 상기 복수의 AU들 각각에서의 슬라이스들의 수 사이의 관계를 명시한다.
다른 예시적 측면에서, 다른 비디오 처리 방법이 개시된다. 상기 방법은 하나 또는 그 이상의 타일들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 간의 변환을 실시하는 단계를 포함하고, 이때 상기 비트스트림은 포맷 규칙에 기반하여 AU 0 내지 AU n인 복수의 AU들로 구성되며, 이때 n은 양의 정수이며, 상기 포맷 규칙은 상기 복수의 AU들 각각을 코딩된 픽처 버퍼 (CPB)로부터 제거하는 시간과 상기 복수의 AU들 각각에서의 타일들의 수 사이의 관계를 명시한다.
또 다른 예시적 측면에서, 다른 비디오 처리 방법이 개시된다. 상기 방법은 하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 간의 변환을 실시하는 단계를 포함하고, 이때 상기 변환은 규칙을 준수하며, 상기 비트스트림은 하나 또는 그 이상의 액세스 유닛들로 구성되며, 상기 규칙은 디코딩된 픽처 버퍼 (decoded picture buffer (DPB))에 저장된 디코딩된 픽처들의 수에 대한 제약을 명시하며, 상기 디코딩된 픽처들의 디코딩된 픽처 각각은 (i) 참조를 위해 사용된 것으로 표시되고, (ii) 상기 디코딩된 픽처가 출력됨을 지시하는 플래그를 가지며, 그리고 (iii) 현재 픽처의 디코딩 시간 보다 나중인 출력 시간을 가진다.
또 다른 예시적 측면에서, 비디오 인코더 장치가 개시된다. 상기 비디오 인코더는 상기 기술된 방법들을 실행하도록 구성된 프로세서를 포함한다.
또 다른 예시적 측면에서, 비디오 디코더 장치가 개시된다. 상기 비디오 디코더는 상기 기술된 방법들을 실행하도록 구성된 프로세서를 포함한다.
또 다른 예시적 측면에서, 코드를 저장하는 컴퓨터 판독 가능한 매체가 개시된다. 상기 코드는 여기에 기술된 방법들 중 하나를 프로세서로 실행 가능한 코드의 형태로 구현한다.
이와 같은 특성들 및 기타 특성들은 본 문서 전체에 걸쳐 기술된다
도 1은 여기에 개시되는 다양한 기술들이 구현될 수 있는 예시적인 비디오 처리 시스템을 보여주는 블록도이다.
도 2는 비디오 처리를 위해 사용되는 예시적인 하드웨어 플랫폼을 블록도이다.
도 3은 본 개시의 일부 실시예들을 구현할 수 있는 예시적인 비디오 코딩 시스템을 도시하는 블록도이다.
도 4는 본 개시의 일부 실시예들을 구현할 수 있는 인코더의 일 예를 도시하는 블록도이다.
도 5는 본 개시의 일부 실시예들을 구현할 수 있는 디코더의 일 예를 도시하는 블록도이다.
도 6 내지 도 8은 비디오 처리의 예시적인 방법들에 대한 순서도들을 보여준다.
섹션 표제들은 본 문서에서 이해의 편의를 위해 사용된 것으로 각 섹션에 개시된 기술들 및 실시예들의 적용을 해당 섹션으로 한정하지 않는다. 또한, H.266용어는 일부 설명에서 이해의 편의를 위해서만 사용되며 개시된 기술들의 범위를 제한하기 위한 것이 아니다. 이와 같이, 여기에 설명된 기술들은 다른 비디오 코덱 프로토콜들 및 설계들에도 적용 가능하다.
1. 도입
본 문서는 비디오 코딩 기술들에 관한 것이다. 구체적으로, 단일 계층 비디오 코딩 및 다계층 비디오 코딩 모두를 지원하는 비디오 코덱에 대한 비트스트림 적합성 및 레벨들을 정의하는 것에 관한 것이다. 본 문서는 현재 개발 중인 VVC (Versatile Video Coding)과 같이, 단일 계층 비디오 코딩 및 다계층 비디오 코딩을 지원하는 임의의 비디오 코딩 표준 또는 비표준 비디오 코덱에 적용될 수 있다
2. 약어
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 (시퀀스 끝)
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 (픽처 파라미터 세트)
PTL Profile, Tier and Level (프로파일, 티어 및 레벨)
PU Picture Unit (픽처 유닛)
RRP Reference Picture Resampling (참조 픽처 리샘플링)
RBSP Raw Byte Sequence Payload (로 바이트 시퀀스 페이로드)
SEI Supplemental Enhancement Information (추가 향상 정보)
SH Slice Header (슬라이스 헤더)
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 (다목적 비디오 코딩)
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는 공동 비디오 탐사 팀 (Joint Video Exploration Team (JVET))를 공동 설립하였다. 그 이후로, 많은 새로운 기법들이 JVET에 의해 채택되어 공동 탐사 모델 (Joint Exploration Model (JEM))이라는 참조 소프트웨어에 포함되었다. JVET 회의는 매 분기마다 동시에 개최되며, 새로운 코딩 표준은 HEVC 대비 비트 레이트 50% 감소를 목표로 한다. 2018년 4월 새로운 코딩 표준은 VVC라는 공식적인 이름을 가지게 되었고, 당시에 VVC 테스트 모델 (VTM)의 첫 번째 버전이 출시되었다. VVC 표준화에 대한 지속적인 노력이 있는 관계로, 매 JVET 회의 마다 새로운 코딩 기술들이 VVC 표준에 채택되고 있다. 이후 상기 VVC 규격 초안 및 테스트 모델 VTM은 매 회의 마다 업데이트되었다. 이제 상기 VVC 프로젝트는 2020년 7월 회의에서 기술적 완성(FDIS)를 목표로 하고 있다.
3.1. 시퀀스 내 픽처 해상도 변경
AVC 및 HEVC에서, 새로운 SPS를 사용하는 새로운 시퀀스가 IRAP 픽처로 시작되지 않는 한 픽처들의 공간적 해상도는 변경될 수 없다. VVC는 항상 인트라 코딩되는 IRAP 픽처의 인코딩 없이 시퀀스 내의 한 위치에서의 픽처 해상도 변경을 가능하게 한다. 이러한 특징은 참조 픽처 리샘플링 (RPR)으로 종종 지칭되는데, 참조 픽처가 디코딩되는 현재 픽처와 다른 해상도를 갖는 경우 인터 예측을 위해 사용되는 해당 참조 픽처의 리샘플링을 필요로 하기 때문이다.
스케일링 비율은 1/2 (참조 픽처에서 현재 픽처로 2회 다운샘플링)이상 8 이하(8회 업샘플링)로 제한된다. 수평 및 수직 스케일링 비율은 픽처 너비 및 높이, 참조 픽처 및 현재 픽처에 대해 특정된 좌측, 우측, 상단 및 하단 스케일링 오프셋에 기초하여 유도된다. 상이한 주파수 컷 오프들을 가지는 리샘플링 필터들의 3 세트들은 참조 픽처와 상기 현재 픽처 간의 다양한 스케일링 비율을 처리하기 위해 명시된다. 상기 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) 픽처 해상도 및 해당 적합성 윈도우는 SPS 대신 PPS에서 시그널링되는 반면, SPS에서는 최대 픽처 해상도가 시그널링된다. ii) 단일 계층 비트스트림에 대해, 각 픽처 스토어(하나의 디코딩된 픽처의 저장을 위한 DPB에서의 슬롯)는 상기 최대 픽처 해상도를 가지는 디코딩된 픽처를 저장하기 위해 요구되는 버퍼 크기를 차지한다.
3.2 스케일러블 비디오 코딩 (SVC) 일반 및 VVC에서의 스케일러블 비디오 코딩
스케일러블 비디오 코딩(SVC, 종종 비디오 코딩에서 확장성(scalability)으로 단순하게 불리기도 함)은 종종 참조 계층(reference layer (RL))로 불리는 기본 계층(base layer (BL)) 및 하나 또는 그 이상의 스케일러블 향상 계층들 (enhancement layers (Els))이 사용되는 비디오 코딩을 가리킨다. SVC에서, 상기 기본 계층은 통상적으로 기본 레벨의 품질을 갖는 비디오 데이터를 전달할 수 있다. 상기 하나 또는 그 이상의 향상 계층들은, 예를 들어, 상위 공간, 시간 및/또는 SNR(Signal to Noise Ratio) 레벨들을 지원하도록 부가적인 비디오 데이터를 전달할 수 있다. 향상 계층들은 이전에 인코딩된 계층에 상대적으로 정의될 수 있다. 예를 들어, 하단 계층은 BL 역할을 할 수 있는 반면, 상단 계층은 EL 역할을 할 수 있다. 중간 계층들은 EL 또는 RL 또는 둘 다의 역할을 할 수 있다. 예를 들어, 중간 계층(즉, 최하위 계층도 최상위 계층도 아닌 계층)는 기본 계층 또는 끼어드는 임의의 향상 계층들과 같은, 상기 중간 계층 아래의 계층들에 대해 EL일 수 있으며, 동시에 상기 중간 계층 위의 하나 또는 그 이상의 향상 계층들에 대해 RL 역할을 할 수 있다. 유사하게, Multiview 또는 HEVC 표준의 3D 확장판에서는, 복수의 뷰들(views)이 있을 수 있으며, 하나의 뷰의 정보는 다른 뷰의 정보(가령, 움직임 추정, 움직임 벡터 예측 및/또는 기타 중복들)을 코딩(가령, 인코딩 또는 디코딩)하는 데에 활용될 수 있다.
SVC에서, 인코더 또는 디코더가 사용하는 파라미터들은 그것들이 활용될 수 있는 코딩 레벨(가량, 비디오 레벨, 시퀀스 레벨, 픽처 레벨, 슬라이스 레벨 등)에 기반하여 파라미터 세트들로 분류된다. 예를 들어, 비트스트림 내 상이한 계층들의 하나 또는 그 이상의 코딩된 비디오 시퀀스들에 의해 활용될 수 있는 파라미터들은 비디오 파라미터 세트(video parameter set (VPS))에 포함될 수 있고, 코딩된 비디오 시퀀스들 내 하나 또는 그 이상의 픽처들에 의해 활용될 수 있는 파라미터들은 시퀀스 파라미터 세트(sequence parameter set (SPS))에 포함될 수 있다. 유사하게, 픽처 내 하나 또는 그 이상의 슬라이스들에 의해 활용되는 파라미터들은 픽처 파라미터 세트(picture parameter set (PPS))에 포함될 수 있으며, 단일 슬라이스에 특정한 기타 파라미터들은 슬라이스 헤더에 포함될 수 있다. 유사하게, 주어진 시점에서 어떤 파라미터 세트(들)을 특정 계층이 사용하고 있는지에 대한 지시는 다양한 코딩 레벨들에서 제공될 수 있다.
VVC에서의 참조 픽처 리샘플링(RPR)의 지원 덕분에, VVC에서 SD 및 HD 해상도들을 가지는 두 개의 계층들과 같은 복수의 계층을 포함하는 비트스트림의 지원은, 공간적 확장성 지원을 위해 필요한 업샘플링이 단지 RPR 업샘플링 필터만을 사용할 수 있는 것처럼, 어떠한 추가적인 신호-처리-레벨 코딩 툴에 대한 필요 없이 설계될 수 있다. 그럼에도 불구하고, (확장성을 지원하지 않는 것과 비교하여) 하이 레벨 신택스 변경들은 확장성 지원을 위해 필요하다. 확장성 지원은 VVC 버전 1에 명시된다. AVC 및 HEVC의 확장판을 포함하여, 이전의 다른 모든 비디오 코딩 표준들에서의 확장성 지원과는 달리, VVC 확장성(scalability)은 단일 계층 디코더 설계들에 최대한 친화적으로 설계되었다. 다계층 비트스트림들에 대한 디코딩 능력은 비트스트림에 단일 계층만이 존재하는 것과 같은 방식으로 명시된다. 즉, DPB 크기와 같은 디코딩 능력은 디코딩할 비트스트림 내 계층들의 수에 독립적인 방식으로 명시된다. 기본적으로, 단일 계층 비트스트림들을 위해 설계된 디코더는 다계층 비트스트림들을 디코딩할 수 있기 위해 많은 변경을 필요로 하지 않는다. AVC 및 HEVC의 다계층 확장판들의 설계들과 비교하여, HLS 측면들은 일부 복잡성들을 희생시켜 상당히 단순화되었다. 예를 들어, IRAP AU는 CVS에 존재하는 계층들 각각에 대한 픽처를 포함하기 위해 요구된다.
3.3. 파라미터 세트들
AVC, HEVC 및 VVC는 파라미터 세트들을 명시한다. 파라미트 세트들의 유형은 SPS, PPPS, APS 및 VPS를 포함한다. SPS 및 PPS는 AVC, HEVC 및 VVC 모두에서 지원된다. VPS는 HEVC 이래로 도입되었으며 HEVC와 VVC 모두에 포함된다. APS는 AVC 또는 HEVC에는 포함되지 않았지만 최신 VVC 초안 텍스트에는 포함되었다.
SPS는 시퀀스 레벨의 헤더 정보를 전단하기 위해 설계되었으며, PPS는 드물게 변경되는 픽처 레벨 헤더 정보를 전달하기 위해 설계되었다. SPS 및 PPS로 인해, 드물게 변경되는 정보는 각각의 시퀀스 또는 픽처에 대해 반복될 필요가 없으며, 그로 인해 이 정보의 중복 시그널링을 방지할 수 있다. 더 나아가, SPS 및 PPS의 사용은 중요한 헤더 정보의 대역 외 전송을 가능하게 하여, 중복 전송의 필요성을 방지할 뿐 아니라 오류 내성을 향상시킨다.
VPS는 다계층 비트스트림들 내의 모든 계층들에 공통되는 시퀀스 레벨 헤더 정보를 전달하기 위해 도입되었다.
APS는 코딩을 위해 상당한 양의 비트들을 필요로 하는 픽처 레벨 또는 슬라이스 레벨 정보를 전달하기 위해 도입되었으며, 복수의 픽처들에 의해 공유될 수 있으며, 시퀀스에는 상당히 많은 상이한 변형들이 있을 수 있다.
3.4. 프로파일, 티어, 레벨
비디오 코딩 표준들은 보통 프로파일들 및 레벨들을 명시한다. HEVC 및 개발중인 VVC와 같은 일부 비디오 코딩 표준들은 티어들 또한 명시한다.
프로파일, 티어 및 레벨은 비트스트림들에 대한 제한들, 그리하여 상기 비트스트림들을 디코딩하는 데에 필요한 능력들에 대한 한계들을 명시한다. 프로파일, 티어 및 레벨은 개별 디코더 구현들 간의 상호 연동성 지점들을 지시하기 위해서도 사용될 수 있다.
각 프로파일은 해당 프로파일에 부합하는 모든 디코더들이 지원해야 하는 알고리즘적인 특징들 및 한계들의 서브 세트를 명시한다. 인코더들은 프로파일에서 지원되는 코딩 툴들 또는 특징들 모두를 이용할 필요는 없지만, 프로파일에 부합하는 디코더들은 모든 코딩 툴들 및 특징들을 지원할 것이 요구된다는 것을 명심해야 한다.
티어의 각 레벨은 비트스트림 신택스 요소들이 취할 수 있는 값들에 대한 한계들의 세트를 명시한다. 티어 및 레벨 정의들의 동일한 세트는 보통 모든 프로파일들과 함께 사용되지만, 개별 구현들은 상이한 티어를 지원할 수 있으며, 티어 내에서 각각의 지원되는 프로파일에 대해 상이한 레벨을 지원할 수 있다. 임의의 주어진 프로파일에 대해, 일반적으로 티어의 레벨은 특정한 디코더 처리 부하 및 메모리 능력에 해당한다.
비디오 코덱 사양에 부합하는 비디오 디코더들의 능력들은 상기 비디오 코덱 사양에 명시되는 프로파일, 티어 및 레벨의 제약들에 부합하는 비디오 스트림들을 디코딩하는 능력의 관점에서 명시된다. 규정된 프로파일에 대한 디코더의 능력들을 표현하는 경우, 해당 프로파일에 대해 지원되는 티어 및 레벨 또한 표현되어야 한다.
3.5. 기존 VVC 티어 및 레벨 정의들
JVET-S0152-v5의 최신 VVC 초안 텍스트에서, 티어 및 레벨의 정의들은 다음과 같다
A.4.1 일반적인 티어 및 레벨 한계들 (General tier and level limits)
티어 능력들의 비교를 목적으로, 0과 동일한 general_tier_flag를 가지는 티어(즉, 메인 티어)는 1과 동일한 general_tier_flag를 가지는 티어(즉, 하이 티어) 보다 낮은 티어로 간주된다.
레벨 능력들의 비교를 목적으로, 특정 티어의 특정 레벨은, 상기 특정 레벨의 general_level_idc 또는 sublayer_level_idc[ i ]의 값이 상기 동일한 티어의 다른 레벨의 것 미만인 경우, 상기 다른 레벨 보다 낮은 레벨로 간주된다.
본 부속서에서 표현되는 상기 제약들은 다음과 같이 명시된다.
- AUn 이 디코딩 순서상 n번째 AU라하고, AU0는 첫 번째 AU(즉, 0번째 AU)라 하자.
- OLS 인덱스가 Target01sIdx인 OLS에 대해, 변수들 PicWidthMaxInSamplesY, PicHeightMaxInSamplesY 및 PicSizeMaxInSamplesY 그리고 적용가능한 dpb_parameters( ) 신택스 구조는 아래와 같이 유도된다.
o 만약 NumLayersInOls[ TargetOlsIdx ]가 1과 같다면, PicWidthMaxInSamplesY는 sps_pic_width_max_in_luma_samples와 같게 설정되고, PicSizeMaxInSamplesY는 PicWidthMaxInSamplesY * PicHeightMaxInSamplesY와 같게 설정되며, 여기서 sps_pic_width_max_in_luma_samples 및 sps_pic_height_max_in_luma_samples는 OLS 내의 계층에 의해 참조되는 SPS에서 발견되고, 적용가능한 dpb_parameters( ) 신택스 구조 또한 상기 SPS에서 발견된다.
o 그렇지 않은 경우(NumLayersInOls[ TargetOlsIdx ]가 1 보다 큰 경우), PicWidthMaxInSamplesY는 vps_ols_dpb_pic_width[ MultiLayerOlsIdx[ TargetOlsIdx ] ]와 같게 설정되고, PicHeightMaxInSamplesY는 vps_ols_dpb_pic_height[ MultiLayerOlsIdx[ TargetOlsIdx ] ]와 같게 설정되며, PicSizeMaxInSamplesY는 PicWidthMaxInSamplesY * PicHeightMaxInSamplesY와 같게 설정되고, 그리고 적용가능한 dpb_parameters( ) 신택스 구조는 VPS에서 발견되는 vps_ols_dpb_params_idx[ MultiLayerOlsIdx[ TargetOlsIdx ] ]에 의해 식별된다.
명시된 레벨이 레벨 15.5가 아닌 경우, 명시된 티어 및 레벨에서 프로파일에 부합하는 비트스트림들은 부속서 C에 명시된 바와 같이 비트스트림 적합성 시험에 대한 다음 제약들을 준수해야 한다.
a) PicSizeMaxInSamplesY는 MaxLumaPs 보다 작거나 같아야 하며, 이때 MaxLumaPs는 표 A.1에서 명시된다.
b) PicWidthMaxInSamplesY의 값은 Sqrt( MaxLumaPs * 8 ) 보다 작거나 같아야 한다.
c) PicHeightMaxInSamplesY의 값은 Sqrt( MaxLumaPs * 8 ) 보다 작거나 같아야 한다.
d) 참조되는 각각의 PPS에 대해, NumTileColumns의 값은 MaxTileCols 보다 작거나 같아야 하며, NumTileRows의 값은 MaxTileRows 보다 작거나 같아야 하며, 이때 MaxTileCols 및 MaxTileRows는 표 A.1에서 명시된다.
e) VCL HRD 파라미터들에 대해, 0 내지 hrd_cpb_cnt_minus1의 범위(경계값 포함)에 있는 i의 적어도 하나의 값에 대해, CpbSize[Htid][ i ]는 CpbVclFactor * MaxCPB 보다 작거나 같아야 하며, 이때 CpbSize[Htid][ i ]는 C.1절에 명시되는 대로 선택되는 파라미터들에 기반하여 7.4.6.3절에서 명시되며, CpbVclFactor는 표 A.3에서 명시되고, 그리고 MaxCPB는 표 A.1에서 CpbVclFactor 비트의 단위로 명시된다.
f) NAL HRD 파라미터들에 대해, 0 내지 hrd_cpb_cnt_minus1의 범위(경계값 포함)에 있는 i의 적어도 하나의 값에 대해, CpbSize[Htid][ i ]는 CpbNalFactor * MaxCPB 보다 작거나 같아야 하며, 이때 CpbSize[Htid][ i ]는 C.1절에 명시되는 대로 선택되는 파라미터들에 기반하여 7.4.6.3절에서 명시되며, CpbNalFactor는 표 A.3에서 명시되고, 그리고 MaxCPB는 표 A.1에서 CpbNalFactor 비트의 단위로 명시된다.
표 A.1은 레벨 15.5 외의 레벨들에 대해 각 티어의 각 레벨에 대한 한계들을 명시한다.
아래와 같이, 비트스트림이 부합하는 티어 및 레벨은 신택스 요소들 general_tier_flag 및 general_level_idc에 의해 지시되며, 하위계층 표현이 부합하는 레벨은 신택스 요소 sublayer_level_idc[ i ]에 의해 지시된다.
- 만약 명시되는 레벨이 레벨 15.5가 아니면, 표 A.1에 명시되는 티어 제약들에 따라, 0과 동일한 general_tier_flag는 메인 티어에의 적합성을 지시하며, 1과 동일한 general_tier_flag는 하이 티어에의 적합성을 지시하고, ("-"로 표시된 표 A.1의 항목들에 해당하는) 레벨 4 아래의 레벨들에 대해 general_tier_flag는 0과 같아야 한다. 그렇지 않은 경우(상기 명시된 레벨이 레벨 15.5인 경우), 비트스트림 적합성의 요건으로, general_tier_flag는 1과 같아야 하고, general_tier_flag에 대한 값 0는 ITU-T | ISO/IEC에 의해 미래의 사용을 위해 유보되었으며, 디코더들은 general_tier_flag의 값을 무시해야 한다.
- general_level_idc 및 sublayer_level_idc[ i ]는 표 A.1에 명시된 레벨 수에 대한 general_level_idc의 값과 같게 설정되어야 한다.
표 A.1 - 일반적인 티어 및 레벨 한계들 (General tier and level limits)
Figure pct00001
A.4.2 프로파일 특정적인 레벨 한계들
본 부속서에서 표현되는 상기 제약들은 아래와 같이 명시된다.
- 변수 fR이 1 
Figure pct00002
 300과 같은 것으로 설정되도록 하자.
변수 HbrFactor는 다음과 같이 정의된다.
- 만약 비트스트림이 메인 10 프로파일 또는 메인 4:4:4 10 프로파일에 부합하는 것으로 지시되면, HbrFactor는 1과 같다고 설정된다.
VCL 비트레이트 스케일 팩터를 표현하는 변수 BrVclFactor는 CpbVclFactor * HbrFactor와 같게 설정된다.
NAL 비트레이트 스케일 팩터를 표현하는 변수 BrNalFactor는 CpbNalFactor * HbrFactor와 같게 설정된다.
변수 MinCr은 MinCrBase * MinCrScaleFactor
Figure pct00003
HbrFactor와 같게 설정된다.
명시된 레벨이 레벨 15.5가 아니면, max_dec_pic_buffering_minus1[ Htid ] + 1의 값은 MaxDpbSize 보다 작거나 같아야 하며, 이는 다음과 같이 유도된다.
Figure pct00004
여기서 MaxLumaPs는 표 A.1에서 명시되며, maxDpbPicBuf는 8과 같고, max_dec_pic_buffering_minus1[ Htid ]는 적용가능한 dpb_parameters( ) 신택스 구조에서 발견되거나 그것으로부터 유도된다.
numDecPics가 AU n에서 픽처들의 수라 하자. 변수 AuSizeMaxInSamplesY[ n ]는 PicSizeMaxInSamplesY * numDecPics와 같은 것으로 설정된다.
명시된 티어 및 레벨에서 상기 메인 10 또는 메인 4:4:4 10 프로파일에 부합하는 비트스트림들은 부속서 C에 명시된 바와 같이 각 비트스트림 적합성 시험에 대한 다음 제약들을 준수해야 한다.
a) C.2.3절에 명시된 것과 같이, CPB로부터 AU n (n은 0 보다 큼)의 명목 제거 시간은, AuNominalRemovalTime[ n ] - AuCpbRemovalTime[ n - 1 ]가 Max( AuSizeMaxInSamplesY[ n - 1 ] 
Figure pct00005
 MaxLumaSr, fR ) 이상이어야 한다는 제약을 만족해야 하며, 이때 MaxLumaSr은 AU N - 1에 적용되는 표 A.2에 명시된 값이다.
b) C.3.3절에 명시된 바와 같이, DPB로부터의 상이한 AU들의 픽처들의 연속적인 출력 시간들 사이의 차이는, DpbOutputInterval[ n ]이 Max( AuSizeMaxInSamplesY[ n ] 
Figure pct00006
 MaxLumaSr, fR ) 이상이어야 한다는 제약을 만족해야 하며, 이때 AU n이 출력되는 픽처를 가지고 AU n이 출력되는 픽처를 가지는 비트스트림의 마지막 AU가 아니라면 MaxLumaSr은 AU n에 대해 표 A.2에서 명시된 값이다.
c) AU 0의 제거 시간은, 픽처 0의 PicSizeMaxInSamplesY의 값에 대해, AU 0에서 각 픽처 내 슬라이스들의 수가 Min( Max( 1, MaxSlicesPerPicture * MaxLumaSr / MaxLumaPs * ( AuCpbRemovalTime[ 0 ] - AuNominalRemovalTime[ 0 ] ) + MaxSlicesPerPicture * PicSizeMaxInSamplesY / MaxLumaPs ), MaxSlicesPerPicture ) 보다 작거나 같아야 한다는 제약을 만족해야 하며, 이때 MaxSlicesPerPicture, MaxLumaPs 및 MaxLumaSr은 AU 0에 적용되는 표 A.1 및 표 A.2에 각각 명시되는 값들이다.
d) AU n 및 n - 1 (n은 0 보다 큼)의 연속적인 CPB 제거 시간들 사이의 차이는 AU n에서 각 픽처 내 슬라이스들의 수가 Min( (Max( 1, MaxSlicesPerPicture * MaxLumaSr / MaxLumaPs * ( AuCpbRemovalTime[ n ] - AuCpbRemovalTime[ n - 1 ] ) ), MaxSlicesPerPicture ) 보다 작거나 같아야 한다는 제약을 만족해야 하며, 이때 MaxSlicesPerPicture, MaxLumaPs 및 MaxLumaSr은 AU n에 적용되는 표 A.1 및 표 A.2에서 명시되는 값들이다.
e) 상기 VCL HRD 파라미터들에 대해, BitRate[Htid][ i ]는, 0 내지 hrd_cpb_cnt_minus1의 범위(경계값 포함)에 있는 i의 적어도 하나의 값에 대해, BrVclFactor * MaxBR 보다 작거나 같아야 하며, 이때 BitRate[Htid][ i ]는 C.1절에 명시된 바와 같이 선택된 파라미터들에 기반하는 7.4.6.3절에서 명시되며, MaxBR은 BrVclFactor bits/s의 단위로 표 A.2에서 명시된다.
f) 상기 NAL HRD 파라미터들에 대해, BitRate[Htid][ i ]는, 0 내지 hrd_cpb_cnt_minus1의 범위(경계값 포함)에 있는 i의 적어도 하나의 값에 대해, BrNalFactor * MaxBR 보다 작거나 같아야 하며, 이때 BitRate[Htid][ i ]는 C.1절에 명시된 바와 같이 선택된 파라미터들에 기반하는 7.4.6.3절에서 명시되며, MaxBR은 BrNalFactor bits/s의 단위로 표 A.2에서 명시된다.
g) AU 0에 대한 NumBytesInNalUnit 변수들의 합은 FormatCapabilityFactor * ( Max( AuSizeMaxInSamplesY[ 0 ], fR * MaxLumaSr ) + MaxLumaSr * ( AuCpbRemovalTime[ 0 ] - AuNominalRemovalTime[ 0 ] ) )
Figure pct00007
MinCr 보다 작거나 같아야 하며, 이때 MaxLumaSr 및 FormatCapabilityFactor는 AU 0에 적용되는 표 A.2 및 표 A.3에서 각각 명시되는 값들이다.
h) AU n(n은 0 보다 큼)에 대한 NumBytesInNalUnit 변수들의 합은 FormatCapabilityFactor * MaxLumaSr * ( AuCpbRemovalTime[ n ] - AuCpbRemovalTime[ n - 1 ] )
Figure pct00008
MinCr 보다 작거나 같아야 하며, 이때 MaxLumaSr 및 FormatCapabilityFactor는 AU n에 적용되는 표 A.2 및 표 A.3에서 각각 명시되는 값들이다.
i) AU 0의 제거 시간은, AU 0에서 각 픽처 내 타일들의 수가 Min( Max( 1, MaxTileCols * MaxTileRows * 120 * ( AuCpbRemovalTime[ 0 ] - AuNominalRemovalTime[ 0 ] ) + MaxTileCols * MaxTileRows * AuSizeMaxInSamplesY[ 0 ] / MaxLumaPs ), MaxTileCols * MaxTileRows ) 보다 작거나 같아야 한다는 제약을 만족해야 하며, 이때 MaxTileCols 및 MaxTileRows는 AU 0에 적용되는 표 A.1에서 명시되는 값들이다.
j) AU n 및 n - 1 (n은 0 보다 큼)의 연속적인 CPB 제거 시간들 사이의 차이는 AU n에서 각 픽처 내 타일들의 수가 Min( Max( 1, MaxTileCols * MaxTileRows * 120 * ( AuCpbRemovalTime[ n ] - AuCpbRemovalTime[ n - 1 ] ) ), MaxTileCols * MaxTileRows ) 보다 작거나 같아야 한다는 제약을 만족해야 하며, 이때 MaxTileCols 및 MaxTileRows는 AU n에 적용되는 표 A.1에서 명시되는 값들이다.
표 A.2 - 비디오 프로파일들을 위한 티어 및 레벨 한계들 (Tier and level limits for the video profiles)
Figure pct00009
표 A.3 - CpbVclFactor, CpbNalFactor, FormatCapabilityFactor 및 MinCrScaleFactor의 사양
Figure pct00010
3.6. 기존 VVC 비트스트림 적합성 정의
JVET-S0152-v5에서의 최신 VVC 초안 텍스트에서, 비트스트림 적합성의 정의는 아래와 같다.
A.4 비트스트림 적합성 (Bitstream conformance)
본 명세서에 부합하는 코딩된 데이터의 비트스트림은 이 절에 명시된 모든 요건들을 충족해야 한다.
상기 비트스트림은 본 부속서 외에 본 명세서에 명시된 신택스, 시맨틱스 및 제약들에 따라 구성되어야 한다.
비트스트림에서 첫 번째로 코딩된 픽처는 IRAP 픽처(즉, IDR 픽처 또는 CRA 픽처) 또는 GDR 픽처여야 한다.
비트스트림은 C.1절에 명시된 것과 같은 적합성에 대해 HRD로 테스트된다.
currPicLayerId가 현재 픽처의 nuh_layer_id와 동일하다고 하자.
각각의 현재 픽처에 대해, 변수들 maxPicOrderCnt 및 minPicOrderCnt가 currPicLayerId와 동일한 nuh_layer_id를 가지는 아래 픽처들의 PicOrderCntVal 값들의 최대 및 최소값과 각각 같게 설정되도록 하자.
- 현재 픽처
- TemporalId 및 ph_non_ref_pic_flag가 모두 0과 동일하고 RASL 또는 RADL 픽처가 아닌, 디코딩 순서 상의 이전 픽처.
- 현재 픽처의 RefPicList[ 0 ]내 모든 항목들 및 RefPicList[ 1 ]내 모든 항목들에 의해 참조되는 STRP들.
- 1과 동일한 PictureOutputFlag, AuCpbRemovalTime[ currPic ] 미만인 AuCpbRemovalTime[ n ], 그리고 AuCpbRemovalTime[ currPic ] 이상인 DpbOutputTime[ n ]를 가지는 모든 픽처들 n, 여기서 currPic는 현재 픽처.
아래의 조건들은 모두 비트스트림 적합성 시험들 각각에 대해 충족되어야 한다.
1. BP SEI 메시지와 관련된, 각각의 AU n(n은 0 보다 큼)에 대해, 변수 deltaTime90k[ n ]가 아래와 같이 명시되도록 하자.
Figure pct00011
InitCpbRemovalDelay[ Htid ][ ScIdx ]의 값은 다음과 같이 제한된다.
- 만약 cbr_flag[ ScIdx ]가 0과 같으며, 아래 조건이 참이어야 한다.
Figure pct00012
- 그렇지 않으면(cbr_flag[ ScIdx ]이 1과 같으면), 아래 조건이 참이어야 한다.
Figure pct00013
주의 1 - 각 AU 또는 DU의 제거 시점에서 CPB 내 비트들의 정확한 수는 어떤 BP SEI 메시지가 HRD를 초기화하기 위해 선택되는지에 의존할 수 있다. HRD가 BP SEI 메시지들 중 어느 것에서도 초기화될 수 있으므로, 인코더들은 이것을 고려하여 모든 명시된 제약들이 어떤 BP SEI 메시지가 HRD를 초기화하기 위해 선택되는지와 무관하게 준수되도록 해야 한다.
2. CPB 오버플로우는 CPB 에서의 비트들의 총 수가 CPB 사이즈보다 더 크다는 조건으로서 명시된다. CPB 는 결코 오버플로우하지 않아야 한다.
3. low_delay_hrd_flag[ Htid ]가 0과 같은 경우, CPB는 결코 언터플로우하지 않아야 한다. CPB 언터플로우는 다음과 같이 명시된다.
- 만약 DecodingUnitHrdFlag가 0과 같으면, CPB 언더플로우는, n의 적어도 하나의 값에 대해, AU n AuNominalRemovalTime[ n ]의 명목 CPB 제거 시간이 AU n AuFinalArrivalTime[ n ]의 최종 CPB 도달 시간 미만인 조건으로 명시된다.
- 그렇지 않으면(DecodingUnitHrdFlag가 1과 같으면), CPB 언더플로우는, n의 적어도 하나의 값에 대해, DU m DuNominalRemovalTime[ m ]의 명목 CPB 제거 시간이 DU m DuFinalArrivalTime[ m ]의 최종 CPB 도달 시간 미만인 조건으로 명시된다.
4. DecodingUnitHrdFlag가 1과 같고, low_delay_hrd_flag[ Htid ]가 1과 같고, AU n의 DU m의 명목 제거 시간이 DU m의 최종 CPB 도달 시간 미만인 경우(즉, DuNominalRemovalTime[ m ] < DuFinalArrivalTime[ m ]), AU n의 명목 제거 시간은 AU n의 최종 CPB 도달 시간 미만이어야 한다(즉, AuNominalRemovalTime[ n ] < AuFinalArrivalTime[ n ]).
5. (디코딩 순서상 두 번째 AU에서 시작하는) CPB로부터의 AU들의 명목 제거 시간들은 A.4.1 및 A.4.2에서 표현되는 AuNominalRemovalTime[ n ] 및 AuCpbRemovalTime[ n ]에 관한 제약들을 만족해야 한다.
6. 각 현재 픽처에 대해, C.3.2절에 명시된 것과 같은 DPB로부터의 픽처들의 제거를 위한 과정의 호출 후에, "참조용으로 사용"이라 표시된 모든 픽처들 n 또는 1과 동일한 PictureOutputFlag 및 CpbRemovalTime[ currPic ] 미만인 CpbRemovalTime[ n ]을 가지는 모든 픽처들 n을 포함하는, DPB 내의 디코딩된 픽처들의 수는 max_dec_pic_buffering_minus1[ Htid ] 보다 작거나 같아야 하며, 이때 currPic은 현재 픽처이다.
7. 모든 참조 픽처들은 예측을 위해 필요한 경우 DPB에 존재해야 한다. 1과 동일한 PictureOutputFlag를 가지는 각 픽처는, C.3절에 명시된 과정들 중 하나에 의해 그것의 출력 시간 전에 DPB로부터 제거되지 않는다면, 그것의 DPB 출력 시간에 DPB에 있어야 한다.
8. CLVSS 픽처가 아닌 각 현재 픽처에 대해, maxPicOrderCnt - minPicOrderCnt의 값은 MaxPicOrderCntLsb / 2 미만이어야 한다.
9. 픽처의 출력 시간들과 출력 순서상 그것을 따르며 1과 동일한 PictureOutputFlag를 가지는 첫 번째 픽처 사이의 차이인, 수학식 C.16에 의해 주어지는 DpbOutputInterval[ n ]의 값은 2절부터 9절까지에서 명시된 디코딩 과정을 사용하는 비트스트림에서 명시된 프로파일, 티어 그리고 레벨에 대해 A.4.1절에서 표현되는 제약을 만족시켜야 한다.
10. 각 현재 픽처에 대해, bp_du_cpb_params_in_pic_timing_sei_flag가 1과 같은 경우, tmpCpbRemovalDelaySum가 다음과 같이 유도되도록 한다.
Figure pct00014
ClockSubTick * tmpCpbRemovalDelaySum의 값은 현재 AU의 명목 CPB 제거 시간과 디코딩 순서상 현재 AU 내의 첫 번째 DU의 명목 CPB 제거 시간 사이의 차이와 같아야 한다.
11. 동일한 CVS 내의 임의의 두 픽처들 m 및 n에 대해, DpbOutputTime[ m ]가 DpbOutputTime[ n ] 보다 크면, 픽처 m의 PicOrderCntVal은 픽처 n의 PicOrderCntVal 보다 커야 한다.
주의 2 - 디코딩 순서 상 이전 CVS의 출력된 모든 픽처들은 디코딩 순서 상 뒤에 오는 CVS의 임의의 픽처들 보다 먼저 출력된다. 임의의 특정한 CVS내에서, 출력되는 픽처들은 PicOrderCntVal의 오른차순으로 출력된다.
12. 임의의 특정한 AU 내의 모든 픽처들에 대해 유도되는 DPB 출력 시간들은 동일해야 한다.
4. 개시된 해결 수단들로 해결되는 기술적인 문제들
레벨 정의들에 대한 기존 VVC 설계에는 다음과 같은 문제가 있다.
1) AU 0 및 AU n (n > 0)에 대한 CPB 제거 시간들과 슬라이스들의 수 사이의 관계에 대한 2개의 레벨 한계들, 즉 A.4.2절의 c 및 d항 (프로파일에 특수한 레벨 한계들)의 정의들은 MaxSlicesPerPicture 및 최대 픽처 크기에 기반한다. 하지만 MaxSlicesPerPicture는 픽처 레벨 한계로 정의되는 반면 CPB 제거 시간들은 AU 레벨 파라미터들이다.
2) AU 0 및 AU n (n > 0)에 대한 CPB 제거 시간들과 타일들의 수 사이의 관계에 대한 2개의 레벨 한계들, 즉 A.4.2절의 i 및 j항 (프로파일에 특수한 레벨 한계들)의 정의들은 MaxTileCols * MaxTileRows 및 최대 AU 크기에 기반한다. 하지만, 위의 경우와 마찬가지로, MaxTileCols 및 MaxTileRows는 픽처 레벨 한계들로 정의되는 반면 CPB 제거 시간들은 AU 레벨 파라미터들이다.
3) C.4절(비트스트림 적합성)에서 6번째 제약은 다음과 같다.
각 현재 픽처에 대해, C.3.2절에 명시된 것과 같은 DPB로부터의 픽처들의 제거를 위한 과정의 호출 후에, "참조용으로 사용"이라 표시된 모든 픽처들 n 또는 1과 동일한 PictureOutputFlag 및 CpbRemovalTime[ currPic ] 미만인 CpbRemovalTime[ n ]을 가지는 모든 픽처들 n을 포함하는, DPB 내의 디코딩된 픽처들의 수는 max_dec_pic_buffering_minus1[ Htid ] 보다 작거나 같아야 하며, 이때 currPic은 현재 픽처이다.
"CpbRemovalTime[ currPic ] 미만인 CpbRemovalTime[ n ]"부분이 설명하는 조건은, DPB 내의 디코딩된 픽처의 디코딩 시간은 현재 픽처의 디코딩 시간 미만이라는 것이다. 하지만, DPB 내의 모든 디코딩된 픽처들은 현재 픽처의 디코딩 보다 항상 먼저 디코딩되며, 그리하여 컨택스트 상의 CpbRemovalTime[ n ]는 항상 CpbRemovalTime[ currPic ] 미만이다.
5. 예시적인 해결책들 및 실시예들
상기 문제들 및 기타 문제들을 해결하기 위해, 아래에 요약된 방법들이 개시된다. 항목들은 일반적인 개념들을 설명하기 위한 예시들로 간주되어야 하며, 협소한 방식으로 해석되어서는 안 된다. 더 나아가, 이 항목들은 개별적으로 적용되거나 임의의 방식으로 결합될 수 있다.
1) 첫 번째 문제를 해결하기 위해서는, AU 0 및 AU n (n > 0)에 대한 CPB 제거 시간들과 슬라이스들의 수 사이의 관계에 대한 2개의 레벨 한계들, 즉 최신 VVC 초안에서 A.4.2절의 c 및 d항의 정의들을 MaxSlicesPerPicture 및 최대 픽처 크기에 기반하는 것에서 MaxSlicesPerPicture * (AU내 픽처들의 수) 및 최대 AU 크기에 기반하는 것으로 변경하면 된다.
2) 두 번째 문제를 해결하기 위해서는, AU 0 및 AU n (n > 0)에 대한 CPB 제거 시간들과 타일들의 수 사이의 관계에 대한 2개의 레벨 한계들, 즉 최신 VVC 초안에서 A.4.2절의 i 및 j항의 정의들을 MaxTileCols * MaxTileRows 및 최대 AU 크기에 기반하는 것에서 MaxTileCols * MaxTileRows * (AU내 픽처들의 수) 및 최대 AU 크기에 기반하는 것으로 변경하면 된다.
3) 세 번째 문제를 해결하기 위해서는, 최신 VVC 초안의 C.4절에서의 여섯 번째 제약을 변경하여 "참조용으로 사용"이라 표시되고, 1과 동일한 PictureOutputFlag를 가지며 현재 픽처의 디코딩 시간 후의 출력 시간을 가지는, DPB에 저장된 디코딩된 픽처들의 수에 대한 제약을 부과하도록 한다.
a. 일 예에서, 최신 VVC 초안의 C.4절에서의 여섯 번째 제약에서, "또는 1과 동일한 PictureOutputFlag 및 CpbRemovalTime[ currPic ] 미만인 CpbRemovalTime[ n ]을 가지는"을 "또는 1과 동일한 PictureOutputFlag 및 CpbRemovalTime[ currPic ] 보다 큰 DpbOutputTime[ n ]을 가지는"으로 변경하면 된다.
6. 실시예들
다음은 본 섹션에서 요약된 상기 발명의 측면들 중 일부에 대한 몇 가지 예시적인 실시예들로, 이것들은 VVC 명세서에 적용될 수 있다. 변경된 텍스트들은 JVET-S0152-v5에서의 최신 VVC 텍스트에 기반한다. 추가되거나 변경된 부분들 중 가장 관련성이 있는 부분에는, "A 및 B를 사용하여"에서와 같이 굵은 글씨, 밑줄 그리고 기울여 쓰기로 표시하였고, 삭제된 부분들 중 일부는, "[[ A 및 ]] B"에 기반하여"와 같이 굵게 표시된 이중 꺽쇠 괄호 및 기울여 쓰기로 표시되었다. 일부 다른 변경들은 성격상 편집상의 변경으로 강조되지 않는 것들이 있다.
6.1. 실시예 1
이 실시예는 항목 1 내지 3 그리고 그것들의 하위 항목들을 위한 것이다.
A.4.2 프로파일에 특수한 레벨 한계들 (Profile-specific level limits)
아래에 명시되는 것은 본 부속서에서의 제약들을 표현하기 위한 것이다.
- 변수 fR이 1 
Figure pct00015
 300과 같은 것으로 설정되도록 하자.
변수 HbrFactor는 다음과 같이 정의된다.
- 만약 비트스트림이 메인 10 프로파일 또는 메인 4:4:4 10 프로파일에 부합하는 것으로 지시되면, HbrFactor는 1과 같다고 설정된다.
VCL 비트레이트 스케일 팩터를 표현하는 변수 BrVclFactor는 CpbVclFactor * HbrFactor와 같게 설정된다.
NAL 비트레이트 스케일 팩터를 표현하는 변수 BrNalFactor는 CpbNalFactor * HbrFactor와 같게 설정된다.
변수 MinCr은 MinCrBase * MinCrScaleFactor χ HbrFactor와 같게 설정된다.
명시된 레벨이 레벨 15.5가 아니면, max_dec_pic_buffering_minus1[ Htid ] + 1의 값은 MaxDpbSize 보다 작거나 같아야 하며, 이는 다음과 같이 유도된다.
Figure pct00016
여기서 MaxLumaPs는 표 A.1에서 명시되며, maxDpbPicBuf는 8과 같고, max_dec_pic_buffering_minus1[ Htid ]는 적용가능한 dpb_parameters( ) 신택스 구조에서 발견되거나 그것으로부터 유도된다.
numPics[ n ] [[ numDecPics ]]가 AU n에서 픽처들의 수라 하자. 변수 AuSizeMaxInSamplesY[ n ]는 PicSizeMaxInSamplesY *  numPics[ n ] [[ numDecPics ]]와 같은 것으로 설정된다.
명시된 티어 및 레벨에서 상기 메인 10 또는 메인 4:4:4 10 프로파일에 부합하는 비트스트림들은 부속서 C에 명시된 바와 같이 각 비트스트림 적합성 시험에 대한 다음 제약들을 준수해야 한다.
k) C.2.3절에 명시된 것과 같이, CPB로부터 AU n (n은 0 보다 큼)의 명목 제거 시간은, AuNominalRemovalTime[ n ] - AuCpbRemovalTime[ n - 1 ]가 Max( AuSizeMaxInSamplesY[ n - 1 ] 
Figure pct00017
 MaxLumaSr, fR ) 이상이어야 한다는 제약을 만족해야 하며, 이때 MaxLumaSr은 AU n - 1에 적용되는 표 A.2에 명시된 값이다.
l) C.3.3절에 명시된 바와 같이, DPB로부터의 상이한 AU들의 픽처들의 연속적인 출력 시간들 사이의 차이는, DpbOutputInterval[ n ]이 Max( AuSizeMaxInSamplesY[ n ] 
Figure pct00018
 MaxLumaSr, fR ) 이상이어야 한다는 제약을 만족해야 하며, 이때 AU n이 출력되는 픽처를 가지고 AU n이 출력되는 픽처를 가지는 비트스트림의 마지막 AU가 아니라면 MaxLumaSr은 AU n에 대해 표 A.2에서 명시된 값이다.
m) AU 0의 제거 시간은, [[ 픽처 0의 PicSizeMaxInSamplesY의 값에 대해, ]] AU 0[[ 에서 각 픽처 ]]내 슬라이스들의 수가 Min( Max( 1, MaxSlicesPerPicture * numPics[ 0 ]  * MaxLumaSr / MaxLumaPs * ( AuCpbRemovalTime[ 0 ] - AuNominalRemovalTime[ 0 ] ) + MaxSlicesPerPicture * numPics[ 0 ] * AuSizeMaxInSamplesY[ 0 ] [[ PicSizeMaxInSamplesY ]] / MaxLumaPs ), MaxSlicesPerPicture ) 보다 작거나 같아야 한다는 제약을 만족해야 하며, 이때 MaxSlicesPerPicture, MaxLumaPs 및 MaxLumaSr은 AU 0에 적용되는 표 A.1 및 표 A.2에 각각 명시되는 값들이다.
n) AU n 및 n - 1 (n은 0 보다 큼)의 연속적인 CPB 제거 시간들 사이의 차이는 AU n[[ 에서 각 픽처 ]] 내 슬라이스들의 수가 Min( (Max( 1, MaxSlicesPerPicture * numPics[ n ] * MaxLumaSr / MaxLumaPs * ( AuCpbRemovalTime[ n ] - AuCpbRemovalTime[ n-1 ] ) ), MaxSlicesPerPicture  * numPics[ n ]  ) 보다 작거나 같아야 한다는 제약을 만족해야 하며, 이때 MaxSlicesPerPicture, MaxLumaPs 및 MaxLumaSr은 AU n에 적용되는 표 A.1 및 표 A.2에서 명시되는 값들이다.
o) 상기 VCL HRD 파라미터들에 대해, BitRate[Htid][ i ]는, 0 내지 hrd_cpb_cnt_minus1의 범위(경계값 포함)에 있는 i의 적어도 하나의 값에 대해, BrVclFactor * MaxBR 보다 작거나 같아야 하며, 이때 BitRate[Htid][ i ]는 C.1절에 명시된 바와 같이 선택된 파라미터들에 기반하는 7.4.6.3절에서 명시되며, MaxBR은 BrVclFactor bits/s의 단위로 표 A.2에서 명시된다.
p) 상기 NAL HRD 파라미터들에 대해, BitRate[Htid][ i ]는, 0 내지 hrd_cpb_cnt_minus1의 범위(경계값 포함)에 있는 i의 적어도 하나의 값에 대해, BrNalFactor * MaxBR 보다 작거나 같아야 하며, 이때 BitRate[Htid][ i ]는 C.1절에 명시된 바와 같이 선택된 파라미터들에 기반하는 7.4.6.3절에서 명시되며, MaxBR은 BrNalFactor bits/s의 단위로 표 A.2에서 명시된다.
q) AU 0에 대한 NumBytesInNalUnit 변수들의 합은 FormatCapabilityFactor * ( Max( AuSizeMaxInSamplesY[ 0 ], fR * MaxLumaSr ) + MaxLumaSr * ( AuCpbRemovalTime[ 0 ] - AuNominalRemovalTime[ 0 ] ) )
Figure pct00019
MinCr 보다 작거나 같아야 하며, 이때 MaxLumaSr 및 FormatCapabilityFactor는 AU 0에 적용되는 표 A.2 및 표 A.3에서 각각 명시되는 값들이다.
r) AU n(n은 0 보다 큼)에 대한 NumBytesInNalUnit 변수들의 합은 FormatCapabilityFactor * MaxLumaSr * ( AuCpbRemovalTime[ n ] - AuCpbRemovalTime[ n-1 ] )
Figure pct00020
MinCr 보다 작거나 같아야 하며, 이때 MaxLumaSr 및 FormatCapabilityFactor는 AU n에 적용되는 표 A.2 및 표 A.3에서 각각 명시되는 값들이다.
s) AU 0의 제거 시간은, AU 0[[ 에서 각 픽처 ]] 내 타일들의 수가 Min( Max( 1, MaxTileCols * MaxTileRows * numPics[ 0 ] * 120 * ( AuCpbRemovalTime[ 0 ] - AuNominalRemovalTime[ 0 ] ) + MaxTileCols * MaxTileRows * numPics[ 0 ] * AuSizeMaxInSamplesY[ 0 ] / MaxLumaPs ), MaxTileCols * MaxTileRows * numPics[ 0 ]   ) 보다 작거나 같아야 한다는 제약을 만족해야 하며, 이때 MaxTileCols 및 MaxTileRows는 AU 0에 적용되는 표 A.1에서 명시되는 값들이다.
t) AU n 및 n - 1 (n은 0 보다 큼)의 연속적인 CPB 제거 시간들 사이의 차이는 AU n[[ 에서 각 픽처 ]] 내 타일들의 수가 Min( Max( 1, MaxTileCols * MaxTileRows * numPics[ n ] * 120 * ( AuCpbRemovalTime[ n ] - AuCpbRemovalTime[ n-1 ] ) ), MaxTileCols * MaxTileRows  * numPics[ n ]  ) 보다 작거나 같아야 한다는 제약을 만족해야 하며, 이때 MaxTileCols 및 MaxTileRows는 AU n에 적용되는 표 A.1에서 명시되는 값들이다.
...
C.4 비트스트림 적합성
...
6. 각 현재 픽처에 대해, C.3.2절에 명시된 것과 같은 DPB로부터의 픽처들의 제거를 위한 과정의 호출 후에, "참조용으로 사용"이라 표시된 또는 1과 동일한 PictureOutputFlag 및 CpbRemovalTime[ currPic ] 보다 큰 DpbOutputTime[ n ]을 가지는 모든 픽처들 n [[ 또는 1과 동일한 PictureOutputFlag 및 CpbRemovalTime[ currPic ] 미만인 CpbRemovalTime[ n ]을 가지는 모든 픽처들 n ]]을 포함하는, DPB 내의 디코딩된 픽처들의 수는 max_dec_pic_buffering_minus1[ Htid ] 보다 작거나 같아야 하며, 이때 currPic은 현재 픽처이다.
...
도 1은 여기서 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 처리 시스템(1000)을 보여주는 블록도이다. 다양한 구현들은 상기 시스템(1000)의 일부 또는 모든 구성품들을 포함할 수 있다. 상기 시스템(1000)은 비디오 콘텐츠를 수신하기 위한 입력(1002)을 포함할 수 있다. 상기 비디오 콘텐츠는 가공되지 않거나 압축되지 않은 포맷, 예를 들어, 8 또는 10 비트 다중 성분 픽셀 값들로 수신되거나 또는 압축되거나 인코딩된 포맷으로 수신될 수 있다. 상기 입력(1002)은 네트워크 인터페이스, 주변 버스 인터페이스, 또는 저장 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예들은 이더넷, 수동 광학 네트워크(Passive Optical Network: PON) 등과 같은 유선 인터페이스들 및 와이파이 또는 셀룰러 인터페이스와 같은 무선 인터페이스들을 포함한다.
상기 시스템(1000)은 현재 문서에서 기술되는 다양한 코딩 또는 인코딩 방법들을 구현할 수 있는 코딩 구성요소(1004)을 포함할 수 있다. 상기 코딩 구성요소(1004)는 상기 코딩 구성요소(1004)의 상기 입력(1002)로부터 상기 출력까지의 비디오의 평균 비트레이트를 줄여 상기 비디오의 코딩된 표현을 산출할 수 있다. 따라서 코딩 기술들은 종종 비디오 압축 또는 비디오 트랜스코딩 기술들이라 불린다. 상기 코딩 구성요소(1004)의 출력은, 상기 구성요소(1006)에 의해 나타난 대로, 연결된 통신을 통해 저장 또는 송신될 수 있다. 상기 입력(1002)에서 수신된 상기 비디오의 상기 저장 또는 통신된 비트스트림(또는 코딩된) 표현은 디스플레이 인터페이스(1010)에 보내지는 디스플레이가능한 비디오 또는 픽셀 값들을 생성하기 위해 상기 구성요소(1008)에 의해 사용될 수 있다. 사용자가 볼 수 있는 비디오를 상기 비트스트림 표현으로부터 생성시키는 절차는 종종 비디오 압축해제라 불린다. 더 나아가서, 특정 비디오 처리 작업들이 "코딩" 작업 또는 툴로 불리는 관계로, 상기 코딩 툴 또는 작업들이 인코더에서 사용되고 상응하는 디코딩 툴 또는 작업들은 코딩의 결과를 반전시키는 것들로써 디코더에 의해 실행된다는 것이 이해될 것이다.
주변 버스 인터페이스 또는 디스플레이 인터페이스의 예들은 범용 직렬 버스(USB: Universal Serial Bus) 또는 고화질 멀티미디어 인터페이스(HDMI: High Definition Multimedia Interface) 또는 디스플레이 포트 등을 포함할 수 있다. 저장 인터페이스의 예들은 SATA (serial advanced technology attachment), PCI, IDE 인터페이스 등을 포함한다. 본 문서에 설명된 기술들은 휴대폰, 노트북, 스마트폰, 또는 디지털 데이터 처리 및/또는 비디오 디스플레이를 실행할 수 있는 디바이스들과 같은 다양한 전자 디바이스들에서 구현될 수 있다.
도 2는 비디오 처리 장치(2000)의 블록도이다. 상기 장치(2000)는 여기서 기술된 하나 또는 그 이상의 방법들을 실행하는 데에 사용될 수 있다. 상기 장치(2000)는 스마트폰, 태블릿, 컴퓨터, IoT 수신기 등에서 구현될 수 있다. 상기 장치(2000)는 하나 또는 그 이상의 프로세서들(2002), 하나 또는 그 이상의 메모리들(2004) 그리고 비디오 처리 하드웨어(2006)을 포함할 수 있다. 상기 프로세서(들)(2002)은 본 문서(예를 들어, 도 6 내지 9)에 기술된 하나 또는 그 이상의 방법들을 실행하기 위해 구성될 수 있다. 상기 메모리(메모리들)(2004)은 여기서 기술된 방법들 및 기술들을 구현하기 위해 사용되는 데이터 및 코드를 저장하는 데에 사용될 수 있다. 상기 비디오 처리 하드웨어(2006)는 본 문서에 기술된 몇몇 기술들을 하드웨어 회로에서 구현하는 데에 사용될 수 있다. 일부 실시예들에서, 상기 하드웨어(2006)는 상기 하나 또는 그 이상의 프로세서들(2002), 예를 들어, 그래픽 프로세서에 부분적으로 또는 전체로 있을 수 있다.
도 3은 본 개시의 기술들을 활용할 수 있는 예시적인 비디오 코딩 시스템(100)을 도시한 블록도이다. 도 3에 나타난 바와 같이, 비디오 코딩 시스템(100)은 소스 디바이스(110) 및 목적지 디바이스(120)를 포함할 수 있다. 소스 디바이스(110)는 인코딩된 비디오 데이터를 생성할 수 있으며, 비디오 인코딩 장치로 지칭될 수 있다. 목적지 디바이스(120)는 소스 디바이스(110)에 의해 생성된 인코딩된 비디오 데이터를 디코딩할 수 있으며, 비디오 디코딩 장치로 지칭될 수 있다. 소스 디바이스(110)는 비디오 소스(112), 비디오 인코더(114) 및 입력/출력(I/O) 인터페이스(116)를 포함할 수 있다.
비디오 소스(112)는 비디오 캡처 장치, 비디오 콘텐츠 제공자로부터 비디오 데이터를 수신하는 인터페이스, 그리고/또는 비디오 데이터 생성을 위한 컴퓨터 그래픽스 시스템, 또는 이러한 소스들의 조합 등과 같은 소스를 포함할 수 있다. 비디오 데이터는 하나 이상의 픽처를 포함할 수 있다. 비디오 인코더(114)는 비트스트림을 생성하기 위해 비디오 소스(112)로부터 비디오 데이터를 인코딩한다. 비트스트림은 비디오 데이터의 코딩된 표현을 형성하는 비트들의 시퀀스를 포함할 수 있다. 상기 비트스트림은 코딩된 픽처들 및 연관된 데이터를 포함할 수 있다. 코딩된 픽처는 픽처의 코딩된 표현이다. 상기 연관된 데이터는 시퀀스 파라미터 세트, 픽처 파라미터 세트 및 다른 신택스 구조들을 포함할 수 있다. I/O 인터페이스(116)는 변조기/역변조기 (모뎀) 및/또는 전송기를 포함할 수 있다. 인코딩된 비디오 데이터는 I/O 인터페이스(116)를 통해 네트워크(130a)를 거쳐 목적지 디바이스(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) 표준, VVC(Versatile Video Coding) 표준 및 다른 현재 및/혹은 미래의 표준들과 같은 비디오 압축 표준에 따라 동작할 수 있다.
도 4는 도 3의 시스템(100)에서 비디오 인코더(114)일 수 있는 비디오 인코더(200)의 일 예를 도시하는 블록도이다.
비디오 인코더(200)는 본 개시의 임의의 일부 혹은 모든 기술을 수행하도록 구성될 수 있다. 도 4에서, 비디오 인코더(200)는 복수의 기능적 구성요소들을 포함한다. 본 개시에 설명된 기술들은 비디오 인코더(200)의 다양한 구성요소들 사이에서 공유될 수 있다. 일부 예시들에서, 프로세서는 본 개시에서 설명된 임의의 일부 혹은 모든 기술들을 수행하도록 구성될 수 있다.
비디오 인코더(200)의 기능적 구성요소들은 분할부(201), 모드 선택부(203), 모션 추정부(204), 모션 보상부(205) 및 인트라 예측부(206)를 포함할 수 있는 예측부(202), 잔차 생성부(207), 변환부(208), 양자화부(209), 역양자화부(210), 역변환부(211), 복원부(212), 버퍼(213), 그리고 엔트로피 인코딩부(214)를 포함할 수 있다.
다른 예들에서, 비디오 인코더(200)는 더 많은 수의, 적은 수의 또는 상이한 기능적 구성요소들을 포함할 수 있다. 일 예에서, 예측부(202)는 인트라 블록 카피(IBC)부를 포함할 수 있다. 상기 IBC부는 적어도 하나의 참조 픽처가 현재 비디오 블록이 위치하는 픽처인 IBC 모드로 예측을 수행할 수 있다.
게다가, 모션 추정부(204) 및 모션 보상부(205)와 같은 몇몇 구성요소들은 고도로 통합될 수 있지만, 설명의 목적을 위해 도 4의 예에서는 별개로 도시되었다.
분할부(201)는 픽처를 하나 또는 그 이상의 비디오 블록들로 분할할 수 있다. 비디오 인코더(200) 및 비디오 디코더(300)는 다양한 비디오 블록 크기들을 지원할 수 있다.
모드 선택부(203)는 예를 들어 오류 결과들에 기반하여, 인터 또는 인트라 코딩 모드들 중 하나를 선택할 수 있으며, 그 결과로 인트라 또는 인터 코딩된 블록을 잔차 생성부(207)에 제공하여 잔차 블록 데이터를 생성하도록 하고, 복원부(212)에 제공하여 인코딩된 블록을 참조 픽처로 사용하기 위해 복원하도록 할 수 있다. 몇몇 예들에서, 모드 선택부(203)는 예측이 인트라 예측 신호 및 인터 예측 신호에 기반하는 인트라 인터 결합 예측(CIIP) 모드를 선택할 수 있다. 모드 선택부(203)는 또한 인터 예측의 경우 블록에 대한 움직임 벡터를 위한 해상도(예를 들어, 서브 픽셀 또는 정수 픽셀 정밀도)를 선택할 수 있다.
현재 비디오 블록에 인터 예측을 실시하기 위해, 모션 추정부(204)는 버퍼(213)에서부터 상기 현재 비디오 블록까지 하나 또는 그 이상의 참조 프레임들을 비교하여 상기 현재 비디오 블록에 대한 움직임 정보를 생성할 수 있다. 모션 보상부(205)는 상기 움직임 정보 및 버퍼(213)로부터 상기 현재 블록에 관련된 픽처가 아닌 픽처들의 디코딩된 샘플들에 기반하여 상기 현재 비디오에 대한 예측 비디오 블록을 결정할 수 있다.
모션 추정부(204) 및 모션 보상부(205)는 현재 비디오 블록에 대해, 예를 들어 상기 현재 비디오 블록이 I 슬라이스, P 슬라이스 또는 B 슬라이스에 있는지 여부에 의존하여, 상이한 동작들을 실시할 수 있다.
일부 예들에서, 모션 추정부(204)는 현재 비디오 블록에 대해 단방향(uni-directional) 예측을 실시할 수 있으며, 모션 추정부(204)는 현재 비디오 블록을 위한 참조 비디오 블록에 대해 리스트 0 또는 리스트 1의 참조 픽처들을 탐색할 수 있다. 그리고 나서, 모션 추정부(204)는 참조 비디오 블록을 포함하는 리스트 0 또는 리스트 1에서 참조 픽처를 지시하는 참조 인덱스를 그리고 상기 현재 비디오 블록과 상기 참조 비디오 블록 사이의 공간적 이동(displacement)을 지시하는 움직임 벡터를 생성할 수 있다. 모션 추정부(204)는 상기 참조 인덱스, 예측 방향 지시자 그리고 상기 움직임 벡터를 상기 비디오 블록의 움직임 정보로 출력할 수 있다. 모션 보상부(205)는 상기 현재 비디오 블록의 상기 움직임 정보에 의해 지시되는 상기 참조 비디오 블록에 기반하여 상기 현재 블록의 예측 비디오 블록을 생성할 수 있다.
다른 예들에서, 모션 추정부(204)는 현재 비디오 블록에 대해 양방향(bi-directional) 예측을 실시할 수 있으며, 모션 추정부(204)는 현재 비디오 블록을 위한 참조 비디오 블록에 대해 리스트 0의 참조 픽처들을 탐색할 수 있고, 현재 비디오 블록을 위한 다른 참조 비디오 블록에 대해 리스트 1의 참조 픽처들을 탐색할 수 있다. 그리고 나서, 모션 추정부(204)는 참조 비디오 블록들을 포함하는 리스트 0 또는 리스트 0에서 참조 픽처들을 지시하는 참조 인덱스를 그리고 상기 현재 비디오 블록과 상기 참조 비디오 블록들 사이의 공간적 이동들(displacements)을 지시하는 움직임 벡터들을 생성할 수 있다. 모션 추정부(204)는 상기 참조 인덱스들 및 상기 현재 비디오 블록의 상기 움직임 벡터들을 상기 현재 비디오 블록의 움직임 정보로 출력할 수 있다. 모션 보상부(205)는 상기 현재 비디오 블록의 상기 움직임 정보에 의해 지시되는 상기 참조 비디오 블록들에 기반하여 상기 현재 블록의 예측 비디오 블록을 생성할 수 있다.
일부 예들에서, 모션 추정부(204)는 디코더의 디코딩 처리를 위한 움직임 정보의 풀 세트를 출력할 수 있다.
일부 예들에서, 모션 추정부(204)는 현재 비디오에 대한 움직임 정보의 풀 세트를 출력하지 않을 수 있다. 오히려, 모션 추정부(204)는 다른 비디오 블록의 움직임 정보를 참조하여 현재 비디오 블록의 움직임 정보를 시그널링할 수 있다. 예를 들어, 모션 추정부(204)는 현재 비디오 블록의 움직임 정보가 이웃 비디오 블록의 움직임 정보와 충분히 유사하다고 판단할 수 있다.
일 예에서, 모션 추정부(204)는 현재 비디오 블록과 연관된 신택스 구조에서 현재 비디오 블록이 다른 비디오 블록과 동일한 움직임 정보를 가지고 있다는 것을 비디오 디코더(300)에게 지시하는 값을 지시할 수 있다.
다른 예에서, 모션 추정부(204)는 현재 비디오 블록과 연관된 신택스 구조에서 다른 비디오 블록 및 움직임 벡터 차분(MVD: motion vector difference)을 식별할 수 있다. 상기 움직임 벡터 차분은 현재 비디오 블록의 움직임 벡터와 지시되는 비디오 블록의 움직임 벡터 사이의 차분을 지시한다. 비디오 디코더(300)는 지시되는 비디오 블록의 움직임 벡터 및 움직임 벡터 차분을 이용하여 현재 비디오 블록의 움직임 벡터를 결정할 수 있다.
위에서 논의된 것처럼, 비디오 인코더(200)는 움직임 벡터를 예측적으로 시그널링할 수 있다. 비디오 인코더(200)에 의해 실시될 수 있는 예측적 시그널링 기술들의 두 가지 예에는 향상된 움직임 벡터 예측(AMVP: advanced motion vector prediction)과 머지 모드 시그널링이 있다.
인트라 예측부(206)는 현재 비디오 블록에 대해 인트라 예측을 실시할 수 있다. 인트라 예측부(206)가 현재 비디오 블록에 대해 인트라 예측을 실시하는 경우, 인트라 예측부(206)는 동일한 픽처의 다른 비디오 블록들의 디코딩된 샘플들에 기반하여 현재 비디오 블록에 대한 예측 데이터를 생성할 수 있다. 현재 비디오 블록에 대한 예측 데이터는 예측된 비디오 블록 및 다양한 신택스 요소들을 포함할 수 있다.
잔차 생성부(207)는 현재 비디오 블록에서 현재 비디오 블록의 예측 비디오 블록(들)을 차감하여(예를 들어, 마이너스 기호로 지시) 현재 비디오 블록에 대한 잔차 데이터를 생성할 수 있다. 현재 비디오 블록의 상기 잔차 데이터는 현재 비디오 블록의 샘플들의 상이한 샘플 구성요소들에 해당하는 잔차 비디오 블록들을 포함할 수 있다.
다른 예들에서, 가령 스킵 모드에서, 현재 비디오 블록에 대한 잔차 데이터가 없을 수 있으며, 잔차 생성부(207)는 감산 동작을 실시하지 않을 수 있다.
변환 처리부(208)는 하나 또는 그 이상의 변환들을 현재 비디오 블록과 연관된 잔차 비디오 블록에 적용하여 현재 비디오 블록에 대한 하나 또는 그 이상의 변환 계수 비디오 블록들을 생성할 수 있다.
변환 처리부(208)가 현재 비디오 블록과 관련된 변환 계수 비디오 블록을 생성한 후, 양자화부(209)는 현재 비디오 블록과 관련된 하나 또는 그 이상의 양자화 파라미터(QP: quantization parameter) 값들에 기반하여 현재 비디오 블록과 관련된 상기 변환 계수 비디오 블록을 양자화 할 수 있다.
역양자화부(210) 및 역변환부(211)는 역양자화 및 역변환을 상기 변환 계수 비디오 블록에 각각 적용하여 상기 변환 계수 비디오 블록으로부터 잔차 비디오 블록을 복원할 수 있다. 복원부(212)는 상기 복원된 잔차 비디오 블록을 예측부(202)에 의해 생성된 하나 또는 그 이상의 예측 비디오 블록들에 해당하는 샘플들에 더하여 버퍼(213)에 저장하기 위해 현재 블록과 관련된 복원 비디오 블록을 생성할 수 있다.
복원부(212)가 상기 비디오 블록을 복원한 후에, 루프 필터링 동작이 상기 비디오 블록에서 비디오 블로킹 아티팩트들을 감소시키기 위해 실시될 수 있다.
엔트로피 인코딩부(214)는 비디오 인코더(200)의 다른 기능적 구성요소들로부터 데이터를 수신할 수 있다. 엔트로피 인코딩부(214)가 상기 데이터를 수신할 때, 엔트로피 인코딩부(214)는 하나 또는 그 이상의 엔트로피 인코딩 동작들을 실시하여 엔트로피 인코딩된 데이터를 생성하고 상기 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력할 수 있다.
도 5는 도 3에 도시된 시스템(100) 내의 비디오 디코더(114)일 수 있는 비디오 디코더(300)의 일 예를 도시하는 블록도이다.
비디오 디코더(300)는 본 개시의 기술들 중 어느 하나 또는 전부를 실시하도록 구성될 수 있다. 도 5의 예에서, 비디오 디코더(300)는 복수의 기능적 구성요소들을 포함한다. 본 개시에서 설명되는 기술들은 비디오 디코더(300)의 다양한 구성요소들 사이에 공유될 수 있다. 일부 예들에서, 프로세서는 본 개시에서 설명되는 기술들 중 어느 하나 또는 전부를 실시하도록 구성될 수 있다.
도 5의 예에서, 비디오 디코더(300)는 엔트로피 디코딩부(301), 모션 보상부(302), 인트라 예측부(303), 역양자화부(304), 역변환부(305), 복원부(306), 그리고 버퍼(307)를 포함한다. 일부 예들에서, 비디오 디코더(300)는 비디오 인코더(200)(도 4)와 관련하여 설명된 인코딩 패스에 일반적으로 상반된 디코딩 패스를 실시할 수 있다.
엔트로피 디코딩부(301)는 인코딩된 비트스트림을 검색할 수 있다. 상기 인코딩된 비트스트림은 엔트로피 코딩된 비디오 데이터(예를 들어, 비디오 데이터의 인코딩된 블록들)을 포함할 수 있다. 엔트로피 디코딩부(301)는 상기 엔트로피 코딩된 비디오 데이터를 디코딩할 수 있으며, 상기 엔트로피 디코딩된 비디오 데이터로부터, 모션 보상부(302)는 움직임 벡터들, 움직임 벡터 정밀도 및 참조 픽처 리스트 인덱스들을 포함하는 움직임 정보 및 기타 움직임 정보를 결정할 수 있다. 예를 들어, 모션 보상부(302)는 AMVP 및 머지 모드를 실행하여 이러한 정보를 결정할 수 있다.
모션 보상부(302)는 가능한 경우 보간 필터들에 기반한 보간을 실시하여 움직임 보상된 블록들을 산출할 수 있다. 서브 픽셀 정밀도와 함께 사용될 보간 필터들에 대한 식별자들은 신택스 요소들에 포함될 수 있다.
모션 보상부(302)는 비디오 인코더(200)가 비디오 블록의 인코딩 동안 사용한 것과 같이 보간 필터들을 사용하여 참조 블록의 서브-정수 픽셀들에 대한 보간된 값들을 계산할 수 있다. 모션 보상부(302)는 비디오 인코더(200)가 사용한 상기 보간 필터들을 수신된 신택스 정보에 따라 결정할 수 있으며, 상기 보간 필터들을 사용하여 예측적 블록들을 생성할 수 있다.
모션 보상부(302)는 인코딩된 비디오 시퀀스의 프레임(들) 및/또는 슬라이스(들)을 인코딩 하는 데에 사용된 블록들의 크기들을 판단하기 위한 일부 신택스 정보, 인코딩된 비디오 시퀀스의 픽처의 각 매크로블록이 어떻게 분할되는지를 기술하는 분할 정보, 각 파티션이 어떻게 인코딩되었는지를 지시하는 모드들, 각각의 인트라 인코딩된 블록에 대한 하나 또는 그 상의 참조 프레임들 (및 참조 프레임 리스트들), 그리고 인코딩된 비디오 시퀀스를 디코딩하기 위한 기타 정보를 이용할 수 있다.
인트라 예측부(303)는 공간적으로 인접한 블록들로부터 예측 블록을 형성하기 위해 예를 들어 비트스트림에서 수신된 인트라 예측 모드들을 이용할 수 있다. 역양자화부(303)는 비트스트림에서 제공되며 엔트로피 디코딩부(301)에 의해 디코딩된 양자화된 비디오 블록 계수들을 역 양자화(즉 양자화 해제)한다. 역변환부(303)는 역변환을 적용한다.
복원부(306)는 모션 보상부(202) 또는 인트라 예측부(303)에 의해 생성된 해당 예측 블록들과 잔차 블록들을 합산하여 디코딩된 블록들을 형성할 수 있다. 요구되는 경우, 디블로킹 필터 또한 블록화 아티팩트(blockiness artifacts)를 제거하기 위해 디코딩된 블록들의 필터링에 적용될 수 있다. 그리고 나서, 디코딩된 비디오 블록들은 버퍼(307)에 저장되며, 버퍼는 후속 움직임 보상을 위한 참조 블록들을 제공하고 디스플레이 디바이스 상에 제시하기 위해 디코딩된 비디오를 또한 산출한다.
도 6 내지 도 8은 예를 들어 상기 도 1 내지 도 5에 제시된 실시예들에서 기술된 기술적 해결책을 구현할 수 있는 예시적 방법들을 보여준다.
도 6은 비디오 처리의 예시적 방법(600)을 위한 순서도를 보여준다. 상기 방법은, 동작(610)에서, 하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 간의 변환을 실시하는 단계를 포함하며, 상기 비트스트림은 포맷 규칙에 기반하여 AU 0 내지 AU n인 복수의 액세스 유닛들 (AU들)로 구성되며 상기 포맷 규칙은 상기 복수의 AU들 각각을 디코딩 동안 코딩된 픽처 버퍼 (coded picture buffer (CPB))로부터 제거하는 시간들과 상기 복수의 AU들 각각에서의 슬라이스들의 수 사이의 관계를 명시하고, n은 양의 정수이다.
도 7은 비디오 처리의 예시적 방법(700)을 위한 순서도를 보여준다. 상기 방법은, 동작(710)에서, 하나 또는 그 이상의 타일들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 간의 변환을 실시하는 단계를 포함하고, 상기 비트스트림은 포맷 규칙에 기반하여 AU 0 내지 AU n인 복수의 AU들로 구성되며, 상기 포맷 규칙은 상기 복수의 AU들 각각을 코딩된 픽처 버퍼 (CPB)로부터 제거하는 시간들과 상기 복수의 AU들 각각에서의 타일들의 수 사이의 관계를 명시하고, n은 양의 정수이다.
도 8은 비디오 처리의 예시적 방법(800)을 위한 순서도이다. 상기 방법은, 동작(800)에서, 하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 간의 변환을 실시하는 단계를 포함하고, 상기 비트스트림은 하나 또는 그 이상의 액세스 유닛들로 구성되며, 상기 변환은 규칙을 준수하며, 상기 규칙은 디코딩된 픽처 버퍼 (decoded picture buffer (DPB))에 저장된 디코딩된 픽처들의 수에 대한 제약을 명시하며, 상기 디코딩된 픽처들의 디코딩된 픽처 각각은 (i) 참조를 위해 사용된 것으로 표시되고, (ii) 상기 디코딩된 픽처가 출력됨을 지시하는 플래그를 가지며, 그리고 (iii) 현재 픽처의 디코딩 시간 보다 나중인 출력 시간을 가진다.
다음으로, 일부 실시예들에 의해 선호되는 해결 수단들의 리스트가 제공된다.
A1. 비디오 데이터를 처리하는 방법으로, 하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 간의 변환을 실시하는 단계를 포함하되, 상기 비트스트림은 포맷 규칙에 기반하여 AU 0 내지 AU n인 복수의 액세스 유닛(AU)들로 구성되며, 이때 n은 양의 정수이며, 상기 포맷 규칙은 상기 복수의 AU들 각각을 코딩된 픽처 버퍼 (CPB)로부터 디코딩 동안 제거하는 시간들과 상기 복수의 AU들 각각에서의 슬라이스들의 수 사이의 관계를 명시하는, 방법.
A2. 해결 수단 A1에 있어서, 상기 관계는 (i) 픽처 당 슬라이스들의 최대 수와 액세스 유닛에서 픽처들의 수의 곱 그리고 (ii) 상기 액세스 유닛의 최대 크기에 기반하는, 방법.
A3. 해결 수단 A1에 있어서, 상기 포맷 규칙은 상기 복수의 액세스 유닛들 중 첫 번째 액세스 유닛 AU 0의 제거 시간이 제약을 만족함을 명시하는, 방법.
A4. 해결 수단 A3에 있어서, 상기 제약은 AU 0에서 슬라이스들의 수가 Min( Max( 1, MaxSlicesPerAu Х MaxLumaSr / MaxLumaPs Х ( AuCpbRemovalTime[ 0 ] - AuNominalRemovalTime[ 0 ] ) + MaxSlicesPerAu Х AuSizeMaxInSamplesY[ 0 ] / MaxLumaPs ), MaxSlicesPerAu ) 보다 작거나 같음을 명시하며, 이때 MaxSlicesPerAu는 액세스 유닛 당 슬라이스들의 최대 수, MaxLumaSr는 최대 루마 샘플 레이트, MaxLumaPs는 최대 루마 픽처 크기, AuCpbRemovalTime[ m ]는 m번째 액세스 유닛의 CPB 제거 시간, AuNominalRemovalTime[ m ]는 상기 m번째 액세스 유닛의 명목 CPB 제거 시간, 그리고 AuSizeMaxInSamplesY[ m ]은 시퀀스 파라미터 세트(SPS)를 참조하는 디코딩된 픽처의 루마 샘플들에서의 최대 크기인, 방법.
A5. 해결 수단 A4에 있어서, MaxLumaPs의 값과 MaxLumaSr의 값은 AU 0에 해당하는 값들로부터 선택되는, 방법.
A6. 해결 수단 A1에 있어서, 상기 포맷 규칙은 2개의 연속적인 액세스 유닛들 AU n-1 및 AU n의 제거 시간들 사이의 차이가 제약을 만족한다고 명시하는, 방법.
A7. 해결 수단 A6에 있어서, 상기 제약은 AU n에서 슬라이스들의 수가 Min( (Max( 1, MaxSlicesPerAu Х MaxLumaSr / MaxLumaPs Х ( AuCpbRemovalTime[ n ] - AuCpbRemovalTime[ n - 1 ] ) ), MaxSlicesPerAu ) 보다 작거나 같음을 명시하며, MaxSlicesPerAu는 액세스 유닛 당 슬라이스들의 최대 수, MaxLumaSr는 최대 루마 샘플 레이트, MaxLumaPs는 최대 루마 픽처 크기, 그리고 AuCpbRemovalTime[ m ]은 m번째 액세스 유닛의 CPB 제거 시간인, 방법.
A8. 해결 수단 A7에 있어서, MaxSlicesPerAu의 값, MaxLumaPs의 값, 그리고 MaxLumaSr의 값은 AU n에 해당하는 값들로부터 선택되는, 방법.
A9. 비디오 데이터를 처리하는 방법에 있어서, 하나 또는 그 이상의 타일들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 간의 변환을 실시하는 단계를 포함하되, 상기 비트스트림은 포맷 규칙에 기반하여 AU 0 내지 AU n인 복수의 AU들로 구성되며, 이때 n은 양의 정수이고, 상기 포맷 규칙은 상기 복수의 AU들 각각을 코딩된 픽처 버퍼 (CPB)로부터 제거하는 시간들과 상기 복수의 AU들 각각에서의 타일들의 수 사이의 관계를 명시하는, 방법.
A10. 해결 수단 A9에 있어서, 상기 관계는 (i) 픽처 당 타일 열들의 최대 수(MaxTileCols), 픽처당 타일 행들의 최대 수(MaxTileRows), 그리고 액세스 유닛에서 픽처들의 수의 곱 그리고 (ii) 상기 액세스 유닛의 최대 크기에 기반하는, 방법.
A11. 해결 수단 A9에 있어서, 상기 포맷 규칙은 상기 복수의 액세스 유닛들 중 첫 번째 액세스 유닛 AU 0의 제거 시간이 제약을 만족함을 명시하는, 방법.
A12. 해결 수단 A11에 있어서, 상기 제약은 AU n에서 타일들의 수가 Min( Max( 1, MaxTilesPerAu Х 120 Х ( AuCpbRemovalTime[ 0 ] - AuNominalRemovalTime[ 0 ] ) + MaxTilesPerAu Х AuSizeMaxInSamplesY[ 0 ] / MaxLumaPs ), MaxTilesPerAu ) 보다 작거나 같음을 명시하며, MaxTilesPerAu는 액세스 유닛 당 타일들의 최대 수, MaxLumaPs는 최대 루마 픽처 크기, AuCpbRemovalTime[ m ]은 m번째 액세스 유닛의 CPB 제거 시간, AuCpbRemovalTime[ m ]은 상기 m번째 액세스 유닛의 명목 CPB 제거 시간, 그리고 AuSizeMaxInSamplesY[ m ]는 시퀀스 파라미터 세트(SPS)를 참조하는 디코딩된 픽처의 루마 샘플들에서의 최대 크기인, 방법.
A13. 해결 수단 A12에 있어서, MaxTilesPerAu의 값은 AU 0에 해당하는 값들로부터 선택되는, 방법.
A14. 해결 수단 A9에 있어서, 상기 포맷 규칙은 2개의 연속적인 액세스 유닛들 AU n-1 및 AU n의 제거 시간들 사이의 차이가 제약을 만족한다고 명시하는, 방법.
A15. 해결 수단 A14에 있어서, 상기 제약은 AU 내 타일들의 수가 Min( Max( 1, MaxTilesPerAu Х 120 Х ( AuCpbRemovalTime[ n ] - AuCpbRemovalTime[ n - 1 ] ) ), MaxTilesPerAu ) 보다 작거나 같음을 명시하며, 이때 MaxTilesPerAu는 액세스 유닛 당 타일들의 최대 수이고 AuCpbRemovalTime[ m ]는 m번째 액세스 유닛의 CPB 제거 시간인, 방법.
A16. 해결 수단 A15에 있어서, MaxTilesPerAu의 값은 AU n에 해당하는 값들로부터 선택되는, 방법.
A17. 해결 수단 A1 내지 A16 중 어느 것에 있어서, 상기 변환은 상기 비디오를 상기 비트스트림으로부터 디코딩하는 단계를 포함하는, 방법.
A18. 해결 수단 A1 내지 A16 중 어느 것에 있어서, 상기 변환은 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함하는, 방법.
A19. 비디오를 표현하는 비트스트림을 컴퓨터 판독 가능 기록 매체에 저장하는 방법으로, 상기 비트스트림을 상기 비디오로부터 해결 수단 A1 내지 A16 중 어느 하나 또는 그 이상에서 설명된 방법에 따라 생성하는 단계 및 상기 비트스트림을 상기 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 포함하는, 방법.
A20. 해결 수단 A1 내지 A19 중 어느 하나 또는 그 이상에서 열거된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 처리 장치.
A21. 명령들을 저장하는 컴퓨터 판독 가능 매체로, 상기 명령들은, 실행 시에, 프로세서로 하여금 해결 수단 A1 내지 A19 중 어느 하나 또는 그 이상에서 열거된 방법을 구현하도록 하는, 매체.
A22. 해결 수단 A1 내지 A19 중 어느 하나 또는 그 이상에 따라 생성된 상기 비트스트림을 저장하는 컴퓨터 판독 가능 매체.
A23. 비트스트림을 저장하기 위한 비디오 처리 장치로서, 상기 비디오 처리 장치는 해결 수단 A1 내지 A19 중 어느 하나 또는 그 이상에서 열거된 방법을 구현하도록 구성되는, 비디오 처리 장치.
다음으로, 일부 실시예들에 의해 선호되는 해결 수단들의 다른 리스트가 제공된다.
B1. 비디오 데이터를 처리하는 방법으로서, 하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 간의 변환을 실시하는 단계를 포함하되, 상기 변환은 규칙을 준수하고, 상기 비트스트림은 하나 또는 그 이상의 액세스 유닛들로 구성되며, 상기 규칙은 디코딩된 픽처 버퍼 (decoded picture buffer (DPB))에 저장된 디코딩된 픽처들의 수에 대한 제약을 명시하며, 상기 디코딩된 픽처들의 디코딩된 픽처 각각은 (i) 참조를 위해 사용된 것으로 표시되고, (ii) 상기 디코딩된 픽처가 출력됨을 지시하는 플래그를 가지며, 그리고 (iii) 현재 픽처의 디코딩 시간 보다 나중인 출력 시간을 가지는, 방법.
B2. 해결 수단 B1에 있어서, 상기 디코딩된 픽처들의 수는 픽처 저장 버퍼 단위의 DPB의 최대 요구 크기에서 1을 뺀 것 보다 작거나 같은, 방법.
B3. 해결 수단 B1에 있어서, 상기 플래그는 PictureOutputFlag이고, m번째 픽처의 출력 시간은 DpbOutputTime[ m ]이며, 상기 m번째 픽처의 상기 디코딩 시간은 AuCpbRemovalTime[ m ]인, 방법.
B4. 해결 수단 B1 내지 B3 중 어느 것에 있어서, 상기 변환은 상기 비디오를 상기 비트스트림으로부터 디코딩하는 단계를 포함하는, 방법.
B5. 해결 수단 B1 내지 B3 중 어느 것에 있어서, 상기 변환은 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함하는, 방법.
B6. 비디오를 표현하는 비트스트림을 컴퓨터 판독 가능 기록 매체에 저장하는 방법으로, 상기 비트스트림을 상기 비디오로부터 해결 수단 B1 내지 B3 중 어느 하나 또는 그 이상에서 설명된 방법에 따라 생성하는 단계 및 상기 비트스트림을 상기 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 포함하는, 방법.
B7. 해결 수단 B1 내지 B6 중 어느 하나 또는 그 이상에서 열거된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 처리 장치.
B8. 명령들을 저장하는 컴퓨터 판독 가능 매체로, 상기 명령들은, 실행 시에, 프로세서로 하여금 해결 수단 B1 내지 B6 중 어느 하나 또는 그 이상에서 열거된 방법을 구현하도록 하는, 매체.
B9. 해결 수단 B1 내지 B6 중 어느 하나 또는 그 이상에 따라 생성된 상기 비트스트림을 저장하는 컴퓨터 판독 가능 매체.
B10. 비트스트림을 저장하기 위한 비디오 처리 장치로서, 상기 비디오 처리 장치는 해결 수단 B1 내지 B6 중 어느 하나 또는 그 이상에서 열거된 방법을 구현하도록 구성되는, 비디오 처리 장치.
다음으로, 일부 실시예들에 의해 선호되는 해결 수단들의 또 다른 리스트가 제공된다.
P1. 비디오 처리 방법으로, 하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 표현 간의 변환을 실시하는 단계를 포함하되, 상기 비트스트림 표현은 포맷 규칙에 따라 하나 또는 그 이상의 액세스 유닛들로 구성되며, 상기 포맷 규칙은 상기 비트스트림 표현 내의 하나 또는 그 이상의 신택스 요소들과 코딩된 픽처 버퍼로부터의 하나 또는 그 이상의 액세스 유닛들의 제거 시간들 간의 관계를 명시하는, 비디오 처리 방법.
P2. 해결 수단 P1에 있어서, 상기 규칙은 픽처 당 슬라이스들의 최대 수와 상기 액세스 유닛 내 픽처들의 수의 곱의 값에 기반한 상기 제거 시간들과 상기 액세스 유닛의 최대 허용 크기 간의 관계에 대한 2개의 레벨 한계들을 명시하는, 비디오 처리 방법.
P3. 해결 수단 P1에 있어서, 상기 규칙은, 그것의 값이 MaxTileCols * MaxTileRows * (액세스 유닛 내 픽처들의 수)인 제1 파라미터에 기반한 상기 제거 시간들 및 그것의 값이 상기 하나 또는 그 이상의 액세스 유닛들의 최대 허용 크기인 제2 파라미터 간의 관계에 대한 2개의 레벨 한계들을 명시하는, 비디오 처리 방법.
P4. 비디오 처리 방법으로, 하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 표현 간의 변환을 실시하는 단계를 포함하되, 상기 변환은 규칙을 따르며, 상기 비트스트림 표현은 하나 또는 그 이상의 액세스 유닛들로 구성되고, 상기 규칙은 참조를 위해 사용되는 것으로 표시되고, 1과 동일한 PictureOutputFlag를 가지며, 그리고 현재 픽처의 디코딩 시간 보다 나중인 출력 시간을 가지는, 디코딩된 픽처 버퍼에 저장된 디코딩된 픽처들의 수에 관한 제약을 명시하는, 비디오 처리 방법.
P5. 해결 수단 P1 내지 P4 중 어느 것에 있어서, 상기 변환을 실시하는 단계는 상기 코딩된 표현을 생성하기 위해 상기 비디오를 인코딩하는 단계를 포함하는, 비디오 처리 방법.
P6. 해결 수단 P1 내지 P4 중 어느 것에 있어서, 상기 변환을 실시하는 단계는 상기 비디오를 생성하기 위해 상기 코딩된 표현을 파싱하고 디코딩하는 단계를 포함하는, 비디오 처리 방법.
P7. 해결 수단 P1 내지 P6 중 하나 또는 그 이상에서 열거된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 디코딩 장치.
P8. 해결 수단 P1 내지 P6 중 하나 또는 그 이상에서 열거된 방법을 구현하도록 구성되는 프로세서를 포함하는 비디오 인코딩 장치.
P9. 컴퓨터 코드를 저장하는 컴퓨터 프로그램 제품으로, 상기 코드는, 프로세서에 의해 실행 시, 상기 프로세서로 하여금 해결 수단 P1 내지 P6 중 어느 것에서 열거된 방법을 구현하도록 하는, 컴퓨터 프로그램 제품.
본 문서에서, 용어 "비디오 처리”는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축 해제를 가리킬 수 있다. 예를 들어, 비디오 압축 알고리즘들은 비디오의 픽셀 표현으로부터 상응하는 비트스트림 표현으로 변환하는 동안 또는 그 반대의 경우에 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현(또는 단순하게, 비트스트림)은, 예를 들어, 신택스의 의해 정의되는 대로, 비트스트림 내에서 같은 위치에 있거나(co-located) 상이한 곳에 분산되어 있는 비트들에 해당할 수 있다. 예를 들어, 매크로블록은 변환되고 코딩된 오류 잔차 값들로 그리고 헤더들 및 비트스트림의 다른 필드들의 비트들을 사용하여 인코딩될 수 있다.
상기 개시된 그리고 여타 해결 수단들, 예시들, 실시예들, 모듈들 그리고 본 문서에 기술된 기능적 동작들은, 본 문서에 개시된 구조들 및 그것들의 구조적 등가물들을 포함하는, 디지털 전자 회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어, 또는 이것들 중 하나 또는 그 이상의 조합들에서 구현될 수 있다. 상기 개시된 그리고 여타 실시예들은 하나 또는 그 이상의 컴퓨터 프로그램 제품들로, 즉, 컴퓨터 판독 가능 매체에 인코딩된 컴퓨터 프로그램 명령들의 하나 또는 그 이상의 모듈들로 구현되어 데이터 처리 장치에 의해 실행되거나 또는 상기 장치의 동작을 제어할 수 있다. 상기 컴퓨터 판독 가능 매체는 기계 판독 가능 저장 디바이스, 기계 판독 가능 저장 기판, 메모리 디바이스, 기계 판독 가능 전파 신호에 영향을 주는 물질의 조성, 또는 이것들 중 하나 이상의 조합일 수 있다. 용어 "데이터 처리 장치"는 예로서 프로그램가능 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함하는, 데이터를 처리하기 위한 모든 장치, 디바이스들 및 머신들을 포함한다. 상기 장치는, 하드웨어에 더하여, 해당 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 전파 신호는 적합한 수신기 장치로의 송신을 위해 정보를 인코딩하도록 생성되는 인위적으로 생성된 신호, 예를 들어 머신 생성 전기, 광 또는 전자기 신호이다.
컴퓨터 프로그램 (또한, 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드라고도 알려져 있음)은 컴파일된 또는 해석된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 이는 독립형 프로그램(stand-alone program)으로서, 또는 모듈, 컴포넌트, 서브루틴, 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛 등과 같이 어떤 형태로도 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템 내의 파일에 반드시 대응하지는 않는다. 프로그램은 다른 프로그램들 또는 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들)를 보유하는 파일의 일부 내에, 해당 프로그램에 전용된 단일 파일 내에, 또는 다수의 협력하는 파일들(예를 들어, 하나 이상의 모듈들, 서브 프로그램들, 또는 코드의 부분들을 저장하는 파일들) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서, 또는 한 장소에 위치하거나 다수의 위치에 걸쳐 분산되어 통신 네트워크에 의해 상호접속되는 다수의 컴퓨터 상에서 실행되도록 배치될 수 있다.
본 문서에 설명된 프로세스들 및 로직 흐름들은 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램가능 프로세서에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 또한 특수 목적 로직 회로, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수 있고, 장치는 또한 그것들로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예로서, 범용 및 특수 목적 마이크로프로세서 양자 모두, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령들을 수행하기 위한 프로세서 및 명령들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어, 자기, 광자기 디스크들, 또는 광 디스크들을 포함하거나, 또는 이들로부터 데이터를 수신하거나 데이터를 이에 전송하거나, 또는 양자 모두를 수행하도록 동작적으로 결합될 것이다. 그러나, 컴퓨터가 이러한 디바이스들을 가질 필요는 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 예로서 반도체 메모리 디바이스들, 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들; 광자기 디스크들; 및 CD ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 그에 통합될 수 있다.
본 특허 문서가 많은 세부사항을 포함하고 있지만, 이들은 임의의 주제 또는 청구될 수 있는 것의 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정 기술들의 특정 실시예에 해당할 수 있는 특징들에 대한 설명으로서 해석되어야 한다. 개별 실시예들에 관련하여 본 특허 문서에 설명되는 특정 특징들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예에 관련하여 설명되는 다양한 특징들은 또한 다수의 실시예들에서 개별적으로 또는 임의의 적절한 하위조합으로 구현될 수 있다. 또한, 특징들이 특정 조합들로 작용하는 것으로 앞서 설명되고 심지어 처음에 이와 같이 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우들에서 조합으로부터 삭제될 수 있고, 청구된 조합은 하위조합 또는 하위조합의 변형에 관련될 수 있다.
유사하게, 동작들이 특정 순서로 도면들에 도시되지만, 이것은 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정 순서로 또는 순차적인 순서로 수행되거나, 모든 예시된 동작들이 수행되는 것을 요구하는 것으로 이해되어서는 안 된다. 또한, 본 특허 문서에 설명된 실시예들에서의 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되어서는 안 된다.
오직 몇몇 구현들 및 예들만이 설명되었으며, 본 특허 문서에서 설명되고 예시된 것에 기초하여 다른 구현들, 향상들 및 변형들이 이루어질 수 있다.

Claims (23)

  1. 비디오 데이터를 처리하는 방법으로,
    하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 간의 변환을 실시하는 단계를 포함하되,
    상기 비트스트림은 포맷 규칙에 기반하여 AU 0 내지 AU n인 복수의 액세스 유닛(AU)들로 구성되며,
    이때 n은 양의 정수이며,
    상기 포맷 규칙은 상기 복수의 AU들 각각을 코딩된 픽처 버퍼 (coded picture buffer (CPB))로부터 디코딩 동안 제거하는 시간들과 상기 복수의 AU들 각각에서의 슬라이스들의 수 사이의 관계를 명시하는, 방법.
  2. 제1항에 있어서,
    상기 관계는 (i) 픽처 당 슬라이스들의 최대 수와 액세스 유닛에서 픽처들의 수의 곱 그리고 (ii) 상기 액세스 유닛의 최대 크기에 기반하는, 방법.
  3. 제1항에 있어서,
    상기 포맷 규칙은 상기 복수의 액세스 유닛들 중 첫 번째 액세스 유닛 AU 0의 제거 시간이 제약을 만족함을 명시하는, 방법.
  4. 제3항에 있어서,
    상기 제약은 AU 0에서 슬라이스들의 수가 Min( Max( 1, MaxSlicesPerAu Х MaxLumaSr / MaxLumaPs Х ( AuCpbRemovalTime[ 0 ] - AuNominalRemovalTime[ 0 ] ) + MaxSlicesPerAu Х AuSizeMaxInSamplesY[ 0 ] / MaxLumaPs ), MaxSlicesPerAu ) 보다 작거나 같음을 명시하며,
    MaxSlicesPerAu는 액세스 유닛 당 슬라이스들의 최대 수이고, MaxLumaSr는 최대 루마 샘플 레이트이고, MaxLumaPs는 최대 루마 픽처 크기이고, AuCpbRemovalTime[ m ]는 m번째 액세스 유닛의 CPB 제거 시간이고, AuNominalRemovalTime[ m ]는 상기 m번째 액세스 유닛의 명목 CPB 제거 시간이고, 그리고 AuSizeMaxInSamplesY[ m ]은 시퀀스 파라미터 세트(SPS)를 참조하는 디코딩된 픽처의 루마 샘플들에서의 최대 크기인, 방법.
  5. 제4항에 있어서,
    MaxLumaPs의 값과 MaxLumaSr의 값은 AU 0에 해당하는 값들로부터 선택되는, 방법.
  6. 제1항에 있어서,
    상기 포맷 규칙은 2개의 연속적인 액세스 유닛들 AU n-1 및 AU n의 제거 시간들 사이의 차이가 제약을 만족한다고 명시하는, 방법.
  7. 제6항에 있어서,
    상기 제약은 AU n에서 슬라이스들의 수가 Min( (Max( 1, MaxSlicesPerAu Х MaxLumaSr / MaxLumaPs Х ( AuCpbRemovalTime[ n ] - AuCpbRemovalTime[ n - 1 ] ) ), MaxSlicesPerAu ) 보다 작거나 같음을 명시하며,
    MaxSlicesPerAu는 액세스 유닛 당 슬라이스들의 최대 수이고, MaxLumaSr는 최대 루마 샘플 레이트이며, MaxLumaPs는 최대 루마 픽처 크기이고, 그리고 AuCpbRemovalTime[ m ]은 m번째 액세스 유닛의 CPB 제거 시간인, 방법.
  8. 제7항에 있어서,
    MaxSlicesPerAu의 값, MaxLumaPs의 값, 그리고 MaxLumaSr의 값은 AU n에 해당하는 값들로부터 선택되는, 방법.
  9. 비디오 데이터를 처리하는 방법으로,
    하나 또는 그 이상의 타일들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 간의 변환을 실시하는 단계를 포함하되,
    상기 비트스트림은 포맷 규칙에 기반하여 AU 0 내지 AU n인 복수의 액세스 유닛(AU)들로 구성되며,
    n은 양의 정수이고,
    상기 포맷 규칙은 상기 복수의 AU들 각각을 코딩된 픽처 버퍼 (coded picture buffer (CPB))로부터 제거하는 시간들과 상기 복수의 AU들 각각에서의 타일들의 수 사이의 관계를 명시하는, 방법.
  10. 제9항에 있어서,
    상기 관계는 (i) 픽처 당 타일 열들의 최대 수(MaxTileCols), 픽처당 타일 행들의 최대 수(MaxTileRows), 그리고 액세스 유닛에서 픽처들의 수의 곱 그리고 (ii) 상기 액세스 유닛의 최대 크기에 기반하는, 방법.
  11. 제9항에 있어서,
    상기 포맷 규칙은 상기 복수의 액세스 유닛들 중 첫 번째 액세스 유닛 AU 0의 제거 시간이 제약을 만족함을 명시하는, 방법.
  12. 제11항에 있어서,
    상기 제약은 AU n에서 타일들의 수가 Min( Max( 1, MaxTilesPerAu Х 120 Х ( AuCpbRemovalTime[ 0 ] - AuNominalRemovalTime[ 0 ] ) + MaxTilesPerAu Х AuSizeMaxInSamplesY[ 0 ] / MaxLumaPs ), MaxTilesPerAu ) 보다 작거나 같음을 명시하며,
    MaxTilesPerAu는 액세스 유닛 당 타일들의 최대 수이고, MaxLumaPs는 최대 루마 픽처 크기이며, AuCpbRemovalTime[ m ]은 m번째 액세스 유닛의 CPB 제거 시간이고, AuCpbRemovalTime[ m ]은 상기 m번째 액세스 유닛의 명목 CPB 제거 시간이고, 그리고 AuSizeMaxInSamplesY[ m ]는 시퀀스 파라미터 세트(SPS)를 참조하는 디코딩된 픽처의 루마 샘플들에서의 최대 크기인, 방법.
  13. 제12항에 있어서,
    MaxTilesPerAu의 값은 AU 0에 해당하는 값들로부터 선택되는, 방법.
  14. 제9항에 있어서,
    상기 포맷 규칙은 2개의 연속적인 액세스 유닛들 AU n-1 및 AU n의 제거 시간들 사이의 차이가 제약을 만족한다고 명시하는, 방법.
  15. 제14항에 있어서,
    상기 제약은 AU 내 타일들의 수가 Min( Max( 1, MaxTilesPerAu Х 120 Х ( AuCpbRemovalTime[ n ] - AuCpbRemovalTime[ n - 1 ] ) ), MaxTilesPerAu ) 보다 작거나 같음을 명시하며,
    MaxTilesPerAu는 액세스 유닛 당 타일들의 최대 수이고 AuCpbRemovalTime[ m ]는 m번째 액세스 유닛의 CPB 제거 시간인, 방법.
  16. 제15항에 있어서,
    MaxTilesPerAu의 값은 AU n에 해당하는 값들로부터 선택되는, 방법.
  17. 제1항 내지 제16항 중 어느 것에 있어서,
    상기 변환은 상기 비디오를 상기 비트스트림으로부터 디코딩하는 단계를 포함하는, 방법.
  18. 제1항 내지 제16항 중 어느 것에 있어서,
    상기 변환은 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함하는, 방법.
  19. 비디오를 표현하는 비트스트림을 컴퓨터 판독가능한 기록 매체에 저장하는 방법으로,
    상기 비트스트림을 상기 비디오로부터 제1항 내지 제16항 중 어느 하나 또는 그 이상에서 기술된 방법에 따라 생성하는 단계 및
    상기 비디오를 상기 컴퓨터 판독가능한 기록 매체에 저장하는 단계를 포함하는, 방법.
  20. 제1항 내지 제19항 중 어느 하나 또는 그 이상에서 열거된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 처리 장치.
  21. 컴퓨터 명령들을 저장하는 컴퓨터 판독가능 매체로,
    상기 명령들은, 프로세서에 의해 실행되는 경우, 상기 프로세서가 제1항 내지 제19항 중 어느 하나 또는 그 이상에서 열거된 방법을 구현하도록 하는, 컴퓨터 판독가능 매체.
  22. 제1항 내지 제19항 중 어느 하나 또는 그 이상에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독가능 매체.
  23. 비트스트림을 저장하기 위한 비디오 처리 장치로,
    상기 비디오 처리 장치는 제1항 내지 제19항 중 어느 하나 또는 그 이상에서 열거된 방법을 구현하도록 구성되는, 비디오 처리 장치.
KR1020227042893A 2020-06-08 2021-06-08 코딩된 비디오 픽처에서 슬라이스 카운트의 제약들 KR20230019845A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063036321P 2020-06-08 2020-06-08
US63/036,321 2020-06-08
PCT/US2021/036462 WO2021252525A1 (en) 2020-06-08 2021-06-08 Constraints of slice count in a coded video picture

Publications (1)

Publication Number Publication Date
KR20230019845A true KR20230019845A (ko) 2023-02-09

Family

ID=78845844

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227042893A KR20230019845A (ko) 2020-06-08 2021-06-08 코딩된 비디오 픽처에서 슬라이스 카운트의 제약들

Country Status (6)

Country Link
US (3) US11856212B2 (ko)
EP (1) EP4154523A4 (ko)
JP (1) JP2023529420A (ko)
KR (1) KR20230019845A (ko)
CN (2) CN115943627A (ko)
WO (2) WO2021252525A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11516476B2 (en) * 2020-07-10 2022-11-29 Sharp Kabushiki Kaisha Systems and methods for deriving a motion vector difference in video coding

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2542266C (en) * 2004-04-28 2012-07-17 Matsushita Electric Industrial Co. Ltd. Moving picture stream generation apparatus, moving picture coding apparatus, moving picture multiplexing apparatus and moving picture decoding apparatus
EP1913778A4 (en) 2005-07-08 2010-04-28 Lg Electronics Inc METHOD FOR MODELING THE CODING OF INFORMATION OF A VIDEO SIGNAL FOR COMPRESSING / DECOMPRESSING THE INFORMATION
US8340510B2 (en) * 2009-07-17 2012-12-25 Microsoft Corporation Implementing channel start and file seek for decoder
US20110235709A1 (en) 2010-03-25 2011-09-29 Apple Inc. Frame dropping algorithm for fast adaptation of buffered compressed video to network condition changes
US8885729B2 (en) 2010-12-13 2014-11-11 Microsoft Corporation Low-latency video decoding
US9131245B2 (en) * 2011-09-23 2015-09-08 Qualcomm Incorporated Reference picture list construction for video coding
US9264717B2 (en) * 2011-10-31 2016-02-16 Qualcomm Incorporated Random access with advanced decoded picture buffer (DPB) management in video coding
US10003817B2 (en) * 2011-11-07 2018-06-19 Microsoft Technology Licensing, Llc Signaling of state information for a decoded picture buffer and reference picture lists
US9578326B2 (en) * 2012-04-04 2017-02-21 Qualcomm Incorporated Low-delay video buffering in video coding
US10230970B2 (en) * 2012-07-10 2019-03-12 Cisco Technology, Inc. Decoded picture buffer size management
US9654802B2 (en) * 2012-09-24 2017-05-16 Qualcomm Incorporated Sequence level flag for sub-picture level coded picture buffer parameters
CN105025303B (zh) 2012-09-28 2018-05-29 瑞典爱立信有限公司 视频序列图像的解码和编码
US9402076B2 (en) * 2013-01-07 2016-07-26 Qualcomm Incorporated Video buffering operations for random access in video coding
US9648335B2 (en) * 2013-07-12 2017-05-09 Qualcomm Incorporated Bitstream restrictions on picture partitions across layers
US9819941B2 (en) * 2013-10-10 2017-11-14 Qualcomm Incorporated Signaling for sub-decoded picture buffer (sub-DPB) based DPB operations in video coding
WO2015138979A2 (en) * 2014-03-14 2015-09-17 Sharp Laboratories Of America, Inc. Dpb capacity limits
US10390087B2 (en) * 2014-05-01 2019-08-20 Qualcomm Incorporated Hypothetical reference decoder parameters for partitioning schemes in video coding
US9699480B2 (en) * 2014-06-13 2017-07-04 Sharp Laboratories Of America, Inc. Level limits
US10778979B2 (en) 2018-01-11 2020-09-15 Qualcomm Incorporated Signaling mechanisms for equal ranges and other DRA parameters for video coding
KR20210123300A (ko) 2019-02-02 2021-10-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 복사를 위한 버퍼 관리
AU2020214083B2 (en) 2019-02-02 2023-06-01 Beijing Bytedance Network Technology Co., Ltd. Buffer management for intra block copy in video coding
WO2020177661A1 (en) 2019-03-01 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Order-based updating for intra block copy in video coding
WO2021033774A1 (en) 2019-08-21 2021-02-25 Sharp Kabushiki Kaisha Systems and methods for signaling buffering period information in video coding
KR20220070325A (ko) 2019-10-07 2022-05-30 후아웨이 테크놀러지 컴퍼니 리미티드 서브 비트스트림 추출의 sps 오류 방지
US11785205B2 (en) 2019-12-24 2023-10-10 Qualcomm Incorporated Shared decoder picture buffer for multiple layers
AU2021226398A1 (en) 2020-02-28 2022-09-29 Huawei Technologies Co., Ltd. A decoder and corresponding methods to signal picture partitioning information for slices
US11949863B2 (en) 2021-08-02 2024-04-02 Tencent America LLC Geometric partition mode with intra block copy

Also Published As

Publication number Publication date
CN115917978A (zh) 2023-04-04
WO2021252530A1 (en) 2021-12-16
CN115943627A (zh) 2023-04-07
WO2021252525A1 (en) 2021-12-16
JP2023529420A (ja) 2023-07-10
EP4154523A4 (en) 2023-11-22
US11917172B2 (en) 2024-02-27
US11856212B2 (en) 2023-12-26
US20230103059A1 (en) 2023-03-30
EP4154523A1 (en) 2023-03-29
US20240107041A1 (en) 2024-03-28
US20230105905A1 (en) 2023-04-06

Similar Documents

Publication Publication Date Title
US11871012B2 (en) Signaling of subpicture level and buffering information
KR20220115957A (ko) 비디오 코딩에서의 디코딩 파라미터 세트들
US20240107041A1 (en) Constraints On Decoding Picture Buffer
CN115804091A (zh) 访问单元分隔符,以及视频编解码中的通用约束信息
CN115699756A (zh) 视频编解码中的缩放窗口
KR20230019847A (ko) 비디오 픽처에서 서브픽처 수에 대한 제약들
CN115699731A (zh) 参考图片重采样
CN115699747A (zh) 视频子比特流提取过程中的可缩放嵌套sei消息处理
KR20230021664A (ko) 다중 계층 비디오 코딩에 대한 픽처 헤더 제약들
CN115699741A (zh) 视频编解码中的补充增强信息消息的可缩放嵌套
WO2021134052A1 (en) Signaling coded picture buffer levels in video coding

Legal Events

Date Code Title Description
A201 Request for examination