KR20230078736A - 보조 정보의 시그널링 - Google Patents

보조 정보의 시그널링 Download PDF

Info

Publication number
KR20230078736A
KR20230078736A KR1020237014174A KR20237014174A KR20230078736A KR 20230078736 A KR20230078736 A KR 20230078736A KR 1020237014174 A KR1020237014174 A KR 1020237014174A KR 20237014174 A KR20237014174 A KR 20237014174A KR 20230078736 A KR20230078736 A KR 20230078736A
Authority
KR
South Korea
Prior art keywords
video
bitstream
information
auxiliary
format rule
Prior art date
Application number
KR1020237014174A
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 KR20230078736A publication Critical patent/KR20230078736A/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/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/136Incoming video signal characteristics or properties
    • 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/187Methods 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 scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]

Landscapes

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

Abstract

디지털 비디오를 인코딩, 디코딩 또는 트랜스코딩하기 위한 시스템들, 방법들 및 장치들이 설명된다. 하나의 예시적인 비디오 데이터 프로세싱 방법은 포맷 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 포맷 규칙은 비트스트림에 포함된 추가 향상 정보 필드가 비트스트림이 보조 정보를 나타내는 하나 이상의 비디오 계층을 포함하는지 여부를 나타낸다는 것을 지정한다.

Description

