KR20220037389A - 픽처 단위 구성에서 Non-VCL 네트워크 추상화 계층(NAL) 단위 처리 - Google Patents

픽처 단위 구성에서 Non-VCL 네트워크 추상화 계층(NAL) 단위 처리 Download PDF

Info

Publication number
KR20220037389A
KR20220037389A KR1020210124741A KR20210124741A KR20220037389A KR 20220037389 A KR20220037389 A KR 20220037389A KR 1020210124741 A KR1020210124741 A KR 1020210124741A KR 20210124741 A KR20210124741 A KR 20210124741A KR 20220037389 A KR20220037389 A KR 20220037389A
Authority
KR
South Korea
Prior art keywords
video
subpicture
unit
vvc
nal
Prior art date
Application number
KR1020210124741A
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 KR20220037389A publication Critical patent/KR20220037389A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • 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/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/184Methods 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
    • 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

시각 미디어 데이터를 처리하기 위한 시스템, 방법 및 장치가 개시된다. 일 예로서 상기 방법은, 포맷 규칙에 따라 시각 미디어 데이터와 하나 이상의 비트스트림을 저장하는 하나 이상의 트랙을 포함하는 시각 미디어 파일 간의 변환 수행을 포함한다. 상기 시각 미디어 파일은 하나 이상의 서브 픽처 트랙을 참조하는 기본 트랙을 포함한다. 상기 포맷 규칙은 기본 트랙의 샘플과 하나 이상의 서브픽처 트랙의 샘플을 복원할 때 기본 트랙 샘플에 비 VCL(비디오 코딩 계층) NAL(네트워크 추상화 계층) 단위의 순서를 지정한다.

Description