보조 정보의 시그널링
관련 출원들에 대한 상호 참조
파리 협약에 따른 적용 가능한 특허법 및/또는 규칙들에 따라, 본 출원은 2020년 9월 29일에 출원된 국제 특허 출원 제PCT/CN2020/118711호에 대한 우선권 및 그 이익을 적시에 주장하기 위해 이루어졌다. 법에 따른 모든 목적들을 위해, 앞서 언급된 출원의 전체 개시내용은 참조에 의해 본 출원의 개시내용의 일부로서 포함된다.
기술 분야
이 특허 문서는, 비디오 인코딩, 트랜스코딩 또는 디코딩을 포함한, 디지털 비디오 코딩 기술들에 관한 것이다.
디지털 비디오는 인터넷 및 다른 디지털 통신 네트워크들에서 가장 많은 대역폭 사용을 차지한다. 비디오를 수신하고 디스플레이할 수 있는 연결된 사용자 디바이스들의 수가 증가함에 따라, 디지털 비디오 사용을 위한 대역폭 수요가 계속 증가할 것으로 예상된다.
본 문서는 파일 포맷에 따른 비디오 또는 이미지의 코딩된 표현을 프로세싱하기 위해 비디오 인코더들 및 디코더들에 의해 사용될 수 있는 기술들을 개시한다.
하나의 예시적인 양상에서, 비디오 데이터를 프로세싱하는 방법이 개시된다. 상기 방법은 포맷 규칙에 따라 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 상기 포맷 규칙은 상기 비트스트림에 포함된 추가 향상 정보(supplemental enhancement information) 필드 또는 비디오 사용성 정보(video usability information) 신택스 구조가 상기 비트스트림이 다수의 뷰들이 다수의 비디오 계층들에 코딩되는 멀티뷰 비트스트림을 포함하는지 여부를 나타낸다는 것을 지정한다.
다른 예시적인 양상에서, 비디오 데이터를 프로세싱하는 방법이 개시된다. 상기 방법은 포맷 규칙에 따라 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 상기 포맷 규칙은 상기 비트스트림에 포함된 추가 향상 정보 필드가 상기 비트스트림이 보조 정보를 나타내는 하나 이상의 비디오 계층을 포함하는지 여부를 나타낸다는 것을 지정한다.
다른 예시적인 양상에서, 비디오 프로세싱 방법이 개시된다. 상기 방법은 비디오 픽처들을 포함하는 비디오와 상기 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 여기서 상기 비트스트림은 포맷 규칙을 준수하고, 여기서 상기 포맷 규칙은 상기 비디오가 멀티뷰 비디오임을 나타내는 상기 코딩된 표현에 포함된 필드를 지정한다.
다른 예시적인 양상에서, 다른 비디오 프로세싱 방법이 개시된다. 상기 방법은: 비디오 픽처들을 포함하는 비디오와 상기 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 여기서 상기 비트스트림은 포맷 규칙을 준수하고, 여기서 상기 포맷 규칙은 상기 비디오가 상기 코딩된 표현에 다수의 비디오 계층들로 코딩되어 있음을 나타내는 상기 코딩된 표현에 포함된 필드를 지정한다.
또 다른 예시적인 양상에서, 비디오 인코더 장치가 개시된다. 상기 비디오 인코더는 위에서 설명된 방법들을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 양상에서, 비디오 디코더 장치가 개시된다. 상기 비디오 디코더는 위에서 설명된 방법들을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 양상에서, 코드가 저장되어 있는 컴퓨터 판독 가능 매체가 개시된다. 상기 코드는 본 명세서에서 설명되는 방법들 중 하나를 프로세서 실행 가능 코드 형태로 구체화한다.
또 다른 예시적인 양상에서, 비트스트림이 저장되어 있는 컴퓨터 판독 가능 매체가 개시된다. 상기 비트스트림은 본 문서에서 설명되는 방법을 사용하여 생성되거나 프로세싱된다.
이들 및 다른 특징들이 본 문서 전체에 걸쳐 설명된다.
도 1은 예시적인 비디오 프로세싱 시스템의 블록 다이어그램이다.
도 2는 비디오 프로세싱 장치의 블록 다이어그램이다.
도 3은 예시적인 비디오 프로세싱 방법에 대한 플로차트이다.
도 4는 본 개시내용의 일부 실시예들에 따른 비디오 코딩 시스템을 예시하는 블록 다이어그램이다.
도 5는 본 개시내용의 일부 실시예들에 따른 인코더를 예시하는 블록 다이어그램이다.
도 6은 본 개시내용의 일부 실시예들에 따른 디코더를 예시하는 블록 다이어그램이다.
도 7은 2 개의 OLS를 갖는 비트스트림의 예이며, 여기서 OLS2는 0과 동일한 vps_max_tid_il_ref_pics_plus1[ 1 ][ 0 ]을 갖는다.
도 8 및 도 9는 예시적인 비디오 프로세싱 방법들에 대한 플로차트들이다.
섹션 표제들은 본 문서에서 이해의 편의를 위해 사용되며 각각의 섹션에서 개시되는 기술들 및 실시예들의 적용 가능성을 해당 섹션으로만 제한하지 않는다. 게다가, H.266 전문용어는 어떤 설명에서 이해의 편의를 위해서만 사용되며 개시된 기술들의 범위를 제한하기 위해 사용되지 않는다. 그와 같이, 본 명세서에서 설명되는 기술들은 다른 비디오 코덱 프로토콜들 및 설계들에도 적용 가능하다. 본 문서에서, 편집 변경 사항들은, VVC 사양의 현재 초안에 대해, 삭제된 텍스트를 나타내는 취소선(strikethrough)과 추가된 텍스트를 나타내는 강조 표시(굵은 기울임꼴을 포함함)로 텍스트에 표시된다.
1. 서론
이 문서는 비디오 코딩 기술들에 관한 것이다. 구체적으로, 이는 VVC(Versatile Video Coding) 비디오 비트스트림들에 대한 스케일러빌리티 차원 정보(scalability dimension information)의 시그널링에 관한 것이다. 이 아이디어들은, 개별적으로 또는 다양한 조합으로, 임의의 비디오 코딩 표준 또는 비표준 비디오 코덱, 예를 들면, 최근에 마무리된 VVC에 적용될 수 있다.
2. 약어들
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 bi-prediction with CU-level weights(CU 레벨 가중치들을 사용한 양방향 예측)
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(교차 성분 적응적 루프 필터)
CLVS coded layer video sequence(코딩된 계층 비디오 시퀀스)
CLVSS coded layer video sequence start(코딩된 계층 비디오 시퀀스 시작)
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(코딩된 비디오 시퀀스)
CVSS coded video sequence start(코딩된 비디오 시퀀스 시작)
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-th order exponential-Golomb(k차 지수-골롬)
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(절단된 라이스)
TU transform unit(변환 유닛)
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. 초기 논의
3.1. 비디오 코딩 표준들
비디오 코딩 표준들은 주로 잘 알려진 ITU-T 및 ISO/IEC 표준들의 개발을 통해 발전해 왔다. ITU-T는 H.261 및 H.263 표준들을 만들었고, ISO/IEC는 MPEG-1 및 MPEG-4 Visual 표준들을 만들었으며, 두 조직은 공동으로 H.262/MPEG-2 Video 및 H.264/MPEG-4 AVC(Advanced Video Coding) 및 H.265/HEVC 표준들을 만들었다. H.262 이후로, 비디오 코딩 표준들은 시간적 예측과 변환 코딩이 활용되는 하이브리드 비디오 코딩 구조를 기반으로 한다. HEVC 이후의 미래 비디오 코딩 기술들을 탐구하기 위해, 2015년에 VCEG와 MPEG에 의해 공동으로 JVET(Joint Video Exploration Team)가 설립되었다. 그 이후로, 많은 새로운 방법들이 JVET에 의해 채택되었고 JEM(Joint Exploration Model)이라는 참조 소프트웨어에 추가되었다. JVET는 나중에 VVC(Versatile Video Coding) 프로젝트가 공식적으로 시작되었을 때 JVET(Joint Video Experts Team)로 이름이 변경되었다. VVC는 2020년 7월 1일에 종료된 19차 회의에서 JVET에 의해 마무리된, HEVC에 비해 50% 비트레이트 감소를 목표로 하는, 새로운 코딩 표준이다.
VVC(Versatile Video Coding) 표준(ITU-T H.266 | ISO/IEC 23090-3) 및 연관 VSEI(Versatile Supplemental Enhancement Information) 표준(ITU-T H.274 | ISO/IEC 23002-7)은, 텔레비전 방송, 화상 회의 또는 저장 매체로부터의 재생과 같은 전통적인 사용과 또한 적응적 비트 레이트 스트리밍, 비디오 영역 추출, 다수의 코딩된 비디오 비트스트림으로부터의 콘텐츠 합성 및 병합, 멀티뷰 비디오, 스케일러블 계층화된 코딩 및 뷰포트 적응적 360° 몰입형 미디어와 같은 보다 새롭고 보다 고급의 사용 사례들 양쪽 모두를 포함한, 최대한 넓은 범위의 응용 분야들에서 사용하도록 설계되었다.
3.2. 비디오 기반 포인트 클라우드 압축(V-PCC)
ISO/IEC 23090-5, Information technology ― Coded Representation of Immersive Media ― Part 5: Visual Volumetric Video-based Coding (V3C) and Video-based Point Cloud Compression (V-PCC) - 간략하게 V-PCC라고도 지칭됨 - 은 포인트 클라우드 신호들의 코딩된 표현들을 지정하는 표준이다. V-PCC 표준은 최근에 마무리된 다른 표준이다.
V-PCC는 VVC, HEVC, AVC 등과 같은 특정 비디오 코덱을 사용하여 코딩될 수 있는 점유(occupancy), 지오메트리(geometry), 텍스처(texture) 속성, 재료(material) 속성, 투명도(transparency) 속성, 반사율(reflectance) 속성 및 법선(normal) 속성과 같은 데이터 유형들을 지정한다.
3.3. VVC에서의 시간 스케일러빌리티 지원
VVC는 HEVC에서와 유사한 시간 스케일러빌리티(temporal scalability) 지원을 포함한다. 그러한 지원은 NAL 유닛 헤더에서의 시간 ID(temporal ID)의 시그널링, 특정 시간 서브계층의 픽처들이 하위 시간 서브계층(lower temporal sublayer)의 픽처들에 의한 인터 예측 참조를 위해 사용될 수 없다는 제한, 서브비트스트림 추출 프로세스, 및 적절한 입력의 각각의 서브비트스트림 추출 출력이 적합성 준수 비트스트림이어야 한다는 요구사항을 포함한다. 미디어 인식 네트워크 요소(media-aware network element, MANE)들은 시간 스케일러빌리티에 기초한 스트림 적응 목적을 위해 NAL 유닛 헤더에서의 시간 ID를 활용할 수 있다.
3.4. VVC에서의 시퀀스 내에서의 픽처 해상도 변경
AVC 및 HEVC에서, IRAP 픽처의 경우, 새로운 SPS를 사용하는 새로운 시퀀스가 시작되지 않는 한, 픽처들의 공간 해상도가 변경될 수 없다. VVC는 항상 인트라 코딩되는 IRAP 픽처를 인코딩하지 않으면서 한 위치에서 시퀀스 내에서의 픽처 해상도 변경을 가능하게 한다. 이 특징은 때때로 참조 픽처 리샘플링(reference picture resampling, RPR)이라고 지칭되는데, 그 이유는 이 특징이, 인터 예측에 사용되는 참조 픽처가 디코딩 중인 현재 픽처와 상이한 해상도를 가질 때, 해당 참조 픽처의 리샘플링을 필요로 하기 때문이다.
기존의 구현들의 모션 보상 모듈을 재사용할 수 있기 위해, 스케일링 비율(scaling ratio)은 1/2(참조 픽처로부터 현재 픽처로의 2배 다운샘플링)보다 크거나 같고 8(8배 업샘플링)보다 작거나 같도록 제한된다. 수평 및 수직 스케일링 비율들은 픽처 폭 및 높이와, 참조 픽처 및 현재 픽처에 대해 지정된 왼쪽, 오른쪽, 위쪽 및 아래쪽 스케일링 오프셋들에 기초하여 도출된다.
RPR은 IRAP 픽처를 코딩할 필요 없이 해상도 변경을 가능하게 하며, 이는, 예를 들면, 네트워크 조건 변화들에 대처하기 위해, 스트리밍 또는 화상 회의 시나리오들에서 순간적인 비트 레이트 스파이크(bit rate spike)를 야기한다. RPR은 또한 전체 비디오 영역 또는 어떤 관심 영역의 줌잉이 필요한 응용 시나리오들에서 사용될 수 있다. 보다 광범위한 줌잉 기반 응용 분야들을 지원하기 위해 스케일링 창 오프셋들은 음수이도록 허용된다. 음수 스케일링 창 오프셋들은 또한 원래 비트스트림에서와 같이 추출된 서브비트스트림에 대해 동일한 스케일링 창을 유지하면서 다중 계층 비트스트림으로부터 서브픽처 시퀀스들을 추출하는 것을 가능하게 한다.
픽처 리샘플링과 모션 보상이 2 개의 상이한 스테이지에서 적용되는 HEVC의 스케일러블 확장에서의 공간 스케일러빌리티와는 달리, VVC에서의 RPR은 블록 레벨에서 동일한 프로세스의 일부로서 수행되며 여기서 샘플 위치들 및 모션 벡터 스케일링의 도출은 모션 보상 동안 수행된다.
구현 복잡성을 제한하기 위한 노력의 일환으로, CLVS에서의 픽처들이 픽처당 다수의 서브픽처들을 가질 때 CLVS 내에서의 픽처 해상도의 변경이 허용되지 않는다. 게다가, 현재 픽처와 참조 픽처들 사이에 RPR이 사용될 때 디코더 측 모션 벡터 개선, 양방향 광학 흐름, 및 광학 흐름을 사용한 예측 개선은 적용되지 않는다. 시간적 모션 벡터 후보들의 도출을 위한 동일 위치 픽처(collocated picture)가 또한 현재 픽처와 동일한 픽처 크기, 스케일링 창 오프셋들, 및 CTU 크기를 갖도록 제한된다.
RPR을 지원하기 위해, VVC 설계의 일부 다른 양상들이 HEVC와 상이하게 만들어졌다. 첫째, 픽처 해상도 및 대응하는 적합성 및 스케일링 창들은 SPS 대신에 PPS에서 시그널링되는 반면, SPS에서는 최대 픽처 해상도 및 대응하는 적합성 창이 시그널링된다. 응용 분야들에서, SPS에서의 대응하는 적합성 창 오프셋들과 함께 최대 픽처 해상도는 크로핑 후에 의도된 또는 원하는 픽처 출력 크기로서 사용될 수 있다. 둘째, 단일 계층 비트스트림의 경우, 각각의 픽처 저장소(하나의 디코딩된 픽처를 저장하기 위한 DPB 내의 슬롯)는 최대 픽처 해상도를 갖는 디코딩된 픽처를 저장하는 데 필요한 버퍼 크기를 차지한다.
3.5. VVC에서의 다중 계층 스케일러빌리티 지원
VVC 코어 설계에서 RPR을 통해 현재 픽처와 상이한 크기들의 참조 픽처들로부터 인터 예측을 할 수 있는 것은 VVC가 상이한 해상도들의 다수의 계층들, 예를 들면, 표준 화질 해상도와 고화질 해상도를, 제각기, 갖는 2 개의 계층을 포함하는 비트스트림들을 쉽게 지원할 수 있게 한다. VVC 디코더에서는, RPR 업샘플링 필터를 재사용하는 것에 의해 공간 스케일러빌리티 지원에 필요한 업샘플링 기능이 제공될 수 있으므로, 임의의 추가적인 신호 프로세싱 레벨 코딩 툴을 필요로 하지 않고 그러한 기능이 통합될 수 있다. 그럼에도 불구하고, 비트스트림의 스케일러빌리티 지원을 가능하게 하는 추가적인 상위 레벨 신택스 설계들이 필요하다.
스케일러빌리티는 VVC에서 지원되지만 다중 계층 프로파일들에만 포함된다. AVC 및 HEVC의 확장들을 포함한, 임의의 이전 비디오 코딩 표준들에서의 스케일러빌리티 지원들과 상이하게, VVC 스케일러빌리티의 설계는, 가능한 한, 단일 계층 디코더 구현들에 친숙하게 만들어졌다. 다중 계층 비트스트림들에 대한 디코딩 능력은 비트스트림에 단일 계층만이 있는 것처럼 지정된다. 예를 들면, DPB 크기와 같은, 디코딩 능력은 디코딩될 비트스트림에서의 계층 수와 무관한 방식으로 지정된다. 기본적으로, 단일 계층 비트스트림들을 위해 설계된 디코더는 다중 계층 비트스트림들을 디코딩할 수 있기 위해 상당한 변경들을 필요로 하지 않는다.
AVC 및 HEVC의 다중 계층 확장들의 설계들과 비교하여, HLS 양상들은 일부 유연성들을 희생시키면서 상당히 단순화되었다. 예를 들어, 1) IRAP AU는 CVS에 존재하는 계층들 각각에 대한 픽처를 포함하도록 요구되며, 이는 계층별(layer-wise) 시작 디코딩 프로세스를 지정할 필요를 없애주며, 2) 도출된 POC 값들이 AU에서의 모든 픽처들에 대해 동일하도록 보장하기 위해, 복잡한 POC 재설정 메커니즘 대신에, POC 시그널링을 위한 훨씬 더 간단한 설계가 VVC에 포함되어 있다.
HEVC에서와 마찬가지로, 계층들 및 계층 종속성에 관한 정보가 VPS에 포함된다. OLS들에 대한 정보는 어느 계층들이 OLS에 포함되는지, 어느 계층들이 출력되는지, 및 각각의 OLS와 연관된 PTL 및 HRD 파라미터들과 같은 다른 정보를 시그널링하기 위해 제공된다. HEVC와 유사하게, 모든 계층들, 최상위 계층만, 또는 커스텀 출력 모드에서의 특정 표시된 계층들을 출력하기 위해 세 가지 동작 모드가 있다.
VVC와 HEVC에서의 OLS 설계 사이에는 몇 가지 차이점들이 있다. 첫째, HEVC에서는, 계층 세트들이 시그널링되고, 이어서 계층 세트들에 기초하여 OLS들이 시그널링되며, 각각의 OLS에 대해, 출력 계층들이 시그널링된다. HEVC에서의 설계는 출력 계층도 아니고 출력 계층을 디코딩하는 데 필요한 계층도 아닌 계층이 OLS에 속할 수 있도록 하였다. VVC에서, 설계는 OLS에서의 임의의 계층이 출력 계층이거나 출력 계층을 디코딩하는 데 필요한 계층일 것을 요구한다. 따라서, VVC에서, OLS들은 OLS의 출력 계층들을 나타내는 것에 의해 시그널링되고, 이어서 OLS에 속하는 다른 계층들은 VPS에 나타내어진 계층 종속성들에 의해 간단히 도출된다. 게다가, VVC는 각각의 계층이 적어도 하나의 OLS에 포함될 것을 요구한다.
VVC OLS 설계에서의 다른 차이점은, OLS가 OLS에 매핑되는 식별된 계층들의 세트에 속하는 모든 NAL 유닛들로 구성되는 HEVC와 달리, VVC는 OLS에 매핑되는 비출력 계층들에 속하는 일부 NAL 유닛들을 제외할 수 있다는 것이다. 보다 구체적으로, VVC에 대한 OLS는 0과 동일한 ph_recovery_poc_cnt를 갖는 IRAP 또는 GDR 픽처들 또는 계층 간 예측에 사용되는 서브계층들로부터의 픽처들만을 포함하는 비출력 계층들을 갖는 OLS에 매핑되는 계층들의 세트로 구성된다. 이것은 OLS를 형성하는 계층들 내의 모든 서브계층들의 모든 "필요한" 픽처들만을 고려하여 다중 계층 비트스트림에 대한 최적 레벨 값을 나타내는 것을 가능하게 하며, 여기서 본 명세서에서의 "필요한"은 출력 또는 디코딩에 필요함을 의미한다. 도 7은 0과 동일한 vps_max_tid_il_ref_pics_plus1[ 1 ][ 0 ]을 갖는 2-계층 비트스트림, 즉 OLS2가 추출될 때 계층 L0으로부터의 IRAP 픽처들만이 유지되는 서브비트스트림의 예를 도시한다.
AVC 및 HEVC에서와 유사하게, 상이한 계층들에서 상이한 RAP 주기성을 가능하게 하는 것이 유익한 일부 시나리오들을 고려하면, AU들은 비정렬된 RAP들을 갖는 계층들을 갖도록 허용된다. 다중 계층 비트스트림에서 RAP들의 보다 빠른 식별을 위해, 즉 모든 계층들에서 RAP를 갖는 AU들의 보다 빠른 식별을 위해, AU가 IRAP AU인지 GDR AU인지를 나타내는 플래그를 사용하여 액세스 유닛 구분자(access unit delimiter, AUD)가 HEVC와 비교하여 확장되었다. 게다가, VPS가 다수의 계층들을 나타낼 때 AUD가 그러한 IRAP 또는 GDR AU들에 존재하도록 요구된다. 그렇지만, VPS에 의해 나타내어지는 바와 같은 단일 계층 비트스트림들 또는 VPS를 참조하지 않는 비트스트림들의 경우, AUD는 HEVC에서와 같이 완전히 선택적인데, 그 이유는, 이 경우에, RAP들이 AU에서의 첫 번째 슬라이스의 NAL 유닛 유형 및 각자의 파라미터 세트들로부터 쉽게 도출될 수 있기 때문이다.
다수의 계층들에 의한 SPS들, PPS들 및 APS들의 공유를 가능하게 하기 위해 그리고 동시에 비트스트림 추출 프로세스가 디코딩 프로세스에 의해 필요하게 되는 파라미터 세트들을 버리지 않도록 보장하기 위해, 첫 번째 계층을 포함하는 모든 OLS들이 보다 낮은 계층 ID 값에 의해 식별되는 계층을 또한 포함하는 한, 첫 번째 계층의 VCL NAL 유닛은 동일한 또는 보다 낮은 계층 ID 값을 갖는 SPS, PPS 또는 APS를 참조할 수 있다.
3.6. VUI 및 SEI 메시지들
VUI는 SPS의 일부로서(그리고 어쩌면 HEVC에서는 VPS에서도) 송신되는 신택스 구조이다. VUI는 규범적 디코딩 프로세스(normative decoding process)에 영향을 미치지 않지만 코딩된 비디오의 적절한 렌더링에 중요할 수 있는 정보를 운반한다.
SEI는 디코딩, 디스플레이 또는 다른 목적들에 관련된 프로세스들을 보조한다. VUI와 마찬가지로, SEI도 규범적 디코딩 프로세스에 영향을 미치지 않는다. SEI는 SEI 메시지들에서 운반된다. SEI 메시지들에 대한 디코더 지원은 선택적이다. 그렇지만, SEI 메시지들은 비트스트림 적합성(bitstream conformance)에 영향을 미치며(예를 들면, 비트스트림에서의 SEI 메시지의 신택스가 사양을 따르지 않는 경우, 비트스트림은 적합성을 준수하지 않음) 일부 SEI 메시지들은 HRD 사양에서 필요하다.
VVC와 함께 사용되는 VUI 신택스 구조 및 대부분의 SEI 메시지들은 VVC 사양에 지정되지 않고 오히려 VSEI 사양에 지정되어 있다. HRD 적합성 테스트에 필요한 SEI 메시지들은 VVC 사양에 지정되어 있다. VVC v1은 HRD 적합성 테스트와 관련된 5 개의 SEI 메시지를 정의하고 VSEI v1은 20 개의 추가적인 SEI 메시지를 지정한다. VSEI 사양에서 운반되는 SEI 메시지들은 적합성 준수 디코더 거동(conforming decoder behavior)에 직접적인 영향을 미치지 않으며, VSEI가 코딩 포맷에 구애받지 않는(coding-format-agnostic) 방식으로 사용될 수 있어, VVC 외에도 다른 비디오 코딩 표준들과 함께 미래에 사용될 수 있게 하도록 정의되었다. VVC 신택스 요소 이름들을 구체적으로 참조하는 대신에, VSEI 사양은, 값들이 VVC 사양 내에 설정되어 있는, 변수들을 참조한다.
HEVC와 비교하여, VVC의 VUI 신택스 구조는 픽처들의 적절한 렌더링과 관련된 정보에만 초점을 맞추고 임의의 타이밍 정보 또는 비트스트림 제한 표시들을 포함하지 않는다. VVC에서, VUI는, 바이트 단위의 VUI 페이로드의 길이를 시그널링하기 위해 VUI 신택스 구조 앞에 길이 필드를 포함하는, SPS 내에서 시그널링된다. 이것은 디코더가 정보를 쉽게 건너뛸 수 있게 하며, 보다 중요한 것은, SEI 메시지 신택스 확장과 유사한 방식으로, VUI 신택스 구조의 끝에 새로운 신택스 요소들을 직접 추가하는 것에 의해 편리한 미래의 VUI 신택스 확장들을 가능하게 한다.
VUI 신택스 구조는 이하의 정보를 포함한다:
Figure pct00001
콘텐츠가 인터레이스(interlaced)이거나 프로그레시브(progressive)임;
Figure pct00002
콘텐츠가 프레임 패킹된 입체 비디오(frame-packed stereoscopic video) 또는 투영된 전방향 비디오(projected omnidirectional video)를 포함하는지 여부;
Figure pct00003
샘플 종횡비;
Figure pct00004
콘텐츠가 오버스캔 디스플레이(overscan display)에 적절한지 여부;
Figure pct00005
UHD(ultra high definition) 대 HD(high definition) 색 공간은 물론 HDR(high dynamic range)을 시그널링할 수 있는 데 특히 중요한, 원색들, 매트릭스(matrix) 및 전달 특성들을 포함한, 색 설명(color description);
Figure pct00006
루마와 비교한 크로마 위치(HEVC와 비교하여 프로그레시브 콘텐츠에 대해 시그널링이 명확해짐).
SPS가 어떠한 VUI도 포함하지 않을 때, 이 정보는 지정되지 않은 것으로 간주되고 외부 수단을 통해 전달되어야 하거나, 비트스트림의 콘텐츠가 디스플레이 상에 렌더링하도록 의도되어 있는 경우 애플리케이션에 의해 지정되어야 한다.
표 1은 VVC v1에 대해 지정된 모든 SEI 메시지들은 물론, 그들의 신택스 및 시맨틱스를 포함하는 사양을 나열한다. VSEI 사양에 지정된 20 개의 SEI 메시지 중에서, 많은 것이 HEVC로부터 상속되었다(예를 들어, 필러 페이로드(filler payload) 및 양쪽 사용자 데이터 SEI 메시지들). 일부 SEI 메시지들은 코딩된 비디오 콘텐츠의 올바른 프로세싱 또는 렌더링에 필수적이다. 예를 들어, HDR 콘텐츠와 특히 관련된 마스터링 디스플레이 컬러 볼륨(mastering display color volume), 콘텐츠 밝기 레벨 정보(content light level information) 또는 대안 전달 특성들(alternative transfer characteristics) SEI 메시지들의 경우 이러하다. 다른 예들은 360° 비디오 콘텐츠의 시그널링 및 프로세싱과 관련된, 등장방형 투영(equirectangular projection), 스피어 회전(sphere rotation), 영역별 패킹(region-wise packing) 또는 전방향 뷰포트(omnidirectional viewport) SEI 메시지들을 포함한다.
[표 1] VVC v1에서의 SEI 메시지들의 리스트
Figure pct00007
Figure pct00008
Figure pct00009
VVC v1에 대해 지정된 새로운 SEI 메시지들은 프레임 필드 정보 SEI 메시지, 샘플 종횡비 정보 SEI 메시지, 및 서브픽처 레벨 정보 SEI 메시지를 포함한다.
프레임 필드 정보 SEI 메시지는 연관된 픽처가 어떻게 디스플레이되어야 하는지(예컨대, 필드 패리티 또는 프레임 반복 주기), 연관된 픽처의 소스 스캔 유형 및 연관된 픽처가 이전 픽처의 복제물인지 여부를 나타내는 정보를 포함한다. 이 정보는, 연관된 픽처의 타이밍 정보와 함께, 이전 비디오 코딩 표준들에서 픽처 타이밍 SEI 메시지에서 시그널링되는 데 사용된다. 그렇지만, 프레임 필드 정보와 타이밍 정보가 반드시 함께 시그널링되지는 않는 두 가지 상이한 종류의 정보라는 것이 관찰되었다. 전형적인 예는 타이밍 정보를 시스템 레벨에서 시그널링하지만 프레임 필드 정보를 비트스트림 내에서 시그널링하는 것에 있다. 따라서 프레임 필드 정보를 픽처 타이밍 SEI 메시지로부터 제거하고 그 대신에 이를 전용 SEI 메시지 내에서 시그널링하는 것으로 결정되었다. 이 변경은 또한, 필드들이 함께 쌍을 이루게 하는 것(pairing) 또는 프레임 반복을 위한 더 많은 값들과 같은, 추가적이고 보다 명확한 지시사항들을 디스플레이에 전달하기 위해 프레임 필드 정보의 신택스를 수정하는 것을 가능하게 하였다.
샘플 종횡비 SEI 메시지는 동일한 시퀀스 내의 상이한 픽처들에 대한 상이한 샘플 종횡비들을 시그널링하는 것을 가능하게 하는 반면, VUI에 포함된 대응하는 정보는 전체 시퀀스에 적용된다. 이는 동일한 시퀀스의 상이한 픽처들이 상이한 샘플 종횡비들을 갖게 하는 스케일링 인자들과 함께 참조 픽처 리샘플링 특징을 사용할 때 의의가 있을 수 있다.
서브픽처 레벨 정보 SEI 메시지는 서브픽처 시퀀스들에 대한 레벨들의 정보를 제공한다.
4. 개시된 기술적 해결책에 의해 해결되는 기술적 문제들
VVC는 다중 계층 스케일러빌리티들을 지원한다. 그렇지만, VVC 다중 계층 비트스트림이 주어지면, OLS의 비트스트림이 멀티뷰 비트스트림인지 SNR 및/또는 공간 스케일러빌리티들을 갖는 다수의 계층들로 구성된 비트스트림일 뿐인지를 알 수 없다. 게다가, VVC 다중 계층 비트스트림이 주어지면, 알파, 깊이 등과 같은 보조 정보를 나타내는 하나 이상의 계층이 있는지, 그리고, 만약 그렇다면, 어느 계층들이 무엇을 나타내는지를 알 수 없다.
5. 기술적 해결책들의 목록
위의 문제들을 해결하기 위해, 아래에 요약된 바와 같은 방법들이 개시된다. 본 발명들은 일반 개념을 설명하기 위한 예들로서 간주되어야 하며 좁은 의미로 해석되어서는 안된다. 게다가, 이러한 발명들은 개별적으로 적용될 수 있거나 임의의 방식으로 조합될 수 있다.
1) VVC 비디오 비트스트림이 멀티뷰 비트스트림인지 여부를 나타내는 정보가 VVC 비디오 비트스트림에서 시그널링된다.
a. 일 예에서, 이 정보는, 예를 들면, 스케일러빌리티 차원 SEI 메시지라고 명명된, SEI 메시지에서 시그널링된다.
i. 일 예에서, 스케일러빌리티 차원 SEI 메시지는 비트스트림 bitstreamInScope에 대한 정보를 제공하는데, bitstreamInScope는, 디코딩 순서상, 현재 스케일러빌리티 차원 SEI 메시지를 포함하는 AU에 뒤이어, 스케일러빌리티 차원 SEI 메시지까지의 모든 후속 AU들을 포함하지만 스케일러빌리티 차원 SEI 메시지를 포함하는 임의의 후속 AU를 포함하지 않는, 0 개 이상의 AU로 구성된 AU들의 시퀀스로서 정의된다.
ii. 일 예에서, SEI 메시지는 비트스트림이 멀티뷰 비트스트림일 수 있는지 여부를 나타내는 플래그를 포함한다.
iii. 일 예에서, SEI 메시지는 각각의 계층의 뷰 ID를 나타낸다.
1. 일 예에서, SEI 메시지는 각각의 계층에 대한 뷰 ID가 시그널링되는지 여부를 나타내는 플래그를 포함한다.
2. 일 예에서, 각각의 계층에 대한 뷰 ID의 비트 단위의 길이는 SEI 메시지에서 시그널링된다.
b. 일 예에서, 이 정보는 VUI의 일부로서 시그널링된다.
2) VVC 비디오 비트스트림이 보조 정보를 나타내는 하나 이상의 계층을 포함하는지 여부를 나타내는 정보는 VVC 비디오 비트스트림에서 시그널링된다.
a. 일 예에서, 이 정보는, 예를 들면, 스케일러빌리티 차원 SEI 메시지라고 명명된, SEI 메시지에서 시그널링된다.
i. 일 예에서, 스케일러빌리티 차원 SEI 메시지는 비트스트림 bitstreamInScope에 대한 정보를 제공하는데, bitstreamInScope는, 디코딩 순서상, 현재 스케일러빌리티 차원 SEI 메시지를 포함하는 AU에 뒤이어, 스케일러빌리티 차원 SEI 메시지까지의 모든 후속 AU들을 포함하지만 스케일러빌리티 차원 SEI 메시지를 포함하는 임의의 후속 AU를 포함하지 않는, 0 개 이상의 AU로 구성된 AU들의 시퀀스로서 정의된다.
ii. 일 예에서, SEI 메시지는 비트스트림이 하나 이상의 계층에 의해 운반되는 보조 정보를 포함할 수 있는지 여부를 나타내는 플래그를 포함한다.
iii. 일 예에서, SEI 메시지는 각각의 계층의 보조 ID를 나타낸다.
1. 일 예에서, SEI 메시지는 각각의 계층에 대한 보조 ID가 시그널링되는지 여부를 나타내는 플래그를 포함한다.
2. 일 예에서, 보조 ID의 값, 예를 들면, 0은 계층이 보조 픽처들을 포함하지 않는다는 것을 나타낸다.
3. 일 예에서, 보조 ID의 값, 예를 들면, 1은 보조 정보의 유형이 알파임을 나타낸다.
4. 일 예에서, 보조 ID의 값, 예를 들면, 2는 보조 정보의 유형이 깊이임을 나타낸다.
5. 일 예에서, 보조 ID의 값, 예를 들면, 3은 보조 정보의 유형이, 예를 들면, V-PCC에 지정된 바와 같은, 점유임을 나타낸다.
6. 일 예에서, 보조 ID의 값, 예를 들면, 4는 보조 정보의 유형이, 예를 들면, V-PCC에 지정된 바와 같은, 지오메트리임을 나타낸다.
7. 일 예에서, 보조 ID의 값, 예를 들면, 5는 보조 정보의 유형이, 예를 들면, V-PCC에 지정된 바와 같은, 속성임을 나타낸다.
8. 일 예에서, 보조 ID의 값, 예를 들면, 6은 보조 정보의 유형이, 예를 들면, V-PCC에 지정된 바와 같은, 텍스처 속성임을 나타낸다.
9. 일 예에서, 보조 ID의 값, 예를 들면, 7은 보조 정보의 유형이, 예를 들면, V-PCC에 지정된 바와 같은, 재료 속성임을 나타낸다.
10. 일 예에서, 보조 ID의 값, 예를 들면, 8은 보조 정보의 유형이, 예를 들면, V-PCC에 지정된 바와 같은, 투명도 속성임을 나타낸다.
11. 일 예에서, 보조 ID의 값, 예를 들면, 9은 보조 정보의 유형이, 예를 들면, V-PCC에 지정된 바와 같은, 반사율 속성임을 나타낸다.
12. 일 예에서, 보조 ID의 값, 예를 들면, 10은 보조 정보의 유형이, 예를 들면, V-PCC에 지정된 바와 같은, 법선 속성임을 나타낸다.
b. 일 예에서, 이 정보는 VUI의 일부로서 시그널링된다.
6. 실시예들
아래는 VVC 사양 및 VSEI 사양에 적용될 수 있는 위에서 섹션 5에 요약된 발명 양상들 중 일부에 대한 일부 예시적인 실시예들이다.
6.1. 제1 실시예
이 실시예는 항목 1, 항목 1.a 및 그의 하위 항목 2, 하위 항목 2.a, 하위 항목 2.a.i, 하위 항목 2.a.ii, 하위 항목 2.a.iii, 하위 항목 2.a.iii.1, 하위 항목 2.a.iii.2, 하위 항목 2.a.iii.3, 및 하위 항목 2.a.iii.4 모두에 대한 것이다.
6.1.1. 스케일러빌리티 차원 SEI 메시지 신택스
Figure pct00010
6.1.2. 스케일러빌리티 차원 SEI 메시지 시맨틱스
스케일러빌리티 차원 SEI 메시지는 bitstreamInScope(아래에서 정의됨)에서, 1) bitstreamInScope가 멀티뷰 비트스트림일 수 있을 때, 각각의 계층의 뷰 ID; 및 2) bitstreamInScope에서 하나 이상의 계층에 의해 운반되는 보조 정보(예컨대, 깊이 또는 알파)가 있을 수 있을 때, 각각의 계층의 보조 ID와 같은, 각각의 계층에 대한 스케일러빌리티 차원 정보를 제공한다.
bitstreamInScope는, 디코딩 순서상, 현재 스케일러빌리티 차원 SEI 메시지를 포함하는 AU에 뒤이어, 스케일러빌리티 차원 SEI 메시지까지의 모든 후속 AU들을 포함하지만 스케일러빌리티 차원 SEI 메시지를 포함하는 임의의 후속 AU를 포함하지 않는, 0 개 이상의 AU로 구성된 AU들의 시퀀스이다.
sd_max_layers_minus1 + 1은 bitstreamInScope 내의 계층들의 최대 수를 나타낸다.
sd_multiview_info_flag가 1과 동일한 것은 bitstreamInScope가 멀티뷰 비트스트림일 수 있고 sd_view_id_val[ ] 신택스 요소들이 스케일러빌리티 차원 SEI 메시지에 존재한다는 것을 나타낸다. sd_multiview_flag가 0과 동일한 것은 bitstreamInScope가 멀티뷰 비트스트림이 아니며 sd_view_id_val[ ] 신택스 요소들이 스케일러빌리티 차원 SEI 메시지에 존재하지 않는다는 것을 나타낸다.
sd_auxilary_info_flag가 1과 동일한 것은 bitstreamInScope에서의 하나 이상의 계층에 의해 운반되는 보조 정보가 있을 수 있으며 sd_aux_id[ ] 신택스 요소들이 스케일러빌리티 차원 SEI 메시지에 존재한다는 것을 나타낸다. sd_auxilary_info_flag가 0과 동일한 것은 bitstreamInScope에서의 하나 이상의 계층에 의해 운반되는 보조 정보가 없으며 sd_aux_id[ ] 신택스 요소들이 스케일러빌리티 차원 SEI 메시지에 존재하지 않는다는 것을 나타낸다.
sd_view_id_len은 sd_view_id_val[ i ] 신택스 요소의 비트 단위의 길이를 지정한다.
sd_view_id_val[ i ]는 bitstreamInScope에서의 i 번째 계층의 뷰 ID를 지정한다. sd_view_id_val[ i ] 신택스 요소의 길이는 sd_view_id_len 비트이다. 존재하지 않는 경우, sd_view_id_val[ i ]의 값은 0과 동일한 것으로 추론된다.
sd_aux_id[ i ]가 0과 동일한 것은 bitstreamInScope에서의 i 번째 계층이 보조 픽처들을 포함하지 않는다는 것을 나타낸다. sd_aux_id[ i ]가 0보다 큰 것은 표 2에 지정된 바와 같이 bitstreamInScope에서의 i 번째 계층에 있는 보조 픽처들의 유형을 나타낸다.
[표 2] 보조 픽처들의 유형에 대한 sd_aux_id[ i ]의 매핑
Figure pct00011
비고 1 - 128 내지 159(경계 포함)의 범위에 있는 sd_aux_id와 연관된 보조 픽처들의 해석은 sd_aux_id 값 이외의 수단을 통해 지정된다.
이 버전의 이 사양을 준수하는 비트스트림들에 대해, sd_aux_id[ i ]는 0 내지 2(경계 포함) 또는 128 내지 159(경계 포함)의 범위에 있어야 한다. sd_aux_id[ i ]의 값이 0 내지 2(경계 포함) 또는 128 내지 159(경계 포함)의 범위에 있지만, 이 버전의 이 사양에서, 디코더들은 0 내지 255(경계 포함)의 범위에 있는 sd_aux_id[ i ]의 값들을 허용해야 한다.
도 1은 본 명세서에서 개시되는 다양한 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템(1900)을 도시하는 블록 다이어그램이다. 다양한 구현들은 시스템(1900)의 컴포넌트들의 일부 또는 전부를 포함할 수 있다. 시스템(1900)은 비디오 콘텐츠를 수신하기 위한 입력(1902)을 포함할 수 있다. 비디오 콘텐츠는 원시 또는 압축되지 않은 포맷, 예를 들면, 8 또는 10 비트 다중 성분(multi-component) 픽셀 값들로 수신될 수 있거나, 압축된 또는 인코딩된 포맷으로 수신될 수 있다. 입력(1902)은 네트워크 인터페이스, 주변기기 버스 인터페이스, 또는 스토리지 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예들은 이더넷, PON(passive optical network) 등과 같은 유선 인터페이스들 및 Wi-Fi 또는 셀룰러 인터페이스들과 같은 무선 인터페이스들을 포함한다.
시스템(1900)은 본 문서에서 설명되는 다양한 코딩 또는 인코딩 방법들을 구현할 수 있는 코딩 컴포넌트(1904)를 포함할 수 있다. 코딩 컴포넌트(1904)는 비디오의 코딩된 표현을 생성하기 위해 입력(1902)으로부터 코딩 컴포넌트(1904)의 출력으로의 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서 코딩 기술들은 때때로 비디오 압축 또는 비디오 트랜스코딩 기술들이라고 불린다. 코딩 컴포넌트(1904)의 출력은 저장되거나, 컴포넌트(1906)에 의해 표현되는, 연결된 통신을 통해 전송될 수 있다. 입력(1902)에 수신되는 비디오의 저장되거나 통신되는 비트스트림(또는 코딩된) 표현은 디스플레이 인터페이스(1910)에게 송신되는 픽셀 값들 또는 디스플레이 가능한 비디오를 생성하기 위해 컴포넌트(1908)에 의해 사용될 수 있다. 비트스트림 표현으로부터 사용자가 볼 수 있는 비디오를 생성하는 프로세스는 때때로 비디오 압축 해제라고 불린다. 게다가, 특정 비디오 프로세싱 동작들이 "코딩" 동작들 또는 툴들이라고 지칭되지만, 코딩 툴들 또는 동작들은 인코더에서 사용되고 코딩의 결과들을 반대로 하는 대응하는 디코딩 툴들 또는 동작들은 디코더에 의해 수행될 것임이 이해될 것이다.
주변기기 버스 인터페이스 또는 디스플레이 인터페이스의 예들은 USB(universal serial bus) 또는 HDMI(high definition multimedia interface) 또는 Displayport 등을 포함할 수 있다. 스토리지 인터페이스들의 예들은 SATA(serial advanced technology attachment), PCI, IDE 인터페이스 등을 포함한다. 본 문서에서 설명되는 기술들은 디지털 데이터 프로세싱 및/또는 비디오 디스플레이를 수행할 수 있는 모바일 폰들, 랩톱들, 스마트폰들 또는 다른 디바이스들과 같은 다양한 전자 디바이스들에서 구체화될 수 있다.
도 2는 비디오 프로세싱 장치(3600)의 블록 다이어그램이다. 장치(3600)는 본 명세서에서 설명되는 방법들 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(3600)는 스마트폰, 태블릿, 컴퓨터, IoT(Internet of Things) 수신기 등에서 구체화될 수 있다. 장치(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)는 변조기/복조기(모뎀) 및/또는 송신기를 포함할 수 있다. 인코딩된 비디오 데이터는 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) 표준, VVM(Versatile Video Coding) 표준 및 다른 현재 및/또는 추가 표준들과 같은, 비디오 압축 표준에 따라 작동할 수 있다.
도 5는 도 4에 예시된 시스템(100) 내의 비디오 인코더(114)일 수 있는, 비디오 인코더(200)의 예를 예시하는 블록 다이어그램이다.
비디오 인코더(200)는 본 개시내용의 기술들의 일부 또는 전부를 수행하도록 구성될 수 있다. 도 5의 예에서, 비디오 인코더(200)는 복수의 기능 컴포넌트들을 포함한다. 본 개시내용에서 설명되는 기술들은 비디오 인코더(200)의 다양한 컴포넌트들 사이에서 공유될 수 있다. 일부 예들에서, 프로세서는 본 개시내용에서 설명되는 기술들의 일부 또는 전부를 수행하도록 구성될 수 있다.
비디오 인코더(200)의 기능 컴포넌트들은 분할 유닛(201), 모드 선택 유닛(203), 모션 추정 유닛(204), 모션 보상 유닛(205) 및 인트라 예측 유닛(206)을 포함할 수 있는 예측 유닛(202), 잔차 생성 유닛(207), 변환 유닛(208), 양자화 유닛(209), 역양자화 유닛(210), 역변환 유닛(211), 재구성 유닛(212), 버퍼(213), 및 엔트로피 인코딩 유닛(214)을 포함할 수 있다.
다른 예들에서, 비디오 인코더(200)는 보다 많은, 보다 적은, 또는 상이한 기능 컴포넌트들을 포함할 수 있다. 예에서, 예측 유닛(202)은 인트라 블록 복사(intra block copy, IBC) 유닛을 포함할 수 있다. IBC 유닛은 적어도 하나의 참조 픽처가 현재 비디오 블록이 위치하는 픽처인 IBC 모드에서 예측을 수행할 수 있다.
게다가, 모션 추정 유닛(204) 및 모션 보상 유닛(205)과 같은 일부 컴포넌트들은 고도로 통합될 수 있지만, 설명 목적으로 도 5의 예에서 개별적으로 표현되어 있다.
분할 유닛(201)은 픽처를 하나 이상의 비디오 블록으로 분할할 수 있다. 비디오 인코더(200) 및 비디오 디코더(300)는 다양한 비디오 블록 크기들을 지원할 수 있다.
모드 선택 유닛(203)은, 예를 들어, 오차 결과들에 기초하여, 코딩 모드들, 즉 인트라(intra) 또는 인터(inter) 중 하나를 선택할 수 있고, 결과적인 인트라 코딩된 또는 인터 코딩된 블록을 잔차 생성 유닛(207)에 제공하여 잔차 블록 데이터를 생성하도록 하고 재구성 유닛(212)에 제공하여 참조 픽처로서 사용하기 위한 인코딩된 블록을 재구성하도록 할 수 있다. 일부 예들에서, 모드 선택 유닛(203)은 예측이 인터 예측 신호 및 인트라 예측 신호에 기초하는 CIIP(combination of intra and inter predication) 모드를 선택할 수 있다. 모드 선택 유닛(203)은 또한 인터 예측의 경우에 블록에 대한 모션 벡터의 해상도(예를 들면, 서브픽셀 또는 정수 픽셀 정밀도)를 선택할 수 있다.
현재 비디오 블록에 대한 인터 예측을 수행하기 위해, 모션 추정 유닛(204)은 버퍼(213)로부터의 하나 이상의 참조 프레임을 현재 비디오 블록과 비교하는 것에 의해 현재 비디오 블록에 대한 모션 정보를 생성할 수 있다. 모션 보상 유닛(205)은 현재 비디오 블록과 연관된 픽처 이외의 버퍼(213)로부터의 픽처들의 디코딩된 샘플들 및 모션 정보에 기초하여 현재 비디오 블록에 대한 예측된 비디오 블록을 결정할 수 있다.
모션 추정 유닛(204) 및 모션 보상 유닛(205)은, 예를 들어, 현재 비디오 블록이 I 슬라이스, P 슬라이스, 또는 B 슬라이스에 있는지에 따라, 현재 비디오 블록에 대해 상이한 동작들을 수행할 수 있다.
일부 예들에서, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 단방향 예측을 수행할 수 있고, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 참조 비디오 블록에 대해 리스트 0 또는 리스트 1의 참조 픽처들을 탐색할 수 있다. 모션 추정 유닛(204)은 이어서 참조 비디오 블록을 포함하는 리스트 0 또는 리스트 1 내의 참조 픽처를 나타내는 참조 인덱스 및 현재 비디오 블록과 참조 비디오 블록 사이의 공간적 변위를 나타내는 모션 벡터를 생성할 수 있다. 모션 추정 유닛(204)은 참조 인덱스, 예측 방향 지시자, 및 모션 벡터를 현재 비디오 블록의 모션 정보로서 출력할 수 있다. 모션 보상 유닛(205)은 현재 비디오 블록의 모션 정보에 의해 표시되는 참조 비디오 블록에 기초하여 현재 블록의 예측된 비디오 블록을 생성할 수 있다.
다른 예들에서, 모션 추정 유닛(204)은 현재 비디오 블록에 대해 양방향 예측을 수행할 수 있고, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 참조 비디오 블록에 대해 리스트 0 내의 참조 픽처들을 탐색할 수 있으며, 또한 현재 비디오 블록에 대한 다른 참조 비디오 블록에 대해 리스트 1 내의 참조 픽처들을 탐색할 수 있다. 모션 추정 유닛(204)은 이어서 참조 비디오 블록들을 포함하는 리스트 0 및 리스트 1 내의 참조 픽처들을 나타내는 참조 인덱스들 및 참조 비디오 블록들과 현재 비디오 블록 사이의 공간적 변위들을 나타내는 모션 벡터들을 생성할 수 있다. 모션 추정 유닛(204)은 현재 비디오 블록의 모션 정보로서 참조 인덱스들 및 현재 비디오 블록의 모션 벡터들을 출력할 수 있다. 모션 보상 유닛(205)은 현재 비디오 블록의 모션 정보에 의해 표시되는 참조 비디오 블록들에 기초하여 현재 비디오 블록의 예측된 비디오 블록을 생성할 수 있다.
일부 예들에서, 모션 추정 유닛(204)은 디코더의 디코딩 프로세싱을 위한 모션 정보의 전체 세트를 출력할 수 있다.
일부 예들에서, 모션 추정 유닛(204)은 현재 비디오에 대한 모션 정보의 전체 세트를 출력하지 않을 수 있다. 오히려, 모션 추정 유닛(204)은 다른 비디오 블록의 모션 정보를 참조하여 현재 비디오 블록의 모션 정보를 시그널링할 수 있다. 예를 들어, 모션 추정 유닛(204)은 현재 비디오 블록의 모션 정보가 이웃 비디오 블록의 모션 정보와 충분히 유사하다고 결정할 수 있다.
일 예에서, 모션 추정 유닛(204)은, 현재 비디오 블록과 연관된 신택스 구조에, 현재 비디오 블록이 다른 비디오 블록과 동일한 모션 정보를 갖는다는 것을 비디오 디코더(300)에 알려주는 값을 표시할 수 있다.
다른 예에서, 모션 추정 유닛(204)은, 현재 비디오 블록과 연관된 신택스 구조에서, 다른 비디오 블록 및 모션 벡터 차이(MVD)를 식별할 수 있다. 모션 벡터 차이는 현재 비디오 블록의 모션 벡터와 표시된 비디오 블록의 모션 벡터 간의 차이를 나타낸다. 비디오 디코더(300)는 표시된 비디오 블록의 모션 벡터 및 모션 벡터 차이를 사용하여 현재 비디오 블록의 모션 벡터를 결정할 수 있다.
위에서 논의된 바와 같이, 비디오 인코더(200)는 모션 벡터를 예측적으로 시그널링할 수 있다. 비디오 인코더(200)에 의해 구현될 수 있는 예측적 시그널링 기술의 두 가지 예는 AMVP(advanced motion vector predication) 및 병합 모드 시그널링을 포함한다.
인트라 예측 유닛(206)은 현재 비디오 블록에 대해 인트라 예측을 수행할 수 있다. 인트라 예측 유닛(206)이 현재 비디오 블록에 대해 인트라 예측을 수행할 때, 인트라 예측 유닛(206)은 동일한 픽처 내의 다른 비디오 블록들의 디코딩된 샘플들에 기초하여 현재 비디오 블록에 대한 예측 데이터를 생성할 수 있다. 현재 비디오 블록에 대한 예측 데이터는 예측된 비디오 블록 및 다양한 신택스 요소들을 포함할 수 있다.
잔차 생성 유닛(207)은 현재 비디오 블록으로부터 현재 비디오 블록의 예측된 비디오 블록(들)을 차감(예를 들면, 마이너스 부호로 표시됨)하는 것에 의해 현재 비디오 블록에 대한 잔차 데이터를 생성할 수 있다. 현재 비디오 블록의 잔차 데이터는 현재 비디오 블록 내의 샘플들의 상이한 샘플 성분들에 대응하는 잔차 비디오 블록들을 포함할 수 있다.
다른 예들에서, 예를 들어, 스킵 모드에서 현재 비디오 블록에 대한 현재 비디오 블록의 잔차 데이터가 없을 수 있고, 잔차 생성 유닛(207)은 차감 동작을 수행하지 않을 수 있다.
변환 프로세싱 유닛(208)은 현재 비디오 블록과 연관된 잔차 비디오 블록에 하나 이상의 변환을 적용하는 것에 의해 현재 비디오 블록에 대한 하나 이상의 변환 계수 비디오 블록을 생성할 수 있다.
변환 프로세싱 유닛(208)이 현재 비디오 블록과 연관된 변환 계수 비디오 블록을 생성한 후에, 양자화 유닛(209)은 현재 비디오 블록과 연관된 하나 이상의 양자화 파라미터(QP) 값에 기초하여 현재 비디오 블록과 연관된 변환 계수 비디오 블록을 양자화할 수 있다.
역양자화 유닛(210) 및 역변환 유닛(211)은, 제각기, 변환 계수 비디오 블록에 역양자화 및 역변환을 적용하여 변환 계수 비디오 블록으로부터 잔차 비디오 블록을 재구성할 수 있다. 재구성 유닛(212)은 버퍼(213)에 저장할 현재 블록과 연관된 재구성된 비디오 블록을 생성하기 위해 예측 유닛(202)에 의해 생성되는 하나 이상의 예측된 비디오 블록으로부터의 대응하는 샘플들에 재구성된 잔차 비디오 블록을 가산할 수 있다.
재구성 유닛(212)이 비디오 블록을 재구성한 후에, 비디오 블록에서의 비디오 블로킹 아티팩트를 감소시키기 위해 루프 필터링 동작이 수행될 수 있다.
엔트로피 인코딩 유닛(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)와 관련하여 설명된 인코딩 패스(encoding pass)와 일반적으로 반대인 디코딩 패스(decoding pass)를 수행할 수 있다.
엔트로피 디코딩 유닛(301)은 인코딩된 비트스트림을 검색할 수 있다. 인코딩된 비트스트림은 엔트로피 코딩된 비디오 데이터(예를 들면, 비디오 데이터의 인코딩된 블록들)를 포함할 수 있다. 엔트로피 디코딩 유닛(301)은 엔트로피 코딩된 비디오 데이터를 디코딩할 수 있고, 엔트로피 디코딩된 비디오 데이터로부터, 모션 보상 유닛(302)은 모션 벡터, 모션 벡터 정밀도, 참조 픽처 리스트 인덱스, 및 다른 모션 정보를 포함한 모션 정보를 결정할 수 있다. 모션 보상 유닛(302)은, 예를 들어, AMVP 및 병합 모드를 수행하는 것에 의해 그러한 정보를 결정할 수 있다.
모션 보상 유닛(302)은 모션 보상된 블록들을 생성할 수 있으며, 어쩌면 보간 필터들에 기초하여 보간을 수행할 수 있다. 사용될 보간 필터들에 대한 식별자들이 서브픽셀 정밀도와 함께 신택스 요소들에 포함될 수 있다.
모션 보상 유닛(302)은 참조 블록의 서브-정수 픽셀(sub-integer pixel)들에 대한 보간된 값들을 계산하기 위해 비디오 블록의 인코딩 동안 비디오 인코더(200)에 의해 사용되는 바와 같이 보간 필터들을 사용할 수 있다. 모션 보상 유닛(302)은 수신된 신택스 정보에 따라 비디오 인코더(200)에 의해 사용되는 보간 필터들을 결정할 수 있고 예측 블록들을 생성하기 위해 보간 필터들을 사용할 수 있다.
모션 보상 유닛(302)은 인코딩된 비디오 시퀀스의 프레임(들) 및/또는 슬라이스(들)를 인코딩하는 데 사용되는 블록들의 크기들, 인코딩된 비디오 시퀀스의 픽처의 각각의 매크로블록이 어떻게 분할되는지를 설명하는 분할 정보, 각각의 분할이 어떻게 인코딩되는지를 나타내는 모드들, 각각의 인터 인코딩된 블록에 대한 하나 이상의 참조 프레임(및 참조 프레임 리스트), 및 인코딩된 비디오 시퀀스를 디코딩하기 위한 다른 정보를 결정하기 위해 신택스 정보의 일부를 사용할 수 있다.
인트라 예측 유닛(303)은 공간적으로 인접한 블록들로부터 예측 블록을 형성하기 위해, 예를 들어, 비트스트림에서 수신되는 인트라 예측 모드들을 사용할 수 있다. 역양자화 유닛(303)은 비트스트림에서 제공되고 엔트로피 디코딩 유닛(301)에 의해 디코딩되는 양자화된 비디오 블록 계수들을 역양자화(inverse quantize), 즉 양자화 해제(de-quantize)한다. 역변환 유닛(303)은 역변환을 적용한다.
재구성 유닛(306)은 디코딩된 블록들을 형성하기 위해 모션 보상 유닛(202) 또는 인트라 예측 유닛(303)에 의해 생성되는 대응하는 예측 블록들과 잔차 블록들을 합산할 수 있다. 원하는 경우, 디코딩된 블록들을 필터링하여 블록성 아티팩트(blockiness artifact)를 제거하기 위해 디블로킹 필터가 또한 적용될 수 있다. 디코딩된 비디오 블록들은 이어서 버퍼(307)에 저장되고, 버퍼(307)는 후속하는 모션 보상/인트라 예측을 위한 참조 블록들을 제공하고 또한 디스플레이 디바이스 상에 제시할 디코딩된 비디오를 생성한다.
일부 실시예들에 의해 선호되는 해결책들의 목록이 다음에 제공된다.
이하의 해결책들은 이전 섹션(예를 들면, 항목 1)에서 논의된 기술들의 예시적인 실시예들을 보여준다.
1. 비디오 프로세싱 방법(예를 들면, 도 3에 묘사된 방법(700))으로서, 비디오 픽처들을 포함하는 비디오와 상기 비디오의 코딩된 표현 사이의 변환을 수행하는 단계(702)를 포함하며, 상기 비트스트림은 포맷 규칙을 준수하고, 상기 포맷 규칙은 상기 비디오가 멀티뷰 비디오임을 나타내는 상기 코딩된 표현에 포함된 필드를 지정하는, 방법.
2. 해결책 1에 있어서, 상기 필드는 상기 코딩된 표현의 추가 향상 정보 부분에 포함되는, 방법.
3. 해결책 1에 있어서, 상기 필드는 상기 코딩된 표현의 비디오 사용성 정보 부분에 포함되는, 방법.
이하의 해결책들은 이전 섹션(예를 들면, 항목 2)에서 논의된 기술들의 예시적인 실시예들을 보여준다.
4. 비디오 프로세싱 방법으로서, 비디오 픽처들을 포함하는 비디오와 상기 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하며, 상기 비트스트림은 포맷 규칙을 준수하고, 상기 포맷 규칙은 상기 비디오가 상기 코딩된 표현에 다수의 비디오 계층들로 코딩되어 있음을 나타내는 상기 코딩된 표현에 포함된 필드를 지정하는, 방법.
5. 해결책 4에 있어서, 상기 필드는 상기 코딩된 표현의 추가 향상 정보 부분에 포함되는, 방법.
6. 해결책 4에 있어서, 상기 필드는 상기 코딩된 표현의 비디오 사용성 정보 부분에 포함되는, 방법.
7. 해결책 1 내지 해결책 6 중 어느 한 해결책에 있어서, 상기 변환은 상기 비디오로부터 코딩된 표현을 생성하는 것을 포함하는, 방법.
8. 해결책 1 내지 해결책 6 중 어느 한 해결책에 있어서, 상기 변환은 상기 코딩된 표현을 디코딩하여 상기 비디오를 생성하는 것을 포함하는, 방법.
9. 비디오 디코딩 장치로서, 해결책 1 내지 해결책 8 중 하나 이상의 해결책에 열거된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 디코딩 장치.
10. 비디오 인코딩 장치로서, 해결책 1 내지 해결책 8 중 하나 이상의 해결책에 열거된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 인코딩 장치.
11. 컴퓨터 코드가 저장되어 있는 컴퓨터 프로그램 제품으로서, 상기 코드는, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 해결책 1 내지 해결책 8 중 어느 한 해결책에 열거된 방법을 구현하게 하는, 컴퓨터 프로그램 제품.
12. 컴퓨터 판독 가능 매체로서, 해결책 1 내지 해결책 8 중 어느 한 해결책에 따라 생성되는 코딩된 표현을 저장하는, 컴퓨터 판독 가능 매체.
13. 본 문서에서 설명된 방법, 장치 또는 시스템.
본 명세서에서 설명된 해결책들에서, 인코더는 포맷 규칙에 따라 코딩된 표현을 생성하는 것에 의해 포맷 규칙을 준수할 수 있다. 본 명세서에서 설명된 해결책들에서, 디코더는 디코딩된 비디오를 생성하기 위해 포맷 규칙에 따라 신택스 요소들의 존재 및 부재에 대한 지식을 사용하여 코딩된 표현에서의 신택스 요소들을 파싱하기 위해 포맷 규칙을 사용할 수 있다.
도 8은 예시적인 비디오 프로세싱 방법에 대한 플로차트이다. 동작(802)은 포맷 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 포맷 규칙은 비트스트림에 포함된 추가 향상 정보 필드 또는 비디오 사용성 정보 신택스 구조가 비트스트림이 다수의 뷰들이 다수의 비디오 계층들에 코딩되는 멀티뷰 비트스트림을 포함하는지 여부를 나타낸다는 것을 지정한다.
일부 실시예들에서, 상기 포맷 규칙은 상기 추가 향상 정보 필드가 상기 비트스트림에서의 추가 향상 정보 메시지 내의 스케일러빌리티 차원 정보에 포함된다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 상기 추가 향상 정보 메시지가 상기 비트스트림이 멀티뷰 비트스트림인지 여부를 나타내는 제1 플래그를 포함한다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 상기 추가 향상 정보 메시지가 상기 비트스트림의 복수의 비디오 계층들의 각각의 비디오 계층의 뷰 식별자를 포함한다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 상기 추가 향상 정보 메시지가 각각의 비디오 계층의 상기 뷰 식별자의 비트 단위의 길이를 포함한다는 것을 지정한다.
일부 실시예들에서, 상기 포맷 규칙은 상기 추가 향상 정보 메시지가 각각의 비디오 계층에 대한 상기 뷰 식별자가 상기 비트스트림에 포함되는지 여부를 나타내는 제2 플래그를 포함한다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 상기 추가 향상 정보 메시지 내의 상기 스케일러빌리티 차원 정보가, 디코딩 순서상, 제2 추가 향상 정보 메시지 내의 제2 스케일러빌리티 차원 정보를 포함하는 액세스 유닛에 뒤이어, 제3 추가 향상 정보 메시지 내의 제3 스케일러빌리티 차원 정보까지의 모든 후속 액세스 유닛들을 포함하지만 제3 추가 향상 정보 메시지 내의 제3 스케일러빌리티 차원 정보를 포함하는 임의의 후속 액세스 유닛을 포함하지 않는, 0개 이상의 액세스 유닛을 포함하는 액세스 유닛들의 시퀀스에 관련된 정보를 제공한다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 상기 추가 향상 정보 필드가 상기 비트스트림에서의 상기 비디오 사용성 정보 신택스 구조에 포함된다는 것을 지정한다. 일부 실시예들에서, 상기 비트스트림은 다목적 비디오 코딩 비트스트림이다. 일부 실시예들에서, 상기 변환을 수행하는 상기 단계는 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함한다. 일부 실시예들에서, 상기 변환을 수행하는 상기 단계는 상기 비디오로부터 상기 비트스트림을 생성하는 단계를 포함하고, 상기 방법은 상기 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 더 포함한다. 일부 실시예들에서, 변환을 수행하는 단계는 비트스트림으로부터 비디오를 디코딩하는 단계를 포함한다.
도 9는 예시적인 비디오 프로세싱 방법에 대한 플로차트이다. 동작(902)은 포맷 규칙에 따라 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 여기서 포맷 규칙은 비트스트림에 포함된 추가 향상 정보 필드가 비트스트림이 보조 정보를 나타내는 하나 이상의 비디오 계층을 포함하는지 여부를 나타낸다는 것을 지정한다.
일부 실시예들에서, 상기 포맷 규칙은 상기 추가 향상 정보 필드가 상기 비트스트림에서의 추가 향상 정보 메시지 내의 스케일러빌리티 차원 정보에 포함된다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 상기 추가 향상 정보 메시지가 상기 비트스트림이 상기 하나 이상의 비디오 계층에 대한 상기 보조 정보를 포함하는지 여부를 나타내는 제1 플래그를 포함한다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 상기 추가 향상 정보 메시지가 상기 비트스트림의 복수의 비디오 계층들의 각각의 비디오 계층의 보조 식별자를 포함한다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제1 값이 상기 비디오 계층이 보조 픽처들을 포함하지 않음을 나타낸다는 것을 지정한다.
일부 실시예들에서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제2 값이 상기 비디오 계층의 보조 정보의 유형이 알파임을 나타낸다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제3 값이 상기 비디오 계층의 보조 정보의 유형이 깊이임을 나타낸다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 상기 추가 향상 정보 메시지가 각각의 비디오 계층에 대한 상기 보조 식별자가 상기 비트스트림에 포함되는지 여부를 나타내는 제2 플래그를 포함한다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제4 값이 상기 비디오 계층의 보조 정보의 유형이 점유임을 나타낸다는 것을 지정한다.
일부 실시예들에서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제3 값이 상기 비디오 계층의 보조 정보의 유형이 지오메트리임을 나타낸다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제3 값이 상기 비디오 계층의 보조 정보의 유형이 속성임을 나타낸다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제3 값이 상기 비디오 계층의 보조 정보의 유형이 텍스처 속성임을 나타낸다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제3 값이 상기 비디오 계층의 보조 정보의 유형이 재료 속성임을 나타낸다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제3 값이 상기 비디오 계층의 보조 정보의 유형이 투명도 속성임을 나타낸다는 것을 지정한다.
일부 실시예들에서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제3 값이 상기 비디오 계층의 보조 정보의 유형이 반사율 속성임을 나타낸다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제3 값이 상기 비디오 계층의 보조 정보의 유형이 법선 속성임을 나타낸다는 것을 지정한다. 일부 실시예들에서, 상기 포맷 규칙은 상기 추가 향상 정보 메시지 내의 상기 스케일러빌리티 차원 정보가, 디코딩 순서상, 제2 추가 향상 정보 메시지 내의 제2 스케일러빌리티 차원 정보를 포함하는 액세스 유닛에 뒤이어, 제3 추가 향상 정보 메시지 내의 제3 스케일러빌리티 차원 정보까지의 모든 후속 액세스 유닛들을 포함하지만 제3 추가 향상 정보 메시지 내의 제3 스케일러빌리티 차원 정보를 포함하는 임의의 후속 액세스 유닛을 포함하지 않는, 0개 이상의 액세스 유닛을 포함하는 액세스 유닛들의 시퀀스에 관련된 정보를 제공한다는 것을 지정한다.
일부 실시예들에서, 상기 포맷 규칙은 상기 추가 향상 정보 필드가 상기 비트스트림에서의 비디오 사용성 정보에 포함된다는 것을 지정한다. 일부 실시예들에서, 상기 비디오는 다목적 비디오 코딩 비디오이다. 일부 실시예들에서, 상기 변환을 수행하는 상기 단계는 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함한다. 일부 실시예들에서, 상기 변환을 수행하는 상기 단계는 상기 비디오로부터 상기 비트스트림을 생성하는 단계를 포함하고, 상기 방법은 상기 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 더 포함한다. 일부 실시예들에서, 상기 변환을 수행하는 상기 단계는 상기 비트스트림으로부터 상기 비디오를 디코딩하는 단계를 포함한다.
일부 실시예들에서, 비디오 디코딩 장치는 이 특허 문서에 설명된 기술들 중 하나 이상에서 열거된 방법을 구현하도록 구성된 프로세서를 포함한다. 일부 실시예들에서, 비디오 인코딩 장치는 이 특허 문서에 설명된 기술들 중 하나 이상에서 열거된 방법을 구현하도록 구성된 프로세서를 포함한다. 일부 실시예들에서, 컴퓨터 명령어들이 저장되어 있는 컴퓨터 프로그램 제품으로서, 상기 명령어들은, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 이 특허 문서에서 설명된 기술을 구현하게 한다. 일부 실시예들에서, 비일시적 컴퓨터 판독 가능 저장 매체는 이 특허 문서에서 설명된 기술들 중 어느 하나에서의 방법에 따라 생성되는 비트스트림을 저장한다.
일부 실시예들에서, 비일시적 컴퓨터 판독 가능 저장 매체는 프로세서로 하여금 이 특허 문서에서 설명된 기술들 중 어느 하나에서 열거된 방법을 구현하게 하는 명령어들을 저장한다. 일부 실시예들에서, 비트스트림 생성 방법은: 이 특허 문서에서 설명된 기술들 중 어느 하나에서 열거된 방법에 따라 비디오의 비트스트림을 생성하는 단계, 및 상기 비트스트림을 컴퓨터 판독 가능 프로그램 매체에 저장하는 단계를 포함한다. 일부 실시예들에서, 본 문서에서 설명된, 방법, 장치, 개시된 방법에 따라 생성되는 비트스트림 또는 시스템.
본 문서에서, "비디오 프로세싱"이라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축 해제를 지칭할 수 있다. 예를 들어, 비디오의 픽셀 표현으로부터 대응하는 비트스트림 표현으로 또는 그 반대로 변환하는 동안 비디오 압축 알고리즘들이 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현은, 예를 들어, 신택스에 의해 정의된 바와 같이, 비트스트림 내에서 동일 위치에 있거나 상이한 위치들에 분산되는 비트들에 대응할 수 있다. 예를 들어, 매크로블록은 변환되고 코딩된 오차 잔차 값들로 그리고 또한 비트스트림에서의 헤더들 및 다른 필드들 내의 비트들을 사용하여 인코딩될 수 있다. 게다가, 변환 동안, 디코더는, 위의 해결책들에서 설명된 바와 같이, 결정에 기초하여, 일부 필드들이 존재하거나 부재할 수 있다는 것에 대한 지식을 사용하여 비트스트림을 파싱할 수 있다. 유사하게, 인코더는 특정 신택스 필드들이 포함되어야 하는지 여부를 결정할 수 있고, 그에 따라 신택스 필드들을 코딩된 표현에 포함시키거나 그로부터 제외시키는 것에 의해 코딩된 표현을 생성할 수 있다.
개시된 기술의 일부 실시예들은 비디오 프로세싱 툴 또는 모드를 인에이블시키도록 의사 결정하거나 결정하는 것을 포함한다. 예에서, 비디오 프로세싱 툴 또는 모드가 인에이블될 때, 인코더는 비디오 블록의 프로세싱에서 툴 또는 모드를 사용하거나 구현할 것이지만, 툴 또는 모드의 사용에 기초하여 결과적인 비트스트림을 반드시 수정하는 것은 아닐 수 있다. 즉, 비디오 블록으로부터 비디오의 비트스트림 표현으로의 변환은 의사 결정 또는 결정에 기초하여 비디오 프로세싱 툴 또는 모드가 인에이블될 때 이를 사용할 것이다. 다른 예에서, 비디오 프로세싱 툴 또는 모드가 인에이블될 때, 디코더는 비디오 프로세싱 툴 또는 모드에 기초하여 비트스트림이 수정되었다는 지식을 사용하여 비트스트림을 프로세싱할 것이다. 즉, 비디오의 비트스트림 표현으로부터 비디오 블록으로의 변환은 의사 결정 또는 결정에 기초하여 인에이블된 비디오 프로세싱 툴 또는 모드를 사용하여 수행될 것이다.
개시된 기술의 일부 실시예들은 비디오 프로세싱 툴 또는 모드를 디스에이블시키도록 의사 결정하거나 결정하는 것을 포함한다. 예에서, 비디오 프로세싱 툴 또는 모드가 디스에이블될 때, 인코더는 비디오 블록을 비디오의 비트스트림 표현으로 변환하는 데 툴 또는 모드를 사용하지 않을 것이다. 다른 예에서, 비디오 프로세싱 툴 또는 모드가 디스에이블될 때, 디코더는 의사 결정 또는 결정에 기초하여 디스에이블된 비디오 프로세싱 툴 또는 모드를 사용하여 비트스트림이 수정되지 않았다는 지식을 사용하여 비트스트림을 프로세싱할 것이다.
본 문서에서 설명되는 개시된 및 다른 해결책들, 예들, 실시예들, 모듈들 및 기능 동작들은 디지털 전자 회로로, 또는 본 문서에서 개시되는 구조들 및 이들의 구조적 등가물들을 포함한, 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로, 또는 이들 중 하나 이상의 조합들로 구현될 수 있다. 개시된 및 다른 실시예들은 하나 이상의 컴퓨터 프로그램 제품으로서, 즉 데이터 프로세싱 장치에 의해 실행하기 위해 또는 데이터 프로세싱 장치의 동작을 제어하기 위해 컴퓨터 판독 가능 매체에 인코딩되는 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독 가능 매체는 머신 판독 가능 저장 디바이스, 머신 판독 가능 저장 기판, 메모리 디바이스, 머신 판독 가능 전파 신호(propagated signal)를 실현하는 조성물(composition of matter), 또는 이들 중 하나 이상의 조합일 수 있다. “데이터 프로세싱 장치"라는 용어는, 예로서, 프로그래밍 가능한 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함한, 데이터를 프로세싱하기 위한 모든 장치들, 디바이스들, 및 머신들을 포괄한다. 장치들은, 하드웨어 외에도, 문제의 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들면, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 전파 신호는 적합한 수신기 장치에게 전송하기 위한 정보를 인코딩하기 위해 생성되는 인공적으로 생성된 신호, 예를 들면, 머신에 의해 생성된(machine-generated) 전기, 광학, 또는 전자기 신호이다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 알려짐)은, 컴파일되는(compiled) 또는 인터프리트되는(interpreted) 언어들을 포함한, 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 독립형 프로그램(stand-alone program)으로서 또는 모듈, 컴포넌트, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛으로서를 포함하여, 임의의 형태로 배포(deploy)될 수 있다. 컴퓨터 프로그램이 파일 시스템에서의 파일에 반드시 대응하는 것은 아니다. 프로그램은 다른 프로그램들 또는 데이터(예를 들면, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일 부분에, 문제의 프로그램에 전용된 단일 파일에, 또는 다수의 통합 파일(coordinated file)들(예를 들면, 하나 이상의 모듈, 서브프로그램(sub program), 또는 코드 부분(portion of code)을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서 실행되거나 하나의 사이트에 위치하거나 다수의 사이트들에 걸쳐 분산되고 통신 네트워크에 의해 상호연결되는 다수의 컴퓨터들 상에서 실행되도록 배포될 수 있다.
본 문서에서 설명되는 프로세스들 및 논리 흐름들은 하나 이상의 프로그래밍 가능한 프로세서가 입력 데이터를 처리하여 출력을 생성하는 것에 의해 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 것에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들이 또한 특수 목적 논리 회로, 예를 들면, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수 있고, 장치들이 또한 특수 목적 논리 회로, 예를 들면, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)으로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예로서, 범용 및 특수 목적 마이크로프로세서들 양쪽 모두, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령어들을 수행하기 위한 프로세서 및 명령어들과 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들면, 자기, 자기 광학 디스크들, 또는 광학 디스크들을 포함할 것이거나, 이들로부터 데이터를 수신하거나 이들에게 데이터를 전송하도록 작동 가능하게 결합될 것이거나, 양쪽 모두일 것이다. 그렇지만, 컴퓨터가 그러한 디바이스들을 가질 필요는 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체들은, 예로서, 반도체 메모리 디바이스들, 예를 들면, EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들면, 내부 하드 디스크들 또는 이동식 디스크들; 자기 광학 디스크들; 및 CD ROM과 DVD-ROM 디스크들을 포함한, 모든 형태들의 비휘발성 메모리, 매체들 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보완되거나 그에 통합될 수 있다.
이 특허 문서가 많은 구체적 사항들을 포함하지만, 이들은 임의의 주제의 범위 또는 청구될 수 있는 것의 범위에 대한 제한들로서 해석되어서는 안 되며, 오히려 특정 기술들의 특정의 실시예들에 특정적일 수 있는 특징들에 대한 설명들로서 해석되어야 한다. 개별 실시예들의 맥락에서 이 특허 문서에 설명되는 특정 특징들이 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 맥락에서 설명되는 다양한 특징들이 또한 다수의 실시예들에서 개별적으로 또는 임의의 적합한 서브콤비네이션(subcombination)으로 구현될 수 있다. 더욱이, 특징들이 특정 조합들로 기능하는 것으로 위에서 설명되고 심지어 처음에 그 자체로서 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징이 일부 경우에 그 조합으로부터 제거될 수 있고, 청구된 조합은 서브콤비네이션 또는 서브콤비네이션의 변형에 관한 것일 수 있다.
유사하게, 동작들이 도면에서 특정의 순서로 묘사되지만, 이것은, 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정의 순서로 또는 순차적 순서로 수행되어야 하거나, 모든 예시된 동작들이 수행되어야 할 것을 요구하는 것으로 이해되어서는 안 된다. 더욱이, 이 특허 문서에서 설명되는 실시예들에서 다양한 시스템 컴포넌트들의 분리가 모든 실시예들에서 그러한 분리를 요구하는 것으로서 이해되어서는 안 된다.
단지 몇 가지 구현들 및 예들이 설명되고 다른 구현들, 향상들 및 변형들이 이 특허 문서에 설명되고 예시된 것에 기초하여 이루어질 수 있다.