픽처 단위 구성에서 Non-VCL 네트워크 추상화 계층(NAL) 단위 처리 {HANDLING OF NON-VCL NAL UNITS IN PICTURE UNIT CONSTRUCTION}
관련 출원들에 대한 상호 참조 : 파리협약에 따른 적용가능한 특허법 및/또는 규칙에 따라, 본 출원은 2020년 9월 17일에 제출된 US 가출원 No. 63/079,933의 우선권과 혜택을 적시에 주장하기 위해 만들어졌다. 상기 법 하의 모든 목적을 위해, 상기 출원들의 전체 개시물은 본 출원의 개시의 일부로서 참고로 통합된다. 본 특허 문서는 디지털 오디오 비디오 미디어 정보의 파일 포맷 상의 생성, 저장 및 소비에 관한 것이다
디지털 비디오는 인터넷 및 기타 디지털 통신 네트워크들에서 가장 큰 대역폭을 사용한다. 비디오를 수신하고 디스플레이할 수 있는 연결된 사용자 디바이스들의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭의 수요는 지속적으로 증가할 것으로 예상된다.
본 특허 문서는 비디오 또는 이미지의 코딩된 표현을 파일 포맷에 따라 처리하기 위해 비디오 인코더들 및 디코더들에 의해 사용될 수 있는 기술들을 개시한다.
일 예시적 측면에서, 시각 미디어 데이터를 처리하기 위한 방법이 개시된다. 상기 방법은 시각 미디어 데이터 및 상기 시각 미디어 데이터의 하나 또는 그 이상의 비트스트림을 저장하는 하나 또는 그 이상의 트랙들을 포함하는 시각 미디어 파일 간의 변환을 포맷 규칙에 따라 실시하는 단계를 포함한다. 이때 상기 시각 미디어 파일은 하나 또는 그 이상의 서브픽처 트랙들을 참조하는 기본 트랙을 포함한다. 또한, 이때 상기 포맷 규칙은, 상기 기본 트랙의 샘플로부터 그리고 상기 하나 또는 그 이상의 서브픽처 트랙들에서의 샘플들로부터 비디오 유닛을 복원(reconstructing)하는 데에 있어, 상기 기본 트랙의 상기 샘플에서 비 VCL (video coding layer, 비디오 코딩 계층) NAL (network abstraction layer, 네트워크 추상 계층) 유닛들의 순서를 명시한다.
다른 예시적 측면에서, 시각 미디어 데이터를 처리하기 위한 다른 방법이 개시된다. 상기 방법은 시각 미디어 데이터와 상기 시각 미디어 데이터의 하나 또는 그 이상의 비트스트림을 저장하는 하나 또는 그 이상의 트랙들을 포함하는 시각 미디어 파일 사이의 변환을 포맷 규칙에 따라 실시하는 단계를 포함한다. 이때 상기 하나 또는 그 이상의 비트스트림은 상기 시각 미디어 데이터의 코딩된 서브픽처들을 포함한다. 또한, 이때 상기 포맷 규칙은 상기 코딩된 서브픽처들을 처리하기 위한 규칙들을 지시하는 서브픽처 개체(entity) 그룹들의 박스들의 컨테이너가 파일 레벨 박스에 포함된다는 것을 명시한다.
또 다른 예시적 측면에서, 비디오 처리 장치가 개시된다. 상기 비디오 처리 장치는 상기 기술된 방법들을 실시하는 프로세서를 포함한다.
또 다른 예시적 측면에서, 하나 또는 그 이상의 비트스트림을 포함하는 파일로 시각 미디어 데이터를 저장하는 방법이 개시된다. 상기 방법은 상기 기술된 방법들에 상응하며, 비일시적이고 컴퓨터 판독가능한 기록 매체로 상기 하나 또는 그 이상의 비트스트림을 저장하는 단계를 더 포함한다.
또 다른 예시적 측면에서, 비트스트림을 저장하는 컴퓨터 판독가능한 매체가 개시된다. 상기 비트스트림은 상기 기술된 방법들에 따라 생성된다.
또 다른 예시적 측면에서, 비트스트림을 저장하기 위한 비디오 처리 장치가 개시된다. 이때 상기 비디오 처리 장치는 상기 기술된 방법들을 실시하도록 구성된다.
또 다른 예시적 측면에서, 비트스트림이 상기 기술된 방법들에 따라 생성된 파일 포맷을 준수하는 컴퓨터 판독가능한 매체가 개시된다.
발명의 효과는 본 문서 전체에 걸쳐 기술된다.
도 1은 예시적 비디오 처리 시스템의 블록도이다.
도 2는 비디오 처리 장치의 블록도이다.
도 3은 비디오 처리의 예시적 방법에 대한 순서도이다.
도 4는 본 개시의 일부 실시예들에 따른 비디오 코딩 시스템을 도시하는 블록도이다.
도 5는 본 개시의 일부 실시예들에 따른 인코더를 도시하는 블록도이다.
도 6은 본 개시의 일부 실시예들에 따른 디코더를 도시하는 블록도이다.
도 7은 인코더 블록도의 일 예를 보여준다.
도 8은 18 타일들, 24 슬라이스들 및 24 서브픽처들로 분할된 픽처를 보여준다.
도 9는 대표적인 서브픽처 기반 뷰포트 의존 360도 비디오 전송 방식을 보여준다.
도 10은 2개의 서브픽처와 4개의 슬라이스를 포함하는 비트스트림으로부터 하나의 서브픽처를 추출하는 예를 보여준다.
도 11내지 도 12는 개시된 기술의 일부 구현들에 기반하여 시각 미디어 데이터를 처리하는 예시적인 방법들에 대한 순서도들이다.
본 문서에서 사용된 섹션 제목들은 이해를 용이하게 하기 위한 것으로 각 섹션에서 개시된 기술들 및 실시예들의 적용성을 해당 섹션에 제한하지 않는다. 더 나아가, H.266 용어들은 이해를 용이하게 하기 위해 일부 설명에서 사용되며, 개시된 기술들의 범위를 제한하기 위한 것이 아니다. 본 문서에서 개시된 기술들은 그 자체로 다른 비디오 코덱 프로토콜들 및 설계들에도 적용 가능하다. 본 문서에서, VVC 규정 또는 ISO 베이스 미디어 파일 포맷(ISOBMFF) 규정의 현재 버전과 관련하여, 텍스트는 편집상의 수정사항들을 보여주며, 취소선은 삭제된 텍스트를 강조는 추가된 텍스트 (이탤릭체 굵은 활자 포함)을 나타낸다.
1. 초기 논의 (initial discussion)
본 문서는 비디오 파일 포맷에 관한 것이다. 더 구체적으로, 본 문서는 ISO 베이스 미디어 파일 포맷 (ISOBMFF) 기반하는 미디어 파일에서 복수의 트랙들로 VVC (Versatile Video Coding 다기능 비디오 코딩) 비디오 비트스트림의 서브픽처들을 전달하는 것에 관한 것이다. 아이디어들은 개별적으로 또는 다양한 조합으로 VVC 표준을 비롯한 어떠한 코덱에 의해 코딩된 비디오 비트스트림에 대해서도 그리고 개발중인 VVC 파일 포맷을 비롯한 어떠한 비디오 파일 포맷에 대해서도 적용될 수 있다.
2. 약어 (Abbreviations)
ACT 적응적 색 변환(adaptive colour transform)
ALF 적응적 루프 필터(adaptive loop filter)
AMVR 적응적 움직임 벡터 해상도(adaptive motion vector resolution)
APS 적응 파라미터 세트(adaptation parameter set)
AU 액세스 유닛(access unit)
AUD 액세스 유닛 구분자(access unit delimiter)
AVC 어드밴스드 비디오 코딩(advanced video coding) (Rec. ITU-T H.264 | ISO/IEC 14496-10)
B 양 예측 (bi-predictive)
BCW CU 레벨 가중치를 갖는 양 예측(bi-prediction with CU-level weights)
BDOF 양 방향 광학 흐름(bi-directional optical flow)
BDPCM 블록 기반 델타 펄스 코드 변조(block-based delta pulse code modulation)
BP 버퍼링 주기 (buffering period)
CABAC 문맥 기반 적응적 이진 산술 코딩(context-based adaptive binary arithmetic coding)
CB 코딩 블록(coding block)
CBR 고정 비트율 (constant bit rate)
CCALF 성분 간 적응적 루프 필터(cross-component adaptive loop filter)
CPB 코딩된 픽처 버퍼(coded picture buffer)
CRA 클린 랜덤 액세스(clean random access)
CRC 주기적 중복 검사(cyclic redundancy check)
CTB 코딩 트리 블록(coding tree block)
CTU 코딩 트리 유닛(coding tree unit)
CU 코딩 유닛(coding unit)
CVS 코딩된 비디오 시퀀스(coded video sequence)
DPB 디코딩된 픽처 버퍼(decoded picture buffer)
DCI 디코딩 능력 정보(decoding capability information)
DRAP 종속 랜덤 액세스 포인트(dependent random access point)
DU 디코딩 유닛(decoding unit)
DUI 디코딩 유닛 정보(decoding unit information)
EG 지수-골롬(exponential-Golomb)
EGk k차 지수 골롬(k-th order exponential-Golomb)
EOB 비트스트림의 종단(end of bitstream)
EOS 시퀀스의 종단(end of sequence)
FD 필러 데이터(filler data)
FIFO 선입선출(first-in, first-out)
FL 고정 길이(fixed-length)
GBR 녹색, 청색, 적색(green, blue, and red)
GCI 일반 제한 정보(general constraints information)
GDR 점진적인 디코딩 리프레시(gradual decoding refresh)
GPM 기하 분할 모드(geometric partitioning mode)
HEVC 고효율 비디오 코딩(high efficiency video coding) (Rec. ITU-T H.265 | ISO/IEC 23008-2)
HRD 가상 참조 디코더(hypothetical reference decoder)
HSS 가상 스트림 스케줄러(hypothetical stream scheduler)
I 인트라(intra)
IBC 인트라 블록 복사(intra block copy)
IDR 순시 디코딩 리프레쉬(instantaneous decoding refresh)
ILRP 계층간 참조 픽처(inter-layer reference picture)
IRAP 인트라 랜덤 액세스 포인트(intra random access point)
LFNST 저주파 비분리 변환(low frequency non-separable transform)
LPS 최소 확률 기호(least probable symbol)
LSB 최하위 비트(least significant bit)
LTRP 장기 참조 픽처(long-term reference picture)
LMCS 크로마 스케일링 기반 루마 매핑(luma mapping with chroma scaling)
MIP 행렬 기반 화면내 예측(matrix-based intra prediction)
MPS 최대 확률 기호(most probable symbol)
MSB 최상위 비트(most significant bit)
MTS 다중 변환 선택(multiple transform selection)
MVP 모션 벡터 예측(motion vector prediction)
NAL 네트워크 추상화 계층(network abstraction layer)
OLS 출력 계층 세트(output layer set)
OP 동작 지점(operation point)
OPI 동작 지점 정보(operating point information)
P 예측(predictive)
PH 픽처 헤더(picture header)
POC 픽처 순서 카운트(picture order count)
PPS 픽처 파라미터 세트(picture parameter set)
PROF 광학 흐름 기반 예측 개선(prediction refinement with optical flow)
PT 픽처 타이밍(picture timing)
PU 픽처 유닛(picture unit)
QP 양자화 파라미터(quantization parameter)
RADL 랜덤 액세스 디코딩 가능 리딩(픽처)(random access decodable leading(picture))
RASL 랜덤 액세스 스킵 리딩(random access skipped leading (picture))
RBSP 원시 바이트 시퀀스 페이로드(raw byte sequence payload)
RGB 적색, 녹색, 청색(red, green, and blue)
RPL 참조 픽처 리스트(reference picture list)
SAO 샘플 적응적 오프셋(sample adaptive offset)
SAR 샘플 종횡비(sample aspect ratio)
SEI 부가 개선 정보(supplemental enhancement information)
SH 슬라이스 헤더(slice header)
SLI 서브픽처 레벨 정보(subpicture level information)
SODB 데이터 비트 스트링(string of data bits)
SPS 시퀀스 파라미터 세트(sequence parameter set)
STRP 단기 참조 픽처(short-term reference picture)
STSA 단계별 시간적 서브계층 액세스(step-wise temporal sublayer access)
TR 절삭된 라이스(truncated rice)
VBR 변수 비트율(variable bit rate)
VCL 비디오 코딩 레이어(video coding layer)
VPS 비디오 파라미터 세트(video parameter set)
VSEI 다기능 부가 개선 정보(versatile supplemental enhancement information)(Rec. ITU-T H.274 | ISO/IEC 23002-7)
VUI 비디오 유용성 정보(video usability information)
VVC 다기능 비디오 코딩(versatile video coding) (Rec. ITU-T H.266 | ISO/IEC 23090-3)
3. 비디오 코딩 소개 (Video coding introduction)
3.1 비디오 코딩 표준들 (Video coding standards)
비디오 코딩 표준들은 잘 알려진 ITU-T 및 ISO/IEC 표준들의 개발을 통해 주로 발전해왔다. ITU-T는 H.261 및 H.263을 그리고 ISO/IEC는 MPEG-1 및 MPEG-4 Visual을 개발하였으며, 이 두 단체는 H.262/MPEG-2 비디오, H.264/MPEG-4 고급 비디오 코딩(AVC), 그리고 H.265/HEVC 표준들을 함께 개발하였다. H.262 이후, 비디오 코딩 표준들은 시간적 예측과 변환 코딩이 함께 활용되는 하이브리드 비디오 코딩 구조에 기반하고 있다. HEVC를 넘어서는 미래의 비디오 코딩 기술들을 모색하기 위해, 2015년에 VCEG와 MPEG는 함께JVET(Joint Video Exploration Team)를 설립하였다. 그 이후로 많은 새로운 방법들이 JVET에 의해 채택되어 JEM(Joint Exploration Model)이란 이름의 참조 소프트웨어에 포함되었다. 나중에 VVC 프로젝트가 공식적으로 출범할 때, 상기 JVET는 Joint Video Experts Team(JVET)로 개명되었다. 새로운 코딩 표준으로서 VVC는 HEVC 대비 50%의 비트레이트 감소를 목표로 하며, 2020년 7월 1에 있었던 19차 JEVT 회의에서 최종 확정되었다.
VVC 표준(ITU-T H.266 | ISO/IEC 23090-3) 및 그와 연관된 VSEI 표준(ITU-T H.274 | ISO/IEC 23002-7)은, 텔레비전 방송, 비디오 컨퍼런스 또는 저장 매체로부터의 재생과 같은 전통적인 사용들뿐 아니라, 적응적 비트레이트 스트리밍, 비디오 영역 추출, 복수의 코딩된 비디오 비트스트림들로부터의 컨텐츠의 구성 및 병합, 다시점 비디오, 확장가능한 계층화된 비디오 및 뷰포트 적응적 360도 이머시브 미디어와 같은 좀 더 최신의 더 고급형의 사용 예들까지 포함하는 최대한으로 넓은 범위의 적용들에서 사용되기 위해 설계되었다.
3.2 파일 포맷 표준들 (File format standards)
미디어 스트리밍 어플리케이션들은 주로 IP, TCP 그리고 HTTP 전송 방법들에 기반하며, 대표적으로 ISO 베이스 미디어 파일 포맷(ISOBMFF)과 같은 파일 포맷에 의존한다. 그와 같은 스트리밍 시스템 중 하나가 DASH (dynamic adaptive streaming over HTTP: HTTP 동적 적응 스트리밍)이다. ISOBMFF 및 DASH와 함께 비디오 포맷을 사용하기 위해, ISO/IEC 14496-15 (정보기술 - 시청각 객체 코딩 - 제15부: ISO 기본 미디어 파일 양식의 네트워크 추상 계층(NAL) 단위 구조 비디오 전송)의 AVC 파일 포맷 및 HEVC 파일 포맷과 같은, 상기 비디오 포맷에 특유한 파일 포맷 사양이 비디오 콘텐츠를 ISOBMFF 트랙들 및 DASH 표현들과 세그먼트들에서 캡슐화하기 위해 필요할 수 있다. 비디오 비트스트림들에 관한 중요한 정보, 예를 들어, 프로파일, 티어 및 레벨, 그리고 기타 다른 여러 정보들은 스트리밍 세션 시작 시의 초기화와 상기 스트리밍 세션 동안의 스트링 적응에 모두 적합한 미디어 세그먼트들의 선택과 같은 콘텐츠 선택 목적들을 위한 파일 포맷 레벨의 메타데이터 및/또는 DASH 미디어 프레젠테이션 기술(MPD: media presentation description)로 노출될 필요가 있다.
유사하게, ISOBMFF 및 DASH와 함께 이미지 포맷을 사용하기 위해, ISO/IEC 23008-12 (정보기술 - 이기종 환경들에서 고효율 코딩 및 미디어 전달 - 제12부: 이미지 파일 포맷)의 AVC 이미지 파일 포맷 및 HEVC 이미지 파일 포맷과 같은, 상기 이미지 포맷에 특유한 파일 포맷 사양이 필요할 수 있다.
상기 VVC 비디오 파일 포맷, 즉 ISOBMFF에 기반하여 VVC 비디오 콘텐츠를 저장하기 위한 파일 포맷은 현재 MPEG가 개발 중에 있다. 상기 VVC 비디오 파일 포맷의 최신 초안 사양은 MPEG 출력문서 N19454 (정보기술 - 시청각 객체들의 코딩 - 제15부: ISO 기본 미디어 파일 양식의 네트워크 추상 계층(NAL) 단위 구조 비디오 전송 - 수정안 2: ISOBMFF에서 VVC 및 EVC의 전송, 2020년 7월)에 포함되어 있다.
상기 VVC 이미지 파일 포맷, 즉, ISOBMFF에 기반하여 VVC를 사용하여 코딩된 이미지 콘텐츠의 저장을 위한 파일 포맷은 현재 MPEG가 개발 중에 있다. 상기 VVC 이미지 파일 포맷의 최신 초안 사양은 MPEG 출력문서 N19460 (정보기술 - 이기종 환경들에서 고효율 코딩 및 미디어 전달 - 제12부: 이미지 파일 포맷 - 수정안 3: VVC, EVC, 슬라이드쇼 및 기타 개선들에 대한 지원, 2020년 7월)에 포함되어 있다.
3.3 HEVC에서의 픽처 분할 방식들 (Picture partitioning schemes in HEVC)
HEVC는 정규 슬라이스들, 종속 슬라이스들, 타일들 그리고 웨이브프론트 병렬 프로세싱(WPP)라는 4개의 상이한 픽처 분할 방식들을 포함하며, 이것들은 최대 전송 유닛(MTU) 크기 매칭, 병렬 처리, 그리고 감소된 종단간 지연을 위해 적용될 수 있다.
정규 슬라이스들은 H.264/AVC에서와 유사하다. 각각의 정규 슬라이스는 그 자신의 NAL 유닛에 캡슐화되고, 픽처 내 예측 (인트라 샘플 예측, 모션 정보 예측, 코딩 모드 예측) 및 슬라이스 경계들에 걸친 엔트로피 코딩 의존성은 불가능하게 된다. 이렇게 해서 (비록 루프 필터링 동작들로 인해 상호의존성들이 여전히 있을 수 있지만) 정규 슬라이스는 동일한 픽처 내에서 다른 정규 슬라이스들에 독립적으로 재구성될 수 있다
정규 슬라이스는 사실상 같은 형태로 H-264/AVC에서도 이용 가능한 병렬화를 위해 사용될 수 있는 유일한 도구이다. 정규 슬라이스들에 기반한 병렬화는 (픽처 내 예측으로 인해 인터-프로세서 또는 인터-코어 데이터 공유보다 전형적으로 훨씬 더 중한, 예측 코딩된 픽처를 디코딩할 때의 모션 보상을 위한 인터-프로세서 또는 인터-코어 데이터 공유를 제외한) 많은 인터-프로세서 또는 인터-코어 통신을 요구하지 않는다. 그러나, 동일한 이유로, 정규 슬라이스들의 사용은 슬라이스 헤더의 비트 코스트 및 슬라이스 경계들에 걸친 예측의 결여로 인해 상당한 코딩 오버헤드를 초래할 수 있다. 더 나아가, (아래에서 언급할 다른 도구들과 반대로) 정규 슬라이스들은, 정규 슬라이스들의 픽처 내 독립성 및 각 정규 슬라이스가 자신의 NAL 유닛에 캡슐화되기 때문에, 비트스트림 분할을 위한 핵심 메커니즘 역할도 하여 MTU 크기 요건들에 맞출 수도 있다. 많은 경우, 병렬화의 목적과 MTU 크기 매칭의 목적은 픽처에서 슬라이스 레이아웃에 충돌하는 요구들을 제기한다. 이러한 상황의 현실화가 아래에 언급되는 병렬화 도구들의 개발로 이어졌다.
종속 슬라이스들은 짧은 슬라이스 헤더들을 가지고 있으며, 픽처 내 예측을 깨뜨리지 않고 트리블록 경계들에서 비트스트림의 분할을 허용한다. 기본적으로 종속 슬라이스들은 정규 슬라이스들을 여러 NAL 유닛들로 세분화하는 것을 제공하며, 정규 슬라이스의 완전한 인코딩 전에 해당 정규 슬라이스의 일부가 전송되도록 함으로써 종단 간 지연을 줄인다.
WPP에서, 픽처는 코딩 트리 블록들(CTBs)의 단일한 행들로 분할된다. 엔트로피 디코딩 및 예측은 다른 파티션들에 있는 CTB들의 데이터를 사용할 수 있다. 병렬 처리는 CTB 행들의 병렬 디코딩을 통해 가능하며, 여기서 CTB 행의 디코딩 시작은 두 CTB들 만큼 지연되므로 서브젝트 CTB의 상단 및 우측의 CTB와 관련된 데이터가 서브젝트 CTB가 디코딩되기 전에 사용 가능하도록 한다. 이러한 엇갈린 시작(그래픽으로 표시할 때 웨이브프론트처럼 나타난다)을 사용하면 픽처가 포함하는 CTB행들 만큼 많은 프로세서/코어로 병렬화가 가능하다. 픽처 내에서 이웃하는 트리블록 행들 간의 픽처 내 예측이 허용되기 때문에, 픽처 내 예측을 가능하게 하기 위해 요구되는 인터-프로세서/인터-코어 통신이 상당할 수 있다. 적용되지 않을 때와 비교하여, WPP 분할은 추가 NAL 유닛들을 생성시키지 않으므로, WPP는 MTU 크기 매칭을 위한 도구가 아니다. 하지만 MTU 크기 매칭이 요구되는 경우, 정규 슬라이스들은 WPP 및 특정 코딩 오버헤드와 함께 사용될 수 있다.
타일은 픽처를 타일 열 및 행들로 분할하는 수평 및 수직 경계들을 정의한다. 타일 열은 픽처의 상단에서 상기 픽처의 하단까지 이어진다. 마찬가지로 타일 행은 상기 픽처의 왼쪽에서 상기 픽처의 오른쪽으로 이어진다. 픽처 내의 타일들의 수는 타일 열들의 수에 타일 행들의 수를 곱하여 간단하게 유도할 수 있다.
CTB들의 스캔 순서는 픽처의 타일 래스터 스캔의 순서로 다음 타일의 왼쪽 상단 CTB를 디코딩하기 전에 타일 내에서 (타일의 CTB 래스터 스캔의 순서로) 로컬로 변경된다. 정규 슬라이스들과 유사하게 타일들은 엔트로피 디코딩 종속성뿐 아니라 픽처 내 예측 종속성을 깨뜨린다. 그러나 개별 NAL 유닛들에 포함될 필요는 없으며 (이 점에서 WPP와 동일); 따라서 타일들은 MTU 크기 매칭에 사용될 수 없다. 각 타일은 하나의 프로세서/코어에 의해 처리될 수 있으며, 인접 타일들을 디코딩하는 프로세싱 유닛들 간의 픽처 내 예측에 필요한 인터-프로세서/인터-코어 통신은 슬라이스가 하나 이상의 타일에 걸쳐 있는 경우 공유된 슬라이스 헤더를 전달하는 것 및 재구성된 샘플들 및 메타데이터의 루프 필터링 관련 공유로 제한된다. 하나 이상의 타일 또는 WPP 세그먼트가 슬라이스에 포함된 경우, 상기 슬라이스내의 제1 타일 이외의 각 타일 또는 WPP 세그먼트에 대한 진입점 바이트 오프셋은 슬라이스 헤더에서 시그널링된다.
단순화를 위해, 4개의 상이한 픽처 분할 방식들의 적용에 대한 제한이 HEVC에서 규정되었다. 주어진 코딩된 비디오 시퀀스는 HEVC에서 규정된 대부분의 프로필들에 대해 타일과 웨이브프론트를 모두 포함할 수 없다. 각 슬라이스 및 타일에 대해, 다음 조건 중 어느 하나 또는 모두가 충족되어야 한다: 1) 슬라이스의 모든 코딩된 트리 블록들은 동일한 타일에 속한다; 2) 타일의 모든 코딩된 트리 블록들은 동일한 슬라이스에 속한다. 마지막으로 웨이브프론트 세그먼트는 정확히 하나의 CTB 행을 포함하며 WPP가 사용 중일 때 슬라이스가 CTB 행 내에서 시작되면 동일한 CTB 행에서 끝나야 한다.
HEVC의 최근 수정본은JCT-VC 출력 문서 JCTVC-AC1005, J. Boyce, A. Ramasubramonian, R. Skupin, G. J. Sullivan, A. Tourapis, Y.-K. Wang (editors), "HEVC Additional Supplemental Enhancement Information (초안 4)," (2017년 10월 24일)에 포함되며, http://phenix.int-evry.fr/jct/doc_end_user/documents/29_Macau/wg11/JCTVC-AC1005-v2.zip에서 공식적으로 사용 가능하다. 이 수정본에 포함된 HEVC는 3개의 MCTS관련 SEI 메시지들, 즉, 시간적 MCT SEI 메시지, MCTS 추출 정보 세트 SEI 메시지, 그리고 MCTS 추출 정보 네스팅 SEI 메시지를 규정한다.
시간적 MCTS SEI 메시지는 비트스트림 내 MCTS들의 존재를 지시하며 상기 MCTS들을 시그널링한다. 각각의 MCTS에 대해, 모션 벡터들은 해당 MCTS 내부의 완전 샘플 위치들 및 보간을 위해 상기 MCTS 내부에서 오직 완전 샘플 위치들 만을 요구하는 부분 샘플 위치들을 가리키는 것으로 제한되며, 상기 MCTS 외부의 블록들로부터 유도된 시간적 모션 벡터 예측을 위한 모션 벡터 후보들의 사용은 허용되지 않는다. 이러한 방식으로 각각의 MCTS는 해당 MCTS에 포함되지 않는 타일들 없이 독립적으로 디코딩될 수 있다.
MCTS 추출 정보 세트 SEI 메시지들은 (SEI 메시지의 시멘틱의 부분으로 특정되는) MCTS 서브 비트스트림 추출 시 MCTS 세트에 적합한 비트스트림을 생성하는 데에 사용될 수 있는 부가 정보를 제공한다. 상기 정보는 다수의 추출 정보 세트로 구성되며, 각 세트는 다수의 MCTS 세트를 정의하고 MCTS 서브 비트스트림 추출 절차 동안 사용될 대체 VPS, SPS 및 PPS들의 RBSP 바이트를 포함한다. MCTS 서브 비트스트림 추출 절차에 따라 서브 비트스트림을 추출할 때, 파라미터 세트들 (VPSs, SPSs, PPSs)은 재작성되거나 대체될 필요가 있으며, 슬라이스 어드레스 관련 구문 요소들((first_slice_segment_in_pic_flag 및 slice_segment_address를 포함)의 하나 또는 전부가 일반적으로 상이한 값들을 가질 필요가 있기 때문에 슬라이스 헤드들은 미세하게 업데이트될 필요가 있다.
3.4 VVC 에서 픽처 분할 및 서브픽처들 (Picture partitioning and subpictures in VVC)
3.4.1 VVC에서 픽처 분할 (Picture partitioning in VVC)
VVC에서, 픽처는 하나 또는 그 이상의 타일 행들 및 하나 또는 그 이상의 타일 열들로 분할된다. 타일은 픽처의 직사각형 영역을 덮는 CTU들의 시퀀스이다. 타일의 CTU들은 상기 타일 내에서 래스터 스캔 순서 (raster scan order)로 스캐닝된다.
슬라이스는 정수 개의 완전한 타일로 구성되거나 픽처의 타일 내에서 연속적으로 완전한 정수 개의 CTU 행들로 구성된다.
지원되는 2개의 슬라이스 모드는 래스터 스캔 슬라이스 모드(raster-scan slice mode )와 직사각형 슬라이스 모드(rectangular slice mode )이다. 래스터 스캔 슬라이스 모드에서, 슬라이스는 픽처의 타일 래스터 스캔에서 완전한 타일들의 연속을 포함한다. 직사각형 슬라이스 모드에서, 슬라이스는 픽처의 직사각형 영역을 함께 형성하는 다수의 완전한 타일들을 포함하거나 픽처의 직사각형 영역을 함께 형성하는 하나의 타일에서 연속적인 다수의 완전한 CTU 행들을 포함한다. 직사각형 슬라이스 내의 타일들은 상기 슬라이스에 해당하는 직사각형 영역 내에서 타일 래스터 스캔 순서로 스캐닝된다.
서브픽처는 픽처의 직사각형 영역을 함께 덮는 하나 또는 그 이상의 슬라이스들을 포함한다.
3.4.2 서브 픽처 개념 및 기능 (Subpicture concept and functionality)
VVC에서, 각 서브픽처는 도 8에 보이는 것과 같이 상기 픽처의 직사각형 영역을 함께 덮는 하나 또는 그 이상의 직사각형 슬라이스들로 구성된다. 서브픽처는 추출가능한 것으로 (즉, 동일한 픽처의 다른 서브픽처들 및 디코딩 순서 상 이전 픽처들과 독립적으로 코딩되는 것으로) 특정되거나 추출될 수 없는 것으로 특정될 수 있다. 서브픽처가 추출 가능한지 여부와 별개로, 인코더는 인루프 필터링(디블로킹, SAO 및 ALF 포함)이 각 서브픽처에 대해 서브픽처 경계들게 걸쳐 개별적으로 적용되는지 여부를 제어할 수 있다.
기능적으로, 서브픽처들은 HEVC의 모션 제한 타일 세트들 (MCTS)과 유사하다. 그것들은 모두 뷰포트 의존 360도 비디오 스트리밍 최적화 및 관심 영역(ROI) 적용들과 같은 사용 예들에 대해 독립적인 코딩과 코딩된 픽처들의 시퀀스의 직사각형 서브세트의 추출을 허용한다.
전방위 비디오라고도 알려진 360도 비디오의 스트리밍의 경우, 사용자가 언제든 자신의 머리를 돌려 시청 방향 및 결과적으로 현재 뷰포트를 변경시킬 수 있는 동안에는, 어떠한 특정 순간에도 오직 전체 전방위 비디오 구의 서브세트(예를 들어, 현재 뷰포트)만이 사용자에게 제공될 것이다. 클라이언트에서 이용 가능하고 사용자가 갑자기 자신의 시청 방향을 상기 구상의 어디로든 돌리는 경우에 맞춰 사용자에게 제공 가능한 현재 뷰포트가 커버하지 않는 영역에 대해 적어도 어느 정도 낮은 품질의 표현을 가지는 것이 바람직한 반면에, 전방위 비디오의 고품질의 표현은 임의의 주어진 순간에 사용자에게 제공되는 현재 뷰포트에 대해서만 요구된다. 전방위 비디오 전체의 고품질의 표현을 적절한 입도로 서브픽처들로 분할하는 것은 전방위 비디오의 좌측에는 12개의 고해상도 서브픽처들이 있고 우측에는 나머지 12개의 저해상도 서브픽처들이 있는 도 8에서와 같은 최적화를 가능하게 한다.
다른 대표적인 서브픽처 기반 뷰포트 의존 360도 비디오 전달 방식은 도 9에 제시되며, 여기서는 전체 비디오에서 더 높은 해상도의 표현만이 서브픽처들로 구성되고 전체 비디오의 더 낮은 해상도 표현은 서브픽처들을 사용하지 않고 더 높은 해상도 표현 보다 더 낮은 빈도의 RAP들로 코딩될 수 있다. 클라이언트는 전체 비디오는 더 낮은 해상도로 수신하는 반면, 더 높은 해상도에 대해서는 현재 뷰포트를 덮는 서브픽처들만을 수용하고 디코딩한다.
3.4.3 서브픽처와 MCTS 간의 차이 (Differences between subpictures and MCTSs)
서브픽처와 MCTS 사이에는 몇 가지 중요한 설계상의 차이점들이 있다. 첫째, 픽처 경계들에서와 유사하게 서브픽처 경계들에서 샘플 패딩을 적용하여 서브픽처를 추출할 수 있는 경우에도, VVC에서의 서브픽처 특성은 코딩 블록의 모션 벡터들이 서브픽처 외부를 가리킬 수 있도록 허용한다. 둘째, VVC의 디코더 측 모션 벡터 개선 절차 및 머지 모드에서 모션 벡터들의 선택 및 도출을 위해 추가적인 변형들이 도입되었다. 이는 MCTS에 대해 인코더 측에서 적용되는 비표준적(non-normative) 모션 제한들과 비교하여 더 높은 코딩 효율을 가능하게 한다. 셋째, 픽처들의 시퀀스로부터 하나 또는 그 이상의 서브픽체들을 추출하여 적합한 비트스트림인 서브픽처를 생성하는 경우, SH(및 PH NAL 유닛들이 있는 경우 포함)의 재작성이 필요하지 않다. HEVC MCTS에 기반한 서브 비트스트림 추출의 경우, SH의 재작성이 필요하다. HEVC MCTS 추출과 VVC 서브픽처 추출 모두에서, SPS 및 PPS의 재작성은 필요하다. 하지만, 비트스트림에는 파라미터 세트가 단지 몇 개 있을 뿐이지만, 각 픽처는 적어도 하나의 슬라이스를 가지므로, SH의 재작성은 어플리케이션 시스템에 중대한 부담이 될 수 있다. 넷째, 픽처 내에서 상이한 서브픽처들의 슬라이스들이 상이한 NAL 유닛 타입들을 가지는 것이 허용된다. 이것은 픽처 내의 혼합 NAL 유닛 타입들 또는 혼합 서브픽처 타입들로 종종 불리는 특성이다. 다섯째, VVC는 서브픽처 시퀀스들에 대한 HRD 및 레벨 정의들을 명시한다. 그리하여 각각의 추출가능한 서브픽처 시퀀스의 서브 비트스트림의 적합성이 인코더들에 의해 보장될 수 있다.
3.4.4 픽처 내의 혼합 서브픽처 타입들 (Mixed subpicture types within a picture)
AVC 및 HEVC에서, 픽처 안의 모든 VCL NAL 유닛들은 동일한 NAL 유닛 타입을 가질 필요가 있다. VVCS는 픽처 내에서 서브픽처들을 일정한 상이한 VCL NAL 유닛 타입들과 혼합할 옵션을 도입함으로써 픽처 레벨뿐 아니라 서브픽처 레벨에서도 랜덤 액세스에 대한 지원을 제공한다. VVC에서, 서브픽처 내의 VCL NAL 유닛들은 여전히 동일한 NAL 유닛 타입을 가질 것으로 요구된다.
IRAP 서브픽처들에서 랜덤 액세싱하는 능력은 360도 비디오 어플리케이션들에 유용하다. 도 9에 제시된 것과 유사한 뷰포트 의존 360도 비디오 전송 방식들에서, 공간적으로 인접하는 뷰포트들의 콘텐츠는 넓게 중첩된다. 즉, 한 뷰포트 내의 서브픽처들의 일부 만이 뷰포트 방향 변경 동안 새로운 뷰포트들에 의해 대체되는 반면, 대부분의 서브픽처들은 상기 뷰포트 안에 유지된다. 상기 뷰포트로 새로이 들어온 서브픽처 시퀀스들은 IRAP 슬라이스들로 시작해야 하지만, 상기 유지되는 서브픽처들이 뷰포트 변경들에서 인터 예측을 수행하도록 허용된다면 전체 전송 비트레이트의 상당한 감소를 달성할 수 있다.
픽처가 NAL 유닛들의 오직 단일한 타입을 포함하는지 하나 이상의 타입을 포함하는지 여부의 지시는 상기 픽처가 가리키는 (예를 들어, pps_mixed_nalu_types_in_pic_flag라 불리는 플래그를 사용하여) PPS에서 제공된다. 픽처는 IPAP 슬라이스들을 포함하는 서브픽처들과 후행 슬라이스들을 포함하는 서브픽처들로 동시에 구성될 수 있다. 픽처 내에서 상이한 NAL 유닛 타입들의 몇 가지 다른 조합들 또한 허용되며, 여기에는 NAL 유닛 타입들인 RASL 및 RADL의 선행 픽처 슬라이스들이 포함된다. 이는 상이한 비트스트림들로부터 추출된 개방 GOP 및 폐쇄 GOP 코딩 구조들을 가지는 서브픽처 시퀀스들을 하나의 비트스트림으로 병합하는 것을 허용한다.
3.4.5 서브픽처 레이아웃 및 ID 시그널링 (Subpicture layout and ID signaling)
VVC에서 서브픽처들의 레이아웃은 SPS에서 시그널링되며, 이로 인해 CLVS 내에서 일정하다. 각각의 서브픽처는 그것의 좌 상단 CTU의 위치와 CTU들의 수로 표현된 폭과 높이에 의해 시그널링되어, 서브픽처가 CTU 입도를 가지는 픽처의 직사각형 영역을 덮을 수 있게 한다. SPS에서 서브픽처들의 시그널링되는 순서는 픽처 내에서 각 서브픽처의 인덱스를 결정한다.
SH 또는 PH를 재작성하지 않고 서브픽처 시퀀스들을 추출하고 병합하는 것이 가능하도록, VVC에서 슬라이스 어드레싱 방식은 슬라이스들을 서브픽처들에 연결시키기 위한 서브픽처에 특정된 슬라이스 인덱스 및 서브픽처 ID들에 기반한다. SH에서, 슬라이스를 포함하는 서브픽처의 서브픽처 ID와 서브픽처 레벨 슬라이스 인덱스가 시그널링된다. 특정 서브픽처의 서브픽처 ID의 값은 그것의 서브픽처 인덱스의 값과 다를 수 있다는 것에 주의해야 한다. 이 둘 사이의 매칭은 (결코 SPS 및 PPS 모두에서는 시그널링되지 않고) SPS 또는 PPS 중 하나에서 시그널링되거나 암묵적으로 추론된다. 존재하는 경우, 서브픽처 ID 매핑은 서브픽처 서브 비트스트림 추출 절차 동안 SPS 및 PPS를 재작성할 때에 재작성되거나 추가될 필요가 있다. 서브픽처 ID 및 서브픽처 레벨 슬라이스 인덱스는 함께 디코딩된 픽처의 DPB 슬롯 내에서 슬라이스의 처음 디코딩된 CTU의 추출 위치를 디코더에게 지시한다. 서브 비트스트림 추출 후에, 서브픽처의 서브픽처 ID는 변경없이 유지되는 반면, 서브픽처 인덱스는 변경될 수 있다. 서브픽처의 슬라이스 내 제1 CTU의 래스터 스캔 CTU 어드레스가 원래 비트스트림에서의 값과 비교하여 변경되는 경우에도, 각각의 SH에서 서브픽처 ID 및 서브픽처 레벨 슬라이스 인덱스의 변경되지 않는 값들은 여전히 추출된 서브 비트스트림의 디코딩된 픽처 내의 각 CUT의 위치를 올바르게 결정할 것이다. 도 10은 서브픽처 ID, 서브픽처 인덱스 그리고 서브픽처 레벨 슬라이스 인덱스를 사용하여 2개의 서브픽처와 4개의 슬라이스를 가진 예에서 서브픽처를 추출하는 것을 도시한다.
서브픽처 추출과 유사하게, 상이한 비트스트림들이 대등하게 생성되는 경우(예를 들어, 구별되는 서브픽처 ID들을 사용하거나 그 외의 경우 CTU 크기, 색차 포맷, 코딩 수단 등과 같이 대부분 정렬된 SPS, PPS 및 PH 파라미터들을 사용), SPS 및 PPS를 재작성하는 것만으로, 서브픽처들에 대한 시그널링은 상이한 비트스트림들로부터 나온 몇몇 서브픽처들을 하나의 비트스트림으로 병합할 수 있게 해준다.
SPS 및 PPS에서 서브픽처들 및 슬라이스들은 각각 독립적으로 시그널링되지만, 적합한 비트스트림을 형성하기 위해 서브픽처 및 슬라이스 레이아웃들 사이에 내재하는 상호적인 제약들이 있다. 첫째로, 서브픽처들의 존재는 직사각형 슬라이스들의 사용을 요구하며, 래스터 스캔 슬라이스들을 금지한다. 둘째로, 주어진 서브픽치의 슬라이스들은 디코딩 순서에서 연속적인 NAL 유닛들이어야 하며, 이는 서브픽처 레이아웃이 비트스트림 내의 코딩된 슬라이스 NAL 유닛들의 순서를 제한함을 의미한다.
3.5 VVC 비디오 파일 포맷의 몇가지 세부사항들 (Some specifics of VVC video file format)
3.5.1 트랙 유형들 (Types of tracks)
VVC 비디오 파일포맷은 ISOBMFF 파일들로 VVC 비트스트림을 전송하기 위해 비디오 트랙의 아래와 같은 유형들을 명시한다.
a) VVC 트랙 (VVC track):
VVC 트랙은 그것의 샘플들 및 샘플 엔트리들에 NAL 유닛들을 포함하여, 가능한 경우, VVC 비트스트림의 다른 서브 계층들을 포함하는 기타 VVC 트랙들을 참조하여, 그리고 또한, 가능한 경우 VVC 서브픽처 트랙들을 참조하여 상기 VVC 비트스트림을 표현한다. VVC 트랙이 VVC 서브픽처 트랙들을 참조하는 경우, 그것은 VVC 베이스 트랙으로 불린다.
b) VVC 비-VVC 트랙 (VVC non-VCL track) :
ALF, LMCS 또는 스캐일링 리스트 파라미터들을 운반하는 APS들 및 다른 비 VCL NAL 유닛들은 VCL NAL 유닛들을 포함하는 상기 트랙과 분리된 트랙에 저장되고 그것을 통해 전송될 수 있으며, 이것이 VVC 비 VCL 트랙이다.
c) VVC 서브픽처 트랙 (VVC subpicture track):
VVC 서브픽처 트랙은 아래 둘 중 하나를 포함한다.
하나 또는 그 이상의 VVC 서브픽처들의 시퀀스
직사각형 영역을 형성하는 하나 또는 그 이상의 완전한 슬라이스들의 시퀀스
VVC 서브픽처 트랙의 샘플은 아래 둘 중 하나를 포함한다.
디코딩 순서 상 인접하고 ISO/IEC 23090-3에서 명시되는 하나 또는 그 이상의 완전한 서브픽처들
디코딩 순서 상 인접하고 직사각형 영역을 형성하며 ISO/IEC 23090-3에서 명시되는 하나 또는 그 이상의 완전한 슬라이스들
VVC 서브픽처 트랙의 임의의 샘플에 포함된 VVC 서브픽처들 또는 슬라이스들은 디코딩 순서 상 인접해 있다.
비고: VVC 비 VCL 트랙들 및 VVC 서브픽처 트랙들은 아래와 같이 스트리밍 어플리케이션들에서 VVC 비디오의 최적의 전송을 가능하게 한다. 이 트랙들은 각각 자신의 DASH 표현들에서 운반될 수 있으며, 상기 트랙들의 서브세트의 디코딩 및 제시를 위해, 비 VCL 트랙들을 포함하는 DASH 표현들뿐 아니라 VVC 서브픽처 트랙들의 서브세트를 포함하는 DASH 표현들도 클라이언트에 의해 세그먼트 별로 요청될 수 있다. 이러한 방식으로, APS들 및 기타 비 VCL NAL 유닛들의 중복 전송을 방지할 수 있다.
3.5.2 VVC 비트스트림에서 운반되는 직사각형 영역들의 개요 (Overview of rectangular regions carried in a VVC bitstream)
본 문서는 아래 둘 중 하나로 구성되는 직사각형 영역들을 기술하기 위한 지원을 제공한다.
- 디코딩 순서에서 인접하는 하나 또 그 이상의 VVC 서브픽처들의 시퀀스, 또는
- 디코딩 순서에서 인접하며 직사각형 영역을 형성하는 하나 또는 그 이상의 완전한 슬라이스들의 시퀀스
직사각형 영역은 구멍 없이 직사각형을 덮는다. 픽처 내의 직사각형 영역들은 서로 중첩되지 않는다.
직사각형 영역들은 rect_region_flag의 값이 1인 직사각 영역 비주얼 샘플 그룹 기술 엔트리들을 통해 (즉, RectangularRegionGroupEntry의 인스턴스들을 통해) 기술될 수 있다.
만약 트랙의 각 샘플이 오직 하나의 사각형 영역의 NAL 유닛들로 구성된다면, 타입 'trif'의 SampleToGroupBox을 사용하여 샘플들은 상기 사각형 영역에 연관시킬 수 있지만, 만약 디폴트 샘플 그루핑 메커니즘이 사용된다면(즉, 타입 'trif'의 상기 SampleGroupDescriptionBox가 2과 같거나 그 이상인 경우), 타입 'trif'의 상기 SampleToGroupBox는 생략될 수 있다. 그 외의 경우, 샘플들, NAL 유닛들 그리고 사각형 영역들은 타입 'nalm'의 SampleToGroupBoxes, 'trif'와 같은 grouping_type_parameter 그리고 타입 'nalm'의 SampleGroupDescriptionBox를 통해 서로 연관된다. RectangularRegionGroupEntry가 기술하는 것은 아래와 같다.
- 사각형 영역 및
- 이 사각형 영역과 다른 사각형 영역들 간의 코딩 의존도
각 RectangularRegionGroupEntry에는 groupID불리는 고유한 식별자가 할당된다. 이 식별자를 사용하여 샘플 내의 NAL 유닛들을 특정한 RectangularRegionGroupEntry에 연관시킬 수 있다.
사각형 영역들의 위치 및 크기는 휘도 샘플 좌표들을 사용하여 식별된다.
영화 조각들과 함께 사용되는 경우, ISO/IEC 14496-12의 조항 8.9.4에서 정의된 바와 같은 트랙 조각 내의 새로운 SampleGroupDescriptionBox를 정의함으로써, RectangularRegionGroupEntry는 영화조각의 지속시간에 대해 정의될 수 있다. 하지만, 이미 정의된 RectangularRegionGroupEntry와 동일한 groupID를 가지는 트랙 조각에는 어떠한 RectangularRegionGroupEntry도 있어서는 안 된다.
상기 RectangularRegionGroupEntry에서 사용되는 기본 영역은 이 사각형 영역 그룹 엔트리와 연관된 사각형 영역내의 NAL 유닛들이 속하는 픽처이다.
만약 연속적인 샘플들에서 기본 영역의 어떤 변화가 있다면(예를 들어, 기준 픽처 리샘플링 (RPR: reference picture resampling) 또는 SPS 크기 조절의 경우), 샘플들은 그것들 각각의 기본 영역 크기를 반영하는 상이한 RectangularRegionGroupEntry 엔트리들과 연관되어야 한다.
사각형 영역에 매핑된 NAL 유닛들은 일반적인 경우와 같이 VVC 트랙에 운반되거나 VVC 서브픽처 트랙이라 불리는 별도의 트랙에 운반될 수 있다.
3.5.3 VVC 서브픽처 트랙들을 참조하는 VVC 트랙에서 셈플로부터 픽처 유닛의 복원 (Reconstructing a picture unit from a sample in a VVC track referencing VVC subpicture tracks)
VVC 트랙의 샘플이 해소되는 액세스 유닛은 아래 NAL 유닛들을 불릿들(bullets)의 순서로 포함한다.
· 있는 경우, 상기 샘플에 존재하는 AUD NAL 유닛(및 제1 NAL 유닛)
· 상기 샘플이 동일한 샘플 엔트리와 연관된 샘플들의 시퀀스의 첫 번째 샘플인 경우, 파라미터 세트 및, 있는 경우, 동일한 샘플 엔트리에 포함된 SEI NAL 유닛들
· 상기 샘플에 존재하는 PH NAL 유닛 이하의NAL 유닛들
· (디코딩 시간에서) 시간 정렬되고, 이 샘플에 매칭된 'spor' 샘플 그룹 기술 엔트리에서 명시된 순서로 각각의 참조된 VVC 서브픽처 트랙으로부터 해소된 샘플의 콘텐츠. VPS, DCI, SPS, PPS, AUD, PH, EOS 및 EOP NAL 유닛들이 있는 경우 모두 제외된다. 트랙 참조들은 아래에서 명시되는 대로 해소된다.
비고 1:만약 참조된 VVC 서브픽처 트랙이 VVC 비 VCL 트랙과 연관되면, 상기 VVC 서브픽처 트랙의 상기 해소된 샘플은 상기 VVC 비 VCL 트랙 내의 시간 정렬된 샘플이 있는 경우, 이 샘플의 비 VCL NAL 유닛(들)을 포함한다.
· 상기 샘플에서 PH NAL 유닛을 따르는 NAL 유닛들
비고 2: 상기 샘플에서 PH NAL 유닛을 따르는 NAL 유닛들은 서픽스 SEI NAL 유닛들, 서픽스 APS NAL 유닛들, EOS NAL 유닛, EOB NAL 유닛 또는 마지막 VCL NAL 유닛 다음에 허용되는 예약된 NAL 유닛들을 포함할 수 있다.
'spor' 샘플 그룹 기술 엔트리의 'subp' 트랙 참조 인덱스들은 아래와 같이 해소된다.
· 만약 트랙 참조가 VVC 서브픽처 트랙의 트랙 ID를 가리킨다면, 트랙 참조는 상기 VVC 서브픽처 트랙으로 해소된다.
· 그 외의 경우(트랙 참조가 'alte' 트랙 그룹을 가리키는 경우), 트랙 참조는 상기 'alte' 트랙 그룹의 트랙 중 어느 것으로도 해소된다. 만약 특정한 트랙 참조 인텍스 값이 이전 샘플의 특정 트랙으로 해소되었다면, 그것은 현재 샘플에서 아래 둘 중 하나로 해소되어야 한다.
· 동일한 특정 트랙, 또는
· 현재 샘플과 시간 정렬되는 sync 샘플을 포함하는 동일한 'alte' 트랙 그룹 내의 임의의 다른 트랙
비고 3: 동일한 'alte' 트랙 그룹의 VVC 서브픽처 트랙들은 티코딩 미스매치를 방지하기 위해 동일한 VVC 베이스 트랙이 참조하는 모든 다른 VVC 서브픽처 트랙들로부터 독립적일 필요가 있으며, 이런 이유로 아래와 같은 제한조건들이 있을 수 있다.
· 모든 VVC 서브픽처 트랙들은 VVC 서브픽처들을 포함한다.
· 서브픽처 경계선들은 픽처 경계선들과 같다.
· 루프 필터링은 서브픽처 경계선들에 걸쳐 꺼진다(turned off).
리더가 최초 선택이거나 이전 선택과 다른 서브픽처 ID 값들의 세트를 가지는 VVC 서브픽처들을 포함하는 VVC 서브픽처 트랙들을 선택하는 경우, 아래 단계들이 수행될 수 있다.
· 'spor' 샘플 그룹 기술 엔트리를 검토하여 PPS 또는 SPS NAL 유닛이 변경될 필요가 있는지 여부를 결정한다.
비고: SPS 변경은 오직 CLVS의 시작에서만 가능하다.
· 만약 'spor' 샘플 그룹 기술 엔트리가 시작 코드 에뮬레이션 방지 바이트가 NAL 유닛의 서브픽처 ID들 이전 또는 안에 존재함을 지시하는 경우, RBSP는 상기 NAL 유닛으로부터 유도된다(즉, 시작 코드 에뮬레이션 방지 바이트가 제거된다). 다음 단계에서의 오버라이딩 이후, 시작 코드 에뮬레이션 방지가 재실행된다.
· 상기 리더는 'spor' 샘플 그룹 엔트리 내의 비트 위치 및 서브픽처 ID 길이 정보를 이용하여 어떤 비트들을 선택된 것들에 서브픽처 ID들을 업데이트하기 위해서 덮어쓰는 지를 결정한다.
· PPS 또는 SPS의 서브픽처 ID 값들이 최초로 선택되는 경우, 상기 리더는 상기 PPS 또는 SPS를 복원된 액세스 유닛 내에서 상기 선택된 서브픽처 ID 값들로 각각 덮어쓸 필요가 있다.
· PPS 또는 SPS의 서브픽처 ID 값들이 (각각) 동일한 PPS ID 값들 또는 SPS ID 값들을 가지는 이전의 PPS 또는 SPS와 (각각) 비교하여 변경된 경우, 상기 리더는 해당 이전 PPS 및 SPS의 카피(copy)를 포함할 필요가 있으며(동일한 PPS 또는 SPS ID 값을 가지는 상기 PPS 또는 SPS가 각각 액세스 유닛에 달리 존재하지 않는 경우), 상기 PPS 또는 SPS를 복원된 액세스 유닛 내의 업데이트된 서브픽처 ID 값들로 (각각) 덮어쓸 필요가 있다.
3.5.4 서브픽처 오더 샘플 그룹 (Subpicture order sample group)
3.5.4.1 정의 (Definition)
이 샘플 그룹은 VVC 서브픽처 트랙들을 참조하는 'subp' 트랙을 가지는 VVC 트랙들, 즉 VVC 베이스 트랙들에서 사용된다. 각각의 샘플 그룹 기술 엔트리는 코딩된 픽처의 서브픽처들 또는 슬라이스들을 디코딩 순서로 지시하며, 이때 타입 'subp'의 트랙 레퍼런스의 인덱스는 각각 디코딩 순서상 인접하는 하나 또는 그 이상의 서브픽처들 또는 슬라이스들을 지시한다.
서브픽처 선택에 대응하여 PPS 또는 SPS 덮어쓰기를 완화시키기 위해, 각각의 샘플 그룹 기술 엔트리가 포함할 수 있는 것은 아래와 같다.
- 선택된 서브픽처 ID들이 PPS 또는 SPS NAL 유닛들에서 변경되어야 하는지 여부에 관한 지시;
- 서브픽처 ID 신택스 요소들의 (비트 단위) 길이;
- 포함하는 RBSP 내의 서브픽처 ID 신택스 요소들의 비트 위치;
- 시작 코드 에뮬레이션 방지 바이트가 서브픽처 ID들 앞에 있는지 또는 ID들 안에 있는지 여부를 지시하는 플래그
- 서브픽처 ID들을 포함하는 파라미터 세트의 파라미터 세트 ID
3.5.4.2 신택스 (Syntax)
aligned(8) class VvcSubpicOrderEntry() extends VisualSampleGroupEntry('spor')
{
unsigned int(1) subpic_id_info_flag;
unsigned int(15) num_subpic_ref_idx;
for (i = 0; i < num_subpic_ref_idx; i++)
unsigned int(16) subp_track_ref_idx;
if (subpic_id_info_flag) {
unsigned int(4) subpic_id_len_minus1;
unsigned int(12) subpic_id_bit_pos;
unsigned int(1) start_code_emul_flag;
unsigned int(1) pps_subpic_id_flag;
if (pps_subpic_id_flag)
unsigned int(6) pps_id;
else {
unsigned int(1) sps_subpic_id_flag;
unsigned int(4) sps_id;
bit(1) reserved = 0;
}
}
}
3.5.4.3 시멘틱스 (Semantics)
0과 같은 subpic_id_info_flag는 SPS 및/또는 PPS들에서 제공되는 서브픽처 ID 값들이 subp_track_ref_idx값들의 지시된 세트에 대해 정확하며 그리하여 SPS 또는 PPS들의 덮어쓰기가 요구되지 않음을 명시한다. 1과 같은 subpic_info_flag는 SPS 및/또는 PPS들이 subp_track_ref_idx값들의 세트에 해당하는 서브픽처들을 지시하기 위해 덮어쓰기 필요로 할 수 있음을 명시한다.
num_subpic_ref_idx는 서브픽처 트랙들의 참조 인덱스들의 수 또는 VVC 트랙이 참조하는 서브픽처 트랙들의 트랙 그룹들의 수를 명시한다.
subp_track_ref_idx는, i의 각 값에 대해, VVC 트랙으로부터 복원되는 VVC 비트스트림 내에 포함될 하나 또는 그 이상의 서브픽처들 또는 슬라이스들의 i번째 리스트의 'subp' 트랙 참조 인덱스를 명시한다.
subpic_id_len_minus1 plus 1은 이 구조가 참조하는 PPS 또는 SPS의 서브픽처 식별자 신택스 요소들의 비트 수를 명시한다.
subpic_id_bit_pos는 참조된 PPS 또는 SPS RBSP에서 첫 번째 서브픽처 ID 신택스 요소의 첫 번째 비트의 0에서 시작하는 비트 위치를 명시한다.
start_code_emul_flag 가 0과 같은 경우, 시작 코드 에뮬레이션 방지 바이트가 참조된 PPS 또는 SPS NAL 유닛에서 서브픽처 ID들 안에 또는 앞에 존재하지 않음을 명시한다.
start_code_emul_flag 가 1과 같은 경우, 시작 코드 에뮬레이션 방지 바이트가 참조된 PPS 또는 SPS NAL 유닛에서 서브픽처 ID들 안에 또는 앞에 존재할 수 있음을 명시한다.
pps_subpic_id_flag가 0과 같은 경우, 이 샘플 그룹 기술 엔트리에 매핑된 샘플들에 적용되는 PPS NAL 유닛들이 서브픽처 ID 신택스 요소들을 포함하지 않음을 명시한다. pps_subpic_id_flag가 1과 같은 경우, 이 샘플 그룹 기술 엔트리에 매핑된 샘플들에 적용되는 PPS NAL 유닛들이 서브픽처 ID 신택스 요소들을 포함함을 명시한다.
pps_id가 존재하는 경우, 이 샘플 그룹 기술 엔트리에 매핑된 샘플들에 적용되는 PPS의 PPS ID를 명시한다.
sps_subpic_id_flag가 존재하고 0과 같은 경우, 이 샘플 그룹 기술 엔트리에 매핑된 샘플들에 적용되는 SPS NAL 유닛들이 서브픽처 ID 신택스 요소들을 포함하지 않으며 서브픽처 ID 값들이 추론됨을 명시한다. sps_subpic_id_flag가 존재하고 1과 같은 경우, 이 샘플 그룹 기술 엔트리에 매핑된 샘플들에 적용되는 SPS NAL 유닛들이 서브픽처 ID 신택스 요소들을 포함함을 명시한다.
sps_id가 존재하는 경우, 이 샘플 그룹 기술 엔트리에 매핑된 샘플들에 적용되는 SPS의 SPS ID를 명시한다.
3.5.5 서브픽처 개체 그룹들 (Subpicture Entity Groups)
3.5.5.1 일반사항 (General)
서브픽처 개체 그룹들은 몇몇 VVC 서브픽처 트랙들로부터 병합된 비트스트림의 적합성(conformance)을 지시하는 레벨 정보를 제공하여 정의된다.
비고: VVC 베이스 트랙들은 VVC 서브픽처 트랙들을 병합하기 위한 다른 메커니즘을 제공한다.
암묵적인 복원 절차는 파라미터 세트들의 변경을 요구한다. 서브픽처 개체 그룹들은 복원된 비트스트림들에 대한 파라미터 세트 생성을 완화시키기 위한 지침을 제공한다.
함께 디코딩될 그룹 내의 코딩된 서브픽처들은 상호 교환가능한 경우, 즉 플레이어가 동일한 레벨 기여를 가지는 샘플 관련 서브픽처들의 그룹으로부터 복수의 활성 트랙들을 선택하는 경우, 상기 SubpicCommonGroupBox는 결합 규칙들 및 공동 디코딩으로부터 초래되는 결합의 level_idc를 지시한다.
공동으로 디코딩되기 위해 선택되는 상이한 해상도와 같은 상이한 속성들을 가지는 코딩된 서브픽처들이 존재하는 경우, 상기 SubpicMultipleGroupsBox는 결합 규칙들 및 공동 디코딩으로부터 초래되는 결합의 level_idc를 지시한다.
서프픽처 개체 그룹들에 포함되는 모든 entity_id 값들은 VVC 서브픽처 트랙들을 식별해야 한다. 존재하는 경우, SubpicCommonGroupBox 및 SubpicMultipleGroupsBox는 영화 레벨 MetaBox의 GroupsListBox에 포함되어야 하며, 파일 레벨 또는 트랙 레벨 MetaBoxes에는 포함되어서는 안 된다.
3.5.5.2 서브픽처 공통 그룹 박스의 신택스 (Syntax of subpicture common group box)
aligned(8) class SubpicCommonGroupBox extends EntityToGroupBox('acgl',0,0)
{
unsigned int(32) level_idc;
unsigned int(32) num_active_tracks;
}
3.5.5.3 서브픽처 공통 그룹 박스의 시멘틱스 (Semantics of subpicture common group box)
level_idc는 개체 그룹에서 num_active_tracks 개체들의 임의의 선택이 부합하는 레벨을 명시한다.
num_active_tracks는 level_idc의 값이 제공되는 트랙의 수를 명시한다.
3.5.5.4 서브픽처 다중 그룹 박스의 신택스 (Syntax of subpicture multiple groups box)
aligned(8) class SubpicMultipleGroupsBox extends EntityToGroupBox('amgl',0,0)
{
unsigned int(32) level_idc;
unsigned int(32) num_subgroup_ids;
subgroupIdLen = (num_subgroup_ids >= (1 << 24)) ? 32 :
(num_subgroup_ids >= (1 << 16)) ? 24 :
(num_subgroup_ids >= (1 << 8)) ? 16 : 8;
for (i = 0; i < num_entities_in_group; i++)
unsigned int(subgroupIdLen) track_subgroup_id[i];
for (i = 0; i < num_subgroup_ids; i++)
unsigned int(32) num_active_tracks[i];
}
3.5.5.5 시멘틱스 (Semantics)
level_idc는 0에서 num_subgroup_ids - 1까지의 범위에서 i의 모든 값들에 대해 i와 같은 ID를 가지는 서브 그룹에서 임의의 num_active_tracks[i] 트랙들을 선택하는 조합이 부합하는 레벨을 명시한다.
num_subgroup_ids는 별개의 서브 그룹들의 수를 명시하며, 각 서브 그룹은 track_subgroup_id[i]의 동일한 값에 의해 식별된다. 상이한 서브 그룹들은 track_subgroup_id[i]의 상이한 값들로 식별된다.
track_subgroup_id[i]는 이 개체 그룹에서 I 번째 트랙에 대한 서브 그룹 ID를 명시하며, 서브 그룹 ID 값들은 0부터 num_subgroup_ids - 1까지의 범위여야 한다.
num_active_tracks[i]는 level_idc에 문서화되는 i과 같은 ID를 가지는 서브 그룹에서 트랙들의 수를 명시한다.
4. 개시된 기술적 해결 수단들이 다루는 예시적인 기술적 문제들 (Example technical problems addressed by disclosed technical solutions)
다수의 트랙들에서 VVC 비트스트림으로 서브픽처들의 전송과 관련된 VVC 비디오 파일 포맷의 최신 설계들은 아래와 같은 문제점들을 가지고 있다.
1) VVC 서브픽처의 샘플은 다음 둘 중 하나를 포함한다: A) ISO/IEC 23090-3에서 명시되며 디코딩 순서상 인접한 하나 또는 그 이상의 완전한 서브픽처들; B) ISO/IEC 23090-3에서 명시되며 직사각형 영역을 형성하고 디코딩 순서상 인접한 하나 또는 그 이상의 완전한 슬라이스들.
하지만, 아래와 같은 이슈들이 존재한다.
a. 슬라이스들을 포함할 때와 유사하게, 서브픽처들을 포함하는 직사각형 영역을 덮기 위해 VVC 서브픽처 트랙을 요구하는 것도 더 타당할 것이다.
b. VVC 서브픽처 트랙 내의 서브픽처들 또는 슬라이스들이 모션 제한적, 즉, 추출 가능하거나 자립적일 것을 요구하는 것이 더 타당할 것이다.
c. 직사각형 영역을 형성하지만 원본 비트스트림에서 디코딩 순서 상 연속되지 않는 서브픽처들의 세트를 VVC 서브픽처 트랙이 포함하지 못하게 할 이유가 무엇인가? 이 트랙 자체가 디코딩되면 상기 서브픽처들은 디코딩 순서에서 연속된다. 예를 들어, 투영된 픽처의 좌측 및 우측 경계선 상의 일부 서브픽처들이 덮는 360도 비디오의 시야(FOV)에 대해 허용되지 않아야 하나?
2) VVC 베이스 트랙의 샘플로부터 그리고 상기 VVC 베이스 트랙이 참조하는 VVC 서브픽처 트랙들의 리스트에서 시간 정렬된 샘플들로부터 PU를 복원할 때, PH NAL 유닛이 상기 샘플에 존재하지 않는 경우, 상기 VVC 베이스 트랙의 상기 샘플에서 비 VCL NAL 유닛들의 순서는 분명하게 명시되지 않는다.
3) 서브픽처 오더 샘플 그룹 메커니즘 ('spor': subpicture order sample group mechanism)은 상이한 샘플들에 대해 복원된 비트스트림에서의 서브픽처 트랙들과는 다른 순서의 서브픽처들을 가능하게 하며, SPS들 및/또는 PPS 재작성을 필요로 하는 경우들을 가능하게 한다. 하지만, 이러한 융통성들(flexibilities) 가운데 하나가 왜 필요한지는 분명하지 않다. 따라서, 상기 'spor' 샘플 그룹 메커니즘은 필요하지 않으며, 제거될 수 있다.
4) VVC 베이스 트랙의 샘플로부터 그리고 상기 VVC 베이스 트랙이 참조하는 VVC 서브픽처 트랙들의 리스트에서 시간 정렬된 샘플들로부터 PU를 복원할 때, VVC 서브픽처 트랙의 시간 정렬된 샘플 내의 NAL 유닛들이 상기 PU에 추가되면, 모든 VPS, DCI, SPS, PPS, AUD, PH, EOS and EOB NAL 유닛들이 존재하는 경우 제거된다. 하지만, OPI NAL 유닛들은 어떤가? SEI NAL 유닛들은 어떤가? 왜 이 비 VCL NAL 유닛들은 상기 서브픽처 트랙들에 존재해도 되는가? 만약 그것들이 존재한다면, 비트스트림 복원시에 제거해도 되는가?
5) 2개의 서브픽처 개체 그룹들의 박스들의 컨테이너는 영화-레벨 MetaBox로 명시된다. 하지만, 오직 파일-레벨 MetaBox에 해당 박스들이 포함되는 경우에만, 개체 그룹의 entity_id 값들이 트랙 ID들을 가리킬 수 있다.
6) 서브픽처 개체 그룹들은 관련된 서브픽처 정보가 트랙들의 전체 지속 시간에 걸쳐 일관되는 경우들에 대해 작동한다. 예를 들어, 상이한 CVS들이 특정한 서브픽처 시퀀스에 대해 상이한 레벨들을 가지는 경우는 어떠한가? 이 경우, 샘플 그룹들을 대신 사용하여 본질적으로 동일한 정보를 운반해야 하지만, 특정한 정보가 상이한 샘플들(예를 들어, CVS들)에 대해 상이할 수 있도록 허용해야 한다.
5. 기술적 해결수단들의 목록 (A listing of technical solutions)
상기 문제점들 및 다른 문제점들을 해결하기 위해, 아래에서 요약되는 방법들이 개시된다. 발명들은 일반적인 개념들을 설명하기 위한 예들로 간주되어야 하며, 협소한 방식으로 해석되어서는 안 된다. 더 나아가서, 이 발명들은 개별적으로 적용되거나 어떤 방식으로도 결합되어 적용될 수 있다.
1) VVC 서브픽처 트랙들에 대해 아래 항목들 중 하나 또는 그 이상이 제안된다.
a. 서브픽처 트랙이 서브픽처들을 포함하는 경우, 상기 VVC 서브픽처 트랙이 직사각형 영역을 덮을 것을 요구한다.
b. VVC 서브픽처 트랙 안의 서브픽처들 또는 슬라이스들이 모션 제한적일 것을 요구하여, 그것들이 다른 영역들을 덮는 서브픽처들 또는 슬라이스들 중 어느 것 없이도 추출되고, 디코딩되고 제시될 수 있도록 한다.
i. 또는, VVC 서브픽처 트랙 안의 서브픽처들 또는 슬라이스들이 모션 보상 시에 다른 영역들을 덮는 서브픽처들 또는 슬라이스들에 의존하도록 허용하여, 그 결과 그것들이 다른 영역들을 덮는 서브픽처들 또는 슬라이스들 중 어느 것 없이는 추출되거나, 디코딩되거나 제시될 수 없도록 한다.
c. 직사각형 영역을 형성하지만 원본/전체 VVC 비트스트림에서 디코딩 순서상 인접하지 않는 서브픽처들 또는 슬라이스들의 세트를 VVC 서브픽처 트랙이 포함하도록 허용한다. 이로 인해 원본/전체 VVC 비트스트림에서, 예를 들어, 투영된 픽처의 좌측 및 우측 경계선들에서, 디코딩 순서상 인접하지 않는 서브픽처들이 덮는 360도 비디오의 시야(FOV) VVC 서브픽처 트랙에 의해 표현될 수 있다.
d. VVC 서브픽처 트랙의 각 샘플에서 서브픽처들 또는 슬라이스들의 순서가 원본/전체 VVC 비트스트림에서의 그것들의 순서와 달라야 함을 요구한다.
e. VVC 서브픽처 트랙의 각 샘플에서 서브픽처들 또는 슬라이스들의 디코딩 순서가 원본/전체 VVC 비트스트림에서 인접해 있는지 여부에 대한 지시를 추가한다.
i. 이러한 지시는 VVC 베이스 트랙 샘플 엔트리 기술 또는 다른 곳에서 예를 들어 시그널링 된다.
ii. VVC 서브픽처 트랙의 각 샘플에서 서브픽처들 또는 슬라이스들의 순서가 원본/전체 VVC 비트스트림에서 디코딩 순서 상 인접하지 않는 경우, 상기 트랙의 서브픽처들 또는 슬라이스들은 다른 VVC 서브픽처 트랙들의 서브픽처들 또는 슬라이스들과 병합되지 않아야 함을 요구. 이러한 경우, 예를 들어, VVC 기반 트랙이 타입 'subp'의 트랙 참조를 통해 이 VVC 서브픽처 트랙 및 다른 VVC 서브픽처 트랙을 모두 참조하는 것이 허용되지 않는다.
2) VVC 베이스 트랙의 샘플로부터 그리고 상기 VVC 베이스 트랙이 트랙 참조를 통해 참조하는 VVC 서브픽처 트랙들의 리스트 상의 시간 정렬된 샘플들로부터 PU를 복원하는 경우, 상기 VVC 베이스 트랙의 상기 샘플 내의 비 VCL NAL 유닛들의 순서는 상기 샘플에 PH NAL 유닛이 존재하는지 여부와 상관없이 분명하게 명시된다.
a. 일 예에서, PU에서 VVC 서브픽처 트랙들의 NAL 유닛들 앞에 위치될 VVC 베이스 트랙의 샘플의 설정된 NAL 유닛들은 아래와 같이 명시된다. 만약 EOS_NUT, EOB_NUT, SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT, RSV_NVCL_27, UNSPEC_30, 또는 UNSPEC_31과 같은 nal_unit_type을 가진 샘플 내에 적어도 하나의 NAL 유닛이 있다면 (이러한 NAL 유닛 타입을 가지는 NAL 유닛은 픽처 유닛의 첫 번째 VCL NAL 유닛을 앞서지 못한다), (상기 언급한 nal_unit 타입을 가진) 이 NAL 유닛들의 첫 번째 NAL 유닛 이전까지의 샘플 내 NAL 유닛들은 PU에서 VVC 서브픽처 트랙들의 NAL 유닛들 앞에 위치하며, 그렇지 않을 경우, 샘플 내의 모든 NAL 유닛들은 PU에서 VVC 서브픽처 트랙들의 NAL 유닛들 앞에 위치한다.
b. 일 예에서, PU에서 VVC 서브픽처 트랙들의 NAL 유닛들 뒤에 위치될 VVC 베이스 트랙의 샘플의 설정된 NAL 유닛들은 아래와 같이 명시된다. EOS_NUT, EOB_NUT, SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT, RSV_NVCL_27, UNSPEC_30, 또는 UNSPEC_31과 같은 nal_unit_type을 가진 샘플 내의 모든 NAL 유닛들은 PU에서 VVC 서브픽처 트랙들의 NAL 유닛들 앞에 위치한다.
3) 'subp' 트랙 참조를 사용하여 VVC 트랙이 복수의 (서브픽처) 트랙들을 참조하도록 허용한다. 참조 순서는 참조된 VVC 서브픽처 트랙들로부터 복원된 비트스트림 내의 서브픽처들의 디코딩 순서를 지시한다.
a. VVC 베이스 트랙의 샘플로부터 그리고 상기 VVC 베이스 트랙이 참조하는 VVC 서브픽처 트랙들의 리스트 상의 시간 정렬된 샘플들로부터 PU를 복원하는 경우, 참조 서브픽처 트랙들의 샘플들은 'subp' 트랙 참조에서 참조되고 있는 VVC 서브픽처 트랙들의 순서로 처리된다.
4) AUD, DCI, OPI, VPS, SPS, PPS, PH, EOS 및 EOB NAL 유닛들, 그리고 오직 AU 레벨 및 픽처 레벨 SEI 메시지들만을 포함하는 SEI NAL 유닛들과 같은 어떠한 AU 레벨 또는 픽처 레벨 비 VCL NAL 유닛들이 서브픽처 트랙들에 존재하는 것을 허용하지 않는다. 픽처 레벨 SEI 메시지는 하나 또는 그 이상의 완전한 AU들에 적용된다. 픽처 레벨 SEI 메시지는 하나 또는 그 이상의 완전한 픽처들에 적용된다.
a. 더 나아가, VVC 베이스 트랙의 샘플로부터 그리고 상기 VVC 베이스 트랙이 참조하는 VVC 서브픽처 트랙들의 리스트 상의 시간 정렬된 샘플들로부터 PU를 복원하는 경우, VVC 서브픽처 트랙의 시간 정렬된 샘플의 모든 NAL 유닛들은 특정한 비 VCL NAL 유닛들을 폐기하지 않고서도 상기 PU에 추가된다.
5) VVC 베이스 트랙의 샘플로부터 그리고 상기 VVC 베이스 트랙이 트랙 참조를 통해 참조하는 VVC 서브픽처 트랙들의 리스트에서 시간 정렬된 샘플들로부터 PU를 복원할 때, 'spor' 샘플 그룹의 사용을 제거하고, 'spor' 샘플 그룹에 기반한 파라미터 세트 재작성 프로세스의 기술(description)을 제거한다.
6) 'spor' 샘플 그룹의 사양을 제거한다.
7) 각각의 'subp' 트랙 참조 인덱스는 VVC 서브픽처의 트랙 ID 또는 VVC 서브픽처 트랙들의 그룹의 트랙 그룹 ID를 가리켜야 하며, 그 외 어떤 것도 가리켜선 안 된다고 명시된다.
8) 문제 5를 해결하기 위해, 두 서브픽처 개체 그룹들의 박스들의 컨테이너는 다음과 같이 파일 레벨 MetaBox임이 명시된다. 존재하는 경우, SubpicCommonGroupBox 및 SubpicMultipleGroupsBox는 파일 레벨 MetaBox의 GroupsListBox에 포함되어야 한다.
9) 문제 6을 해결하기 위해, 두 서브픽처 개체 그룹들에 의해 운반되는 것과 유사한 정보를 운반할 두 샘플 그룹들을 추가하여, 관련 서브픽처 정보가 트랙들의 전체 지속시간에 걸쳐 일관되지 않는 경우들, 예를 들어, CVS들이 특정한 서브픽처 시퀀스에 대해 상이한 레벨들을 가지는 경우를 VVC 파일 포맷이 지원할 수 있다.
6. 실시예들 (Embodiments)
아래에는 위 섹션 5에서 요약된 발명의 측면들 가운데 일부에 대한 몇몇 예시적인 실시예들로, 이 실시예들은 VVC 비디오 파일 포맷을 위한 표준 사양에 적용될 수 있다. 수정된 텍스트들은 MPEG 출력 문서 N19454 (정보기술 - 시청각 객체들의 코딩 - 제15부: ISO 기본 미디어 파일 양식의 네트워크 추상 계층(NAL) 단위 구조 비디오 전송 - 수정안 2: ISOBMFF에서 VVC 및 EVC의 전송, 2020년 7월)의 최신 초안 사양에 기반한다. 추가되거나 수정된 관련 부분들은 대부분 굵은 글씨 및 이탤릭체로 강조되었으며, 일부 삭제된 부분들은 이중 사각 괄호로 표시된다(예를 들어, [[a]]는 문자 'a'의 삭제를 의미한다). 편집상의 이유로 수정된 다른 몇몇 부분들이 있을 수 있으며, 이것들은 강조되지 않는다.
6.1 제1 실시예 (First embodiment)
이 실시예는 항목 1a, 1b 및 1c에 대한 것이다.
6.1.1 트랙들의 유형 (Types of tracks)
본 출원서는 VVC 비트스트림의 전송을 위한 아래와 같은 유형의 비디오 트랙들을 명시한다.
a) VVC 트랙
VVC 트랙은 그것의 샘플들 및/또는 샘플 엔트리들에 NAL 유닛들을 포함하여, 또한 가능한 경우, VVC 비트스트림의 다른 계층들 및/또는 서브 계층들을 포함하는 기타 VVC 트랙들을 'vopi' 및 'linf' 샘플 그룹들을 통해 또는 'opeq' 개체 그룹을 통해 연관시켜, 그리고 가능한 경우 VVC 서브픽처 트랙들을 참조하여 VVC 비트스트림을 표현한다.
VVC 트랙이 VVC 서브픽처 트랙들을 참조하는 경우, 그것은 VVC 베이스 트랙으로도 불린다. VVC 베이스 트랙은 VCL NAL 유닛들을 포함하지 않아야 하며, 'vvcN' 트랙 참조를 통해 VVC 트랙으로 지칭되어서도 안 된다.
b) VVC 비-VCL 트랙
VVC 비 VCL 트랙은 오직 비 VCL NAL 유닛들만을 포함하며 'vvcN' 트랙 참조를 통해 VVC 트랙으로 지칭되는 트랙이다.
VVC 비 VCL 트랙은 VCL NAL 유닛들을 포함하는 트랙과 별개의 트랙에 저장되고 그것을 통해 전송되는 AFL, LMCS 또는 스케일링 리스트 파라미터들을 다른 비 VCL NAL 유닛들의 존재여부와 상관없이 운반하는 APS들을 포함한다.
VVC 비 VCL 트랙은 VCL NAL 유닛들을 포함하는 트랙과 별개의 트랙에 저장되고 그것을 통해 전송되는 픽처 헤더 NAL 유닛들 또한 APS NAL 유닛들 및 비 VCL NAL 유닛들의 존재여부와 상관없이 포함한다.
c) VVC 서브픽처 트랙
VVC 서브픽처 트랙은 아래 둘 중 하나를 포함한다.
직사각형 영역을 형성하는 하나 또는 그 이상의 VVC 서브픽처들의 시퀀스
직사격형 영역을 형성하는 하나 또는 그 이상의 완전한 슬라이스들의 시퀀스
VVC 서브픽처 트랙의 샘플은 아래 둘 중 하나를 포함한다.
[[디코딩 순서에서 인접하고]] 추출 가능한 사각형 영역을 형성하는 , ISO/IEC 23090-3에 명시되는 하나 또는 그 이상의 완전한 서브픽처들로, 여기서 추출가능한 사각형 영역은 디코딩 단계가 모션 보상을 위해 상기 영역 외부의 그 어떤 픽셀 값도 사용하지 않는 사각형 영역이다.
추출 가능한 사각형 영역을 형성하고 [[디코딩 순서에서 인접하는]], ISO/IEC 23090-3에서 명시된 하나 또는 그 이상의 완전한 슬라이스들
[[VVC 서브픽처 트랙의 임의의 샘플에 포함된 VVC 서브픽처들 또는 슬라이스들은 디코딩 순서에서 인접한다.]]
비고: VVC 비 VCL 트랙들 및 VVC 서브픽처 트랙들은 아래와 같이 스트리밍 어플리케이션들에서 VVC 비디오의 최적의 전송을 가능하게 한다. 이 트랙들은 각각 자신의 DASH 표현들에서 운반될 수 있으며, 상기 트랙들의 서브세트의 디코딩 및 제시를 위해, 비 VCL 트랙들을 포함하는 DASH 표현뿐 아니라 VVC 서브픽처 트랙들의 서브세트를 포함하는 DASH 표현들도 클라이언트에 의해 세그먼트 별로 요청될 수 있다. 이러한 방식으로, APS들 및 기타 비 VCL NAL 유닛들의 중복 전송을 방지할 수 있으며, 또한 불필요한 서브픽처들의 전송도 방지할 수 있다 .
6.1.2 VVC 비트스트림에서 운반되는 직사각형 영역들의 개요 (Overview of rectangular regions carried in a VVC bitstream)
본 문서는 아래 둘 중 하나로 구성되는 직사각형 영역들을 기술하기 위한 지원을 제공한다.
- [[디코딩 순서에서 인접하는]] 직사각형 영역을 형성하는 하나 또 그 이상의 VVC 서브픽처들의 시퀀스, 또는
- [[디코딩 순서에서 인접하며]] 직사각형 영역( region )을 형성하는 하나 또는 그 이상의 완전한 슬라이스들의 시퀀스
직사각형 영역은 구멍 없이 직사각형을 덮는다. 픽처 내의 직사각형 영역들은 서로 중첩되지 않는다.
...
6.2 제 2 실시예 (Second embodiment)
이 실시예는 항목 2, 2a, 2b, 3, 3a, 4, 4a 및 5에 대한 것이다.
6.2.1 VVC 서브픽처 트랙들을 참조하는 VVC 트랙에서 샘플로부터 픽처 유닛의 복원 (Reconstructing a picture unit from a sample in a VVC track referencing VVC subpicture tracks)
VVC 트랙의 샘플이 해소되는 [[액세스 유닛]] 픽처 유닛 은 아래 NAL 유닛들을 불릿들의 순서로 포함한다.
· [[있는 경우]] 상기 샘플에 존재하는 AUD NAL 유닛[[(및 제1 NAL 유닛)]]
비고 1: AUD NAL 유닛이 샘플 내에 존재하는 경우, 그것은 상기 샘플 내의 첫 번째 NAL 유닛이다.
· 상기 샘플이 동일한 샘플 엔트리와 연관된 샘플들의 시퀀스의 첫 번째 샘플인 경우, 파라미터 세트 및, 있는 경우, 동일한 샘플 엔트리에 포함된 SEI NAL 유닛들
· [[상기 샘플에 존재하는 PH NAL 유닛 이하의NAL 유닛들]] 만약 EOS_NUT, EOB_NUT, SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT, RSV_NVCL_27, UNSPEC_30, 또는 UNSPEC_31과 같은 nal_unit_type을 가진 샘플에 적어도 하나의 NAL 유닛이 있는 경우(이러한 NAL 유닛 타입을 가진 NAL 유닛은 픽처 유닛에서 첫 번째 VCL NAL 유닛 앞에 올 수 없다), 상기 샘플에서 이 NAL 유닛들 중 첫 번째 것을 제외한 것 까지의 NAL 유닛들, 그렇지 않을 경우, 상기 샘플의 모든 NAL 유닛들.
· (디코딩 시간에서) 시간 정렬되고, [[이 샘플에 매칭된 'spor' 샘플 그룹 기술 엔트리에서 명시된]] 'subp' 트랙 참조에서 참조되는 VVC 서브픽처 트랙들의 순서로 각각의 참조된 VVC 서브픽처 트랙으로부터 해소된 샘플의 콘텐츠. [[VPS, DCI, SPS, PPS, AUD, PH, EOS 및 EOP NAL 유닛들이 있는 경우 모두 제외된다.]] 트랙 참조들은 아래에서 명시되는 대로 해소된다.
비고 2: 만약 참조된 VVC 서브픽처 트랙이 VVC 비 VCL 트랙과 연관되면, 상기 VVC 서브픽처 트랙의 상기 해소된 샘플은 상기 VVC 비 VCL 트랙 내의 시간 정렬된 샘플이 있는 경우, 이 샘플의 비 VCL NAL 유닛(들)을 포함한다.
· [[상기 샘플에서 PH NAL 유닛을 따르는 NAL 유닛들]] EOS_NUT, EOB_NUT, SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT, RSV_NVCL_27, UNSPEC_30, 또는 UNSPEC_31과 같은 nal_unit_type을 가지는 상기 샘플 내의 모든 NAL 유닛들
[[비고 2: 상기 샘플에서 PH NAL 유닛을 따르는 NAL 유닛들은 서픽스 SEI NAL 유닛들, 서픽스 APS NAL 유닛들, EOS NAL 유닛, EOB NAL 유닛 또는 마지막 VCL NAL 유닛 다음에 허용되는 예약된 NAL 유닛들을 포함할 수 있다.]]
[['spor' 샘플 그룹 기술 엔트리의]] 'subp' 트랙 참조 인덱스들은 아래와 같이 해소된다.
· 만약 트랙 참조가 VVC 서브픽처 트랙의 트랙 ID를 가리킨다면, 트랙 참조는 상기 VVC 서브픽처 트랙으로 해소된다.
· 그 외의 경우(트랙 참조가 'alte' 트랙 그룹을 가리키는 경우), 트랙 참조는 상기 'alte' 트랙 그룹의 트랙 중 어느 것으로도 해소된다. 만약 특정한 트랙 참조 인텍스 값이 이전 샘플의 특정 트랙으로 해소되었다면, 그것은 현재 샘플에서 아래 둘 중 하나로 해소되어야 한다.
· 동일한 특정 트랙, 또는
· 현재 샘플과 시간 정렬되는 sync 샘플을 포함하는 동일한 'alte' 트랙 그룹 내의 임의의 다른 트랙
비고 3: 동일한 'alte' 트랙 그룹의 VVC 서브픽처 트랙들은 티코딩 미스매치를 방지하기 위해 동일한 VVC 베이스 트랙이 참조하는 모든 다른 VVC 서브픽처 트랙들로부터 독립적일 필요가 있으며, 이런 이유로 아래와 같은 제한조건들이 있을 수 있다.
· 모든 VVC 서브픽처 트랙들은 VVC 서브픽처들을 포함한다.
· 서브픽처 경계선들은 픽처 경계선들과 같다.
· [[ 루프 필터링은 서브픽처 경계선들에 걸쳐 꺼진다(turned off).
리더가 최초 선택이거나 이전 선택과 다른 서브픽처 ID 값들의 세트를 가지는 VVC 서브픽처들을 포함하는 VVC 서브픽처 트랙들을 선택하는 경우, 아래 단계들이 수행될 수 있다.
· 'spor' 샘플 그룹 기술 엔트리를 검토하여 PPS 또는 SPS NAL 유닛이 변경될 필요가 있는지 여부를 결정한다.
비고: SPS 변경은 오직 CLVS의 시작에서만 가능하다.
· 만약 'spor' 샘플 그룹 기술 엔트리가 시작 코드 에뮬레이션 방지 바이트가 NAL 유닛의 서브픽처 ID들 이전 또는 안에 존재함을 지시하는 경우, RBSP는 상기 NAL 유닛으로부터 유도된다(즉, 시작 코드 에뮬레이션 방지 바이트가 제거된다). 다음 단계에서의 오버라이딩 이후, 시작 코드 에뮬레이션 방지가 재실행된다.
· 상기 리더는 'spor' 샘플 그룹 엔트리 내의 비트 위치 및 서브픽처 ID 길이 정보를 이용하여 어떤 비트들을 선택된 것들에 서브픽처 ID들을 업데이트하기 위해서 덮어쓰는 지를 결정한다.
· PPS 또는 SPS의 서브픽처 ID 값들이 최초로 선택되는 경우, 상기 리더는 상기 PPS 또는 SPS를 복원된 액세스 유닛 내에서 상기 선택된 서브픽처 ID 값들로 각각 덮어쓸 필요가 있다.
PPS 또는 SPS의 서브픽처 ID 값들이 (각각) 동일한 PPS ID 값들 또는 SPS ID 값들을 가지는 이전의 PPS 또는 SPS와 (각각) 비교하여 변경된 경우, 상기 리더는 해당 이전 PPS 및 SPS의 카피(copy)를 포함할 필요가 있으며(동일한 PPS 또는 SPS ID 값을 가지는 상기 PPS 또는 SPS가 각각 액세스 유닛에 달리 존재하지 않는 경우), 상기 PPS 또는 SPS를 복원된 액세스 유닛 내의 업데이트된 서브픽처 ID 값들로 (각각) 덮어쓸 필요가 있다. ]]
도 1은 본 명세서에서 개시되는 다양한 기술들이 실시되는 예시적 비디오 처리 시스템(1900)의 블록도이다. 다양한 실시예들은 시스템(1900)의 구성 요소들 일부 또는 전부를 포함할 수 잇다. 시스템(1900)은 비디오 콘텐츠를 수신하기 위한 입력(1902)을 포함할 수 있다. 상기 비디오 콘텐츠는 원상태(raw) 또는 압축되지 않은 포맷, 예를 들어, 8 또는 10 비트 다중 성분 픽셀 값들로 또는 압축되거나 인코딩된 포맷으로 수신될 수 있다. 입력(1902)은 네트워크 인터페이스, 주변 버스 인터페이스, 또는 스토리지 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예들은 이더넷, 수동 광 네트워크(passive optical network (PON) 등과 같은 유선 인터페이스들 및 와이파이나 셀룰러 인터페이스 같은 무선 인터페이스를 포함한다.
시스템(1900)은 본 문서에서 개시되는 다양한 코딩 또는 인코딩 방법들을 실시할 수 있는 코딩 구성요소(1904)를 포함할 수 있다. 코딩 구성요소(1904)는 입력(1902)으로부터 코딩 구성요소(1904)의 출력까지 비디오의 코딩된 표현을 생성하기 위해 상기 비디오의 평균 비트레이트 감소시킬 수 있다. 따라서 코딩 기술들은 종종 비디오 압축 또는 비디오 트랜스코딩 기술들이라 불린다. 코딩 구성요소(1904)의 출력은, 구성요소(1906)에 의해 표현되는 것처럼, 저장되거나 또는 연결된 통신을 통해 전송된다. 입력(1902)에서 수신된 비디오의 저장되거나 통신된 비트스트림(또는 코딩된) 표현은 구성요소(1908)에 의해 픽셀 값들을 생성하는 데에 사용되거나 또는 디스플레이 인터페이스(1910)로 보내지는 디스플레이 가능한 비디오를 생성하는 데에 사용될 수 있다. 비트스트림 표현으로부터 사용자가 볼 수 있는 비디오를 생성하는 과정을 종종 비디오 압축 해제(decompression)이라 부른다. 더 나아가, 특정한 비디오 처리 작업들은 "코딩" 작업들 또는 도구들이라 불리므로, 상기 코딩 도구들 또는 작업들이 인코더에서 사용되고 코딩의 결과를 되돌리는 상응하는 디코딩 도구들 또는 작업들은 디코더에 의해 수행될 것임을 이해할 수 있을 것이다.
주변 버스 인터페이스 또는 디스플레이 인터페이스의 예들은 범용 직렬 버스(universal serial bus(USB)) 또는 고해상도 멀티미디어 인터페이스 (high definition multimedia interface (HDMI)) 또는 디스플레이포트 등을 포함할 수 있다. 스토리지 인터페이스의 예들은 SATA(직렬 고급 기술 연결), PCI, IDE 인터페이스 등을 포함한다. 본 문서에서 개시되는 기술들은 이동 전화, 노트북, 스마트폰, 또는 디지털 데이터 처리 및/또는 비디오 디스플레이를 실행할 수 있는 기타 디바이스들과 같은 다양한 전자 디바이스들에서 구현될 수 있다.
도 2는 비디오 처리 장치(3600)의 블록도이다. 상기 장치(3600)는 본 명세서에서 개시되는 하나 또는 그 이상의 방법들을 실시하는 데에 사용될 수 있다. 장치(3600)는 스마트폰, 테블릿, 컴퓨터, 사물인터넷(IoT) 수신기 등에서 구현될 수 있다. 장치(3600)는 하나 또는 그 이상의 프로세서들(3602), 하나 또는 그 이상의 메모리들(3604), 그리고 비디오 처리 하드웨어(3606)을 포함할 수 있다. 프로세서(들)(3602)는 본 문서에서 개시되는 하나 또는 그 이상의 방법들을 실시하도록 구성될 수 있다. 메모리(또는 메모리들)(3604)은 본 명세서에 개시된 방법들 및 기술들을 실시하는 데에 사용되는 데이터 및 코드를 저장하는 데에 사용될 수 있다. 비디오 처리 하드웨어(3606)는 본 문서에서 개시되는 일부 기술들을 하드웨어 회로에서 실시할 수 있다. 몇몇 실시예들에서, 비디오 처리 하드웨어(3606)는 적어도 부분적으로 프로세서(3602), 예를 들어 그래픽 코프로세서에 포함될 수 있다.
도 4는 본 개시의 기술들을 활용할 수 있는 예시적 비디오 코딩 시스템(100)을 도시하는 블록도이다.
도 4에서 보이는 것과 같이, 비디오 코딩 시스템(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(고효율 비디오 코딩) 표준, VVC(다기능 비디오 코딩) 표준 및 기타 현행 및/또는 추가 표준들과 같은 비디오 압축 표준에 따라 작동할 수 있다.
도 5는 도 4에 도시된 시스템(110) 내의 비디오 인코더(114)일 수 있는 비디오 인코더(200)의 일 예를 도시하는 블록도이다.
비디오 인코더(200)는 본 개시의 기술들 중 어느 하나 또는 전부를 실시하도록 구성될 수 있다. 도 5의 예에서, 비디오 인코더(200)는 복수의 기능적 구성요소들을 포함한다. 본 개시에서 설명되는 기술들은 비디오 인코더(200)의 다양한 구성요소들 사이에 공유될 수 있다. 일부 예들에서, 프로세서는 본 개시에서 설명되는 기술들 중 어느 하나 또는 전부를 실시하도록 구성될 수 있다.
비디오 인코더(200)의 기능적 구성요소들은 분할부(201), 모드 선택부(203), 모션 추정부(204), 모션 보상부(205) 및 화면내 예측부(206)를 포함할 수 있는 예측부(202), 잔차 생성부(207), 변환부(208), 양자화부(209), 역양자화부(210), 역변환부(211), 복원부(212), 버퍼(213), 그리고 엔트로피 인코딩부(214)를 포함할 수 있다.
다른 예들에서, 비디오 인코더(200)는 더 많은 수의, 적은 수의 또는 상이한 기능적 구성요소들을 포함할 수 있다. 일 예에서, 예측부(202)는 인트라 블록 카피(IBC) 유닛을 포함한다. 상기 IBC 유닛은 적어도 하나의 참조 픽처가 현재 비디오 블록이 위치하는 픽처인 IBC 모드로 예측을 수행할 수 있다.
게다가, 모션 추정부(204) 및 모션 보상부(205)와 같은 몇몇 구성요소들은 고도로 통합될 수 있지만, 설명의 목적을 위해 도5의 예에서는 별도로 도시되었다.
분할부(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 또는 리스트 0에서 참조 픽처를 지시하는 참조 인덱스를 그리고 상기 현재 비디오 블록과 상기 참조 비디오 블록 사이의 공간적 이동(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)는 하나 또는 그 이상의 엔트로피 인코딩 작업들을 실시하여 엔트로피 인코딩된 데이터를 생성하고 상기 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력할 수 있다.
도 6은 도 4에 도시된 시스템(100) 내의 비디오 디코더(114)일 수 있는 비디오 디코더(300)의 일 예를 도시하는 블록도이다.
비디오 디코더(300)는 본 개시의 기술들 중 어느 하나 또는 전부를 실시하도록 구성될 수 있다. 도 6의 예에서, 비디오 디코더(300)는 복수의 기능적 구성요소들을 포함한다. 본 개시에서 설명되는 기술들은 비디오 디코더(300)의 다양한 구성요소들 사이에 공유될 수 있다. 일부 예들에서, 프로세서는 본 개시에서 설명되는 기술들 중 어느 하나 또는 전부를 실시하도록 구성될 수 있다.
도 6의 예에서, 비디오 디코더(300)는 엔트로피 디코딩부(301), 모션 보상부(302), 화면내 예측부(303), 역양자화부(304), 역변환부(305), 복원부(306), 그리고 버퍼(307)를 포함한다. 일부 예들에서, 비디오 디코더(300)는 비디오 인코더(200)(도 5)와 관련하여 설명된 인코딩 패스에 일반적으로 상반된 디코딩 패스를 실시할 수 있다.
엔트로피 디코딩부(301)는 인코딩된 비트스트림을 검색할 수 있다. 상기 인코딩된 비트스트림은 엔트로피 코딩된 비디오 데이터(예를 들어, 비디오 데이터의 인코딩된 블록들)을 포함할 수 있다. 엔트로피 디코딩부(301)는 상기 엔트로피 코딩된 비디오 데이터를 디코딩할 수 있으며, 엔트로피 디코딩된 비디오 데이터로부터, 모션 보상부(302)는 모션 벡터들, 모션 벡터 정밀도 및 참조 픽처 리스트 인덱스들을 포함하는 모션 정보 및 기타 모션 정보를 결정할 수 있다. 예를 들어, 모션 보상부(302)는 AMVP 및 머지 모드를 실행하여 이러한 정보를 결정할 수 있다.
모션 보상부(302)는 가능한 경우 보간 필터들에 기반한 보간을 실시하여 움직임 보상된 블록들을 산출할 수 있다. 서브 픽셀 정밀도와 함께 사용될 보간 필터들에 대한 식별자들은 신택스 요소들에 포함될 수 있다.
모션 보상부(302)는 비디오 엔코더(200)가 비디오 블록의 인코딩 동안 사용한 것과 같이 보간 필터들을 사용하여 참조 블록의 서브-정수 픽셀들에 대한 보간된 값들을 계산할 수 있다. 모션 보상부(302)는 비디오 인코더(200)가 사용한 상기 보간 필터들을 검색된 신택스 정보에 따라 결정할 수 있으며, 상기 보간 필터들을 사용하여 예측적 블록들을 생성할 수 있다.
모션 보상부(302)는 인코딩된 비디오 시퀀스의 프레임(들) 및/또는 슬라이스(들)을 인코딩 하는 데에 사용된 블록들의 크기들을 판단하기 위한 신택스 정보, 인코딩된 비디오 시퀀스의 픽처의 각 매크로블록이 어떻게 분할되는지를 기술하는 분할 정보, 각 파티션이 어떻게 인코딩되었는지를 지지하는 모드들, 각각의 화면내 인코딩된 블록에 대한 하나 또는 그 상의 참조 프레임들 (및 참조 프레임 리스트들), 그리고 인코딩된 비디오 시퀀스를 디코딩하기 위한 기타 정보를 이용할 수 있다.
화면내 예측부(303)는 공간적으로 인접한 블록들로부터 예측 블록을 형성하기 위해 예를 들어 비트스트림에서 수신된 화면내 예측 모드들을 이용할 수 있다. 역양자화부(303)는 비트스트림에서 제공되며 엔트로피 디코딩부(301)에 의해 디코딩된 양자화된 비디오 블록 계수들을 역 양자화(즉 양자화 해제)한다. 역변환부(305)는 역변환을 적용한다.
복원부(306)는 모션 보상부(202) 또는 화면내 예측부(303)에 의해 생성된 해당 예측 블록들과 잔차 블록들을 합계하여 디코딩된 블록들을 형성할 수 있다. 요구되는 경우, 디블로킹 필터 또한 블록화 아티팩트(blockiness artifacts)를 제거하기 위해 디코딩된 블록들의 필터링에 적용될 수 있다. 그리고 나서, 디코딩된 비디오 블록들은 버퍼(307)에 저장되며, 버퍼는 후속 모션 보상/화면내 예측을 위한 참조 블록들을 제공하고 디스플레이 디바이스에 제시할 디코딩된 비디오를 생성하기도 한다.
다음으로, 일부 실시예들에서 선호되는 해결수단들의 리스트가 제공된다.
아래에는 해결 수단들의 첫 번째 세트가 제공된다. 다음의 해결 수단들(solutions)은 이전 섹션(예를 들어, 항목 1)에서 논의된 기술들의 예시적 실시예들을 보여준다.
1. 시각 미디어 처리 방법으로서, 시각 미디어 데이터와 상기 시각 미디어 데이터의 비트스트림 표현을 저장하는 파일 사이의 변환을 포맷 규칙에 따라 실시하는 단계를 포함하고, 상기 파일은 상기 시각 미디어 데이터의 서브픽처에 대한 데이터를 포함하는 트랙을 포함하며, 상기 포맷 규칙은 상기 트랙에 대한 신택스를 명시하는 시각 미디어 처리 방법.
2. 해결수단 1에 있어서, 상기 포맷 규칙은 상기 트랙이 직사각형 영역을 덮을 것을 명시하는 시각 미디어 처리 방법.
3. 해결수단 1에 있어서, 상기 포맷 규칙은 상기 트랙에 포함된 서브픽처들 또는 슬라이스들이 독립적으로 추출될 수 있고, 디코딩될 수 있고, 제시될 수 있음을 명시하는 시각 미디어 처리 방법.
아래 해결수단들은 이전 섹션에서(예를 들어, 항목 3 및 4) 논의된 기술들의 예시적 실시예들을 보여준다.
4. 시각 미디어 처리 방법으로서, 시각 미디어 데이터와 상기 시각 미디어 데이터의 비트스트림 표현을 저장하는 파일 사이의 변환을 포맷 규칙에 따라 실시하는 단계를 포함하고, 상기 파일은 제1 트랙 및/또는 하나 또는 그 이상의 서브픽처 트랙들을 포함하며, 상기 포맷 규칙은 상기 트랙 및/또는 상기 하나 또는 그 이상의 서브픽처 트랙들에 대한 신택스를 명시하는 시각 미디어 처리 방법.
5. 해결수단 4에 있어서, 상기 포맷규칙은 상기 트랙이 상기 하나 또는 그 이상의 서브픽처 트랙들의 참조들을 포함함을 명시하는 시각 미디어 처리 방법.
6. 해결수단 4에 있어서, 상기 포맷 규칙은 액세스 유닛 레벨 또는 픽처 레벨 비 비디오 코딩 계층 네트워크 추상 계층 유닛들이 상기 하나 또는 그 이상의 서브픽처 트랙들에 포함되는 것을 허용하지 않는 시각 미디어 처리 방법.
7. 해결수단 6에 있어서, 상기 허용되지 않은 유닛들은 디코딩 능력 정보 구조, 파라미터 세트, 작업 포인트 정보, 헤더, 스트림 끝(end of stream), 또는 픽처 끝(end of picture)을 포함하는 시각 미디어 처리 방법.
8. 해결수단 1 내지 해결수단 7 중 어느 한 해결수단에 있어서, 상기 변환은 상기 시각 미디어 데이터의 비트스트림 표현을 생성하는 단계 및 상기 비트스트림 표현을 상기 파일에 상기 포맷 규칙에 따라 저장하는 단계를 포함하는 시각 미디어 처리 방법.
9. 해결수단 1 내지 해결수단 7 중 어느 한 해결수단에 있어서, 상기 변환은 상기 시각 미디어 데이터를 복구하기 위해 상기 파일을 상기 포맷 규칙에 따라 파싱하는 단계를 포함하는 시각 미디어 처리 방법.
10. 비디오 디코딩 장치로, 해결수단 1 내지 해결수단 9 중 하나 또는 그 이상에서 언급된 방법을 수행하는 프로세서를 포함하는 비디오 디코딩 장치.
11. 비디오 인코딩 장치로, 해결수단 1 내지 해결수단 9 중 하나 또는 그 이상에서 언급된 방법을 수행하는 프로세서를 포함하는 비디오 인코딩 장치.
12. 저장된 컴퓨터 코드를 가지는 컴퓨터 프로그램 제품으로, 상기 코드는, 프로세서에 의해 실행될 때, 상기 프로세서가 해결수단 1 내지 해결수단 9 중 어느 하나에서 언급된 방법을 시행하도록 하는 컴퓨터 프로그램 제품.
13. 컴퓨터 판독 가능한 매체로서, 비트스트림 표현이 해결수단 1 내지 해결수단 9 중 어느 하나에 따라 생성된 파일 포맷에 부합하는 컴퓨터 판독 가능한 매체.
14. 본 문서에 설명된 방법, 장치 또는 시스템.
해결수단들의 두 번째 세트는 이전 섹션에서(예를 들어, 항목 2 내지 4) 논의된 기술들의 예시적 실시예들을 제공한다.
1. 시각 미디어 처리 방법으로서(예를 들어, 도 11에 보이는 방법(1100)), 시각 미디어 데이터와 상기 시각 미디어 데이터의 하나 또는 그 이상의 비트스트림들을 저장하는 하나 또는 그 이상의 트랙들을 포함하는 시각 미디어 파일 사이의 변환을 포맷 규칙에 따라 실시하는 단계(1102)를 포함하되, 상기 시각 미디어 파일은 하나 또는 그 이상의 서브픽처 트랙들을 참조하는 베이스 트랙을 포함하며, 상기 포맷 규칙은 상기 베이스 트랙의 샘플 및 상기 하나 또는 그 이상의 서브픽처 트랙들의 샘플들로부터 비디오 유닛을 복원할 때 상기 베이스 트랙의 상기 샘플 내의 비 VCL(비디오 코딩 계층) NAL(네트워크 추상 계층) 유닛들의 순서를 명시하는, 시각 미디어 처리 방법.
2. 해결수단 1에 있어서, 상기 포맷 규칙은 상기 샘플 내의 픽처 헤더 NAL 유닛의 존재 여부와는 상관없이 상기 비 VLC NAL 유닛들의 순서를 명시하는, 시각 미디어 처리 방법.
3. 해결수단 1에 있어서, 상기 포맷 규칙은 상기 베이스 트랙의 상기 샘플 내의 상기 비 VCL NAL 유닛들의 적어도 일부가 상기 비디오 유닛에서 상기 하나 또는 그 이상의 서브픽처 트랙들 내의 NAL 유닛들 앞 또는 뒤에 위치할 것을 명시하는, 시각 미디어 처리 방법.
4. 해결수단 3에 있어서, EOS_NUT, EOB_NUT, SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT, RSV_NVCL_27, UNSPEC_30, 또는 UNSPEC_31과 같은 NAL 유닛 타입을 가지는 상기 샘플에 하나 또는 그 이상의 비 VCL NAL 유닛들의 세트가 존재하는 경우, 상기 포맷 규칙은 상기 샘플 내에서 상기 하나 또는 그 이상의 비 VCL NAL 유닛들의 세트의 첫 번째 NAL 유닛 이전까지의 NAL 유닛들이 상기 비디오 유닛에서 상기 하나 또는 그 이상의 서브픽처 트랙들 내의 NAL 유닛들 앞에 위치함을 더 명시하는, 시각 미디어 처리 방법.
5. 해결수단 3에 있어서, EOS_NUT, EOB_NUT, SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT, RSV_NVCL_27, UNSPEC_30, 또는 UNSPEC_31과 같은 NAL 유닛 타입을 가지는 상기 샘플에 비 VCL NAL 유닛이 존재하지 않는 경우, 상기 포맷 규칙은 상기 샘플 내의 모든 NAL 유닛들이 상기 비디오 유닛에서 상기 하나 또는 그 이상의 서브픽처 트랙들 내의 NAL 유닛들 앞에 위치함을 더 명시하는, 시각 미디어 처리 방법.
6. 해결수단 3에 있어서, EOS_NUT, EOB_NUT, SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT, RSV_NVCL_27, UNSPEC_30, 또는 UNSPEC_31과 같은 NAL 유닛 타입을 가지는 상기 샘플에 비 VCL NAL 유닛이 적어도 하나 존재하는 경우, 상기 포맷 규칙은 상기 샘플 내의 모든 NAL 유닛들이 상기 비디오 유닛에서 상기 하나 또는 그 이상의 서브픽처 트랙들 내의 NAL 유닛들 뒤에 위치함을 더 명시하는, 시각 미디어 처리 방법.
7. 해결수단 1에 있어서, 상기 포맷 규칙은 액세스 유닛 레벨 또는 픽처 레벨의 비 비디오 코딩 계층 네트워크 추상 계층 유닛들이 상기 하나 또는 그 이상의 서브픽처 트랙들에 포함되는 것이 허용되지 않음을 더 명시하는, 시각 미디어 처리 방법.
8. 해결수단 7에 있어서, 상기 허용되지 않은 유닛들은 액세스 유닛 구분자(AUD: access unit delimiter) NAL 유닛에 해당하는 NAL 유닛, 디코딩 능력 정보(DCI: decoding capability information) NAL 유닛, 동작 지점 정보(OPI: operating point information) NAL 유닛, 비디오 파라미터 세트(VPS: video parameter set) NAL 유닛, 시퀀스 파라미터 세트(SPS: sequence parameter set) NAL 유닛, 픽처 파라미터 세트(PPS: picture parameter set) NAL 유닛, 픽처 헤더(PH: picture header) NAL 유닛, 시퀀스 끝(EOS: end of sequence) NAL 유닛, 비트스트림 끝(EOB: end of bitstream) NAL 유닛, 또는 액세스 유닛 레벨 또는 픽처 레벨의 SEI 메시지들만을 포함하는 부가 개선 정보(SEI: supplemental enhancement information) NAL 유닛을 포함하는, 시각 미디어 처리 방법.
9. 해결수단 8에 있어서, 상기 포맷 규칙은 상기 하나 또는 그 이상의 서브픽처 트랙들의 샘플들 내의 모든 NAL 유닛들이 상기 베이스 트랙의 상기 샘플 및 상기 하나 또는 그 이상의 서브픽처 트랙들의 상기 샘플들로부터 상기 비디오 유닛을 복원할 때 상기 비디오 유닛에 추가됨을 더 명시하는, 시각 미디어 처리 방법.
10. 해결수단 1 내지 해결수단 9 중 어느 하나에 있어서, 상기 시각 미디어 데이터는 다기능 비디오 코딩(VVC: versatile video coding)에 의해 처리되고 상기 하나 또는 그 이상의 트랙들은 VVC 트랙들인, 시각 미디어 처리 방법.
11. 해결수단 1 내지 해결수단 10 중 어느 하나에 있어서, 상기 변환은 상기 시각 미디어 파일을 생성하는 단계 및 상기 하나 또는 그 이상의 비트스트림들을 상기 포맷 규칙에 따라 상기 시각 미디어 파일에 저장하는 단계를 포함하는, 시각 미디어 처리 방법.
12. 해결수단 1 내지 해결수단 10 중 어느 하나에 있어서, 상기 변환은 상기 하나 또는 그 이상의 비트스트림들을 복원하기 위해 상기 포맷 규칙에 따라 상기 시각 미디어 파일을 파싱하는 단계를 포함하는, 시각 미디어 처리 방법.
13. 시각 미디어 처리 장치로서, 시각 미디어 데이터와 상기 시각 미디어 데이터의 하나 또는 그 이상의 비트스트림들을 저장하는 하나 또는 그 이상의 트랙들을 포함하는 시각 미디어 파일 사이의 변환을 포맷 규칙에 따라 실시하는 단계를 포함하는 방법을 수행하는 프로세서를 포함하되, 상기 시각 미디어 파일은 하나 또는 그 이상의 서브픽처 트랙들을 참조하는 베이스 트랙을 포함하고, 상기 포맷 규칙은 상기 베이스 트랙의 샘플 및 상기 하나 또는 그 이상의 서브픽처 트랙들의 샘플들로부터 비디오 유닛을 복원할 때 상기 베이스 트랙의 상기 샘플 내의 비 VCL(비디오 코딩 계층) NAL(네트워크 추상 계층) 유닛들의 순서를 명시하는, 시각 미디어 처리 장치.
14. 해결수단 13에 있어서, 상기 포맷 규칙은 상기 샘플 내의 픽처 헤더 NAL 유닛의 존재 여부와는 상관없이 상기 비 VLC NAL 유닛들의 순서를 명시하는, 시각 미디어 처리 장치.
15. 해결수단 14에 있어서, 상기 포맷 규칙은 상기 베이스 트랙의 상기 샘플 내의 상기 비 VCL NAL 유닛들의 적어도 일부가 상기 비디오 유닛에서 상기 하나 또는 그 이상의 서브픽처 트랙들 내의 NAL 유닛들 앞 또는 뒤에 위치할 것을 명시하는, 시각 미디어 처리 장치.
16. 해결수단 15에 있어서, EOS_NUT, EOB_NUT, SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT, RSV_NVCL_27, UNSPEC_30, 또는 UNSPEC_31과 같은 NAL 유닛 타입을 가지는 상기 샘플에 하나 또는 그 이상의 비 VCL NAL 유닛들의 세트가 존재하는 경우, 상기 포맷 규칙은 상기 샘플 내에서 상기 하나 또는 그 이상의 비 VCL NAL 유닛들의 첫 번째 NAL 유닛 이전까지의(up to and excluding) NAL 유닛들이 상기 비디오 유닛에서 상기 하나 또는 그 이상의 서브픽처 트랙들 내의 NAL 유닛들 앞에 위치함을 더 명시하는, 시각 미디어 처리 장치.
17. 해결수단 15에 있어서, EOS_NUT, EOB_NUT, SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT, RSV_NVCL_27, UNSPEC_30, 또는 UNSPEC_31과 같은 NAL 유닛 타입을 가지는 상기 샘플에 비 VCL NAL 유닛이 존재하지 않는 경우, 상기 포맷 규칙은 상기 샘플 내의 모든 NAL 유닛들이 상기 비디오 유닛에서 상기 하나 또는 그 이상의 서브픽처 트랙들 내의 NAL 유닛들 앞에 위치함을 더 명시하는, 시각 미디어 처리 장치.
18. 해결수단 15에 있어서, EOS_NUT, EOB_NUT, SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT, RSV_NVCL_27, UNSPEC_30, 또는 UNSPEC_31과 같은 NAL 유닛 타입을 가지는 상기 샘플에 비 VCL NAL 유닛이 적어도 하나 존재하는 경우, 상기 포맷 규칙은 상기 샘플 내의 모든 NAL 유닛들이 상기 비디오 유닛에서 상기 하나 또는 그 이상의 서브픽처 트랙들 내의 NAL 유닛들 뒤에 위치함을 더 명시하는, 시각 미디어 처리 장치.
19. 해결수단 13에 있어서, 상기 포맷 규칙은 액세스 유닛 레벨 또는 픽처 레벨의 비 비디오 코딩 계층 네트워크 추상 계층 유닛들이 상기 하나 또는 그 이상의 서브픽처 트랙들에 포함되는 것이 허용되지 않음을 더 명시하는, 시각 미디어 처리 장치.
20. 해결수단 19에 있어서, 상기 허용되지 않은 유닛들은 액세스 유닛 구분자(AUD: access unit delimiter) NAL 유닛에 해당하는 NAL 유닛, 디코딩 능력 정보(DCI: decoding capability information) NAL 유닛, 동작 지점 정보(OPI: operating point information) NAL 유닛, 비디오 파라미터 세트(VPS: video parameter set) NAL 유닛, 시퀀스 파라미터 세트(SPS: sequence parameter set) NAL 유닛, 픽처 파라미터 세트(PPS: picture parameter set) NAL 유닛, 픽처 헤더(PH: picture header) NAL 유닛, 시퀀스 끝(EOS: end of sequence) NAL 유닛, 비트스트림 끝(EOB: end of bitstream) NAL 유닛, 또는 액세스 유닛 레벨 또는 픽처 레벨의 SEI 메시지들만을 포함하는 부가 개선 정보(SEI: supplemental enhancement information) NAL 유닛을 포함하는, 시각 미디어 처리 장치.
21. 해결수단 20에 있어서, 상기 포맷 규칙은 상기 하나 또는 그 이상의 서브픽처 트랙들의 샘플들 내의 모든 NAL 유닛들이 상기 베이스 트랙의 상기 샘플 및 상기 하나 또는 그 이상의 서브픽처 트랙들의 상기 샘플들로부터 상기 비디오 유닛을 복원할 때 상기 비디오 유닛에 추가됨을 더 명시하는, 시각 미디어 처리 장치.
22. 명령들을 저장하는 비-일시적인 컴퓨터 판독 가능한 저장 매체에 있어서, 상기 명령들은 프로세서로 하여금 시각 미디어 데이터와 상기 시각 미디어 데이터의 하나 또는 그 이상의 비트스트림들을 저장하는 하나 또는 그 이상의 트랙들을 포함하는 시각 미디어 파일 사이의 변환을 포맷 규칙에 따라 실시하도록 하고, 상기 포맷 규칙은 상기 베이스 트랙의 샘플 및 상기 하나 또는 그 이상의 서브픽처 트랙들의 샘플들로부터 비디오 유닛을 복원할 때 상기 베이스 트랙의 상기 샘플 내의 비 VCL(비디오 코딩 계층) NAL(네트워크 추상 계층) 유닛들의 순서를 명시하는, 비-일시적인 컴퓨터 판독 가능한 저장 매체.
23. 명령들을 저장하는 비-일시적인 컴퓨터 판독 가능한 기록 매체에 있어서, 상기 명령들은 프로세서로 하여금 상기 시각 미디어 데이터의 하나 또는 그 이상의 비트스트림들을 저장하는 하나 또는 그 이상의 트랙들을 포함하는 시각 미디어 파일을 포맷규칙에 따라 생성하도록 하고, 상기 시각 미디어 파일은 하나 또는 그 이상의 서브픽처 트랙들을 참조하는 베이스 트랙을 포함하고, 상기 포맷 규칙은 상기 베이스 트랙의 샘플 및 상기 하나 또는 그 이상의 서브픽처 트랙들의 샘플들로부터 비디오 유닛을 복원할 때 상기 베이스 트랙의 상기 샘플 내의 비 VCL(비디오 코딩 계층) NAL(네트워크 추상 계층) 유닛들의 순서를 명시하는, 비-일시적인 컴퓨터 판독 가능한 기록 매체.
24. 비디오 처리 장치에 있어서, 해결수단 1 내지 해결수단 12 중 어느 하나에서 언급된 방법을 실시하는 프로세서를 포함하는, 비디오 처리 장치.
25. 하나 또는 그 이상의 비트스트림들을 포함하는 파일에 시각 미디어 데이터를 저장하는 방법으로서, 해결수단 1 내지 해결수단 12 중 어느 하나에서 언급된 방법을 포함하고, 상기 하나 또는 그 이상의 비트스트림들을 비-일시적인 컴퓨터 판독 가능한 기록 매체에 저장하는 단계를 포함하는, 방법.
26. 프로그램 코드를 저장하는 컴퓨터 판독 가능한 매체로서, 상기 코드는 실행되는 경우 프로세서로 하여금 해결수단 1 내지 해결수단 12 중 어느 하나에서 언급된 방법을 실시하도록 하는, 컴퓨터 판독 가능한 매체.
27. 상기 기술된 방법들 중 어느 하나에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독 가능한 매체.
28. 비트스트림을 저장하기 위한 비디오 처리 장치로서, 상기 비디오 처리 장치는 해결수단 1 내지 해결수단 12 중 어느 하나 또는 그 이상에서 언급된 방법을 실시하는, 비디오 처리 장치.
29. 컴퓨터 판독 가능한 매체로서, 비트스트림이 해결수단 1 내지 해결수단 12 중 어느 하나에 따라 생성된 파일 포맷에 부합하는 컴퓨터 판독 가능한 매체.
30. 본 문서에 설명된 방법, 장치 또는 시스템.
해결수단들의 세 번째 세트는 이전 섹션에서(예를 들어, 항목 8 및 9) 논의된 기술들의 예시적 실시예들을 제공한다.
1. 비디오 데이터 처리 방법으로서(예를 들어, 도 12에 보이는 방법(1200)), 시각 미디어 데이터와 상기 시각 미디어 데이터의 하나 또는 그 이상의 비트스트림들을 저장하는 하나 또는 그 이상의 트랙들을 포함하는 시각 미디어 파일 사이의 변환을 포맷 규칙에 따라 실시하는 단계(1202)를 포함하되, 상기 하나 또는 그 이상의 비트스트림들은 상기 시각 미디어 데이터의 코딩된 서브픽처들을 포함하며, 상기 포맷 규칙은 상기 코딩된 서브픽처들을 처리하기 위한 규칙들을 지시하는 서브픽처 개체(entity) 그룹들의 박스들의 컨테이너가 파일 레벨 박스에 포함됨을 명시하는 비디오 데이터 처리 방법.
2. 해결수단 1에 있어서, 상기 포맷 규칙은 상기 서브픽처 개체 그룹들의 박스들의 상기 컨테이너가 파일 레벨 외의 다른 레벨들에서의 박스들에는 포함되지 않음을 더 명시하는, 비디오 데이터 처리 방법.
3. 해결수단 1에 있어서, 상기 서브픽처 개체 그룹들이 그룹 내에서 상기 코딩된 서브픽처들을 처리하기 위한 상기 규칙들을 지시하는 제1 서브픽처 개체 그룹을 포함하는, 비디오 데이터 처리 방법.
4. 해결수단 1에 있어서, 상기 서브픽처 개체 그룹들이 상이한 코딩 속성들을 가진 상기 코딩된 서브픽처들을 처리하기 위한 상기 규칙들을 지시하는 제2 서브픽처 개체 그룹을 포함하는, 비디오 데이터 처리 방법.
5. 해결수단 1에 있어서, 상기 포맷 규칙은, 서브픽처 정보가 상기 트랙의 전체 지속시간 동안 비일관적인 경우를 지원하기 위해, 상기 서브픽처 개체 그룹들에 의해 운반되는 것과 유사한 정보를 운반할 샘플 그룹들을 추가하도록 더 명시하는, 비디오 데이터 처리 방법.
6. 해결수단 1 내지 해결수단 5 중 어느 하나에 있어서, 상기 시각 미디어 데이터는 다기능 비디오 코딩(VVC: versatile video coding)에 의해 처리되고 상기 하나 또는 그 이상의 트랙들은 VVC 트랙들인, 비디오 데이터 처리 방법.
7. 해결수단 1 내지 해결수단 6 중 어느 하나에 있어서, 상기 변환은 상기 시각 미디어 파일을 생성하는 단계 및 상기 하나 또는 그 이상의 비트스트림들을 상기 포맷 규칙에 따라 상기 시각 미디어 파일에 저장하는 단계를 포함하는, 비디오 데이터 처리 방법.
8. 해결수단 1 내지 해결수단 6 중 어느 하나에 있어서, 상기 변환은 상기 하나 또는 그 이상의 비트스트림들을 복원하기 위해 상기 포맷 규칙에 따라 상기 시각 미디어 파일을 파싱하는 단계를 포함하는, 비디오 데이터 처리 방법.
9. 시각 미디어 데이터 처리 장치로서, 시각 미디어 데이터와 상기 시각 미디어 데이터의 하나 또는 그 이상의 비트스트림들을 저장하는 하나 또는 그 이상의 트랙들을 포함하는 시각 미디어 파일 사이의 변환을 포맷 규칙에 따라 실시하는 단계를 포함하는 방법을 수행하는 프로세서를 포함하되, 상기 하나 또는 그 이상의 비트스트림들은 상기 시각 미디어 데이터의 코딩된 서브픽처들을 포함하고, 상기 포맷 규칙은 상기 서브픽처들을 처리하기 위한 규칙들을 지시하는 서브픽처 개체 그룹들의 박스들의 컨테이너가 파일 레벨 박스에 포함됨을 규정하는, 시각 미디어 데이터 처리 장치.
10. 해결수단 9에 있어서, 상기 포맷 규칙은 상기 서브픽처 개체 그룹들의 박스들의 상기 컨테이너가 파일 레벨 외의 다른 레벨들에서의 박스들에는 포함되지 않음을 더 명시하는 시각 미디어 데이터 처리 장치.
11. 해결수단 9에 있어서, 상기 서브픽처 개체 그룹들이 그룹 내에서 상기 코딩된 서브픽처들을 처리하기 위한 상기 규칙들을 지시하는 제1 서브픽처 개체 그룹을 포함하는, 시각 미디어 데이터 처리 장치.
12. 해결수단 9에 있어서, 상기 서브픽처 개체 그룹들이 상이한 코딩 속성들을 가진 상기 코딩된 서브픽처들을 처리하기 위한 상기 규칙들을 지시하는 제2 서브픽처 개체 그룹을 포함하는, 시각 미디어 데이터 처리 장치.
13. 해결수단 9에 있어서, 상기 포맷 규칙은, 서브픽처 정보가 상기 트랙의 전체 지속시간 동안 비일관적인 경우를 지원하기 위해, 상기 서브픽처 개체 그룹들에 의해 운반되는 것과 유사한 정보를 운반할 샘플 그룹들을 추가하도록 더 명시하는, 시각 미디어 데이터 처리 장치.
14. 명령들을 저장하는 비-일시적인 컴퓨터 판독 가능한 기록 매체에 있어서, 상기 명령들은 프로세서로 하여금 시각 미디어 데이터와 상기 시각 미디어 데이터의 하나 또는 그 이상의 비트스트림들을 저장하는 하나 또는 그 이상의 트랙들을 포함하는 시각 미디어 파일 사이의 변환을 포맷 규칙에 따라 실시하도록 하고, 상기 하나 또는 그 이상의 비트스트림들은 상기 시각 미디어 데이터의 코딩된 서브픽처들을 포함하며, 상기 포맷 규칙은 상기 코딩된 서브픽처들을 처리하기 위한 규칙들을 지시하는 서브픽처 개체(entity) 그룹들의 박스들의 컨테이너가 파일 레벨 박스에 포함됨을 명시하는 비-일시적인 컴퓨터 판독 가능한 기록 매체.
15. 해결수단 14에 있어서, 상기 포맷 규칙은 상기 서브픽처 개체 그룹들의 박스들의 상기 컨테이너가 파일 레벨 외의 다른 레벨들에서의 박스들에는 포함되지 않음을 더 명시하는, 비-일시적인 컴퓨터 판독 가능한 기록 매체.
16. 해결수단 14에 있어서, 상기 서브픽처 개체 그룹들이 그룹 내에서 상기 코딩된 서브픽처들을 처리하기 위한 상기 규칙들을 지시하는 제1 서브픽처 개체 그룹을 포함하는, 비-일시적인 컴퓨터 판독 가능한 기록 매체.
17. 해결수단 14에 있어서, 상기 서브픽처 개체 그룹들이 상이한 코딩 속성들을 가진 상기 코딩된 서브픽처들을 처리하기 위한 상기 규칙들을 지시하는 제2 서브픽처 개체 그룹을 포함하는, 비-일시적인 컴퓨터 판독 가능한 기록 매체.
18. 해결수단 14에 있어서, 상기 포맷 규칙은, 서브픽처 정보가 상기 트랙의 전체 지속시간 동안 비일관적인 경우를 지원하기 위해, 상기 서브픽처 개체 그룹들에 의해 운반되는 것과 유사한 정보를 운반할 샘플 그룹들을 추가하도록 더 명시하는, 비-일시적인 컴퓨터 판독 가능한 기록 매체.
19. 비디오 처리 장치에 의해 실시되는 방법에 의해 생성된 비트스트림을 저장하는 비-일시적인 컴퓨터 판독 가능한 기록 매체로, 상기 방법은 상기 시각 미디어 데이터의 하나 또는 그 이상의 비트스트림들을 저장하는 하나 또는 그 이상의 트랙들을 포함하는 시각 미디어 파일을 포맷 규칙에 따라 생성하는 단계를 포함하고, 상기 하나 또는 그 이상의 비트스트림들은 상기 시각 미디어 데이터의 코딩된 서브픽처들을 포함하고, 그리고 상기 포맷 규칙은 상기 코딩된 서브픽처들을 처리하기 위한 규칙들을 지시하는 서브픽처 개체 그룹들의 박스들의 컨테이너가 파일 레벨 박스에 포함됨을 명시하는 비-일시적인 컴퓨터 판독 가능한 기록 매체.
20. 해결수단 19에 있어서, 상기 서브픽처 개체 그룹들의 박스들의 상기 컨테이너가 파일 레벨 외의 다른 레벨들에서의 박스들에는 포함되지 않음을 더 명시하는 비-일시적인 컴퓨터 판독 가능한 기록 매체.
21. 비디오 처리 장치로, 해결수단 1 내지 해결수단 8 중 어느 하나 또는 그 이상에서 언급된 방법을 수행하는 프로세서를 포함하는 비디오 처리 장치.
22. 해결수단 1 내지 해결수단 8 중 어느 하나에서 언급된 방법을 포함하고, 그리고 하나 또는 그 이상의 비트스트림들을 비-일시적 컴퓨터 판독가능한 기록 매체에 저장하는 단계를 포함하는, 상기 하나 또는 그 이상의 비트스트림들을 포함하는 파일에 시각 미디어 데이터를 저장하는 방법.
23. 프로그램 코드를 저장하는 컴퓨터 판독 가능한 매체로서, 상기 코드는 실행되는 경우 프로세서로 하여금 해결수단 1 내지 해결수단 8 중 어느 하나에서 언급된 방법을 실시하도록 하는, 컴퓨터 판독 가능한 매체.
24. 상기 기술된 방법들 중 어느 하나에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독 가능한 매체.
25. 비트스트림을 저장하기 위한 비디오 처리 장치로서, 상기 비디오 처리 장치는 해결수단 1 내지 해결수단 8 중 어느 하나 또는 그 이상에서 언급된 방법을 실시하는, 비디오 처리 장치.
26. 컴퓨터 판독 가능한 매체로서, 비트스트림이 해결수단 1 내지 해결수단 8 중 어느 하나에 따라 생성된 파일 포맷에 부합하는 컴퓨터 판독 가능한 매체.
27. 본 문서에 설명된 방법, 장치 또는 시스템.
상기 예시적 해결수단들에서, 상기 시각 미디어 데이터는 비디오 또는 영상들에 해당한다. 여기서 설명된 해결수단들에서, 인코더는 포맷 규칙에 따라 코딩된 표현을 생성함으로써 상기 포맷 규칙을 따를 수 있다. 여기서 설명된 해결수단들에서, 디코더는 디코딩된 비디오를 산출하기 위한 포맷 규칙에 따른 신택스 요소들의 존재 및 부재에 대한 지식으로 상기 코딩된 표현에서 상기 신택스 요소들을 파싱하는 데에 상기 포맷 규칙을 사용할 수 있다.
본 문서에서, 용어 "비디오 처리"는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축 해제를 가리킬 수 있다. 예를 들어, 비디오 압축 알고리즘들은 비디오의 픽셀 표현으로부터 상응하는 비트스트림 표현으로 변환하거나 그 반대의 경우에 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현은, 예를 들어, 신택스의 의해 정의되는 대로, 비트스트림 내에서 같은 위치에 있거나(co-located) 상이한 곳에 분산되어 있는 비트들에 해당할 수 있다. 예를 들어, 매크로블록은 변환되고 코딩된 오류 잔차 값들로 그리고 헤더들 및 비트스트림의 다른 필드들의 비트들을 사용하여 인코딩될 수 있다. 게다가, 변환 동안, 디코더는, 상기 해결수단들에서 설명된 것과 같이, 일부 필드들이 존재하거나 없을 수 있다는 지식으로 상기 판단에 기반하여 비트스트림을 파싱할 수 있다. 유사하게, 인코더는 특정한 신택스 필드들이 포함되거나 포함되지 말아야 한다는 것을 판단할 수 있으며, 그에 따라 상기 신택스 필드들을 코딩된 표현에 포함시키거나 배제시킴으로써 상기 코딩된 표현을 생성할 수 있다.
개시된 그리고 기타 해결수단들, 예들, 실시예들, 모듈들 그리고 본 문서에 설명된 기능적 작업들은 디지털 전자 회로에서, 본 문서에 개시된 구조들 및 그것들의 구조적 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 또는 그것들 가운데 하나 또는 그 이상의 조합들에서 구현될 수 있다. 개시된 그리고 기타 실시예들은 하나 또는 그 이상의 컴퓨터 프로그램 제품들로, 즉, 데이터 처리 장치에 의해 실행되거나 상기 데이터 처리 장치의 동작을 제어하기 위한 컴퓨터 판독 가능한 매체에 코딩된 컴퓨터 프로그램 명령들의 하나 또는 그 이상의 모듈들로 구현될 수 있다. 상기 컴퓨터 판독 가능한 매체는 기계 판독 가능한 저장 디바이스, 기계 판독 가능한 저장 기판, 메모리 디바이스, 기계 판독 가능한 전파 신호를 가져오는 물질의 조성, 또는 이들 중 하나 이상의 조합일 수 있다. 용어 "데이터 처리 장치"는 데이터를 처리하기 위한 모든 장치, 디바이스 및 기계를 포괄하며, 예를 들어, 프로그래머블 프로세서, 컴퓨터, 또는 다중 프로세서 또는 컴퓨터들을 포함한다. 상기 장치는, 하드웨어 외에도, 당해 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드를 포함할 수 있고, 코드는 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 시스템, 또는 이들 중 하나 이상의 조합을 구성한다. 전파 신호는 인공적으로 생성된 신호, 예를 들어, 기계에 의해 생성된 전기적, 광학적 또는 전자기적 신호일 수 있으며, 이 신호는 적절한 수신 장치로 전송하기 위한 정보를 인코딩 하기 위해 생성된다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드로도 알려짐)은 컴파일 또는 인터프리터 언어를 포함하는 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 또는 컴퓨터 환경에서 사용하기에 적합한 그 밖의 유닛을 포함하는 임의의 형태로도 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 상응해야 하는 것은 아니다. 프로그램은 다른 프로그램 또는 데이터를 보유하는 파일의 일부에 저장되거나(예를 들어, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트), 당해 프로그램 전용의 단일 파일에 저장되거나, 또는 다수의 조직화된 파일들(예를 들어, 하나 이상의 모듈, 서브프로그램, 코드의 부분을 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터에서, 또는 한 위치에 배치되거나 또는 다수의 위치에 걸쳐서 분산되고 통신 네트워크에 의해 접속된 다수의 컴퓨터에서 실행되도록 배치될 수 있다.
본 문서에서 설명된 프로세스들 및 논리 흐름들은 하나 이상의 프로그래머블 프로세서에 의해 수행될 수 있고, 이 프로그래머블 프로세서는 입력 데이터에 작용하여 출력을 생성함으로써 기능을 수행하는 하나 이상의 컴퓨터 프로그램들을 실행한다. 상기 프로세서들 및 논리 흐름들은, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)과 같은 전용 논리 회로에 의해 수행될 수 있고, 장치 또한 전용 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예를 들어, 범용 및 전용 마이크로프로세서들 및 임의 종류의 디지털 컴퓨터의 하나 이상의 프로세서들를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리(ROM), 또는 랜덤 액세스 메모리(RAM), 또는 둘 다로부터 명령어들과 데이터를 수신할 것이다. 컴퓨터의 필수 구성요소는 명령들을 실행하는 프로세서 및 명령들 및 데이터를 저장하는 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어, 자기 디스크, 광자기 디스크, 또는 광디스크를 포함하거나, 또는 이 디바이스와 데이터를 송수신하기 위하여 동작적으로(operatively) 결합될 것이다. 하지만 컴퓨터는 이러한 디바이스를 구비할 필요는 없다. 컴퓨터 프로그램 명령어들과 데이터를 저장하기 적합한 컴퓨터 판독가능 매체에는, 예를 들어, 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM, 플래시 메모리 디바이스), 자기 디스크(예를 들어, 내부 하드디스크, 착탈식 디스크), 광자기 디스크 및 CD ROM과 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스가 포함된다. 프로세서와 메모리는 전용 논리 회로에 의해 보완되거나 또는 전용 논리 회로에 통합될 수 있다.
본 특허문서가 다수의 특정한 구현 세부사항을 포함하고 있지만, 이는 임의 발명의 범위나 청구할 사항의 범위에 대한 어떠한 제한으로도 이해되어서는 안 되며, 특정한 기술들의 특정한 실시예들에 고유할 수 있는 특징들의 설명으로서 이해되어야 한다. 별개의 실시예들의 맥락에서 본 특허 문서에서 설명된 소정의 특징들은 조합되어 단일 실시예로 구현될 수도 있다. 반대로, 단일 실시예의 맥락에서 설명한 다양한 특징들은 복수의 실시예에서 별개로 구현되거나 어떤 적당한 하위 조합으로도 구현 가능하다. 또한, 앞에서 특징들이 특정 조합에서 동작하는 것으로서 설명되고 그와 같이 청구되기까지 하였지만, 청구된 조합으로부터의 하나 또는 그 이상의 특징들은 일부 경우에 해당 조합으로부터 삭제될 수 있으며, 청구된 조합은 하위 조합이나 하위 조합의 변형으로 될 수 있다.
마찬가지로, 동작들이 도면들에서 특정한 순서로 묘사되고 있지만, 이는 그러한 동작들이 바람직한 결과를 얻기 위해, 도시한 특정 순서나 순차적인 순서로 수행되어야 한다거나, 도시된 모든 동작들이 수행되어야 한다는 것을 의미하지 않는다. 더욱이, 본 특허 문서에 기재된 실시예에 있어서 다양한 시스템 구성요소들의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안 된다.
단지 몇 가지 구현들 및 예시들이 설명되었으며, 기타 구현, 개선 및 변형은 본 특허 문서에 설명되고 도시된 것에 기초하여 이루어질 수 있다.

Claims (15)

  1. 시각 미디어 데이터 처리 방법으로서,
    시각 미디어 데이터와 상기 시각 미디어 데이터의 하나 또는 그 이상의 비트스트림들을 저장하는 하나 또는 그 이상의 트랙들을 포함하는 시각 미디어 파일 사이의 변환을 포맷 규칙에 따라 실시하는 단계를 포함하고,
    상기 시각 미디어 파일은 하나 또는 그 이상의 서브픽처 트랙들을 참조하는 베이스 트랙을 포함하고,
    상기 포맷 규칙은 상기 베이스 트랙의 샘플 및 상기 하나 또는 그 이상의 서브픽처 트랙들의 샘플들로부터 비디오 유닛을 복원할 때 상기 베이스 트랙의 상기 샘플 내의 비 VCL(비디오 코딩 계층) NAL(네트워크 추상 계층) 유닛들의 순서를 명시하는, 시각 미디어 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 포맷 규칙은 픽처 헤더 NAL 유닛의 상기 샘플 내의 존재와 상관없이 상기 비 VCL NAL 유닛들의 순서를 명시하는, 시각 미디어 데이터 처리 방법.
  3. 제1항에 있어서,
    상기 포맷 규칙은 상기 베이스 트랙의 상기 샘플 내의 상기 비 VCL NAL 유닛들의 적어도 일부가 상기 비디오 유닛에서 상기 하나 또는 그 이상의 서브픽처 트랙들 내의 NAL 유닛들 앞 또는 뒤에 위치할 것을 명시하는, 시각 미디어 데이터 처리 방법.
  4. 제3항에 있어서,
    EOS_NUT, EOB_NUT, SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT, RSV_NVCL_27, UNSPEC_30, 또는 UNSPEC_31과 같은 NAL 유닛 타입을 가지는 상기 샘플에 하나 또는 그 이상의 비 VCL NAL 유닛들의 세트가 존재하는 경우, 상기 포맷 규칙은 상기 샘플 내에서 상기 하나 또는 그 이상의 비 VCL NAL 유닛들의 첫 번째 NAL 유닛 이전까지의(up to and excluding) NAL 유닛들이 상기 비디오 유닛에서 상기 하나 또는 그 이상의 서브픽처 트랙들 내의 NAL 유닛들 앞에 위치함을 더 명시하는, 시각 미디어 데이터 처리 방법.
  5. 제3항에 있어서,
    EOS_NUT, EOB_NUT, SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT, RSV_NVCL_27, UNSPEC_30, 또는 UNSPEC_31과 같은 NAL 유닛 타입을 가지는 상기 샘플에 비 VCL NAL 유닛이 존재하지 않는 경우, 상기 포맷 규칙은 상기 샘플 내의 모든 NAL 유닛들이 상기 비디오 유닛에서 상기 하나 또는 그 이상의 서브픽처 트랙들 내의 NAL 유닛들 앞에 위치함을 더 명시하는, 시각 미디어 데이터 처리 방법.
  6. 제3항에 있어서,
    EOS_NUT, EOB_NUT, SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT, RSV_NVCL_27, UNSPEC_30, 또는 UNSPEC_31과 같은 NAL 유닛 타입을 가지는 상기 샘플에 비 VCL NAL 유닛이 적어도 하나 존재하는 경우, 상기 포맷 규칙은 상기 샘플 내의 모든 NAL 유닛들이 상기 비디오 유닛에서 상기 하나 또는 그 이상의 서브픽처 트랙들 내의 NAL 유닛들 뒤에 위치함을 더 명시하는, 시각 미디어 데이터 처리 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 포맷 규칙은 액세스 유닛 레벨 또는 픽처 레벨 비 비디오 코딩 계층 네트워크 추상 계층 유닛들이 상기 하나 또는 그 이상의 서브픽처 트랙들에 포함되는 것이 허용되지 않음을 더 명시하는, 시각 미디어 데이터 처리 방법.
  8. 제7항에 있어서,
    상기 허용되지 않은 유닛들은 액세스 유닛 구분자(AUD: access unit delimiter) NAL 유닛에 해당하는 NAL 유닛, 디코딩 능력 정보(DCI: decoding capability information) NAL 유닛, 동작 지점 정보(OPI: operating point information) NAL 유닛, 비디오 파라미터 세트(VPS: video parameter set) NAL 유닛, 시퀀스 파라미터 세트(SPS: sequence parameter set) NAL 유닛, 픽처 파라미터 세트(PPS: picture parameter set) NAL 유닛, 픽처 헤더(PH: picture header) NAL 유닛, 시퀀스 끝(EOS: end of sequence) NAL 유닛, 비트스트림 끝(EOB: end of bitstream) NAL 유닛, 또는 액세스 유닛 레벨 또는 픽처 레벨의 SEI 메시지들만을 포함하는 부가 개선 정보(SEI: supplemental enhancement information) NAL 유닛을 포함하는, 시각 미디어 데이터 처리 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 포맷 규칙은 상기 하나 또는 그 이상의 서브픽처 트랙들의 샘플들 내의 모든 NAL 유닛들이 상기 베이스 트랙의 상기 샘플 및 상기 하나 또는 그 이상의 서브픽처 트랙들의 상기 샘플들로부터 상기 비디오 유닛을 복원할 때 상기 비디오 유닛에 추가됨을 더 명시하는, 시각 미디어 데이터 처리 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 시각 미디어 데이터는 다기능 비디오 코딩(VVC: versatile video coding)에 의해 처리되고 상기 하나 또는 그 이상의 트랙들은 VVC 트랙들인, 시각 미디어 데이터 처리 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 변환은 상기 시각 미디어 파일을 생성하는 단계 및 상기 하나 또는 그 이상의 비트스트림들을 상기 포맷 규칙에 따라 상기 시각 미디어 파일에 저장하는 단계를 포함하는, 시각 미디어 데이터 처리 방법.
  12. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 변환은 상기 하나 또는 그 이상의 비트스트림들을 복원하기 위해 상기 포맷 규칙에 따라 상기 시각 미디어 파일을 파싱하는 단계를 포함하는, 시각 미디어 데이터 처리 방법.
  13. 프로세서 및 명령들을 포함하는 비-일시적 메모리를 포함하는 비디오 처리 장치로서,
    상기 명령들은, 상기 프로세서에 의해 실행 시, 상기 프로세서가 제1항 내지 제12항 중 하나 또는 그 이상에서 언급된 방법을 실시하도록 하는, 비디오 처리 장치.
  14. 제1항 내지 제12항 중 어느 한 항에서 언급된 방법을 포함하고,
    상기 하나 또는 그 이상의 비트스트림들을 비-일시적 컴퓨터 판독 가능한 기록 매체에 저장하는 단계를 더 포함하는, 하나 또는 그 이상의 비트스트림들을 포함하는 파일에 시각 미디어 데이터를 저장하는 방법.
  15. 프로그램 코드를 저장하는 비-일시적 컴퓨터 판독 가능한 저장 매체로서,
    상기 코드는, 실행될 때, 프로세서가 제1항 내지 제12항 중 어느 하나 또는 그 이상에서 언급된 방법을 시행하도록 하는, 비-일시적 컴퓨터 판독 가능한 저장 매체.
KR1020210124741A 2020-09-17 2021-09-17 픽처 단위 구성에서 Non-VCL 네트워크 추상화 계층(NAL) 단위 처리 KR20220037389A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202063079933P 2020-09-17 2020-09-17
US63/079,933 2020-09-17

Publications (1)

Publication Number Publication Date
KR20220037389A true KR20220037389A (ko) 2022-03-24

Family

ID=77801563

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210124741A KR20220037389A (ko) 2020-09-17 2021-09-17 픽처 단위 구성에서 Non-VCL 네트워크 추상화 계층(NAL) 단위 처리
KR1020210124742A KR20220037390A (ko) 2020-09-17 2021-09-17 비디오 코딩에서 서브 픽처 엔티티 그룹

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210124742A KR20220037390A (ko) 2020-09-17 2021-09-17 비디오 코딩에서 서브 픽처 엔티티 그룹

Country Status (5)

Country Link
US (2) US20220086387A1 (ko)
EP (2) EP3972269A1 (ko)
JP (2) JP7203921B2 (ko)
KR (2) KR20220037389A (ko)
CN (2) CN114205608A (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021060827A1 (ko) * 2019-09-23 2021-04-01 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
WO2021101066A1 (ko) * 2019-11-22 2021-05-27 엘지전자 주식회사 비디오 또는 영상 코딩 시스템에서의 엔트리 포인트 관련 정보에 기반한 영상 코딩 방법
JP7464742B2 (ja) * 2020-03-21 2024-04-09 北京字節跳動網絡技術有限公司 参照ピクチャリサンプリング
EP4128794A4 (en) 2020-04-19 2023-12-27 Beijing Bytedance Network Technology Co., Ltd. RESIDUAL CODING WITH OMISSION OF TRANSFORM
EP4154533A4 (en) 2020-06-20 2023-11-01 Beijing Bytedance Network Technology Co., Ltd. CROSS-LAYER PREDICTION WITH DIFFERENT CODING BLOCK SIZE
EP3972278A1 (en) 2020-09-17 2022-03-23 Lemon Inc. Subpicture tracks in coded video
US20220086387A1 (en) 2020-09-17 2022-03-17 Lemon Inc. Subpicture entity groups in video coding
WO2023220006A1 (en) * 2022-05-09 2023-11-16 Bytedance Inc. Signaling of picture-in-picture in media files
US20240129474A1 (en) * 2022-10-14 2024-04-18 Tencent America LLC Systems and methods for cross-component geometric/wedgelet partition derivation

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9479774B2 (en) 2012-09-24 2016-10-25 Qualcomm Incorporated Buffering period and recovery point supplemental enhancement information messages
US9521393B2 (en) 2013-01-07 2016-12-13 Qualcomm Incorporated Non-nested SEI messages in video coding
GB2516825B (en) * 2013-07-23 2015-11-25 Canon Kk Method, device, and computer program for encapsulating partitioned timed media data using a generic signaling for coding dependencies
GB2516826B (en) 2013-07-23 2016-06-22 Canon Kk Method, device and computer program for encapsulating partitioned timed media data by creating tracks to be independently encapsulated in at least one media f
US9648348B2 (en) 2013-10-23 2017-05-09 Qualcomm Incorporated Multi-layer video file format designs
EP3092796B1 (en) * 2014-01-07 2020-06-17 Canon Kabushiki Kaisha Method, device, and computer program for encoding inter-layer dependencies
US10645404B2 (en) 2014-03-24 2020-05-05 Qualcomm Incorporated Generic use of HEVC SEI messages for multi-layer codecs
US10063867B2 (en) 2014-06-18 2018-08-28 Qualcomm Incorporated Signaling HRD parameters for bitstream partitions
US9819945B2 (en) 2014-06-25 2017-11-14 Qualcomm Incorporated Multi-layer video coding
CN108781291B (zh) * 2016-01-25 2022-03-22 皇家Kpn公司 空间可缩放视频编码
US10419768B2 (en) 2016-03-30 2019-09-17 Qualcomm Incorporated Tile grouping in HEVC and L-HEVC file formats
US10582201B2 (en) 2016-05-19 2020-03-03 Qualcomm Incorporated Most-interested region in an image
US10291923B2 (en) 2016-05-24 2019-05-14 Qualcomm Incorporated Mapping of tile grouping and samples in HEVC and L-HEVC file formats
WO2018173498A1 (en) 2017-03-20 2018-09-27 Sharp Kabushiki Kaisha Systems and methods for signaling scalable video in a media application format
GB2560921B (en) 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
GB2567625B (en) * 2017-10-12 2020-07-15 Canon Kk Method, device, and computer program for generating timed media data
GB2567624B (en) 2017-10-12 2021-05-26 Canon Kk Method, device and computer program for transmitting media content
GB2579389B (en) * 2018-11-29 2022-07-27 Canon Kk Method, device and computer program for encapsulating media data into a media file
KR20210101280A (ko) 2018-12-10 2021-08-18 노키아 테크놀로지스 오와이 컨테이너 파일 포맷 내 정보를 시그널링하기 위한 장치 및 방법
JP7506077B2 (ja) 2019-01-02 2024-06-25 ノキア テクノロジーズ オサケユイチア 映像の符号化および復号のための装置、方法、およびコンピュータプログラム
EP3906699A4 (en) * 2019-01-02 2022-11-02 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR CODING AND DECODING VIDEO
HRP20230702T1 (hr) 2019-01-09 2023-10-13 Huawei Technologies Co., Ltd. Signaliziranje identifikatora podslike kod kodiranja videa
KR20210145736A (ko) 2019-03-11 2021-12-02 브이아이디 스케일, 인크. 서브-픽처 비트스트림 추출 및 재배치
US20200304820A1 (en) * 2019-03-20 2020-09-24 Nokia Technologies Oy Method and apparatus for employing patterns in sample metadata signalling in media content
GB2584295A (en) * 2019-05-28 2020-12-02 Canon Kk Method and apparatus for encoding and decoding a video bitstream for merging regions of interest
GB2590435B (en) 2019-12-17 2023-12-20 Canon Kk Method, device, and computer program for improving encapsulation of media content
CN114930868A (zh) 2019-12-31 2022-08-19 诺基亚技术有限公司 用于视频编码和视频解码的方法、装置和计算机程序产品
CN116018809A (zh) 2020-09-15 2023-04-25 索尼集团公司 信息处理装置和方法
US20220086387A1 (en) 2020-09-17 2022-03-17 Lemon Inc. Subpicture entity groups in video coding
EP3972278A1 (en) 2020-09-17 2022-03-23 Lemon Inc. Subpicture tracks in coded video

Also Published As

Publication number Publication date
US20220086387A1 (en) 2022-03-17
CN114205611A (zh) 2022-03-18
JP7397036B2 (ja) 2023-12-12
KR20220037390A (ko) 2022-03-24
US20220086431A1 (en) 2022-03-17
US11930295B2 (en) 2024-03-12
JP2022050373A (ja) 2022-03-30
EP3972269A1 (en) 2022-03-23
CN114205608A (zh) 2022-03-18
JP7203921B2 (ja) 2023-01-13
JP2022050372A (ja) 2022-03-30
EP3972273A1 (en) 2022-03-23

Similar Documents

Publication Publication Date Title
US11930295B2 (en) Handling of non-VCL NAL units in picture unit construction
JP7444826B2 (ja) 符号化された映像におけるサブピクチャトラック
JP2022050369A (ja) コーディングされたビデオにおけるサブピクチャ・エンティティ・グループ・シグナリング
JP7223088B2 (ja) バーサタイルビデオコーディングのトラック符号化
CN114302143A (zh) 视频编解码中的自适应参数集存储
JP7413433B2 (ja) サブピクチャトラックのレベル情報