Claims (29)

  1. 비디오 데이터를 프로세싱하는 방법으로서,
    포맷 규칙에 따라 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며,
    상기 포맷 규칙은 상기 비트스트림에 포함된 추가 향상 정보 필드가 상기 비트스트림이 보조 정보를 나타내는 하나 이상의 비디오 계층을 포함하는지 여부를 나타낸다는 것을 지정하는, 방법.
  2. 제1항에 있어서, 상기 포맷 규칙은 상기 추가 향상 정보 필드가 상기 비트스트림에서의 추가 향상 정보 메시지 내의 스케일러빌리티 차원 정보에 포함된다는 것을 지정하는, 방법.
  3. 제2항에 있어서, 상기 포맷 규칙은 상기 추가 향상 정보 메시지가 상기 비트스트림이 상기 하나 이상의 비디오 계층에 대한 상기 보조 정보를 포함하는지 여부를 나타내는 제1 플래그를 포함한다는 것을 지정하는, 방법.
  4. 제2항에 있어서, 상기 포맷 규칙은 상기 추가 향상 정보 메시지가 상기 비트스트림의 복수의 비디오 계층들의 각각의 비디오 계층의 보조 식별자를 포함한다는 것을 지정하는, 방법.
  5. 제4항에 있어서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제1 값이 상기 비디오 계층이 보조 픽처들을 포함하지 않음을 나타낸다는 것을 지정하는, 방법.
  6. 제4항에 있어서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제2 값이 상기 비디오 계층의 보조 정보의 유형이 알파임을 나타낸다는 것을 지정하는, 방법.
  7. 제4항에 있어서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제3 값이 상기 비디오 계층의 보조 정보의 유형이 깊이임을 나타낸다는 것을 지정하는, 방법.
  8. 제4항에 있어서, 상기 포맷 규칙은 상기 추가 향상 정보 메시지가 각각의 비디오 계층에 대한 상기 보조 식별자가 상기 비트스트림에 포함되는지 여부를 나타내는 제2 플래그를 포함한다는 것을 지정하는, 방법.
  9. 제4항에 있어서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제4 값이 상기 비디오 계층의 보조 정보의 유형이 점유임을 나타낸다는 것을 지정하는, 방법.
  10. 제4항에 있어서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제3 값이 상기 비디오 계층의 보조 정보의 유형이 지오메트리임을 나타낸다는 것을 지정하는, 방법.
  11. 제4항에 있어서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제3 값이 상기 비디오 계층의 보조 정보의 유형이 속성임을 나타낸다는 것을 지정하는, 방법.
  12. 제4항에 있어서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제3 값이 상기 비디오 계층의 보조 정보의 유형이 텍스처 속성임을 나타낸다는 것을 지정하는, 방법.
  13. 제4항에 있어서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제3 값이 상기 비디오 계층의 보조 정보의 유형이 재료 속성임을 나타낸다는 것을 지정하는, 방법.
  14. 제4항에 있어서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제3 값이 상기 비디오 계층의 보조 정보의 유형이 투명도 속성임을 나타낸다는 것을 지정하는, 방법.
  15. 제4항에 있어서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제3 값이 상기 비디오 계층의 보조 정보의 유형이 반사율 속성임을 나타낸다는 것을 지정하는, 방법.
  16. 제4항에 있어서, 상기 포맷 규칙은 비디오 계층의 보조 식별자의 제3 값이 상기 비디오 계층의 보조 정보의 유형이 법선 속성임을 나타낸다는 것을 지정하는, 방법.
  17. 제2항에 있어서, 상기 포맷 규칙은 상기 추가 향상 정보 메시지 내의 상기 스케일러빌리티 차원 정보가, 디코딩 순서상, 제2 추가 향상 정보 메시지 내의 제2 스케일러빌리티 차원 정보를 포함하는 액세스 유닛에 뒤이어, 제3 추가 향상 정보 메시지 내의 제3 스케일러빌리티 차원 정보까지의 모든 후속 액세스 유닛들을 포함하지만 제3 추가 향상 정보 메시지 내의 제3 스케일러빌리티 차원 정보를 포함하는 임의의 후속 액세스 유닛을 포함하지 않는, 0개 이상의 액세스 유닛을 포함하는 액세스 유닛들의 시퀀스에 관련된 정보를 제공한다는 것을 지정하는, 방법.
  18. 제1항에 있어서, 상기 포맷 규칙은 상기 추가 향상 정보 필드가 상기 비트스트림에서의 비디오 사용성 정보에 포함된다는 것을 지정하는, 방법.
  19. 제1항 내지 제18항 중 어느 한 항에 있어서, 상기 비디오는 다목적 비디오 코딩 비디오인, 방법.
  20. 제1항 내지 제19항 중 어느 한 항에 있어서, 상기 변환을 수행하는 상기 단계는 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함하는, 방법.
  21. 제1항 내지 제19항 중 어느 한 항에 있어서, 상기 변환을 수행하는 상기 단계는 상기 비디오로부터 상기 비트스트림을 생성하는 단계를 포함하고, 상기 방법은 상기 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 더 포함하는, 방법.
  22. 제1항 내지 제19항 중 어느 한 항에 있어서, 상기 변환을 수행하는 상기 단계는 상기 비트스트림으로부터 상기 비디오를 디코딩하는 단계를 포함하는, 방법.
  23. 비디오 디코딩 장치로서, 제1항 내지 제22항 중 하나 이상의 항에 열거된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 디코딩 장치.
  24. 비디오 인코딩 장치로서, 제1항 내지 제22항 중 하나 이상의 항에 열거된 방법을 구현하도록 구성된 프로세서를 포함하는, 비디오 인코딩 장치.
  25. 컴퓨터 명령어들이 저장되어 있는 컴퓨터 프로그램 제품으로서, 상기 명령어들은, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제1항 내지 제22항 중 어느 한 항에 열거된 방법을 구현하게 하는, 컴퓨터 프로그램 제품.
  26. 비일시적 컴퓨터 판독 가능 저장 매체로서, 제1항 내지 제22항 중 어느 한 항에서의 방법에 따라 생성되는 비트스트림을 저장하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  27. 비일시적 컴퓨터 판독 가능 저장 매체로서, 프로세서로 하여금 제1항 내지 제22항 중 어느 한 항에 열거된 방법을 구현하게 하는 명령어들을 저장하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  28. 비트스트림 생성 방법으로서,
    제1항 내지 제22항 중 어느 한 항에 열거된 방법에 따라 비디오의 비트스트림을 생성하는 단계, 및
    상기 비트스트림을 컴퓨터 판독 가능 프로그램 매체에 저장하는 단계를 포함하는, 방법.
  29. 본 문서에서 설명된 방법, 장치, 개시된 방법에 따라 생성되는 비트스트림 또는 시스템.
KR1020237014174A 2020-09-29 2021-09-29 보조 정보의 시그널링 KR20230078736A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2020118711 2020-09-29
CNPCT/CN2020/118711 2020-09-29
PCT/CN2021/121513 WO2022068839A1 (en) 2020-09-29 2021-09-29 Signalling of auxiliary information

Publications (1)

Publication Number Publication Date
KR20230078736A true KR20230078736A (ko) 2023-06-02

Family

ID=80949728

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237014174A KR20230078736A (ko) 2020-09-29 2021-09-29 보조 정보의 시그널링
KR1020237014196A KR20230078738A (ko) 2020-09-29 2021-09-29 멀티뷰 정보의 시그널링

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020237014196A KR20230078738A (ko) 2020-09-29 2021-09-29 멀티뷰 정보의 시그널링

Country Status (6)

Country Link
US (2) US20230239511A1 (ko)
EP (2) EP4205383A4 (ko)
JP (2) JP2023542226A (ko)
KR (2) KR20230078736A (ko)
CN (2) CN116671110A (ko)
WO (2) WO2022068838A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11750843B2 (en) * 2021-06-28 2023-09-05 Tencent America LLC Multiview-related supplementary enhancement information messages

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8699583B2 (en) * 2006-07-11 2014-04-15 Nokia Corporation Scalable video coding and decoding
US9674522B2 (en) * 2013-04-08 2017-06-06 Qualcomm Incorporated Device and method for scalable coding of video information
WO2015009693A1 (en) * 2013-07-15 2015-01-22 Sony Corporation Layer based hrd buffer management for scalable hevc
CN105981387B (zh) * 2013-10-15 2019-09-27 诺基亚技术有限公司 用于处理视频的方法、装置和计算机可读存储介质
WO2015103462A1 (en) * 2014-01-02 2015-07-09 Vidyo, Inc. Overlays using auxiliary pictures
US20150264404A1 (en) * 2014-03-17 2015-09-17 Nokia Technologies Oy Method and apparatus for video coding and decoding
US10264286B2 (en) * 2014-06-26 2019-04-16 Qualcomm Incorporated Bitstream conformance constraints in scalable video coding
FI20165114A (fi) * 2016-02-17 2017-08-18 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodausta ja videokoodauksen purkua varten
JP6721631B2 (ja) * 2017-07-07 2020-07-15 ノキア テクノロジーズ オーユー ビデオの符号化・復号の方法、装置、およびコンピュータプログラムプロダクト
EP4084490A1 (en) * 2019-01-02 2022-11-02 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
EP3700205A1 (en) * 2019-02-19 2020-08-26 Nokia Technologies Oy Quantization parameter derivation for cross-channel residual encoding and decoding

Also Published As

Publication number Publication date
US20230239502A1 (en) 2023-07-27
CN116671110A (zh) 2023-08-29
JP2023542226A (ja) 2023-10-05
JP2023542227A (ja) 2023-10-05
WO2022068838A1 (en) 2022-04-07
WO2022068839A1 (en) 2022-04-07
US20230239511A1 (en) 2023-07-27
EP4205397A4 (en) 2024-02-28
KR20230078738A (ko) 2023-06-02
EP4205383A4 (en) 2024-02-28
EP4205383A1 (en) 2023-07-05
CN116671111A (zh) 2023-08-29
EP4205397A1 (en) 2023-07-05

Similar Documents

Publication Publication Date Title
US11671627B2 (en) Operating point entity group signaling in coded video
JP7209062B2 (ja) コーディングされたビデオにおけるサブピクチャ・エンティティ・グループ・シグナリング
KR20220037393A (ko) 비디오 코딩에서의 디코딩 능력 정보 저장
KR20230074521A (ko) 서브비트스트림 추출
US11831921B2 (en) Video operating points record syntax and semantics
US20230239502A1 (en) Signalling of multiview information